aboutsummaryrefslogtreecommitdiff
path: root/graphics/darktable
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <dumbbell@FreeBSD.org>2015-11-11 13:16:02 +0000
committerJean-Sébastien Pédron <dumbbell@FreeBSD.org>2015-11-11 13:16:02 +0000
commit5863b442491a086cb701cfc5c7e8e8bdeab3fc47 (patch)
treedd125442fd8bbdd0346868fa198f5fd56106b06b /graphics/darktable
parent48a607f2b5bdbeed4720dff6492cf743b9942426 (diff)
downloadports-5863b442491a086cb701cfc5c7e8e8bdeab3fc47.tar.gz
ports-5863b442491a086cb701cfc5c7e8e8bdeab3fc47.zip
graphics/darktable: Update to 1.6.9
Use Clang 3.7 from Ports to enable OpenMP. This brings a major performance boost for people using FreeBSD 10.x and -CURRENT. `patch-src_CMakeLists.txt` is a new patch to disable `-ffast-math` when Clang is used. Without this, isnan() always returns false, even if `-fno-finite-math-only` is set. According to `clang --help`, this flag provides no optimization anyway so we don't loose anything. darktable 2.0, which is almost ready, needs this patch too otherwise it crashes during startup because of the isnan() misbehavior. The patch is not committed upstream yet because I would prefer to understand what's wrong. Reviewed by: kwm Approved by: kwm Differential Revision: https://reviews.freebsd.org/D3922
Notes
Notes: svn path=/head/; revision=401243
Diffstat (limited to 'graphics/darktable')
-rw-r--r--graphics/darktable/Makefile34
-rw-r--r--graphics/darktable/distinfo4
-rw-r--r--graphics/darktable/files/patch-src_CMakeLists.txt24
3 files changed, 44 insertions, 18 deletions
diff --git a/graphics/darktable/Makefile b/graphics/darktable/Makefile
index 3d9f56bb55c6..d4da638f66ec 100644
--- a/graphics/darktable/Makefile
+++ b/graphics/darktable/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= darktable
-PORTVERSION= 1.6.8
-PORTREVISION= 1
+PORTVERSION= 1.6.9
CATEGORIES= graphics
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION}/
@@ -30,8 +29,8 @@ INSTALLS_ICONS= yes
LDFLAGS+= -L${LOCALBASE}/lib -lintl
OPTIONS_DEFINE= COLORD DOCS FB_PICASA FLICKR GEO GNOMEKEYRING GPHOTO \
- GRAPHMAGICK LIBSECRET LUA NLS OPENEXR OPENJPEG RAWSPEED \
- SLIDESHOW SQUISH WEBP
+ GRAPHMAGICK LIBSECRET LUA NLS OPENEXR OPENJPEG OPENMP \
+ RAWSPEED SLIDESHOW SQUISH WEBP
GEO_DESC= Support geotagging
FB_PICASA_DESC= Support export to Facebook and Picasa
@@ -41,7 +40,7 @@ RAWSPEED_DESC= Compile with rawspeed backend
SLIDESHOW_DESC= Build OpenGL/SDL slideshow viewer
OPTIONS_DEFAULT=COLORD FB_PICASA FLICKR GEO GPHOTO LUA NLS OPENEXR \
- OPENJPEG RAWSPEED SLIDESHOW SQUISH WEBP
+ OPENJPEG OPENMP RAWSPEED SLIDESHOW SQUISH WEBP
OPTIONS_SUB= yes
CMAKE_ARGS+= -DBINARY_PACKAGE_BUILD=1
@@ -74,7 +73,7 @@ GRAPHMAGICK_CMAKE_OFF= -DUSE_GRAPHICSMAGICK:BOOL=OFF
LIBSECRET_LIB_DEPENDS= libsecret-1.so:${PORTSDIR}/security/libsecret
LIBSECRET_CMAKE_OFF= -DUSE_LIBSECRET:BOOL=OFF
-LUA_USES= lua
+LUA_USES= lua:5.2
LUA_CMAKE_OFF= -DUSE_LUA:BOOL=OFF
NLS_USES= gettext
@@ -97,19 +96,22 @@ SQUISH_CMAKE_OFF= -DUSE_SQUISH:BOOL=OFF
WEBP_LIB_DEPENDS= libwebp.so:${PORTSDIR}/graphics/webp
WEBP_CMAKE_OFF= -DUSE_WEBP:BOOL=OFF
-.include <bsd.port.options.mk>
+.include <bsd.port.pre.mk>
+
+.if ${PORT_OPTIONS:MOPENMP} && ${COMPILER_TYPE} == clang
+# Enable OpenMP support with Clang 3.7.
+BUILD_DEPENDS+= clang37:${PORTSDIR}/devel/llvm37
+RUN_DEPENDS+= clang37:${PORTSDIR}/devel/llvm37
+
+CPP= ${LOCALBASE}/bin/clang-cpp37
+CC= ${LOCALBASE}/bin/clang37
+CXX= ${LOCALBASE}/bin/clang++37
+LDFLAGS+= -L${LOCALBASE}/llvm37/lib -lomp
+.endif
.if defined(WITH_DEBUG)
CMAKE_BUILD_TYPE= RelWithDebInfo
STRIP=
.endif
-post-install-DOCS-off:
- ${RM} ${STAGEDIR}${DOCSDIR}/AUTHORS
- ${RM} ${STAGEDIR}${DOCSDIR}/LICENSE
- ${RM} ${STAGEDIR}${DOCSDIR}/README
- ${RM} ${STAGEDIR}${DOCSDIR}/TRANSLATORS
- ${RM} ${STAGEDIR}${DOCSDIR}/darktablerc.html
- ${RMDIR} ${STAGEDIR}${DOCSDIR}
-
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/graphics/darktable/distinfo b/graphics/darktable/distinfo
index 62c505b6e00b..46a41841582f 100644
--- a/graphics/darktable/distinfo
+++ b/graphics/darktable/distinfo
@@ -1,2 +1,2 @@
-SHA256 (darktable-1.6.8.tar.xz) = b676f81bd8cc661a8f76e03ad449da4444f770b6bec3e9accf013c636f690905
-SIZE (darktable-1.6.8.tar.xz) = 3118776
+SHA256 (darktable-1.6.9.tar.xz) = 0f721e9d298a9407f6c0325d9c95b9dc37fa60f3b6a2f2e3b5675ff97c423173
+SIZE (darktable-1.6.9.tar.xz) = 3124940
diff --git a/graphics/darktable/files/patch-src_CMakeLists.txt b/graphics/darktable/files/patch-src_CMakeLists.txt
new file mode 100644
index 000000000000..7527e329d814
--- /dev/null
+++ b/graphics/darktable/files/patch-src_CMakeLists.txt
@@ -0,0 +1,24 @@
+--- src/CMakeLists.txt.orig 2015-10-15 12:59:51 UTC
++++ src/CMakeLists.txt
+@@ -419,8 +419,9 @@ if(NOT CUSTOM_CFLAGS)
+ #-g MUST be set for ALL builds, or there will be no support for them when bugs happen
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MARCH} ${DT_REQ_INSTRUCTIONS} -g")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2")
+- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3 -ffast-math -fno-finite-math-only")
++ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")
+ if(CMAKE_COMPILER_IS_GNUCC)
++ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -ffast-math -fno-finite-math-only")
+ execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfpmath=sse")
+@@ -436,8 +437,9 @@ if(NOT CUSTOM_CFLAGS)
+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MARCH} ${DT_REQ_INSTRUCTIONS} -g")
+ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2")
+- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ffast-math -fno-finite-math-only")
++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
+ if(CMAKE_COMPILER_IS_GNUCXX)
++ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -ffast-math -fno-finite-math-only")
+ execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpmath=sse")