1 changed files with 198 additions and 0 deletions
@ -0,0 +1,198 @@ |
|||
(define-module (gn packages julia) |
|||
#:use-module ((guix licenses) #:prefix license:) |
|||
#:use-module (guix utils) |
|||
#:use-module (guix packages) |
|||
#:use-module (guix download) |
|||
#:use-module (guix git-download) |
|||
#:use-module (guix build-system julia) |
|||
#:use-module (gn packages cran) |
|||
#:use-module (gnu packages bioinformatics) |
|||
#:use-module (gnu packages compression) |
|||
#:use-module (gnu packages cran) |
|||
#:use-module (gnu packages statistics) |
|||
#:use-module (ice-9 match)) |
|||
|
|||
(define-public julia-lmgpu |
|||
(let ((commit "e9e95b5fa46f1905ca1ff32a3684a2616a7e482c") |
|||
(revision "1")) |
|||
(package |
|||
(name "julia-lmgpu") |
|||
(version (git-version "0.1.1" revision commit)) |
|||
(source (origin |
|||
(method git-fetch) |
|||
(uri (git-reference |
|||
(url "https://github.com/ChelseaTrotter/LMGPU.jl") |
|||
(commit commit))) |
|||
;(file-name (git-file-name name version)) |
|||
(file-name "LMGPU") |
|||
(sha256 |
|||
(base32 |
|||
"1ddx2np1lakw1l2dclpcaihxd0fcj6bjxsvaxr6g5brxjqk5j7b1")))) |
|||
(build-system julia-build-system) |
|||
(arguments |
|||
`(#:phases |
|||
(modify-phases %standard-phases |
|||
;; This is a super ugly hack. Some JULIA environment variable should |
|||
;; be tuned so it can find the artifact directory. |
|||
(add-after 'unpack 'symlink-zlib-into-artifact-directory |
|||
(lambda* (#:key inputs outputs #:allow-other-keys) |
|||
(let ((julia-dir (string-append (assoc-ref outputs "out") |
|||
"/share/julia"))) |
|||
(mkdir-p julia-dir) |
|||
(symlink |
|||
(string-append (assoc-ref inputs "julia-zlib-jll") |
|||
"/share/julia/artifacts") |
|||
(string-append julia-dir "/artifacts"))) |
|||
#t)) |
|||
(add-after 'precompile 'check |
|||
(lambda* (#:key outputs #:allow-other-keys) |
|||
(let* ((out (assoc-ref outputs "out")) |
|||
(builddir (string-append out "/share/julia/"))) |
|||
(setenv "JULIA_LOAD_PATH" |
|||
(string-append builddir "packages/" ":" |
|||
(or (getenv "JULIA_LOAD_PATH") |
|||
""))) |
|||
(setenv "HOME" (getcwd)) |
|||
(invoke "julia" "test/runtests.jl"))))))) |
|||
(native-inputs |
|||
`(("r" ,r-minimal) |
|||
("r-mice" ,r-mice) |
|||
("r-qtl2" ,r-qtl2) |
|||
("r-tictoc" ,r-tictoc) |
|||
("r-tidyverse" ,r-tidyverse))) |
|||
(propagated-inputs |
|||
`(("julia-zipfile" ,julia-zipfile))) |
|||
(home-page "https://github.com/ChelseaTrotter/LMGPU.jl") |
|||
(synopsis "") |
|||
(description "") |
|||
(license license:expat)))) |
|||
|
|||
(define-public julia-lmgpu-myapp |
|||
(package |
|||
(inherit julia-lmgpu) |
|||
(name "julia-lmgpu-myapp") |
|||
(source |
|||
(origin (inherit (package-source julia-lmgpu)) |
|||
(file-name "MyApp"))) |
|||
(arguments |
|||
(substitute-keyword-arguments (package-arguments julia-lmgpu) |
|||
((#:phases phases) |
|||
`(modify-phases ,phases |
|||
(add-after 'unpack 'change-directory |
|||
(lambda _ |
|||
(chdir "bin/MyApp") #t)))))) |
|||
(propagated-inputs |
|||
`(("julia-lmgpu" ,julia-lmgpu) |
|||
,@(package-propagated-inputs julia-lmgpu))) |
|||
(native-inputs |
|||
`(("julia-packagecompiler" ,julia-packagecompiler))))) |
|||
|
|||
(define-public julia-zipfile |
|||
(package |
|||
(name "julia-zipfile") |
|||
(version "0.9.1") |
|||
(source |
|||
(origin |
|||
(method git-fetch) |
|||
(uri (git-reference |
|||
(url "https://github.com/fhs/ZipFile.jl") |
|||
(commit (string-append "v" version)))) |
|||
;(file-name (git-file-name name version)) |
|||
(file-name "ZipFile") |
|||
(sha256 |
|||
(base32 |
|||
"1fpvlhfqg5kgq5vchlf8dyc73r6dzki0dz7plddc3bnr0ld00rlw")))) |
|||
(build-system julia-build-system) |
|||
(arguments |
|||
`(#:phases |
|||
(modify-phases %standard-phases |
|||
;; This is a super ugly hack. Some JULIA environment variable should |
|||
;; be tuned so it can find the artifact directory. |
|||
(add-after 'unpack 'symlink-zlib-into-artifact-directory |
|||
(lambda* (#:key inputs outputs #:allow-other-keys) |
|||
(let ((julia-dir (string-append (assoc-ref outputs "out") |
|||
"/share/julia"))) |
|||
(mkdir-p julia-dir) |
|||
(symlink |
|||
(string-append (assoc-ref inputs "julia-zlib-jll") |
|||
"/share/julia/artifacts") |
|||
(string-append julia-dir "/artifacts"))) |
|||
#t))))) |
|||
(propagated-inputs |
|||
`(("julia-zlib-jll" ,julia-zlib-jll))) |
|||
(home-page "https://github.com/fhs/ZipFile.jl") |
|||
(synopsis "Read/Write ZIP archives in Julia") |
|||
(description "This module provides support for reading and writing ZIP |
|||
archives in Julia.") |
|||
(license license:expat))) |
|||
|
|||
(define-public julia-zlib-jll |
|||
(package |
|||
(name "julia-zlib-jll") |
|||
(version "1.2.11+9") |
|||
(source |
|||
(origin |
|||
(method git-fetch) |
|||
(uri (git-reference |
|||
(url "https://github.com/JuliaBinaryWrappers/Zlib_jll.jl") |
|||
(commit (string-append "Zlib-v" version)))) |
|||
;(file-name (git-file-name name version)) |
|||
(file-name "Zlib_jll") |
|||
(sha256 |
|||
(base32 |
|||
"0m9n8dp4bwhkyjag1szmhz02k0bxzm4ka2ia2jh8crnd1qi8w9dz")))) |
|||
(build-system julia-build-system) |
|||
(arguments |
|||
`(#:phases |
|||
(modify-phases %standard-phases |
|||
(add-after 'unpack 'symlink-zlib-into-artifact-directory |
|||
(lambda* (#:key inputs outputs #:allow-other-keys) |
|||
(let ((artifacts (string-append (assoc-ref outputs "out") |
|||
"/share/julia/artifacts"))) |
|||
(mkdir-p artifacts) |
|||
(symlink |
|||
(assoc-ref inputs "zlib") |
|||
;; from git-tree-sha1 in Artifacts.toml |
|||
(string-append |
|||
artifacts |
|||
,(match (%current-system) |
|||
("x86_64-linux" "/7846a2956a213715c2c76632f3461cef87d9d545") |
|||
("i686-linux" "/c8456cbd00982236828623bbc63f21b9b7b03821") |
|||
("armhf-linux" "/748c38025b5596a5005a87ac2b9476603cf8615b") |
|||
("aarch64-linux" "/3dd0c7cd5424c8746a1a32034ba1b10458f20b3b") |
|||
(_ "/UNSUPPORTED"))))) |
|||
#t))))) |
|||
(native-inputs |
|||
`(("zlib" ,zlib))) |
|||
(home-page "https://github.com/JuliaBinaryWrappers/Zlib_jll.jl") |
|||
(synopsis "Autogenerated package constructed using BinaryBuilder.jl") |
|||
(description "This is an autogenerated package constructed using |
|||
@url{https://github.com/JuliaPackaging/BinaryBuilder.jl, BinaryBuilder.jl}.") |
|||
(license license:expat))) |
|||
|
|||
(define-public julia-packagecompiler |
|||
(package |
|||
(name "julia-packagecompiler") |
|||
(version "1.1.1") |
|||
(source |
|||
(origin |
|||
(method git-fetch) |
|||
(uri (git-reference |
|||
(url "https://github.com/JuliaLang/PackageCompiler.jl") |
|||
(commit (string-append "v" version)))) |
|||
;(file-name (git-file-name name version)) |
|||
(file-name "PackageCompiler") |
|||
(sha256 |
|||
(base32 |
|||
"1s9xc17i308fdpyvkz1w6qb1h7yncdr2jgk1szfvygxd6yzkv1b4")))) |
|||
(build-system julia-build-system) |
|||
(home-page "https://github.com/JuliaLang/PackageCompiler.jl") |
|||
(synopsis "Compile your Julia Package") |
|||
(description "PackageCompiler is a Julia package with two main purposes: |
|||
@itemize |
|||
@item Creating custom sysimages for reduced latency when working locally with |
|||
packages that has a high startup time. |
|||
@item Creating \"apps\" which are a bundle of files including an executable that |
|||
can be sent and run on other machines without Julia being installed on that machine. |
|||
@end itemize") |
|||
(license license:expat))) |
Loading…
Reference in new issue