aboutsummaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python
diff options
context:
space:
mode:
authorZoltán Böszörményi <zboszor@gmail.com>2023-03-10 14:46:36 +0100
committerKhem Raj <raj.khem@gmail.com>2023-03-10 09:01:54 -0800
commit78f2b8c793842388d75ea27e5689c78ac0608363 (patch)
tree35167a60c18f9acca1ef575d7935843d119e34bd /meta-python/recipes-devtools/python
parentbf6779b62a72269f8cabeb416255c3f75d76d051 (diff)
downloadmeta-openembedded-contrib-78f2b8c793842388d75ea27e5689c78ac0608363.tar.gz
python3-cmake: New recipe
Some python modules rely on "import cmake". Only build and ship the python parts, and don't download and build cmake from sources. Use the already built cmake instead. The CMakeLists.txt file is a crippled copy from this cmake python module's sources, removing almost everything, and adding a dummy install target, so do_install() doesn't fail. The python code is patched so cmake is used from PATH. Signed-off-by: Zoltán Böszörményi <zboszor@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-python/recipes-devtools/python')
-rw-r--r--meta-python/recipes-devtools/python/python3-cmake/CMakeLists.txt11
-rw-r--r--meta-python/recipes-devtools/python/python3-cmake/run-cmake-from-path.patch11
-rw-r--r--meta-python/recipes-devtools/python/python3-cmake_3.25.2.bb37
3 files changed, 59 insertions, 0 deletions
diff --git a/meta-python/recipes-devtools/python/python3-cmake/CMakeLists.txt b/meta-python/recipes-devtools/python/python3-cmake/CMakeLists.txt
new file mode 100644
index 0000000000..8ba81970ff
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-cmake/CMakeLists.txt
@@ -0,0 +1,11 @@
+cmake_minimum_required(VERSION 3.6)
+
+#
+# For more details, see docs/building.rst
+#
+
+project(CMakePythonDistributions NONE)
+
+install(CODE "
+ message(STATUS \"Install CMake project\")
+")
diff --git a/meta-python/recipes-devtools/python/python3-cmake/run-cmake-from-path.patch b/meta-python/recipes-devtools/python/python3-cmake/run-cmake-from-path.patch
new file mode 100644
index 0000000000..5c38fadce0
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-cmake/run-cmake-from-path.patch
@@ -0,0 +1,11 @@
+--- cmake-3.25.2/src/cmake/__init__.py.old 2023-03-10 09:40:43.582315753 +0100
++++ cmake-3.25.2/src/cmake/__init__.py 2023-03-10 09:41:38.030874047 +0100
+@@ -36,7 +36,7 @@
+
+
+ def _program(name, args):
+- return subprocess.call([os.path.join(CMAKE_BIN_DIR, name)] + args, close_fds=False)
++ return subprocess.call([name] + args, close_fds=False)
+
+
+ def cmake():
diff --git a/meta-python/recipes-devtools/python/python3-cmake_3.25.2.bb b/meta-python/recipes-devtools/python/python3-cmake_3.25.2.bb
new file mode 100644
index 0000000000..d0e11f9a61
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-cmake_3.25.2.bb
@@ -0,0 +1,37 @@
+SUMMARY = "CMake is an open-source, cross-platform family of tools designed to build, test and package software"
+LICENSE = "BSD-3-Clause & Apache-2.0"
+LIC_FILES_CHKSUM = " \
+ file://LICENSE_BSD_3;md5=9134cb61aebbdd79dd826ccb9ae6afcd \
+ file://LICENSE_Apache_20;md5=19cbd64715b51267a47bf3750cc6a8a5 \
+"
+
+DEPENDS = "ninja-native cmake-native python3-scikit-build-native"
+
+PYPI_PACKAGE = "cmake"
+PYPI_ARCHIVE_NAME_PREFIX = "pypi-"
+
+inherit pypi python_setuptools_build_meta
+SRC_URI[sha256sum] = "bcf9f0369743278ec26961542b31ed1610e6f4cfc20c00a3f1c61985abb3b0d2"
+
+SRC_URI += " \
+ file://CMakeLists.txt \
+ file://run-cmake-from-path.patch \
+"
+
+addtask do_patchbuild after do_patch before do_configure
+
+do_patchbuild () {
+ rm -f ${S}/CMakeLists.txt
+ cp ${WORKDIR}/CMakeLists.txt ${S}/
+}
+
+do_install:append () {
+ rm -rf ${D}${bindir}
+}
+
+RDEPENDS:${PN} = " \
+ cmake \
+ python3-scikit-build \
+"
+
+BBCLASSEXTEND = "native nativesdk"