%global Miniver 1.1.0.9 %global Minirev e69d503 %global TAZ45ver 1.0.0.1 %global olivebranchver 1.0.2.20 Name: lulzbot-marlin-firmware # Version comes from matching release of cura-lulzbot Version: 20.03 Release: 2%{?dist} 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/ # If we pull from git: # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout f5e8154d71470791112b70bca8c390a506a23640 # cd .. # mv marlin Marlin_Gladiola/ # tar --exclude-vcs -czvf Marlin_Gladiola_v1.1.0.5_f5e8154.tar.gz Gladiola/ # Source0: Marlin_Gladiola_v%%{Miniver}_%%{Minirev}.tar.gz Source0: https://devel.lulzbot.com/mini/Gladiola/software/firmware/Marlin_Gladiola_v%{Miniver}_%{Minirev}.tar.gz # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 1df0e3c64ea04ee57f0d2f8900411a9539f76436 # cd .. # mv marlin TAZ45_standard_v2 # tar --exclude-vcs -cjvf TAZ45_standard_v2-1.0.0.1.tar.bz2 TAZ45_standard_v2/ Source1: TAZ45_standard_v2-%{TAZ45ver}.tar.bz2 # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 06306b157133cbf8d4eb3bf7c03bd487e7d71c62 # cd .. # mv marlin TAZ45_flexy_v2 # tar --exclude-vcs -cjvf TAZ45_flexy_v2-1.0.0.1.tar.bz2 TAZ45_flexy_v2/ Source2: TAZ45_flexy_v2-%{TAZ45ver}.tar.bz2 # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout c5aafd1ec4eb8d515fcc52b555af225b0fd0ea1d # cd .. # mv marlin TAZ45_flexydually_v2 # tar --exclude-vcs -cjvf TAZ45_flexydually_v2-1.0.0.1.tar.bz2 TAZ45_flexydually_v2/ Source3: TAZ45_flexydually_v2-%{TAZ45ver}.tar.bz2 # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 596a273f57e11509439500749e301be799e09cff # cd .. # mv marlin TAZ45_dual_v2 # tar --exclude-vcs -cjvf TAZ45_dual_v2-1.0.0.1.tar.bz2 TAZ45_dual_v2/ Source4: TAZ45_dual_v2-%{TAZ45ver}.tar.bz2 # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 06162da7625ee34560073598ed01bbff4d16bf64 # cd .. # mv marlin olivebranch # tar --exclude-vcs -cjvf olivebranch-1.0.2.20.tar.bz2 olivebranch/ Source5: olivebranch-%{olivebranchver}.tar.bz2 # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 781b52a6495b2d3e1d1dba79dc3eb479fea0bc96 # cd .. # mv marlin olivebranch_flexy # tar --exclude-vcs -cjvf olivebranch_flexy-1.0.2.20.tar.bz2 olivebranch_flexy/ Source6: olivebranch_flexy-%{olivebranchver}.tar.bz2 # git clone https://code.alephobjects.com/diffusion/MARLIN/marlin.git # cd marlin # git checkout 724d126691060d255d7f5b5fa4fd66398ff92a19 # cd .. # mv marlin olivebranch_dually # tar --exclude-vcs -cjvf olivebranch_dually-1.0.2.20.tar.bz2 olivebranch_dually Source7: olivebranch_dually-%{olivebranchver}.tar.bz2 # See: https://code.google.com/archive/p/arduino/issues/955 Patch0: lulzbot-marlin-firmware-20.01-sig.patch BuildRequires: arduino-core Requires: cura-lulzbot # 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}. %global platform mega2560 %prep %setup -q -c %{name}-%{version} -a 1 -a 2 -a 3 -a 4 -a 5 -a 6 -a 7 %patch0 -p1 -b .oldsig # Fix end-of-line encoding sed -i 's/\r//g' olivebranch/README.md %build # Mini pushd Marlin_Gladiola_v%{Miniver}_%{Minirev}/Marlin make %{?_smp_mflags} avrdir=/usr/bin MACHINE=Mini-Single-or-Flexystruder-LBHexagon VERSION=v%{Miniver} HASH=%{Minirev} mv Marlin_Mini-Single-or-Flexystruder-LBHexagon_v%{Miniver}_%{Minirev}.hex Mini-Single-or-Flexystruder-LBHexagon-%{Miniver}.hex popd # olivebranch pushd olivebranch/Marlin make %{?_smp_mflags} avrdir=/usr/bin MACHINE=TAZ6_Single mv Marlin_TAZ6_Single_v%{olivebranchver}_.hex TAZ6_Single_Extruder_v%{olivebranchver}.hex popd # olivebranch_flexy pushd olivebranch_flexy/Marlin make %{?_smp_mflags} avrdir=/usr/bin MACHINE=TAZ6_Flexystruder mv Marlin_TAZ6_Flexystruder_v%{olivebranchver}_.hex TAZ6_Flexystruder_v%{olivebranchver}.hex popd # olivebranch_dually pushd olivebranch_dually/Marlin make %{?_smp_mflags} avrdir=/usr/bin MACHINE=TAZ6_Dual mv Marlin_TAZ6_Dual_v%{olivebranchver}_.hex TAZ6_Dual_v%{olivebranchver}.hex popd # Building the TAZ45 firmware is... not as easy. # TODO: Figure out a way to do it. %install mkdir -p %{buildroot}%{_datadir}/cura-lulzbot/firmware/ install -Dpm0644 Marlin_Gladiola_v%{Miniver}_%{Minirev}/Marlin/Mini-Single-or-Flexystruder-LBHexagon-%{Miniver}.hex %{buildroot}%{_datadir}/cura-lulzbot/firmware/ install -Dpm0644 olivebranch/Marlin/TAZ6_Single_Extruder_v%{olivebranchver}.hex %{buildroot}%{_datadir}/cura-lulzbot/firmware/ install -Dpm0644 olivebranch_flexy/Marlin/TAZ6_Flexystruder_v%{olivebranchver}.hex %{buildroot}%{_datadir}/cura-lulzbot/firmware/ install -Dpm0644 olivebranch_dually/Marlin/TAZ6_Dual_v%{olivebranchver}.hex %{buildroot}%{_datadir}/cura-lulzbot/firmware/ %files %doc olivebranch/README.md %{_datadir}/cura-lulzbot/firmware/* %license Marlin_Gladiola_v%{Miniver}_%{Minirev}/LICENSE %changelog * 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)