linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / libaom / default.nix
blob62045a79ebf5831e745fa3ae9ba45b79626c6924
1 { lib, stdenv, fetchgit, yasm, perl, cmake, pkg-config, python3 }:
3 stdenv.mkDerivation rec {
4   pname = "libaom";
5   version = "3.0.0";
7   src = fetchgit {
8     url = "https://aomedia.googlesource.com/aom";
9     rev = "v${version}";
10     sha256 = "178rq1d7i9q4lg40bipkyhdrk18j9wi5k5avpa5bls0zm7g5ifsx";
11   };
13   patches = [ ./outputs.patch ];
15   nativeBuildInputs = [
16     yasm perl cmake pkg-config python3
17   ];
19   preConfigure = ''
20     # build uses `git describe` to set the build version
21     cat > $NIX_BUILD_TOP/git << "EOF"
22     #!${stdenv.shell}
23     echo v${version}
24     EOF
25     chmod +x $NIX_BUILD_TOP/git
26     export PATH=$NIX_BUILD_TOP:$PATH
27   '';
29   # Configuration options:
30   # https://aomedia.googlesource.com/aom/+/refs/heads/master/build/cmake/aom_config_defaults.cmake
32   cmakeFlags = [
33     "-DBUILD_SHARED_LIBS=ON"
34     "-DENABLE_TESTS=OFF"
35   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
36     # CPU detection isn't supported on Darwin and breaks the aarch64-darwin build:
37     "-DCONFIG_RUNTIME_CPU_DETECT=0"
38   ];
40   postFixup = ''
41     moveToOutput lib/libaom.a "$static"
42   '';
44   outputs = [ "out" "bin" "dev" "static" ];
46   meta = with lib; {
47     description = "Alliance for Open Media AV1 codec library";
48     longDescription = ''
49       Libaom is the reference implementation of the AV1 codec from the Alliance
50       for Open Media. It contains an AV1 library as well as applications like
51       an encoder (aomenc) and a decoder (aomdec).
52     '';
53     homepage    = "https://aomedia.org/av1-features/get-started/";
54     changelog   = "https://aomedia.googlesource.com/aom/+/refs/tags/v${version}/CHANGELOG";
55     maintainers = with maintainers; [ primeos kiloreux ];
56     platforms   = platforms.all;
57     license = licenses.bsd2;
58   };