diff options
Diffstat (limited to 'poky/meta/recipes-extended/newt')
7 files changed, 268 insertions, 0 deletions
diff --git a/poky/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch b/poky/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch new file mode 100644 index 000000000..a4b3afd95 --- /dev/null +++ b/poky/meta/recipes-extended/newt/files/0001-detect-gold-as-GNU-linker-too.patch @@ -0,0 +1,31 @@ +From 58245b859ffbcb1780575bf1b0a018d55e74e434 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> +Date: Wed, 21 Sep 2016 21:14:40 +0200 +Subject: [PATCH] detect gold as GNU linker too +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Upstream-Status: Pending + +Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 03e8bda..c2fce51 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -28,7 +28,7 @@ AC_CHECK_SIZEOF([void *]) + AC_MSG_CHECKING([for GNU ld]) + LD=`$CC -print-prog-name=ld 2>&5` + +-if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU ld"` = 0; then ++if test `$LD -v 2>&1 | $ac_cv_path_GREP -c "GNU "` = 0; then + # Not + GNU_LD="" + AC_MSG_RESULT([no]) +-- +2.5.5 + diff --git a/poky/meta/recipes-extended/newt/files/Makefile.in-Add-tinfo-library-to-the-linking-librari.patch b/poky/meta/recipes-extended/newt/files/Makefile.in-Add-tinfo-library-to-the-linking-librari.patch new file mode 100644 index 000000000..bc55582fd --- /dev/null +++ b/poky/meta/recipes-extended/newt/files/Makefile.in-Add-tinfo-library-to-the-linking-librari.patch @@ -0,0 +1,26 @@ +From fad40cfc18a42946a9a9e440c3434cd6b847ff9d Mon Sep 17 00:00:00 2001 +From: Otavio Salvador <otavio@ossystems.com.br> +Date: Mon, 18 Jan 2016 17:05:19 +0000 +Subject: [PATCH] Makefile.in: Add tinfo library to the linking libraries +Organization: O.S. Systems Software LTDA. + +Upstream-Status: Pending + +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> +--- + Makefile.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index a85d00f..98b85f9 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -1,4 +1,4 @@ +-LIBS = -lslang @LIBS@ ++LIBS = -lslang -ltinfo @LIBS@ + LIBTCL = @TCL_LIB_FLAG@ + + CC = @CC@ +-- +2.1.4 + diff --git a/poky/meta/recipes-extended/newt/files/cross_ar.patch b/poky/meta/recipes-extended/newt/files/cross_ar.patch new file mode 100644 index 000000000..86cc0be1d --- /dev/null +++ b/poky/meta/recipes-extended/newt/files/cross_ar.patch @@ -0,0 +1,56 @@ +Fix cross link using autoconf detected AR + +If building on 32bit host and creating 64bit libraries, the target +package builds should not invoke the 32bit hosts's ar. Specifically +you will get an error message like: + +x86_64-linux-gcc -m64 --sysroot=/opt/qemux86-64/tmp/sysroots/qemux86-64 -g -o test test.o libnewt.a -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -lslang +libnewt.a: could not read symbols: Archive has no index; run ranlib to add one +collect2: error: ld returned 1 exit status + +Signed-off-by: Jason Wessel <jason.wessel@windriver.com> + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.in | 3 ++- + configure.ac | 4 ++++ + 2 files changed, 6 insertions(+), 1 deletion(-) + +Index: newt-0.52.20/Makefile.in +=================================================================== +--- newt-0.52.20.orig/Makefile.in ++++ newt-0.52.20/Makefile.in +@@ -7,6 +7,7 @@ CFLAGS = @CFLAGS@ + LDFLAGS = @LDFLAGS@ + CPPFLAGS = -D_GNU_SOURCE @CPPFLAGS@ + GNU_LD = @GNU_LD@ ++AR = @AR@ + + VERSION = @VERSION@ + TAG = r$(subst .,-,$(VERSION)) +@@ -109,7 +110,7 @@ whiptcl.$(SOEXT): $(WHIPTCLOBJS) $(LIBNE + $(CC) -shared $(SHCFLAGS) $(LDFLAGS) -o whiptcl.$(SOEXT) $(WHIPTCLOBJS) -L. -lnewt $(LIBTCL) -lpopt $(LIBS) + + $(LIBNEWT): $(LIBOBJS) +- ar rv $@ $^ ++ $(AR) rv $@ $^ + + newt.o $(SHAREDDIR)/newt.o: newt.c Makefile + +Index: newt-0.52.20/configure.ac +=================================================================== +--- newt-0.52.20.orig/configure.ac ++++ newt-0.52.20/configure.ac +@@ -15,6 +15,10 @@ AC_PROG_INSTALL + AC_PROG_LN_S + AC_PROG_GREP + AC_SYS_LARGEFILE ++AN_MAKEVAR([AR], [AC_PROG_AR]) ++AN_PROGRAM([ar], [AC_PROG_AR]) ++AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)]) ++AC_PROG_AR + + AC_CHECK_SIZEOF([long]) + AC_CHECK_SIZEOF([long long]) diff --git a/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch b/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch new file mode 100644 index 000000000..b0a1e8c10 --- /dev/null +++ b/poky/meta/recipes-extended/newt/files/fix_SHAREDDIR.patch @@ -0,0 +1,37 @@ +Upstream-Status: Pending + +Author: dexuan.cui@intel.com +Date: Fri Apr 15 16:17:39 CST 2011 + +The patch fixes a parallel-make issue: when generating $(SHAREDDIR)/%.o, we should +ensure the directory ${SHAREDDIR} exists. + +We need to push the patch to upstream. + +Signed-off-by: Dexuan Cui <dexuan.cui@intel.com> +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +--- a/Makefile.in ++++ b/Makefile.in +@@ -128,12 +128,12 @@ $(SHAREDDIR): + + sharedlib: $(LIBNEWTSH) + +-$(LIBNEWTSH): $(SHAREDDIR) $(SHAREDOBJS) ++$(LIBNEWTSH): $(SHAREDOBJS) + $(CC) -shared -o $(LIBNEWTSH) $(SHLIBFLAGS) $(SHAREDOBJS) $(LDFLAGS) $(LIBS) + ln -fs $(LIBNEWTSONAME) libnewt.$(SOEXT) + ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME) + +-$(SHAREDDIR)/%.o : %.c ++$(SHAREDDIR)/%.o : %.c $(SHAREDDIR) + $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< + + install: $(LIBNEWT) install-sh whiptail +-- +1.8.1.2 + diff --git a/poky/meta/recipes-extended/newt/files/pie-flags.patch b/poky/meta/recipes-extended/newt/files/pie-flags.patch new file mode 100644 index 000000000..8883e26ad --- /dev/null +++ b/poky/meta/recipes-extended/newt/files/pie-flags.patch @@ -0,0 +1,36 @@ +specify -fPIC after CFLAGS so it can override the CFLAGS containing -pie and -fpie +this makes sure the objects that go into shared objects are compiled with -fPIC +and not with -fpie. We can not use -fpie on objects which will go into .so files +Fixes errors like + +| /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: shared/newt.o: relocation R_X86_64_PC32 against undefined symbol `SLtt_Screen_Rows@@SLANG2' can not be used when making a shared object; recompile with -fPIC +| /mnt/oe/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/5.3.0/ld: final link failed: Bad value +| collect2: error: ld returned 1 exit status +| make: *** [libnewt.so.0.52.18] Error 1 + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +Upstream-Status: Pending +Index: newt-0.52.18/Makefile.in +=================================================================== +--- newt-0.52.18.orig/Makefile.in ++++ newt-0.52.18/Makefile.in +@@ -96,8 +96,8 @@ _snack.$(SOEXT): snack.c $(LIBNEWTSH) + PIFLAGS=`$$pyconfig --includes`; \ + PLDFLAGS=`$$pyconfig --ldflags`; \ + PLFLAGS=`$$pyconfig --libs`; \ +- echo $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \ +- $(CC) $(SHCFLAGS) $(CPPFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \ ++ echo $(CC) $(CPPFLAGS) $(SHCFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \ ++ $(CC) $(CPPFLAGS) $(SHCFLAGS) $$PIFLAGS $$PCFLAGS -c -o $$ver/snack.o snack.c; \ + echo $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \ + $(CC) --shared $$PLDFLAGS $$PLFLAGS $(LDFLAGS) -o $$ver/_snack.$(SOEXT) $$ver/snack.o -L. -lnewt $(LIBS); \ + done || : +@@ -135,7 +135,7 @@ $(LIBNEWTSH): $(SHAREDOBJS) + ln -fs $(LIBNEWTSH) $(LIBNEWTSONAME) + + $(SHAREDDIR)/%.o : %.c $(SHAREDDIR) +- $(CC) $(SHCFLAGS) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< ++ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(SHCFLAGS) -o $@ $< + + install: $(LIBNEWT) install-sh whiptail + [ -d $(instroot)/$(bindir) ] || install -m 755 -d $(instroot)/$(bindir) diff --git a/poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb new file mode 100644 index 000000000..20369effe --- /dev/null +++ b/poky/meta/recipes-extended/newt/libnewt-python_0.52.20.bb @@ -0,0 +1,28 @@ +require recipes-extended/newt/libnewt_${PV}.bb + +SUMMARY .= " - python" +DEPENDS = "libnewt python3" +RDEPENDS_${PN} += "python3-core" + +inherit python3native python3-dir + +EXTRA_OECONF += "--with-python" +EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}" + + +do_compile () { + VERSION="$(sed -n 's/^VERSION = //p' Makefile)" + oe_runmake _snack.so +} + +do_install () { + install -d ${D}${PYTHON_SITEPACKAGES_DIR} + install -m 0755 ${PYTHON_DIR}/_snack.so ${D}${PYTHON_SITEPACKAGES_DIR}/ + install -m 0644 snack.py ${D}${PYTHON_SITEPACKAGES_DIR}/ +} + +PACKAGES_remove = "whiptail" + +FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/*" + +BBCLASSEXTEND = "native" diff --git a/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb b/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb new file mode 100644 index 000000000..65ce70c47 --- /dev/null +++ b/poky/meta/recipes-extended/newt/libnewt_0.52.20.bb @@ -0,0 +1,54 @@ +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://releases.pagure.org/newt/" +SECTION = "libs" + +LICENSE = "LGPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" + +# slang needs to be >= 2.2 +DEPENDS = "slang popt" + +SRC_URI = "https://releases.pagure.org/newt/newt-${PV}.tar.gz \ + file://fix_SHAREDDIR.patch \ + file://cross_ar.patch \ + file://Makefile.in-Add-tinfo-library-to-the-linking-librari.patch \ + file://pie-flags.patch \ + file://0001-detect-gold-as-GNU-linker-too.patch \ +" + +SRC_URI[md5sum] = "70b288f821234593a8e7920e435b259b" +SRC_URI[sha256sum] = "8d66ba6beffc3f786d4ccfee9d2b43d93484680ef8db9397a4fb70b5adbb6dbc" + +S = "${WORKDIR}/newt-${PV}" + +EXTRA_OECONF = "--without-tcl --without-python" + +inherit autotools-brokensep + +CLEANBROKEN = "1" + +export CPPFLAGS + +PACKAGES_prepend = "whiptail " + +do_configure_prepend() { + sh autogen.sh +} + +do_compile_prepend() { + # Make sure the recompile is OK + rm -f ${B}/.depend +} + +FILES_whiptail = "${bindir}/whiptail" + +BBCLASSEXTEND = "native" |