blob: 3e0ff7f021461ebf46b7ea7c4d9c6e9b21b00c9a (
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
|
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/mercury-extras/mercury-extras-0.13.0.ebuild,v 1.8 2006/10/23 00:18:26 keri Exp $
inherit eutils
DESCRIPTION="Additional libraries and tools that are not part of the Mercury standard library"
HOMEPAGE="http://www.cs.mu.oz.au/research/mercury/index.html"
SRC_URI="ftp://ftp.mercury.cs.mu.oz.au/pub/mercury/mercury-extras-0.13.0.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~ppc ~sparc ~x86"
IUSE="doc glut iodbc ncurses odbc opengl tcl tk xml"
DEPEND="~dev-lang/mercury-${PV}
glut? ( virtual/glut )
odbc? ( dev-db/unixODBC )
iodbc? ( !odbc? ( dev-db/libiodbc ) )
ncurses? ( sys-libs/ncurses )
opengl? ( virtual/opengl )
tcl? ( tk? (
=dev-lang/tcl-8.4*
=dev-lang/tk-8.4*
x11-libs/libX11
x11-libs/libXmu ) )"
src_unpack() {
unpack ${A}
cd "${S}"
epatch "${FILESDIR}"/${P}-concurrency.patch
epatch "${FILESDIR}"/${P}-dynamic_linking.patch
epatch "${FILESDIR}"/${P}-lex.patch
epatch "${FILESDIR}"/${P}-mercury_glut.patch
epatch "${FILESDIR}"/${P}-mercury_tcltk.patch
epatch "${FILESDIR}"/${P}-mercury_opengl.patch
epatch "${FILESDIR}"/${P}-odbc.patch
epatch "${FILESDIR}"/${P}-posix.patch
epatch "${FILESDIR}"/${P}-references.patch
epatch "${FILESDIR}"/${P}-trailed_update.patch
sed -i -e "s:curs:concurrency curs:" \
-e "s:posix:posix quickcheck:" \
-e "s:windows_installer_generator ::" Mmakefile
if built_with_use dev-lang/mercury minimal; then
sed -i -e "s:references::" Mmakefile
else
sed -i -e "s:xml:trailed_update xml:" Mmakefile
fi
use glut && sed -i -e "s: lex : graphics/mercury_glut lex :" Mmakefile
use tcl && use tk && sed -i -e "s: lex : graphics/mercury_tcltk lex :" Mmakefile
use opengl && sed -i -e "s: lex : graphics/mercury_opengl lex :" Mmakefile
if use odbc ; then
sed -i -e "s:moose:moose odbc:" Mmakefile
elif use iodbc ; then
sed -i -e "s:moose:moose odbc:" Mmakefile
sed -i -e "s:MODBC_DRIVER=MODBC_UNIX:MODBC_DRIVER=MODBC_IODBC:" odbc/Mmakefile
fi
! use ncurses && sed -i -e "s:curs curses::" Mmakefile
! use xml && sed -i -e "s:xml::" Mmakefile
}
src_compile() {
mmake depend || die "mmake depend failed"
mmake \
MMAKEFLAGS="${MAKEOPTS}" \
EXTRA_MLFLAGS=--no-strip \
|| die "mmake failed"
if use opengl && use tcl && use tk ; then
cd "${S}"/graphics/mercury_opengl
cp ../mercury_tcltk/mtcltk.m ./
mmake \
-f Mmakefile.mtogl depend \
|| die "mmake depend mtogl failed"
mmake \
MMAKEFLAGS="${MAKEOPTS}" \
-f Mmakefile.mtogl \
|| die "mmake mtogl failed"
fi
}
src_install() {
cd "${S}"
mmake \
INSTALL_PREFIX="${D}"/usr install \
|| die "mmake install failed"
if use opengl && use tcl && use tk ; then
cd "${S}"/graphics/mercury_opengl
mv Mmakefile Mmakefile.opengl
mv Mmakefile.mtogl Mmakefile
mmake \
INSTALL_PREFIX="${D}"/usr install \
|| die "mmake install mtogl failed"
fi
find "${D}"/usr/lib/mercury-${PV} -type l | xargs rm
cd "${S}"
if use doc ; then
docinto samples/complex_numbers
dodoc complex_numbers/samples/*.m
if use ncurses ; then
docinto samples/curs
dodoc curs/samples/*.m
docinto samples/curses
dodoc curses/sample/*.m
fi
docinto samples/dynamic_linking
dodoc dynamic_linking/hello.m
docinto samples/lex
dodoc lex/samples/*.m
docinto samples/moose
dodoc moose/samples/*.m moose/samples/*.moo
docinto samples/references
dodoc references/samples/*.m
fi
dodoc README
}
|