gnu: Add ldc@1.1.0-beta6.
* gnu/packages/ldc.scm (ldc-1.1.0-beta6, ldc-beta): New variables. * gnu/packages/patches/ldc-1.1.0-disable-dmd-tests.patch: New file. * gnu/packages/patches/ldc-1.1.0-disable-phobos-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Add them. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
b45dbfc990
commit
2429dde57d
|
@ -655,6 +655,8 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/laby-make-install.patch \
|
%D%/packages/patches/laby-make-install.patch \
|
||||||
%D%/packages/patches/lcms-fix-out-of-bounds-read.patch \
|
%D%/packages/patches/lcms-fix-out-of-bounds-read.patch \
|
||||||
%D%/packages/patches/ldc-disable-tests.patch \
|
%D%/packages/patches/ldc-disable-tests.patch \
|
||||||
|
%D%/packages/patches/ldc-1.1.0-disable-dmd-tests.patch \
|
||||||
|
%D%/packages/patches/ldc-1.1.0-disable-phobos-tests.patch \
|
||||||
%D%/packages/patches/liba52-enable-pic.patch \
|
%D%/packages/patches/liba52-enable-pic.patch \
|
||||||
%D%/packages/patches/liba52-link-with-libm.patch \
|
%D%/packages/patches/liba52-link-with-libm.patch \
|
||||||
%D%/packages/patches/liba52-set-soname.patch \
|
%D%/packages/patches/liba52-set-soname.patch \
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015, 2016 Roel Janssen <roel@gnu.org>
|
;;; Copyright © 2015, 2016 Roel Janssen <roel@gnu.org>
|
||||||
;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
|
;;; Copyright © 2015 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||||
|
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -27,6 +28,7 @@
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages base)
|
#:use-module (gnu packages base)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
|
#:use-module (gnu packages gdb)
|
||||||
#:use-module (gnu packages libedit)
|
#:use-module (gnu packages libedit)
|
||||||
#:use-module (gnu packages llvm)
|
#:use-module (gnu packages llvm)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
|
@ -171,3 +173,104 @@ latest DMD frontend and uses LLVM as backend.")
|
||||||
(license (list license:bsd-3
|
(license (list license:bsd-3
|
||||||
license:gpl2+
|
license:gpl2+
|
||||||
license:boost1.0))))
|
license:boost1.0))))
|
||||||
|
|
||||||
|
|
||||||
|
(define-public ldc-1.1.0-beta6
|
||||||
|
;; The phobos, druntime and dmd-testsuite dependencies do not have a newer
|
||||||
|
;; release than 1.1.0-beta4, hence the need to make use of the older-version
|
||||||
|
;; variable to hold this variable.
|
||||||
|
(let ((older-version "1.1.0-beta4"))
|
||||||
|
(package
|
||||||
|
(inherit ldc)
|
||||||
|
(name "ldc")
|
||||||
|
(version "1.1.0-beta6")
|
||||||
|
;; Beta version needed to compile various scientific tools that require
|
||||||
|
;; the newer beta versions, and won't compile successfully with the
|
||||||
|
;; older stable version.
|
||||||
|
(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"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0n53brlkm86jjkppy9xmzx7nyxykzj68kcxgv8q7d10s5hfscxs8"))))
|
||||||
|
(arguments
|
||||||
|
`(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'unpack-submodule-sources
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(let ((unpack (lambda (source target)
|
||||||
|
(with-directory-excursion target
|
||||||
|
(zero? (system* "tar" "xvf"
|
||||||
|
(assoc-ref inputs source)
|
||||||
|
"--strip-components=1"))))))
|
||||||
|
(and (unpack "phobos-src" "runtime/phobos")
|
||||||
|
(unpack "druntime-src" "runtime/druntime")
|
||||||
|
(unpack "dmd-testsuite-src" "tests/d2/dmd-testsuite")))))
|
||||||
|
;; The 'patch-dmd2 step in ldc causes the build to fail since
|
||||||
|
;; dmd2/root/port.c no longer exists. Arguments needed to have
|
||||||
|
;; 'patch-dmd2 step removed, but retain everything else.
|
||||||
|
(add-after 'unpack-submodule-sources 'patch-phobos
|
||||||
|
(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")))
|
||||||
|
(substitute* "tests/d2/dmd-testsuite/Makefile"
|
||||||
|
(("/bin/bash") (which "bash")))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs
|
||||||
|
`(("llvm" ,llvm)
|
||||||
|
("clang" ,clang)
|
||||||
|
("ldc" ,ldc)
|
||||||
|
("python-lit" ,python-lit)
|
||||||
|
("python-wrapper" ,python-wrapper)
|
||||||
|
("unzip" ,unzip)
|
||||||
|
("gdb" ,gdb)
|
||||||
|
("phobos-src"
|
||||||
|
,(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/ldc-developers/phobos/archive/ldc-v"
|
||||||
|
older-version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1iwy5rs0rqkicj1zfsa5yqvk8ard99bfr8g69qmhlbzb98q0kpks"))
|
||||||
|
;; This patch deactivates some tests that depend on network access
|
||||||
|
;; to pass. It also deactivates some tests that have some reliance
|
||||||
|
;; on timezone.
|
||||||
|
;;
|
||||||
|
;; For the network tests, there's an effort to get a version flag
|
||||||
|
;; added to deactivate these tests for distribution packagers
|
||||||
|
;; that is being pursued at
|
||||||
|
;; <https://forum.dlang.org/post/zmdbdgnzrxyvtpqafvyg@forum.dlang.org>.
|
||||||
|
;; It also deactivates a test that requires /root
|
||||||
|
(patches (search-patches "ldc-1.1.0-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"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1qsiw5lz1pr8ms9myjf8b94nqi7f1781k226jvxwnhkjg11d0s63"))))
|
||||||
|
("dmd-testsuite-src"
|
||||||
|
,(origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"https://github.com/ldc-developers/dmd-testsuite/archive/ldc-v"
|
||||||
|
older-version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0jp54hyi75i9g41rvgmm3zg21yzv57q8dghrhb432rb0n9j15mbp"))
|
||||||
|
;; Remove the gdb tests that fails with a "Error: No such file or
|
||||||
|
;; directory" error, despite the files being present in the debug
|
||||||
|
;; files left with the --keep-failed flag to guix build.
|
||||||
|
(patches (search-patches "ldc-1.1.0-disable-dmd-tests.patch")))))))))
|
||||||
|
|
||||||
|
(define-public ldc-beta ldc-1.1.0-beta6)
|
||||||
|
|
Loading…
Reference in New Issue