guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: Add address@hidden


From: Ludovic Courtès
Subject: 01/01: gnu: Add address@hidden
Date: Sat, 28 Jan 2017 00:27:27 +0000 (UTC)

civodul pushed a commit to branch master
in repository guix.

commit 2429dde57d8461cc8e51dbe6c9d47d795fe6fc9a
Author: Muriithi Frederick Muriuki <address@hidden>
Date:   Fri Jan 6 17:51:18 2017 +0300

    gnu: Add address@hidden
    
    * 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 <address@hidden>
---
 gnu/local.mk         |    2 +
 gnu/packages/ldc.scm |  103 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 105 insertions(+)

diff --git a/gnu/local.mk b/gnu/local.mk
index 59fc1a8..6450da1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -655,6 +655,8 @@ dist_patch_DATA =                                           
\
   %D%/packages/patches/laby-make-install.patch                 \
   %D%/packages/patches/lcms-fix-out-of-bounds-read.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-link-with-libm.patch             \
   %D%/packages/patches/liba52-set-soname.patch                 \
diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
index 6ea7f66..a1bdc58 100644
--- a/gnu/packages/ldc.scm
+++ b/gnu/packages/ldc.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Roel Janssen <address@hidden>
 ;;; Copyright © 2015 Pjotr Prins <address@hidden>
+;;; Copyright © 2017 Frederick Muriithi <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -27,6 +28,7 @@
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages gdb)
   #:use-module (gnu packages libedit)
   #:use-module (gnu packages llvm)
   #:use-module (gnu packages python)
@@ -171,3 +173,104 @@ latest DMD frontend and uses LLVM as backend.")
     (license (list license:bsd-3
                    license:gpl2+
                    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/address@hidden>.
+             ;; 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]