[packages/blender] - updated deps - fix build with python 3.8 - rel 3

baggins baggins at pld-linux.org
Sat Nov 2 15:22:30 CET 2019


commit 54675d1f993030893cc88a191e0acb7b9c490812
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sat Nov 2 15:20:56 2019 +0100

    - updated deps
    - fix build with python 3.8
    - rel 3

 blender.spec     |  5 ++++-
 python-3.8.patch | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 53 insertions(+), 1 deletion(-)
---
diff --git a/blender.spec b/blender.spec
index cb20f82..33ee414 100644
--- a/blender.spec
+++ b/blender.spec
@@ -5,13 +5,14 @@ Summary:	3D modeling, rendering, animation and game creation package
 Summary(pl.UTF-8):	Pakiet do tworzenia animacji 3D oraz gier
 Name:		blender
 Version:	2.80
-Release:	2
+Release:	3
 License:	GPL
 Group:		X11/Applications/Graphics
 Source0:	http://download.blender.org/source/%{name}-%{version}.tar.gz
 # Source0-md5:	30dedaf688741d0d5d6fa1e3c331610c
 Patch0:		%{name}-2.76-droid.patch
 Patch1:		format-security.patch
+Patch2:		python-3.8.patch
 URL:		http://www.blender.org/
 BuildRequires:	OpenAL-devel
 BuildRequires:	OpenColorIO-devel
@@ -42,6 +43,7 @@ BuildRequires:	libtool
 BuildRequires:	libvorbis-devel
 BuildRequires:	openjpeg2-devel
 BuildRequires:	openssl-devel >= 0.9.7d
+BuildRequires:	pugixml-devel
 BuildRequires:	python3
 BuildRequires:	python3-devel
 BuildRequires:	python3-numpy-devel
@@ -71,6 +73,7 @@ Blender to darmowy i w pełni funkcjonalny pakiet do tworzenia animacji
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 install -d build
diff --git a/python-3.8.patch b/python-3.8.patch
new file mode 100644
index 0000000..c26934e
--- /dev/null
+++ b/python-3.8.patch
@@ -0,0 +1,49 @@
+Index: blender-2.80_patched/source/blender/python/generic/py_capi_utils.c
+===================================================================
+--- blender-2.80_patched/source/blender/python/generic/py_capi_utils.c
++++ blender-2.80_patched/source/blender/python/generic/py_capi_utils.c
+@@ -717,9 +717,11 @@
+  ****************************************************************************/
+ PyObject *PyC_DefaultNameSpace(const char *filename)
+ {
+-  PyInterpreterState *interp = PyThreadState_GET()->interp;
++  PyObject *modules = PyImport_GetModuleDict();
++  PyObject *builtins = PyDict_GetItemString(modules, "builtins");
++
+   PyObject *mod_main = PyModule_New("__main__");
+-  PyDict_SetItemString(interp->modules, "__main__", mod_main);
++  PyDict_SetItemString(modules, "__main__", mod_main);
+   Py_DECREF(mod_main); /* sys.modules owns now */
+   PyModule_AddStringConstant(mod_main, "__name__", "__main__");
+   if (filename) {
+@@ -727,8 +729,8 @@
+      * note: this wont map to a real file when executing text-blocks and buttons. */
+     PyModule_AddObject(mod_main, "__file__", PyC_UnicodeFromByte(filename));
+   }
+-  PyModule_AddObject(mod_main, "__builtins__", interp->builtins);
+-  Py_INCREF(interp->builtins); /* AddObject steals a reference */
++  PyModule_AddObject(mod_main, "__builtins__", builtins);
++  Py_INCREF(builtins); /* AddObject steals a reference */
+   return PyModule_GetDict(mod_main);
+ }
+ 
+@@ -755,15 +757,15 @@
+ /* restore MUST be called after this */
+ void PyC_MainModule_Backup(PyObject **main_mod)
+ {
+-  PyInterpreterState *interp = PyThreadState_GET()->interp;
+-  *main_mod = PyDict_GetItemString(interp->modules, "__main__");
++  PyObject *modules = PyImport_GetModuleDict();
++  *main_mod = PyDict_GetItemString(modules, "__main__");
+   Py_XINCREF(*main_mod); /* don't free */
+ }
+ 
+ void PyC_MainModule_Restore(PyObject *main_mod)
+ {
+-  PyInterpreterState *interp = PyThreadState_GET()->interp;
+-  PyDict_SetItemString(interp->modules, "__main__", main_mod);
++  PyObject *modules = PyImport_GetModuleDict();
++  PyDict_SetItemString(modules, "__main__", main_mod);
+   Py_XDECREF(main_mod);
+ }
+ 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/blender.git/commitdiff/54675d1f993030893cc88a191e0acb7b9c490812



More information about the pld-cvs-commit mailing list