sys-fs/cryptsetup: Add LibreSSL patch.
authorAric Belsito <lluixhi@gmail.com>
Wed, 2 Nov 2016 20:44:44 +0000 (13:44 -0700)
committerLars Wendler <polynomial-c@gentoo.org>
Wed, 23 Nov 2016 09:27:55 +0000 (10:27 +0100)
Remove unused sysmacros patch.
Closes: https://github.com/gentoo/gentoo/pull/2724

sys-fs/cryptsetup/cryptsetup-1.7.3.ebuild
sys-fs/cryptsetup/files/cryptsetup-1.7.1-sysmacros.patch [deleted file]
sys-fs/cryptsetup/files/cryptsetup-1.7.3-libressl.patch [new file with mode: 0644]

index dd735e282e95c21b5df6199fb442cfeea3214a9b..894bc12cf9a1524c451acffc24d1504f396f45f7 100644 (file)
@@ -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 (file)
index 459cec6..0000000
+++ /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 (file)
index 0000000..a7a708f
--- /dev/null
@@ -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));