guix-devel/gnu/packages/julia-xyz.scm

230 lines
8.7 KiB
Scheme
Raw Normal View History

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019 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 build-system julia)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages tls))
(define-public julia-uriparser
(package
(name "julia-uriparser")
(version "0.4.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaWeb/URIParser.jl")
(commit (string-append "v" version))))
(file-name "URIParser")
(sha256
(base32 "1i45wza6jh9k7x8jrqiil6k2yb81hdzm3s0zqhzy3y2sby66p44p"))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaWeb/URIParser.jl")
(synopsis "Provides URI parsing according to RFC 3986")
(description "@code{URIParser} is a julia package that provides URI
parsing according to RFC 3986.")
(license license:expat)))
(define-public julia-inifile
(package
(name "julia-inifile")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaIO/IniFile.jl")
(commit (string-append "v" version))))
(file-name "IniFile")
(sha256
(base32 "19cn41w04hikrqdzlxhrgf21rfqhkvj9x1zvwh3yz9hqbf350xs9"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'precompile 'fix-toml
(lambda* (#:key outputs source #:allow-other-keys)
(julia-create-package-toml
outputs source
"IniFile" "83e8ac13-25f8-5344-8a64-a9f2b223428f" "0.5.0"
'())
#t)))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaIO/IniFile.jl")
(synopsis "Reading Windows-style INI files")
(description "@code{julia-inifile} is a julia package that defines an
Inifile type that allows to interface with @file{.ini} files.")
(license license:expat)))
(define-public julia-compat
(package
(name "julia-compat")
(version "2.2.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaLang/Compat.jl")
(commit (string-append "v" version))))
(file-name "Compat")
(sha256
(base32 "024gqvhabranf398hwhb4m2w3a42kdg9zqj8s4pmjvaal14grw70"))))
(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-sha
(package
(name "julia-sha")
(version "0.5.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/staticfloat/SHA.jl")
(commit (string-append "v" version))))
(file-name "SHA")
(sha256
(base32 "10a09kg9z0m8rvwmlgsna6p342kyvizx2axdqc6pzyhraddr8jrp"))))
(propagated-inputs `(("julia-compat" ,julia-compat)))
(build-system julia-build-system)
(home-page "https://github.com/staticfloat/SHA.jl")
(synopsis "Performant, 100% native-julia SHA1, SHA2, and SHA3
implementation")
(description "Julia package implementing SHA algorithms. Each exported
function takes in either an Array{UInt8}, a ByteString or an IO object.")
(license license:expat)))
(define-public julia-binaryprovider
(package
(name "julia-binaryprovider")
(version "0.5.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaPackaging/BinaryProvider.jl")
(commit (string-append "v" version))))
(file-name "BinaryProvider")
(sha256
(base32 "1papsz5ki5iwv1v3ac1ddybjxak93nydh7dqc3231zm0fzd918ys"))))
(propagated-inputs `(("julia-sha" ,julia-sha)))
(arguments
`(#:phases
;; wants to download things with curl/wget
(modify-phases %standard-phases (delete 'precompile))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaPackaging/BinaryProvider.jl.git")
(synopsis "A reliable binary provider for Julia")
(description "Install binary packages with Julia.")
(license license:expat)))
(define-public julia-mbedtls
(package
(name "julia-mbedtls")
(version "0.7.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaWeb/MbedTLS.jl")
(commit (string-append "v" version))))
(file-name "MbedTLS")
(sha256
(base32 "1a8snw9gi21lm6r3kh6ly7ngi99s9k5shqkfiizj3g9li20q23h2"))))
(propagated-inputs `(("julia-binaryprovider" ,julia-binaryprovider)
("mbedtls-apache" ,mbedtls-apache)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'precompile 'build-deps
(lambda* (#:key outputs source inputs #:allow-other-keys)
(let ((f (open-file
(string-append
(assoc-ref outputs "out")
"/share/julia/packages/"
(string-append
(strip-store-file-name source) "/deps/deps.jl"))
"w")))
(display (string-append "const libmbedcrypto = \""
(assoc-ref inputs "mbedtls-apache")
"/lib/libmbedcrypto.so\"\n") f)
(display (string-append "const libmbedtls = \""
(assoc-ref inputs "mbedtls-apache")
"/lib/libmbedtls.so\"\n") f)
(display (string-append "const libmbedx509 = \""
(assoc-ref inputs "mbedtls-apache")
"/lib/libmbedx509.so\"\n") f)
(close-port f))
#t)))))
(build-system julia-build-system)
(home-page "https://github.com/JuliaWeb/MbedTLS.jl")
(synopsis "Wrapper around the mbed TLS and cryptography C libary")
(description "@code{julia-mbedtls} is a julia wrapper around mbed TLS.")
(license license:expat)))
(define-public julia-bindeps
(package
(name "julia-bindeps")
(version "0.8.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaPackaging/BinDeps.jl")
(commit (string-append "v" version))))
(file-name "BinDeps")
(sha256
(base32 "1da7z4ii78gaqnjal7c4d1xvicyshiil4ls6xhi9id4q8plmfa2m"))))
(propagated-inputs `(("julia-uriparser" ,julia-uriparser)
("julia-sha" ,julia-sha)
("julia-compat" ,julia-compat)))
(build-system julia-build-system)
(home-page "https://github.com/JuliaPackaging/BinDeps.jl")
(synopsis "Easily build binary dependencies for Julia packages")
(description "@code{BinDeps} is a package that provides a collection of
tools to build binary dependencies for Julia packages.")
(license license:expat)))
(define-public julia-parsers
(package
(name "julia-parsers")
(version "0.3.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/JuliaData/Parsers.jl")
(commit (string-append "v" version))))
(file-name "Parsers")
(sha256
(base32 "01j8cpnhxpxzybqzbvv3h5v0ksysqxmh5fmls6hpza2p3gjg4yrv"))))
(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} is a collection of type parsers and utilities
for Julia")
(license license:expat)))