~ruther/guix-local

e44b511298590ecc87c2c85d1cbc043a638dd1e0 — Danny Milosavljevic 9 years ago bc1ad4e
gnu: ldc: Update to 0.17.2.

* gnu/packages/ldc.scm (ldc): Update to 0.17.2.
* gnu/packages/patches/ldc-disable-tests.patch: Fix timezone file name.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2 files changed, 27 insertions(+), 42 deletions(-)

M gnu/packages/ldc.scm
M gnu/packages/patches/ldc-disable-tests.patch
M gnu/packages/ldc.scm => gnu/packages/ldc.scm +10 -9
@@ 76,7 76,7 @@ and freshness without requiring additional information from the user.")
(define-public ldc
  (package
    (name "ldc")
    (version "0.16.1")
    (version "0.17.2")
    (source (origin
              (method url-fetch)
              (uri (string-append


@@ 85,10 85,9 @@ and freshness without requiring additional information from the user.")
              (file-name (string-append name "-" version ".tar.gz"))
              (sha256
               (base32
                "1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"))))
                "0iksl6cvhsiwnlh15b7s9v8f3grxk27jn0vja9n4sad7fvfwmmlc"))))
    (build-system cmake-build-system)
    ;; LDC currently only supports the x86_64 and i686 architectures.
    (supported-systems '("x86_64-linux" "i686-linux"))
    (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
    (arguments
     `(#:phases
       (modify-phases %standard-phases


@@ 127,8 126,10 @@ and freshness without requiring additional information from the user.")
       ("tzdata" ,tzdata)
       ("zlib" ,zlib)))
    (native-inputs
     `(("llvm" ,llvm-3.7)
       ("clang" ,clang-3.7)
     `(("llvm" ,llvm)
       ("clang" ,clang)
       ("python-lit" ,python-lit)
       ("python-wrapper" ,python-wrapper)
       ("unzip" ,unzip)
       ("phobos-src"
        ,(origin


@@ 138,7 139,7 @@ and freshness without requiring additional information from the user.")
                 version ".tar.gz"))
           (sha256
            (base32
             "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
             "07hh3ic3r755mq9hn9gfr0wlc5y8cr91xz2ydb6gqy4zy8jgp5s9"))
           (patches (search-patches "ldc-disable-tests.patch"))))
       ("druntime-src"
        ,(origin


@@ 148,7 149,7 @@ and freshness without requiring additional information from the user.")
                 version ".tar.gz"))
           (sha256
            (base32
             "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"))))
             "1m1dhday9dl3s04njmd29z7ism2xn2ksb9qlrwzykdgz27b3dk6x"))))
       ("dmd-testsuite-src"
        ,(origin
           (method url-fetch)


@@ 157,7 158,7 @@ and freshness without requiring additional information from the user.")
                 version ".tar.gz"))
           (sha256
            (base32
             "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))))))
             "0n7gvalxwfmia4gag53r9qhcnk2cqrw3n4icj1yri0zkgc27pm60"))))))
    (home-page "http://wiki.dlang.org/LDC")
    (synopsis "LLVM compiler for the D programming language")
    (description

M gnu/packages/patches/ldc-disable-tests.patch => gnu/packages/patches/ldc-disable-tests.patch +17 -33
@@ 4,19 4,9 @@ two others use networking.  Not bad out of almost 700 tests!

by Pjotr Prins <pjotr.guix@thebird.nl>

diff --git a/std/datetime.d b/std/datetime.d
index 8e4ed3b..6c15bc5 100644
--- a/std/datetime.d
+++ b/std/datetime.d
@@ -28018,6 +28018,7 @@ public:
             The default directory where the TZ Database files are. It's empty
             for Windows, since Windows doesn't have them.
           +/
+          
         enum defaultTZDatabaseDir = "/usr/share/zoneinfo/";
     }
     else version(Windows)
@@ -28069,14 +28070,13 @@ assert(tz.dstName == "PDT");
--- a/std/datetime.d.orig	2016-11-24 01:13:52.584495545 +0100
+++ b/std/datetime.d	2016-11-24 01:17:09.655306728 +0100
@@ -28081,22 +28081,24 @@
         import std.range : retro;
         import std.format : format;
 


@@ 25,9 15,20 @@ index 8e4ed3b..6c15bc5 100644
         enforce(tzDatabaseDir.exists(), new DateTimeException(format("Directory %s does not exist.", tzDatabaseDir)));
         enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is not a directory.", tzDatabaseDir)));
 
-        immutable file = buildNormalizedPath(tzDatabaseDir, name);
+        auto filename = "./" ~ strip(name); // make sure the prefix is not stripped
+        immutable file = buildNormalizedPath(tzDatabaseDir, filename);
         version(Android)
         {
+            name = strip(name);
             auto tzfileOffset = name in tzdataIndex(tzDatabaseDir);
             enforce(tzfileOffset, new DateTimeException(format("The time zone %s is not listed.", name)));
             string tzFilename = separate_index ? "zoneinfo.dat" : "tzdata";
             immutable file = buildNormalizedPath(tzDatabaseDir, tzFilename);
         }
         else
-            immutable file = buildNormalizedPath(tzDatabaseDir, name);
+        {
+            auto filename = "./" ~ strip(name); // make sure the prefix is not stripped
+            immutable file = buildNormalizedPath(tzDatabaseDir, filename);
+        }
 
-        enforce(file.exists(), new DateTimeException(format("File %s does not exist.", file)));
+        enforce(file.exists(), new DateTimeException(format("File %s does not exist in %s.", file, tzDatabaseDir)));


@@ 54,23 55,6 @@ diff --git a/std/socket.d b/std/socket.d
index b85d1c9..7fbf346 100644
--- a/std/socket.d
+++ b/std/socket.d
@@ -517,6 +517,8 @@ class Protocol
 
 unittest
 {
+    pragma(msg, "test disabled on GNU Guix");
+/*
     // getprotobyname,number are unimplemented on Android
     softUnittest({
         Protocol proto = new Protocol;
@@ -530,6 +532,7 @@ unittest
         assert(proto.name == "tcp");
         assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
     });
+*/
 }
 
 
@@ -859,6 +862,8 @@ class InternetHost
 
 unittest