From 80fb2e4d24f15a907d77d82b57fffeb8836b8bdb Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni Date: Sun, 2 Jul 2017 18:53:37 +0200 Subject: [PATCH] sngrep: don't download patch from Github Patches downloaded from Github are not stable, so bring them in the tree. For this package, the patch is not replaced 1:1 with what Github was providing. Indeed, the URL https://github.com/irontec/sngrep/pull/191/commits/4740f3341a99eaec105dee202a6fa7828212cdf1.patch no longer exists. This pull request has been merged, so we instead use the real upstream commits. However, the upstream developer apparently messed up, and applied the change in two separate commits, which is why one patch fetched from Github is replaced by this commit by two patches in package/sngrep/. Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- ...utotools-fix-ncurses-wchar-detection.patch | 158 ++++++++++++++++++ ...utotools-fix-ncurses-wchar-detection.patch | 45 +++++ package/sngrep/sngrep.hash | 1 - package/sngrep/sngrep.mk | 4 - 4 files changed, 203 insertions(+), 5 deletions(-) create mode 100644 package/sngrep/0001-autotools-fix-ncurses-wchar-detection.patch create mode 100644 package/sngrep/0002-autotools-fix-ncurses-wchar-detection.patch diff --git a/package/sngrep/0001-autotools-fix-ncurses-wchar-detection.patch b/package/sngrep/0001-autotools-fix-ncurses-wchar-detection.patch new file mode 100644 index 0000000000..8769096854 --- /dev/null +++ b/package/sngrep/0001-autotools-fix-ncurses-wchar-detection.patch @@ -0,0 +1,158 @@ +From 9a6550055f828c39a4f910f631041a4883f71dc6 Mon Sep 17 00:00:00 2001 +From: Kaian +Date: Tue, 30 May 2017 11:15:49 +0200 +Subject: [PATCH] autotools: fix ncurses wchar detection + +[Upstream commit: https://github.com/irontec/sngrep/commit/9a6550055f828c39a4f910f631041a4883f71dc6] +Signed-off-by: Thomas Petazzoni +--- + Makefile.am | 1 + + configure.ac | 15 +++++++------ + m4/sngrep.m4 | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++ + src/curses/scrollbar.h | 5 ++--- + src/curses/ui_panel.h | 5 ++--- + 5 files changed, 74 insertions(+), 13 deletions(-) + create mode 100644 m4/sngrep.m4 + +diff --git a/Makefile.am b/Makefile.am +index b0dd2a5..8cd4df7 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,2 +1,3 @@ ++ACLOCAL_AMFLAGS = -I m4 + SUBDIRS=src config doc tests + EXTRA_DIST=bootstrap.sh +diff --git a/configure.ac b/configure.ac +index fe28cef..2821c55 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -3,6 +3,7 @@ AC_INIT([sngrep], [1.4.3], [kaian@irontec.com], [sngrep], [http://www.irontec.co + AM_INIT_AUTOMAKE([1.9]) + m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AC_CONFIG_HEADERS([src/config.h]) ++AC_CONFIG_MACRO_DIRS([m4]) + + AC_COPYRIGHT("Irontec S.L.") + +@@ -53,13 +54,13 @@ AS_IF([test "x$enable_unicode" == "xyes"], [ + # Ncurses with wide-character support + AC_DEFINE([WITH_UNICODE], [], [Compile With Unicode compatibility]) + +- AC_CHECK_HEADER([ncursesw/ncurses.h], [], [ +- AC_MSG_ERROR([ You need to have ncurses development files installed to compile sngrep.]) +- ]) +- +- AC_CHECK_LIB([ncursesw], [initscr], [], [ +- AC_MSG_ERROR([ You need to have libncursesw installed to compile sngrep.]) +- ]) ++ SNGREP_CHECK_SCRIPT([ncursesw6], [addnwstr], [WITH_UNICODE], "ncursesw6-config", ++ SNGREP_CHECK_SCRIPT([ncursesw], [addnwstr], [WITH_UNICODE], "ncursesw5-config", ++ SNGREP_CHECK_SCRIPT([ncurses], [addnwstr], [WITH_UNICODE], "ncurses5-config", ++ SNGREP_CHECK_LIB([ncursesw6], [addnwstr], [WITH_UNICODE], ++ SNGREP_CHECK_LIB([ncursesw], [addnwstr], [WITH_UNICODE], ++ SNGREP_CHECK_LIB([ncurses], [addnwstr], [WITH_UNICODE], ++ )))))) + + AC_CHECK_LIB([panelw], [new_panel], [], [ + AC_MSG_ERROR([ You need to have ncurses panelw library installed to compile sngrep.]) +diff --git a/m4/sngrep.m4 b/m4/sngrep.m4 +new file mode 100644 +index 0000000..9c5377a +--- /dev/null ++++ b/m4/sngrep.m4 +@@ -0,0 +1,61 @@ ++# serial 100 ++# sngrep.m4: Custom autotools macros for sngrep ++# ++# @author Adam Duskett ++# @version 2017-05-25 ++# @license GNU General Public License 3.0 ++# ++# This program is free software; you can redistribute it and/or modify ++# it under the terms of the GNU General Public License as published by ++# the Free Software Foundation; either version 2, or (at your option) ++# any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301, USA. ++# ++# As a special exception, the you may copy, distribute and modify the ++# configure scripts that are the output of Autoconf when processing ++# the Macro. You need not follow the terms of the GNU General Public ++# License when using or distributing such scripts. ++# ++ ++# SNGREP_CHECK_SCRIPT(LIBNAME, FUNCTION, DEFINE, CONFIG_SCRIPT, ELSE_PART) ++AC_DEFUN([SNGREP_CHECK_SCRIPT], ++[ ++ if test ! -z "m4_toupper($SNGREP_[$1]_CONFIG_SCRIPT)"; then ++ # to be used to set the path to *-config when cross-compiling ++ sngrep_config_script=$(m4_toupper($SNGREP_[$1]_CONFIG_SCRIPT) --libs 2> /dev/null) ++ else ++ sngrep_config_script=$([$4] --libs 2> /dev/null) ++ fi ++ sngrep_script_success=no ++ sngrep_save_LDFLAGS="$LDFLAGS" ++ if test ! "x$sngrep_config_script" = x; then ++ LDFLAGS="$sngrep_config_script $LDFLAGS" ++ AC_CHECK_LIB([$1], [$2], [ ++ AC_DEFINE([$3], 1, [The library is present.]) ++ LIBS="$sngrep_config_script $LIBS " ++ sngrep_script_success=yes ++ ], []) ++ LDFLAGS="$save_LDFLAGS" ++ fi ++ if test "x$sngrep_script_success" = xno; then ++ [$5] ++ fi ++]) ++ ++# SNGREP_CHECK_LIB(LIBNAME, FUNCTION, DEFINE, ELSE_PART) ++AC_DEFUN([SNGREP_CHECK_LIB], ++[ ++ AC_CHECK_LIB([$1], [$2], [ ++ AC_DEFINE([$3], 1, [The library is present.]) ++ LIBS="-l[$1] $LIBS " ++ ], [$4]) ++]) +diff --git a/src/curses/scrollbar.h b/src/curses/scrollbar.h +index 960b936..c9fbfdc 100644 +--- a/src/curses/scrollbar.h ++++ b/src/curses/scrollbar.h +@@ -32,10 +32,9 @@ + + #ifdef WITH_UNICODE + #define _X_OPEN_SOURCE_EXTENDED +-#include +-#else +-#include ++#include + #endif ++#include + + //! Shorter declaration of scrollbar + typedef struct scrollbar scrollbar_t; +diff --git a/src/curses/ui_panel.h b/src/curses/ui_panel.h +index 9a4082a..549b593 100644 +--- a/src/curses/ui_panel.h ++++ b/src/curses/ui_panel.h +@@ -33,10 +33,9 @@ + + #ifdef WITH_UNICODE + #define _X_OPEN_SOURCE_EXTENDED +-#include +-#else +-#include ++#include + #endif ++#include + #include + #include + #include diff --git a/package/sngrep/0002-autotools-fix-ncurses-wchar-detection.patch b/package/sngrep/0002-autotools-fix-ncurses-wchar-detection.patch new file mode 100644 index 0000000000..372f87487b --- /dev/null +++ b/package/sngrep/0002-autotools-fix-ncurses-wchar-detection.patch @@ -0,0 +1,45 @@ +From ca6bd26fff5c679c8838c29e1e2913ccbcc0b0cd Mon Sep 17 00:00:00 2001 +From: Kaian +Date: Tue, 30 May 2017 11:15:49 +0200 +Subject: [PATCH] autotools: fix ncurses wchar detection + +Author: Adam Duskett + +Ncurses detection is currently broken in buildroot. + +This patch does the following: + - Add SNGREP_CHECK_SCRIPT to configure.ac which checks for a + libname, a function in that library, sets a define if found, and + if not found, moves on to the next part. This is taken from the + htop configure.ac. + + - Adds SNGREP_CHECK_LIB to configure.ac which checks for a + library, a function within that library, sets a define if that function + is found, and if not found, moves on to the next part. + This is taken from the htop configure.ac + + - Modifies scrollbar.h and ui_panel.h to include instead of + if unicode is supported. + +[Upstream commit: https://github.com/irontec/sngrep/commit/ca6bd26fff5c679c8838c29e1e2913ccbcc0b0cd] +Signed-off-by: Thomas Petazzoni +--- + configure.ac | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2821c55..10c83ab 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,9 +1,9 @@ + AC_PREREQ([2.59]) + AC_INIT([sngrep], [1.4.3], [kaian@irontec.com], [sngrep], [http://www.irontec.com/]) + AM_INIT_AUTOMAKE([1.9]) +-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) + AC_CONFIG_HEADERS([src/config.h]) +-AC_CONFIG_MACRO_DIRS([m4]) ++m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) ++m4_ifdef([AC_CONFIG_MACRO_DIRS], AC_CONFIG_MACRO_DIRS([m4]), m4_include([m4/sngrep.m4])) + + AC_COPYRIGHT("Irontec S.L.") + diff --git a/package/sngrep/sngrep.hash b/package/sngrep/sngrep.hash index 5966d6319a..34c724b09b 100644 --- a/package/sngrep/sngrep.hash +++ b/package/sngrep/sngrep.hash @@ -1,3 +1,2 @@ # Locally computed sha256 7385ac202de6d6a1feffb2fd514600563133d9dfa7fb47be052de839abcc1d52 sngrep-v1.4.3.tar.gz -sha256 a3376abe20cca95a13ee88188ba5ba50425c93afc927cca018c50b0309ad21f9 4740f3341a99eaec105dee202a6fa7828212cdf1.patch diff --git a/package/sngrep/sngrep.mk b/package/sngrep/sngrep.mk index 9dda15841e..9b62408756 100644 --- a/package/sngrep/sngrep.mk +++ b/package/sngrep/sngrep.mk @@ -14,10 +14,6 @@ SNGREP_DEPENDENCIES = libpcap ncurses host-pkgconf SNGREP_CONF_ENV += \ $(if $(BR2_STATIC_LIBS),LIBS="`$(STAGING_DIR)/usr/bin/pcap-config --static --libs`") -# This patch fixes ncurses wchar detection -SNGREP_PATCH = \ - https://github.com/irontec/sngrep/pull/191/commits/4740f3341a99eaec105dee202a6fa7828212cdf1.patch - ifeq ($(BR2_PACKAGE_NCURSES_WCHAR),y) SNGREP_CONF_OPTS += --enable-unicode else -- 2.30.2