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