aboutsummaryrefslogtreecommitdiff
path: root/gn/packages/dlang.scm
diff options
context:
space:
mode:
authorArun Isaac2022-08-19 14:34:32 +0530
committerArun Isaac2022-08-19 14:34:32 +0530
commit0783393d436d17f09533e4006959bc7da25a9ee9 (patch)
treea9fc74b41d16cb7798ebc34241afc27e232e5c69 /gn/packages/dlang.scm
parentdc174c8cd34b9c51e50901c582b45c16aeeaca04 (diff)
downloadguix-bioinformatics-0783393d436d17f09533e4006959bc7da25a9ee9.tar.gz
Add ldc-bootstrap-0.17 that was deleted in upstream Guix.
* gn/packages/dlang.scm (ldc-bootstrap-0.17): New variable. (ldc): Use ldc-bootstrap-0.17 from current module instead of from upstream Guix.
Diffstat (limited to 'gn/packages/dlang.scm')
-rw-r--r--gn/packages/dlang.scm101
1 files changed, 99 insertions, 2 deletions
diff --git a/gn/packages/dlang.scm b/gn/packages/dlang.scm
index bbb35e2..5cab985 100644
--- a/gn/packages/dlang.scm
+++ b/gn/packages/dlang.scm
@@ -49,13 +49,110 @@ The following tests FAILED:
Errors while running CTest
!#
+(define ldc-bootstrap-0.17
+ (package
+ (name "ldc")
+ (version "0.17.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ldc-developers/ldc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1q6hm4fkrcwys83x0p4kfg9xrc1b9g2qicqif2zy5z4nsfsb5vgs"))))
+ (build-system cmake-build-system)
+ (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
+ (properties
+ ;; Some of the tests take a very long time on ARMv7. See
+ ;; <https://lists.gnu.org/archive/html/guix-devel/2018-02/msg00312.html>.
+ `((max-silent-time . ,(* 3600 3))))
+ (arguments
+ `(#:tests? #f ;requires obsolete python-lit test dependency
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'unpack-submodule-sources
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((unpack (lambda (input target)
+ (let ((source (assoc-ref inputs input)))
+ ;; Git checkouts are directories as long as
+ ;; there are no patches; tarballs otherwise.
+ (if (file-is-directory? source)
+ (copy-recursively source target)
+ (with-directory-excursion target
+ (invoke "tar" "xvf" source
+ "--strip-components=1")))))))
+ (unpack "phobos-src" "runtime/phobos")
+ (unpack "druntime-src" "runtime/druntime")
+ (unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite"))))
+ (add-after 'unpack-submodule-sources 'patch-paths
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "runtime/phobos/std/process.d"
+ (("/bin/sh") (which "sh"))
+ (("echo") (which "echo")))
+ (substitute* "runtime/phobos/std/datetime.d"
+ (("/usr/share/zoneinfo/")
+ (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))
+ (("tzName == \"[+]VERSION\"")
+ "(tzName == \"+VERSION\" || \
+std.algorithm.endsWith(tzName, \"/leapseconds\"))")))))))
+ (inputs
+ `(("libconfig" ,libconfig)
+ ("libedit" ,libedit)
+ ("tzdata" ,tzdata)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("llvm" ,llvm-6)
+ ("python-wrapper" ,python-wrapper)
+ ("unzip" ,unzip)
+ ("phobos-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ldc-developers/phobos")
+ (commit (string-append "ldc-v" version))))
+ (file-name (git-file-name "phobos" version))
+ (sha256
+ (base32 "15jzs38wanks2jfp2izzl7zqrp4c8ai54ppsgm8ws86p3sbbkmj8"))))
+ ("druntime-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ldc-developers/druntime")
+ (commit (string-append "ldc-v" version))))
+ (file-name (git-file-name "druntime" version))
+ (sha256
+ (base32 "00wr2kiggwnd8h7by51fhj1xc65hv1ysip5gbgdbkfar58p2d0bb"))))
+ ("dmd-testsuite-src"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ldc-developers/dmd-testsuite")
+ (commit (string-append "ldc-v" version))))
+ (file-name (git-file-name "dmd-testsuite" version))
+ (sha256
+ (base32 "1d1c0979wbippldrkjf7szyj4n87hxz8dwqg1r5b3aai37g9kcky"))))))
+ (home-page "http://wiki.dlang.org/LDC")
+ (synopsis "LLVM-based compiler for the D programming language")
+ (description
+ "LDC is an LLVM compiler for the D programming language. It is based on
+the latest DMD compiler that was written in C and is used for
+bootstrapping more recent compilers written in D.")
+ ;; Most of the code is released under BSD-3, except for code originally
+ ;; written for GDC, which is released under GPLv2+, and the DMD frontend,
+ ;; which is released under the "Boost Software License version 1.0".
+ (license (list license:bsd-3
+ license:gpl2+
+ license:boost1.0))))
+
(define-public ldc
;; Phobos, druntime and dmd-testsuite library dependencies do
;; not always have a newer release than the compiler, hence we
;; retain this variable.
(let ((older-version "1.26.0")) ;; retain this because sometimes the libs are older
(package
- (inherit (@@ (gnu packages dlang) ldc-bootstrap-0.17))
+ (inherit ldc-bootstrap-0.17)
(name "ldc")
(version "1.26.0")
(source
@@ -122,7 +219,7 @@ Errors while running CTest
(native-inputs
`(("llvm" ,llvm)
("clang" ,clang)
- ("ldc" ,(@@ (gnu packages dlang) ldc-bootstrap-0.17))
+ ("ldc" ,ldc-bootstrap-0.17)
("python-lit" ,python-lit)
("python-wrapper" ,python-wrapper)
("unzip" ,unzip)