Date: Fri, 13 Jul 2007 21:26:26 +0200 From: "Steffen Beyer" <sbeyer@reactor.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/114566: [NEW PORT] graphics/qtpfsgui: A Qt4 GUI providing a workflow for HDR imaging Message-ID: <20070713193706.C4C7413C4A6@mx1.freebsd.org> Resent-Message-ID: <200707131940.l6DJe2bO097358@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 114566 >Category: ports >Synopsis: [NEW PORT] graphics/qtpfsgui: A Qt4 GUI providing a workflow for HDR imaging >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Fri Jul 13 19:40:02 GMT 2007 >Closed-Date: >Last-Modified: >Originator: Steffen Beyer >Release: FreeBSD 6.2-RELEASE-p5 i386 >Organization: >Environment: System: FreeBSD katana.reactor.local 6.2-RELEASE-p5 FreeBSD 6.2-RELEASE-p5 #8: Wed Jun 6 02:58:59 CEST >Description: Qtpfsgui is a Qt4 graphical user interface that aims to provide a workflow for HDR imaging. Supported features: * Create an HDR file from a set of images (formats: JPEG, TIFF 8bit and 16bit, RAW) of the same scene taken at different exposure setting. * Save and load HDR images. * Rotate and resize HDR images. * Tonemap HDR images. * Copy exif data between sets of images. * Supports internationalization. WWW: http://qtpfsgui.sourceforge.net/ Generated with FreeBSD Port Tools 0.77 >How-To-Repeat: >Fix: --- qtpfsgui-1.8.9.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # qtpfsgui # qtpfsgui/files # qtpfsgui/files/patch-src__fileformat__pfsoutldrimage.cpp # qtpfsgui/files/patch-src__fileformat__pfstiff.cpp # qtpfsgui/files/patch-src__hdrwizardform_impl.cpp # qtpfsgui/files/patch-src__maingui_impl.cpp # qtpfsgui/files/patch-src__math_private.h # qtpfsgui/files/patch-src__s_exp2f.c # qtpfsgui/files/patch-src__tonemappingdialog_impl.cpp # qtpfsgui/Makefile # qtpfsgui/pkg-descr # qtpfsgui/distinfo # qtpfsgui/pkg-plist # echo c - qtpfsgui mkdir -p qtpfsgui > /dev/null 2>&1 echo c - qtpfsgui/files mkdir -p qtpfsgui/files > /dev/null 2>&1 echo x - qtpfsgui/files/patch-src__fileformat__pfsoutldrimage.cpp sed 's/^X//' >qtpfsgui/files/patch-src__fileformat__pfsoutldrimage.cpp << 'END-of-qtpfsgui/files/patch-src__fileformat__pfsoutldrimage.cpp' X--- ./src/fileformat/pfsoutldrimage.cpp.orig Sat Jun 9 16:07:32 2007 X+++ ./src/fileformat/pfsoutldrimage.cpp Wed Jun 20 16:49:08 2007 X@@ -29,11 +29,17 @@ X #include <QImage> X X #ifndef _WIN32 X-#if defined(__MACH__) && defined(__APPLE__) X+ X+#if (defined(__unix__) || defined(unix)) && !defined(USG) X+#include <sys/param.h> X+#endif X+ X+#if (defined(__MACH__) && defined(__APPLE__)) || defined(BSD) X #include <machine/endian.h> X #else X #include <endian.h> X #endif X+ X #endif X X static inline unsigned char clamp( const float v, const unsigned char minV, const unsigned char maxV ) END-of-qtpfsgui/files/patch-src__fileformat__pfsoutldrimage.cpp echo x - qtpfsgui/files/patch-src__fileformat__pfstiff.cpp sed 's/^X//' >qtpfsgui/files/patch-src__fileformat__pfstiff.cpp << 'END-of-qtpfsgui/files/patch-src__fileformat__pfstiff.cpp' X--- ./src/fileformat/pfstiff.cpp.orig Sat Jun 9 16:07:32 2007 X+++ ./src/fileformat/pfstiff.cpp Wed Jun 20 16:49:14 2007 X@@ -28,11 +28,17 @@ X #include <cmath> X X #ifndef _WIN32 X-#if defined(__MACH__) && defined(__APPLE__) X+ X+#if (defined(__unix__) || defined(unix)) && !defined(USG) X+#include <sys/param.h> X+#endif X+ X+#if (defined(__MACH__) && defined(__APPLE__)) || defined(BSD) X #include <machine/endian.h> X #else X #include <endian.h> X #endif X+ X #endif X X #include "pfstiff.h" X@@ -233,7 +239,8 @@ X return toreturn; X } X X-TiffWriter::TiffWriter( const char* filename, pfs::Frame *f ) : tif(NULL) { X+TiffWriter::TiffWriter( const char* filename, pfs::Frame *f ) : X+ tif((TIFF *)NULL) { X f->getRGBChannels(R,G,B); X width=R->getWidth(); X height=R->getHeight(); END-of-qtpfsgui/files/patch-src__fileformat__pfstiff.cpp echo x - qtpfsgui/files/patch-src__hdrwizardform_impl.cpp sed 's/^X//' >qtpfsgui/files/patch-src__hdrwizardform_impl.cpp << 'END-of-qtpfsgui/files/patch-src__hdrwizardform_impl.cpp' X--- ./src/hdrwizardform_impl.cpp.orig Sat Jun 9 16:07:32 2007 X+++ ./src/hdrwizardform_impl.cpp Wed Jun 20 16:43:56 2007 X@@ -28,6 +28,11 @@ X #include <QMessageBox> X #include <cmath> X #include <QTextStream> X+#if defined(__FreeBSD__) && __FreeBSD__ < 6 X+extern "C" { X+#include "s_exp2f.c" X+} X+#endif X #include "hdrwizardform_impl.h" X #include "fileformat/pfsindcraw.h" X #include "fileformat/pfstiff.h" END-of-qtpfsgui/files/patch-src__hdrwizardform_impl.cpp echo x - qtpfsgui/files/patch-src__maingui_impl.cpp sed 's/^X//' >qtpfsgui/files/patch-src__maingui_impl.cpp << 'END-of-qtpfsgui/files/patch-src__maingui_impl.cpp' X--- ./src/maingui_impl.cpp.orig Sat Jun 9 16:07:32 2007 X+++ ./src/maingui_impl.cpp Wed Jun 20 16:55:48 2007 X@@ -100,7 +100,9 @@ X menuFile->addAction(recentFileActs[i]); X updateRecentFileActions(); X X+#ifndef unix X this->showMaximized(); X+#endif X statusBar()->showMessage(tr("Ready.... Now open an Hdr or create one!"),17000); X } X END-of-qtpfsgui/files/patch-src__maingui_impl.cpp echo x - qtpfsgui/files/patch-src__math_private.h sed 's/^X//' >qtpfsgui/files/patch-src__math_private.h << 'END-of-qtpfsgui/files/patch-src__math_private.h' X--- ./src/math_private.h.orig Wed Jun 20 16:43:56 2007 X+++ ./src/math_private.h Wed Jun 20 16:43:56 2007 X@@ -0,0 +1,228 @@ X+/* X+ * ==================================================== X+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. X+ * X+ * Developed at SunPro, a Sun Microsystems, Inc. business. X+ * Permission to use, copy, modify, and distribute this X+ * software is freely granted, provided that this notice X+ * is preserved. X+ * ==================================================== X+ */ X+ X+/* X+ * from: @(#)fdlibm.h 5.1 93/09/24 X+ * $FreeBSD: src/lib/msun/src/math_private.h,v 1.15 2003/07/23 04:53:46 peter Exp $ X+ */ X+ X+#ifndef _MATH_PRIVATE_H_ X+#define _MATH_PRIVATE_H_ X+ X+#include <sys/types.h> X+#include <machine/endian.h> X+ X+/* X+ * The original fdlibm code used statements like: X+ * n0 = ((*(int*)&one)>>29)^1; * index of high word * X+ * ix0 = *(n0+(int*)&x); * high word of x * X+ * ix1 = *((1-n0)+(int*)&x); * low word of x * X+ * to dig two 32 bit words out of the 64 bit IEEE floating point X+ * value. That is non-ANSI, and, moreover, the gcc instruction X+ * scheduler gets it wrong. We instead use the following macros. X+ * Unlike the original code, we determine the endianness at compile X+ * time, not at run time; I don't see much benefit to selecting X+ * endianness at run time. X+ */ X+ X+/* X+ * A union which permits us to convert between a double and two 32 bit X+ * ints. X+ */ X+ X+#if BYTE_ORDER == BIG_ENDIAN X+ X+typedef union X+{ X+ double value; X+ struct X+ { X+ u_int32_t msw; X+ u_int32_t lsw; X+ } parts; X+} ieee_double_shape_type; X+ X+#endif X+ X+#if BYTE_ORDER == LITTLE_ENDIAN X+ X+typedef union X+{ X+ double value; X+ struct X+ { X+ u_int32_t lsw; X+ u_int32_t msw; X+ } parts; X+} ieee_double_shape_type; X+ X+#endif X+ X+/* Get two 32 bit ints from a double. */ X+ X+#define EXTRACT_WORDS(ix0,ix1,d) \ X+do { \ X+ ieee_double_shape_type ew_u; \ X+ ew_u.value = (d); \ X+ (ix0) = ew_u.parts.msw; \ X+ (ix1) = ew_u.parts.lsw; \ X+} while (0) X+ X+/* Get the more significant 32 bit int from a double. */ X+ X+#define GET_HIGH_WORD(i,d) \ X+do { \ X+ ieee_double_shape_type gh_u; \ X+ gh_u.value = (d); \ X+ (i) = gh_u.parts.msw; \ X+} while (0) X+ X+/* Get the less significant 32 bit int from a double. */ X+ X+#define GET_LOW_WORD(i,d) \ X+do { \ X+ ieee_double_shape_type gl_u; \ X+ gl_u.value = (d); \ X+ (i) = gl_u.parts.lsw; \ X+} while (0) X+ X+/* Set a double from two 32 bit ints. */ X+ X+#define INSERT_WORDS(d,ix0,ix1) \ X+do { \ X+ ieee_double_shape_type iw_u; \ X+ iw_u.parts.msw = (ix0); \ X+ iw_u.parts.lsw = (ix1); \ X+ (d) = iw_u.value; \ X+} while (0) X+ X+/* Set the more significant 32 bits of a double from an int. */ X+ X+#define SET_HIGH_WORD(d,v) \ X+do { \ X+ ieee_double_shape_type sh_u; \ X+ sh_u.value = (d); \ X+ sh_u.parts.msw = (v); \ X+ (d) = sh_u.value; \ X+} while (0) X+ X+/* Set the less significant 32 bits of a double from an int. */ X+ X+#define SET_LOW_WORD(d,v) \ X+do { \ X+ ieee_double_shape_type sl_u; \ X+ sl_u.value = (d); \ X+ sl_u.parts.lsw = (v); \ X+ (d) = sl_u.value; \ X+} while (0) X+ X+/* X+ * A union which permits us to convert between a float and a 32 bit X+ * int. X+ */ X+ X+typedef union X+{ X+ float value; X+ /* FIXME: Assumes 32 bit int. */ X+ unsigned int word; X+} ieee_float_shape_type; X+ X+/* Get a 32 bit int from a float. */ X+ X+#define GET_FLOAT_WORD(i,d) \ X+do { \ X+ ieee_float_shape_type gf_u; \ X+ gf_u.value = (d); \ X+ (i) = gf_u.word; \ X+} while (0) X+ X+/* Set a float from a 32 bit int. */ X+ X+#define SET_FLOAT_WORD(d,i) \ X+do { \ X+ ieee_float_shape_type sf_u; \ X+ sf_u.word = (i); \ X+ (d) = sf_u.value; \ X+} while (0) X+ X+/* ieee style elementary functions */ X+double __ieee754_sqrt(double); X+double __ieee754_acos(double); X+double __ieee754_acosh(double); X+double __ieee754_log(double); X+double __ieee754_atanh(double); X+double __ieee754_asin(double); X+double __ieee754_atan2(double,double); X+double __ieee754_exp(double); X+double __ieee754_cosh(double); X+double __ieee754_fmod(double,double); X+double __ieee754_pow(double,double); X+double __ieee754_lgamma_r(double,int *); X+double __ieee754_gamma_r(double,int *); X+double __ieee754_lgamma(double); X+double __ieee754_gamma(double); X+double __ieee754_log10(double); X+double __ieee754_sinh(double); X+double __ieee754_hypot(double,double); X+double __ieee754_j0(double); X+double __ieee754_j1(double); X+double __ieee754_y0(double); X+double __ieee754_y1(double); X+double __ieee754_jn(int,double); X+double __ieee754_yn(int,double); X+double __ieee754_remainder(double,double); X+int __ieee754_rem_pio2(double,double*); X+double __ieee754_scalb(double,double); X+ X+/* fdlibm kernel function */ X+double __kernel_standard(double,double,int); X+double __kernel_sin(double,double,int); X+double __kernel_cos(double,double); X+double __kernel_tan(double,double,int); X+int __kernel_rem_pio2(double*,double*,int,int,int,const int*); X+ X+/* ieee style elementary float functions */ X+float __ieee754_sqrtf(float); X+float __ieee754_acosf(float); X+float __ieee754_acoshf(float); X+float __ieee754_logf(float); X+float __ieee754_atanhf(float); X+float __ieee754_asinf(float); X+float __ieee754_atan2f(float,float); X+float __ieee754_expf(float); X+float __ieee754_coshf(float); X+float __ieee754_fmodf(float,float); X+float __ieee754_powf(float,float); X+float __ieee754_lgammaf_r(float,int *); X+float __ieee754_gammaf_r(float,int *); X+float __ieee754_lgammaf(float); X+float __ieee754_gammaf(float); X+float __ieee754_log10f(float); X+float __ieee754_sinhf(float); X+float __ieee754_hypotf(float,float); X+float __ieee754_j0f(float); X+float __ieee754_j1f(float); X+float __ieee754_y0f(float); X+float __ieee754_y1f(float); X+float __ieee754_jnf(int,float); X+float __ieee754_ynf(int,float); X+float __ieee754_remainderf(float,float); X+int __ieee754_rem_pio2f(float,float*); X+float __ieee754_scalbf(float,float); X+ X+/* float versions of fdlibm kernel functions */ X+float __kernel_sinf(float,float,int); X+float __kernel_cosf(float,float); X+float __kernel_tanf(float,float,int); X+int __kernel_rem_pio2f(float*,float*,int,int,int,const int*); X+ X+#endif /* !_MATH_PRIVATE_H_ */ END-of-qtpfsgui/files/patch-src__math_private.h echo x - qtpfsgui/files/patch-src__s_exp2f.c sed 's/^X//' >qtpfsgui/files/patch-src__s_exp2f.c << 'END-of-qtpfsgui/files/patch-src__s_exp2f.c' X--- ./src/s_exp2f.c.orig Wed Jun 20 16:43:56 2007 X+++ ./src/s_exp2f.c Wed Jun 20 16:43:56 2007 X@@ -0,0 +1,141 @@ X+/*- X+ * Copyright (c) 2005 David Schultz <das@FreeBSD.ORG> X+ * All rights reserved. X+ * X+ * Redistribution and use in source and binary forms, with or without X+ * modification, are permitted provided that the following conditions X+ * are met: X+ * 1. Redistributions of source code must retain the above copyright X+ * notice, this list of conditions and the following disclaimer. X+ * 2. Redistributions in binary form must reproduce the above copyright X+ * notice, this list of conditions and the following disclaimer in the X+ * documentation and/or other materials provided with the distribution. X+ * X+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND X+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE X+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE X+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE X+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL X+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS X+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) X+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT X+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY X+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF X+ * SUCH DAMAGE. X+ */ X+ X+#include <sys/cdefs.h> X+__FBSDID("$FreeBSD: /repoman/r/ncvs/src/lib/msun/src/s_exp2f.c,v 1.1 2005/04/05 02:57:15 das Exp $"); X+ X+#include <math.h> X+#include "math_private.h" X+ X+#define TBLBITS 4 X+#define TBLSIZE (1 << TBLBITS) X+ X+static const float X+ huge = 0x1p100f, X+ twom100 = 0x1p-100f, X+ redux = 0x1.8p23f / TBLSIZE, X+ P1 = 0x1.62e430p-1f, X+ P2 = 0x1.ebfbe0p-3f, X+ P3 = 0x1.c6b348p-5f, X+ P4 = 0x1.3b2c9cp-7f; X+ X+static const double exp2ft[TBLSIZE] = { X+ 0x1.6a09e667f3bcdp-1, X+ 0x1.7a11473eb0187p-1, X+ 0x1.8ace5422aa0dbp-1, X+ 0x1.9c49182a3f090p-1, X+ 0x1.ae89f995ad3adp-1, X+ 0x1.c199bdd85529cp-1, X+ 0x1.d5818dcfba487p-1, X+ 0x1.ea4afa2a490dap-1, X+ 0x1.0000000000000p+0, X+ 0x1.0b5586cf9890fp+0, X+ 0x1.172b83c7d517bp+0, X+ 0x1.2387a6e756238p+0, X+ 0x1.306fe0a31b715p+0, X+ 0x1.3dea64c123422p+0, X+ 0x1.4bfdad5362a27p+0, X+ 0x1.5ab07dd485429p+0, X+}; X+ X+/* X+ * exp2f(x): compute the base 2 exponential of x X+ * X+ * Accuracy: Peak error < 0.501 ulp; location of peak: -0.030110927. X+ * X+ * Method: (equally-spaced tables) X+ * X+ * Reduce x: X+ * x = 2**k + y, for integer k and |y| <= 1/2. X+ * Thus we have exp2f(x) = 2**k * exp2(y). X+ * X+ * Reduce y: X+ * y = i/TBLSIZE + z for integer i near y * TBLSIZE. X+ * Thus we have exp2(y) = exp2(i/TBLSIZE) * exp2(z), X+ * with |z| <= 2**-(TBLSIZE+1). X+ * X+ * We compute exp2(i/TBLSIZE) via table lookup and exp2(z) via a X+ * degree-4 minimax polynomial with maximum error under 1.4 * 2**-33. X+ * Using double precision in the final calculation avoids roundoff error. X+ * X+ * This method is due to Tang, but I do not use his suggested parameters: X+ * X+ * Tang, P. Table-driven Implementation of the Exponential Function X+ * in IEEE Floating-Point Arithmetic. TOMS 15(2), 144-157 (1989). X+ */ X+float X+exp2f(float x) X+{ X+ double tv; X+ float r, z; X+ volatile float t; /* prevent gcc from using too much precision */ X+ uint32_t hx, hr, ix, i0; X+ int32_t k; X+ X+ /* Filter out exceptional cases. */ X+ GET_FLOAT_WORD(hx,x); X+ ix = hx & 0x7fffffff; /* high word of |x| */ X+ if(ix >= 0x43000000) { /* |x| >= 128 */ X+ if(ix >= 0x7f800000) { X+ if ((ix & 0x7fffff) != 0 || (hx & 0x80000000) == 0) X+ return (x); /* x is NaN or +Inf */ X+ else X+ return (0.0); /* x is -Inf */ X+ } X+ if(x >= 0x1.0p7f) X+ return (huge * huge); /* overflow */ X+ if(x <= -0x1.2cp7f) X+ return (twom100 * twom100); /* underflow */ X+ } else if (ix <= 0x33000000) { /* |x| <= 0x1p-25 */ X+ return (1.0f + x); X+ } X+ X+ /* Reduce x, computing z, i0, and k. */ X+ t = x + redux; X+ GET_FLOAT_WORD(i0, t); X+ i0 += TBLSIZE / 2; X+ k = (i0 >> TBLBITS) << 23; X+ i0 &= TBLSIZE - 1; X+ t -= redux; X+ z = x - t; X+ X+ /* Compute r = exp2(y) = exp2ft[i0] * p(z). */ X+ tv = exp2ft[i0]; X+ r = tv + tv * (z * (P1 + z * (P2 + z * (P3 + z * P4)))); X+ X+ /* Scale by 2**(k>>23). */ X+ if(k >= -125 << 23) { X+ if (k != 0) { X+ GET_FLOAT_WORD(hr, r); X+ SET_FLOAT_WORD(r, hr + k); X+ } X+ return (r); X+ } else { X+ GET_FLOAT_WORD(hr, r); X+ SET_FLOAT_WORD(r, hr + (k + (100 << 23))); X+ return (r * twom100); X+ } X+} END-of-qtpfsgui/files/patch-src__s_exp2f.c echo x - qtpfsgui/files/patch-src__tonemappingdialog_impl.cpp sed 's/^X//' >qtpfsgui/files/patch-src__tonemappingdialog_impl.cpp << 'END-of-qtpfsgui/files/patch-src__tonemappingdialog_impl.cpp' X--- ./src/tonemappingdialog_impl.cpp.orig Tue May 15 22:25:54 2007 X+++ ./src/tonemappingdialog_impl.cpp Wed Jun 20 16:43:56 2007 X@@ -64,7 +64,9 @@ X connect(actionClose_All,SIGNAL(triggered()),this,SLOT(close_all())); X connect(actionSave, SIGNAL(triggered()),this, SLOT(saveLDR())); X X+#ifndef unix X this->showMaximized(); X+#endif X } X X void TonemappingWindow::addMDIresult(const QImage& i,tonemapping_options* opts) { END-of-qtpfsgui/files/patch-src__tonemappingdialog_impl.cpp echo x - qtpfsgui/Makefile sed 's/^X//' >qtpfsgui/Makefile << 'END-of-qtpfsgui/Makefile' X# New ports collection makefile for: qtpfsgui X# Date created: 19 June 2007 X# Whom: Steffen Beyer <sbeyer@reactor.de> X# X# $FreeBSD$ X# X XPORTNAME= qtpfsgui XPORTVERSION= 1.8.9 XCATEGORIES= graphics XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE} XMASTER_SITE_SUBDIR= ${PORTNAME} XEXTRACT_SUFX= .tgz X XMAINTAINER= sbeyer@reactor.de XCOMMENT= A Qt4 GUI providing a workflow for HDR imaging X XBUILD_DEPENDS= ${LOCALBASE}/include/fftw3.h:${PORTSDIR}/math/fftw3 XLIB_DEPENDS= IlmImf.4:${PORTSDIR}/graphics/OpenEXR \ X exiv2.0:${PORTSDIR}/graphics/exiv2 \ X fftw3f.4:${PORTSDIR}/math/fftw3-float \ X jpeg.9:${PORTSDIR}/graphics/jpeg \ X tiff.4:${PORTSDIR}/graphics/tiff X X# distribution brings its own desktop file X# DESKTOP_ENTRIES= "Qtpfsgui" "Create and tonemap HDR images" \ X# "${PREFIX}/share/icons/hicolor/48x48/apps/qtpfsgui.png" \ X# "qtpfsgui" "Graphics;RasterGraphics;Photography;Viewer;Qt" \ X# true X XINSTALLS_ICONS= yes X XUSE_GMAKE= yes XUSE_QT_VER= 4 XQT_COMPONENTS= gui moc qmake rcc uic X XHAS_CONFIGURE= yes X Xpre-configure: X @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ X lrelease-qt4 project.pro X Xdo-configure: X @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} \ X ${QMAKE} -unix PREFIX=${PREFIX} project.pro X Xpost-install: X ${STRIP_CMD} ${PREFIX}/bin/qtpfsgui X.if !defined(NOPORTDOCS) X ${MKDIR} ${DOCSDIR} X ${INSTALL_MAN} ${WRKSRC}/AUTHORS ${DOCSDIR} X ${INSTALL_MAN} ${WRKSRC}/Changelog ${DOCSDIR} X ${INSTALL_MAN} ${WRKSRC}/NEWS ${DOCSDIR} X ${INSTALL_MAN} ${WRKSRC}/README ${DOCSDIR} X ${INSTALL_MAN} ${WRKSRC}/TODO ${DOCSDIR} X ${LN} -sf ${PREFIX}/share/qtpfsgui/html ${DOCSDIR}/html X.endif X X.include <bsd.port.mk> END-of-qtpfsgui/Makefile echo x - qtpfsgui/pkg-descr sed 's/^X//' >qtpfsgui/pkg-descr << 'END-of-qtpfsgui/pkg-descr' XQtpfsgui is a Qt4 graphical user interface that aims to provide a Xworkflow for HDR imaging. XSupported features: X X * Create an HDR file from a set of images (formats: JPEG, X TIFF 8bit and 16bit, RAW) of the same scene taken at different X exposure setting. X * Save and load HDR images. X * Rotate and resize HDR images. X * Tonemap HDR images. X * Copy exif data between sets of images. X * Supports internationalization. X XWWW: http://qtpfsgui.sourceforge.net/ END-of-qtpfsgui/pkg-descr echo x - qtpfsgui/distinfo sed 's/^X//' >qtpfsgui/distinfo << 'END-of-qtpfsgui/distinfo' XMD5 (qtpfsgui-1.8.9.tgz) = e7a53c181e9f14bf046995d1ccb2f7bf XSHA256 (qtpfsgui-1.8.9.tgz) = 824bd97d7699ea7a2f74b0e21109e392d98a66ea215e7a80207c4d50d90f32f3 XSIZE (qtpfsgui-1.8.9.tgz) = 1007647 END-of-qtpfsgui/distinfo echo x - qtpfsgui/pkg-plist sed 's/^X//' >qtpfsgui/pkg-plist << 'END-of-qtpfsgui/pkg-plist' Xbin/qtpfsgui Xshare/applications/qtpfsgui.desktop X@dirrmtry share/applications Xshare/icons/hicolor/48x48/apps/qtpfsgui.png X@dirrmtry share/icons/hicolor/48x48/apps X@dirrmtry share/icons/hicolor/48x48 X%%DATADIR%%/html/faq.html X%%DATADIR%%/html/hints.html X%%DATADIR%%/html/images/copy_exif.jpeg X%%DATADIR%%/html/images/mainwin.jpeg X%%DATADIR%%/html/images/resize.jpeg X%%DATADIR%%/html/images/snap-qt4_3.jpeg X%%DATADIR%%/html/images/snap-qt4_4.jpeg X%%DATADIR%%/html/images/snap-qt4_5.jpeg X%%DATADIR%%/html/images/snap-qt4_6.jpeg X%%DATADIR%%/html/images/tonemapdialog.jpeg X%%DATADIR%%/html/index.html X%%DATADIR%%/html/manual.html X%%DATADIR%%/i18n/lang_de.qm X%%DATADIR%%/i18n/lang_es.qm X%%DATADIR%%/i18n/lang_fr.qm X%%DATADIR%%/i18n/lang_it.qm X%%DATADIR%%/i18n/lang_pl.qm X@dirrm %%DATADIR%%/html/images X@dirrm %%DATADIR%%/html X@dirrm %%DATADIR%%/i18n X@dirrm %%DATADIR%% X%%PORTDOCS%%%%DOCSDIR%%/AUTHORS X%%PORTDOCS%%%%DOCSDIR%%/Changelog X%%PORTDOCS%%%%DOCSDIR%%/NEWS X%%PORTDOCS%%%%DOCSDIR%%/README X%%PORTDOCS%%%%DOCSDIR%%/TODO X%%PORTDOCS%%%%DOCSDIR%%/html X%%PORTDOCS%%@dirrm %%DOCSDIR%% END-of-qtpfsgui/pkg-plist exit --- qtpfsgui-1.8.9.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070713193706.C4C7413C4A6>