all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: [PATCH]: Add IcedTea 6
Date: Wed, 28 Jan 2015 17:13:44 +0100	[thread overview]
Message-ID: <8761bqq3wn.fsf@gnu.org> (raw)
In-Reply-To: <idjtwza7vq3.fsf@bimsb-sys02.mdc-berlin.net> (Ricardo Wurmus's message of "Wed, 28 Jan 2015 16:47:48 +0100")

Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> skribis:

> Ludovic Courtès writes:

[...]

>>> +           (substitute* "Makefile.in"
>>> +             ;; link against libgcj to avoid linker error
>>> +             (("-o native-ecj")
>>> +              "-lgcj -o native-ecj")
>>> +             ;; do not leak information about the build host
>>> +             (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
>>> +              "DISTRIBUTION_ID=\"\\\"guix\\\"\""))
>>
>> This could go to ‘snippet’ because it’s independent of the inputs used
>> for the build, but do whatever seems most appropriate to you in terms of
>> structure.
>
> I made this a snippet.  Other things that would be good as snippets
> (such as the patch to remove the timestamps) can only be done after the
> build has started, because IcedTea patches the unpacked sources quite a
> bit.

OK.

[...]

> I tried this but ran into a couple of problems.  Not all instances of
> /bin are bad.  There are many places in the tests where /bin follows a
> variable (and these are totally fine).  I also don't want to patch
> shebangs twice.  The character class would have to be picked carefully
> as well, because commands are sometimes quoted or inside braces etc.
>
> Here's what I used before I gave up ([^[:space:]] instead of
> [[:graphic:]] because the latter does not seem to exist and because it
> would catch all sorts of unwanted characters if it did):
>
>  (substitute* (find-files "." "\\.(sh|java)$")
>    (("[^!](/usr)?/bin/([^[:space:]]+)" _ _ command)
>     (or (which command) command)))

OK.  Well, let’s keep it the way you initially wrote it.

>>> +            (alist-replace
>>> +             'check
>>> +             (lambda _
>>> +               (and (zero? (system* "make" "check-hotspot"))
>>> +                    (zero? (system* "make" "check-langtools"))
>>> +                    (zero? (system* "make" "check-jdk"))))
>>
>> Maybe add a comment that the check- targets always return zero?
>
> I rewrote this to instead check the generated test logs in test/ for
> lines starting with "Error:" or "FAILED:".  To disable tests I wrapped
> it in an (or #t ...) as the argument #:tests? #f does not disable a
> custom check phase.
>
>              'check
>              (lambda _
>                ;; The "make check-*" targets always return zero, so we need to
>                ;; check for errors in the associated log files to determine
>                ;; whether any tests have failed.
>                (use-modules (ice-9 rdelim))
>                (let* ((error-pattern (make-regexp "^(Error|FAILED):.*"))
>                       (checker (lambda (port)
>                                  (let loop ((_ #t))

You can make it (let loop () ... (loop)).

>                                   (let ((line (read-line port)))
>                                     (cond
>                                      ((eof-object? line) #t)
>                                      ((regexp-exec error-pattern line) #f)
>                                      (else (loop #t)))))))
>                       (run-test (lambda (test)
>                                   (system* "make" test)
>                                   (call-with-input-file
>                                       (string-append "test/" test ".log")
>                                     checker))))
>                  (or #t ; skip tests
>                      (and (run-test "check-hotspot")
>                           (run-test "check-langtools")
>                           (run-test "check-jdk")))))

OK.

>>> +    (description
>>> +     "The IcedTea project provides a harness to build the source code from
>>> +http://openjdk.java.net using Free Software build tools along with additional
>>> +features such as a Free Software plugin and web start implementation and an
>>> +LLVM-based JIT.")
>>
>> No good idea here.  :-)
>
> How about this:
>
>    "The OpenJDK built with the IcedTea build harness."
>
> It doesn't sound great but it actually says what it is.

Fine with me.

One last thing: perhaps we can directly remove mips64el-linux from
‘supported-platforms’?

OK to push.  

Thanks,
Ludo’.

  reply	other threads:[~2015-01-28 16:13 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-27 15:33 [PATCH]: Add IcedTea 6 Ricardo Wurmus
2015-01-27 21:55 ` Ludovic Courtès
2015-01-28 15:47   ` Ricardo Wurmus
2015-01-28 16:13     ` Ludovic Courtès [this message]
2015-01-29  9:47       ` Ricardo Wurmus
2015-01-29 22:44         ` Andreas Enge
2015-02-15 12:52           ` Andreas Enge
2015-02-15 13:54             ` Ricardo Wurmus
2015-02-15 14:44               ` Andreas Enge
2015-02-15 15:57                 ` Ricardo Wurmus
2015-02-15 16:05                   ` Andreas Enge

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

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

  git send-email \
    --in-reply-to=8761bqq3wn.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ricardo.wurmus@mdc-berlin.de \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.