summary refs log tree commit diff
path: root/pkgs/tools/misc
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2009-07-26 21:03:52 +0000
committerLudovic Courtès <ludo@gnu.org>2009-07-26 21:03:52 +0000
commit83116e4b8c38ec327f9217f45d31abe5d9ec333f (patch)
tree298ff00968cbd6706cfcb2ee7f39479780fb10dd /pkgs/tools/misc
parentd39bbb16932e47a9f57afa55aef742a58f85d42d (diff)
downloadnixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.tar
nixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.tar.gz
nixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.tar.bz2
nixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.tar.lz
nixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.tar.xz
nixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.tar.zst
nixpkgs-83116e4b8c38ec327f9217f45d31abe5d9ec333f.zip
GNU Parted 1.9.0.
svn path=/nixpkgs/trunk/; revision=16463
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r--pkgs/tools/misc/parted/default.nix54
-rw-r--r--pkgs/tools/misc/parted/t7000-scripting.patch15
2 files changed, 53 insertions, 16 deletions
diff --git a/pkgs/tools/misc/parted/default.nix b/pkgs/tools/misc/parted/default.nix
index 11e4cf856f4..37e91491faa 100644
--- a/pkgs/tools/misc/parted/default.nix
+++ b/pkgs/tools/misc/parted/default.nix
@@ -1,25 +1,47 @@
-{stdenv, fetchurl, e2fsprogs, readline}:
+{ stdenv, fetchurl, devicemapper, e2fsprogs, gettext, readline }:
+
+stdenv.mkDerivation rec {
+  name = "parted-1.9.0";
 
-stdenv.mkDerivation {
-  name = "parted-1.8.8";
-  
   src = fetchurl {
-    url = mirror://gnu/parted/parted-1.8.8.tar.bz2;
-    sha256 = "1sn5qcdi4pvxnxz8ryh5p52qmqd72qbk0d0a65pksxf7khd83kfz";
+    url = "mirror://gnu/parted/${name}.tar.gz";
+    sha256 = "02amqpzl8lgk247cjsbaz1nsiz9i1pbj0adx0z109h94p90i48sk";
   };
-  
-  buildInputs = [e2fsprogs readline];
 
-  preConfigure=''
-    export CFLAGS=-fgnu89-inline
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fgnu89-inline"
-  '';
-  
-  configureFlags = "--without-readline";
+  buildInputs = [ devicemapper e2fsprogs gettext readline ];
+
+  # XXX: For some reason our libreadline.so doesn't have libncurses as
+  # NEEDED and `configure' links with `-Wl,--as-needed' so when
+  # `AC_CHECK_LIB' tries to link with `-lreadline -lncurses' the latter is
+  # removed, leaving `libreadline' with unresolved references.
+  #
+  # Remove the `preConfigure' hack below when Readline is fixed.
+  preConfigure = ''export gl_cv_ignore_unused_libraries=""'';
+  configureFlags = "--with-readline";
+
+  doCheck = true;
+
+  patches = [ ./t7000-scripting.patch ];
 
   meta = {
-    description = "Tool to create, destroy, resize, check and copy partitions";
+    description = "GNU Parted, a tool to create, destroy, resize, check, and copy partitions";
+
+    longDescription = ''
+      GNU Parted is an industrial-strength package for creating, destroying,
+      resizing, checking and copying partitions, and the file systems on
+      them.  This is useful for creating space for new operating systems,
+      reorganising disk usage, copying data on hard disks and disk imaging.
+
+      It contains a library, libparted, and a command-line frontend, parted,
+      which also serves as a sample implementation and script backend.
+    '';
+
     homepage = http://www.gnu.org/software/parted/;
-    license = "GPLv3";
+    license = "GPLv3+";
+
+    maintainers = [
+      # Add your name here!
+      stdenv.lib.maintainers.ludo
+    ];
   };
 }
diff --git a/pkgs/tools/misc/parted/t7000-scripting.patch b/pkgs/tools/misc/parted/t7000-scripting.patch
new file mode 100644
index 00000000000..9290e5cd16f
--- /dev/null
+++ b/pkgs/tools/misc/parted/t7000-scripting.patch
@@ -0,0 +1,15 @@
+This patch fixes the `t7000-scripting' test.  See
+http://lists.alioth.debian.org/pipermail/parted-devel/2009-June/thread.html#2887
+for details.
+
+--- parted-1.9.0/tests/t7000-scripting.sh	2009-07-23 19:52:08.000000000 +0200
++++ parted-1.9.0/tests/t7000-scripting.sh	2009-07-26 14:20:28.000000000 +0200
+@@ -28,7 +28,7 @@ EOF
+ 
+ { emit_superuser_warning
+   sed s/Error/Warning/ errS
+-  printf 'Is this still acceptable to you?\nYes/No?'; } >> errI || fail=1
++  printf 'Is this still acceptable to you?\nYes/No? n\n'; } >> errI || fail=1
+ 
+ for mkpart in mkpart mkpartfs; do
+