Skip to contentSkip to conversation

package/libid3tag: needs autoreconf

PATCH New Yann E. MORIN 3 participants 3 messages Nov 25, 2018 – Dec 3, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/libid3tag: needs autoreconf

libid3tag 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.

Fixes:

    http://autobuild.buildroot.org/results/ac3/ac3870208aab6001db6b790b6c5dde64d08f7669/
    http://autobuild.buildroot.org/results/cc1/cc18397f38dfd4f1e6605f7a6f58edab49b396ac/
---
 package/libid3tag/0001-configure-automake-foreign.patch | 16 ++++++++++++++++
 package/libid3tag/libid3tag.mk                          |  5 ++++-
 2 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 package/libid3tag/0001-configure-automake-foreign.patch
package/libid3tag/0001-configure-automake-foreign.patch new file +16 -0
new file mode 100644
index 0000000000..8521d559f2
@@ -0,0 +1,16 @@
+configure: don't require GNU-specific files when running automake
+
+Signed-off-by: "Yann E. MORIN" <[email protected]>
+
+diff -durN libid3tag-0.15.1b.orig/configure.ac libid3tag-0.15.1b/configure.ac
+--- libid3tag-0.15.1b.orig/configure.ac	2004-01-24 00:22:46.000000000 +0100
++++ libid3tag-0.15.1b/configure.ac	2018-11-25 15:31:04.184342212 +0100
+@@ -26,7 +26,7 @@
+ 
+ AC_CONFIG_SRCDIR([id3tag.h])
+ 
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ 
+ AM_CONFIG_HEADER([config.h])
+ 
package/libid3tag/libid3tag.mk +4 -1
index 951ae09c77..402e154ae1 100644
@@ -10,6 +10,9 @@ LIBID3TAG_LICENSE = GPL-2.0+
 LIBID3TAG_LICENSE_FILES = COPYING COPYRIGHT
 LIBID3TAG_INSTALL_STAGING = YES
 LIBID3TAG_DEPENDENCIES = zlib
-LIBID3TAG_LIBTOOL_PATCH = NO
+
+# 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.
+LIBID3TAG_AUTORECONF = YES
 
 $(eval $(autotools-package))
Signature · 1 line
2.14.1
#1 lore raw

PATCH 1/1 package/libid3tag: needs autoreconf

Quoted 21 lines · Yann E. MORIN

libid3tag 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.

Quoted 8 lines

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

Fixes:

    http://autobuild.buildroot.org/results/ac3/ac3870208aab6001db6b790b6c5dde64d08f7669/
    http://autobuild.buildroot.org/results/cc1/cc18397f38dfd4f1e6605f7a6f58edab49b396ac/

Applied to master, thanks.

package/libid3tag/0001-configure-automake-foreign.patch line 1

Quoted 13 lines
---
 package/libid3tag/0001-configure-automake-foreign.patch | 16 ++++++++++++++++
 package/libid3tag/libid3tag.mk                          |  5 ++++-
 2 files changed, 20 insertions(+), 1 deletion(-)
 create mode 100644 package/libid3tag/0001-configure-automake-foreign.patch
package/libid3tag/0001-configure-automake-foreign.patch new file +1 -0
new file mode 100644
index 0000000000..8521d559f2
@@ -0,0 +1,16 @@
+configure: don't require GNU-specific files when running automake

It's a bit unfortunate that we need to patch, since upstream is pretty much dead...

Regards,
Arnout

Quoted 31 lines
package/libid3tag/0001-configure-automake-foreign.patch new file +15 -0
+
+Signed-off-by: "Yann E. MORIN" <[email protected]>
+
+diff -durN libid3tag-0.15.1b.orig/configure.ac libid3tag-0.15.1b/configure.ac
+--- libid3tag-0.15.1b.orig/configure.ac	2004-01-24 00:22:46.000000000 +0100
++++ libid3tag-0.15.1b/configure.ac	2018-11-25 15:31:04.184342212 +0100
+@@ -26,7 +26,7 @@
+ 
+ AC_CONFIG_SRCDIR([id3tag.h])
+ 
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ 
+ AM_CONFIG_HEADER([config.h])
+ 
package/libid3tag/libid3tag.mk +4 -1
index 951ae09c77..402e154ae1 100644
@@ -10,6 +10,9 @@ LIBID3TAG_LICENSE = GPL-2.0+
 LIBID3TAG_LICENSE_FILES = COPYING COPYRIGHT
 LIBID3TAG_INSTALL_STAGING = YES
 LIBID3TAG_DEPENDENCIES = zlib
-LIBID3TAG_LIBTOOL_PATCH = NO
+
+# 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.
+LIBID3TAG_AUTORECONF = YES
 
 $(eval $(autotools-package))
#2 lore raw

PATCH 1/1 package/libid3tag: needs autoreconf

In reply to Yann E. MORIN
Quoted 22 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Yann" == Yann E MORIN <[email protected]> writes:

libid3tag 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.

Quoted 8 lines

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

Fixes:

    http://autobuild.buildroot.org/results/ac3/ac3870208aab6001db6b790b6c5dde64d08f7669/
    http://autobuild.buildroot.org/results/cc1/cc18397f38dfd4f1e6605f7a6f58edab49b396ac/

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

Signature · 1 line
Bye, Peter Korsgaard