diff options
-rw-r--r-- | recipes/grep/grep-2.6.3/uclibc-fix.patch | 50 | ||||
-rw-r--r-- | recipes/grep/grep_2.6.3.bb | 47 |
2 files changed, 97 insertions, 0 deletions
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 index 0000000000..2e1c584e5a --- /dev/null +++ b/recipes/grep/grep-2.6.3/uclibc-fix.patch @@ -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 index 0000000000..c887ca007d --- /dev/null +++ b/recipes/grep/grep_2.6.3.bb @@ -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" + |