summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiroslav Šulc <fordfrog@gentoo.org>2025-01-05 14:24:03 +0100
committerMiroslav Šulc <fordfrog@gentoo.org>2025-01-05 14:24:13 +0100
commit1de4c126a3d9cb16417a0290490d5865690eedfa (patch)
tree8d1fec396791ba606c7ba0b9941c9d21fa059a4a
parentdev-util/clion: use subslot for lttng-ust dep (diff)
downloadgentoo-1de4c126a3d9cb16417a0290490d5865690eedfa.tar.gz
gentoo-1de4c126a3d9cb16417a0290490d5865690eedfa.tar.bz2
gentoo-1de4c126a3d9cb16417a0290490d5865690eedfa.zip
sci-libs/pcl: fixed compilation with boost 1.87
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
-rw-r--r--sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch171
-rw-r--r--sci-libs/pcl/files/pcl-1.14.1-boost.patch6
-rw-r--r--sci-libs/pcl/pcl-1.14.1-r2.ebuild (renamed from sci-libs/pcl/pcl-1.14.1-r1.ebuild)3
3 files changed, 173 insertions, 7 deletions
diff --git a/sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch b/sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch
new file mode 100644
index 000000000000..f2b1f248fcbf
--- /dev/null
+++ b/sci-libs/pcl/files/pcl-1.14.1-boost-1.87.patch
@@ -0,0 +1,171 @@
+From 6f64495840c4e5674d542ccf20df96ed12665687 Mon Sep 17 00:00:00 2001
+From: Markus Vieth <mvieth@techfak.uni-bielefeld.de>
+Date: Tue, 5 Nov 2024 20:07:13 +0100
+Subject: [PATCH 1/2] Prepare for Boost 1.87 Some stuff from Boost's asio
+ library has been removed after Boost 1.86. The documentation says that it has
+ been deprecated, but no compiler warnings are shown. This page explains what
+ is considered "old" and what should be used instead:
+ https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/net_ts.html -
+ io_service was simply an alias (typedef) for io_context - make_address
+ replaces from_string - resolver.resolve and connect work a bit different now,
+ see also
+ https://www.boost.org/doc/libs/1_86_0/doc/html/boost_asio/tutorial/tutdaytime1/src.html
+
+--- a/apps/src/openni_mobile_server.cpp
++++ b/apps/src/openni_mobile_server.cpp
+@@ -157,7 +157,7 @@ class PCLMobileServer {
+
+ viewer_.showCloud(getLatestPointCloud());
+
+- boost::asio::io_service io_service;
++ boost::asio::io_context io_service;
+ tcp::endpoint endpoint(tcp::v4(), static_cast<unsigned short>(port_));
+ tcp::acceptor acceptor(io_service, endpoint);
+ tcp::socket socket(io_service);
+--- a/apps/src/openni_octree_compression.cpp
++++ b/apps/src/openni_octree_compression.cpp
+@@ -415,7 +415,7 @@ main(int argc, char** argv)
+ if (bEnDecode) {
+ // ENCODING
+ try {
+- boost::asio::io_service io_service;
++ boost::asio::io_context io_service;
+ tcp::endpoint endpoint(tcp::v4(), 6666);
+ tcp::acceptor acceptor(io_service, endpoint);
+
+@@ -423,7 +423,7 @@ main(int argc, char** argv)
+
+ std::cout << "Waiting for connection.." << std::endl;
+
+- acceptor.accept(*socketStream.rdbuf());
++ acceptor.accept(socketStream.rdbuf()->socket());
+
+ std::cout << "Connected!" << std::endl;
+
+--- a/apps/src/openni_organized_compression.cpp
++++ b/apps/src/openni_organized_compression.cpp
+@@ -438,7 +438,7 @@ main(int argc, char** argv)
+ if (bEnDecode) {
+ // ENCODING
+ try {
+- boost::asio::io_service io_service;
++ boost::asio::io_context io_service;
+ tcp::endpoint endpoint(tcp::v4(), 6666);
+ tcp::acceptor acceptor(io_service, endpoint);
+
+@@ -446,7 +446,7 @@ main(int argc, char** argv)
+
+ std::cout << "Waiting for connection.." << std::endl;
+
+- acceptor.accept(*socketStream.rdbuf());
++ acceptor.accept(socketStream.rdbuf()->socket());
+
+ std::cout << "Connected!" << std::endl;
+
+--- a/io/include/pcl/io/hdl_grabber.h
++++ b/io/include/pcl/io/hdl_grabber.h
+@@ -274,7 +274,7 @@ namespace pcl
+ boost::asio::ip::udp::endpoint udp_listener_endpoint_;
+ boost::asio::ip::address source_address_filter_;
+ std::uint16_t source_port_filter_;
+- boost::asio::io_service hdl_read_socket_service_;
++ boost::asio::io_context hdl_read_socket_service_;
+ boost::asio::ip::udp::socket *hdl_read_socket_;
+ std::string pcap_file_name_;
+ std::thread *queue_consumer_thread_;
+--- a/io/include/pcl/io/robot_eye_grabber.h
++++ b/io/include/pcl/io/robot_eye_grabber.h
+@@ -131,7 +131,7 @@ namespace pcl
+
+ boost::asio::ip::address sensor_address_;
+ boost::asio::ip::udp::endpoint sender_endpoint_;
+- boost::asio::io_service io_service_;
++ boost::asio::io_context io_service_;
+ std::shared_ptr<boost::asio::ip::udp::socket> socket_;
+ std::shared_ptr<std::thread> socket_thread_;
+ std::shared_ptr<std::thread> consumer_thread_;
+--- a/io/include/pcl/io/tim_grabber.h
++++ b/io/include/pcl/io/tim_grabber.h
+@@ -128,7 +128,7 @@ class PCL_EXPORTS TimGrabber : public Grabber
+ std::vector<float> distances_;
+
+ boost::asio::ip::tcp::endpoint tcp_endpoint_;
+- boost::asio::io_service tim_io_service_;
++ boost::asio::io_context tim_io_service_;
+ boost::asio::ip::tcp::socket tim_socket_;
+ //// wait time for receiving data (on the order of milliseconds)
+ unsigned int wait_time_milliseconds_ = 0;
+--- a/io/src/hdl_grabber.cpp
++++ b/io/src/hdl_grabber.cpp
+@@ -287,7 +287,7 @@ pcl::HDLGrabber::loadHDL32Corrections ()
+ boost::asio::ip::address
+ pcl::HDLGrabber::getDefaultNetworkAddress ()
+ {
+- return (boost::asio::ip::address::from_string ("192.168.3.255"));
++ return (boost::asio::ip::make_address ("192.168.3.255"));
+ }
+
+ /////////////////////////////////////////////////////////////////////////////
+--- a/io/src/robot_eye_grabber.cpp
++++ b/io/src/robot_eye_grabber.cpp
+@@ -269,7 +269,7 @@ void
+ pcl::RobotEyeGrabber::socketThreadLoop ()
+ {
+ asyncSocketReceive();
+- io_service_.reset();
++ io_service_.restart();
+ io_service_.run();
+ }
+
+--- a/io/src/tim_grabber.cpp
++++ b/io/src/tim_grabber.cpp
+@@ -184,8 +184,8 @@ pcl::TimGrabber::start ()
+
+ try {
+ boost::asio::ip::tcp::resolver resolver (tim_io_service_);
+- tcp_endpoint_ = *resolver.resolve (tcp_endpoint_);
+- tim_socket_.connect (tcp_endpoint_);
++ boost::asio::ip::tcp::resolver::results_type endpoints = resolver.resolve (tcp_endpoint_);
++ boost::asio::connect(tim_socket_, endpoints);
+ }
+ catch (std::exception& e)
+ {
+--- a/io/src/vlp_grabber.cpp
++++ b/io/src/vlp_grabber.cpp
+@@ -92,7 +92,7 @@ pcl::VLPGrabber::loadVLP16Corrections ()
+ boost::asio::ip::address
+ pcl::VLPGrabber::getDefaultNetworkAddress ()
+ {
+- return (boost::asio::ip::address::from_string ("255.255.255.255"));
++ return (boost::asio::ip::make_address ("255.255.255.255"));
+ }
+
+ /////////////////////////////////////////////////////////////////////////////
+
+From 25be27e20a017f0ea0a0884b9fe31a50b5cbb82d Mon Sep 17 00:00:00 2001
+From: Markus Vieth <mvieth@techfak.uni-bielefeld.de>
+Date: Thu, 7 Nov 2024 20:43:15 +0100
+Subject: [PATCH 2/2] =?UTF-8?q?Silence=20ABI=20warnings=20with=20GCC=2014?=
+ =?UTF-8?q?=20With=20the=20previous=20flag,=20GCC=2014=20displays=20many?=
+ =?UTF-8?q?=20warnings=20like=20"warning:=20the=20mangled=20name=20of=20..?=
+ =?UTF-8?q?.=20changed=20between=20=E2=80=98-fabi-version=3D17=E2=80=99=20?=
+ =?UTF-8?q?and=20=E2=80=98-fabi-version=3D19=E2=80=99=20[-Wabi]"=20I=20thi?=
+ =?UTF-8?q?nk=20these=20warnings=20are=20not=20useful=20for=20us.=20Since?=
+ =?UTF-8?q?=20PCL=201.15.0=20will=20not=20be=20ABI-compatible=20to=20PCL?=
+ =?UTF-8?q?=201.14.1=20anyway,=20these=20name=20changes=20do=20not=20matte?=
+ =?UTF-8?q?r=20AFAIK.?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -117,7 +117,7 @@ endif()
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ if("${CMAKE_CXX_FLAGS}" STREQUAL "${CMAKE_CXX_FLAGS_DEFAULT}")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7)
+- string(APPEND CMAKE_CXX_FLAGS " -Wabi=11")
++ string(APPEND CMAKE_CXX_FLAGS " -Wabi=18")
+ else()
+ string(APPEND CMAKE_CXX_FLAGS " -Wabi")
+ endif()
diff --git a/sci-libs/pcl/files/pcl-1.14.1-boost.patch b/sci-libs/pcl/files/pcl-1.14.1-boost.patch
index 8f99023f741a..0c56c3b18b9a 100644
--- a/sci-libs/pcl/files/pcl-1.14.1-boost.patch
+++ b/sci-libs/pcl/files/pcl-1.14.1-boost.patch
@@ -6,12 +6,6 @@ Subject: [PATCH] Fix boost hash data type (#6053)
* Fix boost hash data type
* Change file name generation.
----
- visualization/src/pcl_visualizer.cpp | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/visualization/src/pcl_visualizer.cpp b/visualization/src/pcl_visualizer.cpp
-index 5f073646ac1..bc9b959c246 100644
--- a/visualization/src/pcl_visualizer.cpp
+++ b/visualization/src/pcl_visualizer.cpp
@@ -4591,10 +4591,12 @@ pcl::visualization::PCLVisualizer::getUniqueCameraFile (int argc, char **argv)
diff --git a/sci-libs/pcl/pcl-1.14.1-r1.ebuild b/sci-libs/pcl/pcl-1.14.1-r2.ebuild
index 42b8092fcda8..217d87752bc7 100644
--- a/sci-libs/pcl/pcl-1.14.1-r1.ebuild
+++ b/sci-libs/pcl/pcl-1.14.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -72,6 +72,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.14.1-gcc15.patch
"${FILESDIR}"/${PN}-1.14.1-tests.patch
"${FILESDIR}"/${PN}-1.14.1-boost.patch
+ "${FILESDIR}"/${PN}-1.14.1-boost-1.87.patch
)
src_prepare() {