diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e31b84b03b0b..6b9d2a16c53e 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3154,6 +3154,11 @@ github = "rittelle"; name = "Lennart Rittel"; }; + rkoe = { + email = "rk@simple-is-better.org"; + github = "rkoe"; + name = "Roland Koebler"; + }; rlupton20 = { email = "richard.lupton@gmail.com"; github = "rlupton20"; diff --git a/pkgs/tools/filesystems/ext4magic/default.nix b/pkgs/tools/filesystems/ext4magic/default.nix new file mode 100644 index 000000000000..0211ab63b3e9 --- /dev/null +++ b/pkgs/tools/filesystems/ext4magic/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, fetchpatch, file, libuuid, e2fsprogs, zlib, bzip2 }: + +stdenv.mkDerivation rec { + version = "0.3.2"; + name = "ext4magic-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/ext4magic/${name}.tar.gz"; + sha256 = "8d9c6a594f212aecf4eb5410d277caeaea3adc03d35378257dfd017ef20ea115"; + }; + + patches = [ + (fetchpatch { + url = https://sourceforge.net/p/ext4magic/tickets/10/attachment/ext4magic-0.3.2-i_dir_acl.patch; + sha256 = "1accydd8kigid68yir2fbihm3r3x8ws3iyznp25snkx41w6y6x8c"; + }) + ]; + + buildInputs = [ file libuuid e2fsprogs zlib bzip2 ]; + installFlags = [ "PREFIX=$(out)" ]; + + meta = with stdenv.lib; { + description = "Recover / undelete files from ext3 or ext4 partitions"; + longDescription = '' + ext4magic can recover/undelete files from ext3 or ext4 partitions + by retrieving file-information from the filesystem journal. + + If the information in the journal are sufficient, ext4magic can + recover the most file types, with original filename, owner and group, + file mode bits and also the old atime/mtime stamps. + + It's much more effective and works much better than extundelete. + ''; + homepage = http://ext4magic.sourceforge.net/ext4magic_en.html; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.rkoe ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 028106713c16..8b12f181de65 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2215,6 +2215,8 @@ with pkgs; exiftool = perlPackages.ImageExifTool; + ext4magic = callPackage ../tools/filesystems/ext4magic { }; + extundelete = callPackage ../tools/filesystems/extundelete { }; expect = callPackage ../tools/misc/expect { };