diff options
author | Jean-Sébastien Pédron <dumbbell@FreeBSD.org> | 2015-11-11 13:16:02 +0000 |
---|---|---|
committer | Jean-Sébastien Pédron <dumbbell@FreeBSD.org> | 2015-11-11 13:16:02 +0000 |
commit | 5863b442491a086cb701cfc5c7e8e8bdeab3fc47 (patch) | |
tree | dd125442fd8bbdd0346868fa198f5fd56106b06b /graphics/darktable | |
parent | 48a607f2b5bdbeed4720dff6492cf743b9942426 (diff) | |
download | ports-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/Makefile | 34 | ||||
-rw-r--r-- | graphics/darktable/distinfo | 4 | ||||
-rw-r--r-- | graphics/darktable/files/patch-src_CMakeLists.txt | 24 |
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") |