Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib, stdenvNoCC, fetchFromGitHub, python3, makeWrapper, unstableGitUpdater, nixosTests }: 2 3let 4 pythonEnv = python3.withPackages (packages: with packages; [ 5 tornado 6 pyserial-asyncio 7 pillow 8 lmdb 9 streaming-form-data 10 distro 11 inotify-simple 12 libnacl 13 paho-mqtt 14 pycurl 15 zeroconf 16 preprocess-cancellation 17 jinja2 18 dbus-next 19 apprise 20 ]); 21in stdenvNoCC.mkDerivation rec { 22 pname = "moonraker"; 23 version = "unstable-2022-11-18"; 24 25 src = fetchFromGitHub { 26 owner = "Arksine"; 27 repo = "moonraker"; 28 rev = "362bc1a3d3ad397416f7fc48b8efe33837428b90"; 29 sha256 = "sha256-cebRHOx2hg470jM1CoQAk13Whv+KN2qx97BTlpjxSZg="; 30 }; 31 32 nativeBuildInputs = [ makeWrapper ]; 33 34 installPhase = '' 35 mkdir -p $out $out/bin $out/lib 36 cp -r moonraker $out/lib 37 38 makeWrapper ${pythonEnv}/bin/python $out/bin/moonraker \ 39 --add-flags "$out/lib/moonraker/moonraker.py" 40 ''; 41 42 passthru = { 43 updateScript = unstableGitUpdater { url = meta.homepage; }; 44 tests.moonraker = nixosTests.moonraker; 45 }; 46 47 meta = with lib; { 48 description = "API web server for Klipper"; 49 homepage = "https://github.com/Arksine/moonraker"; 50 license = licenses.gpl3Only; 51 maintainers = with maintainers; [ zhaofengli ]; 52 }; 53}