All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf
@ 2019-02-14 21:43 Fabrice Fontaine
  2019-02-14 21:43 ` [Buildroot] [PATCH 2/2] package/madplay: add hash for license files Fabrice Fontaine
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Fabrice Fontaine @ 2019-02-14 21:43 UTC (permalink / raw)
  To: buildroot

madplay uses a very old configure script.

When the toolchain lacks C++ and the build machine lacks /lib/cpp, this
old configure script fails because it can't find a C++ preprocessor that
is valid:

    checking for arm-buildroot-linux-uclibcgnueabi-g++... no
    checking whether we are using the GNU C++ compiler... no
    checking whether no accepts -g... no
    checking dependency style of no... none
    checking how to run the C++ preprocessor... /lib/cpp
    configure: error: C++ preprocessor "/lib/cpp" fails sanity check
    See `config.log' for more details.

This is yet another case that was tentatively fixed by bd39d11d2e
(core/infra: fix build on toolchain without C++), further amended by
4cd1ab15886 (core: alternate solution to disable C++).

However, this only works on libtool scripts that are recent enough, and
thus we need to autoreconf to get it.

We also need to patch configure.ac so that it does not fail on the
missing, GNU-specific files: NEWS, AUTHORS, and Changelog.

Finally, remove also patch on ltmain.sh and MADPLAY_LIBTOOL_PATCH=NO as
autoreconf will create an up to date ltmain.sh

Fixes:
 - http://autobuild.buildroot.org/results/fc927de0e9a42095789fb0a631d5facf14076f6e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 .../0002-buildroot-libtool-v1.5.patch.patch        | 109 ---------------------
 .../0002-configure-ac-automake-foreign.patch       |  16 +++
 package/madplay/madplay.mk                         |   5 +-
 3 files changed, 20 insertions(+), 110 deletions(-)
 delete mode 100644 package/madplay/0002-buildroot-libtool-v1.5.patch.patch
 create mode 100644 package/madplay/0002-configure-ac-automake-foreign.patch

diff --git a/package/madplay/0002-buildroot-libtool-v1.5.patch.patch b/package/madplay/0002-buildroot-libtool-v1.5.patch.patch
deleted file mode 100644
index 2be336384b..0000000000
--- a/package/madplay/0002-buildroot-libtool-v1.5.patch.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From ce661985c098635965573aac8fc983a72f60d396 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 30 May 2017 16:42:34 +0200
-Subject: [PATCH] buildroot-libtool-v1.5.patch
-
-Apply buildroot-libtool-v1.5.patch rebased on libtool 1.5.2 used
-in madplay and fixing all conflicts.
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- ltmain.sh | 40 ++++++++++++++++++++++++++++++----------
- 1 file changed, 30 insertions(+), 10 deletions(-)
-
-diff --git a/ltmain.sh b/ltmain.sh
-index 4b9f940..0b71220 100644
---- a/ltmain.sh
-+++ b/ltmain.sh
-@@ -164,6 +164,11 @@ do
-   arg="$1"
-   shift
- 
-+  # Make -static behave as -all-static
-+  case $arg in
-+  -static) arg="-all-static" ;;
-+  esac
-+
-   case $arg in
-   -*=*) optarg=`$echo "X$arg" | $Xsed -e 's/[-_a-zA-Z0-9]*=//'` ;;
-   *) optarg= ;;
-@@ -549,8 +554,9 @@ if test -z "$show_help"; then
- 	# line option must be used.
- 	if test -z "$tagname"; then
- 	  $echo "$modename: unable to infer tagged configuration"
--	  $echo "$modename: specify a tag with \`--tag'" 1>&2
--	  exit 1
-+	  $echo "$modename: defaulting to \`CC'"
-+	  $echo "$modename: if this is not correct, specify a tag with \`--tag'"
-+#	  exit 1
- #        else
- #          $echo "$modename: using $tagname tagged configuration"
- 	fi
-@@ -1228,7 +1234,8 @@ EOF
-       prevarg="$arg"
- 
-       case $arg in
--      -all-static)
-+      # Make -static behave like -all-static
-+      -all-static | -static)
- 	if test -n "$link_static_flag"; then
- 	  compile_command="$compile_command $link_static_flag"
- 	  finalize_command="$finalize_command $link_static_flag"
-@@ -2135,8 +2142,14 @@ EOF
- 	    absdir="$abs_ladir"
- 	    libdir="$abs_ladir"
- 	  else
--	    dir="$libdir"
--	    absdir="$libdir"
-+            # Adding 'libdir' from the .la file to our library search paths
-+            # breaks crosscompilation horribly.  We cheat here and don't add
-+            # it, instead adding the path where we found the .la.  -CL
-+	    dir="$abs_ladir"
-+	    absdir="$abs_ladir"
-+	    libdir="$abs_ladir"
-+	    #dir="$libdir"
-+	    #absdir="$libdir"
- 	  fi
- 	else
- 	  dir="$ladir/$objdir"
-@@ -2261,7 +2274,7 @@ EOF
- 	   { test "$prefer_static_libs" = no || test -z "$old_library"; }; then
- 	  if test "$installed" = no; then
- 	    notinst_deplibs="$notinst_deplibs $lib"
--	    need_relink=yes
-+	    need_relink=no
- 	  fi
- 	  # This is a shared library
- 	
-@@ -5146,6 +5159,10 @@ fi\
- 	    # Replace all uninstalled libtool libraries with the installed ones
- 	    newdependency_libs=
- 	    for deplib in $dependency_libs; do
-+              # Replacing uninstalled with installed can easily break crosscompilation,
-+              # since the installed path is generally the wrong architecture.  -CL
-+              newdependency_libs="$newdependency_libs $deplib"
-+              continue
- 	      case $deplib in
- 	      *.la)
- 		name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
-@@ -5464,10 +5481,13 @@ relink_command=\"$relink_command\""
- 	  # At present, this check doesn't affect windows .dll's that
- 	  # are installed into $libdir/../bin (currently, that works fine)
- 	  # but it's something to keep an eye on.
--	  if test "$inst_prefix_dir" = "$destdir"; then
--	    $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
--	    exit 1
--	  fi
-+	  #
-+	  # This breaks install into our staging area.  -PB
-+	  # 
-+	  # if test "$inst_prefix_dir" = "$destdir"; then
-+	  #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-+	  #   exit 1
-+	  # fi
- 
- 	  if test -n "$inst_prefix_dir"; then
- 	    # Stick the inst_prefix_dir data into the link command.
--- 
-2.9.4
-
diff --git a/package/madplay/0002-configure-ac-automake-foreign.patch b/package/madplay/0002-configure-ac-automake-foreign.patch
new file mode 100644
index 0000000000..38d1630987
--- /dev/null
+++ b/package/madplay/0002-configure-ac-automake-foreign.patch
@@ -0,0 +1,16 @@
+configure.ac: don't require GNU-specific files when running automake
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+diff -durN madplay-0.15.2b-orig/configure.ac madplay-0.15.2b/configure.ac
+--- madplay-0.15.2b-orig/configure.ac	2019-02-14 21:34:01.507212449 +0100
++++ madplay-0.15.2b/configure.ac	2019-02-14 21:34:23.439336353 +0100
+@@ -26,7 +26,7 @@
+ 
+ AC_CONFIG_SRCDIR([madplay.c])
+ 
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ 
+ AM_CONFIG_HEADER([config.h])
+ 
diff --git a/package/madplay/madplay.mk b/package/madplay/madplay.mk
index e72e2f8180..dd54e2e78f 100644
--- a/package/madplay/madplay.mk
+++ b/package/madplay/madplay.mk
@@ -8,9 +8,12 @@ MADPLAY_VERSION = 0.15.2b
 MADPLAY_SITE = http://downloads.sourceforge.net/project/mad/madplay/$(MADPLAY_VERSION)
 MADPLAY_LICENSE = GPL-2.0+
 MADPLAY_LICENSE_FILES = COPYING COPYRIGHT
-MADPLAY_LIBTOOL_PATCH = NO
 MADPLAY_DEPENDENCIES = libmad libid3tag $(TARGET_NLS_DEPENDENCIES)
 
+# Force autoreconf to be able to use a more recent libtool script, that
+# is able to properly behave in the face of a missing C++ compiler.
+MADPLAY_AUTORECONF = YES
+
 # Check if ALSA is built, then we should configure after alsa-lib so
 # ./configure can find alsa-lib.
 ifeq ($(BR2_PACKAGE_MADPLAY_ALSA),y)
-- 
2.14.1

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

* [Buildroot] [PATCH 2/2] package/madplay: add hash for license files
  2019-02-14 21:43 [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Fabrice Fontaine
@ 2019-02-14 21:43 ` Fabrice Fontaine
  2019-02-21 16:15   ` Peter Korsgaard
  2019-02-15 21:00 ` [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Thomas Petazzoni
  2019-02-21 16:15 ` Peter Korsgaard
  2 siblings, 1 reply; 5+ messages in thread
From: Fabrice Fontaine @ 2019-02-14 21:43 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
 package/madplay/madplay.hash | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/madplay/madplay.hash b/package/madplay/madplay.hash
index 99487b5ecd..227702976b 100644
--- a/package/madplay/madplay.hash
+++ b/package/madplay/madplay.hash
@@ -1,2 +1,4 @@
 # Locally computed:
 sha256  5a79c7516ff7560dffc6a14399a389432bc619c905b13d3b73da22fa65acede0  madplay-0.15.2b.tar.gz
+sha256  32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670  COPYING
+sha256  915bfd70548f31d11f9b4ffb21f343d1196af96c79d6aaac5663ea46c39dd3a3  COPYRIGHT
-- 
2.14.1

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

* [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf
  2019-02-14 21:43 [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Fabrice Fontaine
  2019-02-14 21:43 ` [Buildroot] [PATCH 2/2] package/madplay: add hash for license files Fabrice Fontaine
@ 2019-02-15 21:00 ` Thomas Petazzoni
  2019-02-21 16:15 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2019-02-15 21:00 UTC (permalink / raw)
  To: buildroot

On Thu, 14 Feb 2019 22:43:20 +0100
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:

> madplay uses a very old configure script.
> 
> When the toolchain lacks C++ and the build machine lacks /lib/cpp, this
> old configure script fails because it can't find a C++ preprocessor that
> is valid:
> 
>     checking for arm-buildroot-linux-uclibcgnueabi-g++... no
>     checking whether we are using the GNU C++ compiler... no
>     checking whether no accepts -g... no
>     checking dependency style of no... none
>     checking how to run the C++ preprocessor... /lib/cpp
>     configure: error: C++ preprocessor "/lib/cpp" fails sanity check
>     See `config.log' for more details.
> 
> This is yet another case that was tentatively fixed by bd39d11d2e
> (core/infra: fix build on toolchain without C++), further amended by
> 4cd1ab15886 (core: alternate solution to disable C++).
> 
> However, this only works on libtool scripts that are recent enough, and
> thus we need to autoreconf to get it.
> 
> We also need to patch configure.ac so that it does not fail on the
> missing, GNU-specific files: NEWS, AUTHORS, and Changelog.
> 
> Finally, remove also patch on ltmain.sh and MADPLAY_LIBTOOL_PATCH=NO as
> autoreconf will create an up to date ltmain.sh
> 
> Fixes:
>  - http://autobuild.buildroot.org/results/fc927de0e9a42095789fb0a631d5facf14076f6e
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
>  .../0002-buildroot-libtool-v1.5.patch.patch        | 109 ---------------------
>  .../0002-configure-ac-automake-foreign.patch       |  16 +++
>  package/madplay/madplay.mk                         |   5 +-
>  3 files changed, 20 insertions(+), 110 deletions(-)
>  delete mode 100644 package/madplay/0002-buildroot-libtool-v1.5.patch.patch
>  create mode 100644 package/madplay/0002-configure-ac-automake-foreign.patch

Both applied to master. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

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

* [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf
  2019-02-14 21:43 [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Fabrice Fontaine
  2019-02-14 21:43 ` [Buildroot] [PATCH 2/2] package/madplay: add hash for license files Fabrice Fontaine
  2019-02-15 21:00 ` [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Thomas Petazzoni
@ 2019-02-21 16:15 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2019-02-21 16:15 UTC (permalink / raw)
  To: buildroot

>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > madplay uses a very old configure script.
 > When the toolchain lacks C++ and the build machine lacks /lib/cpp, this
 > old configure script fails because it can't find a C++ preprocessor that
 > is valid:

 >     checking for arm-buildroot-linux-uclibcgnueabi-g++... no
 >     checking whether we are using the GNU C++ compiler... no
 >     checking whether no accepts -g... no
 >     checking dependency style of no... none
 >     checking how to run the C++ preprocessor... /lib/cpp
 >     configure: error: C++ preprocessor "/lib/cpp" fails sanity check
 >     See `config.log' for more details.

 > This is yet another case that was tentatively fixed by bd39d11d2e
 > (core/infra: fix build on toolchain without C++), further amended by
 > 4cd1ab15886 (core: alternate solution to disable C++).

 > However, this only works on libtool scripts that are recent enough, and
 > thus we need to autoreconf to get it.

 > We also need to patch configure.ac so that it does not fail on the
 > missing, GNU-specific files: NEWS, AUTHORS, and Changelog.

 > Finally, remove also patch on ltmain.sh and MADPLAY_LIBTOOL_PATCH=NO as
 > autoreconf will create an up to date ltmain.sh

 > Fixes:
 >  - http://autobuild.buildroot.org/results/fc927de0e9a42095789fb0a631d5facf14076f6e

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed to 2018.02.x and 2018.11.x, thanks.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 2/2] package/madplay: add hash for license files
  2019-02-14 21:43 ` [Buildroot] [PATCH 2/2] package/madplay: add hash for license files Fabrice Fontaine
@ 2019-02-21 16:15   ` Peter Korsgaard
  0 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2019-02-21 16:15 UTC (permalink / raw)
  To: buildroot

>>>>> "Fabrice" == Fabrice Fontaine <fontaine.fabrice@gmail.com> writes:

 > Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>

Committed to 2018.02.x and 2018.11.x, thanks.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2019-02-21 16:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-14 21:43 [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Fabrice Fontaine
2019-02-14 21:43 ` [Buildroot] [PATCH 2/2] package/madplay: add hash for license files Fabrice Fontaine
2019-02-21 16:15   ` Peter Korsgaard
2019-02-15 21:00 ` [Buildroot] [PATCH 1/2] package/madplay: needs autoreconf Thomas Petazzoni
2019-02-21 16:15 ` Peter Korsgaard

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.