summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfred Wingate <parona@protonmail.com>2024-06-01 18:53:48 +0300
committerPacho Ramos <pacho@gentoo.org>2024-06-19 10:50:33 +0200
commit2411319426573a7337897e624a97dac407d2c883 (patch)
tree032a9626594a66a2397e1c7c506732bf270041f9 /gnome-extra/libgda/libgda-5.2.9-r2.ebuild
parentapp-shells/fish: Stabilize 3.7.1 amd64, #934533 (diff)
downloadgentoo-2411319426573a7337897e624a97dac407d2c883.tar.gz
gentoo-2411319426573a7337897e624a97dac407d2c883.tar.bz2
gentoo-2411319426573a7337897e624a97dac407d2c883.zip
gnome-extra/libgda: fix gcc-14 and enable tests
* Handle style checks that pkgcheck complains about as well. Closes: https://bugs.gentoo.org/932738 Closes: https://bugs.gentoo.org/882197 Signed-off-by: Alfred Wingate <parona@protonmail.com> Closes: https://github.com/gentoo/gentoo/pull/36912 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
Diffstat (limited to 'gnome-extra/libgda/libgda-5.2.9-r2.ebuild')
-rw-r--r--gnome-extra/libgda/libgda-5.2.9-r2.ebuild181
1 files changed, 181 insertions, 0 deletions
diff --git a/gnome-extra/libgda/libgda-5.2.9-r2.ebuild b/gnome-extra/libgda/libgda-5.2.9-r2.ebuild
new file mode 100644
index 000000000000..ce7bd90668fc
--- /dev/null
+++ b/gnome-extra/libgda/libgda-5.2.9-r2.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME2_EAUTORECONF="yes"
+
+inherit db-use gnome2 java-pkg-opt-2 vala virtualx
+
+DESCRIPTION="GNOME database access library"
+HOMEPAGE="https://www.gnome-db.org/"
+
+# firebird license is not GPL compatible
+LICENSE="GPL-2+ LGPL-2+"
+
+SLOT="5/4" # subslot = libgda-5.0 soname version
+KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+IUSE="berkdb canvas debug firebird keyring gtk graphviz http +introspection json ldap mdb mysql oci8 postgres sourceview ssl vala"
+REQUIRED_USE="
+ canvas? ( gtk )
+ graphviz? ( gtk )
+ sourceview? ( gtk )
+ vala? ( introspection )
+"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-libs/glib-2.32:2
+ >=dev-libs/libxml2-2
+ dev-libs/libxslt
+ sys-libs/readline:0=
+ sys-libs/ncurses:0=
+ berkdb? ( sys-libs/db:* )
+ firebird? ( dev-db/firebird )
+ keyring? ( app-crypt/libsecret )
+ gtk? (
+ >=x11-libs/gtk+-3.0.0:3
+ canvas? ( x11-libs/goocanvas:2.0= )
+ sourceview? ( x11-libs/gtksourceview:3.0 )
+ graphviz? ( media-gfx/graphviz )
+ )
+ http? ( >=net-libs/libsoup-2.24:2.4 )
+ introspection? ( >=dev-libs/gobject-introspection-1.30:= )
+ json? ( dev-libs/json-glib )
+ ldap? ( net-nds/openldap:= )
+ mdb? ( >app-office/mdbtools-0.5:= )
+ mysql? ( dev-db/mysql-connector-c:0= )
+ postgres? ( dev-db/postgresql:= )
+ ssl? ( dev-libs/openssl:0= )
+ >=dev-db/sqlite-3.10.2:3=
+ vala? ( dev-libs/libgee:0.8 )
+"
+
+# TODO: libgee shouldn't be needed at build with USE=-vala, but needs build system fixes - bug 674066
+DEPEND="${RDEPEND}
+ dev-libs/libgee:0.8
+"
+
+# java dep shouldn't rely on slots, bug #450004
+BDEPEND="
+ app-text/yelp-tools
+ dev-util/glib-utils
+ dev-build/gtk-doc-am
+ >=dev-util/intltool-0.40.6
+ virtual/pkgconfig
+ java? ( >=virtual/jdk-1.6 )
+ vala? ( $(vala_depend) )
+"
+
+# firebird support bindist-restricted because it is not GPL compatible
+RESTRICT="
+ firebird? ( bindist )
+"
+
+pkg_setup() {
+ java-pkg-opt-2_pkg_setup
+}
+
+src_prepare() {
+ # They need python2
+ sed -e '/SUBDIRS =/ s/trml2html//' \
+ -e '/SUBDIRS =/ s/trml2pdf//' \
+ -i libgda-report/RML/Makefile.{am,in} || die
+
+ # replace my_bool with _Bool
+ eapply "${FILESDIR}/${PN}-5.2-my_bool-error.patch"
+ # ... and stop using bool elsewhere too
+ eapply "${FILESDIR}/${PN}-5.2.9-redefine-bool-error.patch"
+
+ # Prevent file collisions with libgda:4
+ eapply "${FILESDIR}/${PN}-4.99.1-gda-browser-doc-collision.patch"
+ eapply "${FILESDIR}/${PN}-4.99.1-control-center-icon-collision.patch"
+ # Move files with mv (since epatch can't handle rename diffs) and
+ # update pre-generated gtk-doc files (for non-git versions of libgda)
+ local f
+ for f in tools/browser/doc/gda-browser* ; do
+ mv ${f} ${f/gda-browser/gda-browser-5.0} || die "mv ${f} failed"
+ done
+ for f in tools/browser/doc/html/gda-browser.devhelp* ; do
+ sed -e 's:name="gda-browser":name="gda-browser-5.0":' \
+ -i ${f} || die "sed ${f} failed"
+ mv ${f} ${f/gda-browser/gda-browser-5.0} || die "mv ${f} failed"
+ done
+ for f in control-center/data/*_gda-control-center.png ; do
+ mv ${f} ${f/_gda-control-center.png/_gda-control-center-5.0.png} ||
+ die "mv ${f} failed"
+ done
+
+ # Fix building without introspection.
+ eapply "${FILESDIR}/${PN}-5.2.9-no-introspection.patch"
+
+ # Fix build with gcc14
+ # https://github.com/gentoo/gentoo/pull/36912#issuecomment-2171657215
+ eapply "${FILESDIR}/${PN}-5.2.9-fix-gcc14.patch"
+
+ gnome2_src_prepare
+ java-pkg-opt-2_src_prepare
+}
+
+src_configure() {
+ local bdbroot bdbinc bdblib
+
+ if use berkdb; then
+ bdbinc=$(db_includedir)
+ bdbroot=${bdbinc%/include/*}
+ bdbinc=${bdbinc#${bdbroot}/}
+ bdblib=$(get_libdir)
+ fi
+
+ use vala && vala_setup
+
+ # Upstream broken configure handling for UI library introspection and vala bindings if passing a choice with
+ # use_enable - https://gitlab.gnome.org/GNOME/libgda/issues/158
+ # But if we don't pass an explicit choice, it behaves as we need (only enable them if --enable-ui AND the
+ # appropriate --enable-introspection or --enable-vala)
+ gnome2_src_configure \
+ --with-help \
+ --disable-default-binary \
+ --disable-static \
+ --enable-system-sqlite \
+ $(use_with berkdb bdb "${bdbroot}") \
+ $(use_with berkdb bdb-includedir-name "${bdbinc}") \
+ $(use_with berkdb bdb-libdir-name "${bdblib}") \
+ $(use_with canvas goocanvas) \
+ $(use_enable debug) \
+ $(use_with firebird firebird /usr) \
+ $(use_with keyring libsecret) \
+ $(use_with graphviz) \
+ $(use_with gtk ui) \
+ $(use_with http libsoup) \
+ $(use_enable introspection) \
+ "$(use_with java java $JAVA_HOME)" \
+ $(use_enable json) \
+ $(use_with ldap) \
+ --with-ldap-libdir-name="$(get_libdir)" \
+ $(use_with mdb mdb /usr) \
+ $(use_with mysql mysql /usr) \
+ $(use_with oci8 oracle) \
+ $(use_with postgres postgres /usr) \
+ $(use_enable ssl crypto) \
+ $(use_with sourceview gtksourceview) \
+ $(use_enable vala)
+}
+
+src_test() {
+ # multi-threading tests suffer from race conditions
+ virtx emake -j1 check
+}
+
+pkg_preinst() {
+ gnome2_pkg_preinst
+ java-pkg-opt-2_pkg_preinst
+}
+
+src_install() {
+ gnome2_src_install
+ # Use new location
+ if use gtk; then
+ mv "${ED}"/usr/share/appdata "${ED}"/usr/share/metainfo || die
+ fi
+}