Subject: bug#67755: closed (Re: [PATCH v6 7/8] gnu: Add imhex-pattern-language.)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 26 Mar 2025 21:59:02 +0000

Your bug report

#67755: [PATCH] gnu: Add imhex.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
67755: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67755
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH v6 7/8] gnu: Add imhex-pattern-language.
From: Liliana Marie Prikler <[email-masked]>
To: Sergio Pastor Pérez <[email-masked]>, [email-masked]
Date: Wed, 26 Mar 2025 22:58:15 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Am Mittwoch, dem 19.03.2025 um 21:25 +0100 schrieb Sergio Pastor Pérez:
> On 3/19/25 18:00, Sergio Pastor Pérez wrote:
> > * gnu/packages/hexedit.scm (imhex-pattern-language): New variable.
> > 
> > Change-Id: I641bebed0bea9b2c8aca87f54d0fb457064a07d7
> > ---
> > Changes from v5:
> > * Use system fmt (fmt-11).
> 
> This is fine.
> 
> > * Use a keep list rather than a delete list.
> 
> Looks good to me.
> 
> > I think the header-only libraries should be provided as regular
> > inputs,
> > but haven't done that yet.
> 
> As you think goes more inline with Guix philosophy.
> 
> > +(define-public imhex-pattern-language
>  > [...]
> > +       (snippet #~(begin
> > +                    ;; NOTE: the `throwing-ptr' hasn't been
> > updated in 6 years
> > +                    ;; and the testsuite expects to use an
> > outdated version of
> 
> I wrote bad english here:
> > +                    ;; Conan, since this library if not
> > interesting to have it
> > +                    ;; in Guix it will remain bundled.
> 
> It should probably be:
> `since this library is not interesting for Guix, it will remain
> bundled.`
Pushed, sadly without the above changes.  I'll mark this as done and
maybe come back later to add the cosmetics.

Cheers

Subject: [PATCH] gnu: Add imhex.
From: Sergio Pastor Pérez <[email-masked]>
To: [email-masked]
Cc: Sergio Pastor Pérez <[email-masked]>
Date: Sun, 10 Dec 2023 21:06:44 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

* 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(+)

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")

base-commit: 63e06f30ce20fa846a7e2e814976fefcd9eda7d3
-- 
2.41.0