diff options
author | Alfred Wingate <parona@protonmail.com> | 2024-06-01 18:53:48 +0300 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2024-06-19 10:50:33 +0200 |
commit | 2411319426573a7337897e624a97dac407d2c883 (patch) | |
tree | 032a9626594a66a2397e1c7c506732bf270041f9 /gnome-extra/libgda/libgda-5.2.9-r2.ebuild | |
parent | app-shells/fish: Stabilize 3.7.1 amd64, #934533 (diff) | |
download | gentoo-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.ebuild | 181 |
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 +} |