summary refs log tree commit diff
path: root/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix')
-rw-r--r--pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix b/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix
new file mode 100644
index 00000000000..f7e3efd1dd9
--- /dev/null
+++ b/pkgs/desktops/gnome-3/3.16/core/gnome-shell/default.nix
@@ -0,0 +1,61 @@
+{ fetchurl, stdenv, pkgconfig, gnome3, json_glib, libcroco, intltool, libsecret
+, python3, libsoup, polkit, clutter, networkmanager, docbook_xsl, docbook_xsl_ns, at_spi2_core
+, libstartup_notification, telepathy_glib, telepathy_logger, libXtst, p11_kit, unzip
+, hicolor_icon_theme, sqlite, libgweather
+, pulseaudio, libical, libtool, nss, gobjectIntrospection, gstreamer, makeWrapper
+, accountsservice, gdk_pixbuf, gdm, upower, ibus, networkmanagerapplet, librsvg }:
+
+# 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
+
+stdenv.mkDerivation rec {
+  name = "gnome-shell-${gnome3.version}.1";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gnome-shell/${gnome3.version}/${name}.tar.xz";
+    sha256 = "00gjdfaznpnspb4jmjc19axiz6snd9drvqmzpq4sw0xh1ysgpncv";
+  };
+
+  # Needed to find /etc/NetworkManager/VPN
+  configureFlags = [ "--sysconfdir=/etc" ];
+
+  buildInputs = with gnome3;
+    [ gsettings_desktop_schemas gnome_keyring gnome-menus glib gcr json_glib accountsservice
+      libcroco intltool libsecret pkgconfig python3 libsoup polkit libcanberra gdk_pixbuf librsvg
+      clutter networkmanager libstartup_notification telepathy_glib docbook_xsl docbook_xsl_ns
+      libXtst p11_kit networkmanagerapplet gjs mutter pulseaudio caribou evolution_data_server
+      libical libtool nss gobjectIntrospection gtk gstreamer makeWrapper gdm gnome_control_center
+      hicolor_icon_theme adwaita-icon-theme 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_session gnome_desktop telepathy_logger gnome3.gnome_settings_daemon ];
+
+  installFlags = [ "keysdir=$(out)/share/gnome-control-center/keybindings" ];
+
+  preBuild = ''
+    patchShebangs src/data-to-c.pl
+    substituteInPlace data/Makefile --replace " install-keysDATA" ""
+  '';
+
+  preFixup = with gnome3; ''
+    wrapProgram "$out/bin/gnome-shell" \
+      --prefix PATH : "${unzip}/bin" \
+      --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+      --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
+      --prefix XDG_DATA_DIRS : "${gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    wrapProgram "$out/libexec/gnome-shell-calendar-server" \
+      --prefix XDG_DATA_DIRS : "${evolution_data_server}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+
+    echo "${unzip}/bin" > $out/${passthru.mozillaPlugin}/extra-bin-path
+  '';
+
+  passthru = {
+    mozillaPlugin = "/lib/mozilla/plugins";
+  };
+
+  meta = with stdenv.lib; {
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lethalman ];
+  };
+
+}