aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix.scm105
1 files changed, 56 insertions, 49 deletions
diff --git a/guix.scm b/guix.scm
index 4417452..384b314 100644
--- a/guix.scm
+++ b/guix.scm
@@ -7,34 +7,26 @@
;; guix shell -C -D -f guix.scm
;;
-(use-modules
- ((guix licenses) #:prefix license:)
- (guix gexp)
- (guix packages)
- (guix git-download)
- (guix build-system guile)
- (gnu packages algebra)
- (gnu packages base)
- (gnu packages bash)
- (gnu packages compression)
- (gnu packages bioinformatics)
- (gnu packages build-tools)
- (gnu packages certs)
- (gnu packages curl)
- (gnu packages gcc)
- (gnu packages guile)
- (gnu packages guile-xyz)
- (gnu packages llvm)
- (gnu packages ninja)
- (gnu packages parallel)
- (gnu packages perl)
- (gnu packages perl6)
- (gnu packages pkg-config)
- (gnu packages python)
- (gnu packages tls)
- (srfi srfi-1)
- (ice-9 popen)
- (ice-9 rdelim))
+(define-module (gn-guile-package)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system guile)
+ #:use-module (guix utils)
+ #:use-module (gnu packages build-tools)
+ #:use-module (gnu packages package-management)
+ #:use-module ((gnu packages bash) #:select (bash-minimal))
+ #:use-module ((gnu packages bioinformatics) #:select (gemma))
+ #:use-module ((gnu packages certs) #:select (nss-certs))
+ #:use-module ((gnu packages guile) #:select (guile-json-4 guile-3.0 guile-readline))
+ #:use-module ((gnu packages guile-xyz) #:select (guile-dbi guile-dbd-mysql guile-fibers guile-redis guile-hashing guile-commonmark))
+ #:use-module ((gnu packages parallel) #:select (parallel))
+ #:use-module ((gnu packages perl) #:select (perl))
+ #:use-module ((gnu packages tls) #:select (guile-gnutls openssl))
+ #:use-module (srfi srfi-1)
+ #:use-module (ice-9 popen)
+ #:use-module (ice-9 rdelim))
(define %source-dir (dirname (current-filename)))
@@ -45,27 +37,42 @@
(package
(name "gn-guile-git")
(version (git-version "4.0.0-" "HEAD" %git-commit))
- (source (local-file %source-dir #:recursive? #t))
+ (source (local-file %source-dir
+ #:recursive? #t
+ #:select? (or (git-predicate (dirname (current-source-directory)))
+ (const #t))))
(build-system guile-build-system)
-
- (inputs
- (list guile-3.0-latest bash-minimal perl
- guile-dbi guile-dbd-mysql guile-fibers guile-gnutls guile-readline guile-redis openssl nss-certs gemma parallel))
- (propagated-inputs
- (list guile-json-4))
-
-#!
- (arguments
- `(#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
- #:modules ((guix build guile-build-system)
- (guix build utils)
- (srfi srfi-26)
- (ice-9 ftw)
- (json))))
-!#
- (home-page "https://git.genenetwork.com/gn-guile")
- (synopsis "Next generation GN code in guile")
- (description "Use of guile.")
- (license license:gpl3)))
+ (propagated-inputs
+ (list guile-3.0 guile-dbi guile-dbd-mysql guile-fibers guile-gnutls guile-readline
+ guile-commonmark guile-redis openssl nss-certs gemma parallel guile-hashing))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; When using the guile-build-system, guild doesn't
+ ;; correctly set the GUILE_LOAD_PATH for the various guile
+ ;; packages in the build phase leading to build failures.
+ (add-before 'build 'augment-GUILE_LOAD_PATH
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((guile-version (target-guile-effective-version))
+ (guile-dbi-scm (string-append #$guile-dbi "/share/guile/site/2.2")))
+ ;; guild uses this: "\\.(scm|sls)$" regexp to try and
+ ;; compile all scm files in this repository. We don't
+ ;; need to compile guix.scm
+ (delete-file "guix.scm")
+ (setenv "GUILE_LOAD_PATH"
+ (string-append
+ guile-dbi-scm ":"
+ (format
+ #f "~{~a:~}"
+ (map (lambda (package)
+ (format #f "~a/share/guile/site/~a"
+ package guile-version))
+ (list #$guile-fibers #$guile-commonmark #$guile-json-4 #$guile-hashing)))
+ #$(getenv "GUILE_LOAD_PATH")))))))))
+ (home-page "https://git.genenetwork.com/gn-guile")
+ (synopsis "Next generation GN code in guile")
+ (description "Use of guile.")
+ (license license:gpl3)))
gn-guile-git