blob: cf7cf74c2ba505d3f3fae47afe678c1d4a9af23c (
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
|
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PATCHSET_VER="3"
inherit autotools java-pkg-opt-2
DESCRIPTION="XSB is a logic programming and deductive database system"
HOMEPAGE="http://xsb.sourceforge.net"
SRC_URI="mirror://sourceforge/xsb/XSB-$(ver_rs 1-3 -).tar.gz
https://dev.gentoo.org/~keri/distfiles/xsb/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="curl debug iodbc java mariadb mysql odbc pcre threads xml"
RDEPEND="curl? ( net-misc/curl )
iodbc? ( dev-db/libiodbc )
java? ( >=virtual/jdk-1.8:* )
mariadb? ( dev-db/mariadb-connector-c:= )
mysql? ( dev-db/mysql-connector-c:0= )
odbc? ( dev-db/unixODBC )
pcre? ( dev-libs/libpcre )
xml? ( dev-libs/libxml2 )"
DEPEND="${RDEPEND}"
S="${WORKDIR}"/XSB
PATCHES=( "${WORKDIR}/${PV}" )
src_prepare() {
default
cd "${S}"/build
eautoconf
if use mariadb ; then
sed -i \
-e "s:mysqlclient:mariadb:" \
-e "s:mysql_config:mariadb_config:" \
"${S}"/packages/dbdrivers/mysql/configure \
"${S}"/packages/dbdrivers/mysql/mysql_driver_config.P
fi
find "${S}"/packages -name Installation_summary \
| xargs rm -f || die
}
src_configure() {
cd "${S}"/build
econf \
--prefix=/usr/$(get_libdir) \
--disable-optimization \
--disable-ccmpl \
--without-smodels \
$(use_with odbc) \
$(use_with iodbc) \
$(use_enable threads mt) \
$(use_enable debug)
if use curl ; then
cd "${S}"/packages/curl
econf
fi
if use mysql || use mariadb ; then
local impl=$(usex mariadb mariadb mysql)
cd "${S}"/packages/dbdrivers/mysql
econf \
--with-mysql-incdir=/usr/include/${impl}
fi
if use odbc ; then
cd "${S}"/packages/dbdrivers/odbc
econf
fi
if use pcre ; then
cd "${S}"/packages/pcre
econf
fi
if use xml ; then
cd "${S}"/packages/xpath
econf
fi
}
src_compile() {
cd "${S}"/build
default
# All XSB Packages are compiled using a single Prolog engine.
# Consequently they must all be compiled using a single make job.
cd "${S}"/packages
rm -f *.xwam
emake -j1
if use curl ; then
emake -j1 curl
emake -j1 sgml
if use xml ; then
emake -j1 xpath
fi
fi
if use mysql || use mariadb ; then
emake -j1 mysql
fi
if use odbc ; then
emake -j1 odbc
fi
if use pcre ; then
emake -j1 pcre
fi
}
src_install() {
cd "${S}"/build
default
local XSB_INSTALL_DIR=/usr/$(get_libdir)/xsb-${PV}
dosym ${XSB_INSTALL_DIR}/bin/xsb /usr/bin/xsb
cd "${S}"/packages
local PACKAGES=${XSB_INSTALL_DIR}/packages
insinto ${PACKAGES}
doins *.xwam
insinto ${PACKAGES}/chr
doins chr/*.xwam
insinto ${PACKAGES}/clpqr
doins clpqr/*.xwam
insinto ${PACKAGES}/gap
doins gap/*.xwam
insinto ${PACKAGES}/justify
doins justify/*.xwam
doins justify/*.H
insinto ${PACKAGES}/regmatch
doins regmatch/*.xwam
insinto ${PACKAGES}/regmatch/cc
doins regmatch/cc/*.H
insinto ${PACKAGES}/slx
doins slx/*.xwam
insinto ${PACKAGES}/wildmatch
doins wildmatch/*.xwam
insinto ${PACKAGES}/wildmatch/cc
doins wildmatch/cc/*.H
if use curl ; then
insinto ${PACKAGES}/curl
doins curl/*.xwam
insinto ${PACKAGES}/curl/cc
doins curl/cc/*.H
insinto ${PACKAGES}/sgml
doins sgml/*.xwam
insinto ${PACKAGES}/sgml/cc
doins sgml/cc/*.H
insinto ${PACKAGES}/sgml/cc/dtd
doins sgml/cc/dtd/*
if use xml ; then
insinto ${PACKAGES}/xpath
doins xpath/*xwam
insinto ${PACKAGES}/xpath/cc
doins xpath/cc/*.H
fi
fi
if use mysql || use mariadb || use odbc ; then
insinto ${PACKAGES}/dbdrivers
doins dbdrivers/*.xwam
doins dbdrivers/*.H
insinto ${PACKAGES}/dbdrivers/cc
doins dbdrivers/cc/*.H
if use mysql || use mariadb ; then
insinto ${PACKAGES}/dbdrivers/mysql
doins dbdrivers/mysql/*.xwam
insinto ${PACKAGES}/dbdrivers/mysql/cc
doins dbdrivers/mysql/cc/*.H
fi
if use odbc ; then
insinto ${PACKAGES}/dbdrivers/odbc
doins dbdrivers/odbc/*.xwam
insinto ${PACKAGES}/dbdrivers/odbc/cc
doins dbdrivers/odbc/cc/*.H
fi
fi
if use pcre ; then
insinto ${PACKAGES}/pcre
doins pcre/*.xwam
insinto ${PACKAGES}/pcre/cc
doins pcre/cc/*.H
fi
cd "${S}"
dodoc FAQ README
}
|