[oe] [PATCH] nana: add new recipe

Martin Jansa martin.jansa at gmail.com
Tue Dec 9 17:52:28 UTC 2014


On Tue, Dec 09, 2014 at 11:47:05AM +0100, Martin Jansa wrote:
> On Thu, Dec 04, 2014 at 02:37:02PM +0800, Li xin wrote:
> > GNU Nana is a free library providing improved support for assertion
> > checking (as in assert.h) and logging (printf style debugging) in
> > GNU C and C++.
> > 
> > Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
> > ---
> >  .../nana/nana/change-mandir-to-DESTDIR.patch       |  40 ++++++
> >  .../modify-acinclude.m4-and-configure.in.patch     | 147 +++++++++++++++++++++
> >  meta-oe/recipes-extended/nana/nana_2.5.bb          |  29 ++++
> >  3 files changed, 216 insertions(+)
> >  create mode 100644 meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
> >  create mode 100644 meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
> >  create mode 100644 meta-oe/recipes-extended/nana/nana_2.5.bb
> > 
> > diff --git a/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
> > new file mode 100644
> > index 0000000..653a7e4
> > --- /dev/null
> > +++ b/meta-oe/recipes-extended/nana/nana/change-mandir-to-DESTDIR.patch
> > @@ -0,0 +1,40 @@
> > +From 7b04c4873c0a4510bdaf9145bf01ca34b3549fdb Mon Sep 17 00:00:00 2001
> > +From: Li xin <lixin.fnst at cn.fujitsu.com>
> > +Date: Thu, 4 Dec 2014 03:50:19 +0900
> > +Subject: [PATCH 1/2] change mandir to DESTDIR
> > +
> > +Upstream-Status: pending
> > +
> > +Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
> > +---
> > + man/Makefile.am | 2 +-
> > + man/Makefile.in | 2 +-
> > + 2 files changed, 2 insertions(+), 2 deletions(-)
> > +
> > +diff --git a/man/Makefile.am b/man/Makefile.am
> > +index 80d24d8..944bc57 100644
> > +--- a/man/Makefile.am
> > ++++ b/man/Makefile.am
> > +@@ -16,5 +16,5 @@ install-data-local:
> > + 	@sect=1;				\
> > + 	inst=`echo "nana" | sed '$(transform)'`.1; \
> > + 	echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
> > +-	$(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
> > ++	$(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst
> > + 
> > +diff --git a/man/Makefile.in b/man/Makefile.in
> > +index 6008b20..64bb84c 100644
> > +--- a/man/Makefile.in
> > ++++ b/man/Makefile.in
> > +@@ -274,7 +274,7 @@ install-data-local:
> > + 	@sect=1;				\
> > + 	inst=`echo "nana" | sed '$(transform)'`.1; \
> > + 	echo installing nana.1 as $(mandir)/man$$sect/$$inst; \
> > +-	$(INSTALL_DATA) $(srcdir)/nana.1 $(mandir)/man$$sect/$$inst
> > ++	$(INSTALL_DATA) $(srcdir)/nana.1 $(DESTDIR)$(mandir)/man$$sect/$$inst
> > + 
> > + # Tell versions [3.59,3.63) of GNU make to not export all variables.
> > + # Otherwise a system limit (for SysV at least) may be exceeded.
> > +-- 
> > +1.8.4.2
> > +
> > diff --git a/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
> > new file mode 100644
> > index 0000000..b893622
> > --- /dev/null
> > +++ b/meta-oe/recipes-extended/nana/nana/modify-acinclude.m4-and-configure.in.patch
> > @@ -0,0 +1,147 @@
> > +From c55540b83a3833ad3b1500810056f628e5a190a5 Mon Sep 17 00:00:00 2001
> > +From: Li xin <lixin.fnst at cn.fujitsu.com>
> > +Date: Thu, 4 Dec 2014 03:55:07 +0900
> > +Subject: [PATCH 2/2] modify acinclude.m4 and configure.in
> > +
> > +this patch is from Debian to fix build errors.
> > +"acinclude.m4:34: error: automatic de-ANSI-fication
> > +support has been removed"
> > +
> > +Upstream-Status: pending
> > +
> > +Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
> > +---
> > + acinclude.m4 | 89 ------------------------------------------------------------
> > + configure.in | 12 ++++++++
> > + 2 files changed, 12 insertions(+), 89 deletions(-)
> > +
> > +diff --git a/acinclude.m4 b/acinclude.m4
> > +index e9e5500..c7c1ccb 100644
> > +--- a/acinclude.m4
> > ++++ b/acinclude.m4
> > +@@ -20,92 +20,3 @@ else
> > + fi
> > + AC_SUBST($1)
> > + ])
> > +-#####
> > +-# And the old macros from the automake distribution
> > +-#
> > +-#
> > +-# Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
> > +-# François Pinard <pinard at iro.umontreal.ca>, 1992.
> > +-
> > +-## ------------------------------- ##
> > +-## Check for function prototypes.  ##
> > +-## ------------------------------- ##
> > +-
> > +-AC_DEFUN(fp_C_PROTOTYPES,
> > +-[AC_REQUIRE([AM_PROG_CC_STDC])
> > +-AC_MSG_CHECKING([for function prototypes])
> > +-if test "$ac_cv_prog_cc_stdc" != no; then
> > +-  AC_MSG_RESULT(yes)
> > +-  AC_DEFINE(PROTOTYPES)
> > +-  U= ANSI2KNR=
> > +-else
> > +-  AC_MSG_RESULT(no)
> > +-  U=_ ANSI2KNR=./ansi2knr
> > +-fi
> > +-AC_SUBST(U)dnl
> > +-AC_SUBST(ANSI2KNR)dnl
> > +-])
> > +-
> > +-## ----------------------------------------- ##
> > +-## ANSIfy the C compiler whenever possible.  ##
> > +-## ----------------------------------------- ##
> > +-
> > +-# @defmac AC_PROG_CC_STDC
> > +-# @maindex PROG_CC_STDC
> > +-# @ovindex CC
> > +-# If the C compiler in not in ANSI C mode by default, try to add an option
> > +-# to output variable @code{CC} to make it so.  This macro tries various
> > +-# options that select ANSI C on some system or another.  It considers the
> > +-# compiler to be in ANSI C mode if it defines @code{__STDC__} to 1 and
> > +-# handles function prototypes correctly.
> > +-#
> > +-# If you use this macro, you should check after calling it whether the C
> > +-# compiler has been set to accept ANSI C; if not, the shell variable
> > +-# @code{ac_cv_prog_cc_stdc} is set to @samp{no}.  If you wrote your source
> > +-# code in ANSI C, you can make an un-ANSIfied copy of it by using the
> > +-# program @code{ansi2knr}, which comes with Ghostscript.
> > +-# @end defmac
> > +-
> > +-AC_DEFUN(fp_PROG_CC_STDC,
> > +-[AC_MSG_CHECKING(for ${CC-cc} option to accept ANSI C)
> > +-AC_CACHE_VAL(ac_cv_prog_cc_stdc,
> > +-[ac_cv_prog_cc_stdc=no
> > +-ac_save_CFLAGS="$CFLAGS"
> > +-# Don't try gcc -ansi; that turns off useful extensions and
> > +-# breaks some systems' header files.
> > +-# AIX			-qlanglvl=ansi
> > +-# Ultrix and OSF/1	-std1
> > +-# HP-UX			-Aa -D_HPUX_SOURCE
> > +-# SVR4			-Xc
> > +-for ac_arg in "" -qlanglvl=ansi -std1 "-Aa -D_HPUX_SOURCE" -Xc
> > +-do
> > +-  CFLAGS="$ac_save_CFLAGS $ac_arg"
> > +-  AC_TRY_COMPILE(
> > +-[#if !defined(__STDC__) || __STDC__ != 1
> > +-choke me
> > +-#endif
> > +-], [int test (int i, double x);
> > +-struct s1 {int (*f) (int a);};
> > +-struct s2 {int (*f) (double a);};],
> > +-[ac_cv_prog_cc_stdc="$ac_arg"; break])
> > +-done
> > +-CFLAGS="$ac_save_CFLAGS"
> > +-])
> > +-AC_MSG_RESULT($ac_cv_prog_cc_stdc)
> > +-case "x$ac_cv_prog_cc_stdc" in
> > +-  x|xno) ;;
> > +-  *) CC="$CC $ac_cv_prog_cc_stdc" ;;
> > +-esac
> > +-])
> > +-
> > +-## --------------------------------------------------------- ##
> > +-## Use AC_PROG_INSTALL, supplementing it with INSTALL_SCRIPT ##
> > +-## substitution.                                             ##
> > +-## --------------------------------------------------------- ##
> > +-
> > +-AC_DEFUN(fp_PROG_INSTALL,
> > +-[AC_PROG_INSTALL
> > +-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL} -m 755'
> > +-AC_SUBST(INSTALL_SCRIPT)dnl
> > +-])
> > +-
> > +diff --git a/configure.in b/configure.in
> > +index 6b25ed5..a6a7f5b 100644
> > +--- a/configure.in
> > ++++ b/configure.in
> > +@@ -103,6 +103,12 @@ nana_DEFINE(DI_MAKE_VALID_BREAKPOINT,(exprn),
> > +   sparc-*-*|i?86-*-*)
> > +     DI_MAKE_VALID_BREAKPOINT='asm("nop")'
> > +     ;;
> > ++  arm*-*-*|frv-*-*|mips*-*-*)
> > ++    DI_MAKE_VALID_BREAKPOINT='asm("nop")'
> > ++    ;;
> > ++  sh*-*-*)
> > ++    DI_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")'
> > ++    ;;
> > +   esac
> > + ])
> > + 
> > +@@ -113,6 +119,12 @@ nana_DEFINE(DL_MAKE_VALID_BREAKPOINT,(),
> > +   sparc-*-*|i?86-*-*)
> > +     DL_MAKE_VALID_BREAKPOINT='asm("nop")'
> > +     ;;
> > ++  arm*-*-*|frv-*-*|mips*-*-*)
> > ++    DL_MAKE_VALID_BREAKPOINT='asm("nop")'
> > ++    ;;
> > ++  sh*-*-*)
> > ++    DL_MAKE_VALID_BREAKPOINT='asm("nop\n\tnop\n\t")'
> > ++    ;;
> > +   esac
> > + ])
> > + 
> > +-- 
> > +1.8.4.2
> > +
> > diff --git a/meta-oe/recipes-extended/nana/nana_2.5.bb b/meta-oe/recipes-extended/nana/nana_2.5.bb
> > new file mode 100644
> > index 0000000..1715820
> > --- /dev/null
> > +++ b/meta-oe/recipes-extended/nana/nana_2.5.bb
> > @@ -0,0 +1,29 @@
> > +SUMMARY = "Support for assertion checking and logging in GNU C/C++"
> > +DESCRIPTION = "GNU Nana is a free library providing improved support for assertion\
> > +checking (as in assert.h) and logging (printf style debugging) in \
> > +GNU C and C++."
> > +SECTION = "Development/Languages/C and C++"
> > +
> > +SRC_URI = "http://download.savannah.gnu.org/releases/${PN}/${BP}.tar.gz \
> > +    file://change-mandir-to-DESTDIR.patch \
> > +    file://modify-acinclude.m4-and-configure.in.patch"
> > +SRC_URI[md5sum] = "66c88aa0ad095b2e67673773135475f1"
> > +SRC_URI[sha256sum] = "fd1819ffea94b209513959447e4802afe2719600e7d161cd78b265a42812affa"
> > +
> > +LICENSE = "BSD-2-Clause"
> > +
> > +LIC_FILES_CHKSUM = "file://COPYING;md5=16aa57f3b7fdda870cee597275bd5d11"
> > +
> > +inherit autotools-brokensep pkgconfig
> > +
> > +EXTRA_OEMAKE = "DESTDIR=${D}"
> > +
> > +FILES_${PN} += "/usr/share"
> 
> This is datadir, what's installed there that normal rules aren't enough?

also fails to patch:

ERROR: Command Error: exit status: 1  Output:
Applying patch modify-acinclude.m4-and-configure.in.patch
patching file acinclude.m4
Hunk #1 FAILED at 20.
1 out of 1 hunk FAILED -- rejects in file acinclude.m4
patching file configure.in
Patch modify-acinclude.m4-and-configure.in.patch does not apply (enforce with -f)
ERROR: Function failed: patch_do_patch
ERROR: Logfile of failure stored in: /home/jenkins/oe/world/shr-core/tmp-glibc/work/armv5te-oe-linux-gnueabi/nana/2.5-r0/temp/log.do_patch.4212
NOTE: recipe nana-2.5-r0: task do_patch: Failed
ERROR: Task 14186 (/home/jenkins/oe/world/shr-core/meta-openembedded/meta-oe/recipes-extended/nana/nana_2.5.bb, do_patch) failed with exit code '1'

> 
> > +
> > +do_configure_prepend_virtclass-nativesdk() {
> > +    sed -i -e 's:@CPP@:\$\{CXX\} \$\{CXXFLAGS\} \-E:g' ${S}/src/nana.in
> > +    sed -i -e 's:@CC@:\$\{CC\} \$\{CFLAGS\} \-E:g' ${S}/src/nana-clg.in
> > +    sed -i -e 's:@CXX@::g' ${S}/src/nana-c++lg.in
> > +    sed -i -e 's:@GDB@:\$\{GDB\}:g' ${S}/src/nana-run.in
> > +}
> > +BBCLASSEXTEND = "native nativesdk"
> > -- 
> > 1.8.4.2
> > 
> > -- 
> > _______________________________________________
> > Openembedded-devel mailing list
> > Openembedded-devel at lists.openembedded.org
> > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> 
> -- 
> Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com



-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20141209/fd70c9a1/attachment-0002.sig>


More information about the Openembedded-devel mailing list