mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-09 19:13:26 +03:00
bfr: fix broken build because of stricter GCC default checks
GCC now complains if `main` has no explicitly declared return type. Because `bfr`s `configure` script uses a very minimal C application to check whether GCC works _at all_ (literally: `main(){return(0);}`), this caused configure failures. Another issue with the `configure` script is that it logs the compiler errors for its checks to `configure.log` (and not to stdout or stderr), which means that the root cause wasn't logged during the failed nix build. I added a patch that rewires the compiler error file descriptor so that it will simply log to stderr and another patch that fixes the missing return type in the C example. Unfortunately, it looks like the server isn't serving the source files anymore (and finding an official upstream repo which I could send a PR to seems... non-trivial).
This commit is contained in:
parent
f1c69b60ad
commit
58e77c03a3
3 changed files with 29 additions and 0 deletions
|
@ -0,0 +1,13 @@
|
|||
diff --git a/configure b/configure
|
||||
index 53e90a7..4afeb58 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -411,7 +411,7 @@ if test "$silent" = yes; then
|
||||
else
|
||||
exec 6>&1
|
||||
fi
|
||||
-exec 5>./config.log
|
||||
+exec 5>&2
|
||||
|
||||
echo "\
|
||||
This file contains any messages produced by compilers while
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/configure b/configure
|
||||
index 53e90a7..cc80615 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -908,7 +908,7 @@ cat > conftest.$ac_ext << EOF
|
||||
#line 909 "configure"
|
||||
#include "confdefs.h"
|
||||
|
||||
-main(){return(0);}
|
||||
+int main(){return(0);}
|
||||
EOF
|
||||
if { (eval echo configure:914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
|
||||
ac_cv_prog_cc_works=yes
|
|
@ -15,6 +15,9 @@ stdenv.mkDerivation rec {
|
|||
};
|
||||
|
||||
patches = [
|
||||
./configure-log-compiler-errors-to-stderr.patch
|
||||
./fix-gcc-complaining-about-invalid-configure-example-code.patch
|
||||
|
||||
(fetchurl {
|
||||
url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/app-misc/bfr/files/bfr-1.6-perl.patch?id=dec60bb6900d6ebdaaa6aa1dcb845b30b739f9b5";
|
||||
sha256 = "1pk9jm3c1qzs727lh0bw61w3qbykaqg4jblywf9pvq5bypk88qfj";
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue