dev-libs/botan: version bump
authorAlon Bar-Lev <alonbl@gentoo.org>
Sun, 22 Jan 2017 20:45:17 +0000 (22:45 +0200)
committerAlon Bar-Lev <alonbl@gentoo.org>
Sun, 22 Jan 2017 20:45:32 +0000 (22:45 +0200)
Package-Manager: portage-2.3.0

dev-libs/botan/Manifest
dev-libs/botan/botan-1.10.15.ebuild [new file with mode: 0644]
dev-libs/botan/botan-2.0.1.ebuild [moved from dev-libs/botan/botan-2.0.0.ebuild with 92% similarity]
dev-libs/botan/files/botan-2.0.0-build.patch [deleted file]
dev-libs/botan/metadata.xml

index 7a022aa7c4c5789315055d0a9aed885d3fd3c20b..1b0cc50b4caac42f1e4f92f9226590a4840db7ae 100644 (file)
@@ -1,2 +1,3 @@
 DIST Botan-1.10.14.tgz 2710757 SHA256 10ed0b394db165733ac9557d8656356b7e9744d38c61c2b9c44cba6d84ff4c1c SHA512 ae524653a99b02d6d8d7bb2b88a446c066fe1044d8fd2708ea2a4cd5aafbe2b0d165d2ce1730669a4df18013cf5b6540bb5944bafea512b4957e3417de512e95 WHIRLPOOL 51aa1d68757ad515f65c255c585be8050efed085800340d43fa068b48647ef8c50fc9e284ac16d0cef3d874f5fa44f143210dcc004561807e1d1b307d89cff9d
-DIST Botan-2.0.0.tgz 4989901 SHA256 031659cca0f80869e9d97a20917edbe2164cedbc079e8c53e0e7bd9bea15371a SHA512 4cb6992b5998ead175c10a9f193b0cde208b81a99bf30412a3b8386e7c91de2ff5d8191fd49893f02643519721bcf16c58db3cbee3eccbeb566f4456d310cf8f WHIRLPOOL ba180e5be87c9212fdf2e9252eb6d477bf608f976476b75e31e393ec19d94dada876b5dda9881f4cbe6dd7fec642a8a2b2a728bc90e07c44661237a067ae09ce
+DIST Botan-1.10.15.tgz 2711022 SHA256 c0cc8ffd470fda4b257c3ef9faf5cf93751f4c283dfba878148acafedfab70fe SHA512 c3b93f44ad0de9758af11557833ee570aa0724c8b57c9a576b56ab439a7819e0f71a10857ad367b486716164dd4ff551cab2036ecbbbedd75db4b8dc93416bc8 WHIRLPOOL 834cad8b38787581d8d967b2fa6ffb6164e2bf8a124d993733a7d55202439ec543c18cb6cb03721c0e8eb67cbe2a486b8199b3b8784645e0033be298f36640b9
+DIST Botan-2.0.1.tgz 4995413 SHA256 a138ed316d11450a8405451b9c9664b8e640a9b7ad84d3f3ad34e8071f364e0b SHA512 c5062ce92a6e6e333b4e6af095ed54d0c4ffacefc6ac87ec651dd1e0937793c9956b7c9c0d3acf49f059505526584168364e01c55ab72c953ad255e8396aed35 WHIRLPOOL 36cec762b05b761d77fc0421379e7c78172c67d1d8c9da4349df34f68d7d1a4fd5cca394ba4bd7c2e1a13a218a6a349b2216bfd7868e93549e37e5cf7ddc7dc1
diff --git a/dev-libs/botan/botan-1.10.15.ebuild b/dev-libs/botan/botan-1.10.15.ebuild
new file mode 100644 (file)
index 0000000..e7cfffd
--- /dev/null
@@ -0,0 +1,150 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="6"
+PYTHON_COMPAT=( python{2_7,3_4} )
+
+inherit eutils multilib python-r1 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/releases/${MY_P}.tgz"
+
+KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
+SLOT="0"
+LICENSE="BSD"
+IUSE="bindist doc python bzip2 gmp ssl static-libs threads zlib"
+
+S="${WORKDIR}/${MY_P}"
+
+RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
+       zlib? ( >=sys-libs/zlib-1.2.3 )
+       python? ( ${PYTHON_DEPS} >=dev-libs/boost-1.48[python,${PYTHON_USEDEP}] )
+       gmp? ( >=dev-libs/gmp-4.2.2:* )
+       ssl? ( >=dev-libs/openssl-0.9.8g:*[bindist=] )"
+DEPEND="${RDEPEND}
+       doc? ( dev-python/sphinx )"
+
+src_prepare() {
+       default
+
+       sed -e "s/-Wl,-soname,\$@ //" -i src/build-data/makefile/python.in || die "sed failed"
+       sed \
+               -e "/DOCDIR/d" \
+               -e "/^install:/s/ docs//" \
+               -i src/build-data/makefile/unix_shr.in || die "sed failed"
+
+       # Fix ImportError with Python 3.
+       sed -e "s/_botan/.&/" -i src/wrap/python/__init__.py || die "sed failed"
+
+       use python && python_copy_sources
+}
+
+src_configure() {
+       local disable_modules="proc_walk,unix_procs"
+       use threads || disable_modules+=",pthreads"
+       use bindist && disable_modules+=",ecdsa"
+       elog "Disabling modules: ${disable_modules}"
+
+       # Enable v9 instructions for sparc64
+       if [[ "${PROFILE_ARCH}" = "sparc64" ]]; then
+               CHOSTARCH="sparc32-v9"
+       else
+               CHOSTARCH="${CHOST%%-*}"
+       fi
+
+       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)" \
+               --without-sphinx \
+               --with-tr1=system \
+               $(use_with bzip2) \
+               $(use_with gmp gnump) \
+               $(use_with python boost-python) \
+               $(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=""
+
+       if use python; then
+               building() {
+                       rm -fr build/python
+                       ln -s "${BUILD_DIR}" build/python
+                       cp Makefile.python build/python
+                       sed -i \
+                               -e "s/-lboost_python/-lboost_python-$(echo ${EPYTHON} | sed 's/python//')/" \
+                               build/python/Makefile.python
+                       emake -f build/python/Makefile.python \
+                               CXX="$(tc-getCXX)" \
+                               CFLAGS="${CXXFLAGS}" \
+                               LDFLAGS="${LDFLAGS}" \
+                               PYTHON_ROOT="/usr/$(get_libdir)" \
+                               PYTHON_INC="-I$(python_get_includedir)"
+               }
+               python_foreach_impl building
+       fi
+
+       if use doc; then
+               einfo "Generation of documentation"
+               sphinx-build doc doc_output
+       fi
+}
+
+src_test() {
+       chmod -R ugo+rX "${S}"
+       emake CXX="$(tc-getCXX)" CHECK_OPT="${CXXFLAGS}" check
+       LD_LIBRARY_PATH="${S}" ./check --validate || die "Validation tests failed"
+}
+
+src_install() {
+       emake DESTDIR="${ED}usr" install
+
+       if ! use static-libs; then
+               rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
+       fi
+
+       # Add compatibility symlinks.
+       [[ -e "${ED}usr/bin/botan-config" ]] && die "Compatibility code no longer needed"
+       [[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
+       dosym botan-config-1.10 /usr/bin/botan-config
+       dosym botan-1.10.pc /usr/$(get_libdir)/pkgconfig/botan.pc
+
+       if use python; then
+               installation() {
+                       rm -fr build/python
+                       ln -s "${BUILD_DIR}" build/python
+                       emake -f Makefile.python \
+                               PYTHON_SITE_PACKAGE_DIR="${ED}$(python_get_sitedir)" \
+                               install
+               }
+               python_foreach_impl installation
+       fi
+
+       if use doc; then
+               pushd doc_output > /dev/null
+               insinto /usr/share/doc/${PF}/html
+               doins -r [a-z]* _static
+               popd > /dev/null
+       fi
+}
similarity index 92%
rename from dev-libs/botan/botan-2.0.0.ebuild
rename to dev-libs/botan/botan-2.0.1.ebuild
index a12093de2d13fd6847e56665e90d07fb45ce7def..763f6542cf9a8bd8302c7181f92b43bead52b990 100644 (file)
@@ -14,7 +14,7 @@ HOMEPAGE="http://botan.randombit.net/"
 SRC_URI="http://botan.randombit.net/releases/${MY_P}.tgz"
 
 KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~ppc-macos"
-SLOT="0/2"
+SLOT="2/0"
 LICENSE="BSD"
 IUSE="bindist doc boost python bzip2 libressl lzma sqlite ssl static-libs zlib"
 
@@ -32,12 +32,9 @@ RDEPEND="bzip2? ( >=app-arch/bzip2-1.0.5 )
                libressl? ( dev-libs/libressl )
        )"
 DEPEND="${RDEPEND}
+       dev-lang/python:*
        doc? ( dev-python/sphinx )"
 
-PATCHES=(
-       "${FILESDIR}/${P}-build.patch"
-)
-
 pkg_pretend() {
        # Botan 1.11 requires -std=c++11
        if [[ ${MERGE_TYPE} != binary ]]; then
@@ -120,9 +117,5 @@ src_install() {
                rm "${ED}usr/$(get_libdir)/libbotan"*.a || die 'remove of static libs failed'
        fi
 
-       # Add compatibility symlinks.
-       [[ -e "${ED}usr/$(get_libdir)/pkgconfig/botan.pc" ]] && die "Compatibility code no longer needed"
-       dosym botan-2.pc /usr/$(get_libdir)/pkgconfig/botan.pc
-
        use python && python_foreach_impl python_optimize
 }
diff --git a/dev-libs/botan/files/botan-2.0.0-build.patch b/dev-libs/botan/files/botan-2.0.0-build.patch
deleted file mode 100644 (file)
index 534be31..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-From 0d8cbe137261b4f841a05eec5dd5659c8f510de0 Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Mon, 9 Jan 2017 20:59:28 +0200
-Subject: [PATCH] build: pkg-config: fix include directory
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
----
- src/build-data/botan.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/build-data/botan.pc.in b/src/build-data/botan.pc.in
-index 85943ab..753b8cd 100644
---- a/src/build-data/botan.pc.in
-+++ b/src/build-data/botan.pc.in
-@@ -1,7 +1,7 @@
- prefix=%{prefix}
- exec_prefix=${prefix}
- libdir=${prefix}/%{libdir}
--includedir=${prefix}/include/botan-%{version_major}
-+includedir=${prefix}/include/botan-%{version_major}.%{version_minor}
- Name: Botan
- Description: Crypto and TLS for C++11
--- 
-2.10.2
-
index 79e55bdff436fcf1df6fdbdabb33e73a7d7f09a1..2ca55344e897ddfd329a398a933657a1d0ab2234 100644 (file)
@@ -17,4 +17,7 @@
        <use>
                <flag name="boost">use <pkg>dev-libs/boost</pkg></flag>
        </use>
+       <slots>
+               <subslots>botan soname version</subslots>
+       </slots>
 </pkgmetadata>