nixpkgs/pkgs/applications/science/robotics/sumorobot-manager/default.nix
2021-05-02 00:12:19 +00:00

45 lines
1.2 KiB
Nix

{ lib, stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial, dos2unix }:
stdenv.mkDerivation rec {
pname = "sumorobot-manager";
version = "1.0.0";
src = fetchFromGitHub {
owner = "robokoding";
repo = pname;
rev = "v${version}";
sha256 = "07snhwmqqp52vdgr66vx50zxx0nmpmns5cdjgh50hzlhji2z1fl9";
};
buildInputs = [ python3 ];
pythonPath = [
pyqt5.dev pyserial
];
nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook dos2unix ];
buildPhase = "true";
installPhase = ''
mkdir -p $out/opt/sumorobot-manager
cp -r main.py lib res $out/opt/sumorobot-manager
chmod -R 644 $out/opt/sumorobot-manager/lib/*
mkdir $out/bin
dos2unix $out/opt/sumorobot-manager/main.py
makeQtWrapper $out/opt/sumorobot-manager/main.py $out/bin/sumorobot-manager \
--run "cd $out/opt/sumorobot-manager"
'';
preFixup = ''
patchShebangs $out/opt/sumorobot-manager/main.py
wrapPythonProgramsIn "$out/opt" "$pythonPath"
'';
meta = with lib; {
description = "Desktop App for managing SumoRobots";
homepage = "https://www.robokoding.com/kits/sumorobot/sumomanager/";
license = licenses.mit;
maintainers = with maintainers; [ abbradar ];
};
}