logic for complex pkgs, citra, pano, vdhcoapp
This commit is contained in:
46
pkgs/vdhcoapp/code.patch
Normal file
46
pkgs/vdhcoapp/code.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
diff --git a/src/converter.js b/src/converter.js
|
||||
index af7b4c3..20da407 100644
|
||||
--- a/src/converter.js
|
||||
+++ b/src/converter.js
|
||||
@@ -1,4 +1,4 @@
|
||||
-import open from 'open';
|
||||
+function open() {}
|
||||
|
||||
const os = require("os");
|
||||
const path = require('path');
|
||||
@@ -9,9 +9,9 @@ const rpc = require('./weh-rpc');
|
||||
|
||||
const exec_dir = path.dirname(process.execPath);
|
||||
|
||||
-const ffmpeg = findExecutableFullPath("ffmpeg", exec_dir);
|
||||
-const ffprobe = findExecutableFullPath("ffprobe", exec_dir);
|
||||
-const filepicker = findExecutableFullPath("filepicker", exec_dir);
|
||||
+const ffmpeg = "@ffmpeg@/bin/ffmpeg";
|
||||
+const ffprobe = "@ffmpeg@/bin/ffprobe";
|
||||
+const filepicker = "@filepicker@";
|
||||
|
||||
if (!fileExistsSync(ffmpeg)) {
|
||||
logger.error("ffmpeg not found. Install ffmpeg and make sure it's in your path.");
|
||||
diff --git a/src/main.js b/src/main.js
|
||||
index 47b92de..e2e9402 100644
|
||||
--- a/src/main.js
|
||||
+++ b/src/main.js
|
||||
@@ -1,4 +1,4 @@
|
||||
-const config = require('config.json');
|
||||
+const config = require('./config.json');
|
||||
const converter = require('./converter');
|
||||
const os = require("os");
|
||||
|
||||
diff --git a/src/native-autoinstall.js b/src/native-autoinstall.js
|
||||
index 556a22b..c729568 100644
|
||||
--- a/src/native-autoinstall.js
|
||||
+++ b/src/native-autoinstall.js
|
||||
@@ -1,7 +1,7 @@
|
||||
const os = require("os");
|
||||
const path = require("path");
|
||||
const { spawn, exec } = require('child_process');
|
||||
-const config = require('config.json');
|
||||
+const config = require('./config.json');
|
||||
|
||||
let fs;
|
||||
if (process.versions.node.startsWith("10")) {
|
||||
79
pkgs/vdhcoapp/default.nix
Normal file
79
pkgs/vdhcoapp/default.nix
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
buildNpmPackage,
|
||||
toml2json,
|
||||
nodejs,
|
||||
ffmpeg,
|
||||
substituteAll,
|
||||
makeWrapper,
|
||||
callPackage,
|
||||
}:
|
||||
|
||||
# This is an adaptation with buildNpmPackage based on https://github.com/milahu/nur-packages/commit/3022ffb3619182ffcd579194e1202e3978e4d55b
|
||||
|
||||
let
|
||||
filepicker = callPackage ./filepicker.nix { };
|
||||
in
|
||||
buildNpmPackage (
|
||||
let
|
||||
version = "2.0.19";
|
||||
pname = "vdhcoapp";
|
||||
src = fetchFromGitHub {
|
||||
owner = "aclap-dev";
|
||||
repo = "${pname}";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-8xeZvqpRq71aShVogiwlVD3gQoPGseNOmz5E3KbsZxU=";
|
||||
};
|
||||
in
|
||||
{
|
||||
inherit pname version src;
|
||||
|
||||
sourceRoot = "${src.name}/app";
|
||||
npmDepsHash = "sha256-E032U2XZdyTER6ROkBosOTn7bweDXHl8voC3BQEz8Wg=";
|
||||
dontNpmBuild = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
toml2json
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
patches = [
|
||||
(substituteAll {
|
||||
src = builtins.path {
|
||||
path = ./code.patch;
|
||||
name = "${src.name}-patch";
|
||||
};
|
||||
inherit ffmpeg;
|
||||
filepicker = lib.getExe filepicker;
|
||||
})
|
||||
];
|
||||
|
||||
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 = ''
|
||||
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
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Companion application for the Video DownloadHelper browser add-on";
|
||||
homepage = "https://www.downloadhelper.net/";
|
||||
license = lib.licenses.gpl2;
|
||||
maintainers = [ lib.maintainers.wolfangaukang ];
|
||||
mainProgram = "vdhcoapp";
|
||||
};
|
||||
}
|
||||
)
|
||||
44
pkgs/vdhcoapp/filepicker.nix
Normal file
44
pkgs/vdhcoapp/filepicker.nix
Normal file
@@ -0,0 +1,44 @@
|
||||
{
|
||||
lib,
|
||||
rustPlatform,
|
||||
fetchFromGitHub,
|
||||
pkg-config,
|
||||
atk,
|
||||
gtk3,
|
||||
glib,
|
||||
}:
|
||||
|
||||
rustPlatform.buildRustPackage (
|
||||
let
|
||||
version = "1.0.1";
|
||||
in
|
||||
{
|
||||
pname = "filepicker";
|
||||
inherit version;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "paulrouget";
|
||||
repo = "static-filepicker";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-7sRzf3SA9RSBf4O36olXgka8c6Bufdb0qsuTofVe55s=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-aal7ppFkCpNc+QTS4Qklsb9WfJ65QqG6p1eOskiX+/Q=";
|
||||
|
||||
buildInputs = [
|
||||
atk
|
||||
gtk3
|
||||
glib
|
||||
];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
meta = {
|
||||
description = "File picker used by VDHCoApp";
|
||||
homepage = "https://github.com/paulrouget/static-filepicker";
|
||||
license = lib.licenses.gpl2;
|
||||
mainProgram = "filepicker";
|
||||
maintainers = [ lib.maintainers.hannesgith ];
|
||||
};
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user