aboutsummaryrefslogtreecommitdiff
path: root/multimedia/pipewire
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia/pipewire')
-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
6 files changed, 270 insertions, 0 deletions
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