nixpkgs mirror (for testing) github.com/NixOS/nixpkgs
nix
at python-updates 61 lines 1.3 kB view raw
1{ 2 lib, 3 python3, 4 fetchFromGitHub, 5 wrapGAppsHook3, 6 gobject-introspection, 7 gitUpdater, 8}: 9python3.pkgs.buildPythonApplication rec { 10 pname = "KlipperScreen"; 11 version = "0.4.5"; 12 pyproject = false; 13 14 src = fetchFromGitHub { 15 owner = "KlipperScreen"; 16 repo = "KlipperScreen"; 17 rev = "v${version}"; 18 hash = "sha256-lKGMz5N4lKSqA614wjJiUfP5fUY+WqFDPxeX/Iyp2TQ="; 19 }; 20 21 nativeBuildInputs = [ 22 gobject-introspection 23 wrapGAppsHook3 24 ]; 25 26 pythonPath = with python3.pkgs; [ 27 jinja2 28 netifaces 29 requests 30 websocket-client 31 pycairo 32 pygobject3 33 mpv 34 six 35 dbus-python 36 sdbus-networkmanager 37 ]; 38 39 dontWrapGApps = true; 40 41 preFixup = '' 42 mkdir -p $out/bin 43 cp -r . $out/dist 44 gappsWrapperArgs+=(--set PYTHONPATH "$PYTHONPATH") 45 wrapGApp $out/dist/screen.py 46 ln -s $out/dist/screen.py $out/bin/KlipperScreen 47 ''; 48 49 passthru.updateScript = gitUpdater { url = meta.homepage; }; 50 51 meta = { 52 description = "Touchscreen GUI for the Klipper 3D printer firmware"; 53 homepage = "https://github.com/jordanruthe/KlipperScreen"; 54 license = lib.licenses.agpl3Only; 55 maintainers = with lib.maintainers; [ 56 cab404 57 saturn745 58 ]; 59 mainProgram = "KlipperScreen"; 60 }; 61}