blob: 3696711deea5acd2512510717907716e21881f3e (
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
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
inherit base toolchain-funcs
MY_P=${P/_/-}
DESCRIPTION="An extended implementation of the Clipper dialect of the xBase language family"
HOMEPAGE="http://www.xharbour.org/"
SRC_URI="mirror://sourceforge/${PN}/${MY_P}.src.tar.gz"
LICENSE="GPL-2-with-exceptions"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="allegro doc gpm odbc slang threads X"
RDEPEND="sys-libs/ncurses
allegro? ( media-libs/allegro )
gpm? ( sys-libs/gpm )
odbc? ( dev-db/unixODBC )
slang? ( sys-libs/slang )
X? ( media-libs/freetype
x11-libs/libX11
x11-libs/libXext
x11-libs/libXmu
x11-libs/libXpm
x11-libs/libXt )"
DEPEND="${RDEPEND}
sys-devel/bison"
S=${WORKDIR}/${MY_P}
PATCHES=(
"${FILESDIR}"/${PN}-as-needed.patch
"${FILESDIR}"/${PN}-fPIC.patch
"${FILESDIR}"/${PN}-mkinstdir.patch
"${FILESDIR}"/${PN}-override-cc.patch
"${FILESDIR}"/${PN}-parallel-make.patch
"${FILESDIR}"/${PN}-skip-static-utils.patch
)
src_compile() {
# xHarbour uses environment vars to configure the build
export \
C_USR="${CFLAGS}" \
L_USR="${LDFLAGS}" \
HB_GTALLEG=$(useq allegro && echo yes) \
HB_GPM_MOUSE=$(useq gpm && echo yes) \
HB_WITHOUT_GTSLN=$(useq slang || echo yes) \
HB_MT=$(useq threads && echo MT) \
HB_WITHOUT_X11=$(useq X || echo yes) \
HB_COMPILER="gcc" \
HB_CMP="$(tc-getCC)" \
HB_ARCHITECTURE="$(uname -s | sed -e 's/-//g;y/BDFHLNOPSUX/bdfhlnopsux/;s/.*bsd/bsd/')" \
HB_GT_LIB="gtstd" \
HB_MULTI_GT="yes" \
HB_COMMERCE="no"
emake || die
}
src_test() {
emake -C utils/hbtest || die
utils/hbtest/*/*/hbtest
einfo "In general, the package works if 'Total calls passed' figure above"
einfo "is 90% or greater."
}
src_install() {
# xHarbour uses environment vars to configure the install
export _DEFAULT_BIN_DIR=/usr/bin
export _DEFAULT_INC_DIR=/usr/include/xharbour
export _DEFAULT_LIB_DIR=/usr/lib/xharbour
export HB_BIN_INSTALL="${D}"/usr/bin
export HB_INC_INSTALL="${D}"/usr/include/xharbour
export HB_LIB_INSTALL="${D}"/usr/lib/xharbour
emake install || die
insinto /etc/harbour
doins source/rtl/gtcrs/hb-charmap.def || die
cat > "${D}"/etc/harbour.cfg <<-EOF
CC=$(tc-getCC)
CFLAGS=-c -I${_DEFAULT_INC_DIR} ${CFLAGS}
VERBOSE=YES
DELTMP=YES
EOF
# build utils with shared libs
L_USR="${L_USR} -L${HB_LIB_INSTALL} -l${PN}"
export PRG_USR="\"-D_DEFAULT_INC_DIR='${_DEFAULT_INC_DIR}'\""
for utl in hbdict hbmake hbpp hbrun xbscript; do
emake -C utils/${utl} install || die
done
dosym xbscript /usr/bin/pprun
dosym xbscript /usr/bin/xprompt
# remove unused files
rm -f "${HB_BIN_INSTALL}"/{hbdict*.hit,gharbour,harbour-link}
dodoc ChangeLog || die
if ! has nodoc ${FEATURES} && use doc; then
dodoc doc/*.txt || die
strip-linguas en es
for LNG in ${LINGUAS}; do
docinto "${LNG}"
dodoc doc/${LNG}/*.txt || die
done
docinto ct
dodoc doc/en/ct/*.txt || die
fi
}
|