Github messages for voidlinux
 help / color / mirror / Atom feed
* [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).