vapoursynth-editor: allow adding plugins without rebuilding
This commit is contained in:
parent
c373e6ddb2
commit
b6f3c4d075
@ -1,43 +1,59 @@
|
|||||||
{ lib, mkDerivation, fetchFromBitbucket
|
{ lib, stdenv, mkDerivation, fetchFromBitbucket, makeWrapper, runCommand
|
||||||
, python3, vapoursynth
|
, python3, vapoursynth
|
||||||
, qmake, qtbase, qtwebsockets
|
, qmake, qtbase, qtwebsockets
|
||||||
}:
|
}:
|
||||||
|
|
||||||
mkDerivation rec {
|
let
|
||||||
pname = "vapoursynth-editor";
|
unwrapped = mkDerivation rec {
|
||||||
version = "R19";
|
pname = "vapoursynth-editor";
|
||||||
|
version = "R19";
|
||||||
|
|
||||||
src = fetchFromBitbucket {
|
src = fetchFromBitbucket {
|
||||||
owner = "mystery_keeper";
|
owner = "mystery_keeper";
|
||||||
repo = pname;
|
repo = pname;
|
||||||
rev = lib.toLower version;
|
rev = lib.toLower version;
|
||||||
sha256 = "1zlaynkkvizf128ln50yvzz3b764f5a0yryp6993s9fkwa7djb6n";
|
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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ qmake ];
|
withPlugins = plugins: let
|
||||||
buildInputs = [ qtbase vapoursynth qtwebsockets ];
|
vapoursynthWithPlugins = vapoursynth.withPlugins plugins;
|
||||||
|
in runCommand "${unwrapped.name}-with-plugins" {
|
||||||
dontWrapQtApps = true;
|
buildInputs = [ makeWrapper ];
|
||||||
|
passthru = { withPlugins = plugins': withPlugins (plugins ++ plugins'); };
|
||||||
preConfigure = "cd pro";
|
} ''
|
||||||
|
|
||||||
preFixup = ''
|
|
||||||
cd ../build/release*
|
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
for bin in vsedit{,-job-server{,-watcher}}; do
|
for bin in vsedit{,-job-server{,-watcher}}; do
|
||||||
mv $bin $out/bin
|
makeWrapper ${unwrapped}/bin/$bin $out/bin/$bin \
|
||||||
|
--prefix PYTHONPATH : ${vapoursynthWithPlugins}/${python3.sitePackages} \
|
||||||
wrapQtApp $out/bin/$bin \
|
--prefix LD_LIBRARY_PATH : ${vapoursynthWithPlugins}/lib
|
||||||
--prefix PYTHONPATH : ${vapoursynth}/${python3.sitePackages} \
|
|
||||||
--prefix LD_LIBRARY_PATH : ${vapoursynth}/lib
|
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
in
|
||||||
meta = with lib; {
|
withPlugins []
|
||||||
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;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user