aboutsummaryrefslogtreecommitdiff
path: root/crn
diff options
context:
space:
mode:
Diffstat (limited to 'crn')
-rw-r--r--crn/packages/elf.scm32
1 files changed, 32 insertions, 0 deletions
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.$") ""))))))))))