Name: linuxcnc Version: 2.7.9 Release: 1%{?dist} Summary: CNC Machine Controller Group: Applications/Engineering License: GPLv2 and LGPLv2 URL: http://linuxcnc.org/ Source0: https://github.com/LinuxCNC/${name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: autoconf automake BuildRequires: desktop-file-utils BuildRequires: tcl-devel tclx tk-devel tkimg BuildRequires: boost-devel BuildRequires: boost-python BuildRequires: compat-readline5-devel BuildRequires: gettext-devel BuildRequires: libXaw-devel BuildRequires: mesa-libGLU-devel BuildRequires: python2-devel BuildRequires: python2-tkinter BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(libmodbus) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(udev) BuildRequires: /usr/bin/ps BuildRequires: /usr/sbin/fuser BuildRequires: /usr/sbin/insmod Requires: tcl tclx tk tkimg Requires: python2-tkinter Requires: boost-python %description LinuxCNC controls CNC machines. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more. Note that with stock (non-realtime) kernel the package is unfit for controlling the hardware. It can be used for software simulation. IT IS EXTREMELY UNWISE TO RELY ON SOFTWARE ALONE FOR SAFETY! Any machinery capable of harming persons must have provisions for completely removing power from all motors, etc, before persons enter any danger area. All machinery must be designed to comply with local and national safety codes, and the authors of this software can not, and do not, take any responsibility for such compliance. %package devel Summary: Development package for %{name} Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} %description devel Header files and libraries for Linuxcnc. %prep %setup -q %build sed 's#\${prefix}/lib/tcltk/linuxcnc#$(fe "$libdir")/linuxcnc/tcltk#' -i src/configure.in sed "s#for candidate in#for candidate in '%{_lib}/linuxcnc/tcltk',#" -i lib/python/rs274/options.py cd src sh autogen.sh CFLAGS="-include stdio.h %{optflags} -I%{_includedir}/readline5 -L%{_libdir}/readline5" %configure \ --with-realtime=uspace \ --disable-check-runtime-deps \ --with-module-dir=%{_libdir}/linuxcnc/modules \ CXX="%{__cxx} -I%{_includedir}/readline5 -L%{_libdir}/readline5" \ CC="%{__cc} -I%{_includedir}/readline5 -L%{_libdir}/readline5" make %{?_smp_mflags} \ SITEPY="%{python2_sitearch}" \ tcldir="%{_libdir}/linuxcnc/tcltk" %install %make_install -C src \ SITEPY="%{python2_sitearch}" \ tcldir="%{_libdir}/linuxcnc/tcltk" \ DIR="install -d -m755" \ FILE="install -pm644" \ CONFIGFILE="install -pm644" \ EXE="install -pm755" \ SETUID="install -pm4755" mkdir -p %{buildroot}%{_datadir} mv %{buildroot}%{_sysconfdir}/X11 %{buildroot}%{_datadir}/ mkdir -p %{buildroot}%{_datadir}/pixmaps ln %{buildroot}%{_datadir}/linuxcnc/linuxcncicon.png %{buildroot}%{_datadir}/pixmaps/ desktop-file-install \ --remove-key=Version \ --dir=%{buildroot}%{_datadir}/applications \ share/applications/linuxcnc.desktop desktop-file-install \ --remove-key=Version \ --dir=%{buildroot}%{_datadir}/applications \ share/applications/linuxcnc-latency.desktop find %{buildroot}%{_libdir} -name '*.so.*' -o -name '*.so' |xargs chmod +x %find_lang %{name} %find_lang gmoccapy %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files -f %{name}.lang -f gmoccapy.lang %{_sysconfdir}/init.d/realtime %config(noreplace) %{_sysconfdir}/linuxcnc/rtapi.conf %{_bindir}/* %{python2_sitearch}/* %{_libdir}/linuxcnc %{_libdir}/*.so.* %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/* %{_datadir}/axis %{_datadir}/glade3 %{_datadir}/gmoccapy %{_datadir}/gscreen %{_datadir}/gtksourceview-2.0 %{_datadir}/linuxcnc %{_datadir}/X11/app-defaults/TkLinuxCNC %{_datadir}/X11/app-defaults/XEmc %{_docdir}/linuxcnc %{_mandir}/man1/*.gz %{_mandir}/man3/*.gz %{_mandir}/man9/*.9.gz %exclude %{_libdir}/*.a %doc README %license COPYING %files devel %{_includedir}/linuxcnc %{_libdir}/*.so %changelog * Tue Jul 04 2017 Lubomir Rintel - 2.7.9-1 - Initial packaging