guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Update GCJ.


From: Ricardo Wurmus
Subject: Re: [PATCH] Update GCJ.
Date: Mon, 12 Oct 2015 14:57:19 +0200

Ricardo Wurmus <address@hidden> writes:

> Ricardo Wurmus <address@hidden> writes:
>
>> “ecj-bootstrap-4.8” appears to be broken on mips64el and armhf (using it
>> to bootstrap GCJ results in a broken GCJ on these platforms), and I’m
>> hoping that the situation is different for the 4.9 release.
>
> I just tried to build both icedtea6 and icedtea7 with this, but both
> fail with the same error, similar to this one:

Turns out that it was just icedtea6 that was failing.  “icedtea7”
depends on “ant”, which is built by “icedtea6”.  This is unnecessary,
because “ant” can actually be built with the latest GCJ.

So I made the following changes:

* build “ant” with the new “gcj” package instead of “icedtea6”
* replace “ant-bootstrap” (the ugly binary version of “ant”) with the
  regular “ant” as it no longer results in a circular dependency.
  (Since “icedtea7” inherits from “icedtea6” I had to make a minor
  change to that package as well.)
* update “icedtea6” to latest version (overdue security update; sorry)

With these changes “icedtea6” builds fine and I’m happy that we could do
with one bootstrap binary less.  These four patches (the one to update
GCJ and the three attached here) are very simple and I’d be happy for a
review!

~~ Ricardo

>From f7900bd2a3f999d18742c59ec58d7748c8c051dd Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Mon, 12 Oct 2015 14:21:15 +0200
Subject: [PATCH 1/3] gnu: ant: Build with GCJ.

* gnu/packages/java.scm (ant)[native-inputs]: Replace "icedtea6" with
  "gcj".
---
 gnu/packages/java.scm | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9e632f3..e4d0afb 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -159,8 +159,8 @@ is implemented.")
         (alist-replace
          'build
          (lambda _
-           (setenv "JAVA_HOME"
-                   (assoc-ref %build-inputs "icedtea6"))
+           (setenv "JAVA_HOME" (string-append (assoc-ref %build-inputs "gcj")
+                                              "/lib/jvm"))
            ;; Disable tests to avoid dependency on hamcrest-core, which needs
            ;; Ant to build.  This is necessary in addition to disabling the
            ;; "check" phase, because the dependency on "test-jar" would always
@@ -174,7 +174,7 @@ is implemented.")
           'configure
           (alist-delete 'install %standard-phases))))))
     (native-inputs
-     `(("icedtea6" ,icedtea6 "jdk")))
+     `(("gcj" ,gcj)))
     (home-page "http://ant.apache.org";)
     (synopsis "Build tool for Java")
     (description
-- 
2.1.0

>From 47a52495617510a7298beba9be06aa61397a2004 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Mon, 12 Oct 2015 14:24:03 +0200
Subject: [PATCH 2/3] gnu: icedtea6: Replace "ant-bootstrap" with "ant".

* gnu/packages/java.scm (icedtea6)[native-inputs]: Replace
  "ant-bootstrap" with "ant".
  [arguments]: Remove steps to unpack and use "ant-bootstrap".
  (icedtea7)[native-inputs]: Remove explicit references to
  "ant-bootstrap" and "ant".
---
 gnu/packages/java.scm | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index e4d0afb..4bb0781 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -276,10 +276,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
         'unpack
         (lambda* (#:key source inputs #:allow-other-keys)
           (and (zero? (system* "tar" "xvf" source))
-               (zero? (system* "tar" "xvjf"
-                               (assoc-ref inputs "ant-bootstrap")))
                (begin
-                 (patch-shebang "apache-ant-1.9.4/bin/ant")
                  (chdir (string-append ,name "-" ,version))
                  (mkdir "openjdk")
                  (with-directory-excursion "openjdk"
@@ -383,7 +380,6 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
            (lambda* (#:key inputs #:allow-other-keys)
              (let* ((gcjdir  (assoc-ref %build-inputs "gcj"))
                     (gcjlib  (string-append gcjdir "/lib"))
-                    (antpath (string-append (getcwd) "/../apache-ant-1.9.4"))
                     ;; Get target-specific include directory so that
                     ;; libgcj-config.h is found when compiling hotspot.
                     (gcjinclude (let* ((port (open-input-pipe "gcj 
-print-file-name=include"))
@@ -407,9 +403,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
                                       "/include"))
                (setenv "ALT_FREETYPE_LIB_PATH"
                        (string-append (assoc-ref %build-inputs "freetype")
-                                      "/lib"))
-               (setenv "PATH" (string-append antpath "/bin:"
-                                             (getenv "PATH")))))
+                                      "/lib"))))
            (alist-cons-before
             'check 'fix-test-framework
             (lambda _
@@ -528,13 +522,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
                     (copy-recursively "openjdk.build/j2sdk-image" jdk)))
                 %standard-phases)))))))))))
     (native-inputs
-     `(("ant-bootstrap"
-        ,(origin
-           (method url-fetch)
-           (uri 
"https://www.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.bz2";)
-           (sha256
-            (base32
-             "1kw801p8h5x4f0g8i5yknppssrj5a3xy1aqrkpfnk22bd1snbh90"))))
+     `(("ant" ,ant)
        ("alsa-lib" ,alsa-lib)
        ("attr" ,attr)
        ("autoconf" ,autoconf)
@@ -738,8 +726,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
                     #t))
                  (delete 'patch-patches))))))
       (native-inputs
-       `(("ant" ,ant)
-         ("openjdk-drop"
+       `(("openjdk-drop"
           ,(drop "openjdk"
                  "0gs6vbj5c09516r460r68i7vm652sb25h973kq9hfx749qbs0s01"))
          ("corba-drop"
@@ -761,4 +748,4 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
           ,(drop "hotspot"
                  "1cv8df2s89mnjzg4rja4i89d4fr8n0c3v5y2cqbww1ma1463n100"))
          ,@(fold alist-delete (package-native-inputs icedtea6)
-                 '("openjdk6-src" "ant-bootstrap")))))))
+                 '("openjdk6-src")))))))
-- 
2.1.0

>From 2a2a4e366b827138e171653aa694e605ebd75db3 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Mon, 12 Oct 2015 14:29:06 +0200
Subject: [PATCH 3/3] gnu: icedtea6: Update to 1.13.8.

* gnu/packages/java.scm (icedtea6): Update to 1.13.8.
---
 gnu/packages/java.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 4bb0781..5fa546a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -187,7 +187,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
 (define-public icedtea6
   (package
     (name "icedtea6")
-    (version "1.13.7")
+    (version "1.13.8")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -195,7 +195,7 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
                     version ".tar.xz"))
               (sha256
                (base32
-                "0fqq898h0mk554mya5z4j9p4x6sg2qj0ckqzx65x49zcjjp69jm5"))
+                "1nqaq2xjz88rfzm94l28c0cc48gdiwl8ijw9c46s14z3awwn5g7w"))
               (modules '((guix build utils)))
               (snippet
                '(substitute* "Makefile.in"
@@ -557,10 +557,10 @@ build process and its dependencies, whereas Make uses 
Makefile format.")
        ("openjdk6-src"
         ,(origin
            (method url-fetch)
-           (uri 
"https://java.net/downloads/openjdk6/openjdk-6-src-b35-14_apr_2015.tar.gz";)
+           (uri 
"https://java.net/downloads/openjdk6/openjdk-6-src-b36-22_jul_2015.tar.gz";)
            (sha256
             (base32
-             "05glw29vy4yw9rkjy9y8wg6ybzi89gjwi19qpnfda978x02r2x5p"))))
+             "0mdckpazjijf6ggxzah2nq99lgsi0jk9pjbxhfq39b9lawvb45ln"))))
        ("lcms" ,lcms)
        ("zlib" ,zlib)
        ("gtk" ,gtk+-2)
-- 
2.1.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]