guix-commits
[Top][All Lists]
Advanced

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

04/13: gnu: opendjk11: Reduce size by removing extraneous files.


From: guix-commits
Subject: 04/13: gnu: opendjk11: Reduce size by removing extraneous files.
Date: Tue, 27 Sep 2022 10:10:57 -0400 (EDT)

apteryx pushed a commit to branch master
in repository guix.

commit 6bf7467b077d419443d275581d6935852d1af434
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Mon Sep 26 16:56:35 2022 -0400

    gnu: opendjk11: Reduce size by removing extraneous files.
    
    By removing the *.diz and src.zip files, the size of the main output of
    OpenJDK 11 is reduced from 345 MiB to 116 MiB for OpenJDK 11, while the 
'jdk'
    output is reduced from 805 MiB to 353 MiB.
    
    * gnu/packages/java.scm (openjdk11)[modules]: New field.
    [phases]{remove-diz-files}: New phase.
    {strip-character-data-timestamps}: Order after remove-diz-files.
---
 gnu/packages/java.scm | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 424ccc5862..d603cc8b36 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1788,7 +1788,11 @@ new Date();"))
      (list
       #:imported-modules `((guix build syscalls)
                            ,@%gnu-build-system-modules)
-
+      #:modules `((guix build gnu-build-system)
+                  (guix build utils)
+                  (ice-9 match)
+                  (srfi srfi-1)
+                  (srfi srfi-26))
       #:disallowed-references (list (gexp-input openjdk10)
                                     (gexp-input openjdk10 "jdk"))
 
@@ -1934,7 +1938,19 @@ new Date();"))
                 (with-directory-excursion dir
                   (let ((files (find-files "." ".*" #:directories? #t)))
                     (apply invoke "zip" "-0" "-X" archive files))))))
-          (add-after 'strip-character-data-timestamps 'strip-archive-timestamps
+          (add-after 'strip-character-data-timestamps 'remove-extraneous-files
+            (lambda* (#:key outputs #:allow-other-keys)
+              ;; Remove the *.diz and src.zip files for space considerations.
+              ;; The former are compressed debuginfo files not typically
+              ;; shipped with Java distributions, while the later corresponds
+              ;; to Java core API source files.
+              (for-each delete-file
+                        (append-map (cut find-files <> "(^src\\.zip|\\.diz)$")
+                                    (map (match-lambda
+                                           ((name . dir)
+                                            dir))
+                                         outputs)))))
+          (add-after 'remove-diz-file 'strip-archive-timestamps
             (lambda _
               (use-modules (guix build syscalls)
                            (ice-9 binary-ports)
@@ -1961,7 +1977,7 @@ new Date();"))
                 (for-each repack-archive
                           (find-files #$output:doc "\\.zip$"))
                 (for-each repack-archive
-                          (find-files #$output:jdk "\\.(zip|jar|diz)$"))
+                          (find-files #$output:jdk "\\.(zip|jar)$"))
                 (repack-archive (string-append #$output:jdk "/lib/ct.sym"))
                 (let ((repack-jmod
                        (lambda (file-name)



reply via email to

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