summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO25
-rw-r--r--0001-warnings-fix-format-security-warnings.patch8
-rw-r--r--0002-makepkg-Remove-external-dependencies-check.patch45
-rw-r--r--0003-archlinux-compat-Replace-mbedTLS-by-OpenSSL-for-CURL.patch87
-rw-r--r--PKGBUILD43
5 files changed, 186 insertions, 22 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 6d0dbb72c840..3f9056399ebb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index 69568634b7af..2d1553946d0e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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
}