Subject: Re: [bug#31346] [PATCH] gnu: gnuzilla: Add mozjs-52.

From: [email-masked] (Ludovic Courtès)
Date: Sat, 05 May 2018 22:26:12 +0200

Hello Roel,

Roel Janssen <[email-masked]> skribis:

>>>From ce8b4e85b03ed76fb671a4d554f966b7eac00b8d Mon Sep 17 00:00:00 2001
> From: Roel Janssen <[email-masked]>
> Date: Wed, 2 May 2018 22:11:34 +0200
> Subject: [PATCH] gnu: gnuzilla: Add mozjs-52.
>
> * gnu/packages/gnuzilla.scm (mozjs-52): New variable.

[...]

> +(define-public mozjs-52
> +  (package
> +    (inherit mozjs)
> +    (name "mozjs")

You can omit ‘name’.

Also, would it be simpler to inherit from ‘mozjs-38’?

> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://queue.taskcluster.net/v1/task/"
> +                    "YqG2fjJJSTGzGX090FjDYg/runs/0/artifacts/"
> +                    "public/build/mozjs-" version ".tar.bz2"))

Could we use ftp.mozilla.org instead?

> +    (arguments
> +     `(#:tests? #f ; Needs Mercurial or Git repository to be avalable.
> +       #:phases
> +       (modify-phases %standard-phases
> +         (replace 'configure
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let ((out (assoc-ref outputs "out")))
> +               (chdir "js/src")
> +               (setenv "SHELL" (which "sh"))
> +               (setenv "CONFIG_SHELL" (which "sh"))
> +               (setenv "AUTOCONF" (string-append
> +                                   (assoc-ref inputs "autoconf")
> +                                   "/bin/autoreconf"))
> +               (zero? (system* "./configure"
> +                               (string-append "--prefix=" out)
> +                               "--enable-ctypes"
> +                               "--enable-optimize"
> +                               "--enable-pie"
> +                               "--enable-readline"
> +                               "--enable-shared-js"
> +                               "--enable-system-ffi"
> +                               "--with-system-icu"
> +                               "--with-system-nspr"
> +                               "--with-system-zlib"
> +
> +                               ;; Intl API requires bundled ICU.
> +                               "--without-intl-api"))))))))

This seems to be (almost) the same as for ‘mozjs-38’.  Perhaps with
‘inherit’ we don’t need to duplicate all this?

Could you look into this?

Thank you!

Ludo’.