(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-compat (package (name "julia-compat") (version "3.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 "0d21h3l2ry2mmlhpg7b9cxifayzwcv7r13h5wydcbd5pjf6k4qd4")))) (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-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 "8ba59958495fa276d6489d2c3903e765d75e0bc0"))) (file-name "IniFile") (sha256 (base32 "11h6f99jpbg729lplw841m68jprka7q3n8yw390bndlmcdsjabpd")))) (build-system julia-build-system) (home-page "https://github.com/JuliaIO/IniFile.jl") (synopsis "Reading Windows-style INI files") (description "This is a julia package that defines an IniFile type that allows to interface with @file{.ini} files") (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 @code{Array{UInt8}}, a @code{ByteString} or an @code{IO} object.") (license license:expat))) (define-public julia-binaryprovider (package (name "julia-binaryprovider") (version "0.5.8") (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 "174jmg4w8ncgfhdvfnm0p4cnlayw31j4s9sksqlwz1sipywqvww7")))) (propagated-inputs `(("julia-sha" ,julia-sha))) ;; We don't really need BinaryProvider (as guix provides the binaries) but ;; since it's a dependency of other packages we want to precompile it. (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'disable-engine-probe (lambda _ (substitute* "src/BinaryProvider.jl" ;; Precompilation tries to download things from the internet, ;; disable the download part (("probe_platform_engines") "# probe_platform_engines")) #t))))) (build-system julia-build-system) (home-page "https://github.com/JuliaPackaging/BinaryProvider.jl") (synopsis "Reliable Binary provider for Julia") (description "@code{BinaryProvider.jl} simplifies the installation of binaries required by julia packages.") (license license:expat)))