diff --git a/mingw-w64-graphviz/001-mingw-vs-msvc.patch b/mingw-w64-graphviz/001-mingw-vs-msvc.patch new file mode 100644 index 0000000000..3fc2ede180 --- /dev/null +++ b/mingw-w64-graphviz/001-mingw-vs-msvc.patch @@ -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 */ diff --git a/mingw-w64-graphviz/002-fix-dependency-detect.patch b/mingw-w64-graphviz/002-fix-dependency-detect.patch new file mode 100644 index 0000000000..7bd38182b3 --- /dev/null +++ b/mingw-w64-graphviz/002-fix-dependency-detect.patch @@ -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 \ diff --git a/mingw-w64-graphviz/PKGBUILD b/mingw-w64-graphviz/PKGBUILD index 52e4b3862c..6ddfbd54fa 100644 --- a/mingw-w64-graphviz/PKGBUILD +++ b/mingw-w64-graphviz/PKGBUILD @@ -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 }