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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (hide annotations) (download)
Tue Mar 7 11:21:17 2006 UTC (13 years, 8 months ago) by araujo
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +1 -1 lines
FILE REMOVED
Adding latest stable version of Squeak. Porting all of the ebuilds to modular X. Removing the first two unmaintained versions.
(Portage version: 2.1_pre5-r4)

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

  ViewVC Help
Powered by ViewVC 1.1.20