2019-10-10 17:49:48 +02:00
|
|
|
;;; 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:)
|
2019-10-10 20:49:03 +02:00
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (gnu packages tls))
|
2019-10-10 17:49:48 +02:00
|
|
|
|
|
|
|
(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)))
|
2019-10-10 17:58:32 +02:00
|
|
|
|
|
|
|
(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)))
|
2019-10-10 18:00:16 +02:00
|
|
|
|
|
|
|
(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)))
|
2019-10-10 18:39:29 +02:00
|
|
|
|
|
|
|
(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)))
|
2019-10-10 20:49:03 +02:00
|
|
|
|
|
|
|
(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)))
|