summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys-fs/cryptsetup/cryptsetup-1.7.3.ebuild3
-rw-r--r--sys-fs/cryptsetup/files/cryptsetup-1.7.1-sysmacros.patch60
-rw-r--r--sys-fs/cryptsetup/files/cryptsetup-1.7.3-libressl.patch12
3 files changed, 15 insertions, 60 deletions
diff --git a/sys-fs/cryptsetup/cryptsetup-1.7.3.ebuild b/sys-fs/cryptsetup/cryptsetup-1.7.3.ebuild
index dd735e282e95..894bc12cf9a1 100644
--- a/sys-fs/cryptsetup/cryptsetup-1.7.3.ebuild
+++ b/sys-fs/cryptsetup/cryptsetup-1.7.3.ebuild
@@ -46,6 +46,8 @@ DEPEND="${RDEPEND}
virtual/pkgconfig
static? ( ${LIB_DEPEND} )"
+PATCHES=( "${FILESDIR}"/${P}-libressl.patch )
+
pkg_setup() {
local CONFIG_CHECK="~DM_CRYPT ~CRYPTO ~CRYPTO_CBC ~CRYPTO_SHA256"
local WARNING_DM_CRYPT="CONFIG_DM_CRYPT:\tis not set (required for cryptsetup)\n"
@@ -57,6 +59,7 @@ pkg_setup() {
src_prepare() {
sed -i '/^LOOPDEV=/s:$: || exit 0:' tests/{compat,mode}-test || die
+ epatch "${PATCHES[@]}"
epatch_user && eautoreconf
if use python ; then
diff --git a/sys-fs/cryptsetup/files/cryptsetup-1.7.1-sysmacros.patch b/sys-fs/cryptsetup/files/cryptsetup-1.7.1-sysmacros.patch
deleted file mode 100644
index 459cec6dd3bc..000000000000
--- a/sys-fs/cryptsetup/files/cryptsetup-1.7.1-sysmacros.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-https://bugs.gentoo.org/580228
-
-From ca5f8f92c161d9bd3b0c539befc13199f8a60813 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Tue, 19 Apr 2016 02:13:00 -0400
-Subject: [PATCH] include sys/sysmacros.h for major/minor/makedev
-
-These functions are defined in that header, so include it when needed.
-Otherwise we can get build failures like:
-veritysetup-utils_loop.o: In function '_sysfs_backing_file':
-utils_loop.c:(.text+0x50): undefined reference to 'minor'
-utils_loop.c:(.text+0x5e): undefined reference to 'major'
-veritysetup-utils_loop.o: In function 'crypt_loop_device':
-utils_loop.c:(.text+0x638): undefined reference to 'major'
-../lib/.libs/libcryptsetup.so: undefined reference to 'makedev'
----
- lib/utils_devpath.c | 1 +
- lib/utils_loop.c | 1 +
- lib/utils_wipe.c | 1 +
- 3 files changed, 3 insertions(+)
-
-diff --git a/lib/utils_devpath.c b/lib/utils_devpath.c
-index 963785a..0bc0563 100644
---- a/lib/utils_devpath.c
-+++ b/lib/utils_devpath.c
-@@ -30,6 +30,7 @@
- #include <errno.h>
- #include <limits.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include "internal.h"
-
-diff --git a/lib/utils_loop.c b/lib/utils_loop.c
-index d7b03a1..36d4c46 100644
---- a/lib/utils_loop.c
-+++ b/lib/utils_loop.c
-@@ -27,6 +27,7 @@
- #include <limits.h>
- #include <sys/ioctl.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <sys/types.h>
- #include <linux/loop.h>
-
-diff --git a/lib/utils_wipe.c b/lib/utils_wipe.c
-index 210c566..8e2a2aa 100644
---- a/lib/utils_wipe.c
-+++ b/lib/utils_wipe.c
-@@ -29,6 +29,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/ioctl.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
-
- #include "libcryptsetup.h"
---
-2.7.4
-
diff --git a/sys-fs/cryptsetup/files/cryptsetup-1.7.3-libressl.patch b/sys-fs/cryptsetup/files/cryptsetup-1.7.3-libressl.patch
new file mode 100644
index 000000000000..a7a708f427a3
--- /dev/null
+++ b/sys-fs/cryptsetup/files/cryptsetup-1.7.3-libressl.patch
@@ -0,0 +1,12 @@
+diff -Naur cryptsetup-1.7.3.orig/lib/crypto_backend/crypto_openssl.c cryptsetup-1.7.3/lib/crypto_backend/crypto_openssl.c
+--- cryptsetup-1.7.3.orig/lib/crypto_backend/crypto_openssl.c 2016-10-28 01:58:10.000000000 -0700
++++ cryptsetup-1.7.3/lib/crypto_backend/crypto_openssl.c 2016-11-02 13:38:46.094483756 -0700
+@@ -73,7 +73,7 @@
+ /*
+ * Compatible wrappers for OpenSSL < 1.1.0
+ */
+-#if OPENSSL_VERSION_NUMBER < 0x10100000L
++#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
+ static EVP_MD_CTX *EVP_MD_CTX_new(void)
+ {
+ EVP_MD_CTX *md = malloc(sizeof(*md));