Skip to content

Commit

Permalink
truecrypt: fix build with gcc6 patch
Browse files Browse the repository at this point in the history
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 8b0de80)
  • Loading branch information
ryantm authored and Mic92 committed Sep 8, 2017
1 parent 85a1d86 commit 327e091
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 19 deletions.
15 changes: 0 additions & 15 deletions pkgs/applications/misc/truecrypt/builder.sh

This file was deleted.

24 changes: 20 additions & 4 deletions pkgs/applications/misc/truecrypt/default.nix
Expand Up @@ -46,7 +46,24 @@ library, use the 'NOGUI' parameter:

stdenv.mkDerivation {
name = "truecrypt-7.1a";
builder = ./builder.sh;

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;
Expand All @@ -68,14 +85,13 @@ stdenv.mkDerivation {
sha256 = "5ae6a4f32ca737e02def3bf314c9842fb89be82bf00b6f4022a97d8d565522b8";
};

buildInputs = [ pkgconfig fuse devicemapper wxGTK nasm ];
makeFlags = if wxGUI then "" else "NOGUI=1";
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];
maintainers = with stdenv.lib.maintainers; [ viric ryantm ];
platforms = with stdenv.lib.platforms; linux;
};
}
61 changes: 61 additions & 0 deletions pkgs/applications/misc/truecrypt/gcc6.patch
@@ -0,0 +1,61 @@
--- Main/Resources.cpp 2016-05-16 16:47:35.846462041 +0200
+++ Main/Resources.cpp 2016-05-16 17:12:21.838202520 +0200
@@ -45,13 +45,13 @@
strBuf.CopyFrom (res);
return string (reinterpret_cast <char *> (strBuf.Ptr()));
#else
- static const char LanguageXml[] =
+ static byte LanguageXml[] =
{
# include "Common/Language.xml.h"
, 0
};

- return string (LanguageXml);
+ return string ((const char*) LanguageXml);
#endif
}

@@ -64,13 +64,13 @@
strBuf.CopyFrom (res);
return string (reinterpret_cast <char *> (strBuf.Ptr()));
#else
- static const char License[] =
+ static byte License[] =
{
# include "License.txt.h"
, 0
};

- return string (License);
+ return string ((const char*) License);
#endif
}

--- Main/Forms/PreferencesDialog.cpp 2016-05-16 17:14:47.704707908 +0200
+++ Main/Forms/PreferencesDialog.cpp 2016-05-16 17:15:56.927964437 +0200
@@ -414,11 +414,11 @@
libExtension = wxDynamicLibrary::CanonicalizeName (L"x");

#ifdef TC_MACOSX
- extensions.push_back (make_pair (L"dylib", LangString["DLL_FILES"]));
+ extensions.push_back (make_pair (L"dylib", static_cast<const wchar_t*>(LangString["DLL_FILES"].wc_str())));
#endif
if (!libExtension.empty())
{
- extensions.push_back (make_pair (libExtension.Mid (libExtension.find (L'.') + 1), LangString["DLL_FILES"]));
+ extensions.push_back (make_pair (static_cast<const wchar_t*>(libExtension.Mid (libExtension.find (L'.') + 1).wc_str()), static_cast<const wchar_t*>(LangString["DLL_FILES"].wc_str())));
extensions.push_back (make_pair (L"*", L""));
}

--- Main/GraphicUserInterface.cpp 2016-05-16 17:16:38.724591342 +0200
+++ Main/GraphicUserInterface.cpp 2016-05-16 17:17:09.854562653 +0200
@@ -1445,7 +1445,7 @@
FilePath GraphicUserInterface::SelectVolumeFile (wxWindow *parent, bool saveMode, const DirectoryPath &directory) const
{
list < pair <wstring, wstring> > extensions;
- extensions.push_back (make_pair (L"tc", LangString["TC_VOLUMES"]));
+ extensions.push_back (make_pair (L"tc", static_cast<const wchar_t*>(LangString["TC_VOLUMES"].wc_str())));

FilePathList selFiles = Gui->SelectFiles (parent, LangString[saveMode ? "OPEN_NEW_VOLUME" : "OPEN_VOL_TITLE"], saveMode, false, extensions, directory);

0 comments on commit 327e091

Please sign in to comment.