[oe-commits] Li xin : nana: add new recipe

git at git.openembedded.org git at git.openembedded.org
Tue Dec 9 10:53:47 UTC 2014


Module: meta-openembedded.git
Branch: master-next
Commit: b8888d883f2c821177b2644afcc215d0a4f77084
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=b8888d883f2c821177b2644afcc215d0a4f77084

Author: Li xin <lixin.fnst at cn.fujitsu.com>
Date:   Thu Dec  4 14:37:02 2014 +0800

nana: add new recipe

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>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.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(+)

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"
+
+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"



More information about the Openembedded-commits mailing list