diff options
author | Matt Turner <mattst88@gentoo.org> | 2022-04-02 19:16:29 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gentoo.org> | 2022-04-02 21:26:44 -0700 |
commit | 7db644f137ae072d45063aec1471731439b841af (patch) | |
tree | 37b3374a98e47664e3de04d7e30844aa21fd6e47 /dev-util/anjuta | |
parent | profiles: Mask app-pda/gtkpod for removal (diff) | |
download | gentoo-7db644f137ae072d45063aec1471731439b841af.tar.gz gentoo-7db644f137ae072d45063aec1471731439b841af.tar.bz2 gentoo-7db644f137ae072d45063aec1471731439b841af.zip |
dev-util/anjuta: EAPI 8
- drop stable keywords
- Add new vala support
- Fix autoconf-2.70 support (bug #817017)
Closes: https://bugs.gentoo.org/817017
Signed-off-by: Matt Turner <mattst88@gentoo.org>
Diffstat (limited to 'dev-util/anjuta')
-rw-r--r-- | dev-util/anjuta/anjuta-3.34.0-r1.ebuild (renamed from dev-util/anjuta/anjuta-3.34.0.ebuild) | 30 | ||||
-rw-r--r-- | dev-util/anjuta/files/3.34.0-Add-new-vala-support.patch | 132 | ||||
-rw-r--r-- | dev-util/anjuta/files/3.34.0-autoconf-2.70.patch | 15 | ||||
-rw-r--r-- | dev-util/anjuta/files/3.34.0-prefer-newer-vala.patch | 15 |
4 files changed, 177 insertions, 15 deletions
diff --git a/dev-util/anjuta/anjuta-3.34.0.ebuild b/dev-util/anjuta/anjuta-3.34.0-r1.ebuild index 865d18e33fbe..43ee21d824b3 100644 --- a/dev-util/anjuta/anjuta-3.34.0.ebuild +++ b/dev-util/anjuta/anjuta-3.34.0-r1.ebuild @@ -1,23 +1,22 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=6 -GNOME2_LA_PUNT="yes" -PYTHON_COMPAT=( python3_{8..9} ) +EAPI=8 +PYTHON_COMPAT=( python3_{8..10} ) # libanjuta-language-vala.so links to a specific slot of libvala; we want to # avoid automagic behavior. -VALA_MIN_API_VERSION="0.46" # 3.34.0 upstream release supports up to 0.44, but 0.46 vala LTS support was added without any other adjustments post-release; 0.48 will need patches +VALA_MIN_API_VERSION="0.56" VALA_MAX_API_VERSION="${VALA_MIN_API_VERSION}" -# We inherit autotools explicitly because GNOME2_EAUTORECONF is set only conditionally later, so gnome2.eclass doesn't do it for us -inherit autotools gnome2 flag-o-matic readme.gentoo-r1 python-single-r1 vala +GNOME2_EAUTORECONF="yes" +inherit gnome2 flag-o-matic readme.gentoo-r1 python-single-r1 vala DESCRIPTION="A versatile IDE for GNOME" -HOMEPAGE="https://wiki.gnome.org/Apps/Anjuta" +HOMEPAGE="https://wiki.gnome.org/Apps/Anjuta https://gitlab.gnome.org/GNOME/anjuta/" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="amd64 ~ppc ~sparc x86" +KEYWORDS="~amd64 ~ppc ~sparc ~x86" IUSE="debug devhelp glade +introspection subversion terminal test vala" RESTRICT="!test? ( test )" @@ -72,7 +71,6 @@ DEPEND="${COMMON_DEPEND} sys-devel/flex >=sys-devel/gettext-0.17 virtual/pkgconfig - !!dev-libs/gnome-build test? ( app-text/docbook-xml-dtd:4.1.2 app-text/docbook-xml-dtd:4.5 ) @@ -82,6 +80,12 @@ DEPEND="${COMMON_DEPEND} " # yelp-tools, gi-common and gnome-common are required by eautoreconf +PATCHES=( + "${FILESDIR}"/${PV}-Add-new-vala-support.patch + "${FILESDIR}"/${PV}-autoconf-2.70.patch + "${FILESDIR}"/${PV}-prefer-newer-vala.patch +) + pkg_setup() { python-single-r1_pkg_setup } @@ -95,10 +99,6 @@ will need to: 1. Go to 'Build' -> 'Configure project' 2. Add 'VALAC=/usr/bin/valac-X.XX' (respecting quotes) to 'Configure options'." - - # Without removing other vala versions, it ends up picking the oldest vala available, not newest - sed -i -e "s/\[0.44\], \[0.42\], \[0.40\], \[0.38\], \[0.36\], \[0.34\], \[0.32\], \[0.30\], \[0.28\], \[0.26\], \[0.24\], \[0.22\], \[0.20\], \[0.18\]/[${VALA_MAX_API_VERSION}]/" configure.ac || die - GNOME2_EAUTORECONF="yes" fi # COPYING is used in Anjuta's help/about entry @@ -111,7 +111,7 @@ will need to: sed -e '/SUBDIRS =/ s/benchmark//' \ -i plugins/symbol-db/Makefile.{am,in} || die - use vala && vala_src_prepare + use vala && vala_setup gnome2_src_prepare } diff --git a/dev-util/anjuta/files/3.34.0-Add-new-vala-support.patch b/dev-util/anjuta/files/3.34.0-Add-new-vala-support.patch new file mode 100644 index 000000000000..219a0308121b --- /dev/null +++ b/dev-util/anjuta/files/3.34.0-Add-new-vala-support.patch @@ -0,0 +1,132 @@ +This is a combination of 7 upstream commits: + +build: Allow building with vala 0.46 and drop support for 0.30 and earlier +language-support-vala: Support for vala 0.48 API +build: Allow building with vala 0.48 +build: Allow building with vala 0.50 +build: Allow building with vala 0.50 and 0.52 +build: Allow building with vala 0.54 +build: Allow building with vala 0.56 +--- + configure.ac | 4 +-- + plugins/language-support-vala/plugin.vala | 37 ++++++++++++++++++----- + 2 files changed, 31 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 3b4c99504..4fbad5392 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -338,7 +338,7 @@ if test "$user_disabled_vala" = 1; then + else + AC_MSG_RESULT(no) + AC_MSG_CHECKING(if libvala is available) +- m4_foreach([VERSION], [[0.44], [0.42], [0.40], [0.38], [0.36], [0.34], [0.32], [0.30], [0.28], [0.26], [0.24], [0.22], [0.20], [0.18]], ++ m4_foreach_w([VERSION], [0.56 0.54 0.52 0.50 0.48 0.46 0.44 0.42 0.40 0.38 0.36 0.34 0.32], + [PKG_CHECK_EXISTS([ libvala-VERSION ], + [ valaver="-VERSION" ]) + ]) +@@ -350,7 +350,7 @@ else + else + AC_MSG_RESULT(no) + enable_vala="no" +- VALA_REQUIRED=0.18.0 ++ VALA_REQUIRED=0.32.0 + fi + AC_SUBST(LIBVALA) + fi +diff --git a/plugins/language-support-vala/plugin.vala b/plugins/language-support-vala/plugin.vala +index 13d35fec4..d94634c7f 100644 +--- a/plugins/language-support-vala/plugin.vala ++++ b/plugins/language-support-vala/plugin.vala +@@ -78,7 +78,11 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences { + + void init_context () { + context = new Vala.CodeContext(); ++#if VALA_0_50 ++ context.set_target_profile (Vala.Profile.GOBJECT); ++#else + context.profile = Vala.Profile.GOBJECT; ++#endif + context.report = report; + report.clear_error_indicators (); + +@@ -414,11 +418,19 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences { + builder.append_printf ("%s sender", widget.get_full_name ()); + + foreach (var param in sig.get_parameters ()) { ++#if VALA_0_48 ++ builder.append_printf (", %s %s", param.variable_type.type_symbol.get_full_name (), param.name); ++#else + builder.append_printf (", %s %s", param.variable_type.data_type.get_full_name (), param.name); ++#endif + } + } else { + foreach (var param in sig.get_parameters ()) { ++#if VALA_0_48 ++ builder.append_printf ("%s %s, ", param.variable_type.type_symbol.get_full_name (), param.name); ++#else + builder.append_printf ("%s %s, ", param.variable_type.data_type.get_full_name (), param.name); ++#endif + } + + builder.append_printf ("%s sender", widget.get_full_name ()); +@@ -563,6 +575,15 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences { + } + return matching_symbols; + } ++ ++ inline List<Vala.Symbol> symbol_lookup_inherited_for_type (Vala.DataType data_type, string name, bool prefix_match, bool invocation = false) { ++#if VALA_0_48 ++ return symbol_lookup_inherited (data_type.type_symbol, name, prefix_match, invocation); ++#else ++ return symbol_lookup_inherited (data_type.data_type, name, prefix_match, invocation); ++#endif ++ } ++ + List<Vala.Symbol> symbol_lookup_inherited (Vala.Symbol? sym, string name, bool prefix_match, bool invocation = false) { + List<Vala.Symbol> result = null; + +@@ -580,32 +601,32 @@ public class ValaPlugin : Plugin, IAnjuta.Preferences { + } + if (invocation && sym is Vala.Method) { + var func = (Vala.Method) sym; +- result.concat (symbol_lookup_inherited (func.return_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (func.return_type, name, prefix_match)); + } else if (sym is Vala.Class) { + var cl = (Vala.Class) sym; + foreach (var base_type in cl.get_base_types ()) { +- result.concat (symbol_lookup_inherited (base_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (base_type, name, prefix_match)); + } + } else if (sym is Vala.Struct) { + var st = (Vala.Struct) sym; +- result.concat (symbol_lookup_inherited (st.base_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (st.base_type, name, prefix_match)); + } else if (sym is Vala.Interface) { + var iface = (Vala.Interface) sym; + foreach (var prerequisite in iface.get_prerequisites ()) { +- result.concat (symbol_lookup_inherited (prerequisite.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (prerequisite, name, prefix_match)); + } + } else if (sym is Vala.LocalVariable) { + var variable = (Vala.LocalVariable) sym; +- result.concat (symbol_lookup_inherited (variable.variable_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (variable.variable_type, name, prefix_match)); + } else if (sym is Vala.Field) { + var field = (Vala.Field) sym; +- result.concat (symbol_lookup_inherited (field.variable_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (field.variable_type, name, prefix_match)); + } else if (sym is Vala.Property) { + var prop = (Vala.Property) sym; +- result.concat (symbol_lookup_inherited (prop.property_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (prop.property_type, name, prefix_match)); + } else if (sym is Vala.Parameter) { + var fp = (Vala.Parameter) sym; +- result.concat (symbol_lookup_inherited (fp.variable_type.data_type, name, prefix_match)); ++ result.concat (symbol_lookup_inherited_for_type (fp.variable_type, name, prefix_match)); + } + + return result; +-- +2.35.1 + diff --git a/dev-util/anjuta/files/3.34.0-autoconf-2.70.patch b/dev-util/anjuta/files/3.34.0-autoconf-2.70.patch new file mode 100644 index 000000000000..fdcc9e3158bf --- /dev/null +++ b/dev-util/anjuta/files/3.34.0-autoconf-2.70.patch @@ -0,0 +1,15 @@ +https://gitlab.gnome.org/GNOME/anjuta/-/merge_requests/13 + +diff --git a/configure.ac b/configure.ac +index c637f9cf3..4b101c35e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -85,8 +85,6 @@ case "$YACC" in + AC_MSG_ERROR(bison is required) + ;; + esac +-AC_LANG([C]) +-AC_LANG([C++]) + AC_PROG_CXX + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],, + AC_MSG_ERROR([C++ Compiler required to compile Anjuta])) diff --git a/dev-util/anjuta/files/3.34.0-prefer-newer-vala.patch b/dev-util/anjuta/files/3.34.0-prefer-newer-vala.patch new file mode 100644 index 000000000000..6ae0ead0f3d7 --- /dev/null +++ b/dev-util/anjuta/files/3.34.0-prefer-newer-vala.patch @@ -0,0 +1,15 @@ +https://gitlab.gnome.org/GNOME/anjuta/-/merge_requests/14 + +diff --git a/configure.ac b/configure.ac +index c637f9cf3..b34e103b2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -338,7 +338,7 @@ if test "$user_disabled_vala" = 1; then + else + AC_MSG_RESULT(no) + AC_MSG_CHECKING(if libvala is available) +- m4_foreach_w([VERSION], [0.56 0.54 0.52 0.50 0.48 0.46 0.44 0.42 0.40 0.38 0.36 0.34 0.32], ++ m4_foreach_w([VERSION], [0.32 0.34 0.36 0.38 0.40 0.42 0.44 0.46 0.48 0.50 0.52 0.54 0.56], + [PKG_CHECK_EXISTS([ libvala-VERSION ], + [ valaver="-VERSION" ]) + ]) |