# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ EAPI="3" PYTHON_DEPEND="2:2.6" RESTRICT_PYTHON_ABIS="3.*" inherit eutils multilib python toolchain-funcs MY_PN="Botan" MY_P="${MY_PN}-${PV}" DESCRIPTION="A C++ crypto library" HOMEPAGE="http://botan.randombit.net/" SRC_URI="http://botan.randombit.net/files/${MY_P}.tbz" KEYWORDS="" SLOT="0" LICENSE="BSD" IUSE="aesni altivec bzip2 doc gmp python sse2 ssse3 openssl zlib" S="${WORKDIR}/${MY_P}" RDEPEND="python? ( dev-libs/boost[python] ) bzip2? ( >=app-arch/bzip2-1.0.5 ) zlib? ( >=sys-libs/zlib-1.2.3 ) gmp? ( >=dev-libs/gmp-4.2.2 ) openssl? ( >=dev-libs/openssl-0.9.8g )" DEPEND="${RDEPEND} doc? ( >=dev-python/sphinx-1.0.7 >=app-doc/doxygen-1.7.3 )" pkg_setup() { python_set_active_version 2 } src_configure() { local disable_modules="proc_walk,unix_procs" # 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=$(tc-getCC) \ --os=${myos} \ --cpu=${CHOSTARCH} \ --with-endian="$(tc-endian)" \ --with-tr1=system \ --distribution-info="Gentoo ${PVR}" \ $(use_with doc sphinx) \ $(use_with doc doxygen) \ $(use_with python boost-python) \ $(use_with bzip2) \ $(use_with gmp gnump) \ $(use_with openssl) \ $(use_with zlib) \ $(use_enable sse2) \ $(use_enable ssse3) \ $(use_enable aesni aes-ni) \ $(use_enable altivec) \ --disable-modules=${disable_modules} \ || die "configure.py failed" } src_compile() { emake CXX="$(tc-getCXX)" AR="$(tc-getAR) crs" LIB_OPT="${CXXFLAGS}" \ MACH_OPT="" LDFLAGS="${LDFLAGS}" || die "emake failed" if useq python; then emake CXX="$(tc-getCXX)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" -f Makefile.python || die "emake failed" fi } 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="${ED}usr" install || die "emake install failed" if useq python; then emake install -f Makefile.python || die "emake install failed" fi }