unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Federico Beffa <beffa@ieee.org>
Cc: Guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH 3/3] gnu: Add ghc.
Date: Tue, 03 Mar 2015 13:24:34 +0100	[thread overview]
Message-ID: <87r3t6nu9p.fsf@gnu.org> (raw)
In-Reply-To: <CAKrPhPOMn2eggP670Ev06D2nHk0yrkEhB5AnQYh3g=sWPRsVqw@mail.gmail.com> (Federico Beffa's message of "Mon, 2 Mar 2015 12:09:18 +0100")

Federico Beffa <beffa@ieee.org> skribis:

> ludo@gnu.org (Ludovic Courtès) writes:
>
>>> +            (substitute* (list "testsuite/timeout/Makefile"
>>> +                               "testsuite/timeout/timeout.py"
>>> +                               "testsuite/timeout/timeout.hs"
>>> +                               "testsuite/tests/rename/prog006/Setup.lhs"
>>> + "testsuite/tests/programs/life_space_leak/life.test")
>>> +              (("/bin/sh") (which "sh"))
>>> +              (("/bin/rm") "rm"))
>>
>> Perhaps (find-files "testsuite" ".*") would be enough?
>
> Somehow find-files appears to have problems with a file. This happens
> even if I install the en_US.UTF-8 locale:

[...]

>    ?: 1 [regexp-exec #<regexp 1b66100> "hello\x00 world\n" 0 0]
> In ice-9/boot-9.scm:
>  106: 0 [#<procedure 1f2ae40 at ice-9/boot-9.scm:97:6 (thrown-k .
> args)> misc-error ...]
>
> ice-9/boot-9.scm:106:20: In procedure #<procedure 1f2ae40 at
> ice-9/boot-9.scm:97:6 (thrown-k . args)>:
> ice-9/boot-9.scm:106:20: string contains #\nul character: "hello\x00 world\n"

Right, that’s because ‘regexp-exec’ uses libc’s regexp functions, for
which the nul character marks the end of the string.

This file presumably cannot be patched with ‘substitute*’.  Is it a problem?

>> This phase installs bootstrap binaries to $out/bin and adds them to
>> $PATH, right?  Wouldn’t it be enough to install them to $TMPDIR/bin and
>> add that to $PATH?
>
> That is what is happening :-).

OK, sorry for the confusion.

>>> +            (lambda* (#:key inputs outputs #:allow-other-keys)
>>> +              (let* ((binaries
>>> +                      (list
>>> +                       "./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
>>> +                       "./utils/hpc/dist-install/build/tmp/hpc"
>>> +                       "./utils/haddock/dist/build/tmp/haddock"
>>> +                       "./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
>>> +                       "./utils/runghc/dist-install/build/tmp/runghc"
>>> +                       "./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
>>> +                       "./utils/hp2ps/dist/build/tmp/hp2ps"
>>> +                       "./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
>>> +                       "./utils/unlit/dist/build/tmp/unlit"
>>> +                       "./ghc/stage2/build/tmp/ghc-stage2"))
>>
>> Could we just list base names and do
>>
>>   (append-map (lambda (program)
>>                 (find-files "." (string-append "^" program "$")))
>>               '("ghc-pwd" "hpc" ...))
>
> Here I'm puzzled. If I test the command that you suggest by displaying
> the generated list (during the phase execution), I see that it produces
> the same list as the original one (at least as displayed on screen).
>
> In spite of this, differently than with the explicit list, the phase
> fails because somehow the listed files do not get patched by
>
>                   (for-each
>                    (cut system* "patchelf" "--set-interpreter" ld-so <>)
>                    binaries)
>
> Unless you understand what's happening, I would propose for now to
> keep the explicit lists.

Weird, but OK then.

Thanks,
Ludo’.

  reply	other threads:[~2015-03-03 12:24 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-26 19:54 [PATCH 3/3] gnu: Add ghc Federico Beffa
2015-03-01 12:44 ` Federico Beffa
2015-03-01 14:55   ` Ludovic Courtès
2015-03-02  6:29   ` Mark H Weaver
2015-03-02 11:09     ` Federico Beffa
2015-03-03 12:24       ` Ludovic Courtès [this message]
2015-03-05  8:26         ` Federico Beffa
2015-03-08 21:36           ` Ludovic Courtès
2015-03-21 23:21           ` Mark H Weaver
  -- strict thread matches above, loose matches on Subject: below --
2015-03-22 20:31 Federico Beffa
2015-03-25 21:20 ` Ludovic Courtès
2015-03-28 19:15   ` Federico Beffa
2015-03-31 19:31     ` Mark H Weaver

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r3t6nu9p.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=beffa@ieee.org \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).