commit: 800ea43f598af76ff89b26b9b84109c9ea73dc25
Author: Nicolas PARLANT <nicolas.parlant <AT> parhuet <DOT> fr>
AuthorDate: Thu Aug 21 13:51:59 2025 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug 27 05:53:25 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=800ea43f
app-editors/bluefish: fix deps, python, disable infbrowser plugin
remove MY_P, not needed
deps :
add libs inherited from gtk in rdeps
add lxml2 in rdeps too because bluefish links against
add gdk-pixbuf in bdep because gdk-pixbuf-csource is called
remove intltool, no longer used since 2.2.14
simply call ${BASH} instead of abspath
use an array for econf
remove infbrowser plugin, mainly unmaintained and with a deprecated function,
(nanohttp is deprecated in libxml2-2.13 and will be removed in libxml2-2.15)
improve python option : fix shebang and optimize, update targets (9..13
to 11..14)
sed-op for pigz (#469480) is no longer required since pigz-2.4 (fc10bb0)
patches :
check svnversion and fix #765835
fix compile with clang
Closes: https://bugs.gentoo.org/765835
Signed-off-by: Nicolas PARLANT <nicolas.parlant <AT> parhuet.fr>
Part-of: https://github.com/gentoo/gentoo/pull/43520
Closes: https://github.com/gentoo/gentoo/pull/43520
Signed-off-by: Sam James <sam <AT> gentoo.org>
app-editors/bluefish/bluefish-2.2.17-r1.ebuild | 114 +++++++++++++++++++++
.../bluefish/files/bluefish-2.2.17-check_svn.patch | 49 +++++++++
.../bluefish/files/bluefish-2.2.17-fix_clang.patch | 17 +++
3 files changed, 180 insertions(+)
diff --git a/app-editors/bluefish/bluefish-2.2.17-r1.ebuild
b/app-editors/bluefish/bluefish-2.2.17-r1.ebuild
new file mode 100644
index 000000000000..1ebdc5af47b8
--- /dev/null
+++ b/app-editors/bluefish/bluefish-2.2.17-r1.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..14} )
+
+inherit autotools python-single-r1 xdg
+
+DESCRIPTION="GTK HTML editor for the experienced web designer or programmer"
+HOMEPAGE="https://bluefish.openoffice.nl/"
+SRC_URI="https://www.bennewitz.com/bluefish/stable/source/${P}.tar.bz2"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="gucharmap nls python spell"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ dev-libs/glib:2
+ dev-libs/libxml2:=
+ sys-libs/zlib
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:3
+ x11-libs/pango
+ gucharmap? ( gnome-extra/gucharmap:2.90 )
+ python? ( ${PYTHON_DEPS} )
+ spell? ( app-text/enchant:2 )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-libs/libxml2
+ virtual/pkgconfig
+ x11-libs/gdk-pixbuf
+ nls? ( sys-devel/gettext )
+"
+
+# there actually is just some broken manpage checkup -> not bother
+RESTRICT="test"
+
+PATCHES=(
+ # https://sourceforge.net/p/bluefish/tickets/111/
+ "${FILESDIR}/${PN}-2.2.9-charmap_configure.patch"
+ # https://sourceforge.net/p/bluefish/tickets/112/
+ "${FILESDIR}/${PN}-2.2.17-check_svn.patch"
+ # https://sourceforge.net/p/bluefish/tickets/114/
+ "${FILESDIR}/${PN}-2.2.17-fix_clang.patch"
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove infbrowser plugin (see
https://sourceforge.net/p/bluefish/tickets/113/)
+ # mainly unmaintained and with deprecated function from libxml2
(nanohttp)
+ sed -e '/infbrowser/d' -i src/Makefile.am || die
+
+ eautoreconf
+}
+
+src_configure() {
+ export CONFIG_SHELL="${BASH}"
+ local myeconfargs=(
+ --disable-update-databases
+ --disable-xml-catalog-update
+ --with-freedesktop_org-appdata="${EPREFIX}"/usr/share/metainfo
+ --without-gtk2
+ $(use_with gucharmap charmap)
+ $(use_enable nls)
+ $(use_enable spell spell-check)
+ $(use_enable python)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ if use python; then
+ python_fix_shebang "${ED}/usr/share/bluefish"
+ python_optimize "${ED}/usr/share/bluefish/plugins/zencoding"
+ fi
+
+ find "${ED}" -name '*.la' -delete || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ einfo "Adding XML catalog entries..."
+ "${EPREFIX}"/usr/bin/xmlcatalog --noout \
+ --add 'public' 'Bluefish/DTD/Bflang' 'bflang.dtd' \
+ --add 'system' 'http://bluefish.openoffice.nl/DTD/bflang.dtd'
'bflang.dtd' \
+ --add 'rewriteURI' 'http://bluefish.openoffice.nl/DTD'
'/usr/share/xml/bluefish-unstable' \
+ "${EROOT}"/etc/xml/catalog \
+ || ewarn "Failed to add XML catalog entries."
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+
+ einfo "Removing XML catalog entries..."
+ "${EPREFIX}"/usr/bin/xmlcatalog --noout \
+ --del 'Bluefish/DTD/Bflang' \
+ --del 'http://bluefish.openoffice.nl/DTD/bflang.dtd' \
+ --del 'http://bluefish.openoffice.nl/DTD' \
+ "${EROOT}"/etc/xml/catalog \
+ || ewarn "Failed to remove XML catalog entries."
+}
diff --git a/app-editors/bluefish/files/bluefish-2.2.17-check_svn.patch
b/app-editors/bluefish/files/bluefish-2.2.17-check_svn.patch
new file mode 100644
index 000000000000..b959f37fe630
--- /dev/null
+++ b/app-editors/bluefish/files/bluefish-2.2.17-check_svn.patch
@@ -0,0 +1,49 @@
+https://sourceforge.net/p/bluefish/tickets/112/
+call svnversion only if a svn tree exists and svnversion is found
+--- a/configure.ac
++++ b/configure.ac
+@@ -151,12 +151,19 @@ AC_ARG_ENABLE(
+ )
+
+ dnl # make DEVELOPEMENT enabled when compiling from svn, and disabled when
compiling from an exported source tree.
+-AC_MSG_CHECKING([for svn tree or exported source tree])
+ BF_want_development="no"
+-BF_svnversion=`LANG=C svnversion -n . || echo exported`
+-if test "x$BF_svnversion" != "xexported" ; then
+- AC_MSG_RESULT([svn])
+- BF_want_development="yes"
++AC_MSG_CHECKING([for svn tree or exported source tree])
++AM_CONDITIONAL([SVN], [false])
++if test -f .svn/entries; then
++ AC_CHECK_PROG([HAVE_SVN], [svnversion], [yes], [no])
++ if test x$HAVE_SVN = "xyes"; then
++ BF_svnversion=`LANG=C svnversion -n . 2>/dev/null`
++ AM_CONDITIONAL([SVN], [true])
++ AC_MSG_RESULT([svn])
++ BF_want_development="yes"
++ else
++ AC_MSG_WARN([svn tree found but svnversion was not found,
continue as an exported tree])
++ fi
+ else
+ AC_MSG_RESULT([exported])
+ fi
+--- a/src/plugin_about/Makefile.am
++++ b/src/plugin_about/Makefile.am
+@@ -29,7 +29,7 @@ about_rev.h: about_rev.h.tmp
+ @if test ! -e $@ || test -n "`diff $< $@`" ; then cp $< $@ ; fi
+
+ about_rev.h.tmp:
+- @SVN_REVISION=`LANG=C svnversion -n ${top_srcdir} || echo exported` ; \
++ @SVN_TRUE@SVN_REVISION=`LANG=C svnversion -n ${top_srcdir} || echo
exported` ; \
+ echo "/* Automatically created by the Makefile." > $@ ; \
+ echo " * http://bugzilla.gnome.org/show_bug.cgi?id=578719 */" >> $@ ; \
+ echo "#ifndef __ABOUT_REV_H_" >> $@ ; \
+@@ -37,7 +37,7 @@ about_rev.h.tmp:
+ echo "#ifdef SVN_REVISION" >> $@ ; \
+ echo "#undef SVN_REVISION" >> $@ ; \
+ echo "#endif /* SVN_REVISION */" >> $@ ; \
+- if test -n $${SVN_REVISION} -a "x$${SVN_REVISION}" != "xexported" ;
then \
++ if test -n "$${SVN_REVISION}" -a "x$${SVN_REVISION}" != "xexported" ;
then \
+ echo "#define SVN_REVISION \"$${SVN_REVISION}\"" >> $@ ; \
+ fi ; \
+ echo "#endif /* __ABOUT_REV_H_ */" >> $@
diff --git a/app-editors/bluefish/files/bluefish-2.2.17-fix_clang.patch
b/app-editors/bluefish/files/bluefish-2.2.17-fix_clang.patch
new file mode 100644
index 000000000000..adc3e9786b17
--- /dev/null
+++ b/app-editors/bluefish/files/bluefish-2.2.17-fix_clang.patch
@@ -0,0 +1,17 @@
+https://sourceforge.net/p/bluefish/tickets/114/
+> xml_entity.c:238:11: error: initializing 'gchar *' (aka 'char *')
+> with an expression of type 'const gchar *' (aka 'const char *')
+> discards qualifiers
[-Werror,-Wincompatible-pointer-types-discards-qualifiers]
+> 238 | gchar *nxt = g_utf8_next_char(srcp);
+> | ^ ~~~~~~~~~~~~~~~~~~~~~~
+--- a/src/xml_entity.c
++++ b/src/xml_entity.c
+@@ -235,7 +235,7 @@ gchar *utf82xmlentities(const gchar *inbuf, gboolean
iso8859_1, gboolean symbols
+ g_free(entity);
+ srcp = g_utf8_next_char(srcp);
+ } else {
+- gchar *nxt = g_utf8_next_char(srcp);
++ const gchar *nxt = g_utf8_next_char(srcp);
+ outbuf = strncat(outbuf, srcp, (nxt-srcp));
+ srcp = nxt;
+ }