diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix index 03e0def7853..808266ec82b 100644 --- a/pkgs/desktops/xfce/default.nix +++ b/pkgs/desktops/xfce/default.nix @@ -5,21 +5,13 @@ 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 { }; }; xfce_self = rec { # the lines are very long but it seems better than the even-odd line approach #### NixOS support - inherit (deps) gvfs; + inherit (pkgs) gvfs; xinitrc = "${xfce4session}/etc/xdg/xfce4/xinitrc"; #### CORE from "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2" diff --git a/pkgs/desktops/xfce/support/gvfs.nix b/pkgs/desktops/xfce/support/gvfs.nix deleted file mode 100644 index af70aea755a..00000000000 --- a/pkgs/desktops/xfce/support/gvfs.nix +++ /dev/null @@ -1,22 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu, fuse -, libxml2, libxslt, docbook_xsl, libgphoto2, libtool }: - -stdenv.mkDerivation rec { - name = "gvfs-1.14.2"; - - src = fetchurl { - url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz"; - sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3"; - }; - - buildInputs = - [ pkgconfig glib dbus.libs intltool udev libgdu fuse libxml2 libxslt - docbook_xsl libgphoto2 libtool - ]; - - meta = { - description = "Virtual Filesystem support library (for Xfce)"; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.eelco ]; - }; -} diff --git a/pkgs/desktops/xfce/support/libgdu-only.patch b/pkgs/desktops/xfce/support/libgdu-only.patch deleted file mode 100644 index c5873c71681..00000000000 --- a/pkgs/desktops/xfce/support/libgdu-only.patch +++ /dev/null @@ -1,144 +0,0 @@ -diff -ru -x '*~' gnome-disk-utility-2.30.1-orig/configure.ac gnome-disk-utility-2.30.1/configure.ac ---- gnome-disk-utility-2.30.1-orig/configure.ac 2010-03-22 16:54:09.000000000 +0100 -+++ gnome-disk-utility-2.30.1/configure.ac 2011-09-06 02:52:09.000000000 +0200 -@@ -106,17 +106,6 @@ - # GNOME - # ***** - --GNOME_COMMON_INIT --GNOME_DOC_INIT --GNOME_DEBUG_CHECK --GNOME_COMPILE_WARNINGS([maximum]) --GNOME_MAINTAINER_MODE_DEFINES -- --AC_ARG_ENABLE(gtk-doc, AS_HELP_STRING([--enable-gtk-doc], -- [use gtk-doc to build documentation [default=yes]]),, -- enable_gtk_doc=yes) --GTK_DOC_CHECK([1.3]) -- - # *************************** - # Check for required packages - # *************************** -@@ -130,7 +119,6 @@ - UNIQUE_REQUIRED=1.0 - LIBNOTIFY_REQUIRED=0.3.0 - NAUTILUS_REQUIRED=2.24.0 --AVAHI_UI_REQUIRED=0.6.25 - - UDISKS_REQUIRED=1.0.0 - UDISKS_NEXT_ABI_INCOMPATIBLE_VERSION=1.1.0 -@@ -144,13 +132,7 @@ - PKG_CHECK_MODULES(GIO_UNIX2, [gio-unix-2.0 >= $GIO2_REQUIRED]) - PKG_CHECK_MODULES(GTHREAD2, [gthread-2.0 >= $GLIB2_REQUIRED]) - PKG_CHECK_MODULES(DBUS_GLIB, [dbus-glib-1 >= $DBUS_GLIB_REQUIRED]) --PKG_CHECK_MODULES(GTK2, [gtk+-2.0 >= $GTK2_REQUIRED]) --PKG_CHECK_MODULES(UNIQUE, [unique-1.0 >= $UNIQUE_REQUIRED]) --PKG_CHECK_MODULES(LIBNOTIFY, [libnotify >= $LIBNOTIFY_REQUIRED]) - PKG_CHECK_MODULES(UDISKS, [udisks >= $UDISKS_REQUIRED udisks < $UDISKS_NEXT_ABI_INCOMPATIBLE_VERSION]) --PKG_CHECK_MODULES(X11, [x11]) --PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14]) --PKG_CHECK_MODULES(AVAHI_UI, [avahi-ui >= $AVAHI_UI_REQUIRED]) - - # ************* - # Remote Access -@@ -183,21 +165,10 @@ - AC_SUBST(GNOME_KEYRING_CFLAGS) - AM_CONDITIONAL(ENABLE_GNOME_KEYRING, [test "$have_gnome_keyring" = "yes"]) - --# ************* --# Documentation --# ************* -- --AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config,no) --if test x$SCROLLKEEPER_CONFIG = xno; then -- AC_MSG_ERROR(Couldn't find scrollkeeper-config, please install the scrollkeeper package) --fi -- - # ******************** - # Internationalization - # ******************** - --IT_PROG_INTLTOOL([$INTLTOOL_REQUIRED]) -- - GETTEXT_PACKAGE=gnome-disk-utility - AC_SUBST([GETTEXT_PACKAGE]) - AM_GLIB_GNU_GETTEXT -diff -ru -x '*~' gnome-disk-utility-2.30.1-orig/doc/Makefile.am gnome-disk-utility-2.30.1/doc/Makefile.am ---- gnome-disk-utility-2.30.1-orig/doc/Makefile.am 2009-12-02 20:52:38.000000000 +0100 -+++ gnome-disk-utility-2.30.1/doc/Makefile.am 2011-09-06 02:17:15.000000000 +0200 -@@ -70,9 +70,7 @@ - Makefile.in \ - $(NULL) - --include $(top_srcdir)/gtk-doc.make -- --CLEANFILES += *~ \ -+CLEANFILES = *~ \ - gnome-disk-utility-scan* \ - gnome-disk-utility.args \ - gnome-disk-utility.hierarchy \ -@@ -91,4 +89,4 @@ - $(NULL) - - # Version information for marking the documentation --EXTRA_DIST += version.xml.in -+EXTRA_DIST = version.xml.in -diff -ru -x '*~' gnome-disk-utility-2.30.1-orig/gtk-doc.make gnome-disk-utility-2.30.1/gtk-doc.make ---- gnome-disk-utility-2.30.1-orig/gtk-doc.make 2010-03-16 00:08:20.000000000 +0100 -+++ gnome-disk-utility-2.30.1/gtk-doc.make 2011-09-06 02:15:33.000000000 +0200 -@@ -4,15 +4,9 @@ - # Everything below here is generic # - #################################### - --if GTK_DOC_USE_LIBTOOL --GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) --GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) --GTKDOC_RUN = $(LIBTOOL) --mode=execute --else - GTKDOC_CC = $(CC) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) - GTKDOC_LD = $(CC) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) - GTKDOC_RUN = --endif - - # We set GPATH here; this gives us semantics for GNU make - # which are more like other make's VPATH, when it comes to -@@ -49,22 +43,7 @@ - - CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) - --if ENABLE_GTK_DOC --if GTK_DOC_BUILD_HTML --HTML_BUILD_STAMP=html-build.stamp --else --HTML_BUILD_STAMP= --endif --if GTK_DOC_BUILD_PDF --PDF_BUILD_STAMP=pdf-build.stamp --else --PDF_BUILD_STAMP= --endif -- --all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) --else - all-local: --endif - - docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) - -diff -ru -x '*~' gnome-disk-utility-2.30.1-orig/help/Makefile.am gnome-disk-utility-2.30.1/help/Makefile.am ---- gnome-disk-utility-2.30.1-orig/help/Makefile.am 2009-09-23 20:35:01.000000000 +0200 -+++ gnome-disk-utility-2.30.1/help/Makefile.am 2011-09-06 02:18:13.000000000 +0200 -@@ -1,4 +1,3 @@ --include $(top_srcdir)/gnome-doc-utils.make - dist-hook: doc-dist-hook - - DOC_MODULE = palimpsest -diff -ru -x '*~' gnome-disk-utility-2.30.1-orig/Makefile.am gnome-disk-utility-2.30.1/Makefile.am ---- gnome-disk-utility-2.30.1-orig/Makefile.am 2010-03-16 00:12:39.000000000 +0100 -+++ gnome-disk-utility-2.30.1/Makefile.am 2011-09-06 02:17:34.000000000 +0200 -@@ -1,4 +1,4 @@ --SUBDIRS = src data doc help po -+SUBDIRS = src data - - EXTRA_DIST = \ - autogen.sh \ diff --git a/pkgs/desktops/xfce/support/libgdu.nix b/pkgs/desktops/xfce/support/libgdu.nix deleted file mode 100644 index 32835f0434a..00000000000 --- a/pkgs/desktops/xfce/support/libgdu.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ stdenv, fetchurl, gnome, pkgconfig, glib, dbus_glib, intltool, udev, gtk -, libnotify, udisks, libatasmart, avahi -, autoconf, automake, libtool }: - -let version = "2.30.1"; in - -stdenv.mkDerivation rec { - name = "libgdu-${version}"; - - src = fetchurl { - url = "mirror://gnome/sources/gnome-disk-utility/2.30/gnome-disk-utility-${version}.tar.bz2"; - sha256 = "df9b336c780b5d77ceda54e96f7c37c67645f5e73d48754ba0a8efba7c1836d7"; - }; - - # Only build libgdu, not all that Gnome crap. - patches = [ ./libgdu-only.patch ]; - - buildInputs = - [ pkgconfig glib dbus_glib udisks - autoconf automake libtool - ]; - - preConfigure = - '' - substituteInPlace src/gdu/Makefile.am --replace /usr/share/dbus-1/interfaces ${udisks}/share/dbus-1/interfaces - autoreconf -f -i - ''; - - postConfigure = "cd src/gdu"; - - meta = { - description = "Xfce/Gvfs support library for mounting filesystems"; - }; -} diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix new file mode 100644 index 00000000000..067d3dc9383 --- /dev/null +++ b/pkgs/development/libraries/gvfs/default.nix @@ -0,0 +1,38 @@ +{ stdenv, fetchurl, pkgconfig, intltool, libtool +, glib, dbus, udev, udisks2, libgcrypt +, libgphoto2, avahi, libarchive, fuse, libcdio +, libxml2, libxslt, docbook_xsl +, lightWeight ? true, gnome, samba, makeWrapper }: + +stdenv.mkDerivation rec { + name = "gvfs-1.14.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz"; + sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3"; + }; + + nativeBuildInputs = [ pkgconfig intltool libtool ]; + + buildInputs = + [ makeWrapper glib dbus.libs udev udisks2 libgcrypt + libgphoto2 avahi libarchive fuse libcdio + libxml2 libxslt docbook_xsl + # ToDo: a ligther version of libsoup to have FTP/HTTP support? + ] ++ stdenv.lib.optionals (!lightWeight) (with gnome; [ + gtk libsoup libgnome_keyring gconf samba + # ToDo: not working and probably useless until gnome3 from x-updates + ]); + + enableParallelBuilding = true; + + # ToDo: one probably should specify schemas for samba and others here + fixupPhase = '' + wrapProgram $out/libexec/gvfsd --set GSETTINGS_SCHEMA_DIR "$out/share/glib-2.0/schemas" + ''; + + meta = { + description = "Virtual Filesystem support library" + stdenv.lib.optionalString lightWeight " (light-weight)"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix index 3edc8d0ac6c..e1feda6abd4 100644 --- a/pkgs/development/libraries/libgphoto2/default.nix +++ b/pkgs/development/libraries/libgphoto2/default.nix @@ -1,18 +1,20 @@ -{stdenv, fetchurl, pkgconfig, libusb, libtool, libexif, libjpeg, gettext}: +{ stdenv, fetchurl, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext, libxml2 }: stdenv.mkDerivation rec { - name = "libgphoto2-2.4.14"; + name = "libgphoto2-2.5.1.1"; src = fetchurl { url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; - sha256 = "14h20s0kwqr1nsj90dgjwzs0r3h7z1cpmnivrikd0rrg4m2jvcsr"; + sha256 = "057dnyrxr0vy2zs4fhscpig42kvlsy9fg4gj20fhvjcvp3pak8xl"; }; - + nativeBuildInputs = [ pkgconfig gettext ]; - buildInputs = [ libtool libjpeg ]; + buildInputs = [ libtool libjpeg libxml2 ]; # These are mentioned in the Requires line of libgphoto's pkg-config file. - propagatedBuildInputs = [ libusb libexif ]; + propagatedBuildInputs = [ libusb1 libexif ]; + + NIX_CFLAGS_COMPILE = "-I${libxml2}/include/libxml2"; # bogus detection again meta = { homepage = http://www.gphoto.org/proj/libgphoto2/; @@ -20,10 +22,10 @@ stdenv.mkDerivation rec { longDescription = '' This is the library backend for gphoto2. It contains the code for PTP, MTP, and other vendor specific protocols for controlling and transferring data - from digital cameras. + from digital cameras. ''; # XXX: the homepage claims LGPL, but several src files are lgpl21Plus - license = stdenv.lib.licenses.lgpl21Plus; + license = stdenv.lib.licenses.lgpl21Plus; platforms = with stdenv.lib.platforms; unix; maintainers = with stdenv.lib.maintainers; [ jcumming ]; }; diff --git a/pkgs/os-specific/linux/udisks/default.nix b/pkgs/os-specific/linux/udisks/1-default.nix similarity index 100% rename from pkgs/os-specific/linux/udisks/default.nix rename to pkgs/os-specific/linux/udisks/1-default.nix diff --git a/pkgs/os-specific/linux/udisks/2-default.nix b/pkgs/os-specific/linux/udisks/2-default.nix new file mode 100644 index 00000000000..28cdbe18978 --- /dev/null +++ b/pkgs/os-specific/linux/udisks/2-default.nix @@ -0,0 +1,42 @@ +{ stdenv, fetchurl, pkgconfig, intltool +, expat, acl, udev, glib, libatasmart, polkit +, libxslt, docbook_xsl, utillinux, mdadm +}: + +stdenv.mkDerivation rec { + name = "udisks-2.1.0"; + + src = fetchurl { + url = "http://udisks.freedesktop.org/releases/${name}.tar.bz2"; + sha256 = "1a0mipihilscv9jwy59xrqn2kkri9p12a09anpjdld83l7jhh0ii"; + }; + + patches = [ ./force-path.patch ]; + + # FIXME remove /var/run/current-system/sw/* references + # FIXME add references to parted, cryptsetup, etc (see the sources) + postPatch = + '' + substituteInPlace src/main.c --replace \ + "@path@" \ + "${utillinux}/bin:${mdadm}/sbin:/var/run/current-system/sw/bin:/var/run/current-system/sw/sbin" + ''; + + nativeBuildInputs = [ pkgconfig intltool ]; + + propagatedBuildInputs = [ expat acl udev glib libatasmart polkit ]; # in closure anyway + + buildInputs = [ libxslt docbook_xsl ]; + + configureFlags = [ + "--localstatedir=/var" + "--with-systemdsystemunitdir=$(out)/etc/systemd/systemd" + "--with-udevdir=$(out)/lib/udev" + ]; + + meta = { + homepage = http://www.freedesktop.org/wiki/Software/udisks; + description = "A daemon and command-line utility for querying and manipulating storage devices"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/os-specific/linux/udisks/force-path.patch b/pkgs/os-specific/linux/udisks/force-path.patch new file mode 100644 index 00000000000..16c7ea5322f --- /dev/null +++ b/pkgs/os-specific/linux/udisks/force-path.patch @@ -0,0 +1,13 @@ +diff -ruN udisks-2.1.0.orig/src/main.c udisks-2.1.0/src/main.c +--- udisks-2.1.0.orig/src/main.c 2013-04-02 10:43:41.629332135 +0000 ++++ udisks-2.1.0/src/main.c 2013-04-02 11:04:55.635342823 +0000 +@@ -140,8 +140,7 @@ + } + } + +- if (g_getenv ("PATH") == NULL) +- g_setenv ("PATH", "/usr/bin:/bin:/usr/sbin:/sbin", TRUE); ++ g_setenv ("PATH", "@path@", TRUE); + + udisks_notice ("udisks daemon version %s starting", PACKAGE_VERSION); + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 17dc34cd046..1ae4a08c814 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3995,6 +3995,8 @@ let gts = callPackage ../development/libraries/gts { }; + gvfs = callPackage ../development/libraries/gvfs { }; + gwenhywfar = callPackage ../development/libraries/gwenhywfar { }; # TODO : Add MIT Kerberos and let admin choose. @@ -6308,7 +6310,9 @@ let udev145 = callPackage ../os-specific/linux/udev/145.nix { }; udev = pkgs.systemd; - udisks = callPackage ../os-specific/linux/udisks { }; + udisks1 = callPackage ../os-specific/linux/udisks/1-default.nix { }; + udisks2 = callPackage ../os-specific/linux/udisks/2-default.nix { }; + udisks = udisks1; untie = callPackage ../os-specific/linux/untie { }; diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix index 9d8319141dd..c51f45d6c5f 100644 --- a/pkgs/top-level/release-python.nix +++ b/pkgs/top-level/release-python.nix @@ -1806,7 +1806,6 @@ in gigolo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gtk_xfce_engine = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gvfs = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; - libgdu = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; libxfce4ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; libxfce4util = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; libxfcegui4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };