An other try:
This commit is contained in:
		@@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					From 9eaaa76e2e36e46a43dbd419724696fd7ff8ea64 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: =?UTF-8?q?R=C3=A9mi=20Cardona?= <remi@gentoo.org>
 | 
				
			||||||
 | 
					Date: Sat, 14 Apr 2018 09:55:22 +0200
 | 
				
			||||||
 | 
					Subject: [PATCH 1/2] gdbus-codegen-2.54.3-sitedir.patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 gio/gdbus-2.0/codegen/gdbus-codegen.in | 28 --------------------------
 | 
				
			||||||
 | 
					 1 file changed, 28 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/gio/gdbus-2.0/codegen/gdbus-codegen.in b/gio/gdbus-2.0/codegen/gdbus-codegen.in
 | 
				
			||||||
 | 
					index 67d367543..190afa28f 100755
 | 
				
			||||||
 | 
					--- a/gdbus-codegen.in
 | 
				
			||||||
 | 
					+++ b/gdbus-codegen.in
 | 
				
			||||||
 | 
					@@ -20,36 +20,8 @@
 | 
				
			||||||
 | 
					 # Author: David Zeuthen <davidz@redhat.com>
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-import os
 | 
				
			||||||
 | 
					 import sys
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-srcdir = os.getenv('UNINSTALLED_GLIB_SRCDIR', None)
 | 
				
			||||||
 | 
					-filedir = os.path.dirname(__file__)
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-if srcdir is not None:
 | 
				
			||||||
 | 
					-    path = os.path.join(srcdir, 'gio', 'gdbus-2.0')
 | 
				
			||||||
 | 
					-elif os.path.basename(filedir) == 'bin':
 | 
				
			||||||
 | 
					-    # Make the prefix containing gdbus-codegen 'relocatable' at runtime by
 | 
				
			||||||
 | 
					-    # adding /some/prefix/bin/../share/glib-2.0 to the python path
 | 
				
			||||||
 | 
					-    path = os.path.join(filedir, '..', 'share', 'glib-2.0')
 | 
				
			||||||
 | 
					-else:
 | 
				
			||||||
 | 
					-    # Assume that the modules we need are in the current directory and add the
 | 
				
			||||||
 | 
					-    # parent directory to the python path.
 | 
				
			||||||
 | 
					-    path = os.path.join(filedir, '..')
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-# Canonicalize, then do further testing
 | 
				
			||||||
 | 
					-path = os.path.abspath(path)
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-# If the above path detection failed, use the hard-coded datadir. This can
 | 
				
			||||||
 | 
					-# happen when, for instance, bindir and datadir are not in the same prefix or
 | 
				
			||||||
 | 
					-# on Windows where we cannot make any guarantees about the directory structure.
 | 
				
			||||||
 | 
					-#
 | 
				
			||||||
 | 
					-# In these cases our installation cannot be relocatable, but at least we should
 | 
				
			||||||
 | 
					-# be able to find the codegen module.
 | 
				
			||||||
 | 
					-if not os.path.isfile(os.path.join(path, 'codegen', 'codegen_main.py')):
 | 
				
			||||||
 | 
					-    path = os.path.join('@DATADIR@', 'glib-2.0')
 | 
				
			||||||
 | 
					-
 | 
				
			||||||
 | 
					-sys.path.insert(0, path)
 | 
				
			||||||
 | 
					-from codegen import codegen_main
 | 
				
			||||||
 | 
					+from gdbus_codegen import codegen_main
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 sys.exit(codegen_main.codegen_main())
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.17.0
 | 
				
			||||||
							
								
								
									
										6
									
								
								dev-libs/gdbus-codegen/files/setup.py-2.32.4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								dev-libs/gdbus-codegen/files/setup.py-2.32.4
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					from distutils.core import setup
 | 
				
			||||||
 | 
					setup(name="gdbus_codegen",
 | 
				
			||||||
 | 
					      version="@PV@",
 | 
				
			||||||
 | 
					      packages=["gdbus_codegen"],
 | 
				
			||||||
 | 
					      package_dir={"gdbus_codegen" : ""},
 | 
				
			||||||
 | 
					      scripts=["gdbus-codegen"])
 | 
				
			||||||
							
								
								
									
										73
									
								
								dev-libs/gdbus-codegen/gdbus-codegen-2.67.6.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								dev-libs/gdbus-codegen/gdbus-codegen-2.67.6.ebuild
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					# Copyright 1999-2021 Gentoo Authors
 | 
				
			||||||
 | 
					# Distributed under the terms of the GNU General Public License v2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EAPI=7
 | 
				
			||||||
 | 
					GNOME_ORG_MODULE="glib"
 | 
				
			||||||
 | 
					PYTHON_COMPAT=( python3_{7,8,9} )
 | 
				
			||||||
 | 
					PYTHON_REQ_USE="xml"
 | 
				
			||||||
 | 
					DISTUTILS_SINGLE_IMPL=1
 | 
				
			||||||
 | 
					DISTUTILS_USE_SETUPTOOLS=no
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					inherit gnome.org distutils-r1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DESCRIPTION="GDBus code and documentation generator"
 | 
				
			||||||
 | 
					HOMEPAGE="https://www.gtk.org/"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LICENSE="LGPL-2+"
 | 
				
			||||||
 | 
					SLOT="0"
 | 
				
			||||||
 | 
					KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
 | 
				
			||||||
 | 
					IUSE=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RDEPEND="${PYTHON_DEPS}"
 | 
				
			||||||
 | 
					DEPEND="${RDEPEND}"
 | 
				
			||||||
 | 
					BDEPEND="
 | 
				
			||||||
 | 
						dev-libs/libxslt
 | 
				
			||||||
 | 
						app-text/docbook-xsl-stylesheets
 | 
				
			||||||
 | 
					"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					S="${WORKDIR}/glib-${PV}/gio/gdbus-2.0/codegen"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					python_prepare_all() {
 | 
				
			||||||
 | 
						PATCHES=(
 | 
				
			||||||
 | 
							"${FILESDIR}/${PN}-2.56.1-sitedir.patch"
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
						distutils-r1_python_prepare_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						local MAJOR_VERSION=$(ver_cut 1)
 | 
				
			||||||
 | 
						local MINOR_VERSION=$(ver_cut 2)
 | 
				
			||||||
 | 
						sed -e 's:@PYTHON@:python:' gdbus-codegen.in > gdbus-codegen || die
 | 
				
			||||||
 | 
						sed -e "s:@VERSION@:${PV}:" \
 | 
				
			||||||
 | 
							-e "s:@MAJOR_VERSION@:${MAJOR_VERSION}:" \
 | 
				
			||||||
 | 
							-e "s:@MINOR_VERSION@:${MINOR_VERSION}:" config.py.in > config.py || die
 | 
				
			||||||
 | 
						cp "${FILESDIR}/setup.py-2.32.4" setup.py || die "cp failed"
 | 
				
			||||||
 | 
						sed -e "s/@PV@/${PV}/" -i setup.py || die "sed setup.py failed"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					do_xsltproc_command() {
 | 
				
			||||||
 | 
						# Taken from meson.build for manual manpage building - keep in sync (also copied to dev-util/glib-utils)
 | 
				
			||||||
 | 
						xsltproc \
 | 
				
			||||||
 | 
							--nonet \
 | 
				
			||||||
 | 
							--stringparam man.output.quietly 1 \
 | 
				
			||||||
 | 
							--stringparam funcsynopsis.style ansi \
 | 
				
			||||||
 | 
							--stringparam man.th.extra1.suppress 1 \
 | 
				
			||||||
 | 
							--stringparam man.authors.section.enabled 0 \
 | 
				
			||||||
 | 
							--stringparam man.copyright.section.enabled 0 \
 | 
				
			||||||
 | 
							-o "${2}" \
 | 
				
			||||||
 | 
							http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl \
 | 
				
			||||||
 | 
							"${1}" || die "manpage generation failed"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					src_compile() {
 | 
				
			||||||
 | 
						distutils-r1_src_compile
 | 
				
			||||||
 | 
						do_xsltproc_command "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.xml" "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					src_test() {
 | 
				
			||||||
 | 
						einfo "Skipping tests. This package is tested by dev-libs/glib"
 | 
				
			||||||
 | 
						einfo "when merged with FEATURES=test"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					python_install_all() {
 | 
				
			||||||
 | 
						distutils-r1_python_install_all # no-op, but prevents QA warning
 | 
				
			||||||
 | 
						doman "${WORKDIR}/glib-${PV}/docs/reference/gio/gdbus-codegen.1"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										1
									
								
								dev-libs/glib/Manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								dev-libs/glib/Manifest
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					DIST glib-2.67.6.tar.xz 4935624 BLAKE2B f0a27f0e1124fb922f1d04c6caae136001d4c7b4b4ed1477ac1a09e63ea65a8f34d2c5bfec9446e1f3fa76c5c80dfcad571ad3087b7cb1d331444e55b034f130 SHA512 df575e2ed1d18a44559ddb51db543fb58ba1f2b6ecee299317fb89ad8d6d96c7eed2c4493ce5a0a25c20d24d7cd1ffac264e429e1ba1e1457afb0d2d62662321
 | 
				
			||||||
@@ -0,0 +1,31 @@
 | 
				
			|||||||
 | 
					From 95b22035f6151ab465c37fe5e3e340713cb74e23 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Matt Turner <mattst88@gmail.com>
 | 
				
			||||||
 | 
					Date: Tue, 24 Mar 2020 18:44:54 -0700
 | 
				
			||||||
 | 
					Subject: [PATCH] Mark gdbus-server-auth test flaky
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					See https://gitlab.gnome.org/GNOME/glib/-/issues/1954
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 gio/tests/meson.build | 3 ++-
 | 
				
			||||||
 | 
					 1 file changed, 2 insertions(+), 1 deletion(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/gio/tests/meson.build b/gio/tests/meson.build
 | 
				
			||||||
 | 
					index 788cf978b..7f45d0191 100644
 | 
				
			||||||
 | 
					--- a/gio/tests/meson.build
 | 
				
			||||||
 | 
					+++ b/gio/tests/meson.build
 | 
				
			||||||
 | 
					@@ -122,12 +122,13 @@ if dbus1_dep.found()
 | 
				
			||||||
 | 
					     },
 | 
				
			||||||
 | 
					     'gdbus-server-auth' : {
 | 
				
			||||||
 | 
					       'dependencies' : [dbus1_dep],
 | 
				
			||||||
 | 
					+      'suite' : ['flaky'],
 | 
				
			||||||
 | 
					     },
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					 else
 | 
				
			||||||
 | 
					   # We can build a cut-down version of this test without libdbus
 | 
				
			||||||
 | 
					   gio_tests += {
 | 
				
			||||||
 | 
					-    'gdbus-server-auth' : {},
 | 
				
			||||||
 | 
					+    'gdbus-server-auth' : {'suite' : ['flaky']},
 | 
				
			||||||
 | 
					   }
 | 
				
			||||||
 | 
					 endif
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					-- 
 | 
				
			||||||
 | 
					2.24.1
 | 
				
			||||||
							
								
								
									
										290
									
								
								dev-libs/glib/glib-2.67.6.ebuild
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										290
									
								
								dev-libs/glib/glib-2.67.6.ebuild
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,290 @@
 | 
				
			|||||||
 | 
					# Copyright 1999-2021 Gentoo Authors
 | 
				
			||||||
 | 
					# Distributed under the terms of the GNU General Public License v2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EAPI=7
 | 
				
			||||||
 | 
					PYTHON_COMPAT=( python3_{7,8,9} )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					inherit flag-o-matic gnome.org gnome2-utils linux-info meson multilib multilib-minimal 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"
 | 
				
			||||||
 | 
					RESTRICT="!test? ( test )"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# * 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.
 | 
				
			||||||
 | 
					# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
 | 
				
			||||||
 | 
					# these are used by GIO, which glib[static-libs] consumers don't really seem
 | 
				
			||||||
 | 
					# to need at all, thus not imposing the deps for now and once some consumers
 | 
				
			||||||
 | 
					# are actually found to static link libgio-2.0.a, we can revisit and either add
 | 
				
			||||||
 | 
					# 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-${PV}
 | 
				
			||||||
 | 
						>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
 | 
				
			||||||
 | 
						>=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},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}]
 | 
				
			||||||
 | 
						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_Winnt? ( virtual/libelf:0= )
 | 
				
			||||||
 | 
						fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
 | 
				
			||||||
 | 
						sysprof? ( >=dev-util/sysprof-capture-3.38: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.33
 | 
				
			||||||
 | 
							app-text/docbook-xml-dtd:4.2
 | 
				
			||||||
 | 
							app-text/docbook-xml-dtd:4.5 )
 | 
				
			||||||
 | 
						systemtap? ( >=dev-util/systemtap-1.3 )
 | 
				
			||||||
 | 
						${PYTHON_DEPS}
 | 
				
			||||||
 | 
						test? ( >=sys-apps/dbus-1.2.14 )
 | 
				
			||||||
 | 
						virtual/pkgconfig
 | 
				
			||||||
 | 
					"
 | 
				
			||||||
 | 
					# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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)
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PATCHES=(
 | 
				
			||||||
 | 
						"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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() {
 | 
				
			||||||
 | 
						if use test; then
 | 
				
			||||||
 | 
							# TODO: Review the test exclusions, especially now with meson
 | 
				
			||||||
 | 
							# 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"
 | 
				
			||||||
 | 
							# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
 | 
				
			||||||
 | 
							# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
 | 
				
			||||||
 | 
							sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
 | 
				
			||||||
 | 
							# desktop-app-info/launch* might fail similarly
 | 
				
			||||||
 | 
							sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.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/meson.build || die
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							# Play nice with network-sandbox, but this approach would defeat the purpose of the test
 | 
				
			||||||
 | 
							#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							# Don't build tests, also prevents extra deps, bug #512022
 | 
				
			||||||
 | 
							sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Don't build fuzzing binaries - not used
 | 
				
			||||||
 | 
						sed -i -e '/subdir.*fuzzing/d' meson.build || die
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# gdbus-codegen is a separate package
 | 
				
			||||||
 | 
						sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
 | 
				
			||||||
 | 
						sed -i -e '/install_dir/d' gio/tests/meson.build || die
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cat > "${T}/glib-test-ld-wrapper" <<-EOF
 | 
				
			||||||
 | 
							#!/usr/bin/env sh
 | 
				
			||||||
 | 
							exec \${LD:-ld} "\$@"
 | 
				
			||||||
 | 
						EOF
 | 
				
			||||||
 | 
						chmod a+x "${T}/glib-test-ld-wrapper" || die
 | 
				
			||||||
 | 
						sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						xdg_src_prepare
 | 
				
			||||||
 | 
						gnome2_environment_reset
 | 
				
			||||||
 | 
						# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					multilib_src_configure() {
 | 
				
			||||||
 | 
						if use debug; then
 | 
				
			||||||
 | 
							append-cflags -DG_ENABLE_DEBUG
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
 | 
				
			||||||
 | 
						#if tc-is-cross-compiler ; then
 | 
				
			||||||
 | 
							# https://bugzilla.gnome.org/show_bug.cgi?id=756473
 | 
				
			||||||
 | 
							# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
 | 
				
			||||||
 | 
							#case ${CHOST} in
 | 
				
			||||||
 | 
							#hppa*|metag*) export glib_cv_stack_grows=yes ;;
 | 
				
			||||||
 | 
							#*)            export glib_cv_stack_grows=no ;;
 | 
				
			||||||
 | 
							#esac
 | 
				
			||||||
 | 
						#fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						local emesonargs=(
 | 
				
			||||||
 | 
							-Ddefault_library=$(usex static-libs both shared)
 | 
				
			||||||
 | 
							$(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)
 | 
				
			||||||
 | 
							-Dinstalled_tests=false
 | 
				
			||||||
 | 
							-Dnls=enabled
 | 
				
			||||||
 | 
							-Doss_fuzz=disabled
 | 
				
			||||||
 | 
						)
 | 
				
			||||||
 | 
						meson_src_configure
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					multilib_src_compile() {
 | 
				
			||||||
 | 
						meson_src_compile
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					multilib_src_test() {
 | 
				
			||||||
 | 
						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
 | 
				
			||||||
 | 
						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"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						meson_src_test --timeout-multiplier 2 --no-suite flaky
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					multilib_src_install() {
 | 
				
			||||||
 | 
						meson_src_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 now 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
 | 
				
			||||||
 | 
						# gdbus-codegen manpage installed by dev-util/gdbus-codegen
 | 
				
			||||||
 | 
						rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pkg_preinst() {
 | 
				
			||||||
 | 
						xdg_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() {
 | 
				
			||||||
 | 
						xdg_pkg_postinst
 | 
				
			||||||
 | 
						# glib installs no schemas itself, but we force update for fresh install in case
 | 
				
			||||||
 | 
						# something has dropped in a schemas file without direct glib dep; and for upgrades
 | 
				
			||||||
 | 
						# in case the compiled schema format could have changed
 | 
				
			||||||
 | 
						gnome2_schemas_update
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for v in ${REPLACING_VERSIONS}; do
 | 
				
			||||||
 | 
							if ver_test "$v" "-lt" "2.63.6"; then
 | 
				
			||||||
 | 
								ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
 | 
				
			||||||
 | 
								ewarn "to restart your session for \"Open With\" dialogs to work."
 | 
				
			||||||
 | 
							fi
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pkg_postrm() {
 | 
				
			||||||
 | 
						xdg_pkg_postrm
 | 
				
			||||||
 | 
						gnome2_schemas_update
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						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
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user