From cb2ef37af34beee3624db963653a8a36e1170006 Mon Sep 17 00:00:00 2001 From: jopejoe1 Date: Wed, 9 Oct 2024 22:05:36 +0200 Subject: [PATCH] lcevcdec: init at 3.2.1 --- pkgs/by-name/lc/lcevcdec/package.nix | 104 +++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 pkgs/by-name/lc/lcevcdec/package.nix diff --git a/pkgs/by-name/lc/lcevcdec/package.nix b/pkgs/by-name/lc/lcevcdec/package.nix new file mode 100644 index 000000000000..20526efebc91 --- /dev/null +++ b/pkgs/by-name/lc/lcevcdec/package.nix @@ -0,0 +1,104 @@ +{ + cmake, + copyPkgconfigItems, + fetchFromGitHub, + fmt, + git, + gitUpdater, + gtest, + lib, + makePkgconfigItem, + pkg-config, + python3, + range-v3, + rapidjson, + stdenv, + testers, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "lcevcdec"; + version = "3.2.1"; + + outputs = [ + "out" + "lib" + "dev" + ]; + + src = fetchFromGitHub { + owner = "v-novaltd"; + repo = "LCEVCdec"; + rev = "refs/tags/${finalAttrs.version}"; + hash = "sha256-Nf0YntB1A3AH0MTXlfUHhxYbzZqeB0EH9Fe9Xrqdsts="; + }; + + postPatch = '' + substituteInPlace cmake/tools/version_files.py \ + --replace-fail "args.git_version" '"${finalAttrs.version}"' \ + --replace-fail "args.git_hash" '"${finalAttrs.src.rev}"' \ + --replace-fail "args.git_date" '"1970-01-01"' + ''; + + env = { + includedir = "${placeholder "dev"}/include"; + libdir = "${placeholder "out"}/lib"; + }; + + pkgconfigItems = [ + (makePkgconfigItem rec { + name = "lcevc_dec"; + inherit (finalAttrs) version; + libs = [ + "-L${variables.libdir}" + "-llcevc_dec_api" + ]; + libsPrivate = [ + "-lpthread" + "-llcevc_dec_core" + ]; + cflags = [ + "-I${variables.includedir}" + ]; + variables = { + prefix = "@dev@"; + includedir = "@includedir@"; + libdir = "@libdir@"; + }; + }) + ]; + + nativeBuildInputs = [ + cmake + python3 + git + pkg-config + copyPkgconfigItems + ]; + + buildInputs = [ + rapidjson + fmt + range-v3 + ]; + + cmakeFlags = [ + (lib.cmakeFeature "VN_SDK_FFMPEG_LIBS_PACKAGE" "") + (lib.cmakeBool "VN_SDK_UNIT_TESTS" false) + (lib.cmakeBool "VN_SDK_SAMPLE_SOURCE" false) + ]; + + passthru = { + updateScript = gitUpdater { }; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + homepage = "https://github.com/v-novaltd/LCEVCdec"; + description = "MPEG-5 LCEVC Decoder"; + license = lib.licenses.bsd3Clear; + pkgConfigModules = [ "lcevc_dec" ]; + maintainers = with lib.maintainers; [ jopejoe1 ]; + platforms = lib.platforms.all; + }; +})