summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2022-12-27 19:31:43 +0100
committerFabian Groffen <grobian@gentoo.org>2022-12-27 19:31:43 +0100
commit9596b736667d8625ffb8f8d2c02a7dc75408d83e (patch)
tree2d575306fe6351630d5cc1bf3794f9fd63fadc09
parentsys-devel/gcc-12.2.0: marked ~x{64,86}-solaris (diff)
downloadprefix-9596b736667d8625ffb8f8d2c02a7dc75408d83e.tar.gz
prefix-9596b736667d8625ffb8f8d2c02a7dc75408d83e.tar.bz2
prefix-9596b736667d8625ffb8f8d2c02a7dc75408d83e.zip
dev-libs/glib: sync with gx86, forced due to EAPI support drop
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
-rw-r--r--dev-libs/glib/Manifest11
-rw-r--r--dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch24
-rw-r--r--dev-libs/glib/glib-2.56.2-r1.ebuild350
-rw-r--r--dev-libs/glib/glib-2.74.4.ebuild (renamed from dev-libs/glib/glib-2.66.2-r1.ebuild)77
4 files changed, 68 insertions, 394 deletions
diff --git a/dev-libs/glib/Manifest b/dev-libs/glib/Manifest
index 08fe290e6c..b5b199a67d 100644
--- a/dev-libs/glib/Manifest
+++ b/dev-libs/glib/Manifest
@@ -1,10 +1 @@
-AUX 2.56-gmodule-cygwin.patch 3482 BLAKE2B 094036560ed444e050858ff52a4c5f25e13c4988069898e78417def247dae78145d337ff8a6265c7d23fa91f26a48c255b5562de2e9634c5262b90b36a5677f4 SHA512 b5faedf2a484c70c16abf3e4a3557ce5b6939995b93fa46644ee4ae7527bdd6a47cced5ae6837b79d1f74836ace0de14d568358a31125ccb9d4d4273219ca0e7
-AUX glib-2.54.3-external-gdbus-codegen.patch 3233 BLAKE2B 6b96851b7485164ef6c94da1847152a87064eb5c9f9b0ae6996eca84e89c7807bea5cb7c58b8d42dee07eee96647d2439b8c62af023b37849d4465e0c013eca6 SHA512 70d942086f6181532b5f95c5a3e0d8bfc7d204ca2d4ee68850af82062b572cc146ac4a5516547011ef39386e10bc291deea32a19fe518e649f4f8ac60271b69c
-AUX glib-2.64.1-mark-gdbus-server-auth-test-flaky.patch 842 BLAKE2B 6b2eb57b8923c8bb54ead80d829aeb7a5c8a42c62e960e7305bc3fad69c67fd21e1c9f20b5c9002c0319cf3d77992b9cb71912c9b813b723e0a56aaea38330ad SHA512 ccd92d2f1fd495618ac788ffe6b69acec05a521a0ee8ff2bacb1dce6e283a04bbc2a10e61b37fc29f3893003fa154fa0d30bc37ed266b3f813200cd8ed17c116
-DIST glib-2.56.2.tar.xz 8041756 BLAKE2B 1af5bb37378856e959602bcb9299266bba46b990839c923f6b9881624aed306af0779005281b3e3a46b5994c54812edc86aade9cb782c596fd63b6fd91baba51 SHA512 8201ea82d3613d2e879284abe01520b766da30957c5a1a22f3e6019b0cce6bf95d25beae78867b6a133401c4165153c0c92974dd459ab12f9e0e9dd0c95df5d4
-DIST glib-2.66.2.tar.xz 4836456 BLAKE2B 5484a7fe497dbe06df7ce11dbc8836c95dbb01e6e309516b82158f2915eeee36ccbe6e904cb6ae9a5a0223ccc0b52f6e64d61a418bf790538bc90388430977b2 SHA512 30278c066c6b209f45fcfdb9ffc4732236451464506b93c0fff0964ff8aac58c15be85c3793c686d4740d9d97857984bc0ab71e38d5da11c5fd860e569fb6cb9
-DIST glib-cygwinports-3a873fdd1b9a9e649563fe8e6b8ae6951b0dd3be.zip 13038 BLAKE2B 08f217e204c8518137722dcd535c100cbdc56e43dcf3d16a339c93353c594287670215c130b2c7f83235145632fad6d30903ae099f5999bf72ec070a12da4484 SHA512 fd4925d6a2380c5ff551e812a182de20f7b59e5d134a2c54b985efe85ab334499b0050097ca5c3271f14e2c3c5e89650e134a01e4c5be06bad05a12eaaf9fe53
-DIST pkg-config-0.28.tar.gz 1931203 BLAKE2B bafdd4e838623965c6bd454421ddd9051fc43fc29948e1615b49fef463c3c3a18807aabe6416f96cfdf58d6b1c9e114d77f97bd985facee7c14284a8a64a768b SHA512 6eafa5ca77c5d44cd15f48457a5e96fcea2555b66d8e35ada5ab59864a0aa03d441e15f54ab9c6343693867b3b490f392c75b7d9312f024c9b7ec6a0194d8320
-EBUILD glib-2.56.2-r1.ebuild 11695 BLAKE2B f0f846b08805b59dda01de904738ef78d9ee9c6483b51c592858117fc07d11322194ae209d396691f25fbb4d09d02b233548350986cc0fb003d04a9c98591407 SHA512 515997880fdd4f99d53a4883aaab7e1647d60c5a51f300d741f22bef395338adf4cda8790308032775d251a3c93b73b7010aa71c072691e4527899705a11258f
-EBUILD glib-2.66.2-r1.ebuild 10805 BLAKE2B fdf2468b6db411f5014442b3595eb59cb9df86ede91dd3dff49e54232585a0c23bbbff6ffed1c0681fcfbd52223465b4ae26474538bc95fb371deea426a9ee7d SHA512 426d81d96283664d41fef2e2fa7ee16453d10c6f434f502a0fd52d43477c3080bad1b1e4ddfaa79e02b03b6fc981f4a36f77cf3d398b36df97c83b02138b4ac8
-MISC metadata.xml 1098 BLAKE2B f2bd17f50d68c553b9040e954c0ef91edd29a3f1f7731bc7f45e3a936f702209985d111ad376ca0b51bdb4736d9ee508151fbb57b273a32beb1148aa027226c6 SHA512 2745b70b29ba0517144343f5d3f4b7c3389200b1ecbd2830e29bd9a90ca59ebeedf4d66b26a3241e3d3a3066f9a26ae223d075b9b2b82d67e4642e784f236c20
+DIST glib-2.74.4.tar.xz 5208484 BLAKE2B 01a2818e63469019abcd1215fa85521b9a2e55644040e8fe2797f68cabe897a191ae2c1cc2ab75d5ba9980d63adbfc00636b295ee942d70579e7eba1e1f49502 SHA512 912f6b0559fcb5ad55fa36837a348228b8e2498c490271204ced9f2e4a9eab804de4745f3ec439a198eb275d7263f18bc670f45460e2be55a2cbe45466b02fc6
diff --git a/dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch b/dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch
new file mode 100644
index 0000000000..9cd48a2645
--- /dev/null
+++ b/dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch
@@ -0,0 +1,24 @@
+https://gitlab.gnome.org/GNOME/glib/-/merge_requests/3165
+
+From 6626765a79f125cf0ec9cdaefa51ceef718d41e7 Mon Sep 17 00:00:00 2001
+From: Michael Catanzaro <mcatanzaro@redhat.com>
+Date: Tue, 20 Dec 2022 17:10:41 -0600
+Subject: [PATCH] gthread-posix: need to #include <errno.h>
+
+a79c6af23eff5ee978db62e048828c9a992a1261 uses errno without the required
+header.
+
+
+(cherry picked from commit 03cb4261e00cf505790f4fd4e69f97b2ef4fcccd)
+--- a/glib/gthreadprivate.h
++++ b/glib/gthreadprivate.h
+@@ -41,6 +41,7 @@ struct _GRealThread
+ /* system thread implementation (gthread-posix.c, gthread-win32.c) */
+
+ #if defined(HAVE_FUTEX) || defined(HAVE_FUTEX_TIME64)
++#include <errno.h>
+ #include <linux/futex.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+--
+GitLab
diff --git a/dev-libs/glib/glib-2.56.2-r1.ebuild b/dev-libs/glib/glib-2.56.2-r1.ebuild
deleted file mode 100644
index b160eea0a1..0000000000
--- a/dev-libs/glib/glib-2.56.2-r1.ebuild
+++ /dev/null
@@ -1,350 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7,3_8,3_9} ) # only for tests
-GNOME2_EAUTORECONF=yes
-
-inherit autotools bash-completion-r1 flag-o-matic gnome2 libtool linux-info \
- multilib multilib-minimal pax-utils python-any-r1 toolchain-funcs virtualx
-
-# Until bug #537330 glib is a reverse dependency of pkgconfig and, then
-# adding new dependencies end up making stage3 to grow. Every addition needs
-# then to be think very closely.
-
-DESCRIPTION="The GLib library of C routines"
-HOMEPAGE="https://www.gtk.org/"
-SRC_URI="${SRC_URI}
- https://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz" # pkg.m4 for eautoreconf
-CYGWINPORTS_GITREV="3a873fdd1b9a9e649563fe8e6b8ae6951b0dd3be"
-
-[[ -n ${CYGWINPORTS_GITREV} ]] &&
-SRC_URI+=" elibc_Cygwin? (
- https://github.com/cygwinports/glib2.0/archive/${CYGWINPORTS_GITREV}.zip
- -> ${PN}-cygwinports-${CYGWINPORTS_GITREV}.zip )"
-
-LICENSE="LGPL-2.1+"
-SLOT="2"
-IUSE="dbus debug fam kernel_linux +mime selinux static-libs systemtap test utils xattr"
-
-KEYWORDS="~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-
-# Added util-linux multilib dependency to have libmount support (which
-# is always turned on on linux systems, unless explicitly disabled, but
-# this ebuild does not do that anyway) (bug #599586)
-
-RDEPEND="
- !<dev-util/gdbus-codegen-${PV}
- >=dev-libs/libpcre-8.13:3[${MULTILIB_USEDEP},static-libs?]
- >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- dev-libs/libffi:=[${MULTILIB_USEDEP}]
- >=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
- !prefix-stack? ( kernel_linux? ( sys-apps/util-linux[${MULTILIB_USEDEP}] ) )
- selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
- xattr? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] )
- fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
- utils? (
- >=dev-util/gdbus-codegen-${PV}
- virtual/libelf:0=
- )
-"
-DEPEND="${RDEPEND}
- app-text/docbook-xml-dtd:4.1.2
- >=dev-libs/libxslt-1.0
- >=sys-devel/gettext-0.11
- >=dev-util/gtk-doc-am-1.20
- systemtap? ( >=dev-util/systemtap-1.3 )
- ${PYTHON_DEPS}
- test? (
- sys-devel/gdb
- >=dev-util/gdbus-codegen-${PV}
- >=sys-apps/dbus-1.2.14 )
- !<dev-util/gtk-doc-1.15-r2
-"
-# Migration of glib-genmarshal, glib-mkenums and gtester-report to a separate
-# python depending package, which can be buildtime depended in packages that
-# need these tools, without pulling in python at runtime.
-RDEPEND="${RDEPEND}
- !prefix-stack? ( >=dev-util/glib-utils-${PV} )"
-PDEPEND="
- dbus? ( gnome-base/dconf )
- mime? ( x11-misc/shared-mime-info )
-"
-# shared-mime-info needed for gio/xdgmime, bug #409481
-# dconf is needed to be able to save settings, bug #498436
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/gio-querymodules$(get_exeext)
-)
-
-pkg_setup() {
- if use kernel_linux ; then
- CONFIG_CHECK="~INOTIFY_USER"
- if use test ; then
- CONFIG_CHECK="~IPV6"
- WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
- fi
- linux-info_pkg_setup
- fi
- python-any-r1_pkg_setup
-}
-
-src_prepare() {
- # Prevent build failure in stage3 where pkgconfig is not available, bug #481056
- mv -f "${WORKDIR}"/pkg-config-*/pkg.m4 "${S}"/m4macros/ || die
-
- if use test; then
- # Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
- if ! has_version dev-util/desktop-file-utils ; then
- ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
- ewarn "think on installing it to get these tests run."
- sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
- sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
- fi
-
- # gdesktopappinfo requires existing terminal (gnome-terminal or any
- # other), falling back to xterm if one doesn't exist
- if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
- ewarn "Some tests will be skipped due to missing terminal program"
- sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
- fi
-
- # https://bugzilla.gnome.org/show_bug.cgi?id=722604
- sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
- sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
-
- ewarn "Tests for search-utils have been skipped"
- sed -i -e "/search-utils/d" glib/tests/Makefile.am || die
- else
- # Don't build tests, also prevents extra deps, bug #512022
- sed -i -e 's/ tests//' {.,gio,glib}/Makefile.am || die
- fi
-
- # gdbus-codegen is a separate package
- eapply "${FILESDIR}"/${PN}-2.54.3-external-gdbus-codegen.patch
-
- if [[ -n ${CYGWINPORTS_GITREV} ]] && use elibc_Cygwin; then
- local p d="${WORKDIR}/glib2.0-${CYGWINPORTS_GITREV}"
- for p in $(
- sed -ne '/PATCH_URI="/,/"/{s/.*="//;s/".*//;p}' \
- < "${d}"/glib2.0.cygport
- ); do
- if [[ ${p} == 2.50-gmodule-cygwin.patch ]]; then
- # Cygwinports has not upgraded to 2.56 yet
- epatch "${FILESDIR}"/2.56-gmodule-cygwin.patch
- continue
- fi
- epatch "${d}/${p}"
- done
- fi
-
- # make default sane for us
- if use prefix ; then
- sed -i -e "s:/usr/local:${EPREFIX}/usr:" gio/xdgmime/xdgmime.c || die
- # bug #308609, without path, bug #314057
- export PERL=perl
- fi
-
- if [[ ${CHOST} == *-solaris* ]] ; then
- # fix standards conflicts
- sed -i \
- -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/\1_DISABLED/' \
- -e '/\<_XOPEN_SOURCE\>/s/ 2,/600,/' \
- configure.ac || die
- sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
- glib/giounix.c || die
- fi
-
- # disable native macOS integrations
- sed -i -e '/glib_have_\(carbon\|cocoa\)=yes/s/yes/no/' \
- configure{.ac,} || die
-
- gnome2_src_prepare
-}
-
-multilib_src_configure() {
- # Avoid circular depend with dev-util/pkgconfig and
- # native builds (cross-compiles won't need pkg-config
- # in the target ROOT to work here)
- if ! tc-is-cross-compiler && ! $(tc-getPKG_CONFIG) --version >& /dev/null; then
- if has_version sys-apps/dbus; then
- export DBUS1_CFLAGS="-I${EPREFIX}/usr/include/dbus-1.0 -I${EPREFIX}/usr/$(get_libdir)/dbus-1.0/include"
- export DBUS1_LIBS="-ldbus-1"
- fi
- export LIBFFI_CFLAGS="-I$(echo ${EPREFIX}/usr/$(get_libdir)/libffi-*/include)"
- export LIBFFI_LIBS="-lffi"
- export PCRE_CFLAGS=" " # test -n "$PCRE_CFLAGS" needs to pass
- export PCRE_LIBS="-lpcre"
- fi
-
- # These configure tests don't work when cross-compiling.
- if tc-is-cross-compiler ; then
- # https://bugzilla.gnome.org/show_bug.cgi?id=756473
- case ${CHOST} in
- hppa*|metag*) export glib_cv_stack_grows=yes ;;
- *) export glib_cv_stack_grows=no ;;
- esac
- # https://bugzilla.gnome.org/show_bug.cgi?id=756474
- export glib_cv_uscore=no
- # https://bugzilla.gnome.org/show_bug.cgi?id=756475
- export ac_cv_func_posix_get{pwuid,grgid}_r=yes
- fi
-
- local myconf
-
- case "${CHOST}" in
- *-mingw*) myconf="${myconf} --with-threads=win32" ;;
- *) myconf="${myconf} --with-threads=posix" ;;
- esac
-
- # non-glibc platforms use GNU libiconv, but configure needs to know about
- # that not to get confused when it finds something outside the prefix too
- if use !elibc_glibc ; then
- myconf="${myconf} --with-libiconv=gnu"
- # add the libdir for libtool, otherwise it'll make love with system
- # installed libiconv. Automake passes LDFLAGS before local libs,
- # add this to LIBS instead to come after local lib dirs.
- append-libs "-L${EPREFIX}/usr/$(get_libdir)"
- fi
-
- local xmlcatalog="${EPREFIX}/etc/xml/catalog"
- grep -q catalog= "${xmlcatalog}" ||
- grep -q catalog= "${BROOT-${PORTAGE_OVERRIDE_EPREFIX}}/etc/xml/catalog" &&
- xmlcatalog="${BROOT-${PORTAGE_OVERRIDE_EPREFIX}}/etc/xml/catalog"
-
- # libelf used only by the gresource bin
- ECONF_SOURCE="${S}" gnome2_src_configure ${myconf} \
- $(usex debug --enable-debug=yes ' ') \
- $(use_enable xattr) \
- $(use_enable fam) \
- $(use_enable kernel_linux libmount) \
- $(use_enable selinux) \
- $(use_enable static-libs static) \
- $(use_enable systemtap dtrace) \
- $(use_enable systemtap systemtap) \
- $(multilib_native_use_enable utils libelf) \
- --with-python=${EPYTHON} \
- --disable-compile-warnings \
- --enable-man \
- --with-pcre=system \
- --with-xml-catalog="${xmlcatalog}"
-
- if multilib_is_native_abi; then
- local d
- for d in glib gio gobject; do
- ln -s "${S}"/docs/reference/${d}/html docs/reference/${d}/html || die
- done
- fi
-}
-
-multilib_src_test() {
- export XDG_CONFIG_DIRS="${EPREFIX}"/etc/xdg
- export XDG_DATA_DIRS="${EPREFIX}"/usr/local/share:/usr/share
- export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
- export LC_TIME=C # bug #411967
- unset GSETTINGS_BACKEND # bug #596380
- python_setup
-
- # Related test is a bit nitpicking
- mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
- chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
-
- # Hardened: gdb needs this, bug #338891
- if host-is-pax ; then
- pax-mark -mr "${BUILD_DIR}"/tests/.libs/assert-msg-test \
- || die "Hardened adjustment failed"
- fi
-
- # Need X for dbus-launch session X11 initialization
- virtx emake check
-}
-
-multilib_src_install() {
- emake DESTDIR="${D}" completiondir="$(get_bashcompdir)" install
- keepdir /usr/$(get_libdir)/gio/modules
-}
-
-multilib_src_install_all() {
- einstalldocs
-
- # These are installed by dev-util/glib-utils
- # TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit with meson
- rm "${ED}usr/bin/glib-genmarshal" || die
- rm "${ED}usr/share/man/man1/glib-genmarshal.1" || die
- rm "${ED}usr/bin/glib-mkenums" || die
- rm "${ED}usr/share/man/man1/glib-mkenums.1" || die
- rm "${ED}usr/bin/gtester-report" || die
- rm "${ED}usr/share/man/man1/gtester-report.1" || die
-
- # Do not install charset.alias even if generated, leave it to libiconv
- rm -f "${ED}/usr/$(get_libdir)/charset.alias"
-
- # Don't install gdb python macros, bug 291328
- rm -rf "${ED}/usr/share/gdb/" "${ED}/usr/share/glib-2.0/gdb/"
-
- # Completely useless with or without USE static-libs, people need to use pkg-config
- find "${ED}" -name '*.la' -delete || die
-}
-
-pkg_preinst() {
- gnome2_pkg_preinst
-
- # Make gschemas.compiled belong to glib alone
- local cache="usr/share/glib-2.0/schemas/gschemas.compiled"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"/${cache} || die
- fi
-
- multilib_pkg_preinst() {
- # Make giomodule.cache belong to glib alone
- local cache="usr/$(get_libdir)/gio/modules/giomodule.cache"
-
- if [[ -e ${EROOT}${cache} ]]; then
- cp "${EROOT}"${cache} "${ED}"/${cache} || die
- else
- touch "${ED}"/${cache} || die
- fi
- }
-
- # Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
- # file due to inability to create it and GIO might not look at any of the modules there
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_preinst
- fi
-}
-
-pkg_postinst() {
- # force (re)generation of gschemas.compiled
- GNOME2_ECLASS_GLIB_SCHEMAS="force"
-
- gnome2_pkg_postinst
-
- multilib_pkg_postinst() {
- gnome2_giomodule_cache_update \
- || die "Update GIO modules cache failed (for ${ABI})"
- }
- if ! tc-is-cross-compiler ; then
- multilib_foreach_abi multilib_pkg_postinst
- else
- ewarn "Updating of GIO modules cache skipped due to cross-compilation."
- ewarn "You might want to run gio-querymodules manually on the target for"
- ewarn "your final image for performance reasons and re-run it when packages"
- ewarn "installing GIO modules get upgraded or added to the image."
- fi
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-
- if [[ -z ${REPLACED_BY_VERSION} ]]; then
- multilib_pkg_postrm() {
- rm -f "${EROOT}"usr/$(get_libdir)/gio/modules/giomodule.cache
- }
- multilib_foreach_abi multilib_pkg_postrm
- rm -f "${EROOT}"usr/share/glib-2.0/schemas/gschemas.compiled
- fi
-}
diff --git a/dev-libs/glib/glib-2.66.2-r1.ebuild b/dev-libs/glib/glib-2.74.4.ebuild
index 9621a46221..26772b2746 100644
--- a/dev-libs/glib/glib-2.66.2-r1.ebuild
+++ b/dev-libs/glib/glib-2.74.4.ebuild
@@ -1,27 +1,23 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
-PYTHON_COMPAT=( python3_{6,7,8,9} )
+EAPI=8
+PYTHON_REQ_USE="xml(+)"
+PYTHON_COMPAT=( python3_{8..11} )
-inherit flag-o-matic gnome.org gnome2-utils linux-info meson multilib multilib-minimal python-any-r1 toolchain-funcs xdg
+inherit flag-o-matic gnome.org gnome2-utils linux-info meson-multilib multilib python-any-r1 toolchain-funcs xdg
DESCRIPTION="The GLib library of C routines"
HOMEPAGE="https://www.gtk.org/"
LICENSE="LGPL-2.1+"
SLOT="2"
-IUSE="dbus debug elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr"
+IUSE="dbus debug +elf gtk-doc +mime selinux static-libs sysprof systemtap test utils xattr"
RESTRICT="!test? ( test )"
+#REQUIRED_USE="gtk-doc? ( test )" # Bug #777636
-# meson/ninja buildsystem, breaks of course (at least on Solaris), most
-# likely will introduce problems during bootstrap too
-#KEYWORDS="~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+KEYWORDS="~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-# * libelf isn't strictly necessary, but makes gresource tool more useful, and
-# the check is automagic in gio/meson.build. gresource is not a multilib tool
-# right now, thus it doesn't matter if non-native ABI libelf exists or not
-# (non-native binary is overwritten, it doesn't matter if libelf was linked to).
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
# within ELF binaries on that platform anyway and inspecting ELF binaries from
# other platforms is not that useful so exclude the dependency in this case.
@@ -32,27 +28,25 @@ RESTRICT="!test? ( test )"
# them or just put the (build) deps in that rare consumer instead of recursive
# RDEPEND here (due to lack of recursive DEPEND).
RDEPEND="
- !<dev-util/gdbus-codegen-2.66.0
+ !<dev-util/gdbus-codegen-${PV}
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
- >=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
- dev-libs/libffi:=[${MULTILIB_USEDEP}]
+ >=dev-libs/libpcre2-10.32:0=[${MULTILIB_USEDEP},unicode(+),static-libs?]
+ >=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
- !prefix-stack? ( kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] ) )
+ kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
- kernel_linux? ( virtual/libelf:0= )
- fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
-"
-DEPEND="${RDEPEND}
- sysprof? ( >=dev-util/sysprof-capture-3.38:4[${MULTILIB_USEDEP}] )
+ elf? ( virtual/libelf:0= )
+ sysprof? ( >=dev-util/sysprof-capture-3.40.1:4[${MULTILIB_USEDEP}] )
"
+DEPEND="${RDEPEND}"
# libxml2 used for optional tests that get automatically skipped
BDEPEND="
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
>=sys-devel/gettext-0.19.8
- gtk-doc? ( >=dev-util/gtk-doc-1.32-r2
+ gtk-doc? ( >=dev-util/gtk-doc-1.33
app-text/docbook-xml-dtd:4.2
app-text/docbook-xml-dtd:4.5 )
systemtap? ( >=dev-util/systemtap-1.3 )
@@ -75,6 +69,7 @@ MULTILIB_CHOST_TOOLS=(
PATCHES=(
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
+ "${FILESDIR}"/${P}-implicit-func-decl.patch
)
pkg_setup() {
@@ -148,7 +143,21 @@ src_prepare() {
export PERL=perl
fi
- xdg_src_prepare
+ if [[ ${CHOST} == *-solaris* ]] ; then
+ # fix standards conflicts
+ sed -i \
+ -e 's/\<\(_XOPEN_SOURCE_EXTENDED\)\>/_POSIX_PTHREAD_SEMANTICS/' \
+ -e '/\<_XOPEN_SOURCE\>/s/\<2\>/600/' \
+ meson.build || die
+ sed -i -e '/#define\s\+_POSIX_SOURCE/d' \
+ glib/giounix.c || die
+ fi
+
+ # disable native macOS integrations
+ sed -i -e '/glib_conf.set(.HAVE_\(CARBON\|COCOA\).)/s/true/false/' \
+ meson.build || die
+
+ default
gnome2_environment_reset
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
}
@@ -175,32 +184,34 @@ multilib_src_configure() {
$(meson_feature selinux)
$(meson_use xattr)
-Dlibmount=enabled # only used if host_system == 'linux'
- -Dinternal_pcre=false
-Dman=true
$(meson_use systemtap dtrace)
$(meson_use systemtap)
$(meson_feature sysprof)
- -Dgtk_doc=$(multilib_native_usex gtk-doc true false)
- $(meson_use fam)
+ $(meson_native_use_bool gtk-doc gtk_doc)
+ $(meson_use test tests)
-Dinstalled_tests=false
-Dnls=enabled
-Doss_fuzz=disabled
+ $(meson_native_use_feature elf libelf)
+ -Dmultiarch=false
)
meson_src_configure
}
-multilib_src_compile() {
- meson_src_compile
-}
-
multilib_src_test() {
- export XDG_CONFIG_DIRS="${EPREFIX}"/etc/xdg
- export XDG_DATA_DIRS="${EPREFIX}"/usr/local/share:/usr/share
+ export XDG_CONFIG_DIRS=/etc/xdg
+ export XDG_DATA_DIRS=/usr/local/share:/usr/share
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
export LC_TIME=C # bug #411967
+ export TZ=UTC
unset GSETTINGS_BACKEND # bug #596380
python_setup
+ # https://bugs.gentoo.org/839807
+ local -x SANDBOX_PREDICT=${SANDBOX_PREDICT}
+ addpredict /usr/b
+
# Related test is a bit nitpicking
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
@@ -214,8 +225,6 @@ multilib_src_install() {
}
multilib_src_install_all() {
- einstalldocs
-
# These are installed by dev-util/glib-utils
# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
rm "${ED}/usr/bin/glib-genmarshal" || die