summaryrefslogtreecommitdiff
path: root/pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
diff options
context:
space:
mode:
authorJörg Thalheim <Mic92@users.noreply.github.com>2024-10-12 13:16:51 +0200
committerGitHub <noreply@github.com>2024-10-12 13:16:51 +0200
commita808f823bb641e21036679584ea9e345865729aa (patch)
tree0d042abcd2f3fb714498a48382e2835a76b9429d /pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
parent9a6d7cc9f7870f37929e8baf8bd7cc3f42c834e8 (diff)
parent562995272c6557ab647a16ab76330e21623a3e86 (diff)
Merge branch 'master' into docs/improve-go-builder
Diffstat (limited to 'pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch')
-rw-r--r--pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch176
1 files changed, 176 insertions, 0 deletions
diff --git a/pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch b/pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
new file mode 100644
index 000000000000..c285e77ca57b
--- /dev/null
+++ b/pkgs/development/python-modules/python-mapnik/python-mapnik_std_optional.patch
@@ -0,0 +1,176 @@
+diff --git a/src/mapnik_image.cpp b/src/mapnik_image.cpp
+index 9add692c9..488427b56 100644
+--- a/src/mapnik_image.cpp
++++ b/src/mapnik_image.cpp
+@@ -230,7 +230,7 @@ unsigned get_type(mapnik::image_any & im)
+
+ std::shared_ptr<image_any> open_from_file(std::string const& filename)
+ {
+- boost::optional<std::string> type = type_from_filename(filename);
++ auto type = type_from_filename(filename);
+ if (type)
+ {
+ std::unique_ptr<image_reader> reader(get_image_reader(filename,*type));
+diff --git a/src/mapnik_layer.cpp b/src/mapnik_layer.cpp
+index 4fc7ea579..fbd277a81 100644
+--- a/src/mapnik_layer.cpp
++++ b/src/mapnik_layer.cpp
+@@ -95,7 +95,7 @@ struct layer_pickle_suite : boost::python::pickle_suite
+
+ std::vector<std::string> & (mapnik::layer::*_styles_)() = &mapnik::layer::styles;
+
+-void set_maximum_extent(mapnik::layer & l, boost::optional<mapnik::box2d<double> > const& box)
++void set_maximum_extent(mapnik::layer & l, std::optional<mapnik::box2d<double> > const& box)
+ {
+ if (box)
+ {
+@@ -107,7 +107,7 @@ void set_maximum_extent(mapnik::layer & l, boost::optional<mapnik::box2d<double>
+ }
+ }
+
+-void set_buffer_size(mapnik::layer & l, boost::optional<int> const& buffer_size)
++void set_buffer_size(mapnik::layer & l, std::optional<int> const& buffer_size)
+ {
+ if (buffer_size)
+ {
+@@ -121,7 +121,7 @@ void set_buffer_size(mapnik::layer & l, boost::optional<int> const& buffer_size)
+
+ PyObject * get_buffer_size(mapnik::layer & l)
+ {
+- boost::optional<int> buffer_size = l.buffer_size();
++ std::optional<int> buffer_size = l.buffer_size();
+ if (buffer_size)
+ {
+ #if PY_VERSION_HEX >= 0x03000000
+diff --git a/src/mapnik_map.cpp b/src/mapnik_map.cpp
+index 3587e5d8a..cfa523b03 100644
+--- a/src/mapnik_map.cpp
++++ b/src/mapnik_map.cpp
+@@ -105,7 +105,7 @@ mapnik::featureset_ptr query_map_point(mapnik::Map const& m, int index, double x
+ return m.query_map_point(idx, x, y);
+ }
+
+-void set_maximum_extent(mapnik::Map & m, boost::optional<mapnik::box2d<double> > const& box)
++void set_maximum_extent(mapnik::Map & m, std::optional<mapnik::box2d<double> > const& box)
+ {
+ if (box)
+ {
+diff --git a/src/python_optional.hpp b/src/python_optional.hpp
+index d690b7c51..9d86c340e 100644
+--- a/src/python_optional.hpp
++++ b/src/python_optional.hpp
+@@ -28,7 +28,7 @@
+ #include <mapnik/util/noncopyable.hpp>
+ #pragma GCC diagnostic pop
+
+-// boost::optional<T> to/from converter from John Wiegley
++// std::optional<T> to/from converter from John Wiegley
+
+ template <typename T, typename TfromPy>
+ struct object_from_python
+@@ -54,7 +54,7 @@ struct python_optional : public mapnik::util::noncopyable
+ {
+ struct optional_to_python
+ {
+- static PyObject * convert(const boost::optional<T>& value)
++ static PyObject * convert(const std::optional<T>& value)
+ {
+ return (value ? boost::python::to_python_value<T>()(*value) :
+ boost::python::detail::none());
+@@ -90,9 +90,9 @@ struct python_optional : public mapnik::util::noncopyable
+ data)->storage.bytes;
+
+ if (data->convertible == source) // == None
+- new (storage) boost::optional<T>(); // A Boost uninitialized value
++ new (storage) std::optional<T>(); // A Boost uninitialized value
+ else
+- new (storage) boost::optional<T>(*static_cast<T *>(data->convertible));
++ new (storage) std::optional<T>(*static_cast<T *>(data->convertible));
+
+ data->convertible = storage;
+ }
+@@ -100,18 +100,18 @@ struct python_optional : public mapnik::util::noncopyable
+
+ explicit python_optional()
+ {
+- register_python_conversion<boost::optional<T>,
++ register_python_conversion<std::optional<T>,
+ optional_to_python, optional_from_python>();
+ }
+ };
+
+-// to/from boost::optional<bool>
++// to/from std::optional<bool>
+ template <>
+ struct python_optional<float> : public mapnik::util::noncopyable
+ {
+ struct optional_to_python
+ {
+- static PyObject * convert(const boost::optional<float>& value)
++ static PyObject * convert(const std::optional<float>& value)
+ {
+ return (value ? PyFloat_FromDouble(*value) :
+ boost::python::detail::none());
+@@ -133,30 +133,30 @@ struct python_optional<float> : public mapnik::util::noncopyable
+ boost::python::converter::rvalue_from_python_stage1_data * data)
+ {
+ using namespace boost::python::converter;
+- void * const storage = ((rvalue_from_python_storage<boost::optional<bool> > *)
++ void * const storage = ((rvalue_from_python_storage<std::optional<bool> > *)
+ data)->storage.bytes;
+ if (source == Py_None) // == None
+- new (storage) boost::optional<float>(); // A Boost uninitialized value
++ new (storage) std::optional<float>(); // A Boost uninitialized value
+ else
+- new (storage) boost::optional<float>(PyFloat_AsDouble(source));
++ new (storage) std::optional<float>(PyFloat_AsDouble(source));
+ data->convertible = storage;
+ }
+ };
+
+ explicit python_optional()
+ {
+- register_python_conversion<boost::optional<float>,
++ register_python_conversion<std::optional<float>,
+ optional_to_python, optional_from_python>();
+ }
+ };
+
+-// to/from boost::optional<float>
++// to/from std::optional<float>
+ template <>
+ struct python_optional<bool> : public mapnik::util::noncopyable
+ {
+ struct optional_to_python
+ {
+- static PyObject * convert(const boost::optional<bool>& value)
++ static PyObject * convert(const std::optional<bool>& value)
+ {
+ if (value)
+ {
+@@ -181,13 +181,13 @@ struct python_optional<bool> : public mapnik::util::noncopyable
+ boost::python::converter::rvalue_from_python_stage1_data * data)
+ {
+ using namespace boost::python::converter;
+- void * const storage = ((rvalue_from_python_storage<boost::optional<bool> > *)
++ void * const storage = ((rvalue_from_python_storage<std::optional<bool> > *)
+ data)->storage.bytes;
+ if (source == Py_None) // == None
+- new (storage) boost::optional<bool>(); // A Boost uninitialized value
++ new (storage) std::optional<bool>(); // A Boost uninitialized value
+ else
+ {
+- new (storage) boost::optional<bool>(source == Py_True ? true : false);
++ new (storage) std::optional<bool>(source == Py_True ? true : false);
+ }
+ data->convertible = storage;
+ }
+@@ -195,7 +195,7 @@ struct python_optional<bool> : public mapnik::util::noncopyable
+
+ explicit python_optional()
+ {
+- register_python_conversion<boost::optional<bool>,
++ register_python_conversion<std::optional<bool>,
+ optional_to_python, optional_from_python>();
+ }
+ };