nixpkgs/pkgs/development/libraries/pipewire/default.nix
Rouven Czerwinski bc8e1f3ad5 pipewire: patch for SIGILL in fmt-ops
Hydra run tests are failing with SIGILL, see [1] , import the upstream
patch to fix the issue. Presumably not all hydra runners have the same
instruction extensions, this should fix the tests on those without AVX2.

[1]: https://hydra.nixos.org/build/117012754
2020-04-25 08:28:50 +02:00

102 lines
1.8 KiB
Nix

{ stdenv
, fetchFromGitLab
, fetchpatch
, meson
, ninja
, pkgconfig
, doxygen
, graphviz
, valgrind
, glib
, dbus
, gst_all_1
, alsaLib
, ffmpeg
, libjack2
, udev
, libva
, xorg
, sbc
, SDL2
, libsndfile
, bluez
, vulkan-headers
, vulkan-loader
, libpulseaudio
, makeFontsConf
}:
let
fontsConf = makeFontsConf {
fontDirectories = [];
};
in
stdenv.mkDerivation rec {
pname = "pipewire";
version = "0.3.2";
outputs = [ "out" "lib" "dev" "doc" ];
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "pipewire";
repo = "pipewire";
rev = version;
sha256 = "U7lqvn2vMIxARNplzNX9H3Ztlfv1IH8LozJsq7JSEKs=";
};
nativeBuildInputs = [
doxygen
graphviz
meson
ninja
pkgconfig
valgrind
];
buildInputs = [
SDL2
alsaLib
bluez
dbus
ffmpeg
glib
gst_all_1.gst-plugins-base
gst_all_1.gstreamer
libjack2
libpulseaudio
libsndfile
libva
sbc
udev
vulkan-headers
vulkan-loader
xorg.libX11
];
patches = [
# fix SIGILL in fmt-ops: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/227
(fetchpatch {
url = "https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1b3aaba206f48e75bb34ff0cd00321bd3d6db2b4.patch";
sha256 = "08bmr9k2r0q4r7vhhm28k558nk3mz3jfnqswvq9mcj7p0srmfb4x";
})
];
mesonFlags = [
"-Ddocs=true"
"-Dman=false" # we don't have xmltoman
"-Dgstreamer=true"
];
FONTCONFIG_FILE = fontsConf; # Fontconfig error: Cannot load default config file
doCheck = true;
meta = with stdenv.lib; {
description = "Server and user space API to deal with multimedia pipelines";
homepage = "https://pipewire.org/";
license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ jtojnar ];
};
}