guix/gnu/packages/julia-xyz.scm
nixo dae521a0c9
gnu: Add julia-json.
* gnu/packages/julia-xyz.scm (julia-json): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-01-30 15:36:57 +01:00

218 lines
8.6 KiB
Scheme

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages julia-xyz)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system julia))
(define-public julia-adapt
(package
(name "julia-adapt")
(version "3.1.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaGPU/Adapt.jl")
(commit (string-append "v" version))))
(file-name "Adapt")
(sha256
(base32 "1lks6k3a1gvwlplld47nh6xfy3nnlpc0vhkzg6zg0qn33qdmavrg"))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaGPU/Adapt.jl")
(synopsis "Package providing the @code{adapt} function, similar to @code{convert}")
(description "This Julia package provides the @code{adapt(T, x)} function
acts like @code{convert(T, x)}, but without the restriction of returning a
@code{T}. This allows you to \"convert\" wrapper types like @code{Adjoint} to
be GPU compatible without throwing away the wrapper.")
(license license:expat)))
(define-public julia-compat
(package
(name "julia-compat")
(version "3.25.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaLang/Compat.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1m4r5i8mq29xjp3mllh6047n5a78sdyld57m15anrnsjgaapcgby"))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaLang/Compat.jl")
(synopsis "Compatibility across Julia versions")
(description "The Compat package is designed to ease interoperability
between older and newer versions of the Julia language. The Compat package
provides a macro that lets you use the latest syntax in a backwards-compatible
way.")
(license license:expat)))
(define-public julia-datastructures
(package
(name "julia-datastructures")
(version "0.18.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaCollections/DataStructures.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0hdqp8ipsqdw5bqqkdvz4j6n67x80sj5azr9vzyxwjfsgkfbnk2l"))))
(propagated-inputs
`(("julia-compat" ,julia-compat)
("julia-orderedcollections" ,julia-orderedcollections)))
(build-system julia-build-system)
(home-page "https://github.com/JuliaCollections/DataStructures.jl")
(synopsis "Julia module providing different data structures")
(description "This package implements a variety of data structures,
including, @code{CircularBuffer}, @code{Queue}, @code{Stack},
@code{Accumulators}, @code{LinkedLists}, @code{SortedDicts} and many others.")
(license license:expat)))
(define-public julia-fixedpointnumbers
(package
(name "julia-fixedpointnumbers")
(version "0.8.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaMath/FixedPointNumbers.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0j0n40n04q9sk68wh9jq90m6c67k4ws02k41djjzkrqmpzv4rcdi"))))
(build-system julia-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-test
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "test/fixed.jl"
;; A deprecation warning is not thrown
(("@test_logs.*:warn" all) (string-append "# " all)))
#t)))))
(propagated-inputs `(("julia-compat" ,julia-compat)))
(home-page "https://github.com/JuliaMath/FixedPointNumbers.jl")
(synopsis "Fixed point types for Julia")
(description "@code{FixedPointNumbers.jl} implements fixed-point number
types for Julia. A fixed-point number represents a fractional, or
non-integral, number. In contrast with the more widely known floating-point
numbers, with fixed-point numbers the decimal point doesn't \"float\":
fixed-point numbers are effectively integers that are interpreted as being
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-json
(package
(name "julia-json")
(version "0.21.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaIO/JSON.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1f9k613kbknmp4fgjxvjaw4d5sfbx8a5hmcszmp1w9rqfqngjx9m"))))
(build-system julia-build-system)
(propagated-inputs
`(("julia-datastructures" ,julia-datastructures)
("julia-fixedpointnumbers" ,julia-fixedpointnumbers)
("julia-parsers" ,julia-parsers)
("julia-offsetarrays" ,julia-offsetarrays)))
(home-page "https://github.com/JuliaIO/JSON.jl")
(synopsis "JSON parsing and printing library for Julia")
(description "@code{JSON.jl} is a pure Julia module which supports parsing
and printing JSON documents.")
(license license:expat)))
(define-public julia-orderedcollections
(package
(name "julia-orderedcollections")
(version "1.3.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaCollections/OrderedCollections.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sfip1ixghsz91q2s7d62rgzw3gppg42fg6bccxlplqa3hfmbycf"))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaCollections/OrderedCollections.jl")
(synopsis "Associative containers that preserve insertion order")
(description "This package implements @code{OrderedDicts} and
@code{OrderedSets}, which are similar to containers in base Julia. However,
during iteration the @code{Ordered*} containers return items in the order in
which they were added to the collection.")
(license license:expat)))
(define-public julia-offsetarrays
(package
(name "julia-offsetarrays")
(version "1.5.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaArrays/OffsetArrays.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1y3fnssw2hzyghrk6jfcxslab0f8sjkjszh482snfq4k6mkrhy77"))))
(build-system julia-build-system)
(propagated-inputs
`(("julia-adapt" ,julia-adapt)))
;; CatIndices depends on OffsetArrays, introducing a recursive dependency
(arguments '(#:tests? #f))
(home-page "https://juliaarrays.github.io/OffsetArrays.jl/stable/")
(synopsis "Fortran-like arrays with arbitrary, zero or negative indices")
(description "@code{OffsetArrays.jl} provides Julia users with arrays that
have arbitrary indices, similar to those found in some other programming
languages like Fortran.")
(license license:expat)))
(define-public julia-parsers
(package
(name "julia-parsers")
(version "1.0.15")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaData/Parsers.jl")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "16iffl6l28kspgqch48mhi1s8qhspr3cpqcwsph3rqi72lbfqygx"))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaData/Parsers.jl")
(synopsis "Fast parsing machinery for basic types in Julia")
(description "@code{Parsers.jl} is a collection of type parsers and
utilities for Julia.")
(license license:expat)))