unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Roel Janssen <roel@gnu.org>
To: Ricardo Wurmus <rekado@elephly.net>
Cc: 26966@debbugs.gnu.org
Subject: bug#26966: [PATCH 05/22] gnu: Add ecj-bootstrap.
Date: Mon, 22 May 2017 09:36:29 +0200	[thread overview]
Message-ID: <rbufufxs5qa.fsf@gnu.org> (raw)
In-Reply-To: <20170517171905.7840-5-rekado@elephly.net>


Ricardo Wurmus writes:

> * gnu/packages/java.scm (ecj-bootstrap): New variable.
> ---
>  gnu/packages/java.scm | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 69 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index b12d641ff..b3883bf7a 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -254,6 +254,75 @@ and is best suited to building Java projects.  Ant uses XML to describe the
>  build process and its dependencies, whereas Make uses Makefile format.")
>      (license license:asl2.0)))
>  
> +;; Version 3.2.2 is the last version without a dependency on a full-fledged
> +;; compiler for Java 1.5.
> +(define ecj-bootstrap
> +  (package
> +    (name "ecj-bootstrap")
> +    (version "3.2.2")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append "http://archive.eclipse.org/eclipse/"
> +                                  "downloads/drops/R-" version
> +                                  "-200702121330/ecjsrc.zip"))
> +              (sha256
> +               (base32
> +                "05hj82kxd23qaglsjkaqcj944riisjha7acf7h3ljhrjyljx8307"))))
> +    ;; It would be so much easier if we could use the ant-build-system, but we
> +    ;; cannot as we don't have ant at this point.  We use ecj for
> +    ;; bootstrapping the JDK.
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:modules ((guix build gnu-build-system)
> +                  (guix build utils)
> +                  (srfi srfi-1))
> +       #:tests? #f ; there are no tests
> +       #:phases
> +       (modify-phases %standard-phases
> +         (replace 'configure
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             (setenv "CLASSPATH"
> +                     (string-join
> +                      (find-files (string-append (assoc-ref inputs "ant-bootstrap")
> +                                                 "/lib")
> +                                  "\\.jar$")
> +                      ":"))
> +             #t))
> +         (replace 'build
> +           (lambda* (#:key inputs #:allow-other-keys)
> +             ;; The unpack phase enters the "org" directory by mistake.
> +             (chdir "..")
> +
> +             ;; Create a simple manifest to make ecj executable.
> +             (with-output-to-file "manifest"
> +               (lambda _
> +                 (display "Manifest-Version: 1.0
> +Main-Class: org.eclipse.jdt.internal.compiler.batch.Main\n")))
> +
> +             ;; Compile it all!
> +             (and (zero? (apply system* "javac-sablevm"
> +                                (find-files "." "\\.java$")))
> +                  (zero? (system* "fastjar" "cvfm"
> +                                  "ecj-bootstrap.jar" "manifest" ".")))))
> +         (replace 'install
> +           (lambda* (#:key outputs #:allow-other-keys)
> +             (let ((share (string-append (assoc-ref outputs "out")
> +                                         "/share/java/")))
> +               (mkdir-p share)
> +               (install-file "ecj-bootstrap.jar" share)
> +               #t))))))
> +    (native-inputs
> +     `(("ant-bootstrap" ,ant-bootstrap)
> +       ("unzip" ,unzip)
> +       ("sablevm" ,sablevm)
> +       ("fastjar" ,fastjar)))
> +    (home-page "https://eclipse.org")
> +    (synopsis "Eclipse Java development tools core batch compiler")
> +    (description "This package provides the Eclipse Java core batch compiler
> +for bootstrapping purposes.  The @dfn{Eclipse compiler for Java} (ecj) is a
> +requirement for all GNU Classpath releases after version 0.93.")
> +    (license license:epl1.0)))
> +
>  (define-public java-swt
>    (package
>      (name "java-swt")

LGTM!

Kind regards,
Roel Janssen

  reply	other threads:[~2017-05-22  7:37 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-17 17:06 bug#26966: New Java bootstrap Ricardo Wurmus
2017-05-17 17:18 ` bug#26966: [PATCH 01/22] gnu: Add jikes Ricardo Wurmus
2017-05-17 17:18   ` bug#26966: [PATCH 02/22] gnu: Add sablevm-classpath Ricardo Wurmus
2017-05-18 10:35     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 03/22] gnu: Add sablevm Ricardo Wurmus
2017-05-18 10:34     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 04/22] gnu: Add ant-bootstrap Ricardo Wurmus
2017-05-18 10:38     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 05/22] gnu: Add ecj-bootstrap Ricardo Wurmus
2017-05-22  7:36     ` Roel Janssen [this message]
2017-05-17 17:18   ` bug#26966: [PATCH 06/22] gnu: Add ecj-javac-wrapper Ricardo Wurmus
2017-05-22  7:38     ` Roel Janssen
2017-05-22  8:55       ` Ludovic Courtès
2017-05-22 16:28         ` Ricardo Wurmus
2017-05-17 17:18   ` bug#26966: [PATCH 07/22] gnu: Add classpath Ricardo Wurmus
2017-05-22  7:58     ` Roel Janssen
2017-05-22 17:00       ` Ricardo Wurmus
2017-05-17 17:18   ` bug#26966: [PATCH 08/22] gnu: Add jamvm-bootstrap Ricardo Wurmus
2017-05-22  7:59     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 09/22] gnu: Add classpath-jamvm-wrappers Ricardo Wurmus
2017-05-22  8:05     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 10/22] gnu: Add ecj-javac-on-jamvm-wrapper Ricardo Wurmus
2017-05-22  9:38     ` Roel Janssen
2017-05-22 17:01       ` Ricardo Wurmus
2017-05-17 17:18   ` bug#26966: [PATCH 11/22] gnu: Add classpath-devel Ricardo Wurmus
2017-05-22  9:38     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 12/22] gnu: Add jamvm Ricardo Wurmus
2017-05-22  9:39     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 13/22] gnu: Add ecj-javac-on-jamvm-wrapper-final Ricardo Wurmus
2017-05-22  9:39     ` Roel Janssen
2017-05-17 17:18   ` bug#26966: [PATCH 14/22] gnu: Add icedtea-6 Ricardo Wurmus
2017-05-22  9:43     ` Roel Janssen
2017-05-22 14:33       ` Ricardo Wurmus
2017-05-17 17:18   ` bug#26966: [PATCH 15/22] gnu: icedtea-7: Use icedtea-6 for bootstrapping Ricardo Wurmus
2017-05-18 10:09     ` Ricardo Wurmus
2017-05-17 17:18   ` bug#26966: [PATCH 16/22] gnu: java-swt: Move below the bootstrap packages Ricardo Wurmus
2017-05-22 10:00     ` Roel Janssen
2017-05-17 17:19   ` bug#26966: [PATCH 17/22] gnu: clojure: Move below " Ricardo Wurmus
2017-05-22 10:01     ` Roel Janssen
2017-05-17 17:19   ` bug#26966: [PATCH 18/22] gnu: ant-bootstrap: Do not delete scripts Ricardo Wurmus
2017-05-18 10:54     ` Roel Janssen
2017-05-18 19:57       ` Ricardo Wurmus
2017-05-17 17:19   ` bug#26966: [PATCH 19/22] gnu: ant: Inherit from ant-bootstrap Ricardo Wurmus
2017-05-22 10:02     ` Roel Janssen
2017-05-17 17:19   ` bug#26966: [PATCH 20/22] gnu: ant: Delete bundled jars Ricardo Wurmus
2017-05-18 10:31     ` Roel Janssen
2017-05-17 17:19   ` bug#26966: [PATCH 21/22] gnu: ant: Update to 1.10.1 Ricardo Wurmus
2017-05-18  9:31     ` Roel Janssen
2017-05-18 20:00       ` Ricardo Wurmus
2017-05-18 21:23         ` Ricardo Wurmus
2017-05-17 17:19   ` bug#26966: [PATCH 22/22] gnu: Remove GCJ Ricardo Wurmus
2017-05-18  9:29     ` Roel Janssen
2017-05-18 10:03       ` Ricardo Wurmus
2017-05-18 10:28         ` Roel Janssen
2017-05-18 11:49         ` Ludovic Courtès
2017-05-18  9:25   ` bug#26966: [PATCH 01/22] gnu: Add jikes Roel Janssen
2017-05-18 11:54   ` Ludovic Courtès
2017-05-18  9:24 ` bug#26966: New Java bootstrap Roel Janssen
2017-05-18 11:47 ` Ludovic Courtès
2017-05-22 10:22 ` Roel Janssen
2017-05-22 17:03   ` Ricardo Wurmus

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=rbufufxs5qa.fsf@gnu.org \
    --to=roel@gnu.org \
    --cc=26966@debbugs.gnu.org \
    --cc=rekado@elephly.net \
    /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).