mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
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>
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
132
dev-util/anjuta/files/3.34.0-Add-new-vala-support.patch
Normal file
132
dev-util/anjuta/files/3.34.0-Add-new-vala-support.patch
Normal file
@@ -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
|
||||
|
||||
15
dev-util/anjuta/files/3.34.0-autoconf-2.70.patch
Normal file
15
dev-util/anjuta/files/3.34.0-autoconf-2.70.patch
Normal file
@@ -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]))
|
||||
15
dev-util/anjuta/files/3.34.0-prefer-newer-vala.patch
Normal file
15
dev-util/anjuta/files/3.34.0-prefer-newer-vala.patch
Normal file
@@ -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" ])
|
||||
])
|
||||
Reference in New Issue
Block a user