summaryrefslogtreecommitdiff
path: root/app-crypt/veracrypt
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /app-crypt/veracrypt
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'app-crypt/veracrypt')
-rw-r--r--app-crypt/veracrypt/Manifest12
-rw-r--r--app-crypt/veracrypt/files/veracrypt-1.19-execstack-fix.patch60
-rw-r--r--app-crypt/veracrypt/files/veracrypt-1.19-makefile-archdetect.patch26
-rw-r--r--app-crypt/veracrypt/files/veracrypt-1.19-remove-packaging-from-makefile.patch52
-rw-r--r--app-crypt/veracrypt/files/veracrypt-1.22-sysmacros-fix.patch36
-rw-r--r--app-crypt/veracrypt/files/veracrypt.init17
-rw-r--r--app-crypt/veracrypt/metadata.xml26
-rw-r--r--app-crypt/veracrypt/veracrypt-1.19.ebuild88
-rw-r--r--app-crypt/veracrypt/veracrypt-1.21.ebuild87
-rw-r--r--app-crypt/veracrypt/veracrypt-1.22.ebuild90
10 files changed, 494 insertions, 0 deletions
diff --git a/app-crypt/veracrypt/Manifest b/app-crypt/veracrypt/Manifest
new file mode 100644
index 000000000000..ac809c557726
--- /dev/null
+++ b/app-crypt/veracrypt/Manifest
@@ -0,0 +1,12 @@
+AUX veracrypt-1.19-execstack-fix.patch 1682 BLAKE2B ce050f900ac6504242941322b910c74c79128d132a372b89070cf6939b5b55c6853617a8c2e49019d4cc4bc1eb872b0753c9287b3e500613bef63f74ef5ba48e SHA512 df7e64a7badfdf97447991cba7c7f87c291c89735b1ffc72b2cc882da05b2df2e2c31ee9aef4415c4d0316bc6e0a9c6c10e01406c00bd0f032931e55cd6465bc
+AUX veracrypt-1.19-makefile-archdetect.patch 743 BLAKE2B 3eda2de96eb095cf51a806d7a8b06a79edeb03425ad6106a6ec72de0d76da8988dd953e58b4b5b321ee64d3d810ff8d312efddaabea0c8083b858430525a7ae0 SHA512 aa805312c5e3782452ac936a3772a0877e866e1116f2da56747b72a6f585538fd1e45a7c7531c426ff0245b5b3ac4964065e1196874aea4c11e91ac59bd6fffd
+AUX veracrypt-1.19-remove-packaging-from-makefile.patch 2098 BLAKE2B 7588a0de42a5e561dea67c04b0056bd483ffdac0e407a640440d0b7d2723a66368c1eeebaf10c95e31a0114acd013e4d24d138a4aebc876fae51b2da0c9bcffe SHA512 e6485ce39ca009cfabe5656b3ed81cd72ca0207d9b1c310738be60705e3c94f2364cacf393b7f1d0d3e79a1ee58794dfda1d01aaa03778597c149a9dfc5634dc
+AUX veracrypt-1.22-sysmacros-fix.patch 1190 BLAKE2B 33130133b9bf3708eed0d2fa304850e216db9918c326be1aa78d06fa6ace1566fb03928731b096948a5dd9ee47accd10698496f6b1f1626acf2c6eceeefad9df SHA512 fbb1d411755669849fc343c8dd729cb804ec70f0ff1736faf864850e496628b6697dc3e4a821f31e31462e833391c30ff7c8883d014cb5b4ff3b853c6769fc15
+AUX veracrypt.init 387 BLAKE2B 7f16dee40bceed81ca092a3be6a2cd71f24f5cc8b4e4b143bd6ddde046e1ecce0cd674f52e7adb406893ef57c5b73462157832ff279114a2079c0ff84839e0dc SHA512 986b52c454abd9a64a6e8eb93247983c48d9524c396f253bc16f68894fed0abe87614343ce9c9127f8fb180f12912b21f57063f8f3b43bdca5344c130eb6c72d
+DIST VeraCrypt_1.19.tar.gz 23235780 BLAKE2B 0d02b3c6783d233f7cc64956eef58077e8a125fd5db28c1374921d8f2ca6dc9e1cde5402917c1ed4e4a626901e24c566ee834a12e41b6bcd150b8d64851f1ebc SHA512 ebce681099e04d938ff0dc10a1af848c82dafd80b165b2431ec355d64e29be4e60d1d63f0d5c9fd1182394080d00f0f573e3ae90f3e2167533dea2b895bd0164
+DIST VeraCrypt_1.21.tar.gz 24106162 BLAKE2B 5afe48830bde81d91d16f0bdf16010bdbdb885df84b9cd3e48191e468be51a485dfb3fc4f95da71d6d973a2f22dfbb92ee2b912dcf019921b37e1d4479c8c8d8 SHA512 5186d339f8fb0d88acfc35b1e7a916f797e30be93e8f252cca542b6d5c1cd916110111ef7b859d66b1790ce05d7d02bc72def26857eb003ea114a911fcec6c41
+DIST VeraCrypt_1.22.tar.gz 24820384 BLAKE2B 52fb822d07af96a9f47c17f8aacf13a949fb5a7c5d064a720e003e6d1bfbb5f221a5823720527e1f2c82f08547d77349cc90bc839336a622efcf1836dd97bb88 SHA512 83cdaf673bc9cdeadeb70b2beeabf87a2a9a65d3b0b0cc7fdf9c87671714af1e207ddd1db716302919e2d14414f5d4dd9d8f5203847d72834f53544a04c1a62a
+EBUILD veracrypt-1.19.ebuild 1988 BLAKE2B 20e3a4725dc5b8d319a11cb44d5865afcdcc6f956ff8c3390ed225f605e01b01537db1af5aa1c82deb7c236b27eea69cbc0c29b2f2f4b770fae4514360c45a2d SHA512 b9829bad13c5ba781d9ec2e8353ed72f30a23459d3e9eaa7384a5718be051f1eeff70c3c097225c8f557c57634d7b14b5db83bb189671630c673568667e67da0
+EBUILD veracrypt-1.21.ebuild 1921 BLAKE2B 1adf1a612afa33dc2cdbed7f0bc971e84e3ec45236ee6d7d7bf317c00a6b03a57eda5b30c85f8aeb4684abbd9879b9dab40b9dc2ceb6cffe36946a74ba1544dd SHA512 1766b6db76015cc6fb6f147a8ba1f75795b7038d402c38129c60cbdb09831dd0aed2241d4ec9d403cffa8dfe38f3481085c64ae653a49362be39c08f462de1dc
+EBUILD veracrypt-1.22.ebuild 2065 BLAKE2B 98dcdbe443fae6ad4a4fa0e6086fe4c171ada85fc69f3fc9bb79d61cb512dc5f8ed6339cff5b2705a35ed7d74449bebf04dba626e63d26fb7530dbf4a9566aeb SHA512 169f927f0745dc1e6d0d6c2c6f9c25f93240b09301cb6f318a28decb4f367b35e035f5eff57d2e9902e4e8bd9a496246e580b3c2d5d57380d1aada9cc1c24ada
+MISC metadata.xml 726 BLAKE2B f70a62997301172fd3e6928dd694720fe1e7a8a41a2eb842800a220bed3531828423e2b4bcbb6c6d7f2d1d8ec96f74d1a987fac64390323662028efe57fe5d72 SHA512 7898d7a419ba57600609578ae308d558d2aacf6b7dcc625adb6adfadca9b6f580123650d63ed8a618131459f71fc9a1b2b367745e2f07da75cbdf6ef9c1595bb
diff --git a/app-crypt/veracrypt/files/veracrypt-1.19-execstack-fix.patch b/app-crypt/veracrypt/files/veracrypt-1.19-execstack-fix.patch
new file mode 100644
index 000000000000..9b1e634bd4cc
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt-1.19-execstack-fix.patch
@@ -0,0 +1,60 @@
+--- src/Crypto/Aes_hw_cpu.asm.old
++++ src/Crypto/Aes_hw_cpu.asm
+@@ -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
+--- src/Crypto/AesSmall_x86.asm.old
++++ src/Crypto/AesSmall_x86.asm
+@@ -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
+--- src/Crypto/Aes_x64.asm.old
++++ src/Crypto/Aes_x64.asm
+@@ -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
+--- src/Crypto/Aes_x86.asm.old
++++ src/Crypto/Aes_x86.asm
+@@ -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
diff --git a/app-crypt/veracrypt/files/veracrypt-1.19-makefile-archdetect.patch b/app-crypt/veracrypt/files/veracrypt-1.19-makefile-archdetect.patch
new file mode 100644
index 000000000000..41fc6d521c66
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt-1.19-makefile-archdetect.patch
@@ -0,0 +1,26 @@
+From 181857089b11045c701e9195275a408430beb580 Mon Sep 17 00:00:00 2001
+From: Mounir IDRASSI <mounir.idrassi@idrix.fr>
+Date: Sat, 5 Nov 2016 23:39:46 +0100
+Subject: [PATCH] Linux: Always use "uname -m" to determine processor type.
+ This fixes Slackware build issue.
+
+---
+ src/Makefile | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 7bfc5ad..00e6e5b 100644
+--- src/Makefile
++++ src/Makefile
+@@ -131,10 +131,7 @@ export PLATFORM_UNSUPPORTED := 0
+ export CPU_ARCH ?= unknown
+ export SIMD_SUPPORTED := 0
+
+-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
diff --git a/app-crypt/veracrypt/files/veracrypt-1.19-remove-packaging-from-makefile.patch b/app-crypt/veracrypt/files/veracrypt-1.19-remove-packaging-from-makefile.patch
new file mode 100644
index 000000000000..5aad4b9fb74d
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt-1.19-remove-packaging-from-makefile.patch
@@ -0,0 +1,52 @@
+--- src/Main/Main.make.orig
++++ src/Main/Main.make
+@@ -190,49 +190,6 @@
+ rm -fr "$(PWD)/Setup/MacOSX/VeraCrypt_dmg"
+ endif
+
+-
+-
+-ifeq "$(PLATFORM)" "Linux"
+-ifeq "$(TC_BUILD_CONFIG)" "Release"
+- mkdir -p $(PWD)/Setup/Linux/usr/bin
+- mkdir -p $(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc
+- cp $(PWD)/Main/$(APPNAME) $(PWD)/Setup/Linux/usr/bin/$(APPNAME)
+- cp $(PWD)/Setup/Linux/$(APPNAME)-uninstall.sh $(PWD)/Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
+- chmod +x $(PWD)/Setup/Linux/usr/bin/$(APPNAME)-uninstall.sh
+- cp $(PWD)/License.txt $(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc/License.txt
+- cp "$(PWD)/Release/Setup Files/VeraCrypt User Guide.pdf" "$(PWD)/Setup/Linux/usr/share/$(APPNAME)/doc/VeraCrypt User Guide.pdf"
+-
+-ifndef TC_NO_GUI
+- mkdir -p $(PWD)/Setup/Linux/usr/share/applications
+- mkdir -p $(PWD)/Setup/Linux/usr/share/pixmaps
+- cp $(PWD)/Resources/Icons/VeraCrypt-256x256.xpm $(PWD)/Setup/Linux/usr/share/pixmaps/$(APPNAME).xpm
+- cp $(PWD)/Setup/Linux/$(APPNAME).desktop $(PWD)/Setup/Linux/usr/share/applications/$(APPNAME).desktop
+-endif
+-
+-
+- tar cfz $(PWD)/Setup/Linux/$(PACKAGE_NAME) --directory $(PWD)/Setup/Linux usr
+-
+- @rm -fr $(INTERNAL_INSTALLER_NAME)
+- @echo "#!/bin/sh" > $(INTERNAL_INSTALLER_NAME)
+- @echo "VERSION=$(TC_VERSION)" >> $(INTERNAL_INSTALLER_NAME)
+- @echo "PACKAGE_TYPE=tar" >> $(INTERNAL_INSTALLER_NAME)
+- @echo "PACKAGE_NAME=$(PACKAGE_NAME)" >> $(INTERNAL_INSTALLER_NAME)
+- @echo "PACKAGE_START=1107" >> $(INTERNAL_INSTALLER_NAME)
+- @echo "INSTALLER_TYPE=$(INSTALLER_TYPE)" >> $(INTERNAL_INSTALLER_NAME)
+-
+- @cat $(PWD)/Setup/Linux/veracrypt_install_template.sh >> $(INTERNAL_INSTALLER_NAME)
+- @cat $(PWD)/Setup/Linux/$(PACKAGE_NAME) >> $(INTERNAL_INSTALLER_NAME)
+- chmod +x $(INTERNAL_INSTALLER_NAME)
+-
+- 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
+-
+-endif
+-
+ $(OBJS): $(PCH)
+
+ Resources.o: $(RESOURCES)
diff --git a/app-crypt/veracrypt/files/veracrypt-1.22-sysmacros-fix.patch b/app-crypt/veracrypt/files/veracrypt-1.22-sysmacros-fix.patch
new file mode 100644
index 000000000000..702e8f702ecd
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt-1.22-sysmacros-fix.patch
@@ -0,0 +1,36 @@
+From 0a50becec3a3cca71e575dfec35d69ab295c85cc Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?G=C3=B6kt=C3=BCrk=20Y=C3=BCksek?= <gokturk@gentoo.org>
+Date: Tue, 3 Apr 2018 23:06:20 -0400
+Subject: [PATCH] Platform/Unix: include <sys/sysmacros.h> for major/minor
+ macros
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Starting with glibc 2.26, macros "major" and "minor" are only
+available from <sys/sysmacros.h> [0]. The build fails with the
+following without including this header:
+
+Unix/FilesystemPath.cpp:84:49: error: ‘major’ was not declared in this scope
+Unix/FilesystemPath.cpp:84:113: error: ‘minor’ was not declared in this scope
+
+[0] https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html
+---
+ src/Platform/Unix/FilesystemPath.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/Platform/Unix/FilesystemPath.cpp b/src/Platform/Unix/FilesystemPath.cpp
+index d6c9cd2..7c28af4 100644
+--- a/Platform/Unix/FilesystemPath.cpp
++++ b/Platform/Unix/FilesystemPath.cpp
+@@ -15,6 +15,7 @@
+ #include "Platform/StringConverter.h"
+ #include <stdio.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+
+ namespace VeraCrypt
+ {
+--
+2.16.3
+
diff --git a/app-crypt/veracrypt/files/veracrypt.init b/app-crypt/veracrypt/files/veracrypt.init
new file mode 100644
index 000000000000..972a9daef809
--- /dev/null
+++ b/app-crypt/veracrypt/files/veracrypt.init
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+depend() {
+ after localmount
+ need device-mapper
+}
+
+stop() {
+ # Try to remove any dm-crypt mappings
+ if [ -x /usr/bin/veracrypt ]; then
+ ebegin "Removing veracrypt mappings"
+ ! /usr/bin/veracrypt -l > /dev/null 2>&1 || /usr/bin/veracrypt -d
+ eend $?
+ fi
+}
diff --git a/app-crypt/veracrypt/metadata.xml b/app-crypt/veracrypt/metadata.xml
new file mode 100644
index 000000000000..823abb296b3c
--- /dev/null
+++ b/app-crypt/veracrypt/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<longdescription>
+ Platform independent filesystem or container encryptor
+ derived from truecrypt
+</longdescription>
+<use>
+ <flag name="asm">Enable assembly for optimization</flag>
+</use>
+<maintainer type="person">
+ <email>fdsfgs@krutt.org</email>
+ <name>soredake</name>
+</maintainer>
+<maintainer type="person">
+ <email>gokturk@gentoo.org</email>
+ <name>Göktürk Yüksek</name>
+</maintainer>
+<maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+</maintainer>
+<upstream>
+ <remote-id type="github">veracrypt/VeraCrypt</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/app-crypt/veracrypt/veracrypt-1.19.ebuild b/app-crypt/veracrypt/veracrypt-1.19.ebuild
new file mode 100644
index 000000000000..e2b31e79b342
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.19.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils linux-info pax-utils toolchain-funcs wxwidgets
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://veracrypt.codeplex.com"
+SRC_URI="https://github.com/veracrypt/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz"
+
+LICENSE="Apache-2.0 truecrypt-3.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="X +asm"
+RESTRICT="mirror bindist"
+
+WX_GTK_VER="3.0"
+
+RDEPEND="
+ sys-fs/lvm2
+ sys-fs/fuse
+ x11-libs/wxGTK:${WX_GTK_VER}[X?]
+ app-admin/sudo
+ dev-libs/pkcs11-helper
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ asm? ( dev-lang/nasm )
+"
+
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+
+pkg_setup() {
+ local CONFIG_CHECK="~BLK_DEV_DM ~DM_CRYPT ~FUSE_FS ~CRYPTO ~CRYPTO_XTS"
+ linux-info_pkg_setup
+
+ setup-wxwidgets
+}
+
+PATCHES=(
+ # TODO: remove in >=1.20
+ "${FILESDIR}/${P}-makefile-archdetect.patch"
+ "${FILESDIR}/${P}-execstack-fix.patch"
+ "${FILESDIR}/${P}-remove-packaging-from-makefile.patch"
+)
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ )
+ use X || myemakeargs+=( NOGUI=1 )
+ use asm || myemakeargs+=( NOASM=1 )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ "${S}/Main/veracrypt" --text --test || die "tests failed"
+}
+
+src_install() {
+ dobin Main/veracrypt
+ dodoc Readme.txt "Release/Setup Files/VeraCrypt User Guide.pdf"
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ if use X; then
+ newicon Resources/Icons/VeraCrypt-48x48.xpm veracrypt.xpm
+ make_desktop_entry ${PN} "VeraCrypt" ${PN} "System"
+ fi
+
+ pax-mark -m "${D%/}/usr/bin/veracrypt"
+}
+
+pkg_postinst() {
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+}
diff --git a/app-crypt/veracrypt/veracrypt-1.21.ebuild b/app-crypt/veracrypt/veracrypt-1.21.ebuild
new file mode 100644
index 000000000000..dd4f4dc2c80e
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.21.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils linux-info pax-utils toolchain-funcs wxwidgets
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
+SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz"
+
+LICENSE="Apache-2.0 truecrypt-3.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+asm +doc X"
+RESTRICT="bindist mirror"
+
+WX_GTK_VER="3.0"
+
+RDEPEND="
+ sys-fs/lvm2
+ sys-fs/fuse:0
+ x11-libs/wxGTK:${WX_GTK_VER}[X?]
+ app-admin/sudo
+ dev-libs/pkcs11-helper
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ asm? ( dev-lang/yasm )
+"
+
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+HTML_DOCS=( "${S}"/../doc/html/. )
+DOCS=( Readme.txt )
+
+pkg_setup() {
+ local CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
+ linux-info_pkg_setup
+
+ setup-wxwidgets
+}
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ )
+ use X || myemakeargs+=( NOGUI=1 )
+ use asm || myemakeargs+=( NOASM=1 )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ "${S}/Main/veracrypt" --text --test || die "tests failed"
+}
+
+src_install() {
+ dobin Main/veracrypt
+ use doc && einstalldocs
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ if use X; then
+ local s
+ for s in 16 48 128 256; do
+ newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
+ done
+ make_desktop_entry ${PN} "VeraCrypt" ${PN} "Encryption;Encryption Tools;Utility;"
+ fi
+
+ pax-mark -m "${D%/}/usr/bin/veracrypt"
+}
+
+pkg_postinst() {
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+}
diff --git a/app-crypt/veracrypt/veracrypt-1.22.ebuild b/app-crypt/veracrypt/veracrypt-1.22.ebuild
new file mode 100644
index 000000000000..c1e8355fcbf2
--- /dev/null
+++ b/app-crypt/veracrypt/veracrypt-1.22.ebuild
@@ -0,0 +1,90 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit eutils linux-info pax-utils toolchain-funcs wxwidgets
+
+DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
+HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
+SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz"
+
+LICENSE="Apache-2.0 truecrypt-3.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+asm cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 +doc X"
+RESTRICT="bindist mirror"
+
+WX_GTK_VER="3.0"
+
+RDEPEND="
+ sys-fs/lvm2
+ sys-fs/fuse:0
+ x11-libs/wxGTK:${WX_GTK_VER}[X?]
+ app-admin/sudo
+ dev-libs/pkcs11-helper
+"
+DEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ asm? ( dev-lang/yasm )
+"
+
+S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
+HTML_DOCS=( "${S}"/../doc/html/. )
+DOCS=( Readme.txt )
+PATCHES=( "${FILESDIR}"/${PN}-1.22-sysmacros-fix.patch )
+
+pkg_setup() {
+ local CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
+ linux-info_pkg_setup
+
+ setup-wxwidgets
+}
+
+src_compile() {
+ local myemakeargs=(
+ NOSTRIP=1
+ NOTEST=1
+ VERBOSE=1
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ TC_EXTRA_CFLAGS="${CFLAGS}"
+ TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
+ TC_EXTRA_LFLAGS="${LDFLAGS}"
+ WX_CONFIG="${WX_CONFIG}"
+ $(usex X "" "NOGUI=1")
+ $(usex asm "" "NOASM=1")
+ $(usex cpu_flags_x86_sse4_1 "SSE41=1" "")
+ $(usex cpu_flags_x86_ssse3 "SSSE3=1" "")
+ )
+
+ emake "${myemakeargs[@]}"
+}
+
+src_test() {
+ "${S}/Main/veracrypt" --text --test || die "tests failed"
+}
+
+src_install() {
+ dobin Main/veracrypt
+ use doc && einstalldocs
+
+ newinitd "${FILESDIR}/${PN}.init" ${PN}
+
+ if use X; then
+ local s
+ for s in 16 48 128 256; do
+ newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
+ done
+ make_desktop_entry ${PN} "VeraCrypt" ${PN} "Utility;Security"
+ fi
+
+ pax-mark -m "${D%/}/usr/bin/veracrypt"
+}
+
+pkg_postinst() {
+ ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
+ ewarn "of the limitations on redistribution of binaries or modified source."
+}