From: Christopher Larson <chris_lar...@mentor.com> This is useful as it avoids pulling python into a build just to build chkconfig. The python recipe uses the libnewt installed in the sysroot by the main package, so there's little loss of build time, other than the additional unpack/patch.
Signed-off-by: Christopher Larson <chris_lar...@mentor.com> --- meta/recipes-extended/newt/libnewt-0.52.14.inc | 45 ++++++++++++++++++ .../newt/libnewt-python_0.52.14.bb | 26 +++++++++++ meta/recipes-extended/newt/libnewt_0.52.14.bb | 54 +--------------------- 3 files changed, 73 insertions(+), 52 deletions(-) create mode 100644 meta/recipes-extended/newt/libnewt-0.52.14.inc create mode 100644 meta/recipes-extended/newt/libnewt-python_0.52.14.bb diff --git a/meta/recipes-extended/newt/libnewt-0.52.14.inc b/meta/recipes-extended/newt/libnewt-0.52.14.inc new file mode 100644 index 0000000..262610c --- /dev/null +++ b/meta/recipes-extended/newt/libnewt-0.52.14.inc @@ -0,0 +1,45 @@ +SUMMARY = "A library for text mode user interfaces" + +DESCRIPTION = "Newt is a programming library for color text mode, widget based user \ +interfaces. Newt can be used to add stacked windows, entry widgets, \ +checkboxes, radio buttons, labels, plain text fields, scrollbars, \ +etc., to text mode user interfaces. This package also contains the \ +shared library needed by programs built with newt, as well as a \ +/usr/bin/dialog replacement called whiptail. Newt is based on the \ +slang library." + +HOMEPAGE = "https://fedorahosted.org/newt/" +SECTION = "libs" + +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" + +# slang needs to be >= 2.2 +DEPENDS = "slang popt" + +PR = "r2" + +SRC_URI = "https://fedorahosted.org/releases/n/e/newt/newt-${PV}.tar.gz \ + file://remove_slang_include.patch \ + file://fix_SHAREDDIR.patch \ + file://cross_ar.patch \ + file://fix_python_fpic.patch" + +SRC_URI[md5sum] = "eb78c6bb658b92ec7198908b5b8d0e37" +SRC_URI[sha256sum] = "f70f4f58baa60388ddf2e39249ffb00898fb40f2b2767e42e2ab51fe4b40978e" + +S = "${WORKDIR}/newt-${PV}" + +EXTRA_OECONF = "--without-tcl --without-python" + +inherit autotools + +export STAGING_INCDIR +export STAGING_LIBDIR + +export BUILD_SYS +export HOST_SYS + +do_configure_prepend() { + sh autogen.sh +} diff --git a/meta/recipes-extended/newt/libnewt-python_0.52.14.bb b/meta/recipes-extended/newt/libnewt-python_0.52.14.bb new file mode 100644 index 0000000..dd3ac63 --- /dev/null +++ b/meta/recipes-extended/newt/libnewt-python_0.52.14.bb @@ -0,0 +1,26 @@ +require recipes-extended/newt/libnewt-${PV}.inc + +SUMMARY .= " - python" +DEPENDS = "libnewt python" +RDEPENDS_${PN} += "python-core" + +inherit pythonnative python-dir + +EXTRA_OECONF += "--with-python" +EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}" + + +do_compile () { + VERSION="$(sed -n 's/^VERSION = //p' Makefile)" + oe_runmake "LIBNEWTSH=${STAGING_LIBDIR}/libnewt.so.$VERSION" _snackmodule.so +} + +do_install () { + install -d ${D}${PYTHON_SITEPACKAGES_DIR} + install -m 0755 ${PYTHON_DIR}/_snackmodule.so ${D}${PYTHON_SITEPACKAGES_DIR}/ + install -m 0644 snack.py ${D}${PYTHON_SITEPACKAGES_DIR}/ +} + + +FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" +FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/" diff --git a/meta/recipes-extended/newt/libnewt_0.52.14.bb b/meta/recipes-extended/newt/libnewt_0.52.14.bb index 54da15d..155114e 100644 --- a/meta/recipes-extended/newt/libnewt_0.52.14.bb +++ b/meta/recipes-extended/newt/libnewt_0.52.14.bb @@ -1,54 +1,4 @@ -SUMMARY = "A library for text mode user interfaces" - -DESCRIPTION = "Newt is a programming library for color text mode, widget based user \ -interfaces. Newt can be used to add stacked windows, entry widgets, \ -checkboxes, radio buttons, labels, plain text fields, scrollbars, \ -etc., to text mode user interfaces. This package also contains the \ -shared library needed by programs built with newt, as well as a \ -/usr/bin/dialog replacement called whiptail. Newt is based on the \ -slang library." - -HOMEPAGE = "https://fedorahosted.org/newt/" -SECTION = "libs" - -LICENSE = "LGPLv2" -LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605" - -# slang needs to be >= 2.2 -DEPENDS = "slang popt python" - -PR = "r2" - -SRC_URI = "https://fedorahosted.org/releases/n/e/newt/newt-${PV}.tar.gz \ - file://remove_slang_include.patch \ - file://fix_SHAREDDIR.patch \ - file://cross_ar.patch \ - file://fix_python_fpic.patch" - -SRC_URI[md5sum] = "eb78c6bb658b92ec7198908b5b8d0e37" -SRC_URI[sha256sum] = "f70f4f58baa60388ddf2e39249ffb00898fb40f2b2767e42e2ab51fe4b40978e" - -S = "${WORKDIR}/newt-${PV}" - -EXTRA_OECONF = "--without-tcl" - -inherit autotools pythonnative python-dir - -EXTRA_OEMAKE = "PYTHONVERS=${PYTHON_DIR}" - -export STAGING_INCDIR -export STAGING_LIBDIR - -export BUILD_SYS -export HOST_SYS - -PACKAGES_prepend = "whiptail ${PN}-python " - -do_configure_prepend() { - ( cd ${S}; sh autogen.sh ) -} +require recipes-extended/newt/${BPN}-${PV}.inc +PACKAGES =+ "whiptail" FILES_whiptail = "${bindir}/whiptail" -FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/.debug/" -FILES_${PN}-python = "${PYTHON_SITEPACKAGES_DIR}/*" -FILES_${PN}-staticdev = "${libdir}/*.a" -- 1.8.3 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core