770d08e
%if 0%{?fedora} >= 31
770d08e
%global forked_arcus 1
770d08e
%else
770d08e
%global forked_arcus 0
770d08e
%endif
770d08e
b435285
Name:           CuraEngine-lulzbot
ea9d93a
Version:        3.6.21
d697a34
Release:        5%{?dist}
96f43d1
Epoch:          1
ebf23ce
Summary:        Engine for processing 3D models into G-code instructions for 3D printers
96f43d1
License:        AGPLv3+
96f43d1
URL:            https://code.alephobjects.com/diffusion/CTE/
96f43d1
# git clone https://code.alephobjects.com/diffusion/CTE/cura-engine.git
96f43d1
# cd cura-engine
ea9d93a
# git checkout v3.6.21
b8d49a2
## CANNOT USE git archive here, because we need to scrape the hash for version.json
b8d49a2
# cd ..
b8d49a2
# mv cura-engine CuraEngine-lulzbot-%%{version}
b8d49a2
# tar cvfz CuraEngine-lulzbot-%%{version}.tar.gz CuraEngine-lulzbot-%%{version}
96f43d1
Source0:        CuraEngine-lulzbot-%{version}.tar.gz
94af5d5
# The cmake stuff would attempt to git clone this:
94af5d5
# TODO package on it's own
94af5d5
%global stb_commit e6afb9cbae4064da8c3e69af3ff5c4629579c1d2
94af5d5
Source1:        https://github.com/nothings/stb/archive/%{stb_commit}.tar.gz
770d08e
Provides:       bundled(stb) = %stb_commit
Igor Gnatenko 493648c
BuildRequires:  gcc
Igor Gnatenko 493648c
BuildRequires:  gcc-c++
770d08e
%if %{forked_arcus}
770d08e
BuildRequires:  libarcus-lulzbot-devel >= %{version}
770d08e
%else
9a0c17f
BuildRequires:  libarcus-devel >= 3.6.0
770d08e
%endif
00b6c0d
BuildRequires:  polyclipping-devel >= 6.1.2
96f43d1
BuildRequires:  protobuf-devel
96f43d1
BuildRequires:  rapidjson-devel
96f43d1
BuildRequires:  cmake
96f43d1
BuildRequires:  git
770d08e
%if %{forked_arcus}
770d08e
Requires:       libarcus-lulzbot >= %{version}
770d08e
%else
9a0c17f
Requires:       libarcus >= 3.6.0
770d08e
%endif
96f43d1
b8d49a2
Patch0:         CuraEngine-lulzbot-3.2.17-no-rpath.patch
b8d49a2
Patch1:         CuraEngine-lulzbot-3.2.17-no-static-libstdc++.patch
3523e4c
Patch2:         CuraEngine-lulzbot-3.6.3-optflags.patch
2067571
2067571
# https://github.com/Ultimaker/CuraEngine/issues/984
01ceb97
%if 0%{?fedora} >= 30
2067571
Patch4:         CuraEngine-lulzbot-gcc9.patch
01ceb97
%endif
ebf23ce
770d08e
%if %{forked_arcus}
770d08e
# Need to use our arcus fork
770d08e
Patch5:         CuraEngine-lulzbot-3.6.12-arcus-lulzbot.patch
770d08e
%endif
770d08e
452cca3
# Get Fedora 33++ behavior on anything older
452cca3
%undefine __cmake_in_source_build
452cca3
ebf23ce
%description
96f43d1
%{name} is a C++ console application for 3D printing G-code generation. It
96f43d1
has been made as a better and faster alternative to the old Skeinforge engine.
ebf23ce
ebf23ce
This is just a console application for G-code generation. For a full graphical
96f43d1
application look at cura-lulzbot which is the graphical frontend for %{name}.
ebf23ce
ebf23ce
%prep
2067571
%autosetup -p1 -n CuraEngine-lulzbot-%{version}
94af5d5
tar -xf %{SOURCE1}
94af5d5
mv stb-%{stb_commit} stb
b8d49a2
b8d49a2
GITHASH=`git rev-parse HEAD`
b8d49a2
b8d49a2
cat > version.json << EOF
b8d49a2
{
b8d49a2
  "engine": "$GITHASH"
b8d49a2
}
b8d49a2
EOF
ebf23ce
96f43d1
# bundled libraries
96f43d1
rm -rf libs
96f43d1
sed -i 's|#include <clipper/clipper.hpp>|#include <polyclipping/clipper.hpp>|' src/utils/*.h src/*.cpp
ebf23ce
96f43d1
# The -DCURA_ENGINE_VERSION does not work, so we sed-change the default value
3523e4c
sed -i 's/"DEV"/"%{version}"/' src/settings/Settings.h
faa9784
ebf23ce
%build
452cca3
%cmake -DUSE_DISTRO_OPTIMIZATION_FLAGS:BOOL=ON -DUSE_SYSTEM_LIBS:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=OFF -DStb_INCLUDE_DIRS:PATH=${PWD} -DCURA_ENGINE_VERSION:STRING=%{version} # The lib is only intermediate
452cca3
%cmake_build
96f43d1
ebf23ce
ebf23ce
%install
452cca3
%cmake_install
96f43d1
mv %{buildroot}%{_bindir}/CuraEngine %{buildroot}%{_bindir}/CuraEngine-lulzbot
b8d49a2
mkdir -p %{buildroot}%{_datadir}/%{name}/
b8d49a2
cp -a version.json %{buildroot}%{_datadir}/%{name}/
ebf23ce
ebf23ce
%check
96f43d1
# Smoke test
96f43d1
%{buildroot}%{_bindir}/%{name} help
ebf23ce
ebf23ce
%files
96f43d1
%license LICENSE
96f43d1
%doc README.md
ebf23ce
%{_bindir}/%{name}
b8d49a2
%{_datadir}/%{name}
ebf23ce
ebf23ce
%changelog
d697a34
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.21-5
d697a34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
d697a34
3cee213
* Sun Jun 14 2020 Adrian Reber <adrian@lisas.de> - 1:3.6.21-4
3cee213
- Rebuilt for protobuf 3.12
3cee213
698b0dd
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.21-3
698b0dd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
698b0dd
2270382
* Thu Dec 19 2019 Orion Poplawski <orion@nwra.com> - 1:3.6.21-2
2270382
- Rebuild for protobuf 3.11
2270382
ea9d93a
* Mon Oct 21 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.21-1
ea9d93a
- update to 3.6.21
ea9d93a
6e49109
* Fri Aug 16 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.18-1
6e49109
- update to 3.6.18
6e49109
628220a
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.6.12-3
628220a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
628220a
770d08e
* Fri Jul 12 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.12-2
770d08e
- use forked_arcus in rawhide
770d08e
9c40b76
* Thu Jun 27 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.12-1
9c40b76
- update to 3.6.12
9c40b76
9a0c17f
* Thu May  2 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.8-1
9a0c17f
- update to 3.6.8
9a0c17f
9a0c17f
* Wed Apr 17 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.6-1
9a0c17f
- update to 3.6.6
9a0c17f
9a0c17f
* Wed Apr 17 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.5-2
9a0c17f
- fix libarcus requirements
9a0c17f
9a0c17f
* Wed Mar 27 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.5-1
9a0c17f
- update to 3.6.5
9a0c17f
3523e4c
* Wed Feb 20 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.6.3-1
3523e4c
- update to 3.6.3
3523e4c
4129561
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.2.32-4
4129561
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
4129561
456c5eb
* Sat Jan 19 2019 Tom Callaway <spot@fedoraproject.org> - 1:3.2.32-3
456c5eb
- rebuild for new libprotobuf
456c5eb
7c4c6df
* Fri Nov 16 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.32-1
7c4c6df
- update to 3.2.32
7c4c6df
6df9eb8
* Mon Jul 30 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.23-2
6df9eb8
- do not copy the resources directory to itself (no-op)
6df9eb8
10db74f
* Mon Jul 30 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.23-1
10db74f
- update to 3.2.23
10db74f
6bf1451
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:3.2.21-2
6bf1451
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
6bf1451
b8d49a2
* Wed May 23 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.21-1
b8d49a2
- update to 3.2.21
b8d49a2
b8d49a2
* Wed May 23 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.20-1
b8d49a2
- update to 3.2.20
b8d49a2
b8d49a2
* Wed May  9 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.19-1
b8d49a2
- update to 3.2.19
b8d49a2
b8d49a2
* Mon Apr 23 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.18-1
b8d49a2
- update to 3.2.18
b8d49a2
b8d49a2
* Mon Apr 16 2018 Tom Callaway <spot@fedoraproject.org> - 1:3.2.17-1
b8d49a2
- update to 3.2.17
b8d49a2
d3c5b2b
* Wed Mar 14 2018 Tom Callaway <spot@fedoraproject.org> - 1:2.6.69-1
d3c5b2b
- update to 2.6.69
d3c5b2b
bb8051d
* Sat Feb 17 2018 Tom Callaway <spot@fedoraproject.org> - 1:2.6.66-3
48236b4
- apply upstream valgrind fix to fix crash with gcc 8
48236b4
c847596
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:2.6.66-2
c847596
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
c847596
468bafe
* Wed Jan 17 2018 Tom Callaway <spot@fedoraproject.org> - 1:2.6.66-1
468bafe
- update to 2.6.66
468bafe
96f43d1
* Wed Jan  3 2018 Tom Callaway <spot@fedoraproject.org> - 1:2.6.63-1
96f43d1
- update to 2.6.63
96f43d1
96f43d1
* Fri Dec  8 2017 Tom Callaway <spot@fedoraproject.org> - 1:2.6.52-1
96f43d1
- update to 2.6.52
96f43d1
96f43d1
* Fri Oct 27 2017 Tom Callaway <spot@fedoraproject.org> - 1:2.6.43-1
96f43d1
- update to 2.6.43
96f43d1
96f43d1
* Fri Oct 27 2017 Tom Callaway <spot@fedoraproject.org> - 1:2.6.29-1
96f43d1
- update to 2.6.29
96f43d1
96f43d1
* Wed Aug 23 2017 Tom Callaway <spot@fedoraproject.org> - 1:2.6.23-1
96f43d1
- update to 2.6.23
96f43d1
96f43d1
* Mon Aug 14 2017 Tom Callaway <spot@fedoraproject.org> - 1:2.6.22-1
96f43d1
- update to 2.6.22
96f43d1
96f43d1
* Tue Aug  8 2017 Tom Callaway <spot@fedoraproject.org> - 1:2.6.21-1
96f43d1
- lulzbot fork
96f43d1
96f43d1
* Wed Jun 28 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.6.1-1
96f43d1
- Updated to 2.6.1
96f43d1
96f43d1
* Tue Jun 27 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.6.0-1
96f43d1
- Updated to 2.6.0
ff09d05
96f43d1
* Wed Jun 14 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.5.0-2
96f43d1
- Rebuilt for new protobuf 3.3.1
ed9de2b
96f43d1
* Wed May 03 2017 Miro Hrončok <mhroncok@redhat.com> - 1:2.5.0-1
96f43d1
- Updated to 2.5.0
d257a2a
96f43d1
* Sun Dec 04 2016 Miro Hrončok <mhroncok@redhat.com> - 1:2.3.1-1
96f43d1
- New version scheme -> Introduce Epoch
96f43d1
- Updated
96f43d1
- SPEC rewritten
b435285
ee86800
* Sun Sep 18 2016 Miro Hrončok <mhroncok@redhat.com> - 15.04-4
ee86800
- Rebuilt for new polyclipping (#1159525)
ee86800
d446311
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 15.04-3
d446311
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
d446311
faa9784
* Mon Jul 06 2015 Miro Hrončok <mhroncok@redhat.com> - 15.04-2
faa9784
- Set the VERSION variable
faa9784
cbe313a
* Sun Jul 05 2015 Miro Hrončok <mhroncok@redhat.com> - 15.04-1
cbe313a
- Update to 15.04
cbe313a
b2d08f3
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.12.1-3
b2d08f3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
b2d08f3
ddc9b70
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 14.12.1-2
ddc9b70
- Rebuilt for GCC 5 C++11 ABI change
ddc9b70
53482a1
* Mon Dec 29 2014 Miro Hrončok <mhroncok@redhat.com> - 14.12.1-1
53482a1
- Update to 14.12.1
53482a1
59b5c01
* Thu Oct 23 2014 Miro Hrončok <mhroncok@redhat.com> - 14.03-3
59b5c01
- Rebuilt for new polyclipping
59b5c01
931fee1
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.03-2
931fee1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
931fee1
e3a63af
* Mon Jun 23 2014 Miro Hrončok <mhroncok@redhat.com> - 14.03-1
e3a63af
- New version 14.03
e3a63af
dc2b10a
* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 14.01-2
dc2b10a
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
dc2b10a
00b6c0d
* Sun Mar 09 2014 Miro Hrončok <mhroncok@redhat.com> - 14.01-1
00b6c0d
- New version 14.01
00b6c0d
- polyclipping 6.1.x
00b6c0d
- Now with make test
00b6c0d
- Rebuilt against new polyclipping release
00b6c0d
d99a63b
* Sat Dec 14 2013 Miro Hrončok <mhroncok@redhat.com> - 13.11.2-1
d99a63b
- New version 13.11.2
d99a63b
- Makefile seding changed to reflect changes
d99a63b
- Clipper usage no longer need patching
d99a63b
280b908
* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 13.06.3-4
280b908
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
280b908
a159126
* Mon Jul 22 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-3
a159126
- Rebuilt for new polyclipping
a159126
ebf23ce
* Thu Jul 04 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-2
ebf23ce
- Added some explaining comments
ebf23ce
ebf23ce
* Sun Jun 23 2013 Miro Hrončok <mhroncok@redhat.com> - 13.06.3-1
ebf23ce
- New package