diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2018-09-27 22:19:00 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2018-09-27 22:20:40 +0100 |
commit | 46aa079fc5c778a517af846385b728a26e4dd99d (patch) | |
tree | 0e89e2d82b958977274ea403a1df7aa45428bc50 /dev-libs | |
parent | app-admin/calamares: bump to 3.2.2 (diff) | |
download | gentoo-46aa079fc5c778a517af846385b728a26e4dd99d.tar.gz gentoo-46aa079fc5c778a517af846385b728a26e4dd99d.tar.bz2 gentoo-46aa079fc5c778a517af846385b728a26e4dd99d.zip |
dev-libs/beecrypt: tweak for icu-61, bug #666542
On icu-61 built failures look like:
include/beecrypt/c++/lang/String.h:76:17:
error: ‘UnicodeString’ does not name a type
ICU-61 moved all names into icu:: space.
The fix is to add 'using icu::<symbol>'.
Reported-by: Juergen Rose
Closes: https://bugs.gentoo.org/666542
Package-Manager: Portage-2.3.50, Repoman-2.3.11
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/beecrypt/beecrypt-4.2.1-r5.ebuild | 98 | ||||
-rw-r--r-- | dev-libs/beecrypt/files/beecrypt-4.2.1-icu-61.patch | 51 |
2 files changed, 149 insertions, 0 deletions
diff --git a/dev-libs/beecrypt/beecrypt-4.2.1-r5.ebuild b/dev-libs/beecrypt/beecrypt-4.2.1-r5.ebuild new file mode 100644 index 000000000000..564e81f57995 --- /dev/null +++ b/dev-libs/beecrypt/beecrypt-4.2.1-r5.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2018 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +PYTHON_COMPAT=( python2_7 ) + +inherit autotools flag-o-matic java-pkg-opt-2 python-single-r1 + +DESCRIPTION="General-purpose cryptography library" +HOMEPAGE="https://sourceforge.net/projects/beecrypt/" +SRC_URI="mirror://sourceforge/beecrypt/${P}.tar.gz" + +LICENSE="GPL-2 LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="+threads java cxx python static-libs doc" +REQUIRED_USE="cxx? ( threads ) + python? ( ${PYTHON_REQUIRED_USE} )" + +COMMON_DEPEND="!<app-arch/rpm-4.2.1 + cxx? ( >=dev-libs/icu-6.1:= ) + python? ( ${PYTHON_DEPS} )" + +DEPEND="${COMMON_DEPEND} + java? ( >=virtual/jdk-1.4 ) + doc? ( app-doc/doxygen + virtual/latex-base + dev-texlive/texlive-fontsextra + )" +RDEPEND="${COMMON_DEPEND} + java? ( >=virtual/jre-1.4 )" + +DOCS=( BUGS README BENCHMARKS NEWS ) +PATCHES=( + "${FILESDIR}"/${P}-build-system.patch + "${FILESDIR}"/${P}-gcc-4.7.patch + + # Fixes bug 596904 + "${FILESDIR}"/${P}-c++11-allow-throw-in-destructors.patch + "${FILESDIR}"/${P}-cast-uchar.patch #618676 + + "${FILESDIR}"/${P}-icu-61.patch +) + +pkg_setup() { + use python && python-single-r1_pkg_setup + java-pkg-opt-2_pkg_setup +} + +src_prepare() { + default + eautoreconf +} + +src_configure() { + # ICU needs char16_t support now + # bug 649548 + append-cxxflags -std=c++14 + + # cplusplus needs threads support + ac_cv_java_include=$(use java && java-pkg_get-jni-cflags) \ + econf \ + --disable-expert-mode \ + $(use_enable static-libs static) \ + $(use_enable threads) \ + $(use_with python python "${PYTHON}") \ + $(use_with cxx cplusplus) \ + $(use_with java) +} + +src_compile() { + default + + if use doc; then + pushd include/beecrypt >/dev/null || die + doxygen || die "doxygen failed" + popd >/dev/null || die + HTML_DOCS=( docs/html/*.{css,html,js,png} ) + fi +} + +src_test() { + export BEECRYPT_CONF_FILE="${T}/beecrypt-test.conf" + echo "provider.1=${S}/c++/provider/.libs/base.so" > "${BEECRYPT_CONF_FILE}" || die + emake check bench +} + +src_install() { + default + + if use python; then + rm -f "${D%/}$(python_get_sitedir)"/_bc.*a || die + fi + if ! use static-libs; then + find "${D}" -name '*.la' -delete || die + fi +} diff --git a/dev-libs/beecrypt/files/beecrypt-4.2.1-icu-61.patch b/dev-libs/beecrypt/files/beecrypt-4.2.1-icu-61.patch new file mode 100644 index 000000000000..68845f612d9b --- /dev/null +++ b/dev-libs/beecrypt/files/beecrypt-4.2.1-icu-61.patch @@ -0,0 +1,51 @@ +On icu-61 built failures look like: + include/beecrypt/c++/lang/String.h:76:17: + error: ‘UnicodeString’ does not name a type + +ICU-61 moved all names into icu:: space. + +The fix is to add 'using icu::<symbol>'. + +Reported-by: Juergen Rose +Bug: https://bugs.gentoo.org/666542 +--- a/c++/beeyond/DHIESParameterSpec.cxx ++++ b/c++/beeyond/DHIESParameterSpec.cxx +@@ -36,2 +36,4 @@ using std::auto_ptr; + #include <unicode/numfmt.h> ++using icu::RegexPattern; ++using icu::RegexMatcher; + +--- a/c++/crypto/Cipher.cxx ++++ b/c++/crypto/Cipher.cxx +@@ -30,2 +30,4 @@ using beecrypt::security::Security; + #include <unicode/ustream.h> ++using icu::RegexMatcher; ++using icu::RegexPattern; + +--- a/c++/lang/Integer.cxx ++++ b/c++/lang/Integer.cxx +@@ -29,2 +29,5 @@ using beecrypt::lang::String; + #include <unicode/numfmt.h> ++using icu::Formattable; ++using icu::NumberFormat; ++ + +--- a/c++/lang/Long.cxx ++++ b/c++/lang/Long.cxx +@@ -29,2 +29,4 @@ using beecrypt::lang::String; + #include <unicode/numfmt.h> ++using icu::Formattable; ++using icu::NumberFormat; + +--- a/c++/util/Date.cxx ++++ b/c++/util/Date.cxx +@@ -28,2 +28,3 @@ + #include <unicode/datefmt.h> ++using icu::DateFormat; + +--- a/include/beecrypt/c++/lang/String.h ++++ b/include/beecrypt/c++/lang/String.h +@@ -41,2 +41,3 @@ using beecrypt::bytearray; + #include <unicode/unistr.h> ++using icu::UnicodeString; + |