From 3fa81b84c42b3fe2e1a92c54e41739ae4f43dfcc Mon Sep 17 00:00:00 2001 From: Ralf Corsépius Date: Feb 19 2019 10:16:11 +0000 Subject: Rebase patches against upstream master. Rework spec for boost-1.69 (RHBZ#1675220). --- diff --git a/0001-COMP-Default-docs-building-to-OFF.patch b/0001-COMP-Default-docs-building-to-OFF.patch index 605001c..dd15599 100644 --- a/0001-COMP-Default-docs-building-to-OFF.patch +++ b/0001-COMP-Default-docs-building-to-OFF.patch @@ -1,7 +1,7 @@ From 993e2a534572521b4c683258980ba6f9f0fe538a Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 25 Sep 2016 21:58:37 +0200 -Subject: [PATCH 01/10] COMP: Default docs building to OFF +Subject: [PATCH 01/16] COMP: Default docs building to OFF --- CMakeLists.txt | 2 +- @@ -33,5 +33,5 @@ index 3e1cb018..9420dff6 100644 - +K3D_ADD_SUBDIRECTORY(k3d REQUIRES K3D_BUILD_DOCS) -- -2.14.3 +2.20.1 diff --git a/0002-COMP-Properly-disable-doc-building.patch b/0002-COMP-Properly-disable-doc-building.patch index eeb869c..e956ee7 100644 --- a/0002-COMP-Properly-disable-doc-building.patch +++ b/0002-COMP-Properly-disable-doc-building.patch @@ -1,7 +1,7 @@ From bbf2886f4a5cccabe0444c8d20a890ebb7c489d2 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Tue, 27 Sep 2016 19:45:50 +0200 -Subject: [PATCH 02/10] COMP: Properly disable doc building +Subject: [PATCH 02/16] COMP: Properly disable doc building Issue #25 --- @@ -42,5 +42,5 @@ index 9420dff6..cccaad21 100644 -K3D_ADD_SUBDIRECTORY(k3d REQUIRES K3D_BUILD_DOCS) +ADD_SUBDIRECTORY(k3d) -- -2.14.3 +2.20.1 diff --git a/0003-COMP-Missing-glibmm-include.patch b/0003-COMP-Missing-glibmm-include.patch index cbc5ca9..43e26da 100644 --- a/0003-COMP-Missing-glibmm-include.patch +++ b/0003-COMP-Missing-glibmm-include.patch @@ -1,7 +1,7 @@ From c65889d0652490d88a573e47de7a9324bf27bff2 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Thu, 20 Oct 2016 09:20:41 +0200 -Subject: [PATCH 03/10] COMP: Missing glibmm include +Subject: [PATCH 03/16] COMP: Missing glibmm include Thanks to @manuelafm (issue #26) --- @@ -27,5 +27,5 @@ index 96a3b555..5c9bf7e0 100644 } // namespace k3d - -- -2.14.3 +2.20.1 diff --git a/0004-Add-required-header-for-ostream-operations.patch b/0004-Add-required-header-for-ostream-operations.patch index 811c3ca..923e073 100644 --- a/0004-Add-required-header-for-ostream-operations.patch +++ b/0004-Add-required-header-for-ostream-operations.patch @@ -1,7 +1,7 @@ From d9786540a205bec0b381f339497d7c2cce00376b Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 1 Feb 2017 02:07:28 +0000 -Subject: [PATCH 04/10] Add required header for ostream operations +Subject: [PATCH 04/16] Add required header for ostream operations This file uses std::ostream::operator<<(double) without including and so fails to compile using GCC 7. @@ -22,5 +22,5 @@ index 9edf7aef..67df5aa0 100644 #include #include -- -2.14.3 +2.20.1 diff --git a/0005-ENH-Use-libgio-instead-of-gnome-vfs.patch b/0005-ENH-Use-libgio-instead-of-gnome-vfs.patch index 0468c4e..8913b67 100644 --- a/0005-ENH-Use-libgio-instead-of-gnome-vfs.patch +++ b/0005-ENH-Use-libgio-instead-of-gnome-vfs.patch @@ -1,20 +1,20 @@ From c9cf45cf59c60e4ba7dde2941b8d6fe77923f779 Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sun, 23 Jul 2017 23:34:15 +0200 -Subject: [PATCH 05/10] ENH: Use libgio instead of gnome-vfs +Subject: [PATCH 05/16] ENH: Use libgio instead of gnome-vfs Issue #28 --- - CMakeLists.txt | 5 ++--- - cmake/modules/K3DFindGiomm.cmake | 21 ++++++++++++++++++ + CMakeLists.txt | 5 ++- + cmake/modules/K3DFindGiomm.cmake | 21 +++++++++++++ cmake/modules/K3DFindGlibmm.cmake | 2 +- - cmake/modules/K3DFindGnomeVFS.cmake | 21 ------------------ + cmake/modules/K3DFindGnomeVFS.cmake | 21 ------------- modules/CMakeLists.txt | 2 +- - modules/gio/CMakeLists.txt | 9 ++++++++ - modules/{gnome => gio}/mime_type_handler.cpp | 23 +++++++++----------- - modules/{gnome => gio}/module.cpp | 10 ++++----- - modules/{gnome => gio}/uri_handler.cpp | 32 ++++++---------------------- - modules/gnome/CMakeLists.txt | 9 -------- + modules/gio/CMakeLists.txt | 9 ++++++ + modules/{gnome => gio}/mime_type_handler.cpp | 23 ++++++-------- + modules/{gnome => gio}/module.cpp | 10 +++--- + modules/{gnome => gio}/uri_handler.cpp | 32 +++++--------------- + modules/gnome/CMakeLists.txt | 9 ------ 10 files changed, 56 insertions(+), 78 deletions(-) create mode 100644 cmake/modules/K3DFindGiomm.cmake delete mode 100644 cmake/modules/K3DFindGnomeVFS.cmake @@ -354,5 +354,5 @@ index bb852924..00000000 -TARGET_LINK_LIBRARIES(k3d-gnome ${K3D_GNOME_VFS_LIBS}) - -- -2.14.3 +2.20.1 diff --git a/0006-COMP-Fix-clang-v.-5-compilation-on-Linux.patch b/0006-COMP-Fix-clang-v.-5-compilation-on-Linux.patch index bd9704d..38ed75c 100644 --- a/0006-COMP-Fix-clang-v.-5-compilation-on-Linux.patch +++ b/0006-COMP-Fix-clang-v.-5-compilation-on-Linux.patch @@ -1,7 +1,7 @@ From 7111d0ef96dd1caf5d3cdbc435b8c1820f72e95a Mon Sep 17 00:00:00 2001 From: Bart Janssens Date: Sat, 13 Jan 2018 23:49:34 +0100 -Subject: [PATCH 06/10] COMP: Fix clang v. 5 compilation on Linux +Subject: [PATCH 06/16] COMP: Fix clang v. 5 compilation on Linux Hopefully helps for issue #31 --- @@ -104,5 +104,5 @@ index 12cc4539..60124fee 100644 const k3d::string_t diffuse_str(reinterpret_cast(diffuse)); const k3d::string_t specular_str(reinterpret_cast(specular)); -- -2.14.3 +2.20.1 diff --git a/0007-Replaced-dl-with-CMAKE_DL_LIBS-in-CMakeLists.txt-fil.patch b/0007-Replaced-dl-with-CMAKE_DL_LIBS-in-CMakeLists.txt-fil.patch index 06b5b4e..875d1c6 100644 --- a/0007-Replaced-dl-with-CMAKE_DL_LIBS-in-CMakeLists.txt-fil.patch +++ b/0007-Replaced-dl-with-CMAKE_DL_LIBS-in-CMakeLists.txt-fil.patch @@ -1,7 +1,7 @@ From 3b7b2ba770daba0ca360aeeff08d422470720cb6 Mon Sep 17 00:00:00 2001 From: Yuri Date: Sun, 14 Jan 2018 11:00:38 -0800 -Subject: [PATCH 07/10] Replaced dl with ${CMAKE_DL_LIBS} in CMakeLists.txt +Subject: [PATCH 07/16] Replaced dl with ${CMAKE_DL_LIBS} in CMakeLists.txt files for compatibility with systems which don't need -ldl. --- @@ -36,5 +36,5 @@ index 2a670057..56483430 100644 SET_TARGET_PROPERTIES(test-shared-dynamic-cast PROPERTIES LINK_FLAGS -Wl,-E) ENDIF() -- -2.14.3 +2.20.1 diff --git a/0008-ENH-Speed-up-binary-STL-reading.patch b/0008-ENH-Speed-up-binary-STL-reading.patch new file mode 100644 index 0000000..761fc7d --- /dev/null +++ b/0008-ENH-Speed-up-binary-STL-reading.patch @@ -0,0 +1,127 @@ +From 63cbc9b4be82f768b2f6697c7da5b156f6f331d3 Mon Sep 17 00:00:00 2001 +From: Bart Janssens +Date: Sun, 25 Feb 2018 21:07:44 +0100 +Subject: [PATCH 08/16] ENH: Speed up binary STL reading + +--- + modules/stl_io/mesh_reader.cpp | 53 ++++++++++++++++++++++++---------- + 1 file changed, 38 insertions(+), 15 deletions(-) + +diff --git a/modules/stl_io/mesh_reader.cpp b/modules/stl_io/mesh_reader.cpp +index 69be9c92..d558a9e1 100644 +--- a/modules/stl_io/mesh_reader.cpp ++++ b/modules/stl_io/mesh_reader.cpp +@@ -58,24 +58,37 @@ k3d::bool_t is_ascii(std::istream& Stream) + return (boost::algorithm::starts_with(buffer, "solid")); + } + +-/// Adds a point without introducing duplicates +-k3d::uint_t add_point(k3d::mesh::points_t& Points, const k3d::point3& Point, const k3d::double_t Threshold) ++struct compare_points + { +- k3d::uint_t point_index = Points.size(); +- for(k3d::uint_t point = 0; point != Points.size(); ++point) ++ bool operator()(const k3d::point3& A, const k3d::point3& B) const + { +- const k3d::double_t len2 = (Points[point] - Point).length2(); +- if(len2 < Threshold) ++ if (A[0] != B[0]) ++ { ++ return A[0] < B[0]; ++ } ++ if (A[1] != B[1]) + { +- point_index = point; +- break; ++ return A[1] < B[1]; + } ++ return A[2] < B[2]; + } +- if(point_index == Points.size()) ++}; ++ ++typedef std::map point_map_t; ++ ++void fill_points(const point_map_t& PointMap, k3d::mesh::points_t& Points) ++{ ++ Points.resize(PointMap.size()); ++ for(point_map_t::const_iterator it = PointMap.begin(); it != PointMap.end(); ++it) + { +- Points.push_back(Point); ++ Points[it->second] = it->first; + } +- return point_index; ++} ++ ++/// Adds a point without introducing duplicates ++k3d::uint_t add_point(point_map_t &PointMap, const k3d::point3 &Point) ++{ ++ return PointMap.insert(std::make_pair(Point, PointMap.size())).first->second; + } + + /// Extracts the STL topology information, merging points that are less than threshold apart +@@ -83,6 +96,8 @@ void get_stl_topology(std::istream& Stream, k3d::mesh::points_t& Points, k3d::me + { + const k3d::double_t threshold = Threshold*Threshold; + ++ detail::point_map_t point_map; ++ + k3d::string_t line_buffer; + k3d::uint_t line_number = 0; + k3d::mesh::indices_t face_points; +@@ -114,7 +129,7 @@ void get_stl_topology(std::istream& Stream, k3d::mesh::points_t& Points, k3d::me + line_stream >> z; + k3d::point3 new_point(x, y, z); + +- face_points.push_back(detail::add_point(Points, new_point, threshold)); ++ face_points.push_back(detail::add_point(point_map, new_point)); + if(face_points.size() == 3) + { + std::stringstream face_id_stream; +@@ -144,6 +159,7 @@ void get_stl_topology(std::istream& Stream, k3d::mesh::points_t& Points, k3d::me + } + } + } ++ detail::fill_points(point_map, Points); + } + + const k3d::normal3 normal(const k3d::mesh::points_t Points, k3d::mesh::indices_t& VertexIndices, const k3d::uint_t FaceIndex) +@@ -247,6 +263,8 @@ public: + k3d::mesh::indices_t vertex_indices; + k3d::mesh::normals_t face_normals; + ++ detail::point_map_t point_map; ++ + try + { + if(detail::is_ascii(file)) +@@ -277,18 +295,23 @@ public: + is_magics = true; + } + const k3d::uint_t nfacets = stl.facets.size(); ++ vertex_counts.reserve(nfacets); ++ face_normals.reserve(nfacets); ++ face_colors.reserve(nfacets); ++ vertex_indices.reserve(3*nfacets); + for(k3d::uint_t f = 0; f != nfacets; ++f) + { + vertex_counts.push_back(3); + k3d::point3 p0(stl.facets[f].v0[0], stl.facets[f].v0[1], stl.facets[f].v0[2]); + k3d::point3 p1(stl.facets[f].v1[0], stl.facets[f].v1[1], stl.facets[f].v1[2]); + k3d::point3 p2(stl.facets[f].v2[0], stl.facets[f].v2[1], stl.facets[f].v2[2]); +- vertex_indices.push_back(detail::add_point(points, p0, threshold)); +- vertex_indices.push_back(detail::add_point(points, p1, threshold)); +- vertex_indices.push_back(detail::add_point(points, p2, threshold)); ++ vertex_indices.push_back(detail::add_point(point_map, p0)); ++ vertex_indices.push_back(detail::add_point(point_map, p1)); ++ vertex_indices.push_back(detail::add_point(point_map, p2)); + face_normals.push_back(k3d::normal3(stl.facets[f].normal[0], stl.facets[f].normal[1], stl.facets[f].normal[2])); + face_colors.push_back(is_magics ? detail::convert_color_magics(stl.facets[f].color, base_color) : detail::convert_color_viscam(stl.facets[f].color, base_color)); + } ++ detail::fill_points(point_map, points); + k3d::polyhedron::primitive* polyhedron = k3d::polyhedron::create(Output, points, vertex_counts, vertex_indices, static_cast(0)); + polyhedron->face_attributes.create(m_color_array.pipeline_value(), new k3d::mesh::colors_t(face_colors)); + } +-- +2.20.1 + diff --git a/0008-k3d-0.8.0.2-cmake.diff.patch b/0008-k3d-0.8.0.2-cmake.diff.patch deleted file mode 100644 index 67f7e35..0000000 --- a/0008-k3d-0.8.0.2-cmake.diff.patch +++ /dev/null @@ -1,25 +0,0 @@ -From c35e5f3327c2a68a4392ce2b27b921940cea3aea Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= -Date: Tue, 27 Jan 2015 10:54:55 +0100 -Subject: [PATCH 08/10] k3d-0.8.0.2-cmake.diff - ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 14969136..673270fb 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -357,7 +357,7 @@ ENDIF() - # Setup output directories ... - SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/bin) - --SET(K3D_LIBDIR lib) # Allows us to handle 64-bit libs if/when it becomes necessary. -+SET(K3D_LIBDIR lib${LIB_SUFFIX}) # Allows us to handle 64-bit libs if/when it becomes necessary. - - IF(APPLE AND K3D_ENABLE_OSX_BUNDLE) - SET(K3D_BUNDLE_DIRECTORY ${k3d_BINARY_DIR}/K-3D.app/Contents) --- -2.14.3 - diff --git a/0009-COMP-Fix-some-typos.patch b/0009-COMP-Fix-some-typos.patch new file mode 100644 index 0000000..e381069 --- /dev/null +++ b/0009-COMP-Fix-some-typos.patch @@ -0,0 +1,72 @@ +From 0d9b71a69993018d8121a04292ffde0a6544d314 Mon Sep 17 00:00:00 2001 +From: Bart Janssens +Date: Sun, 25 Feb 2018 21:45:09 +0100 +Subject: [PATCH 09/16] COMP: Fix some typos + +Issue #29 +--- + modules/polyhedron/fillet_edges.cpp | 2 +- + modules/selection/select_edgeloops.cpp | 2 +- + modules/selection/select_edgerings.cpp | 2 +- + po/chef.po | 4 ++-- + 4 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/modules/polyhedron/fillet_edges.cpp b/modules/polyhedron/fillet_edges.cpp +index d909f33e..95c6b513 100644 +--- a/modules/polyhedron/fillet_edges.cpp ++++ b/modules/polyhedron/fillet_edges.cpp +@@ -1407,7 +1407,7 @@ public: + if(!(*polyhedron)->faces.size()) + continue; + +- // Get selected egdes ++ // Get selected edges + detail::edge_set_t selected_edges; + detail::edge_face_map_t edge_face_map; + detail::for_each_edge_face(**polyhedron, detail::get_edges(selected_edges, edge_face_map)); +diff --git a/modules/selection/select_edgeloops.cpp b/modules/selection/select_edgeloops.cpp +index db27d05b..f6d9dff6 100644 +--- a/modules/selection/select_edgeloops.cpp ++++ b/modules/selection/select_edgeloops.cpp +@@ -71,7 +71,7 @@ public: + k3d::interface_list > > factory( + k3d::uuid(0x6f42e16a, 0x99804f99, 0xa00528d3, 0x702f015c), + "SelectEdgeLoops", +- _("Selects edge loops containing selected egdes"), ++ _("Selects edge loops containing selected edges"), + "Selection", + k3d::iplugin_factory::STABLE); + +diff --git a/modules/selection/select_edgerings.cpp b/modules/selection/select_edgerings.cpp +index 562533b1..43a47c75 100644 +--- a/modules/selection/select_edgerings.cpp ++++ b/modules/selection/select_edgerings.cpp +@@ -61,7 +61,7 @@ public: + k3d::interface_list > > factory( + k3d::uuid(0x7e34dbd5, 0xbe9847b2, 0xac9f313e, 0xe1dcbb68), + "SelectEdgeRings", +- _("Selects edge rings containing selected egdes"), ++ _("Selects edge rings containing selected edges"), + "Selection", + k3d::iplugin_factory::STABLE); + +diff --git a/po/chef.po b/po/chef.po +index 0b11a81b..82155bc0 100644 +--- a/po/chef.po ++++ b/po/chef.po +@@ -5426,10 +5426,10 @@ msgstr "" + msgid "Selects an edge from the input mesh by its index number" + msgstr "Selects un idge-a frum zee inpoot mesh by its index noomber" + +-msgid "Selects edge loops containing selected egdes" ++msgid "Selects edge loops containing selected edges" + msgstr "Selects idge-a luups cunteeening selected igdes" + +-msgid "Selects edge rings containing selected egdes" ++msgid "Selects edge rings containing selected edges" + msgstr "Selects idge-a reengs cunteeening selected igdes" + + msgid "Selects edges that are on the boundary of the mesh" +-- +2.20.1 + diff --git a/0009-Fix-permissions.patch b/0009-Fix-permissions.patch deleted file mode 100644 index 0a6dcef..0000000 --- a/0009-Fix-permissions.patch +++ /dev/null @@ -1,126 +0,0 @@ -From 278fda2d7f7fb1b3ca1d420a2d42c64a6abd9895 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= -Date: Fri, 6 Feb 2015 06:21:19 +0100 -Subject: [PATCH 09/10] Fix permissions. - ---- - distribution/win32/gtkrc | 0 - distribution/win32/nsis/headerimage.bmp | Bin - distribution/win32/nsis/headerimage.xcf | Bin - gendef/gendef.cc | 0 - k3dsdk/gil/boost/gil/extension/numeric/affine.hpp | 0 - k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp | 0 - .../gil/extension/numeric/channel_numeric_operations.hpp | 0 - k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp | 0 - k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp | 0 - .../gil/extension/numeric/pixel_numeric_operations.hpp | 0 - k3dsdk/gil/boost/gil/extension/numeric/resample.hpp | 0 - k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp | 0 - modules/collada_io/int_elements.cpp | 0 - modules/collada_io/int_elements.h | 0 - modules/collada_io/integration.cpp | 0 - modules/collada_io/integration.h | 0 - modules/collada_io/mesh_reader.cpp | 0 - modules/collada_io/module.cpp | 0 - modules/linear_curve/CMakeLists.txt | 0 - modules/ngui_material_manager_panel/CMakeLists.txt | 0 - share/k3d/icons/k3d.bmp | Bin - share/k3d/ngui/rasterized/sp_noShaderSelected.png | Bin - .../mesh.source.MeshSourceScript.teapots.reference.k3d | 0 - 23 files changed, 0 insertions(+), 0 deletions(-) - mode change 100755 => 100644 distribution/win32/gtkrc - mode change 100755 => 100644 distribution/win32/nsis/headerimage.bmp - mode change 100755 => 100644 distribution/win32/nsis/headerimage.xcf - mode change 100755 => 100644 gendef/gendef.cc - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/affine.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/resample.hpp - mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp - mode change 100755 => 100644 modules/collada_io/int_elements.cpp - mode change 100755 => 100644 modules/collada_io/int_elements.h - mode change 100755 => 100644 modules/collada_io/integration.cpp - mode change 100755 => 100644 modules/collada_io/integration.h - mode change 100755 => 100644 modules/collada_io/mesh_reader.cpp - mode change 100755 => 100644 modules/collada_io/module.cpp - mode change 100755 => 100644 modules/linear_curve/CMakeLists.txt - mode change 100755 => 100644 modules/ngui_material_manager_panel/CMakeLists.txt - mode change 100755 => 100644 share/k3d/icons/k3d.bmp - mode change 100755 => 100644 share/k3d/ngui/rasterized/sp_noShaderSelected.png - mode change 100755 => 100644 tests/meshes/mesh.source.MeshSourceScript.teapots.reference.k3d - -diff --git a/distribution/win32/gtkrc b/distribution/win32/gtkrc -old mode 100755 -new mode 100644 -diff --git a/distribution/win32/nsis/headerimage.bmp b/distribution/win32/nsis/headerimage.bmp -old mode 100755 -new mode 100644 -diff --git a/distribution/win32/nsis/headerimage.xcf b/distribution/win32/nsis/headerimage.xcf -old mode 100755 -new mode 100644 -diff --git a/gendef/gendef.cc b/gendef/gendef.cc -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp b/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp b/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp b/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp b/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp b/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp b/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp b/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp -old mode 100755 -new mode 100644 -diff --git a/k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp b/k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp -old mode 100755 -new mode 100644 -diff --git a/modules/collada_io/int_elements.cpp b/modules/collada_io/int_elements.cpp -old mode 100755 -new mode 100644 -diff --git a/modules/collada_io/int_elements.h b/modules/collada_io/int_elements.h -old mode 100755 -new mode 100644 -diff --git a/modules/collada_io/integration.cpp b/modules/collada_io/integration.cpp -old mode 100755 -new mode 100644 -diff --git a/modules/collada_io/integration.h b/modules/collada_io/integration.h -old mode 100755 -new mode 100644 -diff --git a/modules/collada_io/mesh_reader.cpp b/modules/collada_io/mesh_reader.cpp -old mode 100755 -new mode 100644 -diff --git a/modules/collada_io/module.cpp b/modules/collada_io/module.cpp -old mode 100755 -new mode 100644 -diff --git a/modules/linear_curve/CMakeLists.txt b/modules/linear_curve/CMakeLists.txt -old mode 100755 -new mode 100644 -diff --git a/modules/ngui_material_manager_panel/CMakeLists.txt b/modules/ngui_material_manager_panel/CMakeLists.txt -old mode 100755 -new mode 100644 -diff --git a/share/k3d/icons/k3d.bmp b/share/k3d/icons/k3d.bmp -old mode 100755 -new mode 100644 -diff --git a/share/k3d/ngui/rasterized/sp_noShaderSelected.png b/share/k3d/ngui/rasterized/sp_noShaderSelected.png -old mode 100755 -new mode 100644 -diff --git a/tests/meshes/mesh.source.MeshSourceScript.teapots.reference.k3d b/tests/meshes/mesh.source.MeshSourceScript.teapots.reference.k3d -old mode 100755 -new mode 100644 --- -2.14.3 - diff --git a/0010-Avoid-signed-unsigned-int-warning.patch b/0010-Avoid-signed-unsigned-int-warning.patch deleted file mode 100644 index 3374c6a..0000000 --- a/0010-Avoid-signed-unsigned-int-warning.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6c9a033d3add537f98869c31b64abe4e7ab3297b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= -Date: Fri, 6 Feb 2015 07:13:52 +0100 -Subject: [PATCH 10/10] Avoid signed/unsigned int warning. - ---- - k3dsdk/bitmap_modifier.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/k3dsdk/bitmap_modifier.h b/k3dsdk/bitmap_modifier.h -index 7f4bae5a..e8564678 100644 ---- a/k3dsdk/bitmap_modifier.h -+++ b/k3dsdk/bitmap_modifier.h -@@ -91,7 +91,7 @@ private: - bool resize_bitmap = false; - bool assign_pixels = false; - -- for(int i = 0; i != Hints.size(); ++i) -+ for(std::vector::size_type i = 0; i != Hints.size(); ++i) - { - // Input pixels changed, so all we have to do is reassign ours ... - if(dynamic_cast(Hints[i])) --- -2.14.3 - diff --git a/0010-COMP-Remove-use-of-std-auto_ptr.patch b/0010-COMP-Remove-use-of-std-auto_ptr.patch new file mode 100644 index 0000000..9da4355 --- /dev/null +++ b/0010-COMP-Remove-use-of-std-auto_ptr.patch @@ -0,0 +1,1202 @@ +From 3c0f93e37284c1a9fdb6008cc68cbe84d67cd4a3 Mon Sep 17 00:00:00 2001 +From: Bart Janssens +Date: Wed, 28 Feb 2018 23:18:56 +0100 +Subject: [PATCH 10/16] COMP: Remove use of std::auto_ptr + +--- + k3dsdk/data.h | 6 +++--- + k3dsdk/document.cpp | 20 +++++++++---------- + k3dsdk/explicit_snap_source.h | 4 ++-- + k3dsdk/explicit_snap_target.h | 4 ++-- + k3dsdk/istate_recorder.h | 6 +++--- + k3dsdk/ngui/angle_axis.cpp | 8 ++++---- + k3dsdk/ngui/angle_axis.h | 6 +++--- + k3dsdk/ngui/bitmap_preview.cpp | 8 ++++---- + k3dsdk/ngui/bitmap_preview.h | 10 +++++----- + k3dsdk/ngui/bounding_box.cpp | 8 ++++---- + k3dsdk/ngui/bounding_box.h | 6 +++--- + k3dsdk/ngui/check_button.cpp | 12 +++++------ + k3dsdk/ngui/check_button.h | 16 +++++++-------- + k3dsdk/ngui/check_menu_item.cpp | 12 +++++------ + k3dsdk/ngui/check_menu_item.h | 16 +++++++-------- + k3dsdk/ngui/color_chooser.cpp | 18 ++++++++--------- + k3dsdk/ngui/color_chooser.h | 16 +++++++-------- + k3dsdk/ngui/combo_box.cpp | 8 ++++---- + k3dsdk/ngui/combo_box.h | 10 +++++----- + k3dsdk/ngui/main_document_window.cpp | 8 ++++---- + k3dsdk/ngui/navigation_input_model.cpp | 2 +- + k3dsdk/ngui/node_chooser.cpp | 10 +++++----- + k3dsdk/ngui/node_chooser.h | 18 ++++++++--------- + k3dsdk/ngui/path_chooser.cpp | 8 ++++---- + k3dsdk/ngui/path_chooser.h | 10 +++++----- + k3dsdk/ngui/point3.cpp | 8 ++++---- + k3dsdk/ngui/point3.h | 6 +++--- + k3dsdk/ngui/property_button.cpp | 4 ++-- + k3dsdk/ngui/property_button.h | 2 +- + k3dsdk/ngui/property_label.cpp | 4 ++-- + k3dsdk/ngui/property_label.h | 2 +- + k3dsdk/ngui/property_widget.cpp | 4 ++-- + k3dsdk/ngui/property_widget.h | 10 +++++----- + k3dsdk/ngui/toggle_button.cpp | 4 ++-- + k3dsdk/state_change_set.cpp | 6 +++--- + k3dsdk/state_change_set.h | 2 +- + modules/ngui/user_interface.cpp | 4 ++-- + modules/ngui_material_manager_panel/panel.cpp | 8 ++++---- + 38 files changed, 157 insertions(+), 157 deletions(-) + +diff --git a/k3dsdk/data.h b/k3dsdk/data.h +index 44040ca2..1f920ffe 100644 +--- a/k3dsdk/data.h ++++ b/k3dsdk/data.h +@@ -1534,7 +1534,7 @@ private: + virtual void on_constrain(value_t& Value) = 0; + + /// Storage for the (optional) next constraint to apply in the chain +- const std::auto_ptr > m_next_constraint; ++ const std::unique_ptr > m_next_constraint; + }; + + namespace constraint +@@ -1650,7 +1650,7 @@ protected: + + private: + /// Stores the (mandatory) chain of constraint nodes to apply to incoming values +- const std::auto_ptr > m_constraint; ++ const std::unique_ptr > m_constraint; + }; + + ///////////////////////////////////////////////////////////////////////////// +@@ -2058,7 +2058,7 @@ protected: + + private: + /// Storage for this policy's value +- std::auto_ptr m_value; ++ std::unique_ptr m_value; + /// Set to true if this policy's value is stale and needs to be updated + bool m_update; + /// Stores a slot that will be executed to initialize this policy's value +diff --git a/k3dsdk/document.cpp b/k3dsdk/document.cpp +index 16cb6463..fb1d9386 100644 +--- a/k3dsdk/document.cpp ++++ b/k3dsdk/document.cpp +@@ -98,7 +98,7 @@ public: + delete Node; + } + +- void start_recording(std::auto_ptr ChangeSet, const char* const Context) ++ void start_recording(std::unique_ptr ChangeSet, const char* const Context) + { + if(!ChangeSet.get()) + { +@@ -109,11 +109,11 @@ public: + if(m_current_recording.get()) + { + log() << warning << "Forcing termination of unfinished changeset. Context: " << m_current_context << std::endl; +- std::auto_ptr changeset = stop_recording(Context); +- commit_change_set(changeset, "Unfinished changeset", Context); ++ std::unique_ptr changeset = stop_recording(Context); ++ commit_change_set(std::move(changeset), "Unfinished changeset", Context); + } + +- m_current_recording = ChangeSet; ++ m_current_recording = std::move(ChangeSet); + m_current_context = Context; + } + +@@ -122,12 +122,12 @@ public: + return m_current_recording.get(); + } + +- std::auto_ptr stop_recording(const char* const Context) ++ std::unique_ptr stop_recording(const char* const Context) + { + if(!m_current_recording.get()) + { + log() << error << "stop_recording() attempt with NULL changeset. Context: " << Context << std::endl; +- return m_current_recording; ++ return std::move(m_current_recording); + } + + // Let the world know that recording is finished ... +@@ -137,10 +137,10 @@ public: + sigc::signal::slot_list_type slots = m_recording_done_signal.slots(); + slots.erase(slots.begin(), slots.end()); + +- return m_current_recording; ++ return std::move(m_current_recording); + } + +- void commit_change_set(std::auto_ptr ChangeSet, const std::string& Label, const char* const Context) ++ void commit_change_set(std::unique_ptr ChangeSet, const std::string& Label, const char* const Context) + { + if(!ChangeSet.get()) + { +@@ -229,7 +229,7 @@ public: + + private: + /// Stores the current change set +- std::auto_ptr m_current_recording; ++ std::unique_ptr m_current_recording; + /// Stores the context for the current change set + const char* m_current_context; + /// Stores the root node(s) (if any) +@@ -546,7 +546,7 @@ documents_t& documents() + + idocument* create_document() + { +- std::auto_ptr document(new detail::document_implementation()); ++ std::unique_ptr document(new detail::document_implementation()); + detail::documents().push_back(document.get()); + return document.release()->m_document; + } +diff --git a/k3dsdk/explicit_snap_source.h b/k3dsdk/explicit_snap_source.h +index 2b6fe866..19f680a4 100644 +--- a/k3dsdk/explicit_snap_source.h ++++ b/k3dsdk/explicit_snap_source.h +@@ -48,8 +48,8 @@ public: + + std::string m_label; + k3d::point3 m_position; +- std::auto_ptr m_look; +- std::auto_ptr m_up; ++ std::unique_ptr m_look; ++ std::unique_ptr m_up; + groups_t m_groups; + }; + +diff --git a/k3dsdk/explicit_snap_target.h b/k3dsdk/explicit_snap_target.h +index 2ec5fbde..46cd896e 100644 +--- a/k3dsdk/explicit_snap_target.h ++++ b/k3dsdk/explicit_snap_target.h +@@ -49,8 +49,8 @@ public: + + std::string m_label; + k3d::point3 m_position; +- std::auto_ptr m_look; +- std::auto_ptr m_up; ++ std::unique_ptr m_look; ++ std::unique_ptr m_up; + groups_t m_groups; + }; + +diff --git a/k3dsdk/istate_recorder.h b/k3dsdk/istate_recorder.h +index 76c7db04..9350e4c8 100644 +--- a/k3dsdk/istate_recorder.h ++++ b/k3dsdk/istate_recorder.h +@@ -42,13 +42,13 @@ class istate_recorder : + { + public: + /// Called by clients to register a change set for recording subsequent state changes (the recorder assumes responsibility for the lifetime of the changeset) +- virtual void start_recording(std::auto_ptr ChangeSet, const char* const DebugLabel) = 0; ++ virtual void start_recording(std::unique_ptr ChangeSet, const char* const DebugLabel) = 0; + /// Returns the current change set being recorded (if any - could return NULL) + virtual state_change_set* current_change_set() = 0; + /// Called by clients to stop recording a set of state changes (the recorder relinquishes responsibility for the lifetime of the returned changeset) +- virtual std::auto_ptr stop_recording(const char* const DebugLabel) = 0; ++ virtual std::unique_ptr stop_recording(const char* const DebugLabel) = 0; + /// Called by clients once a set of changes is complete, to make them a part of the undo/redo tree (the recorder assumes responsibility for the lifetime of the change set) +- virtual void commit_change_set(std::auto_ptr ChangeSet, const std::string& Label, const char* const DebugLabel) = 0; ++ virtual void commit_change_set(std::unique_ptr ChangeSet, const std::string& Label, const char* const DebugLabel) = 0; + + /// Defines a collection of "nodes" in the hierarchy of recorded state changes + struct node; +diff --git a/k3dsdk/ngui/angle_axis.cpp b/k3dsdk/ngui/angle_axis.cpp +index 1a63b5ea..18e600bd 100644 +--- a/k3dsdk/ngui/angle_axis.cpp ++++ b/k3dsdk/ngui/angle_axis.cpp +@@ -142,9 +142,9 @@ private: + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : ++control::control(std::unique_ptr Data) : + base(3, 3, false), +- m_data(Data), ++ m_data(std::move(Data)), + m_reset_button(new Gtk::Button(_("Reset"))) + { + spin_button::control* const x = new spin_button::control(new spin_button_model(*m_data, 0), m_data->state_recorder); +@@ -181,9 +181,9 @@ void control::on_reset() + ///////////////////////////////////////////////////////////////////////////// + // proxy + +-std::auto_ptr proxy(k3d::iproperty& Property, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Property, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new detail::data_proxy(Property, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new detail::data_proxy(Property, StateRecorder, ChangeMessage)); + } + + } // namespace angle_axis +diff --git a/k3dsdk/ngui/angle_axis.h b/k3dsdk/ngui/angle_axis.h +index 272b4c33..386090b8 100644 +--- a/k3dsdk/ngui/angle_axis.h ++++ b/k3dsdk/ngui/angle_axis.h +@@ -90,14 +90,14 @@ class control : + typedef Gtk::Table base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Called to reset the object orientation to the origin + void on_reset(); + + /// Stores a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + /// Stores the reset button + Gtk::Button* const m_reset_button; + }; +@@ -106,7 +106,7 @@ private: + // proxy + + /// Convenience factory function for creating k3d::spin_button::idata_proxy objects, specialized for k3d::iproperty +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + } // namespace angle_axis + +diff --git a/k3dsdk/ngui/bitmap_preview.cpp b/k3dsdk/ngui/bitmap_preview.cpp +index fc17fd8c..6ad5b0b2 100644 +--- a/k3dsdk/ngui/bitmap_preview.cpp ++++ b/k3dsdk/ngui/bitmap_preview.cpp +@@ -72,21 +72,21 @@ private: + k3d::iproperty& m_readable_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data) ++std::unique_ptr proxy(k3d::iproperty& Data) + { +- return std::auto_ptr(new property_proxy(Data)); ++ return std::unique_ptr(new property_proxy(Data)); + } + + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : ++control::control(std::unique_ptr Data) : + base(Gtk::BUTTONBOX_START, 2), + m_image_buffer(64, 64), + m_alpha_buffer(64, 64), + m_image(new Gtk::Image()), + m_alpha(new Gtk::Image()), +- m_data(Data) ++ m_data(std::move(Data)) + { + pack_start(*manage(m_image), Gtk::PACK_SHRINK); + pack_start(*manage(m_alpha), Gtk::PACK_SHRINK); +diff --git a/k3dsdk/ngui/bitmap_preview.h b/k3dsdk/ngui/bitmap_preview.h +index e2a6577f..d0ba2c23 100644 +--- a/k3dsdk/ngui/bitmap_preview.h ++++ b/k3dsdk/ngui/bitmap_preview.h +@@ -73,7 +73,7 @@ class control : + typedef Gtk::HButtonBox base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Called whenever the underlying data changes +@@ -87,7 +87,7 @@ private: + /// Displays the alpha channel + Gtk::Image* const m_alpha; + /// Storeas a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + }; + + /// Provides an implementation of bitmap_preview::idata_proxy that supports any data source that supports the value(), set_value(), and changed_signal() concepts +@@ -120,13 +120,13 @@ private: + + /// Convenience factory function for creating bitmap_preview::idata_proxy objects + template +-std::auto_ptr proxy(data_t& Data) ++std::unique_ptr proxy(data_t& Data) + { +- return std::auto_ptr(new data_proxy(Data)); ++ return std::unique_ptr(new data_proxy(Data)); + } + + /// Specialization of proxy() for use with properties +-std::auto_ptr proxy(k3d::iproperty& Data); ++std::unique_ptr proxy(k3d::iproperty& Data); + + } // namespace bitmap_preview + +diff --git a/k3dsdk/ngui/bounding_box.cpp b/k3dsdk/ngui/bounding_box.cpp +index 43a30b52..b46b6460 100644 +--- a/k3dsdk/ngui/bounding_box.cpp ++++ b/k3dsdk/ngui/bounding_box.cpp +@@ -138,9 +138,9 @@ private: + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : ++control::control(std::unique_ptr Data) : + base(3, 3, false), +- m_data(Data) ++ m_data(std::move(Data)) + { + spin_button::control* const nx = new spin_button::control(new spin_button_model(*m_data, &k3d::bounding_box3::nx), m_data->state_recorder); + spin_button::control* const px = new spin_button::control(new spin_button_model(*m_data, &k3d::bounding_box3::px), m_data->state_recorder); +@@ -165,9 +165,9 @@ control::control(std::auto_ptr Data) : + ///////////////////////////////////////////////////////////////////////////// + // proxy + +-std::auto_ptr proxy(k3d::iproperty& Property, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Property, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new detail::data_proxy(Property, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new detail::data_proxy(Property, StateRecorder, ChangeMessage)); + } + + } // namespace bounding_box +diff --git a/k3dsdk/ngui/bounding_box.h b/k3dsdk/ngui/bounding_box.h +index 44881954..8520dda2 100644 +--- a/k3dsdk/ngui/bounding_box.h ++++ b/k3dsdk/ngui/bounding_box.h +@@ -91,18 +91,18 @@ class control : + typedef Gtk::Table base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Stores a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + }; + + ///////////////////////////////////////////////////////////////////////////// + // proxy + + /// Convenience factory function for creating k3d::spin_button::idata_proxy objects, specialized for k3d::iproperty +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + } // namespace bounding_box + +diff --git a/k3dsdk/ngui/check_button.cpp b/k3dsdk/ngui/check_button.cpp +index f3ca63f5..389200e6 100644 +--- a/k3dsdk/ngui/check_button.cpp ++++ b/k3dsdk/ngui/check_button.cpp +@@ -82,16 +82,16 @@ private: + k3d::iwritable_property* const m_writable_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : +- m_data(Data) ++control::control(std::unique_ptr Data) : ++ m_data(std::move(Data)) + { + set_name("k3d-check-button"); + attach(); +@@ -99,9 +99,9 @@ control::control(std::auto_ptr Data) : + set_sensitive(m_data.get() && m_data->writable()); + } + +-control::control(std::auto_ptr Data, const Glib::ustring& label, bool mnemonic) : ++control::control(std::unique_ptr Data, const Glib::ustring& label, bool mnemonic) : + base(label, mnemonic), +- m_data(Data) ++ m_data(std::move(Data)) + { + set_name("k3d-check-button"); + attach(); +diff --git a/k3dsdk/ngui/check_button.h b/k3dsdk/ngui/check_button.h +index 6a811ab8..cffd3a07 100644 +--- a/k3dsdk/ngui/check_button.h ++++ b/k3dsdk/ngui/check_button.h +@@ -90,8 +90,8 @@ class control : + typedef Gtk::CheckButton base; + + public: +- control(std::auto_ptr Data); +- control(std::auto_ptr Data, const Glib::ustring& label, bool mnemonic = false); ++ control(std::unique_ptr Data); ++ control(std::unique_ptr Data, const Glib::ustring& label, bool mnemonic = false); + + void on_toggled(); + +@@ -101,7 +101,7 @@ private: + /// Called to update the state of the widget when the underlying data source changes + void update(k3d::ihint*); + /// Storeas a reference to the underlying data object +- const std::auto_ptr m_data; ++ const std::unique_ptr m_data; + }; + + /// Provides an implementation of k3d::check_button::idata_proxy that supports any data source that supports the value(), set_value(), and changed_signal() concepts +@@ -145,18 +145,18 @@ private: + + /// Convenience factory function for creating check_button::idata_proxy objects + template +-std::auto_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) ++std::unique_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + /// Convenience factory function for creating check_button::idata_proxy objects specialized for use with k3d::iproperty +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + /// Convenience factory function for creating empty check_button::idata_proxy objects +-inline std::auto_ptr proxy() ++inline std::unique_ptr proxy() + { +- return std::auto_ptr(0); ++ return std::unique_ptr(nullptr); + } + + } // namespace check_button +diff --git a/k3dsdk/ngui/check_menu_item.cpp b/k3dsdk/ngui/check_menu_item.cpp +index 2e95114b..8f2c0f5a 100644 +--- a/k3dsdk/ngui/check_menu_item.cpp ++++ b/k3dsdk/ngui/check_menu_item.cpp +@@ -78,24 +78,24 @@ private: + k3d::iwritable_property* const m_writable_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : +- m_data(Data) ++control::control(std::unique_ptr Data) : ++ m_data(std::move(Data)) + { + set_name("k3d-check-menu-item"); + attach(); + } + +-control::control(std::auto_ptr Data, const Glib::ustring& label, bool mnemonic) : ++control::control(std::unique_ptr Data, const Glib::ustring& label, bool mnemonic) : + base(label, mnemonic), +- m_data(Data) ++ m_data(std::move(Data)) + { + set_name("k3d-check-menu-item"); + attach(); +diff --git a/k3dsdk/ngui/check_menu_item.h b/k3dsdk/ngui/check_menu_item.h +index a16fc9aa..4ce2ecb5 100644 +--- a/k3dsdk/ngui/check_menu_item.h ++++ b/k3dsdk/ngui/check_menu_item.h +@@ -88,8 +88,8 @@ class control : + typedef Gtk::CheckMenuItem base; + + public: +- control(std::auto_ptr Data); +- control(std::auto_ptr Data, const Glib::ustring& label, bool mnemonic = false); ++ control(std::unique_ptr Data); ++ control(std::unique_ptr Data, const Glib::ustring& label, bool mnemonic = false); + + void on_toggled(); + +@@ -100,7 +100,7 @@ private: + void update(k3d::ihint*); + + /// Stores a reference to the underlying data object +- const std::auto_ptr m_data; ++ const std::unique_ptr m_data; + }; + + /// Provides an implementation of k3d::check_menu_item::idata_proxy that supports any data source that supports the value(), set_value(), and changed_signal() concepts +@@ -139,18 +139,18 @@ private: + + /// Convenience factory function for creating check_menu_item::idata_proxy objects + template +-std::auto_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) ++std::unique_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + /// Convenience factory function for creating check_menu_item::idata_proxy objects specialized for use with k3d::iproperty objects +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + /// Convenience factory function for creating empty check_menu_item::idata_proxy objects +-inline std::auto_ptr proxy() ++inline std::unique_ptr proxy() + { +- return std::auto_ptr(); ++ return std::unique_ptr(); + } + + } // namespace check_menu_item +diff --git a/k3dsdk/ngui/color_chooser.cpp b/k3dsdk/ngui/color_chooser.cpp +index ca6439c7..09701b7c 100644 +--- a/k3dsdk/ngui/color_chooser.cpp ++++ b/k3dsdk/ngui/color_chooser.cpp +@@ -58,8 +58,8 @@ class color_selection_dialog: + typedef application_window base; + + public: +- color_selection_dialog(std::auto_ptr Data) : +- m_data(Data) ++ color_selection_dialog(std::unique_ptr Data) : ++ m_data(std::move(Data)) + { + Gtk::VBox* const vbox = new Gtk::VBox(false); + add(*manage(vbox)); +@@ -117,7 +117,7 @@ private: + + Gtk::ColorSelection m_color_selection; + sigc::connection m_color_changed_connection; +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + }; + + } // namespace detail +@@ -168,9 +168,9 @@ public: + return m_readable_data.property_changed_signal(); + } + +- std::auto_ptr clone() ++ std::unique_ptr clone() + { +- return std::auto_ptr(new data_proxy(m_readable_data, state_recorder, change_message)); ++ return std::unique_ptr(new data_proxy(m_readable_data, state_recorder, change_message)); + } + + private: +@@ -181,17 +181,17 @@ private: + k3d::iwritable_property* const m_writable_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : ++control::control(std::unique_ptr Data) : + m_area(new Gtk::DrawingArea()), +- m_data(Data) ++ m_data(std::move(Data)) + { + m_area->signal_expose_event().connect(sigc::hide(sigc::mem_fun(*this, &control::on_redraw))); + add(*manage(m_area)); +diff --git a/k3dsdk/ngui/color_chooser.h b/k3dsdk/ngui/color_chooser.h +index 08bd15b3..b5084706 100644 +--- a/k3dsdk/ngui/color_chooser.h ++++ b/k3dsdk/ngui/color_chooser.h +@@ -68,7 +68,7 @@ public: + const Glib::ustring change_message; + + /// Virtual copy constructor idiom +- virtual std::auto_ptr clone() = 0; ++ virtual std::unique_ptr clone() = 0; + + protected: + idata_proxy(k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) : +@@ -92,7 +92,7 @@ class control : + typedef Gtk::Button base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + ~control(); + + private: +@@ -106,7 +106,7 @@ private: + /// Displays the currently color + Gtk::DrawingArea* const m_area; + /// Stores a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + /// Stores a signal that will be emitted when the control is destroyed + sigc::signal m_deleted_signal; + }; +@@ -138,9 +138,9 @@ public: + return m_data.changed_signal(); + } + +- std::auto_ptr clone() ++ std::unique_ptr clone() + { +- return std::auto_ptr(new data_proxy(m_data, state_recorder, change_message)); ++ return std::unique_ptr(new data_proxy(m_data, state_recorder, change_message)); + } + + private: +@@ -152,13 +152,13 @@ private: + + /// Convenience factory function for creating color_chooser::idata_proxy objects + template +-std::auto_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = "") ++std::unique_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = "") + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + /// Convenience factory function for creating color_chooser::idata_proxy objects, specialized for k3d::iproperty +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = ""); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = ""); + + } // namespace color_chooser + +diff --git a/k3dsdk/ngui/combo_box.cpp b/k3dsdk/ngui/combo_box.cpp +index d45737d3..a24ca6b5 100644 +--- a/k3dsdk/ngui/combo_box.cpp ++++ b/k3dsdk/ngui/combo_box.cpp +@@ -79,16 +79,16 @@ private: + k3d::iwritable_property* const m_writable_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : +- m_data(Data) ++control::control(std::unique_ptr Data) : ++ m_data(std::move(Data)) + { + if(m_data.get()) + m_data->changed_signal().connect(sigc::mem_fun(*this, &control::data_changed)); +diff --git a/k3dsdk/ngui/combo_box.h b/k3dsdk/ngui/combo_box.h +index 39e66d92..79c838b1 100644 +--- a/k3dsdk/ngui/combo_box.h ++++ b/k3dsdk/ngui/combo_box.h +@@ -90,7 +90,7 @@ class control : + typedef Gtk::ComboBoxEntry base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + /// Defines a predefined (but not exclusive) list of values that should be available to the user + typedef std::vector values_t; +@@ -114,7 +114,7 @@ private: + void set_new_value(); + + /// Stores a proxy for the underlying data source +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + + /// Defines a data model for the underlying combo box widget + class columns : +@@ -173,13 +173,13 @@ private: + + /// Convenience factory function for creating combo_box::idata_proxy objects + template +-std::auto_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) ++std::unique_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + /// Convenience factory function for creating combo_box::idata_proxy objects for use with k3d::iproperty +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + } // namespace combo_box + +diff --git a/k3dsdk/ngui/main_document_window.cpp b/k3dsdk/ngui/main_document_window.cpp +index 2264fc84..dc6756cb 100644 +--- a/k3dsdk/ngui/main_document_window.cpp ++++ b/k3dsdk/ngui/main_document_window.cpp +@@ -2852,13 +2852,13 @@ private: + static unsigned long m_count; + + /// Stores the Edit > Undo menu item +- std::auto_ptr m_undo_menu_item; ++ std::unique_ptr m_undo_menu_item; + /// Stores the Edit > Undo All menu item +- std::auto_ptr m_undo_all_menu_item; ++ std::unique_ptr m_undo_all_menu_item; + /// Stores the Edit > Redo menu item +- std::auto_ptr m_redo_menu_item; ++ std::unique_ptr m_redo_menu_item; + /// Stores the Edit > Redo All menu item +- std::auto_ptr m_redo_all_menu_item; ++ std::unique_ptr m_redo_all_menu_item; + /// Set to true iff current panel was maximized + k3d_data(bool, immutable_name, change_signal, no_undo, local_storage, no_constraint, no_property, no_serialization) m_maximize_panel; + /// Set to true iff unpinned panels are hidden +diff --git a/k3dsdk/ngui/navigation_input_model.cpp b/k3dsdk/ngui/navigation_input_model.cpp +index 3e4b7184..3655722a 100644 +--- a/k3dsdk/ngui/navigation_input_model.cpp ++++ b/k3dsdk/ngui/navigation_input_model.cpp +@@ -638,7 +638,7 @@ struct navigation_input_model::implementation + double m_dolly_sensitivity; + + /// Context menu +- std::auto_ptr m_context_menu; ++ std::unique_ptr m_context_menu; + + k3d::timer m_timer; + }; +diff --git a/k3dsdk/ngui/node_chooser.cpp b/k3dsdk/ngui/node_chooser.cpp +index 46628074..a42c523c 100644 +--- a/k3dsdk/ngui/node_chooser.cpp ++++ b/k3dsdk/ngui/node_chooser.cpp +@@ -92,10 +92,10 @@ private: + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data, std::auto_ptr Filter) : ++control::control(std::unique_ptr Data, std::unique_ptr Filter) : + base(false, 0), +- m_data(Data), +- m_filter(Filter), ++ m_data(std::move(Data)), ++ m_filter(std::move(Filter)), + m_label(new Gtk::Label()), + m_menu_button(new Gtk::Button()), + m_edit_button(new Gtk::Button()) +@@ -262,9 +262,9 @@ void control::on_edit() + panel::mediator(m_data->document().document()).set_focus(*m_data->node()); + } + +-std::auto_ptr filter(k3d::iproperty& Data) ++std::unique_ptr filter(k3d::iproperty& Data) + { +- return std::auto_ptr(new detail::property_filter(Data)); ++ return std::unique_ptr(new detail::property_filter(Data)); + } + + } // namespace node_chooser +diff --git a/k3dsdk/ngui/node_chooser.h b/k3dsdk/ngui/node_chooser.h +index 2d1c1ea7..65b7759f 100644 +--- a/k3dsdk/ngui/node_chooser.h ++++ b/k3dsdk/ngui/node_chooser.h +@@ -120,7 +120,7 @@ class control : + typedef Gtk::HBox base; + + public: +- control(std::auto_ptr Data, std::auto_ptr Filter); ++ control(std::unique_ptr Data, std::unique_ptr Filter); + + private: + /// Called when new nodes are added to the document +@@ -144,15 +144,15 @@ private: + void reset_menu(); + + /// Stores a reference to the underlying data node +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + /// Stores a filter node for controlling the set of available choices +- std::auto_ptr m_filter; ++ std::unique_ptr m_filter; + + Gtk::Label* const m_label; + Gtk::Button* const m_menu_button; + Gtk::Button* const m_edit_button; + +- std::auto_ptr m_menu; ++ std::unique_ptr m_menu; + std::map m_menu_item_create; + std::map m_menu_item_select; + }; +@@ -246,9 +246,9 @@ private: + + /// Convenience factory function for creating node_chooser::idata_proxy objects + template +-std::auto_ptr proxy(document_state& DocumentState, data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = "") ++std::unique_ptr proxy(document_state& DocumentState, data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = "") + { +- return std::auto_ptr(new data_proxy(DocumentState, Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(DocumentState, Data, StateRecorder, ChangeMessage)); + } + + /// Provides an implementation of k3d::node_chooser::iselection_filter that filters based on a specific interface type +@@ -283,13 +283,13 @@ private: + + /// Convenience factory function for creating k3d::node_chooser::iselection_filter nodes + template +-std::auto_ptr filter(const bool AllowNone) ++std::unique_ptr filter(const bool AllowNone) + { +- return std::auto_ptr(new selection_filter(AllowNone)); ++ return std::unique_ptr(new selection_filter(AllowNone)); + } + + /// Convenience factory function for creating k3d::node_chooser::iselection_filter nodes for use with k3d::iproperty nodes +-std::auto_ptr filter(k3d::iproperty& Data); ++std::unique_ptr filter(k3d::iproperty& Data); + + } // namespace node_chooser + +diff --git a/k3dsdk/ngui/path_chooser.cpp b/k3dsdk/ngui/path_chooser.cpp +index 4112907d..791c03f5 100644 +--- a/k3dsdk/ngui/path_chooser.cpp ++++ b/k3dsdk/ngui/path_chooser.cpp +@@ -137,21 +137,21 @@ private: + k3d::iwatched_path_property* const m_watched_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : ++control::control(std::unique_ptr Data) : + base(false, 0), + m_entry(new hotkey_entry), + m_button(new Gtk::Button("...")), + m_combo(new Gtk::ComboBox()), + m_toggle_button(0), +- m_data(Data), ++ m_data(std::move(Data)), + m_disable_set_value(false) + { + m_entry->signal_focus_out_event().connect(sigc::mem_fun(*this, &control::on_focus_out_event)); +diff --git a/k3dsdk/ngui/path_chooser.h b/k3dsdk/ngui/path_chooser.h +index 197c1e30..9baade94 100644 +--- a/k3dsdk/ngui/path_chooser.h ++++ b/k3dsdk/ngui/path_chooser.h +@@ -106,7 +106,7 @@ class control : + typedef Gtk::HBox base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Called when the control loses the keyboard focus +@@ -135,7 +135,7 @@ private: + /// Stores a toggle button to set if the file should be watched, if the path property is watchable + Gtk::ToggleButton* m_toggle_button; + /// Stores a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + /// Prevent set_value() and on_watch_toggle from being called recursively (a hack) + bool m_disable_set_value; + +@@ -192,13 +192,13 @@ private: + + /// Convenience factory function for creating idata_proxy objects + template +-std::auto_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) ++std::unique_ptr proxy(data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + + /// Convenience factory function for creating idata_proxy objects +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + } // namespace path_chooser + +diff --git a/k3dsdk/ngui/point3.cpp b/k3dsdk/ngui/point3.cpp +index 388d6bcf..bde10988 100644 +--- a/k3dsdk/ngui/point3.cpp ++++ b/k3dsdk/ngui/point3.cpp +@@ -165,9 +165,9 @@ private: + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : ++control::control(std::unique_ptr Data) : + base(3, 3, false), +- m_data(Data), ++ m_data(std::move(Data)), + m_reset_button(0) + { + spin_button::control* const x = new spin_button::control(new spin_button_model(*m_data, 0), m_data->state_recorder); +@@ -208,9 +208,9 @@ void control::on_reset() + ///////////////////////////////////////////////////////////////////////////// + // proxy + +-std::auto_ptr proxy(k3d::iproperty& Property, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Property, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new detail::data_proxy(Property, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new detail::data_proxy(Property, StateRecorder, ChangeMessage)); + } + + } // namespace point +diff --git a/k3dsdk/ngui/point3.h b/k3dsdk/ngui/point3.h +index 505db4a8..7c03339c 100644 +--- a/k3dsdk/ngui/point3.h ++++ b/k3dsdk/ngui/point3.h +@@ -92,14 +92,14 @@ class control : + typedef Gtk::Table base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Called to reset the object point to the origin + void on_reset(); + + /// Stores a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + /// Stores the reset button + Gtk::Button* m_reset_button; + }; +@@ -108,7 +108,7 @@ private: + // proxy + + /// Convenience factory function for creating k3d::spin_button::idata_proxy objects, specialized for k3d::iproperty +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = Glib::ustring()); + + } // namespace point + +diff --git a/k3dsdk/ngui/property_button.cpp b/k3dsdk/ngui/property_button.cpp +index 8b8d4874..574ae014 100644 +--- a/k3dsdk/ngui/property_button.cpp ++++ b/k3dsdk/ngui/property_button.cpp +@@ -55,8 +55,8 @@ namespace property_button + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : +- base(Data), ++control::control(std::unique_ptr Data) : ++ base(std::move(Data)), + m_image(new Gtk::Image()) + { + set_name("k3d-property-button"); +diff --git a/k3dsdk/ngui/property_button.h b/k3dsdk/ngui/property_button.h +index dc8433f0..d4b64cc4 100644 +--- a/k3dsdk/ngui/property_button.h ++++ b/k3dsdk/ngui/property_button.h +@@ -51,7 +51,7 @@ class control : + typedef property_widget::control base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Called whenever the state of the underlying data has changed +diff --git a/k3dsdk/ngui/property_label.cpp b/k3dsdk/ngui/property_label.cpp +index 812e7fd2..9ddd7d62 100644 +--- a/k3dsdk/ngui/property_label.cpp ++++ b/k3dsdk/ngui/property_label.cpp +@@ -55,8 +55,8 @@ namespace property_label + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : +- base(Data) ++control::control(std::unique_ptr Data) : ++ base(std::move(Data)) + { + set_name("k3d-property-label"); + +diff --git a/k3dsdk/ngui/property_label.h b/k3dsdk/ngui/property_label.h +index dab93ed2..5f219412 100644 +--- a/k3dsdk/ngui/property_label.h ++++ b/k3dsdk/ngui/property_label.h +@@ -50,7 +50,7 @@ class control : + typedef property_widget::control base; + + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + + private: + /// Called whenever the state of the underlying data has changed +diff --git a/k3dsdk/ngui/property_widget.cpp b/k3dsdk/ngui/property_widget.cpp +index c588bc53..3800cf34 100644 +--- a/k3dsdk/ngui/property_widget.cpp ++++ b/k3dsdk/ngui/property_widget.cpp +@@ -58,8 +58,8 @@ namespace property_widget + ///////////////////////////////////////////////////////////////////////////// + // control + +-control::control(std::auto_ptr Data) : +- m_data(Data), ++control::control(std::unique_ptr Data) : ++ m_data(std::move(Data)), + m_show_connected(0), + m_disconnect(0) + { +diff --git a/k3dsdk/ngui/property_widget.h b/k3dsdk/ngui/property_widget.h +index 80310c68..cd342419 100644 +--- a/k3dsdk/ngui/property_widget.h ++++ b/k3dsdk/ngui/property_widget.h +@@ -83,7 +83,7 @@ private: + class control + { + public: +- control(std::auto_ptr Data); ++ control(std::unique_ptr Data); + virtual ~control(); + + bool button_press_event(GdkEventButton* Event); +@@ -102,9 +102,9 @@ protected: + void disconnect(k3d::inode* Object); + + /// Stores a reference to the underlying data object +- std::auto_ptr m_data; ++ std::unique_ptr m_data; + /// Context menu displayed when the user clicks on the widget +- std::auto_ptr m_menu; ++ std::unique_ptr m_menu; + /// Caches the "show connected" widget for tutorial playback + Gtk::MenuItem* m_show_connected; + /// Maps properties to widgets for tutorial playback +@@ -179,9 +179,9 @@ private: + + /// Convenience factory function for creating property_widget::idata_proxy objects + template +-std::auto_ptr proxy(document_state& DocumentState, data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = "") ++std::unique_ptr proxy(document_state& DocumentState, data_t& Data, k3d::istate_recorder* const StateRecorder = 0, const Glib::ustring& ChangeMessage = "") + { +- return std::auto_ptr(new data_proxy(DocumentState, Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(DocumentState, Data, StateRecorder, ChangeMessage)); + } + + } // namespace property_widget +diff --git a/k3dsdk/ngui/toggle_button.cpp b/k3dsdk/ngui/toggle_button.cpp +index 81ba9ac4..9532a88c 100644 +--- a/k3dsdk/ngui/toggle_button.cpp ++++ b/k3dsdk/ngui/toggle_button.cpp +@@ -78,9 +78,9 @@ private: + k3d::iwritable_property* const m_writable_data; + }; + +-std::auto_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) ++std::unique_ptr proxy(k3d::iproperty& Data, k3d::istate_recorder* const StateRecorder, const Glib::ustring& ChangeMessage) + { +- return std::auto_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); ++ return std::unique_ptr(new data_proxy(Data, StateRecorder, ChangeMessage)); + } + */ + +diff --git a/k3dsdk/state_change_set.cpp b/k3dsdk/state_change_set.cpp +index 37d54674..db889b5c 100644 +--- a/k3dsdk/state_change_set.cpp ++++ b/k3dsdk/state_change_set.cpp +@@ -120,9 +120,9 @@ size_t state_change_set::redo_count() const + ///////////////////////////////////////////////////////////////////////////// + // create_state_change_set + +-std::auto_ptr create_state_change_set(const char* const Context) ++std::unique_ptr create_state_change_set(const char* const Context) + { +- return std::auto_ptr(new state_change_set()); ++ return std::unique_ptr(new state_change_set()); + } + + ///////////////////////////////////////////////////////////////////////////// +@@ -139,7 +139,7 @@ void start_state_change_set(idocument& Document, const char* const Context) + void cancel_state_change_set(idocument& Document, const char* const Context) + { + // Tell the document to stop recording ... +- const std::auto_ptr changeset(Document.state_recorder().stop_recording(Context)); ++ const std::unique_ptr changeset(Document.state_recorder().stop_recording(Context)); + + // Undo any changes up to this point, and let the leftover data get destroyed ... + return_if_fail(changeset.get()); +diff --git a/k3dsdk/state_change_set.h b/k3dsdk/state_change_set.h +index 4d9bfe0e..640b0448 100644 +--- a/k3dsdk/state_change_set.h ++++ b/k3dsdk/state_change_set.h +@@ -75,7 +75,7 @@ private: + #define K3D_CHANGE_SET_CONTEXT __FILE__ " (" K3D_CHANGE_SET_CONTEXT_STRINGIZE(__LINE__) ")" + + /// Factory function for creating standard state change set objects +-std::auto_ptr create_state_change_set(const char* const Context); ++std::unique_ptr create_state_change_set(const char* const Context); + /// Convenience function that starts recording a state change set for undo/redo purposes + void start_state_change_set(idocument& Document, const char* const Context); + /// Convenience function that cancels recording the current state change set +diff --git a/modules/ngui/user_interface.cpp b/modules/ngui/user_interface.cpp +index 2a5fb21d..8a74c9c8 100644 +--- a/modules/ngui/user_interface.cpp ++++ b/modules/ngui/user_interface.cpp +@@ -560,9 +560,9 @@ private: + /// Set to true iff we should display the tutorial menu at startup + k3d::bool_t m_show_learning_menu; + /// Stores the main loop +- std::auto_ptr m_main; ++ std::unique_ptr m_main; + /// Stores the (optional) splash screen +- std::auto_ptr m_splash_box; ++ std::unique_ptr m_splash_box; + + /// Stores (optional) auto-start plugins + typedef std::vector auto_start_plugins_t; +diff --git a/modules/ngui_material_manager_panel/panel.cpp b/modules/ngui_material_manager_panel/panel.cpp +index 97d430d0..325d2e76 100644 +--- a/modules/ngui_material_manager_panel/panel.cpp ++++ b/modules/ngui_material_manager_panel/panel.cpp +@@ -334,10 +334,10 @@ public: + document_state& m_document_state; + + //Model That Stores Data +- std::auto_ptr m_model; ++ std::unique_ptr m_model; + + //The Right Content Pane For The Panel +- std::auto_ptr m_rpane_content; ++ std::unique_ptr m_rpane_content; + + //Flag To Hold Startup Routine Heads Up + bool m_init; +@@ -614,7 +614,7 @@ void Implementation::buildContentPanel(Gtk::TreeModel::Row row, bool m_col_ismg) + { + //Delete Object. Create New GroupContentPanel Through Smart Pointer + m_rpane_content +- = std::auto_ptr ++ = std::unique_ptr + (new GroupContentPanel(&m_main_hpaned, + row->get_value(m_columns.m_col_mgptr), + &m_document_state)); +@@ -627,7 +627,7 @@ void Implementation::buildContentPanel(Gtk::TreeModel::Row row, bool m_col_ismg) + { + //Delete Object. Create New MaterialContentPanel Through Smart Pointer + m_rpane_content +- = std::auto_ptr ++ = std::unique_ptr + (new MaterialContentPanel(&m_main_hpaned, + row->get_value(m_columns.m_col_moptr), + &m_document_state)); +-- +2.20.1 + diff --git a/0011-ENH-Add-SelectPointsAboveNumber-tool.patch b/0011-ENH-Add-SelectPointsAboveNumber-tool.patch new file mode 100644 index 0000000..d5bb9e5 --- /dev/null +++ b/0011-ENH-Add-SelectPointsAboveNumber-tool.patch @@ -0,0 +1,139 @@ +From cfd569a8414e2a7c9edc0576da8b84970fb01525 Mon Sep 17 00:00:00 2001 +From: Bart Janssens +Date: Tue, 24 Jul 2018 15:53:35 +0200 +Subject: [PATCH 11/16] ENH: Add SelectPointsAboveNumber tool + +--- + modules/selection/module.cpp | 3 +- + .../selection/select_points_above_number.cpp | 100 ++++++++++++++++++ + 2 files changed, 102 insertions(+), 1 deletion(-) + create mode 100644 modules/selection/select_points_above_number.cpp + +diff --git a/modules/selection/module.cpp b/modules/selection/module.cpp +index 1464eac2..5b3c326a 100644 +--- a/modules/selection/module.cpp ++++ b/modules/selection/module.cpp +@@ -57,6 +57,7 @@ extern k3d::iplugin_factory& select_n_sided_factory(); + extern k3d::iplugin_factory& select_nurbs_curve_by_number_factory(); + extern k3d::iplugin_factory& select_nurbs_patch_by_number_factory(); + extern k3d::iplugin_factory& select_point_by_number_factory(); ++extern k3d::iplugin_factory &select_points_above_number_factory(); + + } // namespace selection + +@@ -90,5 +91,5 @@ K3D_MODULE_START(Registry) + Registry.register_factory(module::selection::select_nurbs_curve_by_number_factory()); + Registry.register_factory(module::selection::select_nurbs_patch_by_number_factory()); + Registry.register_factory(module::selection::select_point_by_number_factory()); ++ Registry.register_factory(module::selection::select_points_above_number_factory()); + K3D_MODULE_END +- +diff --git a/modules/selection/select_points_above_number.cpp b/modules/selection/select_points_above_number.cpp +new file mode 100644 +index 00000000..d999e833 +--- /dev/null ++++ b/modules/selection/select_points_above_number.cpp +@@ -0,0 +1,100 @@ ++// K-3D ++// Copyright (c) 1995-2005, Timothy M. Shead ++// ++// Contact: tshead@k-3d.com ++// ++// This program is free software; you can redistribute it and/or ++// modify it under the terms of the GNU General Public ++// License as published by the Free Software Foundation; either ++// version 2 of the License, or (at your option) any later version. ++// ++// This program is distributed in the hope that it will be useful, ++// but WITHOUT ANY WARRANTY; without even the implied warranty of ++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++// General Public License for more details. ++// ++// You should have received a copy of the GNU General Public ++// License along with this program; if not, write to the Free Software ++// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ ++/** \file ++ \author Timothy M. Shead (tshead@k-3d.com) ++ \author Romain Behar (romainbehar@yahoo.com) ++*/ ++ ++#include ++#include ++#include ++#include ++#include ++ ++namespace module ++{ ++ ++namespace selection ++{ ++ ++///////////////////////////////////////////////////////////////////////////// ++// select_points_above_number ++ ++class select_points_above_number : ++ public k3d::mesh_selection_modifier ++{ ++ typedef k3d::mesh_selection_modifier base; ++ ++public: ++ select_points_above_number(k3d::iplugin_factory& Factory, k3d::idocument& Document) : ++ base(Factory, Document), ++ m_index(init_owner(*this) + init_name("index") + init_label(_("Point Index")) + init_description(_("Point Index")) + init_value(0L) + init_step_increment(1) + init_units(typeid(k3d::measurement::scalar))) ++ { ++ m_index.changed_signal().connect(k3d::hint::converter< ++ k3d::hint::convert >(make_update_mesh_slot())); ++ } ++ ++ void on_update_selection(const k3d::mesh& Input, k3d::mesh& Output) ++ { ++ if(Output.point_selection) ++ { ++ k3d::mesh::selection_t& point_selection = Output.point_selection.writable(); ++ std::fill(point_selection.begin(), point_selection.end(), 0.0); ++ ++ const k3d::int32_t index = m_index.pipeline_value(); ++ const k3d::int32_t npoints = point_selection.size(); ++ for(k3d::int32_t pt_idx = 0; pt_idx != npoints; ++pt_idx) ++ { ++ if(pt_idx >= index) ++ point_selection[pt_idx] = 1.0; ++ } ++ } ++ } ++ ++ static k3d::iplugin_factory& get_factory() ++ { ++ static k3d::document_plugin_factory > > factory( ++ k3d::uuid(0x01c131dc, 0x821c4bf1, 0xba13bb1e, 0xc73af3a5), ++ "SelectPointsAboveNumber", ++ "Selects all points with an index above or equal to the given number", ++ "Selection", ++ k3d::iplugin_factory::STABLE); ++ ++ return factory; ++ } ++ ++private: ++ k3d_data(k3d::int32_t, immutable_name, change_signal, with_undo, local_storage, no_constraint, measurement_property, with_serialization) m_index; ++}; ++ ++///////////////////////////////////////////////////////////////////////////// ++// select_points_above_number_factory ++ ++k3d::iplugin_factory& select_points_above_number_factory() ++{ ++ return select_points_above_number::get_factory(); ++} ++ ++} // namespace selection ++ ++} // namespace module ++ +-- +2.20.1 + diff --git a/0012-FIX-Update-to-Boost-1.68.patch b/0012-FIX-Update-to-Boost-1.68.patch new file mode 100644 index 0000000..bafe17d --- /dev/null +++ b/0012-FIX-Update-to-Boost-1.68.patch @@ -0,0 +1,406 @@ +From 97942616fc20c9f13d57a84b728b77f549c945a9 Mon Sep 17 00:00:00 2001 +From: Bart Janssens +Date: Mon, 14 Jan 2019 00:01:02 +0100 +Subject: [PATCH 12/16] FIX: Update to Boost 1.68 + +--- + k3dsdk/bitmap.h | 3 +++ + .../gil/boost/gil/extension/numeric/affine.hpp | 6 +++--- + .../boost/gil/extension/numeric/algorithm.hpp | 2 +- + .../gil/boost/gil/extension/numeric/convolve.hpp | 16 ++++++++-------- + .../gil/boost/gil/extension/numeric/resample.hpp | 2 +- + k3dsdk/istreaming_bitmap_source.h | 1 + + modules/jpeg_io/bitmap_importer.cpp | 4 ++-- + modules/jpeg_io/bitmap_reader.cpp | 4 ++-- + modules/jpeg_io/bitmap_writer.cpp | 4 ++-- + modules/png_io/bitmap_importer.cpp | 4 ++-- + modules/png_io/bitmap_reader.cpp | 4 ++-- + modules/png_io/bitmap_writer.cpp | 4 ++-- + modules/tiff_io/bitmap_exporter.cpp | 4 ++-- + modules/tiff_io/bitmap_importer.cpp | 4 ++-- + modules/tiff_io/bitmap_reader.cpp | 4 ++-- + modules/tiff_io/bitmap_writer.cpp | 4 ++-- + 16 files changed, 37 insertions(+), 33 deletions(-) + +diff --git a/k3dsdk/bitmap.h b/k3dsdk/bitmap.h +index 4fa6b1fa..b186fd5d 100644 +--- a/k3dsdk/bitmap.h ++++ b/k3dsdk/bitmap.h +@@ -41,6 +41,9 @@ namespace boost + namespace gil + { + ++typedef boost::uint8_t bits8; ++typedef float32_t bits32f; ++ + template<> + struct channel_traits + { +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp b/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp +index 55384585..011c5c7a 100755 +--- a/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp +@@ -47,7 +47,7 @@ public: + T a,b,c,d,e,f; + }; + +-template GIL_FORCEINLINE ++template BOOST_FORCEINLINE + matrix3x2 operator*(const matrix3x2& m1, const matrix3x2& m2) { + return matrix3x2( + m1.a * m2.a + m1.b * m2.c, +@@ -58,7 +58,7 @@ matrix3x2 operator*(const matrix3x2& m1, const matrix3x2& m2) { + m1.e * m2.b + m1.f * m2.d + m2.f ); + } + +-template GIL_FORCEINLINE ++template BOOST_FORCEINLINE + point2 operator*(const point2& p, const matrix3x2& m) { + return point2(m.a*p.x + m.c*p.y + m.e, m.b*p.x + m.d*p.y + m.f); + } +@@ -83,7 +83,7 @@ struct mapping_traits > { + typedef point2 result_type; + }; + +-template GIL_FORCEINLINE ++template BOOST_FORCEINLINE + point2 transform(const matrix3x2& mat, const point2& src) { return src * mat; } + + } } // namespace boost::gil +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp b/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp +index 22d4940e..5fc44f61 100755 +--- a/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp +@@ -80,7 +80,7 @@ struct inner_product_k_t<0> { + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + _Tp inner_product_k(_InputIterator1 __first1, + _InputIterator2 __first2, + _Tp __init, +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp b/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp +index ef6c7c73..db962099 100755 +--- a/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp +@@ -142,7 +142,7 @@ public: + /// \ingroup ImageAlgorithms + ///correlate a 1D variable-size kernel along the rows of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void correlate_rows(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + detail::correlate_rows_imp(src,ker,dst,option,detail::correlator_n(ker.size())); +@@ -151,7 +151,7 @@ void correlate_rows(const SrcView& src, const Kernel& ker, const DstView& dst, + /// \ingroup ImageAlgorithms + ///correlate a 1D variable-size kernel along the columns of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void correlate_cols(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + correlate_rows(transposed_view(src),ker,transposed_view(dst),option); +@@ -160,7 +160,7 @@ void correlate_cols(const SrcView& src, const Kernel& ker, const DstView& dst, + /// \ingroup ImageAlgorithms + ///convolve a 1D variable-size kernel along the rows of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void convolve_rows(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + correlate_rows(src,reverse_kernel(ker),dst,option); +@@ -169,7 +169,7 @@ void convolve_rows(const SrcView& src, const Kernel& ker, const DstView& dst, + /// \ingroup ImageAlgorithms + ///convolve a 1D variable-size kernel along the columns of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void convolve_cols(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + convolve_rows(transposed_view(src),ker,transposed_view(dst),option); +@@ -178,7 +178,7 @@ void convolve_cols(const SrcView& src, const Kernel& ker, const DstView& dst, + /// \ingroup ImageAlgorithms + ///correlate a 1D fixed-size kernel along the rows of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void correlate_rows_fixed(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + detail::correlate_rows_imp(src,ker,dst,option,detail::correlator_k()); +@@ -187,7 +187,7 @@ void correlate_rows_fixed(const SrcView& src, const Kernel& ker, const DstView& + /// \ingroup ImageAlgorithms + ///correlate a 1D fixed-size kernel along the columns of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void correlate_cols_fixed(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + correlate_rows_fixed(transposed_view(src),ker,transposed_view(dst),option); +@@ -196,7 +196,7 @@ void correlate_cols_fixed(const SrcView& src, const Kernel& ker, const DstView& + /// \ingroup ImageAlgorithms + ///convolve a 1D fixed-size kernel along the rows of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void convolve_rows_fixed(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + correlate_rows_fixed(src,reverse_kernel(ker),dst,option); +@@ -205,7 +205,7 @@ void convolve_rows_fixed(const SrcView& src, const Kernel& ker, const DstView& d + /// \ingroup ImageAlgorithms + ///convolve a 1D fixed-size kernel along the columns of an image + template +-GIL_FORCEINLINE ++BOOST_FORCEINLINE + void convolve_cols_fixed(const SrcView& src, const Kernel& ker, const DstView& dst, + convolve_boundary_option option=convolve_option_extend_zero) { + convolve_rows_fixed(transposed_view(src),ker,transposed_view(dst),option); +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp b/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp +index 3cef8a70..ebb39a51 100755 +--- a/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp +@@ -68,7 +68,7 @@ namespace detail { + Sampler _sampler; + resample_pixels_fn(const MapFn& dst_to_src, const Sampler& sampler) : _dst_to_src(dst_to_src), _sampler(sampler) {} + +- template GIL_FORCEINLINE void apply_compatible(const SrcView& src, const DstView& dst) const { ++ template BOOST_FORCEINLINE void apply_compatible(const SrcView& src, const DstView& dst) const { + resample_pixels(src, dst, _dst_to_src, _sampler); + } + }; +diff --git a/k3dsdk/istreaming_bitmap_source.h b/k3dsdk/istreaming_bitmap_source.h +index 973bd118..e8f86b2d 100644 +--- a/k3dsdk/istreaming_bitmap_source.h ++++ b/k3dsdk/istreaming_bitmap_source.h +@@ -24,6 +24,7 @@ + \author Tim Shead (tshead@k-3d.com) + */ + ++#include + #include + #include + +diff --git a/modules/jpeg_io/bitmap_importer.cpp b/modules/jpeg_io/bitmap_importer.cpp +index b7a378af..7d881c12 100644 +--- a/modules/jpeg_io/bitmap_importer.cpp ++++ b/modules/jpeg_io/bitmap_importer.cpp +@@ -28,7 +28,7 @@ + #include + + #include +-#include ++#include + + namespace module + { +@@ -55,7 +55,7 @@ public: + try + { + k3d::log() << info << "Reading " << Path.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::jpeg_read_and_convert_image(Path.native_filesystem_string(), Bitmap); ++ boost::gil::read_and_convert_image(Path.native_filesystem_string(), Bitmap, boost::gil::jpeg_tag()); + return true; + } + catch(std::exception& e) +diff --git a/modules/jpeg_io/bitmap_reader.cpp b/modules/jpeg_io/bitmap_reader.cpp +index 491d269c..795dd3b2 100644 +--- a/modules/jpeg_io/bitmap_reader.cpp ++++ b/modules/jpeg_io/bitmap_reader.cpp +@@ -28,7 +28,7 @@ + #include + #include + +-#include ++#include + + namespace module + { +@@ -66,7 +66,7 @@ public: + try + { + k3d::log() << info << "Reading " << file.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::jpeg_read_and_convert_image(file.native_filesystem_string(), Output); ++ boost::gil::read_and_convert_image(file.native_filesystem_string(), Output, boost::gil::jpeg_tag()); + } + catch(std::exception& e) + { +diff --git a/modules/jpeg_io/bitmap_writer.cpp b/modules/jpeg_io/bitmap_writer.cpp +index 7ff23470..6720b659 100644 +--- a/modules/jpeg_io/bitmap_writer.cpp ++++ b/modules/jpeg_io/bitmap_writer.cpp +@@ -26,7 +26,7 @@ + #include + #include + +-#include ++#include + + namespace module + { +@@ -78,7 +78,7 @@ public: + try + { + k3d::log() << info << "Writing " << file.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::jpeg_write_view(file.native_filesystem_string(), boost::gil::color_converted_view(view(*bitmap), extract_rgb())); ++ boost::gil::write_view(file.native_filesystem_string(), boost::gil::color_converted_view(view(*bitmap), extract_rgb()), boost::gil::jpeg_tag()); + } + catch(std::exception& e) + { +diff --git a/modules/png_io/bitmap_importer.cpp b/modules/png_io/bitmap_importer.cpp +index 724319c2..617f82c2 100644 +--- a/modules/png_io/bitmap_importer.cpp ++++ b/modules/png_io/bitmap_importer.cpp +@@ -30,7 +30,7 @@ + #define int_p_NULL (int*)NULL + + #include +-#include ++#include + + namespace module + { +@@ -57,7 +57,7 @@ public: + try + { + k3d::log() << info << "Reading " << File.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::png_read_and_convert_image(File.native_filesystem_string(), Bitmap); ++ boost::gil::read_and_convert_image(File.native_filesystem_string(), Bitmap, boost::gil::png_tag()); + return true; + } + catch(std::exception& e) +diff --git a/modules/png_io/bitmap_reader.cpp b/modules/png_io/bitmap_reader.cpp +index b9772996..297b282c 100644 +--- a/modules/png_io/bitmap_reader.cpp ++++ b/modules/png_io/bitmap_reader.cpp +@@ -31,7 +31,7 @@ + #define png_infopp_NULL (png_infopp)NULL + #define int_p_NULL (int*)NULL + +-#include ++#include + + namespace module + { +@@ -69,7 +69,7 @@ public: + try + { + k3d::log() << info << "Reading " << file.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::png_read_and_convert_image(file.native_filesystem_string(), Output); ++ boost::gil::read_and_convert_image(file.native_filesystem_string(), Output, boost::gil::png_tag()); + } + catch(std::exception& e) + { +diff --git a/modules/png_io/bitmap_writer.cpp b/modules/png_io/bitmap_writer.cpp +index 373040f3..dce0287c 100644 +--- a/modules/png_io/bitmap_writer.cpp ++++ b/modules/png_io/bitmap_writer.cpp +@@ -29,7 +29,7 @@ + #define png_infopp_NULL (png_infopp)NULL + #define int_p_NULL (int*)NULL + +-#include ++#include + + namespace module + { +@@ -76,7 +76,7 @@ public: + throw std::runtime_error("bitmap with zero height"); + + k3d::log() << info << "Writing " << file.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::png_write_view(file.native_filesystem_string(), boost::gil::color_converted_view(view(*bitmap))); ++ boost::gil::write_view(file.native_filesystem_string(), boost::gil::color_converted_view(view(*bitmap)), boost::gil::png_tag()); + } + catch(std::exception& e) + { +diff --git a/modules/tiff_io/bitmap_exporter.cpp b/modules/tiff_io/bitmap_exporter.cpp +index 3e18649b..83e2dd76 100644 +--- a/modules/tiff_io/bitmap_exporter.cpp ++++ b/modules/tiff_io/bitmap_exporter.cpp +@@ -28,7 +28,7 @@ + #include + #include + +-#include ++#include + + namespace module + { +@@ -55,7 +55,7 @@ public: + try + { + k3d::log() << info << "Writing " << Path.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::tiff_write_view(Path.native_filesystem_string(), boost::gil::color_converted_view(const_view(Bitmap))); ++ boost::gil::write_view(Path.native_filesystem_string(), boost::gil::color_converted_view(const_view(Bitmap)), boost::gil::tiff_tag()); + return true; + } + catch(std::exception& e) +diff --git a/modules/tiff_io/bitmap_importer.cpp b/modules/tiff_io/bitmap_importer.cpp +index f9281259..a5d32195 100644 +--- a/modules/tiff_io/bitmap_importer.cpp ++++ b/modules/tiff_io/bitmap_importer.cpp +@@ -28,7 +28,7 @@ + #include + + #include +-#include ++#include + + namespace module + { +@@ -55,7 +55,7 @@ public: + try + { + k3d::log() << info << "Reading " << Path.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::tiff_read_and_convert_image(Path.native_filesystem_string(), Bitmap); ++ boost::gil::read_and_convert_image(Path.native_filesystem_string(), Bitmap, boost::gil::tiff_tag()); + return true; + } + catch(std::exception& e) +diff --git a/modules/tiff_io/bitmap_reader.cpp b/modules/tiff_io/bitmap_reader.cpp +index 2eece977..373c7de4 100644 +--- a/modules/tiff_io/bitmap_reader.cpp ++++ b/modules/tiff_io/bitmap_reader.cpp +@@ -28,7 +28,7 @@ + #include + #include + +-#include ++#include + + namespace module + { +@@ -66,7 +66,7 @@ public: + try + { + k3d::log() << info << "Reading " << file.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::tiff_read_and_convert_image(file.native_filesystem_string(), Output); ++ boost::gil::read_and_convert_image(file.native_filesystem_string(), Output, boost::gil::tiff_tag()); + } + catch(std::exception& e) + { +diff --git a/modules/tiff_io/bitmap_writer.cpp b/modules/tiff_io/bitmap_writer.cpp +index 12cb8601..d58aafd2 100644 +--- a/modules/tiff_io/bitmap_writer.cpp ++++ b/modules/tiff_io/bitmap_writer.cpp +@@ -26,7 +26,7 @@ + #include + #include + +-#include ++#include + + namespace module + { +@@ -78,7 +78,7 @@ public: + try + { + k3d::log() << info << "Writing " << file.native_console_string() << " using " << get_factory().name() << std::endl; +- boost::gil::tiff_write_view(file.native_filesystem_string(), boost::gil::color_converted_view(view(*bitmap), extract_rgb())); ++ boost::gil::write_view(file.native_filesystem_string(), boost::gil::color_converted_view(view(*bitmap), extract_rgb()), boost::gil::tiff_tag()); + } + catch(std::exception& e) + { +-- +2.20.1 + diff --git a/0100-k3d-0.8.0.2-cmake.diff.patch b/0100-k3d-0.8.0.2-cmake.diff.patch new file mode 100644 index 0000000..c75481d --- /dev/null +++ b/0100-k3d-0.8.0.2-cmake.diff.patch @@ -0,0 +1,25 @@ +From ee812f32677c7758b2290856007795749424a97d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Tue, 27 Jan 2015 10:54:55 +0100 +Subject: [PATCH 100/105] k3d-0.8.0.2-cmake.diff + +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 14969136..673270fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -357,7 +357,7 @@ ENDIF() + # Setup output directories ... + SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${k3d_BINARY_DIR}/bin) + +-SET(K3D_LIBDIR lib) # Allows us to handle 64-bit libs if/when it becomes necessary. ++SET(K3D_LIBDIR lib${LIB_SUFFIX}) # Allows us to handle 64-bit libs if/when it becomes necessary. + + IF(APPLE AND K3D_ENABLE_OSX_BUNDLE) + SET(K3D_BUNDLE_DIRECTORY ${k3d_BINARY_DIR}/K-3D.app/Contents) +-- +2.20.1 + diff --git a/0101-Fix-permissions.patch b/0101-Fix-permissions.patch new file mode 100644 index 0000000..21c4a91 --- /dev/null +++ b/0101-Fix-permissions.patch @@ -0,0 +1,126 @@ +From f14b2866a6116a32557db8f019b339610b332e37 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Fri, 6 Feb 2015 06:21:19 +0100 +Subject: [PATCH 101/105] Fix permissions. + +--- + distribution/win32/gtkrc | 0 + distribution/win32/nsis/headerimage.bmp | Bin + distribution/win32/nsis/headerimage.xcf | Bin + gendef/gendef.cc | 0 + k3dsdk/gil/boost/gil/extension/numeric/affine.hpp | 0 + .../gil/boost/gil/extension/numeric/algorithm.hpp | 0 + .../numeric/channel_numeric_operations.hpp | 0 + k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp | 0 + k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp | 0 + .../extension/numeric/pixel_numeric_operations.hpp | 0 + k3dsdk/gil/boost/gil/extension/numeric/resample.hpp | 0 + k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp | 0 + modules/collada_io/int_elements.cpp | 0 + modules/collada_io/int_elements.h | 0 + modules/collada_io/integration.cpp | 0 + modules/collada_io/integration.h | 0 + modules/collada_io/mesh_reader.cpp | 0 + modules/collada_io/module.cpp | 0 + modules/linear_curve/CMakeLists.txt | 0 + modules/ngui_material_manager_panel/CMakeLists.txt | 0 + share/k3d/icons/k3d.bmp | Bin + share/k3d/ngui/rasterized/sp_noShaderSelected.png | Bin + ...sh.source.MeshSourceScript.teapots.reference.k3d | 0 + 23 files changed, 0 insertions(+), 0 deletions(-) + mode change 100755 => 100644 distribution/win32/gtkrc + mode change 100755 => 100644 distribution/win32/nsis/headerimage.bmp + mode change 100755 => 100644 distribution/win32/nsis/headerimage.xcf + mode change 100755 => 100644 gendef/gendef.cc + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/affine.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/resample.hpp + mode change 100755 => 100644 k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp + mode change 100755 => 100644 modules/collada_io/int_elements.cpp + mode change 100755 => 100644 modules/collada_io/int_elements.h + mode change 100755 => 100644 modules/collada_io/integration.cpp + mode change 100755 => 100644 modules/collada_io/integration.h + mode change 100755 => 100644 modules/collada_io/mesh_reader.cpp + mode change 100755 => 100644 modules/collada_io/module.cpp + mode change 100755 => 100644 modules/linear_curve/CMakeLists.txt + mode change 100755 => 100644 modules/ngui_material_manager_panel/CMakeLists.txt + mode change 100755 => 100644 share/k3d/icons/k3d.bmp + mode change 100755 => 100644 share/k3d/ngui/rasterized/sp_noShaderSelected.png + mode change 100755 => 100644 tests/meshes/mesh.source.MeshSourceScript.teapots.reference.k3d + +diff --git a/distribution/win32/gtkrc b/distribution/win32/gtkrc +old mode 100755 +new mode 100644 +diff --git a/distribution/win32/nsis/headerimage.bmp b/distribution/win32/nsis/headerimage.bmp +old mode 100755 +new mode 100644 +diff --git a/distribution/win32/nsis/headerimage.xcf b/distribution/win32/nsis/headerimage.xcf +old mode 100755 +new mode 100644 +diff --git a/gendef/gendef.cc b/gendef/gendef.cc +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp b/k3dsdk/gil/boost/gil/extension/numeric/affine.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp b/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp b/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp b/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp b/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp b/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp b/k3dsdk/gil/boost/gil/extension/numeric/resample.hpp +old mode 100755 +new mode 100644 +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp b/k3dsdk/gil/boost/gil/extension/numeric/sampler.hpp +old mode 100755 +new mode 100644 +diff --git a/modules/collada_io/int_elements.cpp b/modules/collada_io/int_elements.cpp +old mode 100755 +new mode 100644 +diff --git a/modules/collada_io/int_elements.h b/modules/collada_io/int_elements.h +old mode 100755 +new mode 100644 +diff --git a/modules/collada_io/integration.cpp b/modules/collada_io/integration.cpp +old mode 100755 +new mode 100644 +diff --git a/modules/collada_io/integration.h b/modules/collada_io/integration.h +old mode 100755 +new mode 100644 +diff --git a/modules/collada_io/mesh_reader.cpp b/modules/collada_io/mesh_reader.cpp +old mode 100755 +new mode 100644 +diff --git a/modules/collada_io/module.cpp b/modules/collada_io/module.cpp +old mode 100755 +new mode 100644 +diff --git a/modules/linear_curve/CMakeLists.txt b/modules/linear_curve/CMakeLists.txt +old mode 100755 +new mode 100644 +diff --git a/modules/ngui_material_manager_panel/CMakeLists.txt b/modules/ngui_material_manager_panel/CMakeLists.txt +old mode 100755 +new mode 100644 +diff --git a/share/k3d/icons/k3d.bmp b/share/k3d/icons/k3d.bmp +old mode 100755 +new mode 100644 +diff --git a/share/k3d/ngui/rasterized/sp_noShaderSelected.png b/share/k3d/ngui/rasterized/sp_noShaderSelected.png +old mode 100755 +new mode 100644 +diff --git a/tests/meshes/mesh.source.MeshSourceScript.teapots.reference.k3d b/tests/meshes/mesh.source.MeshSourceScript.teapots.reference.k3d +old mode 100755 +new mode 100644 +-- +2.20.1 + diff --git a/0102-Avoid-signed-unsigned-int-warning.patch b/0102-Avoid-signed-unsigned-int-warning.patch new file mode 100644 index 0000000..6d2de07 --- /dev/null +++ b/0102-Avoid-signed-unsigned-int-warning.patch @@ -0,0 +1,25 @@ +From dd2c3f8c23e6576c0f0d68578e7ea0f0c32f954a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Fri, 6 Feb 2015 07:13:52 +0100 +Subject: [PATCH 102/105] Avoid signed/unsigned int warning. + +--- + k3dsdk/bitmap_modifier.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/k3dsdk/bitmap_modifier.h b/k3dsdk/bitmap_modifier.h +index 7f4bae5a..e8564678 100644 +--- a/k3dsdk/bitmap_modifier.h ++++ b/k3dsdk/bitmap_modifier.h +@@ -91,7 +91,7 @@ private: + bool resize_bitmap = false; + bool assign_pixels = false; + +- for(int i = 0; i != Hints.size(); ++i) ++ for(std::vector::size_type i = 0; i != Hints.size(); ++i) + { + // Input pixels changed, so all we have to do is reassign ours ... + if(dynamic_cast(Hints[i])) +-- +2.20.1 + diff --git a/0103-Use-usr-bin-python2-instead-of-usr-bin-python.patch b/0103-Use-usr-bin-python2-instead-of-usr-bin-python.patch new file mode 100644 index 0000000..cb5a08f --- /dev/null +++ b/0103-Use-usr-bin-python2-instead-of-usr-bin-python.patch @@ -0,0 +1,55 @@ +From f6bde314e4d7bdb0ac816145c2d069e62373f583 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Thu, 8 Feb 2018 09:32:11 +0100 +Subject: [PATCH 103/105] Use /usr/bin/python2 instead of /usr/bin/python. + +--- + modules/uniform_polyhedron/data/vacuum.py | 2 +- + web/developer/tracker/tracker | 2 +- + web/planet/planet | 2 +- + web/www/resources/banner | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/modules/uniform_polyhedron/data/vacuum.py b/modules/uniform_polyhedron/data/vacuum.py +index 4e97e28d..027ab658 100755 +--- a/modules/uniform_polyhedron/data/vacuum.py ++++ b/modules/uniform_polyhedron/data/vacuum.py +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python2 + + import re + import urllib +diff --git a/web/developer/tracker/tracker b/web/developer/tracker/tracker +index 94ac6d3f..ad42d402 100755 +--- a/web/developer/tracker/tracker ++++ b/web/developer/tracker/tracker +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python2 + + import glob + from mako.template import Template +diff --git a/web/planet/planet b/web/planet/planet +index 0fd145a3..0928d400 100755 +--- a/web/planet/planet ++++ b/web/planet/planet +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python2 + + import feedparser + import mako.template +diff --git a/web/www/resources/banner b/web/www/resources/banner +index bbeed5e4..bcd135d6 100644 +--- a/web/www/resources/banner ++++ b/web/www/resources/banner +@@ -1,4 +1,4 @@ +-#!/usr/bin/python ++#!/usr/bin/python2 + + #import cgitb; cgitb.enable() + +-- +2.20.1 + diff --git a/0104-Include-boost-gil.hpp-instead-of-boost-gil-gil_all.h.patch b/0104-Include-boost-gil.hpp-instead-of-boost-gil-gil_all.h.patch new file mode 100644 index 0000000..3a9dd46 --- /dev/null +++ b/0104-Include-boost-gil.hpp-instead-of-boost-gil-gil_all.h.patch @@ -0,0 +1,48 @@ +From d813fb7f03ebac14f46f1d4663451758dfb14ac1 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Fri, 15 Feb 2019 08:37:45 +0100 +Subject: [PATCH 104/105] Include boost/gil.hpp instead of + boost/gil/gil_all.hpp for boost > 1.69 + +--- + k3dsdk/bitmap.h | 5 +++++ + k3dsdk/istreaming_bitmap_source.h | 5 +++++ + 2 files changed, 10 insertions(+) + +diff --git a/k3dsdk/bitmap.h b/k3dsdk/bitmap.h +index b186fd5d..d9b5c58e 100644 +--- a/k3dsdk/bitmap.h ++++ b/k3dsdk/bitmap.h +@@ -33,7 +33,12 @@ + #include + #include + ++#include ++#if BOOST_VERSION < 106900 + #include ++#else ++#include ++#endif + + namespace boost + { +diff --git a/k3dsdk/istreaming_bitmap_source.h b/k3dsdk/istreaming_bitmap_source.h +index e8f86b2d..d5681a3c 100644 +--- a/k3dsdk/istreaming_bitmap_source.h ++++ b/k3dsdk/istreaming_bitmap_source.h +@@ -28,7 +28,12 @@ + #include + #include + ++#include ++#if BOOST_VERSION < 106900 + #include ++#else ++#include ++#endif + + namespace k3d + { +-- +2.20.1 + diff --git a/0105-Include-boost-gil.hpp-instead-of-boost-gil-gil_confi.patch b/0105-Include-boost-gil.hpp-instead-of-boost-gil-gil_confi.patch new file mode 100644 index 0000000..7cb002b --- /dev/null +++ b/0105-Include-boost-gil.hpp-instead-of-boost-gil-gil_confi.patch @@ -0,0 +1,108 @@ +From ed2005d5b7c9c48e9ffab529d19cc0192d87ce0f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= +Date: Tue, 19 Feb 2019 07:55:45 +0100 +Subject: [PATCH 105/105] Include boost/gil.hpp instead of + boost/gil/gil_config.hpp for boost > 1.69 + +--- + k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp | 7 ++++++- + .../gil/extension/numeric/channel_numeric_operations.hpp | 7 ++++++- + k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp | 7 ++++++- + k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp | 7 ++++++- + .../gil/extension/numeric/pixel_numeric_operations.hpp | 7 ++++++- + 5 files changed, 30 insertions(+), 5 deletions(-) + +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp b/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp +index 5fc44f61..5c18b16b 100644 +--- a/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/algorithm.hpp +@@ -21,7 +21,12 @@ + #include + #include + #include +-#include ++#include ++#if BOOST_VERSION < 106900 ++#include ++#else ++#include ++#endif + #include + #include + +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp b/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp +index 06d07358..d53d22b5 100644 +--- a/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/channel_numeric_operations.hpp +@@ -24,7 +24,12 @@ + */ + + #include +-#include ++#include ++#if BOOST_VERSION < 106900 ++#include ++#else ++#include ++#endif + #include + + namespace boost { namespace gil { +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp b/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp +index db962099..f0eff96a 100644 +--- a/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/convolve.hpp +@@ -24,7 +24,12 @@ + #include + #include + #include +-#include ++#include ++#if BOOST_VERSION < 106900 ++#include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp b/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp +index 9375d9c5..aa5401e3 100644 +--- a/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/kernel.hpp +@@ -22,8 +22,13 @@ + #include + #include + #include ++#include ++#if BOOST_VERSION < 106900 ++#include ++#else ++#include ++#endif + #include +-#include + #include + + namespace boost { namespace gil { +diff --git a/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp b/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp +index e7690b21..070e849e 100644 +--- a/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp ++++ b/k3dsdk/gil/boost/gil/extension/numeric/pixel_numeric_operations.hpp +@@ -23,7 +23,12 @@ + */ + + #include +-#include ++#include ++#if BOOST_VERSION < 106900 ++#include ++#else ++#include ++#endif + #include + #include + #include "channel_numeric_operations.hpp" +-- +2.20.1 + diff --git a/k3d.spec b/k3d.spec index fa86d54..3f1f385 100644 --- a/k3d.spec +++ b/k3d.spec @@ -1,6 +1,6 @@ Name: k3d Version: 0.8.0.6 -Release: 19%{?dist} +Release: 20%{?dist} Summary: A 3D Modeling, Animation and Rendering System License: GPLv2+ @@ -10,18 +10,26 @@ Source0: https://github.com/K-3D/k3d/archive/k3d-%{version}/k3d-%{version Source1: k3d.desktop # Upstream patches -Patch1: 0001-COMP-Default-docs-building-to-OFF.patch -Patch2: 0002-COMP-Properly-disable-doc-building.patch -Patch3: 0003-COMP-Missing-glibmm-include.patch -Patch4: 0004-Add-required-header-for-ostream-operations.patch -Patch5: 0005-ENH-Use-libgio-instead-of-gnome-vfs.patch -Patch6: 0006-COMP-Fix-clang-v.-5-compilation-on-Linux.patch -Patch7: 0007-Replaced-dl-with-CMAKE_DL_LIBS-in-CMakeLists.txt-fil.patch +Patch01: 0001-COMP-Default-docs-building-to-OFF.patch +Patch02: 0002-COMP-Properly-disable-doc-building.patch +Patch03: 0003-COMP-Missing-glibmm-include.patch +Patch04: 0004-Add-required-header-for-ostream-operations.patch +Patch05: 0005-ENH-Use-libgio-instead-of-gnome-vfs.patch +Patch06: 0006-COMP-Fix-clang-v.-5-compilation-on-Linux.patch +Patch07: 0007-Replaced-dl-with-CMAKE_DL_LIBS-in-CMakeLists.txt-fil.patch +Patch08: 0008-ENH-Speed-up-binary-STL-reading.patch +Patch09: 0009-COMP-Fix-some-typos.patch +Patch10: 0010-COMP-Remove-use-of-std-auto_ptr.patch +Patch11: 0011-ENH-Add-SelectPointsAboveNumber-tool.patch +Patch12: 0012-FIX-Update-to-Boost-1.68.patch # Fedora patches -Patch8: 0008-k3d-0.8.0.2-cmake.diff.patch -Patch9: 0009-Fix-permissions.patch -Patch10: 0010-Avoid-signed-unsigned-int-warning.patch +Patch100: 0100-k3d-0.8.0.2-cmake.diff.patch +Patch101: 0101-Fix-permissions.patch +Patch102: 0102-Avoid-signed-unsigned-int-warning.patch +Patch103: 0103-Use-usr-bin-python2-instead-of-usr-bin-python.patch +Patch104: 0104-Include-boost-gil.hpp-instead-of-boost-gil-gil_all.h.patch +Patch105: 0105-Include-boost-gil.hpp-instead-of-boost-gil-gil_confi.patch # FIXME: This package is not ready for python3 %global python_version 2 @@ -98,25 +106,56 @@ rendering a model written by K-3D. %prep %setup -q -n k3d-k3d-%{version} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 +%patch01 -p1 +%patch02 -p1 +%patch03 -p1 +%patch04 -p1 +%patch05 -p1 +%patch06 -p1 +%patch07 -p1 +%patch08 -p1 +%patch09 -p1 %patch10 -p1 - -grep -Rl '#!/usr/bin/python' . | while read a; do -sed -i -e "s,^#!/usr/bin/python$,#!/usr/bin/python%{python_version}," $a -done +%patch11 -p1 +%patch12 -p1 + +%patch100 -p1 +%patch101 -p1 +%patch102 -p1 +%patch103 -p1 +%patch104 -p1 +%patch105 -p1 + +%if 0%{fedora} >= 30 +# boost_python was renamed into boost_python27 +%if 0%{python_version} < 3 +sed -i -e "s,K3D_BOOST_COMPONENTS python),K3D_BOOST_COMPONENTS python27)," \ + CMakeLists.txt +%else +sed -i -e "s,K3D_BOOST_COMPONENTS python),K3D_BOOST_COMPONENTS python37)," \ + CMakeLists.txt +%endif +%else +%endif %build mkdir BUILD cd BUILD -%cmake -Wno-dev -DK3D_BUILD_GUIDE=ON -DK3D_BUILD_DOCS=ON -DPYTHON_EXECUTABLE=/usr/bin/python%{python_version} .. +%if 0%{fedora} >= 30 +%if 0%{python_version} < 3 +%cmake -Wno-dev -DK3D_BUILD_GUIDE=ON -DK3D_BUILD_DOCS=ON \ + -DBoost_PYTHON_LIBRARY=%{_libdir}/libboost_python27.so \ + -DPYTHON_EXECUTABLE=/usr/bin/python%{python_version} .. +%else +%cmake -Wno-dev -DK3D_BUILD_GUIDE=ON -DK3D_BUILD_DOCS=ON \ + -DBoost_PYTHON_LIBRARY=%{_libdir}/libboost_python37.so \ + -DPYTHON_EXECUTABLE=/usr/bin/python%{python_version} .. +%endif +%else +%cmake -Wno-dev -DK3D_BUILD_GUIDE=ON -DK3D_BUILD_DOCS=ON \ + -DPYTHON_EXECUTABLE=/usr/bin/python%{python_version} .. +%endif + # Since our cmake macro disables rpath, we need to set some temp # library paths as the build invokes some built binaries to generate # proxy files. @@ -225,6 +264,10 @@ ctest %changelog +* Tue Feb 19 2019 Ralf Corsépius - 0.8.0.6-20 +- Rebase patches against upstream master. +- Rework spec for boost-1.69 (RHBZ#1675220). + * Fri Feb 01 2019 Fedora Release Engineering - 0.8.0.6-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild