From ed35669ab6cbb97a1620f34c73e9fefffe1e7e42 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Tue, 3 May 2022 02:27:08 -0400 Subject: [PATCH] New package: imhex-1.19.1 closes #36954 --- srcpkgs/imhex-patterns | 1 + srcpkgs/imhex/patches/fix-cmake.patch | 23 +++++++++++++ srcpkgs/imhex/patches/no-Werror.patch | 37 +++++++++++++++++++++ srcpkgs/imhex/template | 47 +++++++++++++++++++++++++++ 4 files changed, 108 insertions(+) create mode 120000 srcpkgs/imhex-patterns create mode 100644 srcpkgs/imhex/patches/fix-cmake.patch create mode 100644 srcpkgs/imhex/patches/no-Werror.patch create mode 100644 srcpkgs/imhex/template diff --git a/srcpkgs/imhex-patterns b/srcpkgs/imhex-patterns new file mode 120000 index 000000000000..9f335cad9f82 --- /dev/null +++ b/srcpkgs/imhex-patterns @@ -0,0 +1 @@ +imhex \ No newline at end of file diff --git a/srcpkgs/imhex/patches/fix-cmake.patch b/srcpkgs/imhex/patches/fix-cmake.patch new file mode 100644 index 000000000000..818e3b14c75c --- /dev/null +++ b/srcpkgs/imhex/patches/fix-cmake.patch @@ -0,0 +1,23 @@ +upstream tries to detect a clone without submodules, but poorly +it also tries to pull in a repo at compile-time using git + +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -11,7 +11,6 @@ + + # Make sure project is configured correctly + setDefaultBuiltTypeIfUnset() +-detectBadClone() + + # List plugin names here. Project name must match folder name + set(PLUGINS +--- a/cmake/build_helpers.cmake ++++ b/cmake/build_helpers.cmake +@@ -225,7 +225,6 @@ + install(FILES ${CMAKE_SOURCE_DIR}/dist/imhex.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications) + install(FILES ${CMAKE_SOURCE_DIR}/resources/icon.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/pixmaps RENAME imhex.png) + install(FILES "$" DESTINATION "${CMAKE_INSTALL_LIBDIR}") +- downloadImHexPatternsFiles("./share/imhex") + endif() + + if (CREATE_BUNDLE) diff --git a/srcpkgs/imhex/patches/no-Werror.patch b/srcpkgs/imhex/patches/no-Werror.patch new file mode 100644 index 000000000000..0dcc3eded0da --- /dev/null +++ b/srcpkgs/imhex/patches/no-Werror.patch @@ -0,0 +1,37 @@ +--- a/lib/libimhex/CMakeLists.txt ++++ b/lib/libimhex/CMakeLists.txt +@@ -149,7 +149,7 @@ + + add_library(libimhex SHARED ${LIBIMHEX_SOURCES}) + set_target_properties(libimhex PROPERTIES POSITION_INDEPENDENT_CODE ON) +-target_compile_options(libimhex PRIVATE -Wall -Wextra -Werror) ++target_compile_options(libimhex PRIVATE -Wall -Wextra) + + 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_link_directories(libimhex PUBLIC ${MBEDTLS_LIBRARY_DIR} ${CAPSTONE_LIBRARY_DIRS} ${MAGIC_LIBRARY_DIRS}) +--- a/main/CMakeLists.txt ++++ b/main/CMakeLists.txt +@@ -15,7 +15,7 @@ + ) + + target_include_directories(main PUBLIC include) +-target_compile_options(main PRIVATE -Wall -Wextra -Werror) ++target_compile_options(main PRIVATE -Wall -Wextra) + + set_target_properties(main PROPERTIES + OUTPUT_NAME "imhex" +@@ -33,4 +33,4 @@ + + if (APPLE) + add_compile_definitions(GL_SILENCE_DEPRECATION) +-endif () +\ No newline at end of file ++endif () +--- a/plugins/builtin/CMakeLists.txt ++++ b/plugins/builtin/CMakeLists.txt +@@ -75,4 +75,4 @@ + + add_compile_definitions(IMHEX_PROJECT_NAME="${PROJECT_NAME}") + set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON) +-target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra -Werror) ++target_compile_options(${PROJECT_NAME} PRIVATE -Wall -Wextra) diff --git a/srcpkgs/imhex/template b/srcpkgs/imhex/template new file mode 100644 index 000000000000..c2299b0e9246 --- /dev/null +++ b/srcpkgs/imhex/template @@ -0,0 +1,47 @@ +# Template file for 'imhex' +# TODO: when capstone v5 is out, -DUSE_SYSTEM_CAPSTONE=ON +pkgname=imhex +# cannot update further until gcc is updated +version=1.19.1 +revision=1 +_patterns_version=48dd8f68ca04f56a6111b4c0e936648f271638de +create_wrksrc=yes +build_wrksrc="ImHex" +build_style=cmake +configure_args="-DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_FMT=ON -DUSE_SYSTEM_LLVM=ON + -DUSE_SYSTEM_YARA=ON -DUSE_SYSTEM_NLOHMANN_JSON=ON" +hostmakedepends="pkg-config clang-tools-extra" +makedepends="libcurl-devel fmt-devel llvm12 jansson-devel yara-devel json-c++ + freetype-devel glfw-devel gtk+3-devel python3-devel file-devel mbedtls-devel" +short_desc="Hex editor for reverse engineers and programmers" +maintainer="classabbyamp " +license="GPL-2.0-or-later" +homepage="https://imhex.werwolv.net/" +changelog="https://github.com/WerWolv/ImHex/releases" +distfiles="https://github.com/WerWolv/ImHex/releases/download/v${version}/Full.Sources.tar.gz>imhex-${version}.tar.gz + https://github.com/WerWolv/ImHex-Patterns/archive/${_patterns_version}.tar.gz" +checksum="b6f1195986402bae72c3776fb092ebfe6adf4365939e1744b29d29e49039042e + d456f564247c012ec8bd6c8ec06d5714ece824380f806276fd30a1b0e310ac0e" + +# does not build/run properly, is only unit tests +make_check=no +patch_args="-Np1 -d $build_wrksrc" +ignore_elf_files="/usr/share/imhex/plugins/builtin.hexplug" + +# cmake can't deal with clang-tools-extra stuff (sancov) +nocross=yes + +if [ "$XBPS_TARGET_WORDSIZE" = 32 ]; then + broken="uses i128" +fi + +imhex-patterns_package() { + short_desc+=" - patterns and magic files" + depends="imhex" + pkg_install() { + vmkdir usr/share/imhex + for d in constants includes magic patterns tips; do + vcopy $wrksrc/ImHex-Patterns-${_patterns_version}/$d usr/share/imhex + done + } +}