diff --git a/pkgs/development/libraries/libyuv/default.nix b/pkgs/development/libraries/libyuv/default.nix new file mode 100644 index 000000000000..ac69ab8dacc0 --- /dev/null +++ b/pkgs/development/libraries/libyuv/default.nix @@ -0,0 +1,34 @@ +{ lib +, stdenv +, fetchgit +, cmake +, libjpeg +}: + +stdenv.mkDerivation rec { + pname = "libyuv"; + version = "1787"; # Defined in: include/libyuv/version.h + + src = fetchgit { + url = "https://chromium.googlesource.com/libyuv/libyuv.git"; + rev = "eb6e7bb63738e29efd82ea3cf2a115238a89fa51"; # refs/heads/stable + sha256 = "sha256-DtRYoaAXb9ZD2OLiKbzKzH5vzuu+Lzu4eHaDgPB9hjU="; + }; + + nativeBuildInputs = [ + cmake + ]; + + # NEON does not work on aarch64, we disable it + cmakeFlags = lib.optionals stdenv.isAarch64 ["-DCMAKE_CXX_FLAGS=-DLIBYUV_DISABLE_NEON"]; + + buildInputs = [ libjpeg ]; + + meta = with lib; { + homepage = "https://chromium.googlesource.com/libyuv/libyuv"; + description = "Open source project that includes YUV scaling and conversion functionality"; + platforms = platforms.linux; + maintainers = with maintainers; [ leixb ]; + license = licenses.bsd3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0bc874b8c879..75d09e191e73 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18924,6 +18924,8 @@ with pkgs; libyubikey = callPackage ../development/libraries/libyubikey { }; + libyuv = callPackage ../development/libraries/libyuv { }; + libzapojit = callPackage ../development/libraries/libzapojit { }; libzen = callPackage ../development/libraries/libzen { };