freebsd-ports/graphics/darktable/Makefile

127 lines
3.7 KiB
Makefile
Raw Normal View History

# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
# $FreeBSD$
PORTNAME= darktable
PORTVERSION= 2.4.4
PORTREVISION= 3
CATEGORIES= graphics
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
MAINTAINER= dumbbell@FreeBSD.org
COMMENT= Virtual lighttable and darkroom for photographers
LICENSE= GPLv3
BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:misc/iso-codes \
xsltproc:textproc/libxslt \
po4a-translate:textproc/po4a
LIB_DEPENDS= libcurl.so:ftp/curl \
libexiv2.so:graphics/exiv2 \
libjson-glib-1.0.so:devel/json-glib \
liblcms2.so:graphics/lcms2 \
liblensfun.so:graphics/lensfun \
2017-12-01 08:19:53 +01:00
libpng.so:graphics/png \
libpugixml.so:textproc/pugixml \
libsoup-2.4.so:devel/libsoup \
libtiff.so:graphics/tiff
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= uses SSE instructions and 64-bit address space
USES= cmake compiler:c++11-lib desktop-file-utils \
jpeg pkgconfig sqlite tar:xz
USE_GL= glu
USE_GNOME= cairo gtk30 intltool librsvg2 libxml2
USE_XORG= ice sm x11 xext xrandr
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
INSTALLS_ICONS= yes
OPTIONS_DEFINE= COLORD DOCS FLICKR GEO GPHOTO GRAPHMAGICK \
LIBSECRET LUA NLS OPENEXR OPENJPEG PRINT WEBP
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
GEO_DESC= Support geotagging
LIBSECRET_DESC= Support libsecret as password backend
OPTIONS_DEFAULT=COLORD FLICKR GEO GPHOTO LUA OPENEXR OPENJPEG \
PRINT WEBP
OPTIONS_SUB= yes
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/\.rc/~rc/}
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
CMAKE_ARGS+= -DBINARY_PACKAGE_BUILD=1
CMAKE_ARGS+= -DBUILD_CMSTEST:BOOL=ON
CMAKE_ARGS+= -DUSE_KWALLET:BOOL=ON
LDFLAGS+= -L${LOCALBASE}/lib
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
COLORD_LIB_DEPENDS= libcolord.so:graphics/colord \
libcolord-gtk.so:graphics/colord-gtk
COLORD_CMAKE_OFF= -DUSE_COLORD:BOOL=OFF
FLICKR_LIB_DEPENDS= libflickcurl.so:www/flickcurl
FLICKR_CMAKE_OFF= -DUSE_FLICKR:BOOL=OFF
GEO_LIB_DEPENDS= libosmgpsmap-1.0.so:x11-toolkits/osm-gps-map
GEO_CMAKE_OFF= -DUSE_MAP:BOOL=OFF
GPHOTO_LIB_DEPENDS= libgphoto2.so:graphics/libgphoto2
GPHOTO_CMAKE_OFF= -DUSE_CAMERA_SUPPORT:BOOL=OFF
GRAPHMAGICK_LIB_DEPENDS=libGraphicsMagick.so:graphics/GraphicsMagick
GRAPHMAGICK_CMAKE_OFF= -DUSE_GRAPHICSMAGICK:BOOL=OFF
LIBSECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret
LIBSECRET_CMAKE_OFF= -DUSE_LIBSECRET:BOOL=OFF
LUA_USES= lua:53
LUA_CMAKE_OFF= -DUSE_LUA:BOOL=OFF
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
# FIXME: Even with NLS turned off, darktable(1) is still linked to
# libintl.so.
NLS_USES= gettext
NLS_USES_OFF= gettext-runtime
NLS_CMAKE_OFF= -DUSE_NLS:BOOL=OFF
NLS_LDFLAGS= -L${LOCALBASE}/lib -lintl
OPENEXR_LIB_DEPENDS= libIlmImf.so:graphics/openexr \
libIlmThread.so:graphics/ilmbase
OPENEXR_CMAKE_OFF= -DUSE_OPENEXR:BOOL=OFF
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
OPENJPEG_CMAKE_OFF= -DUSE_OPENJPEG:BOOL=OFF
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
PRINT_LIB_DEPENDS= libcups.so:print/cups
PRINT_CMAKE_OFF= -DBUILD_PRINT:BOOL=OFF
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
WEBP_CMAKE_OFF= -DUSE_WEBP:BOOL=OFF
graphics/darktable: Update to 1.4.2 The following changes were made to options: o Remove GCC option (see below) o Remove KWALLET option (unused) o Rename FACEBOOK option to FB_PICASA, because both export features depend on json-glib. o Add COLORD option (color management) o Add GRAPHMAGICK option (support GraphicsMagick's image formats) o Add LUA option (embed Lua to add scripting) o Add OPENEXR option (support HDR image format) o Add SQUISH option (use libsquish to compress thumbnails) o Add WEBP option (support WebP image format) The patch enables more options by default, because I think it's more sensible for a photographer using binary packages: o COLORD o FB_PICASA o FLICKR o GEO o GPHOTO (already on) o LUA o NLS o OPENEXR o OPENJPEG o RAWSPEED (already on) o WEBP The GCC option was removed because the usage of GCC along with libc++ in FreeBSD 10 and -CURRENT is unstable (this isn't a general truth, just valid in the case of darktable). In FreeBSD up-to 9, the usage of lang/gcc is mandatory anyway, because GCC 4.2.1 support is best effort only (upstream). Ninja is now used to build darktable, instead of make. This is not mandatory of course, but brings a 33% build time improvement (at least for me). pkg-plist is generated with "make makeplist" this time. That's why the diff seems large. In fact most of the content remains the same, just with a different order. All patches were committed upstream and are removed, except one which comes from upstream but isn't part of release 1.4.2. The port is now "stagified". Finally, I take maintainership of it. PR: ports/186979 Phabricator: D107 Reviewed by: danfe@ (previous version), antoine@ Approved by: antoine@
2014-06-01 20:52:21 +02:00
.include <bsd.port.pre.mk>
.if ${ARCH} == amd64 && ${CHOSEN_COMPILER_TYPE} == clang
# Enable OpenMP support with Clang 6.0.
LLVM_VER= 60
BUILD_DEPENDS+= clang${LLVM_VER}:devel/llvm${LLVM_VER}
CPP= clang-cpp${LLVM_VER}
CC= clang${LLVM_VER}
CXX= clang++${LLVM_VER}
# Depend on devel/openmp instead of the full LLVM at runtime. Required
# for a consistent libomp experience.
LIB_DEPENDS+= libomp.so.0:devel/openmp
# Last but not least, there is a second change or regression in CMake
# 3.4.x: CMAKE_EXE_LINKER_FLAGS is not passed to TRY_COMPILE by default
# anymore. The CMP0056 policy must be explicitly set to NEW to ensure
# linker flags are passed.
# See: https://cmake.org/cmake/help/v3.4/policy/CMP0056.html
CMAKE_ARGS+= -DCMAKE_POLICY_DEFAULT_CMP0056:STRING=NEW
.endif
.if defined(WITH_DEBUG)
CMAKE_BUILD_TYPE= RelWithDebInfo
STRIP=
.endif
.include <bsd.port.post.mk>