summaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-06-09 12:53:23 +0200
committerRicardo Wurmus <ricardo.wurmus@mdc-berlin.de>2015-06-12 12:57:30 +0200
commit47da6268c45796d858eccff601e17ce11a7aeb62 (patch)
tree3770e9cc6616eb22f3f2739f9c9dbe25650f9a4e /gnu/packages/java.scm
parent36742f438939fc30c8ebd71400218e31540e8acb (diff)
gnu: icedtea7: Bootstrap with GCJ.
* gnu/packages/java.scm (icedtea7): Bootstrap with GCJ rather than compile with IcedTea6.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm71
1 files changed, 36 insertions, 35 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index ea8de9e2cf4..aa8cd2cf51a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -610,6 +610,9 @@ build process and its dependencies, whereas Make uses Makefile format.")
610 (modules '((guix build utils))) 610 (modules '((guix build utils)))
611 (snippet 611 (snippet
612 '(substitute* "Makefile.in" 612 '(substitute* "Makefile.in"
613 ;; link against libgcj to avoid linker error
614 (("-o native-ecj")
615 "-lgcj -o native-ecj")
613 ;; do not leak information about the build host 616 ;; do not leak information about the build host
614 (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") 617 (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"")
615 "DISTRIBUTION_ID=\"\\\"guix\\\"\""))))) 618 "DISTRIBUTION_ID=\"\\\"guix\\\"\"")))))
@@ -627,15 +630,7 @@ build process and its dependencies, whereas Make uses Makefile format.")
627 #:locale "C" 630 #:locale "C"
628 ,@(substitute-keyword-arguments (package-arguments icedtea6) 631 ,@(substitute-keyword-arguments (package-arguments icedtea6)
629 ((#:configure-flags flags) 632 ((#:configure-flags flags)
630 `(let ((jdk (assoc-ref %build-inputs "icedtea6")) 633 `(delete "--with-openjdk-src-dir=./openjdk" ,flags))
631 (ant (assoc-ref %build-inputs "ant")))
632 `("--disable-bootstrap"
633 "--without-rhino"
634 "--enable-nss"
635 "--enable-system-lcms"
636 "--disable-downloading"
637 ,(string-append "--with-ant-home=" ant)
638 ,(string-append "--with-jdk-home=" jdk))))
639 ((#:phases phases) 634 ((#:phases phases)
640 `(modify-phases ,phases 635 `(modify-phases ,phases
641 (replace 636 (replace
@@ -677,30 +672,37 @@ build process and its dependencies, whereas Make uses Makefile format.")
677 (replace 672 (replace
678 'set-additional-paths 673 'set-additional-paths
679 (lambda* (#:key inputs #:allow-other-keys) 674 (lambda* (#:key inputs #:allow-other-keys)
680 (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk" 675 (let (;; Get target-specific include directory so that
681 (("ALSA_INCLUDE=/usr/include/alsa/version.h") 676 ;; libgcj-config.h is found when compiling hotspot.
682 (string-append "ALSA_INCLUDE=" 677 (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include"))
683 (assoc-ref inputs "alsa-lib") 678 (str (read-line port)))
684 "/include/alsa/version.h"))) 679 (close-pipe port)
685 (setenv "CC" "gcc") 680 str)))
686 (setenv "CPATH" 681 (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk"
687 (string-append (assoc-ref inputs "libxrender") 682 (("ALSA_INCLUDE=/usr/include/alsa/version.h")
688 "/include/X11/extensions" ":" 683 (string-append "ALSA_INCLUDE="
689 (assoc-ref inputs "libxtst") 684 (assoc-ref inputs "alsa-lib")
690 "/include/X11/extensions" ":" 685 "/include/alsa/version.h")))
691 (assoc-ref inputs "libxinerama") 686 (setenv "CC" "gcc")
692 "/include/X11/extensions" ":" 687 (setenv "CPATH"
693 (or (getenv "CPATH") ""))) 688 (string-append gcjinclude ":"
694 (setenv "ALT_OBJCOPY" (which "objcopy")) 689 (assoc-ref inputs "libxrender")
695 (setenv "ALT_CUPS_HEADERS_PATH" 690 "/include/X11/extensions" ":"
696 (string-append (assoc-ref inputs "cups") 691 (assoc-ref inputs "libxtst")
697 "/include")) 692 "/include/X11/extensions" ":"
698 (setenv "ALT_FREETYPE_HEADERS_PATH" 693 (assoc-ref inputs "libxinerama")
699 (string-append (assoc-ref inputs "freetype") 694 "/include/X11/extensions" ":"
700 "/include")) 695 (or (getenv "CPATH") "")))
701 (setenv "ALT_FREETYPE_LIB_PATH" 696 (setenv "ALT_OBJCOPY" (which "objcopy"))
702 (string-append (assoc-ref inputs "freetype") 697 (setenv "ALT_CUPS_HEADERS_PATH"
703 "/lib")))) 698 (string-append (assoc-ref inputs "cups")
699 "/include"))
700 (setenv "ALT_FREETYPE_HEADERS_PATH"
701 (string-append (assoc-ref inputs "freetype")
702 "/include"))
703 (setenv "ALT_FREETYPE_LIB_PATH"
704 (string-append (assoc-ref inputs "freetype")
705 "/lib")))))
704 (add-after 706 (add-after
705 'unpack 'fix-x11-extension-include-path 707 'unpack 'fix-x11-extension-include-path
706 (lambda* (#:key inputs #:allow-other-keys) 708 (lambda* (#:key inputs #:allow-other-keys)
@@ -733,7 +735,6 @@ build process and its dependencies, whereas Make uses Makefile format.")
733 (delete 'patch-patches)))))) 735 (delete 'patch-patches))))))
734 (native-inputs 736 (native-inputs
735 `(("ant" ,ant) 737 `(("ant" ,ant)
736 ("icedtea6" ,icedtea6 "jdk")
737 ("openjdk-drop" 738 ("openjdk-drop"
738 ,(drop "openjdk" 739 ,(drop "openjdk"
739 "03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak")) 740 "03gxqn17cxwl1nspnwigacaqd28p02d45f396j5f4kkbzfnbl0ak"))
@@ -756,4 +757,4 @@ build process and its dependencies, whereas Make uses Makefile format.")
756 ,(drop "hotspot" 757 ,(drop "hotspot"
757 "1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p")) 758 "1yqxfd2jwbm5y41wscyfx8h0fr3h8ny2g2mda5iwd8sikxsaj96p"))
758 ,@(fold alist-delete (package-native-inputs icedtea6) 759 ,@(fold alist-delete (package-native-inputs icedtea6)
759 '("openjdk6-src" "ant-bootstrap" "gcj"))))))) 760 '("openjdk6-src" "ant-bootstrap")))))))