summaryrefslogtreecommitdiff
path: root/dev-python/psutil
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-10-15 04:04:09 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-10-15 04:04:09 +0100
commit45392c898b8ba163e95028bd98896e77f0c73806 (patch)
treebf6b64dd472acc2960a5c24b26dd0ac036b47d0d /dev-python/psutil
parent2916cf6049cf9d3092021e247d56c580df6029a7 (diff)
gentoo auto-resync : 15:10:2024 - 04:04:09
Diffstat (limited to 'dev-python/psutil')
-rw-r--r--dev-python/psutil/Manifest2
-rw-r--r--dev-python/psutil/files/psutil-6.0.0-py313t.patch190
-rw-r--r--dev-python/psutil/psutil-6.0.0-r1.ebuild47
3 files changed, 239 insertions, 0 deletions
diff --git a/dev-python/psutil/Manifest b/dev-python/psutil/Manifest
index 3d8f3a6b396d..614cbe13f2fb 100644
--- a/dev-python/psutil/Manifest
+++ b/dev-python/psutil/Manifest
@@ -1,7 +1,9 @@
+AUX psutil-6.0.0-py313t.patch 5858 BLAKE2B 324aa8e8870585440b02b879568079614af29d9f344784c8e911de9d090fe0948f1cc89cf3e24c4967cd76f47147f37f3c31652e86a67fd92905f629052bac73 SHA512 afd1ab8cb06b7331475c393909dcd180275c4029063b0a62ff9f61dc8a0f14653ce61948120dcec5169b4a8a513527ae192d1a29e20203c5f8c94d41ea5ffe24
DIST psutil-5.9.8-tests.patch.xz 3716 BLAKE2B cf33173a0d5c6537b0de1c4858beb9ec59c0361c6249f8a5cb3d55edc025578ddc0285a062083d28fcd4ece223728376dd64e9232aed1d761786b772a4cc7778 SHA512 5c9539a9716e25dc3cc5f2ce4373911a6c4524941838aff7aa08cc482d15aba6ec40b7904593723a785284410bcded2595c78a6c186d8af5b5f664c2d77e9220
DIST psutil-5.9.8.tar.gz 503247 BLAKE2B 192812d9006b9eb1a856ff8d322e6cfb320462e5dc5ee7b88869ce7f4f2277050c4867b5e3f64468bb42de0b5bde85b715b84b37842bd3f605216acf89a62a4c SHA512 6ddeed937119a930bb7b9556ff329f054e9429b8457c9a15d99cb105271297117abba587a974d02760bb8b6b244734973a676bdff6b533a53ce587858e48f337
DIST psutil-6.0.0-tests.patch.xz 3748 BLAKE2B 6e78418de8ee052e7e9f5d6bc74b8fc79e5216ed4d5fa8eb89532b19298955c388e158770b4af7b42fddc2a03b292e6d8ce9ed98c441179fb7c4a640014f2112 SHA512 3947337dbdddc29c85697d6140fc0fdcfb2b5ce7d84438e5763ad240ccd954e97fbf5dabf03ca17e959273a2c11794a41b2293434e85d2fe4d38d696c7de3900
DIST psutil-6.0.0.tar.gz 508067 BLAKE2B a4c80d1cead17ab73c99a25c4e1712cc2dd0b4220521d8dacafb905ab27393c49a8ee20790a89ebfc6c1d53779e98fe126c50f9299db1ab9a9c3df6d0a99ec48 SHA512 78ef1abe109c985ad3dd3865de5b4a7682fbad0085e5ca5bc1f2f90f03853775554b6c810cd54543cb7a1238efe345b3dcc9f5191270e03bc6a2f4088dd007ba
EBUILD psutil-5.9.8.ebuild 1186 BLAKE2B bd10c838505516d6f74da8349198d995ff263802d425c6a0c980672d49d1af5e2ca684965c113299e4d72e0af188147d0805ea6756d388f76a4e16c6f624892b SHA512 01888a1fa743bc209d3761dbf7e15062ff5e363469c739baa56e26eda4739a8dd915ec0067a67b750ec26959d90733dc379a73fe38ee0247bd778142598f82f7
+EBUILD psutil-6.0.0-r1.ebuild 1206 BLAKE2B fc0adabc31ab168c5db19eed87421d987250bd8f65f8901d933b7c8816b2a3c1dc8a7b6cd81771f45d19d042c917830e33420ee4c30c8587f9029b1b81a55c5e SHA512 337b59f975f9ce7b73c6889a5cd2d61452b667691c39cc26917d0b6095395d8599436e872a95b2bc748de022acefe17a2bb3a20d05a58b6572bb9fc874b07b70
EBUILD psutil-6.0.0.ebuild 1190 BLAKE2B 5160ed9b7ca352df5ff2d2a597609ade0cf426846a1dbc5f26b3ecb7453ffcea837fe380c1c17c4d3dadfd195c46a40a32e3761f7f0530429221ca00a52e0fd5 SHA512 8aa7879db77c4071d54508bdd4a399647a09afe795eba626a4a87fbdef860f0ff6e41dd39de73a720c02cfcc3b67a4f0488f56c0091dcc5f28d9dde595a0e424
MISC metadata.xml 378 BLAKE2B 235c056a427ab18383c401143074ec62b91d471087c34e2bd48d5192c6221e089e32170d18cd0d69d51eb2bb02fb8a0efe59245af9224b284557812b32c341b5 SHA512 96492308dac753fb176e4810efa71757e66413d16589e52a942b02c91256b48f9873b53a698006923aef12aa7d1539d6fd7aa07632c073b6a92cc8920f6ce6c0
diff --git a/dev-python/psutil/files/psutil-6.0.0-py313t.patch b/dev-python/psutil/files/psutil-6.0.0-py313t.patch
new file mode 100644
index 000000000000..1cdc63ed406e
--- /dev/null
+++ b/dev-python/psutil/files/psutil-6.0.0-py313t.patch
@@ -0,0 +1,190 @@
+From 5c0c0893c7565a39f1ac3f9c286fd1e1c58a7cd6 Mon Sep 17 00:00:00 2001
+From: Sam Gross <colesbury@gmail.com>
+Date: Mon, 24 Jun 2024 17:51:07 +0000
+Subject: [PATCH 1/2] Fix GIL warnings and a few thread-safety issues in
+ free-threaded CPython
+
+- The temporary `argv` C array is no longer global in OpenBSD's
+ proc_cmdline
+- The `maxcpus` variable is no longer global in FreeBSD's per_cpu_times.
+
+Signed-off-by: Sam Gross <colesbury@gmail.com>
+---
+ psutil/_psutil_aix.c | 3 +++
+ psutil/_psutil_bsd.c | 4 ++++
+ psutil/_psutil_linux.c | 4 ++++
+ psutil/_psutil_osx.c | 4 ++++
+ psutil/_psutil_posix.c | 4 ++++
+ psutil/_psutil_sunos.c | 4 ++++
+ psutil/_psutil_windows.c | 4 ++++
+ psutil/arch/freebsd/cpu.c | 2 +-
+ psutil/arch/openbsd/proc.c | 4 +++-
+ 9 files changed, 31 insertions(+), 2 deletions(-)
+
+diff --git a/psutil/_psutil_aix.c b/psutil/_psutil_aix.c
+index ce89a7bd7c..42f921188e 100644
+--- a/psutil/_psutil_aix.c
++++ b/psutil/_psutil_aix.c
+@@ -1080,6 +1080,9 @@ void init_psutil_aix(void)
+ PyObject *module = PyModule_Create(&moduledef);
+ #else
+ PyObject *module = Py_InitModule("_psutil_aix", PsutilMethods);
++#endif
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED);
+ #endif
+ PyModule_AddIntConstant(module, "version", PSUTIL_VERSION);
+
+diff --git a/psutil/_psutil_bsd.c b/psutil/_psutil_bsd.c
+index 6517d5800a..facaba831f 100644
+--- a/psutil/_psutil_bsd.c
++++ b/psutil/_psutil_bsd.c
+@@ -143,6 +143,10 @@ static PyMethodDef mod_methods[] = {
+ if (mod == NULL)
+ INITERR;
+
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED);
++#endif
++
+ if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION)) INITERR;
+ // process status constants
+
+diff --git a/psutil/_psutil_linux.c b/psutil/_psutil_linux.c
+index 292e1c5524..46244c5792 100644
+--- a/psutil/_psutil_linux.c
++++ b/psutil/_psutil_linux.c
+@@ -78,6 +78,10 @@ static PyMethodDef mod_methods[] = {
+ if (mod == NULL)
+ INITERR;
+
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED);
++#endif
++
+ if (PyModule_AddIntConstant(mod, "version", PSUTIL_VERSION)) INITERR;
+ if (PyModule_AddIntConstant(mod, "DUPLEX_HALF", DUPLEX_HALF)) INITERR;
+ if (PyModule_AddIntConstant(mod, "DUPLEX_FULL", DUPLEX_FULL)) INITERR;
+diff --git a/psutil/_psutil_osx.c b/psutil/_psutil_osx.c
+index 4aa11d1700..09fa267a98 100644
+--- a/psutil/_psutil_osx.c
++++ b/psutil/_psutil_osx.c
+@@ -91,6 +91,10 @@ static PyMethodDef mod_methods[] = {
+ if (mod == NULL)
+ INITERR;
+
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED);
++#endif
++
+ if (psutil_setup() != 0)
+ INITERR;
+
+diff --git a/psutil/_psutil_posix.c b/psutil/_psutil_posix.c
+index 24628afc78..8ced7beaac 100644
+--- a/psutil/_psutil_posix.c
++++ b/psutil/_psutil_posix.c
+@@ -913,6 +913,10 @@ static PyMethodDef mod_methods[] = {
+ if (mod == NULL)
+ INITERR;
+
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED);
++#endif
++
+ #if defined(PSUTIL_BSD) || \
+ defined(PSUTIL_OSX) || \
+ defined(PSUTIL_SUNOS) || \
+diff --git a/psutil/_psutil_sunos.c b/psutil/_psutil_sunos.c
+index 54f353c106..d21f59c618 100644
+--- a/psutil/_psutil_sunos.c
++++ b/psutil/_psutil_sunos.c
+@@ -1721,6 +1721,10 @@ void init_psutil_sunos(void)
+ if (module == NULL)
+ INITERROR;
+
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(module, Py_MOD_GIL_NOT_USED);
++#endif
++
+ if (psutil_setup() != 0)
+ INITERROR;
+
+diff --git a/psutil/_psutil_windows.c b/psutil/_psutil_windows.c
+index bb6e12ff80..0c221bdc23 100644
+--- a/psutil/_psutil_windows.c
++++ b/psutil/_psutil_windows.c
+@@ -165,6 +165,10 @@ void init_psutil_windows(void)
+ if (module == NULL)
+ INITERROR;
+
++#ifdef Py_GIL_DISABLED
++ PyUnstable_Module_SetGIL(module, Py_MOD_GIL_NOT_USED);
++#endif
++
+ if (psutil_setup() != 0)
+ INITERROR;
+ if (psutil_set_se_debug() != 0)
+diff --git a/psutil/arch/freebsd/cpu.c b/psutil/arch/freebsd/cpu.c
+index a15d96efc1..9fa1a7dbe6 100644
+--- a/psutil/arch/freebsd/cpu.c
++++ b/psutil/arch/freebsd/cpu.c
+@@ -26,7 +26,7 @@ For reference, here's the git history with original(ish) implementations:
+
+ PyObject *
+ psutil_per_cpu_times(PyObject *self, PyObject *args) {
+- static int maxcpus;
++ int maxcpus;
+ int mib[2];
+ int ncpu;
+ size_t len;
+diff --git a/psutil/arch/openbsd/proc.c b/psutil/arch/openbsd/proc.c
+index 96b85bc502..bec2c42ea7 100644
+--- a/psutil/arch/openbsd/proc.c
++++ b/psutil/arch/openbsd/proc.c
+@@ -147,7 +147,7 @@ PyObject *
+ psutil_proc_cmdline(PyObject *self, PyObject *args) {
+ pid_t pid;
+ int mib[4];
+- static char **argv;
++ char **argv = NULL;
+ char **p;
+ size_t argv_size = 128;
+ PyObject *py_retlist = PyList_New(0);
+@@ -189,9 +189,11 @@ psutil_proc_cmdline(PyObject *self, PyObject *args) {
+ Py_DECREF(py_arg);
+ }
+
++ free(argv);
+ return py_retlist;
+
+ error:
++ free(argv);
+ Py_XDECREF(py_arg);
+ Py_DECREF(py_retlist);
+ return NULL;
+
+From 69c74c63a322fae4a763bf8347f9e5e3202d5ecf Mon Sep 17 00:00:00 2001
+From: Sam Gross <colesbury@gmail.com>
+Date: Mon, 24 Jun 2024 18:26:00 +0000
+Subject: [PATCH 2/2] Add `if (argv != NULL)` check
+
+Signed-off-by: Sam Gross <colesbury@gmail.com>
+---
+ psutil/arch/openbsd/proc.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/psutil/arch/openbsd/proc.c b/psutil/arch/openbsd/proc.c
+index bec2c42ea7..0881ccd555 100644
+--- a/psutil/arch/openbsd/proc.c
++++ b/psutil/arch/openbsd/proc.c
+@@ -193,7 +193,8 @@ psutil_proc_cmdline(PyObject *self, PyObject *args) {
+ return py_retlist;
+
+ error:
+- free(argv);
++ if (argv != NULL)
++ free(argv);
+ Py_XDECREF(py_arg);
+ Py_DECREF(py_retlist);
+ return NULL;
diff --git a/dev-python/psutil/psutil-6.0.0-r1.ebuild b/dev-python/psutil/psutil-6.0.0-r1.ebuild
new file mode 100644
index 000000000000..f8d6a5297af0
--- /dev/null
+++ b/dev-python/psutil/psutil-6.0.0-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} python3_13t pypy3 )
+
+inherit distutils-r1 pypi
+
+TEST_PATCH=psutil-6.0.0-tests.patch
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="
+ https://github.com/giampaolo/psutil/
+ https://pypi.org/project/psutil/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${TEST_PATCH}.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${WORKDIR}/${TEST_PATCH}"
+)
+
+python_test() {
+ # Since we are running in an environment a bit similar to CI,
+ # let's skip the tests that are disabled for CI
+ local -x TRAVIS=1
+ local -x APPVEYOR=1
+ local -x GITHUB_ACTIONS=1
+ local -x GENTOO_TESTING=1
+ "${EPYTHON}" psutil/tests/runner.py ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_compile() {
+ # Force -j1 to avoid .o linking race conditions
+ local MAKEOPTS=-j1
+ distutils-r1_python_compile
+}