svn commit: r554991 - head/graphics/rawtherapee
Matthias Andree
mandree at FreeBSD.org
Thu Nov 12 22:41:57 UTC 2020
Author: mandree
Date: Thu Nov 12 22:41:56 2020
New Revision: 554991
URL: https://svnweb.freebsd.org/changeset/ports/554991
Log:
graphics/rawtherapee: build stability improvements
- on some systems, the base binutils's ar does not support --plugin.
Use BINARY_ALIAS to make sure the port/package binutils's ar and
ranlib are used. [1]
- while here, disable TCMALLOC on FreeBSD 11, which appears to cause
strange errors in the run-time self-tests
-> bump PORTREVISION to flush out old packages
- while here, rearrange a bit per portclippy's suggestions
PR: 251041 [1]
PR: 240594 comment #9 [1]
Reported by: rozhuk.im at gmail.com [1]
Modified:
head/graphics/rawtherapee/Makefile
Modified: head/graphics/rawtherapee/Makefile
==============================================================================
--- head/graphics/rawtherapee/Makefile Thu Nov 12 21:30:35 2020 (r554990)
+++ head/graphics/rawtherapee/Makefile Thu Nov 12 22:41:56 2020 (r554991)
@@ -3,7 +3,7 @@
PORTNAME= rawtherapee
PORTVERSION= 5.8
-PORTREVISION= 6
+PORTREVISION= 7
CATEGORIES= graphics
MASTER_SITES= https://rawtherapee.com/shared/source/ \
LOCAL/mandree/
@@ -32,28 +32,33 @@ USES= cmake desktop-file-utils compiler:gcc-c++11-lib
jpeg localbase:ldflags pkgconfig tar:xz
DOS2UNIX_REGEX= .*\.(cc|h)
-USE_GNOME= gtkmm30 librsvg2
-INSTALLS_ICONS= yes
# Binutils required for LTO (base ar/nm/ld/ranlib don't work)
USE_BINUTILS= yes
# As of 2019-09-29, this port is known to be miscompiled by clang90
# (SIGSEGV or SIBGUS) and 12.1's base clang.
-#
-# so we shall stick to GCC 9.x for now
+# So we shall stick to GCC 9.x for now
USE_GCC= 9+
+USE_GNOME= gtkmm30 librsvg2
+INSTALLS_ICONS= yes
+
_LTO_FLAGS= -flto=${MAKE_JOBS_NUMBER}
# gcc needs -flto=${MAKE_JOBS_NUMBER} for parallel link (fixed in GCC 10?)
# and does not understand -flto=thin
#
# llvm/clang needs -flto=thin and will automatically parallelize the link
+
+# 11.x has binutils that don't accept a --plugin option,
+# and gcc-ar9 appears to grab those, so make sure that USE_BINUTILS
+# override those in /usr/bin which usually is first in the PATH,
+# before ${LOCALBASE}/bin. (For some reason, poudriere does not trigger this.)
+# Fixes https://bugs.freebsd.org/251041
+BINARY_ALIAS+= ar=${AR} ranlib=${RANLIB}
#
_AR= ${CC:S/gcc/gcc-ar/}
_RANLIB= ${CC:S/gcc/gcc-ranlib/}
-CFLAGS+= -I${LOCALBASE}/include -fPIC ${_LTO_FLAGS} ${_OPT_FLAGS}
-LDFLAGS+= -Wl,--as-needed -lpthread ${_LTO_FLAGS} ${_OPT_FLAGS}
CMAKE_ARGS+= -DDOCDIR="${DOCSDIR}" \
-DCREDITSDIR="${DOCSDIR}" \
-DLICENCEDIR="${DOCSDIR}" \
@@ -68,6 +73,8 @@ CMAKE_ARGS+= -DDOCDIR="${DOCSDIR}" \
# any more. The CMP0056 policy must be explicitly set to NEW to ensure
# linker flags are passed. Else -lomp is not found with clang.
# See: https://cmake.org/cmake/help/v3.4/policy/CMP0056.html
+CFLAGS+= -I${LOCALBASE}/include -fPIC ${_LTO_FLAGS} ${_OPT_FLAGS}
+LDFLAGS+= -Wl,--as-needed -lpthread ${_LTO_FLAGS} ${_OPT_FLAGS}
.if defined(PACKAGE_BUILDING) && empty(CFLAGS:M-march*) && (${ARCH} == i386 || ${ARCH} == amd64 || ${ARCH} == aarch64)
# this gets translated to -mtune=generic, see ${WRKSRC}/ProcessorTargets.cmake
@@ -83,17 +90,19 @@ CMAKE_ARGS+= -DCMAKE_C_COMPILER_LAUNCHER=${CCACHE_BIN}
.endif
OPTIONS_DEFINE= DOCS NATIVE
-OPTIONS_DEFINE_i386= OPENMP TCMALLOC
OPTIONS_DEFINE_amd64= OPENMP TCMALLOC
+OPTIONS_DEFINE_i386= OPENMP TCMALLOC
OPTIONS_DEFAULT= OPENMP TCMALLOC
-OPENMP_DESC= Enable OpenMP parallel processing (i386/amd64 only)
+# For some reason, 11.4-amd64 fails run-time tests with TCMALLOC, strip out:
+OPTIONS_EXCLUDE_FreeBSD_11= TCMALLOC
NATIVE_DESC= Use -march=native (avoid for generic packages!)
+OPENMP_DESC= Enable OpenMP parallel processing (i386/amd64 only)
TCMALLOC_DESC= Use Google's tcmalloc instead of system allocator
OPENMP_CMAKE_BOOL= OPTION_OMP
-TCMALLOC_CMAKE_BOOL= ENABLE_TCMALLOC
TCMALLOC_LIB_DEPENDS= libtcmalloc.so:devel/google-perftools
+TCMALLOC_CMAKE_BOOL= ENABLE_TCMALLOC
.include <bsd.port.options.mk>
@@ -109,7 +118,7 @@ TCMALLOC_LIB_DEPENDS= libtcmalloc.so:devel/google-perf
#
# Tier-2 only supported on the latest stable FreeBSD release.
ONLY_FOR_ARCHS= amd64
-ONLY_FOR_ARCHS_REASON= On i386, rawtherapee malfunctions under FreeBSD 11.x - upgrade to 12.x
+ONLY_FOR_ARCHS_REASON=On i386, rawtherapee malfunctions under FreeBSD 11.x - upgrade to 12.x
.endif
.if (${OPSYS} == FreeBSD) && (${OSVERSION} >= 1300000)
@@ -167,7 +176,7 @@ _check_version= ${PKGVERSION:C/.g0//}
_env= LANG= LC_ALL=C LANGUAGE= DISPLAY= HOME="$$TMP" RT_SETTINGS=${WRKDIR}/rt-config RT_CACHE="$$TMP/rtcache"
post-install:
@${ECHO_MSG} "===> Running smoke tests"
- @${RM} -f ${WRKDIR}/selftest.exitcodes ${WRKDIR}/selftest.expect
+ @${RM} -f ${WRKDIR}/selftest.exitcodes ${WRKDIR}/selftest.expect
@${RM} -rf ${WRKDIR}/rt-config
${MKDIR} ${WRKDIR}/rt-config ${WRKDIR}/rt-config/dcpprofiles ${WRKDIR}/rt-config/profiles
${CP} ${WRKSRC}/rtengine/camconst.json ${WRKDIR}/rt-config
More information about the svn-ports-all
mailing list