From c5da15d396a5ecc36a0729c22be6b6402d0b7b1b Mon Sep 17 00:00:00 2001 From: "Christopher R. Nelson" Date: Sun, 29 Sep 2024 10:05:32 -0400 Subject: add patchelf package --- README.rst | 1 + crn/packages/elf.scm | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 crn/packages/elf.scm diff --git a/README.rst b/README.rst index a0769c8..8d65912 100644 --- a/README.rst +++ b/README.rst @@ -8,6 +8,7 @@ packaged in the official repos. Included ======== +* patchelf-0.16.1 (needed for go apps) * cpplint-up: an updated version of cpplint. just the official package, with a later version * black-box: Guess where the crystals are! diff --git a/crn/packages/elf.scm b/crn/packages/elf.scm new file mode 100644 index 0000000..3e224a6 --- /dev/null +++ b/crn/packages/elf.scm @@ -0,0 +1,32 @@ +(define-module (crn packages elf) + #:use-module (guix gexp) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (gnu packages elf)) + +;; https://issues.guix.gnu.org/73541 by Hilton Chain +;; Newer patchelf may break binaries. e.g. When setting RUNPATH for a Go +;; program. +;; See also: https://github.com/NixOS/patchelf/issues/482 +(define-public patchelf-0.16 + (package + (inherit patchelf) + (name "patchelf") + (version "0.16.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/NixOS/patchelf/releases/download/" + version + "/patchelf-" version ".tar.bz2")) + (sha256 + (base32 + "0zdby3gpmm8q4735pviaq92zj41i2rdnhwhyrsb3sinc9hzmz4db")))) + (arguments + (substitute-keyword-arguments (package-arguments patchelf) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (add-after 'fix-tests 'skip-empty-rpath-test + (lambda _ + (substitute* "tests/set-empty-rpath.sh" + (("^\\$\\{SCRATCH\\}\\/simple.$") "")))))))))) -- cgit v1.2.3