nixpkgs/pkgs/applications/misc/cura/lulzbot.nix
2015-08-31 14:42:05 -06:00

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 ];
};
}