]> git.pld-linux.org Git - packages/cura.git/blame_incremental - cura.spec
- add material database
[packages/cura.git] / cura.spec
... / ...
CommitLineData
1#
2# TODO: find out why all Ultimaker printers later than 2 cannot be added
3#
4Summary: 3D printer control software
5Name: cura
6Version: 2.5.0
7Release: 3
8Epoch: 1
9Group: Applications/Engineering
10# Code is AGPLv3
11# Icons AGPLv3 https://github.com/daid/Cura/issues/231#issuecomment-12209683
12# Example models are CC-BY-SA
13# TweakAtZ.py is CC-BY-SA
14License: AGPLv3 and CC-BY-SA
15Source0: https://github.com/Ultimaker/Cura/archive/%{version}/%{name}-%{version}.tar.gz
16# Source0-md5: ebe1b78c8b9ce77c289a266c9e732dc8
17Source1: https://github.com/Ultimaker/fdm_materials/archive/%{version}/fdm_materials-%{version}.tar.gz
18# Source1-md5: bf8f25394273d7b6333a856b6a1c94ce
19Patch0: plugins-path.patch
20URL: https://ultimaker.com/en/products/cura-software
21BuildRequires: cmake
22BuildRequires: desktop-file-utils
23BuildRequires: dos2unix
24BuildRequires: gettext
25BuildRequires: gettext-tools
26BuildRequires: python3-Uranium = %{version}
27BuildRequires: python3-devel
28BuildRequires: python3-pytest
29BuildRequires: rpm-pythonprov
30BuildRequires: rpmbuild(macros) >= 1.219
31Requires: CuraEngine = %{epoch}:%{version}
32Requires: Qt5Quick-controls
33Requires: fonts-TTF-OpenSans
34Requires: python3-PyOpenGL
35Requires: python3-PyQt5
36Requires: python3-numpy
37Requires: python3-power
38Requires: python3-savitar
39Requires: python3-serial
40Requires: python3-Uranium = %{version}
41Requires: python3-zeroconf
42BuildArch: noarch
43BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45%description
46Cura is a project which aims to be an single software solution for 3D
47printing. While it is developed to be used with the Ultimaker 3D
48printer, it can be used with other RepRap based designs.
49
50Cura helps you to setup an Ultimaker, shows your 3D model, allows for
51scaling / positioning, can slice the model to G-Code, with sane
52editable configuration settings and send this G-Code to the 3D printer
53for printing.
54
55%prep
56%setup -q -n Cura-%{version} -a1
57%patch0 -p1
58
59# The setup.py is only useful for py2exe, remove it, so noone is tempted to use it
60rm setup.py
61
62# https://github.com/Ultimaker/Cura/issues/1784
63sed -i 's/Version=1/Version=1.1/' cura.desktop.in
64
65# Upstream installs to lib/python3/dist-packages
66# We want to install to %%{py3_sitescriptdir}
67sed -i 's|lib/python${PYTHON_VERSION_MAJOR}/dist-packages|%(echo %{py3_sitescriptdir} | sed -e s@%{_prefix}/@@)|g' CMakeLists.txt
68
69# Wrong end of line encoding
70dos2unix docs/How_to_use_the_flame_graph_profiler.md
71
72# Wrong shebang
73sed -i '1s=^#!%{_bindir}/\(python\|env python\)3*=#!%{__python3}=' cura_app.py
74
75# Invalid locale name ptbr
76# https://github.com/Ultimaker/Uranium/issues/246
77mv resources/i18n/{ptbr,pt_BR}
78sed -i 's/"Language: ptbr\\n"/"Language: pt_BR\\n"/' resources/i18n/pt_BR/*.po
79
80mv resources/i18n/{jp,ja}
81sed -i 's/"Language: jp\\n"/"Language: ja\\n"/' resources/i18n/ja/*.po
82
83# Failing test, mixes sets and lists :(
84# Changed in master, not reporting to upstream
85sed -i -e '0,/set()/{s/set()/[]/}' \
86 -e 's/{/[/g' \
87 -e 's/}/]/g' \
88 tests/TestMachineAction.py
89
90%build
91mkdir build
92cd build
93%{cmake} .. \
94 -DCURA_VERSION:STRING=%{version}
95
96%{__make}
97
98cd ../fdm_materials-%{version}
99mkdir build
100cd build
101%{cmake} ..
102
103%{__make}
104
105%install
106rm -rf $RPM_BUILD_ROOT
107
108%{__make} -C build install DESTDIR=$RPM_BUILD_ROOT
109%{__make} -C fdm_materials-%{version}/build install DESTDIR=$RPM_BUILD_ROOT
110
111# Sanitize the location of locale files
112mv $RPM_BUILD_ROOT%{_datadir}/{cura/resources/i18n,locale}
113ln -s ../../locale $RPM_BUILD_ROOT%{_datadir}/cura/resources/i18n
114rm $RPM_BUILD_ROOT%{_localedir}/*/*.po
115rm $RPM_BUILD_ROOT%{_localedir}/*.pot
116
117# Unbundle fonts
118rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/resources/themes/cura/fonts/
119ln -s %{_datadir}/fonts/open-sans/ $RPM_BUILD_ROOT%{_datadir}/%{name}/resources/themes/cura/fonts
120
121%py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}
122%py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}
123%py_postclean
124
125%find_lang cura --all-name
126
127%clean
128rm -rf $RPM_BUILD_ROOT
129
130%files -f cura.lang
131%defattr(644,root,root,755)
132%attr(755,root,root) %{_bindir}/%{name}
133%{py3_sitescriptdir}/cura
134%{_desktopdir}/%{name}.desktop
135%{_datadir}/%{name}
136%{_datadir}/appdata/cura.appdata.xml
137%{_datadir}/mime/packages/cura.xml
This page took 0.074778 seconds and 4 git commands to generate.