Merge pull request #441 from ierton/udisks2-xfce

udisks2 for xfce
This commit is contained in:
Vladimír Čunát 2013-04-20 01:37:14 -07:00
commit e8823c9e5e
11 changed files with 109 additions and 219 deletions

View File

@ -5,21 +5,13 @@ callPackage = newScope (deps // xfce_self);
deps = rec { # xfce-global dependency overrides should be here deps = rec { # xfce-global dependency overrides should be here
inherit (pkgs.gnome) libglade libwnck vte gtksourceview; inherit (pkgs.gnome) libglade libwnck vte gtksourceview;
inherit (pkgs.perlPackages) URI; 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 xfce_self = rec { # the lines are very long but it seems better than the even-odd line approach
#### NixOS support #### NixOS support
inherit (deps) gvfs; inherit (pkgs) gvfs;
xinitrc = "${xfce4session}/etc/xdg/xfce4/xinitrc"; xinitrc = "${xfce4session}/etc/xdg/xfce4/xinitrc";
#### CORE from "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2" #### CORE from "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2"

View File

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

View File

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

View File

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

View File

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

View File

@ -1,18 +1,20 @@
{stdenv, fetchurl, pkgconfig, libusb, libtool, libexif, libjpeg, gettext}: { stdenv, fetchurl, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext, libxml2 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "libgphoto2-2.4.14"; name = "libgphoto2-2.5.1.1";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/gphoto/${name}.tar.bz2"; url = "mirror://sourceforge/gphoto/${name}.tar.bz2";
sha256 = "14h20s0kwqr1nsj90dgjwzs0r3h7z1cpmnivrikd0rrg4m2jvcsr"; sha256 = "057dnyrxr0vy2zs4fhscpig42kvlsy9fg4gj20fhvjcvp3pak8xl";
}; };
nativeBuildInputs = [ pkgconfig gettext ]; nativeBuildInputs = [ pkgconfig gettext ];
buildInputs = [ libtool libjpeg ]; buildInputs = [ libtool libjpeg libxml2 ];
# These are mentioned in the Requires line of libgphoto's pkg-config file. # 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 = { meta = {
homepage = http://www.gphoto.org/proj/libgphoto2/; homepage = http://www.gphoto.org/proj/libgphoto2/;
@ -20,10 +22,10 @@ stdenv.mkDerivation rec {
longDescription = '' longDescription = ''
This is the library backend for gphoto2. It contains the code for PTP, This is the library backend for gphoto2. It contains the code for PTP,
MTP, and other vendor specific protocols for controlling and transferring data 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 # 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; platforms = with stdenv.lib.platforms; unix;
maintainers = with stdenv.lib.maintainers; [ jcumming ]; maintainers = with stdenv.lib.maintainers; [ jcumming ];
}; };

View File

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

View File

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

View File

@ -3995,6 +3995,8 @@ let
gts = callPackage ../development/libraries/gts { }; gts = callPackage ../development/libraries/gts { };
gvfs = callPackage ../development/libraries/gvfs { };
gwenhywfar = callPackage ../development/libraries/gwenhywfar { }; gwenhywfar = callPackage ../development/libraries/gwenhywfar { };
# TODO : Add MIT Kerberos and let admin choose. # TODO : Add MIT Kerberos and let admin choose.
@ -6308,7 +6310,9 @@ let
udev145 = callPackage ../os-specific/linux/udev/145.nix { }; udev145 = callPackage ../os-specific/linux/udev/145.nix { };
udev = pkgs.systemd; 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 { }; untie = callPackage ../os-specific/linux/untie { };

View File

@ -1806,7 +1806,6 @@ in
gigolo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; }; gigolo = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
gtk_xfce_engine = { 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; }; 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; }; libxfce4ui = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };
libxfce4util = { 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; }; libxfcegui4 = { type = "job"; systems = ["x86_64-linux"]; schedulingPriority = 4; };