[134525] trunk/dports/graphics/ipe

khindenburg at macports.org khindenburg at macports.org
Sat Mar 28 10:27:55 PDT 2015


Revision: 134525
          https://trac.macports.org/changeset/134525
Author:   khindenburg at macports.org
Date:     2015-03-28 10:27:55 -0700 (Sat, 28 Mar 2015)
Log Message:
-----------
ipe: update to 7.1.7 maintainer #47280

Modified Paths:
--------------
    trunk/dports/graphics/ipe/Portfile

Added Paths:
-----------
    trunk/dports/graphics/ipe/files/patch-ipelets-qvoronoi-qvoronoi.cpp.diff
    trunk/dports/graphics/ipe/files/patch-ipelib-ipebitmap.cpp.diff
    trunk/dports/graphics/ipe/files/patch-ipelua-ipeluaipelet.cpp.diff

Modified: trunk/dports/graphics/ipe/Portfile
===================================================================
--- trunk/dports/graphics/ipe/Portfile	2015-03-28 17:16:00 UTC (rev 134524)
+++ trunk/dports/graphics/ipe/Portfile	2015-03-28 17:27:55 UTC (rev 134525)
@@ -5,10 +5,10 @@
 PortGroup               qt4 1.0
 
 name                    ipe
-version                 7.1.4
+version                 7.1.7
 set branch              [join [lrange [split ${version} .] 0 1] .]
 categories              graphics
-maintainers             jacobs-university.de:m.thon openmaintainer
+maintainers             gmail.com:m7.thon openmaintainer
 description             The Ipe extensible drawing editor
 long_description        \
                         Ipe is a drawing editor for creating figures in PDF or \
@@ -23,22 +23,37 @@
 distname                ${name}-${version}-src
 worksrcdir              ${name}-${version}/src
 
-checksums               sha1    48a5aebd6e54a3832e4841b12ed5dd8bb6ec8ec6 \
-                        rmd160  ab90157ae53a72b1a04bddb5f62aa645bdc9b20b
+checksums               sha1    ace0628f9e8a1d752f4a1837ac705e0457498a00 \
+                        rmd160  e77099d2d24d195d4ef541311b6114dc38580dc8
 
 
 depends_lib-append      port:freetype \
                         path:lib/pkgconfig/cairo.pc:cairo \
                         path:lib/pkgconfig/lua.pc:lua \
                         port:lua \
+                        path:lib/libjpeg.dylib:jpeg \
+                        port:libpng \
                         port:zlib
 
-patchfiles              ipe-cstdlib.patch
+patchfiles              patch-ipelib-ipebitmap.cpp.diff \
+                        patch-ipelets-qvoronoi-qvoronoi.cpp.diff \
+                        patch-ipelua-ipeluaipelet.cpp.diff
 
 use_configure           no
 
 variant universal {}
 
+variant qvoronoi description {Add qvoronoi ipelet} {
+    depends_lib-append  port:qhull
+    build.post_args     subdirs="ipelib ipelets/lua ipelets/qvoronoi ipetoipe ipe6upgrade \
+                            ipeextract ipescript ipecairo iperender ipecanvas ipeview ipelua ipeui ipe" \
+                        QHULL_CFLAGS=-I${prefix}/include/qhull
+    destroot.post_args  subdirs="ipelib ipelets/lua ipelets/qvoronoi ipetoipe ipe6upgrade \
+                            ipeextract ipescript ipecairo iperender ipecanvas ipeview ipelua ipeui ipe"
+}
+
+default_variants        +qvoronoi
+
 pre-build {
     set    lua_pc       [lindex [split [glob ${prefix}/lib/pkgconfig/lua*] "/"] end]
     set    lua_version  [join [lrange [split ${lua_pc} "."] 0 end-1] "."]
@@ -48,6 +63,9 @@
     build.args          IPEPREFIX=${prefix} \
                         ZLIB_CFLAGS="`pkg-config --cflags zlib`" \
                         ZLIB_LIBS="`pkg-config --libs zlib`" \
+                        JPEG_LIBS="-ljpeg" \
+                        PNG_CFLAGS="`pkg-config --cflags libpng`" \
+                        PNG_LIBS="`pkg-config --libs libpng`" \
                         FREETYPE_CFLAGS="`pkg-config --cflags freetype2`" \
                         FREETYPE_LIBS="`pkg-config --libs freetype2`" \
                         CAIRO_CFLAGS="`pkg-config --cflags cairo`" \

Added: trunk/dports/graphics/ipe/files/patch-ipelets-qvoronoi-qvoronoi.cpp.diff
===================================================================
--- trunk/dports/graphics/ipe/files/patch-ipelets-qvoronoi-qvoronoi.cpp.diff	                        (rev 0)
+++ trunk/dports/graphics/ipe/files/patch-ipelets-qvoronoi-qvoronoi.cpp.diff	2015-03-28 17:27:55 UTC (rev 134525)
@@ -0,0 +1,12 @@
+--- ipelets/qvoronoi/qvoronoi.cpp.orig	2015-03-27 12:21:50.000000000 +0100
++++ ipelets/qvoronoi/qvoronoi.cpp	2015-03-27 12:22:16.000000000 +0100
+@@ -29,7 +29,8 @@
+ */
+ 
+ #include <stdio.h>
+-#include <stdlib.h>
++#include <cstdlib>
++
+ 
+ extern "C" {
+ #include "qhull_a.h"

Added: trunk/dports/graphics/ipe/files/patch-ipelib-ipebitmap.cpp.diff
===================================================================
--- trunk/dports/graphics/ipe/files/patch-ipelib-ipebitmap.cpp.diff	                        (rev 0)
+++ trunk/dports/graphics/ipe/files/patch-ipelib-ipebitmap.cpp.diff	2015-03-28 17:27:55 UTC (rev 134525)
@@ -0,0 +1,87 @@
+--- ipelib/ipebitmap.cpp.orig	2015-03-27 12:12:31.000000000 +0100
++++ ipelib/ipebitmap.cpp	2015-03-27 12:15:36.000000000 +0100
+@@ -32,7 +32,10 @@
+ #include "ipeutils.h"
+ #include <zlib.h>
+ 
+-#include <turbojpeg.h>
++#include <cstdio>
++#include <csetjmp>
++#include <jpeglib.h>
++
+ #include <png.h>
+ 
+ using namespace ipe;
+@@ -332,36 +335,47 @@
+ 
+ // --------------------------------------------------------------------
+ 
++// The following is error-handling code for decopressing jpeg using the
++// standard libjpeg API. Taken from the example.c and stackoverflow.
++struct jpegErrorManager {
++  struct jpeg_error_mgr pub;
++  jmp_buf setjmp_buffer;
++};
++char jpegLastErrorMsg[JMSG_LENGTH_MAX];
++void jpegErrorExit (j_common_ptr cinfo) {
++  jpegErrorManager *myerr = (jpegErrorManager*) cinfo->err;
++  (*(cinfo->err->format_message)) (cinfo, jpegLastErrorMsg);
++  longjmp(myerr->setjmp_buffer, 1);
++}
++
++// Decode jpeg image using the standard libjpeg API with errorhandling
+ bool dctDecode(Buffer dctData, Buffer pixelData, int components)
+ {
+-  tjhandle handle = tjInitDecompress();
+-  if (!handle) {
+-    ipeDebug("tjInitDecompress failed: %s",  tjGetErrorStr());
++  struct jpeg_decompress_struct cinfo;
++  // Error handling:
++  struct jpegErrorManager jerr;
++  cinfo.err = jpeg_std_error(&jerr.pub);
++  jerr.pub.error_exit = jpegErrorExit;
++  if (setjmp(jerr.setjmp_buffer)) {
++    ipeDebug("jpeg decompression failed: %s", jpegLastErrorMsg);
++    jpeg_destroy_decompress(&cinfo);
+     return false;
+   }
+-
+-  int width, height, jpegSubsamp;
+-  if (tjDecompressHeader2(handle, (uchar *) dctData.data(), dctData.size(),
+-			  &width, &height, &jpegSubsamp) < 0) {
+-    ipeDebug("tjDecompressHeader2 failed: %s",  tjGetErrorStr());
+-    tjDestroy(handle);
+-    return false;
+-  }
+-
+-  int flags = 0;
+-  // if (fast)
+-  // flags |= TJFLAG_FASTDCT;
+-
+-  if (tjDecompress2(handle, (uchar *) dctData.data(), dctData.size(),
+-		    (uchar *) pixelData.data(),
+-		    width, components * width, height,
+-		    (components == 3) ? TJPF_RGB : TJPF_GRAY,
+-		    flags) < 0) {
+-    ipeDebug("tjDecompress2 failed: %s",  tjGetErrorStr());
+-    tjDestroy(handle);
+-    return false;
++  // Decompression:
++  jpeg_create_decompress(&cinfo);
++  jpeg_mem_src(&cinfo, (unsigned char *) dctData.data(), dctData.size());
++  jpeg_read_header(&cinfo, 1);
++	cinfo.out_color_space = ((components == 3) ? JCS_RGB : JCS_GRAYSCALE);
++  jpeg_start_decompress(&cinfo);
++  while (cinfo.output_scanline < cinfo.output_height) {
++		int row_stride = cinfo.output_width * cinfo.output_components;
++		int index = cinfo.output_scanline * row_stride;
++		unsigned char *buffer[1];
++		buffer[0] = (unsigned char *) &(pixelData[index]);
++    jpeg_read_scanlines(&cinfo, buffer, 1);
+   }
+-  tjDestroy(handle);
++  jpeg_finish_decompress(&cinfo);
++  jpeg_destroy_decompress(&cinfo);
+   return true;
+ }
+ 

Added: trunk/dports/graphics/ipe/files/patch-ipelua-ipeluaipelet.cpp.diff
===================================================================
--- trunk/dports/graphics/ipe/files/patch-ipelua-ipeluaipelet.cpp.diff	                        (rev 0)
+++ trunk/dports/graphics/ipe/files/patch-ipelua-ipeluaipelet.cpp.diff	2015-03-28 17:27:55 UTC (rev 134525)
@@ -0,0 +1,11 @@
+--- ipelua/ipeluaipelet.cpp.orig	2015-03-27 13:38:43.000000000 +0100
++++ ipelua/ipeluaipelet.cpp	2015-03-27 13:39:02.000000000 +0100
+@@ -67,7 +67,7 @@
+ #ifdef WIN32
+   fname += ".dll";
+ #else
+-  fname += ".so";
++  fname += ".dylib";
+ #endif
+   ipeDebug("Loading dll '%s'", fname.z());
+   PNewIpeletFn pIpelet = 0;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150328/61f70e94/attachment.html>


More information about the macports-changes mailing list