From 65380e038b18e42a167dec6d921d2bc435636eba Mon Sep 17 00:00:00 2001 From: Hannes <33062605+HannesGitH@users.noreply.github.com> Date: Thu, 2 May 2024 10:17:33 +0200 Subject: vdhcoapp: init at 2.0.19 --- pkgs/by-name/vd/vdhcoapp/package.nix | 83 ++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 pkgs/by-name/vd/vdhcoapp/package.nix (limited to 'pkgs/by-name/vd/vdhcoapp/package.nix') diff --git a/pkgs/by-name/vd/vdhcoapp/package.nix b/pkgs/by-name/vd/vdhcoapp/package.nix new file mode 100644 index 0000000000000..ad61515b9ecba --- /dev/null +++ b/pkgs/by-name/vd/vdhcoapp/package.nix @@ -0,0 +1,83 @@ +{ lib +, fetchFromGitHub +, buildNpmPackage +, nodejs +, ffmpeg +, callPackage +, substituteAll +, makeWrapper +, toml2json +, jq +}: +buildNpmPackage rec { + pname = "vdhcoapp"; + version = "2.0.19"; + + src = fetchFromGitHub { + owner = "aclap-dev"; + repo = "vdhcoapp"; + rev = "v${version}"; + hash = "sha256-8xeZvqpRq71aShVogiwlVD3gQoPGseNOmz5E3KbsZxU="; + }; + + sourceRoot = "${src.name}/app"; + npmDepsHash = "sha256-E032U2XZdyTER6ROkBosOTn7bweDXHl8voC3BQEz8Wg="; + dontNpmBuild = true; + + nativeBuildInputs = [ + makeWrapper + toml2json + jq + ]; + + patches = [ + (substituteAll { + src = ./ffmpeg-filepicker.patch; + inherit ffmpeg; + filepicker = lib.getExe (callPackage ./filepicker.nix {}); + }) + ]; + + postPatch = '' + # Cannot use patch, setting placeholder here + substituteInPlace src/native-autoinstall.js \ + --replace process.execPath "\"${placeholder "out"}/bin/vdhcoapp\"" + ''; + + preBuild = '' + toml2json --pretty ../config.toml > src/config.json + ''; + + installPhase = '' + runHook preInstall + mkdir -p $out/opt/vdhcoapp + cp -r . "$out/opt/vdhcoapp" + + makeWrapper ${nodejs}/bin/node $out/bin/vdhcoapp \ + --add-flags $out/opt/vdhcoapp/src/main.js + + generateManifest() { + type=$1 + outputFolder=$2 + mkdir -p $outputFolder + manifestName=$(jq -r '.meta.id' src/config.json).json + jq '.store.'$type'.manifest * (.meta | with_entries(select (.key == "description")) * {"name": .id}) * {"path" : "${placeholder "out"}/bin/vdhcoapp"}' src/config.json > $outputFolder/$manifestName + } + + generateManifest google $out/etc/opt/chrome/native-messaging-hosts + generateManifest google $out/etc/chromium/native-messaging-hosts + generateManifest mozilla $out/lib/mozilla/native-messaging-hosts + generateManifest google $out/etc/opt/edge/native-messaging-hosts + + runHook postInstall + ''; + + meta = with lib; { + description = "Companion application for the Video DownloadHelper browser add-on"; + homepage = "https://www.downloadhelper.net/"; + license = licenses.gpl2; + platforms = lib.platforms.linux; + maintainers = with maintainers; [ hannesgith ]; + mainProgram = "vdhcoapp"; + }; +} -- cgit 1.4.1