gnu: Remove GCJ. * gnu/packages/patches/gcj-arm-mode.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Delete it. * gnu/packages/gcc.scm (javac.in, gcj, ecj-bootstrap): Remove variables.
3 files changed, 1 insertions(+), 172 deletions(-) M gnu/local.mk M gnu/packages/gcc.scm D gnu/packages/patches/gcj-arm-mode.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 607,7 607,6 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-5-source-date-epoch-2.patch \ %D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \ %D%/packages/patches/gcc-6-cross-environment-variables.patch \ %D%/packages/patches/gcj-arm-mode.patch \ %D%/packages/patches/gdk-pixbuf-list-dir.patch \ %D%/packages/patches/gd-fix-gd2-read-test.patch \ %D%/packages/patches/gd-fix-tests-on-i686.patch \
M gnu/packages/gcc.scm => gnu/packages/gcc.scm +1 -135
@@ 1,7 1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> @@ 559,140 559,6 @@ as the 'native-search-paths' field." ;; a cyclic dependency. <http://debbugs.gnu.org/18101> #:separate-lib-output? #f)) (define javac.in (origin (method url-fetch) (uri (string-append "http://sources.gentoo.org/cgi-bin/viewvc.cgi/" "gentoo-x86/dev-java/gcj-jdk/files/javac.in?revision=1.1")) (file-name "javac.in") (sha256 (base32 "1c3dk4z5yfj6ic2fn3lyxs27n6pmn2wy9k0r1s17lnkf1bzkrciv")))) (define-public gcj (package (inherit gcc) (name "gcj") (version (package-version gcc)) (inputs `(("fastjar" ,fastjar) ("perl" ,perl) ("javac.in" ,javac.in) ("ecj-bootstrap" ,ecj-bootstrap) ,@(package-inputs gcc))) (native-inputs `(("dejagnu" ,dejagnu) ,@(if (string-prefix? "armhf" (or (%current-system) (%current-target-system))) `(("arm-patch" ,(origin (method url-fetch) (uri (search-patch "gcj-arm-mode.patch")) (sha256 (base32 "1z15xs5yx6qinnb572swzxrn9f668sw7ga5280q3gznj1jyrynfn"))))) '()) ,@(package-native-inputs gcc))) (native-search-paths %generic-search-paths) ;; Suppress the separate "lib" output, because otherwise the ;; "lib" and "out" outputs would refer to each other, creating ;; a cyclic dependency. <http://debbugs.gnu.org/18101> (outputs (delete "lib" (package-outputs gcc))) (arguments (substitute-keyword-arguments `(#:modules ((guix build gnu-build-system) (guix build utils) (ice-9 regex) (srfi srfi-1) (srfi srfi-26)) #:test-target "check-target-libjava" ,@(package-arguments gcc)) ((#:tests? _) #t) ((#:configure-flags flags) `(let ((ecj (assoc-ref %build-inputs "ecj-bootstrap"))) `("--enable-java-home" "--enable-gjdoc" ,(string-append "--with-ecj-jar=" ecj) "--enable-languages=java" ,@(remove (cut string-match "--enable-languages.*" <>) ,flags)))) ((#:phases phases) `(modify-phases ,phases ;; Conditionally add phase to apply patch ,@(if (string-prefix? "armhf" (or (%current-system) (%current-target-system))) `((add-after 'unpack 'apply-arm-patch (lambda* (#:key inputs #:allow-other-keys) (zero? (system* "patch" "-p1" "-i" (assoc-ref inputs "arm-patch")))))) '()) (add-after 'unpack 'add-lib-output-to-rpath (lambda _ (substitute* "libjava/Makefile.in" (("libgcj_bc_dummy_LINK = .* -shared" line) (string-append line " -Wl,-rpath=$(libdir)")) (("libgcj(_bc)?_la_LDFLAGS =" ldflags _) (string-append ldflags " -Wl,-rpath=$(libdir)"))))) (add-after 'unpack 'patch-testsuite ;; dejagnu-1.6 removes the 'absolute' command (lambda _ ;; This test fails on armhf. It seems harmless enough to disable it. (for-each delete-file '("libjava/testsuite/libjava.lang/Throw_2.java" "libjava/testsuite/libjava.lang/Throw_2.out" "libjava/testsuite/libjava.lang/Throw_2.jar")) (substitute* "libjava/testsuite/lib/libjava.exp" (("absolute") "file normalize")) #t)) (add-after 'install 'install-javac-and-javap-wrappers (lambda _ (let* ((javac (assoc-ref %build-inputs "javac.in")) (ecj (assoc-ref %build-inputs "ecj-bootstrap")) (gcj (assoc-ref %outputs "out")) (gcjbin (string-append gcj "/bin/")) (jvm (string-append gcj "/lib/jvm/")) (target (string-append jvm "/bin/javac"))) (symlink (string-append gcjbin "jcf-dump") (string-append jvm "/bin/javap")) (copy-file ecj (string-append gcj "/share/java/ecj.jar")) ;; Create javac wrapper from the template javac.in by ;; replacing the @VARIABLES@ with paths. (copy-file javac target) (patch-shebang target) (substitute* target (("@JAVA@") (string-append jvm "/bin/java")) (("@ECJ_JAR@") (string-append gcj "/share/java/ecj.jar")) (("@RT_JAR@") (string-append jvm "/jre/lib/rt.jar")) (("@TOOLS_JAR@") (string-append jvm "/lib/tools.jar"))) (chmod target #o755) #t))) (add-after 'install 'remove-broken-or-conflicting-files (lambda _ (let ((out (assoc-ref %outputs "out"))) (for-each delete-file (append (find-files (string-append out "/lib/jvm/jre/lib") "libjawt.so") (find-files (string-append out "/bin") ".*(c\\+\\+|cpp|g\\+\\+|gcc.*)")))) #t)))))))) (define ecj-bootstrap (origin (method url-fetch) (uri "ftp://sourceware.org/pub/java/ecj-4.9.jar") (sha256 (base32 "1k9lgm3qamf6zy534pa2zwskr8mpiqrngbv1vw9j4y1ghrdyf1lm")))) (define-public gcc-objc-4.8 (custom-gcc gcc-4.8 "gcc-objc" '("objc") (list (search-path-specification
D gnu/packages/patches/gcj-arm-mode.patch => gnu/packages/patches/gcj-arm-mode.patch +0 -36
@@ 1,36 0,0 @@ Taken from https://sources.debian.net/data/main/g/gcc-4.9/4.9.2-10/debian/patches/gcj-arm-mode.diff # DP: For armhf, force arm mode instead of thumb mode --- a/libjava/configure.host +++ b/libjava/configure.host @@ -66,6 +66,9 @@ ;; esac +# on armhf force arm mode +libgcj_flags="${libgcj_flags} -marm" + AM_RUNTESTFLAGS= # Set any host dependent compiler flags. --- a/gcc/java/lang-specs.h +++ b/gcc/java/lang-specs.h @@ -47,7 +47,7 @@ %{.class|.zip|.jar|!fsyntax-only:jc1 \ %{.java|fsaw-java-file:%U.jar -fsource-filename=%i %<ffilelist-file} \ %{.class|.zip|.jar|ffilelist-file|fcompile-resource*:%i} \ - %(jc1) %(cc1_options) %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \ + %(jc1) %(cc1_options) -marm %{I*} %{!findirect-dispatch:-faux-classpath %U.zip} \ %{MD:-MD_} %{MMD:-MMD_} %{M} %{MM} %{MA} %{MT*} %{MF*}\ %(invoke_as)}", 0, 0, 0}, --- a/libjava/libgcj.spec.in +++ b/libjava/libgcj.spec.in @@ -9,4 +9,4 @@ %rename lib liborig *lib: @LD_START_STATIC_SPEC@ @LIBGCJ_SPEC@ @LD_FINISH_STATIC_SPEC@ @LIBMATHSPEC@ @LDLIBICONV@ @GCSPEC@ @THREADSPEC@ @ZLIBSPEC@ @SYSTEMSPEC@ %(libgcc) @LIBSTDCXXSPEC@ %(liborig) -*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions +*jc1: @HASH_SYNC_SPEC@ @DIVIDESPEC@ @CHECKREFSPEC@ @JC1GCSPEC@ @EXCEPTIONSPEC@ @BACKTRACESPEC@ @IEEESPEC@ @ATOMICSPEC@ @LIBGCJ_BC_SPEC@ -fkeep-inline-functions -marm