summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2017-10-16 00:30:31 -0700
committerZac Medico <zmedico@gentoo.org>2017-10-16 00:35:15 -0700
commit3eb5eefcc21a755a7e29c791944532359a53ec04 (patch)
treeabf50db7d66f5b102f88e15639de5e46e54768bb /app-text/podofo
parentsys-kernel/git-sources: Automated version bump to 4.14_rc5. (diff)
downloadgentoo-3eb5eefcc21a755a7e29c791944532359a53ec04.tar.gz
gentoo-3eb5eefcc21a755a7e29c791944532359a53ec04.tar.bz2
gentoo-3eb5eefcc21a755a7e29c791944532359a53ec04.zip
app-text/podofo: bug 614756 compile error with openssl-1.1
Thanks to Mark Wright <gienah@gentoo.org> for the initial patch. Fixes: https://bugs.gentoo.org/614756 Package-Manager: Portage-2.3.11, Repoman-2.3.3
Diffstat (limited to 'app-text/podofo')
-rw-r--r--app-text/podofo/files/podofo-0.9.6_pre20170629-openssl-1.1.patch114
-rw-r--r--app-text/podofo/podofo-0.9.6_pre20170629.ebuild4
2 files changed, 118 insertions, 0 deletions
diff --git a/app-text/podofo/files/podofo-0.9.6_pre20170629-openssl-1.1.patch b/app-text/podofo/files/podofo-0.9.6_pre20170629-openssl-1.1.patch
new file mode 100644
index 000000000000..22b1e419312c
--- /dev/null
+++ b/app-text/podofo/files/podofo-0.9.6_pre20170629-openssl-1.1.patch
@@ -0,0 +1,114 @@
+From f5da3b4d9e35a2df272f2f4056c3647454eaea95 Mon Sep 17 00:00:00 2001
+From: Zac Medico <zmedico@gmail.com>
+Date: Sun, 15 Oct 2017 23:04:57 -0700
+Subject: [PATCH] podofosign: fix compile errors with openssl-1.1.0f
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+https://sourceforge.net/p/podofo/mailman/message/36077904/
+
+This fixes the following compile errors with openssl-1.1.0f:
+
+tools/podofosign/podofosign.cpp:877:32: error: ‘OpenSSL_add_all_algorithms’ was not declared in this scope
+ OpenSSL_add_all_algorithms();
+ ^
+tools/podofosign/podofosign.cpp:878:29: error: ‘ERR_load_crypto_strings’ was not declared in this scope
+ ERR_load_crypto_strings();
+ ^
+tools/podofosign/podofosign.cpp:1085:22: error: ‘ERR_free_strings’ was not declared in this scope
+ ERR_free_strings();
+ ^
+
+This patch has been tested on Linux with openssl-1.0.2l and
+openssl-1.1.0f.
+
+Bug: https://bugs.gentoo.org/614756
+---
+ CMakeLists.txt | 12 ++++++++++--
+ tools/podofosign/podofosign.cpp | 7 +++++++
+ 2 files changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0c9a2ce..b4f7b3c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -325,6 +325,14 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX)
+ FIND_PACKAGE(ZLIB REQUIRED)
+ MESSAGE("Found zlib headers in ${ZLIB_INCLUDE_DIR}, library at ${ZLIB_LIBRARIES}")
+
++FIND_PACKAGE(OpenSSL)
++if(OpenSSL_FOUND)
++ SET(PODOFO_HAVE_OPENSSL TRUE)
++ INCLUDE_DIRECTORIES(${OPENSSL_INCLUDE_DIRS})
++ LINK_DIRECTORIES(${OPENSSL_LIBRARIES})
++ MESSAGE(STATUS "Using OpenSSL ${OPENSSL_VERSION}")
++ MESSAGE("Found OpenSSL ${OPENSSL_VERSION} headers in ${OPENSSL_INCLUDE_DIRS}, library at ${OPENSSL_LIBRARIES}")
++ELSE(OpenSSL_FOUND)
+ FIND_PACKAGE(LIBCRYPTO)
+
+ IF(LIBCRYPTO_FOUND)
+@@ -334,6 +342,7 @@ IF(LIBCRYPTO_FOUND)
+ ELSE(LIBCRYPTO_FOUND)
+ MESSAGE("OpenSSL's libCrypto not found. Encryption support will be disabled")
+ ENDIF(LIBCRYPTO_FOUND)
++ENDIF(OpenSSL_FOUND)
+
+ FIND_PACKAGE(LIBIDN)
+
+@@ -393,8 +402,6 @@ ENDIF(CppUnit_FOUND)
+
+ ENDIF(NOT PODOFO_BUILD_LIB_ONLY)
+
+-FIND_PACKAGE(OpenSSL)
+-
+ FIND_PACKAGE(FREETYPE REQUIRED)
+ MESSAGE("Found freetype library at ${FREETYPE_LIBRARIES}, headers ${FREETYPE_INCLUDE_DIR}")
+
+@@ -499,6 +506,7 @@ SET(PODOFO_LIB_DEPENDS
+ ${LIBCRYPTO_LDFLAGS}
+ ${LIBCRYPTO_LIBRARIES}
+ ${LIBJPEG_LIBRARIES}
++ ${OPENSSL_LIBRARIES}
+ ${PLATFORM_SYSTEM_LIBRARIES}
+ ${stlport_libraries_if_use_stlport}
+ ${FREETYPE_LIBRARIES}
+diff --git a/tools/podofosign/podofosign.cpp b/tools/podofosign/podofosign.cpp
+index b8f5f61..a7be1e5 100644
+--- a/tools/podofosign/podofosign.cpp
++++ b/tools/podofosign/podofosign.cpp
+@@ -27,6 +27,7 @@
+ #include <openssl/evp.h>
+ #include <openssl/err.h>
+ #include <openssl/pem.h>
++#include <openssl/ssl.h>
+ #include <openssl/x509.h>
+
+ #if defined(_WIN64)
+@@ -874,11 +875,15 @@ int main( int argc, char* argv[] )
+ outputfile = NULL;
+ }
+
++#ifdef PODOFO_HAVE_OPENSSL_1_1
++ OPENSSL_init_ssl(0, NULL);
++#else
+ OpenSSL_add_all_algorithms();
+ ERR_load_crypto_strings();
+ ERR_load_PEM_strings();
+ ERR_load_ASN1_strings();
+ ERR_load_EVP_strings();
++#endif
+
+ X509* cert = NULL;
+ EVP_PKEY* pkey = NULL;
+@@ -1082,7 +1087,9 @@ int main( int argc, char* argv[] )
+ result = e.GetError();
+ }
+
++#ifndef PODOFO_HAVE_OPENSSL_1_1
+ ERR_free_strings();
++#endif
+
+ if( pSignField )
+ delete pSignField;
+--
diff --git a/app-text/podofo/podofo-0.9.6_pre20170629.ebuild b/app-text/podofo/podofo-0.9.6_pre20170629.ebuild
index eb201c16581a..6362b4ee003c 100644
--- a/app-text/podofo/podofo-0.9.6_pre20170629.ebuild
+++ b/app-text/podofo/podofo-0.9.6_pre20170629.ebuild
@@ -30,8 +30,12 @@ DEPEND="${RDEPEND}
test? ( dev-util/cppunit )"
DOCS="AUTHORS ChangeLog TODO"
+PATCHES=(
+ "${FILESDIR}/${P}-openssl-1.1.patch"
+)
src_prepare() {
+ cmake-utils_src_prepare
local x sed_args
# The 0.9.6 ABI is not necessarily stable, so make PODOFO_SOVERSION