blob: a17a8fa16028f729a1fba7f7121006e046e97a69 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
DISTUTILS_OPTIONAL=1
inherit autotools distutils-r1 flag-o-matic ltprune qmake-utils toolchain-funcs
MY_PV="${PV//_/-}"
MY_P="${PN}-${MY_PV}"
DESCRIPTION="GnuPG Made Easy is a library for making GnuPG easier to use"
HOMEPAGE="http://www.gnupg.org/related_software/gpgme"
SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
LICENSE="GPL-2 LGPL-2.1"
SLOT="1/11" # subslot = soname major version
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="common-lisp static-libs cxx python qt5"
COMMON_DEPEND="app-crypt/gnupg
>=dev-libs/libassuan-2.0.2:=
>=dev-libs/libgpg-error-1.17:=
python? ( ${PYTHON_DEPS} )
qt5? ( dev-qt/qtcore:5 )"
#doc? ( app-doc/doxygen[dot] )
DEPEND="${COMMON_DEPEND}
python? ( dev-lang/swig )
qt5? ( dev-qt/qttest:5 )"
RDEPEND="${COMMON_DEPEND}
cxx? (
!<kde-apps/gpgmepp-4.14.11_pre20160611:4
!kde-apps/gpgmepp:5
!<kde-apps/kdepimlibs-4.14.10_p20160611:4
!=kde-apps/kdepimlibs-4.14.11_pre20160211*:4
)"
REQUIRED_USE="qt5? ( cxx ) python? ( ${PYTHON_REQUIRED_USE} )"
PATCHES=(
"${FILESDIR}/${P}-build.patch"
)
S="${WORKDIR}/${MY_P}"
do_python() {
if use python; then
pushd "lang/python" > /dev/null || die
top_builddir="../.." srcdir="." CPP=$(tc-getCPP) distutils-r1_src_${EBUILD_PHASE}
popd > /dev/null
fi
}
pkg_setup() {
addpredict /run/user/$(id -u)/gnupg
}
src_prepare() {
default
eautoreconf
# Socket name is too long if we use full beta name
# tests are failing
ln -s "${MY_P}" "${WORKDIR}/b"
S="${WORKDIR}/b"
}
src_configure() {
local languages=()
use common-lisp && languages+=( "cl" )
use cxx && languages+=( "cpp" )
if use qt5; then
languages+=( "qt" )
#use doc ||
export DOXYGEN=true
export MOC="$(qt5_get_bindir)/moc"
fi
if [[ ${CHOST} == *-darwin* ]] ; then
# FIXME: I don't know how to select on C++11 (libc++) here, but
# I do know all Darwin users are using C++11. This should also
# apply to GCC 4.7+ with libc++, and basically anyone targetting
# it.
# The C-standard doesn't define strdup, and C++11 drops it
# resulting in an implicit declaration of strdup error. Since
# it is in POSIX raise the feature set to that.
append-cxxflags -D_POSIX_C_SOURCE=200112L
# Work around bug 601834
use python && append-cflags -D_DARWIN_C_SOURCE
fi
econf \
--enable-languages="${languages[*]}" \
$(use_enable static-libs static)
use python && make -C lang/python prepare
do_python
}
src_compile() {
default
do_python
}
src_test() {
default
if use python; then
test_python() {
emake -C lang/python/tests check \
PYTHON=${EPYTHON} \
PYTHONS=${EPYTHON} \
TESTFLAGS="--python-libdir=${BUILD_DIR}/lib"
}
python_foreach_impl test_python
fi
}
src_install() {
default
do_python
prune_libtool_files
# backward compatibility for gentoo
# in the past we had slots
dodir /usr/include/gpgme
dosym ../gpgme.h /usr/include/gpgme/gpgme.h
}
|