summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2018-03-15 13:25:07 +0100
committerJan Tojnar <jtojnar@gmail.com>2018-03-22 07:46:54 +0100
commit2871acd8c372cba99175c81633b1ea202a0214b5 (patch)
tree7d726a52894dc63507ccf85c906ffe463d341a68 /pkgs/desktops/gnome-3/core/gnome-shell/default.nix
parentc5c34f37f97d9bd70eb250c027bf825d22f77012 (diff)
downloadnixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.tar
nixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.tar.gz
nixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.tar.bz2
nixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.tar.lz
nixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.tar.xz
nixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.tar.zst
nixpkgs-2871acd8c372cba99175c81633b1ea202a0214b5.zip
gnome3.gnome-shell: fix build
Diffstat (limited to 'pkgs/desktops/gnome-3/core/gnome-shell/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-shell/default.nix64
1 files changed, 41 insertions, 23 deletions
diff --git a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
index 4ead2112349..7803bfb638d 100644
--- a/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-shell/default.nix
@@ -1,10 +1,10 @@
-{ fetchurl, fetchpatch, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, libcroco, gettext, libsecret
+{ fetchurl, fetchpatch, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, json-glib, libcroco, gettext, libsecret
 , python3Packages, libsoup, polkit, clutter, networkmanager, docbook_xsl , docbook_xsl_ns, at-spi2-core
-, libstartup_notification, telepathy-glib, telepathy-logger, libXtst, p11-kit, unzip, glibcLocales
-, sqlite, libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42
+, libstartup_notification, telepathy-glib, telepathy-logger, libXtst, unzip, glibcLocales, shared-mime-info
+, libgweather, libcanberra-gtk3, librsvg, geoclue2, perl, docbook_xml_dtd_42
 , libpulseaudio, libical, nss, gobjectIntrospection, gstreamer, wrapGAppsHook
 , accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet
-, gst_all_1 }:
+, sassc, systemd, gst_all_1 }:
 
 # 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
 
@@ -25,20 +25,24 @@ in stdenv.mkDerivation rec {
 
   LANG = "en_US.UTF-8";
 
-  nativeBuildInputs = [ meson ninja gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales ];
-  buildInputs = with gnome3;
-    [ gsettings-desktop-schemas gnome-keyring gnome-menus glib gcr json-glib accountsservice
-      libcroco libsecret pkgconfig libsoup polkit gdk_pixbuf librsvg
-      clutter networkmanager libstartup_notification telepathy-glib
-      libXtst p11-kit networkmanagerapplet gjs mutter libpulseaudio caribou evolution-data-server
-      libical nss gtk gstreamer gdm
-      libcanberra-gtk3 gnome-control-center geoclue2
-      defaultIconTheme sqlite gnome3.gnome-bluetooth
-      libgweather # not declared at build time, but typelib is needed at runtime
-      gnome3.gnome-clocks # schemas needed
-      at-spi2-core upower ibus gnome-desktop telepathy-logger gnome3.gnome-settings-daemon
-      gst_all_1.gst-plugins-good # recording
-      gobjectIntrospection (stdenv.lib.getLib dconf) ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext docbook_xsl docbook_xsl_ns docbook_xml_dtd_42 perl wrapGAppsHook glibcLocales
+    sassc
+  ];
+  buildInputs = with gnome3; [
+    systemd caribou
+    gsettings-desktop-schemas gnome-keyring glib gcr json-glib accountsservice
+    libcroco libsecret libsoup polkit gdk_pixbuf librsvg
+    clutter networkmanager libstartup_notification telepathy-glib
+    libXtst gjs mutter libpulseaudio evolution-data-server
+    libical gtk gstreamer gdm libcanberra-gtk3 geoclue2
+    defaultIconTheme gnome3.gnome-bluetooth
+    libgweather # not declared at build time, but typelib is needed at runtime
+    gnome3.gnome-clocks # schemas needed
+    at-spi2-core upower ibus gnome-desktop telepathy-logger gnome3.gnome-settings-daemon
+    gst_all_1.gst-plugins-good # recording
+    gobjectIntrospection
+  ];
   propagatedUserEnvPkgs = [
     # Needed to support on-screen keyboard used with touch screen devices
     # see https://github.com/NixOS/nixpkgs/issues/25968
@@ -51,7 +55,10 @@ in stdenv.mkDerivation rec {
       url = https://bug787864.bugzilla-attachments.gnome.org/attachment.cgi?id=360016;
       sha256 = "1dmahd8ysbzh33rxglba0fbq127aw9h14cl2a2bw9913vjxhxijm";
     })
-    ./fix-paths.patch
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit unzip;
+    })
   ];
 
   postPatch = ''
@@ -59,23 +66,34 @@ in stdenv.mkDerivation rec {
 
     substituteInPlace src/gnome-shell-extension-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
     substituteInPlace src/gnome-shell-perf-tool.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
-    substituteInPlace js/ui/extensionDownloader.js --replace "unzip" "${unzip}/bin/unzip"
   '';
 
   postInstall = ''
     glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
-  enableParallelBuilding = true;
+  preFixup = ''
+    gappsWrapperArgs+=(
+      # Until glib’s xdgmime is patched
+      # Fixes “Failed to load resource:///org/gnome/shell/theme/noise-texture.png: Unrecognized image file format”
+      --prefix XDG_DATA_DIRS : "${shared-mime-info}/share"
+    )
+  '';
 
   passthru = {
     mozillaPlugin = "/lib/mozilla/plugins";
-    updateScript = gnome3.updateScript { packageName = "gnome-shell"; attrPath = "gnome3.gnome-shell"; };
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-shell";
+      attrPath = "gnome3.gnome-shell";
+    };
   };
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
+    description = "Core user interface for the GNOME 3 desktop";
+    homepage = https://wiki.gnome.org/Projects/GnomeShell;
+    license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
   };
 
 }