guix-commits
[Top][All Lists]
Advanced

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

branch core-updates updated: gnu: linux-libre-headers: Remove rsync depe


From: guix-commits
Subject: branch core-updates updated: gnu: linux-libre-headers: Remove rsync dependency.
Date: Wed, 05 May 2021 17:31:13 -0400

This is an automated email from the git hooks/post-receive script.

mbakke pushed a commit to branch core-updates
in repository guix.

The following commit(s) were added to refs/heads/core-updates by this push:
     new 0e2251f  gnu: linux-libre-headers: Remove rsync dependency.
0e2251f is described below

commit 0e2251fcf8189a4f642074d3aa898221b29c3a55
Author: Marius Bakke <marius@gnu.org>
AuthorDate: Sun May 2 19:13:23 2021 +0200

    gnu: linux-libre-headers: Remove rsync dependency.
    
    The resulting packages are bit-identical, sans for a missing empty "uapi"
    directory in versions < 5.3.
    
    * gnu/packages/commencement.scm (rsync-boot0): Remove variable.
    (linux-libre-headers-boot0)[native-inputs]: Remove RSYNC-BOOT0.
    * gnu/packages/linux.scm (make-linux-libre-headers*)[native-inputs]: Remove
    RSYNC.
    [arguments]: For newer kernel versions, run "make headers" instead of
    "make headers_check" before installing.  Use FIND-FILES and INSTALL-FILE
    instead of calling "make headers_install".  Remove ".install" files 
workaround.
---
 gnu/packages/commencement.scm | 13 -------------
 gnu/packages/linux.scm        | 40 +++++++++++++++++++++-------------------
 2 files changed, 21 insertions(+), 32 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 36ebcee..b50c308 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -50,7 +50,6 @@
   #:use-module (gnu packages shells)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages rsync)
   #:use-module (gnu packages xml)
   #:use-module (guix gexp)
   #:use-module (guix packages)
@@ -2916,15 +2915,6 @@ exec " gcc "/bin/" program
        #:guile ,%bootstrap-guile
        #:tests? #f))))
 
-(define rsync-boot0
-  (package
-    (inherit rsync)
-    (native-inputs `(("perl" ,perl-boot0)))
-    (inputs (%boot0-inputs))
-    (arguments
-     `(#:implicit-inputs? #f
-       #:guile ,%bootstrap-guile))))
-
 (define-syntax define/system-dependent
   (lambda (s)
     "Bind IDENTIFIER to EXP, where the value of EXP is known to depend on
@@ -2960,9 +2950,6 @@ memoized as a function of '%current-system'."
        ;; Flex and Bison are required since version 4.16.
        ("flex" ,flex-boot0)
        ("bison" ,bison-boot0)
-
-       ;; Rsync is required since version 5.3.
-       ("rsync" ,rsync-boot0)
        ,@(%boot0-inputs)))))
 
 (define with-boot0
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 4286c91..5317e6e 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -141,7 +141,6 @@
   #:use-module (gnu packages xdisorg)
   #:use-module (gnu packages xorg)
   #:use-module (gnu packages groff)
-  #:use-module (gnu packages rsync)
   #:use-module (gnu packages selinux)
   #:use-module (gnu packages swig)
   #:use-module (guix build-system cmake)
@@ -534,14 +533,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the 
given DEBLOB-SCRIPTS."
                      ,@(if (version>=? version "4.16")
                            `(("flex" ,flex)
                              ("bison" ,bison))
-                           '())
-                     ,@(if (version>=? version "5.3")
-                           `(("rsync" ,rsync))
                            '())))
     (arguments
      `(#:modules ((guix build gnu-build-system)
                   (guix build utils)
-                  (srfi srfi-1))
+                  (srfi srfi-1)
+                  (ice-9 match))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
@@ -552,32 +549,37 @@ corresponding UPSTREAM-SOURCE (an origin), using the 
given DEBLOB-SCRIPTS."
                               (%current-system))))
                    (defconfig ,(system->defconfig
                                 (or (%current-target-system)
-                                    (%current-system)))))
+                                    (%current-system))))
+                   (make-target ,(if (version>=? version "5.3")
+                                     "headers"
+                                     "headers_check")))
                (setenv "ARCH" arch)
                (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))
                (invoke "make" defconfig)
-               (invoke "make" "mrproper" "headers_check"))))
+               (invoke "make" "mrproper" make-target))))
          (replace 'install
            (lambda* (#:key outputs #:allow-other-keys)
              (let ((out (assoc-ref outputs "out")))
-               (invoke "make"
-                       (string-append "INSTALL_HDR_PATH=" out)
-                       "headers_install")
+
+               ;; Mimic the quiet_cmd_headers_install target to avoid a
+               ;; dependency on rsync.
+               (for-each (lambda (file)
+                           (let ((destination (string-append
+                                               out "/include/"
+                                               ;; Drop the 'usr/include' 
prefix.
+                                               (match (string-split file #\/)
+                                                 ((_ _ path ...)
+                                                  (string-join path "/"))))))
+                             (format #t "`~a' -> `~a'~%" file destination)
+                             (install-file file (dirname destination))))
+                         (find-files "usr/include" "\\.h$"))
 
                (mkdir (string-append out "/include/config"))
                (call-with-output-file
                    (string-append out
                                   "/include/config/kernel.release")
                  (lambda (p)
-                   (format p "~a-default~%" ,version)))
-
-               ;; Remove the '.install' and '..install.cmd' files; the
-               ;; latter contains store paths, which pulls in bootstrap
-               ;; binaries in the build environment, and prevents bit
-               ;; reproducibility for the bootstrap binaries.
-               (for-each delete-file (find-files out "\\.install"))
-
-               #t))))
+                   (format p "~a-default~%" ,version)))))))
        #:allowed-references ()
        #:tests? #f))
     (home-page "https://www.gnu.org/software/linux-libre/";)



reply via email to

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