diff options
author | Peter Ogden <peter.ogden@xilinx.com> | 2020-04-01 04:54:16 -0700 |
---|---|---|
committer | Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com> | 2020-05-18 10:02:37 -0700 |
commit | 4dc410c1d2bb6ed77b94bb15b3536c7d6c4db362 (patch) | |
tree | 7723f17e638fc28c98df249e17bb03b498710c6c | |
parent | 1d5b70a2dbf329630c12f9c6170e4897b4689253 (diff) | |
download | meta-xilinx-4dc410c1d2bb6ed77b94bb15b3536c7d6c4db362.tar.gz |
python3-pynq.bb: Update PYNQ to 2.5.1
* Pull PYNQ from PyPI instead of from GitHub
* Minor patches to PYNQ to maintain 3.5 and Yocto Compatibility
* Add ZCU104 to defined boards in the xilinx-pynq bbclass
* Refactor common logic for installing notebooks into xilinx-pynq bbclass
* Verify that the PYNQ base overlay for the ZCU104 works
* Set up correct python3 Yocto variables using python3-dir class
Signed-off-by: Peter Ogden <ogden@xilinx.com>
Signed-off-by: Sai Hari Chandana Kalluri <chandana.kalluri@xilinx.com>
-rw-r--r-- | meta-xilinx-pynq/classes/xilinx-pynq.bbclass | 29 | ||||
-rw-r--r-- | meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc | 22 | ||||
-rw-r--r-- | meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch | 25 | ||||
-rw-r--r-- | meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch | 35 | ||||
-rw-r--r-- | meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch | 25 | ||||
-rw-r--r-- | meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb (renamed from meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.4.bb) | 0 |
6 files changed, 121 insertions, 15 deletions
diff --git a/meta-xilinx-pynq/classes/xilinx-pynq.bbclass b/meta-xilinx-pynq/classes/xilinx-pynq.bbclass index a571f150..645d1da2 100644 --- a/meta-xilinx-pynq/classes/xilinx-pynq.bbclass +++ b/meta-xilinx-pynq/classes/xilinx-pynq.bbclass | |||
@@ -3,15 +3,36 @@ PYNQ_NOTEBOOK_DIR ?= "${datadir}/notebooks" | |||
3 | PYNQ_ARCH_arm = "armv7l" | 3 | PYNQ_ARCH_arm = "armv7l" |
4 | PYNQ_ARCH_aarch64 = "aarch64" | 4 | PYNQ_ARCH_aarch64 = "aarch64" |
5 | 5 | ||
6 | CMA_ARCH_arm = "32" | ||
7 | CMA_ARCH_aarch64 = "64" | ||
8 | |||
9 | PYNQ_BUILD_ARCH="${PYNQ_ARCH_${TARGET_ARCH}}" | 6 | PYNQ_BUILD_ARCH="${PYNQ_ARCH_${TARGET_ARCH}}" |
10 | PYNQ_BUILD_ROOT="${STAGING_DIR_TARGET}" | 7 | PYNQ_BUILD_ROOT="${STAGING_DIR_TARGET}" |
11 | BBCLASSEXTEND = "native nativesdk" | 8 | BBCLASSEXTEND = "native nativesdk" |
12 | 9 | ||
10 | PACKAGES += " ${PN}-notebooks" | ||
13 | FILES_${PN}-notebooks += "${PYNQ_NOTEBOOK_DIR}" | 11 | FILES_${PN}-notebooks += "${PYNQ_NOTEBOOK_DIR}" |
14 | PACKAGES += "${PN}-notebooks" | 12 | |
13 | INSANE_SKIP_${PN} += "staticdev dev-so" | ||
14 | inherit python3-dir | ||
15 | 15 | ||
16 | # Used for setup.py on PYNQ | 16 | # Used for setup.py on PYNQ |
17 | BOARD_NAME_ultra96-zynqmp = "Ultra96" | 17 | BOARD_NAME_ultra96-zynqmp = "Ultra96" |
18 | BOARD_NAME_zcu104-zynqmp = "ZCU104" | ||
19 | |||
20 | do_compile_prepend() { | ||
21 | export BOARD=${BOARD_NAME} | ||
22 | export PYNQ_BUILD_ARCH=${PYNQ_BUILD_ARCH} | ||
23 | export PYNQ_JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR} | ||
24 | } | ||
25 | |||
26 | do_install_prepend() { | ||
27 | export BOARD=${BOARD_NAME} | ||
28 | export PYNQ_BUILD_ARCH=${PYNQ_BUILD_ARCH} | ||
29 | export PYNQ_JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR} | ||
30 | install -d ${PYNQ_JUPYTER_NOTEBOOKS} | ||
31 | } | ||
32 | |||
33 | do_configure_prepend() { | ||
34 | export BOARD=${BOARD_NAME} | ||
35 | export PYNQ_BUILD_ARCH=${PYNQ_BUILD_ARCH} | ||
36 | export PYNQ_JUPYTER_NOTEBOOKS=${D}${PYNQ_NOTEBOOK_DIR} | ||
37 | install -d ${PYNQ_JUPYTER_NOTEBOOKS} | ||
38 | } | ||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc b/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc index fa717f45..96303bdf 100644 --- a/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc +++ b/meta-xilinx-pynq/recipes-devtool/python/python-pynq.inc | |||
@@ -3,6 +3,9 @@ HOMEPAGE = "http://pynq.io" | |||
3 | LICENSE = "MIT" | 3 | LICENSE = "MIT" |
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b42e39ad2ddbad7e8ad47f3eee6feff5" | 4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=b42e39ad2ddbad7e8ad47f3eee6feff5" |
5 | 5 | ||
6 | SRC_URI[md5sum] = "9950894100c20293e921090b76ca9f17" | ||
7 | SRC_URI[sha256sum] = "4f719e2753093d1e79931755c624d160cf342c03af49e027d09abe75bdc8e8c5" | ||
8 | |||
6 | RDEPENDS_${PN} += "\ | 9 | RDEPENDS_${PN} += "\ |
7 | ${PYTHON_PN}-core \ | 10 | ${PYTHON_PN}-core \ |
8 | ${PYTHON_PN}-asyncio \ | 11 | ${PYTHON_PN}-asyncio \ |
@@ -17,6 +20,7 @@ RDEPENDS_${PN} += "\ | |||
17 | ${PYTHON_PN}-setuptools \ | 20 | ${PYTHON_PN}-setuptools \ |
18 | ${PYTHON_PN}-threading \ | 21 | ${PYTHON_PN}-threading \ |
19 | ${PYTHON_PN}-xml \ | 22 | ${PYTHON_PN}-xml \ |
23 | ${PYTHON_PN}-audio \ | ||
20 | lmsensors-libsensors \ | 24 | lmsensors-libsensors \ |
21 | libdrm \ | 25 | libdrm \ |
22 | libcma \ | 26 | libcma \ |
@@ -27,19 +31,13 @@ inherit update-rc.d xilinx-pynq | |||
27 | 31 | ||
28 | DEPENDS += " libdrm boost libcma" | 32 | DEPENDS += " libdrm boost libcma" |
29 | 33 | ||
30 | PYNQBRANCH ?= "image_v2.4" | 34 | SRC_URI += "file://pl_server_init \ |
31 | SRCBRANCHARG = "${@['nobranch=1', 'branch=${PYNQBRANCH}'][d.getVar('PYNQBRANCH', True) != '']}" | 35 | file://0001-Fix-3.6-ism-in-Xlnk-class.patch \ |
32 | PYNQURI ?= "git://github.com/Xilinx/PYNQ.git;protocol=https" | 36 | file://0002-Avoid-deleteing-notebooks.patch \ |
33 | 37 | file://0003-Use-sysroot-for-Displayport-library.patch \ | |
34 | SRC_URI = "${PYNQURI};${SRCBRANCHARG} \ | 38 | " |
35 | file://pl_server_init \ | ||
36 | " | ||
37 | SRCREV ?= "3d659d374701b7c34fa702e7aa23f71f9113f826" | ||
38 | 39 | ||
39 | FILESEXTRAPATHS_prepend := "${THISDIR}:" | 40 | FILESEXTRAPATHS_prepend := "${THISDIR}:" |
40 | S = "${WORKDIR}/git" | ||
41 | |||
42 | INSANE_SKIP_${PN} = "staticdev" | ||
43 | 41 | ||
44 | INITSCRIPT_PACKAGES = "${PN}" | 42 | INITSCRIPT_PACKAGES = "${PN}" |
45 | INITSCRIPT_NAME = "pl_server_init" | 43 | INITSCRIPT_NAME = "pl_server_init" |
@@ -48,6 +46,8 @@ INITSCRIPT_PARAMS = "start 99 S ." | |||
48 | do_install_append() { | 46 | do_install_append() { |
49 | install -d ${D}${INIT_D_DIR} | 47 | install -d ${D}${INIT_D_DIR} |
50 | install -m 755 ${WORKDIR}/pl_server_init ${D}${INIT_D_DIR}/pl_server_init | 48 | install -m 755 ${WORKDIR}/pl_server_init ${D}${INIT_D_DIR}/pl_server_init |
49 | rm -rf ${D}${PYNQ_NOTEBOOK_DIR}_* | ||
51 | } | 50 | } |
52 | 51 | ||
52 | |||
53 | FILES_${PN} += " ${INIT_D_DIR}/pl_server_init " | 53 | FILES_${PN} += " ${INIT_D_DIR}/pl_server_init " |
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch new file mode 100644 index 00000000..d947a3a6 --- /dev/null +++ b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0001-Fix-3.6-ism-in-Xlnk-class.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 940acab94a60708a9a9092579af52c1195f23fae Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Ogden <ogden@xilinx.com> | ||
3 | Date: Tue, 3 Mar 2020 06:21:03 -0500 | ||
4 | Subject: [PATCH 1/3] Fix 3.6-ism in Xlnk class | ||
5 | |||
6 | --- | ||
7 | pynq/xlnk.py | 2 +- | ||
8 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
9 | |||
10 | diff --git a/pynq/xlnk.py b/pynq/xlnk.py | ||
11 | index c07f1e5..a25e0e3 100644 | ||
12 | --- a/pynq/xlnk.py | ||
13 | +++ b/pynq/xlnk.py | ||
14 | @@ -423,7 +423,7 @@ class Xlnk: | ||
15 | for l in f.readlines(): | ||
16 | m = re.match('CmaTotal:[\\s]+([0-9]+) kB', l) | ||
17 | if m: | ||
18 | - return int(m[1]) * 1024 | ||
19 | + return int(m.group(1)) * 1024 | ||
20 | return 0 | ||
21 | |||
22 | def flush(self, bo, offset, vaddr, nbytes): | ||
23 | -- | ||
24 | 2.7.4 | ||
25 | |||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch new file mode 100644 index 00000000..e67c8048 --- /dev/null +++ b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0002-Avoid-deleteing-notebooks.patch | |||
@@ -0,0 +1,35 @@ | |||
1 | From 70b38f8748779d57117bca3e37441e2223372293 Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Ogden <ogden@xilinx.com> | ||
3 | Date: Tue, 3 Mar 2020 06:23:26 -0500 | ||
4 | Subject: [PATCH 2/3] Avoid deleteing notebooks | ||
5 | |||
6 | --- | ||
7 | setup.py | 5 +++-- | ||
8 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
9 | |||
10 | diff --git a/setup.py b/setup.py | ||
11 | index df1dada..95479e3 100644 | ||
12 | --- a/setup.py | ||
13 | +++ b/setup.py | ||
14 | @@ -36,6 +36,7 @@ from setuptools.command.build_ext import build_ext | ||
15 | from distutils.dir_util import copy_tree | ||
16 | from distutils.file_util import copy_file, move_file | ||
17 | from shutil import rmtree | ||
18 | +import shutil | ||
19 | import glob | ||
20 | import re | ||
21 | import subprocess | ||
22 | @@ -322,8 +323,8 @@ class BuildExtension(build_ext): | ||
23 | for ol in overlay_dirs: | ||
24 | src = os.path.join(board_folder, ol) | ||
25 | dst = os.path.join(self.build_lib, "pynq/overlays", ol) | ||
26 | - exclude_file_or_folder('notebooks', src) | ||
27 | - copy_tree(src, dst) | ||
28 | + if not os.path.isdir(dst): | ||
29 | + shutil.copytree(src, dst, ignore=shutil.ignore_patterns('notebooks')) | ||
30 | |||
31 | def run(self): | ||
32 | if CPU_ARCH == ZYNQ_ARCH: | ||
33 | -- | ||
34 | 2.7.4 | ||
35 | |||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch new file mode 100644 index 00000000..f250e4a2 --- /dev/null +++ b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq/0003-Use-sysroot-for-Displayport-library.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 65e1134505235a60013d91c8b03401b8b4062cde Mon Sep 17 00:00:00 2001 | ||
2 | From: Peter Ogden <ogden@xilinx.com> | ||
3 | Date: Tue, 3 Mar 2020 10:32:35 -0500 | ||
4 | Subject: [PATCH 3/3] Use sysroot for Displayport library | ||
5 | |||
6 | --- | ||
7 | pynq/lib/_pynq/_displayport/Makefile | 2 +- | ||
8 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
9 | |||
10 | diff --git a/pynq/lib/_pynq/_displayport/Makefile b/pynq/lib/_pynq/_displayport/Makefile | ||
11 | index 5567e34..7f1f7b7 100644 | ||
12 | --- a/pynq/lib/_pynq/_displayport/Makefile | ||
13 | +++ b/pynq/lib/_pynq/_displayport/Makefile | ||
14 | @@ -2,7 +2,7 @@ CC ?= gcc | ||
15 | CXX ?= g++ | ||
16 | |||
17 | OBJSC = displayport.o | ||
18 | -INC = -I${PYNQ_BUILD_ROOT}/usr/include/libdrm | ||
19 | +INC = -I=${PYNQ_BUILD_ROOT}/usr/include/libdrm | ||
20 | |||
21 | all: | ||
22 | $(CXX) -fPIC $(INC) -c -g -std=c++11 displayport.cpp $(CFLAGS) | ||
23 | -- | ||
24 | 2.7.4 | ||
25 | |||
diff --git a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.4.bb b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb index 5a904c8f..5a904c8f 100644 --- a/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.4.bb +++ b/meta-xilinx-pynq/recipes-devtool/python/python3-pynq_2.5.1.bb | |||