Index: head/graphics/exact-image/Makefile =================================================================== --- head/graphics/exact-image/Makefile (revision 500804) +++ head/graphics/exact-image/Makefile (revision 500805) @@ -1,78 +1,79 @@ # Created by: Andrew Pantyukhin # $FreeBSD$ PORTNAME= exact-image -PORTVERSION= 0.9.2 +PORTVERSION= 1.0.2 CATEGORIES= graphics perl5 python MASTER_SITES= https://dl.exactcode.de/oss/exact-image/ MAINTAINER= ports@FreeBSD.org COMMENT= Fast image processing library LICENSE= GPLv2 BROKEN_armv6= fails to configure: C++ compiler is not installed or does not work correctly BROKEN_armv7= fails to configure: C++ compiler is not installed or does not work correctly BUILD_DEPENDS= swig3.0:devel/swig30 LIB_DEPENDS= libagg.so:graphics/agg \ libtiff.so:graphics/tiff \ libpng.so:graphics/png \ libgif.so:graphics/giflib \ libjasper.so:graphics/jasper \ + libImath-2_3.so:graphics/ilmbase \ libIlmImf.so:graphics/openexr \ liblcms.so:graphics/lcms \ libfreetype.so:print/freetype2 \ libexpat.so:textproc/expat2 #hack to get custom exactcode configure script to enable tiff support with #broken headers on c++ in base system: CPPFLAGS+= -fpermissive -I${LOCALBASE}/include USES= gmake jpeg perl5 pkgconfig python:2.7 tar:bzip2 USE_CXXSTD= c++03 USE_XORG= x11 HAS_CONFIGURE= yes INSTALL_WRKSRC= ${WRKSRC}/objdir BINS= bardecode econvert edentify empty-page hocr2pdf optimize2bw PLIST_FILES= ${BINS:S|^|bin/|} \ %%SITE_PERL%%/ExactImage.so \ %%SITE_PERL%%/ExactImage.pm \ %%PYTHON_SITELIBDIR%%/ExactImage.py \ %%PYTHON_SITELIBDIR%%/_ExactImage.so BINARY_ALIAS= swig=swig3.0 post-patch: @${REINPLACE_CMD} -e '1s|/.*|/bin/sh|;s|/usr/local|${LOCALBASE}|;\ /parse_options/d;s| cc | ${CC} |;s| c++ | ${CXX} |;\ s|python -V|${PYTHON_CMD} -V|;\ /PYTHONINCS/s|=.*$$|=-I${PYTHON_INCLUDEDIR}|; \ s|pkg-config EVAS atleast 0.9.9|pkg-config EVAS equals 1.7.9|; \ s|php -config PHP atleast 5.2.0|php -config PHP atleast 15.2.0|' \ ${WRKSRC}/configure @${REINPLACE_CMD} -e '/^Q =/d;s|$$[(]COMPILE.cc[)]|${CXX} $${CPPFLAGS} -c|;\ s|$$[(]CXX[)]|${CXX}|;s|$$[(]COMPILE.c[)]|${CC} $${CPPFLAGS} -c|'\ ${WRKSRC}/build/bottom.make @${REINPLACE_CMD} -e '/CFLAGS=/s|".*"|"${CFLAGS} -I${LOCALBASE}/include"|;\ /LIBS=/s|".*"|"-L${LOCALBASE}/lib -lX11"|' ${WRKSRC}/config/pkgcheck-x11.c @${REINPLACE_CMD} -e 's|$$prg|$$prg ${CPPFLAGS} -I${LOCALBASE}/include|;\ s|/usr/local|${PREFIX}|;/^var_remove/,/^}/d;/^parse_options/,/^}/d; \ s| ++errors | errors+=1 |g' \ ${WRKSRC}/config/functions @${REINPLACE_CMD} -e 's|/usr/X11|${LOCALBASE}|' \ ${WRKSRC}/image/vectorial.cc \ ${WRKSRC}/edisplay/edisplay.cc @${REINPLACE_CMD} -e 's| = {}||g' ${WRKSRC}/image/Colorspace.cc do-install: @cd ${INSTALL_WRKSRC}/&&for i in ${BINS};do\ ${INSTALL_PROGRAM} */$$i ${STAGEDIR}${PREFIX}/bin/;done @cd ${INSTALL_WRKSRC}/api/perl&&\ ${MKDIR} ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}&&\ ${INSTALL_PROGRAM} ExactImage.so ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/&&\ ${INSTALL_DATA} ExactImage.pm ${STAGEDIR}${PREFIX}/${SITE_PERL_REL}/ @cd ${INSTALL_WRKSRC}/api/python&&\ ${MKDIR} ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/&&\ ${INSTALL_SCRIPT} ExactImage.py ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/&&\ ${INSTALL_PROGRAM} _ExactImage.so ${STAGEDIR}${PYTHONPREFIX_SITELIBDIR}/ .include Index: head/graphics/exact-image/distinfo =================================================================== --- head/graphics/exact-image/distinfo (revision 500804) +++ head/graphics/exact-image/distinfo (revision 500805) @@ -1,3 +1,3 @@ -TIMESTAMP = 1480938306 -SHA256 (exact-image-0.9.2.tar.bz2) = 665b205740b17b4162fae73aa36eb7046f28bb216d612461ca0499ff47a566ba -SIZE (exact-image-0.9.2.tar.bz2) = 312995 +TIMESTAMP = 1556965227 +SHA256 (exact-image-1.0.2.tar.bz2) = 0694c66be5dec41377acead475de69b3d7ffb42c702402f8b713f8b44cdc2791 +SIZE (exact-image-1.0.2.tar.bz2) = 322174 Index: head/graphics/exact-image/files/patch-api_api-swig.hh =================================================================== --- head/graphics/exact-image/files/patch-api_api-swig.hh (revision 500804) +++ head/graphics/exact-image/files/patch-api_api-swig.hh (nonexistent) @@ -1,11 +0,0 @@ ---- api/api-swig.hh.orig 2009-03-19 13:00:11 UTC -+++ api/api-swig.hh -@@ -22,7 +22,7 @@ - %include "cstring.i" - %include "std_string.i" - --# manually include it, otherwise SWIG will not source it -+/* manually include it, otherwise SWIG will not source it */ - %include "config.h" - - %{ Property changes on: head/graphics/exact-image/files/patch-api_api-swig.hh ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/graphics/exact-image/files/patch-codecs_raw.cc =================================================================== --- head/graphics/exact-image/files/patch-codecs_raw.cc (revision 500804) +++ head/graphics/exact-image/files/patch-codecs_raw.cc (nonexistent) @@ -1,14 +0,0 @@ ---- codecs/raw.cc.orig 2011-01-14 16:30:13 UTC -+++ codecs/raw.cc -@@ -71,9 +71,8 @@ bool RAWCodec::writeImage (std::ostream* stream, Image - if (!image.getRawData()) - return false; - -- return stream->write ((char*)image.getRawData(), image.stride()*image.h) -- /* == -- (size_t) image.stride()*image.h*/; -+ stream->write ((char*)image.getRawData(), image.stride()*image.h); -+ return stream->good(); - } - - RAWCodec raw_loader; Property changes on: head/graphics/exact-image/files/patch-codecs_raw.cc ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/graphics/exact-image/files/patch-api-api.cc =================================================================== --- head/graphics/exact-image/files/patch-api-api.cc (revision 500804) +++ head/graphics/exact-image/files/patch-api-api.cc (revision 500805) @@ -1,11 +1,11 @@ ---- api/api.cc.orig 2009-06-15 14:39:45.000000000 +0400 -+++ api/api.cc 2014-01-13 07:25:57.460488862 +0400 -@@ -909,7 +909,7 @@ +--- api/api.cc.orig 2009-06-15 10:39:45 UTC ++++ api/api.cc +@@ -909,7 +909,7 @@ char** imageDecodeBarcodes (Image* image, const char* } std::vector ret; - for (std::map::const_iterator it = retcodes.begin(); + for (std::map::const_iterator it = retcodes.begin(); it != retcodes.end(); ++it) { if (it->first.type || it->second > 1) Index: head/graphics/exact-image/files/patch-build__bottom.make =================================================================== --- head/graphics/exact-image/files/patch-build__bottom.make (revision 500804) +++ head/graphics/exact-image/files/patch-build__bottom.make (revision 500805) @@ -1,31 +1,31 @@ ---- build/bottom.make.orig 2010-07-22 18:35:17.000000000 +0400 -+++ build/bottom.make 2014-12-12 00:07:13.000000000 +0300 -@@ -43,23 +43,23 @@ +--- build/bottom.make.orig 2018-05-03 16:50:06 UTC ++++ build/bottom.make +@@ -43,23 +43,23 @@ $(X_MODULE): $($(X_MODULE)_BINARY) $($(X_MODULE)_OUTPUT)/%.o: $(X_MODULE)/%.c @echo ' C $@' - $(Q)$(COMPILE.c) $($(dir $@)CFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' + $(Q)$(COMPILE.c) ${CFLAGS} ${CPPFLAGS} $($(dir $@)CFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' $($(X_MODULE)_OUTPUT)/%.o: $(X_MODULE)/%.m @echo ' ObjC $@' - $(Q)$(COMPILE.c) $($(dir $@)CFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' + $(Q)$(COMPILE.c) ${CFLAGS} ${CPPFLAGS} $($(dir $@)CFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' $($(X_MODULE)_OUTPUT)/%.o: $($(X_MODULE)_OUTPUT)/%.cc @echo ' C++ $@' - $(Q)$(COMPILE.cc) $($(dir $@)CXXFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' + $(Q)$(COMPILE.cc) ${CXXFLAGS} ${CPPFLAGS} $($(dir $@)CXXFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' $($(X_MODULE)_OUTPUT)/%.o: $(X_MODULE)/%.cc @echo ' C++ $@' - $(Q)$(COMPILE.cc) $($(dir $@)CXXFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' + $(Q)$(COMPILE.cc) ${CXXFLAGS} ${CPPFLAGS} $($(dir $@)CXXFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' $($(X_MODULE)_OUTPUT)/%.o: $(X_MODULE)/%.mm @echo ' ObjC++ $@' - $(Q)$(COMPILE.cc) $($(dir $@)CXXFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' + $(Q)$(COMPILE.cc) ${CXXFLAGS} ${CPPFLAGS} $($(dir $@)CXXFLAGS) -MMD -MP -MF '$(patsubst %.o,%.d,$@)' -o '$@' '$<' # only implicit rules if one binary per module ... ifeq ($(words $(BINARY)), 1) Index: head/graphics/exact-image/files/patch-codecs__jpeg.cc =================================================================== --- head/graphics/exact-image/files/patch-codecs__jpeg.cc (revision 500804) +++ head/graphics/exact-image/files/patch-codecs__jpeg.cc (revision 500805) @@ -1,11 +1,11 @@ ---- codecs/jpeg.cc.orig 2009-06-14 08:19:28.000000000 -0400 -+++ codecs/jpeg.cc 2010-01-16 21:51:34.000000000 -0500 -@@ -683,7 +683,7 @@ - * We need to clean up the JPEG object, close the input file, and return. - */ +--- codecs/jpeg.cc.orig 2017-08-08 14:31:16 UTC ++++ codecs/jpeg.cc +@@ -901,7 +901,7 @@ bool JPEGCodec::readMeta (std::istream* stream, Image& + // If we get here, the JPEG code has signaled an error. + // We need to clean up the JPEG object, close the input file, and return. jpeg_destroy_decompress (cinfo); - free (cinfo); + delete cinfo; return false; } Index: head/graphics/exact-image/files/patch-codecs_dcraw.h =================================================================== --- head/graphics/exact-image/files/patch-codecs_dcraw.h (revision 500804) +++ head/graphics/exact-image/files/patch-codecs_dcraw.h (revision 500805) @@ -1,60 +1,60 @@ ---- codecs/dcraw.h.orig 2015-07-16 15:20:12 UTC +--- codecs/dcraw.h.orig 2018-06-06 15:17:56 UTC +++ codecs/dcraw.h -@@ -843,8 +843,9 @@ int CLASS ljpeg_start (struct jhead *jh, int info_only +@@ -825,8 +825,9 @@ int CLASS ljpeg_start (struct jhead *jh, int info_only do { - fread (data, 2, 2, ifp); + if (!fread (data, 2, 2, ifp)) return 0; tag = data[0] << 8 | data[1]; - len = (data[2] << 8 | data[3]) - 2; - if (tag <= 0xff00) return 0; + len = (data[2] << 8 | data[3]); + if (tag <= 0xff00 || len <= 2) return 0; + len -= 2; fread (data, 1, len, ifp); switch (tag) { case 0xffc3: -@@ -4393,22 +4394,22 @@ void CLASS vng_interpolate() +@@ -4438,22 +4439,22 @@ void CLASS vng_interpolate() -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03, -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06, -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04, - -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01, - -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40, + -1,-2,-1,+0,0,-128, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01, + -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,-120, -1,-1,+1,-2,0,0x40, -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11, -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11, -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22, -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44, -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10, -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04, - +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40, + +0,-2,+0,+0,1,-128, +0,-1,+0,+1,1,-120, +0,-1,+1,-2,0,0x40, +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20, +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08, +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20, +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44, +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60, - +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80, - +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40, + +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,-128, + +1,-1,+1,+1,0,-120, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40, +1,+0,+2,+1,0,0x10 }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 }; ushort (*brow[5])[4], *pix; -@@ -7771,7 +7772,7 @@ void CLASS adobe_coeff (const char *make, const char * +@@ -8096,7 +8097,7 @@ void CLASS adobe_coeff (const char *make, const char * { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } }, - { "Phase One P65", 0, 0, - { 8035,435,-962,-6001,13872,2320,-1159,3065,5434 } }, + { "Photron BC2-HD", 0, 0, /* DJC */ + { 14603,-4122,-528,-1810,9794,2017,-297,2763,5936 } }, - { "Red One", 704, 0xffff, /* DJC */ + { "Red One", 704, -1, /* DJC */ { 21014,-7891,-2613,-3056,12201,856,-2203,5125,8042 } }, - { "Samsung EX1", 0, 0x3e00, - { 8898,-2498,-994,-3144,11328,2066,-760,1381,4576 } }, -@@ -9547,7 +9548,7 @@ void CLASS tiff_head (struct tiff_hdr *th, int full) + { "Ricoh GR II", 0, 0, + { 4630,-834,-423,-4977,12805,2417,-638,1467,6115 } }, +@@ -9956,7 +9957,7 @@ void CLASS tiff_head (struct tiff_hdr *th, int full) strncpy (th->desc, desc, 512); strncpy (th->make, make, 64); strncpy (th->model, model, 64); - strcpy (th->soft, "dcraw v"DCRAW_VERSION); + strcpy (th->soft, "dcraw v" DCRAW_VERSION); t = localtime (×tamp); sprintf (th->date, "%04d:%02d:%02d %02d:%02d:%02d", t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);