This is an automated email from the git hooks/post-receive script.

guix_mirror_bot pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 84b56d3965 gnu: Add pax-utils.
84b56d3965 is described below

commit 84b56d3965b916c118f133daf2d299bb55c5e307
Author: Maxim Cournoyer <[email protected]>
AuthorDate: Tue Oct 21 15:21:54 2025 +0900

    gnu: Add pax-utils.
    
    * gnu/packages/elf.scm (pax-utils): New variable.
    
    Change-Id: If4978a63b3a654f1a93dcc901f153161df71692f
---
 gnu/packages/elf.scm         | 60 ++++++++++++++++++++++++++++++++++++++++++++
 gnu/packages/engineering.scm |  1 -
 2 files changed, 60 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index 0b435993ef..de6c340a11 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -15,6 +15,7 @@
 ;;; Copyright © 2024 Zheng Junjie <[email protected]>
 ;;; Copyright © 2025 John Kehayias <[email protected]>
 ;;; Copyright © 2025 Nicolas Graves <[email protected]>
+;;; Copyright © 2025 Maxim Cournoyer <[email protected]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,12 +38,17 @@
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix git-download)
+  #:use-module (guix build-system meson)
   #:use-module (guix build-system gnu)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages base)
+  #:use-module (gnu packages bash)
+  #:use-module (gnu packages docbook)
   #:use-module (gnu packages documentation)
+  #:use-module (gnu packages gawk)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages m4)
   #:use-module (gnu packages pkg-config)
@@ -391,6 +397,60 @@ changed.")
                 (substitute* "tests/set-empty-rpath.sh"
                   (("^\\$\\{SCRATCH\\}\\/simple.$") ""))))))))))
 
+(define-public pax-utils
+  (package
+    (name "pax-utils")
+    (version "1.3.8")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://anongit.gentoo.org/git/proj/pax-utils.git";)
+                     (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1vxklqnabhy15idrg5s2m07lk1hqyf9fnvsfy66n2rdmqijn5rvw"))))
+    (build-system meson-build-system)
+    (arguments
+     (list
+      #:modules '((guix build meson-build-system)
+                  (guix build utils)
+                  (srfi srfi-26))
+      #:configure-flags #~(list "-Dlddtree_implementation=sh")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'install 'wrap-lddtree
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let* ((needed-bin
+                      (map (cut string-append <> "/bin")
+                           (list #$(this-package-input "coreutils-minimal")
+                                 #$(this-package-input "gawk")
+                                 #$(this-package-input "sed")
+                                 #$output)))
+                     (PATH `("PATH" = (,@needed-bin))))
+                (for-each (lambda (p)
+                            (wrap-program
+                                (search-input-file outputs
+                                                   (string-append "bin/" p))
+                              PATH))
+                          (list "lddtree" "symtree"))))))))
+    (native-inputs (list docbook-xsl xmlto))
+    (inputs (list bash-minimal coreutils-minimal gawk sed))
+    (home-page "https://wiki.gentoo.org/wiki/Hardened/PaX_Utilities";)
+    (synopsis "ELF integrity and security-focused utils")
+    (description "The pax-utils package contains a small set of utilities
+for performing mostly security checks on systems.  It is focused on the ELF
+format.  The included utilities are:
+@table @command
+@item pspax List ELF/PaX information about running processes
+@item scanelf Scan ELF binaries
+@item dumpelf Dump internal ELF structure
+@item scanmacho Scan Mach-O binaries
+@item symtree Display libraries that satisfy undefined symbols, as a tree
+@item lddtree Display ELF dependencies as a tree.
+@end table")
+    (license license:gpl2+)))
+
 (define-public libdwarf
   (package
     (name "libdwarf")
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 2ad544d395..719a861f84 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -3858,7 +3858,6 @@ data structures and to operate on them.")
               (method url-fetch)
               (uri (string-append "mirror://gnu/poke/poke-elf-" version
                                   ".tar.gz"))
-
               (sha256
                (base32
                 "0x3shih7sjj34f5305kvbp4cfy11m92zwidjk3658m23zkd6gdqa"))))

Reply via email to