forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
swi-prolog-7.2.3-r1.ebuild
135 lines (111 loc) · 3.1 KB
/
swi-prolog-7.2.3-r1.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
134
135
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
inherit eutils flag-o-matic java-pkg-opt-2 multilib
PATCHSET_VER="1"
DESCRIPTION="free, small, and standard compliant Prolog compiler"
HOMEPAGE="http://www.swi-prolog.org/"
SRC_URI="http://www.swi-prolog.org/download/stable/src/swipl-${PV}.tar.gz
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos"
IUSE="archive debug doc +gmp hardened java libressl minimal odbc +readline ssl static-libs test uuid zlib X"
RDEPEND="sys-libs/ncurses:=
archive? ( app-arch/libarchive )
zlib? ( sys-libs/zlib )
odbc? ( dev-db/unixODBC )
readline? ( sys-libs/readline:= )
gmp? ( dev-libs/gmp:0 )
ssl? (
!libressl? ( dev-libs/openssl:0 )
libressl? ( dev-libs/libressl )
)
java? ( >=virtual/jdk-1.5:= )
uuid? ( dev-libs/ossp-uuid )
X? (
virtual/jpeg:0
x11-libs/libX11
x11-libs/libXft
x11-libs/libXpm
x11-libs/libXt
x11-libs/libICE
x11-libs/libSM )"
DEPEND="${RDEPEND}
X? ( x11-proto/xproto )
java? ( test? ( =dev-java/junit-3.8* ) )"
S="${WORKDIR}/swipl-${PV}"
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
epatch "${WORKDIR}"/${PV}
if ! use uuid; then
mv packages/clib/uuid.pl packages/clib/uuid.pl.unused || die
fi
# OSX/Intel ld doesn't like an archive without table of contents
sed -i -e 's/-cru/-scru/' packages/nlp/libstemmer_c/Makefile.pl || die
}
src_configure() {
append-flags -fno-strict-aliasing
use ppc && append-flags -mno-altivec
use hardened && append-flags -fno-unit-at-a-time
use debug && append-flags -DO_DEBUG
# ARCH is used in the configure script to figure out host and target
# specific stuff
export ARCH=${CHOST}
export CC_FOR_BUILD=$(tc-getBUILD_CC)
cd "${S}"/src || die
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_enable gmp) \
$(use_enable readline) \
$(use_enable static-libs static) \
--enable-shared \
--enable-custom-flags COFLAGS="${CFLAGS}"
if ! use minimal ; then
local jpltestconf
if use java && use test ; then
jpltestconf="--with-junit=$(java-config --classpath junit)"
fi
cd "${S}/packages" || die
econf \
--libdir="${EPREFIX}"/usr/$(get_libdir) \
$(use_with archive) \
$(use_with java jpl) \
${jpltestconf} \
$(use_with odbc) \
$(use_with ssl) \
$(use_with X xpce) \
$(use_with zlib) \
COFLAGS='"${CFLAGS}"'
fi
}
src_compile() {
cd "${S}"/src || die
emake
if ! use minimal ; then
cd "${S}/packages" || die
emake
./report-failed || die "Cannot report failed packages"
fi
}
src_test() {
cd "${S}/src" || die
emake check
if ! use minimal ; then
cd "${S}/packages" || die
emake check
./report-failed || die "Cannot report failed packages"
fi
}
src_install() {
emake -C src DESTDIR="${D}" install
if ! use minimal ; then
emake -C packages DESTDIR="${D}" install
if use doc ; then
emake -C packages DESTDIR="${D}" html-install
fi
./packages/report-failed || die "Cannot report failed packages"
fi
dodoc ReleaseNotes/relnotes-5.10 INSTALL README VERSION
}