depot/third_party/nixpkgs/pkgs/applications/science/electronics/flatcam/default.nix

107 lines
1.8 KiB
Nix

{
lib,
fetchFromBitbucket,
buildPythonApplication,
pyqt5,
matplotlib,
numpy,
cycler,
python-dateutil,
kiwisolver,
six,
setuptools,
dill,
rtree,
pyopengl,
vispy,
ortools,
svg-path,
simplejson,
shapely,
freetype-py,
fonttools,
rasterio,
lxml,
ezdxf,
qrcode,
reportlab,
svglib,
gdal,
pyserial,
python3,
}:
buildPythonApplication rec {
pname = "flatcam";
version = "unstable-2022-02-02";
src = fetchFromBitbucket {
owner = "jpcgt";
repo = pname;
rev = "ebf5cb9e3094362c4b0774a54cf119559c02211d"; # beta branch as of 2022-02-02
hash = "sha256-QKkBPEM+HVYmSZ83b4JRmOmCMp7C3EUqbJKPqUXMiKE=";
};
format = "other";
dontBuild = true;
propagatedBuildInputs = [
pyqt5
matplotlib
numpy
cycler
python-dateutil
kiwisolver
six
setuptools
dill
rtree
pyopengl
vispy
ortools
svg-path
simplejson
shapely
freetype-py
fonttools
rasterio
lxml
ezdxf
qrcode
reportlab
svglib
gdal
pyserial
];
preInstall = ''
patchShebangs .
sed -i "s|/usr/local/bin|$out/bin|" Makefile
mkdir -p $out/share/{flatcam,applications}
mkdir -p $out/bin
'';
installFlags = [
"USER_ID=0"
"LOCAL_PATH=/build/source/."
"INSTALL_PATH=${placeholder "out"}/share/flatcam"
"APPS_PATH=${placeholder "out"}/share/applications"
];
postInstall = ''
sed -i "s|python3|${
python3.withPackages (_: propagatedBuildInputs)
}/bin/python3|" $out/bin/flatcam-beta
mv $out/bin/flatcam{-beta,}
'';
meta = with lib; {
description = "2-D post processing for PCB fabrication on CNC routers";
homepage = "https://bitbucket.org/jpcgt/flatcam";
license = licenses.mit;
maintainers = with maintainers; [ trepetti ];
};
}