All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCHv2 1/3] package/poke: new package
@ 2021-05-17 15:56 Romain Naour
  2021-05-17 15:56 ` [Buildroot] [PATCHv2 2/3] package/poke: add optional json-c dependency Romain Naour
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Romain Naour @ 2021-05-17 15:56 UTC (permalink / raw)
  To: buildroot

Backport a patch to disable tcl/tk dependencies when gui support
is disabled.

Backport and rebase a patch to avoid host poisoning while
cross-compiling.

Add another local patch when HELP2MAN is missing.

Disable uClibc-ng toolchain for now due to issues with
bundled gnulib.

The license of gnulib is not easy to describe because
it bundle several sources files with different license [1][2].
Even if not SPDX compliant, use "gnulib license".

[1] https://git.savannah.gnu.org/cgit/gnulib.git/tree/COPYING
[2] https://src.fedoraproject.org/rpms/gnulib/blob/rawhide/f/gnulib.spec#_53

See:
http://www.jemarch.net/poke-1.0-relnotes.html
http://www.jemarch.net/poke-1.1-relnotes.html
http://www.jemarch.net/poke-1.2-relnotes.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Jose E. Marchesi <jemarch@gnu.org>
Cc: Luca Saiu <positron@gnu.org>
Cc: Yann E. MORIN <yann.morin.1998@free.fr>
---
v2: fix jitter and gnulib licensing
    fix glibc or musl toolchain dependencies comment in Kconfig
    add jitter/COPYING and its hash
    Replace the patch 0002 for jitter by the upstream one but
    patch jitter-config.in instead of jitter-config.in.m4sh (Yann)
---
 package/Config.in                             |  1 +
 ...ck-for-Tcl-Tk-if-disable-gui-is-spec.patch | 43 ++++++++++++
 ...ge-cppflags-to-omit-I-prefix-on-cros.patch | 67 +++++++++++++++++++
 ...P2MAN-replace-by-true-when-cross-com.patch | 34 ++++++++++
 package/poke/Config.in                        | 29 ++++++++
 package/poke/poke.hash                        |  4 ++
 package/poke/poke.mk                          | 25 +++++++
 7 files changed, 203 insertions(+)
 create mode 100644 package/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
 create mode 100644 package/poke/0002-tentatively-change-cppflags-to-omit-I-prefix-on-cros.patch
 create mode 100644 package/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
 create mode 100644 package/poke/Config.in
 create mode 100644 package/poke/poke.hash
 create mode 100644 package/poke/poke.mk

diff --git a/package/Config.in b/package/Config.in
index 82b28d2835..1fa9500e3b 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -126,6 +126,7 @@ menu "Debugging, profiling and benchmark"
 	source "package/pcm-tools/Config.in"
 	source "package/piglit/Config.in"
 	source "package/ply/Config.in"
+	source "package/poke/Config.in"
 	source "package/ptm2human/Config.in"
 	source "package/pv/Config.in"
 	source "package/racehound/Config.in"
diff --git a/package/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch b/package/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
new file mode 100644
index 0000000000..3bd041a0e7
--- /dev/null
+++ b/package/poke/0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
@@ -0,0 +1,43 @@
+From cef3fc90f02ef4fc49515745194bac3d81a2265b Mon Sep 17 00:00:00 2001
+From: "Jose E. Marchesi" <jose.marchesi@oracle.com>
+Date: Fri, 30 Apr 2021 13:17:05 +0200
+Subject: [PATCH] build: do not check for Tcl/Tk if --disable-gui is specified
+
+2021-04-30  Jose E. Marchesi  <jemarch@gnu.org>
+
+	* configure.ac: Do not check for tcl/tk if --disable-gui is
+	specified at configure time.
+
+(cherry picked from commit 280a5e154287e43c0a40d9530a9cc658a7367a9c)
+[Romain: remove Changelog entry]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ configure.ac | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index c7205513..c2f0760a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -214,12 +214,15 @@ fi
+ dnl The GUI is optional, and depends on the availability of Tcl and
+ dnl Tk.
+ 
+-POKE_TCLTK
+-
+ AC_ARG_ENABLE([gui],
+               AS_HELP_STRING([--enable-gui],
+                              [Enable the GUI (default is YES)]),
+-              [gui_enabled=$enableval], [gui_enabled=$has_tcltk])
++              [gui_enabled=$enableval], [gui_enabled=yes])
++
++if test "x$gui_enabled" = "xyes"; then
++ POKE_TCLTK
++ gui_enabled=$has_tcltk
++fi
+ 
+ AM_CONDITIONAL([GUI], [test "x$gui_enabled" = "xyes"])
+ 
+-- 
+2.30.2
+
diff --git a/package/poke/0002-tentatively-change-cppflags-to-omit-I-prefix-on-cros.patch b/package/poke/0002-tentatively-change-cppflags-to-omit-I-prefix-on-cros.patch
new file mode 100644
index 0000000000..8fae85eb20
--- /dev/null
+++ b/package/poke/0002-tentatively-change-cppflags-to-omit-I-prefix-on-cros.patch
@@ -0,0 +1,67 @@
+From ac9d057895f1e61f63cbecafcc3e3820fdb10f84 Mon Sep 17 00:00:00 2001
+From: Luca Saiu <positron@gnu.org>
+Date: Fri, 30 Apr 2021 22:42:57 +0200
+Subject: [PATCH] tentatively change --cppflags to omit -I prefix on
+ cross-compilation
+
+The autoconf macros defined from jitter --cppflags get automatically changed, of
+course.
+
+* configure.ac (JITTER_CROSS_COMPILING): New substitution.
+
+* bin/jitter-config.in.m4sh (main loop) <--cppflags>: Introduce conditional on
+the new substitution.
+
+Suggested by Romain Naour, after his difficulties with building GNU poke with
+buildroot.
+
+(cherry picked from commit 428406c7b8d4c20f3472d41ed57c12c1a88ad37e)
+[Romain:
+  patch jitter-config.in instead of jitter-config.in.m4sh since
+  there is an issue while converting the M4sh m4sh script ( .in.m4sh )
+  into a portable shell script ( .in ) ready to be processed by aclocal
+  for @-substitutions.]
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ jitter/bin/jitter-config.in | 10 +++++++---
+ jitter/configure.ac         |  1 +
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/jitter/bin/jitter-config.in b/jitter/bin/jitter-config.in
+index 5e124f0..4bc508d 100644
+--- a/jitter/bin/jitter-config.in
++++ b/jitter/bin/jitter-config.in
+@@ -999,10 +999,14 @@ while test "$#" != "0"; do
+         --cppflags)
+             no_option_argument
+             append_to_output cppflags
+-            # Append a -I argument.  This is defined separately from the rest,
+-            # as the installation prefix can be decided very late, at Jitter
++            # Unless cross-compiling, append a -I argument referring the
++            # installation path.  This is defined separately from the rest, as
++            # the installation prefix can be decided very late, at Jitter
+             # installation time.
+-            output="$output -I $includedir";;
++            # (When cross-compiling this would be difficult to do correctly.)
++            if test "x at JITTER_CROSS_COMPILING@" != 'xyes'; then
++              output="$output -I $includedir"
++            fi;;
+         --ldadd)
+             no_option_argument
+             append_to_output ldadd;;
+diff --git a/jitter/configure.ac b/jitter/configure.ac
+index 21d6937..fb12349 100644
+--- a/jitter/configure.ac
++++ b/jitter/configure.ac
+@@ -308,6 +308,7 @@ else
+    AC_MSG_RESULT([yes, cross-compiling from $build to $host .])
+    jitter_cross_compiling=yes
+ fi
++AC_SUBST([JITTER_CROSS_COMPILING], [$jitter_cross_compiling])
+ 
+ # I never test on weird systems not supporting shebangs.
+ AC_SYS_INTERPRETER
+-- 
+2.31.1
+
diff --git a/package/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch b/package/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
new file mode 100644
index 0000000000..f217c917f1
--- /dev/null
+++ b/package/poke/0003-configure.ac-HELP2MAN-replace-by-true-when-cross-com.patch
@@ -0,0 +1,34 @@
+From 8ba76a5a7ce311f67890199c5595bc1f626495ad Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Fri, 30 Apr 2021 15:43:59 +0200
+Subject: [PATCH] configure.ac: HELP2MAN replace ':' by 'true' when
+ cross-compiling
+
+Avoid:
+/usr/bin/make  ./../poke/poke
+../run \
+  : -p poke --name="The GNU extensible binary editor" \
+      ./../poke/poke -o ./poke.1
+../run: line 51: exec: :: not found
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index c2f0760a..93769ef9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -74,7 +74,7 @@ gl_LIBTEXTSTYLE_OPTIONAL([0.20.5])
+ if test $cross_compiling = no; then
+   AM_MISSING_PROG(HELP2MAN, help2man)
+ else
+-  HELP2MAN=:
++  HELP2MAN=true
+ fi
+ 
+ dnl recfix is part of the GNU recutils suite, and is used in cfg.mk to
+-- 
+2.30.2
+
diff --git a/package/poke/Config.in b/package/poke/Config.in
new file mode 100644
index 0000000000..d3334dfdd4
--- /dev/null
+++ b/package/poke/Config.in
@@ -0,0 +1,29 @@
+config BR2_PACKAGE_POKE
+	bool "poke"
+	depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # bdwgc
+	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # less
+	depends on BR2_USE_WCHAR # needs wctomb
+	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
+	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # gnulib
+	select BR2_PACKAGE_BDWGC
+	select BR2_PACKAGE_LESS # runtime
+	select BR2_PACKAGE_READLINE
+	help
+	  GNU poke is a new interactive editor for binary data. Not
+	  limited to editing basic entities such as bits and bytes,
+	  it provides a full-fledged procedural, interactive
+	  programming language designed to describe data structures
+	  and to operate on them. Once a user has defined a structure
+	  for binary data (usually matching some file format) she can
+	  search, inspect, create, shuffle and modify abstract entities
+	  such as ELF relocations, MP3 tags, DWARF expressions,
+	  partition table entries, and so on, with primitives
+	  resembling simple editing of bits and bytes. The program
+	  comes with a library of already written descriptions (or
+	  "pickles" in poke parlance) for many binary formats.
+
+	  https://www.gnu.org/software/poke/
+
+comment "poke needs a glibc or musl toolchain w/ NPTL, wchar"
+	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
+	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
diff --git a/package/poke/poke.hash b/package/poke/poke.hash
new file mode 100644
index 0000000000..b3a79d90dc
--- /dev/null
+++ b/package/poke/poke.hash
@@ -0,0 +1,4 @@
+# Locally calculated
+sha256  f61cf8da5b64c01a1359373725aad1ca257f35c1c9269e4d50dd0664183ddf62  poke-1.2.tar.gz
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
+sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  jitter/COPYING
diff --git a/package/poke/poke.mk b/package/poke/poke.mk
new file mode 100644
index 0000000000..c0217b6fad
--- /dev/null
+++ b/package/poke/poke.mk
@@ -0,0 +1,25 @@
+################################################################################
+#
+# poke
+#
+################################################################################
+
+POKE_VERSION = 1.2
+POKE_SITE = $(BR2_GNU_MIRROR)/poke
+# gnulib license is a mix/mess of public-domain and various GPL and LGPL versions.
+POKE_LICENSE = GPL-3.0+, GPL-3.0+ (jitter), gnulib license (gnulib)
+POKE_LICENSE_FILES = COPYING jitter/COPYING
+
+# 0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
+# 0003-configure.ac-HELP2MAN-replace-by-false-when-cross-co.patch
+POKE_AUTORECONF = YES
+
+POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline
+
+POKE_CONF_OPTS = \
+	--disable-gui \
+	--disable-libnbd \
+	--disable-mi \
+	--with-libreadline-prefix=$(STAGING_DIR)
+
+$(eval $(autotools-package))
-- 
2.31.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCHv2 2/3] package/poke: add optional json-c dependency
  2021-05-17 15:56 [Buildroot] [PATCHv2 1/3] package/poke: new package Romain Naour
@ 2021-05-17 15:56 ` Romain Naour
  2021-05-17 15:56 ` [Buildroot] [PATCHv2 3/3] package/poke: enable uClibc-ng support Romain Naour
  2021-05-18 14:21 ` [Buildroot] [PATCHv2 1/3] package/poke: new package Yann E. MORIN
  2 siblings, 0 replies; 5+ messages in thread
From: Romain Naour @ 2021-05-17 15:56 UTC (permalink / raw)
  To: buildroot

From [1]:
"The poke machine-interface uses a protocol to communicate with
clients, which is based on JSON.  poke uses the json-c library to
parse and build JSON strings.
If this library is not found, poke will build without machine-interface
support."

[1] https://git.savannah.nongnu.org/cgit/poke.git/tree/DEPENDENCIES?h=releases/poke-1.2#n55

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Jose E. Marchesi <jemarch@gnu.org>
Cc: Luca Saiu <positron@gnu.org>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
 package/poke/poke.mk | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/package/poke/poke.mk b/package/poke/poke.mk
index c0217b6fad..7c3c81d93c 100644
--- a/package/poke/poke.mk
+++ b/package/poke/poke.mk
@@ -19,7 +19,13 @@ POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline
 POKE_CONF_OPTS = \
 	--disable-gui \
 	--disable-libnbd \
-	--disable-mi \
 	--with-libreadline-prefix=$(STAGING_DIR)
 
+ifeq ($(BR2_PACKAGE_JSON_C),y)
+POKE_DEPENDENCIES += json-c
+POKE_CONF_OPTS += --enable-mi
+else
+POKE_CONF_OPTS += --disable-mi
+endif
+
 $(eval $(autotools-package))
-- 
2.31.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCHv2 3/3] package/poke: enable uClibc-ng support
  2021-05-17 15:56 [Buildroot] [PATCHv2 1/3] package/poke: new package Romain Naour
  2021-05-17 15:56 ` [Buildroot] [PATCHv2 2/3] package/poke: add optional json-c dependency Romain Naour
@ 2021-05-17 15:56 ` Romain Naour
  2021-05-18 15:16   ` Yann E. MORIN
  2021-05-18 14:21 ` [Buildroot] [PATCHv2 1/3] package/poke: new package Yann E. MORIN
  2 siblings, 1 reply; 5+ messages in thread
From: Romain Naour @ 2021-05-17 15:56 UTC (permalink / raw)
  To: buildroot

poke bundle gnulib that doesn't support the case where
host_os='linux-uclibc'. When cross-compiling, the guessed
answers are mostly wrong and gnulib will try to replace
snprintf with rpl_snprintf. This lead to "undefined reference
to `rpl_snprintf'" errors.

Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
test-pkg config:
BR2_PACKAGE_POKE=y
BR2_PACKAGE_JSON_C=y
---
 package/poke/Config.in |  4 +---
 package/poke/poke.mk   | 25 +++++++++++++++++++++++++
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/package/poke/Config.in b/package/poke/Config.in
index d3334dfdd4..762ed0221d 100644
--- a/package/poke/Config.in
+++ b/package/poke/Config.in
@@ -4,7 +4,6 @@ config BR2_PACKAGE_POKE
 	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # less
 	depends on BR2_USE_WCHAR # needs wctomb
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
-	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # gnulib
 	select BR2_PACKAGE_BDWGC
 	select BR2_PACKAGE_LESS # runtime
 	select BR2_PACKAGE_READLINE
@@ -24,6 +23,5 @@ config BR2_PACKAGE_POKE
 
 	  https://www.gnu.org/software/poke/
 
-comment "poke needs a glibc or musl toolchain w/ NPTL, wchar"
-	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
+comment "poke needs a toolchain w/ NPTL, wchar"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
diff --git a/package/poke/poke.mk b/package/poke/poke.mk
index 7c3c81d93c..406acf15e0 100644
--- a/package/poke/poke.mk
+++ b/package/poke/poke.mk
@@ -16,6 +16,31 @@ POKE_AUTORECONF = YES
 
 POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline
 
+# poke bundle gnulib that doesn't support the case where
+# host_os='linux-uclibc'. When cross-compiling, the guessed
+# answers are mostly wrong and gnulib will try to replace
+# snprintf with rpl_snprintf. This lead to "undefined reference
+# to `rpl_snprintf'" errors.
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
+POKE_CONF_ENV = gl_cv_func_printf_positions=yes \
+	gl_cv_func_snprintf_retval_c99=yes \
+	gl_cv_func_printf_sizes_c99=yes \
+	gl_cv_func_printf_infinite_long_double=yes \
+	gl_cv_func_snprintf_retval_c99=yes \
+	gl_cv_func_snprintf_truncation_c99=yes \
+	gl_cv_func_snprintf_usable=yes \
+	gl_cv_func_strerror_0_works=yes \
+	gl_cv_header_working_stdint_h=yes \
+	gl_cv_func_printf_infinite=yes \
+	gl_cv_func_printf_flag_zero=yes \
+	gl_cv_func_printf_enomem=yes \
+	gl_cv_func_printf_directive_f=yes \
+	gl_cv_func_printf_directive_a=yes \
+	gl_cv_func_snprintf_directive_n=yes \
+	gl_cv_func_vsnprintf_posix=yes \
+	gl_cv_func_vsnprintf_zerosize_c99=yes
+endif
+
 POKE_CONF_OPTS = \
 	--disable-gui \
 	--disable-libnbd \
-- 
2.31.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCHv2 1/3] package/poke: new package
  2021-05-17 15:56 [Buildroot] [PATCHv2 1/3] package/poke: new package Romain Naour
  2021-05-17 15:56 ` [Buildroot] [PATCHv2 2/3] package/poke: add optional json-c dependency Romain Naour
  2021-05-17 15:56 ` [Buildroot] [PATCHv2 3/3] package/poke: enable uClibc-ng support Romain Naour
@ 2021-05-18 14:21 ` Yann E. MORIN
  2 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2021-05-18 14:21 UTC (permalink / raw)
  To: buildroot

Romain, All,

On 2021-05-17 17:56 +0200, Romain Naour spake thusly:
> Backport a patch to disable tcl/tk dependencies when gui support
> is disabled.
> 
> Backport and rebase a patch to avoid host poisoning while
> cross-compiling.
> 
> Add another local patch when HELP2MAN is missing.
> 
> Disable uClibc-ng toolchain for now due to issues with
> bundled gnulib.
> 
> The license of gnulib is not easy to describe because
> it bundle several sources files with different license [1][2].
> Even if not SPDX compliant, use "gnulib license".
> 
> [1] https://git.savannah.gnu.org/cgit/gnulib.git/tree/COPYING
> [2] https://src.fedoraproject.org/rpms/gnulib/blob/rawhide/f/gnulib.spec#_53
> 
> See:
> http://www.jemarch.net/poke-1.0-relnotes.html
> http://www.jemarch.net/poke-1.1-relnotes.html
> http://www.jemarch.net/poke-1.2-relnotes.html
> 
> Signed-off-by: Romain Naour <romain.naour@gmail.com>
> Cc: Jose E. Marchesi <jemarch@gnu.org>
> Cc: Luca Saiu <positron@gnu.org>
> Cc: Yann E. MORIN <yann.morin.1998@free.fr>
> ---
[--SNIP--]
> diff --git a/package/poke/Config.in b/package/poke/Config.in
> new file mode 100644
> index 0000000000..d3334dfdd4
> --- /dev/null
> +++ b/package/poke/Config.in
> @@ -0,0 +1,29 @@
> +config BR2_PACKAGE_POKE
> +	bool "poke"
> +	depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # bdwgc

You forgot to propagate that dependency to the comment...

> +	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # less

I've switched to selecting that, otherwise you'd have to also propagate
it to the ocmment somehow.

> +	depends on BR2_USE_WCHAR # needs wctomb
> +	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> +	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # gnulib
> +	select BR2_PACKAGE_BDWGC
> +	select BR2_PACKAGE_LESS # runtime
> +	select BR2_PACKAGE_READLINE
> +	help
> +	  GNU poke is a new interactive editor for binary data. Not
> +	  limited to editing basic entities such as bits and bytes,
> +	  it provides a full-fledged procedural, interactive
> +	  programming language designed to describe data structures
> +	  and to operate on them. Once a user has defined a structure
> +	  for binary data (usually matching some file format) she can
> +	  search, inspect, create, shuffle and modify abstract entities
> +	  such as ELF relocations, MP3 tags, DWARF expressions,
> +	  partition table entries, and so on, with primitives
> +	  resembling simple editing of bits and bytes. The program
> +	  comes with a library of already written descriptions (or
> +	  "pickles" in poke parlance) for many binary formats.
> +
> +	  https://www.gnu.org/software/poke/
> +
> +comment "poke needs a glibc or musl toolchain w/ NPTL, wchar"
> +	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR

I think this was not correct. Indeed, if you have a glibc or a musl
toolchain, the first dependency is not met, so the comment is hidden.
However, if you do not have wchar, you still want to see the comment.

I've fixed that, with the LIBATOMIC_OPS_ARCH_SUPPORTS.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> diff --git a/package/poke/poke.hash b/package/poke/poke.hash
> new file mode 100644
> index 0000000000..b3a79d90dc
> --- /dev/null
> +++ b/package/poke/poke.hash
> @@ -0,0 +1,4 @@
> +# Locally calculated
> +sha256  f61cf8da5b64c01a1359373725aad1ca257f35c1c9269e4d50dd0664183ddf62  poke-1.2.tar.gz
> +sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  COPYING
> +sha256  8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  jitter/COPYING
> diff --git a/package/poke/poke.mk b/package/poke/poke.mk
> new file mode 100644
> index 0000000000..c0217b6fad
> --- /dev/null
> +++ b/package/poke/poke.mk
> @@ -0,0 +1,25 @@
> +################################################################################
> +#
> +# poke
> +#
> +################################################################################
> +
> +POKE_VERSION = 1.2
> +POKE_SITE = $(BR2_GNU_MIRROR)/poke
> +# gnulib license is a mix/mess of public-domain and various GPL and LGPL versions.
> +POKE_LICENSE = GPL-3.0+, GPL-3.0+ (jitter), gnulib license (gnulib)
> +POKE_LICENSE_FILES = COPYING jitter/COPYING
> +
> +# 0001-build-do-not-check-for-Tcl-Tk-if-disable-gui-is-spec.patch
> +# 0003-configure.ac-HELP2MAN-replace-by-false-when-cross-co.patch
> +POKE_AUTORECONF = YES
> +
> +POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline
> +
> +POKE_CONF_OPTS = \
> +	--disable-gui \
> +	--disable-libnbd \
> +	--disable-mi \
> +	--with-libreadline-prefix=$(STAGING_DIR)
> +
> +$(eval $(autotools-package))
> -- 
> 2.31.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCHv2 3/3] package/poke: enable uClibc-ng support
  2021-05-17 15:56 ` [Buildroot] [PATCHv2 3/3] package/poke: enable uClibc-ng support Romain Naour
@ 2021-05-18 15:16   ` Yann E. MORIN
  0 siblings, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2021-05-18 15:16 UTC (permalink / raw)
  To: buildroot

Romain, All,

On 2021-05-17 17:56 +0200, Romain Naour spake thusly:
> poke bundle gnulib that doesn't support the case where
> host_os='linux-uclibc'. When cross-compiling, the guessed
> answers are mostly wrong and gnulib will try to replace
> snprintf with rpl_snprintf. This lead to "undefined reference
> to `rpl_snprintf'" errors.

That's just sick... :-(

> Signed-off-by: Romain Naour <romain.naour@gmail.com>

Applied to next, thanks.

Regards,
Yann E. MORIN.

> ---
> test-pkg config:
> BR2_PACKAGE_POKE=y
> BR2_PACKAGE_JSON_C=y
> ---
>  package/poke/Config.in |  4 +---
>  package/poke/poke.mk   | 25 +++++++++++++++++++++++++
>  2 files changed, 26 insertions(+), 3 deletions(-)
> 
> diff --git a/package/poke/Config.in b/package/poke/Config.in
> index d3334dfdd4..762ed0221d 100644
> --- a/package/poke/Config.in
> +++ b/package/poke/Config.in
> @@ -4,7 +4,6 @@ config BR2_PACKAGE_POKE
>  	depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # less
>  	depends on BR2_USE_WCHAR # needs wctomb
>  	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> -	depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL # gnulib
>  	select BR2_PACKAGE_BDWGC
>  	select BR2_PACKAGE_LESS # runtime
>  	select BR2_PACKAGE_READLINE
> @@ -24,6 +23,5 @@ config BR2_PACKAGE_POKE
>  
>  	  https://www.gnu.org/software/poke/
>  
> -comment "poke needs a glibc or musl toolchain w/ NPTL, wchar"
> -	depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_MUSL)
> +comment "poke needs a toolchain w/ NPTL, wchar"
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || !BR2_USE_WCHAR
> diff --git a/package/poke/poke.mk b/package/poke/poke.mk
> index 7c3c81d93c..406acf15e0 100644
> --- a/package/poke/poke.mk
> +++ b/package/poke/poke.mk
> @@ -16,6 +16,31 @@ POKE_AUTORECONF = YES
>  
>  POKE_DEPENDENCIES = host-flex host-bison host-pkgconf bdwgc readline
>  
> +# poke bundle gnulib that doesn't support the case where
> +# host_os='linux-uclibc'. When cross-compiling, the guessed
> +# answers are mostly wrong and gnulib will try to replace
> +# snprintf with rpl_snprintf. This lead to "undefined reference
> +# to `rpl_snprintf'" errors.
> +ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
> +POKE_CONF_ENV = gl_cv_func_printf_positions=yes \
> +	gl_cv_func_snprintf_retval_c99=yes \
> +	gl_cv_func_printf_sizes_c99=yes \
> +	gl_cv_func_printf_infinite_long_double=yes \
> +	gl_cv_func_snprintf_retval_c99=yes \
> +	gl_cv_func_snprintf_truncation_c99=yes \
> +	gl_cv_func_snprintf_usable=yes \
> +	gl_cv_func_strerror_0_works=yes \
> +	gl_cv_header_working_stdint_h=yes \
> +	gl_cv_func_printf_infinite=yes \
> +	gl_cv_func_printf_flag_zero=yes \
> +	gl_cv_func_printf_enomem=yes \
> +	gl_cv_func_printf_directive_f=yes \
> +	gl_cv_func_printf_directive_a=yes \
> +	gl_cv_func_snprintf_directive_n=yes \
> +	gl_cv_func_vsnprintf_posix=yes \
> +	gl_cv_func_vsnprintf_zerosize_c99=yes
> +endif
> +
>  POKE_CONF_OPTS = \
>  	--disable-gui \
>  	--disable-libnbd \
> -- 
> 2.31.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-05-18 15:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-17 15:56 [Buildroot] [PATCHv2 1/3] package/poke: new package Romain Naour
2021-05-17 15:56 ` [Buildroot] [PATCHv2 2/3] package/poke: add optional json-c dependency Romain Naour
2021-05-17 15:56 ` [Buildroot] [PATCHv2 3/3] package/poke: enable uClibc-ng support Romain Naour
2021-05-18 15:16   ` Yann E. MORIN
2021-05-18 14:21 ` [Buildroot] [PATCHv2 1/3] package/poke: new package Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.