diff options
Diffstat (limited to 'dev-lang/squeak/squeak-3.4.1-r2.ebuild')
-rw-r--r-- | dev-lang/squeak/squeak-3.4.1-r2.ebuild | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/dev-lang/squeak/squeak-3.4.1-r2.ebuild b/dev-lang/squeak/squeak-3.4.1-r2.ebuild new file mode 100644 index 000000000000..9f9acd5a35b6 --- /dev/null +++ b/dev-lang/squeak/squeak-3.4.1-r2.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/squeak/squeak-3.4.1-r2.ebuild,v 1.1 2003/12/03 16:55:39 jhhudso Exp $ + +inherit libtool flag-o-matic eutils +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" + +#Simply change these numbers for different versions +MV=3.4 +NV=${MV}-1 +FV=${MV}.1 + +DESCRIPTION="Highly-portable Smalltalk-80 implementation" +HOMEPAGE="http://www.squeak.org/" +SRC_URI="ftp://st.cs.uiuc.edu/Smalltalk/Squeak/${MV}/unix-linux/Squeak-${NV}.src.tar.gz" +LICENSE="Apple" +SLOT="0" +KEYWORDS="~x86" +IUSE="X oss mmx mozilla" +# a ffi flag would be nice + +DEPEND="virtual/glibc + X? ( x11-base/xfree )" +RDEPEND="dev-lang/squeak-vm + virtual/glibc + X? ( x11-base/xfree )" + +S="${WORKDIR}/Squeak-${NV}" + + +src_unpack() { + unpack ${A} + cd ${S} + epatch ${FILESDIR}/${P}-gcc33-string-fix.patch +} + +src_compile() { + local myconf="" + + use X || myconf="--without-x" + use oss && myconf="${myconf} --with-audio=oss" + use mmx && myconf="${myconf} --enable-mpg-mmx" + + cd ${S} + mkdir build + cd build + ../platforms/unix/config/configure \ + --host=${CHOST} \ + --prefix=/usr \ + --infodir=/usr/share/info \ + --mandir=/usr/share/man \ + ${myconf} || die "configure failed" + mv Makefile Makefile.tmp.$$ + cat Makefile.tmp.$$|sed \ + 's/$(prefix)\/doc\/squeak/$(prefix)\/share\/doc\/squeak-${FV}/g'\ + > Makefile + rm -f Makefile.tmp.$$ + emake || die + make npsqueak + # this is a bit paranoid, but we want to be sure it gets compiled now + cd nps + emake || die +} + +src_install() { + cd ${S}/build + + make DESTDIR=${D} ROOT=${D} install || die + + exeinto /usr/bin + doexe inisqueak + + ### the rest is all for the plugin + + cd nps + + # plugin sample, must be served to work, file:// doesnt work. + + insinto /usr/share/doc/squeak-${FV} + doins test/plugintest.html + doins test/plugintest.sts + + # fix the paths + + SQ_DIR=/usr/lib/squeak + VM_VERSION=${NV} + NPSQUEAK_SO=${SQ_DIR}/${VM_VERSION}/npsqueak.so + sed "s|@SQ_DIR@|${SQ_DIR}|;s|@VM_VERSION@|${VM_VERSION}|;s|@NPSQUEAK_SO@|${NPSQUEAK_SO}|" \ + npsqueakrun.in > npsqueakrun.in.2 + sed "s|@SQ_DIR@|${SQ_DIR}|;s|@VM_VERSION@|${VM_VERSION}|;s|@NPSQUEAK_SO@|${NPSQUEAK_SO}|" \ + npsqueakregister.in > npsqueakregister + sed 's|^ensurefile|ensurefile "${HOME}/.npsqueak/SqueakPlugin.changes" "${SQ_DIR}/npsqueak.changes"\nensurefile|' npsqueakrun.in.2 > npsqueakrun + + exeinto /usr/lib/squeak + doexe npsqueakregister + exeinto /usr/lib/squeak/${NV} + doexe npsqueakrun + + + # install in browsers (no opera use flags?) + + dodir /opt/netscape/plugins + dosym /usr/lib/squeak/${NV}/npsqueak.so /opt/netscape/plugins + + if [ "`use mozilla`" ] ; then + dodir /usr/lib/mozilla/plugins + dosym /opt/netscape/plugins/npsqueak.so \ + /usr/lib/mozilla/plugins/npsqueak.so + fi + + # maybe we should install the image here.. + + # dosym /usr/lib/squeak/SqueakV3.sources /usr/lib/squeak/${NV}/SqueakV3.sources + # doins npsqueak.image + # doins npsqueak.changes +} + +pkg_postinst() { + einfo 'Run "inisqueak" to get a private copy of the VM image.' + einfo '' + einfo 'To setup the browser plugin, create a working set named npsqueak.* in /usr/lib/squeak/<version>/' +} |