diff options
author | Florian Klink <flokli@flokli.de> | 2020-10-13 00:20:24 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-13 00:20:24 +0200 |
commit | 399a2ab9542d95623f4097b501f01523c04513b4 (patch) | |
tree | 6e37bd58dbef13921dfbeca9566ed17b352bfabc /pkgs | |
parent | 58b8ae4127b7ce3103c97ae2d68f71546b2bd494 (diff) | |
parent | 97eadef0c38c0b45d3cfa2287bc270000daed667 (diff) |
Merge pull request #98917 from lovesegfault/klipper-init
klipper: init at 0.8.0
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/servers/klipper/default.nix | 49 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix new file mode 100644 index 000000000000..0b4fa745460e --- /dev/null +++ b/pkgs/servers/klipper/default.nix @@ -0,0 +1,49 @@ +{ stdenv +, lib +, fetchFromGitHub +, python2 +}: +stdenv.mkDerivation rec { + name = "klipper"; + version = "0.8.0"; + + src = fetchFromGitHub { + owner = "KevinOConnor"; + repo = "klipper"; + rev = "v${version}"; + sha256 = "1ijy2ij9yii5hms10914i614wkjpsy0k4rbgnm6l594gphivdfm7"; + }; + + sourceRoot = "source/klippy"; + + # there is currently an attempt at moving it to Python 3, but it will remain + # Python 2 for the foreseeable future. + # c.f. https://github.com/KevinOConnor/klipper/pull/3278 + # NB: This is needed for the postBuild step + nativeBuildInputs = [ (python2.withPackages ( p: with p; [ cffi ] )) ]; + + buildInputs = [ (python2.withPackages (p: with p; [ cffi pyserial greenlet jinja2 ])) ]; + + # we need to run this to prebuild the chelper. + postBuild = "python2 ./chelper/__init__.py"; + + # NB: We don't move the main entry point into `/bin`, or even symlink it, + # because it uses relative paths to find necessary modules. We could wrap but + # this is used 99% of the time as a service, so it's not worth the effort. + installPhase = '' + runHook preInstall + mkdir -p $out/lib/klipper + cp -r ./* $out/lib/klipper + + chmod 755 $out/lib/klipper/klippy.py + runHook postInstall + ''; + + meta = with lib; { + description = "The Klipper 3D printer firmware"; + homepage = "https://github.com/KevinOConnor/klipper"; + maintainers = with maintainers; [ lovesegfault ]; + platforms = platforms.linux; + license = licenses.gpl3Only; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 78dd13023808..fcd3461f7909 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2168,6 +2168,8 @@ in kramdown-rfc2629 = callPackage ../tools/text/kramdown-rfc2629 { }; + klipper = callPackage ../servers/klipper { }; + lcdproc = callPackage ../servers/monitoring/lcdproc { }; languagetool = callPackage ../tools/text/languagetool { }; |