From f38be973835c9bca91c1139f37a1be1f59fab419 Mon Sep 17 00:00:00 2001 From: dan Date: Sun, 2 Jul 2023 21:44:37 +0800 Subject: gnu: efivar: Fix cross-compilation. [version]: Temporarily change the version to a git-version. [source]: Fetch source from git, use newer commit to fix cross-build. [arguments]<#:make-flags>: Set HOSTCC to gcc. Signed-off-by: Maxim Cournoyer --- gnu/packages/linux.scm | 85 ++++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 41 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 022da0cd61..2a3fd82891 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -74,6 +74,7 @@ ;;; Copyright © 2023 Bruno Victal ;;; Copyright © 2023 Yovan Naumovski ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2023 dan ;;; ;;; This file is part of GNU Guix. ;;; @@ -7255,48 +7256,50 @@ under OpenGL graphics workloads.") (license license:gpl3))) (define-public efivar - (package - (name "efivar") - (version "38") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/rhboot/" name - "/releases/download/" version "/" name - "-" version ".tar.bz2")) - (sha256 - (base32 - "0jaka7b4lccswjqiv4liclkj6w78gildg7vd6dnw3wf595pfs67h")) - (patches - (search-patches "efivar-211.patch")))) - - (build-system gnu-build-system) - (arguments - (list - ;; Tests require a UEFI system and is not detected in the chroot. - #:tests? #f - #:make-flags - #~(list (string-append "prefix=" #$output) - (string-append "libdir=" #$output "/lib") - (string-append "CC=" #$(cc-for-target)) - (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib")) - #:phases - #~(modify-phases %standard-phases - (add-after 'unpack 'build-deterministically - (lambda _ - (substitute* "src/include/defaults.mk" - ;; Don't use -march=native. - (("-march=native") - "")))) - (delete 'configure)))) - (native-inputs - (list mandoc pkg-config)) - (inputs - (list popt)) - (home-page "https://github.com/rhboot/efivar") - (synopsis "Tool and library to manipulate EFI variables") - (description "This package provides a library and a command line + ;; XXX: 15622b7e5761f3dde3f0e42081380b2b41639a48 fixes compilation on i686. + ;; ca48d3964d26f5e3b38d73655f19b1836b16bd2d fixes cross-compilation. + (let ((commit "ca48d3964d26f5e3b38d73655f19b1836b16bd2d") + (revision "0")) + (package + (name "efivar") + (version (git-version "38" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rhboot/efivar") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zsab3hcv1v53cxwkvsk09ifnwhs48a6xa3kxlwvs87yxswspvi8")))) + (build-system gnu-build-system) + (arguments + (list + ;; Tests require a UEFI system and is not detected in the chroot. + #:tests? #f + #:make-flags #~(list (string-append "prefix=" + #$output) + (string-append "libdir=" + #$output "/lib") + (string-append "CC=" + #$(cc-for-target)) "HOSTCC=gcc" + (string-append "LDFLAGS=-Wl,-rpath=" + #$output "/lib")) + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'build-deterministically + (lambda _ + (substitute* "src/include/defaults.mk" + ;; Don't use -march=native. + (("-march=native") + "")))) + (delete 'configure)))) + (native-inputs (list mandoc pkg-config)) + (inputs (list popt)) + (home-page "https://github.com/rhboot/efivar") + (synopsis "Tool and library to manipulate EFI variables") + (description "This package provides a library and a command line interface to the variable facility of UEFI boot firmware.") - (license license:lgpl2.1+))) + (license license:lgpl2.1+)))) (define-public efibootmgr (package -- cgit 1.4.1