diff options
Diffstat (limited to 'gnome-extra/chrome-gnome-shell')
8 files changed, 367 insertions, 0 deletions
diff --git a/gnome-extra/chrome-gnome-shell/Manifest b/gnome-extra/chrome-gnome-shell/Manifest new file mode 100644 index 000000000000..0c13a68fb6be --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/Manifest @@ -0,0 +1,11 @@ +AUX chrome-gnome-shell-8-enabled-extensions-array.patch 1231 SHA256 5c6db35133d91701619a3e3c46ba03719a3be3a7e1523fd52f0485cbc4faf66e SHA512 1c7423fcea6b258ae55fdc83658dab547b199b2b69e4f0fa54dc6b922718a23ebe6cf506a279eeff6c7c3a42bcc662e218bf5d4be9825c3558150495dc8a3bcf WHIRLPOOL d18d79f22298c6fa64fe2e35f826b8788bcd5d20551c594c3426a6b44071081b42c675f8fc3ddc5cbd71947a83dc7e7def4f346d3ba85e4b0d7b47af065f5c11 +AUX chrome-gnome-shell-8-get_dbus_connection.patch 2851 SHA256 0a5b9ffdc08d8836fb157883d04b0195d2c51ba9acea11448951b7b2264148fc SHA512 555674bf8b4077f466657ae101da344c17fbc8062012ab341943b48d3260fa83b9a0a3d7c7fdd11dd93e856cbbce5aaf6f7561b9d6457081cec3398d79ecbfc8 WHIRLPOOL 29dfac4608ff6fc4b2b37b9434ba065357ae3358f842b718e6777515a9d80a60417415eb2875f9347bb60cffed2ce5365ad17ef2dbf20cfc02e069f034adc8d4 +AUX chrome-gnome-shell-8-metadata-version.patch 1155 SHA256 9b66018a3bc565e6fb7591ae74958ecc2e4d8c90530a5309b3f163a390e9b667 SHA512 2d38dfd0fe30829053a7f3bcbee8a2afa6cda2cfe1b52d664338b95081b49d9974a5a976a75ebad7401c5dbeb4e76d0920e260e20f722c7af0f9f83b9bd224e8 WHIRLPOOL c416a7c1ef816c46ab8e9c88b3ff52b2049d5e44965f68d32cbf97f9c711482893c41c1fd5a48cae73c0e3eb48a31b58f7a05167b0be567551dfdd3bd5fdeaea +DIST chrome-gnome-shell-8.1.tar.xz 145404 SHA256 27fa50a185aa1f4db5458d71fedfafba16a45498dc9cb619a2db9cd1dc8ae33e SHA512 90fc047aece51e8cee24d65033db1f32f6ddb90d24a63127248b0dc824f26dab3a5cb169e179a17c7b26aacb7d8417101f5a7695c979417e9f8464a9672b34d2 WHIRLPOOL 2ad77e3acbf760dab1547002e383cbf438b09931de3ea01c6302fe12ff5648a23e72cd32bdc6b431e8c1f6cd57a4b746ab071a67389e2de8f9ad0e826a17905b +DIST chrome-gnome-shell-8.tar.xz 143224 SHA256 2621a1e0762ff39473180a0eed49414594ea3eae4812acd584d89374221b37c5 SHA512 61acd4b0564892667bd1468430ddfff4c0cfbe92b573d8b7e4c5448c25266bd0ee6e89e9bebe08553de4f9661ceeea46f5af38d980051491c40ed7deb24e3277 WHIRLPOOL 9e6de120bc84a4f431201753587864f6878eca0937624eccaea60e9f7c20a385ee0867107f823b131dc58e0bac121cdccda6e42861a5bc4ebbb45b7be7b374f8 +DIST chrome-gnome-shell-9.tar.xz 151984 SHA256 11fdfaa12208ec87ddbac27fc9652609c74e421d3e258de6b4776e392efdd448 SHA512 b9b5f913a74bdfa641ce35c62f15aa1ceff37e6e0fef43c127ff8ba31933ba2d9c93ee50809b013336ec63ae1020d4e1cacd56d9a86204e1ba4c0bd1d8ed50cf WHIRLPOOL 918a640f8da15b4ecb71870fb400f791c72ded75a3bfeaeb74a22c229afcde6f9497cc2c94ff2665f7d0cd7ea0dac83fe08870c3a3e590f3b425a44cb1b832a0 +EBUILD chrome-gnome-shell-8-r1.ebuild 2135 SHA256 058d4a9ccbe0e97a71cf85d30d7c21eab4d21a8f3ee655712bf5c385000266f9 SHA512 a53ddffc9b2a923fcbd3854963d1906166d43db8c5e6df026c006a6a898399d5cb8357df0ec2774e1572096d79fd79998ceeacd5b0d6d0b7adcbc8a00f81d2bf WHIRLPOOL 1cded745ca681d0aedfce057cbf422e66aa65d9d1941fb1db64f144b92b8cb942a7f78c1e909012ec471e84d0b7cd18c74d3f2219f1fc965cdcaecd4ae5c7446 +EBUILD chrome-gnome-shell-8.1.ebuild 1850 SHA256 4df66cf3c6810a648981dc99cd4351b3651b9a6f4e12552f375fa3e43d9f2fc9 SHA512 dac582a4e32e80e762c534421536926ddd299534aa6c72fe90986de1e2cb78467a9996162e17fa978382720b7d458a832c0e56db1615ca038e9d2458bf2c5c76 WHIRLPOOL b90677530eea66fea304d9f1a89dcadbf57420e080493bcf2028ea4b2d57d6f0c3cb9ddf4df5806e04735b627e56bb3e988d12339063ff78c7dbe2dd9c6cd777 +EBUILD chrome-gnome-shell-9.ebuild 1868 SHA256 cb1ee5df14c05614181e2b5fb81ff7abe85577ae9377d969e8358ccb7091a32e SHA512 84cbb17759a69935ddadf9386dfc649fa9b00bd6574ec5a346cfe5ead80a94fbda18d0de49b1ecc602c1e12526ff31d53494fa56280a88d36ec74ea7629b2bff WHIRLPOOL 97a3b4b3a050dc4faa22a00346d68121bcaf6c341bb110cbb32a28c1843fb6af33976618951522cb154d9a26a9cad608c28523402a7188c9ea73bb91ed525c8d +MISC ChangeLog 2019 SHA256 d62eb78be27ea11a6f5cec0aa6ccbee1175f933e887f93207d6d0a020f4f5580 SHA512 8e22e279712742e1bfe5c31713894c45314b32fc88df80d2ed5a2a15407261a55642968295a25f7c268536895eb706e936c98e3ee1fff4c4f7de3fdd83ae34ef WHIRLPOOL 0d158f2c306c1df33dd4e3fb2bf9fcafe48457025f55320534a6abf97e2139ff74391b39f10933d0d85efc591cca0b6dbce8af52842fee529aa46725fd1f72c7 +MISC metadata.xml 573 SHA256 59cad2653050f7d4056b4ddd45b8778764cccf1cfdb611094d0124e6b1dc560d SHA512 aa570e3593e9652312853bfb1d6ce86e3a1f75c28f70bea9a2c551dc1bd067abccf7813c050978a1725b9a085517277913337b05ac833080b441168e93a5e27c WHIRLPOOL cb4f8ff5137d7ffb98bc0d83a52662d3886a4733c6f06f263d0d818490665d3aa8832427fe153518e657cade40d8a421a083f87a00301febc04ec64ceed68087 diff --git a/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-8-r1.ebuild b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-8-r1.ebuild new file mode 100644 index 000000000000..0ddf6116f70a --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-8-r1.ebuild @@ -0,0 +1,69 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="GNOME Shell integration for Chrome/Chromium, Firefox, Vivaldi, Opera browsers" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome" +SRC_URI="mirror://gnome/sources/${PN}/${PV}/${P}.tar.xz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="${PYTHON_DEPS} + app-misc/jq + sys-apps/coreutils +" +RDEPEND="${PYTHON_DEPS} + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + gnome-base/gnome-shell +" + +PATCHES=( + "${FILESDIR}/${P}"-enabled-extensions-array.patch + "${FILESDIR}/${P}"-metadata-version.patch + "${FILESDIR}/${P}"-get_dbus_connection.patch +) + +src_configure() { + local mycmakeargs=( -DBUILD_EXTENSION=OFF ) + cmake-utils_src_configure +} + +src_install() { + # Chrome policy files should be removed with package. + # Otherwise it will not be possible to uninstall web extension + # from browser. + echo -n "CONFIG_PROTECT_MASK=\"" > 50"${PN}" || die + echo -n "/etc/chromium/policies/managed/${PN}.json " >> 50"${PN}" || die + echo "/etc/opt/chrome/policies/managed/${PN}.json\"" >> 50"${PN}" || die + doenvd 50"${PN}" + + cmake-utils_src_install +} + +pkg_postinst() { + elog "If you are installing ${PN} for the first time then you should" + elog "restart or reload dbus service before starting your browser." + elog + elog "Please note that this package provides native messaging connector only." + elog + elog "Managed policy was installed to force web extension installation" + elog "for Google Chrome, Chromium and Vivaldi browsers from Chrome Store" + elog "https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep" + elog + elog "For Mozilla Firefox you should manualy install web extension from" + elog "https://addons.mozilla.org/firefox/addon/gnome-shell-integration/" + elog + elog "For Opera you should manualy install web extension from" + elog "https://addons.opera.com/extensions/details/gnome-shell-integration/" +} diff --git a/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-8.1.ebuild b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-8.1.ebuild new file mode 100644 index 000000000000..212495f9a51c --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-8.1.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="GNOME Shell integration for Chrome/Chromium, Firefox, Vivaldi, Opera browsers" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome" +SRC_URI="mirror://gnome/sources/${PN}/${PV}/${P}.tar.xz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="${PYTHON_DEPS} + app-misc/jq + sys-apps/coreutils +" +RDEPEND="${PYTHON_DEPS} + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + gnome-base/gnome-shell +" + +src_configure() { + local mycmakeargs=( -DBUILD_EXTENSION=OFF ) + cmake-utils_src_configure +} + +src_install() { + # Chrome policy files should be removed with package. + # Otherwise it will not be possible to uninstall web extension + # from browser. + echo -n "CONFIG_PROTECT_MASK=\"" > 50"${PN}" || die + echo -n "/etc/chromium/policies/managed/${PN}.json " >> 50"${PN}" || die + echo "/etc/opt/chrome/policies/managed/${PN}.json\"" >> 50"${PN}" || die + doenvd 50"${PN}" + + cmake-utils_src_install +} + +pkg_postinst() { + elog "Please note that this package provides native messaging connector only." + elog + elog "Managed policy was installed to force browser extension installation" + elog "for Google Chrome, Chromium and Vivaldi browsers from Chrome Store" + elog "https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep" + elog + elog "For Mozilla Firefox you should manualy install browser extension from" + elog "https://addons.mozilla.org/firefox/addon/gnome-shell-integration/" + elog + elog "For Opera you should manualy install browser extension from" + elog "https://addons.opera.com/extensions/details/gnome-shell-integration/" +} diff --git a/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-9.ebuild b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-9.ebuild new file mode 100644 index 000000000000..599855c9cf5c --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-9.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5} ) + +inherit cmake-utils python-single-r1 + +DESCRIPTION="GNOME Shell integration for Chrome/Chromium, Firefox, Vivaldi, Opera browsers" +HOMEPAGE="https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome" +SRC_URI="mirror://gnome/sources/${PN}/${PV}/${P}.tar.xz" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86" +IUSE="" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="${PYTHON_DEPS} + app-misc/jq + sys-apps/coreutils +" +RDEPEND="${PYTHON_DEPS} + dev-python/pygobject:3[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + gnome-base/gnome-shell +" + +src_configure() { + local mycmakeargs=( -DBUILD_EXTENSION=OFF ) + cmake-utils_src_configure +} + +src_install() { + # Chrome policy files should be removed with package. + # Otherwise it will not be possible to uninstall web extension + # from browser. + echo -n "CONFIG_PROTECT_MASK=\"" > 50"${PN}" || die + echo -n "/etc/chromium/policies/managed/${PN}.json " >> 50"${PN}" || die + echo "/etc/opt/chrome/policies/managed/${PN}.json\"" >> 50"${PN}" || die + doenvd 50"${PN}" + + cmake-utils_src_install +} + +pkg_postinst() { + elog "Please note that this package provides native messaging connector only." + elog + elog "Managed policy was installed to force browser extension installation" + elog "for Google Chrome, Chromium and Vivaldi browsers from Chrome Store" + elog "https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep" + elog + elog "For Mozilla Firefox you should manualy install browser extension from" + elog "https://addons.mozilla.org/firefox/addon/gnome-shell-integration/" + elog + elog "For Opera you should manualy install browser extension from" + elog "https://addons.opera.com/extensions/details/gnome-shell-integration/" +} diff --git a/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-enabled-extensions-array.patch b/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-enabled-extensions-array.patch new file mode 100644 index 000000000000..7a56ca0256be --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-enabled-extensions-array.patch @@ -0,0 +1,32 @@ +From 1de3c56c636adfdb74970bf9d7a5424af3830d92 Mon Sep 17 00:00:00 2001 +From: Yuri Konotopov <ykonotopov@gnome.org> +Date: Mon, 23 Jan 2017 19:43:30 +0400 +Subject: [PATCH 3/6] connector: assume that "enabled-extensions" array can + contains duplicates + +See-Also: https://bugzilla.gnome.org/show_bug.cgi?id=777650 +Fixes: https://github.com/nE0sIghT/chrome-gnome-shell-mirror/issues/26 +--- + connector/chrome-gnome-shell.py | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/connector/chrome-gnome-shell.py b/connector/chrome-gnome-shell.py +index 719a347..0b92d83 100755 +--- a/connector/chrome-gnome-shell.py ++++ b/connector/chrome-gnome-shell.py +@@ -424,9 +424,10 @@ class ChromeGNOMEShell(Gio.Application): + continue + + if extension['enable']: +- uuids.append(extension['uuid']) ++ if not extension['uuid'] in uuids: ++ uuids.append(extension['uuid']) + elif extension['uuid'] in uuids: +- uuids.remove(extension['uuid']) ++ uuids = [value for value in uuids if value != extension['uuid']] + + settings.set_strv(ENABLED_EXTENSIONS_KEY, uuids) + +-- +2.10.2 + diff --git a/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-get_dbus_connection.patch b/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-get_dbus_connection.patch new file mode 100644 index 000000000000..be5f6c4e51d0 --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-get_dbus_connection.patch @@ -0,0 +1,91 @@ +From dca4a3538f86d8e2e957945a691430573192716d Mon Sep 17 00:00:00 2001 +From: Yuri Konotopov <ykonotopov@gnome.org> +Date: Tue, 24 Jan 2017 19:42:19 +0400 +Subject: [PATCH 6/6] connector: do not use get_dbus_connection after + GApplication was released. + +Fixes: https://github.com/nE0sIghT/chrome-gnome-shell-mirror/issues/27 +--- + connector/chrome-gnome-shell.py | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) + +diff --git a/connector/chrome-gnome-shell.py b/connector/chrome-gnome-shell.py +index 0f6e5f1..ac6740a 100755 +--- a/connector/chrome-gnome-shell.py ++++ b/connector/chrome-gnome-shell.py +@@ -106,21 +106,26 @@ class ChromeGNOMEShell(Gio.Application): + self.hold() + + # Is there any way to hook this to shutdown? +- def cleanup(self): +- debug('Cleanup') ++ def clean_release(self): ++ debug('Release') + + if self.shellAppearedId: + Gio.bus_unwatch_name(self.shellAppearedId) + + if self.shellSignalId: +- self.get_dbus_connection().signal_unsubscribe(self.shellSignalId) ++ dbus_connection = self.get_dbus_connection() ++ ++ if dbus_connection is not None: ++ dbus_connection.signal_unsubscribe(self.shellSignalId) ++ ++ self.release() + + def default_exception_hook(self, exception_type, value, tb): + log_error("Uncaught exception of type %s occured" % exception_type) + traceback.print_tb(tb) + log_error("Exception: %s" % value) + +- self.release() ++ self.clean_release() + + def add_simple_action(self, name, callback, parameter_type): + action = Gio.SimpleAction.new( +@@ -191,7 +196,7 @@ class ChromeGNOMEShell(Gio.Application): + # noinspection PyUnusedLocal + def on_service_timeout(self, data): + debug('On service timeout') +- self.release() ++ self.clean_release() + + return False + +@@ -203,7 +208,7 @@ class ChromeGNOMEShell(Gio.Application): + + if len(text_length_bytes) == 0: + debug('Release condition: %s' % str(condition)) +- self.release() ++ self.clean_release() + return + + # Unpack message length as 4 byte integer. +@@ -255,14 +260,14 @@ class ChromeGNOMEShell(Gio.Application): + # noinspection PyUnusedLocal + def on_hup(self, source, condition, data): + debug('On hup: %s' % str(condition)) +- self.release() ++ self.clean_release() + + return False + + # noinspection PyUnusedLocal + def on_sigint(self, data): + debug('On sigint') +- self.release() ++ self.clean_release() + + return False + +@@ -545,6 +550,5 @@ if __name__ == '__main__': + app = ChromeGNOMEShell('--gapplication-service' in sys.argv) + + app.run(sys.argv) +- app.cleanup() + + debug('Quit') +-- +2.10.2 + diff --git a/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-metadata-version.patch b/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-metadata-version.patch new file mode 100644 index 000000000000..238d1fcd1df6 --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/files/chrome-gnome-shell-8-metadata-version.patch @@ -0,0 +1,28 @@ +From 48ded6911e60fb8415190b252ca420b994e6c525 Mon Sep 17 00:00:00 2001 +From: Yuri Konotopov <ykonotopov@gnome.org> +Date: Mon, 23 Jan 2017 22:29:12 +0400 +Subject: [PATCH 4/6] connector: assume version 1 for extensions without + version in metadata + +Bug: https://github.com/nE0sIghT/chrome-gnome-shell-mirror/issues/27 +See-Also: https://git.gnome.org/browse/extensions-web/commit/?id=214f03ee90f0f391d3d4fdec23feedf45e3d0507 +--- + connector/chrome-gnome-shell.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/connector/chrome-gnome-shell.py b/connector/chrome-gnome-shell.py +index 0b92d83..0f6e5f1 100755 +--- a/connector/chrome-gnome-shell.py ++++ b/connector/chrome-gnome-shell.py +@@ -506,7 +506,7 @@ class ChromeGNOMEShell(Gio.Application): + http_request['installed'][uuid] = { + 'version': int(extensions[uuid]['version']) + } +- except ValueError: ++ except (ValueError, KeyError): + http_request['installed'][uuid] = { + 'version': 1 + } +-- +2.10.2 + diff --git a/gnome-extra/chrome-gnome-shell/metadata.xml b/gnome-extra/chrome-gnome-shell/metadata.xml new file mode 100644 index 000000000000..a24e5c1ae81a --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/metadata.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>ykonotopov@gnome.org</email> + <name>Yuri Konotopov</name> + </maintainer> + <maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/nE0sIghT/chrome-gnome-shell-mirror/issues</bugs-to> + <remote-id type="github">GNOME/chrome-gnome-shell</remote-id> + </upstream> +</pkgmetadata> |