aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGleb Popov <arrowd@FreeBSD.org>2020-02-28 16:45:21 +0000
committerGleb Popov <arrowd@FreeBSD.org>2020-02-28 16:45:21 +0000
commit71b032138591b104476fe377f0844849eab44f10 (patch)
treef2f6efdc9e6ea57495a87217cc788d849ac8c815
parent29af7b5e6db2a0e0db1f0d62326b55f44ac4da08 (diff)
downloadports-71b032138591b104476fe377f0844849eab44f10.tar.gz
ports-71b032138591b104476fe377f0844849eab44f10.zip
multimedia/pipewire: Add a new port.
PipeWire aims to be a "new pulseaudio", that is "a server and userspace API to deal with multimedia pipelines". Most of software's functionality is turned off by now, as I'm only need this library to make another port. PRs or patches to change that are welcome.
Notes
Notes: svn path=/head/; revision=527338
-rw-r--r--multimedia/Makefile1
-rw-r--r--multimedia/pipewire/Makefile38
-rw-r--r--multimedia/pipewire/distinfo3
-rw-r--r--multimedia/pipewire/files/patch-meson53
-rw-r--r--multimedia/pipewire/files/patch-src_tools_pw-cli.c12
-rw-r--r--multimedia/pipewire/pkg-descr8
-rw-r--r--multimedia/pipewire/pkg-plist156
7 files changed, 271 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 3c128d44c92a..da968be4a5d9 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -312,6 +312,7 @@
SUBDIR += phonon-vlc
SUBDIR += photofilmstrip
SUBDIR += php-pHash
+ SUBDIR += pipewire
SUBDIR += pitivi
SUBDIR += plexmediaserver
SUBDIR += plexmediaserver-plexpass
diff --git a/multimedia/pipewire/Makefile b/multimedia/pipewire/Makefile
new file mode 100644
index 000000000000..113cc13826b3
--- /dev/null
+++ b/multimedia/pipewire/Makefile
@@ -0,0 +1,38 @@
+# $FreeBSD$
+
+PORTNAME= pipewire
+DISTVERSION= 0.3.0
+CATEGORIES= multimedia
+
+MAINTAINER= arrowd@FreeBSD.org
+COMMENT= Server and user space API to deal with multimedia pipelines
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+#TODO: xmltoman
+BUILD_DEPENDS= v4l_compat>0:multimedia/v4l_compat
+LIB_DEPENDS= libasound.so:audio/alsa-lib \
+ libdbus-1.so:devel/dbus \
+ libepoll-shim.so:devel/libepoll-shim \
+ libudev.so:devel/libudev-devd
+
+USES= gnome meson pkgconfig
+
+USE_GNOME= glib20
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= PipeWire
+
+MESON_ARGS= -D gstreamer=false \
+ -D bluez5=false \
+ -D jack=false -D pipewire-jack=false \
+ -D vulkan=false \
+ -D pipewire-pulseaudio=false \
+ -D systemd=false
+
+post-install:
+ ${MV} ${STAGEDIR}${ETCDIR}/pipewire.conf ${STAGEDIR}${ETCDIR}/pipewire.conf.sample
+
+.include <bsd.port.mk>
diff --git a/multimedia/pipewire/distinfo b/multimedia/pipewire/distinfo
new file mode 100644
index 000000000000..37ed8a109a74
--- /dev/null
+++ b/multimedia/pipewire/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1582285863
+SHA256 (PipeWire-pipewire-0.3.0_GH0.tar.gz) = 9e799ac9d191dc1afd10a6503601ab14ccba02983fa152c5133190904eb6c110
+SIZE (PipeWire-pipewire-0.3.0_GH0.tar.gz) = 865782
diff --git a/multimedia/pipewire/files/patch-meson b/multimedia/pipewire/files/patch-meson
new file mode 100644
index 000000000000..ac0553c51527
--- /dev/null
+++ b/multimedia/pipewire/files/patch-meson
@@ -0,0 +1,53 @@
+--- meson.build.orig 2020-02-20 14:33:31 UTC
++++ meson.build
+@@ -221,6 +221,10 @@ epoll_shim_dep = (build_machine.system() == 'freebsd'
+ ? dependency('epoll-shim', required: true)
+ : dependency('', required: false))
+
++if build_machine.system() == 'freebsd'
++ epoll_shim_dep = dependency('epoll-shim', required: true)
++endif
++
+ subdir('spa')
+ subdir('src')
+
+--- spa/plugins/alsa/meson.build.orig 2020-02-20 14:33:31 UTC
++++ spa/plugins/alsa/meson.build
+@@ -10,6 +10,6 @@ spa_alsa_sources = ['alsa.c',
+ spa_alsa = shared_library('spa-alsa',
+ spa_alsa_sources,
+ include_directories : [spa_inc],
+- dependencies : [ alsa_dep, libudev_dep, mathlib, ],
++ dependencies : [ alsa_dep, libudev_dep, mathlib, epoll_shim_dep],
+ install : true,
+ install_dir : join_paths(spa_plugindir, 'alsa'))
+--- spa/plugins/audiotestsrc/meson.build.orig 2020-02-20 14:33:31 UTC
++++ spa/plugins/audiotestsrc/meson.build
+@@ -3,6 +3,6 @@ audiotestsrc_sources = ['audiotestsrc.c', 'plugin.c']
+ audiotestsrclib = shared_library('spa-audiotestsrc',
+ audiotestsrc_sources,
+ include_directories : [spa_inc],
+- dependencies : [mathlib, ],
++ dependencies : [mathlib, epoll_shim_dep],
+ install : true,
+ install_dir : join_paths(spa_plugindir, 'audiotestsrc'))
+--- src/modules/meson.build.orig 2020-02-20 14:33:31 UTC
++++ src/modules/meson.build
+@@ -29,7 +29,7 @@ pipewire_module_rtkit = shared_library('pipewire-modul
+ include_directories : [configinc, spa_inc],
+ install : true,
+ install_dir : modules_install_dir,
+- dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep],
++ dependencies : [dbus_dep, mathlib, dl_lib, pipewire_dep, epoll_shim_dep],
+ )
+ endif
+
+@@ -42,7 +42,7 @@ pipewire_module_client_node = shared_library('pipewire
+ include_directories : [configinc, spa_inc],
+ install : true,
+ install_dir : modules_install_dir,
+- dependencies : [mathlib, dl_lib, pipewire_dep],
++ dependencies : [mathlib, dl_lib, pipewire_dep, epoll_shim_dep],
+ )
+
+ pipewire_module_link_factory = shared_library('pipewire-module-link-factory',
diff --git a/multimedia/pipewire/files/patch-src_tools_pw-cli.c b/multimedia/pipewire/files/patch-src_tools_pw-cli.c
new file mode 100644
index 000000000000..174af07c07e6
--- /dev/null
+++ b/multimedia/pipewire/files/patch-src_tools_pw-cli.c
@@ -0,0 +1,12 @@
+--- src/tools/pw-cli.c.orig 2020-02-20 14:33:31 UTC
++++ src/tools/pw-cli.c
+@@ -28,7 +28,9 @@
+ #include <signal.h>
+ #include <string.h>
+ #include <ctype.h>
++#ifndef __FreeBSD__
+ #include <alloca.h>
++#endif
+
+ #include <spa/utils/result.h>
+ #include <spa/debug/pod.h>
diff --git a/multimedia/pipewire/pkg-descr b/multimedia/pipewire/pkg-descr
new file mode 100644
index 000000000000..230036578b31
--- /dev/null
+++ b/multimedia/pipewire/pkg-descr
@@ -0,0 +1,8 @@
+PipeWire is a server and user space API to deal with multimedia pipelines. This
+includes:
+- Making available sources of video (such as from a capture devices or
+ application provided streams) and multiplexing this with clients.
+- Accessing sources of video for consumption.
+- Generating graphs for audio and video processing.
+
+WWW: https://pipewire.org/
diff --git a/multimedia/pipewire/pkg-plist b/multimedia/pipewire/pkg-plist
new file mode 100644
index 000000000000..c059acfb96fb
--- /dev/null
+++ b/multimedia/pipewire/pkg-plist
@@ -0,0 +1,156 @@
+bin/pipewire
+bin/pipewire-media-session
+bin/pw-cli
+bin/pw-dot
+bin/pw-mon
+bin/pw-profiler
+bin/spa-inspect
+bin/spa-monitor
+@sample %%ETCDIR%%/pipewire.conf.sample
+include/pipewire-0.3/pipewire/array.h
+include/pipewire-0.3/pipewire/buffers.h
+include/pipewire-0.3/pipewire/client.h
+include/pipewire-0.3/pipewire/context.h
+include/pipewire-0.3/pipewire/control.h
+include/pipewire-0.3/pipewire/core.h
+include/pipewire-0.3/pipewire/data-loop.h
+include/pipewire-0.3/pipewire/device.h
+include/pipewire-0.3/pipewire/extensions/client-node.h
+include/pipewire-0.3/pipewire/extensions/metadata.h
+include/pipewire-0.3/pipewire/extensions/profiler.h
+include/pipewire-0.3/pipewire/extensions/protocol-native.h
+include/pipewire-0.3/pipewire/extensions/session-manager.h
+include/pipewire-0.3/pipewire/extensions/session-manager/impl-interfaces.h
+include/pipewire-0.3/pipewire/extensions/session-manager/interfaces.h
+include/pipewire-0.3/pipewire/extensions/session-manager/introspect.h
+include/pipewire-0.3/pipewire/extensions/session-manager/keys.h
+include/pipewire-0.3/pipewire/factory.h
+include/pipewire-0.3/pipewire/filter.h
+include/pipewire-0.3/pipewire/global.h
+include/pipewire-0.3/pipewire/impl-client.h
+include/pipewire-0.3/pipewire/impl-core.h
+include/pipewire-0.3/pipewire/impl-device.h
+include/pipewire-0.3/pipewire/impl-factory.h
+include/pipewire-0.3/pipewire/impl-link.h
+include/pipewire-0.3/pipewire/impl-module.h
+include/pipewire-0.3/pipewire/impl-node.h
+include/pipewire-0.3/pipewire/impl-port.h
+include/pipewire-0.3/pipewire/impl.h
+include/pipewire-0.3/pipewire/keys.h
+include/pipewire-0.3/pipewire/link.h
+include/pipewire-0.3/pipewire/log.h
+include/pipewire-0.3/pipewire/loop.h
+include/pipewire-0.3/pipewire/main-loop.h
+include/pipewire-0.3/pipewire/map.h
+include/pipewire-0.3/pipewire/mem.h
+include/pipewire-0.3/pipewire/module.h
+include/pipewire-0.3/pipewire/node.h
+include/pipewire-0.3/pipewire/permission.h
+include/pipewire-0.3/pipewire/pipewire.h
+include/pipewire-0.3/pipewire/port.h
+include/pipewire-0.3/pipewire/properties.h
+include/pipewire-0.3/pipewire/protocol.h
+include/pipewire-0.3/pipewire/proxy.h
+include/pipewire-0.3/pipewire/resource.h
+include/pipewire-0.3/pipewire/stream.h
+include/pipewire-0.3/pipewire/thread-loop.h
+include/pipewire-0.3/pipewire/type.h
+include/pipewire-0.3/pipewire/utils.h
+include/pipewire-0.3/pipewire/version.h
+include/pipewire-0.3/pipewire/work-queue.h
+include/spa-0.2/spa/buffer/alloc.h
+include/spa-0.2/spa/buffer/buffer.h
+include/spa-0.2/spa/buffer/meta.h
+include/spa-0.2/spa/buffer/type-info.h
+include/spa-0.2/spa/control/control.h
+include/spa-0.2/spa/control/type-info.h
+include/spa-0.2/spa/debug/buffer.h
+include/spa-0.2/spa/debug/dict.h
+include/spa-0.2/spa/debug/format.h
+include/spa-0.2/spa/debug/mem.h
+include/spa-0.2/spa/debug/node.h
+include/spa-0.2/spa/debug/pod.h
+include/spa-0.2/spa/debug/types.h
+include/spa-0.2/spa/graph/graph.h
+include/spa-0.2/spa/monitor/device.h
+include/spa-0.2/spa/monitor/utils.h
+include/spa-0.2/spa/node/command.h
+include/spa-0.2/spa/node/event.h
+include/spa-0.2/spa/node/io.h
+include/spa-0.2/spa/node/keys.h
+include/spa-0.2/spa/node/node.h
+include/spa-0.2/spa/node/type-info.h
+include/spa-0.2/spa/node/utils.h
+include/spa-0.2/spa/param/audio/format-utils.h
+include/spa-0.2/spa/param/audio/format.h
+include/spa-0.2/spa/param/audio/layout.h
+include/spa-0.2/spa/param/audio/raw.h
+include/spa-0.2/spa/param/audio/type-info.h
+include/spa-0.2/spa/param/format-utils.h
+include/spa-0.2/spa/param/format.h
+include/spa-0.2/spa/param/param.h
+include/spa-0.2/spa/param/profiler.h
+include/spa-0.2/spa/param/props.h
+include/spa-0.2/spa/param/type-info.h
+include/spa-0.2/spa/param/video/chroma.h
+include/spa-0.2/spa/param/video/color.h
+include/spa-0.2/spa/param/video/encoded.h
+include/spa-0.2/spa/param/video/format-utils.h
+include/spa-0.2/spa/param/video/format.h
+include/spa-0.2/spa/param/video/multiview.h
+include/spa-0.2/spa/param/video/raw.h
+include/spa-0.2/spa/param/video/type-info.h
+include/spa-0.2/spa/pod/builder.h
+include/spa-0.2/spa/pod/command.h
+include/spa-0.2/spa/pod/compare.h
+include/spa-0.2/spa/pod/event.h
+include/spa-0.2/spa/pod/filter.h
+include/spa-0.2/spa/pod/iter.h
+include/spa-0.2/spa/pod/parser.h
+include/spa-0.2/spa/pod/pod.h
+include/spa-0.2/spa/pod/vararg.h
+include/spa-0.2/spa/support/cpu.h
+include/spa-0.2/spa/support/dbus.h
+include/spa-0.2/spa/support/log-impl.h
+include/spa-0.2/spa/support/log.h
+include/spa-0.2/spa/support/loop.h
+include/spa-0.2/spa/support/plugin.h
+include/spa-0.2/spa/support/system.h
+include/spa-0.2/spa/utils/defs.h
+include/spa-0.2/spa/utils/dict.h
+include/spa-0.2/spa/utils/hook.h
+include/spa-0.2/spa/utils/keys.h
+include/spa-0.2/spa/utils/list.h
+include/spa-0.2/spa/utils/names.h
+include/spa-0.2/spa/utils/result.h
+include/spa-0.2/spa/utils/ringbuffer.h
+include/spa-0.2/spa/utils/type-info.h
+include/spa-0.2/spa/utils/type.h
+lib/alsa-lib/libasound_module_pcm_pipewire.so
+lib/libpipewire-0.3.so
+lib/libpipewire-0.3.so.0
+lib/libpipewire-0.3.so.0.300.0
+lib/pipewire-0.3/libpipewire-module-access.so
+lib/pipewire-0.3/libpipewire-module-adapter.so
+lib/pipewire-0.3/libpipewire-module-client-device.so
+lib/pipewire-0.3/libpipewire-module-client-node.so
+lib/pipewire-0.3/libpipewire-module-link-factory.so
+lib/pipewire-0.3/libpipewire-module-metadata.so
+lib/pipewire-0.3/libpipewire-module-profiler.so
+lib/pipewire-0.3/libpipewire-module-protocol-native.so
+lib/pipewire-0.3/libpipewire-module-rtkit.so
+lib/pipewire-0.3/libpipewire-module-session-manager.so
+lib/pipewire-0.3/libpipewire-module-spa-device-factory.so
+lib/pipewire-0.3/libpipewire-module-spa-device.so
+lib/pipewire-0.3/libpipewire-module-spa-node-factory.so
+lib/pipewire-0.3/libpipewire-module-spa-node.so
+lib/spa-0.2/alsa/libspa-alsa.so
+lib/spa-0.2/audioconvert/libspa-audioconvert.so
+lib/spa-0.2/audiomixer/libspa-audiomixer.so
+lib/spa-0.2/control/libspa-control.so
+lib/spa-0.2/support/libspa-dbus.so
+lib/spa-0.2/support/libspa-support.so
+lib/spa-0.2/v4l2/libspa-v4l2.so
+lib/spa-0.2/videoconvert/libspa-videoconvert.so
+libdata/pkgconfig/libpipewire-0.3.pc
+libdata/pkgconfig/libspa-0.2.pc