* [PR PATCH] freecad: update to 0.20.2
@ 2022-12-18 12:13 yopito
2022-12-19 0:32 ` [PR PATCH] [Merged]: " Piraty
0 siblings, 1 reply; 2+ messages in thread
From: yopito @ 2022-12-18 12:13 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1203 bytes --]
There is a new pull request by yopito against master on the void-packages repository
https://github.com/yopito/void-packages freecad.0.20.2
https://github.com/void-linux/void-packages/pull/41162
freecad: update to 0.20.2
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture: **x86_64-musl**
- I built this PR locally for these architectures (if supported. mark crossbuilds): **nope**
A patch file from https://github.com/void-linux/void-packages/pull/41162.patch is attached
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-freecad.0.20.2-41162.patch --]
[-- Type: text/x-diff, Size: 10141 bytes --]
From fe927abe83598000693bc7171eb568bcaae081d8 Mon Sep 17 00:00:00 2001
From: yopito <pierre.bourgin@free.fr>
Date: Sat, 17 Dec 2022 21:49:00 +0100
Subject: [PATCH] freecad: update to 0.20.2
---
srcpkgs/freecad/patches/python-3.11.patch | 236 ----------------------
srcpkgs/freecad/template | 6 +-
2 files changed, 3 insertions(+), 239 deletions(-)
delete mode 100644 srcpkgs/freecad/patches/python-3.11.patch
diff --git a/srcpkgs/freecad/patches/python-3.11.patch b/srcpkgs/freecad/patches/python-3.11.patch
deleted file mode 100644
index a50d02e47437..000000000000
--- a/srcpkgs/freecad/patches/python-3.11.patch
+++ /dev/null
@@ -1,236 +0,0 @@
-From 1ae55905ba7e89278bf656ebcc57ea1088e8fa44 Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Fri, 1 Jul 2022 17:54:50 +0200
-Subject: [PATCH] Py: make FreeCAD to compile with Py3.11
-
----
- src/Base/ConsoleObserver.cpp | 6 ++++
- src/Base/Interpreter.cpp | 56 ++++++++++++++++++++++++++++++++++++
- src/Base/PyObjectBase.cpp | 4 +++
- src/Base/PyTools.c | 10 ++++++-
- src/Gui/Command.cpp | 7 +++++
- src/Gui/PythonDebugger.cpp | 17 +++++++++--
- 6 files changed, 97 insertions(+), 3 deletions(-)
-
-diff --git a/src/Base/ConsoleObserver.cpp b/src/Base/ConsoleObserver.cpp
-index c6428a7f18be..ab3b3e9157b1 100644
---- a/src/Base/ConsoleObserver.cpp
-+++ b/src/Base/ConsoleObserver.cpp
-@@ -266,7 +266,13 @@ std::stringstream &LogLevel::prefix(std::stringstream &str, const char *src, int
- PyFrameObject* frame = PyEval_GetFrame();
- if (frame) {
- line = PyFrame_GetLineNumber(frame);
-+#if PY_VERSION_HEX < 0x030b0000
- src = PyUnicode_AsUTF8(frame->f_code->co_filename);
-+#else
-+ PyCodeObject* code = PyFrame_GetCode(frame);
-+ src = PyUnicode_AsUTF8(code->co_filename);
-+ Py_DECREF(code);
-+#endif
- }
- }
- if (print_src && src && src[0]) {
-diff --git a/src/Base/Interpreter.cpp b/src/Base/Interpreter.cpp
-index 2bacea30cbb7..5a476094b749 100644
---- a/src/Base/Interpreter.cpp
-+++ b/src/Base/Interpreter.cpp
-@@ -523,6 +523,7 @@ void InterpreterSingleton::addPythonPath(const char* Path)
- list.append(Py::String(Path));
- }
-
-+#if PY_VERSION_HEX < 0x030b0000
- const char* InterpreterSingleton::init(int argc,char *argv[])
- {
- if (!Py_IsInitialized()) {
-@@ -565,6 +566,61 @@ const char* InterpreterSingleton::init(int argc,char *argv[])
- PyGILStateLocker lock;
- return Py_EncodeLocale(Py_GetPath(),nullptr);
- }
-+#else
-+namespace {
-+void initInterpreter(int argc,char *argv[])
-+{
-+ PyStatus status;
-+ PyConfig config;
-+ PyConfig_InitPythonConfig(&config);
-+
-+ status = PyConfig_SetBytesArgv(&config, argc, argv);
-+ if (PyStatus_Exception(status)) {
-+ throw Base::RuntimeError("Failed to set config");
-+ }
-+
-+ status = Py_InitializeFromConfig(&config);
-+ if (PyStatus_Exception(status)) {
-+ throw Base::RuntimeError("Failed to init from config");
-+ }
-+
-+ PyConfig_Clear(&config);
-+
-+ Py_Initialize();
-+ const char* virtualenv = getenv("VIRTUAL_ENV");
-+ if (virtualenv) {
-+ PyRun_SimpleString(
-+ "# Check for virtualenv, and activate if present.\n"
-+ "# See https://virtualenv.pypa.io/en/latest/userguide/#using-virtualenv-without-bin-python\n"
-+ "import os\n"
-+ "import sys\n"
-+ "base_path = os.getenv(\"VIRTUAL_ENV\")\n"
-+ "if not base_path is None:\n"
-+ " activate_this = os.path.join(base_path, \"bin\", \"activate_this.py\")\n"
-+ " exec(open(activate_this).read(), {'__file__':activate_this})\n"
-+ );
-+ }
-+}
-+}
-+const char* InterpreterSingleton::init(int argc,char *argv[])
-+{
-+ try {
-+ if (!Py_IsInitialized()) {
-+ initInterpreter(argc, argv);
-+
-+ PythonStdOutput::init_type();
-+ this->_global = PyEval_SaveThread();
-+ }
-+
-+ PyGILStateLocker lock;
-+ return Py_EncodeLocale(Py_GetPath(),nullptr);
-+ }
-+ catch (const Base::Exception& e) {
-+ e.ReportException();
-+ throw;
-+ }
-+}
-+#endif
-
- void InterpreterSingleton::replaceStdOutput()
- {
-diff --git a/src/Base/PyObjectBase.cpp b/src/Base/PyObjectBase.cpp
-index 773a61b259b3..343ab26999f6 100644
---- a/src/Base/PyObjectBase.cpp
-+++ b/src/Base/PyObjectBase.cpp
-@@ -60,7 +60,11 @@ PyObjectBase::PyObjectBase(void* p,PyTypeObject *T)
- , baseProxy(nullptr)
- , attrDict(nullptr)
- {
-+#if PY_VERSION_HEX < 0x030b0000
- Py_TYPE(this) = T;
-+#else
-+ Py_SET_TYPE(this, T);
-+#endif
- _Py_NewReference(this);
- #ifdef FC_LOGPYOBJECTS
- Base::Console().Log("PyO+: %s (%p)\n",T->tp_name, this);
-diff --git a/src/Base/PyTools.c b/src/Base/PyTools.c
-index 71569e26a200..492d0c8563a4 100644
---- a/src/Base/PyTools.c
-+++ b/src/Base/PyTools.c
-@@ -15,8 +15,10 @@ is provided on an as is basis, without warranties of any kind.
- #include <string.h>
- #include <assert.h>
- #include <compile.h>
--#include <eval.h>
- #include <frameobject.h>
-+#if PY_VERSION_HEX < 0x030b0000
-+#include <eval.h>
-+#endif
-
-
- /*****************************************************************************
-@@ -310,7 +312,13 @@ void PP_Fetch_Error_Text()
- if(!frame)
- return;
- int line = PyFrame_GetLineNumber(frame);
-+#if PY_VERSION_HEX < 0x030b0000
- const char *file = PyUnicode_AsUTF8(frame->f_code->co_filename);
-+#else
-+ PyCodeObject* code = PyFrame_GetCode(frame);
-+ const char *file = PyUnicode_AsUTF8(code->co_filename);
-+ Py_DECREF(code);
-+#endif
- #ifdef FC_OS_WIN32
- const char *_f = strstr(file, "\\src\\");
- #else
-diff --git a/src/Gui/Command.cpp b/src/Gui/Command.cpp
-index c9568e8f0e69..cf555439fcd2 100644
---- a/src/Gui/Command.cpp
-+++ b/src/Gui/Command.cpp
-@@ -657,8 +657,15 @@ void Command::printPyCaller() {
- if(!frame)
- return;
- int line = PyFrame_GetLineNumber(frame);
-+#if PY_VERSION_HEX < 0x030b0000
- const char *file = PyUnicode_AsUTF8(frame->f_code->co_filename);
- printCaller(file?file:"<no file>",line);
-+#else
-+ PyCodeObject* code = PyFrame_GetCode(frame);
-+ const char* file = PyUnicode_AsUTF8(code->co_filename);
-+ printCaller(file?file:"<no file>",line);
-+ Py_DECREF(code);
-+#endif
- }
-
- void Command::printCaller(const char *file, int line) {
-diff --git a/src/Gui/PythonDebugger.cpp b/src/Gui/PythonDebugger.cpp
-index 7e731a9dd6af..cd44e9b1c233 100644
---- a/src/Gui/PythonDebugger.cpp
-+++ b/src/Gui/PythonDebugger.cpp
-@@ -563,6 +563,14 @@ void PythonDebugger::hideDebugMarker(const QString& fn)
- }
- }
-
-+#if PY_VERSION_HEX < 0x030900B1
-+static PyCodeObject* PyFrame_GetCode(PyFrameObject *frame)
-+{
-+ Py_INCREF(frame->f_code);
-+ return frame->f_code;
-+}
-+#endif
-+
- // http://www.koders.com/cpp/fidBA6CD8A0FE5F41F1464D74733D9A711DA257D20B.aspx?s=PyEval_SetTrace
- // http://code.google.com/p/idapython/source/browse/trunk/python.cpp
- // http://www.koders.com/cpp/fid191F7B13CF73133935A7A2E18B7BF43ACC6D1784.aspx?s=PyEval_SetTrace
-@@ -578,7 +586,9 @@ int PythonDebugger::tracer_callback(PyObject *obj, PyFrameObject *frame, int wha
-
- //no = frame->f_tstate->recursion_depth;
- //std::string funcname = PyString_AsString(frame->f_code->co_name);
-- QString file = QString::fromUtf8(PyUnicode_AsUTF8(frame->f_code->co_filename));
-+ PyCodeObject* code = PyFrame_GetCode(frame);
-+ QString file = QString::fromUtf8(PyUnicode_AsUTF8(code->co_filename));
-+ Py_DECREF(code);
- switch (what) {
- case PyTrace_CALL:
- self->depth++;
-@@ -592,7 +602,10 @@ int PythonDebugger::tracer_callback(PyObject *obj, PyFrameObject *frame, int wha
- //PyObject *str;
- //str = PyObject_Str(frame->f_code->co_filename);
- //no = frame->f_lineno;
-- int line = PyCode_Addr2Line(frame->f_code, frame->f_lasti);
-+ PyCodeObject* f_code = PyFrame_GetCode(frame);
-+ int f_lasti = PyFrame_GetLineNumber(frame);
-+ int line = PyCode_Addr2Line(f_code, f_lasti);
-+ Py_DECREF(f_code);
- //if (str) {
- // Base::Console().Message("PROFILING: %s:%d\n", PyString_AsString(str), frame->f_lineno);
- // Py_DECREF(str);
-From 6820e0a9ec85203a6f342ca72a2ff8fd417beaf1 Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Sat, 2 Jul 2022 19:36:27 +0200
-Subject: [PATCH] Py3: properly port to Py3.11
-
----
- src/Base/PyObjectBase.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Base/PyObjectBase.cpp b/src/Base/PyObjectBase.cpp
-index 343ab26999f6..a8e1b327809b 100644
---- a/src/Base/PyObjectBase.cpp
-+++ b/src/Base/PyObjectBase.cpp
-@@ -63,7 +63,7 @@ PyObjectBase::PyObjectBase(void* p,PyTypeObject *T)
- #if PY_VERSION_HEX < 0x030b0000
- Py_TYPE(this) = T;
- #else
-- Py_SET_TYPE(this, T);
-+ this->ob_type = T;
- #endif
- _Py_NewReference(this);
- #ifdef FC_LOGPYOBJECTS
diff --git a/srcpkgs/freecad/template b/srcpkgs/freecad/template
index be1fbfde6483..20eba2231e6b 100644
--- a/srcpkgs/freecad/template
+++ b/srcpkgs/freecad/template
@@ -1,7 +1,7 @@
# Template file for 'freecad'
pkgname=freecad
-version=0.20.1
-revision=6
+version=0.20.2
+revision=1
build_style=cmake
_inst_prefix=/usr/lib/${pkgname}
@@ -34,7 +34,7 @@ maintainer="yopito <pierre.bourgin@free.fr>"
license="LGPL-2.0-or-later"
homepage="https://freecadweb.org/"
distfiles="https://github.com/FreeCAD/FreeCAD/archive/${version}.tar.gz"
-checksum=70c15f7c1c676e3376cdc2a66c136030c5502f9802935e5b626ca8ce3f8812ed
+checksum=46922f3a477e742e1a89cd5346692d63aebb2b67af887b3e463e094a4ae055da
if [ "$XBPS_TARGET_LIBC" = musl ]; then
makedepends+=" libexecinfo-devel"
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PR PATCH] [Merged]: freecad: update to 0.20.2
2022-12-18 12:13 [PR PATCH] freecad: update to 0.20.2 yopito
@ 2022-12-19 0:32 ` Piraty
0 siblings, 0 replies; 2+ messages in thread
From: Piraty @ 2022-12-19 0:32 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1047 bytes --]
There's a merged pull request on the void-packages repository
freecad: update to 0.20.2
https://github.com/void-linux/void-packages/pull/41162
Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
#### Local build testing
- I built this PR locally for my native architecture: **x86_64-musl**
- I built this PR locally for these architectures (if supported. mark crossbuilds): **nope**
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-12-19 0:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-18 12:13 [PR PATCH] freecad: update to 0.20.2 yopito
2022-12-19 0:32 ` [PR PATCH] [Merged]: " Piraty
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).