2021-12-24 16:30:35 +00:00
|
|
|
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, doxygen, graphviz
|
2021-06-10 02:57:09 +00:00
|
|
|
, glib, dbus, gst_all_1, alsa-lib, ffmpeg_4, libjack2, udev, libva, xorg
|
2020-03-02 13:38:49 +00:00
|
|
|
, sbc, SDL2, makeFontsConf
|
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
|
|
|
fontsConf = makeFontsConf {
|
|
|
|
fontDirectories = [ ];
|
|
|
|
};
|
|
|
|
in stdenv.mkDerivation rec {
|
|
|
|
pname = "pipewire";
|
|
|
|
version = "0.2.7";
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "PipeWire";
|
|
|
|
repo = "pipewire";
|
|
|
|
rev = version;
|
|
|
|
sha256 = "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc";
|
|
|
|
};
|
|
|
|
|
|
|
|
outputs = [ "out" "lib" "dev" "doc" ];
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
2021-12-24 16:30:35 +00:00
|
|
|
meson ninja pkg-config doxygen graphviz
|
2020-03-02 13:38:49 +00:00
|
|
|
];
|
|
|
|
buildInputs = [
|
|
|
|
glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer
|
2021-06-10 02:57:09 +00:00
|
|
|
alsa-lib ffmpeg_4 libjack2 udev libva xorg.libX11 sbc SDL2
|
2020-03-02 13:38:49 +00:00
|
|
|
];
|
|
|
|
|
2022-02-21 07:52:42 +00:00
|
|
|
# Workaround build on gcc-10+ and clang11+:
|
|
|
|
# spa/plugins/bluez5/libspa-bluez5.so.p/bluez5-monitor.c.o:(.bss+0x0):
|
|
|
|
# multiple definition of `spa_a2dp_sink_factory'
|
|
|
|
NIX_CFLAGS_COMPILE = [ "-fcommon" ];
|
|
|
|
|
2020-03-02 13:38:49 +00:00
|
|
|
mesonFlags = [
|
|
|
|
"-Ddocs=true"
|
|
|
|
"-Dgstreamer=enabled"
|
|
|
|
];
|
|
|
|
|
|
|
|
PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
|
|
|
|
|
|
|
|
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
|
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
|
2021-01-21 17:00:13 +00:00
|
|
|
meta = with lib; {
|
2020-03-02 13:38:49 +00:00
|
|
|
description = "Server and user space API to deal with multimedia pipelines";
|
2020-04-01 01:11:51 +00:00
|
|
|
homepage = "https://pipewire.org/";
|
2020-03-02 13:38:49 +00:00
|
|
|
license = licenses.lgpl21;
|
|
|
|
platforms = platforms.linux;
|
|
|
|
maintainers = with maintainers; [ jtojnar ];
|
|
|
|
};
|
|
|
|
}
|