* 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
This commit is contained in:
Eelco Dolstra 2011-09-06 01:00:23 +00:00
parent 0b7d7153e3
commit 30bf1fcb29
4 changed files with 181 additions and 3 deletions

View File

@ -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

View File

@ -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)";

View File

@ -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 \

View File

@ -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";
};
}