Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37041469
en ru br
Репозитории ALT
S:2.9.0-alt0.10.20230910
www.altlinux.org/Changes

Группа :: Engineering
Пакет: linuxcnc

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

# Unpackaged files in buildroot should terminate build
%define _unpackaged_files_terminate_build 1

%set_verify_elf_method unresolved=relaxed
Name: linuxcnc
Version: 2.9.0
Release: alt0.10.20230910

Summary: LinuxCNC controls CNC machines
Summary(ru_RU.UTF-8): п÷я─п╬пЁя─п╟п╪п╪п╟ я┐п©я─п╟п╡п╩п╣п╫п╦я▐ п╖п÷пё я│я┌п╟п╫п╨п╬п╡
License: GPLv2+ and LGPLv2
Group: Engineering
Url: https://github.com/LinuxCNC/linuxcnc

ExclusiveArch: aarch64 alpha %arm ia64 %ix86 x86_64 %e2k

Source: %name-%version.tar
Patch: %name-%version-%release.patch
Buildrequires(pre): rpm-build-tcl rpm-build-python3
Buildrequires: rpm-build-gir
Buildrequires: python3-devel
BuildRequires: gcc-c++ pkgconfig(glib-2.0)
BuildRequires: libgtk+3-gir-devel
BuildRequires: libgtk+2-devel
BuildRequires: python3-module-pygobject3
BuildRequires: libGL-devel libGLU-devel
BuildRequires: libXaw-devel libXinerama-devel libXmu-devel libXt-devel xorg-cf-files
BuildRequires: libepoxy-devel
BuildRequires: pkgconfig(libmodbus)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libudev)
BuildRequires: libncurses-devel libreadline-devel
BuildRequires: libtirpc-devel
BuildRequires: kmod
BuildRequires: man-db
BuildRequires: python3-modules-tkinter
#python3-modules-unittest
BuildRequires: python3-module-yapps2
BuildRequires: boost-devel-headers
BuildRequires: boost-lockfree-devel
BuildRequires: boost-python3-devel
BuildRequires: tcl-devel tk-devel tcl-img tclx bwidget
#BuildRequires: tcl-blt-devel
BuildRequires: intltool
#BuildRequires: pkgconfig(libgnomeprintui-2.2)
BuildRequires: desktop-file-utils ImageMagick-tools
BuildRequires: asciidoc-a2x
BuildRequires: dos2unix

Obsoletes: %name-data =< %EVR
Requires: lib%name = %EVR

# for qtvcp

Requires: python3-module-PyQt5-devel

# for gmoccapy

Requires: libgtksourceview3-gir
Requires: libX11-devel

Requires: tclx tcl-blt
%py3_requires Xlib
%py3_requires PyQt5.Qsci

# Fix me!!!

%add_python3_req_skip __main__ gi.repository.GdkPixbuf gst gtk gtk.glade Cairo
%add_python3_req_skip emccanon interpreter
%add_python3_req_skip plasmac qtvcp.lib.qt_pdf

%filter_from_requires s/^.*rip-environment//
%filter_from_requires s/^.*typelib(Cairo)//

%add_python3_path %_datadir/qtvcp
%add_python3_path %_datadir/%name/ncfiles

%description
LinuxCNC is software that runs on Linux, on most standard PCs, that can
interpret G-code and run a CNC machine. It was originally developed on a
milling machine, but support was added for lathes and many other types of
machine. It can be used with mills, lathes, plasma cutters, routers, robots,
and so on.

%description -l ru_RU.UTF-8
LinuxCNC я█я┌п╬ п©я─п╬пЁя─п╟п╪п╪п╟, п╨п╬я┌п╬я─п╟я▐ я─п╟п╠п╬я┌п╟п╣я┌ п╫п╟ п·п║ Linux п╫п╟ п╠п╬п╩я▄я┬п╦п╫я│я┌п╡п╣ я│я┌п╟п╫п╢п╟я─я┌п╫я▀я┘
п÷п , п╨п╬я┌п╬я─я▀п╣ п╪п╬пЁя┐я┌ п╦п╫я┌п╣я─п©я─п╣я┌п╦я─п╬п╡п╟я┌я▄ G-п╨п╬п╢ п╦ п╥п╟п©я┐я│я┌п╦я┌я▄ я│я┌п╟п╫п╬п╨ я│ п╖п÷пё. п≤п╥п╫п╟я┤п╟п╩я▄п╫п╬ п╬п╫
п╠я▀п╩ я─п╟п╥я─п╟п╠п╬я┌п╟п╫ п╢п╩я▐ я└я─п╣п╥п╣я─п╫п╬пЁп╬ я│я┌п╟п╫п╨п╟, п╫п╬ п©п╬п╢п╢п╣я─п╤п╨п╟ п╠я▀п╩п╟ п╢п╬п╠п╟п╡п╩п╣п╫п╟ п╦ п╢п╩я▐ я┌п╬п╨п╟я─п╫я▀я┘
я│я┌п╟п╫п╨п╬п╡ п╦ п╪п╫п╬пЁп╦я┘ п╢я─я┐пЁп╦я┘ я┌п╦п©п╬п╡ п╪п╟я┬п╦п╫. п·п╫ п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╦я│п©п╬п╩я▄п╥п╬п╡п╟п╫ я│ я┌п╬п╨п╟я─п╫я▀п╪п╦
я│я┌п╟п╫п╨п╟п╪п╦, я│я┌п╟п╫п╨п╟п╪п╦ п©п╩п╟п╥п╪п╣п╫п╫п╬п╧ я─п╣п╥п╨п╦, я─п╬п╠п╬я┌п╟п╪п╦ п╦ я┌п╟п╨ п╢п╟п╩п╣п╣.

%package -n liblinuxcnc-devel
Summary: Development files for %name
Group: Development/C++
Requires: %name = %EVR

%description -n liblinuxcnc-devel
Development files for %name

%package -n lib%name
Summary: Library for %name
Group: Engineering

%description -n lib%name
Library for %name

%package doc
Summary: Documementation for %name
Buildarch: noarch
Group: Documentation

%description doc
Documementation for %name

%package doc-fr
Summary: French documementation for %name
Buildarch: noarch
Group: Documentation
Requires: %name-doc = %version

%description doc-fr
French documementation for %name

%package doc-es
Summary: Spanish documementation for %name
Buildarch: noarch
Group: Documentation
Requires: %name-doc = %version

%description doc-es
Spanish documementation for %name

%prep
%setup
%autopatch -p1

sed -i 's|lib/tcltk/linuxcnc|%_lib/tcl/linuxcnc|' lib/python/rs274/options.py
sed -i 's|INCLUDES := .|INCLUDES := . /usr/include/tirpc|' src/Makefile
sed -i 's|LDFLAGS := |LDFLAGS := -ltirpc |' src/Makefile

#fix make install

sed 's/ -o root//g' -i src/Makefile

%ifarch %e2k
# unsupported as of lcc 1.25.17
sed -i 's,-fno-fast-math,,' src/Makefile*
# need for correct detection of boost libs path
sed -i 's,sparc64|,&e2k|,' src/m4/ax_boost_base.m4
%endif

find . -name '*.py' -exec dos2unix "{}" \;

# fix unavailable GROUP "plugdev"

sed -i 's/GROUP="plugdev"/GROUP="uucp"/g' debian/extras/lib/udev/rules.d/*

%build
pushd src
./autogen.sh
%configure \
   --enable-non-distributable=yes \
   --with-realtime=uspace

%make_build
popd

%install
pushd src
%makeinstall_std
popd

# install rules

mkdir -p %buildroot%_udevrulesdir
cp debian/extras/lib/udev/rules.d/* %buildroot%_udevrulesdir

# fix desktop Name

sed 's/Name=/Name=LinuxCNC /g' -i %buildroot%_desktopdir/linuxcnc-*.desktop

# fix desktop categories

desktop-file-install --dir %buildroot%_desktopdir \
       --remove-key=Version \
       --remove-category=X-CNC \
       --remove-category=Utility \
       %buildroot%_desktopdir/*.desktop

### == desktop file documentation

cat>%buildroot%_desktopdir/%name-documentation.desktop<<END
[Desktop Entry]
Name=LinuxCNC Documentation
Name[ru_RU]=LinuxCNC п■п╬п╨я┐п╪п╣п╫я┌п╟я├п╦я▐
Exec=%_bindir/xdg-open %_docdir/%name
Icon=linuxcncicon
Terminal=false
Type=Application
Categories=Science;Engineering;
END

# convert and install icon files

for x in 16 32 48; do
   mkdir -p %buildroot%_iconsdir/hicolor/$x'x'$x/apps
   convert linuxcncicon.png -resize $x'x'$x \
           %buildroot%_iconsdir/hicolor/$x'x'$x/apps/linuxcncicon.png
done

# fix uncompressed manual pages

pushd %buildroot%_mandir
xz `find -name *.?`
popd

# remove unpackaged static libraries

rm %buildroot%_libdir/*.a

%find_lang %name gmoccapy --output=%name.lang

%files -f %name.lang
%_bindir/*
%_libexecdir/%name
%_libdir/%name
%_tcllibdir/%name
%python3_sitelibdir/*
%_sysconfdir/%name
%_udevrulesdir/*.rules
%_desktopdir/*.desktop
%_sysconfdir/X11/app-defaults/*
%_datadir/axis
%_datadir/%name
%_datadir/glade
%_datadir/gmoccapy
%_datadir/gscreen
%_datadir/gtksourceview-2.0/*
%_datadir/qtvcp
%_liconsdir/*
%_niconsdir/*
%_miconsdir/*
%_mandir/man?/*
%_docdir/%name

%files -n lib%name
%_libdir/*.so.*

%files -n lib%name-devel
%_includedir/%name
%_libdir/*.so

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin