Merge pull request #93045 from jtojnar/gnome-shell-cleanup

gnome3.gnome-shell: clean up
This commit is contained in:
Jan Tojnar 2020-07-18 06:51:08 +02:00 committed by GitHub
commit 82c91e1306
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 149 additions and 65 deletions

View File

@ -1,60 +1,81 @@
{ fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, gettext, libsecret
, python3, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
, libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
, libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42, desktop-file-utils
, libpulseaudio, libical, gobject-introspection, wrapGAppsHook, libxslt, gcr
, 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
{ fetchurl
, fetchpatch
, substituteAll
, stdenv
, meson
, ninja
, pkg-config
, gnome3
, json-glib
, gettext
, libsecret
, python3
, polkit
, networkmanager
, gtk-doc
, docbook-xsl-nons
, at-spi2-core
, libstartup_notification
, telepathy-glib
, telepathy-logger
, unzip
, shared-mime-info
, libgweather
, librsvg
, geoclue2
, perl
, docbook_xml_dtd_412
, docbook_xml_dtd_42
, docbook_xml_dtd_43
, desktop-file-utils
, libpulseaudio
, libical
, gobject-introspection
, wrapGAppsHook
, libxslt
, gcr
, 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
, 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
let
pythonEnv = python3.withPackages ( ps: with ps; [ pygobject3 ] );
in stdenv.mkDerivation rec {
pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]);
in
stdenv.mkDerivation rec {
pname = "gnome-shell";
version = "3.36.4";
outputs = [ "out" "devdoc" ];
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1nyibrr98ijn65z9ki0k7xzcwcliwy2jqssz0l0jalpbkhnr751d";
};
LANG = "en_US.UTF-8";
nativeBuildInputs = [
meson ninja pkgconfig gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales
sassc desktop-file-utils libxslt.bin python3 asciidoc-full
];
buildInputs = [
systemd
gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice
libsecret libsoup polkit gdk-pixbuf librsvg
networkmanager libstartup_notification telepathy-glib
libXtst gjs mutter libpulseaudio evolution-data-server
libical gtk3 gdm libcanberra-gtk3 geoclue2
adwaita-icon-theme gnome-bluetooth
gnome-clocks # schemas needed
at-spi2-core upower ibus gnome-desktop telepathy-logger gnome-settings-daemon
gobject-introspection
gnome-autoar
# recording
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
# not declared at build time, but typelib is needed at runtime
libgweather libnma
# for gnome-extension tool
bash-completion
];
patches = [
# Hardcode paths to various dependencies so that they can be found at runtime.
(substituteAll {
@ -86,6 +107,77 @@ in stdenv.mkDerivation rec {
})
];
nativeBuildInputs = [
meson
ninja
pkg-config
gettext
docbook-xsl-nons
docbook_xml_dtd_412
docbook_xml_dtd_42
docbook_xml_dtd_43
gtk-doc
perl
wrapGAppsHook
sassc
desktop-file-utils
libxslt.bin
python3
asciidoc-full
];
buildInputs = [
systemd
gsettings-desktop-schemas
gnome-keyring
glib
gcr
accountsservice
libsecret
polkit
gdk-pixbuf
librsvg
networkmanager
libstartup_notification
telepathy-glib
gjs
mutter
libpulseaudio
evolution-data-server
libical
gtk3
gdm
geoclue2
adwaita-icon-theme
gnome-bluetooth
gnome-clocks # schemas needed
at-spi2-core
upower
ibus
gnome-desktop
telepathy-logger
gnome-settings-daemon
gobject-introspection
# recording
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-good
# not declared at build time, but typelib is needed at runtime
libgweather
libnma
# for gnome-extension tool
bash-completion
gnome-autoar
json-glib
];
mesonFlags = [
"-Dgtk_doc=true"
];
postPatch = ''
patchShebangs src/data-to-c.pl
chmod +x meson/postinstall.py

View File

@ -7,14 +7,12 @@
, gnome3
, gettext
, gobject-introspection
, upower
, cairo
, pango
, cogl
, json-glib
, libstartup_notification
, zenity
, libcanberra-gtk3
, libcanberra
, ninja
, xkeyboard_config
, libxkbfile
@ -25,7 +23,6 @@
, glib
, gtk3
, gnome-desktop
, geocode-glib
, pipewire
, libgudev
, libwacom
@ -54,6 +51,17 @@ let self = stdenv.mkDerivation rec {
sha256 = "0p3jglw6f2h67kwk89qz1rz23y25lip8m2mp2xshf2vrg4a930as";
};
patches = [
# Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
# from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
./drop-inheritable.patch
(substituteAll {
src = ./fix-paths.patch;
inherit zenity;
})
];
mesonFlags = [
"-Degl_device=true"
"-Dinstalled_tests=false" # TODO: enable these
@ -86,16 +94,14 @@ let self = stdenv.mkDerivation rec {
buildInputs = [
cairo
cogl
egl-wayland
geocode-glib
glib
gnome-desktop
gnome-settings-daemon
gobject-introspection
gsettings-desktop-schemas
gtk3
libcanberra-gtk3
libcanberra
libgudev
libinput
libstartup_notification
@ -105,25 +111,11 @@ let self = stdenv.mkDerivation rec {
pango
pipewire
sysprof
upower
xkeyboard_config
xwayland
zenity
zenity
wayland-protocols
];
patches = [
# Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
# from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
./drop-inheritable.patch
(substituteAll {
src = ./fix-paths.patch;
inherit zenity;
})
];
postPatch = ''
patchShebangs src/backends/native/gen-default-modes.py
'';