diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 5beaeb5388bb..ab0b263c4b84 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -99,6 +99,7 @@ ./services/databases/virtuoso.nix ./services/databases/monetdb.nix ./services/desktops/accountservice.nix + ./services/desktops/geoclue2.nix ./services/desktops/gnome3/at-spi2-core.nix ./services/desktops/gnome3/evolution-data-server.nix ./services/desktops/gnome3/gnome-documents.nix diff --git a/nixos/modules/services/desktops/geoclue2.nix b/nixos/modules/services/desktops/geoclue2.nix new file mode 100644 index 000000000000..6bdd5edff1f5 --- /dev/null +++ b/nixos/modules/services/desktops/geoclue2.nix @@ -0,0 +1,39 @@ +# GeoClue 2 daemon. + +{ config, lib, pkgs, ... }: + +with lib; + +{ + + ###### interface + + options = { + + services.geoclue2 = { + + enable = mkOption { + type = types.bool; + default = false; + description = '' + Whether to enable GeoClue 2 daemon, a DBus service + that provides location informationfor accessing. + ''; + }; + + }; + + }; + + + ###### implementation + + config = mkIf config.services.geoclue2.enable { + + environment.systemPackages = [ pkgs.geoclue2 ]; + + services.dbus.packages = [ pkgs.geoclue2 ]; + + }; + +} diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix index 8c17b27dc377..3f48035f6bba 100644 --- a/nixos/modules/services/x11/desktop-managers/gnome3.nix +++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix @@ -50,6 +50,7 @@ in { security.polkit.enable = true; services.udisks2.enable = true; services.accounts-daemon.enable = true; + services.geoclue2.enable = mkDefault true; services.gnome3.at-spi2-core.enable = true; services.gnome3.evolution-data-server.enable = true; services.gnome3.gnome-documents.enable = mkDefault true; @@ -129,10 +130,14 @@ in { gnome3.gnome_terminal gnome3.gnome-user-docs + gnome3.bijiben + gnome3.evolution gnome3.file-roller gnome3.gedit + gnome3.gnome-clocks gnome3.gnome-music gnome3.gnome-tweak-tool + gnome3.gnome-photos ] config.environment.gnome3.excludePackages); # Needed for themes and backgrounds diff --git a/pkgs/desktops/gnome-3/apps/bijiben/default.nix b/pkgs/desktops/gnome-3/apps/bijiben/default.nix new file mode 100644 index 000000000000..ef460112d217 --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/bijiben/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, pkgconfig, glib +, hicolor_icon_theme, makeWrapper, itstool +, clutter_gtk, libuuid, webkitgtk, zeitgeist +, gnome3, librsvg, gdk_pixbuf, libxml2 }: + +stdenv.mkDerivation rec { + name = "bijiben-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/bijiben/3.10/${name}.tar.xz"; + sha256 = "81257f85218968b0ad386da6e1143586de478870ca74bb5387646a479999a7d4"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig glib intltool itstool libxml2 + clutter_gtk libuuid webkitgtk gnome3.tracker + gnome3.gnome_online_accounts zeitgeist + gnome3.gsettings_desktop_schemas makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/bijiben" \ + --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/Bijiben; + description = "Note editor designed to remain simple to use"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/apps/evolution/default.nix b/pkgs/desktops/gnome-3/apps/evolution/default.nix new file mode 100644 index 000000000000..ee62c951b4cf --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/evolution/default.nix @@ -0,0 +1,48 @@ +{ stdenv, intltool, fetchurl, libxml2, webkitgtk, highlight +, pkgconfig, gtk3, glib, hicolor_icon_theme, libnotify +, makeWrapper, itstool, shared_mime_info, libical, db +, gnome3, librsvg, gdk_pixbuf, libsecret, nss, nspr, icu +, libcanberra_gtk3, bogofilter, gst_all_1, procps }: + +stdenv.mkDerivation rec { + name = "evolution-3.10.4"; + + src = fetchurl { + url = "mirror://gnome/sources/evolution/3.10/${name}.tar.xz"; + sha256 = "ac60557f264f211e6a7bc0ced919041c154e4c7b9c79600516aee7acc1d03e40"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 + gdk_pixbuf gnome3.gnome_icon_theme librsvg db icu + gnome3.evolution_data_server libsecret libical + webkitgtk shared_mime_info gnome3.gnome_desktop + libcanberra_gtk3 gnome3.gtkhtml bogofilter gnome3.libgdata + gst_all_1.gstreamer gst_all_1.gst-plugins-base + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic + nss nspr libnotify procps highlight gnome3.libgweather + gnome3.gsettings_desktop_schemas makeWrapper ]; + + configureFlags = [ "--disable-spamassassin" "--disable-pst-import" ]; + + NIX_CFLAGS_COMPILE = "-I${nspr}/include/nspr -I${nss}/include/nss"; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/evolution" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" + ''; + + meta = with stdenv.lib; { + homepage = https://wiki.gnome.org/Apps/Evolution; + description = "Personal information management application that provides integrated mail, calendaring and address book functionality"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix new file mode 100644 index 000000000000..c39f731e028a --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/gnome-clocks/default.nix @@ -0,0 +1,41 @@ +{ stdenv, intltool, fetchurl, libgweather, libnotify +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, libcanberra_gtk3, libtool +, gnome3, librsvg, gdk_pixbuf, geoclue2 }: + +stdenv.mkDerivation rec { + name = "gnome-clocks-3.10.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-clocks/3.10/${name}.tar.xz"; + sha256 = "5f6f3b7bb9929353d974aa444b10bb4d0f414176449cce2c626fabd2d4b55b43"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool libcanberra_gtk3 + gnome3.gsettings_desktop_schemas makeWrapper + gdk_pixbuf gnome3.gnome_icon_theme librsvg + gnome3.gnome_desktop gnome3.geocode_glib geoclue2 + libgweather libnotify libtool + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + enableParallelBuilding = true; + + preFixup = '' + wrapProgram "$out/bin/gnome-clocks" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/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/Clocks; + description = "Clock application designed for GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix new file mode 100644 index 000000000000..68d4e3690f9a --- /dev/null +++ b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix @@ -0,0 +1,44 @@ +{ stdenv, intltool, fetchurl, exempi, libxml2 +, pkgconfig, gtk3, glib, hicolor_icon_theme +, makeWrapper, itstool, gegl, babl, lcms2 +, desktop_file_utils, gmp +, gnome3, librsvg, gdk_pixbuf, libexif }: + +stdenv.mkDerivation rec { + name = "gnome-photos-3.10.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-photos/3.10/${name}.tar.xz"; + sha256 = "820503c26a0f829682dd46653e8f0850ac687aba42728ac74350ba8406e80975"; + }; + + doCheck = true; + + propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; + + NIX_CFLAGS_COMPILE = "-I${gnome3.glib}/include/gio-unix-2.0"; + + buildInputs = [ pkgconfig gtk3 glib intltool itstool gegl babl + gnome3.gsettings_desktop_schemas makeWrapper gmp + gdk_pixbuf gnome3.gnome_icon_theme librsvg exempi + gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo + gnome3.gnome_online_accounts gnome3.gnome_desktop + lcms2 libexif gnome3.tracker libxml2 desktop_file_utils + hicolor_icon_theme gnome3.gnome_icon_theme_symbolic ]; + + preFixup = '' + wrapProgram "$out/bin/gnome-photos" \ + --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" \ + --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$out/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/Photos; + description = "Photos is an application to access, organize and share your photos with GNOME 3"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix index 9e7d0cb3da0a..685f8c24e7cf 100644 --- a/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix +++ b/pkgs/desktops/gnome-3/core/evolution-data-server/default.nix @@ -3,11 +3,11 @@ stdenv.mkDerivation rec { - name = "evolution-data-server-3.10.2"; + name = "evolution-data-server-3.10.4"; src = fetchurl { url = "mirror://gnome/sources/evolution-data-server/3.10/${name}.tar.xz"; - sha256 = "1fgchc1gzrhhzgn4zf9par4yz72m82j871kf7pky458mh4c4sf0g"; + sha256 = "5c2d5e19af19ecfa81f31306411ab6155c3c62cf407d5a5aaa675a8ce940fa2d"; }; buildInputs = with gnome3; diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix index 06e7781b72f3..4c904bf40f67 100644 --- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix +++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2 -, libsoup, json_glib, gmp, openssl }: +, libsoup, json_glib, gmp, openssl, makeWrapper }: stdenv.mkDerivation rec { name = "gnome-online-miners-3.10.3"; @@ -12,11 +12,19 @@ stdenv.mkDerivation rec { doCheck = true; buildInputs = [ pkgconfig glib gnome3.libgdata libxml2 libsoup gmp openssl - gnome3.grilo gnome3.libzapojit gnome3.gnome_online_accounts + gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins + gnome3.gnome_online_accounts makeWrapper gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ]; enableParallelBuilding = true; + preFixup = '' + for f in $out/libexec/*; do + wrapProgram "$f" \ + --prefix GRL_PLUGIN_PATH : "${gnome3.grilo-plugins}/lib/grilo-0.2" + done + ''; + 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"; diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix index 62ae59643650..c480a59e453e 100644 --- a/pkgs/desktops/gnome-3/core/libgweather/default.nix +++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf -, pango, gdk_pixbuf, atk }: +, pango, gdk_pixbuf, atk, tzdata }: stdenv.mkDerivation rec { name = "libgweather-3.10.1"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/ INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"; - configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else ""; + configureFlags = [ "--with-zoneinfo-dir=${tzdata}/share/zoneinfo" ]; propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ]; nativeBuildInputs = [ pkgconfig intltool ]; diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix index 34c663a779c0..2cb28e0c3076 100644 --- a/pkgs/desktops/gnome-3/default.nix +++ b/pkgs/desktops/gnome-3/default.nix @@ -153,16 +153,24 @@ rec { #### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) + bijiben = callPackage ./apps/bijiben { }; + + evolution = callPackage ./apps/evolution { }; + file-roller = callPackage ./apps/file-roller { }; gedit = callPackage ./apps/gedit { }; glade = callPackage ./apps/glade { }; + gnome-clocks = callPackage ./apps/gnome-clocks { }; + gnome-documents = callPackage ./apps/gnome-documents { }; gnome-music = callPackage ./apps/gnome-music { }; + gnome-photos = callPackage ./apps/gnome-photos { }; + # scrollkeeper replacement rarian = callPackage ./desktop/rarian { }; @@ -184,4 +192,6 @@ rec { gexiv2 = callPackage ./misc/gexiv2 { }; gnome-tweak-tool = callPackage ./misc/gnome-tweak-tool { }; + + gtkhtml = callPackage ./misc/gtkhtml { }; } diff --git a/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix b/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix new file mode 100644 index 000000000000..5e27b474cbd7 --- /dev/null +++ b/pkgs/desktops/gnome-3/misc/gtkhtml/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, pkgconfig, gtk3, intltool +, gnome3, enchant, isocodes }: + +stdenv.mkDerivation rec { + name = "gtkhtml-4.6.6"; + + src = fetchurl { + url = "mirror://gnome/sources/gtkhtml/4.6/${name}.tar.xz"; + sha256 = "145d23bbe729ff4ee7e7027bb5ff405b34822271327fdd81fe913134831374cd"; + }; + + buildInputs = [ pkgconfig gtk3 intltool gnome3.gnome_icon_theme + gnome3.gsettings_desktop_schemas ]; + + propagatedBuildInputs = [ enchant isocodes ]; + +} diff --git a/pkgs/development/libraries/zeitgeist/dbus_glib.patch b/pkgs/development/libraries/zeitgeist/dbus_glib.patch new file mode 100644 index 000000000000..872ea0db31b8 --- /dev/null +++ b/pkgs/development/libraries/zeitgeist/dbus_glib.patch @@ -0,0 +1,10 @@ +--- configure.ac 2014-01-27 22:45:42.000000000 +0100 ++++ configure.ac.new 2014-05-02 17:25:45.813491239 +0200 +@@ -151,6 +151,7 @@ + gio-2.0 >= $GLIB_REQUIRED + gio-unix-2.0 >= $GLIB_REQUIRED + gtk+-3.0 >= $GTK_REQUIRED ++ dbus-glib-1 + json-glib-1.0 >= $JSON_GLIB_REQUIRED" + + AC_ARG_ENABLE([datahub], diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix new file mode 100644 index 000000000000..92fbe81a32e9 --- /dev/null +++ b/pkgs/development/libraries/zeitgeist/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala +, intltool, libtool, python, dbus_libs, telepathy_glib +, gtk3, json_glib, librdf_raptor2, pythonPackages, dbus_glib }: + +stdenv.mkDerivation rec { + name = "zeitgeist-0.0.14"; + + src = fetchurl { + url = "https://github.com/seiflotfy/zeitgeist/archive/v0.9.15.tar.gz"; + sha256 = "07pnc7kmjpd0ncm32z6s3ny5p4zl52v9lld0n0f8sp6cw87k12p0"; + }; + + NIX_CFLAGS_COMPILE = "-I${glib}/include/gio-unix-2.0"; + + configureScript = "./autogen.sh"; + + configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ]; + + buildInputs = [ pkgconfig glib sqlite gnome3.gnome_common intltool + libtool python dbus_libs telepathy_glib vala dbus_glib + gtk3 json_glib librdf_raptor2 pythonPackages.rdflib ]; + + prePatch = "patchShebangs ."; + + patches = [ ./dbus_glib.patch ]; + + patchFlags = [ "-p0" ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = https://launchpad.net/zeitgeist; + description = "Zeitgeist is a service which logs the users's activities and events"; + maintainers = with maintainers; [ lethalman ]; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 84ee89aa4613..6fd1ca0490cc 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6171,6 +6171,8 @@ let inherit ncurses flex bison autoconf automake m4 coreutils; }; + zeitgeist = callPackage ../development/libraries/zeitgeist { }; + zlib = callPackage ../development/libraries/zlib { fetchurl = fetchurlBoot; };