forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
gnatcoll-2016.ebuild
133 lines (119 loc) · 3.14 KB
/
gnatcoll-2016.ebuild
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
133
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit multilib multiprocessing autotools python-single-r1
MYP=${PN}-gpl-${PV}
DESCRIPTION="GNAT Component Collection"
HOMEPAGE="http://libre.adacore.com"
SRC_URI="http://mirrors.cdn.adacore.com/art/5739942ac7a447658d00e1e7
-> ${MYP}-src.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
IUSE="gmp gtk iconv postgresql pygobject projects readline +shared sqlite
static syslog"
RDEPEND="dev-lang/gnat-gpl
${PYTHON_DEPS}
gmp? ( dev-libs/gmp:* )
gtk? (
dev-ada/gtkada
dev-libs/atk
dev-libs/glib
x11-libs/cairo
x11-libs/gdk-pixbuf
x11-libs/gtk+:3
x11-libs/pango
)
pygobject? ( dev-python/pygobject:3[${PYTHON_USEDEP}] )
postgresql? ( dev-db/postgresql:* )
sqlite? ( dev-db/sqlite )
projects? (
dev-ada/gprbuild[static?,shared?]
)"
DEPEND="${RDEPEND}
dev-ada/gprbuild"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
pygobject? ( gtk )"
S="${WORKDIR}"/${MYP}-src
PATCHES=( "${FILESDIR}"/${P}-gentoo.patch )
pkg_setup() {
GCC=${ADA:-$(tc-getCC)}
GNATMAKE="${GCC/gcc/gnatmake}"
GNATCHOP="${GCC/gcc/gnatchop}"
if [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
eerror "You need a gcc compiler that provides the Ada Compiler:"
eerror "1) use gcc-config to select the right compiler or"
eerror "2) set ADA=gcc-4.9.4 in make.conf"
die "ada compiler not available"
fi
python-single-r1_pkg_setup
}
src_prepare() {
default
mv configure.{in,ac} || die
eautoreconf
}
src_configure() {
if use sqlite; then
myConf="--with-sqlite=$(get_libdir)"
else
myConf="--without-sqlite"
fi
if use gtk ; then
myConf="$myConf --with-gtk=3.0"
else
myConf="$myConf --with-gtk=no"
fi
econf \
GNATCHOP="${GNATCHOP}" \
GNATMAKE="${GNATMAKE}" \
--with-python \
$(use_with gmp) \
$(use_with iconv) \
$(use_with postgresql) \
$(use_enable projects) \
$(use_enable pygobject) \
$(use_enable readline gpl) \
$(use_enable readline) \
$(use_enable syslog) \
--with-python-exec=${EPYTHON} \
--enable-shared-python \
--disable-pygtk \
$myConf
}
src_compile() {
if use shared; then
emake PROCESSORS=$(makeopts_jobs) build_library_type/relocatable
fi
if use static; then
emake PROCESSORS=$(makeopts_jobs) build_library_type/static
fi
python_fix_shebang .
}
src_install() {
if use shared; then
emake DESTDIR="${D}" install_library_type/relocatable
fi
if use static; then
emake DESTDIR="${D}" install_library_type/static
fi
emake DESTDIR="${D}" install_gps_plugin
einstalldocs
dodoc -r features-* known-problems-*
mv "${D}"/usr/share/doc/${PN}/GNATColl.pdf "${D}"/usr/share/doc/${PF}/
mv "${D}"/usr/share/doc/${PN}/html/html "${D}"/usr/share/doc/${PF}/
mv "${D}"/usr/share/examples/${PN} "${D}"/usr/share/doc/${PF}/examples
rm -rf "${D}"/usr/share/doc/${PN}
rmdir "${D}"/usr/share/examples
docompress -x /usr/share/doc/${PF}/examples
}
src_test() {
# The test suite is in
# To run you need to have the ada compiler available as gcc
# Even in this case there are still some problem
# Going into the testsuite directory and running
# ./run.py -v -v
# run here (having enabled most USE flags)
true
}