summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2011-09-06 01:00:23 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2011-09-06 01:00:23 +0000
commit30bf1fcb2987210f40def69e860b588649d983a7 (patch)
treee21eef57552d7428ad9df04b6bb99a0d99523fa2
parent* Urgh. Should test first. (diff)
downloadnixpkgs-30bf1fcb2987210f40def69e860b588649d983a7.tar.gz
* Add libgdu as a dependency to gvfs to enable mounting of volumes
(through udisks) in Xfce. Libgdu is part of gnome-disk-utility, which would pull in lots of Gnome dependencies, so some hackery is necessary to build only the useful part. svn path=/nixpkgs/trunk/; revision=29054
-rw-r--r--pkgs/desktops/xfce-4.8/default.nix2
-rw-r--r--pkgs/desktops/xfce-4.8/support/gvfs.nix4
-rw-r--r--pkgs/desktops/xfce-4.8/support/libgdu-only.patch144
-rw-r--r--pkgs/desktops/xfce-4.8/support/libgdu.nix34
4 files changed, 181 insertions, 3 deletions
diff --git a/pkgs/desktops/xfce-4.8/default.nix b/pkgs/desktops/xfce-4.8/default.nix
index 821a8e92faba..056bc4368c62 100644
--- a/pkgs/desktops/xfce-4.8/default.nix
+++ b/pkgs/desktops/xfce-4.8/default.nix
@@ -5,7 +5,7 @@ rec {
#### SUPPORT
- #gnome_disk_utility = callPackage ./support/gnome-disk-utility.nix { };
+ 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
diff --git a/pkgs/desktops/xfce-4.8/support/gvfs.nix b/pkgs/desktops/xfce-4.8/support/gvfs.nix
index d679e31a9972..6e50e6825dd6 100644
--- a/pkgs/desktops/xfce-4.8/support/gvfs.nix
+++ b/pkgs/desktops/xfce-4.8/support/gvfs.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev }:
+{ stdenv, fetchurl, pkgconfig, glib, dbus, intltool, udev, libgdu }:
stdenv.mkDerivation rec {
name = "gvfs-1.8.2";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0895ac8f6d416e1b15433b6b6b68eb119c6e8b04fdb66db665d684355ef89345";
};
- buildInputs = [ pkgconfig glib dbus.libs intltool udev ];
+ buildInputs = [ pkgconfig glib dbus.libs intltool udev libgdu ];
meta = {
description = "Virtual Filesystem support library (for Xfce)";
diff --git a/pkgs/desktops/xfce-4.8/support/libgdu-only.patch b/pkgs/desktops/xfce-4.8/support/libgdu-only.patch
new file mode 100644
index 000000000000..c5873c716811
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/support/libgdu-only.patch
@@ -0,0 +1,144 @@
+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-4.8/support/libgdu.nix b/pkgs/desktops/xfce-4.8/support/libgdu.nix
new file mode 100644
index 000000000000..32835f0434ab
--- /dev/null
+++ b/pkgs/desktops/xfce-4.8/support/libgdu.nix
@@ -0,0 +1,34 @@
+{ 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";
+ };
+}