Subject: Re: [bug#41574] gnu: Add intel-xev.

From: Marius Bakke <[email-masked]>
Date: Mon, 22 Jun 2020 22:49:38 +0200

elaexuotee--- via Guix-patches via <[email-masked]> writes:

> This patch makes two main changes:
>
> 1) Fixes upstream's source of non-determinism!
> 2) Renames packages from `xed` to `intel-xed`,
>
> along with a few other minor improvements.
>
> From 4e0d690a702fbfc983cf2d981d4f07f1eb79ede3 Mon Sep 17 00:00:00 2001
> From: "B. Wilson" <[email-masked]>
> Date: Thu, 28 May 2020 07:32:28 +0900
> Subject: [PATCH] gnu: Add intel-xed.
> To: [email-masked]
>
> * gnu/packages/assembly.scm (intel-xed): New variable.
> ---
>  gnu/local.mk                                  |   1 +
>  gnu/packages/assembly.scm                     | 105 +++++++++++++++++-
>  .../intel-xed-fix-nondeterminism.patch        | 100 +++++++++++++++++
>  3 files changed, 202 insertions(+), 4 deletions(-)
>  create mode 100644 gnu/packages/patches/intel-xed-fix-nondeterminism.patch

[...]

> @@ -149,14 +151,14 @@ to the clients.")
>  (define-public fasm
>    (package
>      (name "fasm")
> -    (version "1.73.24")
> +    (version "1.73.22")
>      (source
>       (origin
>         (method url-fetch)
>         (uri (string-append "https://flatassembler.net/fasm-"
>                             version ".tgz"))
>         (sha256
> -        (base32 "142vxhs8mh8isvlzq7ir0asmqda410phzxmk9gk9b43dldskkj7k"))))
> +        (base32 "1pb0rcfdsb0h89khjjrbikz5wjdllavj3ajim0rcyh7x12xr1hw5"))))
>      (build-system gnu-build-system)
>      (arguments
>       `(#:tests? #f                      ; no tests exist
> @@ -347,14 +349,14 @@ Supported architectures are:
>  (define-public xa
>    (package
>      (name "xa")
> -    (version "2.3.11")
> +    (version "2.3.10")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "https://www.floodgap.com/retrotech/xa"
>                                    "/dists/xa-" version ".tar.gz"))
>                (sha256
>                 (base32
> -                "0b81r7mvzqxgnbbmhixcnrf9nc72v1nqaw19k67221g3k561dwij"))))
> +                "0y5sd247g11jfk5msxy91hz2nhpy7smj125dzfyfhjsjnqk5nyw6"))))

Were these two downgrades intended?  I'm assuming no, since the new
package don't appear to use them.

[...]

> +(define-public intel-xed
> +  (package
> +    (name "intel-xed")
> +    (version "11.2.0")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/intelxed/xed.git")
> +             (commit "40125558530137444b4ee6fd26b445bfa105b543")))
> +       (sha256 (base32 "1jffayski2gpd54vaska7fmiwnnia8v3cka4nfyzjgl8xsky9v2s"))
> +       (file-name (git-file-name name version))
> +       (patches (search-patches "intel-xed-fix-nondeterminism.patch"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("python-2" ,python-2)
> +       ("python-3" ,python-3)

Does it work to use 'python-wrapper' instead of providing both Python 2
and Python 3 here?

> +    (outputs '("out" "lib" "src"))

Is the src output used for other things than documentation?  If not, I
think we can drop it and let users do 'guix build --source intel-xed'
instead.  The description should be modified accordingly.

Apart from this the package LGTM.  Probably it should have:

  (supported-systems '("x86_64-linux" "i686-linux"))

too?

[...]

> diff --git a/gnu/packages/patches/intel-xed-fix-nondeterminism.patch b/gnu/packages/patches/intel-xed-fix-nondeterminism.patch
> new file mode 100644
> index 0000000000..657f7e979d
> --- /dev/null
> +++ b/gnu/packages/patches/intel-xed-fix-nondeterminism.patch
> @@ -0,0 +1,100 @@
> +diff --git a/pysrc/ild_codegen.py b/pysrc/ild_codegen.py

Can you add a short description at the top of the patch file explaining
what it does any why?

Can you send an updated patch?  Thanks!