blob: 43c0440714c0547d3bbcbf314bd3f8285c2b0533 (
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
|
SUMMARY = "SIP is a C++/Python Wrapper Generator"
HOMEPAGE = "https://riverbankcomputing.com/software/sip/"
SECTION = "devel"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://LICENSE-GPL2;md5=e91355d8a6f8bd8f7c699d62863c7303"
SRC_URI = "https://www.riverbankcomputing.com/static/Downloads/sip/${PV}/sip-${PV}.tar.gz \
file://added-the-py_ssize_t_clean-argument-to-the-module-directive.patch \
"
SRC_URI[md5sum] = "70adc0c9734e2d9dcd241d3f931dfc74"
SRC_URI[sha256sum] = "22ca9bcec5388114e40d4aafd7ccd0c4fe072297b628d0c5cdfa2f010c0bc7e7"
inherit python3-dir python3native
S = "${WORKDIR}/sip-${PV}"
DEPENDS = "python3 flex-native bison-native"
PACKAGES += "python3-sip3"
BBCLASSEXTEND = "native"
CONFIGURE_SYSROOT = "${STAGING_DIR_HOST}"
CONFIGURE_SYSROOT:class-native = "${STAGING_DIR_NATIVE}"
do_configure:prepend() {
# Re-generate the lexical analyzer and parser
# Required for the py_ssize_t_clean patch
flex --outfile=sipgen/lexer.c sipgen/metasrc/lexer.l
bison --yacc -Wcounterexamples --defines=sipgen/parser.h --output=sipgen/parser.c sipgen/metasrc/parser.y
echo "py_platform = linux" > sip.cfg
echo "py_inc_dir = ${STAGING_INCDIR}/python%(py_major).%(py_minor)${PYTHON_ABI}" >> sip.cfg
echo "sip_bin_dir = ${D}/${bindir}" >> sip.cfg
echo "sip_inc_dir = ${D}/${includedir}" >> sip.cfg
echo "sip_module_dir = ${D}/${libdir}/python%(py_major).%(py_minor)/site-packages" >> sip.cfg
echo "sip_sip_dir = ${D}/${datadir}/sip" >> sip.cfg
${PYTHON} configure.py --configuration sip.cfg --destdir /${D}${libdir}/${PYTHON_DIR}/site-packages/ --sip-module PyQt5.sip --sysroot ${CONFIGURE_SYSROOT} CC="${CC}" CXX="${CXX}" LINK="${CXX}" STRIP="" LINK_SHLIB="${CXX}" CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" LFLAGS="${LDFLAGS}"
}
do_install() {
oe_runmake install
sed -i \
-e "s@[^ ]*-fdebug-prefix-map=[^ ']*@@g" \
-e "s@[^ ]*-fmacro-prefix-map=[^ ']*@@g" \
-e "s@[^ ]*-ffile-prefix-map=[^ ']*@@g" \
${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
# Remove the destination directory
sed -i -e "s@${D}/@@g" ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
if [ -n "${STAGING_DIR_NATIVE}" ]; then
sed -i -e "s@${STAGING_DIR_NATIVE}@@g" ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
fi
if [ -n "${STAGING_DIR_TARGET}" ]; then
sed -i -e "s@${STAGING_DIR_TARGET}@@g" ${D}${libdir}/${PYTHON_DIR}/site-packages/sipconfig.py
fi
}
FILES:python3-sip3 = "${libdir}/${PYTHON_DIR}/site-packages/"
FILES:${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/.debug"
|