cmake: Use NetBSD curses(3) when possible ccmake needs wsyncup(3) and since NetBSD 8.0 it is present on NetBSD. Handle that via `USE_CURSES= wsyncup' and remove enforcements about ncurses in CMakeLists.txt and Source/Checks/Curses/CMakeLists.txt. Bump PKGREVISION Index: Makefile =================================================================== RCS file: /cvsroot/pkgsrc/devel/cmake/Makefile,v retrieving revision 1.151 diff -u -p -r1.151 Makefile --- Makefile 8 Sep 2018 06:55:51 -0000 1.151 +++ Makefile 9 Oct 2018 16:28:43 -0000 @@ -3,6 +3,7 @@ .include "Makefile.version" DISTNAME= cmake-${CMAKE_VERSION} +PKGREVISION= 1 CATEGORIES= devel MASTER_SITES= https://cmake.org/files/v${CMAKE_API}/ @@ -59,7 +60,7 @@ pre-configure: ${WRKSRC}/Modules/Platform/SunOS-Clang-${lang}.cmake .endfor -INCOMPAT_CURSES= NetBSD-[0-8].*-* +USE_CURSES= wsyncup BUILDLINK_API_DEPENDS.libarchive+= libarchive>=3.0.0 .include "../../archivers/libarchive/buildlink3.mk" Index: distinfo =================================================================== RCS file: /cvsroot/pkgsrc/devel/cmake/distinfo,v retrieving revision 1.128 diff -u -p -r1.128 distinfo --- distinfo 4 Oct 2018 13:09:54 -0000 1.128 +++ distinfo 9 Oct 2018 16:28:44 -0000 @@ -4,7 +4,7 @@ SHA1 (cmake-3.12.3.tar.gz) = 73d2447b555 RMD160 (cmake-3.12.3.tar.gz) = e964e54a5776dccee8cc3f786c2b050ca30172bb SHA512 (cmake-3.12.3.tar.gz) = 2b5b006bd0fa09431eb525a7f419c64b811afbe1cc81d34e6167e04112966d9f48f28652b21b5a04c889de6227315db57dd2099a17ea6329e27f3e97eac9051c Size (cmake-3.12.3.tar.gz) = 8388552 bytes -SHA1 (patch-CMakeLists.txt) = 933e640b89293754dc732167fc078a5656e02ec7 +SHA1 (patch-CMakeLists.txt) = 01329182725814e27bc3945d1d62555b3a4a4033 SHA1 (patch-Modules_Compiler_GNU.cmake) = e091c53ac3f3a6cd811119d3231563df32e76bf9 SHA1 (patch-Modules_FindCurses.cmake) = 09fcd7adfbc2dfc2cd8af4e047d870a5243d77dc SHA1 (patch-Modules_FindPythonInterp.cmake) = d1b39bdcd654f2a4fc63463cd20de656cce3cf8f @@ -12,6 +12,7 @@ SHA1 (patch-Modules_FindPythonLibs.cmake SHA1 (patch-Modules_FindX11.cmake) = 124a2d51155cb4455e8b829dc74598cbd50a4e1c SHA1 (patch-Modules_Platform_UnixPaths.cmake) = 38720e11b7b62cb702e80da19e044f070298f2db SHA1 (patch-Source_CMakeLists.txt) = 533667d43048b8bc2be17a766b5dc32f3101866e +SHA1 (patch-Source_Checks_Curses_CMakeLists.txt) = 37d95c6162cc1f4c0e47b537ac8204cb9fe75b8c SHA1 (patch-Source_Checks_Curses_CheckCurses.c) = c86cae48f7b39fb735eba4788d4e9d595b2ccf3b SHA1 (patch-Source_Checks_cm__cxx17__check.cpp) = 37772f3e7edc2413cb2e294462312aff18e5c989 SHA1 (patch-Source_Checks_cm_cxx_features.cmake) = 3d6e3ac6ad25890d223601c15fb208b8e77ff77c Index: patches/patch-CMakeLists.txt =================================================================== RCS file: /cvsroot/pkgsrc/devel/cmake/patches/patch-CMakeLists.txt,v retrieving revision 1.6 diff -u -p -r1.6 patch-CMakeLists.txt --- patches/patch-CMakeLists.txt 21 Jul 2018 06:52:55 -0000 1.6 +++ patches/patch-CMakeLists.txt 9 Oct 2018 16:28:44 -0000 @@ -1,8 +1,9 @@ $NetBSD: patch-CMakeLists.txt,v 1.6 2018/07/21 06:52:55 ryoon Exp $ -Don't insist on ncurses. +- Don't insist on ncurses. +- NetBSD curses has wsyncup(3). ---- CMakeLists.txt.orig 2018-07-17 11:28:59.000000000 +0000 +--- CMakeLists.txt.orig 2018-10-03 12:35:51.000000000 +0000 +++ CMakeLists.txt @@ -581,7 +581,6 @@ macro (CMAKE_BUILD_UTILITIES) set(BUILD_CursesDialog 0) @@ -12,3 +13,23 @@ Don't insist on ncurses. find_package(Curses) if(NOT CURSES_FOUND) message(WARNING +@@ -683,19 +682,6 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE) + # build the utilities (a macro defined in this file) + CMAKE_BUILD_UTILITIES() + +- # On NetBSD ncurses is required, since curses doesn't have the wsyncup() +- # function. ncurses is installed via pkgsrc, so the library is in /usr/pkg/lib, +- # which isn't in the default linker search path. So without RPATH ccmake +- # doesn't run and the build doesn't succeed since ccmake is executed for +- # generating the documentation. +- if(BUILD_CursesDialog) +- get_filename_component(_CURSES_DIR "${CURSES_LIBRARY}" PATH) +- set(CURSES_NEED_RPATH FALSE) +- if(NOT "${_CURSES_DIR}" STREQUAL "/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib" AND NOT "${_CURSES_DIR}" STREQUAL "/lib64" AND NOT "${_CURSES_DIR}" STREQUAL "/usr/lib64") +- set(CURSES_NEED_RPATH TRUE) +- endif() +- endif() +- + if(BUILD_QtDialog) + if(APPLE) + set(CMAKE_BUNDLE_VERSION Index: patches/patch-Source_Checks_Curses_CMakeLists.txt =================================================================== RCS file: patches/patch-Source_Checks_Curses_CMakeLists.txt diff -N patches/patch-Source_Checks_Curses_CMakeLists.txt --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-Source_Checks_Curses_CMakeLists.txt 9 Oct 2018 16:28:44 -0000 @@ -0,0 +1,14 @@ +$NetBSD$ + +- Don't insist on ncurses + +--- Source/Checks/Curses/CMakeLists.txt.orig 2018-10-03 12:35:51.000000000 +0000 ++++ Source/Checks/Curses/CMakeLists.txt +@@ -4,7 +4,6 @@ if(POLICY CMP0060) + endif() + project(CheckCurses C) + +-set(CURSES_NEED_NCURSES TRUE) + find_package(Curses) + if(NOT CURSES_FOUND) + return()