160 lines
4.0 KiB
Nix
160 lines
4.0 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "nixpkgs/nixos-23.05";
|
|
flake-utils.url = "github:numtide/flake-utils";
|
|
linuxcnc-src = {
|
|
#url = "github:LinuxCNC/linuxcnc?ref=v2.8.4"; #requires python2
|
|
url = "github:LinuxCNC/linuxcnc";
|
|
flake = false;
|
|
};
|
|
|
|
yapps-src = {
|
|
url = "github:smurfix/yapps";
|
|
flake = false;
|
|
};
|
|
pangocffi-src = {
|
|
url = "github:leifgehrmann/pangocffi";
|
|
flake = false;
|
|
};
|
|
};
|
|
outputs = { self, nixpkgs, flake-utils, linuxcnc-src, mach-nix, yapps-src, pangocffi-src, ... }:
|
|
flake-utils.lib.eachSystem [
|
|
"x86_64-linux" "i686-linux" "aarch64-linux"
|
|
] (system:
|
|
let
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
|
yapps = pkgs.python3Packages.buildPythonApplication {
|
|
pname = "yapps";
|
|
version = "1.0";
|
|
#propagatedBuildInputs = [ flask ];
|
|
src = yapps-src;
|
|
};
|
|
pangocffi = pkgs.python3Packages.buildPythonApplication {
|
|
pname = "pangocffi";
|
|
version = "1.0";
|
|
|
|
nativeBuildInputs = [
|
|
pkgs.pkg-config
|
|
pkgs.libffi
|
|
pkgs.pango.dev
|
|
pkgs.glib
|
|
pkgs.python3Packages.setuptools
|
|
];
|
|
propagatedBuildInputs = with pkgs.python3Packages; [
|
|
cffi
|
|
pytest
|
|
setuptools
|
|
|
|
flake8
|
|
pytest
|
|
coverage
|
|
sphinx
|
|
sphinx_rtd_theme
|
|
tox
|
|
twine
|
|
];
|
|
src = pangocffi-src;
|
|
|
|
setuptoolsCheckPhase = ''
|
|
echo "SKIPPING setuptoolsCheckPhase"
|
|
'';
|
|
};
|
|
#boostPython = pkgs.boost174.override { python = pkgs.python3; enablePython = true; };
|
|
boostPython = pkgs.boost174.override { enablePython = true; };
|
|
linuxcnc = pkgs.stdenv.mkDerivation {
|
|
|
|
# https://linuxcnc.org/docs/devel/html/code/building-linuxcnc.html
|
|
name = "linuxcnc";
|
|
|
|
src = linuxcnc-src;
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
#preConfigure = ''
|
|
# cd src
|
|
# #./autogen.sh
|
|
#'';
|
|
preAutoreconf = ''
|
|
cd src
|
|
'';
|
|
|
|
configureFlags = [
|
|
"--with-realtime=uspace"
|
|
"--enable-non-distributable=yes"
|
|
"--with-tclConfig=${pkgs.tcl}/lib/tclConfig.sh"
|
|
"--with-tkConfig=${pkgs.tk}/lib/tkConfig.sh"
|
|
#"--with-boost-python=${boostPython.dev}/include/boost/"
|
|
#"PYTHON_LDFLAGS=-L${pkgs.python39Packages.python}/lib"
|
|
];
|
|
|
|
nativeBuildInputs = with pkgs; [
|
|
autoreconfHook
|
|
pkg-config
|
|
#wrapGAppsHook
|
|
gobject-introspection
|
|
];
|
|
#nativeBuildInputs = [ pkgs.pkg-config ];
|
|
buildInputs = with pkgs; [
|
|
libtirpc
|
|
udev
|
|
libmodbus
|
|
libusb
|
|
glib
|
|
gtk3.dev
|
|
gtk2.dev
|
|
psmisc
|
|
|
|
yapps
|
|
|
|
intltool
|
|
|
|
boostPython
|
|
boostPython.dev
|
|
#python3Packages.boost
|
|
#python3Packages.boost.dev
|
|
#python3Packages.eigenpy
|
|
#pkgs.python39Packages.python
|
|
|
|
tcl
|
|
tclx
|
|
tk.dev
|
|
tkimg
|
|
bwidget
|
|
|
|
python3Packages.pygobject3
|
|
|
|
readline.dev
|
|
|
|
python3Packages.tkinter
|
|
|
|
libGLU
|
|
|
|
xorg.libXmu.dev
|
|
ps
|
|
sysvtools
|
|
util-linux
|
|
|
|
#tclreadline
|
|
#pkgs.python3Packages.pygobject3.dev
|
|
#pkgs.python3Packages.gst-python
|
|
#pangocffi
|
|
#pkgs.pango.dev
|
|
|
|
#pkgs.python3Packages.pyxdg
|
|
#pkgs.python3Packages.xcffib
|
|
#pkgs.python3Packages.cairocffi
|
|
#pkgs.python3Packages.manimpango
|
|
|
|
];
|
|
|
|
};
|
|
|
|
in
|
|
{
|
|
#packages.default = pkgs.tk;
|
|
packages.default = linuxcnc;
|
|
packages.linuxcnc = linuxcnc;
|
|
}
|
|
);
|
|
}
|