grep-2.6.3: Add recipe.
authorKhem Raj <raj.khem@gmail.com>
Wed, 2 Jun 2010 19:51:36 +0000 (12:51 -0700)
committerKhem Raj <raj.khem@gmail.com>
Sat, 5 Jun 2010 13:52:40 +0000 (06:52 -0700)
* Fix build for uclibc as well.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Acked-by: Martin Jansa <Martin.Jansa@gmail.com>
recipes/grep/grep-2.6.3/uclibc-fix.patch [new file with mode: 0644]
recipes/grep/grep_2.6.3.bb [new file with mode: 0644]

diff --git a/recipes/grep/grep-2.6.3/uclibc-fix.patch b/recipes/grep/grep-2.6.3/uclibc-fix.patch
new file mode 100644 (file)
index 0000000..2e1c584
--- /dev/null
@@ -0,0 +1,50 @@
+Fix to use mempcpy instead of __mempcpy. This is needed for uclibc which
+doesn't define __mempcpy only mempcpy. Since both uclibc and glibc have
+mempcpy we'll just use that instead.
+
+Index: grep-2.6.3/lib/getopt.c
+===================================================================
+--- grep-2.6.3.orig/lib/getopt.c       2010-03-21 00:34:02.000000000 -0700
++++ grep-2.6.3/lib/getopt.c    2010-05-22 21:37:11.352740539 -0700
+@@ -41,6 +41,10 @@
+ # include <wchar.h>
+ #endif
++#ifdef __UCLIBC__
++#define __mempcpy mempcpy
++#endif
++
+ /* This version of `getopt' appears to the caller like standard Unix `getopt'
+    but it behaves differently for the user, since it allows the user
+    to intersperse the options with the other arguments.
+Index: grep-2.6.3/gnulib-tests/setenv.c
+===================================================================
+--- grep-2.6.3.orig/gnulib-tests/setenv.c      2010-05-22 21:37:53.655168151 -0700
++++ grep-2.6.3/gnulib-tests/setenv.c   2010-05-22 21:38:42.792745476 -0700
+@@ -68,6 +68,10 @@ __libc_lock_define_initialized (static, 
+ # define tsearch __tsearch
+ #endif
++#ifdef __UCLIBC__
++#define __mempcpy mempcpy
++#endif
++
+ /* In the GNU C library implementation we try to be more clever and
+    allow arbitrarily many changes of the environment given that the used
+    values are from a small set.  Outside glibc this will eat up all
+Index: grep-2.6.3/lib/regexec.c
+===================================================================
+--- grep-2.6.3.orig/lib/regexec.c      2010-05-22 21:36:02.655154671 -0700
++++ grep-2.6.3/lib/regexec.c   2010-05-22 21:37:26.212743273 -0700
+@@ -22,6 +22,11 @@
+ #include "verify.h"
+ #include "intprops.h"
++
++#ifdef __UCLIBC__
++#define __mempcpy mempcpy
++#endif
++
+ static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
+                                    Idx n) internal_function;
+ static void match_ctx_clean (re_match_context_t *mctx) internal_function;
diff --git a/recipes/grep/grep_2.6.3.bb b/recipes/grep/grep_2.6.3.bb
new file mode 100644 (file)
index 0000000..c887ca0
--- /dev/null
@@ -0,0 +1,47 @@
+LICENSE = "GPL"
+SECTION = "console/utils"
+DESCRIPTION = "grep GNU utility"
+PR = "r0"
+
+SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz \
+           file://uclibc-fix.patch"
+
+inherit autotools
+
+EXTRA_OECONF = "--disable-perl-regexp --disable-ncurses"
+EXTRA_OECONF_virtclass-native = "--with-included-regex --disable-ncurses"
+
+do_configure () {
+       rm -f ${S}/m4/init.m4
+       autotools_do_configure
+}
+
+do_install () {
+       autotools_do_install
+       install -d ${D}${base_bindir}
+       mv ${D}${bindir}/grep ${D}${base_bindir}/grep.${PN}
+       mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep.${PN}
+       mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep.${PN}
+}
+
+do_install_virtclass-native () {
+       autotools_do_install
+}
+
+pkg_postinst_${PN} () {
+       update-alternatives --install ${base_bindir}/grep grep grep.${PN} 100
+       update-alternatives --install ${base_bindir}/egrep egrep egrep.${PN} 100
+       update-alternatives --install ${base_bindir}/fgrep fgrep fgrep.${PN} 100
+}
+
+pkg_prerm_${PN} () {
+       update-alternatives --remove grep grep.${PN}
+       update-alternatives --remove egrep egrep.${PN}
+       update-alternatives --remove fgrep fgrep.${PN}
+}
+
+BBCLASSEXTEND = "native"
+
+SRC_URI[md5sum] = "69a3bf508a3f14d12369e0e1c7a92763"
+SRC_URI[sha256sum] = "ba745e2ff297ab225bf870740d35593d402a1d92999cf0d7e56840f10218db7c"
+