blob: e25b18970557094d934af0b4be36098409fd9c6d (
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
|
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/squeak-3.6_p3.ebuild,v 1.9 2007/07/22 08:43:03 graaff Exp $
inherit nsplugins libtool flag-o-matic eutils
MY_PV=${PV/_p/-}
DESCRIPTION="Highly-portable Smalltalk-80 implementation"
HOMEPAGE="http://www.squeak.org/"
SRC_URI="http://www-sor.inria.fr/~piumarta/squeak/unix/release/Squeak-${MY_PV}.src.tar.gz
mozilla? ( http://squeakland.org/installers/SqueakPlugin.image.zip )"
LICENSE="Apple"
SLOT="0"
KEYWORDS="~x86 ~ppc"
IUSE="X nas mmx mozilla"
# a ffi flag would be nice
DEPEND="nas? ( media-libs/nas )
X? ( x11-libs/libX11 x11-libs/libXext )"
RDEPEND="${DEPEND}
virtual/squeak-image"
DEPEND="${DEPEND}
app-arch/unzip"
S="${WORKDIR}/Squeak-${MY_PV}"
src_compile() {
local myconf=""
strip-flags
filter-mfpmath sse
filter-flags "-fPIC" "-maltivec" "-mabi=altivec" "-fstack-protector" "-pipe" "-g" "-mtune" "-march" "-mcpu" "-O" "-O1" "-O2" "-Os" "-O3" "-freorder-blocks" "-fprefetch-loop-array" "-fforce-addr"
use X || myconf="--without-x"
use mmx && myconf="${myconf} --enable-mpg-mmx"
use mozilla || myconf="${myconf} --without-npsqueak"
# use oss && myconf="${myconf} --with-audio=oss"
# use nas && myconf="${myconf} --with-audio=nas"
# fix tail problems
cd ${S}/platforms/unix/config
sed -i -e 's/tail -1/tail -n 1/g' mkconfig.in
sed -i -e 's/tail -1/tail -n 1/g' verstamp
chmod +x verstamp
cd ${S}
mkdir build
cd build
#CPPFLAGS: for nas
CPPFLAGS="-I/usr/X11R6/include" ../platforms/unix/config/configure \
--host=${CHOST} \
--prefix=/usr \
--infodir=/usr/share/info \
--mandir=/usr/share/man \
${myconf} || die "configure failed"
emake || die
}
src_install() {
cd ${S}/build
make ROOT=${D} docdir=/usr/share/doc/${PF} install || die
exeinto /usr/lib/squeak; doexe inisqueak
dosym /usr/lib/squeak/inisqueak /usr/bin/inisqueak
### the rest is all for the plugin
if use mozilla ; then
inst_plugin /usr/lib/squeak/${MY_PV}/npsqueak.so
dodoc nps/README.npsqueak
dohtml -a html,sts nps/test/*
# maybe we should install the image here..
insinto /usr/lib/squeak
newins ${WORKDIR}/SqueakPlugin.image npsqueak.image
fi
}
pkg_postinst() {
elog 'Run "inisqueak" to get a private copy of the VM image.'
}
|