cadence: generate wrap commands, use qt5's mkDerivation

This commit is contained in:
worldofpeace 2019-11-10 02:41:14 -05:00
parent d2d009f4a6
commit bb428f4226

View File

@ -1,4 +1,6 @@
{ stdenv { stdenv
, mkDerivation
, lib
, fetchzip , fetchzip
, pkgconfig , pkgconfig
, qtbase , qtbase
@ -6,7 +8,7 @@
, python3Packages , python3Packages
}: }:
stdenv.mkDerivation rec { mkDerivation rec {
version = "0.9.0"; version = "0.9.0";
pname = "cadence"; pname = "cadence";
@ -15,59 +17,50 @@
sha256 = "08vcggypkdfr70v49innahs5s11hi222dhhnm5wcqzdgksphqzwx"; sha256 = "08vcggypkdfr70v49innahs5s11hi222dhhnm5wcqzdgksphqzwx";
}; };
nativeBuildInputs = [ makeWrapper pkgconfig ]; nativeBuildInputs = [
buildInputs = [ qtbase ]; pkgconfig
];
makeFlags = '' buildInputs = [
PREFIX="" qtbase
DESTDIR=$(out) ];
'';
propagatedBuildInputs = with python3Packages; [ pyqt5_with_qtwebkit ]; makeFlags = [
"PREFIX=''"
"DESTDIR=${placeholder "out"}"
];
postInstall = '' propagatedBuildInputs = with python3Packages; [
# replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise pyqt5_with_qtwebkit
rm $out/bin/cadence ];
makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence \
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ dontWrapQtApps = true;
--add-flags "-O $out/share/cadence/src/cadence.py"
rm $out/bin/claudia # Replace with our own wrappers. They need to be changed manually since it wouldn't work otherwise.
makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia \ postInstall = let
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ outRef = placeholder "out";
--add-flags "-O $out/share/cadence/src/claudia.py" prefix = "${outRef}/share/cadence/src";
rm $out/bin/catarina scriptAndSource = lib.mapAttrs' (script: source:
makeWrapper ${python3Packages.python.interpreter} $out/bin/catarina \ lib.nameValuePair ("${outRef}/bin/" + script) ("${prefix}/" + source)
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ ) {
--add-flags "-O $out/share/cadence/src/catarina.py" "cadence" = "cadence.py";
rm $out/bin/catia "claudia" = "claudia.py";
makeWrapper ${python3Packages.python.interpreter} $out/bin/catia \ "catarina" = "catarina.py";
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ "catia" = "catia.py";
--add-flags "-O $out/share/cadence/src/catia.py" "cadence-jacksettings" = "jacksettings.py";
rm $out/bin/cadence-jacksettings "cadence-aloop-daemon" = "cadence_aloop_daemon.py";
makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-jacksettings \ "cadence-logs" = "logs.py";
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ "cadence-render" = "render.py";
--add-flags "-O $out/share/cadence/src/jacksettings.py" "claudia-launcher" = "claudia_launcher.py";
rm $out/bin/cadence-aloop-daemon "cadence-session-start" = "cadence_session_start.py";
makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-aloop-daemon \ };
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ in lib.mapAttrsToList (script: source: ''
--add-flags "-O $out/share/cadence/src/cadence_aloop_daemon.py" rm -f ${script}
rm $out/bin/cadence-logs makeWrapper ${python3Packages.python.interpreter} ${script} \
makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-logs \ --set PYTHONPATH "$PYTHONPATH:${outRef}/share/cadence" \
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \ ''${qtWrapperArgs[@]} \
--add-flags "-O $out/share/cadence/src/logs.py" --add-flags "-O ${source}"
rm $out/bin/cadence-render '') scriptAndSource;
makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-render \
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
--add-flags "-O $out/share/cadence/src/render.py"
rm $out/bin/claudia-launcher
makeWrapper ${python3Packages.python.interpreter} $out/bin/claudia-launcher \
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
--add-flags "-O $out/share/cadence/src/claudia_launcher.py"
rm $out/bin/cadence-session-start
makeWrapper ${python3Packages.python.interpreter} $out/bin/cadence-session-start \
--set PYTHONPATH "$PYTHONPATH:$out/share/cadence" \
--add-flags "-O $out/share/cadence/src/cadence_session_start.py"
'';
meta = { meta = {
homepage = https://github.com/falkTX/Cadence/; homepage = https://github.com/falkTX/Cadence/;