commit:     7db644f137ae072d45063aec1471731439b841af
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  3 02:16:29 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Sun Apr  3 04:26:44 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7db644f1

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 <AT> gentoo.org>

 ...njuta-3.34.0.ebuild => anjuta-3.34.0-r1.ebuild} |  30 ++---
 .../anjuta/files/3.34.0-Add-new-vala-support.patch | 132 +++++++++++++++++++++
 dev-util/anjuta/files/3.34.0-autoconf-2.70.patch   |  15 +++
 .../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
similarity index 79%
rename from dev-util/anjuta/anjuta-3.34.0.ebuild
rename to 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" ])
+                        ])

Reply via email to