# Maintainer: KokaKiwi # Contributor: George Rawlinson _pkgname=ImHex pkgname=${_pkgname,,} pkgver=1.18.0 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' 'mbedtls' 'libssh2' 'python' 'freetype2' 'file' 'gtk3' 'hicolor-icon-theme' 'openssl' 'fmt' 'yara') makedepends=('git' 'cmake' 'glm' 'llvm' 'nlohmann-json' 'librsvg') optdepends=('imhex-patterns-git: ImHex base patterns') 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" "libromfs::git+https://github.com/WerWolv/libromfs" "capstone::git+https://github.com/capstone-engine/capstone#branch=next" "pattern_language::git+https://github.com/WerWolv/PatternLanguage" 0001-makepkg-Remove-external-stuff.patch 0002-archlinux-compat-Remove-unused-mbedTLS-code-from-lib.patch 0003-fix-Build-errors-with-GCC-12.1.0.patch imhex.desktop) cksums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' '1751714463' '580245095' '2664630175' '4178124713') sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'eab0ba36b1cbc09c7a0a88a4640106a484df4621f6e8b7b44169355512379004' 'fbff3cfb5eddc75fa22de0f29b8e53dd7afcf0ae117ec8541d03fb351e2f9f7f' 'f6b154b914a31873a2946ed84bcb6afee91050f3065c5d2bea4d4ea3d424215d' '72525512a241589cecd6141f32ad36cbe1b5b6f2629dd8ead0e37812321bdde6') b2sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP' 'd4a0dff313e6fc6be96acde3ff85515147f99ce5027f44795364a45010afe2e815430828bce84d00cbec280ddd61ca1ae3f7ac926d6840d27f01b6785c64d0b5' '20fcc6449d99e6ff2fbd1c9f62752b9535c6457ab337be18950fe323df6ab36b792ed701bb995cc3db416968984ab3bb4496d90b688ffdd5d8ae978de2c4628d' 'f1e36773169cc1d5ed0ada30383e0e5e37b4e6d764a998ac2c4b5b9fc990fca45e3143815f467669094b9e3b8b940f6bbb6f6d5595dfba1c98d718c8131a3db5' '7b2d029de385fdc2536f57a4364add9752b9a5dc31df501e07bff1fd69fdd1de2afa19a5ac5a4c87fbf21c5d87cc96d3fe30d58825c050f5a7d25f6d85d08efc') options=(!lto) prepare() { cd "$pkgname" git submodule init for name in nativefiledialog xdgpp libromfs capstone pattern_language; do git config submodule.lib/external/$name.url "$srcdir/$name" done for name in fmt curl yara/yara; do git config --remove-section submodule.lib/external/$name done git submodule update git apply \ "$srcdir/0001-makepkg-Remove-external-stuff.patch" \ "$srcdir/0002-archlinux-compat-Remove-unused-mbedTLS-code-from-lib.patch" \ "$srcdir/0003-fix-Build-errors-with-GCC-12.1.0.patch" } build() { 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_FLAGS="$CFLAGS -Wno-error=restrict" \ -D CMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=restrict" \ -D USE_SYSTEM_LLVM=ON \ -D USE_SYSTEM_YARA=ON \ -D USE_SYSTEM_FMT=ON \ -D USE_SYSTEM_CURL=ON \ -D USE_SYSTEM_NLOHMANN_JSON=ON \ -D USE_SYSTEM_CAPSTONE=OFF \ -D PROJECT_VERSION="$pkgver" cmake --build build } package() { # Executable install -Dm0755 build/imhex "$pkgdir/usr/bin/imhex" # Shared lib and plugins install -Dm0755 -t "$pkgdir/usr/lib" build/lib/libimhex/libimhex.so for plugin in builtin; do install -Dm0755 -t "$pkgdir/usr/share/imhex/plugins" "build/plugins/$plugin/$plugin.hexplug" done # Desktop file(s) install -Dm0644 -t "$pkgdir/usr/share/applications" imhex.desktop install -Dm0644 "$pkgname/resources/icon.svg" "$pkgdir/usr/share/icons/hicolor/scalable/apps/imhex.svg" for size in 32 48 64 128 256; do install -dm0755 "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps" rsvg-convert -a -f png -w $size -o "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/imhex.png" \ "$pkgname/resources/icon.svg" done # License install -Dm0644 "$pkgname/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # Documentation install -Dm0644 -t "$pkgdir/usr/share/doc/$pkgname" \ "$pkgname/README.md" }