diff options
author | 2022-12-27 19:31:43 +0100 | |
---|---|---|
committer | 2022-12-27 19:31:43 +0100 | |
commit | 9596b736667d8625ffb8f8d2c02a7dc75408d83e (patch) | |
tree | 2d575306fe6351630d5cc1bf3794f9fd63fadc09 | |
parent | sys-devel/gcc-12.2.0: marked ~x{64,86}-solaris (diff) | |
download | prefix-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/Manifest | 11 | ||||
-rw-r--r-- | dev-libs/glib/files/glib-2.74.4-implicit-func-decl.patch | 24 | ||||
-rw-r--r-- | dev-libs/glib/glib-2.56.2-r1.ebuild | 350 | ||||
-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 |