aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-channel2
-rw-r--r--gn/packages/bioinformatics.scm229
-rw-r--r--gn/packages/genenetwork.scm18
-rw-r--r--gn/packages/guile.scm165
-rw-r--r--gn/packages/ocaml.scm4
-rw-r--r--gn/packages/static.scm2
-rw-r--r--gn/services/databases.scm24
7 files changed, 317 insertions, 127 deletions
diff --git a/.guix-channel b/.guix-channel
index e7e9a9a..4bbc28a 100644
--- a/.guix-channel
+++ b/.guix-channel
@@ -14,7 +14,7 @@
(name guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
- (commit "b0b988c41c9e0e591274495a1b2d6f27fcdae15a")
+ (commit "2394a7f5fbf60dd6adc0a870366adb57166b6d8b")
(introduction
(channel-introduction
(version 0)
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index ed6d4d4..397b38f 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -1601,7 +1601,7 @@ runApp(launch.browser=0, port=4208)~%\n"
(define-public seqwish
(package
(name "seqwish")
- (version "0.7.9")
+ (version "0.7.11")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1610,7 +1610,7 @@ runApp(launch.browser=0, port=4208)~%\n"
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "0xnv40kjlb610bk67n4xdqz5dfsjhrqld5bxzblji57k6bb4n66x"))
+ (base32 "18wsrvqf0nsfk29v3ggdq2r4q15d4n4sq8v228qq1jsybbjlkgsa"))
(patches (search-patches "seqwish-paryfor-riscv.diff"
"seqwish-shared-library.diff"))
(snippet
@@ -1810,14 +1810,14 @@ dictionaries to record a queryable version of the graph.")
(define-public smoothxg
(package
(name "smoothxg")
- (version "0.7.2")
+ (version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/pangenome/smoothxg"
"/releases/download/v" version
"/smoothxg-v" version ".tar.gz"))
(sha256
- (base32 "1px8b5aaa23z85i7ximdamk2jj7wk5hb7bpbrgxsvkxc69zlwy38"))
+ (base32 "1gl4dskj81hlma7wsjrwwg77hgzk7dc9iaqqnf2wzrf2f4ll1cdj"))
(snippet
#~(begin
(use-modules (guix build utils))
@@ -1855,7 +1855,8 @@ dictionaries to record a queryable version of the graph.")
(with-directory-excursion
(string-append "../smoothxg-v" #$version "/deps/abPOA")
(substitute* "Makefile"
- (("-march=native") ""))
+ (("-march=native") "")
+ (("-march=armv8-a\\+simd") ""))
(apply invoke "make" "libabpoa" make-flags)))))))
(inputs
(list jemalloc
@@ -1897,14 +1898,14 @@ The path-guided stochastic gradient descent based 1D sort implemented in
(define-public graphaligner
(package
(name "graphaligner")
- (version "1.0.14")
+ (version "1.0.19")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/maickrau/GraphAligner/files/"
- "7813545/GraphAligner.tar.gz"))
+ "14037134/GraphAligner.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
- (base32 "1y4vwp03fl2ck6bnyn0sc97vgvdb8i0yfzjk5mv5gk0bc7a4f0n1"))))
+ (base32 "1z1rxvl2pmiqbh670phkx7vma36w90ylp27wyadlbzf32pa2cpdn"))))
(build-system gnu-build-system)
(arguments
(list
@@ -1938,17 +1939,18 @@ The path-guided stochastic gradient descent based 1D sort implemented in
(install-file header (string-append out "/include")))
(find-files "src" "\\.h(pp)?$"))))))))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("sparsehash" ,sparsehash)))
+ (list (list jemalloc "bin")
+ pkg-config
+ sparsehash))
(inputs
- `(("boost" ,boost)
- ("concurrentqueue" ,concurrentqueue)
- ("jemalloc" ,jemalloc)
- ("libdivsufsort" ,libdivsufsort)
- ("mummer" ,mummer)
- ("protobuf" ,protobuf)
- ("sdsl-lite" ,sdsl-lite)
- ("zlib" ,zlib)))
+ (list boost
+ concurrentqueue
+ jemalloc
+ libdivsufsort
+ mummer
+ protobuf
+ sdsl-lite
+ zlib))
(home-page "https://github.com/maickrau/GraphAligner")
(synopsis "Seed-and-extend program for aligning genome graphs")
(description "Seed-and-extend program for aligning long error-prone reads to
@@ -2141,7 +2143,7 @@ suitable for long reads, but works also well with short reads.")
(define-public odgi
(package
(name "odgi")
- (version "0.8.3")
+ (version "0.9.0")
(outputs '("out" "static"))
(source (origin
(method url-fetch)
@@ -2149,7 +2151,7 @@ suitable for long reads, but works also well with short reads.")
"/download/v" version
"/odgi-v" version ".tar.gz"))
(sha256
- (base32 "1gw1xdb945z25rar6pba6kq5xdx8l7fkhxjyrvc1z1brva53p9hk"))
+ (base32 "0brg0sz45v1wv4ld3p4jwiab10nyp2f691zfwpiva6g6f71q3cbk"))
(snippet
#~(begin
(use-modules (guix build utils))
@@ -3548,36 +3550,37 @@ protein alignments and syntenic genomic alignments.")
(define-public pplacer
(let ((commit "807f6f3"))
- (build-with-ocaml4.07
- (package
- (name "pplacer")
- ;; The commit should be updated with each version change.
- (version "1.1.alpha19")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/matsen/pplacer")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "11ppbbbx20p2g9wj3ff64dhnarb12q79v7qh4rk0gj6lkbz4n7cn"))))
- (build-system ocaml-build-system)
- (arguments
- `(#:modules ((guix build ocaml-build-system)
- (guix build utils)
- (ice-9 ftw))
+ (build-with-ocaml4.07
+ (package
+ (name "pplacer")
+ ;; The commit should be updated with each version change.
+ (version "1.1.alpha19")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/matsen/pplacer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11ppbbbx20p2g9wj3ff64dhnarb12q79v7qh4rk0gj6lkbz4n7cn"))))
+ (build-system ocaml-build-system)
+ (arguments
+ (list
+ #:modules '((guix build ocaml-build-system)
+ (guix build utils)
+ (ice-9 ftw))
#:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'fix-build-with-latest-ocaml
- (lambda _
- (substitute* "myocamlbuild.ml"
- (("dep \\[\"c_pam\"\\]" m)
- (string-append "flag [\"ocaml\"; \"compile\"] (A \"-unsafe-string\");\n"
- m))
- (("let run_and_read" m)
- (string-append "
+ #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'fix-build-with-latest-ocaml
+ (lambda _
+ (substitute* "myocamlbuild.ml"
+ (("dep \\[\"c_pam\"\\]" m)
+ (string-append "flag [\"ocaml\"; \"compile\"] (A \"-unsafe-string\");\n"
+ m))
+ (("let run_and_read" m)
+ (string-append "
let split s ch =
let x = ref [] in
let rec go s =
@@ -3593,76 +3596,72 @@ let before_space s =
with Not_found -> s
" m))
- (("run_and_read \"ocamlfind list \\| cut -d' ' -f1\"" m)
- (string-append "List.map before_space (split_nl & " m ")"))
- ((" blank_sep_strings &") "")
- ((" Lexing.from_string &") ""))
- #t))
- (add-after 'unpack 'replace-bundled-cddlib
- (lambda* (#:key inputs #:allow-other-keys)
- (let* ((cddlib-src (assoc-ref inputs "cddlib-src"))
- (local-dir "cddlib_guix"))
- (mkdir local-dir)
- (with-directory-excursion local-dir
- (invoke "tar" "xvf" cddlib-src))
- (let ((cddlib-src-folder
- (string-append local-dir "/"
- (list-ref (scandir local-dir) 2)
- "/lib-src")))
- (for-each make-file-writable (find-files "cdd_src" ".*"))
- (for-each
- (lambda (file)
- (copy-file file
- (string-append "cdd_src/" (basename file))))
- (find-files cddlib-src-folder ".*[ch]$")))
- #t)))
- (add-after 'unpack 'fix-makefile
- (lambda _
- ;; Remove system calls to 'git'.
- (substitute* "Makefile"
- (("^DESCRIPT:=pplacer-.*")
- (string-append
- "DESCRIPT:=pplacer-$(shell uname)-v" ,version "\n")))
- (substitute* "myocamlbuild.ml"
- (("git describe --tags --long .*\\\" with")
- (string-append
- "echo -n v" ,version "-" ,commit "\" with")))
- #t))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin")))
- (copy-recursively "bin" bin))
- #t)))
- #:ocaml ,ocaml-4.07
- #:findlib ,ocaml4.07-findlib))
- (inputs
- `(("zlib" ,zlib "static")
- ("gsl" ,gsl-static)
- ("ocaml-ounit" ,(package-with-ocaml4.07 ocaml-ounit))
- ("ocaml-batteries" ,(package-with-ocaml4.07 ocaml-batteries))
- ("ocaml-camlzip" ,(package-with-ocaml4.07 camlzip))
- ("ocaml-csv" ,(package-with-ocaml4.07 ocaml-csv))
- ("ocaml-sqlite3" ,(package-with-ocaml4.07 ocaml-sqlite3))
- ("ocaml-xmlm" ,(package-with-ocaml4.07 ocaml-xmlm))
- ("ocaml-mcl" ,(package-with-ocaml4.07 ocaml-mcl))
- ("ocaml-gsl" ,ocaml4.07-gsl-1)
- ("sqlite:static" ,sqlite "static")))
- (native-inputs
- `(("cddlib-src" ,(package-source cddlib))
- ("ocamlbuild" ,(package-with-ocaml4.07 ocamlbuild))
- ("pkg-config" ,pkg-config)))
- (propagated-inputs
- (list pplacer-scripts))
- (synopsis "Phylogenetic placement of biological sequences")
- (description
- "Pplacer places query sequences on a fixed reference phylogenetic tree
+ (("run_and_read \"ocamlfind list \\| cut -d' ' -f1\"" m)
+ (string-append "List.map before_space (split_nl & " m ")"))
+ ((" blank_sep_strings &") "")
+ ((" Lexing.from_string &") ""))))
+ (add-after 'unpack 'replace-bundled-cddlib
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let* ((cddlib-src (assoc-ref inputs "cddlib-src"))
+ (local-dir "cddlib_guix"))
+ (mkdir local-dir)
+ (with-directory-excursion local-dir
+ (invoke "tar" "xvf" cddlib-src))
+ (let ((cddlib-src-folder
+ (string-append local-dir "/"
+ (list-ref (scandir local-dir) 2)
+ "/lib-src")))
+ (for-each make-file-writable (find-files "cdd_src" ".*"))
+ (for-each
+ (lambda (file)
+ (copy-file file
+ (string-append "cdd_src/" (basename file))))
+ (find-files cddlib-src-folder ".*[ch]$"))))))
+ (add-after 'unpack 'fix-makefile
+ (lambda _
+ ;; Remove system calls to 'git'.
+ (substitute* "Makefile"
+ (("^DESCRIPT:=pplacer-.*")
+ (string-append
+ "DESCRIPT:=pplacer-$(shell uname)-v" ,version "\n")))
+ (substitute* "myocamlbuild.ml"
+ (("git describe --tags --long .*\\\" with")
+ (string-append
+ "echo -n v" ,version "-" ,commit "\" with")))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (copy-recursively "bin" bin)))))
+ #:ocaml ocaml-4.07
+ #:findlib ocaml4.07-findlib))
+ (inputs
+ (list (list zlib "static")
+ (list gsl "static")
+ (package-with-ocaml4.07 ocaml-ounit)
+ (package-with-ocaml4.07 ocaml-batteries)
+ (package-with-ocaml4.07 camlzip)
+ (package-with-ocaml4.07 ocaml-csv)
+ (package-with-ocaml4.07 ocaml-sqlite3)
+ (package-with-ocaml4.07 ocaml-xmlm)
+ (package-with-ocaml4.07 ocaml-mcl)
+ ocaml4.07-gsl-1
+ (list sqlite "static")))
+ (native-inputs
+ (list (package-source cddlib)
+ (package-with-ocaml4.07 ocamlbuild)
+ pkg-config))
+ (propagated-inputs
+ (list pplacer-scripts))
+ (synopsis "Phylogenetic placement of biological sequences")
+ (description
+ "Pplacer places query sequences on a fixed reference phylogenetic tree
to maximize phylogenetic likelihood or posterior probability according to a
reference alignment. Pplacer is designed to be fast, to give useful
information about uncertainty, and to offer advanced visualization and
downstream analysis.")
- (home-page "https://matsen.fhcrc.org/pplacer/")
- (license license:gpl3)))))
+ (home-page "https://matsen.fhcrc.org/pplacer/")
+ (license license:gpl3)))))
(define-public python2-biopython
(python2-package python-biopython))
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index e2b0335..e268696 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -18,6 +18,7 @@
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages certs)
#:use-module (gnu packages bioconductor)
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages check)
@@ -113,7 +114,7 @@
((#:tests? _ #f) #f)))))
(define-public genenetwork3
- (let ((commit "6e86be5910d01b8d682e217c0e53e49cf709a237")
+ (let ((commit "5ea318ef0dc5e0e54801d5d27aa9d55c168cabb0")
(revision "5"))
(package
(name "genenetwork3")
@@ -127,7 +128,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1smgjxn7bknmx2crxs1q4l0gm3bm0vkahpkz7vhn6fjaxmrsniia"))))
+ "14b8jzmwbjjrkhh6ajvp6xc7c8fsl918swjj7j6imy2pv7d9dcb3"))))
(inputs
(list python-click))
(native-inputs
@@ -138,6 +139,7 @@
(propagated-inputs
(list csvdiff
diffutils
+ nss-certs
gemma-wrapper
gn-rust-correlation
python-argon2-cffi
@@ -168,6 +170,7 @@
r-ctl
r-optparse
r-qtl
+ r-qtl2
r-rjson
r-stringi
r-wgcna
@@ -186,7 +189,7 @@
(license license:agpl3+))))
(define-public genenetwork2
- (let ((commit "ae572dfe805defc4d40d173325178f5b08c080bf")
+ (let ((commit "32140f60183c008830294a9fd2f4a0477b29f3b7")
(revision "4"))
(package
(name "genenetwork2")
@@ -199,12 +202,13 @@
(file-name (string-append name "-" version))
(sha256
(base32
- "0d93p4wpc5icikq395975y4bcw95j17x5m5f91r4gxrf8v79s0kb"))))
+ "15vfwjq0y8g0kyk2qfsdisxw1k747mnbmskfisyvdgzjw5hlg184"))))
(native-inputs
(list graphviz))
(propagated-inputs
(list genenetwork3
coreutils
+ nss-certs
gemma
gemma-wrapper
git
@@ -459,6 +463,7 @@
python-hypothesis))
(propagated-inputs
(list gunicorn
+ nss-certs
python-redis
python-flask
python-pyyaml
@@ -479,7 +484,7 @@
(license license:agpl3+))))
(define-public gn-auth
- (let ((commit "12edc160df0ead9ac1ae4e62a44d49582e063021")
+ (let ((commit "4c21d0e43cf0de1084d0e0a243e441c6e72236eb")
(revision "01"))
(package
(name "gn-auth")
@@ -493,7 +498,7 @@
(hash
(content-hash
(base32
- "11kixqv3rwfaad43bcqyh085gb0jfcpvzrlx66grkk73cqydgyzl")))))
+ "0z9qpgn0j9idzi975ykh04bq2r4pz5d0pppk2zvxiyhxxgxjydrx")))))
(build-system python-build-system)
(arguments
(list
@@ -512,6 +517,7 @@
python-pytest-mock))
(propagated-inputs
(list gunicorn
+ nss-certs
python-blinker
python-argon2-cffi
python-authlib
diff --git a/gn/packages/guile.scm b/gn/packages/guile.scm
new file mode 100644
index 0000000..beed3d5
--- /dev/null
+++ b/gn/packages/guile.scm
@@ -0,0 +1,165 @@
+(define-module (gn packages guile)
+ #: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 build-system gnu)
+ #:use-module ((gnu packages autotools) #:select (libltdl autoconf automake libtool))
+ #:use-module ((gnu packages databases) #:select (mariadb))
+ #:use-module ((gnu packages compression) #:select (zlib))
+ #:use-module ((gnu packages perl) #:select (perl))
+ #:use-module ((gnu packages texinfo) #:select (texinfo))
+ #: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-2.2 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)))
+
+;; Lifted from:
+;; https://lists.gnu.org/archive/html/artanis/2023-03/txtNk7zz7rJAN.txt
+(define-public guile3-dbi
+ (package
+ (name "guile3-dbi")
+ (version "2.1.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opencog/guile-dbi")
+ (commit (string-append "guile-dbi-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "123m4j82bi60s1v95pjh4djb7bh6zdwmljbpyg7zq8ni2gyal7lw"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules (((guix build guile-build-system)
+ #:select (target-guile-effective-version))
+ ,@%gnu-build-system-modules)
+ #:imported-modules ((guix build guile-build-system)
+ ,@%gnu-build-system-modules)
+ #:configure-flags
+ (list (string-append
+ "--with-guile-site-dir=" %output "/share/guile/site/"
+ (target-guile-effective-version (assoc-ref %build-inputs "guile"))))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ ;; The upstream Git repository contains all the code, so change
+ ;; to the directory specific to guile-dbi.
+ (chdir "guile-dbi")))
+ (add-after 'install 'patch-extension-path
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (dbi.scm (string-append out "/share/guile/site/"
+ (target-guile-effective-version
+ (assoc-ref inputs "guile"))
+ "/dbi/dbi.scm"))
+ (ext (string-append out "/lib/libguile-dbi")))
+ (substitute* dbi.scm (("libguile-dbi") ext))))))))
+ (inputs
+ (list libltdl))
+ (native-inputs
+ (list autoconf automake libtool perl texinfo guile-3.0))
+ (synopsis "Guile database abstraction layer")
+ (home-page "https://github.com/opencog/guile-dbi")
+ (description
+ "guile-dbi is a library for Guile that provides a convenient interface to
+SQL databases. Database programming with guile-dbi is generic in that the same
+programming interface is presented regardless of which database system is used.
+It currently supports MySQL, Postgres and SQLite3.")
+ (license license:gpl2+)
+ (native-search-paths
+ (list (search-path-specification
+ (variable "GUILE_DBD_PATH")
+ (files '("lib")))))))
+
+(define-public guile3-dbd-mysql
+ (package
+ (inherit guile3-dbi)
+ (name "guile3-dbd-mysql")
+ (arguments
+ (substitute-keyword-arguments (package-arguments guile3-dbi)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'chdir
+ (lambda _
+ ;; The upstream Git repository contains all the code, so change
+ ;; to the directory specific to guile-dbd-mysql.
+ (chdir "guile-dbd-mysql")))
+ (add-after 'chdir 'patch-src
+ (lambda _
+ (substitute* "configure.ac"
+ (("mariadbclient") "mariadb"))
+ (substitute* "src/guile-dbd-mysql.c"
+ (("<mariadb/") "<mysql/"))))
+ (delete 'patch-extension-path)))))
+ (inputs
+ (modify-inputs (package-inputs guile3-dbi)
+ (prepend `(,mariadb "dev")
+ `(,mariadb "lib")
+ zlib)))
+ (native-inputs
+ (modify-inputs (package-native-inputs guile3-dbi)
+ (prepend guile3-dbi ; only required for headers
+ )))
+ (synopsis "Guile DBI driver for MySQL")
+ (description "@code{guile-dbi} is a library for Guile that provides a
+convenient interface to SQL databases. This package implements the interface
+for MySQL.")
+ (license license:gpl2+)))
+
+(define-public gn-guile
+ (let ((commit "7af301caa7d8a5f01e7e3be007e4ba53dc482eee")
+ (revision "0"))
+ (package
+ (name "gn-guile")
+ (version (git-version "4.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.genenetwork.org/gn-guile/")
+ (commit commit)))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "0j6nf9k5rdanx5r74dw1rcw7rvyjhzvsv1l5s86jkgkhvrpbb82c"))))
+ (build-system guile-build-system)
+ (propagated-inputs
+ (list guile-3.0 guile3-dbi guile3-dbd-mysql guile-fibers guile-gnutls guile-readline
+ guile-commonmark guile-redis openssl nss-certs gemma parallel guile-hashing
+ guile-json-4))
+ (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)))
+ ;; guild uses this: "\\.(scm|sls)$" regexp to try and
+ ;; compile all scm files in this repository. We don't
+ ;; need to compile guix.scm and manifest.scm.
+ (delete-file "guix.scm")
+ (setenv "GUILE_LOAD_PATH"
+ (string-append
+ (format
+ #f "~{~a:~}"
+ (map (lambda (package)
+ (format #f "~a/share/guile/site/~a"
+ package guile-version))
+ (list #$guile3-dbi #$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))))
diff --git a/gn/packages/ocaml.scm b/gn/packages/ocaml.scm
index 7c6020a..cb97868 100644
--- a/gn/packages/ocaml.scm
+++ b/gn/packages/ocaml.scm
@@ -40,9 +40,9 @@
"0nzp43hp8pbjqkrxnwp5lgjrabxayf61h18fjaydi0s5faq6f3xh"))))
(build-system ocaml-build-system)
(inputs
- `(("gsl" ,gsl-static)))
+ (list (list gsl "static")))
(native-inputs
- `(("ocamlbuild" ,ocamlbuild)))
+ (list ocamlbuild))
(arguments '())
(propagated-inputs '()))))
diff --git a/gn/packages/static.scm b/gn/packages/static.scm
index 8b43cdb..67b4873 100644
--- a/gn/packages/static.scm
+++ b/gn/packages/static.scm
@@ -64,7 +64,7 @@
(string-append all " atomic pthread")))))))))
(inputs
(list atomic-queue
- gsl-static
+ (list gsl "static")
htslib-minimal
jemalloc
(list zlib "static")
diff --git a/gn/services/databases.scm b/gn/services/databases.scm
index 937aa9e..91ac166 100644
--- a/gn/services/databases.scm
+++ b/gn/services/databases.scm
@@ -42,7 +42,20 @@
(http-server-ip virtuoso-configuration-http-server-ip
(default "localhost"))
(http-server-port virtuoso-configuration-http-server-port
- (default 8890)))
+ (default 8890))
+ (checkpoint-interval virtuoso-configuration-checkpoint-interval
+ (default "60"))
+ (scheduler-interval virtuoso-configuration-scheduler-interval
+ (default "10"))
+ ;; Database settings
+ (database-file virtuoso-configuration-database-file
+ (default "/var/lib/virtuoso/virtuoso.db"))
+ (lock-file virtuoso-configuration-lock-file
+ (default "/var/lib/virtuoso/virtuoso.lck"))
+ (transaction-file virtuoso-configuration-transaction-file
+ (default "/var/lib/virtuoso/virtuoso.trx"))
+ (syslog virtuoso-configuration-syslog
+ (default "0")))
(define (virtuoso-activation config)
(with-imported-modules '((guix build utils))
@@ -67,6 +80,7 @@
(home-directory "/var/lib/virtuoso")
(shell (file-append shadow "/sbin/nologin")))))
+
(define (virtuoso-shepherd-service config)
(shepherd-service
(documentation "Run Virtuoso.")
@@ -100,7 +114,13 @@
(format port "[HTTPServer]~%")
(format port "ServerPort = ~a:~a~%"
#$(virtuoso-configuration-http-server-ip config)
- #$(virtuoso-configuration-http-server-port config)))))))
+ #$(virtuoso-configuration-http-server-port config)))
+ (format port
+ "[Database]~%DatabaseFile = ~a~%LockFile = ~a~%TransactionFile = ~a~%Syslog = ~a~%"
+ #$(virtuoso-configuration-database-file config)
+ #$(virtuoso-configuration-lock-file config)
+ #$(virtuoso-configuration-transaction-file config)
+ #$(virtuoso-configuration-syslog config))))))
#:directory #$(virtuoso-configuration-state-directory config)
#:user "virtuoso"
#:group "virtuoso"