GNU bug report logs -
#33008
[WIP] openjdk 9 and 10
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 33008 in the body.
You can then email your comments to 33008 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Wed, 10 Oct 2018 21:42:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Julien Lepiller <julien <at> lepiller.eu>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Wed, 10 Oct 2018 21:42:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi, here are two patches that add openjdk9 and openjdk10. The patches
must be applied on top of core-updates (or master once core-updates is
merged) because of an issue with gcc on master. I haven't tested them
too much, and they were probably too easy to build, so I wouldn't be
surprised if we found something bad in them.
[0001-gnu-Add-openjdk9.patch (text/x-patch, attachment)]
[0002-gnu-Add-openjdk10.patch (text/x-patch, attachment)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Wed, 10 Oct 2018 23:25:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 33008 <at> debbugs.gnu.org (full text, mbox):
Julien Lepiller writes:
> Hi, here are two patches that add openjdk9 and openjdk10. The
> patches
> must be applied on top of core-updates (or master once
> core-updates is
> merged) because of an issue with gcc on master. I haven't tested
> them
> too much, and they were probably too easy to build, so I
> wouldn't be
> surprised if we found something bad in them.
> From 4d83922aa5e02b17e6af860aa827f24131476c81 Mon Sep 17
> 00:00:00 2001
> From: Julien Lepiller <julien <at> lepiller.eu>
> Date: Wed, 10 Oct 2018 22:26:39 +0200
> Subject: [PATCH 1/2] gnu: Add openjdk9.
>
> * gnu/packages/java.scm (openjdk9): New variable.
> ---
> gnu/packages/java.scm | 123
> ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 123 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index 93f5bb6af..e53168713 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -46,6 +46,7 @@
> #:use-module (gnu packages cpio)
> #:use-module (gnu packages cups)
> #:use-module (gnu packages compression)
> + #:use-module (gnu packages elf)
> #:use-module (gnu packages fontutils)
> #:use-module (gnu packages gawk)
> #:use-module (gnu packages gettext)
> @@ -1672,6 +1673,128 @@ new Date();"))
> '("jdk" "openjdk-src" "corba-drop" "jaxp-drop"
> "jaxws-drop"
> "jdk-drop" "langtools-drop"
> "hotspot-drop")))))))
>
> +(define-public openjdk9
> + (package
> + (name "openjdk")
> + (version "9+181")
> + (source (origin
> + (method url-fetch)
> + (uri
> "http://hg.openjdk.java.net/jdk/jdk/archive/3cc80be736f2.tar.bz2")
> + (file-name (string-append name "-" version
> ".tar.bz2"))
> + (sha256
> + (base32
> +
> "01ihmyf7k5z17wbr7xig7y40l9f01d5zjgkcmawn1102hw5kchpq"))))
> + (build-system gnu-build-system)
> + (outputs '("out" "jdk" "doc"))
> + (arguments
> + `(#:tests? #f; require jtreg
> + #:imported-modules
> + ((guix build syscalls)
> + ,@%gnu-build-system-modules)
> + #:phases
> + (modify-phases %standard-phases
> + (delete 'patch-source-shebangs)
> + (replace 'configure
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + ;; TODO: unbundle libpng and lcms
> + (invoke "bash" "./configure"
> + (string-append "--with-freetype="
> (assoc-ref inputs "freetype"))
> + "--disable-freetype-bundling"
> + "--disable-warnings-as-errors"
> + "--disable-hotspot-gtest"
> + "--with-giflib=system"
> + "--with-libjpeg=system"
> + (string-append "--prefix=" (assoc-ref
> outputs "out")))
> + #t))
> + (replace 'build
> + (lambda _
> + (with-output-to-file ".src-rev"
> + (lambda _
> + (display ,version)))
> + (setenv "GUIX_LD_WRAPPER_ALLOW_IMPURITIES" "yes")
> + (invoke "make" "all")
> + #t))
> + ;; Some of the libraries in the lib/ folder link to
> libjvm.so.
> + ;; But that shared object is located in the server/
> folder, so it
> + ;; cannot be found. This phase creates a symbolic
> link in the
> + ;; lib/ folder so that the other libraries can find
> it.
> + ;;
> + ;; See:
> + ;;
> https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00169.html
> + ;;
> + ;; FIXME: Find the bug in the build system, so that
> this symlink is
> + ;; not needed.
> + (add-after 'install 'install-libjvm
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let* ((lib-out (string-append (assoc-ref outputs
> "out")
> + "/lib"))
> + (lib-jdk (string-append (assoc-ref outputs
> "jdk")
> + "/lib")))
> + (symlink (string-append lib-jdk
> "/server/libjvm.so")
> + (string-append lib-jdk "/libjvm.so"))
> + (symlink (string-append lib-out
> "/server/libjvm.so")
> + (string-append lib-out "/libjvm.so")))
> + #t))
> + (replace 'install
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let ((out (assoc-ref outputs "out"))
> + (jdk (assoc-ref outputs "jdk"))
> + (doc (assoc-ref outputs "doc"))
> + (images (car (find-files "build"
> ".*-server-release"
> + #:directories?
> #t))))
> + (copy-recursively (string-append images
> "/images/jdk") jdk)
> + (copy-recursively (string-append images
> "/images/jre") out)
> + (copy-recursively (string-append images
> "/images/docs") doc))
> + #t))
> + (add-after 'install 'strip-zip-timestamps
> + (lambda* (#:key outputs #:allow-other-keys)
> + (use-modules (guix build syscalls))
> + (for-each (lambda (zip)
> + (let ((dir (mkdtemp!
> "zip-contents.XXXXXX")))
> + (with-directory-excursion dir
> + (invoke "unzip" zip))
> + (delete-file zip)
> + (for-each (lambda (file)
> + (let ((s (lstat file)))
> + (unless (eq?
> (stat:type s) 'symlink)
> + (format #t "reset
> ~a~%" file)
> + (utime file 0 0 0
> 0))))
> + (find-files dir #:directories?
> #t))
> + (with-directory-excursion dir
> + (let ((files (find-files "." ".*"
> #:directories? #t)))
> + (apply invoke "zip" "-0" "-X"
> zip files)))))
> + (find-files (assoc-ref outputs "doc")
> ".*.zip$"))
> + #t)))))
> + (inputs
> + `(("alsa-lib" ,alsa-lib)
> + ("cups" ,cups)
> + ("fontconfig" ,fontconfig)
> + ("freetype" ,freetype)
> + ("giflib" ,giflib)
> + ("lcms" ,lcms)
> + ("libelf" ,libelf)
> + ("libjpeg" ,libjpeg)
> + ("libice" ,libice)
> + ("libpng" ,libpng)
> + ("libx11" ,libx11)
> + ("libxcomposite" ,libxcomposite)
> + ("libxi" ,libxi)
> + ("libxinerama" ,libxinerama)
> + ("libxrender" ,libxrender)
> + ("libxt" ,libxt)
> + ("libxtst" ,libxtst)))
> + (native-inputs
> + `(("icedtea-8" ,icedtea-8)
> + ("icedtea-8:jdk" ,icedtea-8 "jdk")
> + ("unzip" ,unzip)
> + ("which" ,which)
> + ("zip" ,zip)))
> + (home-page "http://openjdk.java.net/projects/jdk9/")
> + (synopsis "Java development kit")
> + (description
> + "This package provides the Java development kit OpenJDK.")
> + (license license:gpl2+)))
> +
> (define-public icedtea icedtea-8)
>
>
> --
> 2.18.0
>
> From b91996c2c84581253f113e5fc81ab0e32b3ad4ce Mon Sep 17
> 00:00:00 2001
> From: Julien Lepiller <julien <at> lepiller.eu>
> Date: Wed, 10 Oct 2018 22:29:50 +0200
> Subject: [PATCH 2/2] gnu: Add openjdk10.
>
> * gnu/packages/java.scm (openjdk10): New variable.
> ---
> gnu/packages/java.scm | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
> index e53168713..36d7fcb2c 100644
> --- a/gnu/packages/java.scm
> +++ b/gnu/packages/java.scm
> @@ -1795,6 +1795,41 @@ new Date();"))
> "This package provides the Java development kit OpenJDK.")
> (license license:gpl2+)))
>
> +(define-public openjdk10
> + (package
> + (inherit openjdk9)
> + (name "openjdk")
> + (version "10+46")
> + (source (origin
> + (method url-fetch)
> + (uri
> "http://hg.openjdk.java.net/jdk/jdk/archive/6fa770f9f8ab.tar.bz2")
> + (file-name (string-append name "-" version
> ".tar.bz2"))
> + (sha256
> + (base32
> +
> "0zywq2203b4hx4jms9vbwvjcj1d3k2v3qpx4s33729fkpmid97r4"))))
> + (arguments
> + (substitute-keyword-arguments (package-arguments
> openjdk9)
> + ((#:phases phases)
> + `(modify-phases ,phases
> + (replace 'configure
> + (lambda* (#:key inputs outputs
> #:allow-other-keys)
> + (invoke "bash" "./configure"
> + (string-append "--with-freetype="
> (assoc-ref inputs "freetype"))
> + "--disable-freetype-bundling"
> + "--disable-warnings-as-errors"
> + "--disable-hotspot-gtest"
> + "--with-giflib=system"
> + "--with-libjpeg=system"
> + "--with-native-debug-symbols=zipped"
> + (string-append "--prefix=" (assoc-ref
> outputs "out")))
> + #t))))))
> + (native-inputs
> + `(("openjdk9" ,openjdk9)
> + ("openjdk9:jdk" ,openjdk9 "jdk")
> + ("unzip" ,unzip)
> + ("which" ,which)
> + ("zip" ,zip)))))
> +
> (define-public icedtea icedtea-8)
>
>
Hi Julien,
Could you, or somebody, perhaps explain to me what the difference
between the IcedTea distribution and OpenJDK is?
--
Brett M. Gilio
Free Software Foundation, Member
https://gnu.org/s/guix/ | https://emacs.org
Information forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:24:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 33008 <at> debbugs.gnu.org (full text, mbox):
> Hi Julien,
>
> Could you, or somebody, perhaps explain to me what the difference
> between the IcedTea distribution and OpenJDK is?
OpenJDK is the free software version of Oracle's (or Sun's) JDK. It used
to lack a few components to be buildable and runnable with only free
software, and was a collection of separate components that were hard to
build. IcedTea is a project to build a coherent collection of these
components, and it also implemented a few missing components. IcedTea is
only available for Java 6 to 8. From java 9, oracle did provide enough
free software components and buildable sources, so we can build OpenJDK
without a project like IcedTea.
https://en.wikipedia.org/wiki/IcedTea for more information ;)
Information forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Thu, 11 Oct 2018 08:50:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 33008 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Julien,
do you know how to find javadoc in icedtea? After I invoked
"guix build -S icedtea" I only got some kind of meta builder which mentions
javadoc in copy-files.txt but does not actually directly have it.
(I want to fix the reproducibility problem in javadoc-generated output)
Maybe openjdk has the same problem (current timestamp in comment in generated
html). It's easy to find using "guix build --rounds=2" in the doc output.
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Thu, 11 Oct 2018 09:28:01 GMT)
Full text and
rfc822 format available.
Message #17 received at 33008 <at> debbugs.gnu.org (full text, mbox):
Le 2018-10-11 10:48, Danny Milosavljevic a écrit :
> Hi Julien,
>
> do you know how to find javadoc in icedtea? After I invoked
> "guix build -S icedtea" I only got some kind of meta builder which
> mentions
> javadoc in copy-files.txt but does not actually directly have it.
>
> (I want to fix the reproducibility problem in javadoc-generated output)
>
> Maybe openjdk has the same problem (current timestamp in comment in
> generated
> html). It's easy to find using "guix build --rounds=2" in the doc
> output.
Sorry, I have no idea. Javadoc is built in icedtea, but I don't know how
it is invoked.
Information forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Thu, 18 Oct 2018 11:58:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 33008 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Wed, 10 Oct 2018 23:40:59 +0200
Julien Lepiller <julien <at> lepiller.eu> wrote:
> Hi, here are two patches that add openjdk9 and openjdk10. The patches
> must be applied on top of core-updates (or master once core-updates is
> merged) because of an issue with gcc on master. I haven't tested them
> too much, and they were probably too easy to build, so I wouldn't be
> surprised if we found something bad in them.
Hi Julien,
thanks for caring about JDK! I'm positively surprised that it works
without any Icedtea-efford. The package definition doesn't look too
complicated and it doesn't take too much time to build. And, no, I
haven't found something awfully "bad" in there :-)
I could even play with the module system and build my own mini-JRE with
only the core modules. I wonder if this new feature of JDK9 would be
useful in Guix one day.
It builds reproducibly, besides from the docs. Maybe we can fix
that with the newest Icedtea patch from Gabor? I haven't yet looked
into that patch.
Version:
(version "9+181")
Where does that "+181" come from? When I look here:
https://jdk.java.net/archive/
I find 9.0.1 and 9.0.4. But maybe that's the versioning of the
precompiled releases?
Also, the "+" is not very user-friendly:
./pre-inst-env guix build openjdk <at> 9
guix build: error: openjdk: package not found for version 9
Whereas for icedtea I'm used to say: guix build icedtea <at> 1
When I temporarily change that to "9.181" it works. I think there was
some functionality within the "@"-logic that matches versions modulo
dots. You get what I mean?
Also, as I don't know where the version comes from, I couldn't check
weather this one is the latest or not.
[] Binaries included? If yes, created a snipped?
find . -name "*.rar" -or -name "*.pdf" -or -name "*.bin" -or -name "*.pdf" -or -name "*.dsy" -or -name "*.jar" -or -name "*.exe"
There is one exe, many test jars. Two test bins,
and two jars in the main:
find hotspot/src/ -name "*.jar"
hotspot/src/share/tools/IdealGraphVisualizer/branding/modules/org-netbeans-core-windows.jar
hotspot/src/share/tools/IdealGraphVisualizer/branding/core/core.jar
But that looks like being part of some tool anyway.
Can you strip some/all away? I haven't investigated further. As we are
currently not running any tests, stripping away the test jars should be
fine.
Is there a reason you removed this phase:
(delete 'patch-source-shebangs)
Homepage: Use HTTPS
Donload-URL: Use HTTPS
License: I think you missed the classpath thing, cmp. IcedTea:
;; IcedTea is released under the GPL2 + Classpath exception, which is the
;; same license as both GNU Classpath and OpenJDK.
When I check with licencechecker there are some files under BSD-3:
nashorn/samples/*
jdk/make/netbeans/*
jdk/src/demo/*
test/fmw/gest/include/gtest/internal/*
though I'm not sure if they are relevant, as they all are in "test" or
"make" or "demo".
Björn
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#33008
; Package
guix-patches
.
(Thu, 18 Oct 2018 14:07:02 GMT)
Full text and
rfc822 format available.
Message #23 received at 33008 <at> debbugs.gnu.org (full text, mbox):
Le 2018-10-18 13:57, Björn Höfling a écrit :
> On Wed, 10 Oct 2018 23:40:59 +0200
> Julien Lepiller <julien <at> lepiller.eu> wrote:
>
>> Hi, here are two patches that add openjdk9 and openjdk10. The patches
>> must be applied on top of core-updates (or master once core-updates is
>> merged) because of an issue with gcc on master. I haven't tested them
>> too much, and they were probably too easy to build, so I wouldn't be
>> surprised if we found something bad in them.
>
> Hi Julien,
>
> thanks for caring about JDK! I'm positively surprised that it works
> without any Icedtea-efford. The package definition doesn't look too
> complicated and it doesn't take too much time to build. And, no, I
> haven't found something awfully "bad" in there :-)
>
> I could even play with the module system and build my own mini-JRE with
> only the core modules. I wonder if this new feature of JDK9 would be
> useful in Guix one day.
>
> It builds reproducibly, besides from the docs. Maybe we can fix
> that with the newest Icedtea patch from Gabor? I haven't yet looked
> into that patch.
>
> Version:
> (version "9+181")
>
> Where does that "+181" come from? When I look here:
>
> https://jdk.java.net/archive/
>
> I find 9.0.1 and 9.0.4. But maybe that's the versioning of the
> precompiled releases?
This page says the binary comes from the tag jdk-9.0.4+12, but there
is no such tag in the repository here:
https://hg.openjdk.java.net/jdk9/jdk9/tags
But maybe I'm not looking at the right place?
>
> Also, the "+" is not very user-friendly:
>
> ./pre-inst-env guix build openjdk <at> 9
> guix build: error: openjdk: package not found for version 9
>
> Whereas for icedtea I'm used to say: guix build icedtea <at> 1
>
> When I temporarily change that to "9.181" it works. I think there was
> some functionality within the "@"-logic that matches versions modulo
> dots. You get what I mean?
Ok, I'll change the version number to 9.181.
>
> Also, as I don't know where the version comes from, I couldn't check
> weather this one is the latest or not.
It's the latest tag in the list and I don't expect any new release now.
>
> [] Binaries included? If yes, created a snipped?
> find . -name "*.rar" -or -name "*.pdf" -or -name "*.bin" -or -name
> "*.pdf" -or -name "*.dsy" -or -name "*.jar" -or -name "*.exe"
>
> There is one exe, many test jars. Two test bins,
> and two jars in the main:
>
> find hotspot/src/ -name "*.jar"
> hotspot/src/share/tools/IdealGraphVisualizer/branding/modules/org-netbeans-core-windows.jar
> hotspot/src/share/tools/IdealGraphVisualizer/branding/core/core.jar
>
> But that looks like being part of some tool anyway.
>
> Can you strip some/all away? I haven't investigated further. As we are
> currently not running any tests, stripping away the test jars should be
> fine.
I'll try that, thanks for noticing :)
>
> Is there a reason you removed this phase:
> (delete 'patch-source-shebangs)
>
> Homepage: Use HTTPS
> Donload-URL: Use HTTPS
>
> License: I think you missed the classpath thing, cmp. IcedTea:
>
> ;; IcedTea is released under the GPL2 + Classpath exception, which is
> the
> ;; same license as both GNU Classpath and OpenJDK.
>
> When I check with licencechecker there are some files under BSD-3:
>
> nashorn/samples/*
> jdk/make/netbeans/*
> jdk/src/demo/*
> test/fmw/gest/include/gtest/internal/*
>
> though I'm not sure if they are relevant, as they all are in "test" or
> "make" or "demo".
>
> Björn
Reply sent
to
Julien Lepiller <julien <at> lepiller.eu>
:
You have taken responsibility.
(Thu, 01 Nov 2018 20:45:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Julien Lepiller <julien <at> lepiller.eu>
:
bug acknowledged by developer.
(Thu, 01 Nov 2018 20:45:02 GMT)
Full text and
rfc822 format available.
Message #28 received at 33008-done <at> debbugs.gnu.org (full text, mbox):
Le Wed, 10 Oct 2018 23:40:59 +0200,
Julien Lepiller <julien <at> lepiller.eu> a écrit :
> Hi, here are two patches that add openjdk9 and openjdk10. The patches
> must be applied on top of core-updates (or master once core-updates is
> merged) because of an issue with gcc on master. I haven't tested them
> too much, and they were probably too easy to build, so I wouldn't be
> surprised if we found something bad in them.
Pushed to core-updates with some modifications: I removed bundled
binaries in a snippet and re-enabled the patch-source-shebangs phase.
One of the files should not have been modified though, so I added a
phase to reverse the shebang of that file.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 30 Nov 2018 12:24:03 GMT)
Full text and
rfc822 format available.
This bug report was last modified 6 years and 204 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.