nixpkgs/pkgs/development/libraries/dav1d/default.nix
Jonathan Ringer 9bb3fccb5b treewide: pkgs.pkgconfig -> pkgs.pkg-config, move pkgconfig to alias.nix
continuation of #109595

pkgconfig was aliased in 2018, however, it remained in
all-packages.nix due to its wide usage. This cleans
up the remaining references to pkgs.pkgsconfig and
moves the entry to aliases.nix.

python3Packages.pkgconfig remained unchanged because
it's the canonical name of the upstream package
on pypi.
2021-01-19 01:16:25 -08:00

48 lines
1.6 KiB
Nix

{ stdenv, fetchFromGitLab
, meson, ninja, nasm, pkg-config
, withTools ? false # "dav1d" binary
, withExamples ? false, SDL2 # "dav1dplay" binary
, useVulkan ? false, libplacebo, vulkan-loader, vulkan-headers
}:
assert useVulkan -> withExamples;
stdenv.mkDerivation rec {
pname = "dav1d";
version = "0.8.1";
src = fetchFromGitLab {
domain = "code.videolan.org";
owner = "videolan";
repo = pname;
rev = version;
sha256 = "1820fpmmq1vxjzjmza6ydk4fgxipb8gmcc5skybki64qn7410v7x";
};
nativeBuildInputs = [ meson ninja nasm pkg-config ];
# TODO: doxygen (currently only HTML and not build by default).
buildInputs = stdenv.lib.optional withExamples SDL2
++ stdenv.lib.optionals useVulkan [ libplacebo vulkan-loader vulkan-headers ];
mesonFlags= [
"-Denable_tools=${stdenv.lib.boolToString withTools}"
"-Denable_examples=${stdenv.lib.boolToString withExamples}"
];
meta = with stdenv.lib; {
description = "A cross-platform AV1 decoder focused on speed and correctness";
longDescription = ''
The goal of this project is to provide a decoder for most platforms, and
achieve the highest speed possible to overcome the temporary lack of AV1
hardware decoder. It supports all features from AV1, including all
subsampling and bit-depth parameters.
'';
inherit (src.meta) homepage;
changelog = "https://code.videolan.org/videolan/dav1d/-/tags/${version}";
# More technical: https://code.videolan.org/videolan/dav1d/blob/${version}/NEWS
license = licenses.bsd2;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ];
};
}