gnu: Remove icedtea-6.

* gnu/packages/java.scm (icedtea-6): Remove variable.
* gnu/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove patch.
This commit is contained in:
Ricardo Wurmus 2021-12-17 23:38:44 +01:00
parent a82ac2c74f
commit 96ccb89bef
No known key found for this signature in database
GPG key ID: 197A5888235FACAC
3 changed files with 0 additions and 2220 deletions

View file

@ -1264,7 +1264,6 @@ dist_patch_DATA = \
%D%/packages/patches/icecat-use-older-reveal-hidden-html.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-6-extend-hotspot-aarch64-support.patch \
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch\
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \

View file

@ -885,394 +885,6 @@ (define jamvm-with-ecj4
(modify-inputs (package-inputs jamvm)
(replace "ecj-javac-wrapper" ecj4-javac-wrapper)))))
;; The bootstrap JDK consisting of jamvm, classpath-devel,
;; ecj-javac-wrapper-final cannot build Icedtea 2.x directly, because it's
;; written in Java 7. It can, however, build the unmaintained Icedtea 1.x,
;; which uses Java 6 only.
(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"))
(patches (search-patches
"icedtea-6-extend-hotspot-aarch64-support.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(substitute* "Makefile.in"
;; do not leak information about the build host
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
"DISTRIBUTION_ID=\"\\\"guix\\\"\""))
#t))))
(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.
#: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)
(srfi srfi-19))
#:configure-flags
`("--enable-bootstrap"
"--enable-nss"
"--without-rhino"
,(string-append "--with-parallel-jobs="
(number->string (parallel-job-count)))
"--disable-downloading"
"--disable-tests"
,(string-append "--with-ecj="
(assoc-ref %build-inputs "ecj")
"/share/java/ecj-bootstrap.jar")
,(string-append "--with-jar="
(assoc-ref %build-inputs "fastjar")
"/bin/fastjar")
,(string-append "--with-jdk-home="
(assoc-ref %build-inputs "classpath"))
,(string-append "--with-java="
(assoc-ref %build-inputs "jamvm")
"/bin/jamvm"))
#:phases
(modify-phases %standard-phases
(replace 'unpack
(lambda* (#:key source inputs #:allow-other-keys)
(invoke "tar" "xvf" source)
(chdir (string-append "icedtea6-" ,version))
(mkdir "openjdk")
(copy-recursively (assoc-ref inputs "openjdk-src") "openjdk")
;; The convenient OpenJDK source bundle is no longer
;; available for download, so we have to take the sources
;; from the Mercurial repositories and change the Makefile
;; to avoid tests for the OpenJDK zip archive.
(with-directory-excursion "openjdk"
(for-each (lambda (part)
(mkdir part)
(copy-recursively
(assoc-ref inputs
(string-append part "-src"))
part))
'("jdk" "hotspot" "corba"
"langtools" "jaxp" "jaxws")))
(substitute* "patches/freetypeversion.patch"
(("REQUIRED_FREETYPE_VERSION = 2.2.1")
"REQUIRED_FREETYPE_VERSION = 2.10.1"))
(substitute* "Makefile.in"
(("echo \"ERROR: No up-to-date OpenJDK zip available\"; exit -1;")
"echo \"trust me\";")
;; The contents of the bootstrap directory must be
;; writeable but when copying from the store they are
;; not.
(("mkdir -p lib/rt" line)
(string-append line "; chmod -R u+w $(BOOT_DIR)")))
(invoke "chmod" "-R" "u+w" "openjdk")))
(add-after 'unpack 'use-classpath
(lambda* (#:key inputs #:allow-other-keys)
(let ((jvmlib (assoc-ref inputs "classpath"))
(jamvm (assoc-ref inputs "jamvm")))
;; Classpath does not provide rt.jar.
(substitute* "Makefile.in"
(("\\$\\(SYSTEM_JDK_DIR\\)/jre/lib/rt.jar")
(string-append jvmlib "/share/classpath/glibj.zip")))
;; Make sure we can find all classes.
(setenv "CLASSPATH"
(string-append jvmlib "/share/classpath/glibj.zip:"
jvmlib "/share/classpath/tools.zip:"
jamvm "/lib/rt.jar"))
(setenv "JAVACFLAGS"
(string-append "-cp "
jvmlib "/share/classpath/glibj.zip:"
jvmlib "/share/classpath/tools.zip")))
#t))
(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 'fix-openjdk
(lambda _
(substitute* "openjdk/jdk/make/common/Defs-linux.gmk"
(("CFLAGS_COMMON = -fno-strict-aliasing" all)
(string-append all " -fcommon")))
(substitute* "openjdk/hotspot/src/share/vm/code/relocInfo.hpp"
(("inline friend relocInfo prefix_relocInfo\\(int datalen = 0\\);")
"inline friend relocInfo prefix_relocInfo(int datalen);"))
(substitute*
'("openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c"
"openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c")
(("#include <sys/sysctl.h>")
"#include <linux/sysctl.h>"))
;; It looks like the "h = 31 * h + c" line of the jsum()
;; function gets miscompiled. After a few iterations of the loop
;; the result of "31 * h" is always 0x8000000000000000.
;; Bad optimization maybe...
;; Transform "31 * h + c" into a convoluted "32 * h + c - h"
;; as a workaround.
(substitute* "openjdk/hotspot/src/share/vm/memory/dump.cpp"
(("h = 31 \\* h \\+ c;")
"jlong h0 = h;\nfor(int i = 0; i < 5; i++) h += h;\nh += c - h0;"))
;; Our gcc version is higher than 4.3; replace the failing
;; expression to test this by its result.
(substitute* "openjdk/jdk/make/sun/font/Makefile"
(("\"\\$\\(shell expr.*0\"")
"\"1\" \"0\""))))
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs #:allow-other-keys)
;; buildtree.make generates shell scripts, so we need to replace
;; the generated shebang
(substitute* '("openjdk/hotspot/make/linux/makefiles/buildtree.make")
(("/bin/sh") (which "bash")))
(let ((corebin (string-append
(assoc-ref inputs "coreutils") "/bin/"))
(binbin (string-append
(assoc-ref inputs "binutils") "/bin/"))
(grepbin (string-append
(assoc-ref inputs "grep") "/bin/")))
(substitute* '("openjdk/jdk/make/common/shared/Defs-linux.gmk"
"openjdk/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 inputs "gcc") "/bin/"))
(("DEF_OBJCOPY *=.*objcopy")
(string-append "DEF_OBJCOPY = " (which "objcopy"))))
;; fix path to alsa header
(substitute* "openjdk/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")))
;; fix hard-coded utility paths
(substitute* '("openjdk/jdk/make/common/shared/Defs-utils.gmk"
"openjdk/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/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)
(setenv "CPATH"
(string-append (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_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 'build 'disable-os-version-check
;; allow build on linux major version change
(lambda _
(setenv "DISABLE_HOTSPOT_OS_VERSION_CHECK" "ok")
#t))
(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)))))
(native-inputs
`(("ant" ,ant-bootstrap)
("alsa-lib" ,alsa-lib)
("attr" ,attr)
("classpath" ,classpath-devel)
("coreutils" ,coreutils)
("cpio" ,cpio)
("cups" ,cups)
("ecj" ,ecj-bootstrap)
("ecj-javac" ,ecj-javac-wrapper-final)
("fastjar" ,fastjar)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("gtk" ,gtk+-2)
("gawk" ,gawk)
("giflib" ,giflib)
("grep" ,grep)
("jamvm" ,jamvm)
("lcms" ,lcms)
("libjpeg" ,libjpeg-turbo)
("libnsl" ,libnsl)
("libpng" ,libpng)
("libtool" ,libtool)
("libx11" ,libx11)
("libxcomposite" ,libxcomposite)
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("libxrender" ,libxrender)
("libxslt" ,libxslt) ;for xsltproc
("libxt" ,libxt)
("libxtst" ,libxtst)
("mit-krb5" ,mit-krb5)
("nss" ,nss)
("nss-certs" ,nss-certs)
("perl" ,perl)
("pkg-config" ,pkg-config)
("procps" ,procps) ;for "free", even though I'm not sure we should use it
("unzip" ,unzip)
("wget" ,wget)
("which" ,which)
("zip" ,zip)
("zlib" ,zlib)
("openjdk-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/")
(changeset "jdk6-b41")))
(file-name "jdk6-checkout")
(sha256
(base32
"14q47yfg586fs64w30g8mk92m5dkxsvr36zzh0ra99xk5x0x96mv"))))
("jdk-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/jdk/")
(changeset "jdk6-b41")))
(file-name "jdk-checkout")
(sha256
(base32
"165824nhg1k1dx6zs9dny0j49rmk35jw5b13dmz8c77jfajml4v9"))))
("hotspot-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/hotspot/")
(changeset "jdk6-b41")))
(file-name "hotspot-checkout")
(sha256
(base32
"07lc1z4k5dj9nrc1wvwmpvxr3xgxrdkdh53xb95skk5ij49yagfd"))))
("corba-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/corba/")
(changeset "jdk6-b41")))
(file-name "corba-checkout")
(sha256
(base32
"1p9g1r9dnax2iwp7yb59qx7m4nmshqhwmrb2b8jj8zgbd9dl2i3q"))))
("langtools-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/langtools/")
(changeset "jdk6-b41")))
(file-name "langtools-checkout")
(sha256
(base32
"1x52wd67fynbbd9ild6fb4wvba3f5hhwk03qdjfazd0a1qr37z3d"))))
("jaxp-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/jaxp/")
(changeset "jdk6-b41")))
(file-name "jaxp-checkout")
(sha256
(base32
"0shlqrvzpr4nrkmv215lbxnby63s3yvbdh1yxcayznsyqwa4nlxm"))))
("jaxws-src"
,(origin
(method hg-fetch)
(uri (hg-reference
(url "http://hg.openjdk.java.net/jdk6/jdk6/jaxws/")
(changeset "jdk6-b41")))
(file-name "jaxws-checkout")
(sha256
(base32
"0835lkw8vib1xhp8lxnybhlvzdh699hbi4mclxanydjk63zbpxk0"))))))
(home-page "http://icedtea.classpath.org")
(synopsis "Java development kit")
(description
"This package provides the OpenJDK built with the IcedTea build harness.
This version of the OpenJDK is no longer maintained and is only used for
bootstrapping purposes.")
;; 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.13")
(drop (lambda (name hash)