thrift: unbreak build

Add a tiny patch (already upstream) that fixes this build error:

  <flex>/lib/libfl.so: undefined reference to `yylex'
This commit is contained in:
Bjørn Forsman 2014-04-23 21:51:21 +02:00
parent a3b1f48c5d
commit 83d0fd3078
2 changed files with 28 additions and 0 deletions

View File

@ -15,6 +15,11 @@ stdenv.mkDerivation {
enableParallelBuilding = true; enableParallelBuilding = true;
# Fixes build error: <flex>/lib/libfl.so: undefined reference to `yylex'.
# Patch exists in upstream git repo, so it can be removed on the next version
# bump.
patches = [ ./yylex.patch ];
# Workaround to make the python wrapper not drop this package: # Workaround to make the python wrapper not drop this package:
# pythonFull.override { extraLibs = [ thrift ]; } # pythonFull.override { extraLibs = [ thrift ]; }
pythonPath = []; pythonPath = [];

View File

@ -0,0 +1,23 @@
Fixes build error:
<flex>/lib/libfl.so: undefined reference to `yylex'
The same patch exists in upstream thrift git repo, commit
ec8daae71004b3c2346bf12b2d74e52ed0815337
"THRIFT-2386: Thrift refuses to link yylex".
diff --git a/compiler/cpp/src/main.h b/compiler/cpp/src/main.h
index 87af5f6..27285f5 100644
--- a/compiler/cpp/src/main.h
+++ b/compiler/cpp/src/main.h
@@ -28,8 +28,9 @@
/**
* Defined in the flex library
*/
-
-int yylex(void);
+extern "C" {
+ int yylex(void);
+}
int yyparse(void);