forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mozart-1.4.0-r2.ebuild
131 lines (109 loc) · 3.14 KB
/
mozart-1.4.0-r2.ebuild
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
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="2"
inherit elisp-common eutils
PATCHSET_VER="5"
MY_P="mozart-${PV}.20080704"
DESCRIPTION="Advanced development platform for intelligent, distributed applications"
HOMEPAGE="http://www.mozart-oz.org/"
SRC_URI="
http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-src.tar.gz
mirror://gentoo/${P}-gentoo-patchset-${PATCHSET_VER}.tar.gz
doc? ( http://www.mozart-oz.org/download/mozart-ftp/store/1.4.0-2008-07-02-tar/mozart-1.4.0.20080704-doc.tar.gz )"
SLOT="0"
LICENSE="Mozart"
KEYWORDS="-amd64 ppc -ppc64 x86"
IUSE="doc emacs examples gdbm static tcl threads tk"
RDEPEND="
dev-lang/perl
dev-libs/gmp
sys-libs/zlib
emacs? ( virtual/emacs )
gdbm? ( sys-libs/gdbm )
tcl? (
tk? (
dev-lang/tk:0
dev-lang/tcl:0
)
)"
DEPEND="${RDEPEND}
sys-devel/bison
sys-devel/flex"
SITEFILE=50${PN}-gentoo.el
S="${WORKDIR}"/${MY_P}
src_prepare() {
EPATCH_FORCE=yes
EPATCH_SUFFIX=patch
epatch "${WORKDIR}"/${PV}
}
src_configure() {
local myconf="\
--without-global-oz \
--enable-opt=none"
if use tcl && use tk ; then
myconf="${myconf} --enable-wish"
else
myconf="${myconf} --disable-wish"
fi
econf \
${myconf} \
--disable-doc \
--enable-contrib \
--disable-contrib-micq \
$(use_enable doc contrib-doc) \
$(use_enable gdbm contrib-gdbm) \
$(use_enable tk contrib-tk) \
$(use_enable emacs compile-elisp) \
$(use_enable static link-static) \
$(use_enable threads threaded)
}
src_compile() {
emake bootstrap || die "emake bootstrap failed"
}
src_test() {
# Mozart tests must be run single-threaded
cd "${S}"/share/test
emake -j1 boot-oztest || die "emake boot-oztest failed"
emake -j1 boot-check || die "emake boot-check failed"
}
src_install() {
emake \
PREFIX="${D}"/usr/lib/mozart \
ELISPDIR="${D}${SITELISP}/${PN}" \
install || die "emake install failed"
dosym /usr/lib/mozart/bin/convertTextPickle /usr/bin/convertTextPickle || die
dosym /usr/lib/mozart/bin/oldpickle2text /usr/bin/oldpickle2text || die
dosym /usr/lib/mozart/bin/ozc /usr/bin/ozc || die
dosym /usr/lib/mozart/bin/ozd /usr/bin/ozd || die
dosym /usr/lib/mozart/bin/ozengine /usr/bin/ozengine || die
dosym /usr/lib/mozart/bin/ozl /usr/bin/ozl || die
dosym /usr/lib/mozart/bin/ozplatform /usr/bin/ozplatform || die
dosym /usr/lib/mozart/bin/oztool /usr/bin/oztool || die
dosym /usr/lib/mozart/bin/pickle2text /usr/bin/pickle2text || die
dosym /usr/lib/mozart/bin/text2pickle /usr/bin/text2pickle || die
if use emacs; then
dosym /usr/lib/mozart/bin/oz /usr/bin/oz || die
elisp-site-file-install "${FILESDIR}/${SITEFILE}" \
|| die "elisp-site-file-install failed"
fi
if use doc ; then
dohtml -r "${WORKDIR}"/mozart/doc/* || die
fi
if use examples; then
cd "${S}"/share
insinto /usr/share/doc/${PF}/examples
doins -r examples/* || die
doins -r demo/* || die
rm -rf $(find "${D}"/usr/share/doc/${PF}/examples \
-name Makefile -o -name Makefile.in)
fi
cd "${S}"
dodoc README || die
}
pkg_postinst() {
use emacs && elisp-site-regen
}
pkg_postrm() {
use emacs && elisp-site-regen
}