2021-05-30 02:46:34 -04:00
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
|
|
|
;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz>
|
2021-05-30 02:55:07 -04:00
|
|
|
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
2021-05-30 02:46:34 -04:00
|
|
|
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
|
|
|
|
;;;
|
|
|
|
;;; 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-jll)
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
|
|
|
#:use-module (guix packages)
|
|
|
|
#:use-module (guix git-download)
|
|
|
|
#:use-module (guix utils)
|
|
|
|
#:use-module (guix build-system julia)
|
|
|
|
#:use-module (gnu packages)
|
2021-05-30 02:55:07 -04:00
|
|
|
#:use-module (gnu packages gcc)
|
2021-05-30 02:46:34 -04:00
|
|
|
#:use-module (gnu packages julia))
|
|
|
|
|
2021-05-30 02:55:07 -04:00
|
|
|
;;; TODO: Remove this autogenerated source package
|
|
|
|
;;; and build it from realse source using <https://github.com/JuliaPackaging/Yggdrasil/>
|
|
|
|
|
|
|
|
(define-public julia-compilersupportlibraries-jll
|
|
|
|
(package
|
|
|
|
(name "julia-compilersupportlibraries-jll")
|
|
|
|
(version "0.4.0+1")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method git-fetch)
|
|
|
|
(uri (git-reference
|
|
|
|
(url "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")
|
|
|
|
(commit (string-append "CompilerSupportLibraries-v" version))))
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "03j6xdvps259mhdzpjqf41l65w2l9sahvxg4wrp34hcf69wkrzpy"))))
|
|
|
|
(build-system julia-build-system)
|
|
|
|
(arguments
|
|
|
|
`(#:tests? #f ; no runtests.jl
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'unpack 'override-binary-path
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
(map
|
|
|
|
(lambda (wrapper)
|
|
|
|
(substitute* wrapper
|
|
|
|
(("generate_wrapper_header.*")
|
|
|
|
(string-append
|
|
|
|
"generate_wrapper_header(\"CompilerSupportLibraries\", \""
|
|
|
|
(assoc-ref inputs "gfortran:lib") "\")\n"))))
|
|
|
|
;; There's a Julia file for each platform, override them all
|
|
|
|
(find-files "src/wrappers/" "\\.jl$"))
|
|
|
|
#t)))))
|
|
|
|
(inputs ;required by artifacts
|
|
|
|
`(("gfortran:lib" ,gfortran "lib")))
|
|
|
|
(propagated-inputs
|
|
|
|
`(("julia-jllwrappers" ,julia-jllwrappers)))
|
|
|
|
(home-page "https://github.com/JuliaBinaryWrappers/CompilerSupportLibraries_jll.jl")
|
|
|
|
(synopsis "Internal wrappers")
|
|
|
|
(description "This package provides compiler support for libraries. It is
|
|
|
|
an autogenerated source package constructed using @code{BinaryBuilder.jl}. The
|
|
|
|
originating @code{build_tarballs.jl} script can be found on the community
|
|
|
|
build tree Yggdrasil.")
|
|
|
|
(license license:expat)))
|
|
|
|
|
2021-05-30 02:46:34 -04:00
|
|
|
(define-public julia-jllwrappers
|
|
|
|
(package
|
|
|
|
(name "julia-jllwrappers")
|
|
|
|
(version "1.3.0")
|
|
|
|
(source
|
|
|
|
(origin
|
|
|
|
(method git-fetch)
|
|
|
|
(uri (git-reference
|
|
|
|
(url "https://github.com/JuliaPackaging/JLLWrappers.jl")
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
(sha256
|
|
|
|
(base32 "0v7xhsv9z16d657yp47vgc86ggc01i1wigqh3n0d7i1s84z7xa0h"))))
|
|
|
|
(arguments
|
|
|
|
;; Wants to download stuff
|
|
|
|
'(#:tests? #f
|
|
|
|
#:phases
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
(add-after 'unpack 'custom-override-path
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
;; Make @generate_wrapper_header take an optional argument that
|
|
|
|
;; guix packagers can pass to override the default "override"
|
|
|
|
;; binary path. This won't be needed when something like
|
|
|
|
;; https://github.com/JuliaPackaging/JLLWrappers.jl/pull/27
|
|
|
|
;; will be merged.
|
|
|
|
(substitute* "src/wrapper_generators.jl"
|
|
|
|
(("generate_wrapper_header.*")
|
|
|
|
"generate_wrapper_header(src_name, override_path = nothing)\n")
|
|
|
|
(("pkg_dir = .*" all)
|
|
|
|
(string-append
|
|
|
|
all "\n" "override = something(override_path,"
|
|
|
|
"joinpath(dirname(pkg_dir), \"override\"))\n"))
|
|
|
|
(("@static if isdir.*") "@static if isdir($override)\n")
|
|
|
|
(("return joinpath.*") "return $override\n"))
|
|
|
|
#t)))))
|
|
|
|
(build-system julia-build-system)
|
|
|
|
(home-page "https://github.com/JuliaPackaging/JLLWrappers.jl")
|
|
|
|
(synopsis "Julia macros used by JLL packages")
|
|
|
|
(description "This package contains Julia macros that enable JLL packages
|
|
|
|
to generate themselves. It is not intended to be used by users, but rather is
|
|
|
|
used in autogenerated packages via @code{BinaryBuilder.jl}.")
|
|
|
|
(license license:expat)))
|