Merge pull request #294997 from chewblacka/fix-refind
refind: add runtime dependencies
This commit is contained in:
commit
7fddf12bad
|
@ -1,4 +1,13 @@
|
||||||
{ lib, stdenv, fetchurl, fetchpatch, gnu-efi, nixosTests }:
|
{ lib
|
||||||
|
, stdenv
|
||||||
|
, fetchurl
|
||||||
|
, gnu-efi
|
||||||
|
, nixosTests
|
||||||
|
, efibootmgr
|
||||||
|
, openssl
|
||||||
|
, sbsigntool
|
||||||
|
, makeWrapper
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
archids = {
|
archids = {
|
||||||
|
@ -17,7 +26,7 @@ stdenv.mkDerivation rec {
|
||||||
version = "0.14.0.2";
|
version = "0.14.0.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/project/refind/${version}/${pname}-src-${version}.tar.gz";
|
url = "mirror://sourceforge/project/refind/${version}/refind-src-${version}.tar.gz";
|
||||||
hash = "sha256-JqDFXf01ZUmeH4LY/ldGTb7xnKiGzm0BqBUii478iw8=";
|
hash = "sha256-JqDFXf01ZUmeH4LY/ldGTb7xnKiGzm0BqBUii478iw8=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,6 +35,7 @@ stdenv.mkDerivation rec {
|
||||||
./0001-toolchain.patch
|
./0001-toolchain.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
buildInputs = [ gnu-efi ];
|
buildInputs = [ gnu-efi ];
|
||||||
|
|
||||||
hardeningDisable = [ "stackprotector" ];
|
hardeningDisable = [ "stackprotector" ];
|
||||||
|
@ -95,18 +105,18 @@ stdenv.mkDerivation rec {
|
||||||
install -D -m0644 keys/* $out/share/refind/keys/
|
install -D -m0644 keys/* $out/share/refind/keys/
|
||||||
|
|
||||||
# Fix variable definition of 'RefindDir' which is used to locate ressource files.
|
# Fix variable definition of 'RefindDir' which is used to locate ressource files.
|
||||||
sed -i "s,\bRefindDir=.*,RefindDir=$out/share/refind,g" $out/bin/refind-install
|
sed -i "s,\bRefindDir=\"\$This.*,RefindDir=$out/share/refind,g" $out/bin/refind-install
|
||||||
|
|
||||||
# Patch uses of `which`. We could patch in calls to efibootmgr,
|
|
||||||
# openssl, convert, and openssl, but that would greatly enlarge
|
|
||||||
# refind's closure (from ca 28MB to over 400MB).
|
|
||||||
sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-install
|
|
||||||
sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-mvrefind
|
|
||||||
sed -i 's,`which \(.*\)`,`type -p \1`,g' $out/bin/refind-mkfont
|
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/refind-install \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ efibootmgr openssl sbsigntool ]}
|
||||||
|
wrapProgram $out/bin/refind-mvrefind \
|
||||||
|
--prefix PATH : ${lib.makeBinPath [ efibootmgr ]}
|
||||||
|
'';
|
||||||
|
|
||||||
passthru.tests = {
|
passthru.tests = {
|
||||||
uefiCdrom = nixosTests.boot.uefiCdrom;
|
uefiCdrom = nixosTests.boot.uefiCdrom;
|
||||||
};
|
};
|
||||||
|
@ -129,7 +139,7 @@ stdenv.mkDerivation rec {
|
||||||
Linux kernels that provide EFI stub support.
|
Linux kernels that provide EFI stub support.
|
||||||
'';
|
'';
|
||||||
homepage = "http://refind.sourceforge.net/";
|
homepage = "http://refind.sourceforge.net/";
|
||||||
maintainers = with maintainers; [ AndersonTorres samueldr ];
|
maintainers = with maintainers; [ AndersonTorres samueldr chewblacka ];
|
||||||
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
|
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ];
|
||||||
license = licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue
Block a user