diff options
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | 0001-warnings-fix-format-security-warnings.patch | 8 | ||||
-rw-r--r-- | 0002-makepkg-Remove-external-dependencies-check.patch | 45 | ||||
-rw-r--r-- | 0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch | 87 | ||||
-rw-r--r-- | PKGBUILD | 43 |
5 files changed, 186 insertions, 22 deletions
@@ -1,7 +1,7 @@ pkgbase = imhex pkgdesc = A Hex Editor for Reverse Engineers, Programmers and people that value their eye sight when working at 3 AM - pkgver = 1.12.1 - pkgrel = 2 + pkgver = 1.13.1 + pkgrel = 1 url = https://github.com/WerWolv/ImHex arch = x86_64 license = GPL2 @@ -21,27 +21,40 @@ pkgbase = imhex depends = file depends = gtk3 depends = hicolor-icon-theme + depends = openssl depends = yara depends = fmt - source = imhex::git+https://github.com/WerWolv/ImHex.git#tag=v1.12.1 + source = imhex::git+https://github.com/WerWolv/ImHex.git#tag=v1.13.1 source = nativefiledialog::git+https://github.com/btzy/nativefiledialog-extended.git source = xdgpp::git+https://git.sr.ht/~danyspin97/xdgpp + source = libromfs::git+https://github.com/WerWolv/libromfs source = 0001-warnings-fix-format-security-warnings.patch + source = 0002-makepkg-Remove-external-dependencies-check.patch + source = 0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch source = imhex.desktop cksums = SKIP cksums = SKIP cksums = SKIP - cksums = 154827759 + cksums = SKIP + cksums = 2731343777 + cksums = 1065450062 + cksums = 1475329516 cksums = 4178124713 sha256sums = SKIP sha256sums = SKIP sha256sums = SKIP - sha256sums = bfa604de97d5204991c6055003c90f0e0296f7c41ccb2ab6bd114019d5e89d52 + sha256sums = SKIP + sha256sums = cd76811ae9ba4dec024789df7911bcde62068ca8bd7bc4b7b4929becab4a2cbe + sha256sums = ed7ec4af837d18800ce8b79098568447931f9265e9c88734441f8644124b6dc2 + sha256sums = 108dbeb30c796cc1a29a51462ee169162859d076a9916db4e47e2c34361c9b26 sha256sums = 72525512a241589cecd6141f32ad36cbe1b5b6f2629dd8ead0e37812321bdde6 b2sums = SKIP b2sums = SKIP b2sums = SKIP - b2sums = 5b44abe67644d3e3cd88818603235d30df720f40af7021d5ee32ded30171bbf9994461d4277edd0da9c3d92ff8393050bee16b9657b7e9892102ece8ac60eb03 + b2sums = SKIP + b2sums = f4c0c5018b14083c568a1b22fe546c146b267afb327240f94488d55cac14d321b2d18a949b0e2f2635641dbaca7c0a85f60de125219f563a38f1a11efb333b42 + b2sums = d80571606e5dac33720d0af44f100b6355c592626b6ef22033556020aff1c00b9b18864c0c9aa3f0a46ec8c371240eba63eb9878916d7cc0ed54114d3ffd09dd + b2sums = 65f84db4f5fcc30e0da3b3ab69f4c1dcc550f211755cd571249b5018cb835849ed575a5b852ee3f27f9a41ea679a757a238a9368b8d45ff8f89901b04423beda b2sums = 7b2d029de385fdc2536f57a4364add9752b9a5dc31df501e07bff1fd69fdd1de2afa19a5ac5a4c87fbf21c5d87cc96d3fe30d58825c050f5a7d25f6d85d08efc pkgname = imhex diff --git a/0001-warnings-fix-format-security-warnings.patch b/0001-warnings-fix-format-security-warnings.patch index ff2b305153ed..d5f4ae1baa49 100644 --- a/0001-warnings-fix-format-security-warnings.patch +++ b/0001-warnings-fix-format-security-warnings.patch @@ -1,17 +1,17 @@ -From ddef2718ea1ecb7ceb473e6c259b03bd8e1e3f47 Mon Sep 17 00:00:00 2001 +From 1868da8f50fa5e08465eaa11426a530083718525 Mon Sep 17 00:00:00 2001 From: KokaKiwi <kokakiwi+git@kokakiwi.net> Date: Sun, 28 Nov 2021 16:48:29 +0100 -Subject: [PATCH] warnings: fix format-security warnings +Subject: [PATCH 1/3] warnings: fix format-security warnings --- plugins/builtin/source/content/views/view_strings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/builtin/source/content/views/view_strings.cpp b/plugins/builtin/source/content/views/view_strings.cpp -index e2d51b7..c250fec 100644 +index f290067..d1ee31a 100644 --- a/plugins/builtin/source/content/views/view_strings.cpp +++ b/plugins/builtin/source/content/views/view_strings.cpp -@@ -133,7 +133,7 @@ namespace hex::plugin::builtin { +@@ -136,7 +136,7 @@ namespace hex::plugin::builtin { return 0; }, this); if (this->m_regex && !this->m_pattern_parsed) { diff --git a/0002-makepkg-Remove-external-dependencies-check.patch b/0002-makepkg-Remove-external-dependencies-check.patch new file mode 100644 index 000000000000..ea2aa06f62f1 --- /dev/null +++ b/0002-makepkg-Remove-external-dependencies-check.patch @@ -0,0 +1,45 @@ +From b52ee2bd5f6e9a88ece3640bc374dea4e5139016 Mon Sep 17 00:00:00 2001 +From: KokaKiwi <kokakiwi+git@kokakiwi.net> +Date: Mon, 10 Jan 2022 15:47:10 +0100 +Subject: [PATCH 2/3] makepkg: Remove external dependencies check + +--- + CMakeLists.txt | 1 - + cmake/build_helpers.cmake | 11 ----------- + 2 files changed, 12 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aa250cf..9037111 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,7 +20,6 @@ set(PLUGINS + detectOS() + detectArch() + setDefaultBuiltTypeIfUnset() +-detectBadClone() + + # Add bundled dependencies + add_subdirectory(plugins/libimhex) +diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake +index 9bee5b7..83501e8 100644 +--- a/cmake/build_helpers.cmake ++++ b/cmake/build_helpers.cmake +@@ -257,14 +257,3 @@ macro(setDefaultBuiltTypeIfUnset) + set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release") + endif() + endmacro() +- +-macro(detectBadClone) +- file (GLOB EXTERNAL_DIRS "external/*") +- foreach (EXTERNAL_DIR ${EXTERNAL_DIRS}) +- file(GLOB RESULT "${EXTERNAL_DIR}/*") +- list(LENGTH RESULT ENTRY_COUNT) +- if(ENTRY_COUNT LESS_EQUAL 1) +- message(FATAL_ERROR "External dependency ${EXTERNAL_DIR} is empty!\nMake sure to correctly clone ImHex using the --recurse-submodules git option or initialize the submodules manually.") +- endif() +- endforeach () +-endmacro() +\ No newline at end of file +-- +2.34.1 + diff --git a/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch b/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch new file mode 100644 index 000000000000..65916e32f21f --- /dev/null +++ b/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch @@ -0,0 +1,87 @@ +From 8d0a62e99852b81851f2eb92ce64f8a931fdd42e Mon Sep 17 00:00:00 2001 +From: KokaKiwi <kokakiwi+git@kokakiwi.net> +Date: Mon, 10 Jan 2022 15:48:20 +0100 +Subject: [PATCH 3/3] archlinux-compat: Replace mbedTLS by OpenSSL for CURL + +--- + plugins/libimhex/CMakeLists.txt | 6 ++++-- + plugins/libimhex/source/helpers/net.cpp | 20 ++++++++++++-------- + 2 files changed, 16 insertions(+), 10 deletions(-) + +diff --git a/plugins/libimhex/CMakeLists.txt b/plugins/libimhex/CMakeLists.txt +index d2c1bd4..56dd879 100644 +--- a/plugins/libimhex/CMakeLists.txt ++++ b/plugins/libimhex/CMakeLists.txt +@@ -82,6 +82,7 @@ endif() + + + find_package(mbedTLS 2.26.0 REQUIRED) ++find_package(OpenSSL REQUIRED) + configurePython() + + pkg_search_module(MAGIC libmagic>=5.39) +@@ -155,7 +156,7 @@ endif () + add_library(libimhex SHARED ${LIBIMHEX_SOURCES}) + set_target_properties(libimhex PROPERTIES POSITION_INDEPENDENT_CODE ON) + +-target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS}) ++target_include_directories(libimhex PUBLIC include ${XDGPP_INCLUDE_DIRS} ${MBEDTLS_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS} ${CAPSTONE_INCLUDE_DIRS} ${MAGIC_INCLUDE_DIRS} ${Python_INCLUDE_DIRS} ${LLVM_INCLUDE_DIRS} ${FMT_INCLUDE_DIRS} ${CURL_INCLUDE_DIRS} ${YARA_INCLUDE_DIRS}) + target_link_directories(libimhex PUBLIC ${MBEDTLS_LIBRARY_DIR} ${CAPSTONE_LIBRARY_DIRS} ${MAGIC_LIBRARY_DIRS}) + + if (APPLE) +@@ -163,4 +164,5 @@ if (APPLE) + target_link_libraries(libimhex PUBLIC ${FOUNDATION}) + endif () + +-target_link_libraries(libimhex PUBLIC imgui nfd magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${FMT_LIBRARIES} ${Python_LIBRARIES} libromfs) ++target_link_libraries(libimhex PUBLIC imgui nfd magic ${CAPSTONE_LIBRARIES} LLVMDemangle microtar ++ ${NLOHMANN_JSON_LIBRARIES} ${YARA_LIBRARIES} ${LIBCURL_LIBRARIES} ${MBEDTLS_LIBRARIES} ${OPENSSL_LIBRARIES} ${FMT_LIBRARIES} ${Python_LIBRARIES} libromfs) +diff --git a/plugins/libimhex/source/helpers/net.cpp b/plugins/libimhex/source/helpers/net.cpp +index 7b304a4..2a39bec 100644 +--- a/plugins/libimhex/source/helpers/net.cpp ++++ b/plugins/libimhex/source/helpers/net.cpp +@@ -6,7 +6,7 @@ + #include <filesystem> + #include <cstdio> + +-#include <mbedtls/ssl.h> ++#include <openssl/ssl.h> + + #include <curl/curl.h> + #include <nlohmann/json.hpp> +@@ -50,15 +50,19 @@ namespace hex { + } + + static CURLcode sslCtxFunction(CURL *ctx, void *sslctx, void *userdata) { +- auto* cfg = static_cast<mbedtls_ssl_config*>(sslctx); +- +- static mbedtls_x509_crt crt; +- mbedtls_x509_crt_init(&crt); ++ SSL_CTX *opensslctx = static_cast<SSL_CTX*>(sslctx); + + auto cacert = romfs::get("cacert.pem"); +- mbedtls_x509_crt_parse(&crt, reinterpret_cast<const u8*>(cacert.data()), cacert.size()); ++ BIO *bio = BIO_new_mem_buf(reinterpret_cast<const u8*>(cacert.data()), cacert.size()); ++ ++ X509 *cert = nullptr; ++ PEM_read_bio_X509(bio, &cert, 0, nullptr); ++ ++ X509_STORE *store = SSL_CTX_get_cert_store(opensslctx); ++ X509_STORE_add_cert(store, cert); + +- mbedtls_ssl_conf_ca_chain(cfg, &crt, nullptr); ++ X509_free(cert); ++ BIO_free(bio); + + return CURLE_OK; + } +@@ -243,4 +247,4 @@ namespace hex { + return { }; + } + +-} +\ No newline at end of file ++} +-- +2.34.1 + @@ -3,42 +3,54 @@ _pkgname=ImHex pkgname=${_pkgname,,} -pkgver=1.12.1 -pkgrel=2 +pkgver=1.13.1 +pkgrel=1 pkgdesc='A Hex Editor for Reverse Engineers, Programmers and people that value their eye sight when working at 3 AM' url='https://github.com/WerWolv/ImHex' license=('GPL2') arch=('x86_64') depends=('glfw' 'capstone' 'mbedtls' 'libssh2' 'capstone' - 'python' 'freetype2' 'file' 'gtk3' 'hicolor-icon-theme' + 'python' 'freetype2' 'file' 'gtk3' 'hicolor-icon-theme' 'openssl' 'yara' 'fmt') makedepends=('git' 'cmake' 'glm' 'llvm' 'nlohmann-json' 'librsvg') source=("$pkgname::git+https://github.com/WerWolv/ImHex.git#tag=v$pkgver" - "nativefiledialog::git+https://github.com/btzy/nativefiledialog-extended.git" - "xdgpp::git+https://git.sr.ht/~danyspin97/xdgpp" - 0001-warnings-fix-format-security-warnings.patch - imhex.desktop) + "nativefiledialog::git+https://github.com/btzy/nativefiledialog-extended.git" + "xdgpp::git+https://git.sr.ht/~danyspin97/xdgpp" + "libromfs::git+https://github.com/WerWolv/libromfs" + 0001-warnings-fix-format-security-warnings.patch + 0002-makepkg-Remove-external-dependencies-check.patch + 0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch + imhex.desktop) cksums=('SKIP' 'SKIP' 'SKIP' - '154827759' + 'SKIP' + '2731343777' + '1065450062' + '1475329516' '4178124713') sha256sums=('SKIP' 'SKIP' 'SKIP' - 'bfa604de97d5204991c6055003c90f0e0296f7c41ccb2ab6bd114019d5e89d52' + 'SKIP' + 'cd76811ae9ba4dec024789df7911bcde62068ca8bd7bc4b7b4929becab4a2cbe' + 'ed7ec4af837d18800ce8b79098568447931f9265e9c88734441f8644124b6dc2' + '108dbeb30c796cc1a29a51462ee169162859d076a9916db4e47e2c34361c9b26' '72525512a241589cecd6141f32ad36cbe1b5b6f2629dd8ead0e37812321bdde6') b2sums=('SKIP' 'SKIP' 'SKIP' - '5b44abe67644d3e3cd88818603235d30df720f40af7021d5ee32ded30171bbf9994461d4277edd0da9c3d92ff8393050bee16b9657b7e9892102ece8ac60eb03' + 'SKIP' + 'f4c0c5018b14083c568a1b22fe546c146b267afb327240f94488d55cac14d321b2d18a949b0e2f2635641dbaca7c0a85f60de125219f563a38f1a11efb333b42' + 'd80571606e5dac33720d0af44f100b6355c592626b6ef22033556020aff1c00b9b18864c0c9aa3f0a46ec8c371240eba63eb9878916d7cc0ed54114d3ffd09dd' + '65f84db4f5fcc30e0da3b3ab69f4c1dcc550f211755cd571249b5018cb835849ed575a5b852ee3f27f9a41ea679a757a238a9368b8d45ff8f89901b04423beda' '7b2d029de385fdc2536f57a4364add9752b9a5dc31df501e07bff1fd69fdd1de2afa19a5ac5a4c87fbf21c5d87cc96d3fe30d58825c050f5a7d25f6d85d08efc') prepare() { cd "$pkgname" git submodule init - for name in nativefiledialog xdgpp; do + for name in nativefiledialog xdgpp libromfs; do git config submodule.external/$name.url "$srcdir/$name" done for name in yara/yara fmt curl capstone; do @@ -47,21 +59,28 @@ prepare() { git submodule update git apply \ - "$srcdir/0001-warnings-fix-format-security-warnings.patch" + "$srcdir/0001-warnings-fix-format-security-warnings.patch" \ + "$srcdir/0002-makepkg-Remove-external-dependencies-check.patch" \ + "$srcdir/0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch" } build() { + # We force GCC for now as libromfs build with clang is broken. + cmake -B build -S "$pkgname" \ -Wno-dev \ -D CMAKE_BUILD_TYPE=RelWithDebInfo \ -D CMAKE_INSTALL_PREFIX=/usr \ -D CMAKE_SKIP_RPATH=ON \ + -D CMAKE_C_COMPILER="gcc" \ + -D CMAKE_CXX_COMPILER="g++" \ -D USE_SYSTEM_LLVM=ON \ -D USE_SYSTEM_YARA=ON \ -D USE_SYSTEM_FMT=ON \ -D USE_SYSTEM_CURL=ON \ -D USE_SYSTEM_CAPSTONE=ON \ -D USE_SYSTEM_NLOHMANN_JSON=ON \ + -D USE_SYSTEM_CAPSTONE=ON \ -D PROJECT_VERSION="$pkgver" cmake --build build } |