New package: pipewire-0.1.7.
This commit is contained in:
parent
ed40168a4e
commit
2b76684efe
9 changed files with 253 additions and 0 deletions
|
@ -3089,3 +3089,5 @@ libarcan_shmif_server.so.0.11 arcan-0.5.4.3_1
|
|||
libarcan_tui.so.0.11 arcan-0.5.4.3_1
|
||||
libscrypt.so.0 libscrypt-devel-1.21_1
|
||||
liblwipv6.so.2 lwipv6-1.5a_1
|
||||
libpipewire-0.1.so.0 pipewire-0.1.7_1
|
||||
libspa-lib.so.0 pipewire-0.1.7_1
|
||||
|
|
1
srcpkgs/pipewire-devel
Symbolic link
1
srcpkgs/pipewire-devel
Symbolic link
|
@ -0,0 +1 @@
|
|||
pipewire
|
1
srcpkgs/pipewire-doc
Symbolic link
1
srcpkgs/pipewire-doc
Symbolic link
|
@ -0,0 +1 @@
|
|||
pipewire
|
12
srcpkgs/pipewire/patches/add-missing-fcntl_h-include.patch
Normal file
12
srcpkgs/pipewire/patches/add-missing-fcntl_h-include.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
Musl is stricter
|
||||
|
||||
--- spa/include/spa/param/meta.h
|
||||
+++ spa/include/spa/param/meta.h
|
||||
@@ -24,6 +24,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
+#include <fcntl.h> /* for off_t */
|
||||
#include <spa/utils/defs.h>
|
||||
#include <spa/param/param.h>
|
||||
#include <spa/support/type-map.h>
|
|
@ -0,0 +1,10 @@
|
|||
--- src/pipewire/private.h
|
||||
+++ src/pipewire/private.h
|
||||
@@ -25,6 +25,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#include <sys/socket.h>
|
||||
+#include <sys/types.h> /* for pthread_t */
|
||||
|
||||
|
||||
#include "pipewire/mem.h"
|
18
srcpkgs/pipewire/patches/fix-usage-of-RLIMIT_RTTIME.patch
Normal file
18
srcpkgs/pipewire/patches/fix-usage-of-RLIMIT_RTTIME.patch
Normal file
|
@ -0,0 +1,18 @@
|
|||
--- src/pipewire/data-loop.c
|
||||
+++ src/pipewire/data-loop.c
|
||||
@@ -47,6 +47,7 @@ static void make_realtime(struct pw_data_loop *this)
|
||||
system_bus = pw_rtkit_bus_get_system();
|
||||
|
||||
rl.rlim_cur = rl.rlim_max = rttime;
|
||||
+#ifdef RLIMIT_RTTIME
|
||||
if ((r = setrlimit(RLIMIT_RTTIME, &rl)) < 0)
|
||||
pw_log_debug("setrlimit() failed: %s", strerror(errno));
|
||||
|
||||
@@ -60,6 +61,7 @@ static void make_realtime(struct pw_data_loop *this)
|
||||
pw_log_debug("setrlimit() failed: %s", strerror(errno));
|
||||
}
|
||||
}
|
||||
+#endif
|
||||
|
||||
if ((r = pw_rtkit_make_realtime(system_bus, 0, rtprio)) < 0) {
|
||||
pw_log_debug("could not make thread realtime: %s", strerror(r));
|
164
srcpkgs/pipewire/patches/fix-usage-of-error_h.patch
Normal file
164
srcpkgs/pipewire/patches/fix-usage-of-error_h.patch
Normal file
|
@ -0,0 +1,164 @@
|
|||
--- spa/tests/test-control.c
|
||||
+++ spa/tests/test-control.c
|
||||
@@ -18,7 +18,9 @@
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
+#ifdef __GLIBC__
|
||||
#include <error.h>
|
||||
+#endif
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -358,8 +360,10 @@ static int make_nodes(struct data *data, const char *device)
|
||||
spa_pod_builder_init(&b, buffer, sizeof(buffer));
|
||||
if ((res = spa_node_port_enum_params(data->source, SPA_DIRECTION_OUTPUT, 0,
|
||||
data->type.param.idIO, &idx, NULL, ¶m, &b)) < 1) {
|
||||
+#ifdef __GLIBC__
|
||||
if (res < 0)
|
||||
error(0, -res, "port_enum_params");
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -369,19 +373,23 @@ static int make_nodes(struct data *data, const char *device)
|
||||
NULL);
|
||||
|
||||
if (propId == data->type.props_freq) {
|
||||
+#ifdef __GLIBC__
|
||||
if ((res = spa_node_port_set_io(data->source,
|
||||
SPA_DIRECTION_OUTPUT, 0,
|
||||
id,
|
||||
&data->ctrl_source_freq, sizeof(data->ctrl_source_freq))) < 0)
|
||||
error(0, -res, "set_io freq");
|
||||
+#endif
|
||||
|
||||
}
|
||||
else if (propId == data->type.props_volume) {
|
||||
+#ifdef __GLIBC__
|
||||
if ((res = spa_node_port_set_io(data->source,
|
||||
SPA_DIRECTION_OUTPUT, 0,
|
||||
id,
|
||||
&data->ctrl_source_volume, sizeof(data->ctrl_source_volume))) < 0)
|
||||
error(0, -res, "set_io volume");
|
||||
+#endif
|
||||
}
|
||||
}
|
||||
|
||||
--- spa/tests/test-mixer.c
|
||||
+++ spa/tests/test-mixer.c
|
||||
@@ -18,7 +18,9 @@
|
||||
*/
|
||||
|
||||
#include <math.h>
|
||||
+#ifdef __GLIBC__
|
||||
#include <error.h>
|
||||
+#endif
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -369,8 +371,10 @@ static int make_nodes(struct data *data, const char *device)
|
||||
":", data->type.props_device, "s", device ? device : "hw:0",
|
||||
":", data->type.props_min_latency, "i", MIN_LATENCY);
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
if ((res = spa_node_set_param(data->sink, data->type.param.idProps, 0, props)) < 0)
|
||||
error(0, -res, "set_param props");
|
||||
+#endif
|
||||
|
||||
if ((res = make_node(data, &data->mix,
|
||||
"build/spa/plugins/audiomixer/libspa-audiomixer.so",
|
||||
@@ -453,6 +457,7 @@ static int make_nodes(struct data *data, const char *device)
|
||||
data->ctrl_volume[0] = SPA_POD_DOUBLE_INIT(0.5);
|
||||
data->ctrl_volume[1] = SPA_POD_DOUBLE_INIT(0.5);
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
if ((res = spa_node_port_set_io(data->mix,
|
||||
SPA_DIRECTION_INPUT, data->mix_ports[0],
|
||||
data->type.io_inprop_volume,
|
||||
@@ -464,6 +469,7 @@ static int make_nodes(struct data *data, const char *device)
|
||||
data->type.io_inprop_volume,
|
||||
&data->ctrl_volume[1], sizeof(data->ctrl_volume[1]))) < 0)
|
||||
error(0, -res, "set_io volume 1");
|
||||
+#endif
|
||||
|
||||
|
||||
#ifdef USE_GRAPH
|
||||
--- spa/tools/spa-inspect.c
|
||||
+++ spa/tools/spa-inspect.c
|
||||
@@ -17,7 +17,9 @@
|
||||
* Boston, MA 02110-1301, USA.
|
||||
*/
|
||||
|
||||
+#ifdef __GLIBC__
|
||||
#include <error.h>
|
||||
+#endif
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
@@ -71,8 +73,10 @@ inspect_node_params(struct data *data, struct spa_node *node)
|
||||
if ((res = spa_node_enum_params(node,
|
||||
data->type.param.idList, &idx1,
|
||||
NULL, ¶m, &b)) <= 0) {
|
||||
+#ifdef __GLIBC__
|
||||
if (res != 0)
|
||||
error(0, -res, "enum_params");
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -88,8 +92,10 @@ inspect_node_params(struct data *data, struct spa_node *node)
|
||||
if ((res = spa_node_enum_params(node,
|
||||
id, &idx2,
|
||||
NULL, ¶m, &b)) <= 0) {
|
||||
+#ifdef __GLIBC__
|
||||
if (res != 0)
|
||||
error(0, -res, "enum_params %d", id);
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
spa_debug_pod(param, flags);
|
||||
@@ -115,8 +121,10 @@ inspect_port_params(struct data *data, struct spa_node *node,
|
||||
direction, port_id,
|
||||
data->type.param.idList, &idx1,
|
||||
NULL, ¶m, &b)) <= 0) {
|
||||
+#ifdef __GLIBC__
|
||||
if (res != 0)
|
||||
error(0, -res, "port_enum_params");
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
spa_pod_object_parse(param,
|
||||
@@ -132,8 +140,10 @@ inspect_port_params(struct data *data, struct spa_node *node,
|
||||
direction, port_id,
|
||||
id, &idx2,
|
||||
NULL, ¶m, &b)) <= 0) {
|
||||
+#ifdef __GLIBC__
|
||||
if (res != 0)
|
||||
error(0, -res, "port_enum_params");
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -214,8 +224,10 @@ static void inspect_factory(struct data *data, const struct spa_handle_factory *
|
||||
if ((res = spa_handle_factory_enum_interface_info(factory, &info, &index)) <= 0) {
|
||||
if (res == 0)
|
||||
break;
|
||||
+#ifdef __GLIBC__
|
||||
else
|
||||
error(0, -res, "spa_handle_factory_enum_interface_info");
|
||||
+#endif
|
||||
}
|
||||
printf(" interface: '%s'\n", info->type);
|
||||
|
||||
@@ -297,8 +309,10 @@ int main(int argc, char *argv[])
|
||||
const struct spa_handle_factory *factory;
|
||||
|
||||
if ((res = enum_func(&factory, &index)) <= 0) {
|
||||
+#ifdef __GLIBC__
|
||||
if (res != 0)
|
||||
error(0, -res, "enum_func");
|
||||
+#endif
|
||||
break;
|
||||
}
|
||||
inspect_factory(&data, factory);
|
10
srcpkgs/pipewire/patches/remove-systemd-dependency.patch
Normal file
10
srcpkgs/pipewire/patches/remove-systemd-dependency.patch
Normal file
|
@ -0,0 +1,10 @@
|
|||
nt fazefrench
|
||||
|
||||
--- src/daemon/meson.build
|
||||
+++ src/daemon/meson.build
|
||||
@@ -29,5 +29,3 @@ executable('pipewire',
|
||||
include_directories : [configinc, spa_inc],
|
||||
dependencies : [pipewire_dep],
|
||||
)
|
||||
-
|
||||
-subdir('systemd')
|
35
srcpkgs/pipewire/template
Normal file
35
srcpkgs/pipewire/template
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Template file for 'pipewire'
|
||||
pkgname=pipewire
|
||||
version=0.1.7
|
||||
revision=1
|
||||
configure_args="-Denable_docs=true -Denable_man=true -Denable_gstreamer=false"
|
||||
build_style=meson
|
||||
hostmakedepends="pkg-config xmltoman doxygen graphviz"
|
||||
makedepends="dbus-devel jack-devel alsa-lib-devel v4l-utils-devel SDL2-devel
|
||||
ffmpeg-devel libX11-devel"
|
||||
short_desc="Server and user space API to deal with multimedia pipelines"
|
||||
maintainer="maxice8 <thinkabit.ukim@gmail.com>"
|
||||
license="LGPL-2.1"
|
||||
homepage="https://pipewire.org/"
|
||||
distfiles="https://github.com/PipeWire/pipewire/archive/${version}.tar.gz"
|
||||
checksum=ed186539e08e20886f4ab0720e0e15c24fc71671480684118df004e9abebf125
|
||||
|
||||
pipewire-doc_package() {
|
||||
noarch=yes
|
||||
short_desc+=" - documentation"
|
||||
pkg_install() {
|
||||
vmove usr/share/doc
|
||||
}
|
||||
}
|
||||
|
||||
# XXX: There is potential to further divide into more subpkgs one for libpipewire
|
||||
# and another for libspa
|
||||
pipewire-devel_package() {
|
||||
depends="${sourcepkg}>=${version}_${revision}"
|
||||
short_desc+=" - development files"
|
||||
pkg_install() {
|
||||
vmove usr/include
|
||||
vmove usr/lib/pkgconfig
|
||||
vmove "usr/lib/*.so"
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue