graphviz: patch broken cdt.h header file

The cdt.h header duplicates the signatures of standard library functions
memcmp() and strcpy(), but those signatures don't match the real thing when
building with a C++ compiler, because they lack the no-throw declaration glibc
has. Simply dropping those redundant prototypes remedies the issue.
This commit is contained in:
Peter Simons 2012-11-11 20:16:21 +01:00
parent fbd58e20b5
commit 3d4068b11a
2 changed files with 17 additions and 0 deletions

View File

@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
pango gd gts
] ++ stdenv.lib.optionals (xlibs != null) [ xlibs.xlibs xlibs.libXrender ];
patches = [ ./fix-broken-memcp-signature.patch ];
configureFlags =
[ "--with-pngincludedir=${libpng}/include"
"--with-pnglibdir=${libpng}/lib"

View File

@ -0,0 +1,15 @@
diff -ubr graphviz-2.28.0-orig/lib/cdt/cdt.h graphviz-2.28.0-new/lib/cdt/cdt.h
--- graphviz-2.28.0-orig/lib/cdt/cdt.h 2012-11-11 20:05:55.674397100 +0100
+++ graphviz-2.28.0-new/lib/cdt/cdt.h 2012-11-11 20:06:28.069511092 +0100
@@ -238,11 +238,6 @@
extern int dtstat _ARG_((Dt_t*, Dtstat_t*, int));
extern unsigned int dtstrhash _ARG_((unsigned int, Void_t*, int));
-#if !_PACKAGE_ast
-extern int memcmp _ARG_((const Void_t*, const Void_t*, size_t));
-extern int strcmp _ARG_((const char*, const char*));
-#endif
-
#undef extern
_END_EXTERNS_