From 3cf7c3ef441822c889356fd1812ebf2944a59851 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 25 Aug 2020 10:45:55 +0100 Subject: gentoo resync : 25.08.2020 --- gnome-base/gconf/Manifest | 2 + gnome-base/gconf/files/gconf-3.2.6-python3.patch | 164 +++++++++++++++++++++++ gnome-base/gconf/gconf-3.2.6-r5.ebuild | 149 ++++++++++++++++++++ 3 files changed, 315 insertions(+) create mode 100644 gnome-base/gconf/files/gconf-3.2.6-python3.patch create mode 100644 gnome-base/gconf/gconf-3.2.6-r5.ebuild (limited to 'gnome-base/gconf') diff --git a/gnome-base/gconf/Manifest b/gnome-base/gconf/Manifest index 449fa89b6e80..7a7bae1af070 100644 --- a/gnome-base/gconf/Manifest +++ b/gnome-base/gconf/Manifest @@ -2,7 +2,9 @@ AUX gconf-2.24.0-no-gconfd.patch 787 BLAKE2B d37a7b8c4833ba32406dea408e6c1ab6568 AUX gconf-2.28.0-entry-set-value-sigsegv.patch 533 BLAKE2B 004abc644ba4ef6f839ba6179152d2de7d3b709aff8aca37609c1da5d2fa6fb20c54faad0895d5bcb972c8826a58743c01a87ccf54c450fe1734f81219a9c126 SHA512 c0576004aa8c8b64750037183a5d3df5b4d8ba520c83f33a906a8549139e2167d08c1bcc56cbdfe202bb078a703bd561680af63588f7ee4eb42ad6077182a3fa AUX gconf-3.2.6-gsettings-data-convert-paths.patch 1370 BLAKE2B 9fdb3c665c8515cace2325479735fec4b024adea8f2ab1fb89e76ef594eeebda897a3d3f52c8e7c48a21d03e2097211d90ed45887c6542ca6cc93a22ae8e6a15 SHA512 f4d7cc2261f82f7a28e574ec3b732a56bb3f067048312e318f8d23df93046489fdd5ad39d669cf0d9ada6cc07617524511c537a4f2fd0a37cd03788e84b9803b AUX gconf-3.2.6-mconvert-crasher.patch 1514 BLAKE2B 3e48d07777268faa3a1c98f168d33baded66df06185e8e1c77ae8f66f0c689c5a358018d1d3c060e5a4796c3f692acf346141db87f3cb6784ddabbe461432a69 SHA512 8b6885098b63077610b929c3b958efc04599a1f891a0d7b5f042f2638dbae7b3c67b97e7f4e34c439e55ff8c5df3bcc7c6edc56f11cd6506a4b28c2338c8511b +AUX gconf-3.2.6-python3.patch 6699 BLAKE2B 20e24d3f55ccc3455a62fd72fcb054c6fd33308bda419f21426417dd4f9a79581cc5cd03449bad9063e4e927875ed020a99254609517b3c86ebb1b65f268d3d2 SHA512 def5cd74ec7b9d06dc1ccd05364bfa500f8d9685ea3016f219c53df925b09f68dfaf547277dd0dfb9eed266be4de650875611a09a84bc0db3d0a7b907c7beb73 AUX gconf-3.2.6-spew-console-error.patch 2594 BLAKE2B 6a6f27024289b1c578f6718c184e7604f0f1dc285ea58a8095fac06f5fa38273329c8b2535b4de8c17c8359f09f82aa474fa5ebcef739b0e2dd6e7d6fb7726d7 SHA512 abdddbcab24d80870691a45cdf8d4baa7021f363efa26ba140221afef0bd96756b7234fb1d61ea46c4d137854f59d2589f2e1f1d125fdcb1fad3acf9215a8602 DIST GConf-3.2.6.tar.xz 1559904 BLAKE2B dc71bfc6e334b0a3545b6009fc1a592f3ba6adb1471aacc98aaa1ded9e89676f97415c26a3d17e297a846a7efca7ee695107c136ea28b2431f90dc966a3d64cc SHA512 35f5f659f9d03f7531a7102adacbda0eb310d8a55a831c768c91a82e07dae21247726e00e0e411f63b1de9ade0f042ded572a3ea4a4b2ad3135231f344540b58 EBUILD gconf-3.2.6-r4.ebuild 3617 BLAKE2B bb8a10f13cd7598daa7418e3f8324a6ba0c2fac9dd9aa292e0a3723bde5ae33aa368013924589fff534e0a15f079a7c2fff43854c17880d20b7d5929fa0c511c SHA512 7a572f25580c947e4d7a7e114c2c1b21b1a937d44e498ffea1ce42c110a5a38ff6aedd373f88ee9e711d9e56f3b4b0d361c2af264c25bd39a65d1fb4aa28652f +EBUILD gconf-3.2.6-r5.ebuild 3841 BLAKE2B da4e07d79a3c644bb41d1c4696cf3b29be12179350303cacf7f92e8878e3d224fc75deb5b366baa93e21c7155a847265a97819aac4de37b0ea589767be506a38 SHA512 3fb906136252cbbcd8fa6d36c6fbe3d2397ecc2fd0b7bfcda2a46b2c169cbc331bcb847909d22cdf9d686afb35c298a62891f898f6c01cb40548a6493eddd875 MISC metadata.xml 430 BLAKE2B e2fce04aae8a1df05cb55972ab86e903186e034c0c48115f29d754f215e0be20a9b204aa2be12ed045b3dfc2010eea78be83252a3b86aa7cbbb8cde9b7433923 SHA512 820c350a185014ad888ba9cb43afb5ae7f21a0000a224d68461abbee4efefcbd972db79d7086b8f7f023de0828fa6f01a32502cbf74439160003fad146d33ca4 diff --git a/gnome-base/gconf/files/gconf-3.2.6-python3.patch b/gnome-base/gconf/files/gconf-3.2.6-python3.patch new file mode 100644 index 000000000000..d1504cc0e235 --- /dev/null +++ b/gnome-base/gconf/files/gconf-3.2.6-python3.patch @@ -0,0 +1,164 @@ +From dbd4f1bc1992c2942538980e76a50c8b8a758d70 Mon Sep 17 00:00:00 2001 +From: Takao Fujiwara +Date: Fri, 11 Dec 2015 18:29:49 +0900 +Subject: [PATCH] gsettings-schema-convert: Support python3 + +https://bugzilla.gnome.org/show_bug.cgi?id=759334 +--- + gsettings/gsettings-schema-convert | 43 ++++++++++++++++++++------------------ + 1 file changed, 23 insertions(+), 20 deletions(-) + +diff --git a/gsettings/gsettings-schema-convert b/gsettings/gsettings-schema-convert +index 913cc83..6ccf8c5 100755 +--- a/gsettings/gsettings-schema-convert ++++ b/gsettings/gsettings-schema-convert +@@ -25,6 +25,9 @@ + # TODO: we don't support migrating a pair from a gconf schema. It has yet to be + # seen in real-world usage, though. + ++from __future__ import print_function ++ ++import codecs + import os + import sys + +@@ -398,7 +401,7 @@ class SimpleSchemaParser: + + def _word_to_token(self, word): + lower = word.lower() +- if lower and lower in self.allowed_tokens.keys(): ++ if lower and lower in list(self.allowed_tokens.keys()): + return lower + raise GSettingsSchemaConvertException('\'%s\' is not a valid token.' % lower) + +@@ -594,7 +597,7 @@ class SimpleSchemaParser: + self.object_stack.append(new_object) + + def parse(self): +- f = open(self.file, 'r') ++ f = codecs.open(self.file, 'r', encoding='utf-8') + lines = [ line[:-1] for line in f.readlines() ] + f.close() + +@@ -603,7 +606,7 @@ class SimpleSchemaParser: + for line in lines: + current_line_nb += 1 + self.parse_line(line) +- except GSettingsSchemaConvertException, e: ++ except GSettingsSchemaConvertException as e: + raise GSettingsSchemaConvertException('%s:%s: %s' % (os.path.basename(self.file), current_line_nb, e)) + + return self.root +@@ -711,7 +714,7 @@ class XMLSchemaParser: + schema = self._parse_schema(schema_node) + + for (child_schema, child_name) in schema._children: +- if parent.has_key(child_schema): ++ if child_schema in parent: + raise GSettingsSchemaConvertException('Child \'%s\' is declared by two different schemas: \'%s\' and \'%s\'.' % (child_schema, parent[child_schema], schema.id)) + parent[child_schema] = schema + +@@ -719,7 +722,7 @@ class XMLSchemaParser: + + # now let's move all schemas where they should leave + for schema in schemas: +- if parent.has_key(schema.id): ++ if schema.id in parent: + parent_schema = parent[schema.id] + + # check that the paths of parent and child are supported by +@@ -1054,31 +1057,31 @@ def main(args): + (options, args) = parser.parse_args() + + if len(args) < 1: +- print >> sys.stderr, 'Need a filename to work on.' ++ print('Need a filename to work on.', file=sys.stderr) + return 1 + elif len(args) > 1: +- print >> sys.stderr, 'Too many arguments.' ++ print('Too many arguments.', file=sys.stderr) + return 1 + + if options.simple and options.xml: +- print >> sys.stderr, 'Too many output formats requested.' ++ print('Too many output formats requested.', file=sys.stderr) + return 1 + + if not options.gconf and options.gettext_domain: +- print >> sys.stderr, 'Default gettext domain can only be specified when converting a gconf schema.' ++ print('Default gettext domain can only be specified when converting a gconf schema.', file=sys.stderr) + return 1 + + if not options.gconf and options.schema_id: +- print >> sys.stderr, 'Default schema ID can only be specified when converting a gconf schema.' ++ print('Default schema ID can only be specified when converting a gconf schema.', file=sys.stderr) + return 1 + + if not options.gconf and options.keep_underscores: +- print >> sys.stderr, 'The --keep-underscores option can only be specified when converting a gconf schema.' ++ print('The --keep-underscores option can only be specified when converting a gconf schema.', file=sys.stderr) + return 1 + + argfile = os.path.expanduser(args[0]) + if not os.path.exists(argfile): +- print >> sys.stderr, '\'%s\' does not exist.' % argfile ++ print('\'%s\' does not exist.' % argfile, file=sys.stderr) + return 1 + + if options.output: +@@ -1095,7 +1098,7 @@ def main(args): + try: + parser = GConfSchemaParser(argfile, options.gettext_domain, options.schema_id, options.keep_underscores) + schema_root = parser.parse() +- except SyntaxError, e: ++ except SyntaxError as e: + raise GSettingsSchemaConvertException('\'%s\' does not look like a valid gconf schema file: %s' % (argfile, e)) + else: + # autodetect if file is XML or not +@@ -1104,7 +1107,7 @@ def main(args): + schema_root = parser.parse() + if not options.simple and not options.xml: + options.simple = True +- except SyntaxError, e: ++ except SyntaxError as e: + parser = SimpleSchemaParser(argfile) + schema_root = parser.parse() + if not options.simple and not options.xml: +@@ -1113,10 +1116,10 @@ def main(args): + if options.xml: + node = schema_root.get_xml_node() + try: +- output = ET.tostring(node, pretty_print = True) ++ output = ET.tostring(node, pretty_print = True, encoding="unicode") + except TypeError: + # pretty_print only works with lxml +- output = ET.tostring(node) ++ output = ET.tostring(node, encoding="unicode") + else: + output = schema_root.get_simple_string() + +@@ -1124,17 +1127,17 @@ def main(args): + sys.stdout.write(output) + else: + try: +- fout = open(options.output, 'w') ++ fout = codecs.open(options.output, 'w', encoding='utf-8') + fout.write(output) + fout.close() +- except GSettingsSchemaConvertException, e: ++ except GSettingsSchemaConvertException as e: + fout.close() + if os.path.exists(options.output): + os.unlink(options.output) + raise e + +- except GSettingsSchemaConvertException, e: +- print >> sys.stderr, '%s' % e ++ except GSettingsSchemaConvertException as e: ++ print('%s' % e, file=sys.stderr) + return 1 + + return 0 +-- +2.4.3 + diff --git a/gnome-base/gconf/gconf-3.2.6-r5.ebuild b/gnome-base/gconf/gconf-3.2.6-r5.ebuild new file mode 100644 index 000000000000..5459cfbdca64 --- /dev/null +++ b/gnome-base/gconf/gconf-3.2.6-r5.ebuild @@ -0,0 +1,149 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +GNOME_ORG_MODULE="GConf" +GNOME2_LA_PUNT="yes" +PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_REQ_USE="xml" + +inherit gnome2 multilib-minimal python-single-r1 + +DESCRIPTION="GNOME configuration system and daemon" +HOMEPAGE="https://projects.gnome.org/gconf/" + +LICENSE="LGPL-2+" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-linux" +IUSE="debug +introspection ldap policykit" + +RDEPEND=" + ${PYTHON_DEPS} + >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}] + >=dev-libs/dbus-glib-0.100.2:=[${MULTILIB_USEDEP}] + >=sys-apps/dbus-1.6.18-r1:=[${MULTILIB_USEDEP}] + >=dev-libs/libxml2-2.9.1-r4:2[${MULTILIB_USEDEP}] + introspection? ( >=dev-libs/gobject-introspection-0.9.5:= ) + ldap? ( >=net-nds/openldap-2.4.38-r1:=[${MULTILIB_USEDEP}] ) + policykit? ( sys-auth/polkit:= ) +" +DEPEND="${RDEPEND} + dev-libs/libxslt + dev-util/glib-utils + dev-util/gtk-doc-am + >=dev-util/intltool-0.35 + virtual/pkgconfig +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +pkg_setup() { + kill_gconf + python-single-r1_pkg_setup +} + +src_prepare() { + # Do not start gconfd when installing schemas, fix bug #238276, upstream #631983 + eapply "${FILESDIR}/${PN}-2.24.0-no-gconfd.patch" + + # Do not crash in gconf_entry_set_value() when entry pointer is NULL, upstream #631985 + eapply "${FILESDIR}/${PN}-2.28.0-entry-set-value-sigsegv.patch" + + # From 'master' + # mconvert: enable recursive scheme lookup and fix a crasher + eapply "${FILESDIR}/${P}-mconvert-crasher.patch" + + # dbus: Don't spew to console when unable to connect to dbus daemon + eapply "${FILESDIR}/${P}-spew-console-error.patch" + + # gsettings-data-convert: Warn (and fix) invalid schema paths + eapply "${FILESDIR}/${P}-gsettings-data-convert-paths.patch" + + # gsettings-data-convert: Migrate from Python 2 to 3. + eapply "${FILESDIR}/${P}-python3.patch" + + gnome2_src_prepare +} + +multilib_src_configure() { + ECONF_SOURCE=${S} \ + gnome2_src_configure \ + --disable-static \ + --enable-gsettings-backend \ + --with-gtk=3.0 \ + --disable-orbit \ + $(use_enable debug) \ + $(multilib_native_use_enable introspection) \ + $(use_with ldap openldap) \ + $(multilib_native_use_enable policykit defaults-service) + + if multilib_is_native_abi; then + ln -s "${S}"/doc/gconf/html doc/gconf/html || die + fi +} + +multilib_src_install() { + gnome2_src_install +} + +multilib_src_install_all() { + python_fix_shebang "${ED}"/usr/bin/gsettings-schema-convert + + keepdir /etc/gconf/gconf.xml.mandatory + keepdir /etc/gconf/gconf.xml.defaults + # Make sure this directory exists, bug #268070, upstream #572027 + keepdir /etc/gconf/gconf.xml.system + + echo "CONFIG_PROTECT_MASK=\"/etc/gconf\"" > 50gconf + echo 'GSETTINGS_BACKEND="gconf"' >> 50gconf + doenvd 50gconf + dodir /root/.gconfd +} + +pkg_preinst() { + kill_gconf + gnome2_pkg_preinst +} + +pkg_postinst() { + kill_gconf + + gnome2_pkg_postinst + + multilib_pkg_postinst() { + gnome2_giomodule_cache_update \ + || die "Update GIO modules cache failed (for ${ABI})" + } + multilib_foreach_abi multilib_pkg_postinst + + # change the permissions to avoid some gconf bugs + einfo "changing permissions for gconf dirs" + find "${EPREFIX}"/etc/gconf/ -type d -exec chmod ugo+rx "{}" \; + + einfo "changing permissions for gconf files" + find "${EPREFIX}"/etc/gconf/ -type f -exec chmod ugo+r "{}" \; +} + +pkg_postrm() { + gnome2_pkg_postrm + + multilib_pkg_postrm() { + gnome2_giomodule_cache_update \ + || die "Update GIO modules cache failed (for ${ABI})" + } + multilib_foreach_abi multilib_pkg_postrm +} + +kill_gconf() { + # Avoid harmless error message. See bug #523868. + mkdir -p "${HOME}"/.config || die + + # This function will kill all running gconfd-2 that could be causing troubles + if [ -x "${EPREFIX}"/usr/bin/gconftool-2 ] + then + "${EPREFIX}"/usr/bin/gconftool-2 --shutdown + fi + + return 0 +} -- cgit v1.2.3