about summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/gnu/smbfs/default.nix5
-rw-r--r--pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch14
-rw-r--r--pkgs/os-specific/linux/upstart/default.nix10
3 files changed, 24 insertions, 5 deletions
diff --git a/pkgs/os-specific/gnu/smbfs/default.nix b/pkgs/os-specific/gnu/smbfs/default.nix
index f95b22a4669d1..44e346594bbb2 100644
--- a/pkgs/os-specific/gnu/smbfs/default.nix
+++ b/pkgs/os-specific/gnu/smbfs/default.nix
@@ -2,6 +2,9 @@
 
 let
   date = "2011-11-14";
+  samba_patched = stdenv.lib.overrideDerivation samba (attrs: {
+    patches = attrs.patches ++ [ ./samba-without-byte-range-locks.patch ];
+  });
 in
 stdenv.mkDerivation rec {
   name = "smbfs-${date}";
@@ -19,7 +22,7 @@ stdenv.mkDerivation rec {
                s|^LDFLAGS=\(.*\)$|LDFLAGS=\1 -pthread|g'
     '';
 
-  buildInputs = [ hurd machHeaders samba ];
+  buildInputs = [ hurd machHeaders samba_patched ];
 
   installPhase =
     '' mkdir -p "$out/hurd"
diff --git a/pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch b/pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch
new file mode 100644
index 0000000000000..893a29c753987
--- /dev/null
+++ b/pkgs/os-specific/gnu/smbfs/samba-without-byte-range-locks.patch
@@ -0,0 +1,14 @@
+Since GNU/Hurd doesn't support byte-range file locks, shamelessly
+disable them to allow the SMB client library to work (it uses TDB
+to access /etc/samba/private/secrets.tdb, for instance.)
+
+--- samba/lib/tdb/common/lock.c	2010-02-08 16:12:57.000000000 +0100
++++ samba/lib/tdb/common/lock.c	2012-03-01 23:39:02.000000000 +0100
+@@ -48,7 +48,7 @@ int tdb_brlock(struct tdb_context *tdb,
+ 	struct flock fl;
+ 	int ret;
+ 
+-	if (tdb->flags & TDB_NOLOCK) {
++	if (1) {
+ 		return 0;
+ 	}
diff --git a/pkgs/os-specific/linux/upstart/default.nix b/pkgs/os-specific/linux/upstart/default.nix
index 4e440770ef98c..d8a6d7335ab2a 100644
--- a/pkgs/os-specific/linux/upstart/default.nix
+++ b/pkgs/os-specific/linux/upstart/default.nix
@@ -1,11 +1,13 @@
 { stdenv, fetchurl, pkgconfig, dbus, libnih }:
 
+let version = "1.4"; in
+
 stdenv.mkDerivation rec {
-  name = "upstart-1.3";
+  name = "upstart-${version}";
   
   src = fetchurl {
-    url = "http://upstart.ubuntu.com/download/1.3/${name}.tar.gz";
-    md5 = "7820797b64878c27115fff6a7398a6a9";
+    url = "http://upstart.ubuntu.com/download/${version}/${name}.tar.gz";
+    md5 = "3aa9ddf8459b56547a6238aa77c61815";
   };
 
   buildInputs = [ pkgconfig dbus libnih ];
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       t=$out/etc/bash_completion.d
-      ensureDir $t
+      mkdir -p $t
       cp ${./upstart-bash-completion} $t/upstart
     '';