gnu: ldc: Don't use unstable tarball.

* gnu/packages/dlang.scm (ldc)[source]: Use GIT-FETCH and
GIT-FILE-NAME.
[native-inputs]: Likewise.
[arguments]: Adjust ‘unpack-submodule-sources’ phase accordingly.
This commit is contained in:
Tobias Geerinckx-Rice 2019-04-08 23:15:22 +02:00
parent d57748e367
commit 36f7fbca13
No known key found for this signature in database
GPG Key ID: 0DB0FF884F556D79
1 changed files with 45 additions and 40 deletions

View File

@ -199,28 +199,33 @@ bootstrapping more recent compilers written in D.")
(inherit ldc-bootstrap)
(name "ldc")
(version "1.10.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/ldc/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/ldc.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"16b1h9kwfggjw6ykc6sfs26ak6vypylsx9wmvp5m6x3cvi6g70yi"))))
(base32 "0qcb2rn01wql7y8qp31blbv3hwmnh3zjgzi2n7k168cxr6rrdhlp"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-submodule-sources
(lambda* (#:key inputs #:allow-other-keys)
(let ((unpack (lambda (source target)
(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"
(assoc-ref inputs source)
"--strip-components=1")))))
(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"))))
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")
#t)))
(add-after 'unpack-submodule-sources 'patch-phobos
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("runtime/phobos/std/process.d"
@ -263,13 +268,13 @@ bootstrapping more recent compilers written in D.")
("gdb" ,gdb)
("phobos-src"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/phobos/archive/ldc-v"
older-version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/phobos.git")
(commit (string-append "ldc-v" older-version))))
(file-name (git-file-name "phobos" older-version))
(sha256
(base32
"0cpmrww00xf1qx38bcc22rr05qw41p00p45yb5fbwnfaccfwdn0s"))
(base32 "1gmlwnjdcf6s5aahadxsif9l5nyaj0rrn379g6fmhcvdk64kf509"))
;; This patch deactivates some tests that depend on network access
;; to pass. It also deactivates some tests that have some reliance
;; on timezone.
@ -282,22 +287,22 @@ bootstrapping more recent compilers written in D.")
(patches (search-patches "ldc-disable-phobos-tests.patch"))))
("druntime-src"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/druntime/archive/ldc-v"
older-version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/druntime.git")
(commit (string-append "ldc-v" older-version))))
(file-name (git-file-name "druntime" older-version))
(sha256
(base32
"1akh2vdi98jih8642yjbvv2vavxzrmq24kz8i3kfidg5ndqyv222"))))
(base32 "0a3yyjcnpvm5fbdczf76fx08kl154w17w06hlxf0j3p1p4jc85aj"))))
("dmd-testsuite-src"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
older-version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/ldc-developers/dmd-testsuite.git")
(commit (string-append "ldc-v" older-version))))
(file-name (git-file-name "dmd-testsuite" older-version))
(sha256
(base32
"0z5x07qrbkpksshaymp11ir6jlmg9wjicxn6zhp8cya6i1ha9p99")))))))))
(base32 "0mm3rliki1nqiqfaha7ssvm156aa398vpvf4v6895m7nn1mz7rss")))))))))
(define-public dub
(package