diff options
author | Zac Medico <zmedico@gentoo.org> | 2017-10-16 00:30:31 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2017-10-16 00:35:15 -0700 |
commit | 3eb5eefcc21a755a7e29c791944532359a53ec04 (patch) | |
tree | abf50db7d66f5b102f88e15639de5e46e54768bb /app-text/podofo | |
parent | sys-kernel/git-sources: Automated version bump to 4.14_rc5. (diff) | |
download | gentoo-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.patch | 114 | ||||
-rw-r--r-- | app-text/podofo/podofo-0.9.6_pre20170629.ebuild | 4 |
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 |