nixpkgs/pkgs/by-name/ve/veracrypt/package.nix

65 lines
1.8 KiB
Nix

{ lib
, stdenv
, fetchurl
, pkg-config
, makeself
, yasm
, fuse
, wxGTK32
, lvm2
, substituteAll
, e2fsprogs
, exfat
, ntfs3g
, btrfs-progs
, pcsclite
, wrapGAppsHook3
}:
stdenv.mkDerivation (finalAttrs: {
pname = "veracrypt";
version = "1.26.14";
src = fetchurl {
url = "https://launchpad.net/veracrypt/trunk/${lib.toLower finalAttrs.version}/+download/VeraCrypt_${finalAttrs.version}_Source.tar.bz2";
hash = "sha256-2oetZxTXF+vdwlJww4txiVAcKvlxjupkp64bwKPMruE=";
};
patches = [
(substituteAll {
src = ./fix-paths.patch;
ext2 = "${e2fsprogs}/bin/mkfs.ext2";
ext3 = "${e2fsprogs}/bin/mkfs.ext3";
ext4 = "${e2fsprogs}/bin/mkfs.ext4";
exfat = "${exfat}/bin/mkfs.exfat";
ntfs = "${ntfs3g}/bin/mkfs.ntfs";
btrfs = "${btrfs-progs}/bin/mkfs.btrfs";
})
];
sourceRoot = "src";
nativeBuildInputs = [ makeself pkg-config yasm wrapGAppsHook3 ];
buildInputs = [ fuse lvm2 wxGTK32 pcsclite ];
enableParallelBuilding = true;
installPhase = ''
install -Dm 755 Main/veracrypt "$out/bin/veracrypt"
install -Dm 444 Resources/Icons/VeraCrypt-256x256.xpm "$out/share/pixmaps/veracrypt.xpm"
install -Dm 444 License.txt -t "$out/share/doc/veracrypt/"
install -d $out/share/applications
substitute Setup/Linux/veracrypt.desktop $out/share/applications/veracrypt.desktop \
--replace "Exec=/usr/bin/veracrypt" "Exec=$out/bin/veracrypt" \
--replace "Icon=veracrypt" "Icon=veracrypt.xpm"
'';
meta = with lib; {
description = "Free Open-Source filesystem on-the-fly encryption";
homepage = "https://www.veracrypt.fr/";
license = with licenses; [ asl20 /* and */ unfree /* TrueCrypt License version 3.0 */ ];
maintainers = with maintainers; [ dsferruzza ];
platforms = platforms.linux;
};
})