diff options
Diffstat (limited to 'gnome-extra/chrome-gnome-shell')
8 files changed, 346 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..d8d75d935716 --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/Manifest @@ -0,0 +1,10 @@ +AUX chrome-gnome-shell-8-enabled-extensions-array.patch 1231 BLAKE2B 78150fd5c0aa3591d14d8856e2946f41cf91bc61bbcf6fe2e1f8427c33a45daa9f01224ecd197ae9f98f4acb9050039bf86e3d062377abbd1cb7c9ab237af959 SHA512 1c7423fcea6b258ae55fdc83658dab547b199b2b69e4f0fa54dc6b922718a23ebe6cf506a279eeff6c7c3a42bcc662e218bf5d4be9825c3558150495dc8a3bcf +AUX chrome-gnome-shell-8-get_dbus_connection.patch 2851 BLAKE2B 7ab0caf998f58f3b8d5c03634f35d6a771fd2bcb42af68d6a459662449e5743e71e2243e2dfa929be9c5bff0183716c518beba75b6d37ac12b9b892ecb521684 SHA512 555674bf8b4077f466657ae101da344c17fbc8062012ab341943b48d3260fa83b9a0a3d7c7fdd11dd93e856cbbce5aaf6f7561b9d6457081cec3398d79ecbfc8 +AUX chrome-gnome-shell-8-metadata-version.patch 1155 BLAKE2B be54db5312bff9f23a672068c71689ad2509ab67089a0dcc6558e37ea86b85ba31a67c7070b8e0b581fa884c1fe0adec50a63ab3776ab8bcec557a7626c59641 SHA512 2d38dfd0fe30829053a7f3bcbee8a2afa6cda2cfe1b52d664338b95081b49d9974a5a976a75ebad7401c5dbeb4e76d0920e260e20f722c7af0f9f83b9bd224e8 +DIST chrome-gnome-shell-10.tar.xz 158972 BLAKE2B fe4df942f885aee40d5c5e01dcd127a9deb46aeb57765336c91a7a9c56f7c953eb36d822ffa821300b99e3d765c1b162767fc5debc24e42a16bddb1404796c9c SHA512 cf0d108c3fb57deb4926a4cf043dd64d776eda4c01ec595a1472c6c45726b8460381b9bd7cb1b43d7a5bd8a585be0d1b648c720a2f0a7a377c133b8750e76cd6 +DIST chrome-gnome-shell-8.tar.xz 143224 BLAKE2B 9dcb94f7dcc263c6cc332c476bd652b0ea62443ffb154f67ba869ddc970e892a28ef96be13732d49dfbf5c3db9c4c8fed18918359f240e6b1b6218fa3a2bd462 SHA512 61acd4b0564892667bd1468430ddfff4c0cfbe92b573d8b7e4c5448c25266bd0ee6e89e9bebe08553de4f9661ceeea46f5af38d980051491c40ed7deb24e3277 +DIST chrome-gnome-shell-9.tar.xz 151984 BLAKE2B 884906a308d864893664f499172c130b6ab7cc3ae7a5746f7430f3d779f43320de723c9757fc4c8a9328704b2b5c40c8a829d74280ac78d4f09e000f593c3805 SHA512 b9b5f913a74bdfa641ce35c62f15aa1ceff37e6e0fef43c127ff8ba31933ba2d9c93ee50809b013336ec63ae1020d4e1cacd56d9a86204e1ba4c0bd1d8ed50cf +EBUILD chrome-gnome-shell-10.ebuild 1029 BLAKE2B 95861f4deb9861f6bcf0fefa2ecb04f9b273de8bb9e1f40bd5e289cbd887f91de8b44eafd62f71fcadbba4a15f79101c6bd1a4ccdfbe204707d3c705a4c00885 SHA512 9d1aed107c5433bc942500163e0c8ba463429e5e474a24bc74afe52843c14e82d15a415d5ed4584c9f2d500b1c8e72156f275c4f009b092b1d26a6c194880327 +EBUILD chrome-gnome-shell-8-r1.ebuild 2135 BLAKE2B 2f74d0cce221510f4724d90e23908c67eedd894740bc459ae65cb931091149f49012c0371a2d230dc115660b62369e4d050e66b04d42c6cb230e9be4b42dd6f3 SHA512 a53ddffc9b2a923fcbd3854963d1906166d43db8c5e6df026c006a6a898399d5cb8357df0ec2774e1572096d79fd79998ceeacd5b0d6d0b7adcbc8a00f81d2bf +EBUILD chrome-gnome-shell-9.ebuild 1868 BLAKE2B 1406711b618d76f8d59957a58575298eed99311788288b7c6fa982d0726698063f388e834e742e477150208fc5b72b7777c6c4cd0e02032181c6c0ff4f0736b5 SHA512 84cbb17759a69935ddadf9386dfc649fa9b00bd6574ec5a346cfe5ead80a94fbda18d0de49b1ecc602c1e12526ff31d53494fa56280a88d36ec74ea7629b2bff +MISC metadata.xml 538 BLAKE2B 730cc561a29ab8e4506843dfaa1520af6a8ef1b3139856fbb4e7ba077eab90f28f0440c0b511e0c11167961971ebe0b1b7b53ce386d2f82d4d20b0e9f41664a9 SHA512 fed3f8fac456d95085878b4f3a5f9a0c139df07d4c3a515412727f4e4a805456736d5e36df6397e2a38dbf7043f4e83e2ffddf2615749fa7a43734a17b0ea3b2 diff --git a/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-10.ebuild b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-10.ebuild new file mode 100644 index 000000000000..a932b4e301dc --- /dev/null +++ b/gnome-extra/chrome-gnome-shell/chrome-gnome-shell-10.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 python3_{4,5,6} ) + +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 +} + +pkg_postinst() { + elog "Please note that this package provides native messaging connector only." + elog "You can install browser extension using link provided at" + elog "https://extensions.gnome.org website." +} 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-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..3d84d898ca45 --- /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> |