$OpenBSD: patch-libs_python_src_converter_builtin_converters_cpp,v 1.1 2020/01/30 01:42:34 kmos Exp $

From 660487c43fde76f3e64f1cb2e644500da92fe582 Mon Sep 17 00:00:00 2001
From: Bernhard Rosenkraenzer <bero@lindev.ch>
Date: Fri, 9 Feb 2018 18:20:30 +0100
Subject: [PATCH] Fix build with Python 3.7

Python 3.7 changes the return type of _PyUnicode_AsString()
from void* to const char* -- causing the build of boost-python
to fail.

Index: libs/python/src/converter/builtin_converters.cpp
--- libs/python/src/converter/builtin_converters.cpp.orig
+++ libs/python/src/converter/builtin_converters.cpp
@@ -45,10 +45,15 @@ namespace
   {
       return PyString_Check(obj) ? PyString_AsString(obj) : 0;
   }
-#else
+#elif PY_VERSION_HEX < 0x03070000
   void* convert_to_cstring(PyObject* obj)
   {
       return PyUnicode_Check(obj) ? _PyUnicode_AsString(obj) : 0;
+  }
+#else
+  void* convert_to_cstring(PyObject* obj)
+  {
+      return PyUnicode_Check(obj) ? const_cast<void*>(reinterpret_cast<const void*>(_PyUnicode_AsString(obj))) : 0;
   }
 #endif
 
