forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
dev-libs/beecrypt: Allow for compiling with GCC 6
Gentoo-bug: 596904 * EAPI=6 * Improve DOCS and HTML_DOCS handling * Minor QA fixes Closes: gentoo#2551 Signed-off-by: David Seifert <[email protected]>
- Loading branch information
1 parent
d77b676
commit 34e8da0
Showing
3 changed files
with
119 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
# Copyright 1999-2016 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
# $Id$ | ||
|
||
EAPI=6 | ||
|
||
PYTHON_COMPAT=( python2_7 ) | ||
|
||
inherit autotools 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 ~arm-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-2.8:= ) | ||
python? ( ${PYTHON_DEPS} )" | ||
|
||
DEPEND="${COMMON_DEPEND} | ||
java? ( >=virtual/jdk-1.4 ) | ||
doc? ( app-doc/doxygen | ||
virtual/latex-base | ||
dev-texlive/texlive-fontsextra | ||
)" | ||
RDEPEND="${COMMONDEPEND} | ||
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 | ||
) | ||
|
||
pkg_setup() { | ||
use python && python-single-r1_pkg_setup | ||
use java && java-pkg-opt-2_pkg_setup | ||
} | ||
|
||
src_prepare() { | ||
default | ||
eautoreconf | ||
} | ||
|
||
src_configure() { | ||
# cplusplus needs threads support | ||
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 python; then | ||
rm -f "${D%/}$(python_get_sitedir)"/_bc.*a || die | ||
fi | ||
if ! use static-libs; then | ||
find "${D}" -name '*.la' -delete || die | ||
fi | ||
} |
26 changes: 26 additions & 0 deletions
26
dev-libs/beecrypt/files/beecrypt-4.2.1-c++11-allow-throw-in-destructors.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
--- beecrypt-4.2.1/include/beecrypt/c++/lang/Object.h.old 2016-10-12 18:40:10.878868563 -0400 | ||
+++ beecrypt-4.2.1/include/beecrypt/c++/lang/Object.h 2016-10-12 19:17:22.508857979 -0400 | ||
@@ -145,7 +145,11 @@ | ||
waiter* prev; | ||
|
||
waiter(bc_threadid_t owner, unsigned int lock_count); | ||
+#if __cplusplus < 201103L | ||
~waiter(); | ||
+#else | ||
+ ~waiter() noexcept(false); | ||
+#endif | ||
}; | ||
|
||
waiter* _lock_head; | ||
--- beecrypt-4.2.1/c++/lang/Object.cxx.old 2016-10-12 18:40:39.024665316 -0400 | ||
+++ beecrypt-4.2.1/c++/lang/Object.cxx 2016-10-12 19:14:41.630529720 -0400 | ||
@@ -767,6 +767,9 @@ | ||
} | ||
|
||
Object::FairMonitor::waiter::~waiter() | ||
+#if __cplusplus >= 201103L | ||
+noexcept(false) | ||
+#endif | ||
{ | ||
#if WIN32 | ||
if (!CloseHandle(event)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters