diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libaom/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/libaom/default.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libaom/default.nix b/nixpkgs/pkgs/development/libraries/libaom/default.nix new file mode 100644 index 000000000000..e35f83859159 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/libaom/default.nix @@ -0,0 +1,59 @@ +{ lib, stdenv, fetchgit, yasm, perl, cmake, pkg-config, python3 }: + +stdenv.mkDerivation rec { + pname = "libaom"; + version = "2.0.0"; + + src = fetchgit { + url = "https://aomedia.googlesource.com/aom"; + rev = "v${version}"; + sha256 = "1616xjhj6770ykn82ml741h8hx44v507iky3s9h7a5lnk9d4cxzy"; + }; + + patches = [ ./outputs.patch ]; + + nativeBuildInputs = [ + yasm perl cmake pkg-config python3 + ]; + + preConfigure = '' + # build uses `git describe` to set the build version + cat > $NIX_BUILD_TOP/git << "EOF" + #!${stdenv.shell} + echo v${version} + EOF + chmod +x $NIX_BUILD_TOP/git + export PATH=$NIX_BUILD_TOP:$PATH + ''; + + # Configuration options: + # https://aomedia.googlesource.com/aom/+/refs/heads/master/build/cmake/aom_config_defaults.cmake + + cmakeFlags = [ + "-DBUILD_SHARED_LIBS=ON" + "-DENABLE_TESTS=OFF" + ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ + # CPU detection isn't supported on Darwin and breaks the aarch64-darwin build: + "-DCONFIG_RUNTIME_CPU_DETECT=0" + ]; + + postFixup = '' + moveToOutput lib/libaom.a "$static" + ''; + + outputs = [ "out" "bin" "dev" "static" ]; + + meta = with lib; { + description = "Alliance for Open Media AV1 codec library"; + longDescription = '' + Libaom is the reference implementation of the AV1 codec from the Alliance + for Open Media. It contains an AV1 library as well as applications like + an encoder (aomenc) and a decoder (aomdec). + ''; + homepage = "https://aomedia.org/av1-features/get-started/"; + changelog = "https://aomedia.googlesource.com/aom/+/refs/tags/v${version}/CHANGELOG"; + maintainers = with maintainers; [ primeos kiloreux ]; + platforms = platforms.all; + license = licenses.bsd2; + }; +} |