diff options
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix')
-rw-r--r-- | pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix index 0d856e494c38..7ba3545848f7 100644 --- a/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-shell-extensions/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_52, glib, gnome3 }: +{ stdenv, fetchurl, meson, ninja, gettext, pkgconfig, spidermonkey_52, glib +, gnome3, substituteAll }: stdenv.mkDerivation rec { name = "gnome-shell-extensions-${version}"; @@ -16,6 +17,13 @@ stdenv.mkDerivation rec { }; }; + patches = [ + (substituteAll { + src = ./fix_gmenu.patch; + gmenu_path = "${gnome3.gnome-menus}/lib/girepository-1.0"; + }) + ]; + doCheck = true; nativeBuildInputs = [ meson ninja pkgconfig gettext glib ]; @@ -23,6 +31,28 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dextension_set=all" ]; + preFixup = '' + # The meson build doesn't compile the schemas. + # Fixup adapted from export-zips.sh in the source. + + extensiondir=$out/share/gnome-shell/extensions + schemadir=$out/share/gsettings-schemas/gnome-shell-extensions-3.28.0/glib-2.0/schemas/ + + glib-compile-schemas $schemadir + + for f in $extensiondir/*; do + name=`basename ''${f%%@*}` + uuid=$name@gnome-shell-extensions.gcampax.github.com + schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml + + if [ -f $schema ]; then + mkdir $f/schemas + ln -s $schema $f/schemas; + glib-compile-schemas $f/schemas + fi + done + ''; + meta = with stdenv.lib; { homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions; description = "Modify and extend GNOME Shell functionality and behavior"; |