From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 5F6B81581E7 for ; Mon, 29 Apr 2024 21:27:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 56337E2A3F; Mon, 29 Apr 2024 21:27:47 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 35DC0E2A3F for ; Mon, 29 Apr 2024 21:27:47 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 015D73430B2 for ; Mon, 29 Apr 2024 21:27:46 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 411121787 for ; Mon, 29 Apr 2024 21:27:43 +0000 (UTC) From: "David Roman" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "David Roman" Message-ID: <1714385056.946a4de160ef5b7e0ab09cf470b621684ae7eefd.davidroman@gentoo> Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-cpp/cpptrace/files/, dev-cpp/cpptrace/ X-VCS-Repository: repo/proj/guru X-VCS-Files: dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch X-VCS-Directories: dev-cpp/cpptrace/ dev-cpp/cpptrace/files/ X-VCS-Committer: davidroman X-VCS-Committer-Name: David Roman X-VCS-Revision: 946a4de160ef5b7e0ab09cf470b621684ae7eefd X-VCS-Branch: master Date: Mon, 29 Apr 2024 21:27:43 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: 9f1ed2af-af20-46f3-be16-7f9fa7c76e60 X-Archives-Hash: 37d63b62e7c93ed77f768448195435c8 Message-ID: <20240429212743.Bk4qEBUsmyRORygDhhgT1k1FoB3JnqugjfAJnSJzOTg@z> commit: 946a4de160ef5b7e0ab09cf470b621684ae7eefd Author: David Roman gmail com> AuthorDate: Mon Apr 29 10:04:05 2024 +0000 Commit: David Roman gmail com> CommitDate: Mon Apr 29 10:04:16 2024 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=946a4de1 dev-cpp/cpptrace: fix missing zstd Signed-off-by: David Roman gmail.com> dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild | 27 ++++ dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch | 177 +++++++++++++++++++++++++ 2 files changed, 204 insertions(+) diff --git a/dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild b/dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild new file mode 100644 index 0000000000..263dff40eb --- /dev/null +++ b/dev-cpp/cpptrace/cpptrace-0.5.2-r1.ebuild @@ -0,0 +1,27 @@ +# Copyright 2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake + +DESCRIPTION="Simple, portable, and self-contained stacktrace library for C++" +HOMEPAGE="https://github.com/jeremy-rifkin/cpptrace" +SRC_URI="https://github.com/jeremy-rifkin/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" + +DEPEND="dev-libs/libdwarf" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}/${PN}-fix-zstd.patch" ) + +src_configure() { + local mycmakeargs=( + -DCPPTRACE_USE_EXTERNAL_LIBDWARF=On + ) + + cmake_src_configure +} diff --git a/dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch b/dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch new file mode 100644 index 0000000000..b05581fad4 --- /dev/null +++ b/dev-cpp/cpptrace/files/cpptrace-fix-zstd.patch @@ -0,0 +1,177 @@ +From c73b3faf73c51c2c3bfe0e971e3ca527e4e5e5c7 Mon Sep 17 00:00:00 2001 +From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com> +Date: Sun, 28 Apr 2024 20:18:13 -0500 +Subject: [PATCH 1/3] Remove find_dependency(zstd) + +--- + cmake/in/cpptrace-config-cmake.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/cmake/in/cpptrace-config-cmake.in b/cmake/in/cpptrace-config-cmake.in +index 412a9d0..0b25aac 100644 +--- a/cmake/in/cpptrace-config-cmake.in ++++ b/cmake/in/cpptrace-config-cmake.in +@@ -4,7 +4,6 @@ + # Dependencies + if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@) + include(CMakeFindDependencyMacro) +- find_dependency(zstd REQUIRED) + find_dependency(libdwarf REQUIRED) + endif() + + +From 8d66998a67fcdfbf362aca39c8cc67060cf7a6d1 Mon Sep 17 00:00:00 2001 +From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com> +Date: Sun, 28 Apr 2024 22:38:45 -0500 +Subject: [PATCH 2/3] Provide a Findzstd script + +--- + cmake/Findzstd.cmake | 51 +++++++++++++++++++++++++++++++ + cmake/InstallRules.cmake | 3 ++ + cmake/in/cpptrace-config-cmake.in | 5 +++ + 3 files changed, 59 insertions(+) + create mode 100644 cmake/Findzstd.cmake + +diff --git a/cmake/Findzstd.cmake b/cmake/Findzstd.cmake +new file mode 100644 +index 0000000..fc8eb52 +--- /dev/null ++++ b/cmake/Findzstd.cmake +@@ -0,0 +1,51 @@ ++# Libdwarf needs zstd, cpptrace doesn't, and libdwarf has its own Findzstd but it doesn't define zstd::libzstd_static / ++# zstd::libzstd_shared targets which leads to issues, necessitating a find_dependency(zstd) in cpptrace's cmake config ++# and in order to support non-cmake-module installs we need to provide a Findzstd script. ++# https://github.com/jeremy-rifkin/cpptrace/issues/112 ++ ++# This will define ++# zstd_FOUND ++# zstd_INCLUDE_DIR ++# zstd_LIBRARY ++ ++find_path(zstd_INCLUDE_DIR NAMES zstd.h) ++ ++find_library(zstd_LIBRARY_DEBUG NAMES zstdd zstd_staticd) ++find_library(zstd_LIBRARY_RELEASE NAMES zstd zstd_static) ++ ++include(SelectLibraryConfigurations) ++SELECT_LIBRARY_CONFIGURATIONS(zstd) ++ ++include(FindPackageHandleStandardArgs) ++FIND_PACKAGE_HANDLE_STANDARD_ARGS( ++ zstd DEFAULT_MSG ++ zstd_LIBRARY zstd_INCLUDE_DIR ++) ++ ++if(zstd_FOUND) ++ message(STATUS "Found Zstd: ${zstd_LIBRARY}") ++endif() ++ ++mark_as_advanced(zstd_INCLUDE_DIR zstd_LIBRARY) ++ ++if(zstd_FOUND) ++ # just defining them the same... cmake will figure it out ++ if(NOT TARGET zstd::libzstd_static) ++ add_library(zstd::libzstd_static UNKNOWN IMPORTED) ++ set_target_properties( ++ zstd::libzstd_static ++ PROPERTIES ++ IMPORTED_LOCATION "${zstd_LIBRARIES}" ++ INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" ++ ) ++ endif() ++ if(NOT TARGET zstd::libzstd_shared) ++ add_library(zstd::libzstd_shared UNKNOWN IMPORTED) ++ set_target_properties( ++ zstd::libzstd_shared ++ PROPERTIES ++ IMPORTED_LOCATION "${zstd_LIBRARIES}" ++ INTERFACE_INCLUDE_DIRECTORIES "${zstd_INCLUDE_DIR}" ++ ) ++ endif() ++endif() +diff --git a/cmake/InstallRules.cmake b/cmake/InstallRules.cmake +index b35c4d7..5087cbb 100644 +--- a/cmake/InstallRules.cmake ++++ b/cmake/InstallRules.cmake +@@ -62,6 +62,9 @@ install( + COMPONENT ${package_name}-development + ) + ++# Findzstd.cmake ++install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}") ++ + # support packaging library + if(PROJECT_IS_TOP_LEVEL) + include(CPack) +diff --git a/cmake/in/cpptrace-config-cmake.in b/cmake/in/cpptrace-config-cmake.in +index 0b25aac..a128d52 100644 +--- a/cmake/in/cpptrace-config-cmake.in ++++ b/cmake/in/cpptrace-config-cmake.in +@@ -4,6 +4,11 @@ + # Dependencies + if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@) + include(CMakeFindDependencyMacro) ++ set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}") ++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}") ++ find_dependency(zstd) ++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}") ++ unset(CMAKE_MODULE_PATH_OLD) + find_dependency(libdwarf REQUIRED) + endif() + + +From 27438a34eb3534a9efe3733c67e629ed611facb2 Mon Sep 17 00:00:00 2001 +From: Jeremy <51220084+jeremy-rifkin@users.noreply.github.com> +Date: Sun, 28 Apr 2024 23:13:12 -0500 +Subject: [PATCH 3/3] Update handling in vcpkg + +--- + cmake/InstallRules.cmake | 8 +++++++- + cmake/in/cpptrace-config-cmake.in | 15 ++++++++++----- + 2 files changed, 17 insertions(+), 6 deletions(-) + +diff --git a/cmake/InstallRules.cmake b/cmake/InstallRules.cmake +index 5087cbb..529e51a 100644 +--- a/cmake/InstallRules.cmake ++++ b/cmake/InstallRules.cmake +@@ -63,7 +63,13 @@ install( + ) + + # Findzstd.cmake +-install(FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}") ++# vcpkg doesn't like anything being put in share/, which is where this goes apparently on their setup ++if(NOT CPPTRACE_VCPKG) ++ install( ++ FILES "${PROJECT_SOURCE_DIR}/cmake/Findzstd.cmake" ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${package_name}" ++ ) ++endif() + + # support packaging library + if(PROJECT_IS_TOP_LEVEL) +diff --git a/cmake/in/cpptrace-config-cmake.in b/cmake/in/cpptrace-config-cmake.in +index a128d52..fc017ad 100644 +--- a/cmake/in/cpptrace-config-cmake.in ++++ b/cmake/in/cpptrace-config-cmake.in +@@ -4,11 +4,16 @@ + # Dependencies + if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@) + include(CMakeFindDependencyMacro) +- set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}") +- set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}") +- find_dependency(zstd) +- set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}") +- unset(CMAKE_MODULE_PATH_OLD) ++ # we don't go the Findzstd.cmake route on vcpkg ++ if(@CPPTRACE_VCPKG@) ++ find_dependency(zstd CONFIG REQUIRED) ++ else() ++ set(CMAKE_MODULE_PATH_OLD "${CMAKE_MODULE_PATH}") ++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${CMAKE_CURRENT_LIST_DIR}") ++ find_dependency(zstd) ++ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH_OLD}") ++ unset(CMAKE_MODULE_PATH_OLD) ++ endif() + find_dependency(libdwarf REQUIRED) + endif() +