/[gentoo-x86]/dev-lang/squeak/squeak-3.4.1-r1.ebuild
Gentoo

Contents of /dev-lang/squeak/squeak-3.4.1-r1.ebuild

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.11 - (show annotations) (download)
Wed Aug 9 16:48:55 2006 UTC (13 years, 2 months ago) by araujo
Branch: MAIN
CVS Tags: HEAD
Changes since 1.10: +1 -1 lines
FILE REMOVED
Removing old package version.
(Portage version: 2.1.1_pre4-r4)
 (Signed Manifest commit)

1 # Copyright 1999-2006 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/squeak-3.4.1-r1.ebuild,v 1.10 2006/03/07 11:21:17 araujo Exp $
4
5 inherit libtool flag-o-matic eutils
6
7 #Simply change these numbers for different versions
8 MV=3.4
9 NV=${MV}-1
10 FV=${MV}.1
11
12 DESCRIPTION="Highly-portable Smalltalk-80 implementation"
13 HOMEPAGE="http://www.squeak.org/"
14 SRC_URI="ftp://st.cs.uiuc.edu/Smalltalk/Squeak/${MV}/unix-linux/Squeak-${NV}.src.tar.gz"
15 LICENSE="Apple"
16 SLOT="0"
17 KEYWORDS="~x86"
18 IUSE="X oss mmx mozilla"
19 # a ffi flag would be nice
20
21 DEPEND="X? ( || ( ( x11-libs/libX11
22 x11-libs/libXext )
23 virtual/x11 ) )"
24 RDEPEND="${DEPEND}
25 virtual/squeak-image"
26
27 S="${WORKDIR}/Squeak-${NV}"
28
29
30 src_unpack() {
31 unpack ${A}
32 cd ${S}
33 epatch ${FILESDIR}/${P}-gcc33-string-fix.patch
34 }
35
36 src_compile() {
37 local myconf=""
38
39 use X || myconf="--without-x"
40 use oss && myconf="${myconf} --with-audio=oss"
41 use mmx && myconf="${myconf} --enable-mpg-mmx"
42
43 strip-flags
44 filter-mfpmath sse
45 filter-flags "-fPIC" "-maltivec" "-mabi=altivec" "-fstack-protector" "-pipe" "-g" "-mtune" "-march" "-mcpu" "-O" "-O1" "-O2" "-Os" "-O3" "-freorder-blocks" "-fprefetch-loop-array"
46 cd ${S}
47 mkdir build
48 cd build
49 ../platforms/unix/config/configure \
50 --host=${CHOST} \
51 --prefix=/usr \
52 --infodir=/usr/share/info \
53 --mandir=/usr/share/man \
54 ${myconf} || die "configure failed"
55 mv Makefile Makefile.tmp.$$
56 cat Makefile.tmp.$$|sed \
57 's/$(prefix)\/doc\/squeak/$(prefix)\/share\/doc\/squeak-${FV}/g'\
58 > Makefile
59 rm -f Makefile.tmp.$$
60 emake || die
61 make npsqueak
62 # this is a bit paranoid, but we want to be sure it gets compiled now
63 cd nps
64 emake || die
65 }
66
67 src_install() {
68 cd ${S}/build
69
70 make DESTDIR=${D} ROOT=${D} install || die
71
72 exeinto /usr/bin
73 doexe inisqueak
74
75 ### the rest is all for the plugin
76
77 cd nps
78
79 # plugin sample, must be served to work, file:// doesnt work.
80
81 insinto /usr/share/doc/squeak-${FV}
82 doins test/plugintest.html
83 doins test/plugintest.sts
84
85 # fix the paths
86
87 SQ_DIR=/usr/lib/squeak
88 VM_VERSION=${NV}
89 NPSQUEAK_SO=${SQ_DIR}/${VM_VERSION}/npsqueak.so
90 sed "s|@SQ_DIR@|${SQ_DIR}|;s|@VM_VERSION@|${VM_VERSION}|;s|@NPSQUEAK_SO@|${NPSQUEAK_SO}|" \
91 npsqueakrun.in > npsqueakrun.in.2
92 sed "s|@SQ_DIR@|${SQ_DIR}|;s|@VM_VERSION@|${VM_VERSION}|;s|@NPSQUEAK_SO@|${NPSQUEAK_SO}|" \
93 npsqueakregister.in > npsqueakregister
94 sed 's|^ensurefile|ensurefile "${HOME}/.npsqueak/SqueakPlugin.changes" "${SQ_DIR}/npsqueak.changes"\nensurefile|' npsqueakrun.in.2 > npsqueakrun
95
96 exeinto /usr/lib/squeak
97 doexe npsqueakregister
98 exeinto /usr/lib/squeak/${NV}
99 doexe npsqueakrun
100
101
102 # install in browsers (no opera use flags?)
103
104 dodir /opt/netscape/plugins
105 dosym /usr/lib/squeak/${NV}/npsqueak.so /opt/netscape/plugins
106
107 if use mozilla ; then
108 dodir /usr/lib/mozilla/plugins
109 dosym /opt/netscape/plugins/npsqueak.so \
110 /usr/lib/mozilla/plugins/npsqueak.so
111 fi
112
113 # maybe we should install the image here..
114
115 # dosym /usr/lib/squeak/SqueakV3.sources /usr/lib/squeak/${NV}/SqueakV3.sources
116 # doins npsqueak.image
117 # doins npsqueak.changes
118 }
119
120 pkg_postinst() {
121 einfo 'Run "inisqueak" to get a private copy of the VM image.'
122 einfo ''
123 einfo 'To setup the browser plugin, create a working set named npsqueak.* in /usr/lib/squeak/<version>/'
124 }

  ViewVC Help
Powered by ViewVC 1.1.20