graphviz: [WIP] Update to 2.40.1 and build fixes

This commit is contained in:
Alexey Pavlov
2017-03-15 15:16:51 +03:00
parent 328919a6bb
commit e53567966f
3 changed files with 469 additions and 6 deletions

View File

@@ -0,0 +1,386 @@
diff -Naur graphviz-2.40.1-orig/lib/common/geomprocs.h graphviz-2.40.1/lib/common/geomprocs.h
--- graphviz-2.40.1-orig/lib/common/geomprocs.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/common/geomprocs.h 2017-03-15 12:24:49.724951600 +0300
@@ -24,13 +24,15 @@
#include "geom.h"
-#ifdef _WIN32
#ifdef GVDLL
#define extern __declspec(dllexport)
-#else
+#elif defined(_MSC_VER)
+#ifndef GVC_EXPORTS
#define extern __declspec(dllimport)
#endif
-#endif
+#else
+#define extern
+#endif
extern box mkbox(point p, point q);
extern boxf mkboxf(pointf p, pointf q);
diff -Naur graphviz-2.40.1-orig/lib/common/globals.h graphviz-2.40.1/lib/common/globals.h
--- graphviz-2.40.1-orig/lib/common/globals.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/common/globals.h 2017-03-15 12:24:11.419760600 +0300
@@ -38,21 +38,21 @@
#if !defined(_BLD_dotneato) && defined(__IMPORT__)
# define external __IMPORT__
#endif
-#if defined(GVDLL)
+
+#ifdef GVDLL
#if !defined(_BLD_gvc)
-#define extern __declspec(dllimport)
+#define extern __declspec(dllimport)
#else
#define extern __declspec(dllexport)
#endif
-#endif
-#endif
-/*visual studio*/
-#ifdef _WIN32
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
+#endif
#endif
-/*end visual studio*/
#ifndef external
# define external extern
diff -Naur graphviz-2.40.1-orig/lib/common/memory.h graphviz-2.40.1/lib/common/memory.h
--- graphviz-2.40.1-orig/lib/common/memory.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/common/memory.h 2017-03-15 12:14:33.349158300 +0300
@@ -23,6 +23,16 @@
extern "C" {
#endif
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
+#ifndef GVC_EXPORTS
+#define extern __declspec(dllimport)
+#endif
+#else
+#define extern
+#endif
+
#ifdef DMALLOC
#define NEW(t) (t*)calloc(1,sizeof(t))
#define N_NEW(n,t) (t*)calloc((n),sizeof(t))
@@ -42,16 +52,6 @@
#define RALLOC(size,ptr,type) ((type*)grealloc(ptr,(size)*sizeof(type)))
#define ZALLOC(size,ptr,type,osize) (ptr? (type*)zrealloc(ptr,size,sizeof(type),osize):(type*)zmalloc((size)*sizeof(type)))
#endif
-#ifdef GVDLL
-#define extern __declspec(dllexport)
-#else
-#ifdef _WIN32
-#ifndef GVC_EXPORTS
-#define extern __declspec(dllimport)
-#endif
-#endif
-
-#endif
extern void *zmalloc(size_t);
extern void *zrealloc(void *, size_t, size_t, size_t);
diff -Naur graphviz-2.40.1-orig/lib/common/pointset.h graphviz-2.40.1/lib/common/pointset.h
--- graphviz-2.40.1-orig/lib/common/pointset.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/common/pointset.h 2017-03-15 12:22:42.156655100 +0300
@@ -23,20 +23,16 @@
typedef Dict_t PointSet;
typedef Dict_t PointMap;
+
#ifdef GVDLL
#define extern __declspec(dllexport)
-#else
-#define extern
-#endif
-
-/*visual studio*/
-#ifdef _WIN32
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
-#undef extern
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
extern PointSet *newPS(void);
extern void freePS(PointSet *);
diff -Naur graphviz-2.40.1-orig/lib/common/render.h graphviz-2.40.1/lib/common/render.h
--- graphviz-2.40.1-orig/lib/common/render.h 2016-12-22 08:44:41.000000000 +0300
+++ graphviz-2.40.1/lib/common/render.h 2017-03-15 12:21:40.252114300 +0300
@@ -58,13 +58,15 @@
typedef void (*nodesizefn_t) (Agnode_t *, boolean);
-/*visual studio*/
-#ifdef _WIN32
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
extern void add_box(path *, boxf);
extern void arrow_flags(Agedge_t * e, int *sflag, int *eflag);
diff -Naur graphviz-2.40.1-orig/lib/common/utils.h graphviz-2.40.1/lib/common/utils.h
--- graphviz-2.40.1-orig/lib/common/utils.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/common/utils.h 2017-03-15 12:22:05.404553000 +0300
@@ -19,13 +19,15 @@
#endif
-/*visual studio*/
-#ifdef _WIN32
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
#ifndef HAVE_STRCASECMP
extern int strcasecmp(const char *s1, const char *s2);
diff -Naur graphviz-2.40.1-orig/lib/gvc/gvc.h graphviz-2.40.1/lib/gvc/gvc.h
--- graphviz-2.40.1-orig/lib/gvc/gvc.h 2016-12-18 15:58:37.000000000 +0300
+++ graphviz-2.40.1/lib/gvc/gvc.h 2017-03-15 12:22:21.932498300 +0300
@@ -23,18 +23,13 @@
#ifdef GVDLL
#define extern __declspec(dllexport)
-#else
-#define extern
-#endif
-
-/*visual studio*/
-#ifdef WIN32
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
-#undef extern
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
#define LAYOUT_DONE(g) (agbindrec(g, "Agraphinfo_t", 0, TRUE) && GD_drawing(g))
diff -Naur graphviz-2.40.1-orig/lib/gvc/gvcext.h graphviz-2.40.1/lib/gvc/gvcext.h
--- graphviz-2.40.1-orig/lib/gvc/gvcext.h 2016-08-10 00:02:10.000000000 +0300
+++ graphviz-2.40.1/lib/gvc/gvcext.h 2017-03-15 11:12:58.636377400 +0300
@@ -64,7 +64,7 @@
typedef struct gvplugin_available_s gvplugin_available_t;
/*visual studio*/
-#ifdef WIN32
+#ifdef _MSC_VER
#ifndef GVC_EXPORTS
__declspec(dllimport) lt_symlist_t lt_preloaded_symbols[];
#else
@@ -77,11 +77,11 @@
/*end visual studio*/
-#ifndef WIN32
+#ifndef _MSC_VER
+#if !defined(LTDL_H)
#if defined(GVDLL)
__declspec(dllexport) lt_symlist_t lt_preloaded_symbols[];
#else
-#if !defined(LTDL_H)
extern lt_symlist_t lt_preloaded_symbols[];
#endif
#endif
diff -Naur graphviz-2.40.1-orig/lib/gvc/gvcint.h graphviz-2.40.1/lib/gvc/gvcint.h
--- graphviz-2.40.1-orig/lib/gvc/gvcint.h 2017-03-15 14:50:51.528603900 +0300
+++ graphviz-2.40.1/lib/gvc/gvcint.h 2017-03-15 14:51:13.207271100 +0300
@@ -24,6 +24,16 @@
#include "gvcommon.h"
#include "color.h"
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
+#ifndef VMALLOC_EXPORTS
+#define extern __declspec(dllimport)
+#endif
+#else
+#define extern
+#endif
+
/* active plugin headers */
typedef struct gvplugin_active_layout_s {
gvlayout_engine_t *engine;
@@ -146,6 +156,8 @@
extern GVC_t* gvCloneGVC (GVC_t *);
extern void gvFreeCloneGVC (GVC_t *);
+#undef extern
+
#ifdef WIN32
#define DIRSEP "\\"
#else
diff -Naur graphviz-2.40.1-orig/lib/gvc/gvio.h graphviz-2.40.1/lib/gvc/gvio.h
--- graphviz-2.40.1-orig/lib/gvc/gvio.h 2016-09-08 07:45:03.000000000 +0300
+++ graphviz-2.40.1/lib/gvc/gvio.h 2017-03-15 12:26:35.091978200 +0300
@@ -22,18 +22,13 @@
#ifdef GVDLL
#define extern __declspec(dllexport)
-#else
-#define extern
-#endif
-
-/*visual studio*/
-#ifdef WIN32
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
-#undef extern
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
extern size_t gvwrite (GVJ_t * job, const char *s, size_t len);
extern size_t gvfwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream);
diff -Naur graphviz-2.40.1-orig/lib/gvc/gvplugin_loadimage.h graphviz-2.40.1/lib/gvc/gvplugin_loadimage.h
--- graphviz-2.40.1-orig/lib/gvc/gvplugin_loadimage.h 2016-08-10 00:02:10.000000000 +0300
+++ graphviz-2.40.1/lib/gvc/gvplugin_loadimage.h 2017-03-15 12:27:00.020404000 +0300
@@ -23,16 +23,14 @@
#endif
#ifdef GVDLL
-# define extern __declspec(dllexport)
-#endif
-
-/*visual studio*/
-#ifdef WIN32
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
extern boolean gvusershape_file_access(usershape_t *us);
extern void gvusershape_file_release(usershape_t *us);
diff -Naur graphviz-2.40.1-orig/lib/pathplan/pathutil.h graphviz-2.40.1/lib/pathplan/pathutil.h
--- graphviz-2.40.1-orig/lib/pathplan/pathutil.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/pathplan/pathutil.h 2017-03-15 12:27:39.732675500 +0300
@@ -31,13 +31,16 @@
#define TRUE (NOT(FALSE))
#endif
-/*visual studio*/
-#ifdef _WIN32
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef PATHPLAN_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
+
typedef double COORD;
extern COORD area2(Ppoint_t, Ppoint_t, Ppoint_t);
extern int wind(Ppoint_t a, Ppoint_t b, Ppoint_t c);
diff -Naur graphviz-2.40.1-orig/lib/pathplan/vis.h graphviz-2.40.1/lib/pathplan/vis.h
--- graphviz-2.40.1-orig/lib/pathplan/vis.h 2016-12-08 08:43:20.000000000 +0300
+++ graphviz-2.40.1/lib/pathplan/vis.h 2017-03-15 12:28:57.877145100 +0300
@@ -46,12 +46,17 @@
/* this is computed from the above */
array2 vis;
};
-#ifdef _WIN32
+
+
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef PATHPLAN_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
extern COORD *ptVis(vconfig_t *, int, Ppoint_t);
extern int directVis(Ppoint_t, int, Ppoint_t, int, vconfig_t *);
diff -Naur graphviz-2.40.1-orig/lib/pack/pack.h graphviz-2.40.1/lib/pack/pack.h
--- graphviz-2.40.1-orig/lib/pack/pack.h 2016-08-10 00:02:10.000000000 +0300
+++ graphviz-2.40.1/lib/pack/pack.h 2017-03-15 13:56:32.529203100 +0300
@@ -57,13 +57,15 @@
int flags;
} pack_info;
-/*visual studio*/
-#ifdef WIN32
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef GVC_EXPORTS
#define extern __declspec(dllimport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
extern point *putRects(int ng, boxf* bbs, pack_info* pinfo);
extern int packRects(int ng, boxf* bbs, pack_info* pinfo);
diff -Naur graphviz-2.40.1-orig/lib/vmalloc/vmalloc.h graphviz-2.40.1/lib/vmalloc/vmalloc.h
--- graphviz-2.40.1-orig/lib/vmalloc/vmalloc.h 2016-12-22 08:44:41.000000000 +0300
+++ graphviz-2.40.1/lib/vmalloc/vmalloc.h 2017-03-15 13:58:19.217305300 +0300
@@ -109,16 +109,16 @@
#define extern __IMPORT__
#endif
-/*visual studio*/
-#ifdef WIN32
-#undef extern
+#ifdef GVDLL
+#define extern __declspec(dllexport)
+#elif defined(_MSC_VER)
#ifndef VMALLOC_EXPORTS
#define extern __declspec(dllimport)
-#else
-#define extern __declspec(dllexport)
#endif
+#else
+#define extern
#endif
-/*end visual studio*/
+
extern Vmethod_t *Vmbest; /* best allocation */
extern Vmethod_t *Vmlast; /* last-block allocation */
extern Vmethod_t *Vmpool; /* pool allocation */

View File

@@ -0,0 +1,44 @@
diff -Naur graphviz-2.40.1-orig/configure.ac graphviz-2.40.1/configure.ac
--- graphviz-2.40.1-orig/configure.ac 2016-12-22 08:44:41.000000000 +0300
+++ graphviz-2.40.1/configure.ac 2017-03-15 09:24:50.495509200 +0300
@@ -292,7 +292,7 @@
TCLSH=$withval,)
if test "x$TCLSH" = "x"; then
- AC_PATH_PROGS(TCLSH,[tclsh8.6 tclsh8.5 tclsh8.4 tclsh8.3 tclsh])
+ AC_PATH_PROGS(TCLSH,[tclsh8.6 tclsh86 tclsh8.5 tclsh85 tclsh8.4 tclsh84 tclsh8.3 tclsh83 tclsh])
# if test "x$TCLSH" = "x"; then
# AC_MSG_ERROR([Unable to find a tclsh. Tclsh is a required program for building graphviz, independent of wether tcl-based graphviz products are built])
# use_tcl="No (tclsh unavailable)"
@@ -1625,7 +1625,7 @@
RUBY_INSTALL_DIR="`$RUBY $srcdir/config/config_ruby.rb vendorarchdir`"
fi
],[
- PKG_CHECK_MODULES([RUBY], [ruby-1.9],[
+ PKG_CHECK_MODULES([RUBY], [ruby-2.4],[
AC_CHECK_PROG(RUBY,ruby,ruby)
if test "x$RUBY" = "x"; then
use_ruby="No (ruby not available)"
@@ -2809,8 +2809,8 @@
LDFLAGS="$LDFLAGS $GLUT_LIBS"
AC_CHECK_HEADER(GL/glut.h,
- AC_CHECK_LIB(glut,main,
- [GLUT_LIBS="$GLUT_LIBS -lglut"
+ AC_CHECK_LIB(freeglut,main,
+ [GLUT_LIBS="$GLUT_LIBS -lfreeglut"
use_glut="Yes"
AC_DEFINE_UNQUOTED(HAVE_GLUT,1,[Define if you have the GLUT library])],
use_glut="No (missing libglut)"
diff -Naur graphviz-2.40.1-orig/lib/gvc/Makefile.am graphviz-2.40.1/lib/gvc/Makefile.am
--- graphviz-2.40.1-orig/lib/gvc/Makefile.am 2016-12-17 08:44:53.000000000 +0300
+++ graphviz-2.40.1/lib/gvc/Makefile.am 2017-03-15 13:55:02.393047600 +0300
@@ -19,7 +19,7 @@
AM_CPPFLAGS += -O0
endif
-LIBS = $(SOCKET_LIBS) $(Z_LIBS) $(MATH_LIBS)
+LIBS = $(SOCKET_LIBS) $(Z_LIBS) $(MATH_LIBS) -lregex
pkginclude_HEADERS = gvc.h gvcext.h gvplugin.h gvcjob.h \
gvcommon.h gvplugin_render.h gvplugin_layout.h gvconfig.h \

View File

@@ -2,23 +2,55 @@
_realname=graphviz
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.38.0
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.40.1
pkgrel=1
pkgdesc="Graph Visualization Software (mingw-w64)"
arch=('any')
url='http://www.graphviz.org/'
license=('EPL')
source=("http://www.graphviz.org/pub/${_realname}/stable/SOURCES/${_realname}-${pkgver}.tar.gz")
sha256sums=('81aa238d9d4a010afa73a9d2a704fc3221c731e1e06577c2ab3496bdef67859e')
depends=("${MINGW_PACKAGE_PREFIX}-cairo"
"${MINGW_PACKAGE_PREFIX}-devil"
"${MINGW_PACKAGE_PREFIX}-expat"
"${MINGW_PACKAGE_PREFIX}-freetype"
"${MINGW_PACKAGE_PREFIX}-glib2"
"${MINGW_PACKAGE_PREFIX}-gtk2"
"${MINGW_PACKAGE_PREFIX}-gtkglext"
"${MINGW_PACKAGE_PREFIX}-fontconfig"
"${MINGW_PACKAGE_PREFIX}-freeglut"
"${MINGW_PACKAGE_PREFIX}-libglade"
"${MINGW_PACKAGE_PREFIX}-libgd"
"${MINGW_PACKAGE_PREFIX}-libpng"
"${MINGW_PACKAGE_PREFIX}-libsystre"
"${MINGW_PACKAGE_PREFIX}-pango"
"${MINGW_PACKAGE_PREFIX}-poppler"
"${MINGW_PACKAGE_PREFIX}-zlib")
makedepends=(#"${MINGW_PACKAGE_PREFIX}-ocaml"
"${MINGW_PACKAGE_PREFIX}-lua"
"${MINGW_PACKAGE_PREFIX}-pkg-config"
"${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-ruby"
"${MINGW_PACKAGE_PREFIX}-tcl"
"${MINGW_PACKAGE_PREFIX}-zlib")
source=("http://www.graphviz.org/pub/${_realname}/stable/SOURCES/${_realname}-${pkgver}.tar.gz"
001-mingw-vs-msvc.patch
002-fix-dependency-detect.patch)
sha256sums=('ca5218fade0204d59947126c38439f432853543b0818d9d728c589dfe7f3a421'
'76fa43277e864cca467d91f1e3a68baed8208a68542b785c9a16a8389b9ec2ca'
'985ade9fb44e9ea78d6cc7d4c6b94fbc160ab5ab05880adaa0df7ccc632e3b54')
prepare() {
cd "${srcdir}"/${_realname}-${pkgver}
patch -p1 -i ${srcdir}/001-mingw-vs-msvc.patch
patch -p1 -i ${srcdir}/002-fix-dependency-detect.patch
autoreconf -fiv
}
build() {
local gd_incdir=$(pkg-config --variable=includedir gdlib)
cd "$srcdir"/${_realname}-${pkgver}
[ -d "${srcdir}"/build-${CARCH} ] && rm -rf "${srcdir}"/build-${CARCH}
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
../${_realname}-${pkgver}/configure \
--prefix=${MINGW_PREFIX} \
@@ -26,7 +58,8 @@ build() {
--host=${MINGW_CHOST} \
--target=${MINGW_CHOST} \
--enable-static \
--enable-shared
--enable-shared \
--with-gdincludedir=${gd_incdir}
make
}