summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-libs/botan/ChangeLog13
-rw-r--r--dev-libs/botan/botan-1.8.8-r1.ebuild93
-rw-r--r--dev-libs/botan/files/botan-1.8.8-darwin-install_name-fix.patch13
3 files changed, 117 insertions, 2 deletions
diff --git a/dev-libs/botan/ChangeLog b/dev-libs/botan/ChangeLog
index c1a223b0b8cb..d705943c7270 100644
--- a/dev-libs/botan/ChangeLog
+++ b/dev-libs/botan/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-libs/botan
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/botan/ChangeLog,v 1.54 2009/12/28 21:18:01 maekke Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/botan/ChangeLog,v 1.55 2010/01/23 15:18:58 grobian Exp $
+
+*botan-1.8.8-r1 (23 Jan 2010)
+
+ 23 Jan 2010; Fabian Groffen <grobian@gentoo.org> +botan-1.8.8-r1.ebuild,
+ +files/botan-1.8.8-darwin-install_name-fix.patch:
+ Revbump for Prefix/OSX fixes. I changed the ebuild in such a way that
+ needs less sedding/fixing afterwards basically because I had to to get a
+ correct install_name on Darwin. Also support case-insensitive filesystems
+ for the docs installation. Marked ~ppc-macos, fixes bug #299620.
28 Dec 2009; Markus Meier <maekke@gentoo.org> botan-1.8.8.ebuild:
x86 stable, bug #295701
diff --git a/dev-libs/botan/botan-1.8.8-r1.ebuild b/dev-libs/botan/botan-1.8.8-r1.ebuild
new file mode 100644
index 000000000000..dd8c9b2f43aa
--- /dev/null
+++ b/dev-libs/botan/botan-1.8.8-r1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/botan/botan-1.8.8-r1.ebuild,v 1.1 2010/01/23 15:18:58 grobian Exp $
+
+EAPI="2"
+
+inherit eutils multilib toolchain-funcs
+
+MY_PN="Botan"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="A C++ crypto library"
+HOMEPAGE="http://botan.randombit.net/"
+SRC_URI="http://files.randombit.net/botan/${MY_P}.tgz"
+
+KEYWORDS="~amd64 ~ia64 ~ppc ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bzip2 gmp ssl threads zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+ zlib? ( >=sys-libs/zlib-1.2.3 )
+ gmp? ( >=dev-libs/gmp-4.2.2 )
+ ssl? ( >=dev-libs/openssl-0.9.8g )"
+
+DEPEND="${RDEPEND}
+ >=dev-lang/python-2.4"
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-use_negative_lea_displacement.patch"
+ epatch "${FILESDIR}"/${P}-darwin-install_name-fix.patch
+}
+
+src_configure() {
+ local disable_modules="proc_walk,unix_procs,cpu_counter"
+
+ if ! useq threads; then
+ disable_modules="${disable_modules},pthreads"
+ fi
+
+ # Enable v9 instructions for sparc64
+ if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+ CHOSTARCH="sparc32-v9"
+ else
+ CHOSTARCH="${CHOST%%-*}"
+ fi
+
+ cd "${S}"
+ elog "Disabling modules: ${disable_modules}"
+
+ local myos=
+ case ${CHOST} in
+ *-darwin*) myos=darwin ;;
+ *) myos=linux ;;
+ esac
+
+ # foobared buildsystem, --prefix translates into DESTDIR, see also make
+ # install in src_install, we need the correct live-system prefix here on
+ # Darwin for a shared lib with correct install_name
+ ./configure.py \
+ --prefix="${EPREFIX}"/usr \
+ --libdir=$(get_libdir) \
+ --docdir=share/doc \
+ --cc=gcc \
+ --os=${myos} \
+ --cpu=${CHOSTARCH} \
+ --with-endian="$(tc-endian)" \
+ --with-tr1=system \
+ $(use_with bzip2) \
+ $(use_with gmp gnump) \
+ $(use_with ssl openssl) \
+ $(use_with zlib) \
+ --disable-modules=${disable_modules} \
+ || die "configure.py failed"
+}
+
+src_compile() {
+ emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" MACH_OPT="" || die "emake failed"
+}
+
+src_test() {
+ chmod -R ugo+rX "${S}"
+ emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check || die "emake check failed"
+ LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
+}
+
+src_install() {
+ emake DESTDIR="${D%/}${EPREFIX}/usr" install || die "emake install failed"
+ # do the move as a two-stage operation for case-INsensitive filesystems
+ mv "${D%/}${EPREFIX}"/usr/share/doc/{Botan-${PV},tbm} || die
+ mv "${D%/}${EPREFIX}"/usr/share/doc/{tbm,${PF}} || die
+}
diff --git a/dev-libs/botan/files/botan-1.8.8-darwin-install_name-fix.patch b/dev-libs/botan/files/botan-1.8.8-darwin-install_name-fix.patch
new file mode 100644
index 000000000000..d749ea08e5d2
--- /dev/null
+++ b/dev-libs/botan/files/botan-1.8.8-darwin-install_name-fix.patch
@@ -0,0 +1,13 @@
+install_names (sonames) on Darwin are absolute
+
+--- src/build-data/cc/gcc.txt
++++ src/build-data/cc/gcc.txt
+@@ -31,7 +31,7 @@
+ # AIX doesn't seem to have soname support (weird...)
+ aix -> "$(CXX) -shared -fPIC"
+
+-darwin -> "$(CXX) -dynamiclib -fPIC -install_name $(SONAME)"
++darwin -> "$(CXX) -dynamiclib -fPIC -install_name $(LIBDIR)/$(SONAME)"
+ hpux -> "$(CXX) -shared -fPIC -Wl,+h,$(SONAME)"
+ solaris -> "$(CXX) -shared -fPIC -Wl,-h,$(SONAME)"
+ # Gotta use ld directly on BeOS, their GCC is busted