gnu: icedtea7: Bootstrap with GCJ.
* gnu/packages/java.scm (icedtea7): Bootstrap with GCJ rather than compile with IcedTea6.
This commit is contained in:
parent
36742f4389
commit
47da6268c4
@ -610,6 +610,9 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(substitute* "Makefile.in"
|
'(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
|
;; do not leak information about the build host
|
||||||
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
|
(("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
|
||||||
"DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
|
"DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
|
||||||
@ -627,15 +630,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
#:locale "C"
|
#:locale "C"
|
||||||
,@(substitute-keyword-arguments (package-arguments icedtea6)
|
,@(substitute-keyword-arguments (package-arguments icedtea6)
|
||||||
((#:configure-flags flags)
|
((#:configure-flags flags)
|
||||||
`(let ((jdk (assoc-ref %build-inputs "icedtea6"))
|
`(delete "--with-openjdk-src-dir=./openjdk" ,flags))
|
||||||
(ant (assoc-ref %build-inputs "ant")))
|
|
||||||
`("--disable-bootstrap"
|
|
||||||
"--without-rhino"
|
|
||||||
"--enable-nss"
|
|
||||||
"--enable-system-lcms"
|
|
||||||
"--disable-downloading"
|
|
||||||
,(string-append "--with-ant-home=" ant)
|
|
||||||
,(string-append "--with-jdk-home=" jdk))))
|
|
||||||
((#:phases phases)
|
((#:phases phases)
|
||||||
`(modify-phases ,phases
|
`(modify-phases ,phases
|
||||||
(replace
|
(replace
|
||||||
@ -677,6 +672,12 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
(replace
|
(replace
|
||||||
'set-additional-paths
|
'set-additional-paths
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(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/jdk/make/common/shared/Sanity.gmk"
|
(substitute* "openjdk/jdk/make/common/shared/Sanity.gmk"
|
||||||
(("ALSA_INCLUDE=/usr/include/alsa/version.h")
|
(("ALSA_INCLUDE=/usr/include/alsa/version.h")
|
||||||
(string-append "ALSA_INCLUDE="
|
(string-append "ALSA_INCLUDE="
|
||||||
@ -684,7 +685,8 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
"/include/alsa/version.h")))
|
"/include/alsa/version.h")))
|
||||||
(setenv "CC" "gcc")
|
(setenv "CC" "gcc")
|
||||||
(setenv "CPATH"
|
(setenv "CPATH"
|
||||||
(string-append (assoc-ref inputs "libxrender")
|
(string-append gcjinclude ":"
|
||||||
|
(assoc-ref inputs "libxrender")
|
||||||
"/include/X11/extensions" ":"
|
"/include/X11/extensions" ":"
|
||||||
(assoc-ref inputs "libxtst")
|
(assoc-ref inputs "libxtst")
|
||||||
"/include/X11/extensions" ":"
|
"/include/X11/extensions" ":"
|
||||||
@ -700,7 +702,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
"/include"))
|
"/include"))
|
||||||
(setenv "ALT_FREETYPE_LIB_PATH"
|
(setenv "ALT_FREETYPE_LIB_PATH"
|
||||||
(string-append (assoc-ref inputs "freetype")
|
(string-append (assoc-ref inputs "freetype")
|
||||||
"/lib"))))
|
"/lib")))))
|
||||||
(add-after
|
(add-after
|
||||||
'unpack 'fix-x11-extension-include-path
|
'unpack 'fix-x11-extension-include-path
|
||||||
(lambda* (#:key inputs #:allow-other-keys)
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
@ -733,7 +735,6 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
(delete 'patch-patches))))))
|
(delete 'patch-patches))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("ant" ,ant)
|
`(("ant" ,ant)
|
||||||
("icedtea6" ,icedtea6 "jdk")
|
|
||||||
("openjdk-drop"
|
("openjdk-drop"
|
||||||
,(drop "openjdk"
|
,(drop "openjdk"
|
||||||
"03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak"))
|
"03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak"))
|
||||||
@ -756,4 +757,4 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
|||||||
,(drop "hotspot"
|
,(drop "hotspot"
|
||||||
"1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p"))
|
"1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p"))
|
||||||
,@(fold alist-delete (package-native-inputs icedtea6)
|
,@(fold alist-delete (package-native-inputs icedtea6)
|
||||||
'("openjdk6-src" "ant-bootstrap" "gcj")))))))
|
'("openjdk6-src" "ant-bootstrap")))))))
|
||||||
|
Loading…
Reference in New Issue
Block a user