Re: git: f7c59ccf4e1c - main - devel/cmake-core: Remove CPACK option

From: Jason E. Hale <jhale_at_freebsd.org>
Date: Mon, 18 Nov 2024 07:43:21 UTC
On Mon, Nov 18, 2024 at 12:26 AM Daniel Engberg
<daniel.engberg.lists@pyret.net> wrote:
>
> On 2024-11-18T04:12:48.000+01:00, Jason E. Hale <jhale@FreeBSD.org> wrote:
>
>
> The branch main has been updated by jhale:
>
> URL: https://cgit.FreeBSD.org/ports/commit/?id=f7c59ccf4e1c6758d03659804f6877a483fac10a
>
> commit f7c59ccf4e1c6758d03659804f6877a483fac10a
> Author:     Jason E. Hale <jhale@FreeBSD.org>
> AuthorDate: 2024-11-18 02:55:11 +0000
> Commit:     Jason E. Hale <jhale@FreeBSD.org>
> CommitDate: 2024-11-18 03:11:40 +0000
>
>     devel/cmake-core: Remove CPACK option
>
>     This option has been a point of confusion several times. It was once an
>     experimental feature, but it has been on by default for many years and
>     there is really no point in disabling it anymore.
>
>     Make sure we are always linking to libarchive from base. This was
>     previously conditionalized to only happen if the CPACK option was
>     enabled, so if the user had the CPACK option disabled and had libarchive
>     from ports installed, the ports version would be linked to. [1]
>
>     Add missing dns/libidn2 dependency. This is an optional dependency that
>     didn't manifest itself in poudriere, but it gets linked to if previously
>     installed on a live system build.
>
>     Reported by:    vvd on #freebsd-desktop [1]
> ---
>  devel/cmake-core/Makefile                    | 11 ++++-------
>  devel/cmake-core/files/InitialCache.cmake.in | 20 +++++++++-----------
>  2 files changed, 13 insertions(+), 18 deletions(-)
>
> diff --git a/devel/cmake-core/Makefile b/devel/cmake-core/Makefile
> index 632bdc648a07..bdf931045533 100644
> --- a/devel/cmake-core/Makefile
> +++ b/devel/cmake-core/Makefile
> @@ -1,5 +1,6 @@
>  PORTNAME= cmake
>  DISTVERSION= ${_CMAKE_VERSION}
> +PORTREVISION= 1
>  CATEGORIES= devel
>  PKGNAMESUFFIX= -core
>
> @@ -11,7 +12,9 @@ LICENSE= BSD3CLAUSE
>  LICENSE_FILE= ${WRKSRC}/Copyright.txt
>
>  LIB_DEPENDS= libexpat.so:textproc/expat2 \
> + libidn2.so:dns/libidn2 \
>   libjsoncpp.so:devel/jsoncpp \
> + libpkg.so:${PKG_ORIGIN} \
>   librhash.so:security/rhash \
>   libuv.so:devel/libuv
>
> @@ -55,15 +58,9 @@ BUILD_WRKSRC= ${WRKDIR}/.build
>  CONFIGURE_WRKSRC= ${BUILD_WRKSRC}
>  INSTALL_WRKSRC= ${BUILD_WRKSRC}
>
> -OPTIONS_DEFINE= DOCS CPACK
> -OPTIONS_DEFAULT= CPACK
> +OPTIONS_DEFINE= DOCS
>  OPTIONS_SUB= yes
>
> -CPACK_DESC= Enable FreeBSD generator in CPack
> -CPACK_LIB_DEPENDS= libpkg.so:${PKG_ORIGIN}
> -CPACK_SUB_LIST= CPACK_OPTION_VALUE="ON"
> -CPACK_SUB_LIST_OFF= CPACK_OPTION_VALUE="OFF"
> -
>  post-patch:
>   @(${FIND} ${WRKSRC}/Modules -name "*.cmake" -print0; \
>   ${FIND} ${WRKSRC}/Tests -name "CMakeLists.txt" -print0 ) | \
> diff --git a/devel/cmake-core/files/InitialCache.cmake.in b/devel/cmake-core/files/InitialCache.cmake.in
> index 7532a7832dc9..15977658349d 100644
> --- a/devel/cmake-core/files/InitialCache.cmake.in
> +++ b/devel/cmake-core/files/InitialCache.cmake.in
> @@ -1,17 +1,15 @@
>  # TODO: Add TEST option to enable regression tests. The tests require
>  # additional packages to be installed and a small amount of patching
>  # to account for our local changes.
> -set(BUILD_TESTING OFF CACHE BOOL "Build the testing tree.")
> +set(BUILD_TESTING OFF CACHE BOOL
> +    "Build the testing tree.")
>
> -# Toggled by the CPACK option. Set to ON by default.
> -set(CPACK_ENABLE_FREEBSD_PKG %%CPACK_OPTION_VALUE%% CACHE BOOL
> +set(CPACK_ENABLE_FREEBSD_PKG ON CACHE BOOL
>      "Enable pkg(8) generator in CPack")
>
> -if(CPACK_ENABLE_FREEBSD_PKG)
> -#   Use base libarchive instead of the ports or bundled version, because
> -#   libpkg links against base.
> -    set(LibArchive_INCLUDE_DIR "/usr/include" CACHE PATH
> -        "Directory where LibArchive headers are located.")
> -    set(LibArchive_LIBRARY "/usr/lib/libarchive.so" CACHE PATH
> -        "LibArchive library to link against.")
> -endif(CPACK_ENABLE_FREEBSD_PKG)
> +# Use base libarchive instead of the ports or bundled version, because
> +# libpkg links against base.
> +set(LibArchive_INCLUDE_DIR "/usr/include" CACHE PATH
> +    "Directory where LibArchive headers are located.")
> +set(LibArchive_LIBRARY "/usr/lib/libarchive.so" CACHE PATH
> +    "LibArchive library to link against.")
>
> Hi,
>
> Do we need to pull in libidn2 as a dependency? It's never(?) been there as far as I know and we'll likely never need it?
>
> Best regards,
> Daniel

I'm just going with the upstream defaults for cmcurl. [1] This didn't
really work until [2], though.

[1] https://gitlab.kitware.com/cmake/cmake/-/commit/24f3388fa415d45a2f83cfcbcf88deee5ad469dd
[2] https://gitlab.kitware.com/cmake/cmake/-/commit/ce908c42a37fd56325aff80d2c63a4a811ce9389

- Jason