# Copyright 1999-2010 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="~amd64 ~ia64 ~ppc ~sparc ~x86 ~ppc-macos" SLOT="0" LICENSE="BSD" IUSE="altivec bzip2 gmp python sse2 ssse3 ssl threads 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 ) ssl? ( >=dev-libs/openssl-0.9.8g )" DEPEND="${RDEPEND}" pkg_setup() { python_set_active_version 2 } #src_prepare(){ # epatch "${FILESDIR}"/${P}-python_wrapper_fixes.patch # epatch "${FILESDIR}"/${P}-openssl_compile.patch # epatch "${FILESDIR}"/${P}-python_respect_cflags.patch #} src_configure() { local disable_modules="proc_walk,unix_procs" 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 python boost-python) \ $(use_with bzip2) \ $(use_with gmp gnump) \ $(use_with ssl openssl) \ $(use_with zlib) \ $(use_enable sse2) \ $(use_enable ssse3) \ $(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 PYTHON_SITE_PACKAGE_DIR="${D}/usr/lib/python2.6/site-packages" -f Makefile.python || die "emake install failed" fi }