From 9674a6b87602fe60b87bd171c10771e8391a3a5b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 06:52:21 +0000 Subject: [PATCH 01/89] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index f671472..0befca5 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Version: 15.04.4 %global commit 95c2af21db7fdda8c4324a923fa004859f6c5b9c -Release: 3%{?dist} +Release: 4%{?dist} Summary: 3D printer control software # Code is AGPLv3 @@ -109,6 +109,9 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} %{_bindir}/%{name} %changelog +* Tue Jul 19 2016 Fedora Release Engineering - 15.04.4-4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + * Fri Mar 25 2016 Miro Hrončok - 15.04.4-3 - Require 3dprinter-udev-rules From fdff4259b4bcb5666e02b9ab00c45fe05e289242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 3 Nov 2016 01:28:33 +0100 Subject: [PATCH 02/89] Explicitly run cura on X11 GDK backend (#1388953) --- cura | 3 +++ cura.spec | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/cura b/cura index 2c711c6..a21d361 100755 --- a/cura +++ b/cura @@ -1,4 +1,7 @@ #!/usr/bin/python +import os +os.environ['GDK_BACKEND'] = 'x11' + import Cura.cura as cura diff --git a/cura.spec b/cura.spec index 0befca5..2a3933a 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Version: 15.04.4 %global commit 95c2af21db7fdda8c4324a923fa004859f6c5b9c -Release: 4%{?dist} +Release: 5%{?dist} Summary: 3D printer control software # Code is AGPLv3 @@ -109,6 +109,9 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} %{_bindir}/%{name} %changelog +* Thu Nov 03 2016 Miro Hrončok - 15.04.4-5 +- Explicitly run cura on X11 GDK backend (#1388953) + * Tue Jul 19 2016 Fedora Release Engineering - 15.04.4-4 - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages From 7d72a4e7e323f94d44157ee065b93cad4b3cb27b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 08:04:34 +0000 Subject: [PATCH 03/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 2a3933a..17f5b64 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Version: 15.04.4 %global commit 95c2af21db7fdda8c4324a923fa004859f6c5b9c -Release: 5%{?dist} +Release: 6%{?dist} Summary: 3D printer control software # Code is AGPLv3 @@ -109,6 +109,9 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} %{_bindir}/%{name} %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 15.04.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Nov 03 2016 Miro Hrončok - 15.04.4-5 - Explicitly run cura on X11 GDK backend (#1388953) From f96865ef5ab4c847db0a965b8beffdd63ea8ab9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 4 May 2017 18:53:39 +0200 Subject: [PATCH 04/89] Update to modern Cura 2.x (introduce Epoch) (#1393176) --- .gitignore | 1 + cura-czech-newlines.patch | 32 ------- cura-dead-object.patch | 55 ----------- cura-dont-show-nc-stls.patch | 126 ------------------------- cura-no-firmware.patch | 87 ------------------ cura-stripper.sh | 34 ------- cura-system-paths.patch | 33 ------- cura-version.patch | 77 ---------------- cura-xdg-open.patch | 50 ---------- cura.desktop | 9 -- cura.spec | 174 ++++++++++++++++++++--------------- sources | 2 +- 12 files changed, 100 insertions(+), 580 deletions(-) delete mode 100644 cura-czech-newlines.patch delete mode 100644 cura-dead-object.patch delete mode 100644 cura-dont-show-nc-stls.patch delete mode 100644 cura-no-firmware.patch delete mode 100755 cura-stripper.sh delete mode 100644 cura-system-paths.patch delete mode 100644 cura-version.patch delete mode 100644 cura-xdg-open.patch delete mode 100644 cura.desktop diff --git a/.gitignore b/.gitignore index c0a02cc..d151f3f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /Cura-14.12.1-fedora.tar.gz /Cura-15.02.1-fedora.tar.gz /Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz +/cura-2.5.0.tar.gz diff --git a/cura-czech-newlines.patch b/cura-czech-newlines.patch deleted file mode 100644 index 48c2e24..0000000 --- a/cura-czech-newlines.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/resources/locale/cs/LC_MESSAGES/Cura.po b/resources/locale/cs/LC_MESSAGES/Cura.po -index 670e2fd..6b8d78a 100644 ---- a/resources/locale/cs/LC_MESSAGES/Cura.po -+++ b/resources/locale/cs/LC_MESSAGES/Cura.po -@@ -147,7 +147,7 @@ msgstr "Dvojtryska (experimentální)" - msgid "If you have an Ultimaker bought after october 2012 you will have the\n" - "Extruder drive upgrade. If you do not have this upgrade,\n" - "it is highly recommended to improve reliability." --msgstr "Pokud jste zakoupil Ultimaker po říjnu 2012, budete mít upgrade extrudéru. Pokud tento upgrade nevlastníte, doporučujeme jej zakoupit pro zvýšení spolehlivosti.\n" -+msgstr "Pokud jste zakoupil Ultimaker po říjnu 2012, budete mít upgrade extrudéru. Pokud tento upgrade nevlastníte, doporučujeme jej zakoupit pro zvýšení spolehlivosti." - "" - - #: Cura/gui/configWizard.py:464 -@@ -368,7 +368,7 @@ msgstr "Nepodařilo se najít tiskárnu pro aktualizaci firmware. Je tiskárna p - - #: Cura/gui/firmwareInstall.py:107 - msgid "Uploading firmware..." --msgstr "Nahrávám firmware\n" -+msgstr "Nahrávám firmware..." - "" - - #: Cura/gui/firmwareInstall.py:110 -@@ -379,8 +379,7 @@ msgstr "Hotovo!\n" - - #: Cura/gui/firmwareInstall.py:112 - msgid "Failed to write firmware.\n" --"" --msgstr "Nepodařilo se zapsat firmware" -+msgstr "Nepodařilo se zapsat firmware.\n" - - #: Cura/gui/mainWindow.py:66 - msgid "Load model file...\tCTRL+L" diff --git a/cura-dead-object.patch b/cura-dead-object.patch deleted file mode 100644 index 33a0a30..0000000 --- a/cura-dead-object.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 6a6d7d86266c832e3c7df43976218ca2e220f501 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Mon, 6 Jul 2015 13:53:05 +0200 -Subject: [PATCH] Prevent PyDeadObjectError - -On wxPython 3, PyDeadObjectError exception was risen -when Cura was started for the first time. - -This ensures it won't happen. - -Related bug: https://bugzilla.redhat.com/show_bug.cgi?id=1230281 ---- - Cura/gui/app.py | 3 +++ - Cura/gui/splashScreen.py | 3 ++- - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/Cura/gui/app.py b/Cura/gui/app.py -index 38c79fe..ebbb1e5 100644 ---- a/Cura/gui/app.py -+++ b/Cura/gui/app.py -@@ -134,6 +134,7 @@ def afterSplashCallback(self): - self.loadFiles = [exampleFile] - if self.splash is not None: - self.splash.Show(False) -+ self.splash = None - configWizard.ConfigWizard() - - if profile.getPreference('check_for_updates') == 'True': -@@ -141,6 +142,7 @@ def afterSplashCallback(self): - if newVersion is not None: - if self.splash is not None: - self.splash.Show(False) -+ self.splash = None - if wx.MessageBox(_("A new version of Cura is available, would you like to download?"), _("New version available"), wx.YES_NO | wx.ICON_INFORMATION) == wx.YES: - webbrowser.open(newVersion) - return -@@ -149,6 +151,7 @@ def afterSplashCallback(self): - self.mainWindow = mainWindow.mainWindow() - if self.splash is not None: - self.splash.Show(False) -+ self.splash = None - self.SetTopWindow(self.mainWindow) - self.mainWindow.Show() - self.mainWindow.OnDropFiles(self.loadFiles) -diff --git a/Cura/gui/splashScreen.py b/Cura/gui/splashScreen.py -index e2a2613..06e2bd7 100644 ---- a/Cura/gui/splashScreen.py -+++ b/Cura/gui/splashScreen.py -@@ -13,4 +13,5 @@ def __init__(self, callback): - - def DoCallback(self): - self.callback() -- self.Destroy() -+ if self: -+ self.Destroy() diff --git a/cura-dont-show-nc-stls.patch b/cura-dont-show-nc-stls.patch deleted file mode 100644 index e355c96..0000000 --- a/cura-dont-show-nc-stls.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff --git a/Cura/gui/sceneView.py b/Cura/gui/sceneView.py -index e31bfd0..3448b3d 100644 ---- a/Cura/gui/sceneView.py -+++ b/Cura/gui/sceneView.py -@@ -1325,111 +1325,16 @@ class SceneView(openglGui.glGuiPanel): - - size = [profile.getMachineSettingFloat('machine_width'), profile.getMachineSettingFloat('machine_depth'), profile.getMachineSettingFloat('machine_height')] - -- machine_type = profile.getMachineSetting('machine_type') -- if machine_type not in self._platformMesh: -- self._platformMesh[machine_type] = None -- -- filename = None -- texture_name = None -- offset = [0,0,0] -- texture_offset = [0,0,0] -- texture_scale = 1.0 -- if machine_type == 'ultimaker2' or machine_type == 'ultimaker2extended' or machine_type == 'ultimaker2+' or machine_type == 'ultimaker2+extended': -- filename = resources.getPathForMesh('ultimaker2_platform.stl') -- offset = [-9,-37,145] -- if machine_type.startswith('ultimaker2+'): -- texture_name = 'Ultimaker2plusbackplate.png' -- else: -- texture_name = 'Ultimaker2backplate.png' -- texture_offset = [9,150,-5] -- elif machine_type == 'ultimaker2go': -- filename = resources.getPathForMesh('ultimaker2go_platform.stl') -- offset = [0,-42,145] -- texture_offset = [0,105,-5] -- texture_name = 'Ultimaker2backplate.png' -- texture_scale = 0.9 -- elif machine_type == 'ultimaker_plus': -- filename = resources.getPathForMesh('ultimaker2_platform.stl') -- offset = [0,-37,145] -- texture_offset = [0,150,-5] -- texture_name = 'UltimakerPlusbackplate.png' -- elif machine_type == 'ultimaker': -- filename = resources.getPathForMesh('ultimaker_platform.stl') -- offset = [0,0,2.5] -- elif machine_type == 'Witbox': -- filename = resources.getPathForMesh('witbox_platform.stl') -- offset = [0,-37,145] -- elif machine_type == 'Hephestos': -- filename = resources.getPathForMesh('hephestos_platform.stl') -- offset = [0,0,-80] -- -- if filename is not None: -- meshes = meshLoader.loadMeshes(filename) -- if len(meshes) > 0: -- self._platformMesh[machine_type] = meshes[0] -- self._platformMesh[machine_type]._drawOffset = numpy.array(offset, numpy.float32) -- self._platformMesh[machine_type].texture = None -- if texture_name is not None: -- self._platformMesh[machine_type].texture = openglHelpers.loadGLTexture(texture_name) -- self._platformMesh[machine_type].texture_offset = texture_offset -- self._platformMesh[machine_type].texture_scale = texture_scale -- if self._platformMesh[machine_type] is not None: -- mesh = self._platformMesh[machine_type] -- glColor4f(1,1,1,0.5) -- self._objectShader.bind() -- self._renderObject(mesh, False, False) -- self._objectShader.unbind() -- -- #For the Ultimaker 2 render the texture on the back plate to show the Ultimaker2 text. -- if mesh.texture is not None: -- glBindTexture(GL_TEXTURE_2D, mesh.texture) -- glEnable(GL_TEXTURE_2D) -- glPushMatrix() -- glColor4f(1,1,1,1) -- -- glTranslate(mesh.texture_offset[0], mesh.texture_offset[1], mesh.texture_offset[2]) -- glScalef(mesh.texture_scale, mesh.texture_scale, mesh.texture_scale) -- h = 50 -- d = 8 -- w = 100 -- glEnable(GL_BLEND) -- glBlendFunc(GL_DST_COLOR, GL_ONE_MINUS_SRC_ALPHA) -- glEnable(GL_ALPHA_TEST) -- glAlphaFunc(GL_GREATER, 0.0) -- glBegin(GL_QUADS) -- glTexCoord2f(1, 0) -- glVertex3f( w, 0, h) -- glTexCoord2f(0, 0) -- glVertex3f(-w, 0, h) -- glTexCoord2f(0, 1) -- glVertex3f(-w, 0, 0) -- glTexCoord2f(1, 1) -- glVertex3f( w, 0, 0) -- -- glTexCoord2f(1, 0) -- glVertex3f(-w, d, h) -- glTexCoord2f(0, 0) -- glVertex3f( w, d, h) -- glTexCoord2f(0, 1) -- glVertex3f( w, d, 0) -- glTexCoord2f(1, 1) -- glVertex3f(-w, d, 0) -- glEnd() -- glDisable(GL_TEXTURE_2D) -- glDisable(GL_ALPHA_TEST) -- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) -- glPopMatrix() -- else: -- glColor4f(0,0,0,1) -- glLineWidth(3) -- glBegin(GL_LINES) -- glVertex3f(-size[0] / 2, -size[1] / 2, 0) -- glVertex3f(-size[0] / 2, -size[1] / 2, 10) -- glVertex3f(-size[0] / 2, -size[1] / 2, 0) -- glVertex3f(-size[0] / 2+10, -size[1] / 2, 0) -- glVertex3f(-size[0] / 2, -size[1] / 2, 0) -- glVertex3f(-size[0] / 2, -size[1] / 2+10, 0) -- glEnd() -+ glColor4f(0,0,0,1) -+ glLineWidth(3) -+ glBegin(GL_LINES) -+ glVertex3f(-size[0] / 2, -size[1] / 2, 0) -+ glVertex3f(-size[0] / 2, -size[1] / 2, 10) -+ glVertex3f(-size[0] / 2, -size[1] / 2, 0) -+ glVertex3f(-size[0] / 2+10, -size[1] / 2, 0) -+ glVertex3f(-size[0] / 2, -size[1] / 2, 0) -+ glVertex3f(-size[0] / 2, -size[1] / 2+10, 0) -+ glEnd() - - glDepthMask(False) - diff --git a/cura-no-firmware.patch b/cura-no-firmware.patch deleted file mode 100644 index d51a45f..0000000 --- a/cura-no-firmware.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff --git a/Cura/gui/firmwareInstall.py b/Cura/gui/firmwareInstall.py -index 44c1ed5..f59b967 100644 ---- a/Cura/gui/firmwareInstall.py -+++ b/Cura/gui/firmwareInstall.py -@@ -18,51 +18,6 @@ from Cura.util import profile - from Cura.util import resources - - def getDefaultFirmware(machineIndex = None): -- machine_type = profile.getMachineSetting('machine_type', machineIndex) -- extruders = profile.getMachineSettingFloat('extruder_amount', machineIndex) -- heated_bed = profile.getMachineSetting('has_heated_bed', machineIndex) == 'True' -- baudrate = 250000 -- if sys.platform.startswith('linux'): -- baudrate = 115200 -- if machine_type == 'ultimaker': -- name = 'MarlinUltimaker' -- if extruders > 2: -- return None -- if heated_bed: -- name += '-HBK' -- name += '-%d' % (baudrate) -- if extruders > 1: -- name += '-dual' -- return resources.getPathForFirmware(name + '.hex') -- -- if machine_type == 'ultimaker_plus': -- name = 'MarlinUltimaker-UMOP-%d' % (baudrate) -- if extruders > 2: -- return None -- if extruders > 1: -- name += '-dual' -- return resources.getPathForFirmware(name + '.hex') -- -- if machine_type == 'ultimaker2': -- if extruders > 2: -- return None -- if extruders > 1: -- return resources.getPathForFirmware("MarlinUltimaker2-dual.hex") -- return resources.getPathForFirmware("MarlinUltimaker2.hex") -- if machine_type == 'ultimaker2go': -- return resources.getPathForFirmware("MarlinUltimaker2go.hex") -- if machine_type == 'ultimaker2extended': -- if extruders > 2: -- return None -- if extruders > 1: -- return resources.getPathForFirmware("MarlinUltimaker2extended-dual.hex") -- return resources.getPathForFirmware("MarlinUltimaker2extended.hex") -- if machine_type == 'ultimaker2+': -- return resources.getPathForFirmware("MarlinUltimaker2Plus.hex") -- if machine_type == 'ultimaker2+extended': -- return resources.getPathForFirmware("MarlinUltimaker2PlusExtended.hex") -- if machine_type == 'Witbox': -- return resources.getPathForFirmware("MarlinWitbox.hex") - return None - - class InstallFirmware(wx.Dialog): -@@ -77,7 +32,7 @@ class InstallFirmware(wx.Dialog): - else: - self._default_firmware = False - if filename is None: -- wx.MessageBox(_("I am sorry, but Cura does not ship with a default firmware for your machine configuration."), _("Firmware update"), wx.OK | wx.ICON_ERROR) -+ wx.MessageBox(_("I am sorry, but Cura on Fedora does not ship firmware for technical reasons. Please go download it and install it as custom firmware instead."), _("Firmware update"), wx.OK | wx.ICON_ERROR) - self.Destroy() - return - self._machine_type = profile.getMachineSetting('machine_type', machineIndex) -diff --git a/Cura/gui/mainWindow.py b/Cura/gui/mainWindow.py -index 46b009b..362c0e0 100644 ---- a/Cura/gui/mainWindow.py -+++ b/Cura/gui/mainWindow.py -@@ -384,7 +384,6 @@ class mainWindow(wx.Frame): - self.splitter.SetSashPosition(self.normalSashPos, True) - # Enabled sash - self.splitter.SetSashSize(4) -- self.defaultFirmwareInstallMenuItem.Enable(firmwareInstall.getDefaultFirmware() is not None) - if profile.getMachineSetting('machine_type').startswith('ultimaker2'): - self.bedLevelWizardMenuItem.Enable(False) - self.headOffsetWizardMenuItem.Enable(False) -@@ -492,9 +491,6 @@ class mainWindow(wx.Frame): - #Add tools for machines. - self.machineMenu.AppendSeparator() - -- self.defaultFirmwareInstallMenuItem = self.machineMenu.Append(-1, _("Install default firmware...")) -- self.Bind(wx.EVT_MENU, self.OnDefaultMarlinFirmware, self.defaultFirmwareInstallMenuItem) -- - i = self.machineMenu.Append(-1, _("Install custom firmware...")) - self.Bind(wx.EVT_MENU, self.OnCustomFirmware, i) - diff --git a/cura-stripper.sh b/cura-stripper.sh deleted file mode 100755 index c9026ef..0000000 --- a/cura-stripper.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/bash - -VERSION="$1" - -wget "https://github.com/daid/Cura/archive/$VERSION.tar.gz" || exit 1 - -tar -xzf "Cura-$VERSION.tar.gz" || exit 1 -cd "Cura-$VERSION" - -# not needed -rm -rf scripts - -# Remove CC BY-NC content -# It cannot be shipped with/in Fedora, as it has use restrictions -rm -f resources/meshes/* -rm -f resources/example/UltimakerRobot_support.stl - -# Remove binary locales -rm -f resources/locale/*/LC_MESSAGES/*.mo - -# Drop the note about the removal -echo -e '\n\nPlease note, that files under the terms of CC BY-NC has been removed form this Fedora package for legal reasons.' >> resources/example/Attribution.txt - -# Use free UltimakerHandle.stl instead of UltimakerRobot_support.stl -FILES=`grep -Ir "UltimakerRobot_support.stl" . | cut -f1 -d: | sort | uniq | grep -v Attribution.txt | tr '\n' ' '` -sed -i 's/UltimakerRobot_support.stl/UltimakerHandle.stl/g' $FILES - -# Remove the firmware -# It is binary, so it is prohibited in Fedora -rm -rf resources/firmware - -cd .. -# rm -f "$VERSION.tar.gz" -tar -czf Cura-$VERSION-fedora.tar.gz "Cura-$VERSION" diff --git a/cura-system-paths.patch b/cura-system-paths.patch deleted file mode 100644 index c6060eb..0000000 --- a/cura-system-paths.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/Cura/util/pluginInfo.py b/Cura/util/pluginInfo.py -index eba3770..9dcc812 100644 ---- a/Cura/util/pluginInfo.py -+++ b/Cura/util/pluginInfo.py -@@ -80,14 +80,7 @@ def setPostProcessPluginConfig(config): - profile.putProfileSetting('plugin_config', pickle.dumps(config)) - - def getPluginBasePaths(): -- ret = [] -- if platform.system() != "Windows": -- ret.append(os.path.expanduser('~/.cura/plugins/')) -- if platform.system() == "Darwin" and hasattr(sys, 'frozen'): -- ret.append(os.path.normpath(os.path.join(resources.resourceBasePath, "plugins"))) -- else: -- ret.append(os.path.normpath(os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', '..', 'plugins'))) -- return ret -+ return [os.path.expanduser('~/.cura/plugins/'), '/usr/share/cura/plugins'] - - def getPluginList(pluginType): - global _pluginList -diff --git a/Cura/util/resources.py b/Cura/util/resources.py -index c717850..2827bc7 100644 ---- a/Cura/util/resources.py -+++ b/Cura/util/resources.py -@@ -28,7 +28,7 @@ if sys.platform.startswith('darwin'): - else: - resourceBasePath = os.path.join(os.path.dirname(__file__), "../../resources") - else: -- resourceBasePath = os.path.join(os.path.dirname(__file__), "../../resources") -+ resourceBasePath = "/usr/share/cura" - - def getPathForResource(dir, subdir, resource_name): - assert os.path.isdir(dir), "{p} is not a directory".format(p=dir) diff --git a/cura-version.patch b/cura-version.patch deleted file mode 100644 index 8749999..0000000 --- a/cura-version.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/Cura/util/version.py b/Cura/util/version.py -index 56faeee..add5eb0 100644 ---- a/Cura/util/version.py -+++ b/Cura/util/version.py -@@ -17,70 +17,12 @@ except: - from Cura.util import resources - - def getVersion(getGitVersion = True): -- gitPath = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../..")) -- if hasattr(sys, 'frozen'): -- versionFile = os.path.normpath(os.path.join(resources.resourceBasePath, "version")) -- else: -- versionFile = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../version")) -- -- if getGitVersion: -- try: -- gitProcess = subprocess.Popen(args = "git show -s --pretty=format:%H", shell = True, cwd = gitPath, stdout = subprocess.PIPE, stderr = subprocess.PIPE) -- (stdoutdata, stderrdata) = gitProcess.communicate() -- -- if gitProcess.returncode == 0: -- return stdoutdata -- except: -- pass -- -- gitHeadFile = gitPath + "/.git/refs/heads/SteamEngine" -- if os.path.isfile(gitHeadFile): -- if not getGitVersion: -- return "dev" -- f = open(gitHeadFile, "r") -- version = f.readline() -- f.close() -- return version.strip() -- if os.path.exists(versionFile): -- f = open(versionFile, "r") -- version = f.readline() -- f.close() -- return version.strip() -- versionFile = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../../version")) -- if os.path.exists(versionFile): -- f = open(versionFile, "r") -- version = f.readline() -- f.close() -- return version.strip() -- return "UNKNOWN" #No idea what the version is. TODO:Tell the user. -+ return "REPLACE_THIS_IN_SPEC" - - def isDevVersion(): -- gitPath = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../../.git")) -- hgPath = os.path.abspath(os.path.join(os.path.split(os.path.abspath(__file__))[0], "../../.hg")) -- return os.path.exists(gitPath) or os.path.exists(hgPath) -+ return False - - def checkForNewerVersion(): -- if isDevVersion(): -- return None -- try: -- updateBaseURL = 'http://software.ultimaker.com' -- localVersion = map(int, getVersion(False).split('.')) -- while len(localVersion) < 3: -- localVersion += [1] -- latestFile = urllib2.urlopen("%s/latest.xml" % (updateBaseURL)) -- latestXml = latestFile.read() -- latestFile.close() -- xmlTree = ElementTree.fromstring(latestXml) -- for release in xmlTree.iter('release'): -- os = str(release.attrib['os']) -- version = [int(release.attrib['major']), int(release.attrib['minor']), int(release.attrib['revision'])] -- filename = release.find("filename").text -- if platform.system() == os: -- if version > localVersion: -- return "%s/current/%s" % (updateBaseURL, filename) -- except: -- #print sys.exc_info() -- return None - return None - - if __name__ == '__main__': diff --git a/cura-xdg-open.patch b/cura-xdg-open.patch deleted file mode 100644 index 6b0dbf0..0000000 --- a/cura-xdg-open.patch +++ /dev/null @@ -1,50 +0,0 @@ -From b18336db6e109d381d1e265475adb85c8ba82357 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Fri, 29 May 2015 10:28:17 +0200 -Subject: [PATCH] Replace direct calls to Nautilus and Dolphin with xdg-open - -This will still work in GNOME and KDE, but will also enable -the functions for other Linux desktop environments, such as Xfce or MATE ---- - Cura/util/explorer.py | 16 +++++----------- - 1 file changed, 5 insertions(+), 11 deletions(-) - -diff --git a/Cura/util/explorer.py b/Cura/util/explorer.py -index 1e2a5a0..8726c56 100644 ---- a/Cura/util/explorer.py -+++ b/Cura/util/explorer.py -@@ -13,9 +13,7 @@ def hasExplorer(): - if sys.platform == 'win32' or sys.platform == 'cygwin' or sys.platform == 'darwin': - return True - if sys.platform == 'linux2': -- if os.path.isfile('/usr/bin/nautilus'): -- return True -- if os.path.isfile('/usr/bin/dolphin'): -+ if os.path.isfile('/usr/bin/xdg-open'): - return True - return False - -@@ -27,10 +25,8 @@ def openExplorer(filename): - subprocess.Popen(['open', '-R', filename]) - if sys.platform.startswith('linux'): - #TODO: On linux we cannot seem to select a certain file, only open the specified path. -- if os.path.isfile('/usr/bin/nautilus'): -- subprocess.Popen(['/usr/bin/nautilus', os.path.split(filename)[0]]) -- elif os.path.isfile('/usr/bin/dolphin'): -- subprocess.Popen(['/usr/bin/dolphin', os.path.split(filename)[0]]) -+ if os.path.isfile('/usr/bin/xdg-open'): -+ subprocess.Popen(['/usr/bin/xdg-open', os.path.split(filename)[0]]) - - def openExplorerPath(filename): - """Open a file dialog inside a directory, without selecting any file.""" -@@ -39,8 +35,6 @@ def openExplorerPath(filename): - if sys.platform == 'darwin': - subprocess.Popen(['open', filename]) - if sys.platform.startswith('linux'): -- if os.path.isfile('/usr/bin/nautilus'): -- subprocess.Popen(['/usr/bin/nautilus', filename]) -- elif os.path.isfile('/usr/bin/dolphin'): -- subprocess.Popen(['/usr/bin/dolphin', filename]) -+ if os.path.isfile('/usr/bin/xdg-open'): -+ subprocess.Popen(['/usr/bin/xdg-open', filename]) - diff --git a/cura.desktop b/cura.desktop deleted file mode 100644 index 9debbd2..0000000 --- a/cura.desktop +++ /dev/null @@ -1,9 +0,0 @@ - -[Desktop Entry] -Name=Cura -GenericName=3D Printer Interface -Exec=cura -Icon=/usr/share/pixmaps/cura.ico -Terminal=false -Type=Application -Categories=Graphics; diff --git a/cura.spec b/cura.spec index 17f5b64..8a53acf 100644 --- a/cura.spec +++ b/cura.spec @@ -1,114 +1,136 @@ Name: cura -Version: 15.04.4 -%global commit 95c2af21db7fdda8c4324a923fa004859f6c5b9c -Release: 6%{?dist} +Version: 2.5.0 +Epoch: 1 +Release: 1%{?dist} Summary: 3D printer control software +License: AGPLv3+ -# Code is AGPLv3 -# Icons AGPLv3 https://github.com/daid/Cura/issues/231#issuecomment-12209683 -# Example models are CC-BY-SA -# TweakAtZ.py is CC-BY-SA -License: AGPLv3 and CC-BY-SA - -URL: http://daid.github.com/Cura/ - -# I've stripped the source with the script in Source3 -# To remove CC BY-NC content -# Upstream not willing to ship free package -Source0: Cura-%{commit}-fedora.tar.gz -Source1: %{name} -Source2: %{name}.desktop -Source3: %{name}-stripper.sh - -# UltimakerPlatforms STLs were stripped from the tarball, don't crash because of that -Patch0: %{name}-dont-show-nc-stls.patch - -# Use system paths -Patch1: %{name}-system-paths.patch - -# Rework the logic of determining the version (didn't work) -Patch2: %{name}-version.patch - -# Disable installation of firmwares Fedora doesn't ship -Patch3: %{name}-no-firmware.patch +URL: https://ultimaker.com/en/products/cura-software +Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildArch: noarch -BuildRequires: python2-devel -BuildRequires: dos2unix + +# There are Python plugins in /usr/lib/cura +# We need to byte-compile it with Python 3 +%global __python %{__python3} + +BuildRequires: cmake BuildRequires: desktop-file-utils +BuildRequires: dos2unix BuildRequires: gettext -Requires: PyOpenGL -Requires: wxPython -Requires: pyserial -Requires: numpy -Requires: python-power -Requires: CuraEngine >= 15.04 +BuildRequires: git +BuildRequires: python3-devel +BuildRequires: python3-pytest +BuildRequires: python3-uranium == %{version} + +Requires: open-sans-fonts +Requires: python3-pyserial +Requires: python3-savitar +Requires: python3-uranium == %{version} +Requires: python3-zeroconf +Requires: CuraEngine == %{epoch}:%{version} + # So that it just works -Requires: 3dprinter-udev-rules +Requires: 3dprinter-udev-rules %description Cura is a project which aims to be an single software solution for 3D printing. While it is developed to be used with the Ultimaker 3D printer, it can be used with other RepRap based designs. -Cura helps you to setup an Ultimaker, shows your 3D model, allows for scaling / -positioning, can slice the model to G-Code, with sane editable configuration -settings and send this G-Code to the 3D printer for printing. +Cura prepares your model for 3D printing. For novices, it makes it easy to get +great results. For experts, there are over 200 settings to adjust to your +needs. As it's open source, our community helps enrich it even more. %prep -%setup -qn Cura-%{commit} -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 +%autosetup -p1 -S git -n Cura-%{version} -dos2unix resources/example/Attribution.txt +# The setup.py is only useful for py2exe, remove it, so noone is tempted to use it +rm setup.py -sed -i 's/REPLACE_THIS_IN_SPEC/%{version}/' Cura/util/version.py +# https://github.com/Ultimaker/Cura/issues/1784 +sed -i 's/Version=1/Version=1.1/' cura.desktop.in + +# Upstream installs to lib/python3/dist-packages +# We want to install to %%{python3_sitelib} +sed -i 's|lib/python${PYTHON_VERSION_MAJOR}/dist-packages|%(echo %{python3_sitelib} | sed -e s@%{_prefix}/@@)|g' CMakeLists.txt + +# Wrong end of line encoding +dos2unix docs/How_to_use_the_flame_graph_profiler.md + +# Wrong shebang +sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py + +# Invalid locale name ptbr +# https://github.com/Ultimaker/Uranium/issues/246 +mv resources/i18n/{ptbr,pt_BR} +sed -i 's/"Language: ptbr\n"/"Language: pt_BR\n"/' resources/i18n/pt_BR/*.po + +# Failing test, mixes sets and lists :( +# Changed in master, not reporting to upstream +sed -i -e '0,/set()/{s/set()/[]/}' \ + -e 's/{/[/g' \ + -e 's/}/]/g' \ + tests/TestMachineAction.py %build +%{cmake} -DCURA_VERSION:STRING=%{version} . +make %{?_smp_mflags} + # rebuild locales -cd resources/locale -rm *.in *.pot -for FILE in * - do msgfmt $FILE/LC_MESSAGES/Cura.po -o $FILE/LC_MESSAGES/Cura.mo - rm $FILE/LC_MESSAGES/Cura.po +cd resources/i18n +rm *.pot +for DIR in *; do + pushd $DIR + for FILE in *.po; do + msgfmt $FILE.po -o LC_MESSAGES/${FILE%po}mo || : + done + popd done cd - + %install -mkdir -p %{buildroot}%{python_sitelib}/Cura -mkdir -p %{buildroot}%{_datadir}/%{name}/firmware -mkdir -p %{buildroot}%{_datadir}/pixmaps -mkdir -p %{buildroot}%{_datadir}/locale -mkdir -p %{buildroot}%{_bindir} +make install DESTDIR=%{buildroot} -cp -apr Cura/* %{buildroot}%{python_sitelib}/Cura -rm -rf %{buildroot}%{python_sitelib}/Cura/LICENSE -cp -apr resources/* %{buildroot}%{_datadir}/%{name} -cp -apr plugins %{buildroot}%{_datadir}/%{name} -cp -ap %{SOURCE1} %{buildroot}%{_bindir} -ln -s %{_datadir}/%{name} %{buildroot}%{python_sitelib}/Cura/resources -ln -s %{_datadir}/%{name}/%{name}.ico %{buildroot}%{_datadir}/pixmaps +# Sanitize the location of locale files +pushd %{buildroot}%{_datadir} +mv cura/resources/i18n locale +ln -s ../../locale cura/resources/i18n +rm locale/*/*.po +popd -# locales -cp -ar %{buildroot}%{_datadir}/%{name}/locale/* %{buildroot}%{_datadir}/locale -rm -rf %{buildroot}%{_datadir}/%{name}/locale -ln -s -f %{_datadir}/locale/ %{buildroot}%{_datadir}/%{name}/ # the app expects the locale folder in here +# Unbundle fonts +rm -rf %{buildroot}%{_datadir}/%{name}/resources/themes/cura/fonts/ +ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/themes/cura/fonts -desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} +%find_lang cura +%find_lang fdmextruder.def.json +%find_lang fdmprinter.def.json -%{find_lang} Cura -%files -f Cura.lang -%doc Cura/LICENSE resources/example/Attribution.txt -%{python_sitelib}/Cura +%check +%{__python3} -m pytest -v +desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop + + +%files -f cura.lang -f fdmextruder.def.json.lang -f fdmprinter.def.json.lang +%license LICENSE +%doc README.md +# CHANGES is not updated since 15.x +# things in docs are developer orianted +%{python3_sitelib}/%{name} %{_datadir}/%{name} -%{_datadir}/pixmaps/%{name}.ico %{_datadir}/applications/%{name}.desktop +%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/mime/packages/%{name}.xml %{_bindir}/%{name} +%{_prefix}/lib/%{name} %changelog +* Wed May 03 2017 Miro Hrončok - 1:2.5.0-1 +- Update to modern Cura 2.x (introduce Epoch) (#1393176) + * Fri Feb 10 2017 Fedora Release Engineering - 15.04.4-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index e81c171..87e912e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -53d959e9981831f6e2b33f61dede11cd Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz +SHA512 (cura-2.5.0.tar.gz) = 980b0301ab08e66a3663b2c3973b801ae9f356db05eac375789e91e85c3758a3082de7988332833f5bc1a09d6b8a8b4bde2a573c0f057ddd0e9208e9b6e5668d From 29735a0fd808cf0a92e9c30a57c06ecca50cd012 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 10 May 2017 13:57:24 +0200 Subject: [PATCH 05/89] Require qt5-qtquickcontrols --- cura.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 8a53acf..08dbb6f 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Version: 2.5.0 Epoch: 1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -28,6 +28,7 @@ Requires: python3-pyserial Requires: python3-savitar Requires: python3-uranium == %{version} Requires: python3-zeroconf +Requires: qt5-qtquickcontrols Requires: CuraEngine == %{epoch}:%{version} # So that it just works @@ -128,6 +129,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed May 10 2017 Miro Hrončok - 1:2.5.0-2 +- Require qt5-qtquickcontrols + * Wed May 03 2017 Miro Hrončok - 1:2.5.0-1 - Update to modern Cura 2.x (introduce Epoch) (#1393176) From 27288859d629880b49b2e154189cb9a39df6127d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 28 Jun 2017 16:20:31 +0200 Subject: [PATCH 06/89] Updated to 2.6.1 --- .gitignore | 1 + cura.spec | 16 ++++++---------- sources | 2 +- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/.gitignore b/.gitignore index d151f3f..6becddb 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ /Cura-15.02.1-fedora.tar.gz /Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz /cura-2.5.0.tar.gz +/cura-2.6.1.tar.gz diff --git a/cura.spec b/cura.spec index 08dbb6f..5b1aa0c 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura -Version: 2.5.0 Epoch: 1 -Release: 2%{?dist} +Version: 2.6.1 +Release: 1%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -25,7 +25,7 @@ BuildRequires: python3-uranium == %{version} Requires: open-sans-fonts Requires: python3-pyserial -Requires: python3-savitar +Requires: python3-savitar == %{version} Requires: python3-uranium == %{version} Requires: python3-zeroconf Requires: qt5-qtquickcontrols @@ -67,13 +67,6 @@ sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py mv resources/i18n/{ptbr,pt_BR} sed -i 's/"Language: ptbr\n"/"Language: pt_BR\n"/' resources/i18n/pt_BR/*.po -# Failing test, mixes sets and lists :( -# Changed in master, not reporting to upstream -sed -i -e '0,/set()/{s/set()/[]/}' \ - -e 's/{/[/g' \ - -e 's/}/]/g' \ - tests/TestMachineAction.py - %build %{cmake} -DCURA_VERSION:STRING=%{version} . make %{?_smp_mflags} @@ -129,6 +122,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Jun 28 2017 Miro Hrončok - 1:2.6.1-1 +- Updated to 2.6.1 + * Wed May 10 2017 Miro Hrončok - 1:2.5.0-2 - Require qt5-qtquickcontrols diff --git a/sources b/sources index 87e912e..ca7a473 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-2.5.0.tar.gz) = 980b0301ab08e66a3663b2c3973b801ae9f356db05eac375789e91e85c3758a3082de7988332833f5bc1a09d6b8a8b4bde2a573c0f057ddd0e9208e9b6e5668d +SHA512 (cura-2.6.1.tar.gz) = ba83fb7427d13ab91105535cd4142fe45a11a768e32319d3fb06c7308a0e9efe401c9dd9e8855b2cac4334168d525d9817c5f86d4cf06fd31ca17aeb41a7e966 From 45f75b5a82e7ed070cfebe753525a5e90d6afdda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 20 Jul 2017 10:15:02 +0200 Subject: [PATCH 07/89] Require cura-fdm-materials --- cura.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 5b1aa0c..3f63ab2 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 2.6.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -30,6 +30,7 @@ Requires: python3-uranium == %{version} Requires: python3-zeroconf Requires: qt5-qtquickcontrols Requires: CuraEngine == %{epoch}:%{version} +Requires: cura-fdm-materials == %{version} # So that it just works Requires: 3dprinter-udev-rules @@ -122,6 +123,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Jul 20 2017 Miro Hrončok - 1:2.6.1-2 +- Require cura-fdm-materials + * Wed Jun 28 2017 Miro Hrončok - 1:2.6.1-1 - Updated to 2.6.1 From 567369e18c39d0d66733017290279b570ba62871 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 05:47:18 +0000 Subject: [PATCH 08/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 3f63ab2..167036b 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 2.6.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -123,6 +123,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 1:2.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Thu Jul 20 2017 Miro Hrončok - 1:2.6.1-2 - Require cura-fdm-materials From 69ecbd26cc92822cc0c9f6431e94552ae0cb921d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 30 Aug 2017 17:06:53 +0200 Subject: [PATCH 09/89] Remove unused launcher --- cura | 8 -------- 1 file changed, 8 deletions(-) delete mode 100755 cura diff --git a/cura b/cura deleted file mode 100755 index a21d361..0000000 --- a/cura +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/python -import os -os.environ['GDK_BACKEND'] = 'x11' - -import Cura.cura as cura - - -cura.main() From 5f757f12e3009a9044e7c2765fe55a5620efe87d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 30 Aug 2017 17:13:44 +0200 Subject: [PATCH 10/89] Update to 2.7.0 --- .gitignore | 1 + cura.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6becddb..fce90bd 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ /Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz /cura-2.5.0.tar.gz /cura-2.6.1.tar.gz +/cura-2.7.0.tar.gz diff --git a/cura.spec b/cura.spec index 167036b..5bdb4e1 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 2.6.1 -Release: 3%{?dist} +Version: 2.7.0 +Release: 1%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -123,6 +123,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-1 +- Update to 2.7.0 + * Wed Jul 26 2017 Fedora Release Engineering - 1:2.6.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild diff --git a/sources b/sources index ca7a473..3f0e6fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-2.6.1.tar.gz) = ba83fb7427d13ab91105535cd4142fe45a11a768e32319d3fb06c7308a0e9efe401c9dd9e8855b2cac4334168d525d9817c5f86d4cf06fd31ca17aeb41a7e966 +SHA512 (cura-2.7.0.tar.gz) = 817186c9216e39e71102d76cc50a14c64980d080ab371ed6f8014870a9d2714532defcd2ad56a6246249f2aa8694d239f632d2aff44ba227479a068b85d066b6 From 1c3a0c7121753ab04fa587c94181b3c52c0e3ee9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 30 Aug 2017 17:13:58 +0200 Subject: [PATCH 11/89] Fix a typo in comment --- cura.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 5bdb4e1..b831c2b 100644 --- a/cura.spec +++ b/cura.spec @@ -113,7 +113,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %license LICENSE %doc README.md # CHANGES is not updated since 15.x -# things in docs are developer orianted +# things in docs are developer oriented %{python3_sitelib}/%{name} %{_datadir}/%{name} %{_datadir}/applications/%{name}.desktop From f8ada27aa3f49004b076aadb6746203093b6ee18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 30 Aug 2017 17:54:36 +0200 Subject: [PATCH 12/89] Relocate Japanese locale to ja --- cura.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index b831c2b..f253815 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 2.7.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -67,6 +67,12 @@ sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py # https://github.com/Ultimaker/Uranium/issues/246 mv resources/i18n/{ptbr,pt_BR} sed -i 's/"Language: ptbr\n"/"Language: pt_BR\n"/' resources/i18n/pt_BR/*.po +sed -i 's/"ptbr"/"pt_BR"/' resources/qml/Preferences/GeneralPage.qml + +# Invalid locale name jp +# https://github.com/Ultimaker/Uranium/issues/277 +mv resources/i18n/{jp,ja} +sed -i 's/"jp"/"ja"/' resources/qml/Preferences/GeneralPage.qml %build %{cmake} -DCURA_VERSION:STRING=%{version} . @@ -123,6 +129,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-2 +- Relocate Japanese locale to ja + * Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-1 - Update to 2.7.0 From 6a3f1c9b59d8861c8d5aa174bb0ae7b33f5a62e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 23 Oct 2017 14:43:09 +0200 Subject: [PATCH 13/89] Update to 3.0.3 --- .gitignore | 1 + cura.spec | 32 ++++++++++++++------------------ sources | 2 +- 3 files changed, 16 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index fce90bd..0f09403 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ /cura-2.5.0.tar.gz /cura-2.6.1.tar.gz /cura-2.7.0.tar.gz +/cura-3.0.3.tar.gz diff --git a/cura.spec b/cura.spec index f253815..2b5feef 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 2.7.0 -Release: 2%{?dist} +Version: 3.0.3 +Release: 1%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -50,9 +50,6 @@ needs. As it's open source, our community helps enrich it even more. # The setup.py is only useful for py2exe, remove it, so noone is tempted to use it rm setup.py -# https://github.com/Ultimaker/Cura/issues/1784 -sed -i 's/Version=1/Version=1.1/' cura.desktop.in - # Upstream installs to lib/python3/dist-packages # We want to install to %%{python3_sitelib} sed -i 's|lib/python${PYTHON_VERSION_MAJOR}/dist-packages|%(echo %{python3_sitelib} | sed -e s@%{_prefix}/@@)|g' CMakeLists.txt @@ -63,16 +60,6 @@ dos2unix docs/How_to_use_the_flame_graph_profiler.md # Wrong shebang sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py -# Invalid locale name ptbr -# https://github.com/Ultimaker/Uranium/issues/246 -mv resources/i18n/{ptbr,pt_BR} -sed -i 's/"Language: ptbr\n"/"Language: pt_BR\n"/' resources/i18n/pt_BR/*.po -sed -i 's/"ptbr"/"pt_BR"/' resources/qml/Preferences/GeneralPage.qml - -# Invalid locale name jp -# https://github.com/Ultimaker/Uranium/issues/277 -mv resources/i18n/{jp,ja} -sed -i 's/"jp"/"ja"/' resources/qml/Preferences/GeneralPage.qml %build %{cmake} -DCURA_VERSION:STRING=%{version} . @@ -102,8 +89,8 @@ rm locale/*/*.po popd # Unbundle fonts -rm -rf %{buildroot}%{_datadir}/%{name}/resources/themes/cura/fonts/ -ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/themes/cura/fonts +rm -rf %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts/ +ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts %find_lang cura %find_lang fdmextruder.def.json @@ -111,7 +98,11 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the %check -%{__python3} -m pytest -v +%{__python3} -m pip freeze +%{__python3} -m pytest -v \ + -k "not test_getPropertyFallThrough and not test_addExtruder and not test_getPropertyFallThrough and not test_getPropertyNoResolveInDefinition and not test_getPropertyResolveInDefinition and not test_getPropertyResolveInInstance and not test_getPropertyInstancesBeforeResolve" +# ^^^ https://github.com/Ultimaker/Cura/issues/2664 ^^^ + desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop @@ -124,11 +115,16 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_datadir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/icons/hicolor/128x128/apps/%{name}-icon.png %{_datadir}/mime/packages/%{name}.xml %{_bindir}/%{name} %{_prefix}/lib/%{name} %changelog +* Mon Oct 23 2017 Miro Hrončok - 1:3.0.3-1 +- Update to 3.0.3 +- Remove locale and desktop file changes (fixed upstream) + * Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-2 - Relocate Japanese locale to ja diff --git a/sources b/sources index 3f0e6fe..7ec7697 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-2.7.0.tar.gz) = 817186c9216e39e71102d76cc50a14c64980d080ab371ed6f8014870a9d2714532defcd2ad56a6246249f2aa8694d239f632d2aff44ba227479a068b85d066b6 +SHA512 (cura-3.0.3.tar.gz) = 93cb580e9fd8cf22703af9c8285877d300ad8110600816441c3900a75dbbfd3199aaf310c0175a3ef3408499ab0e214ca1cd83532db3a2869181e72612781b72 From 921860ec28037616ecaae54da957d054b7b4a751 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 27 Oct 2017 10:00:33 +0200 Subject: [PATCH 14/89] Add upstream commit to fix tests --- cura-fix-tests.patch | 89 ++++++++++++++++++++++++++++++++++++++++++++ cura.spec | 12 ++++-- 2 files changed, 97 insertions(+), 4 deletions(-) create mode 100644 cura-fix-tests.patch diff --git a/cura-fix-tests.patch b/cura-fix-tests.patch new file mode 100644 index 0000000..33bb1fe --- /dev/null +++ b/cura-fix-tests.patch @@ -0,0 +1,89 @@ +From 7d46eead606170b7fab9c1f1e51b10caf554adf1 Mon Sep 17 00:00:00 2001 +From: Lipu Fei +Date: Thu, 26 Oct 2017 12:49:41 +0200 +Subject: [PATCH] Fix broken unit tests due to evaluation context + +CURA-4498 +--- + tests/Settings/TestExtruderStack.py | 2 +- + tests/Settings/TestGlobalStack.py | 16 ++++++++-------- + 2 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/tests/Settings/TestExtruderStack.py b/tests/Settings/TestExtruderStack.py +index 66b4d51b04..6ed2c6649b 100644 +--- a/tests/Settings/TestExtruderStack.py ++++ b/tests/Settings/TestExtruderStack.py +@@ -251,7 +251,7 @@ def test_getPropertyFallThrough(extruder_stack): + for type_id, type_name in container_indices.IndexTypeMap.items(): + container = unittest.mock.MagicMock() + # Return type_id when asking for value and -1 when asking for limit_to_extruder +- container.getProperty = lambda key, property, type_id = type_id: type_id if (key == "layer_height" and property == "value") else (None if property != "limit_to_extruder" else "-1") #Returns the container type ID as layer height, in order to identify it. ++ container.getProperty = lambda key, property, context = None, type_id = type_id: type_id if (key == "layer_height" and property == "value") else (None if property != "limit_to_extruder" else "-1") #Returns the container type ID as layer height, in order to identify it. + container.hasProperty = lambda key, property: key == "layer_height" + container.getMetaDataEntry = unittest.mock.MagicMock(return_value = type_name) + mock_layer_heights[type_id] = container +diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py +index 89dd76aec1..afd3d2b425 100755 +--- a/tests/Settings/TestGlobalStack.py ++++ b/tests/Settings/TestGlobalStack.py +@@ -63,7 +63,7 @@ def test_addContainer(global_stack): + ## Tests adding extruders to the global stack. + def test_addExtruder(global_stack): + mock_definition = unittest.mock.MagicMock() +- mock_definition.getProperty = lambda key, property: 2 if key == "machine_extruder_count" and property == "value" else None ++ mock_definition.getProperty = lambda key, property, context = None: 2 if key == "machine_extruder_count" and property == "value" else None + + with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): + global_stack.definition = mock_definition +@@ -318,7 +318,7 @@ def test_getPropertyFallThrough(global_stack): + container_indexes = cura.Settings.CuraContainerStack._ContainerIndexes #Cache. + for type_id, type_name in container_indexes.IndexTypeMap.items(): + container = unittest.mock.MagicMock() +- container.getProperty = lambda key, property, type_id = type_id: type_id if (key == "layer_height" and property == "value") else None #Returns the container type ID as layer height, in order to identify it. ++ container.getProperty = lambda key, property, context = None, type_id = type_id: type_id if (key == "layer_height" and property == "value") else None #Returns the container type ID as layer height, in order to identify it. + container.hasProperty = lambda key, property: key == "layer_height" + container.getMetaDataEntry = unittest.mock.MagicMock(return_value = type_name) + mock_layer_heights[type_id] = container +@@ -355,7 +355,7 @@ def test_getPropertyFallThrough(global_stack): + ## In definitions, test whether having no resolve allows us to find the value. + def test_getPropertyNoResolveInDefinition(global_stack): + value = unittest.mock.MagicMock() #Just sets the value for bed temperature. +- value.getProperty = lambda key, property: 10 if (key == "material_bed_temperature" and property == "value") else None ++ value.getProperty = lambda key, property, context = None: 10 if (key == "material_bed_temperature" and property == "value") else None + + with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. + global_stack.definition = value +@@ -365,7 +365,7 @@ def test_getPropertyNoResolveInDefinition(global_stack): + # must get the resolve first. + def test_getPropertyResolveInDefinition(global_stack): + resolve_and_value = unittest.mock.MagicMock() #Sets the resolve and value for bed temperature. +- resolve_and_value.getProperty = lambda key, property: (7.5 if property == "resolve" else 5) if (key == "material_bed_temperature" and property in ("resolve", "value")) else None #7.5 resolve, 5 value. ++ resolve_and_value.getProperty = lambda key, property, context = None: (7.5 if property == "resolve" else 5) if (key == "material_bed_temperature" and property in ("resolve", "value")) else None #7.5 resolve, 5 value. + + with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. + global_stack.definition = resolve_and_value +@@ -378,9 +378,9 @@ def test_getPropertyResolveInInstance(global_stack): + instance_containers = {} + for container_type in container_indices.IndexTypeMap: + instance_containers[container_type] = unittest.mock.MagicMock() #Sets the resolve and value for bed temperature. +- instance_containers[container_type].getProperty = lambda key, property: (7.5 if property == "resolve" else (InstanceState.User if property == "state" else (5 if property != "limit_to_extruder" else "-1"))) if (key == "material_bed_temperature") else None #7.5 resolve, 5 value. ++ instance_containers[container_type].getProperty = lambda key, property, context = None: (7.5 if property == "resolve" else (InstanceState.User if property == "state" else (5 if property != "limit_to_extruder" else "-1"))) if (key == "material_bed_temperature") else None #7.5 resolve, 5 value. + instance_containers[container_type].getMetaDataEntry = unittest.mock.MagicMock(return_value = container_indices.IndexTypeMap[container_type]) #Make queries for the type return the desired type. +- instance_containers[container_indices.Definition].getProperty = lambda key, property: 10 if (key == "material_bed_temperature" and property == "value") else None #Definition only has value. ++ instance_containers[container_indices.Definition].getProperty = lambda key, property, context = None: 10 if (key == "material_bed_temperature" and property == "value") else None #Definition only has value. + with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. + global_stack.definition = instance_containers[container_indices.Definition] #Stack must have a definition. + +@@ -402,10 +402,10 @@ def test_getPropertyResolveInInstance(global_stack): + # definitions. + def test_getPropertyInstancesBeforeResolve(global_stack): + value = unittest.mock.MagicMock() #Sets just the value. +- value.getProperty = lambda key, property: (10 if property == "value" else (InstanceState.User if property != "limit_to_extruder" else "-1")) if key == "material_bed_temperature" else None ++ value.getProperty = lambda key, property, context = None: (10 if property == "value" else (InstanceState.User if property != "limit_to_extruder" else "-1")) if key == "material_bed_temperature" else None + value.getMetaDataEntry = unittest.mock.MagicMock(return_value = "quality") + resolve = unittest.mock.MagicMock() #Sets just the resolve. +- resolve.getProperty = lambda key, property: 7.5 if (key == "material_bed_temperature" and property == "resolve") else None ++ resolve.getProperty = lambda key, property, context = None: 7.5 if (key == "material_bed_temperature" and property == "resolve") else None + + with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. + global_stack.definition = resolve diff --git a/cura.spec b/cura.spec index 2b5feef..e645b95 100644 --- a/cura.spec +++ b/cura.spec @@ -1,13 +1,16 @@ Name: cura Epoch: 1 Version: 3.0.3 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software License: AGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# https://github.com/Ultimaker/Cura/issues/2664 +Patch0: %{name}-fix-tests.patch + BuildArch: noarch # There are Python plugins in /usr/lib/cura @@ -99,9 +102,7 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the %check %{__python3} -m pip freeze -%{__python3} -m pytest -v \ - -k "not test_getPropertyFallThrough and not test_addExtruder and not test_getPropertyFallThrough and not test_getPropertyNoResolveInDefinition and not test_getPropertyResolveInDefinition and not test_getPropertyResolveInInstance and not test_getPropertyInstancesBeforeResolve" -# ^^^ https://github.com/Ultimaker/Cura/issues/2664 ^^^ +%{__python3} -m pytest -v desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop @@ -121,6 +122,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Fri Oct 27 2017 Miro Hrončok - 1:3.0.3-2 +- Add upstream commit to fix tests + * Mon Oct 23 2017 Miro Hrončok - 1:3.0.3-1 - Update to 3.0.3 - Remove locale and desktop file changes (fixed upstream) From 2b728f5ab93fa04b3db800815f392cafdb431281 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 21 Nov 2017 12:03:44 +0100 Subject: [PATCH 15/89] Require libglvnd-devel as a workaround for #1494278 --- cura.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index e645b95..48c3a1a 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.0.3 -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -35,6 +35,9 @@ Requires: qt5-qtquickcontrols Requires: CuraEngine == %{epoch}:%{version} Requires: cura-fdm-materials == %{version} +# Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1494278 +Requires: libglvnd-devel + # So that it just works Requires: 3dprinter-udev-rules @@ -122,6 +125,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Nov 21 2017 Miro Hrončok - 1:3.0.3-3 +- Require libglvnd-devel as a workaround for #1494278 + * Fri Oct 27 2017 Miro Hrončok - 1:3.0.3-2 - Add upstream commit to fix tests From b0c6fd2a779f14471b384db7c39075926a1c1a5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 4 Dec 2017 14:25:52 +0100 Subject: [PATCH 16/89] Also apply the nvidia driver workaround on Fedora (#1520138) --- cura-nvidia-fedora.patch | 13 +++++++++++++ cura.spec | 9 ++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 cura-nvidia-fedora.patch diff --git a/cura-nvidia-fedora.patch b/cura-nvidia-fedora.patch new file mode 100644 index 0000000..7bc24df --- /dev/null +++ b/cura-nvidia-fedora.patch @@ -0,0 +1,13 @@ +diff --git a/cura_app.py b/cura_app.py +index 6869fd2..c9fae02 100755 +--- a/cura_app.py ++++ b/cura_app.py +@@ -12,7 +12,7 @@ from UM.Platform import Platform + #WORKAROUND: GITHUB-88 GITHUB-385 GITHUB-612 + if Platform.isLinux(): # Needed for platform.linux_distribution, which is not available on Windows and OSX + # For Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826 +- if platform.linux_distribution()[0] in ("debian", "Ubuntu", "LinuxMint"): # TODO: Needs a "if X11_GFX == 'nvidia'" here. The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix. ++ if platform.linux_distribution()[0] in ("debian", "Ubuntu", "LinuxMint", "Fedora"): # TODO: Needs a "if X11_GFX == 'nvidia'" here. The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix. + import ctypes + from ctypes.util import find_library + libGL = find_library("GL") diff --git a/cura.spec b/cura.spec index 48c3a1a..49c5d0d 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.0.3 -Release: 3%{?dist} +Release: 4%{?dist} Summary: 3D printer control software License: AGPLv3+ @@ -11,6 +11,10 @@ Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{n # https://github.com/Ultimaker/Cura/issues/2664 Patch0: %{name}-fix-tests.patch +# https://bugzilla.redhat.com/show_bug.cgi?id=1520138 +# https://github.com/Ultimaker/Cura/pull/2903 +Patch1: %{name}-nvidia-fedora.patch + BuildArch: noarch # There are Python plugins in /usr/lib/cura @@ -125,6 +129,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Sun Dec 03 2017 Miro Hrončok - 1:3.0.3-4 +- Also apply the nvidia driver workaround on Fedora (#1520138) + * Tue Nov 21 2017 Miro Hrončok - 1:3.0.3-3 - Require libglvnd-devel as a workaround for #1494278 From bb8dee5bb6c4e9d92918d96eac353d565c926441 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 4 Dec 2017 17:32:52 +0100 Subject: [PATCH 17/89] Mark the package with correct license --- cura.spec | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index 49c5d0d..45e1c84 100644 --- a/cura.spec +++ b/cura.spec @@ -1,9 +1,11 @@ Name: cura Epoch: 1 Version: 3.0.3 -Release: 4%{?dist} +Release: 5%{?dist} Summary: 3D printer control software -License: AGPLv3+ + +# https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ +License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz @@ -129,6 +131,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Mon Dec 04 2017 Miro Hrončok - 1:3.0.3-5 +- Mark the package with correct license + * Sun Dec 03 2017 Miro Hrončok - 1:3.0.3-4 - Also apply the nvidia driver workaround on Fedora (#1520138) From 32748abb5f571bc1a04385c1504b46451f87dc6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Sun, 10 Dec 2017 16:54:46 +0100 Subject: [PATCH 18/89] Update to 3.1.0 --- .gitignore | 1 + cura-fix-tests.patch | 89 -------------------------------------------- cura.spec | 25 +++++++------ sources | 2 +- 4 files changed, 15 insertions(+), 102 deletions(-) delete mode 100644 cura-fix-tests.patch diff --git a/.gitignore b/.gitignore index 0f09403..a5f7291 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ /cura-2.6.1.tar.gz /cura-2.7.0.tar.gz /cura-3.0.3.tar.gz +/cura-3.1.0.tar.gz diff --git a/cura-fix-tests.patch b/cura-fix-tests.patch deleted file mode 100644 index 33bb1fe..0000000 --- a/cura-fix-tests.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 7d46eead606170b7fab9c1f1e51b10caf554adf1 Mon Sep 17 00:00:00 2001 -From: Lipu Fei -Date: Thu, 26 Oct 2017 12:49:41 +0200 -Subject: [PATCH] Fix broken unit tests due to evaluation context - -CURA-4498 ---- - tests/Settings/TestExtruderStack.py | 2 +- - tests/Settings/TestGlobalStack.py | 16 ++++++++-------- - 2 files changed, 9 insertions(+), 9 deletions(-) - -diff --git a/tests/Settings/TestExtruderStack.py b/tests/Settings/TestExtruderStack.py -index 66b4d51b04..6ed2c6649b 100644 ---- a/tests/Settings/TestExtruderStack.py -+++ b/tests/Settings/TestExtruderStack.py -@@ -251,7 +251,7 @@ def test_getPropertyFallThrough(extruder_stack): - for type_id, type_name in container_indices.IndexTypeMap.items(): - container = unittest.mock.MagicMock() - # Return type_id when asking for value and -1 when asking for limit_to_extruder -- container.getProperty = lambda key, property, type_id = type_id: type_id if (key == "layer_height" and property == "value") else (None if property != "limit_to_extruder" else "-1") #Returns the container type ID as layer height, in order to identify it. -+ container.getProperty = lambda key, property, context = None, type_id = type_id: type_id if (key == "layer_height" and property == "value") else (None if property != "limit_to_extruder" else "-1") #Returns the container type ID as layer height, in order to identify it. - container.hasProperty = lambda key, property: key == "layer_height" - container.getMetaDataEntry = unittest.mock.MagicMock(return_value = type_name) - mock_layer_heights[type_id] = container -diff --git a/tests/Settings/TestGlobalStack.py b/tests/Settings/TestGlobalStack.py -index 89dd76aec1..afd3d2b425 100755 ---- a/tests/Settings/TestGlobalStack.py -+++ b/tests/Settings/TestGlobalStack.py -@@ -63,7 +63,7 @@ def test_addContainer(global_stack): - ## Tests adding extruders to the global stack. - def test_addExtruder(global_stack): - mock_definition = unittest.mock.MagicMock() -- mock_definition.getProperty = lambda key, property: 2 if key == "machine_extruder_count" and property == "value" else None -+ mock_definition.getProperty = lambda key, property, context = None: 2 if key == "machine_extruder_count" and property == "value" else None - - with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): - global_stack.definition = mock_definition -@@ -318,7 +318,7 @@ def test_getPropertyFallThrough(global_stack): - container_indexes = cura.Settings.CuraContainerStack._ContainerIndexes #Cache. - for type_id, type_name in container_indexes.IndexTypeMap.items(): - container = unittest.mock.MagicMock() -- container.getProperty = lambda key, property, type_id = type_id: type_id if (key == "layer_height" and property == "value") else None #Returns the container type ID as layer height, in order to identify it. -+ container.getProperty = lambda key, property, context = None, type_id = type_id: type_id if (key == "layer_height" and property == "value") else None #Returns the container type ID as layer height, in order to identify it. - container.hasProperty = lambda key, property: key == "layer_height" - container.getMetaDataEntry = unittest.mock.MagicMock(return_value = type_name) - mock_layer_heights[type_id] = container -@@ -355,7 +355,7 @@ def test_getPropertyFallThrough(global_stack): - ## In definitions, test whether having no resolve allows us to find the value. - def test_getPropertyNoResolveInDefinition(global_stack): - value = unittest.mock.MagicMock() #Just sets the value for bed temperature. -- value.getProperty = lambda key, property: 10 if (key == "material_bed_temperature" and property == "value") else None -+ value.getProperty = lambda key, property, context = None: 10 if (key == "material_bed_temperature" and property == "value") else None - - with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. - global_stack.definition = value -@@ -365,7 +365,7 @@ def test_getPropertyNoResolveInDefinition(global_stack): - # must get the resolve first. - def test_getPropertyResolveInDefinition(global_stack): - resolve_and_value = unittest.mock.MagicMock() #Sets the resolve and value for bed temperature. -- resolve_and_value.getProperty = lambda key, property: (7.5 if property == "resolve" else 5) if (key == "material_bed_temperature" and property in ("resolve", "value")) else None #7.5 resolve, 5 value. -+ resolve_and_value.getProperty = lambda key, property, context = None: (7.5 if property == "resolve" else 5) if (key == "material_bed_temperature" and property in ("resolve", "value")) else None #7.5 resolve, 5 value. - - with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. - global_stack.definition = resolve_and_value -@@ -378,9 +378,9 @@ def test_getPropertyResolveInInstance(global_stack): - instance_containers = {} - for container_type in container_indices.IndexTypeMap: - instance_containers[container_type] = unittest.mock.MagicMock() #Sets the resolve and value for bed temperature. -- instance_containers[container_type].getProperty = lambda key, property: (7.5 if property == "resolve" else (InstanceState.User if property == "state" else (5 if property != "limit_to_extruder" else "-1"))) if (key == "material_bed_temperature") else None #7.5 resolve, 5 value. -+ instance_containers[container_type].getProperty = lambda key, property, context = None: (7.5 if property == "resolve" else (InstanceState.User if property == "state" else (5 if property != "limit_to_extruder" else "-1"))) if (key == "material_bed_temperature") else None #7.5 resolve, 5 value. - instance_containers[container_type].getMetaDataEntry = unittest.mock.MagicMock(return_value = container_indices.IndexTypeMap[container_type]) #Make queries for the type return the desired type. -- instance_containers[container_indices.Definition].getProperty = lambda key, property: 10 if (key == "material_bed_temperature" and property == "value") else None #Definition only has value. -+ instance_containers[container_indices.Definition].getProperty = lambda key, property, context = None: 10 if (key == "material_bed_temperature" and property == "value") else None #Definition only has value. - with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. - global_stack.definition = instance_containers[container_indices.Definition] #Stack must have a definition. - -@@ -402,10 +402,10 @@ def test_getPropertyResolveInInstance(global_stack): - # definitions. - def test_getPropertyInstancesBeforeResolve(global_stack): - value = unittest.mock.MagicMock() #Sets just the value. -- value.getProperty = lambda key, property: (10 if property == "value" else (InstanceState.User if property != "limit_to_extruder" else "-1")) if key == "material_bed_temperature" else None -+ value.getProperty = lambda key, property, context = None: (10 if property == "value" else (InstanceState.User if property != "limit_to_extruder" else "-1")) if key == "material_bed_temperature" else None - value.getMetaDataEntry = unittest.mock.MagicMock(return_value = "quality") - resolve = unittest.mock.MagicMock() #Sets just the resolve. -- resolve.getProperty = lambda key, property: 7.5 if (key == "material_bed_temperature" and property == "resolve") else None -+ resolve.getProperty = lambda key, property, context = None: 7.5 if (key == "material_bed_temperature" and property == "resolve") else None - - with unittest.mock.patch("cura.Settings.CuraContainerStack.DefinitionContainer", unittest.mock.MagicMock): #To guard against the type checking. - global_stack.definition = resolve diff --git a/cura.spec b/cura.spec index 45e1c84..804d343 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 3.0.3 -Release: 5%{?dist} +Version: 3.1.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -10,12 +10,9 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# https://github.com/Ultimaker/Cura/issues/2664 -Patch0: %{name}-fix-tests.patch - # https://bugzilla.redhat.com/show_bug.cgi?id=1520138 # https://github.com/Ultimaker/Cura/pull/2903 -Patch1: %{name}-nvidia-fedora.patch +Patch0: %{name}-nvidia-fedora.patch BuildArch: noarch @@ -62,10 +59,6 @@ needs. As it's open source, our community helps enrich it even more. # The setup.py is only useful for py2exe, remove it, so noone is tempted to use it rm setup.py -# Upstream installs to lib/python3/dist-packages -# We want to install to %%{python3_sitelib} -sed -i 's|lib/python${PYTHON_VERSION_MAJOR}/dist-packages|%(echo %{python3_sitelib} | sed -e s@%{_prefix}/@@)|g' CMakeLists.txt - # Wrong end of line encoding dos2unix docs/How_to_use_the_flame_graph_profiler.md @@ -111,7 +104,9 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the %check %{__python3} -m pip freeze -%{__python3} -m pytest -v + +# https://github.com/Ultimaker/Cura/issues/2954 +%{__python3} -m pytest -v -k "not TestCuraContainerRegistry and not TestExtruderStack and not TestGlobalStack" desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop @@ -124,13 +119,19 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{python3_sitelib}/%{name} %{_datadir}/%{name} %{_datadir}/applications/%{name}.desktop -%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/metainfo/%{name}.appdata.xml %{_datadir}/icons/hicolor/128x128/apps/%{name}-icon.png %{_datadir}/mime/packages/%{name}.xml %{_bindir}/%{name} %{_prefix}/lib/%{name} %changelog +* Sun Dec 10 2017 Miro Hrončok - 1:3.1.0-1 +- Update to 3.1.0 +- Disable most of the tests +- No longer needs to sed out dist-packages +- Move appdata to metainfo + * Mon Dec 04 2017 Miro Hrončok - 1:3.0.3-5 - Mark the package with correct license diff --git a/sources b/sources index 7ec7697..74b04c8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.0.3.tar.gz) = 93cb580e9fd8cf22703af9c8285877d300ad8110600816441c3900a75dbbfd3199aaf310c0175a3ef3408499ab0e214ca1cd83532db3a2869181e72612781b72 +SHA512 (cura-3.1.0.tar.gz) = 54b581de23a9137f9d6a27357c08db1d4bf231ef98c622c05a853bb5a1ea3ad1151999285f2c53cb0d08353c3cc5c0d37243d128fba2852c538e5bc6bf2c27d4 From 8da2f213f631f0ffb7e01e58d4645b3f864ce65a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 06:07:14 +0000 Subject: [PATCH 19/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 804d343..bbec451 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -126,6 +126,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 1:3.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Sun Dec 10 2017 Miro Hrončok - 1:3.1.0-1 - Update to 3.1.0 - Disable most of the tests From c7b635579b15ba5d1a6b5b488304611f18a5a082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 20 Mar 2018 01:20:49 +0100 Subject: [PATCH 20/89] Update to 3.2.1 --- .gitignore | 1 + cura-nvidia-fedora.patch | 13 ------------- cura.spec | 19 +++++++++---------- sources | 2 +- 4 files changed, 11 insertions(+), 24 deletions(-) delete mode 100644 cura-nvidia-fedora.patch diff --git a/.gitignore b/.gitignore index a5f7291..bec3052 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ /cura-2.7.0.tar.gz /cura-3.0.3.tar.gz /cura-3.1.0.tar.gz +/cura-3.2.1.tar.gz diff --git a/cura-nvidia-fedora.patch b/cura-nvidia-fedora.patch deleted file mode 100644 index 7bc24df..0000000 --- a/cura-nvidia-fedora.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cura_app.py b/cura_app.py -index 6869fd2..c9fae02 100755 ---- a/cura_app.py -+++ b/cura_app.py -@@ -12,7 +12,7 @@ from UM.Platform import Platform - #WORKAROUND: GITHUB-88 GITHUB-385 GITHUB-612 - if Platform.isLinux(): # Needed for platform.linux_distribution, which is not available on Windows and OSX - # For Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826 -- if platform.linux_distribution()[0] in ("debian", "Ubuntu", "LinuxMint"): # TODO: Needs a "if X11_GFX == 'nvidia'" here. The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix. -+ if platform.linux_distribution()[0] in ("debian", "Ubuntu", "LinuxMint", "Fedora"): # TODO: Needs a "if X11_GFX == 'nvidia'" here. The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix. - import ctypes - from ctypes.util import find_library - libGL = find_library("GL") diff --git a/cura.spec b/cura.spec index bbec451..0cd7f49 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 3.1.0 -Release: 2%{?dist} +Version: 3.2.1 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -10,10 +10,6 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# https://bugzilla.redhat.com/show_bug.cgi?id=1520138 -# https://github.com/Ultimaker/Cura/pull/2903 -Patch0: %{name}-nvidia-fedora.patch - BuildArch: noarch # There are Python plugins in /usr/lib/cura @@ -67,7 +63,7 @@ sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py %build -%{cmake} -DCURA_VERSION:STRING=%{version} . +%{cmake} -DCURA_VERSION:STRING=%{version} -DLIB_SUFFIX:STR= . make %{?_smp_mflags} # rebuild locales @@ -104,9 +100,7 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the %check %{__python3} -m pip freeze - -# https://github.com/Ultimaker/Cura/issues/2954 -%{__python3} -m pytest -v -k "not TestCuraContainerRegistry and not TestExtruderStack and not TestGlobalStack" +%{__python3} -m pytest -v -k "not test_getPropertyFallThrough" desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop @@ -126,6 +120,11 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Mar 20 2018 Miro Hrončok - 1:3.2.1-1 +- Update to 3.2.1 +- Force install to /usr/lib and keep this noarch +- Change the set of skipped tests + * Wed Feb 07 2018 Fedora Release Engineering - 1:3.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild diff --git a/sources b/sources index 74b04c8..f33ccf7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.1.0.tar.gz) = 54b581de23a9137f9d6a27357c08db1d4bf231ef98c622c05a853bb5a1ea3ad1151999285f2c53cb0d08353c3cc5c0d37243d128fba2852c538e5bc6bf2c27d4 +SHA512 (cura-3.2.1.tar.gz) = 4f11aa7ebd890476ab764aec2fcdbbbe4ed873400c9fcc11ad389cd00d7c0f5f5fb160065ccfc33311a3bf05d8c4fa55ae2c8067b78eb3d308c026191e59dbbe From de5259a14ea2990f4241ec7b55a0391189f45416 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 21 Mar 2018 14:25:21 +0100 Subject: [PATCH 21/89] Require qt5-qtquickcontrols2 in addition to qt5-qtquickcontrols --- cura.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 0cd7f49..e1fec74 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -31,6 +31,7 @@ Requires: python3-savitar == %{version} Requires: python3-uranium == %{version} Requires: python3-zeroconf Requires: qt5-qtquickcontrols +Requires: qt5-qtquickcontrols2 Requires: CuraEngine == %{epoch}:%{version} Requires: cura-fdm-materials == %{version} @@ -120,6 +121,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Mar 21 2018 Miro Hrončok - 1:3.2.1-2 +- Require qt5-qtquickcontrols2 in addition to qt5-qtquickcontrols + * Tue Mar 20 2018 Miro Hrončok - 1:3.2.1-1 - Update to 3.2.1 - Force install to /usr/lib and keep this noarch From a508659f97ad9c08913ad92d531078a975afeddf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 2 May 2018 16:09:43 +0200 Subject: [PATCH 22/89] Update to 3.3.0 --- .gitignore | 1 + cura.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index bec3052..3322750 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,4 @@ /cura-3.0.3.tar.gz /cura-3.1.0.tar.gz /cura-3.2.1.tar.gz +/cura-3.3.0.tar.gz diff --git a/cura.spec b/cura.spec index e1fec74..613a8f6 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 3.2.1 -Release: 2%{?dist} +Version: 3.3.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -101,7 +101,7 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the %check %{__python3} -m pip freeze -%{__python3} -m pytest -v -k "not test_getPropertyFallThrough" +%{__python3} -m pytest -v desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop @@ -121,6 +121,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed May 02 2018 Miro Hrončok - 1:3.3.0-1 +- Update to 3.3.0 +- Enable test_getPropertyFallThrough again + * Wed Mar 21 2018 Miro Hrončok - 1:3.2.1-2 - Require qt5-qtquickcontrols2 in addition to qt5-qtquickcontrols diff --git a/sources b/sources index f33ccf7..c4a75eb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.2.1.tar.gz) = 4f11aa7ebd890476ab764aec2fcdbbbe4ed873400c9fcc11ad389cd00d7c0f5f5fb160065ccfc33311a3bf05d8c4fa55ae2c8067b78eb3d308c026191e59dbbe +SHA512 (cura-3.3.0.tar.gz) = 26e8618ec455114412eaa83d3cd1200ef34e9164e855d3cd7193a53a43d881227c73477ad13107becfa3efdabcd49692af1d4c1fa66528e6a74e1116bc1164b2 From b86e7c01776f8ee2b2df42db8eb9a951fa80b0ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Sun, 17 Jun 2018 16:23:43 +0200 Subject: [PATCH 23/89] Bytecompile the plugins explicitly --- cura.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index 613a8f6..bfbf3a1 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.3.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -13,7 +13,8 @@ Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{n BuildArch: noarch # There are Python plugins in /usr/lib/cura -# We need to byte-compile it with Python 3 +%global _python_bytecompile_extra 0 +# For backwards compatibility (not needed on F29+): %global __python %{__python3} BuildRequires: cmake @@ -94,6 +95,9 @@ popd rm -rf %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts/ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts +# Bytecompile the plugins +%py_byte_compile %{__python3} %{buildroot}%{_prefix}/lib/cura + %find_lang cura %find_lang fdmextruder.def.json %find_lang fdmprinter.def.json @@ -121,6 +125,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Sun Jun 17 2018 Miro Hrončok - 1:3.3.0-2 +- Bytecompile the plugins explicitly + * Wed May 02 2018 Miro Hrončok - 1:3.3.0-1 - Update to 3.3.0 - Enable test_getPropertyFallThrough again From 320efc24da441cbd65e243bd64c504d7e10959f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 10:41:43 +0200 Subject: [PATCH 24/89] Rebuilt for Python 3.7 --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index bfbf3a1..9228c68 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.3.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -125,6 +125,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Jun 19 2018 Miro Hrončok - 1:3.3.0-3 +- Rebuilt for Python 3.7 + * Sun Jun 17 2018 Miro Hrončok - 1:3.3.0-2 - Bytecompile the plugins explicitly From c560bb3d0e0a85ba9c6ca93ef5e0f963ec916990 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 22:27:51 +0000 Subject: [PATCH 25/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 9228c68..b79d86c 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.3.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -125,6 +125,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 1:3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Tue Jun 19 2018 Miro Hrončok - 1:3.3.0-3 - Rebuilt for Python 3.7 From b40f3741c62d187cae8498c1de467edfaafed0e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 23 Aug 2018 17:08:13 +0200 Subject: [PATCH 26/89] Fix BRs --- cura.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index b79d86c..f42e002 100644 --- a/cura.spec +++ b/cura.spec @@ -21,8 +21,9 @@ BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: dos2unix BuildRequires: gettext -BuildRequires: git +BuildRequires: git-core BuildRequires: python3-devel +BuildRequires: python3-pip BuildRequires: python3-pytest BuildRequires: python3-uranium == %{version} From bbbab147a4c6bf79994d39385ed58564826f5063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 28 Aug 2018 16:22:03 +0200 Subject: [PATCH 27/89] Update to 3.4.1 --- .gitignore | 1 + cura.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 3322750..4089332 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ /cura-3.1.0.tar.gz /cura-3.2.1.tar.gz /cura-3.3.0.tar.gz +/cura-3.4.1.tar.gz diff --git a/cura.spec b/cura.spec index f42e002..b0315ea 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 3.3.0 -Release: 4%{?dist} +Version: 3.4.1 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -126,6 +126,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Aug 28 2018 Miro Hrončok - 1:3.4.1-1 +- Update to 3.4.1 + * Thu Jul 12 2018 Fedora Release Engineering - 1:3.3.0-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index c4a75eb..f55016c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.3.0.tar.gz) = 26e8618ec455114412eaa83d3cd1200ef34e9164e855d3cd7193a53a43d881227c73477ad13107becfa3efdabcd49692af1d4c1fa66528e6a74e1116bc1164b2 +SHA512 (cura-3.4.1.tar.gz) = 5d1935c923173a5ea6d3a95181d61c8deffbb51f3ee4f3e4cb2c5a58f79581d3dd9adc6a9583e6ca0ab5da4c36b63695d7479e67d1237c132354616aa990e3c1 From e66c0fe8cc4553d034b76e4e7e749d132e56fca7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 12 Nov 2018 11:36:29 +0100 Subject: [PATCH 28/89] Update to 3.5.1 (#1644323) --- .gitignore | 1 + cura.spec | 6 +++++- sources | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4089332..55d11da 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /cura-3.2.1.tar.gz /cura-3.3.0.tar.gz /cura-3.4.1.tar.gz +/cura-3.5.1.tar.gz diff --git a/cura.spec b/cura.spec index b0315ea..1a8cad7 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 3.4.1 +Version: 3.5.1 Release: 1%{?dist} Summary: 3D printer control software @@ -25,6 +25,7 @@ BuildRequires: git-core BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-pytest +BuildRequires: python3-savitar == %{version} BuildRequires: python3-uranium == %{version} Requires: open-sans-fonts @@ -126,6 +127,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Mon Nov 12 2018 Miro Hrončok - 1:3.5.1-1 +- Update to 3.5.1 (#1644323) + * Tue Aug 28 2018 Miro Hrončok - 1:3.4.1-1 - Update to 3.4.1 diff --git a/sources b/sources index f55016c..9c0a6af 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.4.1.tar.gz) = 5d1935c923173a5ea6d3a95181d61c8deffbb51f3ee4f3e4cb2c5a58f79581d3dd9adc6a9583e6ca0ab5da4c36b63695d7479e67d1237c132354616aa990e3c1 +SHA512 (cura-3.5.1.tar.gz) = c8490a4f2877372f0568884ae2d5163b3d09a824ca8cfb3939fa317037448075bb338dcafcc01038b4694e359307dd8391557a134f6bf5452d7ed6a69ee702c1 From c48d6d9548ea9548a060aa0f7628e2477f733ce0 Mon Sep 17 00:00:00 2001 From: Gabriel Feron Date: Sat, 26 Jan 2019 13:02:26 +0100 Subject: [PATCH 29/89] Update to 3.6.0 Signed-off-by: Gabriel Feron --- .gitignore | 1 + cura.spec | 7 ++++++- sources | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 55d11da..a86bd34 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ /cura-3.3.0.tar.gz /cura-3.4.1.tar.gz /cura-3.5.1.tar.gz +/cura-3.6.0.tar.gz diff --git a/cura.spec b/cura.spec index 1a8cad7..6203a88 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 3.5.1 +Version: 3.6.0 Release: 1%{?dist} Summary: 3D printer control software @@ -25,11 +25,13 @@ BuildRequires: git-core BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-pytest +BuildRequires: python3-requests BuildRequires: python3-savitar == %{version} BuildRequires: python3-uranium == %{version} Requires: open-sans-fonts Requires: python3-pyserial +Requires: python3-requests Requires: python3-savitar == %{version} Requires: python3-uranium == %{version} Requires: python3-zeroconf @@ -127,6 +129,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Sat Jan 26 2019 Gabriel Féron - 1:3.6.0-1 +- Update to 3.6.0 + * Mon Nov 12 2018 Miro Hrončok - 1:3.5.1-1 - Update to 3.5.1 (#1644323) diff --git a/sources b/sources index 9c0a6af..8b4c7d2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.5.1.tar.gz) = c8490a4f2877372f0568884ae2d5163b3d09a824ca8cfb3939fa317037448075bb338dcafcc01038b4694e359307dd8391557a134f6bf5452d7ed6a69ee702c1 +SHA512 (cura-3.6.0.tar.gz) = b56e5575cb0eb15d759999dcd2f4c33873a0a57805a8ba0ec7860811a2137658a656216c969c6e3316d65fbd5e43f2def10a6385ccbf4fc306d15098569ef279 From 3ebe158fae90545eb141ef4beec80bd5e769f7a7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 16:36:12 +0000 Subject: [PATCH 30/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 6203a88..70a6086 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 3.6.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -129,6 +129,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 1:3.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Sat Jan 26 2019 Gabriel Féron - 1:3.6.0-1 - Update to 3.6.0 From b76b9ad67b88ab0072f8e53a458c32f3ab964f70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Wed, 3 Apr 2019 23:34:11 +0200 Subject: [PATCH 31/89] Update to 4.0.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gabriel Féron --- .gitignore | 1 + cura.spec | 26 +++++++++++++++++++------- sources | 2 +- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index a86bd34..8025087 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /cura-3.4.1.tar.gz /cura-3.5.1.tar.gz /cura-3.6.0.tar.gz +/cura-4.0.0.tar.gz diff --git a/cura.spec b/cura.spec index 70a6086..33e3833 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 3.6.0 -Release: 2%{?dist} +Version: 4.0.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -55,21 +55,30 @@ Cura prepares your model for 3D printing. For novices, it makes it easy to get great results. For experts, there are over 200 settings to adjust to your needs. As it's open source, our community helps enrich it even more. +# see: https://github.com/Ultimaker/Cura/issues/5142 +%define cura_sdk_version 6.0.0 +%define cura_cloud_api_root https://api.ultimaker.com +%define cura_cloud_api_version 1 +%define cura_cloud_account_api_root https://account.ultimaker.com + %prep %autosetup -p1 -S git -n Cura-%{version} -# The setup.py is only useful for py2exe, remove it, so noone is tempted to use it -rm setup.py - # Wrong end of line encoding dos2unix docs/How_to_use_the_flame_graph_profiler.md # Wrong shebang sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py - %build -%{cmake} -DCURA_VERSION:STRING=%{version} -DLIB_SUFFIX:STR= . +%{cmake} \ + -DCURA_VERSION:STRING=%{version} \ + -DCURA_BUILDTYPE=RPM \ + -DCURA_SDK_VERSION:STRING=%{cura_sdk_version} \ + -DCURA_CLOUD_API_ROOT:STRING=%{cura_cloud_api_root} \ + -DCURA_CLOUD_API_VERSION:STRING=%{cura_cloud_api_version} \ + -DCURA_CLOUD_ACCOUNT_API_ROOT:STRING=%{cura_cloud_account_api_root} \ + -DLIB_SUFFIX:STR= . make %{?_smp_mflags} # rebuild locales @@ -129,6 +138,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Apr 04 2019 Gabriel Féron - 4.0.0-1 +- Update to 4.0.0 + * Thu Jan 31 2019 Fedora Release Engineering - 1:3.6.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index 8b4c7d2..c59810c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-3.6.0.tar.gz) = b56e5575cb0eb15d759999dcd2f4c33873a0a57805a8ba0ec7860811a2137658a656216c969c6e3316d65fbd5e43f2def10a6385ccbf4fc306d15098569ef279 +SHA512 (cura-4.0.0.tar.gz) = 869d999e9bb67238ddb47d189405b95e6802037e8a19270a3708490f87b5c42902852d26b368bbb01f49c2a00f4242710a6b8bc2fd0022c12a3fb338ef94fa55 From 6afb99cbbf912d791ec0d50c19f384492b59b3ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 18 Jun 2019 23:12:38 +0200 Subject: [PATCH 32/89] Update to 4.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gabriel Féron --- cura.spec | 7 ++++++- sources | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index 33e3833..0346b05 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 4.0.0 +Version: 4.1.0 Release: 1%{?dist} Summary: 3D printer control software @@ -18,6 +18,8 @@ BuildArch: noarch %global __python %{__python3} BuildRequires: cmake +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: desktop-file-utils BuildRequires: dos2unix BuildRequires: gettext @@ -138,6 +140,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Jun 18 2019 Gabriel Féron - 4.1.0-1 +- Update to 4.1.0 + * Thu Apr 04 2019 Gabriel Féron - 4.0.0-1 - Update to 4.0.0 diff --git a/sources b/sources index c59810c..4b47b27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.0.0.tar.gz) = 869d999e9bb67238ddb47d189405b95e6802037e8a19270a3708490f87b5c42902852d26b368bbb01f49c2a00f4242710a6b8bc2fd0022c12a3fb338ef94fa55 +SHA512 (cura-4.1.0.tar.gz) = 9cb76ca1ff45916111070e5664bdb0e53002ee4539677e01c4096722066cd25de0664d33fbf3ceffda010bd460c14a3855b32b79555946c218d3373e2a6ee767 From 0a7a16146f6c782d6118eb0641ec269737bffb1f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 21:21:08 +0000 Subject: [PATCH 33/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 0346b05..35d4cb5 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -140,6 +140,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 1:4.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Tue Jun 18 2019 Gabriel Féron - 4.1.0-1 - Update to 4.1.0 From 138ec5e58553733997dafac47507ffdbb5d4f610 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 10:12:24 +0200 Subject: [PATCH 34/89] Rebuilt for Python 3.8 --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 35d4cb5..38c26a5 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.1.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -140,6 +140,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Mon Aug 19 2019 Miro Hrončok - 1:4.1.0-3 +- Rebuilt for Python 3.8 + * Wed Jul 24 2019 Fedora Release Engineering - 1:4.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From 3754ebea90d31a4c5d0dc677d496d007a0081933 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 3 Oct 2019 13:52:09 +0200 Subject: [PATCH 35/89] Rebuilt for Python 3.8.0rc1 (#1748018) --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 38c26a5..264bfc5 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.1.0 -Release: 3%{?dist} +Release: 4%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -140,6 +140,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Oct 03 2019 Miro Hrončok - 1:4.1.0-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + * Mon Aug 19 2019 Miro Hrončok - 1:4.1.0-3 - Rebuilt for Python 3.8 From db33179ba58fb9f315b7e76c9df5ee73b8ee5f6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 8 Oct 2019 09:04:57 +0200 Subject: [PATCH 36/89] Update to 4.3.0 --- .gitignore | 1 + cura.spec | 4 ++-- sources | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 8025087..d682f4e 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ /cura-3.5.1.tar.gz /cura-3.6.0.tar.gz /cura-4.0.0.tar.gz +/cura-4.3.0.tar.gz diff --git a/cura.spec b/cura.spec index 264bfc5..85e7fbf 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.1.0 -Release: 4%{?dist} +Version: 4.3.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ diff --git a/sources b/sources index 4b47b27..25eeb31 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.1.0.tar.gz) = 9cb76ca1ff45916111070e5664bdb0e53002ee4539677e01c4096722066cd25de0664d33fbf3ceffda010bd460c14a3855b32b79555946c218d3373e2a6ee767 +SHA512 (cura-4.3.0.tar.gz) = 3f4ae11e4e28b151e9587c197f814bc97bc225fb2819f4dabaab392ef9896bb119d6fab0df48c9eb4a390a815815d27045eefa933e2e4a9d53331db8d79ea815 From eeea163061e6d19e7ea79bd07bfd27998af4292d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Mon, 4 Nov 2019 21:42:46 +0100 Subject: [PATCH 37/89] Revert "Update to 4.3.0" This reverts commit 64441ed38cfbaf37c6f45f11e3fb39fab380767a. --- .gitignore | 1 - cura.spec | 4 ++-- sources | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index d682f4e..8025087 100644 --- a/.gitignore +++ b/.gitignore @@ -18,4 +18,3 @@ /cura-3.5.1.tar.gz /cura-3.6.0.tar.gz /cura-4.0.0.tar.gz -/cura-4.3.0.tar.gz diff --git a/cura.spec b/cura.spec index 85e7fbf..264bfc5 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.3.0 -Release: 1%{?dist} +Version: 4.1.0 +Release: 4%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ diff --git a/sources b/sources index 25eeb31..4b47b27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.3.0.tar.gz) = 3f4ae11e4e28b151e9587c197f814bc97bc225fb2819f4dabaab392ef9896bb119d6fab0df48c9eb4a390a815815d27045eefa933e2e4a9d53331db8d79ea815 +SHA512 (cura-4.1.0.tar.gz) = 9cb76ca1ff45916111070e5664bdb0e53002ee4539677e01c4096722066cd25de0664d33fbf3ceffda010bd460c14a3855b32b79555946c218d3373e2a6ee767 From ef0e243750d31bf71e74b12b7d9f2f4a233fadd3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 8 Oct 2019 09:04:57 +0200 Subject: [PATCH 38/89] Update to 4.3.0 --- .gitignore | 21 +-------------------- cura.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/.gitignore b/.gitignore index 8025087..3099be2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1 @@ -/Cura-13.03-linux-fedora.tar.gz -/Cura-13.04-linux-fedora.tar.gz -/Cura-13.10-fedora.tar.gz -/Cura-13.11.2-fedora.tar.gz -/Cura-14.06-fedora.tar.gz -/Cura-14.09-fedora.tar.gz -/Cura-14.12.1-fedora.tar.gz -/Cura-15.02.1-fedora.tar.gz -/Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz -/cura-2.5.0.tar.gz -/cura-2.6.1.tar.gz -/cura-2.7.0.tar.gz -/cura-3.0.3.tar.gz -/cura-3.1.0.tar.gz -/cura-3.2.1.tar.gz -/cura-3.3.0.tar.gz -/cura-3.4.1.tar.gz -/cura-3.5.1.tar.gz -/cura-3.6.0.tar.gz -/cura-4.0.0.tar.gz +/cura-*.tar.gz diff --git a/cura.spec b/cura.spec index 264bfc5..084d30a 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.1.0 -Release: 4%{?dist} +Version: 4.3.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -140,6 +140,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Nov 5 2019 Gabriel Féron - 4.3.0-1 +- Update to 4.3.0 + * Thu Oct 03 2019 Miro Hrončok - 1:4.1.0-4 - Rebuilt for Python 3.8.0rc1 (#1748018) diff --git a/sources b/sources index 4b47b27..25eeb31 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.1.0.tar.gz) = 9cb76ca1ff45916111070e5664bdb0e53002ee4539677e01c4096722066cd25de0664d33fbf3ceffda010bd460c14a3855b32b79555946c218d3373e2a6ee767 +SHA512 (cura-4.3.0.tar.gz) = 3f4ae11e4e28b151e9587c197f814bc97bc225fb2819f4dabaab392ef9896bb119d6fab0df48c9eb4a390a815815d27045eefa933e2e4a9d53331db8d79ea815 From 5d729bfdc84a53e6546a9855cfcab2b6232bcb7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 5 Nov 2019 16:56:08 +0100 Subject: [PATCH 39/89] Revert "Update to 4.3.0" This reverts commit ef0e243750d31bf71e74b12b7d9f2f4a233fadd3. --- .gitignore | 21 ++++++++++++++++++++- cura.spec | 7 ++----- sources | 2 +- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 3099be2..8025087 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,20 @@ -/cura-*.tar.gz +/Cura-13.03-linux-fedora.tar.gz +/Cura-13.04-linux-fedora.tar.gz +/Cura-13.10-fedora.tar.gz +/Cura-13.11.2-fedora.tar.gz +/Cura-14.06-fedora.tar.gz +/Cura-14.09-fedora.tar.gz +/Cura-14.12.1-fedora.tar.gz +/Cura-15.02.1-fedora.tar.gz +/Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz +/cura-2.5.0.tar.gz +/cura-2.6.1.tar.gz +/cura-2.7.0.tar.gz +/cura-3.0.3.tar.gz +/cura-3.1.0.tar.gz +/cura-3.2.1.tar.gz +/cura-3.3.0.tar.gz +/cura-3.4.1.tar.gz +/cura-3.5.1.tar.gz +/cura-3.6.0.tar.gz +/cura-4.0.0.tar.gz diff --git a/cura.spec b/cura.spec index 084d30a..264bfc5 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.3.0 -Release: 1%{?dist} +Version: 4.1.0 +Release: 4%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -140,9 +140,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog -* Tue Nov 5 2019 Gabriel Féron - 4.3.0-1 -- Update to 4.3.0 - * Thu Oct 03 2019 Miro Hrončok - 1:4.1.0-4 - Rebuilt for Python 3.8.0rc1 (#1748018) diff --git a/sources b/sources index 25eeb31..4b47b27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.3.0.tar.gz) = 3f4ae11e4e28b151e9587c197f814bc97bc225fb2819f4dabaab392ef9896bb119d6fab0df48c9eb4a390a815815d27045eefa933e2e4a9d53331db8d79ea815 +SHA512 (cura-4.1.0.tar.gz) = 9cb76ca1ff45916111070e5664bdb0e53002ee4539677e01c4096722066cd25de0664d33fbf3ceffda010bd460c14a3855b32b79555946c218d3373e2a6ee767 From 56acf3b9dd8f15f2a72e596bc7d7a7e98fff36cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 8 Oct 2019 09:04:57 +0200 Subject: [PATCH 40/89] Update to 4.4.0 - Remove CURA_SDK_VERSION CMake variable - Force to run with X11 to workaround invisible window on Wayland --- .gitignore | 21 +-------------------- 0001-Force-to-open-with-X11.patch | 25 +++++++++++++++++++++++++ cura.spec | 13 ++++++++----- sources | 2 +- 4 files changed, 35 insertions(+), 26 deletions(-) create mode 100644 0001-Force-to-open-with-X11.patch diff --git a/.gitignore b/.gitignore index 8025087..3099be2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1 @@ -/Cura-13.03-linux-fedora.tar.gz -/Cura-13.04-linux-fedora.tar.gz -/Cura-13.10-fedora.tar.gz -/Cura-13.11.2-fedora.tar.gz -/Cura-14.06-fedora.tar.gz -/Cura-14.09-fedora.tar.gz -/Cura-14.12.1-fedora.tar.gz -/Cura-15.02.1-fedora.tar.gz -/Cura-95c2af21db7fdda8c4324a923fa004859f6c5b9c-fedora.tar.gz -/cura-2.5.0.tar.gz -/cura-2.6.1.tar.gz -/cura-2.7.0.tar.gz -/cura-3.0.3.tar.gz -/cura-3.1.0.tar.gz -/cura-3.2.1.tar.gz -/cura-3.3.0.tar.gz -/cura-3.4.1.tar.gz -/cura-3.5.1.tar.gz -/cura-3.6.0.tar.gz -/cura-4.0.0.tar.gz +/cura-*.tar.gz diff --git a/0001-Force-to-open-with-X11.patch b/0001-Force-to-open-with-X11.patch new file mode 100644 index 0000000..a44b1d5 --- /dev/null +++ b/0001-Force-to-open-with-X11.patch @@ -0,0 +1,25 @@ +From 56bd818610c64211b166fe1812e62d1758487a68 Mon Sep 17 00:00:00 2001 +From: Gabriel Feron +Date: Thu, 21 Nov 2019 16:13:53 +0100 +Subject: [PATCH] Force to open with X11 + +--- + cura_app.py | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cura_app.py b/cura_app.py +index e14b441..4ab44ef 100755 +--- a/cura_app.py ++++ b/cura_app.py +@@ -42,6 +42,8 @@ if not known_args["debug"]: + + # WORKAROUND: GITHUB-88 GITHUB-385 GITHUB-612 + if Platform.isLinux(): # Needed for platform.linux_distribution, which is not available on Windows and OSX ++ # Workaround for invisible window on Wayland and (at least) Fedora 31 ++ os.environ["XDG_SESSION_TYPE"] = "x11" + # For Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826 + # The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix. + try: +-- +2.23.0 + diff --git a/cura.spec b/cura.spec index 264bfc5..72e944e 100644 --- a/cura.spec +++ b/cura.spec @@ -1,14 +1,15 @@ Name: cura Epoch: 1 -Version: 4.1.0 -Release: 4%{?dist} +Version: 4.4.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software -Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source0: https://github.com/Ultimaker/Cura/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Patch0: 0001-Force-to-open-with-X11.patch BuildArch: noarch @@ -58,7 +59,6 @@ great results. For experts, there are over 200 settings to adjust to your needs. As it's open source, our community helps enrich it even more. # see: https://github.com/Ultimaker/Cura/issues/5142 -%define cura_sdk_version 6.0.0 %define cura_cloud_api_root https://api.ultimaker.com %define cura_cloud_api_version 1 %define cura_cloud_account_api_root https://account.ultimaker.com @@ -76,7 +76,6 @@ sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py %{cmake} \ -DCURA_VERSION:STRING=%{version} \ -DCURA_BUILDTYPE=RPM \ - -DCURA_SDK_VERSION:STRING=%{cura_sdk_version} \ -DCURA_CLOUD_API_ROOT:STRING=%{cura_cloud_api_root} \ -DCURA_CLOUD_API_VERSION:STRING=%{cura_cloud_api_version} \ -DCURA_CLOUD_ACCOUNT_API_ROOT:STRING=%{cura_cloud_account_api_root} \ @@ -140,6 +139,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Nov 21 2019 Gabriel Féron - 4.4.0-1 +- Update to 4.4.0 +- Force X11 to workaround invisible window on Wayland + * Thu Oct 03 2019 Miro Hrončok - 1:4.1.0-4 - Rebuilt for Python 3.8.0rc1 (#1748018) diff --git a/sources b/sources index 4b47b27..b2fabca 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.1.0.tar.gz) = 9cb76ca1ff45916111070e5664bdb0e53002ee4539677e01c4096722066cd25de0664d33fbf3ceffda010bd460c14a3855b32b79555946c218d3373e2a6ee767 +SHA512 (cura-4.4.0.tar.gz) = 7728553d15fc843c0f2aca83e1ce3df9806835eedd0be6d7447c3edd18cda7e4a23400192f70b1c385841463126dea5bbfc7316f8f12ed26b9392047cabc69d3 From 8f025c81723728c16f739cd72afaded65c2e6fec Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 15:10:52 +0000 Subject: [PATCH 41/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 72e944e..164dc35 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.4.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -139,6 +139,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 1:4.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Nov 21 2019 Gabriel Féron - 4.4.0-1 - Update to 4.4.0 - Force X11 to workaround invisible window on Wayland From be0898d37dadff4766d02867a63c35953c9fb987 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Tue, 21 Apr 2020 23:33:54 +0200 Subject: [PATCH 42/89] Update to 4.6.0 --- 0001-Force-to-open-with-X11.patch | 25 ------------------------- cura.spec | 10 ++++++---- sources | 2 +- 3 files changed, 7 insertions(+), 30 deletions(-) delete mode 100644 0001-Force-to-open-with-X11.patch diff --git a/0001-Force-to-open-with-X11.patch b/0001-Force-to-open-with-X11.patch deleted file mode 100644 index a44b1d5..0000000 --- a/0001-Force-to-open-with-X11.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 56bd818610c64211b166fe1812e62d1758487a68 Mon Sep 17 00:00:00 2001 -From: Gabriel Feron -Date: Thu, 21 Nov 2019 16:13:53 +0100 -Subject: [PATCH] Force to open with X11 - ---- - cura_app.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/cura_app.py b/cura_app.py -index e14b441..4ab44ef 100755 ---- a/cura_app.py -+++ b/cura_app.py -@@ -42,6 +42,8 @@ if not known_args["debug"]: - - # WORKAROUND: GITHUB-88 GITHUB-385 GITHUB-612 - if Platform.isLinux(): # Needed for platform.linux_distribution, which is not available on Windows and OSX -+ # Workaround for invisible window on Wayland and (at least) Fedora 31 -+ os.environ["XDG_SESSION_TYPE"] = "x11" - # For Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-qt4/+bug/941826 - # The workaround is only needed on Ubuntu+NVidia drivers. Other drivers are not affected, but fine with this fix. - try: --- -2.23.0 - diff --git a/cura.spec b/cura.spec index 164dc35..00907d4 100644 --- a/cura.spec +++ b/cura.spec @@ -1,15 +1,14 @@ Name: cura Epoch: 1 -Version: 4.4.0 -Release: 2%{?dist} +Version: 4.6.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software -Source0: https://github.com/Ultimaker/Cura/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz -Patch0: 0001-Force-to-open-with-X11.patch +Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildArch: noarch @@ -139,6 +138,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Apr 21 2020 Gabriel Féron - 4.6.0-1 +- Update to 4.6.0 + * Tue Jan 28 2020 Fedora Release Engineering - 1:4.4.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index b2fabca..f790fbf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.4.0.tar.gz) = 7728553d15fc843c0f2aca83e1ce3df9806835eedd0be6d7447c3edd18cda7e4a23400192f70b1c385841463126dea5bbfc7316f8f12ed26b9392047cabc69d3 +SHA512 (cura-4.6.0.tar.gz) = 786739242af59251d2d9eb577d9be84c9bb5677bb875ef69cd4d2e763ea227c62746a6bbbe0f22080e21d991479426a86a2193ca633ff4f9ff4b48038808633c From 996e9a9754550eb74e45694bdc458ff4bba046f6 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Tue, 5 May 2020 18:53:04 +0200 Subject: [PATCH 43/89] Update to 4.6.1 --- cura.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index 00907d4..aab15ba 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 4.6.0 +Version: 4.6.1 Release: 1%{?dist} Summary: 3D printer control software @@ -138,6 +138,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue May 5 2020 Gabriel Féron - 4.6.0-1 +- Update to 4.6.1 + * Tue Apr 21 2020 Gabriel Féron - 4.6.0-1 - Update to 4.6.0 diff --git a/sources b/sources index f790fbf..02332fc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.6.0.tar.gz) = 786739242af59251d2d9eb577d9be84c9bb5677bb875ef69cd4d2e763ea227c62746a6bbbe0f22080e21d991479426a86a2193ca633ff4f9ff4b48038808633c +SHA512 (cura-4.6.1.tar.gz) = 8802993a98e75428d11bfdc7721d5d48e8939ef1c783789db2941cb40b6fc8014eacbdea09c559c6d68cb1dd99def15bfb503d5c164f057a384c8a7620b15dc2 From 7cedc9e7b8a9457b6f0ca013b74e95eb2939a086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 02:43:38 +0200 Subject: [PATCH 44/89] Rebuilt for Python 3.9 --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index aab15ba..ca983c7 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.6.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -138,6 +138,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue May 26 2020 Miro Hrončok - 1:4.6.1-2 +- Rebuilt for Python 3.9 + * Tue May 5 2020 Gabriel Féron - 4.6.0-1 - Update to 4.6.1 From abfc7ec73fa7ab92ae33585db7ad72036f531dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Sun, 26 Jul 2020 15:35:12 +0200 Subject: [PATCH 45/89] https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds --- cura.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/cura.spec b/cura.spec index ca983c7..45a8fe9 100644 --- a/cura.spec +++ b/cura.spec @@ -48,6 +48,9 @@ Requires: libglvnd-devel # So that it just works Requires: 3dprinter-udev-rules +# Get Fedora 33++ behavior on anything older +%undefine __cmake_in_source_build + %description Cura is a project which aims to be an single software solution for 3D printing. While it is developed to be used with the Ultimaker 3D printer, it can be used @@ -72,14 +75,14 @@ dos2unix docs/How_to_use_the_flame_graph_profiler.md sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py %build -%{cmake} \ +%cmake \ -DCURA_VERSION:STRING=%{version} \ -DCURA_BUILDTYPE=RPM \ -DCURA_CLOUD_API_ROOT:STRING=%{cura_cloud_api_root} \ -DCURA_CLOUD_API_VERSION:STRING=%{cura_cloud_api_version} \ -DCURA_CLOUD_ACCOUNT_API_ROOT:STRING=%{cura_cloud_account_api_root} \ - -DLIB_SUFFIX:STR= . -make %{?_smp_mflags} + -DLIB_SUFFIX:STR= +%cmake_build # rebuild locales cd resources/i18n @@ -95,7 +98,7 @@ cd - %install -make install DESTDIR=%{buildroot} +%cmake_install # Sanitize the location of locale files pushd %{buildroot}%{_datadir} From 647bdbf101784021fa196197233b0622735bf217 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Sun, 26 Jul 2020 15:42:40 +0200 Subject: [PATCH 46/89] Remove old compatibility cruft --- cura.spec | 5 ----- 1 file changed, 5 deletions(-) diff --git a/cura.spec b/cura.spec index 45a8fe9..e226cc1 100644 --- a/cura.spec +++ b/cura.spec @@ -12,11 +12,6 @@ Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{n BuildArch: noarch -# There are Python plugins in /usr/lib/cura -%global _python_bytecompile_extra 0 -# For backwards compatibility (not needed on F29+): -%global __python %{__python3} - BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ From fb7b271181305bb161a53148fd6db39fc42e334a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 14:52:15 +0000 Subject: [PATCH 47/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index e226cc1..aa0b02d 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.6.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -136,6 +136,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 1:4.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Tue May 26 2020 Miro Hrončok - 1:4.6.1-2 - Rebuilt for Python 3.9 From 6a42513b703d35921bc7f3edbba3b892f1109c57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Mon, 31 Aug 2020 21:02:07 +0200 Subject: [PATCH 48/89] Update to 4.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Gabriel Féron --- cura.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/cura.spec b/cura.spec index aa0b02d..5b2c927 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.6.1 -Release: 3%{?dist} +Version: 4.7.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -136,6 +136,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Mon Aug 31 2020 Gabriel Féron - 4.7.0-1 +- Update to 4.7.0 + * Mon Jul 27 2020 Fedora Release Engineering - 1:4.6.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild diff --git a/sources b/sources index 02332fc..0a94558 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.6.1.tar.gz) = 8802993a98e75428d11bfdc7721d5d48e8939ef1c783789db2941cb40b6fc8014eacbdea09c559c6d68cb1dd99def15bfb503d5c164f057a384c8a7620b15dc2 +SHA512 (cura-4.7.0.tar.gz) = 0b3383042b9c8cf2ce27caee95c365be786c9eb40898c74ea4e0fb903241087e48a6e908d85635a9e43cf21ca3623098c6fe980d0cec3fc6a59c01c9c9cb4d9d From 32a249195022ded8f962f4a2380f41ff20de609e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 3 Sep 2020 18:31:08 +0200 Subject: [PATCH 49/89] Update to 4.7.1 --- cura.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index 5b2c927..d4248e3 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 4.7.0 +Version: 4.7.1 Release: 1%{?dist} Summary: 3D printer control software @@ -136,6 +136,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Thu Sep 03 2020 Miro Hrončok - 1:4.7.1-1 +- Update to 4.7.1 + * Mon Aug 31 2020 Gabriel Féron - 4.7.0-1 - Update to 4.7.0 diff --git a/sources b/sources index 0a94558..4e632b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.7.0.tar.gz) = 0b3383042b9c8cf2ce27caee95c365be786c9eb40898c74ea4e0fb903241087e48a6e908d85635a9e43cf21ca3623098c6fe980d0cec3fc6a59c01c9c9cb4d9d +SHA512 (cura-4.7.1.tar.gz) = 09b3361c60bc1a369ea3a1c53e5762085d62d70bc3f145b6843af9127f1930863f1246f82ab0027cb6daa944f30b21bddc06fa136b022a1d0e025ebd13e21a21 From 6bc9a5fedadf163cdb0bddd5b4924a260bf1de5c Mon Sep 17 00:00:00 2001 From: Jan Pazdziora Date: Tue, 22 Dec 2020 22:41:00 +0100 Subject: [PATCH 50/89] Update to 4.8.0 --- cura.spec | 7 ++++++- sources | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index d4248e3..0ad082b 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 4.7.1 +Version: 4.8.0 Release: 1%{?dist} Summary: 3D printer control software @@ -22,12 +22,14 @@ BuildRequires: git-core BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-pytest +BuildRequires: python3-pynest2d BuildRequires: python3-requests BuildRequires: python3-savitar == %{version} BuildRequires: python3-uranium == %{version} Requires: open-sans-fonts Requires: python3-pyserial +Requires: python3-pynest2d Requires: python3-requests Requires: python3-savitar == %{version} Requires: python3-uranium == %{version} @@ -136,6 +138,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Dec 22 2020 Jan Pazdziora - 1:4.8.0-1 +- Update to 4.8.0 + * Thu Sep 03 2020 Miro Hrončok - 1:4.7.1-1 - Update to 4.7.1 diff --git a/sources b/sources index 4e632b3..470f883 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.7.1.tar.gz) = 09b3361c60bc1a369ea3a1c53e5762085d62d70bc3f145b6843af9127f1930863f1246f82ab0027cb6daa944f30b21bddc06fa136b022a1d0e025ebd13e21a21 +SHA512 (cura-4.8.0.tar.gz) = 0a34438299908021242e47e74418e56fe61c41cff5c29df938b4705b5d23ceb6e1bd17b9eb8110f8ec75c7a08afe8928857d4f2fd5befa00c187bce717105711 From 3422eeee2dd2e6e741e3317e93b63141e0771e66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 28 Dec 2020 17:14:35 +0100 Subject: [PATCH 51/89] Recommend trimesh and certifi --- cura.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cura.spec b/cura.spec index 0ad082b..3cf365b 100644 --- a/cura.spec +++ b/cura.spec @@ -45,6 +45,10 @@ Requires: libglvnd-devel # So that it just works Requires: 3dprinter-udev-rules +# For various plugins +Recommends: python3-trimesh +Recommends: python3-certifi + # Get Fedora 33++ behavior on anything older %undefine __cmake_in_source_build @@ -140,6 +144,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %changelog * Tue Dec 22 2020 Jan Pazdziora - 1:4.8.0-1 - Update to 4.8.0 +- Recommend trimesh and certifi * Thu Sep 03 2020 Miro Hrončok - 1:4.7.1-1 - Update to 4.7.1 From a5d74a1ca971b3ff5d575a34f873e31f19f816a7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 02:50:58 +0000 Subject: [PATCH 52/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 3cf365b..784b4f0 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.8.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -142,6 +142,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 1:4.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Tue Dec 22 2020 Jan Pazdziora - 1:4.8.0-1 - Update to 4.8.0 - Recommend trimesh and certifi From 94bb33e933e64e0cc9582a196a830790c0cfe7e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 22 Mar 2021 10:45:58 +0100 Subject: [PATCH 53/89] Adapt to Python 3.9 API changes --- 9105.patch | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ cura.spec | 8 ++++- 2 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 9105.patch diff --git a/9105.patch b/9105.patch new file mode 100644 index 0000000..4aee1e9 --- /dev/null +++ b/9105.patch @@ -0,0 +1,93 @@ +From 352fef3efa700b53f308a095c5faa85520d9a4c1 Mon Sep 17 00:00:00 2001 +From: Philip Lorenz +Date: Sun, 10 Jan 2021 20:21:40 +0100 +Subject: [PATCH] Adapt to Python 3.9 API changes + +Python 3.9 now made the TreeBuilder.start() `attrs` parameter ([1]) +mandatory on all implementations. Adapt the plugin accordingly. + +[1] https://bugs.python.org/issue39495 +--- + .../XmlMaterialProfile/XmlMaterialProfile.py | 22 +++++++++---------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py +index 70e702d0bf4..ce0bb06d8d6 100644 +--- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py ++++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py +@@ -151,7 +151,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): + "version": self.CurrentFdmMaterialVersion}) + + ## Begin Metadata Block +- builder.start("metadata") # type: ignore ++ builder.start("metadata", {}) # type: ignore + + metadata = copy.deepcopy(self.getMetaData()) + # setting_version is derived from the "version" tag in the schema, so don't serialize it into a file +@@ -165,21 +165,21 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): + properties = metadata.pop("properties", {}) + + ## Begin Name Block +- builder.start("name") # type: ignore ++ builder.start("name", {}) # type: ignore + +- builder.start("brand") # type: ignore ++ builder.start("brand", {}) # type: ignore + builder.data(metadata.pop("brand", "")) + builder.end("brand") + +- builder.start("material") # type: ignore ++ builder.start("material", {}) # type: ignore + builder.data(metadata.pop("material", "")) + builder.end("material") + +- builder.start("color") # type: ignore ++ builder.start("color", {}) # type: ignore + builder.data(metadata.pop("color_name", "")) + builder.end("color") + +- builder.start("label") # type: ignore ++ builder.start("label", {}) # type: ignore + builder.data(self.getName()) + builder.end("label") + +@@ -190,7 +190,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): + key_to_use = key + if key in self._metadata_tags_that_have_cura_namespace: + key_to_use = "cura:" + key_to_use +- builder.start(key_to_use) # type: ignore ++ builder.start(key_to_use, {}) # type: ignore + if value is not None: #Nones get handled well by the builder. + #Otherwise the builder always expects a string. + #Deserialize expects the stringified version. +@@ -202,10 +202,10 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): + ## End Metadata Block + + ## Begin Properties Block +- builder.start("properties") # type: ignore ++ builder.start("properties", {}) # type: ignore + + for key, value in properties.items(): +- builder.start(key) # type: ignore ++ builder.start(key, {}) # type: ignore + builder.data(value) + builder.end(key) + +@@ -213,7 +213,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): + ## End Properties Block + + ## Begin Settings Block +- builder.start("settings") # type: ignore ++ builder.start("settings", {}) # type: ignore + + if self.getMetaDataEntry("definition") == "fdmprinter": + for instance in self.findInstances(): +@@ -258,7 +258,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): + product = product_name + break + +- builder.start("machine") # type: ignore ++ builder.start("machine", {}) # type: ignore + builder.start("machine_identifier", { + "manufacturer": container.getMetaDataEntry("machine_manufacturer", + definition_metadata.get("manufacturer", "Unknown")), diff --git a/cura.spec b/cura.spec index 784b4f0..a940f87 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.8.0 -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -10,6 +10,9 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# Adapt to Python 3.9 API changes +Patch1: https://github.com/Ultimaker/Cura/pull/9105.patch + BuildArch: noarch BuildRequires: cmake @@ -142,6 +145,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_prefix}/lib/%{name} %changelog +* Mon Mar 22 2021 Miro Hrončok - 1:4.8.0-3 +- Adapt to Python 3.9 API changes + * Tue Jan 26 2021 Fedora Release Engineering - 1:4.8.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From 2cdec4003addb81fca79344e592cc0b3c5c07f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 4 May 2021 18:24:45 +0200 Subject: [PATCH 54/89] Update to 4.9.0 --- 9105.patch | 93 ------------------------------------------------- cura-9702.patch | 25 +++++++++++++ cura.spec | 20 +++++++---- sources | 2 +- 4 files changed, 39 insertions(+), 101 deletions(-) delete mode 100644 9105.patch create mode 100644 cura-9702.patch diff --git a/9105.patch b/9105.patch deleted file mode 100644 index 4aee1e9..0000000 --- a/9105.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 352fef3efa700b53f308a095c5faa85520d9a4c1 Mon Sep 17 00:00:00 2001 -From: Philip Lorenz -Date: Sun, 10 Jan 2021 20:21:40 +0100 -Subject: [PATCH] Adapt to Python 3.9 API changes - -Python 3.9 now made the TreeBuilder.start() `attrs` parameter ([1]) -mandatory on all implementations. Adapt the plugin accordingly. - -[1] https://bugs.python.org/issue39495 ---- - .../XmlMaterialProfile/XmlMaterialProfile.py | 22 +++++++++---------- - 1 file changed, 11 insertions(+), 11 deletions(-) - -diff --git a/plugins/XmlMaterialProfile/XmlMaterialProfile.py b/plugins/XmlMaterialProfile/XmlMaterialProfile.py -index 70e702d0bf4..ce0bb06d8d6 100644 ---- a/plugins/XmlMaterialProfile/XmlMaterialProfile.py -+++ b/plugins/XmlMaterialProfile/XmlMaterialProfile.py -@@ -151,7 +151,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): - "version": self.CurrentFdmMaterialVersion}) - - ## Begin Metadata Block -- builder.start("metadata") # type: ignore -+ builder.start("metadata", {}) # type: ignore - - metadata = copy.deepcopy(self.getMetaData()) - # setting_version is derived from the "version" tag in the schema, so don't serialize it into a file -@@ -165,21 +165,21 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): - properties = metadata.pop("properties", {}) - - ## Begin Name Block -- builder.start("name") # type: ignore -+ builder.start("name", {}) # type: ignore - -- builder.start("brand") # type: ignore -+ builder.start("brand", {}) # type: ignore - builder.data(metadata.pop("brand", "")) - builder.end("brand") - -- builder.start("material") # type: ignore -+ builder.start("material", {}) # type: ignore - builder.data(metadata.pop("material", "")) - builder.end("material") - -- builder.start("color") # type: ignore -+ builder.start("color", {}) # type: ignore - builder.data(metadata.pop("color_name", "")) - builder.end("color") - -- builder.start("label") # type: ignore -+ builder.start("label", {}) # type: ignore - builder.data(self.getName()) - builder.end("label") - -@@ -190,7 +190,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): - key_to_use = key - if key in self._metadata_tags_that_have_cura_namespace: - key_to_use = "cura:" + key_to_use -- builder.start(key_to_use) # type: ignore -+ builder.start(key_to_use, {}) # type: ignore - if value is not None: #Nones get handled well by the builder. - #Otherwise the builder always expects a string. - #Deserialize expects the stringified version. -@@ -202,10 +202,10 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): - ## End Metadata Block - - ## Begin Properties Block -- builder.start("properties") # type: ignore -+ builder.start("properties", {}) # type: ignore - - for key, value in properties.items(): -- builder.start(key) # type: ignore -+ builder.start(key, {}) # type: ignore - builder.data(value) - builder.end(key) - -@@ -213,7 +213,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): - ## End Properties Block - - ## Begin Settings Block -- builder.start("settings") # type: ignore -+ builder.start("settings", {}) # type: ignore - - if self.getMetaDataEntry("definition") == "fdmprinter": - for instance in self.findInstances(): -@@ -258,7 +258,7 @@ def serialize(self, ignored_metadata_keys: Optional[Set[str]] = None): - product = product_name - break - -- builder.start("machine") # type: ignore -+ builder.start("machine", {}) # type: ignore - builder.start("machine_identifier", { - "manufacturer": container.getMetaDataEntry("machine_manufacturer", - definition_metadata.get("manufacturer", "Unknown")), diff --git a/cura-9702.patch b/cura-9702.patch new file mode 100644 index 0000000..e45a4ae --- /dev/null +++ b/cura-9702.patch @@ -0,0 +1,25 @@ +From e26cf6f8102b5d7010a74b9257007d34e70b9ea8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= +Date: Mon, 26 Apr 2021 11:07:11 +0200 +Subject: [PATCH] Fix test_wrongServerResponses + +--- + tests/TestOAuth2.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py +index 6b7e28917..731a31690 100644 +--- a/tests/TestOAuth2.py ++++ b/tests/TestOAuth2.py +@@ -46,7 +46,7 @@ NO_REFRESH_AUTH_RESPONSE = AuthenticationResponse( + success = True + ) + +-MALFORMED_AUTH_RESPONSE = AuthenticationResponse() ++MALFORMED_AUTH_RESPONSE = AuthenticationResponse(success=False) + + + def test_cleanAuthService() -> None: +-- +2.31.1 + diff --git a/cura.spec b/cura.spec index a940f87..c687f25 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.8.0 -Release: 3%{?dist} +Version: 4.9.0 +Release: 1%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -10,8 +10,8 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# Adapt to Python 3.9 API changes -Patch1: https://github.com/Ultimaker/Cura/pull/9105.patch +# https://github.com/Ultimaker/Cura/pull/9702 +Patch0: %{name}-9702.patch BuildArch: noarch @@ -31,6 +31,7 @@ BuildRequires: python3-savitar == %{version} BuildRequires: python3-uranium == %{version} Requires: open-sans-fonts +Requires: python3-keyring Requires: python3-pyserial Requires: python3-pynest2d Requires: python3-requests @@ -69,6 +70,8 @@ needs. As it's open source, our community helps enrich it even more. %define cura_cloud_api_version 1 %define cura_cloud_account_api_root https://account.ultimaker.com +%define reverse_dns_name com.ultimaker.%{name} + %prep %autosetup -p1 -S git -n Cura-%{version} @@ -127,7 +130,7 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the %{__python3} -m pip freeze %{__python3} -m pytest -v -desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.desktop %files -f cura.lang -f fdmextruder.def.json.lang -f fdmprinter.def.json.lang @@ -137,14 +140,17 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop # things in docs are developer oriented %{python3_sitelib}/%{name} %{_datadir}/%{name} -%{_datadir}/applications/%{name}.desktop -%{_datadir}/metainfo/%{name}.appdata.xml +%{_datadir}/applications/%{reverse_dns_name}.desktop +%{_datadir}/metainfo/%{reverse_dns_name}.appdata.xml %{_datadir}/icons/hicolor/128x128/apps/%{name}-icon.png %{_datadir}/mime/packages/%{name}.xml %{_bindir}/%{name} %{_prefix}/lib/%{name} %changelog +* Mon Apr 26 2021 Gabriel Féron - 4.9.0-1 +- Update to 4.9.0 + * Mon Mar 22 2021 Miro Hrončok - 1:4.8.0-3 - Adapt to Python 3.9 API changes diff --git a/sources b/sources index 470f883..8246373 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.8.0.tar.gz) = 0a34438299908021242e47e74418e56fe61c41cff5c29df938b4705b5d23ceb6e1bd17b9eb8110f8ec75c7a08afe8928857d4f2fd5befa00c187bce717105711 +SHA512 (cura-4.9.0.tar.gz) = 0cbf50984b25b29877837248dab4ec17711b8aaead4cc13b5bc0037b7162690074d81cc22a75de8d6f64c99fe3ec4c271016199b6aa013194fdb1c752bab69cd From 1fa95c9832a4eea00a435317a2856f82c384a688 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 20:02:29 +0200 Subject: [PATCH 55/89] Rebuilt for Python 3.10 --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index c687f25..033058a 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.9.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer control software # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -148,6 +148,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Fri Jun 04 2021 Python Maint - 1:4.9.0-2 +- Rebuilt for Python 3.10 + * Mon Apr 26 2021 Gabriel Féron - 4.9.0-1 - Update to 4.9.0 From bb3276905b105bdf34ae8e46fc5542c54ba0973c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 7 Jun 2021 12:27:50 +0200 Subject: [PATCH 56/89] Explicitly add runtime deps as BuildRequires to ensure testability --- cura.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cura.spec b/cura.spec index 033058a..8667d1f 100644 --- a/cura.spec +++ b/cura.spec @@ -25,10 +25,13 @@ BuildRequires: git-core BuildRequires: python3-devel BuildRequires: python3-pip BuildRequires: python3-pytest +BuildRequires: python3-keyring +BuildRequires: python3-pyserial BuildRequires: python3-pynest2d BuildRequires: python3-requests BuildRequires: python3-savitar == %{version} BuildRequires: python3-uranium == %{version} +BuildRequires: python3-zeroconf Requires: open-sans-fonts Requires: python3-keyring From 2430502506e7d13e98848cd09b7086e175074f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Thu, 10 Jun 2021 11:50:38 +0200 Subject: [PATCH 57/89] Update to 4.9.1 --- cura.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/cura.spec b/cura.spec index 8667d1f..50bd1e0 100644 --- a/cura.spec +++ b/cura.spec @@ -1,8 +1,8 @@ Name: cura Epoch: 1 -Version: 4.9.0 -Release: 2%{?dist} -Summary: 3D printer control software +Version: 4.9.1 +Release: 1%{?dist} +Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ License: LGPLv3+ @@ -151,6 +151,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Thu Jun 10 2021 Gabriel Féron - 1:4.9.1-1 +- Update to 4.9.1 + * Fri Jun 04 2021 Python Maint - 1:4.9.0-2 - Rebuilt for Python 3.10 diff --git a/sources b/sources index 8246373..8c56b27 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.9.0.tar.gz) = 0cbf50984b25b29877837248dab4ec17711b8aaead4cc13b5bc0037b7162690074d81cc22a75de8d6f64c99fe3ec4c271016199b6aa013194fdb1c752bab69cd +SHA512 (cura-4.9.1.tar.gz) = 436b8e33514de67d6d680fe59ab9599a75a86caa7e63fbcd05297b12a435483ec0c9ca90557fe23f25590a24e533294915fc18a665fd5cdb77fcc3a05a9076bf From 2abcdf63daffd0a6063161d14c019dfb0c23ecf0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 20:15:09 +0000 Subject: [PATCH 58/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 50bd1e0..93e5b2b 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 Version: 4.9.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -151,6 +151,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 1:4.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Thu Jun 10 2021 Gabriel Féron - 1:4.9.1-1 - Update to 4.9.1 From 2993aeb449155839d870cc250991929e309ba551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Mon, 16 Aug 2021 12:10:16 +0200 Subject: [PATCH 59/89] Update to 4.10.0 --- cura-9702.patch | 25 ------------------------- cura.spec | 10 +++++----- sources | 2 +- 3 files changed, 6 insertions(+), 31 deletions(-) delete mode 100644 cura-9702.patch diff --git a/cura-9702.patch b/cura-9702.patch deleted file mode 100644 index e45a4ae..0000000 --- a/cura-9702.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e26cf6f8102b5d7010a74b9257007d34e70b9ea8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= -Date: Mon, 26 Apr 2021 11:07:11 +0200 -Subject: [PATCH] Fix test_wrongServerResponses - ---- - tests/TestOAuth2.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py -index 6b7e28917..731a31690 100644 ---- a/tests/TestOAuth2.py -+++ b/tests/TestOAuth2.py -@@ -46,7 +46,7 @@ NO_REFRESH_AUTH_RESPONSE = AuthenticationResponse( - success = True - ) - --MALFORMED_AUTH_RESPONSE = AuthenticationResponse() -+MALFORMED_AUTH_RESPONSE = AuthenticationResponse(success=False) - - - def test_cleanAuthService() -> None: --- -2.31.1 - diff --git a/cura.spec b/cura.spec index 93e5b2b..181b3da 100644 --- a/cura.spec +++ b/cura.spec @@ -1,7 +1,7 @@ Name: cura Epoch: 1 -Version: 4.9.1 -Release: 2%{?dist} +Version: 4.10.0 +Release: 1%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -10,9 +10,6 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# https://github.com/Ultimaker/Cura/pull/9702 -Patch0: %{name}-9702.patch - BuildArch: noarch BuildRequires: cmake @@ -151,6 +148,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Mon Aug 16 2021 Gabriel Féron - 4.10.0-1 +- Update to 4.10.0 + * Wed Jul 21 2021 Fedora Release Engineering - 1:4.9.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index 8c56b27..d510495 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.9.1.tar.gz) = 436b8e33514de67d6d680fe59ab9599a75a86caa7e63fbcd05297b12a435483ec0c9ca90557fe23f25590a24e533294915fc18a665fd5cdb77fcc3a05a9076bf +SHA512 (cura-4.10.0.tar.gz) = 8943fffa70acaf139c714d698588df4a503951adac70d130eaa7795040eaf6bb823fae53f9ee1adc3c2dab1e86ebe5cfe40ba5acb63d954ee97bfd7bfe134426 From ce07b1dbb007a9ad431e56fc7d39512dfb7cff0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Thu, 16 Sep 2021 00:00:50 +0200 Subject: [PATCH 60/89] Update to 4.11.0 --- cura.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cura.spec b/cura.spec index 181b3da..347212d 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,6 @@ Name: cura Epoch: 1 -Version: 4.10.0 +Version: 4.11.0 Release: 1%{?dist} Summary: 3D printer / slicing GUI diff --git a/sources b/sources index d510495..37d2999 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.10.0.tar.gz) = 8943fffa70acaf139c714d698588df4a503951adac70d130eaa7795040eaf6bb823fae53f9ee1adc3c2dab1e86ebe5cfe40ba5acb63d954ee97bfd7bfe134426 +SHA512 (cura-4.11.0.tar.gz) = 39ca06047123a08e7e00a9c89f96fce2da2aad2e6c4a937bed8fb668602dc37c02fe8db5d0e653d180f2c84c8b2561631a3942ebfaf17deaf7f1fbe771aed164 From e95f254b575b1686d9f532267af068dd5927a797 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Mon, 13 Dec 2021 09:53:50 +0100 Subject: [PATCH 61/89] Update to 4.12.1 --- cura.spec | 11 +++++++++-- sources | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/cura.spec b/cura.spec index 347212d..72ebd26 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,10 @@ +%global major_minor_version 4.12 +%global next_major_minor_version 4.13 +%global patch_version 1 + Name: cura Epoch: 1 -Version: 4.11.0 +Version: %{major_minor_version}.%{patch_version} Release: 1%{?dist} Summary: 3D printer / slicing GUI @@ -41,7 +45,7 @@ Requires: python3-zeroconf Requires: qt5-qtquickcontrols Requires: qt5-qtquickcontrols2 Requires: CuraEngine == %{epoch}:%{version} -Requires: cura-fdm-materials == %{version} +Requires: (cura-fdm-materials >= %{major_minor_version} with cura-fdm-materials < %{next_major_minor_version}) # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1494278 Requires: libglvnd-devel @@ -148,6 +152,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Mon Dec 13 2021 Gabriel Féron - 4.12.1-1 +- Update to 4.12.1 + * Mon Aug 16 2021 Gabriel Féron - 4.10.0-1 - Update to 4.10.0 diff --git a/sources b/sources index 37d2999..a3ed8d7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.11.0.tar.gz) = 39ca06047123a08e7e00a9c89f96fce2da2aad2e6c4a937bed8fb668602dc37c02fe8db5d0e653d180f2c84c8b2561631a3942ebfaf17deaf7f1fbe771aed164 +SHA512 (cura-4.12.1.tar.gz) = 397048e1ed93d2e3ec326a3b0564db2b6ee2b239843346e2dd44470b11b5aea86f3f519534270789e020261c87a0100bf3bba39ddbd3a1d8be0e38e68fd7e0c0 From 18391ffb3e94af12f47572b729adbd149476be9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Sun, 2 Jan 2022 13:55:49 +0100 Subject: [PATCH 62/89] Python 3.10 int/float fix, GitHub issue #10785 --- cura.spec | 10 +++++++++- e0e227404f.patch | 28 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 e0e227404f.patch diff --git a/cura.spec b/cura.spec index 72ebd26..48991b4 100644 --- a/cura.spec +++ b/cura.spec @@ -5,7 +5,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -14,6 +14,11 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +# Cast pixels to integers, for Python 3.10+ +# https://github.com/Ultimaker/Cura/issues/10785 +# Merged upstream, can be removed starting with 4.13 +Patch1: https://github.com/Ultimaker/Cura/commit/e0e227404f.patch + BuildArch: noarch BuildRequires: cmake @@ -152,6 +157,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Sun Jan 02 2022 Gabriel Féron - 1:4.12.1-2 +- Backport fix for Python 3.10 + * Mon Dec 13 2021 Gabriel Féron - 4.12.1-1 - Update to 4.12.1 diff --git a/e0e227404f.patch b/e0e227404f.patch new file mode 100644 index 0000000..3fc19bc --- /dev/null +++ b/e0e227404f.patch @@ -0,0 +1,28 @@ +From e0e227404f90d4d9d4e85612e9560b0843dec4e2 Mon Sep 17 00:00:00 2001 +From: Karl Nilsson +Date: Thu, 18 Nov 2021 11:36:20 +0100 +Subject: [PATCH] Fix picking pixel on integer indices + +The QImage.pixel() function should only get integers. +In theory an input position of -2,-2 would get rounded to 0 now. However that shouldn't occur because the user can't click outside of the window. And if it does occur, it's not really a problem either that it's theoretically picking a position inside of the window when you click slightly next to it. + +Fixes #10785. +--- + cura/PickingPass.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cura/PickingPass.py b/cura/PickingPass.py +index 54e886fe62a..4d6ef671df8 100644 +--- a/cura/PickingPass.py ++++ b/cura/PickingPass.py +@@ -72,8 +72,8 @@ def getPickedDepth(self, x: int, y: int) -> float: + + window_size = self._renderer.getWindowSize() + +- px = (0.5 + x / 2.0) * window_size[0] +- py = (0.5 + y / 2.0) * window_size[1] ++ px = int((0.5 + x / 2.0) * window_size[0]) ++ py = int((0.5 + y / 2.0) * window_size[1]) + + if px < 0 or px > (output.width() - 1) or py < 0 or py > (output.height() - 1): + return -1 From 05ce9a5d346fb14ebe13b6e3953aeaa289d4dc83 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 20 Jan 2022 00:08:09 +0000 Subject: [PATCH 63/89] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 48991b4..87ae744 100644 --- a/cura.spec +++ b/cura.spec @@ -5,7 +5,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -157,6 +157,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Thu Jan 20 2022 Fedora Release Engineering - 1:4.12.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Sun Jan 02 2022 Gabriel Féron - 1:4.12.1-2 - Backport fix for Python 3.10 From 4a6409ff145e60febdb95ab3f55e2e9c89f03e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 11 Jan 2022 20:59:08 +0100 Subject: [PATCH 64/89] Update to 4.13.0 --- aad4180.patch | 22 ++++++++++++++++++++++ cura.spec | 21 ++++++++++----------- e0e227404f.patch | 28 ---------------------------- 3 files changed, 32 insertions(+), 39 deletions(-) create mode 100644 aad4180.patch delete mode 100644 e0e227404f.patch diff --git a/aad4180.patch b/aad4180.patch new file mode 100644 index 0000000..30d2297 --- /dev/null +++ b/aad4180.patch @@ -0,0 +1,22 @@ +From aad41807c365ccef001b787407d7dc756e11de02 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= +Date: Tue, 11 Jan 2022 20:28:41 +0100 +Subject: [PATCH] Remove unused import of sentry_sdk + +--- + cura/CrashHandler.py | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/cura/CrashHandler.py b/cura/CrashHandler.py +index c911a423504..35e9aa832be 100644 +--- a/cura/CrashHandler.py ++++ b/cura/CrashHandler.py +@@ -12,8 +12,6 @@ + import locale + from typing import cast, Any + +-import sentry_sdk +- + try: + from sentry_sdk.hub import Hub + from sentry_sdk.utils import event_from_exception diff --git a/cura.spec b/cura.spec index 87ae744..328cc8e 100644 --- a/cura.spec +++ b/cura.spec @@ -1,11 +1,7 @@ -%global major_minor_version 4.12 -%global next_major_minor_version 4.13 -%global patch_version 1 - Name: cura Epoch: 1 -Version: %{major_minor_version}.%{patch_version} -Release: 3%{?dist} +Version: 4.13.0 +Release: 1%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -14,10 +10,9 @@ License: LGPLv3+ URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# Cast pixels to integers, for Python 3.10+ -# https://github.com/Ultimaker/Cura/issues/10785 -# Merged upstream, can be removed starting with 4.13 -Patch1: https://github.com/Ultimaker/Cura/commit/e0e227404f.patch +# Fixes wrong import +# Can be removed when https://github.com/Ultimaker/Cura/pull/11246 is merged +Patch0: https://github.com/Ultimaker/Cura/commit/aad4180.patch BuildArch: noarch @@ -44,13 +39,14 @@ Requires: python3-keyring Requires: python3-pyserial Requires: python3-pynest2d Requires: python3-requests +Requires: python3-charon >= 4.10 Requires: python3-savitar == %{version} Requires: python3-uranium == %{version} Requires: python3-zeroconf Requires: qt5-qtquickcontrols Requires: qt5-qtquickcontrols2 Requires: CuraEngine == %{epoch}:%{version} -Requires: (cura-fdm-materials >= %{major_minor_version} with cura-fdm-materials < %{next_major_minor_version}) +Requires: cura-fdm-materials >= %{version} # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1494278 Requires: libglvnd-devel @@ -157,6 +153,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Thu Jan 20 2022 Gabriel Féron - 4.13.0-1 +- Update to 4.13.0 + * Thu Jan 20 2022 Fedora Release Engineering - 1:4.12.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/e0e227404f.patch b/e0e227404f.patch deleted file mode 100644 index 3fc19bc..0000000 --- a/e0e227404f.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e0e227404f90d4d9d4e85612e9560b0843dec4e2 Mon Sep 17 00:00:00 2001 -From: Karl Nilsson -Date: Thu, 18 Nov 2021 11:36:20 +0100 -Subject: [PATCH] Fix picking pixel on integer indices - -The QImage.pixel() function should only get integers. -In theory an input position of -2,-2 would get rounded to 0 now. However that shouldn't occur because the user can't click outside of the window. And if it does occur, it's not really a problem either that it's theoretically picking a position inside of the window when you click slightly next to it. - -Fixes #10785. ---- - cura/PickingPass.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/cura/PickingPass.py b/cura/PickingPass.py -index 54e886fe62a..4d6ef671df8 100644 ---- a/cura/PickingPass.py -+++ b/cura/PickingPass.py -@@ -72,8 +72,8 @@ def getPickedDepth(self, x: int, y: int) -> float: - - window_size = self._renderer.getWindowSize() - -- px = (0.5 + x / 2.0) * window_size[0] -- py = (0.5 + y / 2.0) * window_size[1] -+ px = int((0.5 + x / 2.0) * window_size[0]) -+ py = int((0.5 + y / 2.0) * window_size[1]) - - if px < 0 or px > (output.width() - 1) or py < 0 or py > (output.height() - 1): - return -1 From abdc2ce137906d079e4a5703c1fb0e3142a2f4a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 11 Jan 2022 21:00:11 +0100 Subject: [PATCH 65/89] Add missing epoch in changelog entries --- cura.spec | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/cura.spec b/cura.spec index 328cc8e..21837f4 100644 --- a/cura.spec +++ b/cura.spec @@ -153,7 +153,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog -* Thu Jan 20 2022 Gabriel Féron - 4.13.0-1 +* Thu Jan 20 2022 Gabriel Féron - 1:4.13.0-1 - Update to 4.13.0 * Thu Jan 20 2022 Fedora Release Engineering - 1:4.12.1-3 @@ -162,10 +162,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d * Sun Jan 02 2022 Gabriel Féron - 1:4.12.1-2 - Backport fix for Python 3.10 -* Mon Dec 13 2021 Gabriel Féron - 4.12.1-1 +* Mon Dec 13 2021 Gabriel Féron - 1:4.12.1-1 - Update to 4.12.1 -* Mon Aug 16 2021 Gabriel Féron - 4.10.0-1 +* Mon Aug 16 2021 Gabriel Féron - 1:4.10.0-1 - Update to 4.10.0 * Wed Jul 21 2021 Fedora Release Engineering - 1:4.9.1-2 @@ -177,7 +177,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d * Fri Jun 04 2021 Python Maint - 1:4.9.0-2 - Rebuilt for Python 3.10 -* Mon Apr 26 2021 Gabriel Féron - 4.9.0-1 +* Mon Apr 26 2021 Gabriel Féron - 1:4.9.0-1 - Update to 4.9.0 * Mon Mar 22 2021 Miro Hrončok - 1:4.8.0-3 @@ -193,7 +193,7 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d * Thu Sep 03 2020 Miro Hrončok - 1:4.7.1-1 - Update to 4.7.1 -* Mon Aug 31 2020 Gabriel Féron - 4.7.0-1 +* Mon Aug 31 2020 Gabriel Féron - 1:4.7.0-1 - Update to 4.7.0 * Mon Jul 27 2020 Fedora Release Engineering - 1:4.6.1-3 @@ -202,16 +202,16 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d * Tue May 26 2020 Miro Hrončok - 1:4.6.1-2 - Rebuilt for Python 3.9 -* Tue May 5 2020 Gabriel Féron - 4.6.0-1 +* Tue May 5 2020 Gabriel Féron - 1:4.6.0-1 - Update to 4.6.1 -* Tue Apr 21 2020 Gabriel Féron - 4.6.0-1 +* Tue Apr 21 2020 Gabriel Féron - 1:4.6.0-1 - Update to 4.6.0 * Tue Jan 28 2020 Fedora Release Engineering - 1:4.4.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild -* Thu Nov 21 2019 Gabriel Féron - 4.4.0-1 +* Thu Nov 21 2019 Gabriel Féron - 1:4.4.0-1 - Update to 4.4.0 - Force X11 to workaround invisible window on Wayland @@ -224,10 +224,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d * Wed Jul 24 2019 Fedora Release Engineering - 1:4.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild -* Tue Jun 18 2019 Gabriel Féron - 4.1.0-1 +* Tue Jun 18 2019 Gabriel Féron - 1:4.1.0-1 - Update to 4.1.0 -* Thu Apr 04 2019 Gabriel Féron - 4.0.0-1 +* Thu Apr 04 2019 Gabriel Féron - 1:4.0.0-1 - Update to 4.0.0 * Thu Jan 31 2019 Fedora Release Engineering - 1:3.6.0-2 From 74ff62b3b2e5fd7bd743e8c52820122cbf0c5386 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Tue, 1 Feb 2022 11:09:18 +0100 Subject: [PATCH 66/89] Update to 4.13.1 --- cura.spec | 14 +++++++++++--- sources | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/cura.spec b/cura.spec index 21837f4..be974a8 100644 --- a/cura.spec +++ b/cura.spec @@ -1,6 +1,9 @@ +%global major_minor_version 4.13 +%global patch_version 1 + Name: cura Epoch: 1 -Version: 4.13.0 +Version: %{major_minor_version}.%{patch_version} Release: 1%{?dist} Summary: 3D printer / slicing GUI @@ -39,14 +42,13 @@ Requires: python3-keyring Requires: python3-pyserial Requires: python3-pynest2d Requires: python3-requests -Requires: python3-charon >= 4.10 Requires: python3-savitar == %{version} Requires: python3-uranium == %{version} Requires: python3-zeroconf Requires: qt5-qtquickcontrols Requires: qt5-qtquickcontrols2 Requires: CuraEngine == %{epoch}:%{version} -Requires: cura-fdm-materials >= %{version} +Requires: cura-fdm-materials >= %{major_minor_version} # Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1494278 Requires: libglvnd-devel @@ -123,6 +125,9 @@ popd rm -rf %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts/ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts +# Remove failing plugins +rm -r %{buildroot}%{_prefix}/lib/cura/plugins/{UFPReader,UFPWriter} + # Bytecompile the plugins %py_byte_compile %{__python3} %{buildroot}%{_prefix}/lib/cura @@ -153,6 +158,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Tue Feb 01 2022 Gabriel Féron - 1:4.13.1-1 +- Update to 4.13.1 + * Thu Jan 20 2022 Gabriel Féron - 1:4.13.0-1 - Update to 4.13.0 diff --git a/sources b/sources index a3ed8d7..d9421a2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.12.1.tar.gz) = 397048e1ed93d2e3ec326a3b0564db2b6ee2b239843346e2dd44470b11b5aea86f3f519534270789e020261c87a0100bf3bba39ddbd3a1d8be0e38e68fd7e0c0 +SHA512 (cura-4.13.1.tar.gz) = 6483fd6312bd2181cc812bce78aadc7e8532ecf292f09c75ce5e7870f7efddd63e84315ab40eb73c775b15c2ed2ce7fc804fcbefb73b3d8aaac77d8b22f0cbd0 From 09e47bc370e737e4033112c953f44a618a4805de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= Date: Wed, 2 Feb 2022 22:54:48 +0100 Subject: [PATCH 67/89] Remove SentryLogger plugin to avoid error on startup --- 028e7f7.patch | 35 +++++++++++++++++++++++++++++++++++ cura.spec | 10 ++++++++-- 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 028e7f7.patch diff --git a/028e7f7.patch b/028e7f7.patch new file mode 100644 index 0000000..5d61daa --- /dev/null +++ b/028e7f7.patch @@ -0,0 +1,35 @@ +From 028e7f7c4e6a2d3c93d179f4701111713c34cef3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Gabriel=20F=C3=A9ron?= +Date: Wed, 2 Feb 2022 22:43:23 +0100 +Subject: [PATCH] Remove SentryLogger + +--- + cura/CuraApplication.py | 3 --- + plugins/Cura-OctoPrintPlugin | 1 + + 2 files changed, 1 insertion(+), 3 deletions(-) + create mode 160000 plugins/Cura-OctoPrintPlugin + +diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py +index bf60da374b..146db339c9 100755 +--- a/cura/CuraApplication.py ++++ b/cura/CuraApplication.py +@@ -782,9 +782,6 @@ class CuraApplication(QtApplication): + self._plugin_registry.addPluginLocation(os.path.join(os.path.abspath(os.path.dirname(__file__)), "..", "plugins")) + self._plugin_registry.preloaded_plugins.append("ConsoleLogger") + +- # Since it's possible to get crashes in code before the sentrylogger is loaded, we want to start this plugin +- # as quickly as possible, as we might get unsolvable crash reports without it. +- self._plugin_registry.preloaded_plugins.append("SentryLogger") + self._plugin_registry.loadPlugins() + + if self.getBackend() is None: +diff --git a/plugins/Cura-OctoPrintPlugin b/plugins/Cura-OctoPrintPlugin +new file mode 160000 +index 0000000000..7bd73946fb +--- /dev/null ++++ b/plugins/Cura-OctoPrintPlugin +@@ -0,0 +1 @@ ++Subproject commit 7bd73946fbf22d18337dc900a81a011ece26bee0 +-- +2.34.1 + diff --git a/cura.spec b/cura.spec index be974a8..c63a4f1 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -17,6 +17,9 @@ Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{n # Can be removed when https://github.com/Ultimaker/Cura/pull/11246 is merged Patch0: https://github.com/Ultimaker/Cura/commit/aad4180.patch +# Skip forced loading SentryLogger to avoid an error on startup +Patch1: 028e7f7.patch + BuildArch: noarch BuildRequires: cmake @@ -126,7 +129,7 @@ rm -rf %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts/ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/themes/cura-light/fonts # Remove failing plugins -rm -r %{buildroot}%{_prefix}/lib/cura/plugins/{UFPReader,UFPWriter} +rm -r %{buildroot}%{_prefix}/lib/cura/plugins/{SentryLogger,UFPReader,UFPWriter} # Bytecompile the plugins %py_byte_compile %{__python3} %{buildroot}%{_prefix}/lib/cura @@ -158,6 +161,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Wed Feb 02 2022 Gabriel Féron - 1:4.13.1-2 +- Fix error loading SentryLogger plugin + * Tue Feb 01 2022 Gabriel Féron - 1:4.13.1-1 - Update to 4.13.1 From 07a31e1799b6cfbfda4cccf98b63aacc3a9c3587 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 17 Jun 2022 13:42:01 +0200 Subject: [PATCH 68/89] Rebuilt for Python 3.11 --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index c63a4f1..8e1efaf 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -161,6 +161,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Fri Jun 17 2022 Python Maint - 1:4.13.1-3 +- Rebuilt for Python 3.11 + * Wed Feb 02 2022 Gabriel Féron - 1:4.13.1-2 - Fix error loading SentryLogger plugin From 12e0239599cb4b3829050cc0ce85f6342cc53a43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 18 Jul 2022 14:44:55 +0200 Subject: [PATCH 69/89] https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval --- cura.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cura.spec b/cura.spec index 8e1efaf..84f9cd7 100644 --- a/cura.spec +++ b/cura.spec @@ -22,6 +22,11 @@ Patch1: 028e7f7.patch BuildArch: noarch +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10 +ExcludeArch: %{ix86} +%endif + BuildRequires: cmake BuildRequires: gcc BuildRequires: gcc-c++ From 16f012aa4ca8106f42e7ae74da2e4d1e869d1f35 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 23:53:57 +0000 Subject: [PATCH 70/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 84f9cd7..f9f0f5d 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 3%{?dist} +Release: 4%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -166,6 +166,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 1:4.13.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Fri Jun 17 2022 Python Maint - 1:4.13.1-3 - Rebuilt for Python 3.11 From c76efbe7de511159746e00dbfddea22ac7dfb519 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 22 Aug 2022 16:40:51 +0200 Subject: [PATCH 71/89] Use the default flags for Python in the shebang of /usr/bin/cura Fixes: https://bugzilla.redhat.com/2117729 --- cura.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index f9f0f5d..206e5b9 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 4%{?dist} +Release: 5%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -139,6 +139,9 @@ rm -r %{buildroot}%{_prefix}/lib/cura/plugins/{SentryLogger,UFPReader,UFPWriter} # Bytecompile the plugins %py_byte_compile %{__python3} %{buildroot}%{_prefix}/lib/cura +# Use the default flags in the shebang +%py3_shebang_fix %{buildroot}%{_bindir}/* + %find_lang cura %find_lang fdmextruder.def.json %find_lang fdmprinter.def.json @@ -166,6 +169,10 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Mon Aug 22 2022 Miro Hrončok - 1:4.13.1-5 +- Use the default flags for Python in the shebang of /usr/bin/cura +- Fixes: rhbz#2117729 + * Wed Jul 20 2022 Fedora Release Engineering - 1:4.13.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From ff0725122d584ad7716962604d0df4a8120f785d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 19 Jan 2023 00:50:10 +0000 Subject: [PATCH 72/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 206e5b9..5d140be 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 5%{?dist} +Release: 6%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -169,6 +169,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Thu Jan 19 2023 Fedora Release Engineering - 1:4.13.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Mon Aug 22 2022 Miro Hrončok - 1:4.13.1-5 - Use the default flags for Python in the shebang of /usr/bin/cura - Fixes: rhbz#2117729 From dc054568d26f27759a8a29df85f4e53d5f5293b2 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Thu, 9 Mar 2023 13:00:42 -0500 Subject: [PATCH 73/89] 5.3.0 --- CMakeLists.txt | 103 ++++++++++++++++++++++++++++++++ CuraPluginInstall.cmake | 105 +++++++++++++++++++++++++++++++++ CuraTests.cmake | 83 ++++++++++++++++++++++++++ CuraVersion.py.in | 14 +++++ com.ultimaker.cura.appdata.xml | 33 +++++++++++ com.ultimaker.cura.desktop.in | 19 ++++++ cura.spec | 47 +++++++++++---- mod_bundled_packages_json.py | 73 +++++++++++++++++++++++ sources | 2 +- 9 files changed, 465 insertions(+), 14 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 CuraPluginInstall.cmake create mode 100644 CuraTests.cmake create mode 100644 CuraVersion.py.in create mode 100644 com.ultimaker.cura.appdata.xml create mode 100644 com.ultimaker.cura.desktop.in create mode 100755 mod_bundled_packages_json.py diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..7846e21 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,103 @@ +project(cura) +cmake_minimum_required(VERSION 3.6) + +include(GNUInstallDirs) + +list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake) + +set(URANIUM_DIR "${CMAKE_SOURCE_DIR}/../Uranium" CACHE PATH "The location of the Uranium repository") +set(URANIUM_SCRIPTS_DIR "${URANIUM_DIR}/scripts" CACHE PATH "The location of the scripts directory of the Uranium repository") + +# Tests +include(CuraTests) + +option(CURA_DEBUGMODE "Enable debug dialog and other debug features" OFF) +if(CURA_DEBUGMODE) + set(_cura_debugmode "ON") +endif() + +option(GENERATE_TRANSLATIONS "Should the translations be generated?" ON) + +set(CURA_APP_NAME "cura" CACHE STRING "Short name of Cura, used for configuration folder") +set(CURA_APP_DISPLAY_NAME "Ultimaker Cura" CACHE STRING "Display name of Cura") +set(CURA_VERSION "master" CACHE STRING "Version name of Cura") +set(CURA_BUILDTYPE "" CACHE STRING "Build type of Cura, eg. 'PPA'") +set(CURA_CLOUD_API_ROOT "" CACHE STRING "Alternative Cura cloud API root") +set(CURA_CLOUD_API_VERSION "" CACHE STRING "Alternative Cura cloud API version") +set(CURA_CLOUD_ACCOUNT_API_ROOT "" CACHE STRING "Alternative Cura cloud account API version") +set(CURA_MARKETPLACE_ROOT "" CACHE STRING "Alternative Marketplace location") +set(CURA_DIGITAL_FACTORY_URL "" CACHE STRING "Alternative Digital Factory location") + +configure_file(${CMAKE_SOURCE_DIR}/com.ultimaker.cura.desktop.in ${CMAKE_BINARY_DIR}/com.ultimaker.cura.desktop @ONLY) + +configure_file(cura/CuraVersion.py.in CuraVersion.py @ONLY) + + +# FIXME: The new FindPython3 finds the system's Python3.6 rather than the Python3.5 that we built for Cura's environment. +# So we're using the old method here, with FindPythonInterp for now. +find_package(PythonInterp 3 REQUIRED) + +set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE}) + +set(Python3_VERSION ${PYTHON_VERSION_STRING}) +set(Python3_VERSION_MAJOR ${PYTHON_VERSION_MAJOR}) +set(Python3_VERSION_MINOR ${PYTHON_VERSION_MINOR}) +set(Python3_VERSION_PATCH ${PYTHON_VERSION_PATCH}) + +if(NOT ${URANIUM_DIR} STREQUAL "") + set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${URANIUM_DIR}/cmake") +endif() +if(NOT ${URANIUM_SCRIPTS_DIR} STREQUAL "") + list(APPEND CMAKE_MODULE_PATH ${URANIUM_DIR}/cmake) + include(UraniumTranslationTools) + # Extract Strings + add_custom_target(extract-messages ${URANIUM_SCRIPTS_DIR}/extract-messages ${CMAKE_SOURCE_DIR} cura) + # Build Translations + if(${GENERATE_TRANSLATIONS}) + CREATE_TRANSLATION_TARGETS() + endif() +endif() + + +install(DIRECTORY resources + DESTINATION ${CMAKE_INSTALL_DATADIR}/cura) + +include(CuraPluginInstall) + +if(NOT APPLE AND NOT WIN32) + install(FILES cura_app.py + DESTINATION ${CMAKE_INSTALL_BINDIR} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE + RENAME cura) + if(EXISTS /etc/debian_version) + install(DIRECTORY cura + DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}/dist-packages + FILES_MATCHING PATTERN *.py) + install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py + DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}/dist-packages/cura) + else() + install(DIRECTORY cura + DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages + FILES_MATCHING PATTERN *.py) + install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py + DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/cura) + endif() + install(FILES ${CMAKE_BINARY_DIR}/com.ultimaker.cura.desktop + DESTINATION ${CMAKE_INSTALL_DATADIR}/applications) + install(FILES ${CMAKE_SOURCE_DIR}/resources/images/cura-icon.png + DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps/) + install(FILES com.ultimaker.cura.appdata.xml + DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo) + install(FILES cura.sharedmimeinfo + DESTINATION ${CMAKE_INSTALL_DATADIR}/mime/packages/ + RENAME cura.xml ) +else() + install(FILES cura_app.py + DESTINATION ${CMAKE_INSTALL_BINDIR} + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + install(DIRECTORY cura + DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages + FILES_MATCHING PATTERN *.py) + install(FILES ${CMAKE_BINARY_DIR}/CuraVersion.py + DESTINATION lib${LIB_SUFFIX}/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages/cura) +endif() diff --git a/CuraPluginInstall.cmake b/CuraPluginInstall.cmake new file mode 100644 index 0000000..8d9efe1 --- /dev/null +++ b/CuraPluginInstall.cmake @@ -0,0 +1,105 @@ +# Copyright (c) 2019 Ultimaker B.V. +# CuraPluginInstall.cmake is released under the terms of the LGPLv3 or higher. + +# +# This module detects all plugins that need to be installed and adds them using the CMake install() command. +# It detects all plugin folder in the path "plugins/*" where there's a "plugin.json" in it. +# +# Plugins can be configured to NOT BE INSTALLED via the variable "CURA_NO_INSTALL_PLUGINS" as a list of string in the +# form of "a;b;c" or "a,b,c". By default all plugins will be installed. +# + +option(PRINT_PLUGIN_LIST "Should the list of plugins that are installed be printed?" ON) + +# FIXME: Remove the code for CMake <3.12 once we have switched over completely. +# FindPython3 is a new module since CMake 3.12. It deprecates FindPythonInterp and FindPythonLibs. The FindPython3 +# module is copied from the CMake repository here so in CMake <3.12 we can still use it. +if(${CMAKE_VERSION} VERSION_LESS 3.12) + # Use FindPythonInterp and FindPythonLibs for CMake <3.12 + find_package(PythonInterp 3 REQUIRED) + + set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE}) +else() + # Use FindPython3 for CMake >=3.12 + find_package(Python3 REQUIRED COMPONENTS Interpreter) +endif() + +# Options or configuration variables +set(CURA_NO_INSTALL_PLUGINS "" CACHE STRING "A list of plugins that should not be installed, separated with ';' or ','.") + +file(GLOB_RECURSE _plugin_json_list ${CMAKE_SOURCE_DIR}/plugins/*/plugin.json) +list(LENGTH _plugin_json_list _plugin_json_list_len) + +# Sort the lists alphabetically so we can handle cases like this: +# - plugins/my_plugin/plugin.json +# - plugins/my_plugin/my_module/plugin.json +# In this case, only "plugins/my_plugin" should be added via install(). +set(_no_install_plugin_list ${CURA_NO_INSTALL_PLUGINS}) +# Sanitize the string so the comparison will be case-insensitive. +string(STRIP "${_no_install_plugin_list}" _no_install_plugin_list) +string(TOLOWER "${_no_install_plugin_list}" _no_install_plugin_list) + +# WORKAROUND counterpart of what's in cura-build. +string(REPLACE "," ";" _no_install_plugin_list "${_no_install_plugin_list}") + +list(LENGTH _no_install_plugin_list _no_install_plugin_list_len) + +if(_no_install_plugin_list_len GREATER 0) + list(SORT _no_install_plugin_list) +endif() +if(_plugin_json_list_len GREATER 0) + list(SORT _plugin_json_list) +endif() + +# Check all plugin directories and add them via install() if needed. +set(_install_plugin_list "") +foreach(_plugin_json_path ${_plugin_json_list}) + get_filename_component(_plugin_dir ${_plugin_json_path} DIRECTORY) + file(RELATIVE_PATH _rel_plugin_dir ${CMAKE_CURRENT_SOURCE_DIR} ${_plugin_dir}) + get_filename_component(_plugin_dir_name ${_plugin_dir} NAME) + + # Make plugin name comparison case-insensitive + string(TOLOWER "${_plugin_dir_name}" _plugin_dir_name_lowercase) + + # Check if this plugin needs to be skipped for installation + set(_add_plugin ON) # Indicates if this plugin should be added to the build or not. + set(_is_no_install_plugin OFF) # If this plugin will not be added, this indicates if it's because the plugin is + # specified in the NO_INSTALL_PLUGINS list. + if(_no_install_plugin_list) + if("${_plugin_dir_name_lowercase}" IN_LIST _no_install_plugin_list) + set(_add_plugin OFF) + set(_is_no_install_plugin ON) + endif() + endif() + + # Make sure this is not a subdirectory in a plugin that's already in the install list + if(_add_plugin) + foreach(_known_install_plugin_dir ${_install_plugin_list}) + if(_plugin_dir MATCHES "${_known_install_plugin_dir}.+") + set(_add_plugin OFF) + break() + endif() + endforeach() + endif() + + if(_add_plugin) + if(${PRINT_PLUGIN_LIST}) + message(STATUS "[+] PLUGIN TO INSTALL: ${_rel_plugin_dir}") + endif() + get_filename_component(_rel_plugin_parent_dir ${_rel_plugin_dir} DIRECTORY) + install(DIRECTORY ${_rel_plugin_dir} + DESTINATION lib${LIB_SUFFIX}/cura/${_rel_plugin_parent_dir} + PATTERN "__pycache__" EXCLUDE + PATTERN "*.qmlc" EXCLUDE + ) + list(APPEND _install_plugin_list ${_plugin_dir}) + elseif(_is_no_install_plugin) + if(${PRINT_PLUGIN_LIST}) + message(STATUS "[-] PLUGIN TO REMOVE : ${_rel_plugin_dir}") + endif() + execute_process(COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/mod_bundled_packages_json.py + -d ${CMAKE_CURRENT_SOURCE_DIR}/resources/bundled_packages + ${_plugin_dir_name} + RESULT_VARIABLE _mod_json_result) + endif() +endforeach() diff --git a/CuraTests.cmake b/CuraTests.cmake new file mode 100644 index 0000000..b8127a7 --- /dev/null +++ b/CuraTests.cmake @@ -0,0 +1,83 @@ +# Copyright (c) 2018 Ultimaker B.V. +# Cura is released under the terms of the LGPLv3 or higher. + +include(CTest) +include(CMakeParseArguments) + +# FIXME: The new FindPython3 finds the system's Python3.6 rather than the Python3.5 that we built for Cura's environment. +# So we're using the old method here, with FindPythonInterp for now. +find_package(PythonInterp 3 REQUIRED) + +set(Python3_EXECUTABLE ${PYTHON_EXECUTABLE}) + +add_custom_target(test-verbose COMMAND ${CMAKE_CTEST_COMMAND} --verbose) + +function(cura_add_test) + set(_single_args NAME DIRECTORY PYTHONPATH) + cmake_parse_arguments("" "" "${_single_args}" "" ${ARGN}) + + if(NOT _NAME) + message(FATAL_ERROR "cura_add_test requires a test name argument") + endif() + + if(NOT _DIRECTORY) + message(FATAL_ERROR "cura_add_test requires a directory to test") + endif() + + if(NOT _PYTHONPATH) + set(_PYTHONPATH ${_DIRECTORY}) + endif() + + if(WIN32) + string(REPLACE "|" "\\;" _PYTHONPATH ${_PYTHONPATH}) + set(_PYTHONPATH "${_PYTHONPATH}\\;$ENV{PYTHONPATH}") + else() + string(REPLACE "|" ":" _PYTHONPATH ${_PYTHONPATH}) + set(_PYTHONPATH "${_PYTHONPATH}:$ENV{PYTHONPATH}") + endif() + + get_test_property(${_NAME} ENVIRONMENT test_exists) #Find out if the test exists by getting a property from it that always exists (such as ENVIRONMENT because we set that ourselves). + if (NOT ${test_exists}) + add_test( + NAME ${_NAME} + COMMAND ${Python3_EXECUTABLE} -m pytest --junitxml=${CMAKE_BINARY_DIR}/junit-${_NAME}.xml ${_DIRECTORY} + ) + set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT LANG=C) + set_tests_properties(${_NAME} PROPERTIES ENVIRONMENT "PYTHONPATH=${_PYTHONPATH}") + else() + message(WARNING "Duplicate test ${_NAME}!") + endif() +endfunction() + + +#Add code style test. +add_test( + NAME "code-style" + COMMAND ${Python3_EXECUTABLE} run_mypy.py + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) + +#Add test for import statements which are not compatible with all builds +add_test( + NAME "invalid-imports" + COMMAND ${Python3_EXECUTABLE} scripts/check_invalid_imports.py + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) + +cura_add_test(NAME pytest-main DIRECTORY ${CMAKE_SOURCE_DIR}/tests PYTHONPATH "${CMAKE_SOURCE_DIR}|${URANIUM_DIR}") + +file(GLOB_RECURSE _plugins plugins/*/__init__.py) +foreach(_plugin ${_plugins}) + get_filename_component(_plugin_directory ${_plugin} DIRECTORY) + if(EXISTS ${_plugin_directory}/tests) + get_filename_component(_plugin_name ${_plugin_directory} NAME) + cura_add_test(NAME pytest-${_plugin_name} DIRECTORY ${_plugin_directory} PYTHONPATH "${_plugin_directory}|${CMAKE_SOURCE_DIR}|${URANIUM_DIR}") + endif() +endforeach() + +#Add test for whether the shortcut alt-keys are unique in every translation. +add_test( + NAME "shortcut-keys" + COMMAND ${Python3_EXECUTABLE} scripts/check_shortcut_keys.py + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} +) diff --git a/CuraVersion.py.in b/CuraVersion.py.in new file mode 100644 index 0000000..238a051 --- /dev/null +++ b/CuraVersion.py.in @@ -0,0 +1,14 @@ +# Copyright (c) 2022 Ultimaker +# Cura is released under the terms of the LGPLv3 or higher. + +CuraAppName = "@CURA_APP_NAME@" +CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@" +CuraVersion = "@CURA_VERSION@" +CuraBuildType = "@CURA_BUILDTYPE@" +CuraDebugMode = True if "@_cura_debugmode@" == "ON" else False +CuraCloudAPIRoot = "@CURA_CLOUD_API_ROOT@" +CuraCloudAPIVersion = "@CURA_CLOUD_API_VERSION@" +CuraCloudAccountAPIRoot = "@CURA_CLOUD_ACCOUNT_API_ROOT@" +CuraMarketplaceRoot = "@CURA_MARKETPLACE_ROOT@" +CuraDigitalFactoryURL = "@CURA_DIGITAL_FACTORY_URL@" +CuraLatestURL = "@CURA_LATEST_URL@" diff --git a/com.ultimaker.cura.appdata.xml b/com.ultimaker.cura.appdata.xml new file mode 100644 index 0000000..bdd25e5 --- /dev/null +++ b/com.ultimaker.cura.appdata.xml @@ -0,0 +1,33 @@ + + + + com.ultimaker.cura.desktop + CC0-1.0 + LGPL-3.0 and CC-BY-SA-4.0 + Cura + The world's most advanced 3d printer software + +

+ Cura creates a seamless integration between hardware, software and + materials for the best 3D printing experience around. + Cura supports the 3MF, OBJ and STL file formats and is available on + Windows, Mac and Linux. +

+
    +
  • Novices can start printing right away
  • +
  • Experts are able to customize 300 settings to achieve the best results
  • +
  • Optimized profiles for Ultimaker materials
  • +
  • Supported by a global network of Ultimaker certified service partners
  • +
  • Print multiple objects at once with different settings for each object
  • +
  • Cura supports STL, 3MF and OBJ file formats
  • +
  • Open source and completely free
  • +
+
+ + + https://raw.githubusercontent.com/Ultimaker/Cura/master/screenshot.png + + + https://ultimaker.com/software/ultimaker-cura?utm_source=cura&utm_medium=software&utm_campaign=cura-update-linux + Cura +
diff --git a/com.ultimaker.cura.desktop.in b/com.ultimaker.cura.desktop.in new file mode 100644 index 0000000..1e17e30 --- /dev/null +++ b/com.ultimaker.cura.desktop.in @@ -0,0 +1,19 @@ +[Desktop Entry] +Name=Ultimaker Cura +Name[de]=Ultimaker Cura +Name[nl]=Ultimaker Cura +GenericName=3D Printing Software +GenericName[de]=3D-Druck-Software +GenericName[nl]=3D-printsoftware +Comment=Cura converts 3D models into paths for a 3D printer. It prepares your print for maximum accuracy, minimum printing time and good reliability with many extra features that make your print come out great. +Comment[de]=Cura wandelt 3D-Modelle in Pfade für einen 3D-Drucker um. Es bereitet Ihren Druck für maximale Genauigkeit, minimale Druckzeit und guter Zuverlässigkeit mit vielen zusätzlichen Funktionen vor, damit Ihr Druck großartig wird. +Comment[nl]=Cura converteert 3D-modellen naar paden voor een 3D printer. Het bereidt je print voor om zeer precies, snel en betrouwbaar te kunnen printen, met veel extra functionaliteit om je print er goed uit te laten komen. +Exec=@CMAKE_INSTALL_FULL_BINDIR@/cura %F +TryExec=@CMAKE_INSTALL_FULL_BINDIR@/cura +Icon=cura-icon +Terminal=false +Type=Application +MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;image/bmp;image/gif;image/jpeg;image/png;text/x-gcode;application/x-amf;application/x-ply;application/x-ctm;model/vnd.collada+xml;model/gltf-binary;model/gltf+json;model/vnd.collada+xml+zip; +Categories=Graphics; +Keywords=3D;Printing;Slicer; +StartupWMClass=cura.real diff --git a/cura.spec b/cura.spec index 5d140be..7928ff3 100644 --- a/cura.spec +++ b/cura.spec @@ -1,24 +1,29 @@ -%global major_minor_version 4.13 -%global patch_version 1 +%global major_minor_version 5.3 +%global patch_version 0 Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 6%{?dist} +Release: 1%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ -License: LGPLv3+ +License: LGPL-3.0-or-later URL: https://ultimaker.com/en/products/cura-software Source0: https://github.com/Ultimaker/Cura/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# Fixes wrong import -# Can be removed when https://github.com/Ultimaker/Cura/pull/11246 is merged -Patch0: https://github.com/Ultimaker/Cura/commit/aad4180.patch +# Cmake bits taken from 4.13.1, before upstream went nuts with conan +Source2: mod_bundled_packages_json.py +Source3: CuraPluginInstall.cmake +Source4: CuraTests.cmake +Source5: com.ultimaker.cura.desktop.in +Source6: CMakeLists.txt +Source7: CuraVersion.py.in +Source8: com.ultimaker.cura.appdata.xml # Skip forced loading SentryLogger to avoid an error on startup -Patch1: 028e7f7.patch +Patch1: 028e7f7.patch BuildArch: noarch @@ -41,20 +46,23 @@ BuildRequires: python3-keyring BuildRequires: python3-pyserial BuildRequires: python3-pynest2d BuildRequires: python3-requests -BuildRequires: python3-savitar == %{version} +BuildRequires: python3-savitar >= 5.2.2 BuildRequires: python3-uranium == %{version} BuildRequires: python3-zeroconf Requires: open-sans-fonts +Requires: python3-certifi Requires: python3-keyring +Requires: python3-numpy-stl Requires: python3-pyserial Requires: python3-pynest2d Requires: python3-requests -Requires: python3-savitar == %{version} +Requires: python3-savitar >= 5.2.2 +Requires: python3-trimesh Requires: python3-uranium == %{version} Requires: python3-zeroconf -Requires: qt5-qtquickcontrols -Requires: qt5-qtquickcontrols2 +# Requires: qt5-qtquickcontrols +# Requires: qt5-qtquickcontrols2 Requires: CuraEngine == %{epoch}:%{version} Requires: cura-fdm-materials >= %{major_minor_version} @@ -90,6 +98,12 @@ needs. As it's open source, our community helps enrich it even more. %prep %autosetup -p1 -S git -n Cura-%{version} +mkdir cmake +cp -a %{SOURCE2} %{SOURCE3} %{SOURCE4} cmake +rm -rf CMakeLists.txt +cp -a %{SOURCE5} %{SOURCE6} %{SOURCE8} . +cp -a %{SOURCE7} cura + # Wrong end of line encoding dos2unix docs/How_to_use_the_flame_graph_profiler.md @@ -99,7 +113,7 @@ sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py %build %cmake \ -DCURA_VERSION:STRING=%{version} \ - -DCURA_BUILDTYPE=RPM \ + -DCURA_BUILDTYPE="RPM %{version}"\ -DCURA_CLOUD_API_ROOT:STRING=%{cura_cloud_api_root} \ -DCURA_CLOUD_API_VERSION:STRING=%{cura_cloud_api_version} \ -DCURA_CLOUD_ACCOUNT_API_ROOT:STRING=%{cura_cloud_account_api_root} \ @@ -122,6 +136,10 @@ cd - %install %cmake_install +mkdir -p %{buildroot}%{_datadir}/%{name}/resources/images/whats_new +mkdir -p %{buildroot}%{_datadir}/%{name}/resources/texts/whats_new +mkdir -p %{buildroot}%{_datadir}/%{name}/resources/scripts + # Sanitize the location of locale files pushd %{buildroot}%{_datadir} mv cura/resources/i18n locale @@ -169,6 +187,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Thu Mar 9 2023 Tom Callaway - 1:5.3.0-1 +- update to 5.3.0 + * Thu Jan 19 2023 Fedora Release Engineering - 1:4.13.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild diff --git a/mod_bundled_packages_json.py b/mod_bundled_packages_json.py new file mode 100755 index 0000000..e03261b --- /dev/null +++ b/mod_bundled_packages_json.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python3 +# +# This script removes the given package entries in the bundled_packages JSON files. This is used by the PluginInstall +# CMake module. +# + +import argparse +import collections +import json +import os +import sys + + +def find_json_files(work_dir: str) -> list: + """Finds all JSON files in the given directory recursively and returns a list of those files in absolute paths. + + :param work_dir: The directory to look for JSON files recursively. + :return: A list of JSON files in absolute paths that are found in the given directory. + """ + + json_file_list = [] + for root, dir_names, file_names in os.walk(work_dir): + for file_name in file_names: + abs_path = os.path.abspath(os.path.join(root, file_name)) + json_file_list.append(abs_path) + return json_file_list + + +def remove_entries_from_json_file(file_path: str, entries: list) -> None: + """Removes the given entries from the given JSON file. The file will modified in-place. + + :param file_path: The JSON file to modify. + :param entries: A list of strings as entries to remove. + :return: None + """ + + try: + with open(file_path, "r", encoding = "utf-8") as f: + package_dict = json.load(f, object_hook = collections.OrderedDict) + except Exception as e: + msg = "Failed to load '{file_path}' as a JSON file. This file will be ignored Exception: {e}"\ + .format(file_path = file_path, e = e) + sys.stderr.write(msg + os.linesep) + return + + for entry in entries: + if entry in package_dict: + del package_dict[entry] + print("[INFO] Remove entry [{entry}] from [{file_path}]".format(file_path = file_path, entry = entry)) + + try: + with open(file_path, "w", encoding = "utf-8", newline = "\n") as f: + json.dump(package_dict, f, indent = 4) + except Exception as e: + msg = "Failed to write '{file_path}' as a JSON file. Exception: {e}".format(file_path = file_path, e = e) + raise IOError(msg) + + +def main() -> None: + parser = argparse.ArgumentParser("mod_bundled_packages_json") + parser.add_argument("-d", "--dir", dest = "work_dir", + help = "The directory to look for bundled packages JSON files, recursively.") + parser.add_argument("entries", metavar = "ENTRIES", type = str, nargs = "+") + + args = parser.parse_args() + + json_file_list = find_json_files(args.work_dir) + for json_file_path in json_file_list: + remove_entries_from_json_file(json_file_path, args.entries) + + +if __name__ == "__main__": + main() diff --git a/sources b/sources index d9421a2..e239c39 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-4.13.1.tar.gz) = 6483fd6312bd2181cc812bce78aadc7e8532ecf292f09c75ce5e7870f7efddd63e84315ab40eb73c775b15c2ed2ce7fc804fcbefb73b3d8aaac77d8b22f0cbd0 +SHA512 (cura-5.3.0.tar.gz) = 79421486e89082a0b9f9435e778193f26d067c87fa52dbd277113da5614d5ce340d676aacdc1193bd2ab76de8c9456163bf983181d8d213e96b1af25b4a6b713 From 3a37cfa140e78a5ebfc43b7a66fe56c4f68bb34b Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sun, 9 Jul 2023 15:48:43 +0200 Subject: [PATCH 74/89] Rebuilt for Python 3.12 --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index 7928ff3..fa0c37b 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 1%{?dist} +Release: 2%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -187,6 +187,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Sun Jul 09 2023 Python Maint - 1:5.3.0-2 +- Rebuilt for Python 3.12 + * Thu Mar 9 2023 Tom Callaway - 1:5.3.0-1 - update to 5.3.0 From bab1ae39f80f1246bbd37a577b5bbe1498b78336 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 11 Jul 2023 00:40:03 +0200 Subject: [PATCH 75/89] Fix asserts for called once in Python 3.12 --- 16103.patch | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++ cura.spec | 3 ++ 2 files changed, 120 insertions(+) create mode 100644 16103.patch diff --git a/16103.patch b/16103.patch new file mode 100644 index 0000000..83609a6 --- /dev/null +++ b/16103.patch @@ -0,0 +1,117 @@ +From 5c8341ac6ad25ee8ffdf57d685565faf46c7319e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Tue, 11 Jul 2023 00:03:59 +0200 +Subject: [PATCH 1/2] Fix asserts for called once in Python 3.12 + + E AttributeError: 'called_with' is not a valid assertion. Use a spec for the mock if 'called_with' is meant to be an attribute. + + FAILED tests/TestOAuth2.py::test_refreshAccessTokenSuccess - AttributeError: ... + FAILED tests/TestOAuth2.py::test_refreshAccessTokenFailed - AttributeError: '... + FAILED tests/API/TestAccount.py::test_errorLoginState - AttributeError: 'call... + FAILED tests/Settings/TestCuraStackBuilder.py::test_createMachineWithUnknownDefinition +--- + tests/API/TestAccount.py | 4 ++-- + tests/Settings/TestCuraStackBuilder.py | 2 +- + tests/TestOAuth2.py | 4 ++-- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/tests/API/TestAccount.py b/tests/API/TestAccount.py +index 9d62646eff5..26da8d04cd1 100644 +--- a/tests/API/TestAccount.py ++++ b/tests/API/TestAccount.py +@@ -80,12 +80,12 @@ def test_errorLoginState(application): + with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.getInstance"): # Don't want triggers for account information to actually make HTTP requests. + account._onLoginStateChanged(True, "BLARG!") + # Even though we said that the login worked, it had an error message, so the login failed. +- account.loginStateChanged.emit.called_with(False) ++ account.loginStateChanged.emit.assert_called_with(False) + + with patch("UM.TaskManagement.HttpRequestManager.HttpRequestManager.getInstance"): + account._onLoginStateChanged(True) + account._onLoginStateChanged(False, "OMGZOMG!") +- account.loginStateChanged.emit.called_with(False) ++ account.loginStateChanged.emit.assert_called_with(False) + + def test_sync_success(): + account = Account(MagicMock()) +diff --git a/tests/Settings/TestCuraStackBuilder.py b/tests/Settings/TestCuraStackBuilder.py +index 6bd19a0d30d..9c40a327e85 100644 +--- a/tests/Settings/TestCuraStackBuilder.py ++++ b/tests/Settings/TestCuraStackBuilder.py +@@ -52,7 +52,7 @@ def test_createMachineWithUnknownDefinition(application, container_registry): + with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value=application)): + with patch("UM.ConfigurationErrorMessage.ConfigurationErrorMessage.getInstance") as mocked_config_error: + assert CuraStackBuilder.createMachine("Whatever", "NOPE") is None +- assert mocked_config_error.addFaultyContainers.called_with("NOPE") ++ mocked_config_error.addFaultyContainers.assert_called_with("NOPE") + + + def test_createMachine(application, container_registry, definition_container, global_variant, material_instance_container, +diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py +index 09fa555af43..cd281794f11 100644 +--- a/tests/TestOAuth2.py ++++ b/tests/TestOAuth2.py +@@ -81,7 +81,7 @@ def test_refreshAccessTokenSuccess(): + + with patch.object(AuthorizationHelpers, "getAccessTokenUsingRefreshToken", return_value=SUCCESSFUL_AUTH_RESPONSE): + authorization_service.refreshAccessToken() +- assert authorization_service.onAuthStateChanged.emit.called_with(True) ++ authorization_service.onAuthStateChanged.emit.assert_called_with(True) + + def test__parseJWTNoRefreshToken(): + """ +@@ -190,7 +190,7 @@ def mock_refresh(self, refresh_token, callback): # Refreshing gives a valid tok + authorization_service.onAuthStateChanged.emit = MagicMock() + with patch("cura.OAuth2.AuthorizationHelpers.AuthorizationHelpers.getAccessTokenUsingRefreshToken", mock_refresh): + authorization_service.refreshAccessToken() +- assert authorization_service.onAuthStateChanged.emit.called_with(False) ++ authorization_service.onAuthStateChanged.emit.assert_called_with(False) + + def test_refreshAccesTokenWithoutData(): + authorization_service = AuthorizationService(OAUTH_SETTINGS, Preferences()) + +From b22602cdf604c46d316b6e6fba5e324f443c7a31 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Tue, 11 Jul 2023 00:04:46 +0200 +Subject: [PATCH 2/2] Comment out a failing asserts + +--- + tests/Settings/TestCuraStackBuilder.py | 2 +- + tests/TestOAuth2.py | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/tests/Settings/TestCuraStackBuilder.py b/tests/Settings/TestCuraStackBuilder.py +index 9c40a327e85..7e13f730c1f 100644 +--- a/tests/Settings/TestCuraStackBuilder.py ++++ b/tests/Settings/TestCuraStackBuilder.py +@@ -52,7 +52,7 @@ def test_createMachineWithUnknownDefinition(application, container_registry): + with patch("cura.CuraApplication.CuraApplication.getInstance", MagicMock(return_value=application)): + with patch("UM.ConfigurationErrorMessage.ConfigurationErrorMessage.getInstance") as mocked_config_error: + assert CuraStackBuilder.createMachine("Whatever", "NOPE") is None +- mocked_config_error.addFaultyContainers.assert_called_with("NOPE") ++ # mocked_config_error.addFaultyContainers.assert_called_with("NOPE") # this fails + + + def test_createMachine(application, container_registry, definition_container, global_variant, material_instance_container, +diff --git a/tests/TestOAuth2.py b/tests/TestOAuth2.py +index cd281794f11..78d9aee3ff4 100644 +--- a/tests/TestOAuth2.py ++++ b/tests/TestOAuth2.py +@@ -81,7 +81,7 @@ def test_refreshAccessTokenSuccess(): + + with patch.object(AuthorizationHelpers, "getAccessTokenUsingRefreshToken", return_value=SUCCESSFUL_AUTH_RESPONSE): + authorization_service.refreshAccessToken() +- authorization_service.onAuthStateChanged.emit.assert_called_with(True) ++ # authorization_service.onAuthStateChanged.emit.assert_called_with(True) # this fails + + def test__parseJWTNoRefreshToken(): + """ +@@ -190,7 +190,7 @@ def mock_refresh(self, refresh_token, callback): # Refreshing gives a valid tok + authorization_service.onAuthStateChanged.emit = MagicMock() + with patch("cura.OAuth2.AuthorizationHelpers.AuthorizationHelpers.getAccessTokenUsingRefreshToken", mock_refresh): + authorization_service.refreshAccessToken() +- authorization_service.onAuthStateChanged.emit.assert_called_with(False) ++ # authorization_service.onAuthStateChanged.emit.assert_called_with(False) # this fails + + def test_refreshAccesTokenWithoutData(): + authorization_service = AuthorizationService(OAUTH_SETTINGS, Preferences()) diff --git a/cura.spec b/cura.spec index fa0c37b..d235614 100644 --- a/cura.spec +++ b/cura.spec @@ -25,6 +25,9 @@ Source8: com.ultimaker.cura.appdata.xml # Skip forced loading SentryLogger to avoid an error on startup Patch1: 028e7f7.patch +# Fix asserts for called once in Python 3.12 +Patch2: https://github.com/Ultimaker/Cura/pull/16103.patch + BuildArch: noarch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval From b9c94a084fd8a5c0eac9f32154c9fc2d4d54e66f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 16:48:36 +0000 Subject: [PATCH 76/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- cura.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cura.spec b/cura.spec index d235614..7947c51 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 2%{?dist} +Release: 3%{?dist} Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -190,6 +190,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 1:5.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sun Jul 09 2023 Python Maint - 1:5.3.0-2 - Rebuilt for Python 3.12 From 751a6217720591edce6274458a1dfe79b16c6cd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 6 Dec 2023 14:43:08 +0100 Subject: [PATCH 77/89] Convert to %autorelease and %autochangelog [skip changelog] --- changelog | 272 +++++++++++++++++++++++++++++++++++++++++++++++++++++ cura.spec | 276 +----------------------------------------------------- 2 files changed, 274 insertions(+), 274 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..bf5b00e --- /dev/null +++ b/changelog @@ -0,0 +1,272 @@ +* Wed Jul 19 2023 Fedora Release Engineering - 1:5.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sun Jul 09 2023 Python Maint - 1:5.3.0-2 +- Rebuilt for Python 3.12 + +* Thu Mar 9 2023 Tom Callaway - 1:5.3.0-1 +- update to 5.3.0 + +* Thu Jan 19 2023 Fedora Release Engineering - 1:4.13.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Aug 22 2022 Miro Hrončok - 1:4.13.1-5 +- Use the default flags for Python in the shebang of /usr/bin/cura +- Fixes: rhbz#2117729 + +* Wed Jul 20 2022 Fedora Release Engineering - 1:4.13.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jun 17 2022 Python Maint - 1:4.13.1-3 +- Rebuilt for Python 3.11 + +* Wed Feb 02 2022 Gabriel Féron - 1:4.13.1-2 +- Fix error loading SentryLogger plugin + +* Tue Feb 01 2022 Gabriel Féron - 1:4.13.1-1 +- Update to 4.13.1 + +* Thu Jan 20 2022 Gabriel Féron - 1:4.13.0-1 +- Update to 4.13.0 + +* Thu Jan 20 2022 Fedora Release Engineering - 1:4.12.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Sun Jan 02 2022 Gabriel Féron - 1:4.12.1-2 +- Backport fix for Python 3.10 + +* Mon Dec 13 2021 Gabriel Féron - 1:4.12.1-1 +- Update to 4.12.1 + +* Mon Aug 16 2021 Gabriel Féron - 1:4.10.0-1 +- Update to 4.10.0 + +* Wed Jul 21 2021 Fedora Release Engineering - 1:4.9.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Jun 10 2021 Gabriel Féron - 1:4.9.1-1 +- Update to 4.9.1 + +* Fri Jun 04 2021 Python Maint - 1:4.9.0-2 +- Rebuilt for Python 3.10 + +* Mon Apr 26 2021 Gabriel Féron - 1:4.9.0-1 +- Update to 4.9.0 + +* Mon Mar 22 2021 Miro Hrončok - 1:4.8.0-3 +- Adapt to Python 3.9 API changes + +* Tue Jan 26 2021 Fedora Release Engineering - 1:4.8.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Dec 22 2020 Jan Pazdziora - 1:4.8.0-1 +- Update to 4.8.0 +- Recommend trimesh and certifi + +* Thu Sep 03 2020 Miro Hrončok - 1:4.7.1-1 +- Update to 4.7.1 + +* Mon Aug 31 2020 Gabriel Féron - 1:4.7.0-1 +- Update to 4.7.0 + +* Mon Jul 27 2020 Fedora Release Engineering - 1:4.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue May 26 2020 Miro Hrončok - 1:4.6.1-2 +- Rebuilt for Python 3.9 + +* Tue May 5 2020 Gabriel Féron - 1:4.6.0-1 +- Update to 4.6.1 + +* Tue Apr 21 2020 Gabriel Féron - 1:4.6.0-1 +- Update to 4.6.0 + +* Tue Jan 28 2020 Fedora Release Engineering - 1:4.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Nov 21 2019 Gabriel Féron - 1:4.4.0-1 +- Update to 4.4.0 +- Force X11 to workaround invisible window on Wayland + +* Thu Oct 03 2019 Miro Hrončok - 1:4.1.0-4 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 1:4.1.0-3 +- Rebuilt for Python 3.8 + +* Wed Jul 24 2019 Fedora Release Engineering - 1:4.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 18 2019 Gabriel Féron - 1:4.1.0-1 +- Update to 4.1.0 + +* Thu Apr 04 2019 Gabriel Féron - 1:4.0.0-1 +- Update to 4.0.0 + +* Thu Jan 31 2019 Fedora Release Engineering - 1:3.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jan 26 2019 Gabriel Féron - 1:3.6.0-1 +- Update to 3.6.0 + +* Mon Nov 12 2018 Miro Hrončok - 1:3.5.1-1 +- Update to 3.5.1 (#1644323) + +* Tue Aug 28 2018 Miro Hrončok - 1:3.4.1-1 +- Update to 3.4.1 + +* Thu Jul 12 2018 Fedora Release Engineering - 1:3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 1:3.3.0-3 +- Rebuilt for Python 3.7 + +* Sun Jun 17 2018 Miro Hrončok - 1:3.3.0-2 +- Bytecompile the plugins explicitly + +* Wed May 02 2018 Miro Hrončok - 1:3.3.0-1 +- Update to 3.3.0 +- Enable test_getPropertyFallThrough again + +* Wed Mar 21 2018 Miro Hrončok - 1:3.2.1-2 +- Require qt5-qtquickcontrols2 in addition to qt5-qtquickcontrols + +* Tue Mar 20 2018 Miro Hrončok - 1:3.2.1-1 +- Update to 3.2.1 +- Force install to /usr/lib and keep this noarch +- Change the set of skipped tests + +* Wed Feb 07 2018 Fedora Release Engineering - 1:3.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Dec 10 2017 Miro Hrončok - 1:3.1.0-1 +- Update to 3.1.0 +- Disable most of the tests +- No longer needs to sed out dist-packages +- Move appdata to metainfo + +* Mon Dec 04 2017 Miro Hrončok - 1:3.0.3-5 +- Mark the package with correct license + +* Sun Dec 03 2017 Miro Hrončok - 1:3.0.3-4 +- Also apply the nvidia driver workaround on Fedora (#1520138) + +* Tue Nov 21 2017 Miro Hrončok - 1:3.0.3-3 +- Require libglvnd-devel as a workaround for #1494278 + +* Fri Oct 27 2017 Miro Hrončok - 1:3.0.3-2 +- Add upstream commit to fix tests + +* Mon Oct 23 2017 Miro Hrončok - 1:3.0.3-1 +- Update to 3.0.3 +- Remove locale and desktop file changes (fixed upstream) + +* Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-2 +- Relocate Japanese locale to ja + +* Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-1 +- Update to 2.7.0 + +* Wed Jul 26 2017 Fedora Release Engineering - 1:2.6.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 20 2017 Miro Hrončok - 1:2.6.1-2 +- Require cura-fdm-materials + +* Wed Jun 28 2017 Miro Hrončok - 1:2.6.1-1 +- Updated to 2.6.1 + +* Wed May 10 2017 Miro Hrončok - 1:2.5.0-2 +- Require qt5-qtquickcontrols + +* Wed May 03 2017 Miro Hrončok - 1:2.5.0-1 +- Update to modern Cura 2.x (introduce Epoch) (#1393176) + +* Fri Feb 10 2017 Fedora Release Engineering - 15.04.4-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Nov 03 2016 Miro Hrončok - 15.04.4-5 +- Explicitly run cura on X11 GDK backend (#1388953) + +* Tue Jul 19 2016 Fedora Release Engineering - 15.04.4-4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Fri Mar 25 2016 Miro Hrončok - 15.04.4-3 +- Require 3dprinter-udev-rules + +* Wed Feb 03 2016 Fedora Release Engineering - 15.04.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sat Jan 30 2016 Miro Hrončok - 15.04.4-1 +- New version + +* Wed Jul 08 2015 Miro Hrončok - 15.02.1-4 +- No longer depend on pypy +- Simplify the launcher + +* Mon Jul 06 2015 Miro Hrončok - 15.02.1-3 +- Patch for #1230281 + +* Mon Jul 06 2015 Miro Hrončok - 15.02.1-2 +- Require latest CuraEngine + +* Mon Jul 06 2015 Miro Hrončok - 15.02.1-1 +- Update to 15.02.1 + +* Wed Jun 17 2015 Fedora Release Engineering - 14.12.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 29 2015 Miro Hrončok - 14.12.1-4 +- Patch: Open directories with xdg-open (#1217961) + +* Mon Apr 20 2015 Miro Hrončok - 14.12.1-3 +- Handle files from the command line (#1213220) + +* Mon Mar 30 2015 Miro Hrončok - 14.12.1-2 +- Update the no firmware patch according to communication with Cura upstream + +* Mon Dec 29 2014 Miro Hrončok - 14.12.1-1 +- Updated to 14.12.1 +- No longer depend on firmware + +* Sat Oct 25 2014 Miro Hrončok - 14.09-1 +- New version 14.09 + +* Tue Jun 24 2014 Miro Hrončok - 14.06-2 +- Require at least the firmware version originally bundled in git + +* Mon Jun 23 2014 Miro Hrončok - 14.06-1 +- New version 14.06 + +* Sat Jun 07 2014 Fedora Release Engineering - 13.11.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sat Dec 14 2013 Miro Hrončok - 13.11.2-1 +- New version 13.11.2 + +* Wed Oct 16 2013 Miro Hrončok - 13.10-1 +- New upstream release with CuraEngine + +* Sat Aug 03 2013 Fedora Release Engineering - 13.04-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue May 07 2013 Miro Hrončok - 13.04-2 +- Remove resources directory before trying to create a symlink there + +* Sat May 04 2013 Miro Hrončok - 13.04-1 +- New upstream release +- Fixed missing slice module + +* Sat Apr 20 2013 Miro Hrončok - 13.03-1 +- New upstream release + +* Tue Feb 19 2013 Miro Hrončok - 12.12-3 +- chmod 755 cura-stripper.sh +- Use firmware from ultimaker-marlin-firmware package +- removed bundling note + +* Sun Jan 20 2013 Miro Hrončok - 12.12-2 +- Launcher is in Python now + +* Sun Jan 13 2013 Miro Hrončok - 12.12-1 +- First version diff --git a/cura.spec b/cura.spec index 7947c51..231a8ca 100644 --- a/cura.spec +++ b/cura.spec @@ -4,7 +4,7 @@ Name: cura Epoch: 1 Version: %{major_minor_version}.%{patch_version} -Release: 3%{?dist} +Release: %autorelease Summary: 3D printer / slicing GUI # https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/MOUNX6I3POCDMYWBNJ7JPLLIKVYWVRBJ/ @@ -190,276 +190,4 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.d %{_prefix}/lib/%{name} %changelog -* Wed Jul 19 2023 Fedora Release Engineering - 1:5.3.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sun Jul 09 2023 Python Maint - 1:5.3.0-2 -- Rebuilt for Python 3.12 - -* Thu Mar 9 2023 Tom Callaway - 1:5.3.0-1 -- update to 5.3.0 - -* Thu Jan 19 2023 Fedora Release Engineering - 1:4.13.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Aug 22 2022 Miro Hrončok - 1:4.13.1-5 -- Use the default flags for Python in the shebang of /usr/bin/cura -- Fixes: rhbz#2117729 - -* Wed Jul 20 2022 Fedora Release Engineering - 1:4.13.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jun 17 2022 Python Maint - 1:4.13.1-3 -- Rebuilt for Python 3.11 - -* Wed Feb 02 2022 Gabriel Féron - 1:4.13.1-2 -- Fix error loading SentryLogger plugin - -* Tue Feb 01 2022 Gabriel Féron - 1:4.13.1-1 -- Update to 4.13.1 - -* Thu Jan 20 2022 Gabriel Féron - 1:4.13.0-1 -- Update to 4.13.0 - -* Thu Jan 20 2022 Fedora Release Engineering - 1:4.12.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Sun Jan 02 2022 Gabriel Féron - 1:4.12.1-2 -- Backport fix for Python 3.10 - -* Mon Dec 13 2021 Gabriel Féron - 1:4.12.1-1 -- Update to 4.12.1 - -* Mon Aug 16 2021 Gabriel Féron - 1:4.10.0-1 -- Update to 4.10.0 - -* Wed Jul 21 2021 Fedora Release Engineering - 1:4.9.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Jun 10 2021 Gabriel Féron - 1:4.9.1-1 -- Update to 4.9.1 - -* Fri Jun 04 2021 Python Maint - 1:4.9.0-2 -- Rebuilt for Python 3.10 - -* Mon Apr 26 2021 Gabriel Féron - 1:4.9.0-1 -- Update to 4.9.0 - -* Mon Mar 22 2021 Miro Hrončok - 1:4.8.0-3 -- Adapt to Python 3.9 API changes - -* Tue Jan 26 2021 Fedora Release Engineering - 1:4.8.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Dec 22 2020 Jan Pazdziora - 1:4.8.0-1 -- Update to 4.8.0 -- Recommend trimesh and certifi - -* Thu Sep 03 2020 Miro Hrončok - 1:4.7.1-1 -- Update to 4.7.1 - -* Mon Aug 31 2020 Gabriel Féron - 1:4.7.0-1 -- Update to 4.7.0 - -* Mon Jul 27 2020 Fedora Release Engineering - 1:4.6.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue May 26 2020 Miro Hrončok - 1:4.6.1-2 -- Rebuilt for Python 3.9 - -* Tue May 5 2020 Gabriel Féron - 1:4.6.0-1 -- Update to 4.6.1 - -* Tue Apr 21 2020 Gabriel Féron - 1:4.6.0-1 -- Update to 4.6.0 - -* Tue Jan 28 2020 Fedora Release Engineering - 1:4.4.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Nov 21 2019 Gabriel Féron - 1:4.4.0-1 -- Update to 4.4.0 -- Force X11 to workaround invisible window on Wayland - -* Thu Oct 03 2019 Miro Hrončok - 1:4.1.0-4 -- Rebuilt for Python 3.8.0rc1 (#1748018) - -* Mon Aug 19 2019 Miro Hrončok - 1:4.1.0-3 -- Rebuilt for Python 3.8 - -* Wed Jul 24 2019 Fedora Release Engineering - 1:4.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jun 18 2019 Gabriel Féron - 1:4.1.0-1 -- Update to 4.1.0 - -* Thu Apr 04 2019 Gabriel Féron - 1:4.0.0-1 -- Update to 4.0.0 - -* Thu Jan 31 2019 Fedora Release Engineering - 1:3.6.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Sat Jan 26 2019 Gabriel Féron - 1:3.6.0-1 -- Update to 3.6.0 - -* Mon Nov 12 2018 Miro Hrončok - 1:3.5.1-1 -- Update to 3.5.1 (#1644323) - -* Tue Aug 28 2018 Miro Hrončok - 1:3.4.1-1 -- Update to 3.4.1 - -* Thu Jul 12 2018 Fedora Release Engineering - 1:3.3.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Tue Jun 19 2018 Miro Hrončok - 1:3.3.0-3 -- Rebuilt for Python 3.7 - -* Sun Jun 17 2018 Miro Hrončok - 1:3.3.0-2 -- Bytecompile the plugins explicitly - -* Wed May 02 2018 Miro Hrončok - 1:3.3.0-1 -- Update to 3.3.0 -- Enable test_getPropertyFallThrough again - -* Wed Mar 21 2018 Miro Hrončok - 1:3.2.1-2 -- Require qt5-qtquickcontrols2 in addition to qt5-qtquickcontrols - -* Tue Mar 20 2018 Miro Hrončok - 1:3.2.1-1 -- Update to 3.2.1 -- Force install to /usr/lib and keep this noarch -- Change the set of skipped tests - -* Wed Feb 07 2018 Fedora Release Engineering - 1:3.1.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sun Dec 10 2017 Miro Hrončok - 1:3.1.0-1 -- Update to 3.1.0 -- Disable most of the tests -- No longer needs to sed out dist-packages -- Move appdata to metainfo - -* Mon Dec 04 2017 Miro Hrončok - 1:3.0.3-5 -- Mark the package with correct license - -* Sun Dec 03 2017 Miro Hrončok - 1:3.0.3-4 -- Also apply the nvidia driver workaround on Fedora (#1520138) - -* Tue Nov 21 2017 Miro Hrončok - 1:3.0.3-3 -- Require libglvnd-devel as a workaround for #1494278 - -* Fri Oct 27 2017 Miro Hrončok - 1:3.0.3-2 -- Add upstream commit to fix tests - -* Mon Oct 23 2017 Miro Hrončok - 1:3.0.3-1 -- Update to 3.0.3 -- Remove locale and desktop file changes (fixed upstream) - -* Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-2 -- Relocate Japanese locale to ja - -* Wed Aug 30 2017 Miro Hrončok - 1:2.7.0-1 -- Update to 2.7.0 - -* Wed Jul 26 2017 Fedora Release Engineering - 1:2.6.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Thu Jul 20 2017 Miro Hrončok - 1:2.6.1-2 -- Require cura-fdm-materials - -* Wed Jun 28 2017 Miro Hrončok - 1:2.6.1-1 -- Updated to 2.6.1 - -* Wed May 10 2017 Miro Hrončok - 1:2.5.0-2 -- Require qt5-qtquickcontrols - -* Wed May 03 2017 Miro Hrončok - 1:2.5.0-1 -- Update to modern Cura 2.x (introduce Epoch) (#1393176) - -* Fri Feb 10 2017 Fedora Release Engineering - 15.04.4-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Thu Nov 03 2016 Miro Hrončok - 15.04.4-5 -- Explicitly run cura on X11 GDK backend (#1388953) - -* Tue Jul 19 2016 Fedora Release Engineering - 15.04.4-4 -- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages - -* Fri Mar 25 2016 Miro Hrončok - 15.04.4-3 -- Require 3dprinter-udev-rules - -* Wed Feb 03 2016 Fedora Release Engineering - 15.04.4-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild - -* Sat Jan 30 2016 Miro Hrončok - 15.04.4-1 -- New version - -* Wed Jul 08 2015 Miro Hrončok - 15.02.1-4 -- No longer depend on pypy -- Simplify the launcher - -* Mon Jul 06 2015 Miro Hrončok - 15.02.1-3 -- Patch for #1230281 - -* Mon Jul 06 2015 Miro Hrončok - 15.02.1-2 -- Require latest CuraEngine - -* Mon Jul 06 2015 Miro Hrončok - 15.02.1-1 -- Update to 15.02.1 - -* Wed Jun 17 2015 Fedora Release Engineering - 14.12.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild - -* Fri May 29 2015 Miro Hrončok - 14.12.1-4 -- Patch: Open directories with xdg-open (#1217961) - -* Mon Apr 20 2015 Miro Hrončok - 14.12.1-3 -- Handle files from the command line (#1213220) - -* Mon Mar 30 2015 Miro Hrončok - 14.12.1-2 -- Update the no firmware patch according to communication with Cura upstream - -* Mon Dec 29 2014 Miro Hrončok - 14.12.1-1 -- Updated to 14.12.1 -- No longer depend on firmware - -* Sat Oct 25 2014 Miro Hrončok - 14.09-1 -- New version 14.09 - -* Tue Jun 24 2014 Miro Hrončok - 14.06-2 -- Require at least the firmware version originally bundled in git - -* Mon Jun 23 2014 Miro Hrončok - 14.06-1 -- New version 14.06 - -* Sat Jun 07 2014 Fedora Release Engineering - 13.11.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Sat Dec 14 2013 Miro Hrončok - 13.11.2-1 -- New version 13.11.2 - -* Wed Oct 16 2013 Miro Hrončok - 13.10-1 -- New upstream release with CuraEngine - -* Sat Aug 03 2013 Fedora Release Engineering - 13.04-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Tue May 07 2013 Miro Hrončok - 13.04-2 -- Remove resources directory before trying to create a symlink there - -* Sat May 04 2013 Miro Hrončok - 13.04-1 -- New upstream release -- Fixed missing slice module - -* Sat Apr 20 2013 Miro Hrončok - 13.03-1 -- New upstream release - -* Tue Feb 19 2013 Miro Hrončok - 12.12-3 -- chmod 755 cura-stripper.sh -- Use firmware from ultimaker-marlin-firmware package -- removed bundling note - -* Sun Jan 20 2013 Miro Hrončok - 12.12-2 -- Launcher is in Python now - -* Sun Jan 13 2013 Miro Hrončok - 12.12-1 -- First version - +%autochangelog From 472bb26a713cabdbdbd67e142344d8cf2c662735 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 6 Dec 2023 14:43:51 +0100 Subject: [PATCH 78/89] Remove old cruft --- cura.spec | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/cura.spec b/cura.spec index 231a8ca..9d41859 100644 --- a/cura.spec +++ b/cura.spec @@ -23,17 +23,15 @@ Source7: CuraVersion.py.in Source8: com.ultimaker.cura.appdata.xml # Skip forced loading SentryLogger to avoid an error on startup -Patch1: 028e7f7.patch +Patch: 028e7f7.patch # Fix asserts for called once in Python 3.12 -Patch2: https://github.com/Ultimaker/Cura/pull/16103.patch +Patch: https://github.com/Ultimaker/Cura/pull/16103.patch BuildArch: noarch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval -%if 0%{?fedora} >= 37 || 0%{?rhel} >= 10 ExcludeArch: %{ix86} -%endif BuildRequires: cmake BuildRequires: gcc @@ -79,9 +77,6 @@ Requires: 3dprinter-udev-rules Recommends: python3-trimesh Recommends: python3-certifi -# Get Fedora 33++ behavior on anything older -%undefine __cmake_in_source_build - %description Cura is a project which aims to be an single software solution for 3D printing. While it is developed to be used with the Ultimaker 3D printer, it can be used @@ -111,7 +106,7 @@ cp -a %{SOURCE7} cura dos2unix docs/How_to_use_the_flame_graph_profiler.md # Wrong shebang -sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{__python3}=' cura_app.py +sed -i '1s=^#!/usr/bin/\(python\|env python\)3*=#!%{python3}=' cura_app.py %build %cmake \ @@ -158,7 +153,7 @@ ln -s %{_datadir}/fonts/open-sans/ %{buildroot}%{_datadir}/%{name}/resources/the rm -r %{buildroot}%{_prefix}/lib/cura/plugins/{SentryLogger,UFPReader,UFPWriter} # Bytecompile the plugins -%py_byte_compile %{__python3} %{buildroot}%{_prefix}/lib/cura +%py_byte_compile %{python3} %{buildroot}%{_prefix}/lib/cura # Use the default flags in the shebang %py3_shebang_fix %{buildroot}%{_bindir}/* @@ -169,8 +164,8 @@ rm -r %{buildroot}%{_prefix}/lib/cura/plugins/{SentryLogger,UFPReader,UFPWriter} %check -%{__python3} -m pip freeze -%{__python3} -m pytest -v +%{python3} -m pip freeze +%{python3} -m pytest -v desktop-file-validate %{buildroot}%{_datadir}/applications/%{reverse_dns_name}.desktop From 990dc29856c1c8f79f56227a35f8e7ebb51e7598 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Wed, 6 Dec 2023 14:56:55 +0100 Subject: [PATCH 79/89] Update to 5.4.0 --- cura.spec | 10 +++++----- sources | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cura.spec b/cura.spec index 9d41859..46ae29b 100644 --- a/cura.spec +++ b/cura.spec @@ -1,4 +1,4 @@ -%global major_minor_version 5.3 +%global major_minor_version 5.4 %global patch_version 0 Name: cura @@ -47,8 +47,8 @@ BuildRequires: python3-keyring BuildRequires: python3-pyserial BuildRequires: python3-pynest2d BuildRequires: python3-requests -BuildRequires: python3-savitar >= 5.2.2 -BuildRequires: python3-uranium == %{version} +BuildRequires: python3-savitar >= 5.3.0 +BuildRequires: python3-uranium >= 5.4.0 BuildRequires: python3-zeroconf Requires: open-sans-fonts @@ -58,9 +58,9 @@ Requires: python3-numpy-stl Requires: python3-pyserial Requires: python3-pynest2d Requires: python3-requests -Requires: python3-savitar >= 5.2.2 +Requires: python3-savitar >= 5.3.0 Requires: python3-trimesh -Requires: python3-uranium == %{version} +Requires: python3-uranium >= 5.4.0 Requires: python3-zeroconf # Requires: qt5-qtquickcontrols # Requires: qt5-qtquickcontrols2 diff --git a/sources b/sources index e239c39..08d68f5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (cura-5.3.0.tar.gz) = 79421486e89082a0b9f9435e778193f26d067c87fa52dbd277113da5614d5ce340d676aacdc1193bd2ab76de8c9456163bf983181d8d213e96b1af25b4a6b713 +SHA512 (cura-5.4.0.tar.gz) = 8b4ff703a0a8ab400b7d76d38c4422f77453082e093398bedc6ccf2fa7ab2ac0539f3f35a46c667bed5603c81dfb55679c29d01384a40bfdad8969913e3af8c2 From 7b40be3694345d69b8df38efcc9e7261c331b647 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Thu, 14 Dec 2023 12:56:37 +0100 Subject: [PATCH 80/89] Avoid "KeyError: material_name" crash - Fixes: rhbz#2252195 --- 17642.patch | 36 ++++++++++++++++++++++++++++++++++++ cura.spec | 3 +++ 2 files changed, 39 insertions(+) create mode 100644 17642.patch diff --git a/17642.patch b/17642.patch new file mode 100644 index 0000000..52620b7 --- /dev/null +++ b/17642.patch @@ -0,0 +1,36 @@ +From 1941fbe90be65ea6fab393bdfeed6a8bf30dbab8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Thu, 14 Dec 2023 12:52:26 +0100 +Subject: [PATCH] Avoid "KeyError: material_name" crash in Fedora + + Traceback (most recent call last): + File "/usr/lib/python3.11/site-packages/UM/Qt/ListModel.py", line 54, in data + return self._items[index.row()][self._role_names[role].decode("utf-8")] + ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + KeyError: 'material_name' + +Downstream report: https://bugzilla.redhat.com/show_bug.cgi?id=2252195 +Community: https://community.ultimaker.com/topic/44538-cura-53-crashs-at-startup/ + +For reasons unknown, this crash does not happen with the AppImage. + +Nevertheless, in 2baada8a70b15dd87948a25855e17d15b0ece58c +material_name was added as a role, not material_label. +Reaming the field in the sentinel extruder makes the crash go away. +--- + cura/Machines/Models/ExtrudersModel.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cura/Machines/Models/ExtrudersModel.py b/cura/Machines/Models/ExtrudersModel.py +index 2677894bff2..f31f7c87178 100644 +--- a/cura/Machines/Models/ExtrudersModel.py ++++ b/cura/Machines/Models/ExtrudersModel.py +@@ -227,7 +227,7 @@ def __updateExtruders(self): + "material_brand": "", + "color_name": "", + "material_type": "", +- "material_label": "" ++ "material_name": "" + } + items.append(item) + if self._items != items: diff --git a/cura.spec b/cura.spec index 46ae29b..f8e6f7b 100644 --- a/cura.spec +++ b/cura.spec @@ -28,6 +28,9 @@ Patch: 028e7f7.patch # Fix asserts for called once in Python 3.12 Patch: https://github.com/Ultimaker/Cura/pull/16103.patch +# Avoid "KeyError: material_name" crash +Patch: https://github.com/Ultimaker/Cura/pull/17642.patch + BuildArch: noarch # https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval From 92f89794c58518d4e9ce01ef6ffc4e9dbb576782 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 16:31:55 +0000 Subject: [PATCH 81/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 845d642445773039a20b00782ec6d10e3c907271 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jan 2024 08:43:20 +0000 Subject: [PATCH 82/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From b8d438811ebc17a7bdcf2391dd207058324027a3 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Sun, 9 Jun 2024 12:02:39 +0200 Subject: [PATCH 83/89] Rebuilt for Python 3.13 From 748ce9ae53b04cd1a3643e173a369d67be14d54b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 20:23:01 +0000 Subject: [PATCH 84/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From f5e95a1bd40578d3d6396d02e02776a114a4023a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 15:04:44 +0000 Subject: [PATCH 85/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 947da2b33b7c3efce75d0dbe40dc06102fda85a1 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 17 Jun 2025 22:26:10 +0200 Subject: [PATCH 86/89] Rebuilt for Python 3.14 From a69d2f09d3454c5bbd23e97858a1a249e53a2a8e Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 18:56:21 +0000 Subject: [PATCH 87/89] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 282fd74e1d1f57f4c4c0b3c344ef529e8aa4afb9 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 12:43:30 +0200 Subject: [PATCH 88/89] Rebuilt for Python 3.14.0rc2 bytecode From 2cf7d6ba3c822113394f9ce3fb759ec20f5c8435 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 12:12:45 +0200 Subject: [PATCH 89/89] Rebuilt for Python 3.14.0rc3 bytecode