<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/da01e7cae1388ad2429d400e1be450feb528e78a">https://github.com/macports/macports-ports/commit/da01e7cae1388ad2429d400e1be450feb528e78a</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new da01e7cae13 retdec: fix build on old macOS
</span>da01e7cae13 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit da01e7cae1388ad2429d400e1be450feb528e78a
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Fri Nov 26 12:19:12 2021 +0100
<span style='display:block; white-space:pre;color:#404040;'> retdec: fix build on old macOS
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> It also switched to build agains system openssl, and force use of gmake
</span><span style='display:block; white-space:pre;color:#404040;'> for yara.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/63999
</span>---
devel/retdec/Portfile | 52 +++++-----
devel/retdec/files/patch-hardcoded-make-devel.diff | 21 +++++
devel/retdec/files/patch-hardcoded-make-v40.diff | 19 ++++
devel/retdec/files/patch-openssl-v40.diff | 49 ----------
devel/retdec/files/patch-system-openssl.diff | 105 +++++++++++++++++++++
5 files changed, 171 insertions(+), 75 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/Portfile b/devel/retdec/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 96fbfdf8e35..7359a5d624f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/retdec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/retdec/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,9 +4,10 @@ PortSystem 1.0
</span> PortGroup cmake 1.0
PortGroup github 1.0
PortGroup openssl 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compiler_blacklist_versions 1.0
</span>
github.setup avast retdec 4.0 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 4
</span> conflicts ${name}-devel
categories devel
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,36 +27,30 @@ post-patch {
</span> reinplace "s|\${CMAKE_INSTALL_PREFIX}|${destroot}\${CMAKE_INSTALL_PREFIX}|" ${worksrcpath}/CMakeLists.txt
reinplace "s|\${CMAKE_INSTALL_PREFIX}|${destroot}\${CMAKE_INSTALL_PREFIX}|" ${worksrcpath}/support/CMakeLists.txt
reinplace "s|DESTINATION \${SUPPORT_TARGET_DIR}/|DESTINATION \${RETDEC_INSTALL_SUPPORT_DIR}|" ${worksrcpath}/support/CMakeLists.txt
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${name} eq ${subport}} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # v4.0 requires stricly to use AppleClang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # anyway, it can be build by macports clang at old system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|\"AppleClang\"|\"AppleClang\" AND NOT \"\${CMAKE_CXX_COMPILER_ID}\" STREQUAL \"Clang\"|" ${worksrcpath}/deps/openssl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> }
if {${name} eq ${subport}} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # v4.0 includes OpenSSL 1.1.1l => use the same version.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # See https://github.com/avast/retdec/pull/807
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- openssl.branch 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> patch.pre_args -p1
<span style='display:block; white-space:pre;background:#ffe0e0;'>- patchfiles patch-openssl-v40.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles patch-hardcoded-make-v40.diff \
</span> patch-python3.diff \
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch-system-openssl.diff \
</span> patch-yara-syntax-error.diff
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.platform} eq "darwin" && ${os.major} < 18} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${subport} requires macOS 10.14 or later."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "incompatible macOS version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # 4.0's yara uses std::variant<>, which is broken on macOS <= 10.12
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.platform} eq "darwin" && ${os.major} <= 16} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_lib-append port:macports-libcxx
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.cxxflags-append -nostdinc++ -I${prefix}/include/libcxx/v1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.ldflags-append -L${prefix}/lib/libcxx
</span> }
}
compiler.cxx_standard \
2017
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Extend blacklist to cover macOS10.13
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {clang < 1100} {macports-clang-[4-9].0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> build.args-append CC=${configure.cc} \
CXX=${configure.cxx}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -75,12 +70,22 @@ depends_lib-append port:python39 \
</span> depends_run-append path:bin/dot:graphviz \
port:upx
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# error: /usr/bin/ranlib: unknown option character `n' in: -no_warning_for_no_symbols
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:cctools
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_RANLIB=${prefix}/bin/ranlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # NOTE: Force use of gmake; otherwise, macOS' make will be used for top-level
# subprocesses, while gmake will be used for lower-level ones. And jobserver
# coordination doesn't work between them, preventing proper limiting of parallel
# jobs!
# See: https://trac.macports.org/ticket/63999
build.cmd ${prefix}/bin/gmake
<span style='display:block; white-space:pre;background:#e0ffe0;'>+build.args-append MAKE=${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.env-append MAKE=${prefix}/bin/gmake
</span>
subport retdec-devel {
conflicts $name
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -94,20 +99,15 @@ subport retdec-devel {
</span> sha256 a0db993d9f41a0ae5a6ab649271f913105e618781452fa5ef9f4ff5fe80cca8a \
size 12133669
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ patch.pre_args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles patch-hardcoded-make-devel.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> # Before Catalina it also requires macports-libcxx
if {${os.platform} eq "darwin" && ${os.major} < 19} {
depends_lib-append port:macports-libcxx
configure.cxxflags-append -nostdinc++ -I${prefix}/include/libcxx/v1
configure.ldflags-append -L${prefix}/lib/libcxx
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.platform} eq "darwin" && ${os.major} < 17} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${subport} requires macOS 10.13 or later."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "incompatible macOS version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span> }
github.livecheck.regex {([^"v]+)}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/files/patch-hardcoded-make-devel.diff b/devel/retdec/files/patch-hardcoded-make-devel.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..cf02cc48578
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/retdec/files/patch-hardcoded-make-devel.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit 8d6885f48a2b29050131d6f30728636943b448d1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri Nov 26 10:04:47 2021 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Migrate hardcoded `make` to `${CMAKE_MAKE_PROGRAM}`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deps/yara/CMakeLists.txt b/deps/yara/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 02749436..6ddba209 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/deps/yara/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/deps/yara/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -40,8 +40,8 @@ if(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(YARAC_PATH ${YARA_WIN_DIR}/${MSVC_CONFIG}/${YARAC_NAME})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(YARA_LIBRARY_DIR ${YARA_DIR}/libyara/.libs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(YARA_CLEAN_COMMAND make clean)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(YARA_BUILD_COMMAND make -j${CPUS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(YARA_CLEAN_COMMAND ${CMAKE_MAKE_PROGRAM} clean)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(YARA_BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -j${CPUS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(YARAC_PATH ${YARA_DIR}/yarac)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/files/patch-hardcoded-make-v40.diff b/devel/retdec/files/patch-hardcoded-make-v40.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c1857ef4fd2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/retdec/files/patch-hardcoded-make-v40.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit d50b5bee8386af6c144ec4a37d766df99a5ddaa0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri Nov 26 10:06:27 2021 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Migrate hardcoded `make` to `${CMAKE_MAKE_PROGRAM}`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deps/yara/CMakeLists.txt b/deps/yara/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 51678362..28ea6045 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/deps/yara/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/deps/yara/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,7 +29,7 @@ if(MSVC)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(YARAC_PATH ${YARA_WIN_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/${YARAC_NAME})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(YARA_LIBRARY_DIR ${YARA_DIR}/libyara/.libs)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- set(YARA_BUILD_COMMAND make -j${CPUS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(YARA_BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -j${CPUS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set(YARAC_PATH ${YARA_DIR}/yarac)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/files/patch-openssl-v40.diff b/devel/retdec/files/patch-openssl-v40.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0823d7f8989..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/retdec/files/patch-openssl-v40.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,49 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-commit a0da280a962abde45d248bd0d7d95580c671f160
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Mon Nov 15 23:50:57 2021 +0100
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Upgrade OpenSSL to 1.1.1l to allow arm64 build
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/cmake/deps.cmake b/cmake/deps.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index fc775527..2e7aee31 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/cmake/deps.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/cmake/deps.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -35,13 +35,13 @@ set(LLVM_ARCHIVE_SHA256
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CACHE INTERNAL ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Commit for tag 1.1.1c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Commit for tag 1.1.1l
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_URL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "https://github.com/openssl/openssl/archive/97ace46e11dba4c4c2b7cb67140b6ec152cfaaf4.zip"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "https://github.com/openssl/openssl/archive/fb047ebc87b18bdc4cf9ddee9ee1f5ed93e56aff.zip"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CACHE INTERNAL "URL of OpenSSL archive to use."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_ARCHIVE_SHA256
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- "f093df5cfd7521d8f6a09f250d7e69159d1001c47419130e806488de8a6312d8"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ "04991d67b8be8f5f86ff01cc7f1cdf1501059beacecf5292a22f941102df0966"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- CACHE INTERNAL ""
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- )
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/deps/openssl/CMakeLists.txt b/deps/openssl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index d2d4144d..f6aa58e1 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/deps/openssl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/deps/openssl/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -99,6 +99,8 @@ elseif(OS_DARWIN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_CONFIGURE_ARCH "darwin-i386-cc")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- elseif(ARCH_X64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_CONFIGURE_ARCH "darwin64-x86_64-cc")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ elseif(ARCH_ARM64)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ set(OPENSSL_CONFIGURE_ARCH "darwin64-arm64-cc")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -110,7 +112,7 @@ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/openssl")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_SRC_DIR "${OPENSSL_PREFIX}/src/openssl")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_INSTALL_DIR "${OPENSSL_PREFIX}/src/openssl-install")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--set(OPENSSL_VERSION "1.1.1c")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(OPENSSL_VERSION "1.1.1l")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_DOWNLOAD_NAME "openssl.tar.gz")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(OPENSSL_CONFIGURE_OPTIONS
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/retdec/files/patch-system-openssl.diff b/devel/retdec/files/patch-system-openssl.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..35e2ee5385c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/retdec/files/patch-system-openssl.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,105 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+commit 17738d9443567412dcca418c5ef768e0e245c326
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Author: Kirill A. Korinsky <kirill@korins.ky>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri Nov 26 03:42:42 2021 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ v4.0: system openssl3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/cmake/options.cmake b/cmake/options.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 375882ac..6e43a116 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/cmake/options.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/cmake/options.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -497,9 +497,6 @@ set_if_at_least_one_set(RETDEC_ENABLE_LLVM
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RETDEC_ENABLE_CPDETECT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RETDEC_ENABLE_DEBUGFORMAT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-set_if_at_least_one_set(RETDEC_ENABLE_OPENSLL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- RETDEC_ENABLE_CRYPTO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_if_at_least_one_set(RETDEC_ENABLE_RAPIDJSON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RETDEC_ENABLE_AR_EXTRACTOR
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ RETDEC_ENABLE_AR_EXTRACTORTOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index cf5d8be5..e41dc8fc 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/deps/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/deps/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -22,7 +22,6 @@ cond_add_subdirectory(elfio RETDEC_ENABLE_ELFIO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cond_add_subdirectory(googletest RETDEC_ENABLE_GOOGLETEST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cond_add_subdirectory(keystone RETDEC_ENABLE_KEYSTONE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cond_add_subdirectory(llvm RETDEC_ENABLE_LLVM)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-cond_add_subdirectory(openssl RETDEC_ENABLE_OPENSLL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cond_add_subdirectory(rapidjson RETDEC_ENABLE_RAPIDJSON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cond_add_subdirectory(tinyxml2 RETDEC_ENABLE_TINYXML2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cond_add_subdirectory(whereami RETDEC_ENABLE_WHEREAMI)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2c2a70c5..30af3fcf 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/crypto/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/crypto/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,6 +6,8 @@ add_library(crypto STATIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_library(retdec::crypto ALIAS crypto)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++find_package(OpenSSL 1.1.1 REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_compile_features(crypto PUBLIC cxx_std_17)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_include_directories(crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,10 +17,9 @@ target_include_directories(crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ target_link_libraries(crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- PUBLIC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- retdec::deps::openssl-crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PRIVATE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ retdec::utils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ OpenSSL::Crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set_target_properties(crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/crypto/hash_context.cpp b/src/crypto/hash_context.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7aac59e3..8dd8c836 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/crypto/hash_context.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/crypto/hash_context.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -95,7 +95,11 @@ std::string HashContext::getHash()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (_currentAlgo == nullptr)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return {};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ std::vector<std::uint8_t> hash(EVP_MD_get_size(_currentAlgo));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ std::vector<std::uint8_t> hash(EVP_MD_size(_currentAlgo));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (EVP_DigestFinal(_ctx, hash.data(), nullptr) != 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return {};
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/crypto/retdec-crypto-config.cmake b/src/crypto/retdec-crypto-config.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index ed57d176..1760b3e7 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/crypto/retdec-crypto-config.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/crypto/retdec-crypto-config.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -5,7 +5,6 @@ if(NOT TARGET retdec::crypto)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ REQUIRED
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ COMPONENTS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ utils
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- openssl-crypto
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(${CMAKE_CURRENT_LIST_DIR}/retdec-crypto-targets.cmake)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/fileformat/types/certificate_table/certificate.cpp b/src/fileformat/types/certificate_table/certificate.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 72368257..5abdc696 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/fileformat/types/certificate_table/certificate.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/fileformat/types/certificate_table/certificate.cpp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -219,11 +219,15 @@ void Certificate::loadPublicKey()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PEM_write_bio_PUBKEY(memBio.get(), pubKey.get());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ publicKey = parsePublicKey(memBio.get());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if OPENSSL_VERSION_NUMBER >= 0x3000000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ publicKeyAlgo = OBJ_nid2sn(EVP_PKEY_get_base_id(pubKey.get()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if OPENSSL_VERSION_NUMBER >= 0x10100000L
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ publicKeyAlgo = OBJ_nid2sn(EVP_PKEY_base_id(pubKey.get()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ publicKeyAlgo = OBJ_nid2sn(OBJ_obj2nid(certImpl->cert_info->key->algor->algorithm));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void Certificate::loadSignatureAlgorithm()
</span></pre><pre style='margin:0'>
</pre>