freecad: fix and rebuild for Python 3.8.

This commit is contained in:
Leah Neukirchen 2019-10-19 16:32:34 +02:00
parent bf47722398
commit 0089fe641a
2 changed files with 23 additions and 1 deletions

View File

@ -0,0 +1,22 @@
From 174011749d836f3b6c6ae2630f53b2f4c1f9d3fc Mon Sep 17 00:00:00 2001
From: Richard <hobbes1069@gmail.com>
Date: Thu, 17 Oct 2019 11:20:10 -0500
Subject: [PATCH] Update swigpyrun.in for Python 3.8
In Python 3.8 some functions related to thread state were intentionally made private.
This fix (specific to FreeCAD) was suggested here:
https://bugs.python.org/issue35886
--- src/Base/swigpyrun.inl
+++ src/Base/swigpyrun.inl
@@ -72,7 +72,7 @@ void cleanupSWIG_T(const char* TypeName)
PyObject *module, *dict;
PyInterpreterState *interp = PyThreadState_GET()->interp;
- PyObject *modules = interp->modules;
+ PyObject *modules = PyImport_GetModuleDict();
module = PyDict_GetItemString(modules, "__builtin__");
if (module != NULL && PyModule_Check(module)) {
dict = PyModule_GetDict(module);

View File

@ -1,7 +1,7 @@
# Template file for 'freecad' # Template file for 'freecad'
pkgname=freecad pkgname=freecad
version=0.18.4 version=0.18.4
revision=1 revision=2
wrksrc="FreeCAD-${version}" wrksrc="FreeCAD-${version}"
build_style=cmake build_style=cmake