package/beecrypt: remove c++ support
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sun, 11 Jun 2017 12:48:51 +0000 (14:48 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 24 Jun 2017 14:50:16 +0000 (16:50 +0200)
Optional C++ support depends on icu, the icu version bump to 59.1
brought ABI-breaking changes
http://site.icu-project.org/download/59#TOC-char16_t-in-C-

which are incompatible with beecrypt. Since beecrypt did not get any
updates upstream since 2009 and no package uses beecrypt's C++ support
we disable this broken option.

With C++ support removed patches 0002 & 0004 are not needed anymore.

Fixes
http://autobuild.buildroot.net/results/a1a/a1ad507371192ddecacab0df91f7b2a84c7c288d/

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Config.in.legacy
package/beecrypt/0002-build-system.patch [new file with mode: 0644]
package/beecrypt/0002-icu-check-cross-compile.patch [deleted file]
package/beecrypt/0003-build-system.patch [deleted file]
package/beecrypt/0004-gcc-4.7.patch [deleted file]
package/beecrypt/Config.in
package/beecrypt/beecrypt.mk

index 361d331dc9e18f8d382afbbb195c568be6e6587a..ec28da3a2a6e631a963824edac10f6ce0c648e0c 100644 (file)
@@ -145,6 +145,13 @@ endif
 ###############################################################################
 comment "Legacy options removed in 2017.08"
 
+config BR2_PACKAGE_BEECRYPT_CPP
+       bool "C++ support removed in beecrypt"
+       select BR2_LEGACY
+       help
+         Support for C++ depends on icu. The beecrypt package is
+         incompatible with icu 59+.
+
 config BR2_PACKAGE_SPICE_CLIENT
        bool "spice client support removed"
        select BR2_LEGACY
diff --git a/package/beecrypt/0002-build-system.patch b/package/beecrypt/0002-build-system.patch
new file mode 100644 (file)
index 0000000..0574689
--- /dev/null
@@ -0,0 +1,173 @@
+Fix build with BR2_ENABLE_DEBUG=yes, no need for expert mode anymore
+
+Otherwise configure issues this error message:
+configure: error: --enable-debug cannot be used in conjunction with --enable-expert-mode
+
+Downloaded from Gentoo:
+http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch?revision=1.2&view=markup
+
+This patch also removes the hard-coded CFLAGS provided by beecrypt in favour
+of the CFLAGS provided by buildroot.
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+--- beecrypt-4.2.1/configure.ac
++++ beecrypt-4.2.1/configure.ac
+@@ -11,7 +11,7 @@
+ # Checks for package options
+ AC_ARG_ENABLE(expert-mode, [  --enable-expert-mode      follow user-defined CFLAGS settings [[default=no]]],[
+-  ac_enable_expert_mode=yes
++  ac_enable_expert_mode=$enableval
+   ],[
+   if test "X$CFLAGS" != "X"; then
+     echo "enabling expert mode"
+@@ -25,7 +25,7 @@
+   if test "$ac_enable_expert_mode" = yes; then
+     AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode])
+   fi
+-  ac_enable_debug=yes
++  ac_enable_debug=$enableval
+   ],[
+   ac_enable_debug=no
+   ])
+@@ -456,7 +456,7 @@
+       ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`"
+     ])
+     AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [
+-      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'`
++      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, 0)'`
+     ])
+   fi
+ fi
+--- beecrypt-4.2.1/acinclude.m4
++++ beecrypt-4.2.1/acinclude.m4
+@@ -498,15 +498,6 @@ AC_DEFUN([BEE_GNU_CC],[
+     AC_SUBST(OPENMP_LIBS,"-lgomp")
+   fi
+   case $bc_target_arch in
+-  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona)
+-    CC="$CC -m64"
+-    ;;
+-  i[[3456]]86 | \
+-  pentium* | \
+-  athlon*)
+-    CC="$CC -m32"
+-    CCAS="$CCAS -m32"
+-    ;;
+   ia64)
+     case $target_os in
+     # HP/UX on Itanium needs to be told that a long is 64-bit!
+@@ -525,17 +516,8 @@ AC_DEFUN([BEE_GNU_CC],[
+     aix*)
+       CC="$CC -maix64"
+       ;;
+-    linux*)
+-      CC="$CC -m64"
+-      ;;
+     esac
+     ;;
+-  sparc | sparcv8*)
+-    CC="$CC -m32"
+-    ;;
+-  sparc64 | sparcv9*)
+-    CC="$CC -m64"
+-    ;;
+   esac
+   # Certain platforms needs special flags for multi-threaded code
+   if test "$ac_enable_threads" = yes; then
+@@ -646,14 +646,6 @@ dnl  BEE_GNU_CXX
+ AC_DEFUN([BEE_GNU_CXX],[
+   AC_REQUIRE([AC_PROG_CXX])
+   case $bc_target_arch in
+-  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona | core2)
+-    CXX="$CXX -m64"
+-    ;;
+-  i[[3456]]86 | \
+-  pentium* | \
+-  athlon*)
+-    CXX="$CXX -m32"
+-    ;;
+   ia64)
+     case $target_os in
+     # HP/UX on Itanium needs to be told that a long is 64-bit!
+@@ -672,17 +664,8 @@ AC_DEFUN([BEE_GNU_CXX],[
+     aix*)
+       CXX="$CXX -maix64"
+       ;;
+-    linux*)
+-      CXX="$CXX -m64"
+-      ;;
+     esac
+     ;;
+-  sparc | sparcv8*)
+-    CXX="$CXX -m32"
+-    ;;
+-  sparc64 | sparcv9*)
+-    CXX="$CXX -m64"
+-    ;;
+   esac
+   # Certain platforms needs special flags for multi-threaded code
+   if test "$ac_enable_threads" = yes; then
+--- beecrypt-4.2.1/java/Makefile.am
++++ beecrypt-4.2.1/java/Makefile.am
+@@ -26,7 +26,7 @@
+ INCLUDES = -I$(top_srcdir)/include
+-libaltdir=$(prefix)/lib@LIBALT@
++libaltdir=$(libdir)
+ libalt_LTLIBRARIES = libbeecrypt_java.la
+--- beecrypt-4.2.1/acinclude.m4
++++ beecrypt-4.2.1/acinclude.m4
+@@ -1589,20 +1589,5 @@
+   AC_SUBST(TYPEDEF_BC_THREADID_T,$bc_typedef_bc_threadid_t)
+   ])
+-
+-AH_BOTTOM([
+-#if ENABLE_THREADS
+-# ifndef _REENTRANT
+-#  define _REENTRANT
+-# endif
+-# if LINUX
+-#  define _LIBC_REENTRANT
+-# endif
+-#else
+-# ifdef _REENTRANT
+-#  undef _REENTRANT
+-# endif
+-#endif
+-])
+ dnl  BEE_THREAD_LOCAL_STORAGE
+@@ -1623,7 +1609,5 @@
+   ])
+ AH_BOTTOM([
+-#if !ENABLE_THREAD_LOCAL_STORAGE
+-# define __thread
+-#endif
++#include "config.threads.h"
+ ])
+--- beecrypt-4.2.1/config.threads.h
++++ beecrypt-4.2.1/config.threads.h
+@@ -0,0 +1,16 @@
++#if ENABLE_THREADS
++# ifndef _REENTRANT
++#  define _REENTRANT
++# endif
++# if LINUX
++#  define _LIBC_REENTRANT
++# endif
++#else
++# ifdef _REENTRANT
++#  undef _REENTRANT
++# endif
++#endif
++
++#if !ENABLE_THREAD_LOCAL_STORAGE
++# define __thread
++#endif
diff --git a/package/beecrypt/0002-icu-check-cross-compile.patch b/package/beecrypt/0002-icu-check-cross-compile.patch
deleted file mode 100644 (file)
index cc02116..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-configure: Use AC_COMPILE_IFELSE for ICU check for cross compilation compat
-
-AC_RUN_IFELSE doesn't work when cross compiling, but we can do the
-check in the preprocessor instead, so use AC_COMPILE_IFELSE instead.
-
-Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
----
- configure.ac |    6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-Index: beecrypt-4.2.1/configure.ac
-===================================================================
---- beecrypt-4.2.1.orig/configure.ac
-+++ beecrypt-4.2.1/configure.ac
-@@ -295,13 +295,13 @@
- if test "$ac_with_cplusplus" = yes; then
-   AC_MSG_CHECKING([for IBM's ICU library version >= 2.8])
-   AC_LANG_PUSH(C)
--  AC_RUN_IFELSE([
-+  AC_COMPILE_IFELSE([
-     AC_LANG_PROGRAM([[#include <unicode/uversion.h>]],[[
-       #if U_ICU_VERSION_MAJOR_NUM < 2
--      exit(1);
-+      #error too old
-       #elif U_ICU_VERSION_MAJOR_NUM == 2
-       # if U_ICU_VERSION_MINOR_NUM < 8
--      exit(1);
-+      #error too old
-       # else
-       exit(0);
-       # endif
diff --git a/package/beecrypt/0003-build-system.patch b/package/beecrypt/0003-build-system.patch
deleted file mode 100644 (file)
index 0574689..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-Fix build with BR2_ENABLE_DEBUG=yes, no need for expert mode anymore
-
-Otherwise configure issues this error message:
-configure: error: --enable-debug cannot be used in conjunction with --enable-expert-mode
-
-Downloaded from Gentoo:
-http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/beecrypt/files/beecrypt-4.2.1-build-system.patch?revision=1.2&view=markup
-
-This patch also removes the hard-coded CFLAGS provided by beecrypt in favour
-of the CFLAGS provided by buildroot.
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
---- beecrypt-4.2.1/configure.ac
-+++ beecrypt-4.2.1/configure.ac
-@@ -11,7 +11,7 @@
- # Checks for package options
- AC_ARG_ENABLE(expert-mode, [  --enable-expert-mode      follow user-defined CFLAGS settings [[default=no]]],[
--  ac_enable_expert_mode=yes
-+  ac_enable_expert_mode=$enableval
-   ],[
-   if test "X$CFLAGS" != "X"; then
-     echo "enabling expert mode"
-@@ -25,7 +25,7 @@
-   if test "$ac_enable_expert_mode" = yes; then
-     AC_MSG_ERROR([--enable-debug cannot be used in conjunction with --enable-expert-mode])
-   fi
--  ac_enable_debug=yes
-+  ac_enable_debug=$enableval
-   ],[
-   ac_enable_debug=no
-   ])
-@@ -456,7 +456,7 @@
-       ac_cv_python_include="-I`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_inc()'`"
-     ])
-     AC_CACHE_CHECK([where to install python libraries], ac_cv_python_libdir, [
--      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib()'`
-+      ac_cv_python_libdir=`$PYTHON -c 'import distutils.sysconfig; print distutils.sysconfig.get_python_lib(1, 0)'`
-     ])
-   fi
- fi
---- beecrypt-4.2.1/acinclude.m4
-+++ beecrypt-4.2.1/acinclude.m4
-@@ -498,15 +498,6 @@ AC_DEFUN([BEE_GNU_CC],[
-     AC_SUBST(OPENMP_LIBS,"-lgomp")
-   fi
-   case $bc_target_arch in
--  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona)
--    CC="$CC -m64"
--    ;;
--  i[[3456]]86 | \
--  pentium* | \
--  athlon*)
--    CC="$CC -m32"
--    CCAS="$CCAS -m32"
--    ;;
-   ia64)
-     case $target_os in
-     # HP/UX on Itanium needs to be told that a long is 64-bit!
-@@ -525,17 +516,8 @@ AC_DEFUN([BEE_GNU_CC],[
-     aix*)
-       CC="$CC -maix64"
-       ;;
--    linux*)
--      CC="$CC -m64"
--      ;;
-     esac
-     ;;
--  sparc | sparcv8*)
--    CC="$CC -m32"
--    ;;
--  sparc64 | sparcv9*)
--    CC="$CC -m64"
--    ;;
-   esac
-   # Certain platforms needs special flags for multi-threaded code
-   if test "$ac_enable_threads" = yes; then
-@@ -646,14 +646,6 @@ dnl  BEE_GNU_CXX
- AC_DEFUN([BEE_GNU_CXX],[
-   AC_REQUIRE([AC_PROG_CXX])
-   case $bc_target_arch in
--  x86_64 | athlon64 | athlon-fx | k8 | opteron | em64t | nocona | core2)
--    CXX="$CXX -m64"
--    ;;
--  i[[3456]]86 | \
--  pentium* | \
--  athlon*)
--    CXX="$CXX -m32"
--    ;;
-   ia64)
-     case $target_os in
-     # HP/UX on Itanium needs to be told that a long is 64-bit!
-@@ -672,17 +664,8 @@ AC_DEFUN([BEE_GNU_CXX],[
-     aix*)
-       CXX="$CXX -maix64"
-       ;;
--    linux*)
--      CXX="$CXX -m64"
--      ;;
-     esac
-     ;;
--  sparc | sparcv8*)
--    CXX="$CXX -m32"
--    ;;
--  sparc64 | sparcv9*)
--    CXX="$CXX -m64"
--    ;;
-   esac
-   # Certain platforms needs special flags for multi-threaded code
-   if test "$ac_enable_threads" = yes; then
---- beecrypt-4.2.1/java/Makefile.am
-+++ beecrypt-4.2.1/java/Makefile.am
-@@ -26,7 +26,7 @@
- INCLUDES = -I$(top_srcdir)/include
--libaltdir=$(prefix)/lib@LIBALT@
-+libaltdir=$(libdir)
- libalt_LTLIBRARIES = libbeecrypt_java.la
---- beecrypt-4.2.1/acinclude.m4
-+++ beecrypt-4.2.1/acinclude.m4
-@@ -1589,20 +1589,5 @@
-   AC_SUBST(TYPEDEF_BC_THREADID_T,$bc_typedef_bc_threadid_t)
-   ])
--
--AH_BOTTOM([
--#if ENABLE_THREADS
--# ifndef _REENTRANT
--#  define _REENTRANT
--# endif
--# if LINUX
--#  define _LIBC_REENTRANT
--# endif
--#else
--# ifdef _REENTRANT
--#  undef _REENTRANT
--# endif
--#endif
--])
- dnl  BEE_THREAD_LOCAL_STORAGE
-@@ -1623,7 +1609,5 @@
-   ])
- AH_BOTTOM([
--#if !ENABLE_THREAD_LOCAL_STORAGE
--# define __thread
--#endif
-+#include "config.threads.h"
- ])
---- beecrypt-4.2.1/config.threads.h
-+++ beecrypt-4.2.1/config.threads.h
-@@ -0,0 +1,16 @@
-+#if ENABLE_THREADS
-+# ifndef _REENTRANT
-+#  define _REENTRANT
-+# endif
-+# if LINUX
-+#  define _LIBC_REENTRANT
-+# endif
-+#else
-+# ifdef _REENTRANT
-+#  undef _REENTRANT
-+# endif
-+#endif
-+
-+#if !ENABLE_THREAD_LOCAL_STORAGE
-+# define __thread
-+#endif
diff --git a/package/beecrypt/0004-gcc-4.7.patch b/package/beecrypt/0004-gcc-4.7.patch
deleted file mode 100644 (file)
index 767f789..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-Really fixes gcc-4.7 related compile error:
-../../include/beecrypt/c++/util/AbstractSet.h:59:27: error: 'containsAll' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
-
-Downloaded from upstream bugtracker:
-http://sourceforge.net/p/beecrypt/patches/10/
-
-Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
-
---- a/include/beecrypt/c++/util/AbstractSet.h
-+++ b/include/beecrypt/c++/util/AbstractSet.h
-@@ -56,7 +56,7 @@
-                                       if (c->size() != size())
-                                               return false;
--                                      return containsAll(*c);
-+                                      return this->containsAll(*c);
-                               }
-                               return false;
-                       }
index 88545151048e525a52c91d36fcdfe721cc79301e..9aec85afdb93b798d43f4002c3b29e309d6b14ed 100644 (file)
@@ -8,25 +8,3 @@ config BR2_PACKAGE_BEECRYPT
          Beecrypt is a general-purpose cryptography library.
 
          http://beecrypt.sf.net
-
-if BR2_PACKAGE_BEECRYPT
-
-config BR2_PACKAGE_BEECRYPT_CPP
-       bool "C++ support"
-       depends on BR2_HOST_GCC_AT_LEAST_4_8 # icu
-       depends on BR2_INSTALL_LIBSTDCPP
-       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # icu
-       depends on BR2_USE_WCHAR # icu
-       depends on !BR2_BINFMT_FLAT # icu
-       depends on !BR2_STATIC_LIBS
-       select BR2_PACKAGE_ICU
-       help
-         Enable C++ support. This pulls in the (large) icu package.
-
-comment "C++ support needs a toolchain w/ C++, wchar, dynamic libraries, gcc >= 4.8, host gcc >= 4.8"
-       depends on !BR2_BINFMT_FLAT
-       depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR \
-               || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
-               || !BR2_HOST_GCC_AT_LEAST_4_8
-
-endif # BR2_PACKAGE_BEECRYPT
index 10dd97c814bba77f37a14c43091867d584b8cfb7..f13f72c8ac0b29ff797ccf60bdd33c3dd853295c 100644 (file)
@@ -15,7 +15,8 @@ BEECRYPT_CONF_OPTS = \
        --disable-expert-mode \
        --without-java \
        --without-python \
-       --disable-openmp
+       --disable-openmp \
+       --without-cplusplus
 
 # disable optimized m68k assembly as it doesn't compile for coldfire
 ifeq ($(BR2_m68k_cf),y)
@@ -27,19 +28,11 @@ ifeq ($(BR2_arm):$(BR2_ARM_CPU_HAS_ARM),y:)
 BEECRYPT_CONF_OPTS += --enable-debug
 endif
 
-ifeq ($(BR2_PACKAGE_BEECRYPT_CPP),y)
-BEECRYPT_DEPENDENCIES += icu
-BEECRYPT_CONF_OPTS += --with-cplusplus
-else
-BEECRYPT_CONF_OPTS += --without-cplusplus
-
 # automake/libtool uses the C++ compiler to link libbeecrypt because of
 # (the optional) cppglue.cxx. Force it to use the C compiler instead.
 define BEECRYPT_LINK_WITH_CC
        $(SED) 's/--tag=CXX/--tag=CC/g' $(@D)/Makefile
 endef
-
 BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC
-endif
 
 $(eval $(autotools-package))