diff options
Diffstat (limited to 'gn')
-rw-r--r-- | gn/packages/bioinformatics.scm | 229 | ||||
-rw-r--r-- | gn/packages/genenetwork.scm | 18 | ||||
-rw-r--r-- | gn/packages/guile.scm | 165 | ||||
-rw-r--r-- | gn/packages/ocaml.scm | 4 | ||||
-rw-r--r-- | gn/packages/static.scm | 2 | ||||
-rw-r--r-- | gn/services/databases.scm | 24 |
6 files changed, 316 insertions, 126 deletions
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" |