aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason E. Hale <jhale@FreeBSD.org>2024-02-03 21:34:32 +0000
committerJason E. Hale <jhale@FreeBSD.org>2024-02-03 23:19:43 +0000
commit97c31b93991c7a4bef0b2e8a5f8ec6c42e3e7d86 (patch)
treeb486de738fcf6a8cd0636d83d87193d3bfb9c2f0
parent796ad3a445f9f167f89402bd4fff5ae3d9a34b17 (diff)
downloadports-97c31b93991c7a4bef0b2e8a5f8ec6c42e3e7d86.tar.gz
ports-97c31b93991c7a4bef0b2e8a5f8ec6c42e3e7d86.zip
devel/cmake*: Pet portclippy(1) and migrate to Qt6
Migrate towards Qt6: - Switch the default flavor of devel/cmake-gui to qt6. - Use qt6-tools instead of qt5-help in devel/cmake-doc to generate the Qt help file. Depend on the flavorized version of textproc/py-sphinx. Pet portclippy(1) and portlint(1) and make Makefile order more consistent within the devel/cmake* ports. Remove duplicate DISTINFO_FILE line from devel/cmake-man. [1] Make build of devel/cmake-core verbose [2] and respect WITH_CCACHE_BUILD in bootstrapping phase. Remove the "experimental" annotation from the CPACK option in devel/cmake-core to avoid end-user confusion. [3] The FreeBSD CPack generator has been marked experimental since version 3.11.4, but is supported upstream and shouldn't be considered experimental even if we've had to make some local changes to it. If it isn't working correctly, please file a bug report. PR: 276792 [1], 276782[2], 274640 [3] Reported by: diizzy [1], Anton Saietskii <vsasjason@gmail.com> [2], Martin Waschb├╝sch <martin@waschbuesch.de> [3]
-rw-r--r--devel/cmake-core/Makefile17
-rw-r--r--devel/cmake-core/files/patch-Source_CPack_cmCPackFreeBSDGenerator.cxx6
-rw-r--r--devel/cmake-doc/Makefile19
-rw-r--r--devel/cmake-gui/Makefile7
-rw-r--r--devel/cmake-man/Makefile17
5 files changed, 35 insertions, 31 deletions
diff --git a/devel/cmake-core/Makefile b/devel/cmake-core/Makefile
index 127a5da4982c..c7d1054c060b 100644
--- a/devel/cmake-core/Makefile
+++ b/devel/cmake-core/Makefile
@@ -17,10 +17,9 @@ LIB_DEPENDS= libexpat.so:textproc/expat2 \
librhash.so:security/rhash
USES= cmake:_internal compiler:c++11-lang cpe localbase ncurses ssl
-
CPE_VENDOR= cmake_project
+
HAS_CONFIGURE= yes
-CONFIGURE_ENV= MAKE=make
CONFIGURE_ARGS= --prefix=${PREFIX} \
--datadir="/${DATADIR_REL}" \
--docdir="/${DOCSDIR_REL}" \
@@ -37,21 +36,25 @@ CONFIGURE_ARGS= --prefix=${PREFIX} \
--no-system-curl \
--no-system-nghttp2 \
--parallel=${MAKE_JOBS_NUMBER} \
+ --verbose \
--init="${WRKSRC}/InitialCache.cmake"
+.if defined(WITH_CCACHE_BUILD)
+CONFIGURE_ARGS+= --enable-ccache
+.endif
+CONFIGURE_ENV= MAKE=${MAKE}
-# Quick fix to enable build with non-base SSL (PR: 274512)
+# Quick fix to enable build with non-base SSL (CFLAGS/LDFLAGS only) (PR: 274512)
CFLAGS+= -I${OPENSSLINC}
+CXXFLAGS+= -D__BSD_VISIBLE
LDFLAGS+= -L${OPENSSLLIB}
OPTIONS_DEFINE= DOCS CPACK
OPTIONS_DEFAULT= CPACK
OPTIONS_SUB= yes
-CPACK_DESC= Enable FreeBSD generator in CPack (experimental)
+CPACK_DESC= Enable FreeBSD generator in CPack
CPACK_LIB_DEPENDS= libpkg.so:${PKG_ORIGIN}
-CXXFLAGS+= -D__BSD_VISIBLE
-
.include <bsd.port.pre.mk>
.if defined(STRIP) && ${STRIP} != "" && !defined(WITH_DEBUG)
@@ -93,6 +96,8 @@ post-patch:
${WRKSRC}/Modules/FindDCMTK.cmake
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/Modules/FindFLEX.cmake
+ @${REINPLACE_CMD} -e 's|_compiler=\"ccache|_compiler="${CCACHE_BIN}|g' \
+ ${WRKSRC}/bootstrap
# cmake-gui(1) is installed by devel/cmake-gui. Remove the man page's source to
# prevent it from being built/installed by devel/cmake.
diff --git a/devel/cmake-core/files/patch-Source_CPack_cmCPackFreeBSDGenerator.cxx b/devel/cmake-core/files/patch-Source_CPack_cmCPackFreeBSDGenerator.cxx
index c07173192de8..ed30e1aa305d 100644
--- a/devel/cmake-core/files/patch-Source_CPack_cmCPackFreeBSDGenerator.cxx
+++ b/devel/cmake-core/files/patch-Source_CPack_cmCPackFreeBSDGenerator.cxx
@@ -1,8 +1,6 @@
-diff --git Source/CPack/cmCPackFreeBSDGenerator.cxx Source/CPack/cmCPackFreeBSDGenerator.cxx
-index 162dfc7346..206f2d06a0 100644
---- Source/CPack/cmCPackFreeBSDGenerator.cxx
+--- Source/CPack/cmCPackFreeBSDGenerator.cxx.orig 2024-01-29 20:01:32 UTC
+++ Source/CPack/cmCPackFreeBSDGenerator.cxx
-@@ -245,8 +245,15 @@ public:
+@@ -245,8 +245,15 @@ class ManifestKeyDepsValue : public ManifestKeyListVal
void write_value(cmGeneratedFileStream& s) const override
{
s << "{\n";
diff --git a/devel/cmake-doc/Makefile b/devel/cmake-doc/Makefile
index 4da5ba04af7d..0a8bfeb3690e 100644
--- a/devel/cmake-doc/Makefile
+++ b/devel/cmake-doc/Makefile
@@ -1,5 +1,6 @@
PORTNAME= cmake
DISTVERSION= ${_CMAKE_VERSION}
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMESUFFIX= -doc
@@ -10,24 +11,24 @@ WWW= https://www.cmake.org
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/Copyright.txt
-BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
+BUILD_DEPENDS= sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
-DISTINFO_FILE= ${.CURDIR}/../cmake-core/distinfo
-
-NO_ARCH= yes
-USES= cmake qt:5
-USE_QT= help:build
+USES= cmake python:build qt:6
USE_LOCALE= en_US.UTF-8
+USE_QT= sqldriver-sqlite:build tools:build
-CMAKE_OFF= SPHINX_MAN
-CMAKE_ON= SPHINX_HTML SPHINX_QTHELP
CMAKE_ARGS= -DCMAKE_DOC_DIR:STRING="${DOCSDIR_REL}" \
- -DQHELPGENERATOR_EXECUTABLE=${QT_BINDIR}/qhelpgenerator
+ -DQHELPGENERATOR_EXECUTABLE=${QT_TOOLDIR}/qhelpgenerator
+CMAKE_ON= SPHINX_HTML SPHINX_QTHELP
+CMAKE_OFF= SPHINX_MAN
CMAKE_SOURCE_PATH= ${WRKSRC}/Utilities/Sphinx
ALL_TARGET= documentation
INSTALL_TARGET= install
+NO_ARCH= yes
+
+DISTINFO_FILE= ${.CURDIR}/../cmake-core/distinfo
PLIST_SUB= CMAKEVERSION="${DISTVERSION:S/.//g:C/-.*//}"
.include <bsd.port.mk>
diff --git a/devel/cmake-gui/Makefile b/devel/cmake-gui/Makefile
index 891d82a48971..d80d834b5ff3 100644
--- a/devel/cmake-gui/Makefile
+++ b/devel/cmake-gui/Makefile
@@ -1,5 +1,6 @@
PORTNAME= cmake
DISTVERSION= ${_CMAKE_VERSION}
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMESUFFIX= -gui-${FLAVOR}
@@ -10,7 +11,7 @@ WWW= https://www.cmake.org
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/Copyright.txt
-BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
+BUILD_DEPENDS= sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
LIB_DEPENDS= libcurl.so:ftp/curl \
libexpat.so:textproc/expat2 \
libjsoncpp.so:devel/jsoncpp \
@@ -18,12 +19,12 @@ LIB_DEPENDS= libcurl.so:ftp/curl \
librhash.so:security/rhash
FLAVORS= qt5 qt6
-FLAVOR?= qt5
+FLAVOR?= qt6
qt5_CONFLICTS_INSTALL= cmake-gui-qt6
qt6_CONFLICTS_INSTALL= cmake-gui-qt5
USES= cmake:run,insource compiler:c++11-lang desktop-file-utils libarchive \
- shared-mime-info qt:${FLAVOR:S/qt//}
+ python:build shared-mime-info qt:${FLAVOR:S/qt//}
_USE_QT_qt5= core gui widgets buildtools:build qmake:build
_USE_QT_qt6= base
USE_QT= ${_USE_QT_${FLAVOR}}
diff --git a/devel/cmake-man/Makefile b/devel/cmake-man/Makefile
index 1be3e0ec0420..80773d21b2a9 100644
--- a/devel/cmake-man/Makefile
+++ b/devel/cmake-man/Makefile
@@ -1,5 +1,6 @@
PORTNAME= cmake
DISTVERSION= ${_CMAKE_VERSION}
+PORTREVISION= 1
CATEGORIES= devel
PKGNAMESUFFIX= -man
@@ -9,25 +10,23 @@ WWW= https://www.cmake.org/
LICENSE= BSD3CLAUSE
-DISTINFO_FILE= ${.CURDIR}/../cmake-core/distinfo
-
-BUILD_DEPENDS= sphinx-build:textproc/py-sphinx
+BUILD_DEPENDS= sphinx-build:textproc/py-sphinx@${PY_FLAVOR}
-USES= cmake
+USES= cmake python:build
USE_LOCALE= en_US.UTF-8
-NO_ARCH= yes
-DISTINFO_FILE= ${.CURDIR}/../cmake-core/distinfo
-
-CMAKE_OFF= SPHINX_HTML SPHINX_QTHELP
-CMAKE_ON= SPHINX_MAN
CMAKE_ARGS= -DCMAKE_DOC_DIR:STRING="${DOCSDIR_REL}" \
-DCMAKE_MAN_DIR:STRING="share/man"
+CMAKE_ON= SPHINX_MAN
+CMAKE_OFF= SPHINX_HTML SPHINX_QTHELP
CMAKE_SOURCE_PATH= ${WRKSRC}/Utilities/Sphinx
ALL_TARGET= documentation
INSTALL_TARGET= install
+NO_ARCH= yes
+
+DISTINFO_FILE= ${.CURDIR}/../cmake-core/distinfo
PLIST_SUB= CMAKEVERSION="${DISTVERSION:S/.//g:C/-.*//}"
post-install: