59 lines
1.8 KiB
Nix
59 lines
1.8 KiB
Nix
|
{ stdenv, fetchurl, dpkg, bash, python27Packages }:
|
||
|
|
||
|
let
|
||
|
py = python27Packages;
|
||
|
in
|
||
|
stdenv.mkDerivation rec {
|
||
|
name = "cura-lulzbot";
|
||
|
version = "15.02.1-1.03-5064";
|
||
|
|
||
|
src =
|
||
|
if stdenv.system == "x86_64-linux" then
|
||
|
fetchurl {
|
||
|
url = "http://download.alephobjects.com/ao/aodeb/dists/jessie/main/binary-amd64/cura_${version}_amd64.deb";
|
||
|
sha256 = "1gsfidg3gim5pjbl82vkh0cw4ya253m4p7nirm8nr6yjrsirkzxg";
|
||
|
}
|
||
|
else if stdenv.system == "i686-linux" then
|
||
|
fetchurl {
|
||
|
url = "http://download.alephobjects.com/ao/aodeb/dists/jessie/main/binary-i386/cura_${version}_i386.deb";
|
||
|
sha256 = "0xd3df6bxq4rijgvsqvps454jkc1nzhxbdzzj6j2w317ppsbhyc1";
|
||
|
}
|
||
|
else throw "${name} is not supported on ${stdenv.system}";
|
||
|
|
||
|
python_deps = with py; [ pyopengl pyserial numpy wxPython30 power setuptools ];
|
||
|
pythonPath = python_deps;
|
||
|
propagatedBuildInputs = python_deps;
|
||
|
buildInputs = [ dpkg bash py.wrapPython ];
|
||
|
|
||
|
phases = [ "unpackPhase" "installPhase" ];
|
||
|
unpackPhase = "dpkg-deb -x ${src} ./";
|
||
|
|
||
|
installPhase = ''
|
||
|
mkdir -p $out/bin
|
||
|
cp -r usr/share $out/share
|
||
|
find $out/share -type f -exec sed -i 's|/usr/share/cura|$out/share/cura|g' "{}" \;
|
||
|
|
||
|
cat <<EOT > $out/bin/cura
|
||
|
#!${bash}/bin/bash
|
||
|
PYTHONPATH=$PYTHONPATH:$out/share/cura ${py.python}/bin/python $out/share/cura/cura.py "\$@"
|
||
|
EOT
|
||
|
|
||
|
chmod 555 $out/bin/cura
|
||
|
'';
|
||
|
|
||
|
meta = with stdenv.lib; {
|
||
|
description = "3D printing host software for the Lulzbot";
|
||
|
|
||
|
longDescription = ''
|
||
|
Cura LulzBot Edition is a fork of the 3D printing/slicing
|
||
|
software from Ultimaker, with changes to support 3D printers
|
||
|
from Aleph Objects.
|
||
|
'';
|
||
|
|
||
|
homepage = https://www.lulzbot.com/cura/;
|
||
|
license = licenses.agpl3;
|
||
|
platforms = platforms.linux;
|
||
|
maintainers = with maintainers; [ pjones ];
|
||
|
};
|
||
|
}
|