forked from mirrors/nixpkgs
gnome3.gnome-shell: 3.36.0 -> 3.36.1
- Adds bash-completion depedency. - New internal library (`libshew`) require absolute install path. - Some services (like the extension app) isn't wrapped correctly without patching. Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
This commit is contained in:
parent
81a6a80436
commit
b5fd24e707
|
@ -6,7 +6,9 @@
|
|||
, accountsservice, gdk-pixbuf, gdm, upower, ibus, libnma, libgnomekbd, gnome-desktop
|
||||
, gsettings-desktop-schemas, gnome-keyring, glib, gjs, mutter, evolution-data-server, gtk3
|
||||
, sassc, systemd, gst_all_1, adwaita-icon-theme, gnome-bluetooth, gnome-clocks, gnome-settings-daemon
|
||||
, gnome-autoar, asciidoc-full }:
|
||||
, gnome-autoar, asciidoc-full
|
||||
, bash-completion
|
||||
}:
|
||||
|
||||
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
|
||||
|
||||
|
@ -15,11 +17,11 @@ let
|
|||
|
||||
in stdenv.mkDerivation rec {
|
||||
pname = "gnome-shell";
|
||||
version = "3.36.0";
|
||||
version = "3.36.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "1phkkkwrrigchz58xs324vf6snd1fm7mxa2iaqwwj526vh5c1s2q";
|
||||
sha256 = "0696qw6bmbga30qlvh1k6bkiajl7877j8yis4bwmi1wxkcmkh854";
|
||||
};
|
||||
|
||||
LANG = "en_US.UTF-8";
|
||||
|
@ -48,17 +50,12 @@ in stdenv.mkDerivation rec {
|
|||
|
||||
# not declared at build time, but typelib is needed at runtime
|
||||
libgweather libnma
|
||||
|
||||
# for gnome-extension tool
|
||||
bash-completion
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fix dependencies.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1114
|
||||
(fetchpatch {
|
||||
name = "0001-build-Add-missing-dependency-to-run-js-test.patch";
|
||||
url = "https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016";
|
||||
sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm";
|
||||
})
|
||||
|
||||
# Hardcode paths to various dependencies so that they can be found at runtime.
|
||||
(substituteAll {
|
||||
src = ./fix-paths.patch;
|
||||
|
@ -66,32 +63,23 @@ in stdenv.mkDerivation rec {
|
|||
gsettings = "${glib.bin}/bin/gsettings";
|
||||
})
|
||||
|
||||
# Fix ibus launching regression.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1080
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/94f6976ddd6337593203fdcdd2e3644774408dfa.patch";
|
||||
sha256 = "PGmFQhqqd3gK+3kp0dlmlYd2G5ZTIQpfE++Q03Ghkx0=";
|
||||
})
|
||||
# Install bash-completions to correct prefix.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1194
|
||||
./fix-bash-completion.patch
|
||||
|
||||
# Fix typing regression with ibus.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1084
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/b18469427e5c19402111de5fe9888bceec0eaacd.patch";
|
||||
sha256 = "1M+3kjt7K61BFgk1Zf9XfK1ziilQGa60PD8xtVjnQec=";
|
||||
})
|
||||
# Use absolute path for libshew installation to make our patched gobject-introspection
|
||||
# aware of the location to hardcode in the generated GIR file.
|
||||
./shew-gir-path.patch
|
||||
|
||||
# Fix theming breakage after Shell restart on X11.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/issues/2329
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/72c4f148ef88b4bffb2106b99434da5c05c0bb64.patch";
|
||||
sha256 = "RBA+JHz4ZvmbJZMnGNieD6D5LONRgFU4iOFIMQQ2kHQ=";
|
||||
})
|
||||
# Make D-Bus services wrappable.
|
||||
./wrap-services.patch
|
||||
|
||||
# Fix Telepathy chat integration.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/issues/2449
|
||||
# Fix greeter logo being too big.
|
||||
# https://gitlab.gnome.org/GNOME/gnome-shell/issues/2591
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/766288eec1bd3bd50dfc4ddf410c2b507187e603.patch";
|
||||
sha256 = "Cp6xLohCM0gmMxtyYjSukS2oV60Khmxf4iQd9EDAlIc=";
|
||||
url = "https://gitlab.gnome.org/GNOME/gnome-shell/commit/ffb8bd5fa7704ce70ce7d053e03549dd15dce5ae.patch";
|
||||
revert = true;
|
||||
sha256 = "9DdzjEnDiBL+JmdfgKwjYPn1O2wJ/6n1sMDT1ylUB5I=";
|
||||
})
|
||||
];
|
||||
|
||||
|
@ -112,6 +100,13 @@ in stdenv.mkDerivation rec {
|
|||
)
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
# The services need typelibs.
|
||||
for svc in org.gnome.Shell.Extensions org.gnome.Shell.Notifications; do
|
||||
wrapGApp $out/share/gnome-shell/$svc
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
mozillaPlugin = "/lib/mozilla/plugins";
|
||||
updateScript = gnome3.updateScript {
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
--- a/subprojects/extensions-tool/meson.build
|
||||
+++ a/subprojects/extensions-tool/meson.build
|
||||
@@ -39,6 +39,6 @@ subdir('src')
|
||||
|
||||
if bash_completion.found()
|
||||
install_data('completion/bash/gnome-extensions',
|
||||
- install_dir: bash_completion.get_pkgconfig_variable('completionsdir')
|
||||
+ install_dir: bash_completion.get_pkgconfig_variable('completionsdir', define_variable: ['prefix', prefix])
|
||||
)
|
||||
endif
|
11
pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch
Normal file
11
pkgs/desktops/gnome-3/core/gnome-shell/shew-gir-path.patch
Normal file
|
@ -0,0 +1,11 @@
|
|||
--- a/subprojects/shew/src/meson.build
|
||||
+++ b/subprojects/shew/src/meson.build
|
||||
@@ -13,7 +13,7 @@ shew_sources = [
|
||||
libshew = library(full_name,
|
||||
sources: shew_sources,
|
||||
dependencies: [gtk_dep],
|
||||
- install_dir: pkglibdir,
|
||||
+ install_dir: get_option('prefix') / pkglibdir,
|
||||
install: true,
|
||||
)
|
||||
|
57
pkgs/desktops/gnome-3/core/gnome-shell/wrap-services.patch
Normal file
57
pkgs/desktops/gnome-3/core/gnome-shell/wrap-services.patch
Normal file
|
@ -0,0 +1,57 @@
|
|||
diff --git a/js/dbusServices/dbus-service.in b/js/dbusServices/dbus-service.in
|
||||
old mode 100644
|
||||
new mode 100755
|
||||
index 524166102..100b81a63
|
||||
--- a/js/dbusServices/dbus-service.in
|
||||
+++ b/js/dbusServices/dbus-service.in
|
||||
@@ -1,3 +1,9 @@
|
||||
+#!@gjs@
|
||||
+
|
||||
+// gjs determines the package name from argv[0], which is .*-wrapped
|
||||
+// so we need to override it to the original one.
|
||||
+imports.package._findEffectiveEntryPointName = () => '@service@'
|
||||
+
|
||||
imports.package.start({
|
||||
name: '@PACKAGE_NAME@',
|
||||
prefix: '@prefix@',
|
||||
diff --git a/js/dbusServices/dbus-service.service.in b/js/dbusServices/dbus-service.service.in
|
||||
index 3b0d09abe..4fd4bb66d 100644
|
||||
--- a/js/dbusServices/dbus-service.service.in
|
||||
+++ b/js/dbusServices/dbus-service.service.in
|
||||
@@ -1,3 +1,3 @@
|
||||
[D-BUS Service]
|
||||
Name=@service@
|
||||
-Exec=@gjs@ @pkgdatadir@/@service@
|
||||
+Exec=@pkgdatadir@/@service@
|
||||
diff --git a/js/dbusServices/meson.build b/js/dbusServices/meson.build
|
||||
index c749f45dc..11bcb0c9e 100644
|
||||
--- a/js/dbusServices/meson.build
|
||||
+++ b/js/dbusServices/meson.build
|
||||
@@ -2,6 +2,7 @@ launcherconf = configuration_data()
|
||||
launcherconf.set('PACKAGE_NAME', meson.project_name())
|
||||
launcherconf.set('prefix', prefix)
|
||||
launcherconf.set('libdir', libdir)
|
||||
+launcherconf.set('gjs', gjs.path())
|
||||
|
||||
dbus_services = {
|
||||
'org.gnome.Shell.Extensions': 'extensions',
|
||||
@@ -11,16 +12,17 @@ dbus_services = {
|
||||
config_dir = '@0@/..'.format(meson.current_build_dir())
|
||||
|
||||
foreach service, dir : dbus_services
|
||||
+ svc_launcherconf = launcherconf
|
||||
+ svc_launcherconf.set('service', service)
|
||||
configure_file(
|
||||
input: 'dbus-service.in',
|
||||
output: service,
|
||||
- configuration: launcherconf,
|
||||
+ configuration: svc_launcherconf,
|
||||
install_dir: pkgdatadir,
|
||||
)
|
||||
|
||||
serviceconf = configuration_data()
|
||||
serviceconf.set('service', service)
|
||||
- serviceconf.set('gjs', gjs.path())
|
||||
serviceconf.set('pkgdatadir', pkgdatadir)
|
||||
|
||||
configure_file(
|
Loading…
Reference in a new issue