diff options
author | Efraim Flashner <efraim@flashner.co.il> | 2019-03-28 20:18:02 +0200 |
---|---|---|
committer | Efraim Flashner <efraim@flashner.co.il> | 2019-03-28 20:19:44 +0200 |
commit | 7c86fdda7ceed11377b0e17b47c91598be59be52 (patch) | |
tree | b3e79f3f1cfcc9748a723461e2594c387ba9388b | |
parent | 0244952c11c0409597fce5c39dfbcafdfd2ea651 (diff) | |
download | guix-7c86fdda7ceed11377b0e17b47c91598be59be52.tar guix-7c86fdda7ceed11377b0e17b47c91598be59be52.tar.gz |
Revert "build-system/ruby: Use invoke."
This reverts commit 0244952c11c0409597fce5c39dfbcafdfd2ea651.
We prefer 'invoke', but the custom error handling works better with the
code as-is.
-rw-r--r-- | guix/build/ruby-build-system.scm | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index 49400b204d..63c94765f7 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -143,13 +143,16 @@ GEM-FLAGS are passed to the 'gem' invokation, if present." (gem-dir (string-append vendor-dir "/gems/" gem-name))) (setenv "GEM_VENDOR" vendor-dir) - (or (apply invoke "gem" "install" gem-file - "--verbose" - "--local" "--ignore-dependencies" "--vendor" - ;; Executables should go into /bin, not - ;; /lib/ruby/gems. - "--bindir" (string-append out "/bin") - gem-flags) + (or (zero? + ;; 'zero? system*' allows the custom error handling to function as + ;; expected, while 'invoke' raises its own exception. + (apply system* "gem" "install" gem-file + "--verbose" + "--local" "--ignore-dependencies" "--vendor" + ;; Executables should go into /bin, not + ;; /lib/ruby/gems. + "--bindir" (string-append out "/bin") + gem-flags)) (begin (let ((failed-output-dir (string-append (getcwd) "/out"))) (mkdir failed-output-dir) |