nixpkgs/pkgs/applications/misc/truecrypt/default.nix
Ryan Mulligan 327e0913e8 truecrypt: fix build with gcc6 patch
The build was failing with gcc 6.4.0; using the samee gcc6 patch Arch
Linux uses fixed the build.

This commit also refactors out the builder.sh possibly fixing the
NOGUI make flag option.

(cherry picked from commit 8b0de80e55)
2017-09-08 11:53:28 +01:00

97 lines
2.8 KiB
Nix

/*
Requirements for Building TrueCrypt for Linux and macOS:
-----------------------------------------------------------
- GNU Make
- GNU C++ Compiler 4.0 or compatible
- Apple XCode (macOS only)
- pkg-config
- wxWidgets 2.8 library source code (available at http://www.wxwidgets.org)
- FUSE library (available at http://fuse.sourceforge.net and
http://code.google.com/p/macfuse)
Instructions for Building TrueCrypt for Linux and macOS:
-----------------------------------------------------------
1) Change the current directory to the root of the TrueCrypt source code.
2) Run the following command to configure the wxWidgets library for TrueCrypt
and to build it:
$ make WX_ROOT=/usr/src/wxWidgets wxbuild
The variable WX_ROOT must point to the location of the source code of the
wxWidgets library. Output files will be placed in the './wxrelease/'
directory.
3) To build TrueCrypt, run the following command:
$ make
4) If successful, the TrueCrypt executable should be located in the directory
'Main'.
By default, a universal executable supporting both graphical and text user
interface is built. To build a console-only executable, which requires no GUI
library, use the 'NOGUI' parameter:
$ make NOGUI=1 WX_ROOT=/usr/src/wxWidgets wxbuild
$ make NOGUI=1
*/
{ fetchurl, stdenv, pkgconfig, nasm, fuse, wxGTK, devicemapper,
wxGUI ? true
}:
stdenv.mkDerivation {
name = "truecrypt-7.1a";
patchPhase = "patch -p0 < ${./gcc6.patch}";
preBuild = ''
cp $pkcs11h pkcs11.h
cp $pkcs11th pkcs11t.h
cp $pkcs11fh pkcs11f.h
'';
makeFlags = [
''PKCS11_INC="`pwd`"''
(if wxGUI then "" else "NOGUI=1")
];
installPhase = ''
install -D -t $out/bin Main/truecrypt
install -D License.txt $out/share/$name/LICENSE
'';
src = fetchurl {
url = https://fossies.org/linux/misc/old/TrueCrypt-7.1a-Source.tar.gz;
sha256 = "e6214e911d0bbededba274a2f8f8d7b3f6f6951e20f1c3a598fc7a23af81c8dc";
};
pkcs11h = fetchurl {
url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11.h;
sha256 = "1563d877b6f8868b8eb8687358162bfb7f868104ed694beb35ae1c5cf1a58b9b";
};
pkcs11th = fetchurl {
url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11t.h;
sha256 = "8ce68616304684f92a7e267bcc8f486441e92a5cbdfcfd97e69ac9a0b436fb7b";
};
pkcs11fh = fetchurl {
url = ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs11f.h;
sha256 = "5ae6a4f32ca737e02def3bf314c9842fb89be82bf00b6f4022a97d8d565522b8";
};
buildInputs = [ pkgconfig fuse devicemapper wxGTK nasm ];
meta = {
description = "Free Open-Source filesystem on-the-fly encryption";
homepage = http://www.truecrypt.org/;
license = "TrueCrypt License Version 2.6";
maintainers = with stdenv.lib.maintainers; [ viric ryantm ];
platforms = with stdenv.lib.platforms; linux;
};
}