From owner-svn-ports-all@freebsd.org Tue Mar 20 06:33:03 2018 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 268E2F56909; Tue, 20 Mar 2018 06:33:03 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A4AE382275; Tue, 20 Mar 2018 06:33:02 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 9C67F197D0; Tue, 20 Mar 2018 06:33:02 +0000 (UTC) (envelope-from yuri@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w2K6X271019359; Tue, 20 Mar 2018 06:33:02 GMT (envelope-from yuri@FreeBSD.org) Received: (from yuri@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w2K6X1Te019345; Tue, 20 Mar 2018 06:33:01 GMT (envelope-from yuri@FreeBSD.org) Message-Id: <201803200633.w2K6X1Te019345@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: yuri set sender to yuri@FreeBSD.org using -f From: Yuri Victorovich Date: Tue, 20 Mar 2018 06:33:01 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r465069 - in head/graphics/pfstools: . files X-SVN-Group: ports-head X-SVN-Commit-Author: yuri X-SVN-Commit-Paths: in head/graphics/pfstools: . files X-SVN-Commit-Revision: 465069 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Mar 2018 06:33:03 -0000 Author: yuri Date: Tue Mar 20 06:33:01 2018 New Revision: 465069 URL: https://svnweb.freebsd.org/changeset/ports/465069 Log: graphics/pfstools: Update to 2.1.0 Port changes: * Change to DISTVERSION * Add LICENSE_FILE * Change to cmake (from gmake) * Update of all options accordingly PR: 225537 Submitted by: Iouri V. Ivliev (maintainer) Added: head/graphics/pfstools/files/patch-CMakeLists.txt (contents, props changed) head/graphics/pfstools/files/patch-src_camera_pfsalign.cpp (contents, props changed) head/graphics/pfstools/files/patch-src_fileformat_exrio.cpp (contents, props changed) head/graphics/pfstools/files/patch-src_fileformat_pfsoutpfm.cpp (contents, props changed) head/graphics/pfstools/files/patch-src_hdrhtml_hdrhtml.cpp (contents, props changed) head/graphics/pfstools/files/patch-src_octave_pfsstat (contents, props changed) head/graphics/pfstools/files/patch-src_pfs_CMakeLists.txt (contents, props changed) head/graphics/pfstools/files/patch-src_pfs_pfs.h (contents, props changed) head/graphics/pfstools/files/patch-src_pfs_pfsutils.cpp (contents, props changed) head/graphics/pfstools/files/patch-src_pfsglview_m__histogram.cpp (contents, props changed) head/graphics/pfstools/files/patch-src_pfsview_pfsview__widget.cpp (contents, props changed) Deleted: head/graphics/pfstools/files/patch-config.h.in head/graphics/pfstools/files/patch-configure head/graphics/pfstools/files/patch-src-fileformat-exrio.cpp head/graphics/pfstools/files/patch-src-fileformat-hdrtiffio.cpp head/graphics/pfstools/files/patch-src-fileformat-pfsinexr.cpp head/graphics/pfstools/files/patch-src-fileformat-pfsinimgmagick.cpp head/graphics/pfstools/files/patch-src-fileformat-pfsinjpeghdr.cpp head/graphics/pfstools/files/patch-src-fileformat-pfsoutimgmagick.cpp head/graphics/pfstools/files/patch-src-fileformat-pfsoutjpeghdr.cpp head/graphics/pfstools/files/patch-src-fileformat-pfsoutpfm.cpp head/graphics/pfstools/files/patch-src-fileformat-ppmio.cpp head/graphics/pfstools/files/patch-src-fileformat-rgbeio.cpp head/graphics/pfstools/files/patch-src-filter-Makefile.am head/graphics/pfstools/files/patch-src-filter-Makefile.in head/graphics/pfstools/files/patch-src-filter-pfscat.cpp head/graphics/pfstools/files/patch-src-filter-pfsclamp.cpp head/graphics/pfstools/files/patch-src-filter-pfsextractchannels.cpp head/graphics/pfstools/files/patch-src-filter-pfspanoramic.cpp head/graphics/pfstools/files/patch-src-filter-pfstag.cpp head/graphics/pfstools/files/patch-src-filter-pfswb.cpp head/graphics/pfstools/files/patch-src-hdrhtml-hdrhtml.cpp head/graphics/pfstools/files/patch-src-matlab-compatibility.h head/graphics/pfstools/files/patch-src-octave-pfsclose.cpp head/graphics/pfstools/files/patch-src-octave-pfsget.cpp head/graphics/pfstools/files/patch-src-octave-pfsopen.cpp head/graphics/pfstools/files/patch-src-octave-pfsput.cpp head/graphics/pfstools/files/patch-src-pfs-pfs.cpp head/graphics/pfstools/files/patch-src-pfs-pfs.h head/graphics/pfstools/files/patch-src-pfs-pfsutils.cpp head/graphics/pfstools/files/patch-src-pfsglview-picture_io.cpp head/graphics/pfstools/files/patch-src-pfsglview-picture_io.h head/graphics/pfstools/files/patch-src-pfsview-pfsview_widget.cpp Modified: head/graphics/pfstools/Makefile head/graphics/pfstools/distinfo head/graphics/pfstools/pkg-plist Modified: head/graphics/pfstools/Makefile ============================================================================== --- head/graphics/pfstools/Makefile Tue Mar 20 06:28:52 2018 (r465068) +++ head/graphics/pfstools/Makefile Tue Mar 20 06:33:01 2018 (r465069) @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= pfstools -PORTVERSION= 1.8.5 -PORTREVISION= 5 +DISTVERSION= 2.1.0 CATEGORIES= graphics MASTER_SITES= SF @@ -11,73 +10,104 @@ MAINTAINER= fbsd@any.com.ru COMMENT= Tools for manipulating HDR images and video frames LICENSE= LGPL21 +LICENSE_FILE= ${WRKSRC}/COPYING -RUN_DEPENDS+= bash:shells/bash +RUN_DEPENDS= bash:shells/bash -PFS_BUILD= ${MACHINE_ARCH}-portbld-freebsd${OSREL} -PLIST_SUB+= PFS_BASE=${PREFIX} +CONFLICTS= pfstmo-1.* pfscalibration-1.* -USES= gmake libtool pathfix pkgconfig -GNU_CONFIGURE= yes -CONFIGURE_TARGET= ${PFS_BUILD} -CONFIGURE_ARGS+= --disable-jpeghdr --disable-matlab \ - --with-bash=${LOCALBASE}/bin/bash -CPPFLAGS+= -I${LOCALBASE}/include -LDFLAGS+= -L${LOCALBASE}/lib +LDFLAGS+= -lthr + +USES= cmake:outsource tar:tgz dos2unix jpeg perl5 +USE_PERL5= run USE_LDCONFIG= yes -OPTIONS_DEFINE= NETPBM OPENEXR TIFF QT IMAGEMAGICK GDAL OCTAVE OPENGL -QT_DESC= Compile programs that use QT library -GDAL_DESC= Compile programs that use GDAL library -OCTAVE_DESC= Compile octave interface functions +CMAKE_VERBOSE= yes +CMAKE_ARGS= -DBUILD_SHARED_LIBS=ON \ + -DWITH_MATLAB=OFF \ + -DBASH_EXECUTABLE:STRING=${LOCALBASE}/bin/bash \ + -DPERL_EXECUTABLE:STRING=${PERL} -OPTIONS_DEFAULT= TIFF -OPTIONS_SUB= yes +DOS2UNIX_GLOB= *.txt *.cmake \ + *.h *.c *.cpp \ + *.1 -NETPBM_CONFIGURE_ENABLE= netpbm -NETPBM_LIB_DEPENDS= libnetpbm.so:graphics/netpbm +MANCOMPRESSED= yes -OPENEXR_CONFIGURE_ENABLE= openexr -OPENEXR_CONFIGURE_ON= --with-exrdir=${LOCALBASE}/include/OpenEXR -OPENEXR_LIB_DEPENDS= libIlmImf.so:graphics/OpenEXR +OPTIONS_DEFINE= TIFF OPENEXR IMAGEMAGICK NETPBM \ + OCTAVE FFTW GSL \ + ALIGN GLVIEW VIEW \ + OPENMP +OPTIONS_DEFAULT= TIFF FFTW GSL +NO_OPTIONS_SORT= yes +OPTIONS_SUB= yes +OCTAVE_DESC= Compile octave interface functions +GSL_DESC= Use Gnu Scientific Libarary required for some TMOs +ALIGN_DESC= Compile pfsalign, requires OpenCV w/NONFREE and libexif +VIEW_DESC= Compile pfsview, requires QT5 +GLVIEW_DESC= Compile pfsglview, requires GLUT -TIFF_CONFIGURE_ENABLE= tiff -TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff +TIFF_CMAKE_BOOL= WITH_TIFF +TIFF_LIB_DEPENDS= libtiff.so:graphics/tiff -QT_CONFIGURE_ENABLE= qt -QT_USE= QT4=moc_build,corelib,gui +OPENEXR_CMAKE_BOOL= WITH_OpenEXR +OPENEXR_LIB_DEPENDS= libIlmImf.so:graphics/OpenEXR \ + libIex-2_2.so:graphics/ilmbase -IMAGEMAGICK_CONFIGURE_ENABLE= imagemagick +IMAGEMAGICK_CMAKE_BOOL= WITH_ImageMagick IMAGEMAGICK_LIB_DEPENDS= libMagick++-6.so:graphics/ImageMagick -GDAL_CONFIGURE_ENABLE= gdal -GDAL_LIB_DEPENDS= libgdal.so:graphics/gdal +NETPBM_CMAKE_BOOL= WITH_NetPBM +NETPBM_LIB_DEPENDS= libnetpbm.so:graphics/netpbm +NETPBM_IMPLIES= TIFF -OPENGL_CONFIGURE_ENABLE= opengl -OPENGL_USE= GL=glut +OCTAVE_CMAKE_BOOL= WITH_Octave +OCTAVE_PATCH_DEPENDS= octave-config:math/octave +OCTAVE_BUILD_DEPENDS= mkoctfile:math/octave +OCTAVE_RUN_DEPENDS= octave:math/octave +OCTAVE_USES= shebangfix +OCTAVE_CXXFLAGS= -std=c++11 -OCTAVE_CONFIGURE_ENABLE= octave -OCTAVE_PATCH_DEPENDS= octave-config:math/octave -OCTAVE_BUILD_DEPENDS= mkoctfile:math/octave -OCTAVE_RUN_DEPENDS= octave:math/octave -OCTAVE_USES= shebangfix +FFTW_CMAKE_BOOL= WITH_FFTW +FFTW_CMAKE_ON= -DFFTW_INCLUDE_DIRS=${LOCALBASE}/include +FFTW_LIB_DEPENDS= libfftw3.so:math/fftw3 \ + libfftw3f.so:math/fftw3-float +GSL_CMAKE_BOOL= WITH_GSL +GSL_LIB_DEPENDS= libgsl.so:math/gsl + +ALIGN_CMAKE_BOOL= WITH_OpenCV # requires NONFREE=on which isn't a default +ALIGN_LIB_DEPENDS= libopencv_nonfree.so:graphics/opencv \ + libexif.so:graphics/libexif + +GLVIEW_CMAKE_BOOL= WITH_pfsglview +GLVIEW_CMAKE_ON= -DGLUT_INCLUDE_DIRS=${LOCALBASE}/include +GLVIEW_USE= GL=glut GL=gl,glu + +VIEW_CMAKE_BOOL= WITH_QT +VIEW_USE= QT5=buildtools_build,qmake_build,widgets +VIEW_USE= GL=glut GL=gl,glu QT5=core,gui,widgets + +OPENMP_USES= compiler:openmp + .include +.if ${PORT_OPTIONS:MIMAGEMAGICK} && !${PORT_OPTIONS:MOPENMP} +USES+= compiler:c++11-lib +.endif + .if ${PORT_OPTIONS:MOCTAVE} OCTAVE_BASE?= ${LOCALBASE} OCTAVE_VERSION!=${OCTAVE_BASE}/bin/octave-config -v 2>&1 || ${ECHO} "0" OCTAVE_SITE_OCT!=${OCTAVE_BASE}/bin/octave-config --oct-site-dir 2>&1 || ${ECHO} "" OCTAVE_SITE_M!= ${OCTAVE_BASE}/bin/octave-config --m-site-dir 2>&1 || ${ECHO} "" -PLIST_SUB+= \ - OCTAVE_BASE=${OCTAVE_BASE} \ +PLIST_SUB= OCTAVE_BASE=${OCTAVE_BASE} \ OCTAVE_SITE_M=${OCTAVE_SITE_M:S|^${OCTAVE_BASE}/||} \ OCTAVE_SITE_OCT=${OCTAVE_SITE_OCT:S|^${OCTAVE_BASE}/||} -SHEBANG_FILES= src/octave/* -SHEBANG_LANG+= octave +SHEBANG_FILES= src/octave/pfs* +SHEBANG_LANG= octave +octave_OLD_CMD?=/usr/bin/octave +octave_CMD?= ${OCTAVE_BASE}/bin/octave-cli .endif - -post-install: - ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib//libpfs-1.2.so.0.0.0 .include Modified: head/graphics/pfstools/distinfo ============================================================================== --- head/graphics/pfstools/distinfo Tue Mar 20 06:28:52 2018 (r465068) +++ head/graphics/pfstools/distinfo Tue Mar 20 06:33:01 2018 (r465069) @@ -1,2 +1,3 @@ -SHA256 (pfstools-1.8.5.tar.gz) = 2cf958d39ee3b65b034796b0abeea727590561936e295461de6365a750167306 -SIZE (pfstools-1.8.5.tar.gz) = 846001 +TIMESTAMP = 1515923190 +SHA256 (pfstools-2.1.0.tgz) = 3dea4248e41bf433fe4760b0a11d138ad2d240f62db9e519bcb1d557c0593413 +SIZE (pfstools-2.1.0.tgz) = 596136 Added: head/graphics/pfstools/files/patch-CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-CMakeLists.txt Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,36 @@ +--- CMakeLists.txt.orig 2018-03-20 06:20:43 UTC ++++ CMakeLists.txt +@@ -29,7 +29,7 @@ set (pfstools_VERSION_MINOR ${CPACK_PACK + set (pfslib_version 1.2) + set(CMAKE_LEGACY_CYGWIN_WIN32 0) + +-set (MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man/man1" CACHE PATH "The directory where the man pages are") ++set (MAN_DIR "${CMAKE_INSTALL_PREFIX}/man/man1" CACHE PATH "The directory where the man pages are") + + include( CheckCXXSourceCompiles ) + +@@ -57,12 +57,12 @@ endif( HAS_BRANCH_PREDICTION ) + # ======== Find bash ======= + + # TODO: What if the check fails +-find_program (BASH_EXECUTABLE bash) ++#find_program (BASH_EXECUTABLE bash) + message( "Using bash: ${BASH_EXECUTABLE}" ) + + # ======== Find perl ======= + +-find_program (PERL_EXECUTABLE perl) ++#find_program (PERL_EXECUTABLE perl) # XXX Isn't found in poudriere builds for some reasoson, providing it as an argument + if( PERL_EXECUTABLE ) + message( "Using perl: ${PERL_EXECUTABLE}" ) + else( PERL_EXECUTABLE ) +@@ -250,6 +250,9 @@ if( WITH_FFTW ) + else( NOT FFTW_FOUND ) + set( HAVE_FFTW3F 1 ) + set( HAVE_FFTW3 1 ) ++ if( NOT "${FFTW_INCLUDE_DIRS}" STREQUAL "" ) ++ include_directories ("${FFTW_INCLUDE_DIRS}") ++ endif( NOT "${FFTW_INCLUDE_DIRS}" STREQUAL "" ) + endif( NOT FFTW_FOUND ) + + else( WITH_FFTW ) Added: head/graphics/pfstools/files/patch-src_camera_pfsalign.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_camera_pfsalign.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,11 @@ +--- src/camera/pfsalign.cpp.orig 2018-03-01 12:03:22 UTC ++++ src/camera/pfsalign.cpp +@@ -643,7 +643,7 @@ void alignFrames(int argc, char *argv[]) + + homoMC.push_back( trans ); + +- double data[4][3] = { { 0, 0, 1 }, { frames[kk].size.width, 0, 1 }, { frames[kk].size.width, frames[kk].size.height, 1 }, { 0, frames[kk].size.height, 1 } }; ++ double data[4][3] = { { 0.0, 0.0, 1.0 }, { static_cast(frames[kk].size.width), 0.0, 1.0 }, { static_cast(frames[kk].size.width), static_cast(frames[kk].size.height), 1.0 }, { 0.0, static_cast(frames[kk].size.height), 1.0 } }; + Mat corners( 4, 3, CV_64F, data ); + + Mat corners_trans = trans * corners.t(); Added: head/graphics/pfstools/files/patch-src_fileformat_exrio.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_fileformat_exrio.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,11 @@ +--- src/fileformat/exrio.cpp.orig 2018-01-19 06:59:44 UTC ++++ src/fileformat/exrio.cpp +@@ -93,7 +93,7 @@ void OpenEXRReader::readImage( pfs::Arra + OpenEXRReader::~OpenEXRReader() + { + delete file; +- file==NULL; ++ file=NULL; + } + + OpenEXRWriter::OpenEXRWriter(const char* filename) Added: head/graphics/pfstools/files/patch-src_fileformat_pfsoutpfm.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_fileformat_pfsoutpfm.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,20 @@ +--- src/fileformat/pfsoutpfm.cpp.orig 2018-01-19 06:59:44 UTC ++++ src/fileformat/pfsoutpfm.cpp +@@ -85,7 +85,7 @@ void writePFMFileColor( FILE *fh, int wi + } + int written = fwrite( line, sizeof( float ), lineSize, fh ); + if( written != lineSize ) +- throw new pfs::Exception( "Unable to write data" ); ++ throw pfs::Exception( "Unable to write data" ); + } + delete[] line; + } +@@ -109,7 +109,7 @@ void writePFMFileGrayscale( FILE *fh, in + } + int written = fwrite( line, sizeof( float ), lineSize, fh ); + if( written != lineSize ) +- throw new pfs::Exception( "Unable to write data" ); ++ throw pfs::Exception( "Unable to write data" ); + } + delete[] line; + } Added: head/graphics/pfstools/files/patch-src_hdrhtml_hdrhtml.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_hdrhtml_hdrhtml.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,18 @@ +--- src/hdrhtml/hdrhtml.cpp.orig 2018-02-26 13:58:05 UTC ++++ src/hdrhtml/hdrhtml.cpp +@@ -27,6 +27,7 @@ + + #include "hdrhtml.h" + ++#include + #include + #include + #include +@@ -197,6 +198,7 @@ public: + this->y_i = new float[lut_size]; + own_y_i = true; + memcpy(this->y_i, other.y_i, lut_size * sizeof(float)); ++ return *this; + } + + ~UniformArrayLUT() Added: head/graphics/pfstools/files/patch-src_octave_pfsstat ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_octave_pfsstat Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,11 @@ +--- src/octave/pfsstat.orig 2017-11-13 17:38:28 UTC ++++ src/octave/pfsstat +@@ -25,6 +25,8 @@ + # + # See man page for more information + ++pkg load signal; ++ + pin = pfsopen( "stdin" ); + + #fprintf( stderr, "l = %d\n", length( argv ) ); Added: head/graphics/pfstools/files/patch-src_pfs_CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_pfs_CMakeLists.txt Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,11 @@ +--- src/pfs/CMakeLists.txt.orig 2018-01-19 06:59:44 UTC ++++ src/pfs/CMakeLists.txt +@@ -29,7 +29,7 @@ install (TARGETS pfs + + #install (FILES ${CMAKE_CURRENT_BINARY_DIR}/cygpfs.dll DESTINATION bin) + install (FILES ${CMAKE_CURRENT_SOURCE_DIR}/pfs.h ${CMAKE_CURRENT_SOURCE_DIR}/array2d.h DESTINATION include/pfs) +-install (FILES ${CMAKE_CURRENT_BINARY_DIR}/pfs.pc DESTINATION lib${LIB_SUFFIX}/pkgconfig) ++install (FILES ${CMAKE_CURRENT_BINARY_DIR}/pfs.pc DESTINATION libdata/pkgconfig) + + #install (FILES pfsoutppm.1 DESTINATION ${MAN_DIR}) + Added: head/graphics/pfstools/files/patch-src_pfs_pfs.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_pfs_pfs.h Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,38 @@ +--- src/pfs/pfs.h.orig 2018-02-26 13:58:05 UTC ++++ src/pfs/pfs.h +@@ -141,6 +141,7 @@ namespace pfs + class TagContainer + { + public: ++ virtual ~TagContainer() {}; + /** + * Get a string tag of the name tagName from the TagContainer. + * @param tagName name of the tag to retrieve +@@ -187,6 +188,7 @@ namespace pfs + */ + class Channel : public Array2D { + public: ++ virtual ~Channel() {}; + /** + * Gets width of the channel (in pixels). + * This is a synonym for Array2D::getCols(). +@@ -596,7 +598,9 @@ namespace pfs + */ + Exception( const char* const message ) + { +- strcpy( msg, message ); ++ const size_t s = sizeof(msg)/sizeof(msg[0]) - 1; ++ strncpy( msg, message, s ); ++ msg[s] = '\0'; + } + + ~Exception() {}; +@@ -606,7 +610,7 @@ namespace pfs + * + * @return text description of the cause for the exception + */ +- const char* getMessage() ++ const char* getMessage() const throw() + { + return msg; + } Added: head/graphics/pfstools/files/patch-src_pfs_pfsutils.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_pfs_pfsutils.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,16 @@ +--- src/pfs/pfsutils.cpp.orig 2018-01-25 17:09:12 UTC ++++ src/pfs/pfsutils.cpp +@@ -57,7 +57,13 @@ string getColorspaceString(ColorSpace cs + return "HLG YCbCr 2020"; + case CS_RGB2020: + return "RGB2020"; ++ case CS_YUV: ++ return "YUV"; ++ case CS_Yxy: ++ return "Yxy"; ++ default: ; + } ++ return "(unknown)"; + } + + string intToString(int a){ Added: head/graphics/pfstools/files/patch-src_pfsglview_m__histogram.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_pfsglview_m__histogram.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,11 @@ +--- src/pfsglview/m_histogram.cpp.orig 2018-01-19 06:59:44 UTC ++++ src/pfsglview/m_histogram.cpp +@@ -176,7 +176,7 @@ void M_Histogram::drawHistogram() { + + int array_pos ; + int ch = 0 ; +- if(!strcmp(channel, "XYZ") == 0) ++ if(!(strcmp(channel, "XYZ") == 0)) + switch(channel[0]) { + case 'X': ch = 1 ; break ; + case 'Y': ch = 2 ; break ; Added: head/graphics/pfstools/files/patch-src_pfsview_pfsview__widget.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/pfstools/files/patch-src_pfsview_pfsview__widget.cpp Tue Mar 20 06:33:01 2018 (r465069) @@ -0,0 +1,22 @@ +--- src/pfsview/pfsview_widget.cpp.orig 2018-01-19 06:59:44 UTC ++++ src/pfsview/pfsview_widget.cpp +@@ -147,7 +147,7 @@ void PFSViewWidget::setFrame( pfs::Frame + // Chose first available channel + pfs::ChannelIterator *it = frame->getChannels(); + if( !it->hasNext() ) // TODO: failover +- throw new pfs::Exception( "No channels available!" ); ++ throw pfs::Exception( "No channels available!" ); + visibleChannel = it->getNext()->getName(); + } else if( visibleChannel != COLOR_CHANNELS ) { + // Get a new pointer, as the old frame object +@@ -340,8 +340,8 @@ static void mapFrameToImage( pfs::Array2 + assert( !color || (color && B != NULL) ); + + +- float lutPixFloor[257*2]; +- QRgb lutPixel[257*2]; ++ float lutPixFloor[257*2+1]; ++ QRgb lutPixel[257*2+1]; + int lutSize; + if( !color && ( negativeTreatment == NEGATIVE_GREEN_SCALE || + negativeTreatment == NEGATIVE_ABSOLUTE ) ) { // Handle negative numbers Modified: head/graphics/pfstools/pkg-plist ============================================================================== --- head/graphics/pfstools/pkg-plist Tue Mar 20 06:28:52 2018 (r465068) +++ head/graphics/pfstools/pkg-plist Tue Mar 20 06:33:01 2018 (r465069) @@ -1,134 +1,158 @@ -bin/pfsinrgbe -bin/pfsoutrgbe -bin/pfsinpfm -bin/pfsoutpfm -bin/pfsin -bin/pfsout -bin/pfsoutffmpeg -bin/pfsinmulti -bin/pfsindcraw +bin/dcraw2hdrgen +bin/jpeg2hdrgen +bin/pfsabsolute +%%ALIGN%%bin/pfsalign +bin/pfscat bin/pfsclamp -bin/pfsgamma -bin/pfstag -bin/pfssize -bin/pfsextractchannels -bin/pfspanoramic -bin/pfsrotate -bin/pfsflip +bin/pfscolortransform bin/pfscut -bin/pfspad -bin/pfscat -bin/pfsabsolute bin/pfsdisplayfunction -bin/pfswb -%%IMAGEMAGICK%%bin/pfsouthdrhtml -%%NETPBM%%bin/pfsinppm -%%NETPBM%%bin/pfsoutppm +bin/pfsextractchannels +bin/pfsflip +bin/pfsgamma +%%GLVIEW%%bin/pfsglview +bin/pfshdrcalibrate +bin/pfsin +bin/pfsindcraw %%OPENEXR%%bin/pfsinexr -%%OPENEXR%%bin/pfsoutexr -%%TIFF%%bin/pfsintiff -%%TIFF%%bin/pfsouttiff +bin/pfsinhdrgen %%IMAGEMAGICK%%bin/pfsinimgmagick -%%IMAGEMAGICK%%bin/pfsoutimgmagick -%%QT%%bin/pfsview -%%QT%%bin/pfsv +bin/pfsinme +bin/pfsinpfm +%%TIFF%%%%NETPBM%%bin/pfsinppm +bin/pfsinrgbe +%%TIFF%%bin/pfsintiff +bin/pfsinyuv %%OCTAVE%%bin/pfsoctavelum %%OCTAVE%%bin/pfsoctavergb +bin/pfsout +%%OPENEXR%%bin/pfsoutexr +%%IMAGEMAGICK%%bin/pfsouthdrhtml +%%IMAGEMAGICK%%bin/pfsoutimgmagick +bin/pfsoutpfm +%%TIFF%%%%NETPBM%%bin/pfsoutppm +bin/pfsoutrgbe +%%TIFF%%bin/pfsouttiff +bin/pfsoutyuv +bin/pfspad +bin/pfspanoramic +bin/pfsplotresponse +bin/pfsretime +bin/pfsrotate +bin/pfssize %%OCTAVE%%bin/pfsstat -%%OPENGL%%bin/pfsglview -%%GDAL%%bin/pfsingdal -include/pfs-1.2/pfs.h -include/pfs-1.2/array2d.h -lib/libpfs-1.2.so.0.0.0 -lib/libpfs-1.2.so.0 -lib/libpfs-1.2.so -lib/libpfs-1.2.a +bin/pfstag +bin/pfstmo_drago03 +bin/pfstmo_durand02 +bin/pfstmo_fattal02 +%%FFTW%%bin/pfstmo_ferradans11 +bin/pfstmo_mai11 +bin/pfstmo_mantiuk06 +%%GSL%%bin/pfstmo_mantiuk08 +bin/pfstmo_pattanaik00 +bin/pfstmo_reinhard02 +bin/pfstmo_reinhard05 +%%VIEW%%bin/pfsv +%%VIEW%%bin/pfsview +include/pfs/array2d.h +include/pfs/pfs.h +lib/libpfs.so +lib/libpfs.so.2 +lib/libpfs.so.2.0.0 +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfsclose.oct +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfsget.oct +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfsopen.oct +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfsput.oct +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfsread.oct +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfstransform_colorspace.oct +%%OCTAVE%%%%OCTAVE_SITE_OCT%%/pfstools/pfswrite.oct libdata/pkgconfig/pfs.pc +man/man1/dcraw2hdrgen.1.gz +man/man1/jpeg2hdrgen.1.gz man/man1/pfsabsolute.1.gz +%%ALIGN%%man/man1/pfsalign.1.gz man/man1/pfscat.1.gz man/man1/pfsclamp.1.gz +man/man1/pfscolortransform.1.gz man/man1/pfscut.1.gz man/man1/pfsdisplayfunction.1.gz man/man1/pfsextractchannels.1.gz man/man1/pfsflip.1.gz man/man1/pfsgamma.1.gz -%%OPENGL%%man/man1/pfsglview.1.gz +%%GLVIEW%%man/man1/pfsglview.1.gz +man/man1/pfshdrcalibrate.1.gz man/man1/pfsin.1.gz man/man1/pfsindcraw.1.gz -man/man1/pfsinexr.1.gz -man/man1/pfsingdal.1.gz -man/man1/pfsinimgmagick.1.gz -man/man1/pfsinjpeghdr.1.gz -man/man1/pfsinmulti.1.gz +%%OPENEXR%%man/man1/pfsinexr.1.gz +man/man1/pfsinhdrgen.1.gz +%%IMAGEMAGICK%%man/man1/pfsinimgmagick.1.gz +man/man1/pfsinme.1.gz man/man1/pfsinpfm.1.gz -man/man1/pfsinppm.1.gz +%%TIFF%%%%NETPBM%%man/man1/pfsinppm.1.gz man/man1/pfsinrgbe.1.gz -man/man1/pfsintiff.1.gz +%%TIFF%%man/man1/pfsintiff.1.gz +man/man1/pfsinyuv.1.gz %%OCTAVE%%man/man1/pfsoctavelum.1.gz %%OCTAVE%%man/man1/pfsoctavergb.1.gz man/man1/pfsout.1.gz -man/man1/pfsoutexr.1.gz -man/man1/pfsoutffmpeg.1.gz +%%OPENEXR%%man/man1/pfsoutexr.1.gz %%IMAGEMAGICK%%man/man1/pfsouthdrhtml.1.gz -man/man1/pfsoutimgmagick.1.gz -man/man1/pfsoutjpeghdr.1.gz +%%IMAGEMAGICK%%man/man1/pfsoutimgmagick.1.gz man/man1/pfsoutpfm.1.gz -man/man1/pfsoutppm.1.gz +%%TIFF%%%%NETPBM%%man/man1/pfsoutppm.1.gz man/man1/pfsoutrgbe.1.gz -man/man1/pfsouttiff.1.gz +%%TIFF%%man/man1/pfsouttiff.1.gz +man/man1/pfsoutyuv.1.gz man/man1/pfspad.1.gz man/man1/pfspanoramic.1.gz +man/man1/pfsplotresponse.1.gz +man/man1/pfsretime.1.gz man/man1/pfsrotate.1.gz man/man1/pfssize.1.gz %%OCTAVE%%man/man1/pfsstat.1.gz man/man1/pfstag.1.gz -%%QT%%man/man1/pfsv.1.gz -%%QT%%man/man1/pfsview.1.gz +man/man1/pfstmo_drago03.1.gz +man/man1/pfstmo_durand02.1.gz +man/man1/pfstmo_fattal02.1.gz +%%FFTW%%man/man1/pfstmo_ferradans11.1.gz +man/man1/pfstmo_mai11.1.gz +man/man1/pfstmo_mantiuk06.1.gz +%%GSL%%man/man1/pfstmo_mantiuk08.1.gz +man/man1/pfstmo_pattanaik00.1.gz +man/man1/pfstmo_reinhard02.1.gz +man/man1/pfstmo_reinhard05.1.gz +%%VIEW%%man/man1/pfsview.1.gz +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfs_close_frames.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfs_open_frames.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfs_read_luminance.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfs_read_rgb.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfs_read_xyz.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfs_write_rgb.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfssize.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfsview.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfsview_list.m +%%OCTAVE%%%%OCTAVE_SITE_M%%/pfstools/pfsview_rgb.m %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_c_b2.csv -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b2.csv %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_c_b3.csv -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b3.csv %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_c_b4.csv -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b4.csv %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_c_b5.csv -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b5.csv -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_default_templ/hdrhtml_page_templ.html %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_default_templ/hdrhtml_image_templ.html -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/loading-spinner.gif -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/information-red.png -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-red.png +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_default_templ/hdrhtml_page_templ.html +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/hdr_viewer.css %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/hdr_viewer.js -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-black.png +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/information-red.png %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/information.png -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/mouse2touch.js +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/loading-spinner.gif %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/mootools-1.2.4.js -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/hdr_viewer.css +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/mouse2touch.js +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-black.png +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-red.png %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets/slider-white.png -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_page_templ.html -%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_image_templ_slider-above.html %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_image_templ.html +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_image_templ_slider-above.html +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_page_templ.html %%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_page_templ_short.html -@dir include/pfs-1.2 -%%IMAGEMAGICK%%@dir %%DATADIR%%/hdrhtml_hdrlabs_templ/hdrhtml_assets -%%IMAGEMAGICK%%@dir %%DATADIR%%/hdrhtml_hdrlabs_templ -%%IMAGEMAGICK%%@dir %%DATADIR%%/hdrhtml_default_templ -%%IMAGEMAGICK%%@dir %%DATADIR%% -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfsclose.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfsget.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfsopen.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfsput.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfsread.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfstransform_colorspace.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_OCT%%/pfstools/pfswrite.oct -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfs_close_frames.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfs_open_frames.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfs_read_luminance.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfs_read_rgb.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfs_read_xyz.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfs_write_rgb.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfssize.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfsview.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfsview_list.m -%%OCTAVE%%%%OCTAVE_BASE%%/%%OCTAVE_SITE_M%%/pfstools/pfsview_rgb.m -%%OCTAVE%%@dir %%OCTAVE_SITE_OCT%%/pfstools -%%OCTAVE%%@dir %%OCTAVE_SITE_M%%/pfstools +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b2.csv +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b3.csv +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b4.csv +%%IMAGEMAGICK%%%%DATADIR%%/hdrhtml_t_b5.csv