aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/julia.scm
diff options
context:
space:
mode:
authorShepherd on Tux022024-06-20 07:26:21 -0500
committerShepherd on Tux022024-06-20 07:26:21 -0500
commitf0f8dc84eca7088177797f84db05314537615c77 (patch)
tree5a7408a19c92b0c4d536916269425d883c4f06ca /gn/packages/julia.scm
parent951e77b10c84889f29c1f2322087c796cedb375a (diff)
parent48af9393cf186230e08b0fa6f7f443bc818408d2 (diff)
downloadguix-bioinformatics-f0f8dc84eca7088177797f84db05314537615c77.tar.gz
Merge branch 'master' of https://gitlab.com/genenetwork/guix-bioinformatics
Diffstat (limited to 'gn/packages/julia.scm')
-rw-r--r--gn/packages/julia.scm814
1 files changed, 751 insertions, 63 deletions
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