mirror of
https://gitlab.com/buildroot.org/buildroot.git
synced 2026-09-09 16:01:54 -09:00
package/python-diskcache: new package
The package imports itself in setup.py to get the package-name and version number. Dping this during the buildroot build would require buisling host-python with sqlite support, which we are currently not set up for. It also seems wasteful for just extracting the version number and package name, so instead we replace the import by using a hardcoded package-name and the version number stored in buildroot. Signed-off-by: Marcus Hoffmann <buildroot@bubu1.eu> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
committed by
Thomas Petazzoni
parent
1a6e81fa13
commit
934d3e62e6
@@ -2263,6 +2263,7 @@ F: package/picotool/
|
||||
F: package/python-annotated-doc/
|
||||
F: package/python-apscheduler/
|
||||
F: package/python-crc/
|
||||
F: package/python-diskcache/
|
||||
F: package/python-django/
|
||||
F: package/python-gpiod/
|
||||
F: package/python-immutabledict/
|
||||
@@ -2280,6 +2281,7 @@ F: package/python-waitress/
|
||||
F: package/python-whitenoise/
|
||||
F: support/testing/tests/package/test_python_apscheduler.py
|
||||
F: support/testing/tests/package/test_python_crc.py
|
||||
F: support/testing/tests/package/test_python_diskcache.py
|
||||
F: support/testing/tests/package/test_python_django.py
|
||||
F: support/testing/tests/package/test_python_fastapi.py
|
||||
F: support/testing/tests/package/test_python_pydantic.py
|
||||
@@ -2293,6 +2295,7 @@ F: support/testing/tests/package/test_python_waitress.py
|
||||
F: support/testing/tests/package/test_python_whitenoise.py
|
||||
F: support/testing/tests/package/sample_python_apscheduler.py
|
||||
F: support/testing/tests/package/sample_python_crc.py
|
||||
F: support/testing/tests/package/sample_python_diskcache.py
|
||||
F: support/testing/tests/package/sample_python_django.py
|
||||
F: support/testing/tests/package/sample_python_fastapi.py
|
||||
F: support/testing/tests/package/sample_python_pydantic.py
|
||||
|
||||
@@ -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"
|
||||
|
||||
8
package/python-diskcache/Config.in
Normal file
8
package/python-diskcache/Config.in
Normal file
@@ -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/
|
||||
5
package/python-diskcache/python-diskcache.hash
Normal file
5
package/python-diskcache/python-diskcache.hash
Normal file
@@ -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
|
||||
26
package/python-diskcache/python-diskcache.mk
Normal file
26
package/python-diskcache/python-diskcache.mk
Normal file
@@ -0,0 +1,26 @@
|
||||
################################################################################
|
||||
#
|
||||
# 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
|
||||
|
||||
# diskcache imports itself during the build to get its own version,
|
||||
# which doesn't work in the Buildroot context, so we inject the
|
||||
# package name and version manually.
|
||||
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))
|
||||
9
support/testing/tests/package/sample_python_diskcache.py
Normal file
9
support/testing/tests/package/sample_python_diskcache.py
Normal file
@@ -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()
|
||||
12
support/testing/tests/package/test_python_diskcache.py
Normal file
12
support/testing/tests/package/test_python_diskcache.py
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user