mirror of
https://git.freebsd.org/ports.git
synced 2025-07-06 20:09:14 -04:00
There have been lots of missing CONFLICTS_INSTALL entries, either because conflicting ports were added without updating existing ports, due to name changes of generated packages, due to mis-understanding the format and semantics of the conflicts entries, or just due to typoes in package names. This patch is the result of a comparison of all files contained in the official packages with each other. This comparison was based on packages built with default options and may therefore have missed further conflicts with optionally installed files. Where possible, version numbers in conflicts entries have been generalized, some times taking advantage of the fact that a port cannot conflict with itself (due to logic in bsd.port.mk that supresses the pattern match result in that case). A few ports that set the conflicts variables depending on complex conditions (e.g. port options), have been left unmodified, despite probably containing outdated package names. These changes should only affect the installation of locally built ports, not the package building with poudriere. They should give an early indication of the install conflict in cases where currently the pkg command aborts an installation when it detects that an existing file would be overwritten, Approved by: portmgr (implicit)
161 lines
5 KiB
Makefile
161 lines
5 KiB
Makefile
# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
|
|
|
|
PORTNAME= darktable
|
|
PORTVERSION= 3.6.1
|
|
PORTREVISION= 2
|
|
CATEGORIES= graphics
|
|
MASTER_SITES= https://github.com/darktable-org/${PORTNAME}/releases/download/release-${PORTVERSION:C/\.rc/rc/}/
|
|
|
|
MAINTAINER= dumbbell@FreeBSD.org
|
|
COMMENT= Virtual lighttable and darkroom for photographers
|
|
|
|
LICENSE= GPLv3
|
|
|
|
ONLY_FOR_ARCHS= aarch64 amd64 powerpc64le
|
|
ONLY_FOR_ARCHS_REASON= uses 64-bit address space
|
|
|
|
BUILD_DEPENDS= iso-codes>=0:misc/iso-codes \
|
|
${P5_POD_PARSER} \
|
|
po4a-translate:textproc/po4a \
|
|
xsltproc:textproc/libxslt \
|
|
bash:shells/bash
|
|
LIB_DEPENDS= libcolord-gtk.so:graphics/colord-gtk \
|
|
libcolord.so:graphics/colord \
|
|
libcurl.so:ftp/curl \
|
|
libexiv2.so:graphics/exiv2 \
|
|
libharfbuzz.so:print/harfbuzz \
|
|
libicui18n.so:devel/icu \
|
|
libjson-glib-1.0.so:devel/json-glib \
|
|
liblcms2.so:graphics/lcms2 \
|
|
liblensfun.so:graphics/lensfun \
|
|
libpng.so:graphics/png \
|
|
libpugixml.so:textproc/pugixml \
|
|
libsoup-2.4.so:devel/libsoup \
|
|
libtiff.so:graphics/tiff
|
|
|
|
# Fix build against cmake-3.21: the ninja generator in 3.21 suffers a
|
|
# regression (see https://gitlab.kitware.com/cmake/cmake/-/issues/22487)
|
|
# appending an invalid "-Wl,--no-as-needed" to the linker arguments for static
|
|
# libraries. Once this regression has been fixed upstream, this can be
|
|
# switched back to USES=cmake, and LTO can be re-enabled.
|
|
USES= cmake:noninja compiler:c++14-lang desktop-file-utils gl gnome jpeg \
|
|
perl5 pkgconfig shebangfix sqlite tar:xz xorg
|
|
OPTIONS_EXCLUDE=LTO
|
|
USE_GL= glu
|
|
USE_GNOME= cairo gtk30 intltool librsvg2 libxml2
|
|
USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME}
|
|
USE_XORG= ice sm x11 xext xrandr
|
|
|
|
CONFLICTS_INSTALL= darktable38
|
|
|
|
SHEBANG_FILES= tools/*.sh
|
|
|
|
CMAKE_ARGS+= -DBINARY_PACKAGE_BUILD=1 \
|
|
-DBUILD_CMSTEST:BOOL=ON \
|
|
-DUSE_KWALLET:BOOL=ON
|
|
|
|
CFLAGS+= -fopenmp
|
|
LDFLAGS+= -L${LOCALBASE}/lib
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION:C/\.rc/~rc/}
|
|
|
|
OPTIONS_DEFINE= DOCS GEO GPHOTO GMIC GRAPHMAGICK LIBAVIF LIBSECRET LTO \
|
|
LUA NLS OPENEXR OPENJPEG PRINT TOOLS WEBP
|
|
OPTIONS_DEFAULT= GEO GPHOTO LUA OPENEXR OPENJPEG PRINT WEBP
|
|
OPTIONS_SUB= yes
|
|
|
|
GEO_DESC= Support geotagging
|
|
GMIC_DESC= Support G'Mic-compressed LUT in lut3d
|
|
LIBAVIF_DESC= Support encoding and decoding .avif files
|
|
LIBSECRET_DESC= Support libsecret as password backend
|
|
|
|
GEO_LIB_DEPENDS= libosmgpsmap-1.0.so:x11-toolkits/osm-gps-map
|
|
GEO_CMAKE_OFF= -DUSE_MAP:BOOL=OFF
|
|
|
|
GMIC_LIB_DEPENDS= libgmic.so:graphics/gmic
|
|
GMIC_CMAKE_OFF= -DUSE_GMIC: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
|
|
|
|
LIBAVIF_LIB_DEPENDS= libavif.so:graphics/libavif
|
|
LIBAVIF_CMAKE_OFF= -DUSE_LIBAVIF:BOOL=OFF
|
|
|
|
LIBSECRET_LIB_DEPENDS= libsecret-1.so:security/libsecret
|
|
LIBSECRET_CMAKE_OFF= -DUSE_LIBSECRET:BOOL=OFF
|
|
|
|
LTO_CMAKE_BOOL= RAWSPEED_ENABLE_LTO
|
|
|
|
LUA_USES= lua:53
|
|
LUA_CMAKE_OFF= -DUSE_LUA:BOOL=OFF
|
|
|
|
# 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= libOpenEXR.so:graphics/openexr \
|
|
libImath.so:math/Imath
|
|
OPENEXR_CFLAGS= -I${LOCALBASE}/include/Imath
|
|
OPENEXR_CMAKE_OFF= -DUSE_OPENEXR:BOOL=OFF
|
|
|
|
OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg
|
|
OPENJPEG_CMAKE_OFF= -DUSE_OPENJPEG:BOOL=OFF
|
|
|
|
PRINT_LIB_DEPENDS= libcups.so:print/cups
|
|
PRINT_CMAKE_OFF= -DBUILD_PRINT:BOOL=OFF
|
|
|
|
TOOLS_DESC= Install additional scripts
|
|
TOOLS_BUILD_DEPENDS= exiftool:graphics/p5-Image-ExifTool
|
|
TOOLS_RUN_DEPENDS= exiftool:graphics/p5-Image-ExifTool
|
|
|
|
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
|
|
WEBP_CMAKE_OFF= -DUSE_WEBP:BOOL=OFF
|
|
|
|
.include <bsd.port.options.mk>
|
|
|
|
.if ${ARCH} == aarch64 || ${ARCH} == powerpc64le
|
|
CMAKE_ARGS+= -DUSE_OPENCL:BOOL=OFF
|
|
CXXFLAGS+= -DGDK_DISABLE_DEPRECATED
|
|
PLIST_SUB+= NO_OPENCL="@comment "
|
|
.else
|
|
PLIST_SUB+= NO_OPENCL=""
|
|
.endif
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
.if ${CHOSEN_COMPILER_TYPE} == clang && ${OPSYS} == FreeBSD || ${ARCH} == "i386"
|
|
LLVM_DEFAULT= 12
|
|
BUILD_DEPENDS+= clang${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
|
|
CC= ${LOCALBASE}/bin/clang${LLVM_DEFAULT}
|
|
CPP= ${LOCALBASE}/bin/clang-cpp${LLVM_DEFAULT}
|
|
CXX= ${LOCALBASE}/bin/clang++${LLVM_DEFAULT}
|
|
.endif
|
|
|
|
# work around CMAKE/CCACHE flaw (cmake stomps over ccache)
|
|
.if "${WITH_CCACHE_BUILD}" == "yes" && !defined(NO_CCACHE)
|
|
CMAKE_ARGS+= -DCMAKE_C_COMPILER_LAUNCHER=${CCACHE_BIN} \
|
|
-DCMAKE_CXX_COMPILER_LAUNCHER=${CCACHE_BIN}
|
|
.endif
|
|
|
|
.if defined(WITH_DEBUG)
|
|
CMAKE_BUILD_TYPE= RelWithDebInfo
|
|
STRIP=
|
|
.endif
|
|
|
|
# darktable defines the __XOPEN_SOURCE preprocessor macro, which
|
|
# restricts symbol visibility on FreeBSD and causes compilation failures
|
|
# on, for instance, the cups_print module, because u_char remains
|
|
# undefined. Remove _XOPEN_SOURCE maro definitions.
|
|
post-patch:
|
|
${REINPLACE_CMD} '/add_definitions."-D_XOPEN_SOURCE=.*"/d' ${WRKSRC}/CMakeLists.txt
|
|
|
|
post-install-TOOLS-off:
|
|
@${RM} -f ${STAGEDIR}${DATADIR}/tools/extract_wb_from_images.sh
|
|
|
|
.include <bsd.port.post.mk>
|