<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>