summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2012-12-09 00:11:42 +0000
committeradam <adam@pkgsrc.org>2012-12-09 00:11:42 +0000
commit4f5c13ecf3aded96d4bac06d863d0c03fa104c51 (patch)
tree9afdb8cde70b3e54e0ef6efb7ec8b2269663d636 /graphics
parente9f59320e4044a3b0171108cba323b4bcbf02d19 (diff)
downloadpkgsrc-4f5c13ecf3aded96d4bac06d863d0c03fa104c51.tar.gz
* Version 4.1 "Trouble In Paradise"
Released on December 8, 2012. ** Improvements - All deprecated options since version 4.0 have been removed. - A new primary seam-line generator, based on a Graph-Cut algorithm, has been implemented during GSoC 2011 by Mikołaj Leszczyński. The old Nearest-Feature Transform remains the default. The new algorithm is activated with "--primary-seam-generator=graph-cut". - The difference image on which Enblend's seam-line optimization relies for color images uses a perceptual model by default (option "--image-difference"), yielding a true CIE76 "Delta E" with the (default) luminance and chrominance weights of 1. - Parallelize CIECAM02 color conversion (option "--ciecam"). Speedups of up to 40% have been reported on the amd64 architecture. The computationally expensive color-space conversion still slows down blending and fusing by some 25%. - Enblend and Enfuse integrate seamlessly in color-managed workflow. Input images with color profiles automatically enable CIECAM blending and the output image is assigned the input images' color profile. - Enblend and Enfuse exploit a new feature in LittleCMS Version 2.x called "Unbounded CMM". Thereby, the hue and saturation of extreme shadows and highlights can be preserved much longer before pure black or white are reached. See: http://www.littlecms.com/CIC18_UnboundedCMM.pdf - Assign different profiles to profile-free input images with option "--fallback-profile" instead of being tied to sRGB. - A new gray-scale projector called "anti-value" helps when fusing with the intent of minimizing the noise in the output image. When employing a lower exposure cutoff this even is the default projector. - Both Enblend and Enfuse stop right after saving all generated masks to files, if option "--save-masks" is given, but option "--output" is not. This allows to splice tools that manipulate the masks and feed the masks back into Enblend and Enfuse with option "--load-masks". When combining option "--output" and "--save-masks" Enblend and Enfuse write all masks and the final output image as before. - Both Enblend and Enfuse can write their output JPEG files with arithmetic JPEG compression and TIFF files with JPEG compression, if the underlying JPEG and TIFF libraries support these compression schemes. ** Bug Fixes - Enblend and Enfuse consistently warn if they are passed input images that alternate between with color profile and without. - Grant SourceForge feature request ID 2991909 (OSX only). Previous to that, Enblend, when launched from a terminal window with GPU-acceleration (option "--gpu"), started a second, non-responsive terminal window and when this new Enblend window tried to "steal" the focus, it displayed the OSX rotating "beach ball". With the fix that all goes away. Also the responsiveness of the screen improves, which means that the non-functional window also hogged GUI resources. ** New Commandline Options - Option "--primary-seam-generator" controls the primary seam-line generation algorithm. - Option "--image-difference" selects the difference image calculation algorithm and optionally assigns weights to the luminance and the chrominance part of the difference image. - Short option "-c" now has a sibling called "--ciecam". The long option also has a negated form: "--no-ciecam"; the short one has not. - The option "--fallback-profile=PROFILE" allows users to pass their own profiles for image sets that come without ICC color profiles. Before the hard-coded profile was sRGB. - The option "--exposure-cutoff" facilitates tailoring the exposure weight curve specifically to exclude underexposed (and probably noisy) or overexposed pixels from fusion. - In Enblend option "--load-masks" disables all mask computations and loads the blend masks directly from the specified files. This is the dual of Enblend's long-known option "--save-masks". - The option "--layer-selector" overrides the standard default layer selector. - In addition to the usual integral values option "--levels" takes the keyword "auto", which restores the default. (The default is to automatically choose the maximum number of pyramid levels for each separate overlapping region.) ** Deprecated Features - The option "--smooth-difference" will be eliminated in the next version of Enblend; it has not helped and moreover only put lipstick on the seamline-optimizer's objective function. - The user-(re)sizable image-cache will not be available in later versions of Enblend and Enfuse. We are not sure yet whether it will be replaced by an mmap-based solution or just tossed out. ** Developer Stuff - XHTML validation does not rely on network access anymore. This means all necessary DTDs must be available locally and all catalogs must be set up correctly to build the XHTML documentation. - The option "--parameter" allows developers to pass arbitrary key-value pairs to Enblend and Enfuse. The keys must match the regular expression [A-Za-z][A-Za-z0-9_-]*; the values can be almost any string. No further checking or validation is performed. For more explanations on how to use parameters in the source code, see the block-comment within "namespace parameter" in file "common.h". ** Package Maintainer Stuff - Enblend and Enfuse now use LittleCMS version 2.x. - Enblend and Enfuse no longer rely on their own versions of the Vigra imaging library. Vigra version 1.8 or later is now required to build. - Enblend no longer relies on libXMI. (Enfuse never needed this library.)
Diffstat (limited to 'graphics')
-rw-r--r--graphics/enblend-enfuse/Makefile14
-rw-r--r--graphics/enblend-enfuse/distinfo18
-rw-r--r--graphics/enblend-enfuse/patches/patch-ab8
-rw-r--r--graphics/enblend-enfuse/patches/patch-ac8
-rw-r--r--graphics/enblend-enfuse/patches/patch-ad25
-rw-r--r--graphics/enblend-enfuse/patches/patch-ae224
-rw-r--r--graphics/enblend-enfuse/patches/patch-af22
-rw-r--r--graphics/enblend-enfuse/patches/patch-ag22
-rw-r--r--graphics/enblend-enfuse/patches/patch-src_gpu.cc15
9 files changed, 43 insertions, 313 deletions
diff --git a/graphics/enblend-enfuse/Makefile b/graphics/enblend-enfuse/Makefile
index 1a447202bc8..8be74477255 100644
--- a/graphics/enblend-enfuse/Makefile
+++ b/graphics/enblend-enfuse/Makefile
@@ -1,9 +1,6 @@
-# $NetBSD: Makefile,v 1.14 2012/10/06 14:10:47 asau Exp $
+# $NetBSD: Makefile,v 1.15 2012/12/09 00:11:42 adam Exp $
-DISTNAME= enblend-enfuse-4.0
-# XXX distribution file has changed; remove the line below on next update
-DIST_SUBDIR= ${PKGNAME_NOREV}
-PKGREVISION= 7
+DISTNAME= enblend-enfuse-4.1
CATEGORIES= graphics
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=enblend/}
@@ -12,8 +9,6 @@ HOMEPAGE= http://enblend.sourceforge.net/
COMMENT= Combines overlapping images without seams, with good exposure
LICENSE= gnu-gpl-v2
-WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}-753b534c819d
-
USE_LANGUAGES= c c++
USE_LIBTOOL= yes
USE_TOOLS+= gmake perl:build pkg-config
@@ -36,9 +31,10 @@ LIBS+= -lboost_system
.include "../../devel/boost-libs/buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../graphics/glew/buildlink3.mk"
-.include "../../graphics/lcms/buildlink3.mk"
-.include "../../graphics/libxmi/buildlink3.mk"
+.include "../../graphics/lcms2/buildlink3.mk"
.include "../../graphics/openexr/buildlink3.mk"
.include "../../graphics/png/buildlink3.mk"
.include "../../graphics/tiff/buildlink3.mk"
+.include "../../graphics/vigra/buildlink3.mk"
+.include "../../math/gsl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/graphics/enblend-enfuse/distinfo b/graphics/enblend-enfuse/distinfo
index 53b206f37aa..5e178f9b978 100644
--- a/graphics/enblend-enfuse/distinfo
+++ b/graphics/enblend-enfuse/distinfo
@@ -1,12 +1,10 @@
-$NetBSD: distinfo,v 1.8 2011/01/29 16:38:33 adam Exp $
+$NetBSD: distinfo,v 1.9 2012/12/09 00:11:42 adam Exp $
-SHA1 (enblend-enfuse-4.0/enblend-enfuse-4.0.tar.gz) = 34c3a5ce11c6ef0ef520d8a15a3cb6a94a567033
-RMD160 (enblend-enfuse-4.0/enblend-enfuse-4.0.tar.gz) = 9e531b5bf6f7258ef8778c01b456979e0bc04338
-Size (enblend-enfuse-4.0/enblend-enfuse-4.0.tar.gz) = 1046677 bytes
+SHA1 (enblend-enfuse-4.1.tar.gz) = 265db3fddc88de7dbbd30f0f848e489cce2c88ba
+RMD160 (enblend-enfuse-4.1.tar.gz) = c367a17be58039e4e97b1fa7a51efe92bc68e402
+Size (enblend-enfuse-4.1.tar.gz) = 857011 bytes
SHA1 (patch-aa) = b1809fe6ef6609658b697635c6cbf0c112a03fd1
-SHA1 (patch-ab) = afc074bb94e2a2b96c654c37540072514ba0bce0
-SHA1 (patch-ac) = 916f4655ff30013583014eb8deecc72bd19ae55d
-SHA1 (patch-ad) = 735b9bb01a8a76ec3dc4a13cece4d79681c2d951
-SHA1 (patch-ae) = fbb68114f877cf01960b353b527fa45cdac6b59d
-SHA1 (patch-af) = a32710958e30000fe75ecd436071306ea4b1844c
-SHA1 (patch-ag) = 6ef31f8b5ce54883e636adf23b4ea615ae9c752d
+SHA1 (patch-ab) = 7e641cf3806fe1b5e797085014a54b2fc16c6613
+SHA1 (patch-ac) = 883137e4e4920760d375d3dea27085c265ccf117
+SHA1 (patch-ad) = 8cef2de4ff47fe5798e33b8096d5e5cf71fafba1
+SHA1 (patch-src_gpu.cc) = 8a126e995a4f993e940814f647f1b961037470cf
diff --git a/graphics/enblend-enfuse/patches/patch-ab b/graphics/enblend-enfuse/patches/patch-ab
index 9d8ed7dd7a3..a9a9f574279 100644
--- a/graphics/enblend-enfuse/patches/patch-ab
+++ b/graphics/enblend-enfuse/patches/patch-ab
@@ -1,8 +1,8 @@
-$NetBSD: patch-ab,v 1.2 2009/12/16 21:28:35 adam Exp $
+$NetBSD: patch-ab,v 1.3 2012/12/09 00:11:42 adam Exp $
---- src/enfuse.cc.orig 2009-11-13 16:58:19.000000000 +0100
+--- src/enfuse.cc.orig 2012-12-08 08:23:59.000000000 +0000
+++ src/enfuse.cc
-@@ -54,8 +54,12 @@ extern "C" char *optarg;
+@@ -51,8 +51,12 @@ extern "C" char *optarg;
extern "C" int optind;
#ifndef _MSC_VER
@@ -15,7 +15,7 @@ $NetBSD: patch-ab,v 1.2 2009/12/16 21:28:35 adam Exp $
#include <signal.h>
#include <stdlib.h>
-@@ -1341,6 +1345,8 @@ int main(int argc, char** argv)
+@@ -1663,6 +1667,8 @@ int main(int argc, char** argv)
// functions in float_cast.h will work properly.
// See changes in vigra numerictraits.hxx
_controlfp(_RC_NEAR, _MCW_RC);
diff --git a/graphics/enblend-enfuse/patches/patch-ac b/graphics/enblend-enfuse/patches/patch-ac
index 907e0cee240..a0825d7d5cb 100644
--- a/graphics/enblend-enfuse/patches/patch-ac
+++ b/graphics/enblend-enfuse/patches/patch-ac
@@ -1,8 +1,8 @@
-$NetBSD: patch-ac,v 1.2 2009/12/16 21:28:35 adam Exp $
+$NetBSD: patch-ac,v 1.3 2012/12/09 00:11:42 adam Exp $
---- src/enblend.cc.orig 2009-11-13 16:57:53.000000000 +0100
+--- src/enblend.cc.orig 2012-12-08 08:23:59.000000000 +0000
+++ src/enblend.cc
-@@ -54,8 +54,12 @@ extern "C" char *optarg;
+@@ -51,8 +51,12 @@ extern "C" char *optarg;
extern "C" int optind;
#ifndef _MSC_VER
@@ -15,7 +15,7 @@ $NetBSD: patch-ac,v 1.2 2009/12/16 21:28:35 adam Exp $
#include <signal.h>
#include <stdlib.h>
-@@ -1259,6 +1263,8 @@ int main(int argc, char** argv)
+@@ -1657,6 +1661,8 @@ int main(int argc, char** argv)
// functions in float_cast.h will work properly.
// See changes in vigra numerictraits.hxx
_controlfp(_RC_NEAR, _MCW_RC);
diff --git a/graphics/enblend-enfuse/patches/patch-ad b/graphics/enblend-enfuse/patches/patch-ad
index 6b463a24961..f3a9c1f2c07 100644
--- a/graphics/enblend-enfuse/patches/patch-ad
+++ b/graphics/enblend-enfuse/patches/patch-ad
@@ -1,28 +1,17 @@
-$NetBSD: patch-ad,v 1.2 2010/12/14 18:26:35 adam Exp $
+$NetBSD: patch-ad,v 1.3 2012/12/09 00:11:42 adam Exp $
---- configure.orig 2009-12-20 15:40:28.000000000 +0000
+--- configure.orig 2012-12-08 08:28:13.000000000 +0000
+++ configure
-@@ -5533,10 +5533,6 @@ echo "${ECHO_T}no" >&6; }
- fi
-
-
--if test "x$GXX" = xyes; then
-- # Fixes SourceForge bug id 2121647 on some systems with newer GCCs.
-- CXXFLAGS="$CXXFLAGS --param inline-unit-growth=60"
--fi
-
-
-
-@@ -14030,7 +14030,7 @@ if test "x$enable_debug" = "xyes" \
- echo "${ECHO_T}yes" >&6; }
+@@ -10205,7 +10205,7 @@ if test "$enable_debug" = yes; then
+ $as_echo "yes" >&6; }
enable_debug=yes
else
- CXXFLAGS="$CXXFLAGS -O2 -DNDEBUG -Wall"
+ CXXFLAGS="$CXXFLAGS -DNDEBUG -Wall"
- { echo "$as_me:$LINENO: result: no" >&5
- echo "${ECHO_T}no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+ $as_echo "no" >&6; }
enable_debug=no
-@@ -14111,11 +14111,11 @@ cat >>conftest.$ac_ext <<_ACEOF
+@@ -10276,11 +10276,11 @@ for ax_openmp_flag in $ax_openmp_flags;
#ifdef __cplusplus
extern "C"
#endif
diff --git a/graphics/enblend-enfuse/patches/patch-ae b/graphics/enblend-enfuse/patches/patch-ae
deleted file mode 100644
index ad2e971aa58..00000000000
--- a/graphics/enblend-enfuse/patches/patch-ae
+++ /dev/null
@@ -1,224 +0,0 @@
-$NetBSD: patch-ae,v 1.3 2011/01/29 16:38:33 adam Exp $
-
---- src/vigra_impex/png.cxx.orig 2009-12-20 15:32:28.000000000 +0000
-+++ src/vigra_impex/png.cxx
-@@ -81,7 +81,11 @@ extern "C" {
- static void PngError( png_structp png_ptr, png_const_charp error_msg )
- {
- png_error_message = std::string(error_msg);
-+#if (PNG_LIBPNG_VER < 10500)
- longjmp( png_ptr->jmpbuf, 1 );
-+#else
-+ png_longjmp( png_ptr, 1 );
-+#endif
- }
-
- // called on non-fatal errors
-@@ -213,7 +217,7 @@ namespace vigra {
- vigra_postcondition( png != 0, "could not create the read struct." );
-
- // create info struct
-- if (setjmp(png->jmpbuf)) {
-+ if (setjmp(png_jmpbuf(png))) {
- png_destroy_read_struct( &png, &info, NULL );
- vigra_postcondition( false, png_error_message.insert(0, "error in png_create_info_struct(): ").c_str() );
- }
-@@ -221,14 +225,14 @@ namespace vigra {
- vigra_postcondition( info != 0, "could not create the info struct." );
-
- // init png i/o
-- if (setjmp(png->jmpbuf)) {
-+ if (setjmp(png_jmpbuf(png))) {
- png_destroy_read_struct( &png, &info, NULL );
- vigra_postcondition( false, png_error_message.insert(0, "error in png_init_io(): ").c_str() );
- }
- png_init_io( png, file.get() );
-
- // specify that the signature was already read
-- if (setjmp(png->jmpbuf)) {
-+ if (setjmp(png_jmpbuf(png))) {
- png_destroy_read_struct( &png, &info, NULL );
- vigra_postcondition( false, png_error_message.insert(0, "error in png_set_sig_bytes(): ").c_str() );
- }
-@@ -244,13 +248,13 @@ namespace vigra {
- void PngDecoderImpl::init()
- {
- // read all chunks up to the image data
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_read_info(): ").c_str() );
- png_read_info( png, info );
-
- // pull over the header fields
- int interlace_method, compression_method, filter_method;
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_get_IHDR(): ").c_str() );
- png_get_IHDR( png, info, &width, &height, &bit_depth, &color_type,
- &interlace_method, &compression_method, &filter_method );
-@@ -264,7 +268,7 @@ namespace vigra {
-
- // transform palette to rgb
- if ( color_type == PNG_COLOR_TYPE_PALETTE) {
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_palette_to_rgb(): ").c_str() );
- png_set_palette_to_rgb(png);
- color_type = PNG_COLOR_TYPE_RGB;
-@@ -273,9 +277,9 @@ namespace vigra {
-
- // expand gray values to at least one byte size
- if ( color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8 ) {
-- if (setjmp(png->jmpbuf))
-- vigra_postcondition( false,png_error_message.insert(0, "error in png_set_gray_1_2_4_to_8(): ").c_str());
-- png_set_gray_1_2_4_to_8(png);
-+ if (setjmp(png_jmpbuf(png)))
-+ vigra_postcondition( false,png_error_message.insert(0, "error in png_set_expand_gray_1_2_4_to_8(): ").c_str());
-+ png_set_expand_gray_1_2_4_to_8(png);
- bit_depth = 8;
- }
-
-@@ -283,7 +287,7 @@ namespace vigra {
- #if 0
- // strip alpha channel
- if ( color_type & PNG_COLOR_MASK_ALPHA ) {
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_set_strip_alpha(): ").c_str() );
- png_set_strip_alpha(png);
- color_type ^= PNG_COLOR_MASK_ALPHA;
-@@ -325,9 +329,9 @@ namespace vigra {
- #if (PNG_LIBPNG_VER > 10008) && defined(PNG_READ_iCCP_SUPPORTED)
- char * dummyName;
- int dummyCompType;
-- char * profilePtr;
-+ png_byte * profilePtr;
- png_uint_32 profileLen;
-- if (info->valid & PNG_INFO_iCCP) {
-+ if (png_get_valid(png, info, PNG_INFO_iCCP)) {
- png_get_iCCP(png, info, &dummyName, &dummyCompType, &profilePtr, &profileLen) ;
- iccProfilePtr = (unsigned char *) profilePtr;
- iccProfileLength = profileLen;
-@@ -340,7 +344,7 @@ namespace vigra {
- // image gamma
- double image_gamma = 0.45455;
- if ( png_get_valid( png, info, PNG_INFO_gAMA ) ) {
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_get_gAMA(): ").c_str() );
- png_get_gAMA( png, info, &image_gamma );
- }
-@@ -349,26 +353,26 @@ namespace vigra {
- double screen_gamma = 2.2;
-
- // set gamma correction
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_set_gamma(): ").c_str() );
- png_set_gamma( png, screen_gamma, image_gamma );
- #endif
-
- // interlace handling, get number of read passes needed
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false,png_error_message.insert(0, "error in png_set_interlace_handling(): ").c_str());
- n_interlace_passes = png_set_interlace_handling(png);
-
- // update png library state to reflect any changes that were made
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_read_update_info(): ").c_str() );
- png_read_update_info( png, info );
-
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false,png_error_message.insert(0, "error in png_get_channels(): ").c_str());
- n_channels = png_get_channels(png, info);
-
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false,png_error_message.insert(0, "error in png_get_rowbytes(): ").c_str());
- rowsize = png_get_rowbytes(png, info);
-
-@@ -379,7 +383,7 @@ namespace vigra {
- void PngDecoderImpl::nextScanline()
- {
- for (int i=0; i < n_interlace_passes; i++) {
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false,png_error_message.insert(0, "error in png_read_row(): ").c_str());
- png_read_row(png, row_data.begin(), NULL);
- }
-@@ -545,7 +549,7 @@ namespace vigra {
- vigra_postcondition( png != 0, "could not create the write struct." );
-
- // create info struct
-- if (setjmp(png->jmpbuf)) {
-+ if (setjmp(png_jmpbuf(png))) {
- png_destroy_write_struct( &png, &info );
- vigra_postcondition( false, png_error_message.insert(0, "error in png_info_struct(): ").c_str() );
- }
-@@ -556,7 +560,7 @@ namespace vigra {
- }
-
- // init png i/o
-- if (setjmp(png->jmpbuf)) {
-+ if (setjmp(png_jmpbuf(png))) {
- png_destroy_write_struct( &png, &info );
- vigra_postcondition( false, png_error_message.insert(0, "error in png_init_io(): ").c_str() );
- }
-@@ -571,7 +575,7 @@ namespace vigra {
- void PngEncoderImpl::finalize()
- {
- // write the IHDR
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_set_IHDR(): ").c_str() );
- png_set_IHDR( png, info, width, height, bit_depth, color_type,
- PNG_INTERLACE_NONE, PNG_COMPRESSION_TYPE_DEFAULT,
-@@ -579,7 +583,7 @@ namespace vigra {
-
- // set resolution
- if (x_resolution > 0 && y_resolution > 0) {
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_set_pHYs(): ").c_str() );
- png_set_pHYs(png, info, (png_uint_32) (x_resolution / 0.0254 + 0.5),
- (png_uint_32) (y_resolution / 0.0254 + 0.5),
-@@ -588,7 +592,7 @@ namespace vigra {
-
- // set offset
- if (position.x > 0 && position.y > 0) {
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_set_oFFs(): ").c_str() );
- png_set_oFFs(png, info, position.x, position.y, PNG_OFFSET_PIXEL);
- }
-@@ -597,12 +601,12 @@ namespace vigra {
- // set icc profile
- if (iccProfile.size() > 0) {
- png_set_iCCP(png, info, "icc", 0,
-- (char *)iccProfile.begin(), iccProfile.size());
-+ (png_bytep)iccProfile.begin(), iccProfile.size());
- }
- #endif
-
- // write the info struct
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_write_info(): ").c_str() );
- png_write_info( png, info );
-
-@@ -634,10 +638,10 @@ namespace vigra {
- }
-
- // write the whole image
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_write_image(): ").c_str() );
- png_write_image( png, row_pointers.begin() );
-- if (setjmp(png->jmpbuf))
-+ if (setjmp(png_jmpbuf(png)))
- vigra_postcondition( false, png_error_message.insert(0, "error in png_write_end(): ").c_str() );
- png_write_end(png, info);
- }
diff --git a/graphics/enblend-enfuse/patches/patch-af b/graphics/enblend-enfuse/patches/patch-af
deleted file mode 100644
index 11b2b15d9cf..00000000000
--- a/graphics/enblend-enfuse/patches/patch-af
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-af,v 1.1 2010/12/14 18:26:35 adam Exp $
-
---- src/anneal.h.orig 2010-10-30 19:43:51.000000000 +0000
-+++ src/anneal.h
-@@ -656,14 +656,14 @@ protected:
-
- bool segmentIntersect(const Point2D& l1a, const Point2D& l1b,
- const Point2D& l2a, const Point2D& l2b) const {
-- const int denom =
-+ int denom =
- (l2b.y - l2a.y) * (l1b.x - l1a.x) - (l2b.x - l2a.x) * (l1b.y - l1a.y);
- if (denom == 0) {
- return false; // lines are parallel or coincident
- }
-- const int uaNum =
-+ int uaNum =
- (l2b.x - l2a.x) * (l1a.y - l2a.y) - (l2b.y - l2a.y) * (l1a.x - l2a.x);
-- const int ubNum =
-+ int ubNum =
- (l1b.x - l1a.x) * (l1a.y - l2a.y) - (l1b.y - l1a.y) * (l1a.x - l2a.x);
- if (denom < 0) {
- uaNum *= -1;
diff --git a/graphics/enblend-enfuse/patches/patch-ag b/graphics/enblend-enfuse/patches/patch-ag
deleted file mode 100644
index 0c785b20b42..00000000000
--- a/graphics/enblend-enfuse/patches/patch-ag
+++ /dev/null
@@ -1,22 +0,0 @@
-$NetBSD: patch-ag,v 1.1 2010/12/14 18:26:35 adam Exp $
-
---- include/vigra/cachedfileimage.hxx.orig 2010-10-30 19:45:49.000000000 +0000
-+++ include/vigra/cachedfileimage.hxx
-@@ -556,7 +556,7 @@ class NotifyingDirectionSelector;
- template <class T, class Notify>
- class NotifyingDirectionSelector<UnstridedArrayTag, T, Notify>
- {
--#ifdef __GNUC__
-+#if defined(__GNUC__) && !defined(__clang__)
- friend class Notify::self_type;
- #else
- friend typename Notify::self_type;
-@@ -602,7 +602,7 @@ private:
-
- template <class T, class Notify>
- class NotifyingDirectionSelector<StridedArrayTag, T, Notify> {
--#ifdef __GNUC__
-+#if defined(__GNUC__) && !defined(__clang__)
- friend class Notify::self_type;
- #else
- friend typename Notify::self_type;
diff --git a/graphics/enblend-enfuse/patches/patch-src_gpu.cc b/graphics/enblend-enfuse/patches/patch-src_gpu.cc
new file mode 100644
index 00000000000..095b4aa563e
--- /dev/null
+++ b/graphics/enblend-enfuse/patches/patch-src_gpu.cc
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_gpu.cc,v 1.1 2012/12/09 00:11:42 adam Exp $
+
+Fix type mismatch.
+
+--- src/gpu.cc.orig 2012-12-08 23:53:14.000000000 +0000
++++ src/gpu.cc
+@@ -155,7 +155,7 @@ CGLContextObj cgl_init()
+ };
+ CGLPixelFormatObj pixel_format = NULL;
+ CGLContextObj cgl_context = NULL;
+- long int pixel_formats = 0L;
++ GLint pixel_formats = 0;
+ CGLError cgl_error;
+
+