summaryrefslogtreecommitdiff
path: root/guix/build/ruby-build-system.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-09-13 21:28:01 +0200
committerLudovic Courtès <ludo@gnu.org>2015-09-13 21:28:01 +0200
commit75710da66710cef1d32053cd8f350d13057d02a7 (patch)
treeabef6a326c741b1eb18db866b2f2bacee3e5fc51 /guix/build/ruby-build-system.scm
parentab20c2cc33063ce783515d8ae7899ec7e2ca6f96 (diff)
parent610075f7c94c80b8321887b7ccf8bb1a7edd2b8e (diff)
Merge branch 'master' into core-updates
Diffstat (limited to 'guix/build/ruby-build-system.scm')
-rw-r--r--guix/build/ruby-build-system.scm16
1 files changed, 10 insertions, 6 deletions
diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm
index 90fab92f6a..4184ccc9ac 100644
--- a/guix/build/ruby-build-system.scm
+++ b/guix/build/ruby-build-system.scm
@@ -44,12 +44,16 @@ directory."
(define* (unpack #:key source #:allow-other-keys)
"Unpack the gem SOURCE and enter the resulting directory."
(and (zero? (system* "gem" "unpack" source))
- (begin
- ;; The unpacked gem directory is named the same as the archive, sans
- ;; the ".gem" extension.
- (chdir (match:substring (string-match "^(.*)\\.gem$"
- (basename source))
- 1))
+ ;; The unpacked gem directory is named the same as the archive, sans
+ ;; the ".gem" extension. It is renamed to simply "gem" in an effort to
+ ;; keep file names shorter to avoid UNIX-domain socket file names and
+ ;; shebangs that exceed the system's fixed maximum length when running
+ ;; test suites.
+ (let ((dir (match:substring (string-match "^(.*)\\.gem$"
+ (basename source))
+ 1)))
+ (rename-file dir "gem")
+ (chdir "gem")
#t)))
(define* (build #:key source #:allow-other-keys)