dev-python/objgraph: new package, add 3.5.0-r1

Closes: #3080
Signed-off-by: Andreas Billmeier <b@edevau.net>
This commit is contained in:
Andreas Billmeier 2024-03-15 00:11:45 +01:00
parent 967656690b
commit 6fe9856c58
Signed by: onkelbeh
GPG Key ID: E6DB12C8C550F3C0
5 changed files with 128 additions and 5 deletions

View File

@ -617,12 +617,12 @@ A daily compile test is run at Github with Python 3.9 to catch general faults. E
## Licenses
This repository itself is released under GPL-3 (like most Gentoo repositories), all work on the depending components under the licenses they came from. Perhaps you came here because I filed an issue at your component about a bad or missing license. It is easy to [assign a license](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/adding-a-license-to-a-repository). During cleanups and license investigations I have been asked often which license to choose. I am not a lawyer, but I can offer the following table, counted over this repository, perhaps this helps your decision. If a package has more than one license listed, all of them are counted.
There are 1921 Ebuilds in total, 1910 of them have in total 1929 (42 different) licenses assigned.
There are 1925 Ebuilds in total, 1914 of them have in total 1933 (42 different) licenses assigned.
|License| Ebuilds using it|
|-------|-----|
|MIT|1083|
|Apache-2.0|442|
|MIT|1084|
|Apache-2.0|445|
|GPL-3|128|
|BSD|106|
|LGPL-3|25|
@ -664,9 +664,9 @@ There are 1921 Ebuilds in total, 1910 of them have in total 1929 (42 different)
|GPL-2+|1|
|GPL-2-with-linking-exception|1|
(Last counted: 14/03/2024)
(Last counted: 15/03/2024)
I did my best to keep these clean. If a valid license was published on PyPI, it has been automatically merged. Otherwise I took it from GitHub or alternatively from comments/files in the source. Sometimes these differed and have been not unique. All license strings are adjusted to the list in `/usr/portage/gentoo/licenses/`. Some packages do not have any license published. In this case, Authors have been asked for clarification, some did not respond. Following the [official Gentoo Guide](https://devmanual.gentoo.org/general-concepts/licenses/index.html), these then were added with an `all-rights-reserved` license and `RESTRICT="mirror"` was set. Find the appropriate licenses referenced in the Ebuild files and in the corresponding homepages or sources.
A big thanks goes to Iris for reviewing this README.
Last updated: 14/03/2024
Last updated: 15/03/2024

View File

@ -0,0 +1,4 @@
AUX objgraph-3.4.1-tests.patch 2708 BLAKE2B 2b2c78340c1be1c60fe3b43a671b1fab07bcb58275d90f59fca9dcc8bebdd52f5d6ed69455f9135647b27ed64d3251cb7d7b5f3da4e7b394bf45a45791b73c73 SHA512 8d8a43bcb75141a5fa278871d7e4e3b2ba1dcb833967a347f334675d6fa1a510d7f9abbcae82419617fc593ca02e1708ff69d9b4babe1d23e08d24814f9b564b
DIST objgraph-3.5.0.tar.gz 638591 BLAKE2B 7a0ee6c9ee1d8417f7b322f19a397ea2452ed592ebbc07afc1378e86b5bad3895ed2e4a20d92a5f4b0215f68fc7440f85852303585a3161497a85d41d4c4e550 SHA512 da29202871bad06f2caa9cc297e7bf9a15af4c89e23baf9c271764e0ce93ff9557cd5c21d0bf39b425713460dbe2dbc8468d70c6bfcc1c3ff8b1b4d4a7923858
EBUILD objgraph-3.5.0-r1.ebuild 812 BLAKE2B ec9594e67184a0976a4aa72f73d6cd88ab9a613564f4967e8793c0e0956747d3b469c608d2020f48bd072c6f97180679871daff476d212e708ef05b9021a6bb0 SHA512 84692ef9f536153895ed5a8264fa1b0a1d1cb220829669e21e4899dca8068821d2d36c56b6baca8b8acdf679d4f93b7db9b5096f08f23b1c99e50d3b958d921b
MISC metadata.xml 510 BLAKE2B 505acd555c4b125ca548fdfd279027843cf725a5f0379ae6398c7766eb15ab9f062eedf89bff7a63d364fa28461892875b1705b372ea55eeb7ec14e822aab4c9 SHA512 5584de5095cf02fbc2de534e61e91eb6c0502dde7efa583f021a27550c17d7c37e2c96b7f2647f6f57689046524c0245a9375121eb138c9fa04b12fe9223b6eb

View File

@ -0,0 +1,57 @@
diff --git a/tests.py b/tests.py
index fc2ee7f..d494470 100755
--- a/tests.py
+++ b/tests.py
@@ -11,6 +11,7 @@ import tempfile
import textwrap
import types
import unittest
+import platform
# setuptools imports `imp`, which triggers a DeprecationWarning starting with
# Python 3.4 in the middle of my pristine test suite. But if I do the import
@@ -363,7 +364,7 @@ def doctest_get_new_ids_prints():
========================================================
Type Old_ids Current_ids New_ids Count_Deltas
========================================================
- list ... ... ... +2
+ wt ... ... ... +2
========================================================
"""
@@ -387,7 +388,10 @@ class ByTypeTest(GarbageCollectedMixin, unittest.TestCase):
# 2. the `res` list
# referrers we don't want:
# the ``objects`` list in the now-dead stack frame of objgraph.by_type
- self.assertLessEqual(len(gc.get_referrers(res[0])), 2)
+ if 'pypy' in platform.python_implementation().lower():
+ self.assertLessEqual(len(gc.get_referrers(res[0])), 3)
+ else:
+ self.assertLessEqual(len(gc.get_referrers(res[0])), 2)
class AtAddrsTest(unittest.TestCase):
@@ -439,7 +443,10 @@ class StringRepresentationTest(GarbageCollectedMixin,
obj = MyClass()
with mock.patch.object(obj, 'my_method',
types.MethodType(mock_method, obj)):
- self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
+ if 'pypy' in platform.python_implementation().lower():
+ self.assertRegex(objgraph._short_repr(obj.my_method), '<bound method')
+ else:
+ self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
def test_short_repr_mocked_name(self):
self.assertRegex(objgraph._short_repr(mock.Mock(__name__=mock.Mock())),
@@ -462,7 +469,10 @@ class StringRepresentationTest(GarbageCollectedMixin,
obj = MyClass()
with mock.patch.object(obj, 'my_method',
types.MethodType(mock_method, obj)):
- self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
+ if 'pypy' in platform.python_implementation().lower():
+ self.assertRegex(objgraph._short_repr(obj.my_method), '<bound method')
+ else:
+ self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
@skipIf(sys.version_info[0] > 2, "Python 3 has no unbound methods")
def test_short_repr_unbound_method(self):

View File

@ -0,0 +1,16 @@
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>b@edevau.net</email>
<name>Andreas Billmeier</name>
</maintainer>
<upstream>
<remote-id type="pypi">objgraph</remote-id>
<remote-id type="github">mgedmin/objgraph</remote-id>
<maintainer status="unknown">
<email>marius@gedmin.as</email>
<name>Marius Gedminas</name>
</maintainer>
</upstream>
</pkgmetadata>

View File

@ -0,0 +1,46 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..12} )
inherit distutils-r1 pypi
DESCRIPTION="Draws Python object reference graphs with graphviz"
HOMEPAGE="
https://github.com/mgedmin/objgraph/
https://pypi.org/project/objgraph/
"
LICENSE="MIT"
KEYWORDS="amd64 arm arm64 x86"
SLOT="0"
IUSE="doc"
RDEPEND="
media-gfx/graphviz
"
BDEPEND="
test? (
media-gfx/xdot
)
"
PATCHES=(
"${FILESDIR}/objgraph-3.4.1-tests.patch"
)
distutils_enable_tests unittest
src_prepare() {
# the dependency is optional, actually
sed -i -e '/graphviz/d' setup.py || die
distutils-r1_src_prepare
}
python_install_all() {
use doc && local HTML_DOCS=( docs/* )
distutils-r1_python_install_all
}