aports/testing/imhex/APKBUILD

104 lines
3.9 KiB
Plaintext

# Contributor: George Hopkins <george-hopkins@null.net>
# Maintainer: George Hopkins <george-hopkins@null.net>
pkgname=imhex
pkgver=1.17.0
pkgrel=1
_nativefiledialog=28ade5a5cc5d17cea8fe4034572cac8fd54eb53f
_xdgpp=f01f810714443d0f10c333d4d1d9c0383be41375
_libromfs=f14e88a72759f7121cb611abb7afa6d6a126c7cf
_capstone=d5141c04785678535c7792eddc21f146186e639f
_pattern_language=f276631e73cec898ec92d77b0e1744a0f0ed5e13
pkgdesc="Hex editor for reverse engineers and programmers"
url="https://github.com/WerWolv/ImHex"
# armhf, armv7: blocked by yara, int128
# ppc64le: textrel in libromfs
# x86: blocked by using int128
arch="all !armhf !armv7 !ppc64le !x86"
license="GPL-2.0-or-later"
options="!check" # No testsuite
makedepends="
capstone-dev
cmake
curl-dev
file-dev
fmt-dev
freetype-dev
glfw-dev
glm-dev
gtk+3.0-dev
llvm-dev
llvm-static
mbedtls-dev
nlohmann-json
openssl-dev
python3-dev
samurai
yara-dev
"
source="$pkgname-$pkgver.tar.gz::https://github.com/WerWolv/ImHex/archive/v$pkgver.tar.gz
nativefiledialog-$_nativefiledialog.tar.gz::https://github.com/btzy/nativefiledialog-extended/archive/$_nativefiledialog.tar.gz
libromfs-$_libromfs.tar.gz::https://github.com/WerWolv/libromfs/archive/$_libromfs.tar.gz
capstone-$_capstone.tar.gz::https://github.com/capstone-engine/capstone/archive/$_capstone.tar.gz
pattern_language-$_pattern_language.tar.gz::https://github.com/WerWolv/PatternLanguage/archive/$_pattern_language.tar.gz
https://git.sr.ht/~danyspin97/xdgpp/blob/$_xdgpp/xdg.hpp
"
builddir="$srcdir"/ImHex-$pkgver
prepare() {
default_prepare
mv "$srcdir"/nativefiledialog-extended-$_nativefiledialog/* \
"$builddir"/lib/external/nativefiledialog
mv "$srcdir"/libromfs-$_libromfs/* \
"$builddir"/lib/external/libromfs
mv "$srcdir"/xdg.hpp \
"$builddir"/lib/external/xdgpp
mv "$srcdir"/capstone-$_capstone/* \
"$builddir"/lib/external/capstone
mv "$srcdir"/PatternLanguage-$_pattern_language/* \
"$builddir"/lib/external/pattern_language
# use system deps, new cmake script fails if these are empty
# even if you set SYSTEM_ vars below..
rmdir "$builddir"/lib/external/curl
rmdir "$builddir"/lib/external/fmt
# cmake script checks if there are at least two files or fails..
# easier than patching
touch "$builddir"/lib/external/xdgpp/abc
sed -i 's|-Werror||g' \
lib/libimhex/CMakeLists.txt \
main/CMakeLists.txt \
plugins/builtin/CMakeLists.txt
}
build() {
# project cmake doesn't add llvm lib path correctly,
# this is the easiest fix
export LDFLAGS="$LDFLAGS -L$(llvm-config --libdir)"
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DUSE_SYSTEM_CURL=ON \
-DUSE_SYSTEM_NLOHMANN_JSON=ON \
-DUSE_SYSTEM_FMT=ON \
-DUSE_SYSTEM_LLVM=ON \
-DUSE_SYSTEM_YARA=ON
cmake --build build
}
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
32d6979cef39a4428393ca75d806a06c64928ad805112b5c36d09613c397a0a8db0ed10e4214b9545b17dc67067c9ece833b1cf937f6f83fa5915b20dc7c770d imhex-1.17.0.tar.gz
8910a3f80a009de0a14c0efa777e235161f17da9552ae5dd28266dc8eec8459fdc4efc9c067cdc3433201cfc65eafd6d06d28d4360c8d1f01f4118923ac13052 nativefiledialog-28ade5a5cc5d17cea8fe4034572cac8fd54eb53f.tar.gz
077819e008b77e1107f5dce7757cba92ab05a92441776c85d6730f1d04e758cd11ace9a952b04601dedeee437cfa8eae73a89ab167abeb708a39950fe9ea0644 libromfs-f14e88a72759f7121cb611abb7afa6d6a126c7cf.tar.gz
de9cf7da9fc3e502165b28b998b472791c8d5366e1a1a1fabd6bb8856a6fae80bf7d1fc4d268572d69c3526161bb0509a598ad4d94207e25a62aff6a5f9e9404 capstone-d5141c04785678535c7792eddc21f146186e639f.tar.gz
ce5240378dc1a0205f39e309aea497cf1d1f5469ff2492596bf2e12b7886059091ac41fcd32df23fae83f1ae70a58746d94bdcef20f602422b39db7a99743103 pattern_language-f276631e73cec898ec92d77b0e1744a0f0ed5e13.tar.gz
0cb56ded30b4eb9d4fc3b4879d9bb5d5c084e67bfe9820264c1ae606f4964e18391cf327fd64b0ca42f89c5c469afa9622b003a1642c584e3da249caefd0373f xdg.hpp
"