guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v8] gnu: Update ldc to 0.17.1.


From: Efraim Flashner
Subject: Re: [PATCH v8] gnu: Update ldc to 0.17.1.
Date: Wed, 14 Sep 2016 16:25:38 +0300
User-agent: Mutt/1.7.0 (2016-08-17)

On Tue, Sep 13, 2016 at 10:01:39PM +0200, Danny Milosavljevic wrote:
> gnu: Update ldc to 0.17.1.
> 
> * gnu/packages/ldc.scm (ldc): Changed.
> * gnu/packages/patches/ldc-0.17.1-disable-tests.patch: New patch.
> ---
>  gnu/packages/ldc.scm                               | 25 ++++---
>  .../patches/ldc-0.17.1-disable-tests.patch         | 86 
> ++++++++++++++++++++++
>  2 files changed, 101 insertions(+), 10 deletions(-)
>  create mode 100644 gnu/packages/patches/ldc-0.17.1-disable-tests.patch
> 

> diff --git a/gnu/packages/ldc.scm b/gnu/packages/ldc.scm
> index 560fa49..88f3443 100644
> --- a/gnu/packages/ldc.scm
> +++ b/gnu/packages/ldc.scm
> @@ -29,6 +29,7 @@
>    #:use-module (gnu packages compression)
>    #:use-module (gnu packages libedit)
>    #:use-module (gnu packages llvm)
> +  #:use-module (gnu packages python)
>    #:use-module (gnu packages textutils)
>    #:use-module (gnu packages zip))
>  
> @@ -76,7 +77,7 @@ and freshness without requiring additional information from 
> the user.")
>  (define-public ldc
>    (package
>      (name "ldc")
> -    (version "0.16.1")
> +    (version "0.17.1")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append
> @@ -85,10 +86,9 @@ and freshness without requiring additional information 
> from the user.")
>                (file-name (string-append name "-" version ".tar.gz"))
>                (sha256
>                 (base32
> -                "1jvilxx0rpqmkbja4m69fhd5g09697xq7vyqp2hz4hvxmmmv4j40"))))
> +                "0rwggnbr60jbajfdw11kx058llmwljiss8rrv8df07vaygiv845i"))))
>      (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
> @@ -105,10 +105,13 @@ and freshness without requiring additional information 
> from the user.")
>           (add-after 'unpack-submodule-sources 'patch-dmd2
>             (lambda* (#:key inputs #:allow-other-keys)
>               (substitute* "dmd2/root/port.c"
> +               (("#include <math.h>") "#include <cmath>")
>                 ((" ::isnan") " isnan")
>                 ((" ::isinf") " isinf")
> -               (("#undef isnan") "")
> -               (("#undef isinf") ""))
> +               (("#undef isnan") "#undef isnan
> +using namespace std;")
> +               (("#undef isinf") "#undef isinf
> +using namespace std;"))
>               #t))
>           (add-after 'unpack-submodule-sources 'patch-phobos
>             (lambda* (#:key inputs #:allow-other-keys)
> @@ -130,6 +133,8 @@ and freshness without requiring additional information 
> from the user.")
>       `(("llvm" ,llvm-3.7)
>         ("clang" ,clang-3.7)
>         ("unzip" ,unzip)
> +       ("python-wrapper" ,python-wrapper) ; Needed for running tests
> +       ("python-lit" ,python-lit) ; Needed for running tests
>         ("phobos-src"
>          ,(origin
>             (method url-fetch)
> @@ -138,8 +143,8 @@ and freshness without requiring additional information 
> from the user.")
>                   version ".tar.gz"))
>             (sha256
>              (base32
> -             "0sgdj0536c4nb118yiw1f8lqy5d3g3lpg9l99l165lk9xy45l9z4"))
> -           (patches (search-patches "ldc-disable-tests.patch"))))
> +             "17nb1yvqblqj3q42c8nlnwvy823fw6kna28n2b48j4m6kd2w0nan"))
> +           (patches (search-patches "ldc-0.17.1-disable-tests.patch"))))
>         ("druntime-src"
>          ,(origin
>             (method url-fetch)
> @@ -148,7 +153,7 @@ and freshness without requiring additional information 
> from the user.")
>                   version ".tar.gz"))
>             (sha256
>              (base32
> -             "0z4mkyddx6c4sy1vqgqvavz55083dsxws681qkh93jh1rpby9yg6"))))
> +             "129j7mfd0vnzaw7i6hr5waxm5cb0qcm8gyawy2xy5avlv8hrw5m4"))))
>         ("dmd-testsuite-src"
>          ,(origin
>             (method url-fetch)
> @@ -157,7 +162,7 @@ and freshness without requiring additional information 
> from the user.")
>                   version ".tar.gz"))
>             (sha256
>              (base32
> -             "0yc6miidzgl9k33ygk7xcppmfd6kivqj02cvv4fmkbs3qz4yy3z1"))))))
> +             "18h16lwwmr3k9dh7mcip17il72mz680wnygv9d0mdnivczn80zyv"))))))
>      (home-page "http://wiki.dlang.org/LDC";)
>      (synopsis "LLVM compiler for the D programming language")
>      (description
> diff --git a/gnu/packages/patches/ldc-0.17.1-disable-tests.patch 
> b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
> new file mode 100644
> index 0000000..b213894
> --- /dev/null
> +++ b/gnu/packages/patches/ldc-0.17.1-disable-tests.patch
> @@ -0,0 +1,86 @@
> +Adapted from "ldc-disable-tests.patch" from Guix.
> +diff -ru a/std/datetime.d b/std/datetime.d
> +--- a/std/datetime.d 2016-08-02 23:56:13.969292202 +0200
> ++++ b/std/datetime.d 2016-08-02 23:57:39.078408313 +0200
> +@@ -28080,9 +28080,6 @@
> +         import std.algorithm : sort;
> +         import std.range : retro;
> +         import std.format : format;
> +-
> +-        name = strip(name);
> +-
> +         enforce(tzDatabaseDir.exists(), new 
> DateTimeException(format("Directory %s does not exist.", tzDatabaseDir)));
> +         enforce(tzDatabaseDir.isDir, new DateTimeException(format("%s is 
> not a directory.", tzDatabaseDir)));
> + 
> +@@ -28094,7 +28091,10 @@
> +             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.isFile, new DateTimeException(format("%s is not a 
> file.", file)));
> +diff -ru a/std/path.d b/std/path.d
> +--- a/std/path.d     2016-08-02 23:56:03.781158908 +0200
> ++++ b/std/path.d     2016-08-02 23:54:06.111624406 +0200
> +@@ -3724,8 +3724,8 @@
> +         }
> +         else
> +         {
> +-            assert(expandTilde("~root") == "/root", expandTilde("~root"));
> +-            assert(expandTilde("~root/") == "/root/", 
> expandTilde("~root/"));
> ++            //assert(expandTilde("~root") == "/root", expandTilde("~root"));
> ++            //assert(expandTilde("~root/") == "/root/", 
> expandTilde("~root/"));
> +         }
> +         assert(expandTilde("~Idontexist/hey") == "~Idontexist/hey");
> +     }
> +diff -ru a/std/socket.d b/std/socket.d
> +--- a/std/socket.d   2016-08-02 23:56:22.881408857 +0200
> ++++ b/std/socket.d   2016-08-03 10:09:44.761019447 +0200
> +@@ -501,18 +501,19 @@
> + version(CRuntime_Bionic) {} else
> + unittest
> + {
> +-    softUnittest({
> ++    pragma(msg, "test disabled on GNU Guix");
> ++    //softUnittest({
> +         Protocol proto = new Protocol;
> +-        assert(proto.getProtocolByType(ProtocolType.TCP));
> ++        //assert(proto.getProtocolByType(ProtocolType.TCP));
> +         //writeln("About protocol TCP:");
> +         //writefln("\tName: %s", proto.name);
> +         // foreach(string s; proto.aliases)
> +         // {
> +         //      writefln("\tAlias: %s", s);
> +         // }
> +-        assert(proto.name == "tcp");
> +-        assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
> +-    });
> ++        //assert(proto.name == "tcp");
> ++        //assert(proto.aliases.length == 1 && proto.aliases[0] == "TCP");
> ++    //});
> + }
> + 
> + 
> +@@ -842,6 +843,8 @@
> + 
> + unittest
> + {
> ++    pragma(msg, "test disabled on GNU Guix");
> ++    /*
> +     InternetHost ih = new InternetHost;
> + 
> +     ih.getHostByAddr(0x7F_00_00_01);
> +@@ -872,6 +875,7 @@
> +         //      writefln("aliases[%d] = %s", i, s);
> +         // }
> +     });
> ++    */
> + }
> + 
> + 
> +Only in b/std: socket.d.orig

With this patch I got:

The following tests FAILED:
238 - std.datetime (Failed)
296 - std.regex.internal.tests (Failed)
568 - std.datetime-debug (Failed)
626 - std.regex.internal.tests-debug (Failed)
670 - dmd-testsuite-debug (Failed)

-- 
Efraim Flashner   <address@hidden>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Attachment: signature.asc
Description: PGP signature


reply via email to

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