media-sound/pulseeffects: boost-1.88 support

Closes: https://bugs.gentoo.org/958315

Signed-off-by: Matthew Thode <prometheanfire@gentoo.org>
This commit is contained in:
Matthew Thode
2025-07-22 22:46:20 -05:00
parent 4269dbda7f
commit 1b71fd07ee
2 changed files with 149 additions and 0 deletions

View File

@@ -0,0 +1,61 @@
commit a948473b7e4b306565e58b89543f40ef8b4d9a7d
Author: Bruce Schultz <brulzki@gmail.com>
Date: Sat Jun 21 20:15:26 2025 +1000
Fix Boost 1.88 compilation with boost::process::v1
diff --git a/include/boost_process_compat.hpp b/include/boost_process_compat.hpp
new file mode 100644
index 000000000..8ac76a2f1
--- /dev/null
+++ b/include/boost_process_compat.hpp
@@ -0,0 +1,36 @@
+/*
+ * Work around a missing boost/process/v1.h header as of boost 1.88
+ * -> https://github.com/boostorg/process/issues/480
+ */
+
+#include <boost/version.hpp>
+#if BOOST_VERSION < 108800
+#if !defined(BOOST_PROCESS_VERSION)
+#define BOOST_PROCESS_VERSION 2
+#endif
+#include <boost/process.hpp>
+#else
+#if !defined(BOOST_PROCESS_VERSION)
+#define BOOST_PROCESS_VERSION 1
+#define BOOST_PROCESS_V1_INLINE inline
+#endif
+#include <boost/process/v1/args.hpp>
+#include <boost/process/v1/async.hpp>
+#include <boost/process/v1/async_system.hpp>
+#include <boost/process/v1/group.hpp>
+#include <boost/process/v1/child.hpp>
+#include <boost/process/v1/cmd.hpp>
+#include <boost/process/v1/env.hpp>
+#include <boost/process/v1/environment.hpp>
+#include <boost/process/v1/error.hpp>
+#include <boost/process/v1/exe.hpp>
+#include <boost/process/v1/group.hpp>
+#include <boost/process/v1/handles.hpp>
+#include <boost/process/v1/io.hpp>
+#include <boost/process/v1/pipe.hpp>
+#include <boost/process/v1/shell.hpp>
+#include <boost/process/v1/search_path.hpp>
+#include <boost/process/v1/spawn.hpp>
+#include <boost/process/v1/system.hpp>
+#include <boost/process/v1/start_dir.hpp>
+#endif
diff --git a/src/pulse_info_ui.cpp b/src/pulse_info_ui.cpp
index abb308b10..d1673d3b3 100644
--- a/src/pulse_info_ui.cpp
+++ b/src/pulse_info_ui.cpp
@@ -19,7 +19,7 @@
#include "pulse_info_ui.hpp"
#include <boost/algorithm/string.hpp>
-#include <boost/process.hpp>
+#include "boost_process_compat.hpp"
#include "util.hpp"
PulseInfoUi::PulseInfoUi(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder, PulseManager* pm_ptr)

View File

@@ -0,0 +1,88 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit gnome2-utils meson
DESCRIPTION="Limiter, compressor, reverberation, equalizer auto volume effects for Pulseaudio"
HOMEPAGE="https://github.com/wwmm/easyeffects/tree/pulseaudio-legacy"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/wwmm/easyeffects"
EGIT_BRANCH="pulseaudio-legacy"
else
SRC_URI="https://github.com/wwmm/easyeffects/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 x86"
fi
LICENSE="GPL-3"
SLOT="0"
IUSE="bs2b calf +doc rnnoise rubberband webrtc zamaudio"
COMMON="dev-libs/boost:=
>=dev-cpp/glibmm-2.56.0:2
>=dev-cpp/gtkmm-3.24:3.0
>=dev-libs/glib-2.56:2
>=dev-libs/libsigc++-2.10:2
>=media-libs/gstreamer-1.12.5:1.0
media-libs/gst-plugins-base
>=media-libs/gst-plugins-bad-1.12.5:1.0
media-libs/libebur128
media-libs/libsndfile
>=media-libs/lilv-0.24.2-r1
>=media-libs/zita-convolver-3.0.0
media-sound/pulseaudio
>=x11-libs/gtk+-3.20:3
bs2b? ( >=media-plugins/gst-plugins-bs2b-1.12.5:1.0 )
rnnoise? ( media-libs/rnnoise )"
# Only header files are used from libsamplerate
DEPEND="${COMMON}
media-libs/libsamplerate"
RDEPEND="!media-sound/easyeffects
${COMMON}
>=media-libs/gst-plugins-good-1.12.5:1.0
>=media-libs/lsp-plugins-1.1.24[lv2]
>=media-plugins/gst-plugins-ladspa-1.12.5:1.0
>=media-plugins/gst-plugins-lv2-1.12.5:1.0
>=media-plugins/gst-plugins-pulse-1.12.5:1.0
sys-apps/dbus
calf? ( >=media-plugins/calf-0.90.1[lv2] )
doc? ( gnome-extra/yelp )
rubberband? ( media-libs/rubberband[ladspa] )
webrtc? ( media-plugins/gst-plugins-webrtc )
zamaudio? ( media-plugins/zam-plugins )"
BDEPEND="dev-libs/appstream-glib
dev-util/desktop-file-utils
dev-util/itstool
sys-devel/gettext
virtual/pkgconfig"
PATCHES=(
"${FILESDIR}"/${PN}-4.8.7-meson_no_automagic.patch
"${FILESDIR}"/${PN}-4.8.7-boost-1.85.patch
"${FILESDIR}"/${PN}-4.8.7-boost-1.88.patch
)
S="${WORKDIR}"/easyeffects-${PV}
src_configure() {
local emesonargs=(
$(meson_feature bs2b)
$(meson_feature rnnoise)
)
meson_src_configure
}
pkg_postinst() {
gnome2_gconf_install
gnome2_schemas_update
xdg_icon_cache_update
}
pkg_postrm() {
gnome2_gconf_uninstall
gnome2_schemas_update
xdg_icon_cache_update
}