diff options
author | Volker Stolz <vs@FreeBSD.org> | 2004-06-03 07:15:49 +0000 |
---|---|---|
committer | Volker Stolz <vs@FreeBSD.org> | 2004-06-03 07:15:49 +0000 |
commit | 4a3968acea5084f6d7d46110de7d48190c16fb76 (patch) | |
tree | 4c3a905306710af9ef36fbe3b7a1be579b3c58ba /lang/squeak | |
parent | add smc 3.0.0 (diff) |
Resurrect lang/squeak: Squeak3 is the latest stable version.
Resurrection suggested by: marcus
Notes
Notes:
svn path=/head/; revision=110728
Diffstat (limited to 'lang/squeak')
10 files changed, 300 insertions, 0 deletions
diff --git a/lang/squeak/Makefile b/lang/squeak/Makefile new file mode 100644 index 000000000000..383704d29abe --- /dev/null +++ b/lang/squeak/Makefile @@ -0,0 +1,176 @@ +# New ports collection makefile for: squeak +# Date created: 12 October 2001 +# Whom: roland.jesse@gmx.net +# +# $FreeBSD$ +# + +################################################## +PORTNAME= squeak +PORTVERSION= 3.6 +CATEGORIES= lang +VMVERSION= 3.6-3 +IMAGEVERSION= 3.6 +PATCHNUMBER= 5429 + +################################################## +MASTER_SITES= ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.6/ \ + ftp://st.cs.uiuc.edu/Smalltalk/Squeak/3.6/unix-linux/ \ + ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/Smalltalk/Squeak/3.6/ \ + ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/Smalltalk/Squeak/3.6/unix-linux/ \ + http://www-sor.inria.fr/~piumarta/squeak/unix/release/ \ + +DISTFILES= Squeak-${VMVERSION}.src.tar.gz \ + Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.zip \ + Squeak${IMAGEVERSION}-${PATCHNUMBER}-full.zip \ + SqueakV3.sources.gz + +DIST_SUBDIR= squeak +EXTRACT_ONLY= Squeak-${VMVERSION}.src.tar.gz + +################################################## +MAINTAINER= chris@chrisburkert.de +COMMENT= Full Smalltalk 80 with portability to UNIX, Mac, and Windows. + +################################################## +ONLY_FOR_ARCHS= i386 sparc64 +MAN1= inisqueak.1 squeak.1 +USE_XLIB= yes +USE_GMAKE= yes +USE_REINPLACE= yes +HAS_CONFIGURE= yes + +# Don't set USE_ZIP as this breaks EXTRACT_CMD. +BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip + +# shared Libaries are to be installed in: +LDCONFIG_DIRS= ${PREFIX}/share/squeak/${VMVERSION} + +FILES_TO_GZIP= Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.image \ + Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.changes \ + Squeak${IMAGEVERSION}-${PATCHNUMBER}-full.image \ + Squeak${IMAGEVERSION}-${PATCHNUMBER}-full.changes + +################################################## +# Configure and Build +WRKSRC= ${WRKDIR}/Squeak-${VMVERSION} +CONFIGURE_WRKSRC= ${WRKSRC}/build +BUILD_WRKSRC= ${CONFIGURE_WRKSRC} +INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} +CONFIGURE_SCRIPT= ../platforms/unix/config/configure +CONFIGURE_ARGS+= --libdir=${PREFIX}/share \ + --without-quartz +# don't pass "-s" to install to avoid trying to strip a shell script +CONFIGURE_ENV= + +################################################## +# Knobs +.if defined(WITH_RFB) && (${WITH_RFB}=="no") +CONFIGURE_ARGS+= --without-rfb +.endif + +.if defined(WITH_NPSQUEAK) && (${WITH_NPSQUEAK}=="no") +CONFIGURE_ARGS+= --without-npsqueak +PLIST_NPSQUEAK= "@comment feature not wanted - " +.else +PLIST_NPSQUEAK= +.endif + +.if defined(WITH_X) && (${WITH_X}=="no") +CONFIGURE_ARGS+= --without-x +PLIST_X= "@comment feature not wanted - " +.else +CONFIGURE_ARGS+= --with-x +PLIST_X= +.endif + +.if defined(WITH_MPG_MMX) && (${WITH_MPG_MMX}=="yes") +CONFIGURE_ARGS+= --enable-mpg-mmx +.endif + +.ifdef (CC) +MAKE_ARGS+= CC="${CC}" +.endif + +.ifdef (CFLAGS) +MAKE_ARGS+= CCFLAGS="${CFLAGS}" +.endif + +PLIST_SUB= IMAGEVERSION=${IMAGEVERSION}\ + PATCHNUMBER=${PATCHNUMBER}\ + VMVERSION=${VMVERSION}\ + PLIST_NPSQUEAK=${PLIST_NPSQUEAK}\ + PLIST_X=${PLIST_X} + +.include <bsd.port.pre.mk> + +################################################## +pre-everything:: + @${ECHO_MSG} " " + @${ECHO_MSG} " ------------------------- Please note: -------------------------" + @${ECHO_MSG} " " + @${ECHO_MSG} " Squeak has the following tunable options:" + @${ECHO_MSG} " " + @${ECHO_MSG} " WITH_MPG_MMX= [yes|no] MMX support (MPG plugin)" + @${ECHO_MSG} " ^^ (default: disabled)" + @${ECHO_MSG} " WITH_NPSQUEAK= [yes|no] browser plugin support" + @${ECHO_MSG} " ^^^ (default: enabled)" + @${ECHO_MSG} " WITH_RFB= [yes|no] remote frame buffer support" + @${ECHO_MSG} " ^^^ (default: enabled)" + @${ECHO_MSG} " WITH_X= [yes|no] X Windows support" + @${ECHO_MSG} " ^^^ (default: enabled)" + @${ECHO_MSG} " " + @${ECHO_MSG} " additional make arguments" + @${ECHO_MSG} " CC=<aString>" + @${ECHO_MSG} " CFLAGS=<aString>" + @${ECHO_MSG} " " + @${ECHO_MSG} " ------------------ Thanks for your attention! ------------------" + @${ECHO_MSG} " " + +################################################## +pre-configure: + @${MKDIR} ${CONFIGURE_WRKSRC} + @cd ${WRKSRC}/platforms/unix/npsqueak && \ + ${REINPLACE_CMD} -e 's|include|include -I${X11BASE}/include|g' Makefile + +################################################## +post-configure: + @${REINPLACE_CMD} -E \ + -e s'|^(prefix).*$$|\1=${PREFIX}|' \ + -e s'|^(docdir).*$$|\1=${DOCSDIR}|' \ + ${CONFIGURE_WRKSRC}/Makefile + +################################################## +post-install: + (cd ${DISTDIR}/${DIST_SUBDIR} && ${INSTALL_DATA} SqueakV3.sources.gz ${PREFIX}/share/squeak/) + (cd ${PREFIX}/share/squeak && ${EXTRACT_CMD} -d SqueakV3.sources.gz) + (cd ${DISTDIR}/${DIST_SUBDIR} && unzip -u Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.zip -d ${WRKDIR}) + (cd ${DISTDIR}/${DIST_SUBDIR} && unzip -u Squeak${IMAGEVERSION}-${PATCHNUMBER}-full.zip -d ${WRKDIR}) + (cd ${WRKDIR} && ${INSTALL_DATA} ReadMe.txt ${PREFIX}/share/squeak/) +.for file in ${FILES_TO_GZIP} + (cd ${WRKDIR} && ${GZIP_CMD} ${file} && ${INSTALL_DATA} ${file}.gz ${PREFIX}/share/squeak/) +.endfor + ${SED} -e 's|VERSION=3.5-5180|VERSION=${IMAGEVERSION}-${PATCHNUMBER}|' \ + -e 's|IMAGE=Squeak3.5-5180|IMAGE=Squeak${IMAGEVERSION}-${PATCHNUMBER}|' \ + -e 's|CHANGES=Squeak3.5-5180|CHANGES=Squeak${IMAGEVERSION}-${PATCHNUMBER}|' \ + ${WRKSRC}/build/inisqueak > ${WRKSRC}/build/inisqueak.tmp + ${INSTALL_SCRIPT} ${WRKSRC}/build/inisqueak.tmp ${PREFIX}/bin/inisqueak + ${CHMOD} 755 ${PREFIX}/bin/inisqueak + @${ECHO_MSG} " " + @${ECHO_MSG} " ------------------------- Please note: -------------------------" + @${ECHO_MSG} " " + @${ECHO_MSG} " In order to be able to make use of squeak you need to have an" + @${ECHO_MSG} " image and a changes file in your working directory as well" + @${ECHO_MSG} " as access to a source file. This is easy by using inisqueak." + @${ECHO_MSG} " Please see the inisqueak(1) manpage for details." + @${ECHO_MSG} " " + @${ECHO_MSG} " Make sure you have the following values in your environment" + @${ECHO_MSG} " variables:" + @${ECHO_MSG} " PATH: ${PREFIX}/bin" + @${ECHO_MSG} " LD_LIBRARY_PATH: ${PREFIX}/lib" + @${ECHO_MSG} " ${PREFIX}/share/squeak/${VMVERSION}" + @${ECHO_MSG} " " + @${ECHO_MSG} " ------------------ Thanks for your attention! ------------------" + @${ECHO_MSG} " " + +.include <bsd.port.post.mk> diff --git a/lang/squeak/distinfo b/lang/squeak/distinfo new file mode 100644 index 000000000000..addd5ae5208c --- /dev/null +++ b/lang/squeak/distinfo @@ -0,0 +1,8 @@ +MD5 (squeak/Squeak-3.6-3.src.tar.gz) = cb8ab95fa9d840f5b04868f99600e018 +SIZE (squeak/Squeak-3.6-3.src.tar.gz) = 2552981 +MD5 (squeak/Squeak3.6-5429-basic.zip) = 0269db8b85b1042825f689da8bb0f583 +SIZE (squeak/Squeak3.6-5429-basic.zip) = 5667283 +MD5 (squeak/Squeak3.6-5429-full.zip) = 9a35fa39f2338d26a721564472d4d933 +SIZE (squeak/Squeak3.6-5429-full.zip) = 7837139 +MD5 (squeak/SqueakV3.sources.gz) = 7dc6b3840e6bc1e5f81e3717fb46d2c3 +SIZE (squeak/SqueakV3.sources.gz) = 3476504 diff --git a/lang/squeak/files/patch-platforms::Cross::plugins::DropPlugin::DropPlugin.h b/lang/squeak/files/patch-platforms::Cross::plugins::DropPlugin::DropPlugin.h new file mode 100644 index 000000000000..ac04be2c3c10 --- /dev/null +++ b/lang/squeak/files/patch-platforms::Cross::plugins::DropPlugin::DropPlugin.h @@ -0,0 +1,7 @@ +--- platforms/Cross/plugins/DropPlugin/DropPlugin.h.orig Thu May 13 16:07:09 2004 ++++ platforms/Cross/plugins/DropPlugin/DropPlugin.h Thu May 13 16:05:52 2004 +@@ -10,3 +10,4 @@ + int sqSecFileAccessCallback(void *); + void sqSetNumberOfDropFiles(int numberOfFiles); + void sqSetFileInformation(int dropIndex, void *dropFile); ++ diff --git a/lang/squeak/files/patch-platforms::Cross::plugins::JPEGReadWriter2Plugin::JPEGReadWriter2Plugin.h b/lang/squeak/files/patch-platforms::Cross::plugins::JPEGReadWriter2Plugin::JPEGReadWriter2Plugin.h new file mode 100644 index 000000000000..d1f69cfbbd48 --- /dev/null +++ b/lang/squeak/files/patch-platforms::Cross::plugins::JPEGReadWriter2Plugin::JPEGReadWriter2Plugin.h @@ -0,0 +1,10 @@ +--- platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h.orig Thu May 13 16:09:52 2004 ++++ platforms/Cross/plugins/JPEGReadWriter2Plugin/JPEGReadWriter2Plugin.h Thu May 13 16:10:08 2004 +@@ -14,4 +14,5 @@ + void error_exit (j_common_ptr cinfo); + GLOBAL(void) jpeg_mem_src (j_decompress_ptr cinfo, char * pSourceData, unsigned sourceDataSize); + GLOBAL(int) jpeg_mem_src_newLocationOfData (j_decompress_ptr cinfo, char * pSourceData, unsigned sourceDataSize); +-GLOBAL(void) jpeg_mem_dest (j_compress_ptr cinfo, char * pDestination, unsigned *pDestinationSize); +\ No newline at end of file ++GLOBAL(void) jpeg_mem_dest (j_compress_ptr cinfo, char * pDestination, unsigned *pDestinationSize); ++ diff --git a/lang/squeak/files/patch-platforms::Cross::plugins::JPEGReadWriter2Plugin::jmemdatasrc.c b/lang/squeak/files/patch-platforms::Cross::plugins::JPEGReadWriter2Plugin::jmemdatasrc.c new file mode 100644 index 000000000000..a20e88f8d371 --- /dev/null +++ b/lang/squeak/files/patch-platforms::Cross::plugins::JPEGReadWriter2Plugin::jmemdatasrc.c @@ -0,0 +1,10 @@ +--- platforms/Cross/plugins/JPEGReadWriter2Plugin/jmemdatasrc.c.orig Thu May 13 16:25:49 2004 ++++ platforms/Cross/plugins/JPEGReadWriter2Plugin/jmemdatasrc.c Thu May 13 16:25:58 2004 +@@ -198,4 +198,5 @@ + src->actualPos = pSourceData + offset; + + return((src->actualPos + src->bytesLeft) == (pSourceData + sourceDataSize)); +-} +\ No newline at end of file ++} ++ diff --git a/lang/squeak/files/patch-platforms::unix::config::configure b/lang/squeak/files/patch-platforms::unix::config::configure new file mode 100644 index 000000000000..38f45aa494ec --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::config::configure @@ -0,0 +1,10 @@ +--- platforms/unix/config/configure.orig Mon May 10 10:54:48 2004 ++++ platforms/unix/config/configure Mon May 10 10:54:15 2004 +@@ -23526,6 +23526,7 @@ + cat >>conftest.$ac_ext <<_ACEOF + /* end confdefs.h. */ + #include <sys/soundcard.h> ++#define OPEN_SOUND_SYSTEM + int + main () + { diff --git a/lang/squeak/files/patch-platforms::unix::plugins::PseudoTTYPlugin::openpty.h b/lang/squeak/files/patch-platforms::unix::plugins::PseudoTTYPlugin::openpty.h new file mode 100644 index 000000000000..36dd49bcd97b --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::plugins::PseudoTTYPlugin::openpty.h @@ -0,0 +1,14 @@ +--- platforms/unix/plugins/PseudoTTYPlugin/openpty.h.orig Tue Jan 14 16:02:55 2003 ++++ platforms/unix/plugins/PseudoTTYPlugin/openpty.h Tue Jan 14 16:03:09 2003 +@@ -45,7 +45,10 @@ + # elif defined(HAVE_LIBUTIL_H) + # include <libutil.h> /* openpty() on FreeBSD */ + # else +-# error: cannot find headers for openpty() ++# include <sys/types.h> ++# include <sys/ioctl.h> ++# include <termios.h> ++# include <libutil.h> + # endif + + #else /* !HAVE_OPENPTY */ diff --git a/lang/squeak/files/patch-platforms::unix::vm-sound-OSS::acinclude.m4 b/lang/squeak/files/patch-platforms::unix::vm-sound-OSS::acinclude.m4 new file mode 100644 index 000000000000..3fb9e7e023a1 --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::vm-sound-OSS::acinclude.m4 @@ -0,0 +1,11 @@ +--- platforms/unix/vm-sound-OSS/acinclude.m4.orig Mon May 10 10:18:03 2004 ++++ platforms/unix/vm-sound-OSS/acinclude.m4 Mon May 10 10:18:22 2004 +@@ -1,7 +1,7 @@ + # -*- sh -*- + + AC_MSG_CHECKING([for Open Sound System]) +-AC_TRY_COMPILE([#include <sys/soundcard.h>],[OPEN_SOUND_SYSTEM;],[ ++AC_TRY_COMPILE([#include <sys/soundcard.h>],[EV_SEQ_LOCAL;],[ + AC_MSG_RESULT(yes) + ],[ + AC_MSG_RESULT(no) diff --git a/lang/squeak/pkg-descr b/lang/squeak/pkg-descr new file mode 100644 index 000000000000..c451fd6794a0 --- /dev/null +++ b/lang/squeak/pkg-descr @@ -0,0 +1,24 @@ +Squeak is an open, highly-portable Smalltalk-80 implementation whose +virtual machine is written entirely in Smalltalk, making it easy to +debug, analyze, and change; it includes among other things: + * a rapid-turn-around Smalltalk-80 compiler, + * a caching-JIT run-time virtual machine (with full source in + Smalltalk), + * large class libraries with portable data and GUI models, and + * an integrated development environment with powerful coding + tools and GUI construction tools. + +Squeak was developed at Apple Labs, Walt Disney and has been ported +to a variety of computers (including most flavors of UNIX and Windows). +Compared to other Smalltalk systems, Squeak has 4 important features: + * Portability (to Mac, Windows, WinCE, and many flavors of UNIX); + * Speed (it uses native C for compute-intensive code); + * Price (free, including all source code and the right to distribute + applications!); and + * Sophistication (full Smalltalk-80 language, libraries, and tools). + +Squeak comes under an open source license, meaning that you can +download and use it for free. + +WWW: http://www.squeak.org/ (Squeak project) + http://www-sor.inria.fr/~piumarta/squeak/ (Unix Squeak) diff --git a/lang/squeak/pkg-plist b/lang/squeak/pkg-plist new file mode 100644 index 000000000000..2fdad1a395c0 --- /dev/null +++ b/lang/squeak/pkg-plist @@ -0,0 +1,30 @@ +bin/inisqueak +bin/squeak +%%DOCSDIR%%/COPYING.gz +%%DOCSDIR%%/COPYRIGHT.gz +%%DOCSDIR%%/LICENSE.gz +%%DOCSDIR%%/README.Contributing.gz +%%DOCSDIR%%/README.Keyboard.gz +%%DOCSDIR%%/README.Sound.gz +share/nls/POSIX +share/nls/en_US.US-ASCII +%%PLIST_X%%share/squeak/%%VMVERSION%%/B3DAcceleratorPlugin +share/squeak/%%VMVERSION%%/UnixOSProcessPlugin +%%PLIST_X%%share/squeak/%%VMVERSION%%/XDisplayControlPlugin +%%PLIST_NPSQUEAK%%share/squeak/%%VMVERSION%%/npsqueak.so +%%PLIST_NPSQUEAK%%share/squeak/%%VMVERSION%%/npsqueakrun +share/squeak/%%VMVERSION%%/squeak +%%PLIST_X%%share/squeak/%%VMVERSION%%/vm-display-X11 +share/squeak/%%VMVERSION%%/vm-display-null +share/squeak/%%VMVERSION%%/vm-sound-OSS +share/squeak/%%VMVERSION%%/vm-sound-null +share/squeak/ReadMe.txt +share/squeak/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-basic.changes.gz +share/squeak/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-basic.image.gz +share/squeak/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.changes.gz +share/squeak/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.image.gz +share/squeak/SqueakV3.sources +%%PLIST_NPSQUEAK%%share/squeak/npsqueakregister +@dirrm share/squeak/%%VMVERSION%% +@dirrm share/squeak +@dirrm %%DOCSDIR%% |