python313Packages.bgutil-ytdlp-pot-provider: package server (#494563)

This commit is contained in:
Martin Weinelt
2026-06-22 18:47:48 +02:00
committed by GitHub

View File

@@ -1,8 +1,16 @@
{
lib,
buildPythonPackage,
cairo,
fetchFromGitHub,
fetchNpmDeps,
giflib,
hatchling,
nodejs,
npmHooks,
pango,
pixman,
pkg-config,
yt-dlp,
}:
@@ -18,7 +26,27 @@ buildPythonPackage rec {
hash = "sha256-dhpataQ1HSCRPnm4k3K/NMaQPQdNrx8C4q855l7kbbQ=";
};
sourceRoot = "${src.name}/plugin";
npmDeps = fetchNpmDeps {
name = "${pname}-${version}-npm-deps";
src = src + "/server";
npmDepsFetcherVersion = 2;
hash = "sha256-Qwwi6W+Oeu6ZeLmZP5vEfAKOJyivbULR5mlk7tcVIE8=";
};
npmRoot = "server";
nativeBuildInputs = [
nodejs
npmHooks.npmConfigHook
pkg-config
];
buildInputs = [
cairo
giflib
pango
pixman
];
build-system = [ hatchling ];
@@ -26,10 +54,29 @@ buildPythonPackage rec {
doCheck = false; # no tests
preBuild = ''
cd server
npx tsc
npm prune --omit=dev
cd ../plugin
'';
postInstall = ''
cd ..
mkdir -p $out/share/bgutil-ytdlp-pot-provider/
cp -r server/{build,node_modules} $out/share/bgutil-ytdlp-pot-provider/
makeWrapper ${lib.getExe nodejs} $out/bin/bgutil-ytdlp-pot-provider \
--add-flags $out/share/bgutil-ytdlp-pot-provider/build/main.js
cd plugin
'';
meta = {
description = "Proof-of-origin token provider plugin for yt-dlp";
homepage = "https://github.com/Brainicism/bgutil-ytdlp-pot-provider";
license = lib.licenses.gpl3Only;
maintainers = with lib.maintainers; [ hexa ];
mainProgram = "bgutil-ytdlp-pot-provider";
};
}