From a9aea036c6fa8691ef271ac710da2e30fb0e023f Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Sun, 20 Nov 2022 13:19:04 +0100 Subject: [PATCH 1/2] cpp-hocon: build shared library, disable tests tests do not build with gcc 12 --- common/shlibs | 1 + srcpkgs/cpp-hocon-devel | 1 + .../patches/disable-building-tests.patch | 8 ++++++++ srcpkgs/cpp-hocon/template | 17 ++++++++++------- 4 files changed, 20 insertions(+), 7 deletions(-) create mode 120000 srcpkgs/cpp-hocon-devel create mode 100644 srcpkgs/cpp-hocon/patches/disable-building-tests.patch diff --git a/common/shlibs b/common/shlibs index c103447f8b31..7f07c64149b0 100644 --- a/common/shlibs +++ b/common/shlibs @@ -4197,3 +4197,4 @@ libabsl_strings.so.2206.0.0 abseil-cpp-20220623.1_1 libabsl_throw_delegate.so.2206.0.0 abseil-cpp-20220623.1_1 libabsl_time_zone.so.2206.0.0 abseil-cpp-20220623.1_1 libabsl_spinlock_wait.so.2206.0.0 abseil-cpp-20220623.1_1 +libcpp-hocon.so.0.3.0 cpp-hocon-0.3.0_5 diff --git a/srcpkgs/cpp-hocon-devel b/srcpkgs/cpp-hocon-devel new file mode 120000 index 000000000000..8d8bc1453e86 --- /dev/null +++ b/srcpkgs/cpp-hocon-devel @@ -0,0 +1 @@ +cpp-hocon \ No newline at end of file diff --git a/srcpkgs/cpp-hocon/patches/disable-building-tests.patch b/srcpkgs/cpp-hocon/patches/disable-building-tests.patch new file mode 100644 index 000000000000..27db097479c7 --- /dev/null +++ b/srcpkgs/cpp-hocon/patches/disable-building-tests.patch @@ -0,0 +1,8 @@ +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -90,5 +90,3 @@ symbol_exports(lib${PROJECT_NAME} "${CMAKE_CURRENT_LIST_DIR}/inc/hocon/export.h" + # This correctly handles DLL installation on Windows. + leatherman_install(lib${PROJECT_NAME}) + install(DIRECTORY inc/hocon DESTINATION include) +- +-add_subdirectory(tests) diff --git a/srcpkgs/cpp-hocon/template b/srcpkgs/cpp-hocon/template index f61316adcc11..ce521b1395ae 100644 --- a/srcpkgs/cpp-hocon/template +++ b/srcpkgs/cpp-hocon/template @@ -1,20 +1,23 @@ # Template file for 'cpp-hocon' pkgname=cpp-hocon version=0.3.0 -revision=4 +revision=5 build_style=cmake +configure_args="-DBUILD_SHARED_LIBS=ON" hostmakedepends="pkg-config" makedepends="boost-devel leatherman-devel libcurl-devel" short_desc="C++ port of the Typesafe Config library" maintainer="Orphaned " license="Apache-2.0" homepage="https://github.com/puppetlabs/cpp-hocon/" -distfiles="https://github.com/puppetlabs/cpp-hocon/archive/${version}.tar.gz>${pkgname}-${version}.tar.gz" +distfiles="https://github.com/puppetlabs/cpp-hocon/archive/${version}.tar.gz" checksum=dab02354046f05aca6275c746d7583ee5f71853aa5b1d93529564632e184c3dd -post_install() { - # this package is a static library, - # needs to be rebuild when update boost, - # force an shlib-dependencies - vbin build/bin/libcpp-hocon_test +cpp-hocon-devel_package() { + depends="${sourcepkg}>=${version}_${revision}" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove "usr/lib/*.so" + } } From 9c53eb50101c002c8ad30b4ef9d7022676de3e28 Mon Sep 17 00:00:00 2001 From: Michal Vasilek Date: Sun, 20 Nov 2022 13:35:34 +0100 Subject: [PATCH 2/2] facter: use shared cpp-hocon --- srcpkgs/facter/patches/shared_cpp_hcon.patch | 13 +++++++++++++ srcpkgs/facter/template | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/facter/patches/shared_cpp_hcon.patch diff --git a/srcpkgs/facter/patches/shared_cpp_hcon.patch b/srcpkgs/facter/patches/shared_cpp_hcon.patch new file mode 100644 index 000000000000..37c475697a96 --- /dev/null +++ b/srcpkgs/facter/patches/shared_cpp_hcon.patch @@ -0,0 +1,13 @@ +https://github.com/archlinux/svntogit-community/blob/0eb74a76c976a7fd638fbf6cd1c3b47be3dccd8b/trunk/shared_cpp_hcon.patch + +diff --git a/cmake/FindCPPHOCON.cmake b/cmake/FindCPPHOCON.cmake +index 00ba8bd..0df0a51 100644 +--- a/cmake/FindCPPHOCON.cmake ++++ b/cmake/FindCPPHOCON.cmake +@@ -1,5 +1,5 @@ + include(FindDependency) +-find_dependency(CPPHOCON DISPLAY "cpp-hocon" HEADERS "hocon/config.hpp" LIBRARIES "libcpp-hocon.a") ++find_dependency(CPPHOCON DISPLAY "cpp-hocon" HEADERS "hocon/config.hpp" LIBRARIES "libcpp-hocon.so") + + include(FeatureSummary) + set_package_properties(CPPHOCON PROPERTIES DESCRIPTION "A C++ parser for the HOCON configuration language" URL "https://github.com/puppetlabs/cpp-hocon") diff --git a/srcpkgs/facter/template b/srcpkgs/facter/template index 45c921a0b72d..dc01c966a041 100644 --- a/srcpkgs/facter/template +++ b/srcpkgs/facter/template @@ -1,12 +1,12 @@ # Template file for 'facter' pkgname=facter version=3.14.16 -revision=4 +revision=5 build_style=cmake configure_args="-DRUBY_CONFIG_INCLUDE_DIR=${XBPS_CROSS_BASE}/usr/include -DENABLE_CXX_WERROR=OFF -DCMAKE_INSTALL_LIBDIR=/usr/lib" hostmakedepends="ruby-devel" -makedepends="boost-devel cpp-hocon leatherman-devel libblkid-devel libcurl-devel +makedepends="boost-devel cpp-hocon-devel leatherman-devel libblkid-devel libcurl-devel ruby-devel yaml-cpp-devel" depends="net-tools ruby" short_desc="Collect and display system facts"