diff options
| author | Pjotr Prins | 2026-04-10 10:06:22 +0200 |
|---|---|---|
| committer | Pjotr Prins | 2026-04-10 10:06:22 +0200 |
| commit | 1688fff25938371d0a9f50a0a8a7d9279279515a (patch) | |
| tree | 0db2f23a7900d2232cdb33a15c9fee65b0e17b2f | |
| parent | 6a18d7ffd730dea629ba5198ecd13b00e946a175 (diff) | |
| download | pangemma-1688fff25938371d0a9f50a0a8a7d9279279515a.tar.gz | |
guix.scm moved
| -rw-r--r-- | guix.scm (renamed from guix/guix.scm) | 172 |
1 files changed, 47 insertions, 125 deletions
diff --git a/guix/guix.scm b/guix.scm index d8d593b..7440c81 100644 --- a/guix/guix.scm +++ b/guix.scm @@ -1,61 +1,50 @@ ;; To use this file to build HEAD of gemma: ;; -;; guix build -f guix/guix.scm # default builds pangemma-git +;; guix build -f guix.scm ;; ;; To get a development container (e.g., run in emacs shell). ;; -;; guix shell -C -D -F -f guix/guix.scm # pangemma-shell-git +;; guix shell -C -D -f guix.scm ;; -;; see premake5.lua for build/test instructions -;; -;; optimized for arch: -;; -;; guix shell --tune=native -C -D -F # pangemma-shell-git -;; -;; see premake5.lua header for examples. -;; -;; To optimize use guix --tune=march-type (e.g. --tune=native) - -(define-module (guix) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix gexp) - #:use-module (guix packages) - #:use-module (guix git-download) - #:use-module (guix build-system gnu) - #:use-module (guix utils) - #:use-module (gnu packages algebra) - #:use-module (gnu packages base) - #:use-module (gnu packages build-tools) - #:use-module (gnu packages compression) - #:use-module (gnu packages commencement) - #:use-module (gnu packages check) - #:use-module (gnu packages cpp) - #:use-module (gnu packages databases) - #:use-module (gnu packages gcc) - #:use-module (gnu packages gdb) - #:use-module (gnu packages guile) - #:use-module (gnu packages guile-xyz) - #:use-module (gnu packages maths) - #:use-module (gnu packages ninja) - #:use-module (gnu packages perl) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages ruby) - #:use-module (gnu packages time) - #:use-module (srfi srfi-1) - #:use-module (ice-9 popen) - #:use-module (ice-9 rdelim)) +(use-modules + ((guix licenses) #:prefix license:) + (guix gexp) + (guix packages) + (guix git-download) + (guix build-system gnu) + (guix utils) + (gnu packages algebra) + (gnu packages base) + (gnu packages compression) + (gnu packages bioinformatics) + (gnu packages build-tools) + (gnu packages check) + (gnu packages curl) + (gnu packages gcc) + (gnu packages gdb) + (gnu packages llvm) + (gnu packages maths) + (gnu packages ninja) + (gnu packages parallel) + (gnu packages perl) + ;; (gnu packages perl6) + (gnu packages ruby) + (gnu packages pkg-config) + ;; (gnu packages shell) ;; for shunit2 + (srfi srfi-1) + (ice-9 popen) + (ice-9 rdelim)) (define %source-dir (dirname (current-filename))) (define %git-commit - (read-string (open-pipe "git describe --always --tags --long|tr -d $'\n'" OPEN_READ))) + (read-string (open-pipe "git show HEAD | head -1 | cut -d ' ' -f 2" OPEN_READ))) -(define %pangemma-version - (read-string (open-pipe "cat VERSION|tr -d $'\n'" OPEN_READ))) +(define %gemma-version + (read-string (open-pipe "cat VERSION" OPEN_READ))) (define-public openblas-pangemma -;; we are fixating on an older openblas, for now (package (name "openblas-pangemma") (version "0.3.21") @@ -142,95 +131,28 @@ "OpenBLAS is a BLAS library forked from the GotoBLAS2-1.13 BSD version.") (license license:bsd-3))) -(define-public pangemma-base-git - "Pangemma base build package" - (package - (name "pangemma-git") - (version (git-version %pangemma-version "HEAD" %git-commit)) - (source (local-file %source-dir #:recursive? #t)) - (build-system gnu-build-system) - (inputs - (list gsl - openblas-pangemma - guile-3.0 - `(,guile-3.0 "debug") - ;; `(,guile-3.0 "dev") - guile-lmdb - lmdb - lmdbxx - pkg-config - ;; ninja - ;; ruby - time - zlib)) - ;; (propagated-inputs - ;; (list - ;; `("guile" ,guile-3.0-latest) - ;; `("guile-debug" ,guile-3.0-latest "debug") - ;; `("guile" ,guile-3.0-latest "dev"))) - - ;; ("gsl-static" ,gsl-static) - ;; ("zlib:static" ,zlib "static") - (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'validate-runpath) - (add-before 'build 'bin-mkdir - (lambda _ - (mkdir-p "bin") - )) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (install-file "bin/gemma" (string-append out "/bin")))))) - #:tests? #t - #:parallel-tests? #f)) - (home-page "https://git.genenetwork.org/pangemma/") - (synopsis "Tool for genome-wide efficient mixed model association") - (description "New version of Genome-wide Efficient Mixed Model Association (PANGEMMA) -provides a standard linear mixed model resolver with application in -genome-wide association studies (GWAS).") - (license license:gpl3))) - -(define-public pangemma-shell-git - "Shell version for development" - (package - (inherit pangemma-base-git) - (name "pangemma-shell-git") - (build-system gnu-build-system) - (propagated-inputs - (modify-inputs (package-inputs pangemma-base-git) - (append which binutils coreutils gcc-toolchain premake5 gnu-make gdb gperftools ;; for the shell - ))) - (arguments - `(#:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'package) - (delete 'check) - (delete 'install)))) - (description "Pangemma shell for development") - )) -;; ---- legacy build ----------------------------------------------------------------- (define-public gemma-git - "Original legacy gemma -- for as long as it compiles" (package (name "gemma-git") - (version (git-version %pangemma-version "HEAD" %git-commit)) + (version (git-version "0.98.5" "HEAD" %git-commit)) (source (local-file %source-dir #:recursive? #t)) (build-system gnu-build-system) (inputs - (list catch2 - gdb - gsl - openblas-pangemma - zlib)) + `( + ("catch" ,catch2) + ("gdb" ,gdb) ;; ("gsl-static" ,gsl-static) - ;; ("zlib:static" ,zlib "static") + ("gsl" ,gsl) + ("openblas" ,openblas-pangemma) + ("ruby" ,ruby) ;; for testing + ("zlib:static" ,zlib "static") + ("zlib" ,zlib))) + (native-inputs ; for running tests - (list perl which)) + `(("perl" ,perl) + ("which" ,which) + )) (arguments `(#:phases (modify-phases %standard-phases @@ -253,4 +175,4 @@ provides a standard linear mixed model resolver with application in genome-wide association studies (GWAS).") (license license:gpl3))) -pangemma-shell-git +gemma-git |
