[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