]> Pileus Git - ~andy/sunrise/blob - dev-lang/xharbour/xharbour-1.0.0_beta1.ebuild
sunrise/ app-portage/elog-list/elog-list-0.0.6.ebuild: Update headers for 2010
[~andy/sunrise] / dev-lang / xharbour / xharbour-1.0.0_beta1.ebuild
1 # Copyright 1999-2010 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: $
4
5 inherit base toolchain-funcs
6
7 MY_P=${P/_/-}
8 DESCRIPTION="An extended implementation of the Clipper dialect of the xBase language family"
9 HOMEPAGE="http://www.xharbour.org/"
10 SRC_URI="mirror://sourceforge/${PN}/${MY_P}.src.tar.gz"
11
12 LICENSE="GPL-2-with-exceptions"
13 SLOT="0"
14 KEYWORDS="~amd64 ~x86"
15 IUSE="allegro doc gpm odbc slang threads X"
16
17 RDEPEND="sys-libs/ncurses
18         allegro? ( media-libs/allegro )
19         gpm? ( sys-libs/gpm )
20         odbc? ( dev-db/unixODBC )
21         slang? ( sys-libs/slang )
22         X? ( media-libs/freetype
23                  x11-libs/libX11
24                  x11-libs/libXext
25                  x11-libs/libXmu
26                  x11-libs/libXpm
27                  x11-libs/libXt )"
28 DEPEND="${RDEPEND}
29         sys-devel/bison"
30
31 S=${WORKDIR}/${MY_P}
32
33 PATCHES=(
34         "${FILESDIR}"/${PN}-as-needed.patch
35         "${FILESDIR}"/${PN}-fPIC.patch
36         "${FILESDIR}"/${PN}-mkinstdir.patch
37         "${FILESDIR}"/${PN}-override-cc.patch
38         "${FILESDIR}"/${PN}-parallel-make.patch
39         "${FILESDIR}"/${PN}-skip-static-utils.patch
40 )
41
42 src_compile() {
43         # xHarbour uses environment vars to configure the build
44         export \
45                 C_USR="${CFLAGS}" \
46                 L_USR="${LDFLAGS}" \
47                 HB_GTALLEG=$(useq allegro && echo yes) \
48                 HB_GPM_MOUSE=$(useq gpm && echo yes) \
49                 HB_WITHOUT_GTSLN=$(useq slang || echo yes) \
50                 HB_MT=$(useq threads && echo MT) \
51                 HB_WITHOUT_X11=$(useq X || echo yes) \
52                 HB_COMPILER="gcc" \
53                 HB_CMP="$(tc-getCC)" \
54                 HB_ARCHITECTURE="$(uname -s | sed -e 's/-//g;y/BDFHLNOPSUX/bdfhlnopsux/;s/.*bsd/bsd/')" \
55                 HB_GT_LIB="gtstd" \
56                 HB_MULTI_GT="yes" \
57                 HB_COMMERCE="no"
58         emake || die
59 }
60
61 src_test() {
62         emake -C utils/hbtest || die
63         utils/hbtest/*/*/hbtest
64         einfo "In general, the package works if 'Total calls passed' figure above"
65         einfo "is 90% or greater."
66 }
67
68 src_install() {
69         # xHarbour uses environment vars to configure the install
70         export _DEFAULT_BIN_DIR=/usr/bin
71         export _DEFAULT_INC_DIR=/usr/include/xharbour
72         export _DEFAULT_LIB_DIR=/usr/lib/xharbour
73         export HB_BIN_INSTALL="${D}"/usr/bin
74         export HB_INC_INSTALL="${D}"/usr/include/xharbour
75         export HB_LIB_INSTALL="${D}"/usr/lib/xharbour
76         emake install || die
77
78         insinto /etc/harbour
79         doins source/rtl/gtcrs/hb-charmap.def || die
80         cat > "${D}"/etc/harbour.cfg <<-EOF
81                 CC=$(tc-getCC)
82                 CFLAGS=-c -I${_DEFAULT_INC_DIR} ${CFLAGS}
83                 VERBOSE=YES
84                 DELTMP=YES
85         EOF
86
87         # build utils with shared libs
88         L_USR="${L_USR} -L${HB_LIB_INSTALL} -l${PN}"
89         export PRG_USR="\"-D_DEFAULT_INC_DIR='${_DEFAULT_INC_DIR}'\""
90         for utl in hbdict hbmake hbpp hbrun xbscript; do
91                 emake -C utils/${utl} install || die
92         done
93
94         dosym xbscript /usr/bin/pprun
95         dosym xbscript /usr/bin/xprompt
96
97         # remove unused files
98         rm -f "${HB_BIN_INSTALL}"/{hbdict*.hit,gharbour,harbour-link}
99
100         dodoc ChangeLog || die
101         if ! has nodoc ${FEATURES} && use doc; then
102                 dodoc doc/*.txt || die
103                 strip-linguas en es
104                 for LNG in ${LINGUAS}; do
105                         docinto "${LNG}"
106                         dodoc doc/${LNG}/*.txt || die
107                 done
108                 docinto ct
109                 dodoc doc/en/ct/*.txt || die
110         fi
111 }