summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2022-01-31 12:28:05 +0200
committerEfraim Flashner <efraim@flashner.co.il>2022-02-13 11:59:51 +0200
commitd40de1fb810aeff30cf84fc5e051bb77e0b6ceeb (patch)
treed18f8afb69e5f36343b0b3298f53b6de618e4a6d
parent74afcc0f555699d9d6a040fded04a1a379c0b1de (diff)
gnu: Add julia-linesearches.
* gnu/packages/julia-xyz.scm (julia-linesearches): New variable.
-rw-r--r--gnu/packages/julia-xyz.scm45
1 files changed, 44 insertions, 1 deletions
diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm
index e30cf39dc9..7de0c32113 100644
--- a/gnu/packages/julia-xyz.scm
+++ b/gnu/packages/julia-xyz.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;; Copyright © 2021, 2022 Simon Tournier <zimon.toutoune@gmail.com>
-;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;;
@@ -3104,6 +3104,49 @@ equations in string literals in the Julia language.")
implementation of matrix-free methods for iterative solvers.")
(license license:expat)))
+(define-public julia-linesearches
+ (package
+ (name "julia-linesearches")
+ (version "7.1.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/JuliaNLSolvers/LineSearches.jl")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1qc4la07w6s1xhcyd0hvbnpr31zc1a2ssgyybc8biv5m00g0dnr0"))))
+ (build-system julia-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'link-depot 'skip-optim-tests
+ (lambda _
+ (substitute* "test/examples.jl"
+ ;; Prevent a cycle with Optim.jl.
+ (("^ SKIPFILE.*") "")
+ (("^ #SKIPFILE") " SKIPFILE"))))
+ (add-after 'link-depot 'skip-doublefloats-tests
+ (lambda _
+ (substitute* "test/runtests.jl"
+ (("using DoubleFloats.*") "")
+ ((".*arbitrary_precision\\.jl.*") "")))))))
+ (propagated-inputs
+ (list julia-nlsolversbase
+ julia-nanmath
+ julia-parameters))
+ (native-inputs
+ ;; DoubleFloats.jl transitively depends on TimeZones.jl, which is currently
+ ;; unpackageable due to its oversized Artifacts.toml.
+ (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
+implemented in Julia.")
+ (license license:expat)))
+
(define-public julia-logexpfunctions
(package
(name "julia-logexpfunctions")