taylanbayi...@gmail.com (Taylan Ulrich "Bayırlı/Kammer") writes:

> +(define-public soundtouch
> +  (package
> +    (name "soundtouch")
> +    (version "1.8.0")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri
> +        (string-append
> +         "http://www.surina.net/soundtouch/soundtouch-"; version ".tar.gz"))
> +       (sha256
> +        (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("libtool" ,libtool)
> +       ("file" ,file)))
> +    (arguments
> +     '(#:phases
> +       (alist-cons-before
> +        'configure 'bootstrap
> +        (lambda _
> +          (unless (zero? (system* "sh" "bootstrap"))
> +            (error "bootstrap failed"))
> +          (substitute* '("configure")
> +            (("/usr/bin/file") "file")))

I've already fixed this in core-updates, but for the future: these
bootstrap phases should always go after 'unpack' instead of before
'configure'.  The reason is that there are several phases between
'unpack' and 'configure' that need to fix things up in the files
generated by autoconf/autoreconf/autogen/bootstrap.

I see that you did the /usr/bin/file substitution here, but we may add
more phases later and in general it would be better to use that
machinery.

In core-updates 722ec722441a, I fixed as many of these as I could find,
and here's what I did for 'soundtouch':

       (alist-cons-after
        'unpack 'bootstrap
        (lambda _
          (zero? (system* "sh" "bootstrap")))

I confess that this is not yet tested.  We'll see what happens when
Hydra builds all of core-updates.

     Thanks!
       Mark

Reply via email to