dev-lang/xsb: Revbumps for EAPI and dependencies
[gentoo.git] / dev-lang / xsb / xsb-3.6.0.ebuild
1 # Copyright 1999-2017 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=5
5
6 MY_P="XSB${PV//./}"
7
8 PATCHSET_VER="4"
9
10 inherit eutils autotools java-pkg-opt-2
11
12 DESCRIPTION="XSB is a logic programming and deductive database system"
13 HOMEPAGE="http://xsb.sourceforge.net"
14 SRC_URI="http://xsb.sourceforge.net/downloads/${MY_P}.tar.gz
15         mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
16
17 LICENSE="GPL-2 LGPL-2"
18 SLOT="0"
19 KEYWORDS="amd64 x86"
20 IUSE="curl debug iodbc java mysql odbc pcre threads xml"
21
22 RDEPEND="curl? ( net-misc/curl )
23         iodbc? ( dev-db/libiodbc )
24         java? ( >=virtual/jdk-1.4:= )
25         mysql? ( virtual/mysql )
26         odbc? ( dev-db/unixODBC )
27         pcre? ( dev-libs/libpcre )
28         xml? ( dev-libs/libxml2 )"
29
30 DEPEND="${RDEPEND}"
31
32 S="${WORKDIR}"/XSB
33
34 src_prepare() {
35         EPATCH_FORCE=yes
36         EPATCH_SUFFIX=patch
37         epatch "${WORKDIR}"/${PV}
38
39         cd "${S}"/build
40         eautoconf
41 }
42
43 src_configure() {
44         cd "${S}"/build
45
46         econf \
47                 --prefix=/usr/$(get_libdir) \
48                 --disable-optimization \
49                 --without-smodels \
50                 $(use_with odbc) \
51                 $(use_with iodbc) \
52                 $(use_enable threads mt) \
53                 $(use_enable debug)
54
55         if use curl ; then
56                 cd "${S}"/packages/curl
57                 econf
58         fi
59
60         if use mysql ; then
61                 cd "${S}"/packages/dbdrivers/mysql
62                 econf
63         fi
64
65         if use odbc ; then
66                 cd "${S}"/packages/dbdrivers/odbc
67                 econf
68         fi
69
70         if use pcre ; then
71                 cd "${S}"/packages/pcre
72                 econf
73         fi
74
75         if use xml ; then
76                 cd "${S}"/packages/xpath
77                 econf
78         fi
79 }
80
81 src_compile() {
82         cd "${S}"/build
83
84         emake || die "emake failed"
85
86         # All XSB Packages are compiled using a single Prolog engine.
87         # Consequently they must all be compiled using a single make job.
88
89         cd "${S}"/packages
90         rm -f *.xwam
91         emake -j1 || die "emake packages failed"
92
93         if use curl ; then
94                 emake -j1 curl || die "emake curl package failed"
95                 emake -j1 sgml || die "emake sgml package failed"
96                 if use xml ; then
97                         emake -j1 xpath || die "emake xpath package failed"
98                 fi
99         fi
100
101         if use mysql ; then
102                 emake -j1 mysql || die "emake mysql package failed"
103         fi
104
105         if use odbc ; then
106                 emake -j1 odbc || die "emake odbc package failed"
107         fi
108
109         if use pcre ; then
110                 emake -j1 pcre || die "emake pcre package failed"
111         fi
112 }
113
114 src_install() {
115         cd "${S}"/build
116         emake DESTDIR="${D}" install || die "make install failed"
117
118         local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV}
119         dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb || die
120
121         cd "${S}"/packages
122         local PACKAGES=${XSB_INSTALL_DIR}/packages
123         insinto ${PACKAGES}
124         doins *.xwam || die
125
126         insinto ${PACKAGES}/chr
127         doins chr/*.xwam || die
128
129         insinto ${PACKAGES}/clpqr
130         doins clpqr/*.xwam || die
131
132         insinto ${PACKAGES}/gap
133         doins gap/*.xwam || die
134
135         insinto ${PACKAGES}/justify
136         doins justify/*.xwam || die
137         doins justify/*.H || die
138
139         insinto ${PACKAGES}/regmatch
140         doins regmatch/*.xwam || die
141         insinto ${PACKAGES}/regmatch/cc
142         doins regmatch/cc/*.H || die
143
144         insinto ${PACKAGES}/slx
145         doins slx/*.xwam || die
146
147         insinto ${PACKAGES}/wildmatch
148         doins wildmatch/*.xwam || die
149         insinto ${PACKAGES}/wildmatch/cc
150         doins wildmatch/cc/*.H || die
151
152         if use curl ; then
153                 insinto ${PACKAGES}/curl
154                 doins curl/*.xwam || die
155                 insinto ${PACKAGES}/curl/cc
156                 doins curl/cc/*.H || die
157                 insinto ${PACKAGES}/sgml
158                 doins sgml/*.xwam || die
159                 insinto ${PACKAGES}/sgml/cc
160                 doins sgml/cc/*.H || die
161                 insinto ${PACKAGES}/sgml/cc/dtd
162                 doins sgml/cc/dtd/* || die
163                 if use xml ; then
164                         insinto ${PACKAGES}/xpath
165                         doins xpath/*xwam || die
166                         insinto ${PACKAGES}/xpath/cc
167                         doins xpath/cc/*.H || die
168                 fi
169         fi
170
171         if use mysql || use odbc ; then
172                 insinto ${PACKAGES}/dbdrivers
173                 doins dbdrivers/*.xwam || die
174                 doins dbdrivers/*.H || die
175                 insinto ${PACKAGES}/dbdrivers/cc
176                 doins dbdrivers/cc/*.H || die
177                 if use mysql ; then
178                         insinto ${PACKAGES}/dbdrivers/mysql
179                         doins dbdrivers/mysql/*.xwam || die
180                         insinto ${PACKAGES}/dbdrivers/mysql/cc
181                         doins dbdrivers/mysql/cc/*.H || die
182                 fi
183                 if use odbc ; then
184                         insinto ${PACKAGES}/dbdrivers/odbc
185                         doins dbdrivers/odbc/*.xwam || die
186                         insinto ${PACKAGES}/dbdrivers/odbc/cc
187                         doins dbdrivers/odbc/cc/*.H || die
188                 fi
189         fi
190
191         if use pcre ; then
192                 insinto ${PACKAGES}/pcre
193                 doins pcre/*.xwam || die
194                 insinto ${PACKAGES}/pcre/cc
195                 doins pcre/cc/*.H || die
196         fi
197
198         cd "${S}"
199         dodoc FAQ README || die
200 }