[arch-commits] Commit in veracrypt/repos (16 files)
Levente Polyak
anthraxx at archlinux.org
Sun Jun 12 13:12:44 UTC 2016
Date: Sunday, June 12, 2016 @ 15:12:44
Author: anthraxx
Revision: 179713
archrelease: copy trunk to community-i686, community-x86_64
Added:
veracrypt/repos/community-i686/
veracrypt/repos/community-i686/PKGBUILD
(from rev 179712, veracrypt/trunk/PKGBUILD)
veracrypt/repos/community-i686/fix-invalid-characters.patch
(from rev 179712, veracrypt/trunk/fix-invalid-characters.patch)
veracrypt/repos/community-i686/gcc6.patch
(from rev 179712, veracrypt/trunk/gcc6.patch)
veracrypt/repos/community-i686/no-exec-stack.patch
(from rev 179712, veracrypt/trunk/no-exec-stack.patch)
veracrypt/repos/community-i686/no-makeself.patch
(from rev 179712, veracrypt/trunk/no-makeself.patch)
veracrypt/repos/community-i686/truecrypt-arch-detection.patch
(from rev 179712, veracrypt/trunk/truecrypt-arch-detection.patch)
veracrypt/repos/community-i686/veracrypt.desktop
(from rev 179712, veracrypt/trunk/veracrypt.desktop)
veracrypt/repos/community-x86_64/
veracrypt/repos/community-x86_64/PKGBUILD
(from rev 179712, veracrypt/trunk/PKGBUILD)
veracrypt/repos/community-x86_64/fix-invalid-characters.patch
(from rev 179712, veracrypt/trunk/fix-invalid-characters.patch)
veracrypt/repos/community-x86_64/gcc6.patch
(from rev 179712, veracrypt/trunk/gcc6.patch)
veracrypt/repos/community-x86_64/no-exec-stack.patch
(from rev 179712, veracrypt/trunk/no-exec-stack.patch)
veracrypt/repos/community-x86_64/no-makeself.patch
(from rev 179712, veracrypt/trunk/no-makeself.patch)
veracrypt/repos/community-x86_64/truecrypt-arch-detection.patch
(from rev 179712, veracrypt/trunk/truecrypt-arch-detection.patch)
veracrypt/repos/community-x86_64/veracrypt.desktop
(from rev 179712, veracrypt/trunk/veracrypt.desktop)
-------------------------------------------------+
community-i686/PKGBUILD | 59 +++++++++++++++++++++
community-i686/fix-invalid-characters.patch | 54 +++++++++++++++++++
community-i686/gcc6.patch | 61 ++++++++++++++++++++++
community-i686/no-exec-stack.patch | 60 +++++++++++++++++++++
community-i686/no-makeself.patch | 11 +++
community-i686/truecrypt-arch-detection.patch | 15 +++++
community-i686/veracrypt.desktop | 9 +++
community-x86_64/PKGBUILD | 59 +++++++++++++++++++++
community-x86_64/fix-invalid-characters.patch | 54 +++++++++++++++++++
community-x86_64/gcc6.patch | 61 ++++++++++++++++++++++
community-x86_64/no-exec-stack.patch | 60 +++++++++++++++++++++
community-x86_64/no-makeself.patch | 11 +++
community-x86_64/truecrypt-arch-detection.patch | 15 +++++
community-x86_64/veracrypt.desktop | 9 +++
14 files changed, 538 insertions(+)
Copied: veracrypt/repos/community-i686/PKGBUILD (from rev 179712, veracrypt/trunk/PKGBUILD)
===================================================================
--- community-i686/PKGBUILD (rev 0)
+++ community-i686/PKGBUILD 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,59 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Sebastian Lau <archlinux _at_ slau _dot_ info>
+# Contributor: Eric Ozwigh <ozwigh at gmail dot com>
+
+pkgname=veracrypt
+_pkgname=VeraCrypt
+pkgver=1.17
+pkgrel=5
+pkgdesc='Disk encryption with strong security based on TrueCrypt'
+url='http://veracrypt.codeplex.com/'
+arch=('i686' 'x86_64')
+license=('custom:TrueCrypt')
+depends=('fuse>=2.8.0' 'wxgtk>=3.0' 'libsm' 'device-mapper')
+optdepends=('sudo: mounting encrypted volumes as nonroot users')
+makedepends=('nasm')
+source=("${pkgname}_${pkgver}_Source.tar.bz2::https://sourceforge.net/projects/${pkgname}/files/${_pkgname} ${pkgver}/${pkgname}_${pkgver}_Source.tar.bz2/download"
+ "${pkgname}_${pkgver}_Source.tar.bz2.sig::https://sourceforge.net/projects/${pkgname}/files/${_pkgname} ${pkgver}/${pkgname}_${pkgver}_Source.tar.bz2.sig/download"
+ no-makeself.patch
+ truecrypt-arch-detection.patch
+ gcc6.patch
+ fix-invalid-characters.patch
+ no-exec-stack.patch
+ veracrypt.desktop)
+sha512sums=('a26c28513030b43390942f5363c3e501ef36ac8277a9f10cf8339a0ba487fea4d0db853c96f7f2540b0b2ff417e182525b1ad193f4ef6e5078224bc466236ee9'
+ '82e09ff9132b20dff75d509be3da43a9aa1b23d14e52f35d248d1e578360f6bb191a328332cd503c324a01fe739ef301b4c532dc7398861d2b094c6a7fc76825'
+ 'e3972fd239fd83807c5ea9dd9268a0e962b0bd9cb9cf8f6251ac51a44a94f3c57f0b1e6857b42e4296cff531030c8278c543b386ebf463d4e19fe9a536acbcf9'
+ 'fac6963c65720f0b13486ff22bdcc2e31e78c39ede2b9561b2c4037ef2c0375f04c4d51dc6067c37aaeb664c3ed70e5747488389737c41807680750c26a8f084'
+ '84175a3677f20b2b03ab29b017b9deecb517a58a640cf667b503cc9375c104b9c0a5d5ea4b3537ba7f12530054a456b466df0afdd935714cd43034b8e6cb2b7c'
+ 'd52826572178a471bb608fd4991766f4f9fa7c5cbf3659922372feb9fdfcbab596d5f1360e30f66613681619672d0be6c5457f5617f5fb1f84061de779831f96'
+ 'c64f9255303a521b4e531ebea574befe80a9f193c9aa42fd9cb552e56d087815ca161b50b593e7c3ede10a65c67dc36d0447dbffb0f4d4614f181a95759c2f79'
+ 'f689ca64bac7042030de7714aed8cc89f2c5f87b407444b1b121491c1d89c147babaaa454ddc2a93b70ae20d4da59f96ad64f01b04bea9017d658c377faeb75d')
+validpgpkeys=('993B7D7E8E413809828F0F29EB559C7C54DDD393') # VeraCrypt Team <veracrypt at idrix.fr>
+
+prepare() {
+ cd src
+ patch -p1 < "${srcdir}/no-makeself.patch"
+ patch -p1 < "${srcdir}/truecrypt-arch-detection.patch"
+ patch -p0 < "${srcdir}/gcc6.patch"
+ patch -p2 < "${srcdir}/fix-invalid-characters.patch"
+ patch -p0 < "${srcdir}/no-exec-stack.patch"
+}
+
+build() {
+ cd src
+ export WX_CONFIG=/usr/bin/wx-config
+ make TC_EXTRA_LFLAGS+="-ldl ${LDFLAGS}" \
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}" \
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+}
+
+package() {
+ cd src
+ install -Dm 755 Main/${pkgname} "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm 644 "${srcdir}/veracrypt.desktop" -t "${pkgdir}/usr/share/applications"
+ install -Dm 644 Resources/Icons/VeraCrypt-256x256.xpm "${pkgdir}/usr/share/pixmaps/veracrypt.xpm"
+ install -Dm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+# vim: ts=2 sw=2 et:
Copied: veracrypt/repos/community-i686/fix-invalid-characters.patch (from rev 179712, veracrypt/trunk/fix-invalid-characters.patch)
===================================================================
--- community-i686/fix-invalid-characters.patch (rev 0)
+++ community-i686/fix-invalid-characters.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,54 @@
+From 646679da4d79bf7f8af22c44c7ae8498086a88a6 Mon Sep 17 00:00:00 2001
+From: Mounir IDRASSI <mounir.idrassi at idrix.fr>
+Date: Fri, 18 Mar 2016 16:25:48 +0100
+Subject: [PATCH] Linux: Completely fix gcc-5 "Invalid characters encountered"
+ issue on mount. It was caused by an issue of gcc-5 STL implementation that is
+ causing char* pointers retrieved from std::string using c_str method to
+ become invalid in the child of a child process (after two fork calls). The
+ workaround is to first copy the std:string values in the child before calling
+ the second fork.
+
+---
+ src/Platform/Unix/Process.cpp | 24 ++++++++++++++++++++++--
+ 1 file changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/src/Platform/Unix/Process.cpp b/src/Platform/Unix/Process.cpp
+index 388bda6..0770364 100644
+--- a/src/Platform/Unix/Process.cpp
++++ b/src/Platform/Unix/Process.cpp
+@@ -53,13 +53,33 @@ namespace VeraCrypt
+ try
+ {
+ int argIndex = 0;
++ /* Workaround for gcc 5.X issue related to the use of STL (string and list) with muliple fork calls.
++ *
++ * The char* pointers retrieved from the elements of parameter "arguments" are no longer valid after
++ * a second fork is called. "arguments" was created in the parent of the current child process.
++ *
++ * The only solution is to copy the elements of "arguments" parameter in a local string array on this
++ * child process and then use char* pointers retrieved from this local copies before calling fork.
++ *
++ * gcc 4.x doesn't suffer from this issue.
++ *
++ */
++ string argsCopy[array_capacity (args)];
+ if (!execFunctor)
+- args[argIndex++] = const_cast <char*> (processName.c_str());
++ {
++ argsCopy[argIndex++] = processName;
++ }
+
+ foreach (const string &arg, arguments)
+ {
+- args[argIndex++] = const_cast <char*> (arg.c_str());
++ argsCopy[argIndex++] = arg;
+ }
++
++ for (int i = 0; i < argIndex; i++)
++ {
++ args[i] = const_cast <char*> (argsCopy[i].c_str());
++ }
++
+ args[argIndex] = nullptr;
+
+ if (inputData)
Copied: veracrypt/repos/community-i686/gcc6.patch (from rev 179712, veracrypt/trunk/gcc6.patch)
===================================================================
--- community-i686/gcc6.patch (rev 0)
+++ community-i686/gcc6.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -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);
+
Copied: veracrypt/repos/community-i686/no-exec-stack.patch (from rev 179712, veracrypt/trunk/no-exec-stack.patch)
===================================================================
--- community-i686/no-exec-stack.patch (rev 0)
+++ community-i686/no-exec-stack.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,60 @@
+--- Crypto/Aes_hw_cpu.asm.old 2011-06-01 17:12:53.078000001 -0400
++++ Crypto/Aes_hw_cpu.asm 2011-06-01 17:12:53.080000002 -0400
+@@ -328,3 +328,12 @@
+
+
+ %endif ; __BITS__ != 16
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- Crypto/AesSmall_x86.asm.old 2011-06-01 17:12:53.084000002 -0400
++++ Crypto/AesSmall_x86.asm 2011-06-01 17:12:53.086000002 -0400
+@@ -1442,3 +1442,12 @@
+ db v8(0xe1),v8(0x69),v8(0x14),v8(0x63),v8(0x55),v8(0x21),v8(0x0c),v8(0x7d)
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- Crypto/Aes_x64.asm.old 2011-06-01 17:12:53.090000002 -0400
++++ Crypto/Aes_x64.asm 2011-06-01 17:12:53.092000002 -0400
+@@ -905,3 +905,12 @@
+ %endif
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- Crypto/Aes_x86.asm.old 2011-06-01 17:12:53.096000002 -0400
++++ Crypto/Aes_x86.asm 2011-06-01 17:12:53.097000002 -0400
+@@ -644,3 +644,12 @@
+ do_exit
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
Copied: veracrypt/repos/community-i686/no-makeself.patch (from rev 179712, veracrypt/trunk/no-makeself.patch)
===================================================================
--- community-i686/no-makeself.patch (rev 0)
+++ community-i686/no-makeself.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,11 @@
+diff -aur clean/veracrypt/src/Main/Main.make src/veracrypt/src/Main/Main.make
+--- clean/Main/Main.make 2014-10-14 19:12:32.000000000 +0300
++++ src/Main/Main.make 2014-10-14 19:13:27.330705412 +0300
+@@ -206,7 +206,6 @@
+ rm -fr $(PWD)/Setup/Linux/packaging
+ mkdir -p $(PWD)/Setup/Linux/packaging
+ cp $(INTERNAL_INSTALLER_NAME) $(PWD)/Setup/Linux/packaging/.
+- makeself $(PWD)/Setup/Linux/packaging $(PWD)/Setup/Linux/$(INSTALLER_NAME) "VeraCrypt $(TC_VERSION) Installer" ./$(INTERNAL_INSTALLER_NAME)
+
+ endif
+
Copied: veracrypt/repos/community-i686/truecrypt-arch-detection.patch (from rev 179712, veracrypt/trunk/truecrypt-arch-detection.patch)
===================================================================
--- community-i686/truecrypt-arch-detection.patch (rev 0)
+++ community-i686/truecrypt-arch-detection.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,15 @@
+diff -urN truecrypt-7.0a-source/Makefile truecrypt-7.0a-source.fixed/Makefile
+--- truecrypt-7.0a-source/Makefile 2010-09-05 10:32:10.000000000 -0400
++++ truecrypt-7.0a-source.fixed/Makefile 2011-07-05 21:41:50.296437879 -0400
+@@ -120,10 +120,7 @@
+
+ export CPU_ARCH ?= unknown
+
+-ARCH = $(shell uname -p)
+-ifeq "$(ARCH)" "unknown"
+- ARCH = $(shell uname -m)
+-endif
++ARCH = $(shell uname -m)
+
+ ifneq (,$(filter i386 i486 i586 i686 x86,$(ARCH)))
+ CPU_ARCH = x86
Copied: veracrypt/repos/community-i686/veracrypt.desktop (from rev 179712, veracrypt/trunk/veracrypt.desktop)
===================================================================
--- community-i686/veracrypt.desktop (rev 0)
+++ community-i686/veracrypt.desktop 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Exec=veracrypt
+Icon=veracrypt.xpm
+Comment=Disk encryption with strong security based on TrueCrypt
+Terminal=false
+Name=VeraCrypt
+StartupNotify=true
+Categories=System;Administration;
Copied: veracrypt/repos/community-x86_64/PKGBUILD (from rev 179712, veracrypt/trunk/PKGBUILD)
===================================================================
--- community-x86_64/PKGBUILD (rev 0)
+++ community-x86_64/PKGBUILD 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,59 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Sebastian Lau <archlinux _at_ slau _dot_ info>
+# Contributor: Eric Ozwigh <ozwigh at gmail dot com>
+
+pkgname=veracrypt
+_pkgname=VeraCrypt
+pkgver=1.17
+pkgrel=5
+pkgdesc='Disk encryption with strong security based on TrueCrypt'
+url='http://veracrypt.codeplex.com/'
+arch=('i686' 'x86_64')
+license=('custom:TrueCrypt')
+depends=('fuse>=2.8.0' 'wxgtk>=3.0' 'libsm' 'device-mapper')
+optdepends=('sudo: mounting encrypted volumes as nonroot users')
+makedepends=('nasm')
+source=("${pkgname}_${pkgver}_Source.tar.bz2::https://sourceforge.net/projects/${pkgname}/files/${_pkgname} ${pkgver}/${pkgname}_${pkgver}_Source.tar.bz2/download"
+ "${pkgname}_${pkgver}_Source.tar.bz2.sig::https://sourceforge.net/projects/${pkgname}/files/${_pkgname} ${pkgver}/${pkgname}_${pkgver}_Source.tar.bz2.sig/download"
+ no-makeself.patch
+ truecrypt-arch-detection.patch
+ gcc6.patch
+ fix-invalid-characters.patch
+ no-exec-stack.patch
+ veracrypt.desktop)
+sha512sums=('a26c28513030b43390942f5363c3e501ef36ac8277a9f10cf8339a0ba487fea4d0db853c96f7f2540b0b2ff417e182525b1ad193f4ef6e5078224bc466236ee9'
+ '82e09ff9132b20dff75d509be3da43a9aa1b23d14e52f35d248d1e578360f6bb191a328332cd503c324a01fe739ef301b4c532dc7398861d2b094c6a7fc76825'
+ 'e3972fd239fd83807c5ea9dd9268a0e962b0bd9cb9cf8f6251ac51a44a94f3c57f0b1e6857b42e4296cff531030c8278c543b386ebf463d4e19fe9a536acbcf9'
+ 'fac6963c65720f0b13486ff22bdcc2e31e78c39ede2b9561b2c4037ef2c0375f04c4d51dc6067c37aaeb664c3ed70e5747488389737c41807680750c26a8f084'
+ '84175a3677f20b2b03ab29b017b9deecb517a58a640cf667b503cc9375c104b9c0a5d5ea4b3537ba7f12530054a456b466df0afdd935714cd43034b8e6cb2b7c'
+ 'd52826572178a471bb608fd4991766f4f9fa7c5cbf3659922372feb9fdfcbab596d5f1360e30f66613681619672d0be6c5457f5617f5fb1f84061de779831f96'
+ 'c64f9255303a521b4e531ebea574befe80a9f193c9aa42fd9cb552e56d087815ca161b50b593e7c3ede10a65c67dc36d0447dbffb0f4d4614f181a95759c2f79'
+ 'f689ca64bac7042030de7714aed8cc89f2c5f87b407444b1b121491c1d89c147babaaa454ddc2a93b70ae20d4da59f96ad64f01b04bea9017d658c377faeb75d')
+validpgpkeys=('993B7D7E8E413809828F0F29EB559C7C54DDD393') # VeraCrypt Team <veracrypt at idrix.fr>
+
+prepare() {
+ cd src
+ patch -p1 < "${srcdir}/no-makeself.patch"
+ patch -p1 < "${srcdir}/truecrypt-arch-detection.patch"
+ patch -p0 < "${srcdir}/gcc6.patch"
+ patch -p2 < "${srcdir}/fix-invalid-characters.patch"
+ patch -p0 < "${srcdir}/no-exec-stack.patch"
+}
+
+build() {
+ cd src
+ export WX_CONFIG=/usr/bin/wx-config
+ make TC_EXTRA_LFLAGS+="-ldl ${LDFLAGS}" \
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}" \
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+}
+
+package() {
+ cd src
+ install -Dm 755 Main/${pkgname} "${pkgdir}/usr/bin/${pkgname}"
+ install -Dm 644 "${srcdir}/veracrypt.desktop" -t "${pkgdir}/usr/share/applications"
+ install -Dm 644 Resources/Icons/VeraCrypt-256x256.xpm "${pkgdir}/usr/share/pixmaps/veracrypt.xpm"
+ install -Dm 644 License.txt -t "${pkgdir}/usr/share/licenses/${pkgname}"
+}
+
+# vim: ts=2 sw=2 et:
Copied: veracrypt/repos/community-x86_64/fix-invalid-characters.patch (from rev 179712, veracrypt/trunk/fix-invalid-characters.patch)
===================================================================
--- community-x86_64/fix-invalid-characters.patch (rev 0)
+++ community-x86_64/fix-invalid-characters.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,54 @@
+From 646679da4d79bf7f8af22c44c7ae8498086a88a6 Mon Sep 17 00:00:00 2001
+From: Mounir IDRASSI <mounir.idrassi at idrix.fr>
+Date: Fri, 18 Mar 2016 16:25:48 +0100
+Subject: [PATCH] Linux: Completely fix gcc-5 "Invalid characters encountered"
+ issue on mount. It was caused by an issue of gcc-5 STL implementation that is
+ causing char* pointers retrieved from std::string using c_str method to
+ become invalid in the child of a child process (after two fork calls). The
+ workaround is to first copy the std:string values in the child before calling
+ the second fork.
+
+---
+ src/Platform/Unix/Process.cpp | 24 ++++++++++++++++++++++--
+ 1 file changed, 22 insertions(+), 2 deletions(-)
+
+diff --git a/src/Platform/Unix/Process.cpp b/src/Platform/Unix/Process.cpp
+index 388bda6..0770364 100644
+--- a/src/Platform/Unix/Process.cpp
++++ b/src/Platform/Unix/Process.cpp
+@@ -53,13 +53,33 @@ namespace VeraCrypt
+ try
+ {
+ int argIndex = 0;
++ /* Workaround for gcc 5.X issue related to the use of STL (string and list) with muliple fork calls.
++ *
++ * The char* pointers retrieved from the elements of parameter "arguments" are no longer valid after
++ * a second fork is called. "arguments" was created in the parent of the current child process.
++ *
++ * The only solution is to copy the elements of "arguments" parameter in a local string array on this
++ * child process and then use char* pointers retrieved from this local copies before calling fork.
++ *
++ * gcc 4.x doesn't suffer from this issue.
++ *
++ */
++ string argsCopy[array_capacity (args)];
+ if (!execFunctor)
+- args[argIndex++] = const_cast <char*> (processName.c_str());
++ {
++ argsCopy[argIndex++] = processName;
++ }
+
+ foreach (const string &arg, arguments)
+ {
+- args[argIndex++] = const_cast <char*> (arg.c_str());
++ argsCopy[argIndex++] = arg;
+ }
++
++ for (int i = 0; i < argIndex; i++)
++ {
++ args[i] = const_cast <char*> (argsCopy[i].c_str());
++ }
++
+ args[argIndex] = nullptr;
+
+ if (inputData)
Copied: veracrypt/repos/community-x86_64/gcc6.patch (from rev 179712, veracrypt/trunk/gcc6.patch)
===================================================================
--- community-x86_64/gcc6.patch (rev 0)
+++ community-x86_64/gcc6.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -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);
+
Copied: veracrypt/repos/community-x86_64/no-exec-stack.patch (from rev 179712, veracrypt/trunk/no-exec-stack.patch)
===================================================================
--- community-x86_64/no-exec-stack.patch (rev 0)
+++ community-x86_64/no-exec-stack.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,60 @@
+--- Crypto/Aes_hw_cpu.asm.old 2011-06-01 17:12:53.078000001 -0400
++++ Crypto/Aes_hw_cpu.asm 2011-06-01 17:12:53.080000002 -0400
+@@ -328,3 +328,12 @@
+
+
+ %endif ; __BITS__ != 16
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- Crypto/AesSmall_x86.asm.old 2011-06-01 17:12:53.084000002 -0400
++++ Crypto/AesSmall_x86.asm 2011-06-01 17:12:53.086000002 -0400
+@@ -1442,3 +1442,12 @@
+ db v8(0xe1),v8(0x69),v8(0x14),v8(0x63),v8(0x55),v8(0x21),v8(0x0c),v8(0x7d)
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- Crypto/Aes_x64.asm.old 2011-06-01 17:12:53.090000002 -0400
++++ Crypto/Aes_x64.asm 2011-06-01 17:12:53.092000002 -0400
+@@ -905,3 +905,12 @@
+ %endif
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
+--- Crypto/Aes_x86.asm.old 2011-06-01 17:12:53.096000002 -0400
++++ Crypto/Aes_x86.asm 2011-06-01 17:12:53.097000002 -0400
+@@ -644,3 +644,12 @@
+ do_exit
+
+ %endif
++ %ifidn __OUTPUT_FORMAT__,elf
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf32
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
++ %ifidn __OUTPUT_FORMAT__,elf64
++ section .note.GNU-stack noalloc noexec nowrite progbits
++ %endif
Copied: veracrypt/repos/community-x86_64/no-makeself.patch (from rev 179712, veracrypt/trunk/no-makeself.patch)
===================================================================
--- community-x86_64/no-makeself.patch (rev 0)
+++ community-x86_64/no-makeself.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,11 @@
+diff -aur clean/veracrypt/src/Main/Main.make src/veracrypt/src/Main/Main.make
+--- clean/Main/Main.make 2014-10-14 19:12:32.000000000 +0300
++++ src/Main/Main.make 2014-10-14 19:13:27.330705412 +0300
+@@ -206,7 +206,6 @@
+ rm -fr $(PWD)/Setup/Linux/packaging
+ mkdir -p $(PWD)/Setup/Linux/packaging
+ cp $(INTERNAL_INSTALLER_NAME) $(PWD)/Setup/Linux/packaging/.
+- makeself $(PWD)/Setup/Linux/packaging $(PWD)/Setup/Linux/$(INSTALLER_NAME) "VeraCrypt $(TC_VERSION) Installer" ./$(INTERNAL_INSTALLER_NAME)
+
+ endif
+
Copied: veracrypt/repos/community-x86_64/truecrypt-arch-detection.patch (from rev 179712, veracrypt/trunk/truecrypt-arch-detection.patch)
===================================================================
--- community-x86_64/truecrypt-arch-detection.patch (rev 0)
+++ community-x86_64/truecrypt-arch-detection.patch 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,15 @@
+diff -urN truecrypt-7.0a-source/Makefile truecrypt-7.0a-source.fixed/Makefile
+--- truecrypt-7.0a-source/Makefile 2010-09-05 10:32:10.000000000 -0400
++++ truecrypt-7.0a-source.fixed/Makefile 2011-07-05 21:41:50.296437879 -0400
+@@ -120,10 +120,7 @@
+
+ export CPU_ARCH ?= unknown
+
+-ARCH = $(shell uname -p)
+-ifeq "$(ARCH)" "unknown"
+- ARCH = $(shell uname -m)
+-endif
++ARCH = $(shell uname -m)
+
+ ifneq (,$(filter i386 i486 i586 i686 x86,$(ARCH)))
+ CPU_ARCH = x86
Copied: veracrypt/repos/community-x86_64/veracrypt.desktop (from rev 179712, veracrypt/trunk/veracrypt.desktop)
===================================================================
--- community-x86_64/veracrypt.desktop (rev 0)
+++ community-x86_64/veracrypt.desktop 2016-06-12 13:12:44 UTC (rev 179713)
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Exec=veracrypt
+Icon=veracrypt.xpm
+Comment=Disk encryption with strong security based on TrueCrypt
+Terminal=false
+Name=VeraCrypt
+StartupNotify=true
+Categories=System;Administration;
More information about the arch-commits
mailing list