GNU bug report logs - #25933
[PATCH] gnu: Remove icedtea-6.

Previous Next

Package: guix-patches;

Reported by: Ricardo Wurmus <rekado <at> elephly.net>

Date: Thu, 2 Mar 2017 11:37:01 UTC

Severity: normal

Tags: patch

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 25933 in the body.
You can then email your comments to 25933 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#25933; Package guix-patches. (Thu, 02 Mar 2017 11:37:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Ricardo Wurmus <rekado <at> elephly.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Thu, 02 Mar 2017 11:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: guix-patches <at> gnu.org
Cc: Ricardo Wurmus <rekado <at> elephly.net>
Subject: [PATCH] gnu: Remove icedtea-6.
Date: Thu,  2 Mar 2017 12:36:00 +0100
* gnu/packages/java.scm (icedtea-6): Remove variable.
(icedtea-7): Do not inherit from icedtea-6.
---
 gnu/packages/java.scm | 1000 +++++++++++++++++++++----------------------------
 1 file changed, 436 insertions(+), 564 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 1abdf607f..cf4ba69d6 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -335,463 +335,6 @@ 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)))
 
-(define-public icedtea-6
-  (package
-    (name "icedtea")
-    (version "1.13.13")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://icedtea.wildebeest.org/download/source/icedtea6-"
-                    version ".tar.xz"))
-              (sha256
-               (base32
-                "0bg9sb4f7qbq77c0zf9m17p47ga0kf0r9622g9p12ysg26jd1ksg"))
-              (modules '((guix build utils)))
-              (snippet
-               '(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\\\"\"")))))
-    (build-system gnu-build-system)
-    (outputs '("out"   ; Java Runtime Environment
-               "jdk"   ; Java Development Kit
-               "doc")) ; all documentation
-    (arguments
-     `(;; There are many failing tests and many are known to fail upstream.
-       ;;
-       ;; * Hotspot VM tests:
-       ;;   FAILED: compiler/7082949/Test7082949.java
-       ;;   FAILED: compiler/7088020/Test7088020.java
-       ;;   FAILED: runtime/6929067/Test6929067.sh
-       ;;   FAILED: serviceability/sa/jmap-hashcode/Test8028623.java
-       ;;   => Test results: passed: 161; failed: 4
-       ;;
-       ;; * langtools tests:
-       ;;   FAILED: com/sun/javadoc/testHtmlDefinitionListTag/TestHtmlDefinitionListTag.java
-       ;;   FAILED: tools/javac/6627362/T6627362.java
-       ;;   FAILED: tools/javac/7003595/T7003595.java
-       ;;   FAILED: tools/javac/7024568/T7024568.java
-       ;;   FAILED: tools/javap/4111861/T4111861.java
-       ;;   FAILED: tools/javap/ListTest.java
-       ;;   FAILED: tools/javap/OptionTest.java
-       ;;   FAILED: tools/javap/T4884240.java
-       ;;   FAILED: tools/javap/T4975569.java
-       ;;     --> fails because of insignificant whitespace differences
-       ;;         in output of javap
-       ;;   FAILED: tools/javap/T6868539.java
-       ;;   => Test results: passed: 1,445; failed: 10
-       ;;
-       ;; * JDK tests:
-       ;;   Tests are incomplete because of a segfault after this test:
-       ;;     javax/crypto/spec/RC5ParameterSpec/RC5ParameterSpecEquals.java
-       ;;   A bug report has already been filed upstream:
-       ;;     http://icedtea.classpath.org/bugzilla/show_bug.cgi?id=2188
-       ;;
-       ;;   The tests require xvfb-run, a wrapper script around Xvfb, which
-       ;;   has not been packaged yet.  Without it many AWT tests fail, so I
-       ;;   made no attempts to make a list of failing JDK tests.  At least
-       ;;   222 tests are failing of which at least 132 are AWT tests.
-       #:tests? #f
-
-       ;; The DSOs use $ORIGIN to refer to each other, but (guix build
-       ;; gremlin) doesn't support it yet, so skip this phase.
-       #:validate-runpath? #f
-
-       #:modules ((guix build utils)
-                  (guix build gnu-build-system)
-                  (ice-9 popen)
-                  (ice-9 rdelim)
-                  (srfi srfi-19))
-
-       #:configure-flags
-       (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
-              (ecj    (string-append gcjdir "/share/java/ecj.jar"))
-              (jdk    (string-append gcjdir "/lib/jvm/"))
-              (gcj    (string-append gcjdir "/bin/gcj")))
-         `("--enable-bootstrap"
-           "--enable-nss"
-           "--without-rhino"
-           "--disable-downloading"
-           "--disable-tests" ;they are run in the check phase instead
-           "--with-openjdk-src-dir=./openjdk.src"
-           ,(string-append "--with-javac=" jdk "/bin/javac")
-           ,(string-append "--with-ecj-jar=" ecj)
-           ,(string-append "--with-gcj=" gcj)
-           ,(string-append "--with-jdk-home=" jdk)
-           ,(string-append "--with-java=" jdk "/bin/java")))
-       #:phases
-       (modify-phases %standard-phases
-         (replace 'unpack
-           (lambda* (#:key source inputs #:allow-other-keys)
-             (and (zero? (system* "tar" "xvf" source))
-                  (begin
-                    (chdir (string-append "icedtea6-" ,version))
-                    (mkdir "openjdk.src")
-                    (with-directory-excursion "openjdk.src"
-                      (copy-file (assoc-ref inputs "openjdk6-src")
-                                 "openjdk6-src.tar.xz")
-                      (zero? (system* "tar" "xvf" "openjdk6-src.tar.xz")))))))
-         (add-after 'unpack 'patch-patches
-           (lambda _
-             ;; shebang in patches so that they apply cleanly
-             (substitute* '("patches/jtreg-jrunscript.patch"
-                            "patches/hotspot/hs23/drop_unlicensed_test.patch")
-               (("#!/bin/sh") (string-append "#!" (which "sh"))))
-             #t))
-         (add-after 'unpack 'patch-paths
-           (lambda _
-             ;; buildtree.make generates shell scripts, so we need to replace
-             ;; the generated shebang
-             (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
-               (("/bin/sh") (which "bash")))
-
-             (let ((corebin (string-append
-                             (assoc-ref %build-inputs "coreutils") "/bin/"))
-                   (binbin  (string-append
-                             (assoc-ref %build-inputs "binutils") "/bin/"))
-                   (grepbin (string-append
-                             (assoc-ref %build-inputs "grep") "/bin/")))
-               (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
-                              "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
-                 (("UNIXCOMMAND_PATH  = /bin/")
-                  (string-append "UNIXCOMMAND_PATH = " corebin))
-                 (("USRBIN_PATH  = /usr/bin/")
-                  (string-append "USRBIN_PATH = " corebin))
-                 (("DEVTOOLS_PATH *= */usr/bin/")
-                  (string-append "DEVTOOLS_PATH = " corebin))
-                 (("COMPILER_PATH *= */usr/bin/")
-                  (string-append "COMPILER_PATH = "
-                                 (assoc-ref %build-inputs "gcc") "/bin/"))
-                 (("DEF_OBJCOPY *=.*objcopy")
-                  (string-append "DEF_OBJCOPY = " (which "objcopy"))))
-
-               ;; fix path to alsa header
-               (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
-                 (("ALSA_INCLUDE=/usr/include/alsa/version.h")
-                  (string-append "ALSA_INCLUDE="
-                                 (assoc-ref %build-inputs "alsa-lib")
-                                 "/include/alsa/version.h")))
-
-               ;; fix hard-coded utility paths
-               (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
-                              "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
-                 (("ECHO *=.*echo")
-                  (string-append "ECHO = " (which "echo")))
-                 (("^GREP *=.*grep")
-                  (string-append "GREP = " (which "grep")))
-                 (("EGREP *=.*egrep")
-                  (string-append "EGREP = " (which "egrep")))
-                 (("CPIO *=.*cpio")
-                  (string-append "CPIO = " (which "cpio")))
-                 (("READELF *=.*readelf")
-                  (string-append "READELF = " (which "readelf")))
-                 (("^ *AR *=.*ar")
-                  (string-append "AR = " (which "ar")))
-                 (("^ *TAR *=.*tar")
-                  (string-append "TAR = " (which "tar")))
-                 (("AS *=.*as")
-                  (string-append "AS = " (which "as")))
-                 (("LD *=.*ld")
-                  (string-append "LD = " (which "ld")))
-                 (("STRIP *=.*strip")
-                  (string-append "STRIP = " (which "strip")))
-                 (("NM *=.*nm")
-                  (string-append "NM = " (which "nm")))
-                 (("^SH *=.*sh")
-                  (string-append "SH = " (which "bash")))
-                 (("^FIND *=.*find")
-                  (string-append "FIND = " (which "find")))
-                 (("LDD *=.*ldd")
-                  (string-append "LDD = " (which "ldd")))
-                 (("NAWK *=.*(n|g)awk")
-                  (string-append "NAWK = " (which "gawk")))
-                 (("XARGS *=.*xargs")
-                  (string-append "XARGS = " (which "xargs")))
-                 (("UNZIP *=.*unzip")
-                  (string-append "UNZIP = " (which "unzip")))
-                 (("ZIPEXE *=.*zip")
-                  (string-append "ZIPEXE = " (which "zip")))
-                 (("SED *=.*sed")
-                  (string-append "SED = " (which "sed"))))
-
-               ;; Some of these timestamps cause problems as they are more than
-               ;; 10 years ago, failing the build process.
-               (substitute*
-                   "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
-                 (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
-                 (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
-                 (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
-                 (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))))
-         (add-before 'configure 'set-additional-paths
-           (lambda* (#:key inputs #:allow-other-keys)
-             (let* ((gcjdir  (assoc-ref %build-inputs "gcj"))
-                    (gcjlib  (string-append gcjdir "/lib"))
-                    ;; 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"))
-                                       (str  (read-line port)))
-                                  (close-pipe port)
-                                  str)))
-               (setenv "CPATH"
-                       (string-append gcjinclude ":"
-                                      (assoc-ref %build-inputs "libxrender")
-                                      "/include/X11/extensions" ":"
-                                      (assoc-ref %build-inputs "libxtst")
-                                      "/include/X11/extensions" ":"
-                                      (assoc-ref %build-inputs "libxinerama")
-                                      "/include/X11/extensions" ":"
-                                      (or (getenv "CPATH") "")))
-               (setenv "ALT_CUPS_HEADERS_PATH"
-                       (string-append (assoc-ref %build-inputs "cups")
-                                      "/include"))
-               (setenv "ALT_FREETYPE_HEADERS_PATH"
-                       (string-append (assoc-ref %build-inputs "freetype")
-                                      "/include"))
-               (setenv "ALT_FREETYPE_LIB_PATH"
-                       (string-append (assoc-ref %build-inputs "freetype")
-                                      "/lib")))))
-         (add-before 'check 'fix-test-framework
-           (lambda _
-             ;; Fix PATH in test environment
-             (substitute* "src/jtreg/com/sun/javatest/regtest/Main.java"
-               (("PATH=/bin:/usr/bin")
-                (string-append "PATH=" (getenv "PATH"))))
-             (substitute* "src/jtreg/com/sun/javatest/util/SysEnv.java"
-               (("/usr/bin/env") (which "env")))
-             #t))
-         (add-before 'check 'fix-hotspot-tests
-           (lambda _
-             (with-directory-excursion "openjdk.src/hotspot/test/"
-               (substitute* "jprt.config"
-                 (("PATH=\"\\$\\{path4sdk\\}\"")
-                  (string-append "PATH=" (getenv "PATH")))
-                 (("make=/usr/bin/make")
-                  (string-append "make=" (which "make"))))
-               (substitute* '("runtime/6626217/Test6626217.sh"
-                              "runtime/7110720/Test7110720.sh")
-                 (("/bin/rm") (which "rm"))
-                 (("/bin/cp") (which "cp"))
-                 (("/bin/mv") (which "mv"))))
-             #t))
-         (add-before 'check 'fix-jdk-tests
-           (lambda _
-             (with-directory-excursion "openjdk.src/jdk/test/"
-               (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
-                 (("/bin/pwd") (which "pwd")))
-               (substitute* "com/sun/jdi/ShellScaffold.sh"
-                 (("/bin/kill") (which "kill")))
-               (substitute* "start-Xvfb.sh"
-                 ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
-                 (("/usr/bin/nohup")    (which "nohup")))
-               (substitute* "javax/security/auth/Subject/doAs/Test.sh"
-                 (("/bin/rm") (which "rm")))
-               (substitute* "tools/launcher/MultipleJRE.sh"
-                 (("echo \"#!/bin/sh\"")
-                  (string-append "echo \"#!" (which "rm") "\""))
-                 (("/usr/bin/zip") (which "zip")))
-               (substitute* "com/sun/jdi/OnThrowTest.java"
-                 (("#!/bin/sh") (string-append "#!" (which "sh"))))
-               (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
-                 (("/usr/bin/uptime") (which "uptime")))
-               (substitute* "java/lang/ProcessBuilder/Basic.java"
-                 (("/usr/bin/env") (which "env"))
-                 (("/bin/false") (which "false"))
-                 (("/bin/true") (which "true"))
-                 (("/bin/cp") (which "cp"))
-                 (("/bin/sh") (which "sh")))
-               (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
-                 (("/bin/sh") (which "sh")))
-               (substitute* "java/lang/ProcessBuilder/Zombies.java"
-                 (("/usr/bin/perl") (which "perl"))
-                 (("/bin/ps") (which "ps"))
-                 (("/bin/true") (which "true")))
-               (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
-                 (("/usr/bin/tee") (which "tee")))
-               (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
-                 (("/bin/true") (which "true")))
-               (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
-                 (("/bin/cat") (which "cat")))
-               (substitute* "java/lang/Runtime/exec/ExitValue.java"
-                 (("/bin/sh") (which "sh"))
-                 (("/bin/true") (which "true"))
-                 (("/bin/kill") (which "kill")))
-               (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
-                 (("/usr/bin/echo") (which "echo")))
-               (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
-                 (("/usr/bin/cat") (which "cat")))
-               (substitute* "java/lang/Runtime/exec/SleepyCat.java"
-                 (("/bin/cat") (which "cat"))
-                 (("/bin/sleep") (which "sleep"))
-                 (("/bin/sh") (which "sh")))
-               (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
-                 (("/bin/cat") (which "cat")))
-               (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
-                 (("/bin/chmod") (which "chmod")))
-               (substitute* "java/util/zip/ZipFile/Assortment.java"
-                 (("/bin/sh") (which "sh"))))
-             #t))
-         (replace '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 ()
-                                 (let ((line (read-line port)))
-                                   (cond
-                                    ((eof-object? line) #t)
-                                    ((regexp-exec error-pattern line) #f)
-                                    (else (loop)))))))
-                    (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"))))))
-         (replace 'install
-           (lambda* (#:key outputs #:allow-other-keys)
-             (let ((doc (string-append (assoc-ref outputs "doc")
-                                       "/share/doc/icedtea"))
-                   (jre (assoc-ref outputs "out"))
-                   (jdk (assoc-ref outputs "jdk")))
-               (copy-recursively "openjdk.build/docs" doc)
-               (copy-recursively "openjdk.build/j2re-image" jre)
-               (copy-recursively "openjdk.build/j2sdk-image" jdk))))
-         ;; By default IcedTea only generates an empty keystore.  In order to
-         ;; be able to use certificates in Java programs we need to generate a
-         ;; keystore from a set of certificates.  For convenience we use the
-         ;; certificates from the nss-certs package.
-         (add-after 'install 'install-keystore
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((keystore  "cacerts")
-                    (certs-dir (string-append (assoc-ref inputs "nss-certs")
-                                              "/etc/ssl/certs"))
-                    (keytool   (string-append (assoc-ref outputs "jdk")
-                                              "/bin/keytool")))
-               (define (extract-cert file target)
-                 (call-with-input-file file
-                   (lambda (in)
-                     (call-with-output-file target
-                       (lambda (out)
-                         (let loop ((line (read-line in 'concat))
-                                    (copying? #f))
-                           (cond
-                            ((eof-object? line) #t)
-                            ((string-prefix? "-----BEGIN" line)
-                             (display line out)
-                             (loop (read-line in 'concat) #t))
-                            ((string-prefix? "-----END" line)
-                             (display line out)
-                             #t)
-                            (else
-                             (when copying? (display line out))
-                             (loop (read-line in 'concat) copying?)))))))))
-               (define (import-cert cert)
-                 (format #t "Importing certificate ~a\n" (basename cert))
-                 (let ((temp "tmpcert"))
-                   (extract-cert cert temp)
-                   (let ((port (open-pipe* OPEN_WRITE keytool
-                                           "-import"
-                                           "-alias" (basename cert)
-                                           "-keystore" keystore
-                                           "-storepass" "changeit"
-                                           "-file" temp)))
-                     (display "yes\n" port)
-                     (when (not (zero? (status:exit-val (close-pipe port))))
-                       (format #t "failed to import ~a\n" cert)))
-                   (delete-file temp)))
-
-               ;; This is necessary because the certificate directory contains
-               ;; files with non-ASCII characters in their names.
-               (setlocale LC_ALL "en_US.utf8")
-               (setenv "LC_ALL" "en_US.utf8")
-
-               (for-each import-cert (find-files certs-dir "\\.pem$"))
-               (mkdir-p (string-append (assoc-ref outputs "out")
-                                       "/lib/security"))
-               (mkdir-p (string-append (assoc-ref outputs "jdk")
-                                       "/jre/lib/security"))
-
-               ;; The cacerts files we are going to overwrite are chmod'ed as
-               ;; read-only (444) in icedtea-8 (which derives from this
-               ;; package).  We have to change this so we can overwrite them.
-               (chmod (string-append (assoc-ref outputs "out")
-                                     "/lib/security/" keystore) #o644)
-               (chmod (string-append (assoc-ref outputs "jdk")
-                                     "/jre/lib/security/" keystore) #o644)
-
-               (install-file keystore
-                             (string-append (assoc-ref outputs "out")
-                                            "/lib/security"))
-               (install-file keystore
-                             (string-append (assoc-ref outputs "jdk")
-                                            "/jre/lib/security"))
-               #t))))))
-    (native-inputs
-     `(("ant" ,ant)
-       ("alsa-lib" ,alsa-lib)
-       ("attr" ,attr)
-       ("autoconf" ,autoconf)
-       ("automake" ,automake)
-       ("coreutils" ,coreutils)
-       ("diffutils" ,diffutils) ;for tests
-       ("gawk" ,gawk)
-       ("grep" ,grep)
-       ("libtool" ,libtool)
-       ("pkg-config" ,pkg-config)
-       ("cups" ,cups)
-       ("wget" ,wget)
-       ("which" ,which)
-       ("cpio" ,cpio)
-       ("zip" ,zip)
-       ("unzip" ,unzip)
-       ("fastjar" ,fastjar)
-       ("libxslt" ,libxslt) ;for xsltproc
-       ("mit-krb5" ,mit-krb5)
-       ("nss" ,nss)
-       ("nss-certs" ,nss-certs)
-       ("libx11" ,libx11)
-       ("libxcomposite" ,libxcomposite)
-       ("libxt" ,libxt)
-       ("libxtst" ,libxtst)
-       ("libxi" ,libxi)
-       ("libxinerama" ,libxinerama)
-       ("libxrender" ,libxrender)
-       ("libjpeg" ,libjpeg)
-       ("libpng" ,libpng)
-       ("giflib" ,giflib)
-       ("perl" ,perl)
-       ("procps" ,procps) ;for "free", even though I'm not sure we should use it
-       ("openjdk6-src"
-        ,(origin
-           (method url-fetch)
-           (uri "https://java.net/downloads/openjdk6/openjdk-6-src-b41-04_jan_2017.tar.xz")
-           (sha256
-            (base32
-             "058szix0j280g14jzajvsixx1j2dxmc10r848f5swpy6rr8x8d4f"))))
-       ("lcms" ,lcms)
-       ("zlib" ,zlib)
-       ("gtk" ,gtk+-2)
-       ("fontconfig" ,fontconfig)
-       ("freetype" ,freetype)
-       ("gcj" ,gcj)))
-    (home-page "http://icedtea.classpath.org")
-    (synopsis "Java development kit")
-    (description
-     "The OpenJDK built with the IcedTea build harness.")
-    ;; IcedTea is released under the GPL2 + Classpath exception, which is the
-    ;; same license as both GNU Classpath and OpenJDK.
-    (license license:gpl2+)))
-
 (define-public icedtea-7
   (let* ((version "2.6.9")
          (drop (lambda (name hash)
@@ -801,7 +344,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
                          "http://icedtea.classpath.org/download/drops/"
                          "/icedtea7/" version "/" name ".tar.bz2"))
                    (sha256 (base32 hash))))))
-    (package (inherit icedtea-6)
+    (package
+      (name "icedtea")
       (version version)
       (source (origin
                 (method url-fetch)
@@ -820,6 +364,10 @@ build process and its dependencies, whereas Make uses Makefile format.")
                     ;; do not leak information about the build host
                     (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
                      "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
+      (build-system gnu-build-system)
+      (outputs '("out"   ; Java Runtime Environment
+                 "jdk"   ; Java Development Kit
+                 "doc")) ; all documentation
       (arguments
        `(;; There are many test failures.  Some are known to
          ;; fail upstream, others relate to not having an X
@@ -830,110 +378,390 @@ build process and its dependencies, whereas Make uses Makefile format.")
          ;; langtools: passed: 1,934; failed: 26
          ;; jdk:       unknown
          #:tests? #f
+
+         ;; The DSOs use $ORIGIN to refer to each other, but (guix build
+         ;; gremlin) doesn't support it yet, so skip this phase.
+         #:validate-runpath? #f
+
          ;; Apparently, the C locale is needed for some of the tests.
          #:locale "C"
-         ,@(substitute-keyword-arguments (package-arguments icedtea-6)
-             ((#:modules modules)
-              `((ice-9 match)
-                (srfi srfi-26)
-                ,@modules))
-             ((#:configure-flags flags)
-              ;; TODO: package pcsc and sctp, and add to inputs
-              `(append '("--disable-system-pcsc"
-                         "--disable-system-sctp")
-                       ,flags))
-             ((#:phases phases)
-              `(modify-phases ,phases
-                 (replace 'unpack
-                   (lambda* (#:key source inputs #:allow-other-keys)
-                     (let ((target (string-append "icedtea-" ,version))
-                           (unpack (lambda* (name #:optional dir)
-                                     (let ((dir (or dir
-                                                    (string-drop-right name 5))))
-                                       (mkdir dir)
-                                       (zero? (system* "tar" "xvf"
-                                                       (assoc-ref inputs name)
-                                                       "-C" dir
-                                                       "--strip-components=1"))))))
-                       (mkdir target)
-                       (and
-                        (zero? (system* "tar" "xvf" source
-                                        "-C" target "--strip-components=1"))
-                        (chdir target)
-                        (unpack "openjdk-src" "openjdk.src")
-                        (with-directory-excursion "openjdk.src"
-                          (for-each unpack
-                                    (filter (cut string-suffix? "-drop" <>)
-                                            (map (match-lambda
-                                                   ((name . _) name))
-                                                 inputs))))
-                        #t))))
-                 (replace
-                  'set-additional-paths
-                  (lambda* (#:key inputs #:allow-other-keys)
-                    (let (;; 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"))
-                                             (str  (read-line port)))
-                                        (close-pipe port)
-                                        str)))
-                      (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
-                        (("ALSA_INCLUDE=/usr/include/alsa/version.h")
-                         (string-append "ALSA_INCLUDE="
-                                        (assoc-ref inputs "alsa-lib")
-                                        "/include/alsa/version.h")))
-                      (setenv "CC" "gcc")
-                      (setenv "CPATH"
-                              (string-append gcjinclude ":"
-                                             (assoc-ref inputs "libxcomposite")
-                                             "/include/X11/extensions" ":"
-                                             (assoc-ref inputs "libxrender")
-                                             "/include/X11/extensions" ":"
-                                             (assoc-ref inputs "libxtst")
-                                             "/include/X11/extensions" ":"
-                                             (assoc-ref inputs "libxinerama")
-                                             "/include/X11/extensions" ":"
-                                             (or (getenv "CPATH") "")))
-                      (setenv "ALT_OBJCOPY" (which "objcopy"))
-                      (setenv "ALT_CUPS_HEADERS_PATH"
-                              (string-append (assoc-ref inputs "cups")
-                                             "/include"))
-                      (setenv "ALT_FREETYPE_HEADERS_PATH"
-                              (string-append (assoc-ref inputs "freetype")
-                                             "/include"))
-                      (setenv "ALT_FREETYPE_LIB_PATH"
-                              (string-append (assoc-ref inputs "freetype")
-                                             "/lib")))))
-                 (add-after
-                  'unpack 'fix-x11-extension-include-path
-                  (lambda* (#:key inputs #:allow-other-keys)
-                    (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
-                      (((string-append "\\$\\(firstword \\$\\(wildcard "
-                                       "\\$\\(OPENWIN_HOME\\)"
-                                       "/include/X11/extensions\\).*$"))
-                       (string-append (assoc-ref inputs "libxrender")
-                                      "/include/X11/extensions"
-                                      " -I" (assoc-ref inputs "libxtst")
-                                      "/include/X11/extensions"
-                                      " -I" (assoc-ref inputs "libxinerama")
-                                      "/include/X11/extensions"))
-                      (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
-                    #t))
-                 (replace
-                  'fix-test-framework
-                  (lambda _
-                    ;; Fix PATH in test environment
-                    (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
-                      (("PATH=/bin:/usr/bin")
-                       (string-append "PATH=" (getenv "PATH"))))
-                    (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
-                      (("/usr/bin/env") (which "env")))
-                    (substitute* "openjdk.src/hotspot/test/test_env.sh"
-                      (("/bin/rm") (which "rm"))
-                      (("/bin/cp") (which "cp"))
-                      (("/bin/mv") (which "mv")))
-                    #t))
-                 (delete 'patch-patches))))))
+
+         #:modules ((guix build utils)
+                    (guix build gnu-build-system)
+                    (ice-9 match)
+                    (ice-9 popen)
+                    (ice-9 rdelim)
+                    (srfi srfi-19)
+                    (srfi srfi-26))
+
+         #:configure-flags
+         (let* ((gcjdir (assoc-ref %build-inputs "gcj"))
+                (ecj    (string-append gcjdir "/share/java/ecj.jar"))
+                (jdk    (string-append gcjdir "/lib/jvm/"))
+                (gcj    (string-append gcjdir "/bin/gcj")))
+           ;; TODO: package pcsc and sctp, and add to inputs
+           `("--disable-system-pcsc"
+             "--disable-system-sctp"
+             "--enable-bootstrap"
+             "--enable-nss"
+             "--without-rhino"
+             "--disable-downloading"
+             "--disable-tests"        ;they are run in the check phase instead
+             "--with-openjdk-src-dir=./openjdk.src"
+             ,(string-append "--with-javac=" jdk "/bin/javac")
+             ,(string-append "--with-ecj-jar=" ecj)
+             ,(string-append "--with-gcj=" gcj)
+             ,(string-append "--with-jdk-home=" jdk)
+             ,(string-append "--with-java=" jdk "/bin/java")))
+
+         #:phases
+         (modify-phases %standard-phases
+           (replace 'unpack
+             (lambda* (#:key source inputs #:allow-other-keys)
+               (let ((target (string-append "icedtea-" ,version))
+                     (unpack (lambda* (name #:optional dir)
+                               (let ((dir (or dir
+                                              (string-drop-right name 5))))
+                                 (mkdir dir)
+                                 (zero? (system* "tar" "xvf"
+                                                 (assoc-ref inputs name)
+                                                 "-C" dir
+                                                 "--strip-components=1"))))))
+                 (mkdir target)
+                 (and
+                  (zero? (system* "tar" "xvf" source
+                                  "-C" target "--strip-components=1"))
+                  (chdir target)
+                  (unpack "openjdk-src" "openjdk.src")
+                  (with-directory-excursion "openjdk.src"
+                    (for-each unpack
+                              (filter (cut string-suffix? "-drop" <>)
+                                      (map (match-lambda
+                                             ((name . _) name))
+                                           inputs))))
+                  #t))))
+           (add-after 'unpack 'fix-x11-extension-include-path
+             (lambda* (#:key inputs #:allow-other-keys)
+               (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk"
+                 (((string-append "\\$\\(firstword \\$\\(wildcard "
+                                  "\\$\\(OPENWIN_HOME\\)"
+                                  "/include/X11/extensions\\).*$"))
+                  (string-append (assoc-ref inputs "libxrender")
+                                 "/include/X11/extensions"
+                                 " -I" (assoc-ref inputs "libxtst")
+                                 "/include/X11/extensions"
+                                 " -I" (assoc-ref inputs "libxinerama")
+                                 "/include/X11/extensions"))
+                 (("\\$\\(wildcard /usr/include/X11/extensions\\)\\)") ""))
+               #t))
+           (add-after 'unpack 'patch-paths
+             (lambda _
+               ;; buildtree.make generates shell scripts, so we need to replace
+               ;; the generated shebang
+               (substitute* '("openjdk.src/hotspot/make/linux/makefiles/buildtree.make")
+                 (("/bin/sh") (which "bash")))
+
+               (let ((corebin (string-append
+                               (assoc-ref %build-inputs "coreutils") "/bin/"))
+                     (binbin  (string-append
+                               (assoc-ref %build-inputs "binutils") "/bin/"))
+                     (grepbin (string-append
+                               (assoc-ref %build-inputs "grep") "/bin/")))
+                 (substitute* '("openjdk.src/jdk/make/common/shared/Defs-linux.gmk"
+                                "openjdk.src/corba/make/common/shared/Defs-linux.gmk")
+                   (("UNIXCOMMAND_PATH  = /bin/")
+                    (string-append "UNIXCOMMAND_PATH = " corebin))
+                   (("USRBIN_PATH  = /usr/bin/")
+                    (string-append "USRBIN_PATH = " corebin))
+                   (("DEVTOOLS_PATH *= */usr/bin/")
+                    (string-append "DEVTOOLS_PATH = " corebin))
+                   (("COMPILER_PATH *= */usr/bin/")
+                    (string-append "COMPILER_PATH = "
+                                   (assoc-ref %build-inputs "gcc") "/bin/"))
+                   (("DEF_OBJCOPY *=.*objcopy")
+                    (string-append "DEF_OBJCOPY = " (which "objcopy"))))
+
+                 ;; fix path to alsa header
+                 (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
+                   (("ALSA_INCLUDE=/usr/include/alsa/version.h")
+                    (string-append "ALSA_INCLUDE="
+                                   (assoc-ref %build-inputs "alsa-lib")
+                                   "/include/alsa/version.h")))
+
+                 ;; fix hard-coded utility paths
+                 (substitute* '("openjdk.src/jdk/make/common/shared/Defs-utils.gmk"
+                                "openjdk.src/corba/make/common/shared/Defs-utils.gmk")
+                   (("ECHO *=.*echo")
+                    (string-append "ECHO = " (which "echo")))
+                   (("^GREP *=.*grep")
+                    (string-append "GREP = " (which "grep")))
+                   (("EGREP *=.*egrep")
+                    (string-append "EGREP = " (which "egrep")))
+                   (("CPIO *=.*cpio")
+                    (string-append "CPIO = " (which "cpio")))
+                   (("READELF *=.*readelf")
+                    (string-append "READELF = " (which "readelf")))
+                   (("^ *AR *=.*ar")
+                    (string-append "AR = " (which "ar")))
+                   (("^ *TAR *=.*tar")
+                    (string-append "TAR = " (which "tar")))
+                   (("AS *=.*as")
+                    (string-append "AS = " (which "as")))
+                   (("LD *=.*ld")
+                    (string-append "LD = " (which "ld")))
+                   (("STRIP *=.*strip")
+                    (string-append "STRIP = " (which "strip")))
+                   (("NM *=.*nm")
+                    (string-append "NM = " (which "nm")))
+                   (("^SH *=.*sh")
+                    (string-append "SH = " (which "bash")))
+                   (("^FIND *=.*find")
+                    (string-append "FIND = " (which "find")))
+                   (("LDD *=.*ldd")
+                    (string-append "LDD = " (which "ldd")))
+                   (("NAWK *=.*(n|g)awk")
+                    (string-append "NAWK = " (which "gawk")))
+                   (("XARGS *=.*xargs")
+                    (string-append "XARGS = " (which "xargs")))
+                   (("UNZIP *=.*unzip")
+                    (string-append "UNZIP = " (which "unzip")))
+                   (("ZIPEXE *=.*zip")
+                    (string-append "ZIPEXE = " (which "zip")))
+                   (("SED *=.*sed")
+                    (string-append "SED = " (which "sed"))))
+
+                 ;; Some of these timestamps cause problems as they are more than
+                 ;; 10 years ago, failing the build process.
+                 (substitute*
+                     "openjdk.src/jdk/src/share/classes/java/util/CurrencyData.properties"
+                   (("AZ=AZM;2005-12-31-20-00-00;AZN") "AZ=AZN")
+                   (("MZ=MZM;2006-06-30-22-00-00;MZN") "MZ=MZN")
+                   (("RO=ROL;2005-06-30-21-00-00;RON") "RO=RON")
+                   (("TR=TRL;2004-12-31-22-00-00;TRY") "TR=TRY")))
+               #t))
+           (add-before 'configure 'set-additional-paths
+             (lambda* (#:key inputs #:allow-other-keys)
+               (let ( ;; 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"))
+                                        (str  (read-line port)))
+                                   (close-pipe port)
+                                   str)))
+                 (substitute* "openjdk.src/jdk/make/common/shared/Sanity.gmk"
+                   (("ALSA_INCLUDE=/usr/include/alsa/version.h")
+                    (string-append "ALSA_INCLUDE="
+                                   (assoc-ref inputs "alsa-lib")
+                                   "/include/alsa/version.h")))
+                 (setenv "CC" "gcc")
+                 (setenv "CPATH"
+                         (string-append gcjinclude ":"
+                                        (assoc-ref inputs "libxcomposite")
+                                        "/include/X11/extensions" ":"
+                                        (assoc-ref inputs "libxrender")
+                                        "/include/X11/extensions" ":"
+                                        (assoc-ref inputs "libxtst")
+                                        "/include/X11/extensions" ":"
+                                        (assoc-ref inputs "libxinerama")
+                                        "/include/X11/extensions" ":"
+                                        (or (getenv "CPATH") "")))
+                 (setenv "ALT_OBJCOPY" (which "objcopy"))
+                 (setenv "ALT_CUPS_HEADERS_PATH"
+                         (string-append (assoc-ref inputs "cups")
+                                        "/include"))
+                 (setenv "ALT_FREETYPE_HEADERS_PATH"
+                         (string-append (assoc-ref inputs "freetype")
+                                        "/include"))
+                 (setenv "ALT_FREETYPE_LIB_PATH"
+                         (string-append (assoc-ref inputs "freetype")
+                                        "/lib")))
+               #t))
+           (add-before 'check 'fix-test-framework
+             (lambda _
+               ;; Fix PATH in test environment
+               (substitute* "test/jtreg/com/sun/javatest/regtest/Main.java"
+                 (("PATH=/bin:/usr/bin")
+                  (string-append "PATH=" (getenv "PATH"))))
+               (substitute* "test/jtreg/com/sun/javatest/util/SysEnv.java"
+                 (("/usr/bin/env") (which "env")))
+               (substitute* "openjdk.src/hotspot/test/test_env.sh"
+                 (("/bin/rm") (which "rm"))
+                 (("/bin/cp") (which "cp"))
+                 (("/bin/mv") (which "mv")))
+               #t))
+           (add-before 'check 'fix-hotspot-tests
+             (lambda _
+               (with-directory-excursion "openjdk.src/hotspot/test/"
+                 (substitute* "jprt.config"
+                   (("PATH=\"\\$\\{path4sdk\\}\"")
+                    (string-append "PATH=" (getenv "PATH")))
+                   (("make=/usr/bin/make")
+                    (string-append "make=" (which "make"))))
+                 (substitute* '("runtime/6626217/Test6626217.sh"
+                                "runtime/7110720/Test7110720.sh")
+                   (("/bin/rm") (which "rm"))
+                   (("/bin/cp") (which "cp"))
+                   (("/bin/mv") (which "mv"))))
+               #t))
+           (add-before 'check 'fix-jdk-tests
+             (lambda _
+               (with-directory-excursion "openjdk.src/jdk/test/"
+                 (substitute* "com/sun/jdi/JdbReadTwiceTest.sh"
+                   (("/bin/pwd") (which "pwd")))
+                 (substitute* "com/sun/jdi/ShellScaffold.sh"
+                   (("/bin/kill") (which "kill")))
+                 (substitute* "start-Xvfb.sh"
+                   ;;(("/usr/bin/X11/Xvfb") (which "Xvfb"))
+                   (("/usr/bin/nohup")    (which "nohup")))
+                 (substitute* "javax/security/auth/Subject/doAs/Test.sh"
+                   (("/bin/rm") (which "rm")))
+                 (substitute* "tools/launcher/MultipleJRE.sh"
+                   (("echo \"#!/bin/sh\"")
+                    (string-append "echo \"#!" (which "rm") "\""))
+                   (("/usr/bin/zip") (which "zip")))
+                 (substitute* "com/sun/jdi/OnThrowTest.java"
+                   (("#!/bin/sh") (string-append "#!" (which "sh"))))
+                 (substitute* "java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java"
+                   (("/usr/bin/uptime") (which "uptime")))
+                 (substitute* "java/lang/ProcessBuilder/Basic.java"
+                   (("/usr/bin/env") (which "env"))
+                   (("/bin/false") (which "false"))
+                   (("/bin/true") (which "true"))
+                   (("/bin/cp") (which "cp"))
+                   (("/bin/sh") (which "sh")))
+                 (substitute* "java/lang/ProcessBuilder/FeelingLucky.java"
+                   (("/bin/sh") (which "sh")))
+                 (substitute* "java/lang/ProcessBuilder/Zombies.java"
+                   (("/usr/bin/perl") (which "perl"))
+                   (("/bin/ps") (which "ps"))
+                   (("/bin/true") (which "true")))
+                 (substitute* "java/lang/Runtime/exec/ConcurrentRead.java"
+                   (("/usr/bin/tee") (which "tee")))
+                 (substitute* "java/lang/Runtime/exec/ExecWithDir.java"
+                   (("/bin/true") (which "true")))
+                 (substitute* "java/lang/Runtime/exec/ExecWithInput.java"
+                   (("/bin/cat") (which "cat")))
+                 (substitute* "java/lang/Runtime/exec/ExitValue.java"
+                   (("/bin/sh") (which "sh"))
+                   (("/bin/true") (which "true"))
+                   (("/bin/kill") (which "kill")))
+                 (substitute* "java/lang/Runtime/exec/LotsOfDestroys.java"
+                   (("/usr/bin/echo") (which "echo")))
+                 (substitute* "java/lang/Runtime/exec/LotsOfOutput.java"
+                   (("/usr/bin/cat") (which "cat")))
+                 (substitute* "java/lang/Runtime/exec/SleepyCat.java"
+                   (("/bin/cat") (which "cat"))
+                   (("/bin/sleep") (which "sleep"))
+                   (("/bin/sh") (which "sh")))
+                 (substitute* "java/lang/Runtime/exec/StreamsSurviveDestroy.java"
+                   (("/bin/cat") (which "cat")))
+                 (substitute* "java/rmi/activation/CommandEnvironment/SetChildEnv.java"
+                   (("/bin/chmod") (which "chmod")))
+                 (substitute* "java/util/zip/ZipFile/Assortment.java"
+                   (("/bin/sh") (which "sh"))))
+               #t))
+           (replace '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 ()
+                                   (let ((line (read-line port)))
+                                     (cond
+                                      ((eof-object? line) #t)
+                                      ((regexp-exec error-pattern line) #f)
+                                      (else (loop)))))))
+                      (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"))))))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let ((doc (string-append (assoc-ref outputs "doc")
+                                         "/share/doc/icedtea"))
+                     (jre (assoc-ref outputs "out"))
+                     (jdk (assoc-ref outputs "jdk")))
+                 (copy-recursively "openjdk.build/docs" doc)
+                 (copy-recursively "openjdk.build/j2re-image" jre)
+                 (copy-recursively "openjdk.build/j2sdk-image" jdk))
+               #t))
+           ;; By default IcedTea only generates an empty keystore.  In order to
+           ;; be able to use certificates in Java programs we need to generate a
+           ;; keystore from a set of certificates.  For convenience we use the
+           ;; certificates from the nss-certs package.
+           (add-after 'install 'install-keystore
+             (lambda* (#:key inputs outputs #:allow-other-keys)
+               (let* ((keystore  "cacerts")
+                      (certs-dir (string-append (assoc-ref inputs "nss-certs")
+                                                "/etc/ssl/certs"))
+                      (keytool   (string-append (assoc-ref outputs "jdk")
+                                                "/bin/keytool")))
+                 (define (extract-cert file target)
+                   (call-with-input-file file
+                     (lambda (in)
+                       (call-with-output-file target
+                         (lambda (out)
+                           (let loop ((line (read-line in 'concat))
+                                      (copying? #f))
+                             (cond
+                              ((eof-object? line) #t)
+                              ((string-prefix? "-----BEGIN" line)
+                               (display line out)
+                               (loop (read-line in 'concat) #t))
+                              ((string-prefix? "-----END" line)
+                               (display line out)
+                               #t)
+                              (else
+                               (when copying? (display line out))
+                               (loop (read-line in 'concat) copying?)))))))))
+                 (define (import-cert cert)
+                   (format #t "Importing certificate ~a\n" (basename cert))
+                   (let ((temp "tmpcert"))
+                     (extract-cert cert temp)
+                     (let ((port (open-pipe* OPEN_WRITE keytool
+                                             "-import"
+                                             "-alias" (basename cert)
+                                             "-keystore" keystore
+                                             "-storepass" "changeit"
+                                             "-file" temp)))
+                       (display "yes\n" port)
+                       (when (not (zero? (status:exit-val (close-pipe port))))
+                         (format #t "failed to import ~a\n" cert)))
+                     (delete-file temp)))
+
+                 ;; This is necessary because the certificate directory contains
+                 ;; files with non-ASCII characters in their names.
+                 (setlocale LC_ALL "en_US.utf8")
+                 (setenv "LC_ALL" "en_US.utf8")
+
+                 (for-each import-cert (find-files certs-dir "\\.pem$"))
+                 (mkdir-p (string-append (assoc-ref outputs "out")
+                                         "/lib/security"))
+                 (mkdir-p (string-append (assoc-ref outputs "jdk")
+                                         "/jre/lib/security"))
+
+                 ;; The cacerts files we are going to overwrite are chmod'ed as
+                 ;; read-only (444) in icedtea-8 (which derives from this
+                 ;; package).  We have to change this so we can overwrite them.
+                 (chmod (string-append (assoc-ref outputs "out")
+                                       "/lib/security/" keystore) #o644)
+                 (chmod (string-append (assoc-ref outputs "jdk")
+                                       "/jre/lib/security/" keystore) #o644)
+
+                 (install-file keystore
+                               (string-append (assoc-ref outputs "out")
+                                              "/lib/security"))
+                 (install-file keystore
+                               (string-append (assoc-ref outputs "jdk")
+                                              "/jre/lib/security"))
+                 #t))))))
       (native-inputs
        `(("openjdk-src"
           ,(drop "openjdk"
@@ -956,11 +784,55 @@ build process and its dependencies, whereas Make uses Makefile format.")
          ("hotspot-drop"
           ,(drop "hotspot"
                  "16ijxy8br8dla339m4i90wr9xpf7s8z3nrhfyxm7jahr8injpzyl"))
-         ,@(fold alist-delete (package-native-inputs icedtea-6)
-                 '("openjdk6-src"))))
+         ("ant" ,ant)
+         ("attr" ,attr)
+         ("autoconf" ,autoconf)
+         ("automake" ,automake)
+         ("coreutils" ,coreutils)
+         ("diffutils" ,diffutils)       ;for tests
+         ("gawk" ,gawk)
+         ("grep" ,grep)
+         ("libtool" ,libtool)
+         ("pkg-config" ,pkg-config)
+         ("wget" ,wget)
+         ("which" ,which)
+         ("cpio" ,cpio)
+         ("zip" ,zip)
+         ("unzip" ,unzip)
+         ("fastjar" ,fastjar)
+         ("libxslt" ,libxslt)           ;for xsltproc
+         ("nss-certs" ,nss-certs)
+         ("perl" ,perl)
+         ("procps" ,procps) ;for "free", even though I'm not sure we should use it
+         ("gcj" ,gcj)))
       (inputs
-       `(("libxcomposite" ,libxcomposite)
-         ,@(package-inputs icedtea-6))))))
+       `(("alsa-lib" ,alsa-lib)
+         ("cups" ,cups)
+         ("libx11" ,libx11)
+         ("libxcomposite" ,libxcomposite)
+         ("libxt" ,libxt)
+         ("libxtst" ,libxtst)
+         ("libxi" ,libxi)
+         ("libxinerama" ,libxinerama)
+         ("libxrender" ,libxrender)
+         ("libjpeg" ,libjpeg)
+         ("libpng" ,libpng)
+         ("mit-krb5" ,mit-krb5)
+         ("nss" ,nss)
+         ("giflib" ,giflib)
+         ("fontconfig" ,fontconfig)
+         ("freetype" ,freetype)
+         ("lcms" ,lcms)
+         ("zlib" ,zlib)
+         ("gtk" ,gtk+-2)))
+      (home-page "http://icedtea.classpath.org")
+      (synopsis "Java development kit")
+      (description
+       "This package provides the Java development kit OpenJDK built with the
+IcedTea build harness.")
+      ;; IcedTea is released under the GPL2 + Classpath exception, which is the
+      ;; same license as both GNU Classpath and OpenJDK.
+      (license license:gpl2+))))
 
 (define-public icedtea-8
   (let* ((version "3.3.0")
-- 
2.12.0






Information forwarded to guix-patches <at> gnu.org:
bug#25933; Package guix-patches. (Thu, 02 Mar 2017 17:45:02 GMT) Full text and rfc822 format available.

Message #8 received at 25933 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Allan Webber <cwebber <at> dustycloud.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 25933 <at> debbugs.gnu.org
Subject: Re: bug#25933: [PATCH] gnu: Remove icedtea-6.
Date: Thu, 02 Mar 2017 11:44:26 -0600
LGTM.  If it builds and runs for you, I say push it.




Information forwarded to guix-patches <at> gnu.org:
bug#25933; Package guix-patches. (Thu, 02 Mar 2017 18:01:01 GMT) Full text and rfc822 format available.

Message #11 received at 25933 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Christopher Allan Webber <cwebber <at> dustycloud.org>
Cc: Ricardo Wurmus <rekado <at> elephly.net>, 25933 <at> debbugs.gnu.org
Subject: Re: bug#25933: [PATCH] gnu: Remove icedtea-6.
Date: Thu, 2 Mar 2017 12:59:59 -0500
On Thu, Mar 02, 2017 at 11:44:26AM -0600, Christopher Allan Webber wrote:
> LGTM.  If it builds and runs for you, I say push it.

+1




Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Thu, 02 Mar 2017 20:49:02 GMT) Full text and rfc822 format available.

Notification sent to Ricardo Wurmus <rekado <at> elephly.net>:
bug acknowledged by developer. (Thu, 02 Mar 2017 20:49:02 GMT) Full text and rfc822 format available.

Message #16 received at 25933-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: Leo Famulari <leo <at> famulari.name>
Cc: Christopher Allan Webber <cwebber <at> dustycloud.org>,
 25933-done <at> debbugs.gnu.org
Subject: Re: bug#25933: [PATCH] gnu: Remove icedtea-6.
Date: Thu, 02 Mar 2017 21:48:51 +0100
Leo Famulari <leo <at> famulari.name> writes:

> On Thu, Mar 02, 2017 at 11:44:26AM -0600, Christopher Allan Webber wrote:
>> LGTM.  If it builds and runs for you, I say push it.
>
> +1

Both remaining icedtea packages built fine, so I pushed this to master
with commit 71053e147.

Thanks for the quick response!

~~ Ricardo





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 31 Mar 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 85 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.