diff options
author | David Thompson <dthompson2@worcester.edu> | 2015-02-23 18:18:59 -0500 |
---|---|---|
committer | David Thompson <dthompson2@worcester.edu> | 2015-03-02 17:33:53 -0500 |
commit | 7e7c6a1ac06a8e04acbdc9bbfe9ccc039d188977 (patch) | |
tree | b5e7a942da6f360713288d5866113bb05095a607 /guix/build | |
parent | 927ff2c379bbab184a7b783d5cec91e53ceaa7e2 (diff) | |
download | gnu-guix-7e7c6a1ac06a8e04acbdc9bbfe9ccc039d188977.tar gnu-guix-7e7c6a1ac06a8e04acbdc9bbfe9ccc039d188977.tar.gz |
build: ruby: Add gitify phase.
* guix/build-system/ruby.scm (lower): Add git as implicit input.
* guix/build/ruby-build-system.scm (gitify): New procedure.
(%standard-phases): Add gitify phase.
Diffstat (limited to 'guix/build')
-rw-r--r-- | guix/build/ruby-build-system.scm | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index 2b3ba7c8cd..933788cf90 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -39,6 +39,14 @@ directory." ((file-name . _) file-name) (() (error "No files matching pattern: " pattern)))) +;; Most gemspecs assume that builds are taking place within a git repository +;; by include calls to 'git ls-files'. In order for these gemspecs to work +;; as-is, every file in the source tree is added to the staging area. +(define gitify + (lambda _ + (and (zero? (system* "git" "init")) + (zero? (system* "git" "add" "."))))) + (define build (lambda _ (zero? (system* "gem" "build" (first-matching-file "\\.gemspec$"))))) @@ -62,13 +70,16 @@ directory." (first-matching-file "\\.gem$"))))) (define %standard-phases - (alist-replace - 'build build + (alist-cons-after + 'unpack 'gitify gitify (alist-replace - 'install install + 'build build (alist-replace - 'check check - (alist-delete 'configure gnu:%standard-phases))))) + 'install install + (alist-replace + 'check check + (alist-delete + 'configure gnu:%standard-phases)))))) (define* (ruby-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) |