From bfbdbc19eb593967821939090974d53222d62bc5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 18 Apr 2014 22:48:15 +0200 Subject: [PATCH 01/21] gedit: new package Official text editor of the GNOME desktop environment https://wiki.gnome.org/Apps/Gedit --- .../services/x11/desktop-managers/gnome3.nix | 1 + pkgs/desktops/gnome-3/apps/gedit/default.nix | 39 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 3 files changed, 42 insertions(+) create mode 100644 pkgs/desktops/gnome-3/apps/gedit/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 4620bc6722af..7ed5083e09d8 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -117,6 +117,7 @@ in { gnome3.gnome-user-docs gnome3.file-roller + gnome3.gedit gnome3.gnome-tweak-tool ] config.environment.gnome3.excludePackages); diff --git a/pkgs/desktops/gnome-3/apps/gedit/default.nix b/pkgs/desktops/gnome-3/apps/gedit/default.nix new file mode 100644 index 000000000000..84a77e5a024a --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/gedit/default.nix @@ -0,0 +1,39 @@ +{ stdenv, intltool, fetchurl, enchant, isocodes +, pkgconfig, gtk3, glib, hicolor_icon_theme +, bash, makeWrapper, itstool, libsoup, libxml2 +, gnome3, librsvg, gdk_pixbuf, file }: + +stdenv.mkDerivation rec { + name = "gedit-3.10.4"; + + src = fetchurl { + url = "mirror://gnome/sources/gedit/3.10/${name}.tar.xz"; + sha256 = "40dc10b6e26fd8523087e7321a20a063f4c1e586dffd7ce8ee78eead11359f9e"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool enchant isocodes + gdk_pixbuf gnome3.gnome_icon_theme librsvg libsoup + gnome3.libpeas gnome3.gtksourceview libxml2 + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper file ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/gedit" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${gnome3.libpeas}/lib:${gnome3.gtksourceview}/lib" \ + --prefix XDG_DATA_DIRS : "${gnome3.gtksourceview}/share:${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Gedit; + description = "Official text editor of the GNOME desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index d29ea3d1c692..893e82baec3b 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -147,6 +147,8 @@ rec { file-roller = callPackage ./desktop/file-roller { }; + gedit = callPackage ./apps/gedit { }; + gnome_desktop = callPackage ./desktop/gnome-desktop { }; gtksourceview = callPackage ./desktop/gtksourceview { }; From 58817053422bbaae3b9342e380ccc815806fffb6 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 18 Apr 2014 22:51:48 +0200 Subject: [PATCH 02/21] gnome3: moved file-roller from desktop/ to apps/ --- pkgs/desktops/gnome-3/{desktop => apps}/file-roller/default.nix | 0 pkgs/desktops/gnome-3/default.nix | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/desktops/gnome-3/{desktop => apps}/file-roller/default.nix (100%) diff --git a/pkgs/desktops/gnome-3/desktop/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/desktop/file-roller/default.nix rename to pkgs/desktops/gnome-3/apps/file-roller/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 893e82baec3b..d45b86ccdf27 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -145,7 +145,7 @@ rec { #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) - file-roller = callPackage ./desktop/file-roller { }; + file-roller = callPackage ./apps/file-roller { }; gedit = callPackage ./apps/gedit { }; From 8f1b59189dc8f919001b298a66870788cfe4697d Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 18 Apr 2014 22:52:38 +0200 Subject: [PATCH 03/21] gnome3: moved gtksourceview from desktop/ to core/ --- .../gnome-3/{desktop => core}/gtksourceview/default.nix | 0 pkgs/desktops/gnome-3/default.nix | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) rename pkgs/desktops/gnome-3/{desktop => core}/gtksourceview/default.nix (100%) diff --git a/pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix b/pkgs/desktops/gnome-3/core/gtksourceview/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/desktop/gtksourceview/default.nix rename to pkgs/desktops/gnome-3/core/gtksourceview/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index d45b86ccdf27..204c3fa4bf7e 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -96,6 +96,8 @@ rec { gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; + gtksourceview = callPackage ./core/gtksourceview { }; + gucharmap = callPackage ./core/gucharmap { }; gvfs = pkgs.gvfs.override { gnome = pkgs.gnome3; }; @@ -151,7 +153,6 @@ rec { gnome_desktop = callPackage ./desktop/gnome-desktop { }; - gtksourceview = callPackage ./desktop/gtksourceview { }; # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; From 5a332242ea49e48c7cb3829d7d0de7be3161eb5d Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 18 Apr 2014 22:53:44 +0200 Subject: [PATCH 04/21] gnome3: moved gnome-desktop from desktop/ to core/ --- .../gnome-3/{desktop => core}/gnome-desktop/default.nix | 0 pkgs/desktops/gnome-3/default.nix | 5 ++--- 2 files changed, 2 insertions(+), 3 deletions(-) rename pkgs/desktops/gnome-3/{desktop => core}/gnome-desktop/default.nix (100%) diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/core/gnome-desktop/default.nix similarity index 100% rename from pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix rename to pkgs/desktops/gnome-3/core/gnome-desktop/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 204c3fa4bf7e..a8b74138eef6 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -48,6 +48,8 @@ rec { gnome_common = callPackage ./core/gnome-common { }; + gnome_desktop = callPackage ./core/gnome-desktop { }; + gnome-dictionary = callPackage ./core/gnome-dictionary { }; gnome-disk-utility = callPackage ./core/gnome-disk-utility { }; @@ -151,9 +153,6 @@ rec { gedit = callPackage ./apps/gedit { }; - gnome_desktop = callPackage ./desktop/gnome-desktop { }; - - # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; From 8846019fcae7be58a1c4e45893d4ab3b9ccdd140 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Fri, 18 Apr 2014 23:12:40 +0200 Subject: [PATCH 05/21] libmediaart: new library used by gnome-music Library tasked with managing, extracting and handling media art caches --- pkgs/desktops/gnome-3/default.nix | 2 ++ .../gnome-3/misc/libmediaart/default.nix | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/desktops/gnome-3/misc/libmediaart/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index a8b74138eef6..b03d1107a23f 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -164,6 +164,8 @@ rec { gitg = callPackage ./misc/gitg { }; libgit2-glib = callPackage ./misc/libgit2-glib { }; + + libmediaart = callPackage ./misc/libmediaart { }; gexiv2 = callPackage ./misc/gexiv2 { }; diff --git a/pkgs/desktops/gnome-3/misc/libmediaart/default.nix b/pkgs/desktops/gnome-3/misc/libmediaart/default.nix new file mode 100644 index 000000000000..4985bfa902c3 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/libmediaart/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf }: + +stdenv.mkDerivation rec { + name = "libmediaart-0.4.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libmediaart/0.4/${name}.tar.xz"; + sha256 = "e8ec92a642f4df7f988364f6451adf89e1611d7379a636d8c7eff4ca21a0fd1c"; + }; + + buildInputs = [ pkgconfig glib gdk_pixbuf ]; + + meta = with stdenv.lib; { + description = "Library tasked with managing, extracting and handling media art caches"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} From b01a49c14d3e0c8cc1a49d51f61f8d124b39ec30 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 19 Apr 2014 00:42:07 +0200 Subject: [PATCH 06/21] xdg-user-dirs: fix finding default directory names --- pkgs/tools/X11/xdg-user-dirs/default.nix | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix index bb26c0f46ceb..8829427b79c1 100644 --- a/pkgs/tools/X11/xdg-user-dirs/default.nix +++ b/pkgs/tools/X11/xdg-user-dirs/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libxslt, docbook_xsl }: +{ stdenv, fetchurl, libxslt, docbook_xsl, makeWrapper }: stdenv.mkDerivation rec { name = "xdg-user-dirs-0.15"; @@ -8,7 +8,12 @@ stdenv.mkDerivation rec { sha256 = "20b4a751f41d0554bce3e0ce5e8d934be98cc62d48f0b90a894c3e1916552786"; }; - buildInputs = [ libxslt docbook_xsl ]; + buildInputs = [ libxslt docbook_xsl makeWrapper ]; + + preFixup = '' + wrapProgram "$out/bin/xdg-user-dirs-update" \ + --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" + ''; meta = with stdenv.lib; { homepage = http://freedesktop.org/wiki/Software/xdg-user-dirs; From 91468a3ffa0a54b8a8442897a6ab594ad176d753 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 19 Apr 2014 00:42:49 +0200 Subject: [PATCH 07/21] grilo: enable gobject introspection --- pkgs/desktops/gnome-3/core/grilo/default.nix | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix index 2a7f270300a4..3f7af667ca5e 100644 --- a/pkgs/desktops/gnome-3/core/grilo/default.nix +++ b/pkgs/desktops/gnome-3/core/grilo/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, file, intltool, glib, libxml2, gnome3 }: +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, libxml2, gnome3, gobjectIntrospection }: stdenv.mkDerivation rec { name = "grilo-0.2.10"; @@ -10,7 +10,14 @@ stdenv.mkDerivation rec { configureFlags = [ "--enable-grl-pls" ]; - buildInputs = [ pkgconfig file intltool glib libxml2 gnome3.totem-pl-parser ]; + preConfigure = '' + for f in src/Makefile.in libs/pls/Makefile.in; do + substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/" + substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0" + done + ''; + + buildInputs = [ pkgconfig file intltool glib libxml2 gnome3.totem-pl-parser gobjectIntrospection ]; meta = with stdenv.lib; { homepage = https://wiki.gnome.org/action/show/Projects/Grilo; From a4ef8dd63403f5f1b77b24bc5ef26fcefb6fbcd3 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 19 Apr 2014 23:44:49 +0200 Subject: [PATCH 08/21] gnome3: prioritize nautilus when opening inode/directory --- .../services/x11/desktop-managers/gnome3.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 7ed5083e09d8..b1f9737454aa 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -15,6 +15,16 @@ let in filter (x: !(builtins.elem (pkgName x) ysNames)) xs; + # Prioritize nautilus by default when opening directories + mimeAppsList = pkgs.writeTextFile { + name = "gnome-mimeapps"; + destination = "/share/applications/mimeapps.list"; + text = '' + [Default Applications] + inode/directory=nautilus.desktop + ''; + }; + in { options = { @@ -66,7 +76,8 @@ in { export XDG_MENU_PREFIX=gnome # Don't let epiphany depend upon gnome-shell - export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name} + # Override default mimeapps + export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}${pkgs.gnome3.gnome_shell}/share/gsettings-schemas/${pkgs.gnome3.gnome_shell.name}:${mimeAppsList}/share # Let gnome-control-center find gnome-shell search providers export GNOME_SEARCH_PROVIDERS_DIR=${config.system.path}/share/gnome-shell/search-providers/ From f6159b909572840fad8373fe94fdaab5d42a191a Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 00:47:55 +0200 Subject: [PATCH 09/21] seahorse: new package Application for managing encryption keys and passwords in the GnomeKeyring https://wiki.gnome.org/Apps/Seahorse --- nixos/modules/module-list.nix | 1 + .../services/desktops/gnome3/seahorse.nix | 38 +++++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../gnome-3/apps/seahorse/default.nix | 41 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 5 files changed, 83 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/seahorse.nix create mode 100644 pkgs/desktops/gnome-3/apps/seahorse/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5c30d74be694..2418c87e5697 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -103,6 +103,7 @@ ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/gnome-online-accounts.nix ./services/desktops/gnome3/gnome-user-share.nix + ./services/desktops/gnome3/seahorse.nix ./services/desktops/gnome3/sushi.nix ./services/desktops/gnome3/tracker.nix ./services/desktops/telepathy.nix diff --git a/nixos/modules/services/desktops/gnome3/seahorse.nix b/nixos/modules/services/desktops/gnome3/seahorse.nix new file mode 100644 index 000000000000..cad22a6a5983 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/seahorse.nix @@ -0,0 +1,38 @@ +# Seahorse daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.seahorse = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable Seahorse search provider for the GNOME Shell activity search. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.seahorse.enable { + + environment.systemPackages = [ pkgs.gnome3.seahorse ]; + + services.dbus.packages = [ pkgs.gnome3.seahorse ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index b1f9737454aa..3fe28cdc880f 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -55,6 +55,7 @@ in { services.gnome3.gnome-keyring.enable = true; services.gnome3.gnome-online-accounts.enable = mkDefault true; services.gnome3.gnome-user-share.enable = mkDefault true; + services.gnome3.seahorse.enable = mkDefault true; services.gnome3.sushi.enable = mkDefault true; services.gnome3.tracker.enable = mkDefault true; hardware.pulseaudio.enable = mkDefault true; diff --git a/pkgs/desktops/gnome-3/apps/seahorse/default.nix b/pkgs/desktops/gnome-3/apps/seahorse/default.nix new file mode 100644 index 000000000000..cecc4a8913d1 --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/seahorse/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gnupg, libsoup +, gnome3, librsvg, gdk_pixbuf, gpgme +, libsecret, avahi, p11_kit }: + +stdenv.mkDerivation rec { + name = "seahorse-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/seahorse/3.10/${name}.tar.xz"; + sha256 = "89cabf19f77a55f220bc61a3b97e4db845a0980f0f1d9c66147cc9a4ced8cd16"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.gcr + gnome3.gsettings_desktop_schemas makeWrapper gnupg + gdk_pixbuf gnome3.gnome_icon_theme librsvg gpgme + libsecret avahi libsoup p11_kit + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + wrapProgram "$out/bin/seahorse" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Seahorse; + description = "Application for managing encryption keys and passwords in the GnomeKeyring"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index b03d1107a23f..0e6f2a93918e 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -156,6 +156,8 @@ rec { # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; + seahorse = callPackage ./apps/seahorse { }; + #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ From 0f74c36e3bffd572df0d66d932d432c882b772c9 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 15:50:38 +0200 Subject: [PATCH 10/21] grilo: enable grl-net --- pkgs/desktops/gnome-3/core/grilo/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix index 3f7af667ca5e..6f1bfbbcfe94 100644 --- a/pkgs/desktops/gnome-3/core/grilo/default.nix +++ b/pkgs/desktops/gnome-3/core/grilo/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, file, intltool, glib, libxml2, gnome3, gobjectIntrospection }: +{ stdenv, fetchurl, pkgconfig, file, intltool, glib +, libxml2, gnome3, gobjectIntrospection, libsoup }: stdenv.mkDerivation rec { name = "grilo-0.2.10"; @@ -8,16 +9,17 @@ stdenv.mkDerivation rec { sha256 = "559a2470fe541b0090bcfdfac7a33e92dba967727bbab6d0eca70e5636a77b25"; }; - configureFlags = [ "--enable-grl-pls" ]; + configureFlags = [ "--enable-grl-pls" "--enable-grl-net" ]; preConfigure = '' - for f in src/Makefile.in libs/pls/Makefile.in; do + for f in src/Makefile.in libs/pls/Makefile.in libs/net/Makefile.in; do substituteInPlace $f --replace @INTROSPECTION_GIRDIR@ "$out/share/gir-1.0/" substituteInPlace $f --replace @INTROSPECTION_TYPELIBDIR@ "$out/lib/girepository-1.0" done ''; - buildInputs = [ pkgconfig file intltool glib libxml2 gnome3.totem-pl-parser gobjectIntrospection ]; + buildInputs = [ pkgconfig file intltool glib libxml2 libsoup + gnome3.totem-pl-parser gobjectIntrospection ]; meta = with stdenv.lib; { homepage = https://wiki.gnome.org/action/show/Projects/Grilo; From 7de8a89c9a06d1e7d94ed46df13108692b6f04ba Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 15:52:11 +0200 Subject: [PATCH 11/21] grilo-plugins: new package A collection of plugins for the Grilo framework https://wiki.gnome.org/action/show/Projects/Grilo --- .../gnome-3/core/grilo-plugins/default.nix | 27 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 2 files changed, 29 insertions(+) create mode 100644 pkgs/desktops/gnome-3/core/grilo-plugins/default.nix diff --git a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix new file mode 100644 index 000000000000..a8a1c244767c --- /dev/null +++ b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite +, gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av +, gmime, json_glib, avahi, tracker, itstool }: + +stdenv.mkDerivation rec { + name = "grilo-plugins-0.2.12"; + + src = fetchurl { + url = "mirror://gnome/sources/grilo-plugins/0.2/${name}.tar.xz"; + sha256 = "15bed8a633c81b251920ab677d455433e641388f605277ca88e549cc89012b48"; + }; + + installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-0.2" ]; + + buildInputs = [ pkgconfig gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata + lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts + gnome3.totem-pl-parser gnome3.rest gmime json_glib + avahi gnome3.libmediaart tracker intltool itstool ]; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/action/show/Projects/Grilo; + description = "A collection of plugins for the Grilo framework"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 0e6f2a93918e..7f3e6464e010 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -96,6 +96,8 @@ rec { grilo = callPackage ./core/grilo { }; + grilo-plugins = callPackage ./core/grilo-plugins { }; + gsettings_desktop_schemas = callPackage ./core/gsettings-desktop-schemas { }; gtksourceview = callPackage ./core/gtksourceview { }; From 3859b1cb545bec5751eb5489fac1de99e196feaa Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 15:52:35 +0200 Subject: [PATCH 12/21] totem: use grilo plugins --- pkgs/desktops/gnome-3/core/totem/default.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/totem/default.nix b/pkgs/desktops/gnome-3/core/totem/default.nix index a6acbd192dbe..c6b78c827dba 100644 --- a/pkgs/desktops/gnome-3/core/totem/default.nix +++ b/pkgs/desktops/gnome-3/core/totem/default.nix @@ -19,21 +19,22 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; - propagatedBuildInputs = [ gdk_pixbuf gnome3.gnome_icon_theme librsvg - hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.grilo - clutter_gtk clutter-gst gnome3.totem-pl-parser + clutter_gtk clutter-gst gnome3.totem-pl-parser gnome3.grilo-plugins gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gnome3.libpeas pygobject3 shared_mime_info dbus_glib + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic gnome3.gsettings_desktop_schemas makeWrapper file ]; preFixup = '' wrapProgram "$out/bin/totem" \ --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ - --prefix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" rm $out/share/icons/hicolor/icon-theme.cache ''; From 422c4d92b533e831b0c8337150524500507b2e86 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 17:16:43 +0200 Subject: [PATCH 13/21] transmission-remote-gtk: delete hicolor icon cache --- .../networking/p2p/transmission-remote-gtk/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix index 968aba20754a..8fa5cb6c2ee6 100644 --- a/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix +++ b/pkgs/applications/networking/p2p/transmission-remote-gtk/default.nix @@ -14,6 +14,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/transmission-remote-gtk" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = { From 1a28bd9904df9f0965122ab3ab05ec3be4d49578 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 17:17:08 +0200 Subject: [PATCH 14/21] file-roller: delete hicolor icon cache --- pkgs/desktops/gnome-3/apps/file-roller/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/desktops/gnome-3/apps/file-roller/default.nix b/pkgs/desktops/gnome-3/apps/file-roller/default.nix index 41f1fb0097fb..e13e169ccc5c 100644 --- a/pkgs/desktops/gnome-3/apps/file-roller/default.nix +++ b/pkgs/desktops/gnome-3/apps/file-roller/default.nix @@ -21,6 +21,7 @@ stdenv.mkDerivation rec { preFixup = '' wrapProgram "$out/bin/file-roller" \ --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache ''; meta = with stdenv.lib; { From 737fc2747356522f5eb0368423b3b975be243ab5 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 20:42:55 +0200 Subject: [PATCH 15/21] gnome-music: new package Music player and management application for the GNOME desktop environment https://wiki.gnome.org/Apps/Music --- .../services/x11/desktop-managers/gnome3.nix | 1 + .../gnome-3/apps/gnome-music/default.nix | 54 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 3 files changed, 57 insertions(+) create mode 100644 pkgs/desktops/gnome-3/apps/gnome-music/default.nix diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 3fe28cdc880f..0d2aa729a33b 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -130,6 +130,7 @@ in { gnome3.file-roller gnome3.gedit + gnome3.gnome-music gnome3.gnome-tweak-tool ] config.environment.gnome3.excludePackages); diff --git a/pkgs/desktops/gnome-3/apps/gnome-music/default.nix b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix new file mode 100644 index 000000000000..b8d2bbc79efd --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/gnome-music/default.nix @@ -0,0 +1,54 @@ +{ stdenv, intltool, fetchurl, gdk_pixbuf, tracker +, python3, libxml2, python3Packages, libnotify +, pkgconfig, gtk3, glib, hicolor_icon_theme, cairo +, makeWrapper, itstool, gnome3, librsvg, gst_all_1 }: + +stdenv.mkDerivation rec { + name = "gnome-music-3.10.4"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-music/3.10/${name}.tar.xz"; + sha256 = "64220d4c0f9115a6ed27ec99c7ec7afc065d12e5a32371936f303ef981f5325f"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gnome3.libmediaart + gdk_pixbuf gnome3.gnome_icon_theme librsvg python3 + gnome3.grilo libxml2 python3Packages.pygobject3 libnotify + python3Packages.pycairo python3Packages.dbus + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + gnome3.gsettings_desktop_schemas makeWrapper tracker ]; + + enableParallelBuilding = true; + + preFixup = + let + libPath = stdenv.lib.makeLibraryPath + [ glib gtk3 libnotify tracker gnome3.grilo cairo + gst_all_1.gstreamer gst_all_1.gst-plugins-base + gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad ]; + in + '' + wrapProgram "$out/bin/gnome-music" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH : "${libPath}" \ + --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix PYTHONPATH : "$PYTHONPATH" + + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Music; + description = "Music player and management application for the GNOME desktop environment"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 7f3e6464e010..dce605ac1643 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -155,6 +155,8 @@ rec { gedit = callPackage ./apps/gedit { }; + gnome-music = callPackage ./apps/gnome-music { }; + # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; From 37ad122ddbed3ff29eed94a0311553c37ea73fc7 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 20 Apr 2014 21:59:45 +0200 Subject: [PATCH 16/21] glade: new package User interface designer for GTK+ applications https://wiki.gnome.org/Apps/Glade --- pkgs/desktops/gnome-3/apps/glade/default.nix | 37 ++++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/desktops/gnome-3/apps/glade/default.nix diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix new file mode 100644 index 000000000000..5979d10fa707 --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/glade/default.nix @@ -0,0 +1,37 @@ +{ stdenv, intltool, fetchurl, python +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libxml2, docbook_xsl +, gnome3, librsvg, gdk_pixbuf, libxslt }: + +stdenv.mkDerivation rec { + name = "glade-3.16.1"; + + src = fetchurl { + url = "mirror://gnome/sources/glade/3.16/${name}.tar.xz"; + sha256 = "994ac258bc100d3907ed40a2880c3144f13997b324477253e812d59f2716523f"; + }; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 python + gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl + gdk_pixbuf gnome3.gnome_icon_theme librsvg libxslt + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/glade" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Glade; + description = "User interface designer for GTK+ applications"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index dce605ac1643..ee8633a7a671 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -155,6 +155,8 @@ rec { gedit = callPackage ./apps/gedit { }; + glade = callPackage ./apps/glade { }; + gnome-music = callPackage ./apps/gnome-music { }; # scrollkeeper replacement From 74223e3d2f54214759bf9d5f9c27bc47515dff87 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 21 Apr 2014 00:17:00 +0200 Subject: [PATCH 17/21] tracker: downgrade to 0.16 --- pkgs/desktops/gnome-3/core/tracker/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/desktops/gnome-3/core/tracker/default.nix b/pkgs/desktops/gnome-3/core/tracker/default.nix index 6ac3592f6bfd..dbae108d2e96 100644 --- a/pkgs/desktops/gnome-3/core/tracker/default.nix +++ b/pkgs/desktops/gnome-3/core/tracker/default.nix @@ -8,11 +8,11 @@ , libpng, libexif, libgsf, libuuid, bzip2 }: stdenv.mkDerivation rec { - name = "tracker-1.0.0"; + name = "tracker-0.16.4"; src = fetchurl { - url = "mirror://gnome/sources/tracker/1.0/${name}.tar.xz"; - sha256 = "a1d033faf2c78f0e239f3c2c961b96623c9a7dabd938c08e3f5660bd70f54ba2"; + url = "mirror://gnome/sources/tracker/0.16/${name}.tar.xz"; + sha256 = "9c2f50839c2b8b352ab9a022597ef985c1900e6286c0c3bcb7a64da39dbb3580"; }; propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; From 3c76ece85bb2cc9764eedbbff450892ea5542dce Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 21 Apr 2014 00:16:43 +0200 Subject: [PATCH 18/21] gfbgraph: new package GLib/GObject wrapper for the Facebook Graph API --- pkgs/desktops/gnome-3/default.nix | 2 ++ .../gnome-3/misc/gfbgraph/default.nix | 23 +++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 pkgs/desktops/gnome-3/misc/gfbgraph/default.nix diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index ee8633a7a671..c2952d0bab86 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -167,6 +167,8 @@ rec { #### Misc -- other packages on http://ftp.gnome.org/pub/GNOME/sources/ + gfbgraph = callPackage ./misc/gfbgraph { }; + goffice = callPackage ./misc/goffice { }; gitg = callPackage ./misc/gitg { }; diff --git a/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix b/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix new file mode 100644 index 000000000000..ee8259af8d61 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gfbgraph/default.nix @@ -0,0 +1,23 @@ +{ stdenv, intltool, fetchurl, pkgconfig, glib +, gnome3, libsoup, json_glib }: + +stdenv.mkDerivation rec { + name = "gfbgraph-0.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gfbgraph/0.2/${name}.tar.xz"; + sha256 = "534ca84920445b9d89e2480348eedde3ce950db3628ae0a79703e8f2d52fa724"; + }; + + buildInputs = [ pkgconfig glib libsoup gnome3.gnome_online_accounts + json_glib gnome3.rest ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "GLib/GObject wrapper for the Facebook Graph API"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2; + platforms = platforms.linux; + }; +} From 5a79b0fc861e985adc7f3576288e78e78aca0221 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 21 Apr 2014 00:18:01 +0200 Subject: [PATCH 19/21] gnome-online-miners: new package A set of crawlers that go through your online content and index them locally in Tracker https://wiki.gnome.org/Projects/GnomeOnlineMiners --- nixos/modules/module-list.nix | 1 + .../desktops/gnome3/gnome-online-miners.nix | 39 +++++++++++++++++++ .../core/gnome-online-miners/default.nix | 27 +++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 4 files changed, 69 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/gnome-online-miners.nix create mode 100644 pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 2418c87e5697..4f623c3ef9c3 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -102,6 +102,7 @@ ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/gnome-online-accounts.nix + ./services/desktops/gnome3/gnome-online-miners.nix ./services/desktops/gnome3/gnome-user-share.nix ./services/desktops/gnome3/seahorse.nix ./services/desktops/gnome3/sushi.nix diff --git a/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix b/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix new file mode 100644 index 000000000000..c921327a74ce --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-online-miners.nix @@ -0,0 +1,39 @@ +# GNOME Online Miners daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-online-miners = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Online Miners, a service that + crawls through your online content. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-online-miners.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome-online-miners ]; + + services.dbus.packages = [ pkgs.gnome3.gnome-online-miners ]; + + }; + +} diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix new file mode 100644 index 000000000000..06e7781b72f3 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2 +, libsoup, json_glib, gmp, openssl }: + +stdenv.mkDerivation rec { + name = "gnome-online-miners-3.10.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-online-miners/3.10/${name}.tar.xz"; + sha256 = "129807d398e7744870110e6875629b6858d289021271550569ce5afa10fe9ea8"; + }; + + doCheck = true; + + buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl + gnome3.grilo gnome3.libzapojit gnome3.gnome_online_accounts + gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Projects/GnomeOnlineMiners; + description = "A set of crawlers that go through your online content and index them locally in Tracker"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index c2952d0bab86..952fd15d6a1e 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -72,6 +72,8 @@ rec { gnome_online_accounts = callPackage ./core/gnome-online-accounts { }; + gnome-online-miners = callPackage ./core/gnome-online-miners { }; + gnome_session = callPackage ./core/gnome-session { }; gnome_shell = callPackage ./core/gnome-shell { }; From 3ccf8e1ba2b70563ff0f49969045e4394f7ab3a4 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Mon, 21 Apr 2014 00:19:00 +0200 Subject: [PATCH 20/21] gnome-documents: new package Document manager application designed to work with GNOME 3 https://wiki.gnome.org/Apps/Documents --- nixos/modules/module-list.nix | 1 + .../desktops/gnome3/gnome-documents.nix | 43 +++++++++++++++ .../services/x11/desktop-managers/gnome3.nix | 1 + .../gnome-3/apps/gnome-documents/default.nix | 54 +++++++++++++++++++ pkgs/desktops/gnome-3/default.nix | 2 + 5 files changed, 101 insertions(+) create mode 100644 nixos/modules/services/desktops/gnome3/gnome-documents.nix create mode 100644 pkgs/desktops/gnome-3/apps/gnome-documents/default.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 4f623c3ef9c3..a769914499d1 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -100,6 +100,7 @@ ./services/desktops/accountservice.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix + ./services/desktops/gnome3/gnome-documents.nix ./services/desktops/gnome3/gnome-keyring.nix ./services/desktops/gnome3/gnome-online-accounts.nix ./services/desktops/gnome3/gnome-online-miners.nix diff --git a/nixos/modules/services/desktops/gnome3/gnome-documents.nix b/nixos/modules/services/desktops/gnome3/gnome-documents.nix new file mode 100644 index 000000000000..1f7592c0b417 --- /dev/null +++ b/nixos/modules/services/desktops/gnome3/gnome-documents.nix @@ -0,0 +1,43 @@ +# GNOME Documents daemon. + +{ config, pkgs, ... }: + +with pkgs.lib; + +{ + + ###### interface + + options = { + + services.gnome3.gnome-documents = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GNOME Documents services, a document + manager application for GNOME. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.gnome3.gnome-documents.enable { + + environment.systemPackages = [ pkgs.gnome3.gnome-documents ]; + + services.dbus.packages = [ pkgs.gnome3.gnome-documents ]; + + services.gnome3.gnome-online-accounts.enable = true; + + services.gnome3.gnome-online-miners.enable = true; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 0d2aa729a33b..d258614cc084 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -52,6 +52,7 @@ in { services.accounts-daemon.enable = true; services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; + services.gnome3.gnome-documents.enable = mkDefault true; services.gnome3.gnome-keyring.enable = true; services.gnome3.gnome-online-accounts.enable = mkDefault true; services.gnome3.gnome-user-share.enable = mkDefault true; diff --git a/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix new file mode 100644 index 000000000000..b393bb439316 --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/gnome-documents/default.nix @@ -0,0 +1,54 @@ +{ stdenv, intltool, fetchurl, evince, gjs +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libxslt, webkitgtk +, gnome3, librsvg, gdk_pixbuf, libsoup, docbook_xsl +, gobjectIntrospection, json_glib +, gmp, desktop_file_utils }: + +stdenv.mkDerivation rec { + name = "gnome-documents-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-documents/3.10/${name}.tar.xz"; + sha256 = "2b7267c9c4e5767039632cb31877ed2e57f994b657e8863dd79af5287db45745"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxslt + docbook_xsl desktop_file_utils + gnome3.gsettings_desktop_schemas makeWrapper gmp + gdk_pixbuf gnome3.gnome_icon_theme librsvg evince + libsoup webkitgtk gjs gobjectIntrospection gnome3.rest + gnome3.tracker gnome3.libgdata gnome3.gnome_online_accounts + gnome3.gnome_desktop gnome3.libzapojit json_glib + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = + let + libPath = stdenv.lib.makeLibraryPath + [ evince gtk3 gnome3.tracker gnome3.gnome_online_accounts ]; + in + '' + substituteInPlace $out/bin/gnome-documents --replace gapplication "${glib}/bin/gapplication" + wrapProgram "$out/bin/gnome-documents" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ + --prefix LD_LIBRARY_PATH ":" "${libPath}" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ + --run "if [ -z \"\$XDG_CACHE_DIR\" ]; then XDG_CACHE_DIR=\$HOME/.cache; fi; if [ -w \"\$XDG_CACHE_DIR/..\" ]; then mkdir -p \"\$XDG_CACHE_DIR/gnome-documents\"; fi" + rm $out/share/icons/hicolor/icon-theme.cache + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Documents; + description = "Document manager application designed to work with GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 952fd15d6a1e..34c663a779c0 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -159,6 +159,8 @@ rec { glade = callPackage ./apps/glade { }; + gnome-documents = callPackage ./apps/gnome-documents { }; + gnome-music = callPackage ./apps/gnome-music { }; # scrollkeeper replacement From fcd67236f33f5a87b28e756cbcdc1cddadfd963e Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Wed, 23 Apr 2014 23:19:48 +0200 Subject: [PATCH 21/21] accountsservice: fix creating data under /var/lib --- .../libraries/accountservice/default.nix | 19 +++++++++++++++---- .../accountservice/no-create-dirs.patch | 13 +++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/libraries/accountservice/no-create-dirs.patch diff --git a/pkgs/development/libraries/accountservice/default.nix b/pkgs/development/libraries/accountservice/default.nix index 9734a6bc9804..0ff5466e5c4f 100644 --- a/pkgs/development/libraries/accountservice/default.nix +++ b/pkgs/development/libraries/accountservice/default.nix @@ -1,5 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, glib, intltool -, libtool, gobjectIntrospection, polkit, systemd }: +{ stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper +, libtool, gobjectIntrospection, polkit, systemd, coreutils }: stdenv.mkDerivation rec { name = "accountsservice-0.6.35"; @@ -9,8 +9,19 @@ stdenv.mkDerivation rec { sha256 = "0f1hzl6hw56xvwgmd4yvmdyj15xj1fafw45pzv3qarww7h0wg8b5"; }; - buildInputs = [ pkgconfig glib intltool libtool + buildInputs = [ pkgconfig glib intltool libtool makeWrapper gobjectIntrospection polkit systemd ]; - configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" ]; + configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" + "--localstatedir=/var" ]; + + patches = [ ./no-create-dirs.patch ]; + patchFlags = "-p0"; + + preFixup = '' + wrapProgram "$out/libexec/accounts-daemon" \ + --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/users" \ + --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/icons" + ''; + } diff --git a/pkgs/development/libraries/accountservice/no-create-dirs.patch b/pkgs/development/libraries/accountservice/no-create-dirs.patch new file mode 100644 index 000000000000..a0c7ca23598f --- /dev/null +++ b/pkgs/development/libraries/accountservice/no-create-dirs.patch @@ -0,0 +1,13 @@ +--- src/Makefile.in.orig 2014-04-23 22:30:00.276005326 +0200 ++++ src/Makefile.in 2014-04-23 22:30:16.809409113 +0200 +@@ -881,8 +881,8 @@ + gdbus-codegen --generate-c-code accounts-user-generated --c-namespace Accounts --interface-prefix=org.freedesktop.Accounts. $(top_srcdir)/data/org.freedesktop.Accounts.User.xml + + install-data-hook: +- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users" +- $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons" ++# $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/users" ++# $(MKDIR_P) "$(DESTDIR)$(localstatedir)/lib/AccountsService/icons" + + # Tell versions [3.59,3.63) of GNU make to not export all variables. + # Otherwise a system limit (for SysV at least) may be exceeded.