diff --git a/CuraEngine-3.6.0.obscpio b/CuraEngine-3.6.0.obscpio deleted file mode 100644 index 9de117f..0000000 --- a/CuraEngine-3.6.0.obscpio +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:628ad9e229cfe43a26069e8aa9ccc9c0e1673bdcfd4eab8418b6e46677f9dbfb -size 4328973 diff --git a/CuraEngine-4.1.0.obscpio b/CuraEngine-4.1.0.obscpio new file mode 100644 index 0000000..e066bb5 --- /dev/null +++ b/CuraEngine-4.1.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0517ca25cf3446a8dfc974698f69aa3fcb669abfa3654b9f36206ec7620fa44c +size 4433932 diff --git a/CuraEngine-gcc9.patch b/CuraEngine-gcc9.patch new file mode 100644 index 0000000..4bedfdb --- /dev/null +++ b/CuraEngine-gcc9.patch @@ -0,0 +1,31 @@ +--- src/layerPart.cpp.orig 2019-06-13 09:15:37.518080499 +0200 ++++ src/layerPart.cpp 2019-06-13 09:16:33.375602117 +0200 +@@ -52,7 +52,7 @@ + { + const auto total_layers = slicer->layers.size(); + assert(mesh.layers.size() == total_layers); +-#pragma omp parallel for default(none) shared(mesh, slicer) schedule(dynamic) ++#pragma omp parallel for default(none) shared(mesh, slicer, total_layers) schedule(dynamic) + // Use a signed type for the loop counter so MSVC compiles (because it uses OpenMP 2.0, an old version). + for (int layer_nr = 0; layer_nr < static_cast(total_layers); layer_nr++) + { +--- ./src/support.cpp.orig 2019-06-13 09:15:37.518080499 +0200 ++++ ./src/support.cpp 2019-06-13 09:18:54.823456474 +0200 +@@ -868,7 +868,7 @@ + constexpr bool no_prime_tower = false; + xy_disallowed_per_layer[0] = storage.getLayerOutlines(0, no_support, no_prime_tower).offset(xy_distance); + // for all other layers (of non support meshes) compute the overhang area and possibly use that when calculating the support disallowed area +- #pragma omp parallel for default(none) shared(xy_disallowed_per_layer, storage, mesh) schedule(dynamic) ++ #pragma omp parallel for default(none) shared(xy_disallowed_per_layer, storage, mesh, layer_count, is_support_mesh_place_holder, use_xy_distance_overhang, z_distance_top, tan_angle, xy_distance, xy_distance_overhang) schedule(dynamic) + // Use a signed type for the loop counter so MSVC compiles (because it uses OpenMP 2.0, an old version). + for (int layer_idx = 1; layer_idx < static_cast(layer_count); layer_idx++) + { +@@ -1065,7 +1065,7 @@ + const int max_checking_layer_idx = std::max(0, + std::min(static_cast(storage.support.supportLayers.size()), + static_cast(layer_count - (layer_z_distance_top - 1)))); +-#pragma omp parallel for default(none) shared(support_areas, storage) schedule(dynamic) ++#pragma omp parallel for default(none) shared(support_areas, storage, max_checking_layer_idx, layer_z_distance_top) schedule(dynamic) + // Use a signed type for the loop counter so MSVC compiles (because it uses OpenMP 2.0, an old version). + for (int layer_idx = 0; layer_idx < max_checking_layer_idx; layer_idx++) + { diff --git a/CuraEngine.obsinfo b/CuraEngine.obsinfo index 8d1310d..513e501 100644 --- a/CuraEngine.obsinfo +++ b/CuraEngine.obsinfo @@ -1,5 +1,5 @@ name: CuraEngine -version: 3.6.0 -mtime: 1541499779 -commit: ad5f91d432c7629bf29bd07817d45ee555b12a77 +version: 4.1.0 +mtime: 1558453724 +commit: 354efa4a4507e46993021e5b5a690a5a3139d5ba diff --git a/_service b/_service index 131d40d..e827290 100644 --- a/_service +++ b/_service @@ -2,8 +2,8 @@ https://github.com/Ultimaker/CuraEngine.git git - 3.6.0 - 3.6.0 + 4.1.0 + 4.1.0 diff --git a/cura-engine.changes b/cura-engine.changes index 37fac03..e9570bd 100644 --- a/cura-engine.changes +++ b/cura-engine.changes @@ -1,3 +1,26 @@ +------------------------------------------------------------------- +Thu Jun 13 06:53:55 UTC 2019 - Adrian Schröter + +- update to version 4.1.0 + * https://ultimaker.com/en/products/ultimaker-cura-software/release-notes +- enable tests +- some build fixes needed: + fix-build.patch + CuraEngine-gcc9.patch +- 32bit platform is unsupported on Linux + (builds, but testcases are failing) + +------------------------------------------------------------------- +Thu Apr 18 07:40:39 UTC 2019 - Adrian Schröter + +- sync spec file with -lulzbot variant +- enable test suite (requires fix-build.patch for libArcus interface) + +------------------------------------------------------------------- +Sat Mar 9 14:58:16 UTC 2019 - Stefan Brüns + +- Update URL to use https + ------------------------------------------------------------------- Fri Jan 18 09:48:08 UTC 2019 - Adrian Schröter diff --git a/cura-engine.spec b/cura-engine.spec index 29263ce..77b7fa8 100644 --- a/cura-engine.spec +++ b/cura-engine.spec @@ -17,23 +17,32 @@ Name: cura-engine -Version: 3.6.0 +Version: 4.1.0 Release: 0 Summary: 3D printer control software License: AGPL-3.0-only Group: Hardware/Printing -Url: http://github.com/Ultimaker/CuraEngine +Url: https://github.com/Ultimaker/CuraEngine Source0: CuraEngine-%{version}.tar.xz Source1: CuraEngine.1 +# X-OPENSUSE-PATCH fix-build.patch follow openSUSE policies +Patch1: fix-build.patch +# PATCH-FIX-OPENSUSE CuraEngine-gcc9.patch based on a patch from fedora, submitted upstream, but not merged yet +Patch2: CuraEngine-gcc9.patch # On TW/Factory or Leap/SLE 15 use latest gcc, gcc6 otherwise -%if 0%{?suse_version} >= 1500 -BuildRequires: gcc-c++ >= 5 -%else +%if 0%{?suse_version} < 1500 BuildRequires: gcc6-c++ +#!BuildIgnore: libgcc_s1 +%else +BuildRequires: gcc-c++ %endif BuildRequires: cmake +BuildRequires: gmock +BuildRequires: gtest BuildRequires: libArcus-devel BuildRequires: stb-devel +# No 32bit support anymore +ExcludeArch: %ix86 %arm %description CuraEngine is an engine for processing 3D models into 3D printing @@ -42,6 +51,10 @@ It is part of the larger project called "Cura". %prep %setup -q -n CuraEngine-%version +%patch1 -p1 +%patch2 -p0 +# the test is hardcoding the version number +sed -i -e 's,"master","%{version}",' tests/GCodeExportTest.cpp %build %if 0%{?suse_version} < 1500 @@ -49,7 +62,11 @@ export CC=gcc-6 export CXX=g++-6 %endif # make sure lib_CuraEngine is statically build and linked -%cmake -DCURA_ENGINE_VERSION=%version -DCMAKE_POSITION_INDEPENDENT_CODE="true" -DBUILD_SHARED_LIBS="false" +%cmake -DCURA_ENGINE_VERSION=%version \ + -DCMAKE_POSITION_INDEPENDENT_CODE="true" \ + -DBUILD_SHARED_LIBS="false" \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTS=ON %make_jobs %install @@ -58,6 +75,11 @@ cd build install -Dm0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/CuraEngine.1 +%check +cd build +# we don't use "make test" to get the output on failure +/usr/bin/ctest --force-new-ctest-process --output-on-failure + %files %license LICENSE %doc README.md diff --git a/fix-build.patch b/fix-build.patch new file mode 100644 index 0000000..10c5a2f --- /dev/null +++ b/fix-build.patch @@ -0,0 +1,23 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 2717e987..edd2a93c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -54,7 +54,6 @@ endif() + if(NOT DEFINED LIB_SUFFIX) + set(LIB_SUFFIX "") + endif() +-set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}") + + set(CURA_ENGINE_VERSION "master" CACHE STRING "Version name of Cura") + +@@ -101,10 +100,6 @@ if (ENABLE_MORE_COMPILER_OPTIMIZATION_FLAGS AND NOT (CMAKE_BUILD_TYPE_UPPER MATC + endif() + endif () + +-if(NOT APPLE AND NOT WIN32) +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libstdc++") +-endif() +- + if (WIN32) + add_definitions(-DNOMINMAX) + endif()