summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3-jsonschema_4.4.0.bb
blob: af15a8a0464cd4a365bf5bba7396b11b13a14674 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
SUMMARY = "An implementation of JSON Schema validation for Python"
HOMEPAGE = "https://github.com/Julian/jsonschema"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://COPYING;md5=7a60a81c146ec25599a3e1dabb8610a8 \
                    file://json/LICENSE;md5=9d4de43111d33570c8fe49b4cb0e01af"

SRC_URI[sha256sum] = "636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83"

inherit pypi python3-dir

DEPENDS += "${PYTHON_PN}-vcversioner-native ${PYTHON_PN}-setuptools-scm-native"
DEPENDS += "python3-build-native python3-installer-native python3-pep517-native python3-setuptools-native python3-setuptools-scm-native python3-wheel-native"

PACKAGECONFIG ??= "format"
PACKAGECONFIG[format] = ",,,\
    ${PYTHON_PN}-idna \
    ${PYTHON_PN}-jsonpointer \
    ${PYTHON_PN}-webcolors \
    ${PYTHON_PN}-rfc3987 \
    ${PYTHON_PN}-strict-rfc3339 \
"
PACKAGECONFIG[nongpl] = ",,,\
    ${PYTHON_PN}-idna \
    ${PYTHON_PN}-jsonpointer \
    ${PYTHON_PN}-webcolors \
    ${PYTHON_PN}-rfc3986-validator \
    ${PYTHON_PN}-rfc3339-validator \
"

RDEPENDS:${PN} += " \
    ${PYTHON_PN}-attrs \
    ${PYTHON_PN}-core \
    ${PYTHON_PN}-datetime \
    ${PYTHON_PN}-importlib-metadata \
    ${PYTHON_PN}-io \
    ${PYTHON_PN}-json \
    ${PYTHON_PN}-netclient \
    ${PYTHON_PN}-numbers \
    ${PYTHON_PN}-pkgutil \
    ${PYTHON_PN}-pprint \
    ${PYTHON_PN}-pyrsistent \
    ${PYTHON_PN}-shell \
    ${PYTHON_PN}-six \
    ${PYTHON_PN}-unittest \
    ${PYTHON_PN}-setuptools-scm \
    ${PYTHON_PN}-zipp \
"

do_compile() {
    nativepython3 -m build --wheel --no-isolation
}

do_install:prepend() {                                                                                                                            
    cat > ${S}/install-it.py << EOF                                                                                                               
from installer import install                                                                                                                     
from installer.destinations import SchemeDictionaryDestination                                                                                    
from installer.sources import WheelFile                                                                                                           
                                                                                                                                                  
sysconfig_paths={'stdlib': '${D}${libdir}/${PYTHON_DIR}', 'platstdlib': '${D}${libdir}/${PYTHON_DIR}', 'purelib': '${D}${PYTHON_SITEPACKAGES_DIR}'
, 'platlib': '${D}${PYTHON_SITEPACKAGES_DIR}', 'include': '${D}${incdir}/${PYTHON_DIR}', 'platinclude': '${D}${incdir}/${PYTHON_DIR}', 'scripts': 
'${D}${bindir}', 'data': '${D}${exec_prefix}'}                                                                                                    
                                                                                                                                                  
destination = SchemeDictionaryDestination(                                                                                                        
    sysconfig_paths,                                                                                                                              
    interpreter="${STAGING_BINDIR_NATIVE}/python3-native/python3",                                                                                
    script_kind="posix",                                                                                                                          
)                                                                                                                                                 
                                                                                                                                                  
with WheelFile.open("dist/${PYPI_PACKAGE}-${PV}-py3-none-any.whl") as source:                                                                 
    install(                                                                                                                                      
        source=source,                                                                                                                            
        destination=destination,                                                                                                                  
        additional_metadata={                                                                                                                     
            "INSTALLER": b"python3-installer-0.4.0",                                                                                              
        },                                                                                                                                        
    )                                                                                                                                             
EOF                                                                                                                                               
}

do_install() {
    ${STAGING_BINDIR_NATIVE}/python3-native/python3 ${S}/install-it.py
}

FILES:${PN} += "\
    ${PYTHON_SITEPACKAGES_DIR}/${PYPI_PACKAGE}-${PV}.dist-info* \
    ${PYTHON_SITEPACKAGES_DIR}/${PYPI_PACKAGE}/* \
"

BBCLASSEXTEND = "native nativesdk"