summary refs log tree commit diff
path: root/gnu/packages/julia-xyz.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/julia-xyz.scm')
-rw-r--r--gnu/packages/julia-xyz.scm1334
1 files changed, 919 insertions, 415 deletions
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index 38a82c7de2..816ca9c85b 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -23,13 +23,8 @@
   #:use-module (guix packages)
   #:use-module (guix git-download)
   #:use-module (guix build-system julia)
-  #:use-module (gnu packages compression)
   #:use-module (gnu packages gcc)
-  #:use-module (gnu packages image)
-  #:use-module (gnu packages imagemagick)
-  #:use-module (gnu packages maths)
-  #:use-module (gnu packages tls)
-  #:use-module (gnu packages web))
+  #:use-module (gnu packages julia-jll))
 
 (define-public julia-abstractffts
   (package
@@ -121,6 +116,30 @@ be GPU compatible without throwing away the wrapper.")
 provides functions to run a few automatable checks for Julia packages.")
     (license license:expat)))
 
+(define-public julia-arraylayouts
+  (package
+    (name "julia-arraylayouts")
+    (version "0.7.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaMatrices/ArrayLayouts.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "01725v4jp8h8zwn85splw907r206h1hnp205pchmzjin7h4659xz"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-fillarrays" ,julia-fillarrays)))
+    (home-page "https://github.com/JuliaMatrices/ArrayLayouts.jl")
+    (synopsis "Array layouts and general fast linear algebra")
+    (description "This package implements a trait-based framework for describing
+array layouts such as column major, row major, etc. that can be dispatched to
+appropriate BLAS or optimised Julia linear algebra routines.  This supports a
+much wider class of matrix types than Julia's in-built @code{StridedArray}.")
+    (license license:expat)))
+
 (define-public julia-benchmarktools
   (package
     (name "julia-benchmarktools")
@@ -309,6 +328,31 @@ between colors, simulating color blindness, parsing colors, and generating
 color scales for graphics.")
     (license license:expat)))
 
+(define-public julia-colorschemes
+  (package
+    (name "julia-colorschemes")
+    (version "3.12.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaGraphics/ColorSchemes.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "08k39hbdf3jn0001f7qxa99xvagrnh9764911hs6cmxkvp061sa4"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-colors" ,julia-colors)
+       ("julia-colortypes" ,julia-colortypes)
+       ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
+       ("julia-staticarrays" ,julia-staticarrays)))
+    (home-page "https://github.com/JuliaGraphics/ColorSchemes.jl")
+    (synopsis "Colorschemes, colormaps, gradients, and palettes")
+    (description "This package provides a collection of colorschemes.")
+    (license license:expat)))
+
 (define-public julia-colortypes
   (package
     (name "julia-colortypes")
@@ -379,50 +423,6 @@ provides a macro that lets you use the latest syntax in a backwards-compatible
 way.")
     (license license:expat)))
 
-;;; TODO: Remove this autogenerated source package
-;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>
-(define-public julia-compilersupportlibraries-jll
-  (package
-    (name "julia-compilersupportlibraries-jll")
-    (version "0.4.0+1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")
-             (commit (string-append "CompilerSupportLibraries-v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "03j6xdvps259mhdzpjqf41l65w2l9sahvxg4wrp34hcf69wkrzpy"))))
-    (build-system julia-build-system)
-    (arguments
-     `(#:tests? #f                      ; no runtests.jl
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-              (lambda (wrapper)
-                (substitute* wrapper
-                  (("generate_wrapper_header.*")
-                   (string-append
-                    "generate_wrapper_header(\"CompilerSupportLibraries\", \""
-                    (assoc-ref inputs "gfortran:lib") "\")\n"))))
-              ;; There's a Julia file for each platform, override them all
-              (find-files "src/wrappers/" "\\.jl$"))
-             #t)))))
-    (inputs                             ;required by artifacts
-     `(("gfortran:lib" ,gfortran "lib")))
-    (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)))
-    (home-page "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")
-    (synopsis "Internal wrappers")
-    (description "This package provides compiler support for libraries.  It is
-an autogenerated source package constructed using @code{BinaryBuilder.jl}. The
-originating @code{build_tarballs.jl} script can be found on the community
-build tree Yggdrasil.")
-    (license license:expat)))
-
 (define-public julia-constructionbase
   (package
     (name "julia-constructionbase")
@@ -465,6 +465,29 @@ both the 256 color and 24 bit true color extensions, and the different text
 styles available to terminals.")
     (license license:expat)))
 
+(define-public julia-dataapi
+  (package
+    (name "julia-dataapi")
+    (version "1.6.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaData/DataAPI.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "14sfvkz169zcbap3gdwpj16qsap783h86fd07flfxk822abam11w"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/JuliaData/DataAPI.jl")
+    (synopsis "Data-focused namespace for packages to share functions")
+    (description "This package provides a namespace for data-related generic
+function definitions to solve the optional dependency problem; packages wishing
+to share and/or extend functions can avoid depending directly on each other by
+moving the function definition to DataAPI.jl and each package taking a
+dependency on it.")
+    (license license:expat)))
+
 (define-public julia-datastructures
   (package
     (name "julia-datastructures")
@@ -489,6 +512,82 @@ including, @code{CircularBuffer}, @code{Queue}, @code{Stack},
 @code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.")
     (license license:expat)))
 
+(define-public julia-datavalueinterfaces
+  (package
+    (name "julia-datavalueinterfaces")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/queryverse/DataValueInterfaces.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0g2wj6q7jj956nx6g7dk8x7w1c4l2xcmnr1kq5x8s8fild9kslg8"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/queryverse/DataValueInterfaces.jl")
+    (synopsis "Interface for DataValues.jl")
+    (description "This package allows a few \"forward\" definitions for the
+@code{DataValues.jl} package that other packages can utilize for integration
+without having to take direct dependencies.")
+    (license license:expat)))
+
+(define-public julia-datavalues
+  (package
+    (name "julia-datavalues")
+    (version "0.4.13")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/queryverse/DataValues.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "15j3hrqq6nazn533bfsvg32xznacbzsl303j1qs48av59ppnvhhv"))))
+    (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'skip-known-failing-tests
+           (lambda _
+             ;; See upstream report:
+             ;; https://github.com/queryverse/DataValues.jl/issues/83
+             (substitute* "test/array/test_reduce.jl"
+               ((".*DataValue\\(mapreduce.*") "")
+               ((".*DataValue\\(method\\(f.*") ""))
+             #t)))))
+    (propagated-inputs
+     `(("julia-datavalueinterfaces" ,julia-datavalueinterfaces)))
+    (home-page "https://github.com/queryverse/DataValues.jl")
+    (synopsis "Missing values for Julia")
+    (description "This package provides the type @code{DataValue} that is used
+to represent missing data.")
+    (license license:expat)))
+
+(define-public julia-dictionaries
+  (package
+    (name "julia-dictionaries")
+    (version "0.3.8")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/andyferris/Dictionaries.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1j88f6qa5hqm64n5q3jy08a02gwp7by401s03n5x7575p58iqqh2"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-indexing" ,julia-indexing)))
+    (home-page "https://github.com/andyferris/Dictionaries.jl")
+    (synopsis "Alternative interface for dictionaries in Julia")
+    (description "This package provides an alternative interface for
+dictionaries in Julia, for improved productivity and performance.")
+    (license license:expat)))
+
 (define-public julia-docstringextensions
   (package
     (name "julia-docstringextensions")
@@ -599,6 +698,51 @@ stressing the robustness of differentiation tools.")
       (description "This package provides various examples.")
       (license license:expat))))
 
+(define-public julia-exprtools
+  (package
+    (name "julia-exprtools")
+    (version "0.1.3")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/invenia/ExprTools.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1lwxi9fx9farf1jdv42gv43xs3f3i3js2xnvr5gf6d0xfx0g6b6a"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/invenia/ExprTools.jl")
+    (synopsis "Light-weight expression manipulation tools")
+    (description "@code{ExprTools} provides tooling for working with Julia
+expressions during metaprogramming.  This package aims to provide light-weight
+performant tooling without requiring additional package dependencies.")
+    (license license:expat)))
+
+(define-public julia-ffmpeg
+  (package
+    (name "julia-ffmpeg")
+    (version "0.4.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaIO/FFMPEG.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1kwqixwhnnxs59xsw2k44xxnkx5fn4y49g58l5snfbszycxq7lls"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-ffmpeg-jll" ,julia-ffmpeg-jll)
+       ("julia-x264-jll" ,julia-x264-jll)))
+    (home-page "https://github.com/JuliaIO/FFMPEG.jl")
+    (synopsis "Julia Package for ffmpeg")
+    (description "This package is made to be included into packages that just
+need the ffmpeg binaries + executables, and don't want the overhead of
+@code{VideoIO.jl}.")
+    (license license:expat)))
+
 (define-public julia-fillarrays
   (package
     (name "julia-fillarrays")
@@ -684,6 +828,26 @@ scaled by a constant factor.  Consequently, they have a fixed number of
 digits (bits) after the decimal (radix) point.")
     (license license:expat)))
 
+(define-public julia-formatting
+  (package
+    (name "julia-formatting")
+    (version "0.4.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaIO/Formatting.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0ma3q9my51rr38bb5712xkc4h3rq0wsfjb4ac6mdh9ywn8rqvrmh"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/JuliaIO/Formatting.jl")
+    (synopsis "Julia package to provide Python-like formatting support")
+    (description "This package offers Python-style general formatting and
+c-style numerical formatting.")
+    (license license:expat)))
+
 (define-public julia-forwarddiff
   (package
     (name "julia-forwarddiff")
@@ -716,6 +880,49 @@ functions (or any callable object, really) using forward mode automatic
 differentiation (AD).")
     (license license:expat)))
 
+(define-public julia-fuzzycompletions
+  (package
+    (name "julia-fuzzycompletions")
+    (version "0.4.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JunoLab/FuzzyCompletions.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "07sv88c472n6w4x7diy952igbcfm1s104ysnnvprld83312siw06"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/JunoLab/FuzzyCompletions.jl")
+    (synopsis "Fuzzy completion provider for Julia")
+    (description
+     "FuzzyCompletions provides fuzzy completions for a Julia runtime session.")
+    (license license:expat)))
+
+(define-public julia-graphics
+  (package
+    (name "julia-graphics")
+    (version "1.1.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaGraphics/Graphics.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "10h1s09v7qkvrjr6l678zamb1p248n8jv4rrwkf8g7d2bpfz9amn"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-colors" ,julia-colors)
+       ("julia-nanmath" ,julia-nanmath)))
+    (home-page "https://github.com/JuliaGraphics/Graphics.jl")
+    (synopsis "Base graphics in Julia")
+    (description "@code{Graphics.jl} is an abstraction layer for graphical
+operations in Julia.")
+    (license license:expat)))
+
 (define-public julia-gumbo
   (package
     (name "julia-gumbo")
@@ -739,45 +946,6 @@ differentiation (AD).")
 library for parsing HTML.")
     (license license:expat)))
 
-(define-public julia-gumbo-jll
-  (package
-    (name "julia-gumbo-jll")
-    (version "0.10.1+1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/JuliaBinaryWrappers/Gumbo_jll.jl")
-             (commit (string-append "Gumbo-v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "00a182x5hfpjzyvrxdn8wh4h67q899p5dzqp19a5s22si4g41k76"))))
-    (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f ; no runtests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let ((gumbo (string-append (assoc-ref inputs "gumbo-parser"))))
-               (for-each
-                (lambda (wrapper)
-                  (substitute* wrapper
-                    (("(const libgumbo = )\"(.*)\"" all const libname)
-                     (string-append const "\"" gumbo "/lib/" libname "\"\n"))
-                    (("(global artifact_dir =).*" all m)
-                     (string-append m " \"" gumbo "\""))))
-                ;; There's a Julia file for each platform, override them all
-                (find-files "src/wrappers/" "\\.jl$"))))))))
-    (inputs
-     `(("gumbo-parser" ,gumbo-parser)))
-    (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)))
-    (home-page "https://github.com/JuliaBinaryWrappers/Gumbo_jll.jl")
-    (synopsis "Gumbo HTML parsing library wrappers")
-    (description "This package provides a wrapper for Gumbo HTML parsing library.")
-    (license license:expat)))
-
 (define-public julia-http
   (package
     (name "julia-http")
@@ -856,47 +1024,52 @@ implementing both a client and a server.")
 conditional ifelse.  It is similar to @code{Core.ifelse} but it is extendable.")
     (license license:expat)))
 
-(define-public julia-imagemagick-jll
+(define-public julia-indexing
   (package
-    (name "julia-imagemagick-jll")
-    (version "6.9.10-12+3")
+    (name "julia-indexing")
+    (version "1.1.1")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/JuliaBinaryWrappers/ImageMagick_jll.jl")
-               (commit (string-append "ImageMagick-v" version))))
+               (url "https://github.com/andyferris/Indexing.jl")
+               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "1a0vnnjl52yqi7jgpr0dmx5ah5nlpylv5hc8aw2l89b9f36ff8jg"))))
+         (base32 "1s7bz5aaj9sx753pcaixq83jgbk33adxgybpinjgzb9lzdv1ddgx"))))
     (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f ; no runtests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-               (lambda (wrapper)
-                 (substitute* wrapper
-                   ;; Make sure we match the current library.
-                   (("libMagickWand-6.Q16.so.6") "libMagickWand-6.Q16.so.7")
-                   (("artifact\"ImageMagick\"")
-                    (string-append "\"" (assoc-ref inputs "imagemagick") "\""))))
-               ;; There's a Julia file for each platform, override them all
-               (find-files "src/wrappers/" "\\.jl$")))))))
-    (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)
-       ("julia-jpegturbo-jll" ,julia-jpegturbo-jll)
-       ("julia-libpng-jll" ,julia-libpng-jll)
-       ("julia-libtiff-jll" ,julia-libtiff-jll)
-       ("julia-zlib-jll" ,julia-zlib-jll)))
-    (inputs
-     `(("imagemagick" ,imagemagick)))
-    (home-page "https://github.com/JuliaBinaryWrappers/ImageMagick_jll.jl")
-    (synopsis "Imagemagick library wrappers")
-    (description "This package provides a wrapper for Imagemagick.")
+    (home-page "https://github.com/andyferris/Indexing.jl")
+    (synopsis "Generalized indexing for Julia")
+    (description "This package defines functions for getting multiple indices
+out of dictionaries, tuples, etc, extending this ability beyond
+@code{AbstractArray}.")
+    (license license:expat)))
+
+(define-public julia-indirectarrays
+  (package
+    (name "julia-indirectarrays")
+    (version "0.5.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaArrays/IndirectArrays.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0l0jq0jnr9z3k431ni82xycq7mqapgxrbrx4yyk6lycvi41ipm4s"))))
+    (build-system julia-build-system)
+    (native-inputs
+     `(("julia-colors" ,julia-colors)
+       ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
+       ("julia-mappedarrays" ,julia-mappedarrays)))
+    (home-page "https://github.com/JuliaArrays/IndirectArrays.jl")
+    (synopsis "Julia implementation of indexed arrays")
+    (description "An @code{IndirectArray} is one that encodes data using a
+combination of an @code{index} and a @code{value} table.  Each element is
+assigned its own index, which is used to retrieve the value from the
+@code{value} table.  Among other uses, @code{IndirectArrays} can represent
+indexed images, sometimes called \"colormap images\" or \"paletted images.\"")
     (license license:expat)))
 
 (define-public julia-inifile
@@ -919,6 +1092,29 @@ conditional ifelse.  It is similar to @code{Core.ifelse} but it is extendable.")
 interfaces with @file{.ini} files.")
     (license license:expat)))
 
+(define-public julia-invertedindices
+  (package
+    (name "julia-invertedindices")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/mbauman/InvertedIndices.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1179z20yxnkyziip7gn26wr1g3k3ssl1ci7pig3khc900f62di46"))))
+    (build-system julia-build-system)
+    (native-inputs
+     `(("julia-offsetarrays" ,julia-offsetarrays)))
+    (home-page "https://github.com/mbauman/InvertedIndices.jl")
+    (synopsis "Index type that allows for inverted selections")
+    (description "This package just exports one type: the @code{InvertedIndex},
+or @code{Not} for short.  It can wrap any supported index type and may be used
+as an index into any @code{AbstractArray} subtype, including OffsetArrays.")
+    (license license:expat)))
+
 (define-public julia-iocapture
   (package
     (name "julia-iocapture")
@@ -966,84 +1162,24 @@ external IRs.  It can be used with Julia metaprogramming tools such as
 Cassette.")
     (license license:expat)))
 
-(define-public julia-jllwrappers
-  (package
-    (name "julia-jllwrappers")
-    (version "1.3.0")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/JuliaPackaging/JLLWrappers.jl")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0v7xhsv9z16d657yp47vgc86ggc01i1wigqh3n0d7i1s84z7xa0h"))))
-    (arguments
-     ;; Wants to download stuff
-     '(#:tests? #f
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'custom-override-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;; Make @generate_wrapper_header take an optional argument that
-             ;; guix packagers can pass to override the default "override"
-             ;; binary path.  This won't be needed when something like
-             ;; https://github.com/JuliaPackaging/JLLWrappers.jl/pull/27
-             ;; will be merged.
-             (substitute* "src/wrapper_generators.jl"
-               (("generate_wrapper_header.*")
-                "generate_wrapper_header(src_name, override_path = nothing)\n")
-               (("pkg_dir = .*" all)
-                (string-append
-                 all "\n" "override = something(override_path,"
-                 "joinpath(dirname(pkg_dir), \"override\"))\n"))
-               (("@static if isdir.*") "@static if isdir($override)\n")
-               (("return joinpath.*") "return $override\n"))
-             #t)))))
-    (build-system julia-build-system)
-    (home-page "https://github.com/JuliaPackaging/JLLWrappers.jl")
-    (synopsis "Julia macros used by JLL packages")
-    (description "This package contains Julia macros that enable JLL packages
-to generate themselves.  It is not intended to be used by users, but rather is
-used in autogenerated packages via @code{BinaryBuilder.jl}.")
-    (license license:expat)))
-
-(define-public julia-jpegturbo-jll
+(define-public julia-iteratorinterfaceextensions
   (package
-    (name "julia-jpegturbo-jll")
-    (version "2.0.1+2")
+    (name "julia-iteratorinterfaceextensions")
+    (version "1.0.0")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/JuliaBinaryWrappers/JpegTurbo_jll.jl")
-               (commit (string-append "JpegTurbo-v" version))))
+               (url "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
+               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "1xp1x0hrj337bgwwffwpyq7xg031j2a38fim29lixqa0a0y80x6y"))))
+         (base32 "1slpay1dhja8f9gy6z7b3psgvgcknn963dvfqqakvg1grk9ppa09"))))
     (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f  ; no runtests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-               (lambda (wrapper)
-                 (substitute* wrapper
-                   (("artifact\"JpegTurbo\"")
-                    (string-append "\"" (assoc-ref inputs "libjpeg-turbo") "\""))))
-               ;; There's a Julia file for each platform, override them all
-               (find-files "src/wrappers/" "\\.jl$")))))))
-    (inputs
-     `(("libjpeg-turbo" ,libjpeg-turbo)))
-    (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)))
-    (home-page "https://github.com/JuliaBinaryWrappers/JpegTurbo_jll.jl")
-    (synopsis "Libjpeg-turbo library wrappers")
-    (description "This package provides a wrapper for the libjpeg-turbo library.")
+    (home-page "https://github.com/queryverse/IteratorInterfaceExtensions.jl")
+    (synopsis "Traits for Julia iterators")
+    (description "IteratorInterfaceExtensions defines a small number of
+extensions to the iterator interface.")
     (license license:expat)))
 
 (define-public julia-json
@@ -1071,103 +1207,90 @@ used in autogenerated packages via @code{BinaryBuilder.jl}.")
 and printing JSON documents.")
     (license license:expat)))
 
-(define-public julia-libpng-jll
+(define-public julia-macrotools
   (package
-    (name "julia-libpng-jll")
-    (version "1.6.37+5")
+    (name "julia-macrotools")
+    (version "0.5.6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/FluxML/MacroTools.jl")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))
+    (build-system julia-build-system)
+    (home-page "https://fluxml.ai/MacroTools.jl")
+    (synopsis "Tools for working with Julia code and expressions")
+    (description "This library provides tools for working with Julia code and
+expressions.  This includes a template-matching system and code-walking tools
+that let you do deep transformations of code.")
+    (license license:expat)))
+
+(define-public julia-mappedarrays
+  (package
+    (name "julia-mappedarrays")
+    (version "0.4.0")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/JuliaBinaryWrappers/LibPNG_jll.jl")
-               (commit (string-append "libpng-v" version))))
+               (url "https://github.com/JuliaArrays/MappedArrays.jl")
+               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "10azxv26j8r193dg9i9x7ajm3frhwbhj8zzi40fj59fxm81xz6dx"))))
+         (base32 "0l5adird8m1cmnsxwhzi5hcr7q9bm1rf7a6018zc7kcn2yxdshy3"))))
     (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f  ; no runtests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-               (lambda (wrapper)
-                 (substitute* wrapper
-                   (("artifact\"libpng\"")
-                    (string-append "\"" (assoc-ref inputs "libpng") "\""))))
-               ;; There's a Julia file for each platform, override them all
-               (find-files "src/wrappers/" "\\.jl$")))))))
-    (inputs
-     `(("libpng" ,libpng)))
     (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)
-       ("julia-zlib-jll" ,julia-zlib-jll)))
-    (home-page "https://github.com/JuliaBinaryWrappers/LibPNG_jll.jl")
-    (synopsis "Libpng library wrappers")
-    (description "This package provides a wrapper for the libpng library.")
+     `(("julia-fixedpointnumbers" ,julia-fixedpointnumbers)))
+    (native-inputs
+     `(("julia-colortypes" ,julia-colortypes)
+       ("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
+       ("julia-offsetarrays" ,julia-offsetarrays)))
+    (home-page "https://github.com/JuliaArrays/MappedArrays.jl")
+    (synopsis "Lazy in-place transformations of arrays")
+    (description "This package implements \"lazy\" in-place elementwise
+transformations of arrays for the Julia programming language.  Explicitly, it
+provides a \"view\" M of an array A so that @code{M[i] = f(A[i])} for a
+specified (but arbitrary) function f, without ever having to compute M
+explicitly (in the sense of allocating storage for M).  The name of the package
+comes from the fact that @code{M == map(f, A)}.")
     (license license:expat)))
 
-(define-public julia-libtiff-jll
+(define-public julia-matrixfactorizations
   (package
-    (name "julia-libtiff-jll")
-    (version "4.1.0+1")
+    (name "julia-matrixfactorizations")
+    (version "0.8.3")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/JuliaBinaryWrappers/Libtiff_jll.jl")
-               (commit (string-append "Libtiff-v" version))))
+               (url "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
+               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "07zzhmwmh2g4645ghv76z40hza2ghlb7sw15b1pii7f9kfcsgf45"))))
+         (base32 "14c6w1vhyf4pi4454pdp6ryczsxn9pgjg99fg9bkdj03xg5fsxb8"))))
     (build-system julia-build-system)
     (arguments
-     '(#:tests? #f  ; no runtests
-       #:phases
+     `(#:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-               (lambda (wrapper)
-                 (substitute* wrapper
-                   (("artifact\"Libtiff\"")
-                    (string-append "\"" (assoc-ref inputs "libtiff") "\""))))
-               ;; There's a Julia file for each platform, override them all
-               (find-files "src/wrappers/" "\\.jl$")))))))
-    (inputs
-     `(("libtiff" ,libtiff)))
+         (add-after 'unpack 'skip-failing-test
+           (lambda _
+             ;; Tests with math functions are hard.
+             (substitute* "test/test_ul.jl"
+               (("@test @inferred\\(logdet") "@test @test_nowarn(logdet")
+               ;; Also skip the REPL test.
+               (("test String") "test_nowarn String"))
+             #t)))))
     (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)
-       ("julia-jpegturbo-jll" ,julia-jpegturbo-jll)
-       ("julia-zlib-jll" ,julia-zlib-jll)
-       ("julia-zstd-jll" ,julia-zstd-jll)))
-    (home-page "https://github.com/JuliaBinaryWrappers/Libtiff_jll.jl")
-    (synopsis "Libtiff library wrappers")
-    (description "This package provides a wrapper for libtiff")
-    (license license:expat)))
-
-(define-public julia-macrotools
-  (package
-    (name "julia-macrotools")
-    (version "0.5.6")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/FluxML/MacroTools.jl")
-             (commit (string-append "v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0k4z2hyasd9cwxf4l61zk3w4ajs44k69wx6z1ghdn8f5p8xy217f"))))
-    (build-system julia-build-system)
-    (home-page "https://fluxml.ai/MacroTools.jl")
-    (synopsis "Tools for working with Julia code and expressions")
-    (description "This library provides tools for working with Julia code and
-expressions.  This includes a template-matching system and code-walking tools
-that let you do deep transformations of code.")
+     `(("julia-arraylayouts" ,julia-arraylayouts)))
+    (home-page "https://github.com/JuliaMatrices/MatrixFactorizations.jl")
+    (synopsis "Julia package to contain non-standard matrix factorizations")
+    (description "A Julia package to contain non-standard matrix factorizations.
+At the moment it implements the QL, RQ, and UL factorizations, a combined
+Cholesky factorization with inverse, and polar decompositions.  In the future it
+may include other factorizations such as the LQ factorization.")
     (license license:expat)))
 
 (define-public julia-mbedtls
@@ -1200,44 +1323,70 @@ that let you do deep transformations of code.")
 TLS} and cryptography C library for Julia.")
     (license license:expat)))
 
-(define-public julia-mbedtls-jll
+(define-public julia-measures
   (package
-    (name "julia-mbedtls-jll")
-    ;; version 2.25.0+0 is not compatible with current mbedtls 2.23.0,
-    ;; upgrade this when mbedtls is updated in guix
-    (version "2.24.0+1")
+    (name "julia-measures")
+    (version "0.3.1")
     (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl")
-             (commit (string-append "MbedTLS-v" version))))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0kk9dlxdh7yms21npgrdfmjbj8q8ng6kdhrzw3jr2d7rp696kp99"))))
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaGraphics/Measures.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0j34psrdijnqqn9zv0r2sknr1p9q0mmbjvjhmjra37bb5fh2gk8l"))))
     (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f                      ; No runtests.jl
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-              (lambda (wrapper)
-                (substitute* wrapper
-                  (("generate_wrapper_header.*")
-                   (string-append
-                    "generate_wrapper_header(\"MbedTLS\", \""
-                    (assoc-ref inputs "mbedtls-apache") "\")\n"))))
-              ;; There's a Julia file for each platform, override them all
-              (find-files "src/wrappers/" "\\.jl$"))
-             #t)))))
-    (inputs `(("mbedtls-apache" ,mbedtls-apache)))
-    (propagated-inputs `(("julia-jllwrappers" ,julia-jllwrappers)))
-    (home-page "https://github.com/JuliaBinaryWrappers/MbedTLS_jll.jl")
-    (synopsis "Apache's mbed TLS binary wrappers")
-    (description "This Julia module provides @code{mbed TLS} libraries and
-wrappers.")
+    (home-page "https://github.com/JuliaGraphics/Measures.jl")
+    (synopsis "Unified measure and coordinates types")
+    (description "This library generalizes and unifies the notion of measures
+used in Compose, Compose3D, and Escher.  It allows building up and representing
+expressions involving differing types of units that are then evaluated,
+resolving them into absolute units.")
+    (license license:expat)))
+
+(define-public julia-missings
+  (package
+    (name "julia-missings")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaData/Missings.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "131ma44yvswvj85jdjhm37frzfz46cc60lwj65a9jcmgc77dshsm"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-dataapi" ,julia-dataapi)))
+    (home-page "https://github.com/JuliaData/Missings.jl")
+    (synopsis "Additional missing value support for Julia")
+    (description "This package provides additional functionality for working
+with @code{missing} values in Julia.")
+    (license license:expat)))
+
+(define-public julia-mocking
+  (package
+    (name "julia-mocking")
+    (version "0.7.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/invenia/Mocking.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "10jz716v6i3gpd403rmcrip6cncjl9lqr12cdl321x1994a5g8ck"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-exprtools" ,julia-exprtools)))
+    (home-page "https://github.com/invenia/Mocking.jl")
+    (synopsis "Overload Julia function calls")
+    (description "The purpose of this package is to allow Julia function calls
+to be temporarily overloaded for the purpose of testing.")
     (license license:expat)))
 
 (define-public julia-msgpack
@@ -1280,6 +1429,28 @@ Julia, with type-driven, overloadable packing/unpacking functionality.")
 @code{NaN} instead of throwing a @code{DomainError}.")
     (license license:expat)))
 
+(define-public julia-optimtestproblems
+  (package
+    (name "julia-optimtestproblems")
+    (version "2.0.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "10h47x5ws42pkqjccimaz0yxfvz41w0yazq6inamfk4lg5g2g3d9"))))
+    (build-system julia-build-system)
+    (arguments
+     `(#:julia-package-name "OptimTestProblems"))
+    (home-page "https://github.com/JuliaNLSolvers/OptimTestProblems.jl")
+    (synopsis "Collection of optimization test problems")
+    (description "The purpose of this package is to provide test problems for
+JuliaNLSolvers packages.")
+    (license license:expat)))
+
 (define-public julia-orderedcollections
   (package
     (name "julia-orderedcollections")
@@ -1327,52 +1498,6 @@ have arbitrary indices, similar to those found in some other programming
 languages like Fortran.")
     (license license:expat)))
 
-;;; TODO: Remove this autogenerated source package
-;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>
-(define-public julia-openspecfun-jll
-(let ((commit "6c505cce3bdcd9cd2b15b4f9362ec3a42c4da71c"))
-  (package
-    (name "julia-openspecfun-jll")
-    (version "0.5.3+4")                 ;tag not created upstream
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl")
-             (commit commit)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "0bl2gcgndsbiwhwy8fl070cjm1fyf9kxj6gkikgirmzgjl29iakn"))))
-    (build-system julia-build-system)
-    (arguments
-     `(#:tests? #f                      ; no runtests.jl
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-              (lambda (wrapper)
-                (substitute* wrapper
-                  (("generate_wrapper_header.*")
-                   (string-append
-                    "generate_wrapper_header(\"OpenSpecFun\", \""
-                    (assoc-ref inputs "openspecfun") "\")\n"))))
-              ;; There's a Julia file for each platform, override them all
-              (find-files "src/wrappers/" "\\.jl$"))
-             #t)))))
-    (inputs
-     `(("openspecfun" ,openspecfun)))
-    (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)
-       ("julia-compilersupportlibraries-jll" ,julia-compilersupportlibraries-jll)))
-    (home-page "https://github.com/JuliaBinaryWrappers/OpenSpecFun_jll.jl")
-    (synopsis "Internal wrappers")
-    (description "This package provides a wrapper for OpenSpecFun.  It is an
-autogenerated source package constructed using @code{BinaryBuilder.jl}. The
-originating @code{build_tarballs.jl} script can be found on the community
-build tree Yggdrasil.")
-    (license license:expat))))
-
 (define-public julia-parameters
   (package
     (name "julia-parameters")
@@ -1442,6 +1567,193 @@ algorithms, while ensuring that the most efficient implementation is used in
 actual computation.")
     (license license:expat)))
 
+(define-public julia-plotthemes
+  (package
+    (name "julia-plotthemes")
+    (version "2.0.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaPlots/PlotThemes.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1fd27w9z1vhz0d1bzrs5vcavpb5r5jviyh27d9c4ka37phz4xvmh"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-plotutils" ,julia-plotutils)
+       ("julia-requires" ,julia-requires)))
+    (home-page "https://github.com/JuliaPlots/PlotThemes.jl")
+    (synopsis "Themes for the Julia plotting package Plots.jl")
+    (description
+     "PlotThemes is a package to spice up the plots made with @code{Plots.jl}.")
+    (license license:expat)))
+
+(define-public julia-plotutils
+  (package
+    (name "julia-plotutils")
+    (version "1.0.10")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaPlots/PlotUtils.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "1jimdkp590g7s33w7i431nn7mp1phjy9gdjs88zyqsmq5hxldacg"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-colors" ,julia-colors)
+       ("julia-colorschemes" ,julia-colorschemes)
+       ("julia-reexport" ,julia-reexport)))
+    (native-inputs
+     `(("julia-stablerngs" ,julia-stablerngs)))
+    (home-page "https://github.com/JuliaPlots/PlotUtils.jl")
+    (synopsis "Helper algorithms for building plotting components")
+    (description "This package contains generic helper algorithms for building
+plotting components.")
+    (license license:expat)))
+
+(define-public julia-pooledarrays
+  (package
+    (name "julia-pooledarrays")
+    (version "1.2.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaData/PooledArrays.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0ihvhzkxdw4qf0i6sbrickhdcwkmlin9zyixxn9xvgzm8nc0iwqy"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-dataapi" ,julia-dataapi)))
+    (home-page "https://github.com/JuliaData/PooledArrays.jl")
+    (synopsis "Pooled representation of arrays in Julia")
+    (description "This package provides a pooled representation of arrays for
+purposes of compression when there are few unique elements.")
+    (license license:expat)))
+
+(define-public julia-prettytables
+  (package
+    (name "julia-prettytables")
+    (version "1.0.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/ronisbr/PrettyTables.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1d1sd87kkwbar3l608h0adzws42cwdrmp1idxx7an6mfqcsdrijw"))))
+    (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'skip-color-tests
+           (lambda _
+             (substitute* "test/text_backend.jl"
+               ((".*colors\\.jl.*") ""))
+             #t)))))
+    (propagated-inputs
+     `(("julia-crayons" ,julia-crayons)
+       ("julia-formatting" ,julia-formatting)
+       ("julia-reexport" ,julia-reexport)
+       ("julia-tables" ,julia-tables)))
+    (home-page "https://github.com/ronisbr/PrettyTables.jl")
+    (synopsis "Print data in formatted tables")
+    (description "This package has the purpose to print data in matrices in a
+human-readable format.")
+    (license license:expat)))
+
+(define-public julia-quadmath
+  (package
+    (name "julia-quadmath")
+    (version "0.5.5")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaMath/Quadmath.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "051biw4b9zni7cmh2f1yzifp1v8wazlfxrdz4p44lyd1wba6379w"))))
+    (build-system julia-build-system)
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'hardcode-libmath-location
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((gcclib (assoc-ref inputs "gcc:lib")))
+               (substitute* "src/Quadmath.jl"
+                 (("libgcc_s.so.1" lib) (string-append gcclib "/lib/" lib))
+                 (("libquadmath.so.0" lib) (string-append gcclib "/lib/" lib)))
+               #t))))))
+    (propagated-inputs
+     `(("julia-requires" ,julia-requires)))
+    (inputs
+     `(("gcc:lib" ,gcc "lib")))
+    (native-inputs
+     `(("julia-specialfunctions" ,julia-specialfunctions)))
+    (home-page "https://github.com/JuliaMath/Quadmath.jl")
+    (synopsis "Float128 and libquadmath for the Julia language")
+    (description "This is a Julia interface to @code{libquadmath}, providing a
+@code{Float128} type corresponding to the IEEE754 binary128 floating point
+format.")
+    (license license:expat)))
+
+(define-public julia-queryoperators
+  (package
+    (name "julia-queryoperators")
+    (version "0.9.3")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/queryverse/QueryOperators.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "06zm4cbn3x49lbpgshhdfvvmgz066qkc8q0d57igm5p8bcp6js22"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-datastructures" ,julia-datastructures)
+       ("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)
+       ("julia-tableshowutils" ,julia-tableshowutils)))
+    (home-page "https://github.com/queryverse/QueryOperators.jl")
+    (synopsis "Query operators for Julia")
+    (description "This package contains the underlying query operators that are
+exposed to users in @code{Query.jl}.")
+    (license license:expat)))
+
+(define-public julia-rangearrays
+  (package
+    (name "julia-rangearrays")
+    (version "0.3.2")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaArrays/RangeArrays.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1ihzfyfq1xihkjcvn7xmzfbn6igzidb4fkzdcxwfr5qkvi52gnmg"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/JuliaArrays/RangeArrays.jl")
+    (synopsis "Array data structures with autogenerated columns")
+    (description "The goal of RangeArrays is to provide efficient and convenient
+array data structures where the columns of the arrays are generated (on the fly)
+by Ranges.")
+    (license license:expat)))
+
 (define-public julia-recipesbase
   (package
     (name "julia-recipesbase")
@@ -1565,6 +1877,34 @@ other power series in @code{h}.")
 a loadable module.")
       (license license:expat))))
 
+(define-public julia-scratch
+  (package
+    (name "julia-scratch")
+    (version "1.0.3")
+    (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
+          "06n0rc7grlg9igkdlrql83q0zpc97bh2hfzj5mw4spfik8ahw2aa"))))
+    (build-system julia-build-system)
+    (arguments
+     `(#:tests? #f))    ; Test suite tries to access the Julia package 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.")
+    (license license:expat)))
+
 (define-public julia-sortingalgorithms
   (package
     (name "julia-sortingalgorithms")
@@ -1621,6 +1961,32 @@ cosine) integrals, eta, zeta, digamma, inverse digamma, trigamma, and
 polygamma functions.")
     (license license:expat)))
 
+(define-public julia-splitapplycombine
+  (package
+    (name "julia-splitapplycombine")
+    (version "1.1.4")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaData/SplitApplyCombine.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1qzaqvk57b0s5krzn8bxkzmr5kz6hi9dm3jbf2sl7z4vznsgbn9x"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-dictionaries" ,julia-dictionaries)
+       ("julia-indexing" ,julia-indexing)))
+    (home-page "https://github.com/JuliaData/SplitApplyCombine.jl")
+    (synopsis "Split-apply-combine strategies for Julia")
+    (description "@code{SplitApplyCombine.jl} provides high-level, generic tools
+for manipulating data - particularly focussing on data in nested containers.  An
+emphasis is placed on ensuring split-apply-combine strategies are easy to apply,
+and work reliably for arbitrary iterables and in an optimized way with the data
+structures included in Julia's standard library.")
+    (license license:expat)))
+
 (define-public julia-stablerngs
   (package
     (name "julia-stablerngs")
@@ -1693,6 +2059,29 @@ statically sized arrays in Julia, using the abstract type
 linear algebra operations.")
     (license license:expat)))
 
+(define-public julia-statsapi
+  (package
+    (name "julia-statsapi")
+    (version "1.0.0")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaStats/StatsAPI.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1k1c3s7i5wzkz4r9fyy4gd7wb97p0qgbc7bmaajm16zqipfmy2bv"))))
+    (build-system julia-build-system)
+    (home-page "https://juliastats.org/")
+    (synopsis "Statistics-focused namespace for packages to share functions")
+    (description "This package provides a namespace for data-related generic
+function definitions to solve the optional dependency problem; packages wishing
+to share and/or extend functions can avoid depending directly on each other by
+moving the function definition to @code{StatsAPI.jl} and each package taking a
+dependency on it.")
+    (license license:expat)))
+
 (define-public julia-suppressor
   (package
     (name "julia-suppressor")
@@ -1713,6 +2102,152 @@ linear algebra operations.")
 warnings (stderr) or both streams at the same time.")
     (license license:expat)))
 
+(define-public julia-tableiointerface
+  (package
+    (name "julia-tableiointerface")
+    (version "0.1.6")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/lungben/TableIOInterface.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0p2fi9jbyfg2j6rysv4if7dx8qw2mssb04i75j1zq607j8707kvn"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/lungben/TableIOInterface.jl")
+    (synopsis "File formats based on file extensions")
+    (description "This package determines tabular file formats based on file
+extensions.  It is intended to be the base both for @code{TableIO.jl} and for
+the @code{Pluto.jl} tabular data import functionality.")
+    (license license:expat)))
+
+(define-public julia-tables
+  (package
+    (name "julia-tables")
+    (version "1.4.3")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaData/Tables.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0yfjl4v1vglsk9wr7gbqgya4kk3a0q0i6zhi9xdgvnqsqzqrsc7c"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-dataapi" ,julia-dataapi)
+       ("julia-datavalueinterfaces" ,julia-datavalueinterfaces)
+       ("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)
+       ("julia-tabletraits" ,julia-tabletraits)))
+    (native-inputs
+     `(("julia-datavalues" ,julia-datavalues)
+       ("julia-queryoperators" ,julia-queryoperators)))
+    (home-page "https://github.com/JuliaData/Tables.jl")
+    (synopsis "Interface for tables in Julia")
+    (description "The @code{Tables.jl} package provides simple, yet powerful
+interface functions for working with all kinds tabular data.")
+    (license license:expat)))
+
+(define-public julia-tableshowutils
+  ;; The 0.2.5 release is not fully compatable with newer versions of Julia.
+  (let ((commit "c4e02d8b9bbb31fc81ed6618955e9b1c7cb04460")
+        (revision "1"))
+    (package
+      (name "julia-tableshowutils")
+      (version "0.2.5")
+      (source
+        (origin
+          (method git-fetch)
+          (uri (git-reference
+                 (url "https://github.com/queryverse/TableShowUtils.jl")
+                 (commit commit)))
+          (file-name (git-file-name name version))
+          (sha256
+           (base32 "0gp3hpj3jvzfhkp9r345vfic2j2n2s60729wv38hwn75csp74cg5"))))
+      (build-system julia-build-system)
+      (propagated-inputs
+       `(("julia-datavalues" ,julia-datavalues)
+         ("julia-json" ,julia-json)))
+      (home-page "https://github.com/queryverse/TableShowUtils.jl")
+      (synopsis "Implement show for TableTraits.jl types")
+      (description "This package provides some common helper functions that make
+it easier to implement various @code{Base.show} functions for types that
+participate in the @code{TableTraits.jl} ecosystem.")
+      (license license:expat))))
+
+(define-public julia-tabletraits
+  (package
+    (name "julia-tabletraits")
+    (version "1.0.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/queryverse/TableTraits.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "08ssb2630wm6j8f2qa985mn2vfibfm5kjcn4ayl2qkhfcyp8daw4"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-iteratorinterfaceextensions" ,julia-iteratorinterfaceextensions)))
+    (home-page "https://github.com/queryverse/TableTraits.jl")
+    (synopsis "Traits for Julia tables")
+    (description "TableTraits defines a generic interface for tabular data.")
+    (license license:expat)))
+
+(define-public julia-tensorcore
+  (package
+    (name "julia-tensorcore")
+    (version "0.1.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaMath/TensorCore.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "1sy3in4a1rl3l2vk0cm9mzg2nkva7syhr7i35si0kbzhkdwpbqjy"))))
+    (build-system julia-build-system)
+    (home-page "https://github.com/JuliaMath/TensorCore.jl")
+    (synopsis "Tensor-algebra definitions")
+    (description "This package is intended as a lightweight foundation for
+tensor operations across the Julia ecosystem.  Currently it exports three
+operations: @acronym{hadamard, elementwise multiplication}, @acronym{tensor,
+product preserves all dimensions}, and @acronym{boxdot, contracts neighboring
+dimensions}.")
+    (license license:expat)))
+
+(define-public julia-typedtables
+  (package
+    (name "julia-typedtables")
+    (version "1.2.4")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaData/TypedTables.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "06k5h7ybsh29b6kiy0p62rp9b2q3xi9jk8p9wf0kq907p5kvfnfy"))))
+    (build-system julia-build-system)
+    (propagated-inputs
+     `(("julia-adapt" ,julia-adapt)
+       ("julia-splitapplycombine" ,julia-splitapplycombine)
+       ("julia-tables" ,julia-tables)))
+    (home-page "https://github.com/JuliaData/TypedTables.jl")
+    (synopsis "Column-based storage for data analysis in Julia")
+    (description "@code{TypedTables.jl} provides two column-based storage
+containers: @code{Table} and @code{FlexTable}, both of which represent an array
+of @code{NamedTuples}.  This package is designed to be lightweight, easy-to-use
+and fast, and presents a very minimal new interface to learn.")
+    (license license:expat)))
+
 (define-public julia-unpack
   (package
     (name "julia-unpack")
@@ -1789,105 +2324,74 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC
 system.")
     (license license:expat)))
 
-(define-public julia-zipfile
+(define-public julia-versionparsing
   (package
-    (name "julia-zipfile")
-    (version "0.9.3")
+    (name "julia-versionparsing")
+    (version "1.2.0")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/fhs/ZipFile.jl")
+               (url "https://github.com/JuliaInterop/VersionParsing.jl")
                (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "15bm3ki5mb9nvqs2byznrryq0bilnjcvsfy3k05hxhk9vapilw7k"))))
+         (base32 "060s72dsnpavgilf7f7315lw2sn4npk8lkndmj6bg7i23hppiwva"))))
     (build-system julia-build-system)
-    (propagated-inputs
-     `(("julia-zlib-jll" ,julia-zlib-jll)))
-    (home-page "https://github.com/fhs/ZipFile.jl")
-    (synopsis "Read/Write ZIP archives in Julia")
-    (description "This module provides support for reading and writing ZIP
-archives in Julia.")
+    (home-page "https://github.com/JuliaInterop/VersionParsing.jl")
+    (synopsis "Flexible VersionNumber parsing in Julia")
+    (description "The @code{VersionParsing} package implements flexible parsing
+of version-number strings into Julia's built-in @code{VersionNumber} type, via
+the @code{vparse(string)} function.  Unlike the @code{VersionNumber(string)}
+constructor, @code{vparse(string)} can handle version-number strings in a much
+wider range of formats than are encompassed by the semver standard.  This is
+useful in order to support @code{VersionNumber} comparisons applied to
+\"foreign\" version numbers from external packages.")
     (license license:expat)))
 
-(define-public julia-zlib-jll
+(define-public julia-weakrefstrings
   (package
-    (name "julia-zlib-jll")
-    (version "1.2.12+1")
+    (name "julia-weakrefstrings")
+    (version "0.6.2")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/JuliaBinaryWrappers/Zlib_jll.jl")
-               (commit (string-append "Zlib-v" version))))
+               (url "https://github.com/JuliaData/WeakRefStrings.jl")
+               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32
-          "05ih0haqapkzr40swvq63cafnqlc4yp6yfa1wvdyq8v3n4kxhfqa"))))
+         (base32 "0129mf1axxycb1ans3idlvw8ch0hmdrl80q98jw63f99zz3ddipr"))))
     (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f  ; no runtests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-               (lambda (wrapper)
-                 (substitute* wrapper
-                   (("generate_wrapper_header.*")
-                    (string-append
-                      "generate_wrapper_header(\"Zlib\", \""
-                      (assoc-ref inputs "zlib") "\")\n"))))
-               ;; There's a Julia file for each platform, override them all
-               (find-files "src/wrappers/" "\\.jl$")))))))
-    (inputs
-     `(("zlib" ,zlib)))
     (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)))
-    (home-page "https://github.com/JuliaBinaryWrappers/Zlib_jll.jl")
-    (synopsis "Zlib library wrappers")
-    (description "This package provides a wrapper for Zlib.")
+     `(("julia-dataapi" ,julia-dataapi)))
+    (home-page "https://github.com/JuliaData/WeakRefStrings.jl")
+    (synopsis "Efficient string representation and transfer in Julia")
+    (description "This package provides a minimal String type for Julia that
+allows for efficient string representation and transfer")
     (license license:expat)))
 
-(define-public julia-zstd-jll
+(define-public julia-zipfile
   (package
-    (name "julia-zstd-jll")
-    (version "1.5.0+0")
+    (name "julia-zipfile")
+    (version "0.9.3")
     (source
       (origin
         (method git-fetch)
         (uri (git-reference
-               (url "https://github.com/JuliaBinaryWrappers/Zstd_jll.jl")
-               (commit (string-append "Zstd-v" version))))
+               (url "https://github.com/fhs/ZipFile.jl")
+               (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
          (base32
-          "15g5wsvga4p9bjmx97xqwqdnfzfbwfl6c4a9iaphcncwgcrnw6y6"))))
+          "15bm3ki5mb9nvqs2byznrryq0bilnjcvsfy3k05hxhk9vapilw7k"))))
     (build-system julia-build-system)
-    (arguments
-     '(#:tests? #f  ; no runtests
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'unpack 'override-binary-path
-           (lambda* (#:key inputs #:allow-other-keys)
-             (map
-               (lambda (wrapper)
-                 (substitute* wrapper
-                   (("generate_wrapper_header.*")
-                    (string-append
-                      "generate_wrapper_header(\"Zstd\", \""
-                      (assoc-ref inputs "zstd:lib") "\")\n"))))
-               ;; There's a Julia file for each platform, override them all
-               (find-files "src/wrappers/" "\\.jl$")))))))
-    (inputs
-     `(("zstd:lib" ,zstd "lib")))
     (propagated-inputs
-     `(("julia-jllwrappers" ,julia-jllwrappers)))
-    (home-page "https://github.com/JuliaBinaryWrappers/Zstd_jll.jl")
-    (synopsis "Zstd library wrappers")
-    (description "This package provides a wrapper for the zstd library.")
+     `(("julia-zlib-jll" ,julia-zlib-jll)))
+    (home-page "https://github.com/fhs/ZipFile.jl")
+    (synopsis "Read/Write ZIP archives in Julia")
+    (description "This module provides support for reading and writing ZIP
+archives in Julia.")
     (license license:expat)))
 
 (define-public julia-zygoterules