Package: guix-patches;
Reported by: Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es>
Date: Sun, 10 Dec 2023 20:20:02 UTC
Severity: normal
Tags: patch
Done: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es> To: 67755 <at> debbugs.gnu.org Cc: Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es>, Sergio Pastor Pérez <sergio.pastorperez <at> outlook.es> Subject: [bug#67755] [PATCH v2] gnu: Add imhex. Date: Sat, 29 Jun 2024 14:15:39 +0200
* gnu/packages/hexedit.scm (imhex): New variable. Change-Id: Iac50937ceecf617ebadf4b81d3321a262e28090b --- Hello! I'm updating this patch since ImHex has been updated a few times since. You will notice that the ImHex repository contains a few submodules, many of the submodules are libraries which do not include a cmake 'Findxxx.cmake'. For some libraries, the build system provides the appropriate file, but not for all. We decided not to un-bundle the libraries for now, the maintainers will consider adding the appropriate files in the future. Once that's done, we can update the package and un-bundle the libraries. gnu/packages/hexedit.scm | 98 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm index 668699a28c..e730d160a6 100644 --- a/gnu/packages/hexedit.scm +++ b/gnu/packages/hexedit.scm @@ -22,14 +22,30 @@ (define-module (gnu packages hexedit) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages man) #:use-module (gnu packages ncurses) + #:use-module (gnu packages gl) + #:use-module (gnu packages tls) + #:use-module (gnu packages gcc) + #:use-module (gnu packages cpp) + #:use-module (gnu packages llvm) + #:use-module (gnu packages glib) + #:use-module (gnu packages curl) + #:use-module (gnu packages ruby) + #:use-module (gnu packages python) + #:use-module (gnu packages backup) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages engineering) + #:use-module (gnu packages pretty-print) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu)) (define-public hexedit @@ -94,6 +110,88 @@ (define-public ht (home-page "https://hte.sourceforge.net/") (license license:gpl2))) +(define-public imhex + (package + (name "imhex") + (version "1.35.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/WerWolv/ImHex") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1789hkqh78sg4cic09yq46bsy2vpk5y56b8g4q0r60si5y2vc9lh")))) + (build-system cmake-build-system) + (arguments + (list + ;; NOTE: there is an issue with the way the test library is linked with + ;; the output binaries. Tests are intrusive and should not be shipped + ;; with the release, when the issue is fixed we could add a phase which + ;; builds the package with the tests and runs the testsuite and a second + ;; build phase which prepares the output binary. + #:configure-flags ''("-DIMHEX_OFFLINE_BUILD=ON" + "-DIMHEX_ENABLE_UNIT_TESTS=ON" + ;; NOTE: required for the `validate-runpath' phase. + ;; If OFF the pluggings won't be able to find + ;; `libimhex.so' + "-DIMHEX_PLUGIN_ADD_INSTALL_PREFIX_TO_RPATH=ON" + + ;; TODO: remove unneeded submodules. + "-DUSE_SYSTEM_NLOHMANN_JSON=ON" + "-DUSE_SYSTEM_CAPSTONE=ON" + "-DUSE_SYSTEM_CLI11=ON" + "-DUSE_SYSTEM_LLVM=ON" + "-DUSE_SYSTEM_FMT=ON" + + ;; TODO: package them. + "-DUSE_SYSTEM_MINIAUDIO=OFF" + "-DUSE_SYSTEM_LUNASVG=OFF" + "-DUSE_SYSTEM_JTHREAD=OFF" + "-DUSE_SYSTEM_BOOST=OFF" + "-DUSE_SYSTEM_EDLIB=OFF" + "-DUSE_SYSTEM_YARA=OFF" + "-DUSE_SYSTEM_NFD=OFF") + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-gsettings + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "main/gui/source/window/linux_window.cpp" + (("dbus-send") + (search-input-file inputs "/bin/dbus-send"))))) + (add-before 'check 'build-tests + (lambda _ + (invoke "make" "unit_tests")))))) + (native-inputs (list gcc-13 + pkg-config + python + python-wrapper + ruby + mbedtls-apache + + ;; Third party submodules + nlohmann-json + capstone + llvm-17 + cli11 + fmt)) + (inputs (list freetype + libarchive + mesa + dbus + curl + glfw + dbus)) + (home-page "https://github.com/WerWolv/ImHex") + (synopsis "Hex Editor to display, decode and analyze binary data") + (description "Hex editor with many advanced features that can often only +be found in paid applications. Such features are a completely custom binary +template and pattern language to decode and highlight structures in the data, +a graphical node-based data processor to pre-process values before they're +displayed, a disassembler, diffing support, bookmarks and much much more.") + (license license:gpl2))) + (define-public bvi (package (name "bvi") base-commit: d601e953a463669a775ce17138e2b0f0c2e73ad9 -- 2.45.1
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.