about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner2022-01-27 17:09:42 +0200
committerEfraim Flashner2022-01-27 17:09:42 +0200
commit40dfce43b467e1ac99b85e003070d5107660dce4 (patch)
tree930dd26050232f9253ec31317692d00da8c5db6a
parentd1b682348601d968dd5ed3beb0049e7f51bb2c61 (diff)
downloadguix-bioinformatics-40dfce43b467e1ac99b85e003070d5107660dce4.tar.gz
gn: julia: Prepare packages for upstreaming
-rw-r--r--gn/packages/julia.scm200
1 files changed, 125 insertions, 75 deletions
diff --git a/gn/packages/julia.scm b/gn/packages/julia.scm
index ff1d7aa..f6856e0 100644
--- a/gn/packages/julia.scm
+++ b/gn/packages/julia.scm
@@ -1,5 +1,6 @@
 (define-module (gn packages julia)
   #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix gexp)
   #:use-module (guix utils)
   #:use-module (guix packages)
   #:use-module (guix download)
@@ -303,11 +304,10 @@ properties
     (license license:expat)))
 
 ;; ready to upstream
-;; if the test suite passes
 (define-public julia-optim
   (package
     (name "julia-optim")
-    (version "1.4.0")
+    (version "1.6.0")
     (source
       (origin
         (method git-fetch)
@@ -316,24 +316,35 @@ properties
                (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "0bv281n999kmjlp9p3vl4vv4phdl17z4gdpvkjzxsyk6dvcg2nrf"))))
+         (base32 "0nvl3xp9c6r80y9n7fic4zyq2443apfmbcpnx0wvgkv4vsy08x5j"))))
     (build-system julia-build-system)
     (arguments
-     `(#:tests? #f      ; TODO: Fix test
-       ))
+     (list
+       #:phases
+       #~(modify-phases %standard-phases
+           (add-after 'unpack 'adjust-tests
+             (lambda _
+               ;; TODO: Figure out why this test fails.
+               (substitute* "test/runtests.jl"
+                 ((".*l_bfgs.*") "")))))))
     (propagated-inputs
-     `(("julia-compat" ,julia-compat)
-       ("julia-fillarrays" ,julia-fillarrays)
-       ("julia-linesearches" ,julia-linesearches)
-       ("julia-nlsolversbase" ,julia-nlsolversbase)
-       ("julia-nanmath" ,julia-nanmath)
-       ("julia-parameters" ,julia-parameters)
-       ("julia-positivefactorizations" ,julia-positivefactorizations)
-       ("julia-statsbase" ,julia-statsbase)))
+     (list julia-compat
+           julia-fillarrays
+           julia-forwarddiff
+           julia-linesearches
+           julia-nanmath
+           julia-nlsolversbase
+           julia-parameters
+           julia-positivefactorizations
+           julia-statsbase))
     (native-inputs
-     `(("julia-measurements" ,julia-measurements)
-       ("julia-optimtestproblems" ,julia-optimtestproblems)
-       ("julia-recursivearraytools" ,julia-recursivearraytools)))
+     (list julia-linesearches
+           julia-measurements
+           julia-nlsolversbase
+           julia-optimtestproblems
+           julia-positivefactorizations
+           julia-recursivearraytools
+           julia-stablerngs))
     (home-page "https://github.com/JuliaNLSolvers/Optim.jl")
     (synopsis "Optimization functions for Julia")
     (description "@code{Optim.jl} is a package for univariate and multivariate
@@ -655,12 +666,12 @@ R's d-p-q-r functions for probability distributions.  It is a wrapper around
                (("^    SKIPFILE.*") "")
                (("^    #SKIPFILE") "    SKIPFILE")))))))
     (propagated-inputs
-     `(("julia-nlsolversbase" ,julia-nlsolversbase)
-       ("julia-nanmath" ,julia-nanmath)
-       ("julia-parameters" ,julia-parameters)))
+     (list julia-nlsolversbase
+           julia-nanmath
+           julia-parameters))
     (native-inputs
-     `(("julia-doublefloats" ,julia-doublefloats)
-       ("julia-optimtestproblems" ,julia-optimtestproblems)))
+     (list julia-doublefloats
+           julia-optimtestproblems))
     (home-page "https://github.com/JuliaNLSolvers/LineSearches.jl")
     (synopsis "Line search methods for optimization and root-finding")
     (description "This package provides an interface to line search algorithms
@@ -671,7 +682,7 @@ implemented in Julia.")
 (define-public julia-doublefloats
   (package
     (name "julia-doublefloats")
-    (version "1.1.23")
+    (version "1.1.25")
     (source
       (origin
         (method git-fetch)
@@ -680,18 +691,18 @@ implemented in Julia.")
                (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "0qdkcmjknlan25dbgqw101zvgb5ly8v4pf1xikj6k2x96k8c6c8g"))))
+         (base32 "0cd3wxa2q77d9cxmi8gp5hpc95bfdf195mw03p6r1z543sfcfg0d"))))
     (build-system julia-build-system)
     (propagated-inputs
-     `(("julia-genericlinearalgebra" ,julia-genericlinearalgebra)
-       ("julia-polynomials" ,julia-polynomials)
-       ("julia-quadmath" ,julia-quadmath)
-       ("julia-requires" ,julia-requires)
-       ("julia-specialfunctions" ,julia-specialfunctions)))
+     (list julia-genericlinearalgebra
+           julia-polynomials
+           julia-quadmath
+           julia-requires
+           julia-specialfunctions))
     (native-inputs
-     `(("julia-genericlinearalgebra" ,julia-genericlinearalgebra)
-       ("julia-genericschur" ,julia-genericschur)
-       ("julia-specialfunctions" ,julia-specialfunctions)))
+     (list julia-genericlinearalgebra
+           julia-genericschur
+           julia-specialfunctions))
     (home-page "https://github.com/JuliaMath/DoubleFloats.jl")
     (synopsis "Extended precision float and complex types")
     (description "This package provides a math library with extended precision
@@ -702,7 +713,7 @@ floats and complex types.")
 (define-public julia-polynomials
   (package
     (name "julia-polynomials")
-    (version "2.0.14")
+    (version "2.0.24")
     (source
       (origin
         (method git-fetch)
@@ -711,16 +722,17 @@ floats and complex types.")
                (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "07yb98fm9yhhan0n3iwmd9dz7zpj4kal99z5h1px1q5zpmjn68xa"))))
+         (base32 "1wpnk8m4l3ai7ggiim23xlvaxgbsjhprk614pva2pb4xi2jmclgq"))))
     (build-system julia-build-system)
     (propagated-inputs
-     `(("julia-intervals" ,julia-intervals)
-       ("julia-mutablearithmetics" ,julia-mutablearithmetics)
-       ("julia-recipesbase" ,julia-recipesbase)))
+     (list julia-intervals
+           julia-mutablearithmetics
+           julia-recipesbase))
     (native-inputs
-     `(("julia-offsetarrays" ,julia-offsetarrays)
-       ("julia-specialfunctions" ,julia-specialfunctions)
-       ("julia-staticarrays" ,julia-staticarrays)))
+     (list julia-dualnumbers
+           julia-offsetarrays
+           julia-specialfunctions
+           julia-staticarrays))
     (home-page "https://github.com/JuliaMath/Polynomials.jl")
     (synopsis "Polynomial manipulations in Julia")
     (description "This package provides basic arithmetic, integration,
@@ -768,7 +780,7 @@ polynomials.")
 (define-public julia-timezones
   (package
     (name "julia-timezones")
-    (version "1.5.5")
+    (version "1.7.1")
     (source
       (origin
         (method git-fetch)
@@ -777,51 +789,89 @@ polynomials.")
                (commit (string-append "v" version))))
         (file-name (git-file-name name version))
         (sha256
-         (base32 "0f6rk1g4ffj4r6g8hfy0ygk4vyppibywkxgixhbgnc09w8y0009d"))))
+         (base32 "0sqckna9sivwxrhr7h7rmzmjxz3496q9yhd816y5z3b7vpv3gbqi"))))
     (build-system julia-build-system)
     (arguments
-     `(#:tests? #f    ; Tests attempt to download timezone information
-       #:phases
-       (modify-phases %standard-phases
-         (add-after 'link-depot 'patch-tzdata
-           (lambda* (#:key inputs #:allow-other-keys)
-             ;(substitute* "src/tzdata/TZData.jl"
-             ;  (("(COMPILED_DIR = ).*" _ key)
-             ;   (string-append key "\"" (assoc-ref inputs "tzdata") "/share/zoneinfo\"")))
-             (substitute* "test/runtests.jl"
-               (("2016j") "2021a")
-               ((".*download.jl.*") "")
-               )
-             (make-file-writable "Artifacts.toml")
-             (with-output-to-file "Artifacts.toml"
-               (lambda _
-                 (format #t "[tzdata2021a]~@
-                         git-tree-sha1 = \"6d94ada27957590cbd0d7678f5ae711232a4d714\"~@
-                         lazy = true~@
-                         ~@
-                         [[tzdata2021a.download]]~@
-                         sha256 = \"39e7d2ba08c68cbaefc8de3227aab0dec2521be8042cf56855f7dc3a9fb14e08\"~@
-                         url = \"file://~a\"~%"
-                         (assoc-ref inputs "tzdata-src"))))
-             #t))
-         )))
+     (list
+       #:tests? #f    ; Tests attempt to download timezone information
+       ;#:phases
+       ;#~(modify-phases %standard-phases
+       ;  (add-after 'link-depot 'patch-tzdata
+       ;    (lambda* (#:key inputs #:allow-other-keys)
+       ;      ;(substitute* "src/tzdata/TZData.jl"
+       ;      ;  (("(COMPILED_DIR = ).*" _ key)
+       ;      ;   (string-append key "\"" (assoc-ref inputs "tzdata") "/share/zoneinfo\"")))
+       ;      (substitute* "test/runtests.jl"
+       ;        (("2016j") "2021a")
+       ;        ((".*download.jl.*") "")
+       ;        )
+       ;      (make-file-writable "Artifacts.toml")
+       ;      (with-output-to-file "Artifacts.toml"
+       ;        (lambda _
+       ;          (format #t "[tzdata2021a]~@
+       ;                  git-tree-sha1 = \"6d94ada27957590cbd0d7678f5ae711232a4d714\"~@
+       ;                  lazy = true~@
+       ;                  ~@
+       ;                  [[tzdata2021a.download]]~@
+       ;                  sha256 = \"39e7d2ba08c68cbaefc8de3227aab0dec2521be8042cf56855f7dc3a9fb14e08\"~@
+       ;                  url = \"file://~a\"~%"
+       ;                  (assoc-ref inputs "tzdata-src"))))
+       ;      #t))
+       ;  )
+         ))
     (propagated-inputs
-     `(
-       ("julia-lazyartifacts" ,julia-lazyartifacts)
-       ("julia-mocking" ,julia-mocking)
-       ("julia-recipesbase" ,julia-recipesbase)
-       ))
+     (list
+       julia-inlinestrings
+       julia-mocking
+       julia-recipesbase))
     (native-inputs
      `(
        ;("julia-compat" ,julia-compat)
        ;("julia-timezones" ,julia-timezones)
        ;("curl" ,(@ (gnu packages curl) curl-minimal))
        ;("tzdata" ,(@ (gnu packages base) tzdata))
-       ("tzdata-src" ,(package-source (@ (gnu packages base) tzdata)))
+       ;("tzdata-src" ,(package-source (@ (gnu packages base) tzdata)))
+       ))
+    (home-page "https://github.com/JuliaTime/TimeZones.jl")
+    (synopsis "IANA time zone database access for Julia")
+    (description "IANA time zone database access for the Julia programming
+language.  @code{TimeZones.jl} extends the Date/DateTime support for Julia to
+include a new time zone aware @code{TimeType: ZonedDateTime}.")
+    (license license:expat)))
+
+(define-public julia-inlinestrings
+  (package
+    (name "julia-inlinestrings")
+    (version "1.1.1")
+    (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+               (url "https://github.com/JuliaStrings/InlineStrings.jl")
+               (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0vr0hdig2vmgpnkxwhiw4wcl8pv69xyk0wpfig08sd6m8dg5wq4c"))))
+    (build-system julia-build-system)
+    (arguments
+     (list
+       #:tests? #f      ; TODO: Fix skipping the test in question
+       ;#:phases
+       ;#~(modify-phases %standard-phases
+       ;    (add-after 'unpack 'adjust-tests
+       ;      (lambda _
+       ;        (substitute* "test/runtests.jl"
+       ;          ;; Need to skip lines 165, 166?
+       ;          ((".*a,\".*") "")  ; 165, 167
+       ;          ((".*a__\".*") "") ; 166, 168
+       ;          ))))
        ))
-    (home-page "https://juliahub.com/docs/Infinity/")
-    (synopsis "IANA time zone database access for the Julia programming language")
-    (description "IANA time zone database access for the Julia programming language. TimeZones.jl extends the Date/DateTime support for Julia to include a new time zone aware TimeType: ZonedDateTime.")
+    (propagated-inputs
+     (list julia-parsers))
+    (home-page "https://github.com/JuliaStrings/InlineStrings.jl")
+    (synopsis "Fixed-width string types for Julia")
+    (description "This package provides fixed-width string types for
+facilitating certain string workflows in Julia.")
     (license license:expat)))
 
 ;; ready to upstream, if we want