diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix index 9d0f76e0d84..08169a0b039 100644 --- a/pkgs/applications/version-management/subversion/default.nix +++ b/pkgs/applications/version-management/subversion/default.nix @@ -19,13 +19,13 @@ assert compressionSupport -> neon.compressionSupport; stdenv.mkDerivation rec { - version = "1.6.6"; + version = "1.6.9"; name = "subversion-${version}"; src = fetchurl { url = "http://subversion.tigris.org/downloads/${name}.tar.bz2"; - sha256 = "14iw9hla3jas4ikd3wkfi7i4p4hic76x2bynic2339ny8yic28zy"; + sha1 = "477aa89e60de7974ac0aa921cc369b4c2907693c"; }; buildInputs = [zlib apr aprutil sqlite] diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix new file mode 100644 index 00000000000..09128e4c1c8 --- /dev/null +++ b/pkgs/development/libraries/librsync/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "librsync-0.9.7"; + + src = fetchurl { + url = mirror://sourceforge/librsync/librsync-0.9.7.tar.gz; + sha256 = "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6"; + }; + + # To allow x86_64 linking to the static lib to make a shared object + # like for the package 'duplicity' + CFLAGS="-fPIC"; + + meta = { + homepage = http://librsync.sourceforge.net/; + license = "LGPLv2+"; + description = "Implementation of the rsync remote-delta algorithm"; + }; +} diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix index c869ac7daba..3e9d2804ced 100644 --- a/pkgs/development/libraries/sqlite/default.nix +++ b/pkgs/development/libraries/sqlite/default.nix @@ -1,6 +1,8 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, readline ? null, ncurses ? null }: -stdenv.mkDerivation rec { +assert readline != null -> ncurses != null; + +stdenv.mkDerivation { name = "sqlite-3.6.22"; src = fetchurl { @@ -8,9 +10,11 @@ stdenv.mkDerivation rec { sha256 = "1k5qyl0v2y4fpkh7vvxvb0irpnl71g0ffhfc3ksm40mrhcdq9qk8"; }; + buildInputs = [readline ncurses]; configureFlags = "--enable-threadsafe"; NIX_CFLAGS_COMPILE = "-DSQLITE_ENABLE_COLUMN_METADATA=1"; + NIX_CFLAGS_LINK = if readline != null then "-lncurses" else ""; meta = { homepage = http://www.sqlite.org/; diff --git a/pkgs/os-specific/linux/dmtcp/default.nix b/pkgs/os-specific/linux/dmtcp/default.nix new file mode 100644 index 00000000000..5c786f6172c --- /dev/null +++ b/pkgs/os-specific/linux/dmtcp/default.nix @@ -0,0 +1,45 @@ +{stdenv, fetchurl, perl, python}: + +# Perl and python are needed in order to run the test suite. + +let + pname = "dmtcp"; + version = "1.1.3"; +in + +stdenv.mkDerivation { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/${pname}/${pname}_${version}.tar.gz"; + sha256 = "0lx455hvxqa9rj83nms9mi6v5klswsrgj8hxhidhi9i2qkx88158"; + }; + + buildInputs = [ perl python ]; + + doCheck = true; + + preCheck = '' + substituteInPlace dmtcp/src/dmtcp_coordinator.cpp \ + --replace /bin/bash /bin/sh + substituteInPlace utils/gdb-add-symbol-file \ + --replace /bin/bash /bin/sh + substituteInPlace test/autotest.py \ + --replace /usr/bin/env $(type -p env) \ + --replace /bin/bash $(type -p bash) \ + --replace /usr/bin/perl $(type -p perl) \ + --replace /usr/bin/python $(type -p python) + ''; + + meta = { + description = "Distributed MultiThreaded Checkpointing"; + longDescription = '' + DMTCP (Distributed MultiThreaded Checkpointing) is a tool to + transparently checkpointing the state of an arbitrary group of + programs spread across many machines and connected by sockets. It does + not modify the user's program or the operating system. + ''; + homepage = http://dmtcp.sourceforge.net/; + license = "LGPL"; + }; +} diff --git a/pkgs/tools/backup/duplicity/default.nix b/pkgs/tools/backup/duplicity/default.nix new file mode 100644 index 00000000000..61a1ec4baf2 --- /dev/null +++ b/pkgs/tools/backup/duplicity/default.nix @@ -0,0 +1,24 @@ +{stdenv, fetchurl, python, librsync, makeWrapper}: +stdenv.mkDerivation { + name = "duplicity-0.6.06"; + + src = fetchurl { + url = http://code.launchpad.net/duplicity/0.6-series/0.6.06/+download/duplicity-0.6.06.tar.gz; + sha256 = "1g284y24061krigs386x5s7vs7cnwhah7g1mfk9jfn3gzsidv70g"; + }; + + installPhase = '' + python setup.py install --prefix=$out + wrapProgram $out/bin/duplicity --prefix PYTHONPATH : "$(toPythonPath $out)" + ''; + + buildInputs = [python librsync makeWrapper]; + + meta = { + description = "Encrypted bandwidth-efficient backup using the rsync algorithm"; + homepage = http://www.nongnu.org/duplicity; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [viric]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix index 0017c13a787..e333e6ab31f 100644 --- a/pkgs/tools/networking/p2p/tahoe-lafs/default.nix +++ b/pkgs/tools/networking/p2p/tahoe-lafs/default.nix @@ -11,7 +11,9 @@ buildPythonPackage (rec { sha256 = "10j6s4wqqxb0x6plwvfnabxxl0k8jy1g1dfsrhpfgdi42f25dain"; }; - patchPhase = '' + patches = [ ./fix-test-copy-using-filecap.patch ]; + + postPatch = '' echo "forcing the use of \`setuptools' 0.6c9 rather than an unreleased version" for i in *setup.py do diff --git a/pkgs/tools/networking/p2p/tahoe-lafs/fix-test-copy-using-filecap.patch b/pkgs/tools/networking/p2p/tahoe-lafs/fix-test-copy-using-filecap.patch new file mode 100644 index 00000000000..9318e0fa204 --- /dev/null +++ b/pkgs/tools/networking/p2p/tahoe-lafs/fix-test-copy-using-filecap.patch @@ -0,0 +1,23 @@ +From http://allmydata.org/trac/tahoe/ticket/936 . + +Wed Feb 3 23:13:37 GMT Standard Time 2010 david-sarah@jacaranda.org + * Fix race condition in allmydata.test.test_cli.Cp.test_copy_using_filecap +diff -rN -u old-tahoe/src/allmydata/test/test_cli.py new-tahoe/src/allmydata/test/test_cli.py +--- old-tahoe/src/allmydata/test/test_cli.py 2010-02-03 23:20:06.803000000 +0000 ++++ new-tahoe/src/allmydata/test/test_cli.py 2010-02-03 23:20:10.483000000 +0000 +@@ -1007,13 +1007,13 @@ + self.set_up_grid() + outdir = os.path.join(self.basedir, "outdir") + os.mkdir(outdir) +- self.do_cli("create-alias", "tahoe") + fn1 = os.path.join(self.basedir, "Metallica") + fn2 = os.path.join(outdir, "Not Metallica") + fn3 = os.path.join(outdir, "test2") + DATA1 = "puppies" * 10000 + open(fn1, "wb").write(DATA1) +- d = self.do_cli("put", fn1) ++ d = self.do_cli("create-alias", "tahoe") ++ d.addCallback(lambda res: self.do_cli("put", fn1)) + def _put_file((rc, out, err)): + self.failUnlessEqual(rc, 0) + # keep track of the filecap diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf6e23b77a1..836ecad2a1f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -614,6 +614,10 @@ let inherit builderDefs; }; + duplicity = import ../tools/backup/duplicity { + inherit fetchurl stdenv librsync makeWrapper python; + }; + dvdplusrwtools = import ../tools/cd-dvd/dvd+rw-tools { inherit fetchurl stdenv cdrkit m4; }; @@ -923,7 +927,7 @@ let ipmitool = import ../tools/system/ipmitool { inherit fetchurl stdenv openssl; - static = getPkgConfig "ipmitool" "static" false; + static = !stdenv.isDarwin && getPkgConfig "ipmitool" "static" false; }; jdiskreport = import ../tools/misc/jdiskreport { @@ -1223,7 +1227,7 @@ let openssh = import ../tools/networking/openssh { inherit fetchurl stdenv zlib openssl pam perl; pamSupport = getPkgConfig "openssh" "pam" true; - hpnSupport = getPkgConfig "openssh" "hpn" true; + hpnSupport = getPkgConfig "openssh" "hpn" false; etcDir = getPkgConfig "openssh" "etcDir" "/etc/ssh"; }; @@ -4318,6 +4322,10 @@ let inherit fetchurl stdenv pkgconfig ncurses glib; }; + librsync = import ../development/libraries/librsync { + inherit stdenv fetchurl; + }; + libsigcxx = import ../development/libraries/libsigcxx { inherit fetchurl stdenv pkgconfig; }; @@ -4838,9 +4846,13 @@ let inherit fetchurl stdenv libogg; }; - sqlite = import ../development/libraries/sqlite { + sqlite = lowPrio (import ../development/libraries/sqlite { inherit fetchurl stdenv; - }; + }); + + sqliteInteractive = appendToName "interactive" (import ../development/libraries/sqlite { + inherit fetchurl stdenv readline ncurses; + }); stlport = import ../development/libraries/stlport { inherit fetchurl stdenv; @@ -5623,6 +5635,10 @@ let inherit fetchurl stdenv; }; + dmtcp = import ../os-specific/linux/dmtcp { + inherit fetchurl stdenv perl python; + }; + dietlibc = import ../os-specific/linux/dietlibc { inherit fetchurl glibc; # Dietlibc 0.30 doesn't compile on PPC with GCC 4.1, bus GCC 3.4 works.