aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.guix-channel16
-rw-r--r--README.org9
-rw-r--r--gn/packages/bioinformatics.scm444
-rw-r--r--gn/packages/crates-io.scm454
-rw-r--r--gn/packages/gemini.scm82
-rw-r--r--gn/packages/gemma.scm5
-rw-r--r--gn/packages/genenetwork.scm52
-rw-r--r--gn/packages/julia.scm814
-rw-r--r--gn/packages/lisp.scm10
-rw-r--r--gn/packages/machine-learning.scm12
-rw-r--r--gn/packages/notebooks.scm3
-rw-r--r--gn/packages/pangenome.scm15
-rw-r--r--gn/packages/python-web.scm40
-rw-r--r--gn/packages/python.scm532
-rw-r--r--gn/packages/python24.scm72
-rw-r--r--gn/packages/quality-control.scm3
-rw-r--r--gn/packages/ratspub.scm16
-rw-r--r--gn/packages/ruby.scm82
-rw-r--r--gn/past/genenetwork1.scm18
-rw-r--r--gn/services/bh20-seq-resource-container.scm12
-rw-r--r--gn/services/databases.scm5
-rw-r--r--gn/services/genome-browser.scm2
-rw-r--r--gn/services/pluto.scm14
-rw-r--r--tux02-guix-substitutions-public-key.txt7
24 files changed, 2116 insertions, 603 deletions
diff --git a/.guix-channel b/.guix-channel
index ff9ab9e..e42b9ad 100644
--- a/.guix-channel
+++ b/.guix-channel
@@ -5,17 +5,19 @@
(name guix-past)
(url "https://gitlab.inria.fr/guix-hpc/guix-past")
(introduction
- (make-channel-introduction
- "0c119db2ea86a389769f4d2b9c6f5c41c027e336"
- (openpgp-fingerprint
+ (channel-introduction
+ (version 0)
+ (commit "0c119db2ea86a389769f4d2b9c6f5c41c027e336")
+ (signer
"3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5"))))
(channel
(name guix)
(url "https://git.savannah.gnu.org/git/guix.git")
(branch "master")
- (commit "5b35626374783c019ba0911b612e1385f238dfbe")
+ (commit "d4e9ad2d42dddf06a8f1b01c9f49fee16c592d75")
(introduction
- (make-channel-introduction
- "9edb3f66fd807b096b48283debdcddccfea34bad"
- (openpgp-fingerprint
+ (channel-introduction
+ (version 0)
+ (commit "9edb3f66fd807b096b48283debdcddccfea34bad")
+ (signer
"BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))))
diff --git a/README.org b/README.org
index 2731ee9..c5936fa 100644
--- a/README.org
+++ b/README.org
@@ -1,5 +1,7 @@
* guix-bioinformatics
+IMPORTANT: this repository has moved to https://git.genenetwork.org/guix-bioinformatics/!
+
Bioinformatics packages for GNU Guix that are used in
https://genenetwork.org/ and some other places. See [[https://gitlab.com/pjotrp/guix-notes/blob/master/HACKING.org][Guix notes]] for
installing and hacking GNU Guix. Other channels of bioinformatics
@@ -143,6 +145,13 @@ and then run:
: guix package --install-from-file=that-file.scm
+* Substitute server
+
+We run our own substitution server. Add the key to your machine as
+root with
+
+: guix archive --authorize < tux02-guix-substitutions-public-key.txt
+: guix build -L ~/guix-bioinformatics/ -L ~/guix-past/modules/ genenetwork2 --substitute-urls="https://ci.guix.gnu.org https://bordeaux.guix.gnu.org https://guix.genenetwork.org" --dry-run
* LICENSE
diff --git a/gn/packages/bioinformatics.scm b/gn/packages/bioinformatics.scm
index 2d1b55f..db420b7 100644
--- a/gn/packages/bioinformatics.scm
+++ b/gn/packages/bioinformatics.scm
@@ -23,7 +23,6 @@
#:use-module (gn packages java)
#:use-module (gn packages ocaml)
#:use-module (gn packages python)
- #:use-module (gn packages twint)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages autotools)
@@ -33,6 +32,7 @@
#:use-module (gnu packages bioinformatics)
#:use-module (gnu packages boost)
#:use-module (gnu packages bootstrap)
+ #:use-module (gnu packages c)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -54,6 +54,7 @@
#:use-module (gnu packages java)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages llvm)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
@@ -460,7 +461,7 @@ reads.")
(description "Variant detection in massively parallel sequencing data.")
;; Free for non-commercial use by academic, government, and
;; non-profit/not-for-profit institutions
- (license license:non-copyleft)))
+ (license (license:non-copyleft "file:///LICENSE"))))
(define-public edirect-gn
(deprecated-package "edirect-gn" edirect))
@@ -487,7 +488,7 @@ reads.")
(arguments
`(#:install-source? #f
#:cargo-inputs
- (("rust-clap" ,rust-clap-3.1)
+ (("rust-clap" ,rust-clap-3)
("rust-rustc-hash" ,rust-rustc-hash-1)
("rust-regex" ,rust-regex-1)
("rust-handlegraph" ,rust-handlegraph-0.7)
@@ -510,6 +511,305 @@ reads.")
collapses them into a non-redundant graph structure.")
(license license:expat)))
+(define-public gafpack
+ (let ((commit "ad31875b6914d964c6fd72d1bf334f0843538fb6") ; November 10, 2022
+ (revision "1"))
+ (package
+ (name "gafpack")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ekg/gafpack")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0di2psh0ls7jlbnqs7k71p55f73pn23a09k1h3ril7gwjcrzr3rk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:cargo-inputs
+ (("rust-clap" ,rust-clap-4)
+ ("rust-gfa" ,rust-gfa-0.10))))
+ (home-page "https://github.com/ekg/gafpack")
+ (synopsis "Convert variation graph alignments to coverage maps over nodes")
+ (description
+ "Gafpack converts alignments to pangenome variation graphs to coverage
+maps useful in haplotype-based genotyping.")
+ (license license:expat))))
+
+(define-public agc-for-pgr-tk
+ (let ((commit "453c0afdc54b4aa00fa8e97a63f196931fdb81c4") ; April 26, 2022
+ (revision "1"))
+ (package
+ (name "agc")
+ (version (git-version "2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cschin/agc")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1v5s79rl38dcyy5h1lykbp6clcbqq9winn533j54y49q1jp8chix"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ ;; Copy the two radul files we can't find a replacement for:
+ ;; https://github.com/refresh-bio/RADULS
+ (mkdir "keep-libs")
+ (rename-file "libs/raduls.h" "keep-libs/raduls.h")
+ (rename-file "libs/libraduls.a" "keep-libs/libraduls.a")
+ (delete-file-recursively "libs")
+ (rename-file "keep-libs" "libs")
+
+ (delete-file-recursively "py_agc_api/pybind11-2.8.1")
+ (substitute* '("makefile" "makefile.release")
+ (("-mavx") "")
+ (("-m64") "")
+ (("\\$\\(AGC_LIBS_DIR)\\/mimalloc/\\$\\(LIB_ALLOC\\)")
+ "$(pkg-config --cflags --libs mimalloc) /usr/lib/libmimalloc.so")
+ (("\\$\\(AGC_LIBS_DIR)\\/\\$\\(LIB_ZLIB\\)")
+ "$(pkg-config --cflags --libs zlib) /usr/lib/libz.so")
+ (("\\$\\(AGC_LIBS_DIR)\\/\\$\\(LIB_ZSTD\\)")
+ "$(pkg-config --cflags --libs libzstd) /usr/lib/libzstd.so")
+ (("^PYBIND11_LIB = .*") "PYBIND11_LIB = /usr/include/pybind11")
+ (("\\$\\(PYBIND11_LIB\\)/include") "$(PYBIND11_LIB)"))
+ (substitute* (find-files "src" "\\.(h|cpp)$")
+ (("../../libs/ketopt.h") "ketopt.h")
+ (("../../libs/zlib.h") "zlib.h")
+ (("../../libs/zstd.h") "zstd.h"))))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; No configure script.
+ (add-after 'unpack 'adjust-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((mimalloc (assoc-ref inputs "mimalloc")))
+ (substitute* '("makefile" "makefile.release")
+ (("/usr/include/pybind11")
+ (search-input-directory inputs "/include/pybind11"))
+ (("/usr/lib/libmimalloc.so")
+ (search-input-file inputs "/lib/libmimalloc.so"))
+ (("/usr/lib/libz.so")
+ (search-input-file inputs "/lib/libz.so"))
+ (("/usr/lib/libzstd.so")
+ (search-input-file inputs "/lib/libzstd.so"))
+ (("pkg-config") ,(pkg-config-for-target))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (include (string-append out "/include/")))
+ (install-file "agc" (string-append out "/bin"))
+ (install-file "libagc.so" (string-append out "/lib"))
+ (mkdir-p (string-append include "app"))
+ (mkdir-p (string-append include "core"))
+ (mkdir-p (string-append include "lib-cxx"))
+ (with-directory-excursion "src"
+ (for-each
+ (lambda (file)
+ (copy-file file (string-append include file)))
+ (find-files "." "\\.h$")))))))))
+ (native-inputs
+ (list minimap2 ; for ketopt.h
+ pkg-config))
+ (inputs
+ (list mimalloc
+ python
+ pybind11
+ zlib
+ (list zstd "lib")))
+ (home-page "https://github.com/cschin/agc")
+ (synopsis "Assembled Genomes Compressor")
+ (description
+ "@acronym{Assembled Genomes Compressor, AGC} is a tool designed to
+compress collections of de-novo assembled genomes. It can be used for various
+types of datasets: short genomes (viruses) as well as long (humans).")
+ (license license:expat))))
+
+(define-public pgr-tk
+ (package
+ (name "pgr-tk")
+ (version "0.3.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Sema4-Research/pgr-tk")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vm1k63v91zd0pfbg2zmwskajylz8xg83m63qxwaiwny5f4y6f1j"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ (substitute* (find-files "." "Cargo.toml")
+ ;; Only use the major+minor version to decrease the number of
+ ;; special version crates.
+ (("(.*= \")([[:digit:]]+\\.[[:digit:]]+)\\.[[:digit:]]+(\".*)"
+ _ name version tail)
+ (string-append name version tail))
+ ;; Then fix the version string for the actual package.
+ (("^version = \".*")
+ (string-append "version = \"" #$version "\"\n")))))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:install-source? #f
+ #:cargo-test-flags
+ (list "--release" "--"
+ "--skip=get_aln_segements"
+ "--skip=get_shmmr_dots"
+ "--skip=AGCFile"
+ "--skip=SeqIndexDB")
+ #:cargo-inputs
+ (("rust-bindgen" ,rust-bindgen-0.58)
+ ("rust-bgzip" ,rust-bgzip-0.2)
+ ("rust-byteorder" ,rust-byteorder-1)
+ ("rust-clap" ,rust-clap-3)
+ ("rust-cuckoofilter" ,rust-cuckoofilter-0.5)
+ ("rust-flate2" ,rust-flate2-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-petgraph" ,rust-petgraph-0.6)
+ ("rust-pyo3" ,rust-pyo3-0.14)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-rustc-hash" ,rust-rustc-hash-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-simple-logger" ,rust-simple-logger-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'insert-wfa-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "wfa-src")
+ "rs-wfa/WFA")))
+ (add-after 'unpack 'adjust-source
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* '("pgr-bin/build.rs"
+ "pgr-db/build.rs"
+ "pgr-tk/build.rs")
+ (("git") "ls")
+ (("bioconda") "Guix"))
+ ;; Build with zlib, not zlib-ng
+ (substitute* '("pgr-bin/Cargo.toml"
+ "pgr-db/Cargo.toml")
+ (("zlib-ng-compat") "zlib"))
+ ;; Don't look for agc to be bundled.
+ (substitute* "pgr-db/wrapper.h"
+ (("../agc/src/lib-cxx/agc-api.h") "lib-cxx/agc-api.h"))
+ (substitute* "pgr-db/build.rs"
+ ((".*panic!\\(\"Error.*") ""))
+ (mkdir-p "target/release")
+ (symlink (search-input-file inputs "/bin/agc")
+ "target/release/agc")
+ (symlink (search-input-file inputs "/lib/libagc.so")
+ "target/release/libagc")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion "target/release"
+ (install-file "libpgrtk.so" (string-append out "/lib"))
+ (for-each
+ (lambda (file)
+ (install-file file (string-append out "/bin")))
+ (list "pgr-filter"
+ "pgr-mdb"
+ "pgr-multifilter"
+ "pgr-probe-match"
+ "pgr-shmmr-pair-count")))))))))
+ (inputs
+ (list agc-for-pgr-tk
+ clang
+ python
+ zlib
+ (list zstd "lib")))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("wfa-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; forPYO3 branch, 14-03-2021
+ (url "https://github.com/cschin/WFA")
+ (commit "1f8c8d2905ed482cd2d306a1676d60c2a45cb098")))
+ (file-name "wfa-for-pgr-tk")
+ (sha256
+ (base32 "19h1cjp2bdlcfq5c6rsbk8bc0f8zn64b471dhj4xlfxd1prv2dpk"))))))
+ (home-page "https://github.com/Sema4-Research/pgr-tk")
+ (synopsis "Pangenome Research Tool Kit")
+ (description
+ "PGR-TK provides pangenome assembly management, query and
+@acronym{Minimizer Anchored Pangenome, MAP} Graph Generation. It is a project
+to provide Python and Rust libraries to facilitate pangenomics analysis.
+Several algorithms and data structures used for the Peregrine Genome Assembler
+are useful for Pangenomics analysis as well. This repo takes those algorithms
+and data structure, combining other handy 3rd party tools to expose them as a
+library in Python (with Rust code for those computing parts that need
+performance.)")
+ (license (license:non-copyleft
+ "file:///LICENSE"
+ "CC-BY-NC-SA 4.0"))))
+
+(define-public graph-genotyper
+ (let ((commit "e7cc6b43a5b1f389d76bf9aac7f2ee02f92caeaf") ; October 17, 2022
+ (revision "13"))
+ (package
+ (name "graph-genotyper")
+ (version (git-version "0.0.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/davidebolo1993/graph_genotyper")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1l8yjpkqamiqr1q5i7vr5z04aba7skpbcwyc9dx5fiklvljjfhcx"))))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("genotype.py" "bin/")
+ ("genotype.sh" "bin/"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'wrap-genotype
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (wrap-script (string-append out "/bin/genotype.sh")
+ `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
+ `("PATH" ":" prefix
+ ,(map (lambda (file-name)
+ (string-append (assoc-ref inputs file-name) "/bin"))
+ (list "gafpack"
+ "odgi"
+ "python"
+ "samtools"
+ "vg"))))))))))
+ (inputs
+ (list gafpack
+ guile-3.0
+ odgi
+ python
+ python-numpy
+ python-pandas
+ python-scipy
+ samtools
+ vg))
+ (home-page "https://bitbucket.org/jana_ebler")
+ (synopsis "Genotyping based on k-mers and pangenome graphs")
+ (description
+ "This package provides a genotyper for various types of genetic variants
+(such as SNPs, indels and structural variants). Genotypes are computed based on
+read k-mer counts and a panel of known haplotypes. A description of the method
+can be found @url{https://www.biorxiv.org/content/10.1101/2020.11.11.378133v1,
+here}.")
+ (license (license:non-copyleft
+ "No license listed")))))
+
(define-public pangenie
(let ((commit "e779076827022d1416ab9fabf99a03d8f4725956") ; September 2, 2021 from phasing-tests branch
(revision "2"))
@@ -1490,20 +1790,9 @@ reads, also called read-based phasing or haplotype assembly. It is especially
suitable for long reads, but works also well with short reads.")
(license license:expat)))
-(define-public python-pytest-runner-2
- (package
- (inherit python-pytest-runner)
- (version "2.12.2")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "pytest-runner" version))
- (sha256
- (base32
- "11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6"))))))
-
(define-public bh20-seq-resource
- (let ((commit "ae4cb3c2cf7103bbc84f52618bb755d7ce25775b")
- (revision "3"))
+ (let ((commit "2ae71911cd87ce4f2eabdff21e538267b3270d45")
+ (revision "4"))
(package
(name "bh20-seq-resource")
(version (git-version "1.0" revision commit))
@@ -1514,36 +1803,45 @@ suitable for long reads, but works also well with short reads.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1k0gsz4yc8l5znanzd094g2jp40ksbpa9667zr31ayrjx6labz02"))
+ (base32 "1k6cc88hrcm77jwpdk2084q0zirv2vlbz3c07nmpbhk1lhqk5x0n"))
(modules '((guix build utils)))
(snippet
'(begin
- (substitute* "setup.py"
- (("py-dateutil") "python-dateutil"))
- #t))))
+ (delete-file "gittaggers.py")))))
(build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f ; Tests can't find pytest
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-program-calls
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "bh20sequploader/qc_fasta.py"
+ (("\"minimap2\"")
+ (string-append "\"" (search-input-file
+ inputs "/bin/minimap2")
+ "\""))))))))
(propagated-inputs
- `(("python-arvados-python-client" ,python-arvados-python-client)
- ("python-dateutil" ,python-dateutil)
- ("python-flask" ,python-flask)
- ("python-magic" ,python-magic)
- ("python-pyyaml" ,python-pyyaml)
- ("python-pycurl" ,python-pycurl)
- ("python-pyshex" ,python-pyshex)
- ("python-redis" ,python-redis)
- ("python-ruaml.yaml" ,python38-ruaml.yaml-0.15.76)
- ("clustalw" ,clustalw)
- ("python-schema-salad" ,python-schema-salad)
- ("python-twint" ,python-twint)
- ;; and for the service
- ("python" ,python)
- ("gunicorn" ,gunicorn)))
+ (list python-arvados-python-client
+ python-schema-salad
+ python-magic
+ python-pyshex
+ python-pyshexc-0.7
+ python-py-dateutil
+
+ ;; for the web
+ python-flask
+ python-pyyaml
+ python-redis
+
+ ;; and for the service
+ python
+ gunicorn))
+ (inputs
+ (list minimap2))
(native-inputs
- `(("git" ,(@ (gnu packages version-control) git))
- ("python-oauth2client" ,python-oauth2client)
- ("python-pytest" ,python-pytest-4)
- ("python-pytest-runner" ,python-pytest-runner-2)
- ("python-uritemplate" ,python-uritemplate)))
+ (list python-pytest-4 ; < 6
+ python-pytest-runner-4)) ; < 5
(home-page "https://github.com/pubseq/bh20-seq-resource")
(synopsis
"Tool to upload SARS-CoV-19 sequences and service to kick off analysis")
@@ -1553,6 +1851,18 @@ it to upload the genomes of SARS-CoV-2 samples to make them publicly and freely
available to other researchers.")
(license license:asl2.0))))
+;; This version has no profile collisions.
+(define-public bh20-seq-resource-for-service
+ (package
+ ;(inherit (fix-profile-collisions-for-bh20 bh20-seq-resource))
+ (inherit
+ ((package-input-rewriting/spec
+ `(("python-google-api-core" . ,(const python-google-api-core-1))
+ ("python-google-auth" . ,(const python-google-auth-1))
+ ("python-pyparsing" . ,(const python-pyparsing-2.4.7))))
+ bh20-seq-resource))
+ (properties `((hidden? . #t)))))
+
(define-public python-scanpy-git
(let ((commit "590d42309f9ed6550d7b887039990edfc1ac7648") ; April 22, 2020
(revision "1"))
@@ -1593,6 +1903,56 @@ available to other researchers.")
(delete-file "scanpy/tests/test_pca.py")
#t)))))))))
+;; TODO: Unbundle everything
+(define-public odgi
+ (package
+ (name "odgi")
+ (version "0.8.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/pangenome/odgi/releases"
+ "/download/v" version
+ "/odgi-v" version ".tar.gz"))
+ (sha256
+ (base32 "175083pb9hp0vn9a00hbxlayyk5a5j8p52yq5qfmbnfvndisbmbv"))
+ (snippet
+ #~(begin
+ (use-modules (guix build utils))
+ (substitute* "CMakeLists.txt"
+ (("-march=native") "")
+ (("-msse4\\.2") ""))
+ (delete-file-recursively "deps/pybind11")
+ (delete-file-recursively "deps/sdsl-lite")))))
+ (build-system cmake-build-system)
+ (native-inputs
+ (list pkg-config))
+ (inputs
+ (list jemalloc
+ libdivsufsort
+ pybind11
+ python
+ sdsl-lite))
+ (home-page "https://github.com/vgteam/odgi")
+ (synopsis "Optimized Dynamic Genome/Graph Implementation")
+ (description "@acronym{Optimized Dynamic Genome/Graph Implementation, odgi}
+provides an efficient and succinct dynamic DNA sequence graph model, as well as
+a host of algorithms that allow the use of such graphs in bioinformatic
+analyses.
+
+Careful encoding of graph entities allows odgi to efficiently compute and
+transform pangenomes with minimal overheads. @command{odgi} implements a
+dynamic data structure that leveraged multi-core CPUs and can be updated on the
+fly.
+
+The edges and path steps are recorded as deltas between the current node id and
+the target node id, where the node id corresponds to the rank in the global
+array of nodes. Graphs built from biological data sets tend to have local
+partial order and, when sorted, the deltas be small. This allows them to be
+compressed with a variable length integer representation, resulting in a small
+in-memory footprint at the cost of packing and unpacking.")
+ (properties '((tunable? . #t)))
+ (license license:expat)))
+
(define-public vg
(package
(name "vg")
@@ -1826,7 +2186,7 @@ available to other researchers.")
(inputs
`(("boost" ,boost)
("cairo" ,cairo)
- ("curl" ,curl-minimal)
+ ("curl" ,curl)
("elfutils" ,elfutils)
("fastahack" ,fastahack)
("htslib" ,htslib)
@@ -2055,7 +2415,7 @@ The Genome Browser itself does not draw conclusions; rather, it collates all
relevant information in one location, leaving the exploration and interpretation
to the user.")
(license (list
- license:bsd-0 ; kent/src/{utils,lib,inc,tabStorm,parasol,hg/ausoSql,hg/autoXml}
+ ;; license:bsd-0 ; kent/src/{utils,lib,inc,tabStorm,parasol,hg/ausoSql,hg/autoXml}
license:bsd-3 ; these two for bundled htslib-1.3
license:expat
(license:non-copyleft
diff --git a/gn/packages/crates-io.scm b/gn/packages/crates-io.scm
index 1dc4f65..e500d86 100644
--- a/gn/packages/crates-io.scm
+++ b/gn/packages/crates-io.scm
@@ -7,11 +7,145 @@
#:use-module (guix build-system cargo)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages crates-io)
- #:use-module (gnu packages maths))
+ #:use-module (gnu packages maths)
+ #:use-module (gnu packages python))
+
+(define-public rust-bgzip-0.2
+ (package
+ (name "rust-bgzip")
+ (version "0.2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "bgzip" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1kssq4hp8csg27rhggabpfiyn9xp5rh5b8al63dghk11vqs7hk5j"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-flate2" ,rust-flate2-1)
+ ("rust-thiserror" ,rust-thiserror-1))
+ #:cargo-development-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-csv" ,rust-csv-1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (home-page "https://github.com/informationsea/bgzip-rs")
+ (synopsis "Rust implementation of bgzip")
+ (description "Rust implementation of bgzip")
+ (license license:expat)))
+
+(define-public rust-boomphf-0.5
+ (package
+ (name "rust-boomphf")
+ (version "0.5.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "boomphf" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0braniw72g9yq5006sfgc1g8d4317bb524c694jw6nggizrvg3sf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8)
+ ("rust-log" ,rust-log-0.4)
+ ("rust-rayon" ,rust-rayon-1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-wyhash" ,rust-wyhash-0.5))
+ #:cargo-development-inputs
+ (("rust-bencher" ,rust-bencher-0.1)
+ ("rust-quickcheck" ,rust-quickcheck-1))))
+ (home-page "https://github.com/10XGenomics/rust-boomphf")
+ (synopsis "Scalable and Efficient Minimal Perfect Hash Functions")
+ (description "This package provides a Rust implementation of
+@url{https://arxiv.org/abs/1702.03154, fast and scalable minimal perfect hashing
+for massive key sets}. It generates an @acronym{MPHF, minimal perfect hash
+functions} for a collection of hashable objects.")
+ (license license:expat)))
+
+(define-public rust-clap-lex-0.3
+ (package
+ (name "rust-clap-lex")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "clap-lex" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1a4dzbnlxiamfsn0pnkhn7n9bdfjh66j9fxm6mmr7d227vvrhh8d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-os-str-bytes" ,rust-os-str-bytes-6))))
+ (home-page "https://github.com/clap-rs/clap/tree/master/clap_lex")
+ (synopsis "Minimal, flexible command line parser")
+ (description "Minimal, flexible command line parser")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-cuckoofilter-0.5
+ (package
+ (name "rust-cuckoofilter")
+ (version "0.5.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "cuckoofilter" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "067fkr9dc118rqddr72xdldq05d31yyipvvyrmj9yrrik52ah45q"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t ; Not packaging dependencies
+ #:cargo-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ;("rust-clippy" ,rust-clippy-0.0.302)
+ ;("rust-farmhash" ,rust-farmhash-1)
+ ("rust-fnv" ,rust-fnv-1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+ ("rust-serde-derive" ,rust-serde-derive-1))
+ #:cargo-development-inputs
+ (("rust-serde-json" ,rust-serde-json-1))))
+ (home-page "http://axiom.co")
+ (synopsis "Cuckoo Filter: Practically Better Than Bloom")
+ (description "Cuckoo Filter: Practically Better Than Bloom")
+ (license license:expat)))
+
+(define-public rust-gfa-0.6
+ (package
+ (name "rust-gfa")
+ (version "0.6.2")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "gfa" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ghmy4r0324s6vvmj9nmh326346nkwm7nybnpcpswnjvf02b85gw"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bstr" ,rust-bstr-0.2)
+ ("rust-bytemuck" ,rust-bytemuck-1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-nom" ,rust-nom-5)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-serde" ,rust-serde-1))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.3))))
+ (home-page "https://github.com/chfi/rs-gfa")
+ (synopsis
+ "Library for working with graphs in the GFA (Graphical Fragment Assembly) format")
+ (description
+ "Library for working with graphs in the GFA (Graphical Fragment Assembly) format")
+ (license license:expat)))
(define-public rust-handlegraph-0.7
(package
- (inherit rust-handlegraph-0.3)
(name "rust-handlegraph")
(version "0.7.0-alpha.9")
(source
@@ -23,6 +157,7 @@
(sha256
(base32
"1frlcdwhycjvizb0gfb0v36vxjdi0jxagl2l2v6dzdjxpaawv9rs"))))
+ (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-anyhow" ,rust-anyhow-1)
@@ -36,7 +171,206 @@
("rust-succinct" ,rust-succinct-0.5))
#:cargo-development-inputs
(("rust-quickcheck" ,rust-quickcheck-0.9)
- ("rust-rand" ,rust-rand-0.7))))))
+ ("rust-rand" ,rust-rand-0.7))))
+ (home-page "https://github.com/chfi/rs-handlegraph")
+ (synopsis "Library for use in variation graphs")
+ (description
+ "This package provides a Rust implementation of VG handle graph.")
+ (license license:expat)))
+
+(define-public rust-handlegraph-0.3
+ (package
+ (inherit rust-handlegraph-0.7)
+ (name "rust-handlegraph")
+ (version "0.3.0")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "handlegraph" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1sj100w4lpj7798pws85qrfrzsily5hhzh6j118rwf56sgic1yml"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bstr" ,rust-bstr-0.2)
+ ("rust-gfa" ,rust-gfa-0.6))))))
+
+(define-public rust-kstring-1
+ (package
+ (name "rust-kstring")
+ (version "1.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "kstring" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1r4n9fa5scikqvl736nxghcfa6s3b07xz61w43hyzs2qb3wmd3nk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(;#:skip-build? #t ; Uses unstable features.
+ #:cargo-inputs
+ (("rust-document-features" ,rust-document-features-0.2)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-static-assertions" ,rust-static-assertions-1))
+ #:cargo-development-inputs
+ (("rust-criterion" ,rust-criterion-0.3)
+ ("rust-proptest" ,rust-proptest-1))))
+ (home-page "https://github.com/cobalt-org/kstring")
+ (synopsis "String optimized for map keys")
+ (description "Key String provides a Rust package optimized for map keys.")
+ (license (list license:expat license:asl2.0))))
+
+(define-public rust-pyo3-0.14
+ (package
+ (name "rust-pyo3")
+ (version "0.14.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "pyo3" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1j70b9bkncgpgnfxjxyvp4mk40rp55lk6qmacxm5c2k78y9hy41m"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cfg-if" ,rust-cfg-if-1)
+ ("rust-hashbrown" ,rust-hashbrown-0.11)
+ ("rust-indexmap" ,rust-indexmap-1)
+ ("rust-indoc" ,rust-indoc-0.3)
+ ("rust-inventory" ,rust-inventory-0.1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-num-bigint" ,rust-num-bigint-0.4)
+ ("rust-num-complex" ,rust-num-complex-0.4)
+ ("rust-parking-lot" ,rust-parking-lot-0.11)
+ ("rust-paste" ,rust-paste-0.1)
+ ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.14)
+ ("rust-pyo3-macros" ,rust-pyo3-macros-0.14)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-unindent" ,rust-unindent-0.1))
+ #:cargo-development-inputs
+ (("rust-assert-approx-eq" ,rust-assert-approx-eq-1)
+ ("rust-criterion" ,rust-criterion-0.3)
+ ("rust-proptest" ,rust-proptest-0.10)
+ ("rust-rustversion" ,rust-rustversion-1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-trybuild" ,rust-trybuild-1))))
+ (inputs (list python))
+ (home-page "https://github.com/pyo3/pyo3")
+ (synopsis "Rust bindings for the Python interpreter")
+ (description
+ "This package provides Rust bindings for Python, including tools for
+creating native Python extension modules. Running and interacting with
+Python code from a Rust binary is also supported.")
+ (license license:asl2.0)))
+
+(define-public rust-pyo3-build-config-0.14
+ (package
+ (name "rust-pyo3-build-config")
+ (version "0.14.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "pyo3-build-config" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "13vkcl49b2x81azb613ss256k8pazrfc4fy4ny8pzgdciirn2afi"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-once-cell" ,rust-once-cell-1))))
+ (home-page "https://github.com/pyo3/pyo3")
+ (synopsis "Build configuration for the PyO3 ecosystem")
+ (description "Build configuration for the PyO3 ecosystem")
+ (license license:asl2.0)))
+
+(define-public rust-pyo3-macros-0.14
+ (package
+ (name "rust-pyo3-macros")
+ (version "0.14.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "pyo3-macros" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1a4fh24c5q85f31n2rwbqrai2bjprf9kzh6xvpgj8j3hblhwa2zw"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-pyo3-macros-backend" ,rust-pyo3-macros-backend-0.14)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://github.com/pyo3/pyo3")
+ (synopsis "Proc macros for PyO3 package")
+ (description "Proc macros for PyO3 package")
+ (license license:asl2.0)))
+
+(define-public rust-pyo3-macros-backend-0.14
+ (package
+ (name "rust-pyo3-macros-backend")
+ (version "0.14.5")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "pyo3-macros-backend" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1ps068jqyq1275zxxbzn6hyz9lkfz35az8waj6mzlji2jg2kyqki"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-pyo3-build-config" ,rust-pyo3-build-config-0.14)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://github.com/pyo3/pyo3")
+ (synopsis "Code generation for PyO3 package")
+ (description "Code generation for PyO3 package")
+ (license license:asl2.0)))
+
+(define-public rust-quick-csv-0.1
+ (package
+ (name "rust-quick-csv")
+ (version "0.1.6")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "quick-csv" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "131k8zzlplk2h62wz813jbvm0sk7v3mixwhhq34y9lmp3mqbgx7d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs (("rust-rustc-serialize" ,rust-rustc-serialize-0.3))))
+ (home-page "https://github.com/tafia/quick-csv")
+ (synopsis "quick csv reader and decoder")
+ (description "quick csv reader and decoder")
+ (license license:expat)))
+
+(define-public rust-succinct-0.5
+ (package
+ (name "rust-succinct")
+ (version "0.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "succinct" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "0654c9gq50x7djyf25zbzz3d2pc4x3z21wmjj3qbr6d9h4hbd63p"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-num-traits" ,rust-num-traits-0.2))
+ #:cargo-development-inputs
+ (("rust-quickcheck" ,rust-quickcheck-0.9))))
+ (home-page "https://github.com/tov/succinct-rs")
+ (synopsis "Succinct data structures for Rust")
+ (description "This package provides succinct data structures for Rust.")
+ (license (list license:expat license:asl2.0))))
(define-public rust-clap-for-jrep
(package
@@ -141,42 +475,42 @@ or any combination.")
(description "Rust CLI tools for manipulation of Jupyter Notebooks.")
(license #f)))) ; There is no license.
-;; replace fields with those from upstream
-(define-public rust-clap-3.1
+(define-public rust-clap-4
(package
(name "rust-clap")
- (version "3.1.6")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "clap" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "08q1hkksfixybnrwrpm44xq028wbn9yr2hnzrax9hihyq8v39jfq"))))
+ (version "4.0.9")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "clap" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w0dxqzrh449s9l2k8g66pdsff02599bwi5mh0gny3227kcpsq1h"))))
(build-system cargo-build-system)
(arguments
- `(#:cargo-inputs
+ `(#:skip-build? #t ; Not all inputs packaged.
+ #:cargo-inputs
(("rust-atty" ,rust-atty-0.2)
("rust-backtrace" ,rust-backtrace-0.3)
("rust-bitflags" ,rust-bitflags-1)
- ("rust-clap-derive" ,rust-clap-derive-3.1)
- ("rust-indexmap" ,rust-indexmap-1)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-os-str-bytes" ,rust-os-str-bytes-6)
- ("rust-regex" ,rust-regex-1)
+ ("rust-clap-derive" ,rust-clap-derive-4)
+ ("rust-clap-lex" ,rust-clap-lex-0.3)
+ ("rust-once-cell" ,rust-once-cell-1)
("rust-strsim" ,rust-strsim-0.10)
("rust-termcolor" ,rust-termcolor-1)
("rust-terminal-size" ,rust-terminal-size-0.1)
- ("rust-textwrap" ,rust-textwrap-0.15)
("rust-unicase" ,rust-unicase-2)
- ("rust-yaml-rust" ,rust-yaml-rust-0.4))
- #:cargo-development-inputs
- (("rust-criterion" ,rust-criterion-0.3)
- ("rust-lazy-static" ,rust-lazy-static-1)
- ("rust-regex" ,rust-regex-1)
- ("rust-rustversion" ,rust-rustversion-1)
- ("rust-trybuild" ,rust-trybuild-1)
- ("rust-trycmd" ,rust-trycmd-0.12))))
+ ("rust-unicode-width" ,rust-unicode-width-0.1))
+ ;#:cargo-development-inputs
+ ;(("rust-humantime" ,rust-humantime-2)
+ ; ("rust-rustversion" ,rust-rustversion-1)
+ ; ("rust-shlex" ,rust-shlex-1)
+ ; ("rust-snapbox" ,rust-snapbox-0.4)
+ ; ("rust-static-assertions" ,rust-static-assertions-1)
+ ; ("rust-trybuild" ,rust-trybuild-1)
+ ; ("rust-trycmd" ,rust-trycmd-0.13)
+ ; ("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9))
+ ))
(home-page "https://github.com/clap-rs/clap")
(synopsis
"A simple to use, efficient, and full-featured Command Line Argument Parser")
@@ -185,19 +519,17 @@ or any combination.")
Argument Parser")
(license (list license:expat license:asl2.0))))
-;; ready to upstream, WITH rust-clap-derive
-;; replace fields with those from upstream.
-(define-public rust-clap-derive-3.1
+(define-public rust-clap-derive-4
(package
(name "rust-clap-derive")
- (version "3.1.4")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "clap-derive" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "05mz2y6k73wc1gvv9r4mllfqslzvlwkvx77lk7769ag1xlwd15fs"))))
+ (version "4.0.9")
+ (source (origin
+ (method url-fetch)
+ (uri (crate-uri "clap-derive" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "02zhbbmyz3dpy9ml6xfp7i8p3ffj1djvkdnkg6gr6d0s5r4hg8x4"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
@@ -213,40 +545,6 @@ or any combination.")
"Parse command line argument by defining a struct, derive crate.")
(license (list license:expat license:asl2.0))))
-(define-public rust-textwrap-0.15
- (package
- (name "rust-textwrap")
- (version "0.15.0")
- (source
- (origin
- (method url-fetch)
- (uri (crate-uri "textwrap" version))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32 "1yw513k61lfiwgqrfvsjw1a5wpvm0azhpjr2kr0jhnq9c56is55i"))))
- (build-system cargo-build-system)
- (arguments
- `(#:skip-build? #t ; Not all inputs packaged
- ;#:tests? #f ; Skip tests for now
- #:cargo-inputs
- (("rust-hyphenation" ,rust-hyphenation-0.8)
- ("rust-smawk" ,rust-smawk-0.3)
- ("rust-terminal-size" ,rust-terminal-size-0.1)
- ("rust-unicode-linebreak" ,rust-unicode-linebreak-0.1)
- ("rust-unicode-width" ,rust-unicode-width-0.1))
- #:cargo-development-inputs
- (("rust-criterion" ,rust-criterion-0.3)
- ("rust-lipsum" ,rust-lipsum-0.8)
- ("rust-termion" ,rust-termion-1)
- ;("rust-unic-emoji-char" ,rust-unic-emoji-char-0.9)
- ("rust-version-sync" ,rust-version-sync-0.9))))
- (home-page "https://github.com/mgeisler/textwrap")
- (synopsis
- "Powerful library for word wrapping, indenting, and dedenting strings")
- (description
- "Powerful library for word wrapping, indenting, and dedenting strings")
- (license license:expat)))
-
(define-public rust-trycmd-0.12
(package
(name "rust-trycmd")
@@ -260,9 +558,7 @@ or any combination.")
(base32 "1rwa5nzq8c5zg7lqmpkf7hyib415yxshd9amp911y8w1zss4s38p"))))
(build-system cargo-build-system)
(arguments
- `(;#:skip-build? #t ; Not all inputs at correct versions?
- ;#:tests? #f ; Skip tests for now
- #:cargo-inputs
+ `(#:cargo-inputs
(("rust-backtrace" ,rust-backtrace-0.3)
("rust-concolor" ,rust-concolor-0.0.8)
("rust-content-inspector" ,rust-content-inspector-0.2)
@@ -302,7 +598,7 @@ or any combination.")
(base32 "0wx4wd849bmkqj0gdi041gmpfpvlyhy2ha4zpin69yw9d9npl8cl"))))
(build-system cargo-build-system)
(arguments
- `(;#:skip-build? #t ; Not all inputs packaged
+ `(#:skip-build? #t ; Not all inputs packaged
;#:tests? #f ; Skip tests for now
#:cargo-inputs
(("rust-combine" ,rust-combine-4)
@@ -371,7 +667,7 @@ or any combination.")
(license license:gpl3+)))
(define-public gn-rust-correlation
- (let ((commit "fd85c0f75e03f170b97fcedba26317e0832d087e")
+ (let ((commit "a22381e9830bac9a6848449279d258397217e251")
(revision "0"))
(package
(name "gn-rust-correlation")
@@ -385,7 +681,7 @@ or any combination.")
(file-name (git-file-name name version))
(sha256
(base32
- "164z2abp8vassxi8bpf68wgiqjmafd6hzrkz4hj3wdhf4djiplrr"))))
+ "1cb197p8zmgxymzs9b7bygs0kg67809z6gc2svza909sxr9ac5ps"))))
(build-system cargo-build-system)
(native-inputs
(list gsl))
diff --git a/gn/packages/gemini.scm b/gn/packages/gemini.scm
deleted file mode 100644
index 9cefbeb..0000000
--- a/gn/packages/gemini.scm
+++ /dev/null
@@ -1,82 +0,0 @@
-(define-module (gn packages gemini)
- #:use-module (gnu packages autotools)
- #:use-module (gnu packages gettext)
- #:use-module (gnu packages guile)
- #:use-module (gnu packages guile-xyz)
- #:use-module ((gnu packages skribilo) #:prefix guix:)
- #:use-module (guix build-system gnu)
- #:use-module (guix gexp)
- #:use-module (guix packages)
- #:use-module (guix git-download)
- #:use-module ((guix licenses) #:prefix license:))
-
-(define-public skribilo-latest
- (let ((commit "621eb1945aec8f26f5aee4bdf896f2434e145182")
- (revision "1"))
- (package
- (inherit guix:skribilo)
- (name "skribilo")
- (version (git-version "0.9.5" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.systemreboot.net/skribilo")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "16rdcvszl9x183y32hjdwns0lkrvkmwd2fsshymspb12k4cxj6i4"))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gettext" ,gnu-gettext)
- ,@(package-native-inputs guix:skribilo))))))
-
-(define-public tissue
- (let ((commit "6d6285d071132960835f848a1703faaea2356937")
- (revision "3"))
- (package
- (name "tissue")
- (version (git-version "0.1.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://git.systemreboot.net/tissue")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1dlcy7m4gz1vmklyny4mxky9822q5hjc4qdmn42yf2qvh8xy62g5"))))
- (build-system gnu-build-system)
- (arguments
- (list #:make-flags #~(list (string-append "prefix=" #$output))
- #:modules `(((guix build guile-build-system)
- #:select (target-guile-effective-version))
- ,@%gnu-build-system-modules)
- #:phases
- (with-imported-modules '((guix build guile-build-system))
- #~(modify-phases %standard-phases
- (replace 'patch-source-shebangs
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute* "bin/tissue"
- (("^exec guile")
- (string-append "exec " (search-input-file inputs "/bin/guile"))))))
- (delete 'configure)
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (effective-version (target-guile-effective-version)))
- (wrap-program (string-append out "/bin/tissue")
- `("GUILE_LOAD_PATH" prefix
- (,(string-append out "/share/guile/site/" effective-version)
- ,(getenv "GUILE_LOAD_PATH")))
- `("GUILE_LOAD_COMPILED_PATH" prefix
- (,(string-append out "/lib/guile/" effective-version "/site-ccache")
- ,(getenv "GUILE_LOAD_COMPILED_PATH")))))))))))
- (inputs (list guile-3.0 guile-filesystem guile-git guile-xapian))
- (propagated-inputs
- (list skribilo-latest))
- (home-page "https://tissue.systemreboot.net")
- (synopsis "Text based issue tracker")
- (description "tissue is a text based issue tracker.")
- (license license:gpl3+))))
diff --git a/gn/packages/gemma.scm b/gn/packages/gemma.scm
index e73a40d..e8c5194 100644
--- a/gn/packages/gemma.scm
+++ b/gn/packages/gemma.scm
@@ -27,7 +27,7 @@
(define-public gemma-gn2 ; guix candidate - currently uses generic
; openblas version and genenetwork github repo
- (let ((commit "71553f5e5626e1d791b5be24c84ea6b17ae81cc7"))
+ (let ((commit "8cd4cdb23ecae8387c942ae5c203c5d61e137376"))
(package
(name "gemma-gn2")
(version (string-append "0.98.5-" (string-take commit 7)))
@@ -39,8 +39,9 @@
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "11farc7smvkrrkvkbvh26i3sycdzwxrbgj536s3478v8j6iiwijp"))))
+ "06csrh8rgcjcl52ljyynizb15gy84gcd6glzl0gfkawmxy6am9n4"))))
(inputs `(
+ ("catch" ,catch2)
("gsl" ,gsl)
("shunit2-old" ,shunit2-old)
("openblas" ,openblas)
diff --git a/gn/packages/genenetwork.scm b/gn/packages/genenetwork.scm
index 18b77e4..36d3ae6 100644
--- a/gn/packages/genenetwork.scm
+++ b/gn/packages/genenetwork.scm
@@ -27,8 +27,10 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages machine-learning)
#:use-module (gnu packages parallel)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-science)
@@ -41,9 +43,7 @@
#:use-module (gnu packages statistics)
#:use-module (gnu packages textutils)
#:use-module (gnu packages version-control)
- ; #:use-module (gnu packages vim)
#:use-module (gnu packages web)
- ; #:use-module (gnu packages wget)
#:use-module (gnu packages xml)
#:use-module (gn packages bioinformatics)
#:use-module (gn packages crates-io)
@@ -51,8 +51,8 @@
#:use-module (gn packages javascript)
#:use-module (gn packages python)
#:use-module (gn packages statistics)
- #:use-module (gn packages twint)
#:use-module (gn packages web)
+ #:use-module (gn packages python-web)
#:use-module (srfi srfi-1))
@@ -100,11 +100,20 @@
(description "Reimplementation of genenetwork/QTLReaper in Rust")
(license #f))))
+; Tests on the upstream python-pengouin package are broken. So, we
+; create this temporary workaround.
+(define python-pingouin-without-tests
+ (package
+ (inherit python-pingouin)
+ (arguments
+ (substitute-keyword-arguments (package-arguments python-pingouin)
+ ((#:tests? _ #f) #f)))))
+
(define-public genenetwork3
- (let ((commit "fe1b8be86b65346724f8f78ab9e5d897e0c480b0"))
+ (let ((commit "f52247c15f3694f3dd5fd0fd79c3e15376137e07"))
(package
(name "genenetwork3")
- (version (git-version "0.1.0" "2" commit))
+ (version (git-version "0.1.0" "3" commit))
(source
(origin
(method git-fetch)
@@ -114,7 +123,9 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1i7g2c3irp5rr2b8vb7xm9v1hjb5vssc92s2lq910qszd53pdzgn"))))
+ "0ac0dr8dny65x4xvm8gw6ap3g8g0j933ipy9116idcws31rk2adk"))))
+ (inputs
+ (list python-click))
(native-inputs
(list python-hypothesis
python-mypy
@@ -127,7 +138,8 @@
python-wrapper
csvdiff
gn-rust-correlation
- python-bcrypt
+ python-bcrypt ;; Replace use of bcrypt with argon below
+ python-argon2-cffi
python-flask
python-flask-cors
;; Not working in Python > 3.8
@@ -136,12 +148,18 @@
python-mysqlclient
python-numpy
python-pandas
- python-pingouin
+ ;; python-pingouin << build failing
+ python-pingouin-without-tests
python-plotly
+ python-scikit-learn
+ python-pymonad
python-redis
python-requests
python-scipy
+ python-authlib
python-sparqlwrapper
+ python-email-validator
+ python-xapian-bindings
r-optparse
r-qtl
r-rjson
@@ -149,15 +167,23 @@
r-wgcna
r-ctl
rust-qtlreaper
- diffutils))
+ diffutils
+ yoyo-migrations))
(build-system python-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "pytest" "-k" "unit_test")))))))
(home-page "https://github.com/genenetwork/genenetwork3")
(synopsis "GeneNetwork3 API for data science and machine learning.")
(description "GeneNetwork3 API for data science and machine learning.")
(license license:agpl3+))))
(define-public genenetwork2
- (let ((commit "13289325fb22c4bc10b52414fb9755e7911795f3"))
+ (let ((commit "bfe557dc1e537dc78a82a30817ecf2ca3004d978"))
(package
(name "genenetwork2")
(version (git-version "3.11" "2" commit))
@@ -169,7 +195,7 @@
(file-name (string-append name "-" version))
(sha256
(base32
- "1ny0ix9h7r52lb2qhf2hpfqijckhkw4jr1wp53qfzrd84lf4pii4"))))
+ "1bn0j0fpk4hcicgfird62x5wq2n6lj4rs1ggw69dcxyf4qdxbk5d"))))
(native-inputs
(list graphviz))
(propagated-inputs
@@ -221,13 +247,13 @@
("python-simplejson" ,python-simplejson)
("python-markdown" ,python-markdown)
("python-rdflib" ,python-rdflib)
- ("python-twint" ,python-twint)
+ ("python-authlib" ,python-authlib)
+ ("python-flask-session" ,python-flask-session)
;; TODO: Get rid of Python R bindings
("python-rpy2" ,python-rpy2)
("python-beautifulsoup4" ,python-beautifulsoup4)
;; Disable for now. Build fails on Penguin2
;; ("python-flask-socketio" ,python-flask-socketio)
- ("python-xapian-bindings" ,python-xapian-bindings)
("python-xlsxwriter" ,python-xlsxwriter)
;; All the external js dependencies
("javascript-twitter-post-fetcher" ,javascript-twitter-post-fetcher)
diff --git a/gn/packages/julia.scm b/gn/packages/julia.scm
index 6dddd4b..31cc29c 100644
--- a/gn/packages/julia.scm
+++ b/gn/packages/julia.scm
@@ -23,19 +23,19 @@
(define S specification->package)
(define-public julia-visuals
- (let ((commit "e7d670eb045a9f8e3a839476dc166318da7fe9dc")
- (revision "1"))
+ (let ((commit "e8e2b601f40a76c8f20f0ddfe80c56257dd9a294")
+ (revision "2"))
(package
(name "julia-visuals")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/sens/visuals")
- (commit commit)))
+ (url "https://github.com/sens/visuals")
+ (commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "15hshm5qrig5qbj02xy4ji79kfc72n93nna5nvxkhvb8gw3vvx07"))))
+ (base32 "0lm9yhk0mq5cvvkcbsgcjc1y7fzhr8qz2nxn38cy1zdxd8vfknsx"))))
(build-system julia-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -53,38 +53,66 @@
(let ((out (assoc-ref outputs "out")))
;; Copied from the Dockerfile.
(for-each
- (lambda (file)
- (copy-recursively file (string-append out "/" file)))
- (list "plutoserver"
- "environment.yml"
- "setup.py"
- "runpluto.sh"
- "notebooks"
- "Project.toml"
- "Manifest.toml")))))
+ (lambda (file)
+ (copy-recursively file (string-append out "/" file)))
+ (list "plutoserver"
+ "environment.yml"
+ "setup.py"
+ "runpluto.sh"
+ "notebooks"
+ "Project.toml")))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
;; Do we need to wrap this with PYTHONPATH too?
(wrap-script (string-append out "/runpluto.sh")
- `("PATH" ":" prefix (,(string-append (assoc-ref inputs "julia") "/bin")
+ `("PATH" ":" prefix (,(string-append (assoc-ref inputs "julia") "/bin")
,(string-append (assoc-ref inputs "coreutils") "/bin")))
- `("JULIA_LOAD_PATH" ":" prefix (,(getenv "JULIA_LOAD_PATH")))))))
+ `("JULIA_LOAD_PATH" ":" prefix (,(getenv "JULIA_LOAD_PATH")))))))
+ (add-after 'install 'create-run-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-output-to-file (string-append out "/runpluto")
+ (lambda ()
+ (format #t "#!~a --no-auto-compile
+!#
+(setenv \"JULIA_LOAD_PATH\" \"~a\")
+(setenv \"PATH\" \"~a\")
+(zero? (system*
+ \"~a\"
+ \"--project=/home/jovyan\"
+ \"--optimize=0\"
+ \"-e\" \"import Pluto;
+ Pluto.run(
+ host=\\\"0.0.0.0\\\",
+ port=4343,
+ launch_browser=false,
+ require_secret_for_open_links=false;
+ require_secret_for_access=false)\"))\n"
+ (search-input-file inputs "/bin/guile")
+ (getenv "JULIA_LOAD_PATH")
+ (dirname (search-input-file inputs "/bin/yes"))
+ (search-input-file inputs "/bin/julia"))))
+ (chmod (string-append out "/runpluto") #o555))))
(replace 'precompile
(lambda _
(invoke "julia" "-e" "\"import Pkg; Pkg.instantiate(); Pkg.status(); Pkg.precompile()\""))))))
+
(propagated-inputs
`(;; from setup.py
("python-jupyter-server-proxy"
,(@ (gn packages python) python-jupyter-server-proxy-1))))
+
(inputs
- `(("julia-distributions" ,julia-distributions)
- ("julia-latexstrings" ,julia-latexstrings)
- ("julia-optim" ,julia-optim)
- ("julia-plots" ,julia-plots)
- ("julia-pluto" ,julia-pluto)
- ("julia-plutoui" ,julia-plutoui)
- ("guile" ,(@ (gnu packages guile) guile-3.0)))) ; for wrap-script
+ (list julia-distributions
+ ;julia-interactiveutils ; stdlib
+ julia-latexstrings
+ ;julia-markdown ; stdlib
+ julia-optim
+ julia-plots
+ julia-pluto
+ julia-plutoui
+ (@ (gnu packages guile) guile-3.0))) ; for wrap-script
(home-page "https://github.com/sens/visuals")
(synopsis "Visualizations using Pluto.jl notebooks")
(description "Visualizations using Pluto.jl notebooks.")
@@ -262,7 +290,7 @@ distributed computing.")
(define-public julia-distributions
(package
(name "julia-distributions")
- (version "0.25.11")
+ (version "0.25.80")
(source
(origin
(method git-fetch)
@@ -271,12 +299,14 @@ distributed computing.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0n5xgdpzrpb4s0g23rjggk7c7x8677hbhq0sam7xbw9mn2w79m7n"))))
+ (base32 "0nqlnkh8grxfm8d1mivi7dnrvb31bznj9s540a10d2v396ikfggn"))))
(build-system julia-build-system)
(arguments
`(#:tests? #f)) ; Some failed tests
(propagated-inputs
- `(("julia-fillarrays" ,julia-fillarrays)
+ `(("julia-chainrulescore" ,julia-chainrulescore)
+ ("julia-densityinterface" ,julia-densityinterface)
+ ("julia-fillarrays" ,julia-fillarrays)
("julia-pdmats" ,julia-pdmats)
("julia-quadgk" ,julia-quadgk)
("julia-specialfunctions" ,julia-specialfunctions)
@@ -284,9 +314,11 @@ distributed computing.")
("julia-statsfuns" ,julia-statsfuns)))
(native-inputs
`(("julia-calculus" ,julia-calculus)
+ ("julia-chainrulestestutils" ,julia-chainrulestestutils)
("julia-finitedifferences" ,julia-finitedifferences)
("julia-forwarddiff" ,julia-forwarddiff)
("julia-json" ,julia-json)
+ ("julia-offsetarrays" ,julia-offsetarrays)
("julia-stablerngs" ,julia-stablerngs)
("julia-staticarrays" ,julia-staticarrays)))
(home-page "https://github.com/JuliaStats/Distributions.jl")
@@ -303,6 +335,31 @@ properties
@end enumerate")
(license license:expat)))
+;; ready to upstream
+(define-public julia-densityinterface
+ (package
+ (name "julia-densityinterface")
+ (version "0.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaMath/DensityInterface.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "10yr69lndh4jdyhjnpm421zvbw8v48bimxjawz05lqkd7k4w4lw6"))))
+ (build-system julia-build-system)
+ (propagated-inputs
+ (list julia-inversefunctions))
+ (native-inputs
+ (list julia-documenter))
+ (home-page "https://github.com/JuliaMath/DensityInterface.jl")
+ (synopsis "Interface for mathematical/statistical densities")
+ (description "This package defines an interface for mathematical/statistical
+densities and objects associated with a density in Julia.")
+ (license license:expat)))
+
(define-public julia-plots
(package
(name "julia-plots")
@@ -369,40 +426,40 @@ properties
(define-public julia-pluto
(package
(name "julia-pluto")
- (version "0.15.1")
+ (version "0.19.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fonsp/Pluto.jl")
- (commit (string-append "v" version))))
+ (commit (string-append "v" version "-src"))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jsvqi33rsj8izm9pb0r4gjzb5xd01dxri8xp95h84kd0rdliirr"))))
+ (base32 "0h9sz4mpf3a4k0f5fblbb6j07wdhrnarxajrn0wz6zsq6w30x6yj"))))
(build-system julia-build-system)
(arguments
- `(#:tests? #f ; Test suite fails to load HTTP.jl.
+ `(#:tests? #f ; Test suite tries to download the package registry.
#:phases
(modify-phases %standard-phases
(add-after 'link-depot 'dont-check-for-upgrades
(lambda _
- (substitute* "frontend/components/Welcome.js"
- (("local_index !== -1") "false"))))
- (add-after 'link-depot 'skip-network-tests
- (lambda _
- (substitute* "test/runtests.jl"
- ;; Attempts to update the package registry.
- ((".*Basic.jl.*") "")))))))
+ (substitute* "frontend/components/welcome/Welcome.js"
+ ((".*new_update_message.*") "")))))))
(propagated-inputs
- `(("julia-configurations" ,julia-configurations)
- ("julia-fuzzycompletions" ,julia-fuzzycompletions)
- ("julia-http" ,julia-http)
- ("julia-msgpack" ,julia-msgpack)
- ("julia-tableiointerface" ,julia-tableiointerface)
- ("julia-tables" ,julia-tables)))
+ (list julia-configurations
+ julia-fuzzycompletions
+ julia-http
+ julia-hypertextliteral
+ julia-mimes
+ julia-msgpack
+ julia-precompilesignatures
+ julia-relocatablefolders
+ julia-tables
+ julia-uris))
(native-inputs
- `(("julia-dataframes" ,julia-dataframes)
- ("julia-offsetarrays" ,julia-offsetarrays)))
+ (list julia-dataframes
+ julia-offsetarrays
+ julia-timeroutputs))
(home-page "https://github.com/fonsp/Pluto.jl")
(synopsis "Simple reactive notebooks for Julia")
(description "A Pluto notebook is made up of small blocks of Julia code
@@ -412,11 +469,10 @@ placed in arbitrary order - intelligent syntax analysis figures out the
dependencies between them and takes care of execution.")
(license license:expat)))
-;; ready to upstream, wait on Pluto.jl?
(define-public julia-plutoui
(package
(name "julia-plutoui")
- (version "0.7.9")
+ (version "0.7.51")
(source
(origin
(method git-fetch)
@@ -425,24 +481,601 @@ dependencies between them and takes care of execution.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0p159b4m0nxbz36ll5kf082vb806n2f26ma145pbhp749aldzplp"))))
+ (base32 "0hqaa8wx7mia3krdwhj2yf8aa4a8h4r09j16dxn7nyc0zcz8hgb2"))))
(build-system julia-build-system)
(propagated-inputs
- `(("julia-json" ,julia-json)
- ("julia-reexport" ,julia-reexport)
- ("julia-suppressor" ,julia-suppressor)))
+ (list julia-abstractplutodingetjes
+ julia-colortypes
+ julia-fixedpointnumbers
+ julia-hyperscript
+ julia-hypertextliteral
+ julia-iocapture
+ julia-json
+ julia-mimes
+ julia-reexport
+ julia-uris))
(home-page "https://github.com/fonsp/PlutoUI.jl")
(synopsis "Helper package for Julia Pluto")
(description "This package helps to make @code{html\"<input>\"} a bit more
native to Julia. Use it with the @code{@@bind} macro in Pluto.")
+ (license license:unlicense)))
+
+(define-public julia-http-1.5
+ (package
+ (inherit julia-http)
+ (name "julia-http")
+ (version "1.5.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaWeb/HTTP.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0qcfixsq65g8hdimygam7cd8nvcz6w7nzkkjk98mvf65dcby4593"))))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'disable-network-tests
+ (lambda _
+ #;(substitute* "test/runtests.jl"
+ (("\"async.jl") "# \"async.jl")
+ (("\"client.jl") "# \"client.jl"))
+ #;(substitute* "test/aws4.jl"
+ (("@testset.*HTTP.request with AWS authentication.*" all)
+ (string-append all "return\n")))
+ #;(substitute* "test/insert_layers.jl"
+ (("@testset.*Inserted final layer runs handler.*" all)
+ (string-append all "return\n")))
+ #;(substitute* "test/multipart.jl"
+ (("@testset \"Setting of Content-Type.*" all)
+ (string-append all "return\n"))
+ (("@testset \"Deprecation of .*" all)
+ (string-append all "return\n")))
+ #;(substitute* "test/websockets.jl"
+ (("@testset.*External Host.*" all)
+ (string-append all "return\n")))
+ #;(substitute* "test/messages.jl"
+ (("@testset.*Read methods.*" all)
+ (string-append all "return\n"))
+ (("@testset.*Body - .*" all)
+ (string-append all "return\n"))
+ (("@testset.*Write to file.*" all)
+ (string-append all "return\n")))
+ #;(substitute* "test/cookies.jl"
+ (("@testset.*Set-Cookie casing.*" all)
+ (string-append all "return\n")))
+#t)))))
+ (propagated-inputs
+ (list julia-codeczlib
+ julia-inifile
+ julia-loggingextras
+ julia-mbedtls
+ julia-openssl
+ julia-simplebufferstream
+ julia-uris))
+ ;; required for tests
+ (native-inputs
+ (list julia-bufferedstreams
+ julia-json))))
+
+(define-public julia-simplebufferstream
+ (package
+ (name "julia-simplebufferstream")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaPackaging/SimpleBufferStream.jl")
+ ;; First commit after 1.1.0 with a license
+ (commit "80c9854d5d9ea921da6f619624989fa30e83b8be")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05c4d73ki4cp38g66ljxwbl2d0dni3w05r8xsd6g1v63x2rqqbgn"))))
+ (build-system julia-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'link-depot 'adjust-tests
+ (lambda _
+ (substitute* "test/runtests.jl"
+ ;; Tests fail when build machine is too *fast*.
+ (("0\\.01") "0.001")
+ ;; Don't create circular dependencies with http
+ (("using HTTP.*") "")
+ (("@testset.*HTTP.jl.*" all)
+ (string-append all "return\n"))))))))
+ (home-page "https://github.com/JuliaPackaging/SimpleBufferStream.jl")
+ (synopsis "What Base.BufferStream should be")
+ (description "This is what I wish Base.BufferStream was.")
+ (license license:expat)))
+
+(define-public julia-openssl
+ (package
+ (name "julia-openssl")
+ (version "1.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaWeb/OpenSSL.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1s2h4qh9y3alhkf18p4pjqp77mvsb47qagmk68pq0wsx8r3hzhzx"))))
+ (build-system julia-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'install 'disable-network-tests
+ (lambda _
+ (substitute* "test/runtests.jl"
+ ;; No /etc/ssl/certs/ca-certificates.crt in the build environment.
+ (("@testset.*(ReadPEMCert|X509Certificate|X509Store).*" all)
+ (string-append all "return\n"))
+ ;; No network connection
+ (("@testset.*(HttpsConnect|ClosedStream|NoCloseStream).*" all)
+ (string-append all "return\n"))
+ ;; undefined symbol.
+ ;; XXX: THIS BREAKS THE PACKAGE!
+ (("@testset.*ErrorTaskTLS.*" all)
+ (string-append all "return\n"))))))))
+ (propagated-inputs
+ (list julia-bitflags
+ julia-openssl-jll))
+ (home-page "https://github.com/JuliaWeb/OpenSSL.jl")
+ (synopsis "Openssl Julia bindings")
+ (description "This package provides Openssl Julia bindings.")
+ (license license:expat)))
+
+#;(define-public julia-openssl-jll
+ (package
+ (name "julia-openssl-jll")
+ (version "3.0.8+0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl")
+ (commit (string-append "OpenSSL-v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1d9kcx7a3yv3rgkggq7h436sfjafr66pq8d0lmlcjxdpl46hx3j7"))))
+ (build-system julia-build-system)
+ (arguments
+ '(#:tests? #f ; no runtests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'link-depot 'override-binary-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (map
+ (lambda (wrapper)
+ (substitute* wrapper
+ (("lib64") "lib")
+ (("generate_wrapper_header.*")
+ (string-append
+ "generate_wrapper_header(\"OpenSSL\", \""
+ (assoc-ref inputs "openssl") "\")\n"))))
+ ;; There's a Julia file for each platform, override them all
+ (find-files "src/wrappers/" "\\.jl$")))))))
+ (inputs
+ (list (@ (gnu packages tls) openssl)))
+ (propagated-inputs
+ (list julia-jllwrappers))
+ (home-page "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl")
+ (synopsis "Openssl library wrappers")
+ (description "This package provides a wrapper for openssl.")
+ (license license:expat)))
+
+#;(define-public julia-openssl-jll-1.1
+ (package
+ (name "julia-openssl-jll")
+ (version "1.1.21+0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl")
+ (commit (string-append "OpenSSL-v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05wgsvy0iviffkcq4w1dg8gaafyxknnk26c1gpcgma5yhfia8yfs"))))
+ (build-system julia-build-system)
+ (arguments
+ '(#:tests? #f ; no runtests
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'link-depot 'override-binary-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (map
+ (lambda (wrapper)
+ (substitute* wrapper
+ (("generate_wrapper_header.*")
+ (string-append
+ "generate_wrapper_header(\"OpenSSL\", \""
+ (assoc-ref inputs "openssl") "\")\n"))))
+ ;; There's a Julia file for each platform, override them all
+ (find-files "src/wrappers/" "\\.jl$")))))))
+ (inputs
+ (list (@ (gnu packages tls) openssl-1.1)))
+ (propagated-inputs
+ (list julia-jllwrappers))
+ (home-page "https://github.com/JuliaBinaryWrappers/OpenSSL_jll.jl")
+ (synopsis "Openssl library wrappers")
+ (description "This package provides a wrapper for openssl.")
+ (license license:expat)))
+
+(define-public julia-bitflags
+ (package
+ (name "julia-bitflags")
+ (version "0.1.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jmert/BitFlags.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wphfpwqm7bsff68d6h9yhhxrh1lq2shyl0afbzp0h5czf6qi2xr"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/jmert/BitFlags.jl")
+ (synopsis "Enum-like type for bit flag option values")
+ (description "@code{BitFlag.jl} provides an @code{Enum}-like type for bit
+flag option values.")
+ (license license:expat)))
+
+(define-public julia-relocatablefolders
+ (package
+ (name "julia-relocatablefolders")
+ (version "0.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaPackaging/RelocatableFolders.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "116f98y2w5cqkv2fvddmv54422cpby6d7q1dndgqh2rdlkpb44iw"))))
+ (build-system julia-build-system)
+ (propagated-inputs
+ (list julia-scratch))
+ (home-page "https://github.com/JuliaPackaging/RelocatableFolders.jl")
+ (synopsis "Reference packages in their project directory")
+ (description "An alternative to the @code{@@__DIR__} macro. Packages that
+wish to reference paths in their project directory run into issues with
+relocatability when used in conjunction with @code{PackageCompiler}.")
+ (license license:expat)))
+
+(define-public julia-scratch
+ (package
+ (name "julia-scratch")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaPackaging/Scratch.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0s7dmqsskq5vy7sk6pxng5vrznrn6msg7xf8a9kj3a03b617pgap"))))
+ (build-system julia-build-system)
+ (arguments
+ (list #:tests? #f)) ; Tries to download the Julia registry.
+ (home-page "https://github.com/JuliaPackaging/Scratch.jl")
+ (synopsis "Scratch spaces for all your persistent mutable data needs")
+ (description "This repository implements the scratch spaces API for
+package-specific mutable containers of data. These spaces can contain
+datasets, text, binaries, or any other kind of data that would be convenient to
+store in a location specific to your package. As compared to Artifacts, these
+containers of data are mutable. Because the scratch space location on disk is
+not very user-friendly, scratch spaces should, in general, not be used for a
+storing files that the user must interact with through a file browser. In that
+event, packages should simply write out to disk at a location given by the
+user. Scratch spaces are designed for data caches that are completely managed
+by a package and should be removed when the package itself is uninstalled.")
+ (license license:expat)))
+
+(define-public julia-hypertextliteral
+ (package
+ (name "julia-hypertextliteral")
+ (version "0.9.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaPluto/HypertextLiteral.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "06nzgxrl1aac9bqb37l2lak2aicp9h7fd1ijcva9pq80z0d74a8a"))))
+ (build-system julia-build-system)
+ (arguments (list #:tests? #f)) ; Disable tests until all inputs are pacakged.
+ (propagated-inputs
+ (list julia-tricks))
+ (native-inputs
+ (list julia-documenter
+ ;julia-faker
+ julia-hyperscript
+ ;julia-narrativetest
+ ))
+ (home-page "https://juliapluto.github.io/HypertextLiteral.jl/stable/")
+ (synopsis "Julia library for the string interpolation of HTML and SVG")
+ (description "HypertextLiteral is a Julia package for generating HTML, SVG,
+and other SGML tagged content. It works similar to Julia string interpolation,
+only that it tracks hypertext escaping needs and provides handy conversions
+dependent upon context.")
+ (license license:expat)))
+
+;; This can be removed with julia-1.10
+(define-public julia-tricks
+ (package
+ (name "julia-tricks")
+ (version "0.1.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oxinabox/Tricks.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0870hiqpl14wpr2v16wl6fw89r469yjrchv6gn4pfw2irw3nkjip"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/oxinabox/Tricks.jl")
+ (synopsis "Cunning tricks though the julia compiler internals")
+ (description "Tricks.jl is an particularly cunning package that does tricks
+with the Julia edge system.")
+ (license license:expat)))
+
+(define-public julia-registryinstances
+ (package
+ (name "julia-registryinstances")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/GunnarFarneback/RegistryInstances.jl")
+ (commit "2796d959014475bc19e2dfa174179cdf02642d28")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09926dy2s4wcml6s2hrbq1j1r1456d61fvk5fma4sbr9qsvpyyd0"))))
+ (build-system julia-build-system)
+ (arguments
+ (list #:tests? #f)) ; TODO: Got exception outside of a @test
+ (propagated-inputs
+ (list julia-lazilyinitializedfields))
+ (home-page "https://github.com/GunnarFarneback/RegistryInstances.jl")
+ (synopsis "Access the information in installed Julia registries")
+ (description "Julia's package manager stores package metadata in registries,
+which consist of TOML files in a directory structure.")
+ (license license:expat)))
+
+(define-public julia-lazilyinitializedfields
+ (package
+ (name "julia-lazilyinitializedfields")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/KristofferC/LazilyInitializedFields.jl")
+ (commit "53ed8cbe78b2048105a0e0b355294e7f024e3d14")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jwpka27d873cyn0vxrg7h7ns7fmlqlyx5h38cw6zvfbdhkrmi09"))))
+ (build-system julia-build-system)
+ (native-inputs
+ (list julia-documenter))
+ (home-page "https://github.com/KristofferC/LazilyInitializedFields.jl")
+ (synopsis "Handle lazily initialized fields")
+ (description "A package for handling lazily initialized fields.")
+ (license license:expat)))
+
+(define-public julia-mimes
+ (package
+ (name "julia-mimes")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaWeb/MIMEs.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vgc2q2mgbrm16px7cbqsrga9l99djlb1ayg5k1djb0mbnprjajk"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/JuliaWeb/MIMEs.jl")
+ (synopsis "MIME information: filetype, encoding, gzip")
+ (description "A small package to transform between file extensions and MIME
+types, with bonus features.")
+ (license license:expat)))
+
+(define-public julia-loggingextras
+ (package
+ (name "julia-loggingextras")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaLogging/LoggingExtras.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mc0bbr2wsa809q74hg4npdw2xcni4xl40zz50i6djwnxq88yl07"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/JuliaLogging/LoggingExtras.jl")
+ (synopsis "Composable Loggers for the Julia Logging StdLib")
+ (description "LoggingExtras is designs around allowing you to build
+arbitrarily complicated systems for \"log plumbing\". That is to say basically
+routing logged information to different places. It is built around the idea of
+simple parts which are composed together, to allow for powerful and flexible
+definition of your logging system.")
+ (license license:expat)))
+
+(define-public julia-precompilesignatures
+ (package
+ (name "julia-precompilesignatures")
+ (version "3.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rikhuijzer/PrecompileSignatures.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11rjdx8n3q10iis7ryzbvlvgdpi6kd2h53qp7lac02yx6rsgsfx1"))))
+ (build-system julia-build-system)
+ (arguments
+ (list #:tests? #f)) ; cycle with Pluto.jl.
+ ;(native-inputs
+ ; (list julia-pluto))
+ (home-page "https://github.com/rikhuijzer/PrecompileSignatures.jl")
+ (synopsis "Generate precompile directives by reading method signatures")
+ (description "This package reads all method signatures in a package and
+generates precompile directives for any concrete signature that it can find.")
+ (license license:expat)))
+
+(define-public julia-precompiletools
+ (package
+ (name "julia-precompiletools")
+ (version "1.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaLang/PrecompileTools.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "124qzflwnn34d8x8vz3cmj2m4a55mg5qf8i8jdcwyyrnag3si7zr"))))
+ (build-system julia-build-system)
+ (arguments
+ (list #:tests? #f)) ; Tries to download the Julia registry.
+ (propagated-inputs
+ (list julia-preferences))
+ (home-page "https://github.com/JuliaLang/PrecompileTools.jl")
+ (synopsis "Reduce time-to-first-execution of Julia code")
+ (description "PrecompileTools allows you to reduce the latency of the first
+execution of Julia code. It is applicable for package developers and for
+\"ordinary users\" in their personal workflows.")
+ (license license:expat)))
+
+(define-public julia-timeroutputs
+ (package
+ (name "julia-timeroutputs")
+ (version "0.5.23")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/KristofferC/TimerOutputs.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "031m7d837cw4c7iz4arrm1a1ppqihhj5jsldvm7z1bc72jxgfrcv"))))
+ (build-system julia-build-system)
+ (propagated-inputs
+ (list julia-exprtools))
+ (home-page "https://github.com/KristofferC/TimerOutputs.jl")
+ (synopsis "Formatted output of timed sections in Julia")
+ (description "TimerOutputs is a small Julia package that is used to generate
+formatted output from timings made in different sections of a program. It's
+main functionality is the @code{@@timeit} macro, similar to the @code{@@time}
+macro in Base except one also assigns a label to the code section being timed.
+Multiple calls to code sections with the same label (and in the same \"scope\")
+will accumulate the data for that label. After the program has executed, it is
+possible to print a nicely formatted table presenting how much time,
+allocations and number of calls were made in each section. The output can be
+customized as to only show the things you are interested in.")
+ (license license:expat)))
+
+(define-public julia-memoize
+ (package
+ (name "julia-memoize")
+ (version "0.4.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaCollections/Memoize.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mfavihgdmh6zzjx5lzbigmgsa50pa9ik9gk2gq9wam26prkmkba"))))
+ (build-system julia-build-system)
+ (propagated-inputs
+ (list julia-macrotools))
+ (home-page "https://github.com/JuliaCollections/Memoize.jl")
+ (synopsis "Memoize macro for Julia")
+ (description "Easy memoization for Julia.")
+ (license license:bsd-0)))
+
+(define-public julia-abstractplutodingetjes
+ (package
+ (name "julia-abstractplutodingetjes")
+ (version "1.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaPluto/AbstractPlutoDingetjes.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "03grnv26n3qdadb2awv3d0rs655l5hhmh7h43v949za9aaaz89j3"))))
+ (build-system julia-build-system)
+ (arguments
+ (list #:tests? #f)) ; No tests for this package.
+ (home-page "https://docs.juliahub.com/AbstractPlutoDingetjes/UHbnu/")
+ (synopsis "Abstract package for creating widgets in Pluto.jl")
+ (description "An abstract package to be implemented by packages/people who
+create widgets (or other dingetjes) for Pluto.")
+ (license license:unlicense)))
+
+(define-public julia-hyperscript
+ (package
+ (name "julia-hyperscript")
+ (version "0.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaWeb/Hyperscript.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0flap3a9p6fr768kjfk1lkyfgjqcyhzvzl7in7gjszfy04pqj55w"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/JuliaWeb/Hyperscript.jl")
+ (synopsis "Lightweight DOM representation for Julia")
+ (description "Hyperscript is a package for working with HTML, SVG, and CSS
+in Julia. When using this library you automatically get:
+@enumerate
+@item A concise DSL for writing HTML, SVG, and CSS.
+@item Flexible ways to combine DOM pieces together into larger components.
+@item Safe and automatic HTML-escaping.
+@item Lightweight and optional support for scoped CSS.
+@item Lightweight and optional support for CSS unit arithmetic.
+@end enumerate")
(license license:expat)))
;; ready to upstream
(define-public julia-statsfuns
(package
(name "julia-statsfuns")
- (version "0.9.8")
+ (version "0.9.18")
(source
(origin
(method git-fetch)
@@ -451,21 +1084,19 @@ native to Julia. Use it with the @code{@@bind} macro in Pluto.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1zl46p9gbx9xkjnnpd45csshqvq2i94mxw10karpr8xkx8msyk3k"))))
+ (base32 "1y71gz4skp6hxw8k5vjbjayplxmdfh3m3yjfw4ggi0azav6c9hrk"))))
(build-system julia-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'link-depot 'adjust-test-suite
- (lambda _
- (substitute* "test/misc.jl"
- (("test logmvbeta\\(1") "test_nowarn logmvbeta(1")))))))
(propagated-inputs
- (list julia-logexpfunctions
+ (list julia-chainrulescore
+ julia-inversefunctions
+ julia-irrationalconstants
+ julia-logexpfunctions
+ julia-reexport
julia-rmath
julia-specialfunctions))
(native-inputs
- (list julia-forwarddiff))
+ (list julia-chainrulestestutils
+ julia-forwarddiff))
(home-page "https://github.com/JuliaStats/StatsFuns.jl")
(synopsis "Mathematical functions related to statistics")
(description "This package provides a collection of mathematical constants
@@ -473,6 +1104,29 @@ and numerical functions for statistical computing.")
(license license:expat)))
;; ready to upstream
+(define-public julia-inversefunctions
+ (package
+ (name "julia-inversefunctions")
+ (version "0.1.8")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaMath/InverseFunctions.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05g9f6i735x7syfr56l4yf4fy71kgdisjc6cfxi4jkf46iq86a69"))))
+ (build-system julia-build-system)
+ (native-inputs
+ (list julia-documenter))
+ (home-page "https://github.com/JuliaMath/InverseFunctions.jl")
+ (synopsis "Interface for function inversion in Julia")
+ (description
+ "This package provides an interface to invert functions in Julia.")
+ (license license:expat)))
+
+;; ready to upstream
(define-public rmath-for-julia-rmath-jll
;; More recent commits fix various build issues
(let ((commit "5c5dfd6baca358103fbb47cc03dc0ecee04fb1ff")
@@ -691,6 +1345,40 @@ polynomials.")
AbstractInterval, along with its subtypes Interval and AnchoredInterval, and also Bound.")
(license license:expat)))
+(define-public julia-infinity
+ (package
+ (name "julia-infinity")
+ (version "0.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cjdoris/Infinity.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1941lwvrdjnrynigzixxin3chpg1ba6xplvcwc89x0f6z658hwmm"))))
+ (build-system julia-build-system)
+ (arguments
+ (list
+ #:tests? #f ; TODO: Fix tests!
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'link-depot 'remove-timezones.jl
+ (lambda _
+ (substitute* "test/runtests.jl"
+ (("using TimeZones.*") "")
+ ((".*infextendedtime.*") "")))))))
+ (propagated-inputs
+ (list julia-requires))
+ (native-inputs
+ (list julia-compat))
+ (home-page "https://docs.juliahub.com/Infinity/")
+ (synopsis "Representation of infinity in Julia")
+ (description "This package provides representations for infinity and
+negative infinity in Julia.")
+ (license license:expat)))
+
;; TODO: There is talk upstream about separating out the timezone data into a
;; separate package which can allow this to actually be packaged in a sane way.
;; As of 1.7.1 there are 257 items in Artifact.toml
diff --git a/gn/packages/lisp.scm b/gn/packages/lisp.scm
index 50ef3b5..111ee52 100644
--- a/gn/packages/lisp.scm
+++ b/gn/packages/lisp.scm
@@ -55,8 +55,6 @@
(base32 "0n6m3aqvdfnsrhlhqjcy72d1i55lbkjg13ij5c7vw003p1n78wxi"))
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-files '("defstar.asd")))
(home-page "https://github.com/lisp-maintainers/defstar")
(synopsis "Type declarations for defun et all")
(description
@@ -89,8 +87,6 @@ with a star added at the end.")
(base32 "0zgx4ymyzvfg44z36yr4l87cd9mprajd7sycr2zc67ab6330rynf"))
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-files '("2am.asd")))
(home-page "https://gitlab.common-lisp.net/dkochmanski/2am")
(synopsis "Small testing framework based on 1am")
(description
@@ -175,8 +171,6 @@ fringilla labore. Tellus penatibus arcu ligula nisi.")
(base32 "1blmrb4c9gsxj87scz74z1s8w9d1w2r48fyxj0y1sw3vr6bsbb8f"))
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-files '("fare-memoization.asd")))
(native-inputs
(list sbcl-hu.dwim.stefil))
(inputs
@@ -212,8 +206,6 @@ with the same arguments again, rather than re-doing the computation.")
(base32 "08s53zj3mcx82kszp1bg2vsb4kydvkc70kj4hpq9h1l5a1wh44cy"))
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-files '("meta.asd")))
(inputs
(list sbcl-named-readtables))
(home-page "https://gitlab.common-lisp.net/frideau/meta")
@@ -245,8 +237,6 @@ generators.")
(base32 "056qi6vw9bk19s42mapyg55mimhhvhlwgny080v9mhv4fhnqi196"))
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
- (arguments
- `(#:asd-files '("scribble.asd")))
(native-inputs
(list sbcl-babel))
(inputs
diff --git a/gn/packages/machine-learning.scm b/gn/packages/machine-learning.scm
index fbaffb2..8f9f1f0 100644
--- a/gn/packages/machine-learning.scm
+++ b/gn/packages/machine-learning.scm
@@ -11,18 +11,6 @@
(arguments
(substitute-keyword-arguments (package-arguments tensorflow)
((#:substitutable? _ #f) #f)
- ;((#:phases phases)
- ; `(modify-phases ,phases
- ; (add-after 'unpack 'hardcode-multicore-usage
- ; (lambda _
- ; (substitute* "tensorflow/core/protobuf/config.proto"
- ; ;(("num_threads = 1") "num_threads = 28") ; 56/2 for penguin2
- ; ;(("intra_op_parallelism_threads = 2")
- ; ; "intra_op_parallelism_threads = 0")
- ; ;(("inter_op_parallelism_threads = 5")
- ; ; "inter_op_parallelism_threads = 0")
- ; )
- ; #t))))
((#:configure-flags flags)
`(cons
"-Dtensorflow_OPTIMIZE_FOR_NATIVE_ARCH=ON"
diff --git a/gn/packages/notebooks.scm b/gn/packages/notebooks.scm
index 9a22b73..89f1360 100644
--- a/gn/packages/notebooks.scm
+++ b/gn/packages/notebooks.scm
@@ -59,8 +59,7 @@ instance.")
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
(arguments
- `(#:tests? #f ; There are no tests.
- #:asd-files '("nb.asd")))
+ `(#:tests? #f)) ; There are no tests.
(inputs
(list sbcl-ningle
sbcl-clack
diff --git a/gn/packages/pangenome.scm b/gn/packages/pangenome.scm
index 69e3d81..c66b594 100644
--- a/gn/packages/pangenome.scm
+++ b/gn/packages/pangenome.scm
@@ -1,23 +1,12 @@
-;; Bioinformatics module
+;; Pangenome module
(define-module (gn packages pangenome)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
- #:use-module (guix utils)
#:use-module (guix download)
- #:use-module (guix git-download)
#:use-module (guix build-system cargo)
- #:use-module (guix build-system gnu)
- #:use-module (guix graph)
- #:use-module (guix scripts graph)
- #:use-module (guix store)
- #:use-module (guix gexp)
- #:use-module (gnu packages)
- #:use-module (gnu packages base)
#:use-module (gnu packages crates-io)
- #:use-module (gnu packages rust)
- #:use-module (gnu packages version-control)
- #:use-module (srfi srfi-1))
+ #:use-module (gn packages crates-io))
(define-public gfautil
diff --git a/gn/packages/python-web.scm b/gn/packages/python-web.scm
new file mode 100644
index 0000000..88478a5
--- /dev/null
+++ b/gn/packages/python-web.scm
@@ -0,0 +1,40 @@
+(define-module (gn packages python-web)
+ ;; core guix packages
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix build-system python)
+ #:use-module ((guix licenses) #:prefix license:)
+ ;; packages modules
+ #:use-module (gnu packages django)
+ #:use-module (gnu packages databases)
+ #:use-module (gnu packages python-web)
+ #:use-module (gnu packages python-crypto))
+
+(define-public python-authlib
+ (package
+ (name "python-authlib")
+ (version "1.2.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "Authlib" version))
+ (sha256
+ (base32
+ "178ycfypdv1hy4zjm09rmysxakmwch2n6a5wypwmx4d5hc4fi8sg"))))
+ (build-system python-build-system)
+ (native-inputs (list python-httpx
+ python-flask
+ python-django
+ python-werkzeug
+ python-starlette
+ python-sqlalchemy
+ python-pycryptodomex))
+ (propagated-inputs (list python-cryptography))
+ (arguments `(#:tests? #f)) ;; temporarily deactivate tests
+ (home-page "https://authlib.org/")
+ (synopsis
+ "The ultimate Python library in building OAuth and OpenID Connect servers and clients.")
+ (description
+ "The ultimate Python library in building OAuth and OpenID Connect servers and
+clients. It is designed from low level specifications implementations to high
+level frameworks integrations, to meet the needs of everyone.")
+ (license license:bsd-3)))
diff --git a/gn/packages/python.scm b/gn/packages/python.scm
index d9c4511..510546d 100644
--- a/gn/packages/python.scm
+++ b/gn/packages/python.scm
@@ -9,8 +9,11 @@
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages maths)
#:use-module (gnu packages monitoring)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
@@ -29,6 +32,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
+ #:use-module (guix gexp)
#:use-module (guix utils)
#:use-module (guix build-system python)
#:use-module (srfi srfi-1))
@@ -251,12 +255,6 @@ Python 3 support.")
(package-with-python2 python-avro))
-; env IPFS_PATH=/export/ipfs/ ipfs add -r htmlgen/
-; added QmUD9LMJTE8q5wYkUyAwLdz2QCGXWt457iFnyYQAGfsN3j htmlgen/htmlgen-2.2.2-gn.tar.gz
-; added QmZLWsPHLFTU3hWAfdTwj3RXFrS8Ma7KEixne1suWuYqeG htmlgen
-; penguin2:~/tmp$ env IPFS_PATH=/export/ipfs/ ipfs pin add -r QmZLWsPHLFTU3hWAfdTwj3RXFrS8Ma7KEixne1suWuYqeG
-; pinned QmZLWsPHLFTU3hWAfdTwj3RXFrS8Ma7KEixne1suWuYqeG recursively
-
(define-public python2-htmlgen-gn ; guix obsolete
(package
(name "python2-htmlgen-gn")
@@ -265,7 +263,7 @@ Python 3 support.")
(method url-fetch)
;; http://files.genenetwork.org/software/contrib/htmlgen-2.2.2-gn.tar.gz
(uri (string-append
- "http://ipfs.genenetwork.org/ipfs/QmZLWsPHLFTU3hWAfdTwj3RXFrS8Ma7KEixne1suWuYqeG/htmlgen-" version "-gn.tar.gz"))
+ "https://files.genenetwork.org/software/htmlgen-2.2.2-gn.tar.gz"))
(sha256
(base32
"1lwsk56rymhrma46cbyh3g64ksmq1vsih3qkrc2vh0lpba825y7r"))
@@ -360,13 +358,6 @@ Python 3 support.")
(description #f)
(license #f)))
-; penguin2:~/tmp$ env IPFS_PATH=/export/ipfs/ ipfs add -r Imaging/
-; added QmV8Rew1re8gBTLsaqMU4bd7euFUPEpjiD572mtoz6KhPn Imaging/Imaging-1.1.6-gn.tar.gz
-; added QmdkzQpVMLZVtywpYesynt9c7H8w7hHZRYKq8woN7stfpD Imaging
-; env IPFS_PATH=/export/ipfs/ ipfs pin add -r QmdkzQpVMLZVtywpYesynt9c7H8w7hHZRYKq8woN7stfpD
-; pinned QmdkzQpVMLZVtywpYesynt9c7H8w7hHZRYKq8woN7stfpD recursively
-
-
(define-public python2-pil1-gn ; guix obsolete
(package
(name "python2-pil1") ; works with GN2
@@ -427,11 +418,6 @@ capabilities to the Python interpreter.")
"file://README"
"See 'README' in the distribution."))))
-; agrigento:~/izip/git/opensource/genenetwork$ scp ./contrib/piddle-1.0.15-gn.tgz penguin2.genenetwork.org
-; penguin2:~$ env IPFS_PATH=/export/ipfs/ ipfs add piddle-1.0.15-gn.tgz
-; added QmSMptV2VALL2s7igqRqKJ8ALNvhqFRUYVG54kEF7ac6ve piddle-1.0.15-gn.tgz
-; penguin2:~$ env IPFS_PATH=/export/ipfs/ ipfs pin add -r QmSMptV2VALL2s7igqRqKJ8ALNvhqFRUYVG54kEF7ac6ve
-; pinned QmSMptV2VALL2s7igqRqKJ8ALNvhqFRUYVG54kEF7ac6ve recursively
(define-public python2-piddle-gn ; guix obsolete
(package
@@ -440,7 +426,7 @@ capabilities to the Python interpreter.")
(source (origin
(method url-fetch)
(uri (string-append
- "http://ipfs.genenetwork.org/ipfs/QmeKcMb8AdwZNUcAaTASVpZ39ipwJn8eBoqqDfoCzQYmNk/piddle-" version ".tgz"))
+ "https://files.genenetwork.org/software/piddle-1.0.15-gn.tgz"))
(sha256
(base32
"05gjnn31v7p0kh58qixrpcizcxqf3b7zv4a5kk8nsmqwgxh0c6gq"))))
@@ -707,8 +693,7 @@ clusters (computers connected via network).")
(define GN1-thirdparty-sources
(origin
(method url-fetch/tarbomb)
- ;; ipfs get QmTPwYT2pehdxdG1TiHEzVzLgbeuhJ4utXShuz3twA84AB
- (uri "file:///gnu/store/p33a2sh3x2nhiiphdw9nly80njg6p8fi-thirdparty.tgz")
+ (uri "https://files.genenetwork.org/software/thirdparty.tgz")
(file-name "GN1-thirdparty")
(sha256
(base32
@@ -851,37 +836,68 @@ spreadsheets without the need for COM objects.")
(base32
"1lg1klrczvzfan89y3bl9ykrknl3nb01vvai37fkww24apzyibjf"))))))
+(define-public python-py-dateutil
+ (package
+ (name "python-py-dateutil")
+ (version "2.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "py-dateutil" version))
+ (sha256
+ (base32
+ "0j5hyhn2yqwyapbhvdvw14a0ydhdl6ddw95nii091iarf6hjryky"))))
+ (build-system python-build-system)
+ (arguments
+ (list
+ #:tests? #f ; Package is unmaintained since ~2014
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "test.py")))))))
+ (propagated-inputs (list python-six))
+ (home-page "https://bitbucket.org/cld/dateutil")
+ (synopsis "Extensions to the standard Python datetime module")
+ (description "Extensions to the standard Python datetime module")
+ (license license:bsd-3)))
+
(define-public python-arvados-python-client
(package
(name "python-arvados-python-client")
- (version "2.0.2")
+ (version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "arvados-python-client" version))
(sha256
- (base32
- "19l4w6m5426x5k2kick630dh2jx26j16ycs2nhbfgr4cd43d29y4"))))
+ (base32 "1j08aykj0v2z2bqwr5nfnbjgc1yzdnfdafcnxbf2jbwqh8kx7zc9"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "setup.py"
+ ;; Don't set a maximum version of pycurl.
+ (("(pycurl >=([[:digit:]]+\\.?)+),.*" _ pycurl)
+ (string-append pycurl "',\n")))))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; tests not included?
(propagated-inputs
- `(("python-ciso8601" ,python-ciso8601)
- ("python-future" ,python-future)
- ;("python-google-api-python-client" ,python-google-api-python-client)
- ("python-google-api-client" ,python-google-api-client)
- ("python-httplib2" ,python-httplib2)
- ("python-pycurl" ,python-pycurl)
- ("python-ruaml.yaml" ,python38-ruaml.yaml-0.15.76)
- ("python-setuptools" ,python-setuptools)
- ("python-oauth2client" ,python-oauth2client)
- ("python-uritemplate" ,python-uritemplate)
- ("python-ws4py" ,python-ws4py)))
+ (list python-ciso8601
+ python-future
+ python-google-api-client
+ python-google-api-core-1
+ python-google-auth-1
+ python-httplib2
+ python-protobuf
+ python-pycurl
+ python-pyparsing-2.4.7 ; < 3
+ python-ruamel.yaml
+ python-ws4py))
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pbr" ,python-pbr-1.6.0)
- ("python-pyyaml" ,python-pyyaml)
- ))
+ (list python-mock
+ python-pbr-1.6.0
+ python-pyyaml))
(home-page "https://arvados.org")
(synopsis "Arvados client library")
(description "This package provides the arvados module, an API client for
@@ -899,46 +915,35 @@ server.")
(method url-fetch)
(uri (pypi-uri "PyShEx" version))
(sha256
- (base32
- "1fy664bh6hpmr4cf49fwwxng36kv7s6b2986hbv0cqcypc4ri2cs"))))
+ (base32 "1fy664bh6hpmr4cf49fwwxng36kv7s6b2986hbv0cqcypc4ri2cs"))))
(arguments
- '(#:phases
+ '(#:tests? #f ; Tests try to use the internet.
+ #:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-source
+ (add-after 'unpack 'drop-rdflib-namespace-rdfnamespace
(lambda _
- (substitute* "requirements.txt"
- ((">=.*") "\n"))
- #t))
+ ;; _RDFNamespace is in rdflib-5
+ ;; https://github.com/hsolbrig/PyShEx/commit/d138a5b4f2249212f2141b7b9bbaff6696ee9415
+ (substitute* "pyshex/prefixlib.py"
+ (("XMLNS, _RDFNamespace") "XMLNS"))))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
- (if tests?
- (begin
- (delete-file "tests/test_cli/test_evaluate.py")
- (delete-file "tests/test_cli/test_sparql_options.py")
- (delete-file "tests/test_issues/test_fhir.py")
- (delete-file "tests/test_issues/test_issue_30.py")
- (delete-file "tests/test_pyshex_utils/test_schema_loader.py")
- (delete-file "tests/test_shex_manifest/test_basics.py")
- (delete-file "tests/test_shextest_validation/test_manifest_shex_json.py")
- (delete-file "tests/test_shextest_validation/test_manifest_shex_shexc.py")
- (delete-file "tests/test_support_libraries/test_prefixlib.py")
- (delete-file "tests/test_utils/test_manifest.py")
- (delete-file "tests/test_utils/test_sparql_query.py")
- (delete-file "tests/test_utils/test_n3_mapper.py")
- (invoke "python" "-m" "unittest"))
- #t))))))
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (setenv "SKIP_EXTERNAL_URLS" "true")
+ (invoke "python" "-m" "unittest")))))))
(build-system python-build-system)
(propagated-inputs
- `(("python-cfgraph" ,python-cfgraph)
- ("python-pyshexc" ,python-pyshexc)
- ("python-rdflib" ,python-rdflib)
- ("python-pbr" ,python-pbr)
- ("python-rdflib-jsonld" ,python-rdflib-jsonld)
- ("python-requests" ,python-requests)
- ("python-shexjsg" ,python-shexjsg)
- ("python-sparql-slurper" ,python-sparql-slurper)
- ("python-sparqlwrapper" ,python-sparqlwrapper)
- ("python-urllib3" ,python-urllib3)))
+ (list python-cfgraph
+ python-pyshexc-0.7
+ python-rdflib
+ python-requests
+ python-shexjsg
+ python-sparql-slurper
+ python-sparqlwrapper
+ python-urllib3))
+ (native-inputs
+ (list python-pbr python-unittest2))
(home-page "https://github.com/hsolbrig/PyShEx")
(synopsis "Python ShEx Implementation")
(description "This package provides a python ShEx Implementation.")
@@ -947,44 +952,97 @@ server.")
(define-public python-pyshexc
(package
(name "python-pyshexc")
- (version "0.5.4")
+ (version "0.9.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyShExC" version))
(sha256
- (base32
- "0hyhmc971gh25ja34j9hbkr7dg9n3jfin8668cqzjmcpjvb1jnil"))))
+ (base32 "1lq4lf0nal1v1d3vbyrr1hfkhmhphy06dyqhyw7b5zls9dfrga9m"))))
(build-system python-build-system)
(arguments
- '(#:tests? #f ; Tests aren't included in release tarball.
+ '(#:tests? #f ; It isn't clear how the tests expect to succeed.
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
- (if tests?
- (begin (add-installed-pythonpath inputs outputs)
- (substitute* "tests/test_basic_parser.py"
- (("BasicParserTestCase.repo_url.*")
- (string-append "BasicParserTestCase.repo_url = \""
- (assoc-ref inputs "test-suite")
- "/schemas\"\n")))
- (with-directory-excursion "tests"
- (invoke "python" "build_test_harness.py")
- (invoke "python" "test_basic_parser.py")
- (invoke "python" "test_issue_2.py")
- (invoke "python" "test_shexr.py")))
- #t))))))
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "unittest" "discover" "-s" "tests")))))))
(propagated-inputs
- `(("python-antlr4-python3-runtime" ,python-antlr4-python3-runtime)
- ("python-jsonasobj" ,python-jsonasobj)
- ("python-pyjsg" ,python-pyjsg)
- ("python-rdflib" ,python-rdflib)
- ("python-rdflib-jsonld" ,python-rdflib-jsonld)
- ("python-requests" ,python-requests)))
+ (list python-antlr4-python3-runtime
+ python-chardet
+ python-jsonasobj
+ python-pyjsg
+ python-rdflib-shim
+ python-shexjsg))
+ (native-inputs
+ (list python-pbr
+ python-requests
+ python-yadict-compare))
+ (home-page "https://github.com/shexSpec/grammar-python-antlr")
+ (synopsis "Python ShExC Parser")
+ (description "This package converts the @dfn{Shape Expression Compact}
+(ShExC) into @dfn{Python JSON Schema Binding} (pyjsg) objects.")
+ (license license:asl2.0)))
+
+(define-public python-pyshexc-0.7
+ (package
+ (inherit python-pyshexc)
+ (name "python-pyshexc")
+ (version "0.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/shexSpec/grammar")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name "shexspec-grammar" version))
+ (sha256
+ (base32 "08wsknjq8zyi3hk01w6yl6z8jld63l6l64n43gjhj0jphbm4s9iz"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "parsers/python/setup.cfg"
+ (("python-requires = 3") "python_requires = >=3.6"))))))
+ (arguments
+ `(#:tests? #f ; Tests try to access the internet.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "parsers/python")
+ (setenv "PBR_VERSION" ,version)))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (substitute* "tests/__init__.py"
+ (("schemas_base =.*")
+ (string-append "schemas_base = \""
+ (assoc-ref inputs "test-suite")
+ "/schemas\"\n")))
+ (substitute* "tests/test_shexr.py"
+ (("https://raw.githubusercontent.com/shexSpec/shexTest/master/validation/manifest")
+ (string-append (assoc-ref inputs "test-suite")
+ "/validation/manifest")))
+ (substitute* "tests/test_issue_9.py"
+ (("https://raw.githubusercontent.com/shexSpec/shexTest/master/schemas/1dotNS2.shex")
+ (search-input-file inputs "/schemas/1dotNS2.shex")))
+ (symlink (assoc-ref inputs "test-suite")
+ "../../../shexTest")
+ (invoke "python" "-m" "unittest" "discover" "-s" "tests")))))))
+ (propagated-inputs
+ (list python-antlr4-python3-runtime
+ python-certifi
+ python-jsonasobj
+ python-rdflib-shim
+ python-requests
+ python-shexjsg))
(native-inputs
- `(("python-yadict-compare" ,python-yadict-compare)
- ("python-shexjsg" ,python-shexjsg-min)
+ `(("python-pbr" ,python-pbr)
+ ("python-unittest2" ,python-unittest2)
+ ("python-yadict-compare" ,python-yadict-compare)
("test-suite"
,(origin
(method git-fetch)
@@ -995,23 +1053,18 @@ server.")
(sha256
(base32
"1x788nyrwycfr55wbg0ay6mc8mi6wwsg81h614rx9pw6rvrsppps"))))))
- (home-page "https://github.com/shexSpec/grammar/tree/master/parsers/python")
- (synopsis "Python ShExC Parser")
- (description "This package converts the @dfn{Shape Expression Compact}
-(ShExC) into @dfn{Python JSON Schema Binding} (pyjsg) objects.")
- (license license:asl2.0)))
+ (home-page "https://github.com/shexSpec/grammar/tree/master/parsers/python")))
(define-public python-antlr4-python3-runtime
(package
(name "python-antlr4-python3-runtime")
- (version "4.7.1")
+ (version "4.9.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "antlr4-python3-runtime" version))
(sha256
- (base32
- "1lrzmagawmavyw1n1z0qarvs2jmbnbv0p89dah8g7klj8hnbf9hv"))))
+ (base32 "06w8fz73rk8vzjz9rydfk56g4mbqpyl81yhypc14jab886dlc97j"))))
(build-system python-build-system)
(home-page "https://www.antlr.org/")
(synopsis "ANTLR runtime for Python")
@@ -1051,84 +1104,39 @@ treats name/value pairs as first class attributes whenever possible.")
(define-public python-shexjsg
(package
(name "python-shexjsg")
- (version "0.6.5")
+ (version "0.8.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ShExJSG" version))
(sha256
- (base32
- "1nn69sl5j949qy21nl5gr56cxfhmml1vng08hayxqfj6vn3ay3gg"))))
+ (base32 "1dnhpk6n6vzadkv13y7r6y2mi1pzv4y19vmxh91k9ykpqngn4ypi"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda _
- (substitute* '("requirements.txt"
- "requirements-dev.txt")
- (("pyshexc.*") "") ; no loops
- (("==.*") "\n"))
- #t))
(replace 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(if tests?
(begin (add-installed-pythonpath inputs outputs)
- (substitute* '("tests/test_shexc.py"
- "tests/test_shexj.py")
- (("shexTestRepository =.*")
- (string-append "shexTestRepository = \""
- (assoc-ref inputs "test-suite")
- "/schemas\"\n")))
- (invoke "python" "-m" "unittest"))
- #t))))))
+ ;; Tries to download files from the internet.
+ (substitute* "tests/test_shexj.py"
+ (("skipIf\\(False") "skipIf(True"))
+ (invoke "python" "-m" "unittest"))))))))
(propagated-inputs
- `(("python-antlr4-python3-runtime" ,python-antlr4-python3-runtime)
- ("python-certifi" ,python-certifi)
- ("python-chardet" ,python-chardet)
- ("python-idna" ,python-idna)
- ("python-isodate" ,python-isodate)
- ("python-pyjsg" ,python-pyjsg)
- ("python-requests" ,python-requests)
- ("python-urllib3" ,python-urllib3)))
+ (list python-pyjsg))
(native-inputs
- `(("python-jsonasobj" ,python-jsonasobj)
- ("python-pbr" ,python-pbr)
- ("python-pyparsing" ,python-pyparsing)
- ("python-pyshexc" ,python-pyshexc)
- ("python-rdflib" ,python-rdflib)
- ("python-rdflib-jsonld" ,python-rdflib-jsonld)
- ("python-six" ,python-six)
- ("python-yadict-compare" ,python-yadict-compare)
- ("test-suite"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shexSpec/shexTest")
- (commit "v2.0.2")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1x788nyrwycfr55wbg0ay6mc8mi6wwsg81h614rx9pw6rvrsppps"))))))
+ (list python-jsonasobj
+ python-pbr
+ python-rdflib-shim
+ python-requests
+ python-yadict-compare))
(home-page "https://github.com/hsolbrig/ShExJSG")
(synopsis "Astract Syntax Tree for the ShEx 2.0 language")
(description "This package provides an astract syntax tree for the
ShEx 2.0 language.")
(license license:cc0)))
-;; Lets use this one for tests.
-(define python-shexjsg-min
- (package
- (inherit python-shexjsg)
- (name "python-shexjsg")
- (arguments
- (substitute-keyword-arguments (package-arguments python-shexjsg)
- ((#:tests? _ #t) #f)))
- (native-inputs
- `(,@(alist-delete "python-pyshexc"
- (package-native-inputs python-shexjsg))))
- (properties `((hidden? . #t)))))
-
(define-public python-yadict-compare
(package
(name "python-yadict-compare")
@@ -1160,31 +1168,17 @@ handles recursion and lists.")
(define-public python-pyjsg
(package
(name "python-pyjsg")
- (version "0.9.2")
+ (version "0.11.10")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- ;; Releases aren't tagged in the repository.
- (url "https://github.com/hsolbrig/pyjsg")
- (commit "9b2b8fa8e3b8448abe70b09f804a79f0f31b32b7")))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (pypi-uri "PyJSG" version))
(sha256
- (base32
- "0fhpvb6i6xhyd6hnwknw0y2k33cb7iwj07g009lw96r580vprxs4"))))
+ (base32 "1ylbx2pc06qsvb8cqnr8nysvmw55f8nkm05ybcwjpyik53zy7mjb"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-source
- (lambda* (#:key inputs #:allow-other-keys)
- (for-each (lambda (file)
- (make-file-writable file))
- (find-files "." "."))
- (substitute* "tests_standalone_2/test_xsfacet.py"
- (("\\.\\.', '\\.\\.', '\\.\\.', 'shexSpec', 'shexTest")
- (assoc-ref inputs "test-suite")))
- #t))
;; From tox.ini
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
@@ -1193,30 +1187,20 @@ handles recursion and lists.")
(lambda (dir)
(invoke "python" "-m" "unittest" "discover" "-s" dir))
'("tests/test_issues"
- "tests/test_basics"
+ ;"tests/test_basics"
"tests/test_jsglib"
"tests/test_parser_impl"
"tests/test_python_generator"
"tests_standalone"
- "tests_standalone_2"))
- #t))))))
+ "tests_standalone_2"))))))))
(propagated-inputs
- `(("python-antlr4-python3-runtime" ,python-antlr4-python3-runtime)
- ("python-jsonasobj" ,python-jsonasobj)
- ("python-requests" ,python-requests)))
+ (list python-antlr4-python3-runtime
+ python-jsonasobj))
(native-inputs
- `(("python-unittest2" ,python-unittest2)
- ("python-yadict-compare" ,python-yadict-compare)
- ("test-suite"
- ,(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/shexSpec/shexTest")
- (commit "v2.0.2")))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1x788nyrwycfr55wbg0ay6mc8mi6wwsg81h614rx9pw6rvrsppps"))))))
+ (list python-pbr
+ python-requests
+ python-unittest2
+ python-yadict-compare))
(home-page "https://github.com/hsolbrig/pyjsg")
(synopsis "Python JSON Schema Grammar bindings")
(description
@@ -1245,30 +1229,37 @@ handles recursion and lists.")
(description "This package provides a SPARQL Slurper for rdflib.")
(license license:asl2.0)))
-(define-public python38-ruaml.yaml-0.15.76 ;; no longer in use
+(define-public python-sparqlslurper
(package
- (inherit python-ruamel.yaml)
- (name "python-ruamel.yaml")
- (version "0.15.76")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ruamel.yaml" "0.15.78"))
- (sha256
- (base32
- "0pwxgrma6k47kvsphqz5yrhwnfrhwsrhn6sjp8p21s91wdgkqyc5"))))
+ (name "python-sparqlslurper")
+ (version "0.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "sparqlslurper" version))
+ (sha256
+ (base32 "0ipma74dr5jvsxwaa9al147mn9vv3v5r9lb9hajm4qgwcjqfp0lj"))))
+ (build-system python-build-system)
(arguments
- `(#:tests? #f ; suprise test failures
+ '(#:tests? #f ; Tests try to use the internet.
#:phases
(modify-phases %standard-phases
- ;; For some unknown reason we need: ruamel.yaml<=0.15.77,>=0.15.54
- ;; But 0.15.78 is the first which builds with python-3.8.
- (add-after 'unpack 'patch-source
- (lambda _
- (substitute* "__init__.py"
- (("0\\.15\\.78") "0.15.76")
- (("15, 78") "15, 76"))
- #t)))))))
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "unittest")))))))
+ (propagated-inputs
+ (list python-rdflib-shim
+ python-sparqlwrapper))
+ (native-inputs
+ (list python-pbr python-unittest2))
+ (home-page "http://github.com/hsolbrig/sparqlslurper")
+ (synopsis "SPARQL Slurper for rdflib")
+ (description "This package provides an implementation of a
+@code{rdflibGraph} that acts as a cache for a SPARQL endpoint. SPARQL Slurper
+translates the @code{Graph.triples()} function into the corresponding SPARQL
+query and resolves it against an endpoint.")
+ (license license:cc0)))
(define-public python2-ruamel.ordereddict
(package
@@ -1299,6 +1290,22 @@ handles recursion and lists.")
sorted order.")
(license license:expat)))
+(define-public python-pytest-5
+ (package
+ (inherit python-pytest)
+ (name "python-pytest")
+ (version "5.4.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest" version))
+ (sha256
+ (base32
+ "1n67lk8iwlsmfdm8663k8l7isllg1xd3n9p1yla7885szhdk6ybr"))))
+ (build-system python-build-system)
+ (native-inputs
+ (modify-inputs (package-native-inputs python-pytest)
+ (prepend python-argcomplete python-requests)))))
+
(define-public python-pytest-4
(package
(inherit python-pytest)
@@ -1315,9 +1322,33 @@ sorted order.")
((#:tests? _ #f) #f)))
(native-inputs
`(("python-argcomplete" ,python-argcomplete)
+ ("python-atomicwrites" ,python-atomicwrites)
("python-requests" ,python-requests)
,@(package-native-inputs python-pytest)))))
+(define-public python-pytest-runner-4
+ (package
+ (inherit python-pytest-runner)
+ (name "python-pytest-runner")
+ (version "4.5.1")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-runner" version))
+ (sha256
+ (base32
+ "1vzilbayx5mznsdm1r258m3616374p6kvhsbj4j6238j9djkvjyi"))))))
+
+(define-public python-pytest-runner-2
+ (package
+ (inherit python-pytest-runner)
+ (version "2.12.2")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pytest-runner" version))
+ (sha256
+ (base32
+ "11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6"))))))
+
(define-public python-pandas-plink
(package
(name "python-pandas-plink")
@@ -1784,3 +1815,66 @@ file format spec.")
(license:fsf-free (string-append "https://web.archive.org/web/20190211105114/"
"http://www.repoze.org/LICENSE.txt")))))
+(define-public python-rdflib-shim
+ (package
+ (name "python-rdflib-shim")
+ (version "1.0.3")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "rdflib_shim" version))
+ (sha256
+ (base32
+ "03gwsjcinbyyqrhs2jfhs6mr7j69dfn5djihd0mv9al654gd2mfr"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "requirements.txt"
+ (("rdflib-jsonld==0.6.1") "rdflib-jsonld"))))))
+ (build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key inputs outputs tests? #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "python" "-m" "unittest" "discover" "-s" "tests")))))))
+ (propagated-inputs
+ (list python-rdflib python-rdflib-jsonld))
+ (native-inputs
+ (list python-pbr))
+ (home-page "http://hsolbrig.github.io/rdflib-shim")
+ (synopsis "Shim for rdflib 5 and 6 incompatibilities")
+ (description "Shim for rdflib 5 and 6 incompatibilities")
+ (license license:cc0)))
+
+(define-public python-h5py-2
+ (package
+ (name "python-h5py")
+ (version "2.10.0")
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "h5py" version))
+ (sha256
+ (base32
+ "0baipzv8n93m0dq0riyi8rfhzrjrfrfh8zqhszzp1j2xjac2fhc4"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:tests? #f ;no test target
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'fix-hdf5-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HDF5_DIR"
+ (assoc-ref inputs "hdf5")))))))
+ (propagated-inputs (list python-six python-numpy))
+ (inputs (list hdf5-1.10))
+ (native-inputs (list python-cython python-pkgconfig pkg-config))
+ (home-page "https://www.h5py.org/")
+ (synopsis "Read and write HDF5 files from Python")
+ (description
+ "The h5py package provides both a high- and low-level interface to the
+HDF5 library from Python. The low-level interface is intended to be a
+complete wrapping of the HDF5 API, while the high-level component supports
+access to HDF5 files, datasets and groups using established Python and NumPy
+concepts.")
+ (license license:bsd-3)))
diff --git a/gn/packages/python24.scm b/gn/packages/python24.scm
index 35cd91e..381b1ef 100644
--- a/gn/packages/python24.scm
+++ b/gn/packages/python24.scm
@@ -140,7 +140,15 @@ pre-defined variants."
(name "python24-pil")
(arguments
(substitute-keyword-arguments (package-arguments python2-pil1)
- ((#:python _) python-2.4)))))
+ ((#:python _) python-2.4)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check))))))) ; Not applicable to python-2.4
(define-public python24-piddle
(package
@@ -148,7 +156,15 @@ pre-defined variants."
(name "python24-piddle")
(arguments
(substitute-keyword-arguments (package-arguments python2-piddle-gn)
- ((#:python _) python-2.4)))
+ ((#:python _) python-2.4)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check))))) ; Not applicable to python-2.4
(native-inputs `(("python24-setuptools" ,python24-setuptools)))
(propagated-inputs
`(("python24-pil" ,python24-pil)))))
@@ -182,7 +198,7 @@ pre-defined variants."
(define GN1-thirdparty-sources
(origin
(method url-fetch/tarbomb)
- (uri "http://ipfs.genenetwork.org/ipfs/QmTPwYT2pehdxdG1TiHEzVzLgbeuhJ4utXShuz3twA84AB/thirdparty.tgz")
+ (uri "https://files.genenetwork.org/software/thirdparty.tgz")
(file-name "GN1-thirdparty")
(sha256
(base32
@@ -200,13 +216,18 @@ pre-defined variants."
(modify-phases %standard-phases
(delete 'build)
(delete 'check)
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check) ; Not applicable to python-2.4
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(sitedir (string-append out "/lib/python2.4/site-packages/json/")))
(mkdir-p sitedir)
- (copy-recursively "thirdparty/json" sitedir)
- #t))))))
+ (copy-recursively "thirdparty/json" sitedir)))))))
(home-page "")
(synopsis "")
(description "")
@@ -224,13 +245,18 @@ pre-defined variants."
(modify-phases %standard-phases
(delete 'build)
(delete 'check)
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check) ; Not applicable to python-2.4
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(sitedir (string-append out "/lib/python2.4/site-packages/svg/")))
(mkdir-p sitedir)
- (copy-recursively "thirdparty/svg" sitedir)
- #t))))))
+ (copy-recursively "thirdparty/svg" sitedir)))))))
(home-page "")
(synopsis "")
(description "")
@@ -248,6 +274,12 @@ pre-defined variants."
(modify-phases %standard-phases
(delete 'build)
(delete 'check)
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check) ; Not applicable to python-2.4
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -322,7 +354,13 @@ pre-defined variants."
(modify-phases %standard-phases
(add-after 'unpack 'change-directory
(lambda _
- (chdir "thirdparty/pp-1.5.7") #t)))))
+ (chdir "thirdparty/pp-1.5.7")))
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check)))) ; Not applicable to python-2.4
(home-page "")
(synopsis "")
(description "")
@@ -346,9 +384,15 @@ pre-defined variants."
`(#:python ,python-2.4
#:phases
(modify-phases %standard-phases
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check) ; Not applicable to python-2.4
(add-before 'check 'pre-check
(lambda* (#:key inputs tests? #:allow-other-keys)
- (if tests?
+ (when tests?
(begin
(mkdir-p "/tmp/mysqld")
(call-with-output-file "/tmp/my.cnf"
@@ -368,8 +412,7 @@ pre-defined variants."
(sleep 5)
(invoke "mysqladmin" "-S" "/tmp/mysqld/mysql.sock" "variables")
(invoke "mysql" "-S" "/tmp/mysqld/mysql.sock"
- "-e" "'create database mysqldb_test charset utf8;'"))
- #t))))
+ "-e" "'create database mysqldb_test charset utf8;'"))))))
#:tests? #f)) ; TODO: Run the test suite
(native-inputs
`(("mysql" ,mysql-5.0) ; Best supported version according to the README.
@@ -461,18 +504,13 @@ algorithm can be found in Gablonsky's
thesis}.")
(license license:expat)))
-; env IPFS_PATH=/export/ipfs/ ipfs add direct.so
-; added QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA direct.so
-; penguin2:~/tmp$ env IPFS_PATH=/export/ipfs/ ipfs pin add QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA
-; pinned QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA recursively
-
(define-public python24-direct-gn
(package
(name "python24-direct-gn")
(version "GN")
(source (origin
(method url-fetch)
- (uri "http://ipfs.genenetwork.org/ipfs/QmYUZiuAP6DJeubu69JqvRWSsn53qCZCS3FkRWgTowtWkA")
+ (uri "https://files.genenetwork.org/software/direct.so")
(file-name "direct.so")
(sha256
(base32
diff --git a/gn/packages/quality-control.scm b/gn/packages/quality-control.scm
index 7bc60ef..f0a9c2f 100644
--- a/gn/packages/quality-control.scm
+++ b/gn/packages/quality-control.scm
@@ -59,8 +59,7 @@
(file-name (git-file-name name commit))))
(build-system asdf-build-system/sbcl)
(arguments
- `(#:tests? #f ; Need to fix tests.
- #:asd-files '("qc.asd")))
+ `(#:tests? #f)) ; Need to fix tests.
(native-inputs
(list sbcl-1am))
(inputs
diff --git a/gn/packages/ratspub.scm b/gn/packages/ratspub.scm
index 5f6f7b5..726bc0b 100644
--- a/gn/packages/ratspub.scm
+++ b/gn/packages/ratspub.scm
@@ -17,6 +17,7 @@
#:use-module (gnu packages python-xyz)
#:use-module (gn packages javascript)
#:use-module (gn packages machine-learning)
+ #:use-module (gn packages python)
#:use-module (gn packages web))
(define-public ratspub
@@ -148,6 +149,13 @@ Association Studies}} catalog are also included in the search. These
gene-keyword relationships are presented as an interactive graph and a table.")
(license license:expat)))
+(define use-corrected-inputs
+ (package-input-rewriting/spec
+ ;; Tensorflow-native provides much improved speeds. python-h5py@2 provides
+ ;; compatibility with our version of tensorflow.
+ `(("tensorflow" . ,(const tensorflow-native))
+ ("python-h5py" . ,(const python-h5py-2)))))
+
(define-public ratspub-with-tensorflow-native
(package
(inherit
@@ -262,7 +270,7 @@ if __name__ == '__main__':
(define-public genecup
(package
(name "genecup")
- (version "1.6")
+ (version "1.8")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -270,7 +278,7 @@ if __name__ == '__main__':
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "050yg4hvjs9rghw41q35xdd2c2rzh9sl4sfwkk3am150mgf2p0nh"))))
+ (base32 "0clnlnj6cl816yj3nalh1h6hsvnh3sjq2g84x1kmj1zkqkw184ri"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -399,11 +407,11 @@ concepts and a list of keywords for each concept.")
(define-public genecup-with-tensorflow-native
(package
(inherit
- (tensowflow-native-instead-of-tensorflow genecup))
+ (use-corrected-inputs genecup))
(name "genecup-with-tensorflow-native")))
(define-public genecup-latest-with-tensorflow-native
(package
(inherit
- (tensowflow-native-instead-of-tensorflow genecup-master))
+ (use-corrected-inputs genecup-master))
(name "genecup-latest-with-tensorflow-native")))
diff --git a/gn/packages/ruby.scm b/gn/packages/ruby.scm
index ca0339f..e2c4164 100644
--- a/gn/packages/ruby.scm
+++ b/gn/packages/ruby.scm
@@ -127,7 +127,7 @@ and comma separated table files - useful for Excel sheets and SQL/RDF
output")
(home-page
"http://github.com/pjotrp/bioruby-table")
- (license expat)))
+ (license license:expat)))
(define-public ruby-ntlm-http
(package
@@ -148,7 +148,8 @@ output")
(description
"Ruby/NTLM HTTP provides NTLM authentication over http.")
(home-page "http://www.mindflowsolutions.net")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-webrobots
(package
@@ -171,7 +172,8 @@ output")
"This library helps write robots.txt compliant web robots in Ruby.
")
(home-page "https://github.com/knu/webrobots")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-mechanize ; guix maybe ready
(package
@@ -213,7 +215,7 @@ submitted. Mechanize also keeps track of the sites that you have visited as
a history.")
(home-page
"http://docs.seattlerb.org/mechanize/")
- (license expat)))
+ (license license:expat)))
(define-public ruby-elasticsearch-transport
(package
@@ -240,7 +242,7 @@ a history.")
")
(home-page
"https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-transport")
- (license #f)))
+ (license (license:non-copyleft "will fill in later"))))
(define-public ruby-elasticsearch-api
(package
@@ -266,7 +268,7 @@ a history.")
")
(home-page
"https://github.com/elasticsearch/elasticsearch-ruby/tree/master/elasticsearch-api")
- (license #f)))
+ (license (license:non-copyleft "will fill in later"))))
(define-public ruby-elasticsearch
(package
@@ -295,7 +297,7 @@ a history.")
")
(home-page
"http://github.com/elasticsearch/elasticsearch-ruby")
- (license #f)))
+ (license (license:non-copyleft "will fill in later"))))
@@ -1720,7 +1722,8 @@ and HTML without having to deal with character set issues.")
acts as a drop-in replacement for Rails `auto_link`
")
(home-page "https://github.com/vmg/rinku")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-sidekiq
(package
@@ -1745,7 +1748,8 @@ and HTML without having to deal with character set issues.")
(description
"Simple, efficient background processing for Ruby.")
(home-page "https://sidekiq.org")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-mini-scheduler
(package
@@ -2007,7 +2011,8 @@ and HTML without having to deal with character set issues.")
(synopsis "")
(description "")
(home-page "")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public generate-ninja ; or 'gn'
(let ((commit "dfcbc6fed0a8352696f92d67ccad54048ad182b3")
@@ -2476,7 +2481,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(description
"The CSV library provides a complete interface to CSV files and data. It offers tools to enable you to read and write to and from Strings or IO objects, as needed.")
(home-page "https://github.com/ruby/csv")
- (license (list #f #f))))
+ (license (list (license:non-copyleft "will fill in later")
+ (license:non-copyleft "will fill in later")))))
(define-public ruby-maxminddb
(package
@@ -2690,7 +2696,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(description
"HTTP Accept, Accept-Charset, Accept-Encoding, and Accept-Language for Ruby/Rack")
(home-page "http://mjijackson.github.com/rack-accept")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-mustermann
(package
@@ -2948,7 +2955,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(description
"Run test/unit tests by line number. Metal!")
(home-page "https://github.com/qrush/m")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-allocation-stats
(package
@@ -3027,7 +3035,8 @@ Use rake-compiler-dock to enter an interactive shell session or add a task to yo
(description
"FakeWeb is a helper for faking web requests in Ruby. It works at a global level, without modifying code or writing extensive stubs.")
(home-page "http://github.com/chrisk/fakeweb")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-simple-oauth
(package
@@ -3364,7 +3373,8 @@ Psych also knows how to serialize and de-serialize most Ruby objects to and from
" Kwalify is a parser, schema validator, and data binding tool for YAML and JSON.
")
(home-page "http://www.kuwata-lab.com/kwalify/")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-reek
(package
@@ -4375,7 +4385,8 @@ non-blocking I/O methods for Ruby without raising exceptions on
EAGAIN and EINPROGRESS.
")
(home-page "https://yhbt.net/kgio/")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-unicorn
(package
@@ -4405,7 +4416,8 @@ advantage of features in Unix/Unix-like kernels. Slow clients should
only be served by placing a reverse proxy capable of fully buffering
both the the request and response in between unicorn and slow clients.")
(home-page "https://yhbt.net/unicorn/")
- (license (list #f #f))))
+ (license (list (license:non-copyleft "will fill in later")
+ (license:non-copyleft "will fill in later")))))
(define-public ruby-pry-rails
(package
@@ -4463,7 +4475,8 @@ both the the request and response in between unicorn and slow clients.")
(description
"CSS flipper for right-to-left processing. A Ruby port of https://github.com/ded/r2")
(home-page "https://github.com/mzsanford/R2rb")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-openssl
(package
@@ -5146,7 +5159,8 @@ public-key signature system described in RFC 8032.")
(description
"Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.")
(home-page "https://github.com/ctran/annotate_models")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-flamegraph
(package
@@ -5303,7 +5317,7 @@ specify.")
(description
"This package provides a small gem that attempts to guess and then force encoding of HTML documents for Ruby 1.9")
(home-page "https://github.com/cantino/guess_html_encoding")
- (license expat)))
+ (license license:expat)))
(define-public ruby-ruby-readability
(package
@@ -5332,7 +5346,8 @@ specify.")
(description
"Port of arc90's readability project to ruby")
(home-page "https://github.com/cantino/ruby-readability")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
;; TODO: 0.3.3 never finishes the install phase with ruby-2.6
;; TODO: Unbundle cppjieba
@@ -5614,7 +5629,8 @@ with processing Chinese text.")
\"test/unit/rr\".
")
(home-page "https://github.com/test-unit/test-unit-rr")
- (license #f)))
+ (license (license:non-copyleft
+ "will fill in later"))))
(define-public ruby-aws-sdk-kinesis
(package
@@ -5955,3 +5971,25 @@ Simple gem that adds various color methods to String class, and can be used as f
(home-page
"http://github.com/pjotrp/regressiontest")
(license license:expat)))
+
+(define-public ruby-lmdb
+ (package
+ (name "ruby-lmdb")
+ (version "0.6.1")
+ (source (origin
+ (method url-fetch)
+ (uri (rubygems-uri "lmdb" version))
+ (sha256
+ (base32
+ "0yzlf56ynj545ln5dxl422rpi8r6h11cr6rag5hk2qpbkzs6l9c2"))))
+ (build-system ruby-build-system)
+ (native-inputs
+ `(("ruby-rake" ,ruby-rake)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rspec" ,ruby-rspec) ("ruby-rspec" ,ruby-rspec)))
+ (arguments
+ `(#:tests? #f ; There are no tests.
+ )) (synopsis "lmdb is a Ruby binding to OpenLDAP Lightning MDB.")
+ (description "lmdb is a Ruby binding to OpenLDAP Lightning MDB.")
+ (home-page "https://github.com/doriantaylor/rb-lmdb")
+ (license license:expat)))
diff --git a/gn/past/genenetwork1.scm b/gn/past/genenetwork1.scm
index c557ee7..717aff6 100644
--- a/gn/past/genenetwork1.scm
+++ b/gn/past/genenetwork1.scm
@@ -44,7 +44,6 @@
#:use-module (past packages python)
#:use-module (past packages web)
#:use-module (gn packages bioinformatics)
- #:use-module (gn packages twint)
#:use-module (gn packages databases)
#:use-module (gn packages elixir)
#:use-module (gn packages gemma)
@@ -110,15 +109,22 @@ location of a putative QTL.")
`(#:python ,python-2.4
#:phases
(modify-phases %standard-phases
+ (replace 'add-install-to-pythonpath
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (setenv "PYTHONPATH"
+ (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))))
+ (delete 'sanity-check) ; Not applicable to python-2.4
(add-after 'unpack 'make-max-markername-size-larger
(lambda _
(substitute* "Src/dataset.c"
- (("512") "2048"))
- #t))
+ (("512") "2048"))))
(replace 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "python" "test/runtest.py"))))))
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (setenv "PYTHONPATH" (string-append (site-packages inputs outputs) ":"
+ (getenv "PYTHONPATH")))
+ (invoke "python" "test/runtest.py")))))))
(native-inputs
`(("python24-setuptools" ,python24-setuptools)))
(home-page "http://qtlreaper.sourceforge.net/")
diff --git a/gn/services/bh20-seq-resource-container.scm b/gn/services/bh20-seq-resource-container.scm
index cb77cdb..e0eccf7 100644
--- a/gn/services/bh20-seq-resource-container.scm
+++ b/gn/services/bh20-seq-resource-container.scm
@@ -5,6 +5,7 @@
(guix modules)
((guix packages) #:select (package-source))
(guix records)
+ (guix build-system python) ; for python-version from guix/build/python-build-system.scm
(ice-9 match))
(use-service-modules shepherd)
(use-package-modules compression python python-web)
@@ -14,7 +15,7 @@
make-covid19-pubseq-configuration
covid19-pubseq-configuration?
(package covid19-pubseq-configuration-package ; package
- (default bh20-seq-resource))
+ (default bh20-seq-resource-for-service))
(deploy-directory covid19-pubseq-deploy-directory ; string
(default "/srv/http"))
(port covid19-pubseq-configuration-port ; string
@@ -58,9 +59,10 @@
#:directory #$deploy-directory
#:log-file "/var/log/covid19-pubseq.log"
#:environment-variables
+ ;(let (pyversion (python-version (@ (gnu packages python) python)))
'("TMPDIR=/export/tmp"
- ;; TODO: Don't hardcode python version!
- "PYTHONPATH=/run/current-system/profile/lib/python3.8/site-packages")
+ "PYTHONPATH=/run/current-system/profile/lib/python3.9/site-packages")
+ ; (string-append "PYTHONPATH=/run/current-system/profile/lib/python" pyversion "/site-packages")))
;#:mappings
;(list (file-system-mapping
; (source "/export/tmp")
@@ -68,7 +70,7 @@
; (writable? #t))
; (file-system-mapping
; ;; TODO: Don't hardcode python version!
- ; (source "/run/current-system/profile/lib/python3.8/site-packages")
+ ; (source "/run/current-system/profile/lib/python3.9/site-packages")
; (target source)))
))
(stop #~(make-kill-destructor))))))))
@@ -104,3 +106,5 @@
(packages '())
(services (list (service covid19-pubseq-service-type))))
+
+;; guix system container /home/shepherd/guix-bioinformatics/gn/services/bh20-seq-resource-container.scm --share=/export/tmp=/export/tmp --network
diff --git a/gn/services/databases.scm b/gn/services/databases.scm
index 2b2b225..937aa9e 100644
--- a/gn/services/databases.scm
+++ b/gn/services/databases.scm
@@ -33,6 +33,8 @@
(default "localhost"))
(server-port virtuoso-configuration-server-port
(default 1111))
+ (dirs-allowed virtuoso-dirs-allowed
+ (default "/var/genenetwork/virtuoso-data"))
(number-of-buffers virtuoso-configuration-number-of-buffers
(default #f))
(maximum-dirty-buffers virtuoso-configuration-maximum-dirty-buffers
@@ -84,6 +86,9 @@
(format port "ServerPort = ~a:~a~%"
#$(virtuoso-configuration-server-ip config)
#$(virtuoso-configuration-server-port config)))
+ (when #$(virtuoso-dirs-allowed config)
+ (format port "DirsAllowed = ~a~%"
+ #$(virtuoso-dirs-allowed config)))
(when #$(virtuoso-configuration-number-of-buffers config)
(format port "NumberOfBuffers = ~a~%"
#$(virtuoso-configuration-number-of-buffers config)))
diff --git a/gn/services/genome-browser.scm b/gn/services/genome-browser.scm
index 2d14a42..e350674 100644
--- a/gn/services/genome-browser.scm
+++ b/gn/services/genome-browser.scm
@@ -130,7 +130,7 @@
(program (file-append ucsc-genome-browser "/bin/gfServer"))
(arguments
'("gfServer" "dynserver" "/gbdb")))))))
- (syslog-service) ; needed by inetd
+ (service syslog-service-type) ; needed by inetd
(service httpd-service-type
(httpd-configuration
(config
diff --git a/gn/services/pluto.scm b/gn/services/pluto.scm
index d137314..720b769 100644
--- a/gn/services/pluto.scm
+++ b/gn/services/pluto.scm
@@ -44,16 +44,20 @@
(modules '((gnu build shepherd)
(gnu system file-systems)))
(start #~(make-forkexec-constructor/container
- (list #$(file-append package "/runpluto.sh") #$port)
+ ;(list #$(file-append package "/runpluto.sh") #$port)
+ (list #$(file-append package "/runpluto"))
#:log-file "/var/log/pluto.log"
#:user "julia"
#:group "julia"
- ;; This needs to exist. Unclear why.
+ ;; This prevents the service from using /root as $HOME.
#:environment-variables '()
#:mappings (list (file-system-mapping
(source "/home/jovyan")
(target source)
- (writable? #t)))))
+ (writable? #t))
+ (file-system-mapping
+ (source "/etc/ssl")
+ (target source)))))
(stop #~(make-kill-destructor))))))))
(define pluto-service-type
@@ -86,6 +90,10 @@
;; No firmware for VMs.
(firmware '())
(packages (list nss-certs))
+ ;; For testing
+ ;(packages (cons* nss-certs %base-packages))
+
+ (setuid-programs '())
(services (list (service pluto-service-type
(pluto-configuration
diff --git a/tux02-guix-substitutions-public-key.txt b/tux02-guix-substitutions-public-key.txt
new file mode 100644
index 0000000..ee65299
--- /dev/null
+++ b/tux02-guix-substitutions-public-key.txt
@@ -0,0 +1,7 @@
+(public-key
+ (ecc
+ (curve Ed25519)
+ (q #9F56EAB5CE37AA15693C31F451140588240F259676C137E31C0CA70EC4D1B534#)
+ )
+ )
+