guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#26966: [PATCH 22/22] gnu: Remove GCJ.


From: Roel Janssen
Subject: bug#26966: [PATCH 22/22] gnu: Remove GCJ.
Date: Thu, 18 May 2017 11:29:36 +0200
User-agent: mu4e 0.9.18; emacs 25.2.1

Ricardo Wurmus writes:

> * 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.
> ---
>  gnu/local.mk                            |   1 -
>  gnu/packages/gcc.scm                    | 136 
> +-------------------------------
>  gnu/packages/patches/gcj-arm-mode.patch |  36 ---------
>  3 files changed, 1 insertion(+), 172 deletions(-)
>  delete mode 100644 gnu/packages/patches/gcj-arm-mode.patch
>
> diff --git a/gnu/local.mk b/gnu/local.mk
> index d0c5b9daf..6691cd057 100644
> --- a/gnu/local.mk
> +++ b/gnu/local.mk
> @@ -604,7 +604,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            \
> diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
> index 5d1a4ea75..866f8478f 100644
> --- a/gnu/packages/gcc.scm
> +++ b/gnu/packages/gcc.scm
> @@ -1,7 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès 
> <address@hidden>
>  ;;; Copyright © 2014, 2015 Mark H Weaver <address@hidden>
> -;;; Copyright © 2014, 2015, 2016 Ricardo Wurmus <address@hidden>
> +;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <address@hidden>
>  ;;; Copyright © 2015 Andreas Enge <address@hidden>
>  ;;; Copyright © 2015, 2016 Efraim Flashner <address@hidden>
>  ;;; Copyright © 2016 Carlos Sánchez de La Lama <address@hidden>
> @@ -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
> diff --git a/gnu/packages/patches/gcj-arm-mode.patch 
> b/gnu/packages/patches/gcj-arm-mode.patch
> deleted file mode 100644
> index a3f999f7e..000000000
> --- a/gnu/packages/patches/gcj-arm-mode.patch
> +++ /dev/null
> @@ -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

Ok, so this is not needed anymore to bootstrap the JDK, but isn't there
any other use for/user of GCJ?

Kind regards,
Roel Janssen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]