diff --git a/P/PulseAudio/build_tarballs.jl b/P/PulseAudio/build_tarballs.jl index 6a87acc3a65..808b890252a 100644 --- a/P/PulseAudio/build_tarballs.jl +++ b/P/PulseAudio/build_tarballs.jl @@ -3,39 +3,39 @@ using BinaryBuilder, Pkg name = "PulseAudio" -version = v"14.2.0" +version = v"15.0.0" + +short_version = "$(version.major).$(version.minor)" # Collection of sources required to complete build sources = [ - ArchiveSource("https://freedesktop.org/software/pulseaudio/releases/pulseaudio-14.2.tar.gz", "902dd1928801bb5dc7b121754aa4110ce55768b5dff94a700e7bd58d3f597970") + ArchiveSource("https://freedesktop.org/software/pulseaudio/releases/pulseaudio-$short_version.tar.gz", "a570b592351586541daf27b5e4b82555d6ac46bb6920eb847bcf5818e92f4c1e"), + DirectorySource("./bundled"), ] # Bash recipe for building across all platforms script = raw""" cd $WORKSPACE/srcdir -apk add gettext -apk add glib -apk add orc-compiler -apk add perl-xml-parser -apk add bash-completion +apk update +apk add bash-completion doxygen gettext glib orc-compiler perl-xml-parser # make sure meson can find everything sed -i -e "s~c_args = .*~c_args = ['-I${includedir}', '-L${libdir}']~" ${MESON_TARGET_TOOLCHAIN} -# I guess pulseaudio doesn't set install_rpath correctly? -find pulseaudio-* -type f | xargs sed -i "s~install_rpath : privlibdir~install_rpath : '\$ORIGIN/pulseaudio'~" # For some reason, librt fails to get linked correctly, so add a flag sed -i -e "s~c_link_args = .*~c_link_args = ['-lrt']~" ${MESON_TARGET_TOOLCHAIN} cd pulseaudio-* -# Disable ffast-math; I repented -sed -i -e "s/link_args : \['-ffast-math'],//" src/daemon/meson.build -# pulseaudio seems to check for iconv_open but use libiconv_open? -sed -i -e "s/cc.has_function('iconv_open')/cc.has_function('libiconv_open')/" meson.build -# Force meson to use some libraries -if [[ "${target}" == powerpc64le-* ]]; then sed -i -e "s~'sys/capability.h',~~" meson.build; fi +# make rpath work with cross compilation +atomic_patch -p2 $WORKSPACE/srcdir/patches/rpath.patch +# disable fastmath +atomic_patch -p2 $WORKSPACE/srcdir/patches/fastmath.patch +# sys/capability.h doesn't seem to be workig on PowerPC +if [[ "${target}" == powerpc64le-* ]]; then + atomic_patch -p2 $WORKSPACE/srcdir/patches/capabilities.patch +fi mkdir build cd build -# I can't figure out how to build tdb, see https://github.com/JuliaPackaging/BinaryBuilder.jl/issues/887 -# BlueZ is in progress, see https://github.com/JuliaPackaging/Yggdrasil/pull/2582 -meson .. -Ddatabase="gdbm" -Dbluez5="false" --cross-file=${MESON_TARGET_TOOLCHAIN} +# optional dependencies I can't build but might be useful +# Avahi Jack LIRC tdb WebRTC +meson .. -Ddatabase="gdbm" --cross-file=${MESON_TARGET_TOOLCHAIN} ninja ninja install """ @@ -46,27 +46,109 @@ platforms = filter!(Sys.islinux, supported_platforms()) # The products that we will ensure are always built products = [ - LibraryProduct("libpulse-simple", :libpulse_simple), + ExecutableProduct("pulseaudio", :pulseaudio), + LibraryProduct("module-native-protocol-tcp", :module_native_protocol_tcp, "lib/pulse-$short_version/modules"), + LibraryProduct("module-combine", :module_combine, "lib/pulse-$short_version/modules"), + LibraryProduct("module-native-protocol-fd", :module_native_protocol_fd, "lib/pulse-$short_version/modules"), + LibraryProduct("module-oss", :module_oss, "lib/pulse-$short_version/modules"), + LibraryProduct("module-card-restore", :module_card_restore, "lib/pulse-$short_version/modules"), + LibraryProduct("module-cli-protocol-unix", :module_cli_protocol_unix, "lib/pulse-$short_version/modules"), + LibraryProduct("libpulse-mainloop-glib", :libpulse_mainloop_glib), + LibraryProduct("module-rescue-streams", :module_rescue_streams, "lib/pulse-$short_version/modules"), + LibraryProduct("module-filter-heuristics", :module_filter_heuristics, "lib/pulse-$short_version/modules"), + LibraryProduct("module-simple-protocol-tcp", :module_simple_protocol_tcp, "lib/pulse-$short_version/modules"), + LibraryProduct("module-raop-sink", :module_raop_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("libpulsecommon-$short_version", :libpulsecommon, "lib/pulseaudio"), ExecutableProduct("pasuspender", :pasuspender), + LibraryProduct("libprotocol-cli", :libprotocol_cli, "lib/pulse-$short_version/modules"), + LibraryProduct("module-mmkbd-evdev", :module_mmkbd_evdev, "lib/pulse-$short_version/modules"), + LibraryProduct("module-position-event-sounds", :module_position_event_sounds, "lib/pulse-$short_version/modules"), + LibraryProduct("module-virtual-sink", :module_virtual_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("libpulsecore-$short_version", :libpulsecore, "lib/pulseaudio"), + LibraryProduct("module-pipe-source", :module_pipe_source, "lib/pulse-$short_version/modules"), + LibraryProduct("module-null-sink", :module_null_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-loopback", :module_loopback, "lib/pulse-$short_version/modules"), + LibraryProduct("liboss-util", :liboss_util, "lib/pulse-$short_version/modules"), + LibraryProduct("module-bluez5-device", :module_bluez5_device, "lib/pulse-$short_version/modules"), + LibraryProduct("module-sine-source", :module_sine_source, "lib/pulse-$short_version/modules"), + LibraryProduct("module-always-sink", :module_always_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("libpulsedsp", :libpulsedsp, "lib/pulseaudio"), + LibraryProduct("module-device-restore", :module_device_restore, "lib/pulse-$short_version/modules"), + LibraryProduct("module-equalizer-sink", :module_equalizer_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("libcli", :libcli, "lib/pulse-$short_version/modules"), + LibraryProduct("module-console-kit", :module_console_kit, "lib/pulse-$short_version/modules"), + LibraryProduct("module-role-cork", :module_role_cork, "lib/pulse-$short_version/modules"), + LibraryProduct("module-role-ducking", :module_role_ducking, "lib/pulse-$short_version/modules"), + LibraryProduct("module-tunnel-sink", :module_tunnel_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-udev-detect", :module_udev_detect, "lib/pulse-$short_version/modules"), + LibraryProduct("module-detect", :module_detect, "lib/pulse-$short_version/modules"), + LibraryProduct("module-tunnel-source", :module_tunnel_source, "lib/pulse-$short_version/modules"), + LibraryProduct("module-stream-restore", :module_stream_restore, "lib/pulse-$short_version/modules"), + LibraryProduct("libpulse-simple", :libpulse_simple), + LibraryProduct("module-augment-properties", :module_augment_properties, "lib/pulse-$short_version/modules"), + LibraryProduct("module-rtp-send", :module_rtp_send, "lib/pulse-$short_version/modules"), + LibraryProduct("module-remap-source", :module_remap_source, "lib/pulse-$short_version/modules"), + LibraryProduct("module-sine", :module_sine, "lib/pulse-$short_version/modules"), + LibraryProduct("module-combine-sink", :module_combine_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-intended-roles", :module_intended_roles, "lib/pulse-$short_version/modules"), + LibraryProduct("module-null-source", :module_null_source, "lib/pulse-$short_version/modules"), ExecutableProduct("pacmd", :pacmd), - ExecutableProduct("pactl", :pactl), - ExecutableProduct("pulseaudio", :pulseaudio), + LibraryProduct("libbluez5-util", :libbluez5_util, "lib/pulse-$short_version/modules"), + LibraryProduct("librtp", :librtp, "lib/pulse-$short_version/modules"), + LibraryProduct("module-bluetooth-discover", :module_bluetooth_discover, "lib/pulse-$short_version/modules"), + LibraryProduct("module-bluetooth-policy", :module_bluetooth_policy, "lib/pulse-$short_version/modules"), + LibraryProduct("module-echo-cancel", :module_echo_cancel, "lib/pulse-$short_version/modules"), + LibraryProduct("module-virtual-source", :module_virtual_source, "lib/pulse-$short_version/modules"), + LibraryProduct("module-switch-on-connect", :module_switch_on_connect, "lib/pulse-$short_version/modules"), + LibraryProduct("libprotocol-simple", :libprotocol_simple, "lib/pulse-$short_version/modules"), + LibraryProduct("module-alsa-card", :module_alsa_card, "lib/pulse-$short_version/modules"), + LibraryProduct("module-tunnel-sink-new", :module_tunnel_sink_new, "lib/pulse-$short_version/modules"), + LibraryProduct("module-allow-passthrough", :module_allow_passthrough, "lib/pulse-$short_version/modules"), + LibraryProduct("module-http-protocol-unix", :module_http_protocol_unix, "lib/pulse-$short_version/modules"), + LibraryProduct("module-filter-apply", :module_filter_apply, "lib/pulse-$short_version/modules"), + LibraryProduct("libalsa-util", :libalsa_util, "lib/pulse-$short_version/modules"), + LibraryProduct("module-cli-protocol-tcp", :module_cli_protocol_tcp, "lib/pulse-$short_version/modules"), + LibraryProduct("module-simple-protocol-unix", :module_simple_protocol_unix, "lib/pulse-$short_version/modules"), + LibraryProduct("module-pipe-sink", :module_pipe_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-bluez5-discover", :module_bluez5_discover, "lib/pulse-$short_version/modules"), + LibraryProduct("module-native-protocol-unix", :module_native_protocol_unix, "lib/pulse-$short_version/modules"), + LibraryProduct("module-rtp-recv", :module_rtp_recv, "lib/pulse-$short_version/modules"), + LibraryProduct("module-alsa-sink", :module_alsa_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-default-device-restore", :module_default_device_restore, "lib/pulse-$short_version/modules"), + LibraryProduct("module-virtual-surround-sink", :module_virtual_surround_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-suspend-on-idle", :module_suspend_on_idle, "lib/pulse-$short_version/modules"), + LibraryProduct("module-rygel-media-server", :module_rygel_media_server, "lib/pulse-$short_version/modules"), + LibraryProduct("module-always-source", :module_always_source, "lib/pulse-$short_version/modules"), LibraryProduct("libpulse", :libpulse), - LibraryProduct("libpulse-mainloop-glib", :libpulse_mainloop_glib), - ExecutableProduct("pacat", :pacat) + LibraryProduct("libraop", :libraop, "lib/pulse-$short_version/modules"), + LibraryProduct("module-dbus-protocol", :module_dbus_protocol, "lib/pulse-$short_version/modules"), + ExecutableProduct("pacat", :pacat), + LibraryProduct("module-match", :module_match, "lib/pulse-$short_version/modules"), + LibraryProduct("module-alsa-source", :module_alsa_source, "lib/pulse-$short_version/modules"), + LibraryProduct("module-hal-detect", :module_hal_detect, "lib/pulse-$short_version/modules"), + LibraryProduct("module-tunnel-source-new", :module_tunnel_source_new, "lib/pulse-$short_version/modules"), + LibraryProduct("module-volume-restore", :module_volume_restore, "lib/pulse-$short_version/modules"), + LibraryProduct("libprotocol-http", :libprotocol_http, "lib/pulse-$short_version/modules"), + ExecutableProduct("pactl", :pactl), + LibraryProduct("module-switch-on-port-available", :module_switch_on_port_available, "lib/pulse-$short_version/modules"), + LibraryProduct("module-ladspa-sink", :module_ladspa_sink, "lib/pulse-$short_version/modules"), + LibraryProduct("module-cli", :module_cli, "lib/pulse-$short_version/modules"), + LibraryProduct("module-device-manager", :module_device_manager, "lib/pulse-$short_version/modules"), + LibraryProduct("module-http-protocol-tcp", :module_http_protocol_tcp, "lib/pulse-$short_version/modules"), + LibraryProduct("libprotocol-native", :libprotocol_native, "lib/pulse-$short_version/modules"), + LibraryProduct("module-remap-sink", :module_remap_sink, "lib/pulse-$short_version/modules") ] # Dependencies that must be installed before this package can be built dependencies = [ Dependency(PackageSpec(name="alsa_jll", uuid="45378030-f8ea-5b20-a7c7-1a9d95efb90e")) + Dependency(PackageSpec(name="BlueZ_jll", uuid="471b5b61-da80-5748-8755-67d5084d21f2")) Dependency(PackageSpec(name="Check_jll", uuid="491db154-c145-5abe-9c32-446728d60cce")) Dependency(PackageSpec(name="Dbus_jll", uuid="ee1fde0b-3d02-5ea6-8484-8dfef6360eab")) Dependency(PackageSpec(name="eudev_jll", uuid="35ca27e7-8b34-5b7f-bca9-bdc33f59eb06")) Dependency(PackageSpec(name="FFTW_jll", uuid="f5851436-0d7a-5f13-b9de-f02708fd171a")) Dependency(PackageSpec(name="Gdbm_jll", uuid="54ca2031-c8dd-5cab-9ed4-295edde1660f")) - # TOOD: verify Gettext is actually needed at runtime - Dependency(PackageSpec(name="Gettext_jll", uuid="78b55507-aeef-58d4-861c-77aaff3498b1"), v"0.20.1"; compat="=0.20.1") - Dependency(PackageSpec(name="Glib_jll", uuid="7746bdde-850d-59dc-9ae8-88ece973131d"), v"2.59.0"; compat="2.59.0") + Dependency(PackageSpec(name="Glib_jll", uuid="7746bdde-850d-59dc-9ae8-88ece973131d"); compat="2.68.1") Dependency(PackageSpec(name="GStreamer_jll", uuid="aaaaf01e-2457-52c6-9fe8-886f7267d736")) Dependency(PackageSpec(name="libsndfile_jll", uuid="5bf562c0-5a39-5b4f-b979-f64ac885830c")) Dependency(PackageSpec(name="libasyncns_jll", uuid="ed080073-db63-57db-a029-74e11ae80737")) @@ -74,10 +156,10 @@ dependencies = [ Dependency(PackageSpec(name="Libiconv_jll", uuid="94ce4f54-9a6c-5748-9c1c-f9c7231a4531")) Dependency(PackageSpec(name="Libtool_jll", uuid="a76c16ae-fb8f-5ff0-8826-da3b7a640f0b")) Dependency(PackageSpec(name="OpenSSL_jll", uuid="458c3c95-2e84-50aa-8efc-19380b2a3a95")) - Dependency(PackageSpec(name="ORC_jll", uuid="fb41591b-4dee-5dae-bf56-d83afd04fbc0")) Dependency(PackageSpec(name="SBC_jll", uuid="da37f231-8920-5702-a09a-bdd970cb6ddc")) Dependency(PackageSpec(name="SoXResampler_jll", uuid="fbe68eb6-6641-54c6-99e3-f7c7c4d73a57")) Dependency(PackageSpec(name="SpeexDSP_jll", uuid="f2f9631b-9a4e-5b48-9975-88f638ec36a7")) + ] # Build the tarballs, and possibly a `build.jl` as well. diff --git a/P/PulseAudio/bundled/patches/capabilities.patch b/P/PulseAudio/bundled/patches/capabilities.patch new file mode 100644 index 00000000000..0f414345c36 --- /dev/null +++ b/P/PulseAudio/bundled/patches/capabilities.patch @@ -0,0 +1,13 @@ +diff --git before/pulseaudio-15.0/meson.build after/pulseaudio-15.0/meson.build +index d7e468c..a45aeaf 100644 +--- before/pulseaudio-15.0/meson.build ++++ after/pulseaudio-15.0/meson.build +@@ -235,7 +235,7 @@ check_headers = [ + 'sched.h', + 'stdint.h', + 'sys/atomic.h', +- 'sys/capability.h', ++ + 'sys/conf.h', + 'sys/dl.h', + 'sys/eventfd.h', \ No newline at end of file diff --git a/P/PulseAudio/bundled/patches/fastmath.patch b/P/PulseAudio/bundled/patches/fastmath.patch new file mode 100644 index 00000000000..833613154c5 --- /dev/null +++ b/P/PulseAudio/bundled/patches/fastmath.patch @@ -0,0 +1,13 @@ +diff --git before/pulseaudio-15.0/src/daemon/meson.build after/pulseaudio-15.0/src/daemon/meson.build +index 262e193..7bb207c 100644 +--- before/pulseaudio-15.0/src/daemon/meson.build ++++ after/pulseaudio-15.0/src/daemon/meson.build +@@ -29,7 +29,7 @@ executable('pulseaudio', + install: true, + install_rpath : privlibdir, + include_directories : [configinc, topinc], +- link_args : ['-ffast-math'], ++ + link_with : [libpulsecore, libpulsecommon, libpulse], + dependencies : [ltdl_dep, cap_dep, dbus_dep, libsystemd_dep, dl_dep, libintl_dep, platform_dep, platform_socket_dep], + c_args : pa_c_args, \ No newline at end of file diff --git a/P/PulseAudio/bundled/patches/rpath.patch b/P/PulseAudio/bundled/patches/rpath.patch new file mode 100644 index 00000000000..833398d19fc --- /dev/null +++ b/P/PulseAudio/bundled/patches/rpath.patch @@ -0,0 +1,234 @@ +diff --git before/pulseaudio-15.0/src/daemon/meson.build after/pulseaudio-15.0/src/daemon/meson.build +index 262e193..0e457b0 100644 +--- before/pulseaudio-15.0/src/daemon/meson.build ++++ after/pulseaudio-15.0/src/daemon/meson.build +@@ -27,7 +27,7 @@ executable('pulseaudio', + pulseaudio_sources, + pulseaudio_headers, + install: true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_args : ['-ffast-math'], + link_with : [libpulsecore, libpulsecommon, libpulse], +diff --git before/pulseaudio-15.0/src/modules/alsa/meson.build after/pulseaudio-15.0/src/modules/alsa/meson.build +index f31eeb5..81910a9 100644 +--- before/pulseaudio-15.0/src/modules/alsa/meson.build ++++ after/pulseaudio-15.0/src/modules/alsa/meson.build +@@ -34,7 +34,7 @@ libalsa_util = shared_library('alsa-util', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, alsa_dep, dbus_dep, libatomic_ops_dep, libm_dep, udev_dep, libintl_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) + +diff --git before/pulseaudio-15.0/src/modules/bluetooth/meson.build after/pulseaudio-15.0/src/modules/bluetooth/meson.build +index ca77ee6..861ce1f 100644 +--- before/pulseaudio-15.0/src/modules/bluetooth/meson.build ++++ after/pulseaudio-15.0/src/modules/bluetooth/meson.build +@@ -37,6 +37,6 @@ libbluez5_util = shared_library('bluez5-util', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, bluez_dep, dbus_dep, sbc_dep, libintl_dep, bluez5_gst_dep, bluez5_gstapp_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) +diff --git before/pulseaudio-15.0/src/modules/echo-cancel/meson.build after/pulseaudio-15.0/src/modules/echo-cancel/meson.build +index 641cd35..b3ac0e1 100644 +--- before/pulseaudio-15.0/src/modules/echo-cancel/meson.build ++++ after/pulseaudio-15.0/src/modules/echo-cancel/meson.build +@@ -17,6 +17,6 @@ libwebrtc_util = shared_library('webrtc-util', + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep, webrtc_dep, libintl_dep], + link_args : [nodelete_link_args, '-Wl,--unresolved-symbols=ignore-in-object-files'], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) +diff --git before/pulseaudio-15.0/src/modules/gsettings/meson.build after/pulseaudio-15.0/src/modules/gsettings/meson.build +index 68a72c3..39ef6b1 100644 +--- before/pulseaudio-15.0/src/modules/gsettings/meson.build ++++ after/pulseaudio-15.0/src/modules/gsettings/meson.build +@@ -11,7 +11,7 @@ gsettings_helper = executable('gsettings-helper', + link_with : [libpulsecommon, libpulse], + dependencies : [gio_dep], + install_dir : pulselibexecdir, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install : true, + ) + +diff --git before/pulseaudio-15.0/src/modules/oss/meson.build after/pulseaudio-15.0/src/modules/oss/meson.build +index cb3e08a..58f18fd 100644 +--- before/pulseaudio-15.0/src/modules/oss/meson.build ++++ after/pulseaudio-15.0/src/modules/oss/meson.build +@@ -13,6 +13,6 @@ liboss_util = shared_library('oss-util', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) +diff --git before/pulseaudio-15.0/src/modules/rtp/meson.build after/pulseaudio-15.0/src/modules/rtp/meson.build +index 119cf08..a529f33 100644 +--- before/pulseaudio-15.0/src/modules/rtp/meson.build ++++ after/pulseaudio-15.0/src/modules/rtp/meson.build +@@ -28,7 +28,7 @@ librtp = shared_library('rtp', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep, gst_dep, gstapp_dep, gstrtp_dep, gio_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) + +diff --git before/pulseaudio-15.0/src/pulse/meson.build after/pulseaudio-15.0/src/pulse/meson.build +index c2128e0..23862da 100644 +--- before/pulseaudio-15.0/src/pulse/meson.build ++++ after/pulseaudio-15.0/src/pulse/meson.build +@@ -84,7 +84,7 @@ libpulse = shared_library('pulse', + c_args : [pa_c_args], + link_args : [nodelete_link_args, versioning_link_args], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + dependencies : [libm_dep, thread_dep, libpulsecommon_dep, dbus_dep, dl_dep, iconv_dep, libintl_dep, platform_dep, platform_socket_dep], + implicit_include_directories : false) + +@@ -104,7 +104,7 @@ libpulse_simple = shared_library('pulse-simple', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + ) + + libpulse_simple_dep = declare_dependency(link_with: libpulse_simple) +@@ -119,7 +119,7 @@ if glib_dep.found() + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, glib_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + ) + + libpulse_mainloop_glib_dep = declare_dependency(link_with: libpulse_mainloop_glib) +diff --git before/pulseaudio-15.0/src/pulsecore/meson.build after/pulseaudio-15.0/src/pulsecore/meson.build +index d7f9ef2..e70dd0d 100644 +--- before/pulseaudio-15.0/src/pulsecore/meson.build ++++ after/pulseaudio-15.0/src/pulsecore/meson.build +@@ -219,7 +219,7 @@ libpulsecore = shared_library('pulsecore-' + pa_version_major_minor, + c_args : [pa_c_args, server_c_args], + link_args : [nodelete_link_args], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : privlibdir, + link_with : libpulsecore_simd_lib, + dependencies : [libm_dep, libpulsecommon_dep, ltdl_dep, shm_dep, sndfile_dep, database_dep, dbus_dep, libatomic_ops_dep, orc_dep, samplerate_dep, soxr_dep, speex_dep, x11_dep, libintl_dep, platform_dep, platform_socket_dep,], +@@ -239,7 +239,7 @@ libavahi_wrap = shared_library('avahi-wrap', + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, avahi_dep], + implicit_include_directories : false, # pulsecore/poll.h /usr/include/poll.h + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) + +@@ -251,7 +251,7 @@ libcli = shared_library('cli', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) + +@@ -280,7 +280,7 @@ libprotocol_http = shared_library('protocol-http', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) + +@@ -292,7 +292,7 @@ libprotocol_native = shared_library('protocol-native', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep, dbus_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) + +@@ -304,6 +304,6 @@ libprotocol_simple = shared_library('protocol-simple', + include_directories : [configinc, topinc], + dependencies : [libpulse_dep, libpulsecommon_dep, libpulsecore_dep], + install : true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + install_dir : modlibexecdir, + ) +diff --git before/pulseaudio-15.0/src/utils/meson.build after/pulseaudio-15.0/src/utils/meson.build +index c9635fd..3506ba4 100644 +--- before/pulseaudio-15.0/src/utils/meson.build ++++ after/pulseaudio-15.0/src/utils/meson.build +@@ -12,7 +12,7 @@ pacat_aliases = [ + executable('pacat', + pacat_sources, + install: true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_with : [libpulsecommon, libpulse], + dependencies : [sndfile_dep, libintl_dep], +@@ -35,7 +35,7 @@ pactl_sources = [ + executable('pactl', + pactl_sources, + install: true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_with : [libpulsecommon, libpulse], + dependencies : [sndfile_dep, libintl_dep], +@@ -51,7 +51,7 @@ if get_option('daemon') + executable('pasuspender', + pasuspender_sources, + install: true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_with : [libpulsecommon, libpulse], + dependencies: [libintl_dep], +@@ -65,7 +65,7 @@ if get_option('daemon') + executable('pacmd', + pacmd_sources, + install: true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_with : [libpulsecommon, libpulse], + dependencies: [libintl_dep], +@@ -82,7 +82,7 @@ if x11_dep.found() + executable('pax11publish', + pax11publish_sources, + install: true, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_with : [libpulsecommon, libpulse], + dependencies : [x11_dep, libintl_dep], +@@ -99,7 +99,7 @@ if cdata.has('HAVE_OSS_WRAPPER') + libpulsecommon_sources, + install: true, + install_dir : padsplibdir, +- install_rpath : privlibdir, ++ install_rpath : '$ORIGIN/pulseaudio', + include_directories : [configinc, topinc], + link_with : [libpulsecommon, libpulse], + link_args : [nodelete_link_args], \ No newline at end of file