diff mbox series

[bug#67755] gnu: Add imhex.

Message ID DU2P193MB2132C35D79D699156A2DB730F388A@DU2P193MB2132.EURP193.PROD.OUTLOOK.COM
State New
Headers show
Series [bug#67755] gnu: Add imhex. | expand

Commit Message

Sergio Pastor PĂ©rez Dec. 10, 2023, 8:06 p.m. UTC
* gnu/packages/hexedit.scm (imhex): New variable.

Change-Id: Iac50937ceecf617ebadf4b81d3321a262e28090b
---
Hello.

This package adds ImHex using specifically commit
`ef7898ea8d83d0e3f4897c221f8595112aad9f2d`. This is done since from commit
`eae3cd99eef6202d772e3d2d43298449b7a36233` [1], the offline build enabled with
`-DIMHEX_OFFLINE_BUILD=ON` avoids running networking tests during the check
phase.

Thanks,
Sergio.

[1]: https://github.com/WerWolv/ImHex/commit/eae3cd99eef6202d772e3d2d43298449b7a36233

 gnu/packages/hexedit.scm | 65 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 65 insertions(+)


base-commit: 63e06f30ce20fa846a7e2e814976fefcd9eda7d3
diff mbox series

Patch

diff --git a/gnu/packages/hexedit.scm b/gnu/packages/hexedit.scm
index 79c14a2996..b1cb006de3 100644
--- a/gnu/packages/hexedit.scm
+++ b/gnu/packages/hexedit.scm
@@ -21,14 +21,26 @@ 
 
 (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 glib)
+  #:use-module (gnu packages curl)
+  #:use-module (gnu packages ruby)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages engineering)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu))
 
 (define-public hexedit
@@ -93,6 +105,59 @@  (define-public ht
     (home-page "https://hte.sourceforge.net/")
     (license license:gpl2)))
 
+(define-public imhex
+  (let ((revision "0")
+        (commit "ef7898ea8d83d0e3f4897c221f8595112aad9f2d"))
+    (package
+      (name "imhex")
+      (version (git-version "1.31.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/WerWolv/ImHex")
+               (commit commit)
+               (recursive? #t)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0mqx9g3hzap1grav0n2fi54ph63kb9b0hx70zxkknq5rqp6mpy5m"))))
+      (build-system cmake-build-system)
+      (arguments
+       (list
+        #:configure-flags ''("-DIMHEX_OFFLINE_BUILD=ON"
+                             "-DCMAKE_BUILD_TYPE=Release"
+                             "-DCMAKE_BUILD_TYPE=Release")
+        #: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))
+      (inputs (list freetype
+                    libglvnd
+                    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")