dev-libs/libgcrypt: support cross-compile
[gentoo.git] / dev-libs / libgcrypt / libgcrypt-1.5.6-r101.ebuild
1 # Copyright 1999-2018 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=6
5
6 inherit autotools ltprune multilib-minimal
7
8 DESCRIPTION="General purpose crypto library based on the code used in GnuPG"
9 HOMEPAGE="http://www.gnupg.org/"
10 SRC_URI="mirror://gnupg/${PN}/${P}.tar.bz2"
11
12 LICENSE="LGPL-2.1 MIT"
13 SLOT="11/11" # subslot = soname major version
14 KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
15 IUSE=""
16
17 RDEPEND=">=dev-libs/libgpg-error-1.12[${MULTILIB_USEDEP}]
18         !dev-libs/libgcrypt:0/11"
19 DEPEND="${RDEPEND}"
20
21 PATCHES=(
22         "${FILESDIR}"/${PN}-1.5.0-uscore.patch
23         "${FILESDIR}"/${PN}-multilib-syspath.patch
24         "${FILESDIR}"/${PN}-1.5.4-clang-arm.patch
25 )
26
27 src_prepare() {
28         default
29         eautoreconf
30 }
31
32 multilib_src_configure() {
33         local myeconfargs=(
34                 --disable-padlock-support # bug 201917
35                 --disable-dependency-tracking
36                 --enable-noexecstack
37                 --disable-O-flag-munging
38
39                 # disabled due to various applications requiring privileges
40                 # after libgcrypt drops them (bug #468616)
41                 --without-capabilities
42
43                 # http://trac.videolan.org/vlc/ticket/620
44                 # causes bus-errors on sparc64-solaris
45                 $([[ ${CHOST} == *86*-darwin* ]] && echo "--disable-asm")
46                 $([[ ${CHOST} == sparcv9-*-solaris* ]] && echo "--disable-asm")
47         )
48         ECONF_SOURCE="${S}" econf "${myeconfargs[@]}"
49 }
50
51 multilib_src_install() {
52         emake DESTDIR="${D}" install
53
54         rm -r "${ED%/}"/usr/{bin,include,lib*/*.so,share} || die
55 }
56
57 multilib_src_install_all() {
58         default
59         prune_libtool_files
60 }