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.
This commit is contained in:
		
							parent
							
								
									e441fc564b
								
							
						
					
					
						commit
						9117448e76
					
				
					 3 changed files with 1 additions and 172 deletions
				
			
		|  | @ -607,7 +607,6 @@ dist_patch_DATA =						\ | ||||||
|   %D%/packages/patches/gcc-5-source-date-epoch-2.patch		\
 |   %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-arm-none-eabi-multilib.patch	\
 | ||||||
|   %D%/packages/patches/gcc-6-cross-environment-variables.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/gdk-pixbuf-list-dir.patch		\
 | ||||||
|   %D%/packages/patches/gd-fix-gd2-read-test.patch		\
 |   %D%/packages/patches/gd-fix-gd2-read-test.patch		\
 | ||||||
|   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
 |   %D%/packages/patches/gd-fix-tests-on-i686.patch		\
 | ||||||
|  |  | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| ;;; GNU Guix --- Functional package management for GNU | ;;; GNU Guix --- Functional package management for GNU | ||||||
| ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> | ;;; 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 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 Andreas Enge <andreas@enge.fr> | ||||||
| ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> | ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> | ||||||
| ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> | ;;; 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> |               ;; a cyclic dependency.  <http://debbugs.gnu.org/18101> | ||||||
|               #:separate-lib-output? #f)) |               #: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 | (define-public gcc-objc-4.8 | ||||||
|   (custom-gcc gcc-4.8 "gcc-objc" '("objc") |   (custom-gcc gcc-4.8 "gcc-objc" '("objc") | ||||||
|               (list (search-path-specification |               (list (search-path-specification | ||||||
|  |  | ||||||
|  | @ -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
 |  | ||||||
		Reference in a new issue