ports/114566: [NEW PORT] graphics/qtpfsgui: A Qt4 GUI providing a workflow for HDR imaging
Steffen Beyer
sbeyer at reactor.de
Fri Jul 13 19:40:02 UTC 2007
>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 at 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 at 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 at 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 at dirrmtry share/applications
Xshare/icons/hicolor/48x48/apps/qtpfsgui.png
X at dirrmtry share/icons/hicolor/48x48/apps
X at 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 at dirrm %%DATADIR%%/html/images
X at dirrm %%DATADIR%%/html
X at dirrm %%DATADIR%%/i18n
X at 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:
More information about the freebsd-ports-bugs
mailing list