bump app-editors/imhex

This commit is contained in:
RokuRokuYon 2025-02-23 13:12:00 +01:00
parent 0a2554c48b
commit fc83b3dc87
3 changed files with 58 additions and 33 deletions

View file

@ -1,5 +1,6 @@
Remove the different Werror flags we can find used Remove -Werror where we can not control it using flags
Should fix https://bugs.gentoo.org/921663 https://bugs.gentoo.org/921663
Submodule lib/external/pattern_language contains modified content
--- a/lib/external/pattern_language/cli/CMakeLists.txt --- a/lib/external/pattern_language/cli/CMakeLists.txt
+++ b/lib/external/pattern_language/cli/CMakeLists.txt +++ b/lib/external/pattern_language/cli/CMakeLists.txt
@@ -29,7 +29,7 @@ else() @@ -29,7 +29,7 @@ else()

View file

@ -1,14 +1,20 @@
Remove the compilation step that needs dotnet Remove dotnet from the application
https://bugs.gentoo.org/926761 https://bugs.gentoo.org/926761
--- a/plugins/script_loader/CMakeLists.txt --- a/plugins/script_loader/CMakeLists.txt
+++ b/plugins/script_loader/CMakeLists.txt +++ b/plugins/script_loader/CMakeLists.txt
@@ -45,8 +45,4 @@ if (CoreClrEmbed_FOUND) @@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 3.16)
if (IMHEX_BUNDLE_DOTNET)
install(FILES ${CoreClrEmbed_SHARED_LIBRARIES} DESTINATION ${CMAKE_INSTALL_LIBDIR}) include(ImHexPlugin)
endif ()
- -find_package(CoreClrEmbed)
- add_subdirectory(dotnet) -add_library(dotnet INTERFACE)
- add_dependencies(script_loader AssemblyLoader) if (CoreClrEmbed_FOUND)
- set(IMHEX_DOTNET_SCRIPT_SUPPORT ON)
endif ()
@@ -55,5 +53,4 @@ add_imhex_plugin(
c_api
fonts
ui
- dotnet
)
\ No newline at end of file \ No newline at end of file

View file

@ -3,7 +3,9 @@
EAPI=8 EAPI=8
inherit cmake llvm toolchain-funcs desktop LLVM_COMPAT=( {15..19} )
inherit cmake llvm-r1 toolchain-funcs flag-o-matic xdg-utils
DESCRIPTION="A hex editor for reverse engineers, programmers, and eyesight" DESCRIPTION="A hex editor for reverse engineers, programmers, and eyesight"
HOMEPAGE="https://github.com/WerWolv/ImHex" HOMEPAGE="https://github.com/WerWolv/ImHex"
@ -17,10 +19,14 @@ S_PATTERNS="${WORKDIR}/ImHex-Patterns-ImHex-v${PV}"
LICENSE="GPL-2" LICENSE="GPL-2"
SLOT="0" SLOT="0"
KEYWORDS="~amd64" KEYWORDS="~amd64"
IUSE="+system-llvm test lto" IUSE="+system-llvm test lto +desktop-portal"
RESTRICT="!test? ( test )" RESTRICT="!test? ( test )"
PATCHES=( PATCHES=(
# If virtual/dotnet-sdk is installed on your system, then cmake
# will use it at some point and try to access internet.
# Because it did not cause any issue, we can disable it
"${FILESDIR}/remove_dotnet.patch"
# Remove the different -Werror flags # Remove the different -Werror flags
"${FILESDIR}/remove_Werror.patch" "${FILESDIR}/remove_Werror.patch"
) )
@ -32,34 +38,45 @@ DEPEND="
app-forensics/yara:= app-forensics/yara:=
>=dev-cpp/nlohmann_json-3.10.2 >=dev-cpp/nlohmann_json-3.10.2
dev-libs/capstone:= dev-libs/capstone:=
dev-libs/nativefiledialog-extended:= >=dev-libs/nativefiledialog-extended-1.2.1[desktop-portal?]
>=dev-libs/libfmt-8.0.0:= >=dev-libs/libfmt-8.0.0:=
media-libs/fontconfig
media-libs/freetype media-libs/freetype
media-libs/glfw >=media-libs/glfw-3.4[X]
media-libs/glm media-libs/glm
media-libs/libglvnd media-libs/libglvnd
net-libs/mbedtls:= net-libs/mbedtls:=
net-misc/curl net-misc/curl
sys-apps/file sys-apps/file
sys-apps/xdg-desktop-portal
sys-libs/zlib sys-libs/zlib
virtual/libiconv virtual/libiconv
virtual/libintl virtual/libintl
" "
RDEPEND="${DEPEND}" RDEPEND="${DEPEND}"
BDEPEND=" BDEPEND="
system-llvm? ( sys-devel/llvm ) system-llvm? ( llvm-core/llvm )
app-admin/chrpath app-admin/chrpath
gnome-base/librsvg gnome-base/librsvg
" "
pkg_pretend() { pkg_pretend() {
if tc-is-gcc && [[ $(gcc-major-version) -lt 12 ]]; then if tc-is-gcc && [[ $(gcc-major-version) -lt 14 ]]; then
die "${PN} requires GCC 12 or newer" die "${PN} requires GCC 14 or newer"
fi fi
} }
src_unpack() {
default
mv "${S_PATTERNS}" "${S}/ImHex-Patterns"
}
src_configure() { src_configure() {
# Building ImHex with -Werror=strict-aliasing gives a failed build
# for tests/algorithms/source/endian.cpp, and ImHex usually has pretty
# clean build (without warnings), so it should be safe to do
filter-flags -Werror=strict-aliasing
if use test; then if use test; then
sed -ie "s/tests EXCLUDE_FROM_ALL/tests ALL/" "${S}/CMakeLists.txt" sed -ie "s/tests EXCLUDE_FROM_ALL/tests ALL/" "${S}/CMakeLists.txt"
fi fi
@ -71,15 +88,18 @@ src_configure() {
-D IMHEX_IGNORE_BAD_CLONE=ON \ -D IMHEX_IGNORE_BAD_CLONE=ON \
-D IMHEX_PATTERNS_PULL_MASTER=OFF \ -D IMHEX_PATTERNS_PULL_MASTER=OFF \
-D IMHEX_IGNORE_BAD_COMPILER=OFF \ -D IMHEX_IGNORE_BAD_COMPILER=OFF \
-D IMHEX_USE_GTK_FILE_PICKER=OFF \ -D IMHEX_USE_GTK_FILE_PICKER=$(usex !desktop-portal) \
-D IMHEX_DISABLE_STACKTRACE=ON \ -D IMHEX_DISABLE_STACKTRACE=OFF \
-D IMHEX_BUNDLE_DOTNET=OFF \ -D IMHEX_BUNDLE_DOTNET=OFF \
-D IMHEX_ENABLE_LTO=$(usex lto) \ -D IMHEX_ENABLE_LTO=$(usex lto) \
-D IMHEX_USE_DEFAULT_BUILD_SETTINGS=OFF \ -D IMHEX_USE_DEFAULT_BUILD_SETTINGS=OFF \
-D IMHEX_STRICT_WARNINGS=OFF \ -D IMHEX_STRICT_WARNINGS=OFF \
-D IMHEX_STATIC_LINK_PLUGINS=OFF \
-D IMHEX_ENABLE_UNITY_BUILD=OFF \
-D IMHEX_ENABLE_STD_ASSERTS=OFF \
-D IMHEX_ENABLE_UNIT_TESTS=$(usex test) \ -D IMHEX_ENABLE_UNIT_TESTS=$(usex test) \
-D IMHEX_ENABLE_PRECOMPILED_HEADERS=OFF \ -D IMHEX_ENABLE_PRECOMPILED_HEADERS=OFF \
-D IMHEX_DOTNET_SCRIPT_SUPPORT=OFF \ -D IMHEX_COMPRESS_DEBUG_INFO=OFF \
-D IMHEX_VERSION="${PV}" \ -D IMHEX_VERSION="${PV}" \
-D PROJECT_VERSION="${PV}" \ -D PROJECT_VERSION="${PV}" \
-D USE_SYSTEM_CAPSTONE=ON \ -D USE_SYSTEM_CAPSTONE=ON \
@ -87,19 +107,17 @@ src_configure() {
-D USE_SYSTEM_LLVM=$(usex system-llvm) \ -D USE_SYSTEM_LLVM=$(usex system-llvm) \
-D USE_SYSTEM_NFD=ON \ -D USE_SYSTEM_NFD=ON \
-D USE_SYSTEM_NLOHMANN_JSON=ON \ -D USE_SYSTEM_NLOHMANN_JSON=ON \
-D USE_SYSTEM_YARA=ON -D USE_SYSTEM_YARA=ON \
) )
cmake_src_configure cmake_src_configure
} }
src_install() { pkg_postinst() {
cmake_src_install xdg_desktop_database_update
xdg_mimeinfo_database_update
domenu "${S}/dist/${PN}.desktop" }
pkg_postrm() {
# Install patterns xdg_desktop_database_update
insinto /usr/share/imhex xdg_mimeinfo_database_update
rm -rf "${S_PATTERNS}/tests"
doins -r "${S_PATTERNS}"/*
} }