diff options
Diffstat (limited to 'pkgs/desktops')
32 files changed, 716 insertions, 26 deletions
diff --git a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix index c09ed74a97c0..1e2faf3af84f 100644 --- a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix +++ b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix @@ -1,24 +1,26 @@ -{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python }: +{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python, gtk }: stdenv.mkDerivation rec { - version = "2.32"; + ver_maj = "2.32"; + ver_min = "0"; + version = "${ver_maj}.${ver_min}"; name = "python-rsvg-${version}"; src = fetchurl { - url = "mirror://gnome/sources/gnome-python-desktop/${version}/gnome-python-desktop-${version}.0.tar.gz"; - sha256 = "1xhh3h1qdnimydvv55pmqwyzjchhjwfvp951sjlq0180kskqrlj5"; + url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2"; + sha256 = "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"; }; configurePhase = '' - sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript - python waf configure --enable-modules=rsvg --prefix=$out + sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript + python waf configure --enable-modules=rsvg --prefix=$out ''; buildPhase = "python waf build"; installPhase = "python waf install"; - buildInputs = [ gnome.gnome_python librsvg pkgconfig pygtk python ]; + buildInputs = [ gtk gnome.gnome_python librsvg pkgconfig pygtk python ]; meta = with stdenv.lib; { homepage = "http://www.pygtk.org"; diff --git a/pkgs/desktops/gnome-2/default.nix b/pkgs/desktops/gnome-2/default.nix index 38ae4c015342..3d76ba72daeb 100644 --- a/pkgs/desktops/gnome-2/default.nix +++ b/pkgs/desktops/gnome-2/default.nix @@ -29,8 +29,6 @@ libgtkhtml = callPackage ./platform/libgtkhtml { }; - intltool = callPackage ./platform/intltool { }; - GConf = callPackage ./platform/GConf { }; gconfmm = callPackage ./platform/gconfmm { }; diff --git a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix index ec6931724bc2..22c22c6bcf50 100644 --- a/pkgs/desktops/gnome-2/platform/ORBit2/default.nix +++ b/pkgs/desktops/gnome-2/platform/ORBit2/default.nix @@ -9,6 +9,10 @@ stdenv.mkDerivation rec { sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam"; }; + preBuild = '' + sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile + ''; + nativeBuildInputs = [ pkgconfig ]; propagatedBuildInputs = [ glib libIDL ]; } diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix index 0215b341f934..55daa496afc7 100644 --- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix +++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix @@ -16,4 +16,6 @@ stdenv.mkDerivation rec { ]; propagatedBuildInputs = [ GConf glib ]; + + postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i "; } diff --git a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix index 4eab4b8213c6..903387f50b14 100644 --- a/pkgs/desktops/gnome-2/platform/gtkglext/default.nix +++ b/pkgs/desktops/gnome-2/platform/gtkglext/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, gtk, mesa, pango }: +{ stdenv, fetchurl, pkgconfig, glib, gtk, mesa, pango, pangox_compat, xlibs }: stdenv.mkDerivation rec { name = "gtkglext-1.2.0"; @@ -8,7 +8,8 @@ stdenv.mkDerivation rec { sha256 = "0lbz96jwz57hnn52b8rfj54inwpwcc9fkdq6ya043cgnfih77g8n"; }; - buildInputs = [ pkgconfig gtk mesa pango ]; + buildInputs = with xlibs; + [ pkgconfig glib gtk mesa pango pangox_compat libX11 libXmu ]; # The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and # `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays. diff --git a/pkgs/desktops/gnome-2/platform/intltool/default.nix b/pkgs/desktops/gnome-2/platform/intltool/default.nix deleted file mode 100644 index 51eaa4a2cf48..000000000000 --- a/pkgs/desktops/gnome-2/platform/intltool/default.nix +++ /dev/null @@ -1,13 +0,0 @@ -{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gettext}: - -stdenv.mkDerivation rec { - name = "intltool-0.40.6"; - - src = fetchurl { - url = mirror://gnome/sources/intltool/0.40/intltool-0.40.6.tar.bz2; - sha256 = "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd"; - }; - - buildInputs = [ pkgconfig ]; - propagatedBuildInputs = [ perl perlXMLParser gettext ]; -} diff --git a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix index 79c41f924d3f..2303fb15a6f1 100644 --- a/pkgs/desktops/gnome-2/platform/libbonobo/default.nix +++ b/pkgs/desktops/gnome-2/platform/libbonobo/default.nix @@ -10,7 +10,9 @@ stdenv.mkDerivation rec { sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i"; }; - preConfigure = "export USER=`whoami`"; + preConfigure = # still using stuff deprecated in new glib versions + "sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in"; + nativeBuildInputs = [ flex bison pkgconfig intltool procps ]; buildInputs = [ libxml2 ]; propagatedBuildInputs = [ popt glib ORBit2 ]; diff --git a/pkgs/desktops/gnome-2/platform/libgnome/default.nix b/pkgs/desktops/gnome-2/platform/libgnome/default.nix index 37dbfd129611..5ab6d5e813d6 100644 --- a/pkgs/desktops/gnome-2/platform/libgnome/default.nix +++ b/pkgs/desktops/gnome-2/platform/libgnome/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { major = "2"; minor = "32"; patchlevel = "1"; sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj"; }; - + + patches = [ ./new-glib.patch ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ]; propagatedBuildInputs = [ glib libbonobo ]; diff --git a/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch b/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch new file mode 100644 index 000000000000..ceabfbdd158e --- /dev/null +++ b/pkgs/desktops/gnome-2/platform/libgnome/new-glib.patch @@ -0,0 +1,65 @@ +Porting libgnome to newer glib: + * remove g_thread_init and g_thread_supported, which are longer needed + https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#g-thread-init + * replace GStaticRecMutex by GRecMutex + https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#GStaticRecMutex + +diff --git a/libgnome/gnome-i18n.c b/libgnome/gnome-i18n.c +index 531c56c..f13d61e 100644 +--- a/libgnome/gnome-i18n.c ++++ b/libgnome/gnome-i18n.c +@@ -55,12 +55,14 @@ + const GList * + gnome_i18n_get_language_list (const gchar *ignored) + { +- static GStaticRecMutex lang_list_lock = G_STATIC_REC_MUTEX_INIT; ++ static GRecMutex lang_list_lock; ++ g_rec_mutex_init (&lang_list_lock); ++ + static GList *list = NULL; + const char * const* langs; + int i; + +- g_static_rec_mutex_lock (&lang_list_lock); ++ g_rec_mutex_lock (&lang_list_lock); + + if (list == NULL) { + langs = g_get_language_names (); +@@ -71,7 +73,7 @@ gnome_i18n_get_language_list (const gchar *ignored) + list = g_list_reverse (list); + } + +- g_static_rec_mutex_unlock (&lang_list_lock); ++ g_rec_mutex_unlock (&lang_list_lock); + + return list; + } +diff --git a/libgnome/gnome-init.c b/libgnome/gnome-init.c +index fe3efd4..c6619af 100644 +--- a/libgnome/gnome-init.c ++++ b/libgnome/gnome-init.c +@@ -115,9 +115,6 @@ gnome_bonobo_module_info_get (void) + static void + bonobo_activation_pre_args_parse (GnomeProgram *program, GnomeModuleInfo *mod_info) + { +- if (!g_thread_supported ()) +- g_thread_init (NULL); +- + if (!bonobo_activation_is_initialized ()) + bonobo_activation_preinit (program, mod_info); + } +diff --git a/libgnome/gnome-program.c b/libgnome/gnome-program.c +index 739765e..cd14999 100644 +--- a/libgnome/gnome-program.c ++++ b/libgnome/gnome-program.c +@@ -1878,10 +1878,6 @@ gnome_program_init (const char *app_id, const char *app_version, + GnomeProgram *program; + va_list args; + +- /* g_thread_init() has to be the first GLib function called ever */ +- if (!g_threads_got_initialized) +- g_thread_init (NULL); +- + g_type_init (); + + va_start(args, first_property_name); diff --git a/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix new file mode 100644 index 000000000000..948774572670 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/at-spi2-atk/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xlibs, libXi +, intltool, dbus_glib, at_spi2_core, libSM }: + +stdenv.mkDerivation rec { + versionMajor = "2.8"; + versionMinor = "0"; + moduleName = "at-spi2-atk"; + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "085sqww174vl3i9ccb477v706rkjs2d107rl96ma1kbl2jyar226"; + }; + + buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi + intltool dbus_glib at_spi2_core libSM ]; +} diff --git a/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix new file mode 100644 index 000000000000..2d433486677a --- /dev/null +++ b/pkgs/desktops/gnome-3/core/at-spi2-core/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib +, libX11, xextproto, libSM, libICE, libXtst, libXi }: + +stdenv.mkDerivation rec { + + versionMajor = "2.8"; + versionMinor = "0"; + moduleName = "at-spi2-core"; + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "0n64h6j10sn90ds9y70d9wlvvsbwnrym9fm0cyjxb0zmqw7s6q8q"; + }; + + buildInputs = [ + python pkgconfig popt intltool dbus_glib + libX11 xextproto libSM libICE libXtst libXi + ]; + + # ToDo: on non-NixOS we create a symlink from there? + configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/"; +} diff --git a/pkgs/desktops/gnome-3/core/evince/default.nix b/pkgs/desktops/gnome-3/core/evince/default.nix new file mode 100644 index 000000000000..de49bffc419e --- /dev/null +++ b/pkgs/desktops/gnome-3/core/evince/default.nix @@ -0,0 +1,62 @@ +{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2 +, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info +, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas +, poppler, ghostscriptX, djvulibre, libspectre +, makeWrapper #, python /*just for tests*/ +, recentListSize ? null # 5 is not enough, allow passing a different number +}: + +stdenv.mkDerivation rec { + name = "evince-3.6.1"; + + src = fetchurl { + url = "http://ftp.gnome.org/pub/GNOME/sources/evince/3.6/${name}.tar.xz"; + sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv"; + }; + + buildInputs = [ + pkgconfig intltool perl perlXMLParser libxml2 + glib gtk3 pango atk gdk_pixbuf + itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas + poppler ghostscriptX djvulibre libspectre + makeWrapper + ]; + + configureFlags = [ + "--disable-nautilus" # Do not use nautilus + "--disable-dbus" # strange compilation error + ]; + + preConfigure = with stdenv.lib; + optionalString doCheck '' + for file in test/*.py; do + echo "patching $file" + sed '1s,/usr,${python},' -i "$file" + done + '' + optionalString (recentListSize != null) '' + sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c + sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c + ''; + + postInstall = '' + # Tell Glib/GIO about the MIME info directory, which is used + # by `g_file_info_get_content_type ()'. + wrapProgram "$out/bin/evince" \ + --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share" + '' + gsettings_desktop_schemas.doCompileSchemas; + doCheck = false; # would need pythonPackages.dogTail, which is missing + + meta = { + homepage = http://www.gnome.org/projects/evince/; + description = "GNOME's document viewer"; + + longDescription = '' + Evince is a document viewer for multiple document formats. It + currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal + of Evince is to replace the multiple document viewers that exist + on the GNOME Desktop with a single simple application. + ''; + + license = "GPLv2+"; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gconf/default.nix b/pkgs/desktops/gnome-3/core/gconf/default.nix new file mode 100644 index 000000000000..9ca9c227d586 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gconf/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, dbus_glib, gtk, glib, libxml2 +, intltool, polkit, orbit }: + +stdenv.mkDerivation rec { + + versionMajor = "3.2"; + versionMinor = "5"; + moduleName = "GConf"; + + origName = "${moduleName}-${versionMajor}.${versionMinor}"; + + name = "gconf-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz"; + sha256 = "1ijqks0jxc4dyfxg4vnbqds4aj6miyahlsmlqlkf2bi1798akpjd"; + }; + + buildInputs = [ libxml2 polkit gtk orbit ]; + propagatedBuildInputs = [ glib dbus_glib ]; + nativeBuildInputs = [ pkgconfig intltool ]; + + # ToDo: ldap reported as not found but afterwards reported as supported + + meta = { + homepage = http://projects.gnome.org/gconf/; + description = "A system for storing application preferences"; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gcr/default.nix b/pkgs/desktops/gnome-3/core/gcr/default.nix new file mode 100644 index 000000000000..cf9774c5511c --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gcr/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib +, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }: + +stdenv.mkDerivation rec { + name = "gcr-3.6.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gcr/3.6/${name}.tar.xz"; + sha256 = "16xyqxv2hxl3a4m8ahilqcf1ps58w1ijh8dav1l5nqz36ljdn2gp"; + }; + + buildInputs = [ + pkgconfig intltool gnupg p11_kit glib + libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk + ]; + + #doCheck = true; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix new file mode 100644 index 000000000000..303bcd2208ce --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-icon-theme/default.nix @@ -0,0 +1,12 @@ +{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }: + +stdenv.mkDerivation rec { + name = "gnome-icon-theme-3.6.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-icon-theme/3.6/${name}.tar.xz"; + sha256 = "0i8hkx2c1g5ckrvbkvs9n47i8fby8p9xs6p5l0mxdx9aq4smak9i"; + }; + + nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ]; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix new file mode 100644 index 000000000000..5983b74c0f45 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-keyring/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib +, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit }: + +stdenv.mkDerivation rec { + name = "gnome-keyring-3.6.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-keyring/3.6/${name}.tar.xz"; + sha256 = "1mhc2c0qswfjqi2spdvh19b7npfkjf1k40q6v7fja4qpc26maq5f"; + }; + + buildInputs = [ + dbus libgcrypt pam python gtk3 gconf libgnome_keyring + pango gcr gdk_pixbuf atk p11_kit + ]; + + propagatedBuildInputs = [ glib libtasn1 ]; + + nativeBuildInputs = [ pkgconfig intltool ]; + + configureFlags = [ + "--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path + "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories + "--with-pkcs11-modules=$$out/lib/pkcs11/" + ]; +} diff --git a/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix new file mode 100644 index 000000000000..41fdcc8086b1 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gnome-terminal/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango +, gnome_doc_utils, intltool, libX11, which, gconf }: + +stdenv.mkDerivation rec { + + versionMajor = "3.4"; + versionMinor = "1.1"; + + name = "gnome-terminal-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz"; + sha256 = "1p9zqjmkxryf2kyghhhwwpsh4kd8y1jzzwc9zxghmpxszi9a5m0l"; + }; + + configureFlags = "--disable-scrollkeeper"; + buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte gconf ]; + + nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ]; +} diff --git a/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix new file mode 100644 index 000000000000..9c13539a1cc6 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gsettings-desktop-schemas/default.nix @@ -0,0 +1,30 @@ +{ stdenv, fetchurl, pkgconfig, intltool, glib + # just for passthru +, gtk3, gsettings_desktop_schemas }: + +stdenv.mkDerivation rec { + + versionMajor = "3.6"; + versionMinor = "1"; + moduleName = "gsettings-desktop-schemas"; + + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "1rk71q2rky9nzy0zb5jsvxa62vhg7dk65kdgdifq8s761797ga6r"; + }; + + buildInputs = [ glib ]; + + nativeBuildInputs = [ pkgconfig intltool ]; + + passthru = { + doCompileSchemas = '' + for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do + cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/ + done + ${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/ + ''; + }; +} diff --git a/pkgs/desktops/gnome-3/core/gvfs/default.nix b/pkgs/desktops/gnome-3/core/gvfs/default.nix new file mode 100644 index 000000000000..1eea518c4b7f --- /dev/null +++ b/pkgs/desktops/gnome-3/core/gvfs/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2 +, libcdio, libxml2, libtool, glib, intltool, gconf, libgnome_keyring, libsoup +, udev, avahi, libxslt, docbook_xsl }: + +stdenv.mkDerivation rec { + name = "gvfs-1.14.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz"; + sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3"; + }; + + buildInputs = + [ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 gconf + libgnome_keyring libsoup avahi libtool libxslt docbook_xsl + ]; + + nativeBuildInputs = [ pkgconfig intltool ]; + + enableParallelBuilding = true; +} diff --git a/pkgs/desktops/gnome-3/core/libcroco/default.nix b/pkgs/desktops/gnome-3/core/libcroco/default.nix new file mode 100644 index 000000000000..70c1db8c0275 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/libcroco/default.nix @@ -0,0 +1,11 @@ +{stdenv, fetchurl, pkgconfig, libxml2, glib}: + +stdenv.mkDerivation rec { + name = "libcroco-0.6.6"; # 3.6.2 release + + src = fetchurl { + url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz"; + sha256 = "1nbb12420v1zacn6jwa1x4ixikkcqw66sg4j5dgs45nhygiarv3j"; + }; + buildInputs = [ pkgconfig libxml2 glib ]; +} diff --git a/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix new file mode 100644 index 000000000000..a5d196ae1e32 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/libgnome-keyring/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool }: + +stdenv.mkDerivation rec { + name = "libgnome-keyring-3.6.0"; + + src = fetchurl { + url = "mirror://gnome/sources/libgnome-keyring/3.6/${name}.tar.xz"; + sha256 = "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd"; + }; + + propagatedBuildInputs = [ glib dbus_libs libgcrypt ]; + nativeBuildInputs = [ pkgconfig intltool ]; + + meta = { + inherit (glib.meta) platforms maintainers; + }; +} diff --git a/pkgs/desktops/gnome-3/core/libgweather/default.nix b/pkgs/desktops/gnome-3/core/libgweather/default.nix new file mode 100644 index 000000000000..78ae94c1a33a --- /dev/null +++ b/pkgs/desktops/gnome-3/core/libgweather/default.nix @@ -0,0 +1,14 @@ +{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf +, pango, gdk_pixbuf, atk }: + +stdenv.mkDerivation rec { + name = "libgweather-3.6.2"; + + src = fetchurl { + url = "mirror://gnome/sources/libgweather/3.6/${name}.tar.xz"; + sha256 = "1c50m0zrnfh4g58rzf33dfw8ggslj38c61p8a75905bmj3rfyahg"; + }; + configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else ""; + propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ]; + nativeBuildInputs = [ pkgconfig intltool ]; +} diff --git a/pkgs/desktops/gnome-3/core/vte/default.nix b/pkgs/desktops/gnome-3/core/vte/default.nix new file mode 100644 index 000000000000..ffc3aab87064 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/vte/default.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses +, pythonSupport ? false, python, pygtk}: + +stdenv.mkDerivation rec { + + versionMajor = "0.32"; + versionMinor = "2"; + moduleName = "vte"; + + name = "${moduleName}-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz"; + sha256 = "0sj837b9ib36gx00hzdinv23f7w91fd5mcw1p6wdi053yxqw17nn"; + }; + + buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++ + stdenv.lib.optionals pythonSupport [python pygtk]; + + configureFlags = '' + ${if pythonSupport then "--enable-python" else "--disable-python"} + ''; + + postInstall = stdenv.lib.optionalString pythonSupport '' + cd $(toPythonPath $out)/gtk-2.0 + for n in *; do + ln -s "gtk-2.0/$n" "../$n" + done + ''; + + meta = { + homepage = http://www.gnome.org/; + description = "A library implementing a terminal emulator widget for GTK+"; + longDescription = '' + VTE is a library (libvte) implementing a terminal emulator widget for + GTK+, and a minimal sample application (vte) using that. Vte is + mainly used in gnome-terminal, but can also be used to embed a + console/terminal in games, editors, IDEs, etc. VTE supports Unicode and + character set conversion, as well as emulating any terminal known to + the system's terminfo database. + ''; + license = "LGPLv2"; + maintainers = with stdenv.lib.maintainers; [ astsmtl antono ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/desktops/gnome-3/core/zenity/default.nix b/pkgs/desktops/gnome-3/core/zenity/default.nix new file mode 100644 index 000000000000..18b91d4f61e8 --- /dev/null +++ b/pkgs/desktops/gnome-3/core/zenity/default.nix @@ -0,0 +1,20 @@ +{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango +, gnome_doc_utils, intltool, libX11, which }: + +stdenv.mkDerivation rec { + + versionMajor = "3.4"; + versionMinor = "0"; + + name = "zenity-${versionMajor}.${versionMinor}"; + + src = fetchurl { + url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz"; + sha256 = "1bqbfcvd3kj2xk15fvbcdaqvyg9qvymlhn8cwvg5m6v4gicniw2w"; + }; + + configureFlags = "--disable-scrollkeeper"; + buildInputs = [ gnome3.gtk libxml2 libxslt libX11 ]; + + nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ]; +} diff --git a/pkgs/desktops/gnome-3/default.nix b/pkgs/desktops/gnome-3/default.nix new file mode 100644 index 000000000000..5d517da82b39 --- /dev/null +++ b/pkgs/desktops/gnome-3/default.nix @@ -0,0 +1,55 @@ +{ callPackage, lib, self, stdenv, gettext, overrides ? {}, pkgs }: + +rec { + inherit (pkgs) fetchurl_gnome glib gtk3 atk pango; + gtk = gtk3; + orbit = pkgs.gnome2.ORBit2; + + inherit (lib) lowPrio hiPrio appendToName makeOverridable; + + __overrides = overrides; + +#### Core (http://ftp.acc.umu.se/pub/GNOME/core/) + + at_spi2_atk = lib.lowPrio (callPackage ./core/at-spi2-atk { }); + + at_spi2_core = callPackage ./core/at-spi2-core { }; + + evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests + + gconf = callPackage ./core/gconf { }; + + gcr = callPackage ./core/gcr { }; # ToDo: tests fail + + gnome_icon_theme = callPackage ./core/gnome-icon-theme { }; + + gnome_keyring = callPackage ./core/gnome-keyring { }; + libgnome_keyring = callPackage ./core/libgnome-keyring { }; + + gnome_terminal = callPackage ./core/gnome-terminal { }; + + gsettings_desktop_schemas = lib.lowPrio (callPackage ./core/gsettings-desktop-schemas { }); + + gvfs = callPackage ./core/gvfs { }; + + libcroco = callPackage ./core/libcroco {}; + + libgweather = callPackage ./core/libgweather { }; + + vte = callPackage ./core/vte { }; + + zenity = callPackage ./core/zenity { }; + +#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/) + + gnome_dictionary = callPackage ./desktop/gnome-dictionary { }; + + gnome_desktop = callPackage ./desktop/gnome-desktop { }; + + # Removed from recent GNOME releases, but still required + scrollkeeper = callPackage ./desktop/scrollkeeper { }; + + # scrollkeeper replacement + rarian = callPackage ./desktop/rarian { }; + +} diff --git a/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix new file mode 100644 index 000000000000..4d22f6ad7466 --- /dev/null +++ b/pkgs/desktops/gnome-3/desktop/gnome-desktop/default.nix @@ -0,0 +1,18 @@ +{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3 +, intltool, gnome_doc_utils}: + +stdenv.mkDerivation rec { + + majorVersion = "3.5"; + minorVersion = "3"; + name = "gnome-desktop-${majorVersion}.${minorVersion}"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz"; + sha256 = "1nrqcp1p5cxhfjjy5hjpvkqmzsgl2353a08fg0b11c932v95bsba"; + }; + + configureFlags = "--disable-scrollkeeper"; + buildInputs = [ pkgconfig python libxml2Python libxslt which libX11 + gnome3.gtk gnome3.glib intltool gnome_doc_utils ]; +} diff --git a/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix new file mode 100644 index 000000000000..7a1ab5b1505a --- /dev/null +++ b/pkgs/desktops/gnome-3/desktop/gnome-dictionary/default.nix @@ -0,0 +1,15 @@ +{ stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which +, libxml2, libxslt }: + +stdenv.mkDerivation rec { + version = "3.5.2"; + name = "gnome-dictionary-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-dictionary/3.5/${name}.tar.xz"; + sha256 = "1cq32csxn27vir5nlixx337ym2nal9ykq3s1j7yynh2adh4m0jil"; + }; + + buildInputs = [ gnome3.gtk ]; + nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt gnome3.scrollkeeper ]; +} diff --git a/pkgs/desktops/gnome-3/desktop/rarian/default.nix b/pkgs/desktops/gnome-3/desktop/rarian/default.nix new file mode 100644 index 000000000000..77a2b710f447 --- /dev/null +++ b/pkgs/desktops/gnome-3/desktop/rarian/default.nix @@ -0,0 +1,11 @@ +{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}: + +stdenv.mkDerivation rec { + name = "rarian-0.8.1"; + src = fetchurl { + url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2"; + sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577"; + }; + buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt]; + configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat"; +} diff --git a/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix new file mode 100644 index 000000000000..97dcbf4e0041 --- /dev/null +++ b/pkgs/desktops/gnome-3/desktop/scrollkeeper/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}: + +stdenv.mkDerivation { + name = "scrollkeeper-0.3.14"; + src = fetchurl { + url = mirror://gnome/sources/scrollkeeper/0.3/scrollkeeper-0.3.14.tar.bz2; + sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc"; + }; + + # The fuloong2f is not supported by scrollkeeper-0.3.14 config.guess + preConfigure = " + substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog + cp ${automake}/share/automake*/config.{sub,guess} . + "; + + buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt]; + configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat"; +} diff --git a/pkgs/desktops/xfce/4_08.nix b/pkgs/desktops/xfce/4_08.nix new file mode 100644 index 000000000000..d29e3ac51ef0 --- /dev/null +++ b/pkgs/desktops/xfce/4_08.nix @@ -0,0 +1,37 @@ +{ pkgs, newScope }: let + +common = (import ./common.nix) { inherit pkgs newScope xfce_self; }; +callPackage = common.callPackage; + +xfce_self = common.xfce_common // rec { # the lines are very long but it seems better than the even-odd line approach + + #### CORE + + exo = callPackage ./core/exo.nix { v= "0.6.2"; h= "0f8zh5y057l7xffskjvky6k88hrnz6jyk35mvlfpmx26anlgd77l"; }; + libxfce4ui = callPackage ./core/libxfce4ui.nix { v= "4.8.1"; h= "0mlrcr8rqmv047xrb2dbh7f4knsppb1anx2b05s015h6v8lyvjrr"; }; + libxfce4util = callPackage ./core/libxfce4util.nix { v= "4.8.2"; h= "05n8586h2fwkibfld5fm4ygx1w66jnbqqb3li0ardjvm2n24k885"; }; + libxfcegui4 = callPackage ./core/libxfcegui4.nix { v= "4.8.1"; h= "0hr4h6a9p6w3qw1976p8v9c9pwhd9zhrjlbaph0p7nyz7j1836ih"; }; + thunar = callPackage ./core/thunar.nix { v= "1.2.3"; h= "19mczys6xr683r68g3s2njrrmnk1p73zypvwrhajw859c6nsjsp6"; }; + xfce4panel = callPackage ./core/xfce4-panel.nix { v= "4.8.6"; h= "00zdkg1jg4n2n109nxan8ji2m06r9mc4lnlrvb55xvj229m2dwb6"; }; + xfce4session = callPackage ./core/xfce4-session.nix { v= "4.8.2"; h= "1l608kik98jxbjl73waf8515hzji06lr80qmky2qlnp0b6js5g1i"; }; + xfce4settings = callPackage ./core/xfce4-settings.nix { v= "4.8.3"; h= "0bmw0s6jp2ws4n0f3387zwsyv46b0w89m6r70yb7wrqy9r3wqy6q"; }; + xfceutils = callPackage ./core/xfce-utils.nix { v= "4.8.3"; h= "09mr0amp2f632q9i3vykaa0x5nrfihfm9v5nxsx9vch8wvbp0l03"; }; + xfconf = callPackage ./core/xfconf.nix { v= "4.8.1"; h= "1jwkb73xcgqfly449jwbn2afiyx50p150z60x19bicps75sp6q4q"; }; + xfdesktop = callPackage ./core/xfdesktop.nix { v= "4.8.3"; h= "097lc9djmay0jyyl42jmvcfda75ndp265nzn0aa3hv795bsn1175"; }; + xfwm4 = callPackage ./core/xfwm4.nix { v= "4.8.3"; h= "0zi2g1d2jdgw5armlk9xjh4ykmydy266gdba86nmhy951gm8n3hb"; }; + + xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { v= "4.8.0"; h= "0zy7i9x4qjchmyb8nfpb7m2ply5n2aq35p9wrhb8lpz4am1ihx7x"; }; + + #### APPLICATIONS + + terminal = null; # newer versions don't build with 4.8 + + # versions > 0.3* don't build with xfce-4.8.* + ristretto = callPackage ./applications/ristretto.nix { v= "0.3.7"; h= "19mzy159j4qhd7pd1b83gimxfdg3mwdab9lq9kk505d21r7iqc9b"; }; + + xfce4mixer = callPackage ./applications/xfce4-mixer.nix { v= "4.8.0"; h= "1aqgjxvck6hx26sk3n4n5avhv02vs523mfclcvjb3xnks3yli7wz"; }; + +}; # xfce_self + +in xfce_self + diff --git a/pkgs/desktops/xfce/4_10.nix b/pkgs/desktops/xfce/4_10.nix new file mode 100644 index 000000000000..3f846198e3f5 --- /dev/null +++ b/pkgs/desktops/xfce/4_10.nix @@ -0,0 +1,35 @@ +{ pkgs, newScope }: let + +common = (import ./common.nix) { inherit pkgs newScope xfce_self; }; +callPackage = common.callPackage; + +xfce_self = common.xfce_common // rec { # the lines are very long but it seems better than the even-odd line approach + + #### CORE + + exo = callPackage ./core/exo.nix { v= "0.10.2"; h= "1kknxiz703q4snmry65ajm26jwjslbgpzdal6bd090m3z25q51dk"; }; + libxfce4ui = callPackage ./core/libxfce4ui.nix { v= "4.10.0"; h= "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"; }; + libxfce4util = callPackage ./core/libxfce4util.nix { v= "4.10.0"; h= "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"; }; + libxfcegui4 = callPackage ./core/libxfcegui4.nix { v= "4.10.0"; h= "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib"; }; + thunar = callPackage ./core/thunar.nix { v= "1.6.2"; h= "11dx38rvkfbp91pxrprymxhimsm90gvizp277x9s5rwnwcm1ggbx"; }; + xfce4panel = callPackage ./core/xfce4-panel.nix { v= "4.10.0"; h= "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"; }; + xfce4session = callPackage ./core/xfce4-session.nix { v= "4.10.0"; h= "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"; }; + xfce4settings = callPackage ./core/xfce4-settings.nix { v= "4.10.0"; h= "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"; }; + xfceutils = null; # removed in 4.10 + xfconf = callPackage ./core/xfconf.nix { v= "4.10.0"; h= "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"; }; + xfdesktop = callPackage ./core/xfdesktop.nix { v= "4.10.0"; h= "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"; }; + xfwm4 = callPackage ./core/xfwm4.nix { v= "4.10.0"; h= "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"; }; + + xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { v= "4.9.4"; h= "12lgrbd1n50w9n8xkpai98s2aw8vmjasrgypc57sp0x0qafsqaxq"; }; + + #### APPLICATIONS + + ristretto = callPackage ./applications/ristretto.nix { v= "0.6.3"; h= "0y9d8w1plwp4vmxs44y8k8x15i0k0xln89k6jndhv6lf57g1cs1b"; }; + terminal = xfce4terminal; # it has changed its name + xfce4mixer = callPackage ./applications/xfce4-mixer.nix { v= "4.10.0"; h= "1pnsd00583l7p5d80rxbh58brzy3jnccwikbbbm730a33c08kid8"; }; + xfce4terminal = callPackage ./applications/terminal.nix { v= "0.6.1"; h= "1j6lpkq952mrl5p24y88f89wn9g0namvywhma639xxsswlkn8d31"; }; + +}; + +in xfce_self + diff --git a/pkgs/desktops/xfce/common.nix b/pkgs/desktops/xfce/common.nix new file mode 100644 index 000000000000..8be4ac09e145 --- /dev/null +++ b/pkgs/desktops/xfce/common.nix @@ -0,0 +1,72 @@ +{ pkgs, newScope, xfce_self }: rec { + + callPackage = newScope (deps // xfce_self); + + deps = rec { # xfce-global dependency overrides should be here + inherit (pkgs.gnome) libglade libwnck vte gtksourceview; + inherit (pkgs.perlPackages) URI; + + # The useful bits from ‘gnome-disk-utility’. + libgdu = callPackage ./support/libgdu.nix { }; + + # Gvfs is required by Thunar for the trash feature and for volume + # mounting. Should use the one from Gnome, but I don't want to mess + # with the Gnome packages (or pull in a zillion Gnome dependencies). + gvfs = callPackage ./support/gvfs.nix { }; + + # intelligent fetcher for Xfce + fetchXfce = rec { + generic = prepend : name : hash : + let lib = pkgs.lib; + p = builtins.parseDrvName name; + versions = lib.splitString "." p.version; + ver_maj = lib.concatStrings (lib.intersperse "." (lib.take 2 versions)); + name_low = lib.toLower p.name; + in pkgs.fetchurl { + url = "mirror://xfce/src/${prepend}/${name_low}/${ver_maj}/${name}.tar.bz2"; + sha256 = hash; + }; + core = generic "xfce"; + app = generic "apps"; + art = generic "art"; + }; + }; + + xfce_common = rec { + + inherit (deps) gvfs; # used by NixOS + + #### CORE + + garcon = callPackage ./core/garcon.nix { v= "0.2.0"; h= "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"; }; + + # not used anymore TODO: really? Update to 2.99.2? + gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { }; + + # ToDo: segfaults after some work + tumbler = callPackage ./core/tumbler.nix { v= "0.1.27"; h= "0s9qj99b81asmlqa823nzykq8g6p9azcp2niak67y9bp52wv6q2c"; }; + + xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { v= "1.0.10"; h= "1w120k1sl4s459ijaxkqkba6g1p2sqrf9paljv05wj0wz12bpr40"; }; + + + #### APPLICATIONS + #TODO: correct links; more stuff + + xfce4notifyd = callPackage ./applications/xfce4-notifyd.nix { v= "0.2.2"; h= "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn"; }; + gigolo = callPackage ./applications/gigolo.nix { v= "0.4.1"; h= "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; }; + xfce4taskmanager = callPackage ./applications/xfce4-taskmanager.nix { v= "1.0.0"; h= "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; }; + mousepad = callPackage ./applications/mousepad.nix { v= "0.3.0"; h= "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh"; }; + thunar_volman = callPackage ./core/thunar-volman.nix { }; + + #### ART + + xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { v= "4.4.3"; h= "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l"; }; + + #### PANEL PLUGINS + + xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { }; + xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { }; + + }; +} + |