%global gitrev 5f9c029d1 %global gitprorev f1ffaa5da %global prover 2.0.0.110 %global buildfromsource 1 Name: lulzbot-marlin-firmware Version: 1.1.9.34 Release: 5%{?dist} Epoch: 1 Summary: Marlin firmware files for the Lulzbot family of 3D printers # this uses the arduino cross-compiler, so the output is arch-independent BuildArch: noarch # Firmware source includes BSD, MIT, ISC, GPLv2+, GPLv3+, LGPLv2+, and LGPLv3+ licensed files # Resulting combination is GPLv3+. License: GPLv3+ URL: https://code.alephobjects.com/diffusion/MARLIN/ # https://www.lulzbot.com/learn/tutorials/firmware-flashing-through-cura # # If we pull from git: # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 5f9c029d1 # cd .. # mv marlin/ lulzbot-marlin-firmware-1.1.9.34/ # tar cfz lulzbot-marlin-firmware-1.1.9.34.tar.gz lulzbot-marlin-firmware-1.1.9.34/ ## PRO is using v2 code # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout f1ffaa5da # cd .. # mv marlin/ lulzbot-marlin-firmware-pro-2.0.0.110 # tar cfz lulzbot-marlin-firmware-pro-2.0.0.110.tar.gz lulzbot-marlin-firmware-pro-2.0.0.110/ Source0: lulzbot-marlin-firmware-%{version}.tar.gz Source1: lulzbot-marlin-firmware-pro-%{prover}.tar.gz # Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71873 # Should not be needed when avr-gcc 7.0.0 arrives Patch1: lulzbot-marlin-firmware-1.1.5.64-set-fno-move-loop-invariants.patch # Fix linking issue (-lgcc vs -gcc) Patch2: lulzbot-marlin-firmware-2.0.0.101-fix-lgcc.patch BuildRequires: arduino-core BuildRequires: git-core BuildRequires: arm-none-eabi-binutils-cs BuildRequires: arm-none-eabi-gcc-cs BuildRequires: arm-none-eabi-gcc-cs-c++ BuildRequires: arm-none-eabi-newlib Requires: cura-lulzbot >= 3.6.6 # This is the best representation I could come up with for the bundled # arduino bits and libraries Provides: bundled(arduino) Provides: bundled(arduino:LiquidCrystal) Provides: bundled(arduino:SPI) Provides: bundled(arduino:U8glib) %description %{summary}. %package pro Version: %{prover} Summary: Marlin firmware files for the Lulzbot TAZ PRO family of 3D printers Requires: cura-lulzbot >= 3.6.6 # Just for common files Requires: lulzbot-marlin-firmware %description pro Marlin firmware files for the Lulzbot TAZ PRO family of 3D printers %global platform mega2560 %prep %setup -q -a 1 %patch1 -p1 -b .nmli %patch2 -p1 -b .lgcc %build ./build-lulzbot-firmware.sh # rename code in shell script assumes perl variant, we have util-linux variant # this is more portable. for f in build/*.hex; do mv "$f" "$(echo $f | cut -d '_' -f 1,3,5,6-)"; done pushd lulzbot-marlin-firmware-pro-%{prover} mkdir good-build ./build-lulzbot-firmware.sh Quiver_TAZPro AchemonSphinx_SmallLayer cp build/* good-build/ ./build-lulzbot-firmware.sh Quiver_TAZPro BandedTiger_HardenedSteel cp build/* good-build/ ./build-lulzbot-firmware.sh Quiver_TAZPro CecropiaSilk_SingleExtruderAeroV2 cp build/* good-build/ ./build-lulzbot-firmware.sh Quiver_TAZPro DingyCutworm_HardenedSteelPlus cp build/* good-build/ ./build-lulzbot-firmware.sh Quiver_TAZPro Quiver_DualExtruder cp build/* good-build/ # rename code in shell script assumes perl variant, we have util-linux variant # this is more portable. for f in good-build/*.bin; do mv "$f" "$(echo $f | cut -d '_' -f 1,3,5,6-)"; done popd %install mkdir -p %{buildroot}%{_datadir}/cura-lulzbot/firmware/ install -Dpm0644 build/*.hex %{buildroot}%{_datadir}/cura-lulzbot/firmware/ pushd lulzbot-marlin-firmware-pro-%{prover} install -Dpm0644 good-build/*TAZPro*.bin %{buildroot}%{_datadir}/cura-lulzbot/firmware/ pushd %{buildroot}%{_datadir}/cura-lulzbot/ mkdir resources ln -s ../firmware resources/firmware popd %files %doc README.md %license LICENSE %{_datadir}/cura-lulzbot/firmware/*.hex %{_datadir}/cura-lulzbot/resources/firmware %files pro %{_datadir}/cura-lulzbot/firmware/*.bin %changelog * Thu May 2 2019 Tom Callaway - 1:1.1.9.34-5 - update pro version for c-le 3.6.8 * Thu Apr 18 2019 Tom Callaway - 1:1.1.9.34-4 - update pro version for c-le 3.6.6 * Thu Mar 28 2019 Tom Callaway - 1:1.1.9.34-3 - preserve all PRO firmware files * Wed Mar 27 2019 Tom Callaway - 1:1.1.9.34-2 - add 2.0 PRO firmware subpackage * Wed Feb 20 2019 Tom Callaway - 1:1.1.9.34-1 - update to 1.1.9.34 * Fri Feb 01 2019 Fedora Release Engineering - 1:1.1.9.28-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Fri Nov 16 2018 Tom Callaway - 1:1.1.9.28-1 - update to 1.1.9.28 * Mon Jul 30 2018 Tom Callaway - 1:1.1.8.62-1 - update to 1.1.8.62 * Fri Jul 13 2018 Miro Hrončok - 1:1.1.8.59-3 - Security fix for CVE-2018-1000537 * Fri Jul 13 2018 Fedora Release Engineering - 1:1.1.8.59-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed May 23 2018 Tom Callaway - 1:1.1.8.59-1 - update to 1.1.8.59 * Wed May 23 2018 Tom Callaway - 1:1.1.8.51-1 - update to 1.1.8.51 * Tue May 22 2018 Tom Callaway - 1:1.1.8.42-1 - update to 1.1.8.42 * Mon Apr 23 2018 Tom Callaway - 1:1.1.8.29-1 - update to 1.1.8.29 * Wed Mar 14 2018 Tom Callaway - 1:1.1.5.71-1 - update to 1.1.5.71 * Thu Feb 08 2018 Fedora Release Engineering - 1:1.1.5.70-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Wed Jan 17 2018 Tom Callaway 1:1.1.5.70-1 - update to 1.1.5.70 * Wed Jan 3 2018 Tom Callaway 1:1.1.5.64-1 - bump epoch and use new firmware tree (whee!) * Thu Nov 23 2017 Miro Hrončok - 21.08-2 - Rebuilt to get it to f27 * Mon Aug 14 2017 Tom Callaway - 21.08-1 - update to 21.08 - make symlink for cura2 compat - do not build firmware from source (still no idea why it does not work) * Wed Jul 26 2017 Fedora Release Engineering - 21.03-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Fri Feb 10 2017 Fedora Release Engineering - 21.03-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Wed Jan 4 2017 Tom Callaway - 21.03-1 - update mini to 1.1.0.11 * Tue Nov 29 2016 Tom Callaway - 21.00-2 - update mini to 1.1.0.10 - patch oliveoil* to build with gcc 6.2 * Fri Sep 30 2016 Tom Callaway - 21.00-1 - update to 21.00 revisions - drop patch merged upstream - add TAZ6 moarstruder firmware * Tue Sep 6 2016 Tom Callaway - 20.03-2 - depend on cura-lulzbot - do not own firmware dir (cura-lulzbot does) - include README.md - use smp_mflags - add bundled provides - add licensing comment - update Gladiola to 1.1.0.9 * Wed Aug 31 2016 Tom Callaway - 20.03-1 - update to firmware in cura-lulzbot 20.03 * Thu Jul 28 2016 Tom Callaway - 20.01-1 - update to mini 1.1.0.5 f5e8154 (Gladiola) * Tue Apr 12 2016 Tom Callaway - 19.08-1 - initial package for lulzbot firmware (inspired a lot by Miro Hrončok's ultimaker2-marlin-firmware)