aboutsummaryrefslogtreecommitdiff
path: root/gn
diff options
context:
space:
mode:
authorEfraim Flashner2023-09-06 14:48:43 +0300
committerEfraim Flashner2023-09-19 12:59:33 +0300
commit382df9849ed64d6ef2ea6ecafbfb090ad49928eb (patch)
tree6c5d0ef5462d1decf14583e9d1ad5f4d226a321b /gn
parentea986e95f6b2f66268a53a34945d858130bff018 (diff)
downloadguix-bioinformatics-382df9849ed64d6ef2ea6ecafbfb090ad49928eb.tar.gz
update julia-visuals
Diffstat (limited to 'gn')
-rw-r--r--gn/packages/julia.scm676
1 files changed, 624 insertions, 52 deletions
diff --git a/gn/packages/julia.scm b/gn/packages/julia.scm
index 31cc29c..aa163bf 100644
--- a/gn/packages/julia.scm
+++ b/gn/packages/julia.scm
@@ -17,6 +17,7 @@
#:use-module (gnu packages julia-xyz)
#:use-module (gnu packages python)
#:use-module (gnu packages statistics)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages video)
#:use-module (ice-9 match))
@@ -24,7 +25,7 @@
(define-public julia-visuals
(let ((commit "e8e2b601f40a76c8f20f0ddfe80c56257dd9a294")
- (revision "2"))
+ (revision "3"))
(package
(name "julia-visuals")
(version (git-version "0.0.0" revision commit))
@@ -35,7 +36,8 @@
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "0lm9yhk0mq5cvvkcbsgcjc1y7fzhr8qz2nxn38cy1zdxd8vfknsx"))))
+ (base32 "0lm9yhk0mq5cvvkcbsgcjc1y7fzhr8qz2nxn38cy1zdxd8vfknsx"))
+ (patches (search-patches "julia-visuals-remove-manifests.diff"))))
(build-system julia-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -59,8 +61,15 @@
"environment.yml"
"setup.py"
"runpluto.sh"
+ "runsliderserver.sh"
"notebooks"
"Project.toml")))))
+ (add-after 'install 'skip-julia-cairomakie
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion
+ (string-append (assoc-ref outputs "out") "/notebooks")
+ (delete-file "bayes.jl")
+ (delete-file "disease-testing.jl"))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -69,7 +78,7 @@
`("PATH" ":" prefix (,(string-append (assoc-ref inputs "julia") "/bin")
,(string-append (assoc-ref inputs "coreutils") "/bin")))
`("JULIA_LOAD_PATH" ":" prefix (,(getenv "JULIA_LOAD_PATH")))))))
- (add-after 'install 'create-run-program
+ (add-after 'install 'create-runpluto
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(with-output-to-file (string-append out "/runpluto")
@@ -94,6 +103,29 @@
(dirname (search-input-file inputs "/bin/yes"))
(search-input-file inputs "/bin/julia"))))
(chmod (string-append out "/runpluto") #o555))))
+ (add-after 'install 'create-runsliderserver
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-output-to-file (string-append out "/runsliderserver")
+ (lambda ()
+ (format #t "#!~a --no-auto-compile
+!#
+(setenv \"JULIA_LOAD_PATH\" \"~a\")
+(setenv \"PATH\" \"~a\")
+(zero? (system*
+ \"~a\"
+ \"--optimize=0\"
+ \"-e\" \"import PlutoSliderServer;
+ PlutoSliderServer.run_directory(
+ \\\"~a/notebooks/\\\",
+ SliderServer_port=4343,
+ SliderServer_host=\\\"0.0.0.0\\\")\"))\n"
+ (search-input-file inputs "/bin/guile")
+ (getenv "JULIA_LOAD_PATH")
+ (dirname (search-input-file inputs "/bin/yes"))
+ (search-input-file inputs "/bin/julia")
+ out)))
+ (chmod (string-append out "/runsliderserver") #o555))))
(replace 'precompile
(lambda _
(invoke "julia" "-e" "\"import Pkg; Pkg.instantiate(); Pkg.status(); Pkg.precompile()\""))))))
@@ -104,14 +136,19 @@
,(@ (gn packages python) python-jupyter-server-proxy-1))))
(inputs
- (list julia-distributions
+ (list ;julia-cairomakie ; 0.8.13
+ julia-distributions ; 0.25.76
;julia-interactiveutils ; stdlib
- julia-latexstrings
+ julia-latexstrings ; 1.3.0
;julia-markdown ; stdlib
- julia-optim
- julia-plots
- julia-pluto
- julia-plutoui
+ julia-optim ; 1.7.2
+ julia-plots ; 1.35.3
+ julia-pluto ; 0.19.11
+ julia-plutosliderserver ; *
+ julia-plutoui ; 0.7.46
+ julia-prettytables ; 2.1.0
+ julia-quadgk ; 2.5.0
+ julia-roots ; 2.0.3
(@ (gnu packages guile) guile-3.0))) ; for wrap-script
(home-page "https://github.com/sens/visuals")
(synopsis "Visualizations using Pluto.jl notebooks")
@@ -335,6 +372,282 @@ properties
@end enumerate")
(license license:expat)))
+(define-public julia-fromfile
+ (package
+ (name "julia-fromfile")
+ (version "0.1.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Roger-luo/FromFile.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jn394294d4s1fqsfiwpiy6dzlca4ciy54l2xviwyzhvixmlfrwn"))))
+ (build-system julia-build-system)
+ (arguments
+ '(#:tests? #f)) ; Tests require network access
+ (propagated-inputs
+ (list julia-requires))
+ (home-page "https://github.com/Roger-luo/FromFile.jl")
+ (synopsis "Julia enhancement proposal for implicit per file module in Julia")
+ (description "This package exports a macro @code{@@from}, which can be used
+to import objects from files.")
+ (license license:expat)))
+
+(define-public julia-git
+ (package
+ (name "julia-git")
+ (version "1.2.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaVersionControl/Git.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0bznzg360cbvbzzpsdkin4dm2v980sb5pv58gy1bp3j9j8bj38h6"))))
+ (build-system julia-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-network-tests
+ (lambda _
+ (substitute* "test/runtests.jl"
+ (("testset.*Git.jl.*" all)
+ (string-append all " return\n"))))))))
+ (propagated-inputs
+ (list julia-git-jll))
+ (home-page "https://github.com/JuliaVersionControl/Git.jl")
+ (synopsis "Use command-line Git in your Julia packages")
+ (description "Git.jl allows you to use command-line Git in your Julia
+packages. You do not need to have Git installed on your computer, and neither
+do the users of your packages!")
+ (license license:expat)))
+
+(define-public julia-git-jll
+ (package
+ (name "julia-git-jll")
+ (version "2.36.1+2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaBinaryWrappers/Git_jll.jl")
+ (commit (string-append "Git-v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n8k363q2mw5qfkagbbqpn4djx181qbn05l7brp3spspvf5aslgm"))))
+ (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(\"Git\", \""
+ (assoc-ref inputs "git-minimal") "\")\n"))))
+ ;; There's a Julia file for each platform, override them all
+ (find-files "src/wrappers/" "\\.jl$")))))))
+ (inputs
+ (list git-minimal))
+ (propagated-inputs
+ (list julia-jllwrappers
+ julia-expat-jll
+ julia-openssl-jll
+ ;julia-libcurl-jll
+ julia-libiconv-jll
+ ;julia-pcre2-jll
+ julia-zlib-jll))
+ (home-page "https://github.com/JuliaBinaryWrappers/Git_jll.jl")
+ (synopsis "Git library wrappers")
+ (description "This package provides a wrapper for the git library.")
+ (license license:expat)))
+
+(define-public julia-terminalloggers
+ (package
+ (name "julia-terminalloggers")
+ (version "0.1.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaLogging/TerminalLoggers.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01l9qsjljwa9pkpvf1pafmbrncjddwdw3737pf44y9q5hrp4hbr7"))))
+ (build-system julia-build-system)
+ (propagated-inputs
+ (list julia-leftchildrightsiblingtrees
+ julia-progresslogging))
+ (home-page "https://github.com/JuliaLogging/TerminalLoggers.jl")
+ (synopsis "Logging sinks and utilites for interactive terminals")
+ (description "TerminalLoggers provides a logger type @code{TerminalLogger}
+which can format your log messages in a richer way than the default
+@code{ConsoleLogger} which comes with the julia standard @code{Logging}
+library.")
+ (license license:expat)))
+
+(define-public julia-roots
+ (package
+ (name "julia-roots")
+ (version "2.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaMath/Roots.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "17d62r8pib3cp73az00iz8nbnd5j0y3dl1mrmcssnj4ln8043056"))))
+ (build-system julia-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-expensive-tests
+ (lambda _
+ (substitute* "test/runtests.jl"
+ ((".*test_composable.*") "")))))))
+ (propagated-inputs
+ (list julia-commonsolve
+ julia-setfield))
+ (native-inputs
+ (list julia-benchmarktools
+ julia-forwarddiff
+ julia-json
+ julia-specialfunctions))
+ (home-page "http://juliamath.github.io/Roots.jl/")
+ (synopsis "Root finding functions for Julia")
+ (description "This package contains simple routines for finding roots, or
+zeros, of scalar functions of a single real variable using floating-point
+math.")
+ (license license:expat)))
+
+(define-public julia-commonsolve
+ (package
+ (name "julia-commonsolve")
+ (version "0.2.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SciML/CommonSolve.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1w05fp02g5cmqzqp96hcpriwjpqx61sl481rj92gf4y4xpinmdf5"))))
+ (build-system julia-build-system)
+ (home-page "https://docs.sciml.ai/CommonSolve/stable")
+ (synopsis "Common solve function for scientific machine learning")
+ (description "This holds the common @code{solve}, @code{init},
+@code{step!}, and @code{solve!} commands. By using the same definition, solver
+libraries from other completely different ecosystems can extend the functions
+and thus not clash with SciML if both ecosystems export the @code{solve}
+command. The rules are that you must dispatch on one of your own types.")
+ (license license:expat)))
+
+(define-public julia-setfield
+ (package
+ (name "julia-setfield")
+ (version "1.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jw3126/Setfield.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vdn9s639f120560599m4lhqkk0nsx7qa87fv2mixs1faaihsf6l"))))
+ (build-system julia-build-system)
+ (arguments
+ `(#:tests? #f)) ; Skip tests, not all dependencies packaged.
+ (propagated-inputs
+ (list julia-constructionbase
+ julia-macrotools
+ julia-staticarrayscore))
+ (home-page "https://github.com/jw3126/Setfield.jl")
+ (synopsis "Update deeply nested immutable structs")
+ (description "Update deeply nested immutable structs.")
+ (license license:expat)))
+
+(define-public julia-staticarrayscore
+ (package
+ (name "julia-staticarrayscore")
+ (version "1.4.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaArrays/StaticArraysCore.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0m573mxvf0y9h7y8rxrk35haphhqisplx159r77g30qvw7zwpgar"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/JuliaArrays/StaticArraysCore.jl")
+ (synopsis "Interface package for StaticArrays.jl")
+ (description
+ "This package provides an interface package for @code{StaticArrays.jl}.")
+ (license license:expat)))
+
+(define-public julia-progresslogging
+ (package
+ (name "julia-progresslogging")
+ (version "0.1.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaLogging/ProgressLogging.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ysixnl7wjdykaka892jrhsay2aivpch83h8dnfs43z2xynf9sqn"))))
+ (build-system julia-build-system)
+ (native-inputs
+ (list julia-offsetarrays))
+ (home-page "https://github.com/JuliaLogging/ProgressLogging.jl")
+ (synopsis "Define progress logs")
+ (description "ProgressLogging.jl is a package for defining progress logs.
+It can be used to report progress of a loop/loops with time-consuming body.")
+ (license license:expat)))
+
+(define-public julia-leftchildrightsiblingtrees
+ (package
+ (name "julia-leftchildrightsiblingtrees")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaCollections/LeftChildRightSiblingTrees.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rijr0yqmbzhlk668v4rqw5xmxxzqvgziasyqrd6z837376mfyy6"))))
+ (build-system julia-build-system)
+ (propagated-inputs
+ (list julia-abstracttrees))
+ (home-page "https://github.com/JuliaCollections/LeftChildRightSiblingTrees.jl")
+ (synopsis "Representation of a tree with arbitrary number of children/node")
+ (description "A left child, right sibling tree (frequently abbreviated as
+\"LCRS\") is a rooted tree data structure that allows a parent node to have
+multiple child nodes. Rather than maintain a list of children (which requires
+one array per node), instead it is represented as a binary tree, where the
+\"left\" branch is the first child, whose \"right\" branch points to its first
+sibling.")
+ (license license:expat)))
+
;; ready to upstream
(define-public julia-densityinterface
(package
@@ -363,7 +676,7 @@ densities and objects associated with a density in Julia.")
(define-public julia-plots
(package
(name "julia-plots")
- (version "1.16.6")
+ (version "1.35.6")
(source
(origin
(method git-fetch)
@@ -372,57 +685,258 @@ densities and objects associated with a density in Julia.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0ipv9408r4czsx1j01sv2f7ww52b329jc0v79npn4x2mf827nsik"))))
+ (base32 "005za8a8al822xr0cz4yi1rm23qj1lzy9iw93vvhwq76x3n8bfpy"))))
(build-system julia-build-system)
(arguments
`(#:tests? #f ; for now
))
(propagated-inputs
- `(
- ;("julia-contour" ,julia-contour)
- ("julia-ffmpeg" ,julia-ffmpeg)
- ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
- ("julia-gr" ,julia-gr)
- ("julia-geometrybasics" ,julia-geometrybasics)
- ("julia-json" ,julia-json)
- ;("julia-latexify" ,julia-latexify)
- ("julia-measures" ,julia-measures)
- ("julia-nanmath" ,julia-nanmath)
- ("julia-plotthemes" ,julia-plotthemes)
- ("julia-plotutils" ,julia-plotutils)
- ("julia-recipesbase" ,julia-recipesbase)
- ("julia-recipespipeline" ,julia-recipespipeline)
- ("julia-reexport" ,julia-reexport)
- ("julia-requires" ,julia-requires)
- ("julia-scratch" ,julia-scratch)
- ("julia-showoff" ,julia-showoff)
- ("julia-statsbase" ,julia-statsbase)
- ))
+ (list
+ ;julia-contour
+ julia-ffmpeg
+ julia-fixedpointnumbers
+ julia-gr
+ julia-geometrybasics
+ julia-jlfzf
+ julia-json
+ ;julia-latexify
+ julia-measures
+ julia-nanmath
+ julia-plotthemes
+ julia-plotutils
+ julia-recipesbase
+ julia-recipespipeline
+ julia-reexport
+ julia-relocatablefolders
+ julia-requires
+ julia-scratch
+ julia-showoff
+ julia-snoopprecompile
+ julia-statsbase
+ julia-unicodefun
+ julia-unzip))
(native-inputs
- `(
- ;("julia-distributions" ,julia-distributions)
- ("julia-fileio" ,julia-fileio)
- ;("julia-gtk" ,julia-gtk)
- ;("julia-hdf5" ,julia-hdf5)
- ("julia-imagemagick" ,julia-imagemagick)
- ;("julia-images" ,julia-images)
- ("julia-offsetarrays" ,julia-offsetarrays)
- ;("julia-pgfplotsx" ,julia-pgfplotsx)
- ;("julia-plotlyjs" ,julia-plotlyjs)
- ;("julia-rdatasets" ,julia-rdatasets)
- ("julia-stablerngs" ,julia-stablerngs)
- ("julia-staticarrays" ,julia-staticarrays)
- ;("julia-statsplots" ,julia-statsplots)
- ("julia-testimages" ,julia-testimages)
- ;("julia-unicodeplots" ,julia-unicodeplots)
- ;("julia-visualregressiontests" ,julia-visualregressiontests)
+ (list
+ ;julia-distributions
+ julia-fileio
+ ;julia-gtk
+ ;julia-hdf5
+ julia-imagemagick
+ ;julia-images
+ julia-offsetarrays
+ ;julia-pgfplotsx
+ ;julia-plotlyjs
+ ;julia-rdatasets
+ julia-stablerngs
+ julia-staticarrays
+ ;julia-statsplots
+ julia-testimages
+ ;julia-unicodeplots
+ ;julia-visualregressiontests
))
(home-page "http://docs.juliaplots.org/")
(synopsis "Powerful convenience for Julia visualizations and data analysis")
(description "Plots is a plotting API and toolset.")
(license license:expat)))
+(define-public julia-snoopprecompile
+ (package
+ (name "julia-snoopprecompile")
+ (version "1.0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/timholy/SnoopCompile.jl")
+ (commit "v2.10.0")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "14nnqknswjzlk786x4r7xc7898nmfk7ijfchrc09i81qi2d0mmcn"))))
+ (build-system julia-build-system)
+ (arguments
+ (list
+ #:tests? #f ; Most tests fail in the build environment.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "SnoopPrecompile"))))))
+ (propagated-inputs
+ (list julia-preferences))
+ (home-page "https://timholy.github.io/SnoopCompile.jl/dev/")
+ (synopsis "Effectively precompile code needed by your package")
+ (description "SnoopPrecompile is a small dependency used to effectively
+precompile code needed by your package, particularly on Julia 1.8 and higher.")
+ (license license:expat)))
+
+(define-public julia-jlfzf
+ (package
+ (name "julia-jlfzf")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Moelf/JLFzf.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0fvcx80lzj0xc4imb9h0iybj8s0cazjc1wn9h8xncih9aln25is4"))))
+ (build-system julia-build-system)
+ (arguments
+ '(#:tests? #f)) ; no tests
+ (propagated-inputs
+ (list julia-fzf-jll
+ julia-pipe))
+ (home-page "https://github.com/Moelf/JLFzf.jl")
+ (synopsis "Julia bind to fzf fuzzy finder")
+ (description "Julia bind to fzf fuzzy finder.")
+ (license license:expat)))
+
+(define-public julia-pipe
+ (package
+ (name "julia-pipe")
+ (version "1.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oxinabox/Pipe.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "01anm76nfmcajcbr2piji0rknisf5wwhimfndwaadkqkcjv7k4xn"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/oxinabox/Pipe.jl")
+ (synopsis "Enhancement to Julia piping syntax")
+ (description "This package provides an enhancement to Julia piping syntax.")
+ (license license:expat)))
+
+(define-public julia-fzf-jll
+ (package
+ (name "julia-fzf-jll")
+ (version "0.35.1+0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/juliabinarywrappers/fzf_jll.jl")
+ (commit (string-append "fzf-v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0psl1lsvl6sza69g7qh8ha2ir89fibzid4ka3wzmjgh0r4yjfnw0"))))
+ (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(\"fzf\", \""
+ (assoc-ref inputs "fzf") "\")\n"))))
+ ;; There's a Julia file for each platform, override them all
+ (find-files "src/wrappers/" "\\.jl$")))))))
+ (inputs
+ (list (@ (gnu packages terminals) fzf)))
+ (propagated-inputs
+ (list julia-jllwrappers))
+ (home-page "https://github.com/JuliaBinaryWrappers/fzf_jll.jl")
+ (synopsis "Fzf library wrappers")
+ (description "This package provides a wrapper for fzf.")
+ (license license:expat)))
+
+(define-public julia-unicodefun
+ (package
+ (name "julia-unicodefun")
+ (version "0.4.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SimonDanisch/UnicodeFun.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11hch4zpi8qby8pcqfvxnx88y45lxan4ind9kj2d0pgw614zkpg0"))))
+ (build-system julia-build-system)
+ (home-page "https://github.com/SimonDanisch/UnicodeFun.jl")
+ (synopsis "Transform text into unicode symbols")
+ (description "This package offers a unicode transformation library.")
+ (license license:expat)))
+
+(define-public julia-unzip
+ (package
+ (name "julia-unzip")
+ (version "0.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bramtayl/Unzip.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0i4rkvyd8br024s0sgs3crpi6za2f51m42whkx0jd22wiwg675vb"))))
+ (build-system julia-build-system)
+ (native-inputs
+ (list julia-documenter))
+ (home-page "https://github.com/bramtayl/Unzip.jl")
+ (synopsis "")
+ (description "")
+ (license license:expat)))
+
+;; Versions after 0.3.11 need a newer version of julia-http
+(define-public julia-plutosliderserver
+ (package
+ (name "julia-plutosliderserver")
+ (version "0.3.11")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaPluto/PlutoSliderServer.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1aqc836glwqqs1pd9173sbjwjns3zv197xqdqlkp2xgrkjiw2yzg"))))
+ (build-system julia-build-system)
+ (arguments
+ `(#:tests? #f ; Tests require network access
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'adjust-source
+ (lambda _
+ (setenv "GITHUB_ACTIONS" "false")
+ ;; Rip out betterfilewatching, it depends on a rust package.
+ (substitute* "src/PlutoSliderServer.jl"
+ ((".*watch_folder.*") ""))
+ ;; Remove GitHubActions
+ (substitute* "src/PlutoSliderServer.jl"
+ ((".*GitHubActions.*") "")))))))
+ (propagated-inputs
+ (list julia-abstractplutodingetjes
+ ;julia-betterfilewatching ; should be disabled?
+ julia-configurations
+ julia-fromfile
+ julia-git
+ ;julia-githubactions ; can be disabled
+ julia-http
+ julia-json
+ julia-pluto
+ julia-terminalloggers))
+ (home-page "https://github.com/JuliaPluto/PlutoSliderServer.jl")
+ (synopsis "Web server to run parts of a Pluto.jl notebook")
+ (description "This package provides a web server to run just the
+@code{@@bind} parts of a @code{Pluto.jl} notebook.")
+ (license license:unlicense)))
+
;; TODO: unbundle javascript calls to cdn.jsdelivr.net
+;; The '-src' commit needs some nodejs packages to build the frontend.
(define-public julia-pluto
(package
(name "julia-pluto")
@@ -432,15 +946,20 @@ densities and objects associated with a density in Julia.")
(method git-fetch)
(uri (git-reference
(url "https://github.com/fonsp/Pluto.jl")
- (commit (string-append "v" version "-src"))))
+ ;(commit (string-append "v" version "-src"))))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0h9sz4mpf3a4k0f5fblbb6j07wdhrnarxajrn0wz6zsq6w30x6yj"))))
+ ;(base32 "0h9sz4mpf3a4k0f5fblbb6j07wdhrnarxajrn0wz6zsq6w30x6yj"))))
+ (base32 "1qml5id3fi4r6n7hrqvfjwdvp3zp8xfckir3mw7vwswmkc56jzpq"))))
(build-system julia-build-system)
(arguments
`(#:tests? #f ; Test suite tries to download the package registry.
- #:phases
- (modify-phases %standard-phases
+ ;#:phases
+ #;(modify-phases %standard-phases
+ #;(add-before 'check 'pre-check
+ (lambda _
+ (setenv "PLUTO_TEST_ONLY_COMPILETIMES" "true")))
(add-after 'link-depot 'dont-check-for-upgrades
(lambda _
(substitute* "frontend/components/welcome/Welcome.js"
@@ -561,6 +1080,59 @@ native to Julia. Use it with the @code{@@bind} macro in Pluto.")
(list julia-bufferedstreams
julia-json))))
+(define-public julia-http-1.0
+ (package
+ (inherit julia-http)
+ (name "julia-http")
+ (version "1.0.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 "15bqf0gv4qz3990cv1s2nj9mjqaka1pkhzymgwc19wxqvacwvwqr"))))
+ (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")
+ (("\"websockets") "# \"websockets")
+ (("\"server") "# \"server"))
+ (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/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")))
+)))))
+ (propagated-inputs
+ (list julia-codeczlib
+ julia-inifile
+ julia-loggingextras
+ julia-mbedtls
+ julia-simplebufferstream
+ julia-uris))
+ ;; required for tests
+ (native-inputs
+ (list julia-bufferedstreams
+ julia-json))))
+
(define-public julia-simplebufferstream
(package
(name "julia-simplebufferstream")