mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2025-01-02 17:09:09 +03:00
grub2: patch to work with updated binutils
This blocked some EFI stuff and consequently the channels. I would fetchpatch, but their cgit server won't work on this commit.
This commit is contained in:
parent
b60b304cef
commit
61ef8f0b42
@ -47,6 +47,21 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1";
|
sha256 = "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
./fix-bash-completion.patch
|
||||||
|
# This patch makes grub compatible with the XFS sparse inode
|
||||||
|
# feature introduced by xfsprogs-4.16.
|
||||||
|
# to be removed in grub-2.03
|
||||||
|
(fetchpatch {
|
||||||
|
url = https://git.savannah.gnu.org/cgit/grub.git/patch/?id=cda0a857dd7a27cd5d621747464bfe71e8727fff;
|
||||||
|
sha256 = "0k9qrkdxwdqk6sz05q9smqwjr6pvgc9adx1mlf0807g4im91xnm0";
|
||||||
|
})
|
||||||
|
./relocation-not-implemented.diff
|
||||||
|
];
|
||||||
|
postPatch = ''
|
||||||
|
substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
|
||||||
|
'';
|
||||||
|
|
||||||
nativeBuildInputs = [ bison flex python pkgconfig ];
|
nativeBuildInputs = [ bison flex python pkgconfig ];
|
||||||
buildInputs = [ ncurses libusb freetype gettext lvm2 fuse ]
|
buildInputs = [ ncurses libusb freetype gettext lvm2 fuse ]
|
||||||
++ optional doCheck qemu
|
++ optional doCheck qemu
|
||||||
@ -57,10 +72,6 @@ stdenv.mkDerivation rec {
|
|||||||
# Work around a bug in the generated flex lexer (upstream flex bug?)
|
# Work around a bug in the generated flex lexer (upstream flex bug?)
|
||||||
NIX_CFLAGS_COMPILE = "-Wno-error";
|
NIX_CFLAGS_COMPILE = "-Wno-error";
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
substituteInPlace ./configure --replace '/usr/share/fonts/unifont' '${unifont}/share/fonts'
|
|
||||||
'';
|
|
||||||
|
|
||||||
preConfigure =
|
preConfigure =
|
||||||
'' for i in "tests/util/"*.in
|
'' for i in "tests/util/"*.in
|
||||||
do
|
do
|
||||||
@ -82,17 +93,6 @@ stdenv.mkDerivation rec {
|
|||||||
unset CPP # setting CPP intereferes with dependency calculation
|
unset CPP # setting CPP intereferes with dependency calculation
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [
|
|
||||||
./fix-bash-completion.patch
|
|
||||||
# This patch makes grub compatible with the XFS sparse inode
|
|
||||||
# feature introduced by xfsprogs-4.16.
|
|
||||||
# to be removed in grub-2.03
|
|
||||||
(fetchpatch {
|
|
||||||
url = https://git.savannah.gnu.org/cgit/grub.git/patch/?id=cda0a857dd7a27cd5d621747464bfe71e8727fff;
|
|
||||||
sha256 = "0k9qrkdxwdqk6sz05q9smqwjr6pvgc9adx1mlf0807g4im91xnm0";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
configureFlags = [ "--enable-grub-mount" ] # dep of os-prober
|
configureFlags = [ "--enable-grub-mount" ] # dep of os-prober
|
||||||
++ optional zfsSupport "--enable-libzfs"
|
++ optional zfsSupport "--enable-libzfs"
|
||||||
++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}" "--program-prefix=" ]
|
++ optionals efiSupport [ "--with-platform=efi" "--target=${efiSystemsBuild.${stdenv.hostPlatform.system}.target}" "--program-prefix=" ]
|
||||||
|
25
pkgs/tools/misc/grub/relocation-not-implemented.diff
Normal file
25
pkgs/tools/misc/grub/relocation-not-implemented.diff
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
https://git.savannah.gnu.org/cgit/grub.git/commit/util?id=842c390469e2c2e10b5
|
||||||
|
diff --git a/util/grub-mkimagexx.c b/util/grub-mkimagexx.c
|
||||||
|
index a2bb054..39d7efb 100644
|
||||||
|
--- a/util/grub-mkimagexx.c
|
||||||
|
+++ b/util/grub-mkimagexx.c
|
||||||
|
@@ -841,6 +841,7 @@ SUFFIX (relocate_addresses) (Elf_Ehdr *e, Elf_Shdr *sections,
|
||||||
|
break;
|
||||||
|
|
||||||
|
case R_X86_64_PC32:
|
||||||
|
+ case R_X86_64_PLT32:
|
||||||
|
{
|
||||||
|
grub_uint32_t *t32 = (grub_uint32_t *) target;
|
||||||
|
*t32 = grub_host_to_target64 (grub_target_to_host32 (*t32)
|
||||||
|
diff --git a/util/grub-module-verifier.c b/util/grub-module-verifier.c
|
||||||
|
index 9179285..a79271f 100644
|
||||||
|
--- a/util/grub-module-verifier.c
|
||||||
|
+++ b/util/grub-module-verifier.c
|
||||||
|
@@ -19,6 +19,7 @@ struct grub_module_verifier_arch archs[] = {
|
||||||
|
-1
|
||||||
|
}, (int[]){
|
||||||
|
R_X86_64_PC32,
|
||||||
|
+ R_X86_64_PLT32,
|
||||||
|
-1
|
||||||
|
}
|
||||||
|
},
|
Loading…
Reference in New Issue
Block a user