From nobody Sat Nov 27 21:38:03 2021 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2819318BEEEF; Sat, 27 Nov 2021 21:38:04 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4J1lMv64cJz4XKY; Sat, 27 Nov 2021 21:38:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id B22C1230DB; Sat, 27 Nov 2021 21:38:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1ARLc36r095037; Sat, 27 Nov 2021 21:38:03 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1ARLc30k095036; Sat, 27 Nov 2021 21:38:03 GMT (envelope-from git) Date: Sat, 27 Nov 2021 21:38:03 GMT Message-Id: <202111272138.1ARLc30k095036@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Adriaan de Groot Subject: git: 5a0ece282a4f - main - devel/rttr: Fix build on 14- / modern Clang List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: adridg X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 5a0ece282a4f3e47cdb0647a7ec96a641a25b5a8 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1638049083; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RCwRZXO+BDoMUwHcVNl79PVupeeMWBs57Pms723EWYU=; b=ss/u7YubyzIWPoUgp9/cj2YhkRiQ3IfEpwNkpVR+lXOUufhDc8p65cdbFXKE6oyV9Ifj2/ dP2rvYI1EmeV963VKlS13/udSyTgKe+aR7qa4X958cqLowRhjM9Hn5Tq34A8DX+ZIffDq3 FzicGvZoI6AoKuBJioHL7llnsxJJbZrSXLNwtSqikceejO0Co1WBV4uWSymGr2jt8pRGXh X71NI+5/bnzSHbtegGCgEhhj8ELvCcMSwJZL7v2nkUeyyx4wCEJ60ubvMm28+emSnSjZpk knEOdva12qketZi3P8sfXsk6laJRjrgKpxOAbK7Eg1/zhhEn2lZtHzxFwNkyGg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1638049083; a=rsa-sha256; cv=none; b=ssQCjbt7O1tGDicAWIhBrFYdcccvuwDA/URiRQ+3WgCaw6u9zUB11eoWtRvauOAuGNmGq3 lZ0TOUsOvRlZ3ntfQPLjVyaytZFT50PEyA0MxNQjSh2d7w0zTz1pWQ7bKOM0WufEurxhZr bCH4CNKQJl6B6xXtNhgTr7vOrlMMCKpIHtHe6lTQxJQLUVMyITEZADsfugRfnw8KBYuu35 +AFPJD1sfqY32qK6X27scMqcnsj4iIpGC3BvOckWLWn9i7VwhtAfLjZemUjVlOhx47WTW5 8MsnLA1R+d7dBLhr1pSmQp6GClCl/sBo8Yg6lEvBTpU/GtE/HxULj814nnp5uQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by adridg: URL: https://cgit.FreeBSD.org/ports/commit/?id=5a0ece282a4f3e47cdb0647a7ec96a641a25b5a8 commit 5a0ece282a4f3e47cdb0647a7ec96a641a25b5a8 Author: Adriaan de Groot AuthorDate: 2021-11-27 14:30:20 +0000 Commit: Adriaan de Groot CommitDate: 2021-11-27 21:38:00 +0000 devel/rttr: Fix build on 14- / modern Clang - the bundled rapidjson doesn't build on 14- because of changes in the STL; use the version from ports instead which has the changes needed already. - the chaiscript examples don't build with modern Clang on 14-, and the examples are explicitly C++14 -- but still don't work Replace the bundled rapidjson and chaiscripts with the regular ports versions. There has been some work in git on both rttr and chaiscript, but neither has a newer release that might be pulled in, so we'll stick to messy patching of rttr instead. --- devel/rttr/Makefile | 15 ++++++-- ...3rd__party_rapidjson-1.1.0_rapidjson_document.h | 40 ---------------------- .../rttr/files/patch-CMake_3rd__party__libs.cmake | 23 +++++++++++++ .../patch-src_examples_scripting_CMakeLists.txt | 17 +++++++++ 4 files changed, 52 insertions(+), 43 deletions(-) diff --git a/devel/rttr/Makefile b/devel/rttr/Makefile index 8d989894b1bd..90cc3b13cac3 100644 --- a/devel/rttr/Makefile +++ b/devel/rttr/Makefile @@ -1,7 +1,7 @@ PORTNAME= rttr DISTVERSIONPREFIX= v DISTVERSION= 0.9.6-16 -PORTREVISION= 1 +PORTREVISION= 2 DISTVERSIONSUFFIX= -gb3a131c CATEGORIES= devel @@ -13,13 +13,22 @@ COMMENT= Run Time Type Reflection LICENSE= MIT -USES= cmake compiler:c++11-lang +BUILD_DEPENDS= ${LOCALBASE}/include/rapidjson/rapidjson.h:devel/rapidjson \ + ${LOCALBASE}/include/chaiscript/chaiscript.hpp:lang/chaiscript + +USES= cmake compiler:c++17-lang USE_GITHUB= yes GH_ACCOUNT= rttrorg CMAKE_OFF= BUILD_DOCUMENTATION \ - BUILD_UNIT_TESTS + BUILD_UNIT_TESTS \ + BUILD_EXAMPLES PORTSCOUT= limit:^0\. +post-extract: + ${RM} -r ${WRKSRC}/3rd_party/rapidjson-1.1.0/ + ${RM} -r ${WRKSRC}/3rd_party/chaiscript-devel/ + ${RM} -r ${WRKSRC}/3rd_party/chaiscript-6.1.0/ + .include diff --git a/devel/rttr/files/patch-3rd__party_rapidjson-1.1.0_rapidjson_document.h b/devel/rttr/files/patch-3rd__party_rapidjson-1.1.0_rapidjson_document.h deleted file mode 100644 index 7cba05cb4bee..000000000000 --- a/devel/rttr/files/patch-3rd__party_rapidjson-1.1.0_rapidjson_document.h +++ /dev/null @@ -1,40 +0,0 @@ ---- 3rd_party/rapidjson-1.1.0/rapidjson/document.h.orig 2019-01-18 18:25:46 UTC -+++ 3rd_party/rapidjson-1.1.0/rapidjson/document.h -@@ -1439,7 +1439,7 @@ class GenericValue { (public) - MemberIterator pos = MemberBegin() + (first - MemberBegin()); - for (MemberIterator itr = pos; itr != last; ++itr) - itr->~Member(); -- std::memmove(&*pos, &*last, static_cast(MemberEnd() - last) * sizeof(Member)); -+ std::memmove(static_cast(&*pos), &*last, static_cast(MemberEnd() - last) * sizeof(Member)); - data_.o.size -= static_cast(last - first); - return pos; - } -@@ -1642,8 +1642,8 @@ class GenericValue { (public) - RAPIDJSON_ASSERT(last <= End()); - ValueIterator pos = Begin() + (first - Begin()); - for (ValueIterator itr = pos; itr != last; ++itr) -- itr->~GenericValue(); -- std::memmove(pos, last, static_cast(End() - last) * sizeof(GenericValue)); -+ itr->~GenericValue(); -+ std::memmove(static_cast(pos), last, static_cast(End() - last) * sizeof(GenericValue)); - data_.a.size -= static_cast(last - first); - return pos; - } -@@ -1950,7 +1950,7 @@ class GenericValue { (public) - if (count) { - GenericValue* e = static_cast(allocator.Malloc(count * sizeof(GenericValue))); - SetElementsPointer(e); -- std::memcpy(e, values, count * sizeof(GenericValue)); -+ std::memcpy(static_cast(e), values, count * sizeof(GenericValue)); - } - else - SetElementsPointer(0); -@@ -1963,7 +1963,7 @@ class GenericValue { (public) - if (count) { - Member* m = static_cast(allocator.Malloc(count * sizeof(Member))); - SetMembersPointer(m); -- std::memcpy(m, members, count * sizeof(Member)); -+ std::memcpy(static_cast(m), members, count * sizeof(Member)); - } - else - SetMembersPointer(0); diff --git a/devel/rttr/files/patch-CMake_3rd__party__libs.cmake b/devel/rttr/files/patch-CMake_3rd__party__libs.cmake new file mode 100644 index 000000000000..93ae68c111b8 --- /dev/null +++ b/devel/rttr/files/patch-CMake_3rd__party__libs.cmake @@ -0,0 +1,23 @@ +--- CMake/3rd_party_libs.cmake.orig 2019-01-18 18:25:46 UTC ++++ CMake/3rd_party_libs.cmake +@@ -53,7 +53,8 @@ if (BUILD_BENCHMARKS OR BUILD_EXAMPLES) + find_package(Threads REQUIRED) + endif() + +-set(RAPID_JSON_DIR ${RTTR_3RD_PARTY_DIR}/rapidjson-1.1.0) ++find_package(RapidJSON REQUIRED) ++set(RAPID_JSON_DIR ${RapidJSON_INCLUDE_DIR}) + set(NONIUS_DIR ${RTTR_3RD_PARTY_DIR}/nonius-1.1.2) + + # Prepare "Catch" library for other executables +@@ -63,7 +64,9 @@ add_library(Catch2::Catch ALIAS Catch) + target_include_directories(Catch INTERFACE ${CATCH_INCLUDE_DIR}) + + # Find chai script +-set(CHAISCRIPT_INCLUDE_DIR ${RTTR_3RD_PARTY_DIR}/chaiscript-6.1.0) ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(_chaiscript REQUIRED chaiscript) ++set(CHAISCRIPT_INCLUDE_DIR ${_chaiscript_INCLUDEDIR}) + add_library(ChaiScript INTERFACE) + add_library(ChaiScript::ChaiScript ALIAS ChaiScript) + target_include_directories(ChaiScript INTERFACE ${CHAISCRIPT_INCLUDE_DIR}) diff --git a/devel/rttr/files/patch-src_examples_scripting_CMakeLists.txt b/devel/rttr/files/patch-src_examples_scripting_CMakeLists.txt new file mode 100644 index 000000000000..d112a5b12a4b --- /dev/null +++ b/devel/rttr/files/patch-src_examples_scripting_CMakeLists.txt @@ -0,0 +1,17 @@ +--- src/examples/scripting/CMakeLists.txt.orig 2021-11-27 21:00:51 UTC ++++ src/examples/scripting/CMakeLists.txt +@@ -41,12 +41,12 @@ endif() + + add_executable(scripting_example ${SRC_FILES} ${HPP_FILES}) + target_link_libraries(scripting_example RTTR::Core ChaiScript::ChaiScript ${CMAKE_DL_LIBS} Threads::Threads) +-# chaiscript minimum C++ version is 14 ++# chaiscript minimum C++ version is 17 + set_target_properties(scripting_example + PROPERTIES DEBUG_POSTFIX ${RTTR_DEBUG_POSTFIX} + FOLDER "Examples" + INSTALL_RPATH "${RTTR_EXECUTABLE_INSTALL_RPATH}" +- CXX_STANDARD 14) ++ CXX_STANDARD 17) + if (MSVC) + target_compile_options(scripting_example PRIVATE /bigobj) + endif()