[Buildroot] [PATCH v3] package/python-diskcache: new package

Marcus Hoffmann buildroot at bubu1.eu
Thu Oct 16 08:32:31 UTC 2025


Hi,

On 2/26/25 13:34, Marcus Hoffmann via buildroot wrote:
> The package imports itself in setup.py to get the package-name and
> version number. This doesn't work during the buildroot build, so we
> replace this by the hardcoded package-name and the version number stored
> in buildroot.
> 
> Signed-off-by: Marcus Hoffmann <buildroot at bubu1.eu>

I wanted to ask if there's anything I can do to help getting this 
reviewed/merged. This has unfortunately been setting for almost 8 months 
now, while later python packages I submitted have long been merged.

> ---
> 
> Changes v2: remove accidentally commited .swp file
> Chanegs v3: fix python-diskcache.mk lint errors
> 
>   DEVELOPERS                                    |  3 +++
>   package/Config.in                             |  1 +
>   package/python-diskcache/Config.in            |  8 ++++++++
>   .../python-diskcache/python-diskcache.hash    |  5 +++++
>   package/python-diskcache/python-diskcache.mk  | 20 +++++++++++++++++++
>   .../tests/package/sample_python_diskcache.py  |  9 +++++++++
>   .../tests/package/test_python_diskcache.py    | 12 +++++++++++
>   7 files changed, 58 insertions(+)
>   create mode 100644 package/python-diskcache/Config.in
>   create mode 100644 package/python-diskcache/python-diskcache.hash
>   create mode 100644 package/python-diskcache/python-diskcache.mk
>   create mode 100644 support/testing/tests/package/sample_python_diskcache.py
>   create mode 100644 support/testing/tests/package/test_python_diskcache.py
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index c07837e431..6676f2cf31 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2257,13 +2257,16 @@ N:	Marcus Hoffmann <bubu at bubu1.eu>
>   F:	package/nethogs/
>   F:	package/pico-sdk/
>   F:	package/picotool/
> +F:	package/python-diskcache/
>   F:	package/python-immutabledict/
>   F:	package/python-jc/
>   F:	package/python-ruamel-yaml-clib/
>   F:	package/python-waitress/
> +F:	support/testing/tests/package/test_python_diskcache.py
>   F:	support/testing/tests/package/test_python_fastapi.py
>   F:	support/testing/tests/package/test_python_ruamel_yaml.py
>   F:	support/testing/tests/package/test_python_waitress.py
> +F:	support/testing/tests/package/sample_python_diskcache.py
>   F:	support/testing/tests/package/sample_python_fastapi.py
>   F:	support/testing/tests/package/sample_python_ruamel_yaml.py
>   
> diff --git a/package/Config.in b/package/Config.in
> index 4a81a62ec4..7e9ba87e30 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1084,6 +1084,7 @@ menu "External python modules"
>   	source "package/python-dictdiffer/Config.in"
>   	source "package/python-dicttoxml/Config.in"
>   	source "package/python-dicttoxml2/Config.in"
> +	source "package/python-diskcache/Config.in"
>   	source "package/python-distro/Config.in"
>   	source "package/python-django/Config.in"
>   	source "package/python-django-enumfields/Config.in"
> diff --git a/package/python-diskcache/Config.in b/package/python-diskcache/Config.in
> new file mode 100644
> index 0000000000..4bf6c57406
> --- /dev/null
> +++ b/package/python-diskcache/Config.in
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_PYTHON_DISKCACHE
> +	bool "python-diskcache"
> +	select BR2_PACKAGE_PYTHON3_SQLITE # runtime
> +	select BR2_PACKAGE_PYTHON3_ZLIB # runtime
> +	help
> +	  Disk Cache -- Disk and file backed persistent cache.
> +
> +	  http://www.grantjenks.com/docs/diskcache/
> diff --git a/package/python-diskcache/python-diskcache.hash b/package/python-diskcache/python-diskcache.hash
> new file mode 100644
> index 0000000000..4befb40a4e
> --- /dev/null
> +++ b/package/python-diskcache/python-diskcache.hash
> @@ -0,0 +1,5 @@
> +# md5, sha256 from https://pypi.org/pypi/diskcache/json
> +md5  d92b4afa944bb70ed38c84a622f7abb5  diskcache-5.6.3.tar.gz
> +sha256  2c3a3fa2743d8535d832ec61c2054a1641f41775aa7c556758a109941e33e4fc  diskcache-5.6.3.tar.gz
> +# Locally computed sha256 checksums
> +sha256  583546baa3fd93607d845126570677a401f508e228b5044fefbc3949af179672  LICENSE
> diff --git a/package/python-diskcache/python-diskcache.mk b/package/python-diskcache/python-diskcache.mk
> new file mode 100644
> index 0000000000..327d076779
> --- /dev/null
> +++ b/package/python-diskcache/python-diskcache.mk
> @@ -0,0 +1,20 @@
> +################################################################################
> +#
> +# python-diskcache
> +#
> +################################################################################
> +
> +PYTHON_DISKCACHE_VERSION = 5.6.3
> +PYTHON_DISKCACHE_SOURCE = diskcache-$(PYTHON_DISKCACHE_VERSION).tar.gz
> +PYTHON_DISKCACHE_SITE = https://files.pythonhosted.org/packages/3f/21/1c1ffc1a039ddcc459db43cc108658f32c57d271d7289a2794e401d0fdb6
> +PYTHON_DISKCACHE_SETUP_TYPE = setuptools
> +PYTHON_DISKCACHE_LICENSE = Apache-2.0
> +PYTHON_DISKCACHE_LICENSE_FILES = LICENSE
> +
> +define PYTHON_DISKCACHE_REMOVE_SELF_IMPORT
> +	sed -i -e '/import diskcache/d' -e 's/diskcache.__title__/"diskcache"/' -e 's/diskcache.__version__/"$(PYTHON_DISKCACHE_VERSION)"/' $(@D)/setup.py
> +endef
> +
> +PYTHON_DISKCACHE_POST_PATCH_HOOKS += PYTHON_DISKCACHE_REMOVE_SELF_IMPORT
> +
> +$(eval $(python-package))
> diff --git a/support/testing/tests/package/sample_python_diskcache.py b/support/testing/tests/package/sample_python_diskcache.py
> new file mode 100644
> index 0000000000..8ba34daf6e
> --- /dev/null
> +++ b/support/testing/tests/package/sample_python_diskcache.py
> @@ -0,0 +1,9 @@
> +from diskcache import Cache
> +
> +cache = Cache()
> +
> +cache['test'] = 123
> +assert cache['test'] == 123
> +del cache['test']
> +assert 'test' not in cache
> +cache.close()
> diff --git a/support/testing/tests/package/test_python_diskcache.py b/support/testing/tests/package/test_python_diskcache.py
> new file mode 100644
> index 0000000000..d8618c1681
> --- /dev/null
> +++ b/support/testing/tests/package/test_python_diskcache.py
> @@ -0,0 +1,12 @@
> +from tests.package.test_python import TestPythonPackageBase
> +
> +
> +class TestPythonPy3DiskCache(TestPythonPackageBase):
> +    __test__ = True
> +    config = TestPythonPackageBase.config + \
> +        """
> +        BR2_PACKAGE_PYTHON3=y
> +        BR2_PACKAGE_PYTHON_DISKCACHE=y
> +        """
> +    sample_scripts = ["tests/package/sample_python_diskcache.py"]
> +    timeout = 10


Marcus


More information about the buildroot mailing list