From 0e2251fcf8189a4f642074d3aa898221b29c3a55 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 2 May 2021 19:13:23 +0200 Subject: gnu: linux-libre-headers: Remove rsync dependency. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 36ebcee163..b50c308ed3 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 4286c912b0..5317e6eda7 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/") -- cgit v1.2.3