diff options
author | Jan Solanti <jhs@psonet.com> | 2021-10-25 16:45:52 +0300 |
---|---|---|
committer | Jan Solanti <jhs@psonet.com> | 2021-10-25 20:34:40 +0300 |
commit | b65f74fd98b06a84a67b66138d31be8419612c09 (patch) | |
tree | ca8d5d1f11fd73bd222671adbe4f4d31d9277a72 /pkgs/development/libraries/pipewire | |
parent | c750019f9d2f3fc9c506e3c49536e431f96e2e41 (diff) | |
download | nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.tar nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.tar.gz nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.tar.bz2 nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.tar.lz nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.tar.xz nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.tar.zst nixpkgs-b65f74fd98b06a84a67b66138d31be8419612c09.zip |
pipewire-media-session: init at 0.4.0
Diffstat (limited to 'pkgs/development/libraries/pipewire')
-rw-r--r-- | pkgs/development/libraries/pipewire/media-session.nix | 93 | ||||
-rw-r--r-- | pkgs/development/libraries/pipewire/test-paths.nix | 7 | ||||
-rwxr-xr-x | pkgs/development/libraries/pipewire/update.sh | 21 |
3 files changed, 113 insertions, 8 deletions
diff --git a/pkgs/development/libraries/pipewire/media-session.nix b/pkgs/development/libraries/pipewire/media-session.nix new file mode 100644 index 00000000000..37daffe5c88 --- /dev/null +++ b/pkgs/development/libraries/pipewire/media-session.nix @@ -0,0 +1,93 @@ +{ stdenv +, lib +, fetchFromGitLab +, meson +, ninja +, pkg-config +, doxygen +, graphviz +, systemd +, pipewire +, glib +, dbus +, alsa-lib +, callPackage +}: + +let + mesonEnable = b: if b then "enabled" else "disabled"; + mesonList = l: "[" + lib.concatStringsSep "," l + "]"; + + self = stdenv.mkDerivation rec { + pname = "pipewire-media-session"; + version = "0.4.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "pipewire"; + repo = "media-session"; + rev = version; + sha256 = "sha256-zhOvBlG7DuQkJ+ZZBhBhfKwk+bbLljpt3w4JlK3cJLk="; + }; + + nativeBuildInputs = [ + doxygen + graphviz + meson + ninja + pkg-config + ]; + + buildInputs = [ + alsa-lib + dbus + glib + pipewire + systemd + ]; + + mesonFlags = [ + "-Ddocs=enabled" + # We generate these empty files from the nixos module, don't bother installing them + "-Dwith-module-sets=[]" + ]; + + postUnpack = '' + patchShebangs source/doc/input-filter-h.sh + patchShebangs source/doc/input-filter.sh + ''; + + postInstall = '' + mkdir $out/nix-support + cd $out/share/pipewire/media-session.d + for f in *.conf; do + echo "Generating JSON from $f" + ${pipewire}/bin/spa-json-dump "$f" > "$out/nix-support/$f.json" + done + ''; + + passthru = { + tests = { + test-paths = callPackage ./test-paths.nix { package = self; } { + paths-out = [ + "nix-support/alsa-monitor.conf.json" + "nix-support/bluez-monitor.conf.json" + "nix-support/media-session.conf.json" + "nix-support/v4l2-monitor.conf.json" + ]; + paths-lib = []; + }; + }; + }; + + meta = with lib; { + description = "Example session manager for PipeWire"; + homepage = "https://pipewire.org"; + license = licenses.mit; + platforms = platforms.linux; + maintainers = with maintainers; [ jtojnar kranzes ]; + }; + }; + +in +self diff --git a/pkgs/development/libraries/pipewire/test-paths.nix b/pkgs/development/libraries/pipewire/test-paths.nix index 939b79686e3..1e3e5fef3a6 100644 --- a/pkgs/development/libraries/pipewire/test-paths.nix +++ b/pkgs/development/libraries/pipewire/test-paths.nix @@ -1,4 +1,4 @@ -{ lib, runCommand, pipewire, paths-out, paths-lib, paths-out-media-session }: +{ lib, runCommand, package, paths-out, paths-lib }: let check-path = output: path: '' @@ -14,9 +14,8 @@ let in runCommand "pipewire-test-paths" { } '' touch $out - ${check-output pipewire.mediaSession paths-out-media-session} - ${check-output pipewire.lib paths-lib} - ${check-output pipewire paths-out} + ${check-output package.lib paths-lib} + ${check-output package paths-out} if [[ -n "$error" ]]; then exit 1 diff --git a/pkgs/development/libraries/pipewire/update.sh b/pkgs/development/libraries/pipewire/update.sh index 6d0088c206c..9fc46627667 100755 --- a/pkgs/development/libraries/pipewire/update.sh +++ b/pkgs/development/libraries/pipewire/update.sh @@ -11,14 +11,27 @@ NIXPKGS_ROOT="$(git rev-parse --show-toplevel)" cd "$NIXPKGS_ROOT" nix-update pipewire -outputs=$(nix-build . -A pipewire -A pipewire.mediaSession) +outputs=$(nix-build . -A pipewire) for p in $outputs; do - conf_files=$(find "$p/nix-support/etc/pipewire/" -name '*.conf.json') + conf_files=$(find "$p/nix-support/" -name '*.conf.json') for c in $conf_files; do file_name=$(basename "$c") - if [[ ! -e "nixos/modules/services/desktops/pipewire/$file_name" ]]; then + if [[ ! -e "nixos/modules/services/desktops/pipewire/daemon/$file_name" ]]; then echo "New file $file_name found! Add it to the module config and passthru tests!" fi - install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/" + install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/daemon/" + done +done + +nix-update pipewire-media-session +outputs=$(nix-build . -A pipewire-media-session) +for p in $outputs; do + conf_files=$(find "$p/nix-support/" -name '*.conf.json') + for c in $conf_files; do + file_name=$(basename "$c") + if [[ ! -e "nixos/modules/services/desktops/pipewire/media-session/$file_name" ]]; then + echo "New file $file_name found! Add it to the module config and passthru tests!" + fi + install -m 0644 "$c" "nixos/modules/services/desktops/pipewire/media-session/" done done |