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