60 lines
1.6 KiB
Nix
60 lines
1.6 KiB
Nix
{ lib, mkDerivation, fetchFromBitbucket, makeWrapper, runCommand
|
|
, python3, vapoursynth
|
|
, qmake, qtbase, qtwebsockets
|
|
}:
|
|
|
|
let
|
|
unwrapped = mkDerivation rec {
|
|
pname = "vapoursynth-editor";
|
|
version = "R19";
|
|
|
|
src = fetchFromBitbucket {
|
|
owner = "mystery_keeper";
|
|
repo = pname;
|
|
rev = lib.toLower version;
|
|
sha256 = "1zlaynkkvizf128ln50yvzz3b764f5a0yryp6993s9fkwa7djb6n";
|
|
};
|
|
|
|
nativeBuildInputs = [ qmake ];
|
|
buildInputs = [ qtbase vapoursynth qtwebsockets ];
|
|
|
|
dontWrapQtApps = true;
|
|
|
|
preConfigure = "cd pro";
|
|
|
|
preFixup = ''
|
|
cd ../build/release*
|
|
mkdir -p $out/bin
|
|
for bin in vsedit{,-job-server{,-watcher}}; do
|
|
mv $bin $out/bin
|
|
wrapQtApp $out/bin/$bin
|
|
done
|
|
'';
|
|
|
|
passthru = { inherit withPlugins; };
|
|
|
|
meta = with lib; {
|
|
description = "Cross-platform editor for VapourSynth scripts";
|
|
homepage = "https://bitbucket.org/mystery_keeper/vapoursynth-editor";
|
|
license = licenses.mit;
|
|
maintainers = with maintainers; [ tadeokondrak ];
|
|
platforms = platforms.all;
|
|
};
|
|
};
|
|
|
|
withPlugins = plugins: let
|
|
vapoursynthWithPlugins = vapoursynth.withPlugins plugins;
|
|
in runCommand "${unwrapped.name}-with-plugins" {
|
|
buildInputs = [ makeWrapper ];
|
|
passthru = { withPlugins = plugins': withPlugins (plugins ++ plugins'); };
|
|
} ''
|
|
mkdir -p $out/bin
|
|
for bin in vsedit{,-job-server{,-watcher}}; do
|
|
makeWrapper ${unwrapped}/bin/$bin $out/bin/$bin \
|
|
--prefix PYTHONPATH : ${vapoursynthWithPlugins}/${python3.sitePackages} \
|
|
--prefix LD_LIBRARY_PATH : ${vapoursynthWithPlugins}/lib
|
|
done
|
|
'';
|
|
in
|
|
withPlugins []
|