about summary refs log tree commit diff
path: root/pkgs/tools
diff options
context:
space:
mode:
authorDima <dgoldin+github@protonmail.ch>2019-09-21 16:54:35 +0200
committerDima <dgoldin+github@protonmail.ch>2019-10-13 11:39:26 +0200
commit10bfa40677d2e3b23b7b71b6c64b965d537bbb6b (patch)
tree06a1dd9c1e03052d9d68cc56dff35db48ddda329 /pkgs/tools
parentf772fe52c39518755d5acc224dd667ddac851083 (diff)
testdisk: deduplicating testdisk/photorec
Testdisk/Photorec has been packaged twice. This deduplicates
the packages by consolidating the packages into one and throwing
an error upon use of the outdated package.

this also adds qphotorec, which was previously not built and ensures
it's wrapped correctly.

Please note that I took the liberty to merge the maintainers lists.
Diffstat (limited to 'pkgs/tools')
-rw-r--r--pkgs/tools/misc/testdisk/default.nix27
-rw-r--r--pkgs/tools/system/testdisk/default.nix (renamed from pkgs/tools/system/testdisk-photorec/default.nix)49
2 files changed, 33 insertions, 43 deletions
diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix
deleted file mode 100644
index 14c152236d6be..0000000000000
--- a/pkgs/tools/misc/testdisk/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid, ntfs3g }:
-
-stdenv.mkDerivation {
-  name = "testdisk-7.1";
-
-  src = fetchurl {
-    url = https://www.cgsecurity.org/testdisk-7.0.tar.bz2;
-    sha256 = "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0";
-  };
-
-  buildInputs = [ ncurses libjpeg zlib openssl libuuid ]
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ e2fsprogs ntfs3g ];
-
-  enableParallelBuilding = true;
-
-  meta = {
-    homepage = https://www.cgsecurity.org/wiki/TestDisk;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    longDescription = ''
-      TestDisk is a program for data recovery, primarily designed to
-      help recover lost partitions and/or make non-booting disks
-      bootable again.
-    '';
-  };
-}
diff --git a/pkgs/tools/system/testdisk-photorec/default.nix b/pkgs/tools/system/testdisk/default.nix
index 06f6751213b28..52cb3c4cee14e 100644
--- a/pkgs/tools/system/testdisk-photorec/default.nix
+++ b/pkgs/tools/system/testdisk/default.nix
@@ -1,35 +1,51 @@
-{ stdenv
+{ mkDerivation
+, stdenv
 , fetchurl
 , ncurses
 , libuuid
+, pkgconfig
 , libjpeg
 , zlib
-, ntfs3g
-, e2fsprogs
+, libewf
+, enableNtfs ? false, ntfs3g ? null
+, enableExtFs ? false, e2fsprogs ? null
+, enableQt ? false, qtbase ? null, qttools ? null, qwt ? null
 }:
 
-stdenv.mkDerivation rec {
-  pname = "testdisk-photorec";
-  version = "7.0";
+assert enableNtfs -> ntfs3g != null;
+assert enableExtFs -> e2fsprogs != null;
+assert enableQt -> qtbase != null;
+assert enableQt -> qttools != null;
+assert enableQt -> qwt != null;
+
+(if enableQt then mkDerivation else stdenv.mkDerivation) rec {
+  pname = "testdisk";
+  version = "7.1";
   src = fetchurl {
     url = "https://www.cgsecurity.org/testdisk-${version}.tar.bz2";
-    sha256 = "0ba4wfz2qrf60vwvb1qsq9l6j0pgg81qgf7fh22siaz649mkpfq0";
+    sha256 = "1zlh44w67py416hkvw6nrfmjickc2d43v51vcli5p374d5sw84ql";
   };
+
+  enableParallelBuilding = true;
+
   buildInputs = [
     ncurses
     libuuid
-    # optional:
+    pkgconfig
     libjpeg
     zlib
-    ntfs3g
-    e2fsprogs
-    #libewf # makes it fail to build
-    #qt4 # for qphotorec, which does not build in 7.0
-  ];
+    libewf
+  ]
+  ++ stdenv.lib.optional enableNtfs ntfs3g
+  ++ stdenv.lib.optional enableExtFs e2fsprogs
+  ++ stdenv.lib.optional enableQt [ qtbase qttools qwt ];
+
+  NIX_CFLAGS_COMPILE="-Wno-unused";
+
   meta = with stdenv.lib; {
     homepage = https://www.cgsecurity.org/wiki/Main_Page;
     downloadPage = https://www.cgsecurity.org/wiki/TestDisk_Download;
-    description = "Data recovery utilities";
+    description = "Testdisk / Photorec - Data recovery utilities";
     longDescription = ''
       TestDisk is a powerful free data recovery software. It was primarily
       designed to help recover lost partitions and/or make non-booting disks
@@ -44,8 +60,9 @@ stdenv.mkDerivation rec {
       it will still work even if your media's file system has been severely
       damaged or reformatted.
     '';
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ fgaz ];
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ fgaz eelco ];
   };
 }