mirror of
https://github.com/NixOS/nixpkgs.git
synced 2026-07-06 17:13:24 -05:00
fakeroot: fix build failure (#531166)
This commit is contained in:
commit
049f45f5f8
2 changed files with 100 additions and 1 deletions
98
pkgs/by-name/fa/fakeroot/add-missing-wrapawk.patch
Normal file
98
pkgs/by-name/fa/fakeroot/add-missing-wrapawk.patch
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
--- /dev/null 2026-06-10 18:10:25.546025717 +0200
|
||||
+++ b/wrapawk 1970-01-01 01:00:01.000000000 +0100
|
||||
@@ -0,0 +1,95 @@
|
||||
+#Saluton Emacson! Bonvolu elekti -*- mode: awk; -*-. Dankon.
|
||||
+
|
||||
+BEGIN{
|
||||
+ headerfile="wrapped.h";
|
||||
+ deffile="wrapdef.h";
|
||||
+ structfile="wrapstruct.h";
|
||||
+ tmpffile="wraptmpf.h";
|
||||
+ FS=";";
|
||||
+ WARNING="/* Automatically generated file. Do not edit. Edit wrapawk/wrapfunc.inp. */";
|
||||
+ print WARNING > headerfile;
|
||||
+ print "#ifndef WRAPPED_H" > headerfile;
|
||||
+ print "#define WRAPPED_H" > headerfile;
|
||||
+ print WARNING > deffile;
|
||||
+ print "#ifndef WRAPDEF_H" > deffile;
|
||||
+ print "#define WRAPDEF_H" > deffile;
|
||||
+ print WARNING > tmpffile;
|
||||
+ print "#ifndef WRAPTMPF_H" > tmpffile;
|
||||
+ print "#define WRAPTMPF_H" > tmpffile;
|
||||
+ print WARNING > structfile;
|
||||
+ print "#ifndef WRAPSTRUCT_H" > structfile;
|
||||
+ print "#define WRAPSTRUCT_H" > structfile;
|
||||
+ print "struct next_wrap_st next_wrap[]= {" > structfile;
|
||||
+}
|
||||
+
|
||||
+/\/\*/{
|
||||
+}
|
||||
+/^(\#)/{
|
||||
+ print $0 > structfile;
|
||||
+ print $0 > tmpffile;
|
||||
+ print $0 > deffile;
|
||||
+ print $0 > headerfile;
|
||||
+
|
||||
+}
|
||||
+/^[^\/].*;.*;.*;/{
|
||||
+ name=$1;
|
||||
+ ret=$2;
|
||||
+ argtype=$3;
|
||||
+ argname=$4;
|
||||
+ MACRO=$5;
|
||||
+ openat_extra=$6;
|
||||
+ if(openat_extra){
|
||||
+ print " {(void(*))&next_" name ", \"" name "\"}," > structfile;
|
||||
+ print "extern " ret " (*next_" name ")" openat_extra ";" > headerfile;
|
||||
+ print ret " (*next_" name ")" openat_extra "=tmp_" name ";"> deffile;
|
||||
+
|
||||
+ print ret " tmp_" name, openat_extra "{" > tmpffile;
|
||||
+ print " mode_t mode = 0;" > tmpffile;
|
||||
+ print " if (flags & O_CREAT) {" > tmpffile;
|
||||
+ print " va_list args;" > tmpffile;
|
||||
+ print " va_start(args, flags);" > tmpffile;
|
||||
+ print " mode = va_arg(args, int);" > tmpffile;
|
||||
+ print " va_end(args);" > tmpffile;
|
||||
+ print " }" > tmpffile;
|
||||
+ print " load_library_symbols();" > tmpffile;
|
||||
+ print " return next_" name, argname ";" > tmpffile;
|
||||
+ print "}" > tmpffile;
|
||||
+ print "" > tmpffile;
|
||||
+ } else if(MACRO){
|
||||
+ print " {(void(*))&NEXT_" MACRO "_NOARG, " name "_QUOTE}," > structfile;
|
||||
+ print "extern " ret " (*NEXT_" MACRO "_NOARG)" argtype ";" > headerfile;
|
||||
+ print ret " (*NEXT_" MACRO "_NOARG)" argtype "=TMP_" MACRO ";"> deffile;
|
||||
+
|
||||
+ print ret " TMP_" MACRO, argtype "{" > tmpffile;
|
||||
+ print " load_library_symbols();" > tmpffile;
|
||||
+ print " return NEXT_" MACRO "_NOARG " argname ";" > tmpffile;
|
||||
+ print "}" > tmpffile;
|
||||
+ print "" > tmpffile;
|
||||
+ } else {
|
||||
+ print " {(void(*))&next_" name ", \"" name "\"}," > structfile;
|
||||
+ print "extern " ret " (*next_" name ")" argtype ";" > headerfile;
|
||||
+ print ret " (*next_" name ")" argtype "=tmp_" name ";"> deffile;
|
||||
+
|
||||
+ print ret " tmp_" name, argtype "{" > tmpffile;
|
||||
+ print " load_library_symbols();" > tmpffile;
|
||||
+ print " return next_" name, argname ";" > tmpffile;
|
||||
+ print "}" > tmpffile;
|
||||
+ print "" > tmpffile;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+/^ *$/{
|
||||
+ print > structfile;
|
||||
+ print > headerfile;
|
||||
+ print > deffile;
|
||||
+ print > tmpffile;
|
||||
+}
|
||||
+
|
||||
+END{
|
||||
+ print " {NULL, NULL}," > structfile;
|
||||
+ print "};" > structfile;
|
||||
+ print "#endif" > structfile;
|
||||
+ print "#endif" > tmpffile;
|
||||
+ print "#endif" > deffile;
|
||||
+ print "#endif" > headerfile;
|
||||
+}
|
||||
|
|
@ -22,10 +22,11 @@ stdenv.mkDerivation (finalAttrs: {
|
|||
repo = "fakeroot";
|
||||
rev = "upstream/${finalAttrs.version}";
|
||||
domain = "salsa.debian.org";
|
||||
hash = "sha256-1Xmb8OPZSVP4xtSBGuwwKwdVQXixEugMgQfvAJueJAg=";
|
||||
hash = "sha256-sAzXeONjDT753lbu7amQY6yXpaTNCa4wFOzB01SRbCs=";
|
||||
};
|
||||
|
||||
patches = lib.optionals stdenv.hostPlatform.isLinux [
|
||||
./add-missing-wrapawk.patch
|
||||
./einval.patch
|
||||
];
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue