aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIon-Mihai Tetcu <itetcu@FreeBSD.org>2007-01-07 22:55:23 +0000
committerIon-Mihai Tetcu <itetcu@FreeBSD.org>2007-01-07 22:55:23 +0000
commit2cd2718466d604ff5abbc52f39c9761178e3ea2e (patch)
treecc193cf8740de8c49a55571838d701e9959c6b60
parentc3c5d61f51c619e135c9566f8c96ba91625d4b5e (diff)
downloadports-2cd2718466d604ff5abbc52f39c9761178e3ea2e.tar.gz
ports-2cd2718466d604ff5abbc52f39c9761178e3ea2e.zip
Notes
-rw-r--r--lang/squeak-dev/Makefile53
-rw-r--r--lang/squeak-dev/distinfo24
-rw-r--r--lang/squeak-dev/files/patch-platforms::unix::npsqueak::npsqueakregister.in12
-rw-r--r--lang/squeak-dev/files/patch-platforms__unix__config__inisqueak.in23
-rw-r--r--lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueak.c20
-rw-r--r--lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueakrun.in38
-rw-r--r--lang/squeak-dev/pkg-plist6
-rw-r--r--lang/squeak/Makefile53
-rw-r--r--lang/squeak/distinfo24
-rw-r--r--lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in12
-rw-r--r--lang/squeak/files/patch-platforms__unix__config__inisqueak.in23
-rw-r--r--lang/squeak/files/patch-platforms__unix__npsqueak__npsqueak.c20
-rw-r--r--lang/squeak/files/patch-platforms__unix__npsqueak__npsqueakrun.in38
-rw-r--r--lang/squeak/pkg-plist6
14 files changed, 254 insertions, 98 deletions
diff --git a/lang/squeak-dev/Makefile b/lang/squeak-dev/Makefile
index 4d0f943bb309..206c66a92dff 100644
--- a/lang/squeak-dev/Makefile
+++ b/lang/squeak-dev/Makefile
@@ -6,15 +6,16 @@
#
PORTNAME= squeak
-PORTVERSION= 3.6
-PORTREVISION= 7
+PORTVERSION= 3.7
CATEGORIES= lang
##################################################
-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/ \
+MASTER_SITES= http://www.squeakvm.org/unix/release/ \
+ http://ftp.squeak.org/${PORTVERSION}/ \
+ http://ftp.squeak.org/${PORTVERSION}/unix-linux/ \
+ ftp://st.cs.uiuc.edu/Smalltalk/Squeak/${PORTVERSION}/ \
+ ftp://st.cs.uiuc.edu/Smalltalk/Squeak/${PORTVERSION}/unix-linux/ \
+ ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/Smalltalk/Squeak/${PORTVERSION}/ \
+ ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/Smalltalk/Squeak/${PORTVERSION}/unix-linux/ \
http://www.squeakland.org/installers/ \
http://www.squeakland.jp/plugin/installers/ \
http://squeak.610t.org/patches/
@@ -33,12 +34,12 @@ COMMENT= Full Smalltalk 80 with portability to UNIX, Mac, and Windows
# Don't set USE_ZIP as this breaks EXTRACT_CMD.
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
-LIB_DEPENDS= audio.2:${PORTSDIR}/audio/nas
+LIB_DEPENDS= audio:${PORTSDIR}/audio/nas
##################################################
-VMVERSION= 3.6-3
-IMAGEVERSION= 3.6
-PATCHNUMBER= 5429
+VMVERSION= 3.7-7
+IMAGEVERSION= 3.7
+PATCHNUMBER= 5989
##################################################
OPTIONS+= MPG_MMX "MMX support (MPG plugin)" off
@@ -51,7 +52,7 @@ OPTIONS+= XIM "XIM support (Implies X)" off
.include <bsd.port.pre.mk>
##################################################
-XIM_PATCH= SqueakImmX11Plugin2c.tar.gz
+XIM_PATCH= SqueakImmX11Plugin3a.tar.gz
PLUGIN_IMAGE= SqueakPlugin.zip
JAPANESE_PLUGIN_IMAGE= SqueakPlugin2005J.zip
@@ -101,6 +102,8 @@ PLIST_NPSQUEAK= "@comment feature not wanted - "
.else
WITH_NPSQUEAK= yes
PLIST_NPSQUEAK=
+FILES_TO_GZIP+= SqueakPlugin.image
+RUN_DEPENDS+= bash:${PORTSDIR}/shells/bash
.endif
.if defined(WITHOUT_X)
@@ -143,9 +146,8 @@ MAKE_ARGS+= CC="${CC}"
MAKE_ARGS+= CCFLAGS="${CFLAGS}"
.endif
-PKGMESSAGE= ${WRKDIR}/pkg-message
-PKGMESSAGE_SUB= PREFIX=${PREFIX} \
- VMVERSION=${VMVERSION}
+SUB_FILES= pkg-message
+SUB_LIST= VMVERSION=${VMVERSION}
PLIST_SUB= IMAGEVERSION=${IMAGEVERSION}\
PATCHNUMBER=${PATCHNUMBER}\
@@ -161,15 +163,17 @@ post-patch:
-e "s,%%LOCALBASE%%,${LOCALBASE},g" \
-e "s,%%X11BASE%%,${X11BASE},g" \
${WRKSRC}/platforms/unix/npsqueak/npsqueakregister.in \
+ ${WRKSRC}/platforms/unix/npsqueak/npsqueakrun.in \
${WRKSRC}/platforms/unix/npsqueak/Makefile
.if defined(WITH_XIM)
@cd ${WRKSRC} && \
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${XIM_PATCH} ${EXTRACT_AFTER_ARGS}
+# Skip first patch for plugins.ext because patch place has changed.
@cd ${WRKSRC} && \
- ${PATCH} -p0 < ImmX11.patch
+ ${PATCH} -S + -p0 < ImmX11.patch
.endif
# Fix external plugins
- @${ECHO_MSG} "EXTERNAL_PLUGINS = B3DAcceleratorPlugin UnixOSProcessPlugin XDisplayControlPlugin ${EXT_PLUGINS}" > ${WRKSRC}/src/plugins.ext
+ @${ECHO_MSG} "EXTERNAL_PLUGINS = B3DAcceleratorPlugin Squeak3D XDisplayControlPlugin ${EXT_PLUGINS}" > ${WRKSRC}/platforms/unix/src/plugins.ext
##################################################
pre-configure:
@@ -189,21 +193,14 @@ post-install:
(cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.zip -d ${WRKDIR})
(cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -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
.if defined(WITH_NPSQUEAK)
(cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u ${PLUGIN_IMAGE} -d ${WRKDIR})
- (cd ${WRKDIR} && ${INSTALL_DATA} SqueakPlugin.image ${PREFIX}/share/squeak/npsqueak.image)
.endif
- ${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
+.for file in ${FILES_TO_GZIP}
+ (cd ${WRKDIR} && ${GZIP_CMD} ${file} && ${INSTALL_DATA} ${file}.gz ${PREFIX}/share/squeak/)
+.endfor
+ ${INSTALL_SCRIPT} ${WRKSRC}/build/inisqueak ${PREFIX}/bin/inisqueak
${CHMOD} 755 ${PREFIX}/bin/inisqueak
- @${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
- < ${PKGDIR}/pkg-message > ${PKGMESSAGE}
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
diff --git a/lang/squeak-dev/distinfo b/lang/squeak-dev/distinfo
index c8b0fc7d5584..1db764b83dad 100644
--- a/lang/squeak-dev/distinfo
+++ b/lang/squeak-dev/distinfo
@@ -1,21 +1,21 @@
-MD5 (squeak/Squeak-3.6-3.src.tar.gz) = cb8ab95fa9d840f5b04868f99600e018
-SHA256 (squeak/Squeak-3.6-3.src.tar.gz) = 9d1f099ffce4d996748e868663e9d91b15ba72f3542cc6acd642a8393e1bb249
-SIZE (squeak/Squeak-3.6-3.src.tar.gz) = 2552981
-MD5 (squeak/Squeak3.6-5429-basic.zip) = 0269db8b85b1042825f689da8bb0f583
-SHA256 (squeak/Squeak3.6-5429-basic.zip) = e7df21fd96ac961fb711c41509536b805812873099150d61beacb795fa67f082
-SIZE (squeak/Squeak3.6-5429-basic.zip) = 5667283
-MD5 (squeak/Squeak3.6-5429-full.zip) = 9a35fa39f2338d26a721564472d4d933
-SHA256 (squeak/Squeak3.6-5429-full.zip) = 63a4e8458b2f58b69e351c1c4161db1a1deed860d9bde40cbb414257cbab4ea2
-SIZE (squeak/Squeak3.6-5429-full.zip) = 7837139
+MD5 (squeak/Squeak-3.7-7.src.tar.gz) = c6b051b745080516c550cab0db1882fc
+SHA256 (squeak/Squeak-3.7-7.src.tar.gz) = 9a41e3245c092115690c055297a9cb94caf1cb79b7faeeff8b923e0822f45234
+SIZE (squeak/Squeak-3.7-7.src.tar.gz) = 2383081
+MD5 (squeak/Squeak3.7-5989-basic.zip) = cf2e63554772ca2f137bb793e8dfadfb
+SHA256 (squeak/Squeak3.7-5989-basic.zip) = 9f009a6d61b2562a6e0f46032fde5957e459197ad3571a4b08eec3fa51f6b1fe
+SIZE (squeak/Squeak3.7-5989-basic.zip) = 9235390
+MD5 (squeak/Squeak3.7-5989-full.zip) = a289c0ff94caf95f93eff7d0759ffc65
+SHA256 (squeak/Squeak3.7-5989-full.zip) = ed5c49cda9be1b70b1fdfa18bdac96b676b0e1337a153f72380bf825cf85ab8e
+SIZE (squeak/Squeak3.7-5989-full.zip) = 12993350
MD5 (squeak/SqueakPlugin.zip) = 8a14a482fc0e601fc9c1e702ac52b760
SHA256 (squeak/SqueakPlugin.zip) = 9442d8f95166db4874800caa21b88551906d9ad66cb9391151d0d24e5022b488
SIZE (squeak/SqueakPlugin.zip) = 5732659
MD5 (squeak/SqueakV3.sources.gz) = 7dc6b3840e6bc1e5f81e3717fb46d2c3
SHA256 (squeak/SqueakV3.sources.gz) = 6d8262b61d5608de36eff5cb930ea8aa588b7402c0a963680b07ff664ba74d02
SIZE (squeak/SqueakV3.sources.gz) = 3476504
-MD5 (squeak/SqueakImmX11Plugin2c.tar.gz) = 178af6041a3f745185140d1a9629976c
-SHA256 (squeak/SqueakImmX11Plugin2c.tar.gz) = 98446e852319bd28c565cb1695b4ab616620260495c50f9c715214630ecdd1b9
-SIZE (squeak/SqueakImmX11Plugin2c.tar.gz) = 11570
+MD5 (squeak/SqueakImmX11Plugin3a.tar.gz) = 19f232d475bcce36a15be0f0fd726979
+SHA256 (squeak/SqueakImmX11Plugin3a.tar.gz) = 76858ebf5e45adc48cad2cee69312163ea0082b173325ef02e57dd826c6e3bdf
+SIZE (squeak/SqueakImmX11Plugin3a.tar.gz) = 11614
MD5 (squeak/SqueakPlugin2005J.zip) = 47dafa5fa4c9c60982227a6bf97419f8
SHA256 (squeak/SqueakPlugin2005J.zip) = a9b5bbc50742fea6172bb0ca99cef1244ce1f75ba46c20569316da3fbe909232
SIZE (squeak/SqueakPlugin2005J.zip) = 7921994
diff --git a/lang/squeak-dev/files/patch-platforms::unix::npsqueak::npsqueakregister.in b/lang/squeak-dev/files/patch-platforms::unix::npsqueak::npsqueakregister.in
index f2ecffdce476..a4ba55ad46d4 100644
--- a/lang/squeak-dev/files/patch-platforms::unix::npsqueak::npsqueakregister.in
+++ b/lang/squeak-dev/files/patch-platforms::unix::npsqueak::npsqueakregister.in
@@ -1,13 +1,13 @@
---- platforms/unix/npsqueak/npsqueakregister.in.orig Mon Jan 30 19:47:54 2006
-+++ platforms/unix/npsqueak/npsqueakregister.in Mon Jan 30 19:48:13 2006
+--- platforms/unix/npsqueak/npsqueakregister.in.orig Sun Mar 20 05:38:26 2005
++++ platforms/unix/npsqueak/npsqueakregister.in Fri Oct 6 21:02:25 2006
@@ -8,8 +8,8 @@
# Parameters: -u unregister
NPSQUEAK_SO=@NPSQUEAK_SO@
--BROWSERS="netscape mozilla opera"
--BROWSER_DIRS="/usr/local/lib /usr/lib"
+-BROWSERS="netscape mozilla mozilla-firefox opera MozillaFirefox/lib"
+-BROWSER_DIRS="/usr/local/lib /usr/lib /opt"
+BROWSERS="netscape mozilla firefox opera seamonkey"
-+BROWSER_DIRS="%%X11BASE%%/lib %%X11BASE%%/share %%LOCALBASE%%/lib /usr/lib"
++BROWSER_DIRS="%%X11BASE%%/lib %%X11BASE%%/share %%LOCALBASE%%/lib %%LOCALBASE%%/share /usr/lib"
+ SYSTEM_BROWSER_DIR="/usr/lib/browser-plugins"
ACTION=register
-
diff --git a/lang/squeak-dev/files/patch-platforms__unix__config__inisqueak.in b/lang/squeak-dev/files/patch-platforms__unix__config__inisqueak.in
new file mode 100644
index 000000000000..f756bee6026e
--- /dev/null
+++ b/lang/squeak-dev/files/patch-platforms__unix__config__inisqueak.in
@@ -0,0 +1,23 @@
+--- platforms/unix/config/inisqueak.in.org Mon Feb 6 15:10:05 2006
++++ platforms/unix/config/inisqueak.in Mon Feb 6 15:10:58 2006
+@@ -99,7 +99,7 @@
+ exit 1
+ }
+
+-if ${test} \( -f squeak.image \) -a \( -f squeak.changes \) -a \( -e ${SOURCES} \)
++if ${test} \( -f squeak.image \) -a \( -e ${SOURCES} \)
+ then
+ if ${startup}; then
+ if test ! -x ${SQUEAK}; then
+@@ -200,7 +200,10 @@
+
+ install "ln -s" "${imgdir}/${SOURCES}" " " "${SOURCES}"
+ install "gunzip -dc" "${imgdir}/${IMAGE}" ">" "squeak.image"
+-install "gunzip -dc" "${imgdir}/${CHANGES}" ">" "squeak.changes"
++# For SqueakPlugin.image which don't have changes file.
++if test -e "${imgdir}/${CHANGES}"; then
++ install "gunzip -dc" "${imgdir}/${CHANGES}" ">" "squeak.changes"
++fi
+
+ if ${startup}; then
+ if test ! -x ${SQUEAK}; then
diff --git a/lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueak.c b/lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueak.c
new file mode 100644
index 000000000000..20eddcbb168b
--- /dev/null
+++ b/lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueak.c
@@ -0,0 +1,20 @@
+--- platforms/unix/npsqueak/npsqueak.c.orig Sun Mar 20 05:38:26 2005
++++ platforms/unix/npsqueak/npsqueak.c Sat Oct 7 19:56:10 2006
+@@ -177,13 +177,16 @@
+ findFileInPaths(char* result, char *filename, int dirn, char *dirv[PATH_MAX]){
+ int i;
+ char path[PATH_MAX];
++ char gzipedpath[PATH_MAX];
+
+ for(i= 0; i < dirn; i++){
+ DPRINT("NP: search \"%s\" in \"%s\" \n",filename,dirv[i]);
+
+ strcpy(path, dirv[i]);
+ strcat(path, filename);
+- if (access(path, R_OK) == 0){
++ strcpy(gzipedpath, path);
++ strcat(gzipedpath, ".gz");
++ if (access(path, R_OK) == 0 || access(gzipedpath, R_OK) == 0){
+ DPRINT("NP: \"%s\" in \"%s\" found\n",filename,dirv[i]);
+ return strcpy(result, path);
+ }
diff --git a/lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueakrun.in b/lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueakrun.in
new file mode 100644
index 000000000000..0a6058b52ab4
--- /dev/null
+++ b/lang/squeak-dev/files/patch-platforms__unix__npsqueak__npsqueakrun.in
@@ -0,0 +1,38 @@
+--- platforms/unix/npsqueak/npsqueakrun.in.orig Sun Mar 20 05:38:26 2005
++++ platforms/unix/npsqueak/npsqueakrun.in Sun Jan 7 16:30:12 2007
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#! %%LOCALBASE%%/bin/bash
+
+ # File: npsqueakrun
+ # Author: Bert Freudenberg
+@@ -60,12 +60,24 @@
+ ensurefile()
+ {
+ if [ ! -e "${1}" ] ; then
+- if cp "${2}" "${1}" ; then
+- pdebug "Created ${1}"
++ if [ -e "${2}" ] ;then
++ if cp "${2}" "${1}" ; then
++ pdebug "Created ${1}"
++ else
++ perror "Could not create ${1}"
++ if [ ! -r "${2}" ] ; then
++ perror "because ${2} is missing"
++ fi
++ fi
+ else
+- perror "Could not create ${1}"
+- if [ ! -r "${2}" ] ; then
+- perror "because ${2} is missing"
++ if [ -e "${2}.gz" ] ; then
++ gunzip -c "${2}.gz" > "${1}"
++ pdebug "Created ${1} from ${2}.gz"
++ else
++ perror "Could not create ${1}"
++ if [ ! -r "${2}" ] ; then
++ perror "because ${2} is missing"
++ fi
+ fi
+ fi
+ fi
diff --git a/lang/squeak-dev/pkg-plist b/lang/squeak-dev/pkg-plist
index db6746c664dc..03866a82c0ac 100644
--- a/lang/squeak-dev/pkg-plist
+++ b/lang/squeak-dev/pkg-plist
@@ -7,13 +7,12 @@ bin/squeak
%%DOCSDIR%%/README.Keyboard.gz
%%DOCSDIR%%/README.Sound.gz
%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/B3DAcceleratorPlugin
-%%DATADIR%%/%%VMVERSION%%/UnixOSProcessPlugin
+%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/Squeak3D
%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/XDisplayControlPlugin
%%PLIST_XIM%%%%DATADIR%%/%%VMVERSION%%/ImmX11Plugin
%%PLIST_FFI%%%%DATADIR%%/%%VMVERSION%%/SqueakFFIPrims
-%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueak.image
%%PLIST_NPSQUEAK%%%%DATADIR%%/%%VMVERSION%%/npsqueak.so
-%%PLIST_NPSQUEAK%%%%DATADIR%%/%%VMVERSION%%/npsqueakrun
+%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueakrun
%%DATADIR%%/%%VMVERSION%%/squeak
%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/vm-display-X11
%%DATADIR%%/%%VMVERSION%%/vm-display-null
@@ -25,6 +24,7 @@ bin/squeak
%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-basic.image.gz
%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.changes.gz
%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.image.gz
+%%DATADIR%%/SqueakPlugin.image.gz
%%DATADIR%%/SqueakV3.sources
%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueakregister
@dirrm %%DATADIR%%/%%VMVERSION%%
diff --git a/lang/squeak/Makefile b/lang/squeak/Makefile
index 4d0f943bb309..206c66a92dff 100644
--- a/lang/squeak/Makefile
+++ b/lang/squeak/Makefile
@@ -6,15 +6,16 @@
#
PORTNAME= squeak
-PORTVERSION= 3.6
-PORTREVISION= 7
+PORTVERSION= 3.7
CATEGORIES= lang
##################################################
-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/ \
+MASTER_SITES= http://www.squeakvm.org/unix/release/ \
+ http://ftp.squeak.org/${PORTVERSION}/ \
+ http://ftp.squeak.org/${PORTVERSION}/unix-linux/ \
+ ftp://st.cs.uiuc.edu/Smalltalk/Squeak/${PORTVERSION}/ \
+ ftp://st.cs.uiuc.edu/Smalltalk/Squeak/${PORTVERSION}/unix-linux/ \
+ ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/Smalltalk/Squeak/${PORTVERSION}/ \
+ ftp://ftp.cs.uni-magdeburg.de/pub/Smalltalk/Smalltalk/Squeak/${PORTVERSION}/unix-linux/ \
http://www.squeakland.org/installers/ \
http://www.squeakland.jp/plugin/installers/ \
http://squeak.610t.org/patches/
@@ -33,12 +34,12 @@ COMMENT= Full Smalltalk 80 with portability to UNIX, Mac, and Windows
# Don't set USE_ZIP as this breaks EXTRACT_CMD.
BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
-LIB_DEPENDS= audio.2:${PORTSDIR}/audio/nas
+LIB_DEPENDS= audio:${PORTSDIR}/audio/nas
##################################################
-VMVERSION= 3.6-3
-IMAGEVERSION= 3.6
-PATCHNUMBER= 5429
+VMVERSION= 3.7-7
+IMAGEVERSION= 3.7
+PATCHNUMBER= 5989
##################################################
OPTIONS+= MPG_MMX "MMX support (MPG plugin)" off
@@ -51,7 +52,7 @@ OPTIONS+= XIM "XIM support (Implies X)" off
.include <bsd.port.pre.mk>
##################################################
-XIM_PATCH= SqueakImmX11Plugin2c.tar.gz
+XIM_PATCH= SqueakImmX11Plugin3a.tar.gz
PLUGIN_IMAGE= SqueakPlugin.zip
JAPANESE_PLUGIN_IMAGE= SqueakPlugin2005J.zip
@@ -101,6 +102,8 @@ PLIST_NPSQUEAK= "@comment feature not wanted - "
.else
WITH_NPSQUEAK= yes
PLIST_NPSQUEAK=
+FILES_TO_GZIP+= SqueakPlugin.image
+RUN_DEPENDS+= bash:${PORTSDIR}/shells/bash
.endif
.if defined(WITHOUT_X)
@@ -143,9 +146,8 @@ MAKE_ARGS+= CC="${CC}"
MAKE_ARGS+= CCFLAGS="${CFLAGS}"
.endif
-PKGMESSAGE= ${WRKDIR}/pkg-message
-PKGMESSAGE_SUB= PREFIX=${PREFIX} \
- VMVERSION=${VMVERSION}
+SUB_FILES= pkg-message
+SUB_LIST= VMVERSION=${VMVERSION}
PLIST_SUB= IMAGEVERSION=${IMAGEVERSION}\
PATCHNUMBER=${PATCHNUMBER}\
@@ -161,15 +163,17 @@ post-patch:
-e "s,%%LOCALBASE%%,${LOCALBASE},g" \
-e "s,%%X11BASE%%,${X11BASE},g" \
${WRKSRC}/platforms/unix/npsqueak/npsqueakregister.in \
+ ${WRKSRC}/platforms/unix/npsqueak/npsqueakrun.in \
${WRKSRC}/platforms/unix/npsqueak/Makefile
.if defined(WITH_XIM)
@cd ${WRKSRC} && \
${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} ${_DISTDIR}/${XIM_PATCH} ${EXTRACT_AFTER_ARGS}
+# Skip first patch for plugins.ext because patch place has changed.
@cd ${WRKSRC} && \
- ${PATCH} -p0 < ImmX11.patch
+ ${PATCH} -S + -p0 < ImmX11.patch
.endif
# Fix external plugins
- @${ECHO_MSG} "EXTERNAL_PLUGINS = B3DAcceleratorPlugin UnixOSProcessPlugin XDisplayControlPlugin ${EXT_PLUGINS}" > ${WRKSRC}/src/plugins.ext
+ @${ECHO_MSG} "EXTERNAL_PLUGINS = B3DAcceleratorPlugin Squeak3D XDisplayControlPlugin ${EXT_PLUGINS}" > ${WRKSRC}/platforms/unix/src/plugins.ext
##################################################
pre-configure:
@@ -189,21 +193,14 @@ post-install:
(cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.zip -d ${WRKDIR})
(cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -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
.if defined(WITH_NPSQUEAK)
(cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u ${PLUGIN_IMAGE} -d ${WRKDIR})
- (cd ${WRKDIR} && ${INSTALL_DATA} SqueakPlugin.image ${PREFIX}/share/squeak/npsqueak.image)
.endif
- ${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
+.for file in ${FILES_TO_GZIP}
+ (cd ${WRKDIR} && ${GZIP_CMD} ${file} && ${INSTALL_DATA} ${file}.gz ${PREFIX}/share/squeak/)
+.endfor
+ ${INSTALL_SCRIPT} ${WRKSRC}/build/inisqueak ${PREFIX}/bin/inisqueak
${CHMOD} 755 ${PREFIX}/bin/inisqueak
- @${SED} ${PKGMESSAGE_SUB:S/$/!g/:S/^/ -e s!%%/:S/=/%%!/} \
- < ${PKGDIR}/pkg-message > ${PKGMESSAGE}
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
diff --git a/lang/squeak/distinfo b/lang/squeak/distinfo
index c8b0fc7d5584..1db764b83dad 100644
--- a/lang/squeak/distinfo
+++ b/lang/squeak/distinfo
@@ -1,21 +1,21 @@
-MD5 (squeak/Squeak-3.6-3.src.tar.gz) = cb8ab95fa9d840f5b04868f99600e018
-SHA256 (squeak/Squeak-3.6-3.src.tar.gz) = 9d1f099ffce4d996748e868663e9d91b15ba72f3542cc6acd642a8393e1bb249
-SIZE (squeak/Squeak-3.6-3.src.tar.gz) = 2552981
-MD5 (squeak/Squeak3.6-5429-basic.zip) = 0269db8b85b1042825f689da8bb0f583
-SHA256 (squeak/Squeak3.6-5429-basic.zip) = e7df21fd96ac961fb711c41509536b805812873099150d61beacb795fa67f082
-SIZE (squeak/Squeak3.6-5429-basic.zip) = 5667283
-MD5 (squeak/Squeak3.6-5429-full.zip) = 9a35fa39f2338d26a721564472d4d933
-SHA256 (squeak/Squeak3.6-5429-full.zip) = 63a4e8458b2f58b69e351c1c4161db1a1deed860d9bde40cbb414257cbab4ea2
-SIZE (squeak/Squeak3.6-5429-full.zip) = 7837139
+MD5 (squeak/Squeak-3.7-7.src.tar.gz) = c6b051b745080516c550cab0db1882fc
+SHA256 (squeak/Squeak-3.7-7.src.tar.gz) = 9a41e3245c092115690c055297a9cb94caf1cb79b7faeeff8b923e0822f45234
+SIZE (squeak/Squeak-3.7-7.src.tar.gz) = 2383081
+MD5 (squeak/Squeak3.7-5989-basic.zip) = cf2e63554772ca2f137bb793e8dfadfb
+SHA256 (squeak/Squeak3.7-5989-basic.zip) = 9f009a6d61b2562a6e0f46032fde5957e459197ad3571a4b08eec3fa51f6b1fe
+SIZE (squeak/Squeak3.7-5989-basic.zip) = 9235390
+MD5 (squeak/Squeak3.7-5989-full.zip) = a289c0ff94caf95f93eff7d0759ffc65
+SHA256 (squeak/Squeak3.7-5989-full.zip) = ed5c49cda9be1b70b1fdfa18bdac96b676b0e1337a153f72380bf825cf85ab8e
+SIZE (squeak/Squeak3.7-5989-full.zip) = 12993350
MD5 (squeak/SqueakPlugin.zip) = 8a14a482fc0e601fc9c1e702ac52b760
SHA256 (squeak/SqueakPlugin.zip) = 9442d8f95166db4874800caa21b88551906d9ad66cb9391151d0d24e5022b488
SIZE (squeak/SqueakPlugin.zip) = 5732659
MD5 (squeak/SqueakV3.sources.gz) = 7dc6b3840e6bc1e5f81e3717fb46d2c3
SHA256 (squeak/SqueakV3.sources.gz) = 6d8262b61d5608de36eff5cb930ea8aa588b7402c0a963680b07ff664ba74d02
SIZE (squeak/SqueakV3.sources.gz) = 3476504
-MD5 (squeak/SqueakImmX11Plugin2c.tar.gz) = 178af6041a3f745185140d1a9629976c
-SHA256 (squeak/SqueakImmX11Plugin2c.tar.gz) = 98446e852319bd28c565cb1695b4ab616620260495c50f9c715214630ecdd1b9
-SIZE (squeak/SqueakImmX11Plugin2c.tar.gz) = 11570
+MD5 (squeak/SqueakImmX11Plugin3a.tar.gz) = 19f232d475bcce36a15be0f0fd726979
+SHA256 (squeak/SqueakImmX11Plugin3a.tar.gz) = 76858ebf5e45adc48cad2cee69312163ea0082b173325ef02e57dd826c6e3bdf
+SIZE (squeak/SqueakImmX11Plugin3a.tar.gz) = 11614
MD5 (squeak/SqueakPlugin2005J.zip) = 47dafa5fa4c9c60982227a6bf97419f8
SHA256 (squeak/SqueakPlugin2005J.zip) = a9b5bbc50742fea6172bb0ca99cef1244ce1f75ba46c20569316da3fbe909232
SIZE (squeak/SqueakPlugin2005J.zip) = 7921994
diff --git a/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in b/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in
index f2ecffdce476..a4ba55ad46d4 100644
--- a/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in
+++ b/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in
@@ -1,13 +1,13 @@
---- platforms/unix/npsqueak/npsqueakregister.in.orig Mon Jan 30 19:47:54 2006
-+++ platforms/unix/npsqueak/npsqueakregister.in Mon Jan 30 19:48:13 2006
+--- platforms/unix/npsqueak/npsqueakregister.in.orig Sun Mar 20 05:38:26 2005
++++ platforms/unix/npsqueak/npsqueakregister.in Fri Oct 6 21:02:25 2006
@@ -8,8 +8,8 @@
# Parameters: -u unregister
NPSQUEAK_SO=@NPSQUEAK_SO@
--BROWSERS="netscape mozilla opera"
--BROWSER_DIRS="/usr/local/lib /usr/lib"
+-BROWSERS="netscape mozilla mozilla-firefox opera MozillaFirefox/lib"
+-BROWSER_DIRS="/usr/local/lib /usr/lib /opt"
+BROWSERS="netscape mozilla firefox opera seamonkey"
-+BROWSER_DIRS="%%X11BASE%%/lib %%X11BASE%%/share %%LOCALBASE%%/lib /usr/lib"
++BROWSER_DIRS="%%X11BASE%%/lib %%X11BASE%%/share %%LOCALBASE%%/lib %%LOCALBASE%%/share /usr/lib"
+ SYSTEM_BROWSER_DIR="/usr/lib/browser-plugins"
ACTION=register
-
diff --git a/lang/squeak/files/patch-platforms__unix__config__inisqueak.in b/lang/squeak/files/patch-platforms__unix__config__inisqueak.in
new file mode 100644
index 000000000000..f756bee6026e
--- /dev/null
+++ b/lang/squeak/files/patch-platforms__unix__config__inisqueak.in
@@ -0,0 +1,23 @@
+--- platforms/unix/config/inisqueak.in.org Mon Feb 6 15:10:05 2006
++++ platforms/unix/config/inisqueak.in Mon Feb 6 15:10:58 2006
+@@ -99,7 +99,7 @@
+ exit 1
+ }
+
+-if ${test} \( -f squeak.image \) -a \( -f squeak.changes \) -a \( -e ${SOURCES} \)
++if ${test} \( -f squeak.image \) -a \( -e ${SOURCES} \)
+ then
+ if ${startup}; then
+ if test ! -x ${SQUEAK}; then
+@@ -200,7 +200,10 @@
+
+ install "ln -s" "${imgdir}/${SOURCES}" " " "${SOURCES}"
+ install "gunzip -dc" "${imgdir}/${IMAGE}" ">" "squeak.image"
+-install "gunzip -dc" "${imgdir}/${CHANGES}" ">" "squeak.changes"
++# For SqueakPlugin.image which don't have changes file.
++if test -e "${imgdir}/${CHANGES}"; then
++ install "gunzip -dc" "${imgdir}/${CHANGES}" ">" "squeak.changes"
++fi
+
+ if ${startup}; then
+ if test ! -x ${SQUEAK}; then
diff --git a/lang/squeak/files/patch-platforms__unix__npsqueak__npsqueak.c b/lang/squeak/files/patch-platforms__unix__npsqueak__npsqueak.c
new file mode 100644
index 000000000000..20eddcbb168b
--- /dev/null
+++ b/lang/squeak/files/patch-platforms__unix__npsqueak__npsqueak.c
@@ -0,0 +1,20 @@
+--- platforms/unix/npsqueak/npsqueak.c.orig Sun Mar 20 05:38:26 2005
++++ platforms/unix/npsqueak/npsqueak.c Sat Oct 7 19:56:10 2006
+@@ -177,13 +177,16 @@
+ findFileInPaths(char* result, char *filename, int dirn, char *dirv[PATH_MAX]){
+ int i;
+ char path[PATH_MAX];
++ char gzipedpath[PATH_MAX];
+
+ for(i= 0; i < dirn; i++){
+ DPRINT("NP: search \"%s\" in \"%s\" \n",filename,dirv[i]);
+
+ strcpy(path, dirv[i]);
+ strcat(path, filename);
+- if (access(path, R_OK) == 0){
++ strcpy(gzipedpath, path);
++ strcat(gzipedpath, ".gz");
++ if (access(path, R_OK) == 0 || access(gzipedpath, R_OK) == 0){
+ DPRINT("NP: \"%s\" in \"%s\" found\n",filename,dirv[i]);
+ return strcpy(result, path);
+ }
diff --git a/lang/squeak/files/patch-platforms__unix__npsqueak__npsqueakrun.in b/lang/squeak/files/patch-platforms__unix__npsqueak__npsqueakrun.in
new file mode 100644
index 000000000000..0a6058b52ab4
--- /dev/null
+++ b/lang/squeak/files/patch-platforms__unix__npsqueak__npsqueakrun.in
@@ -0,0 +1,38 @@
+--- platforms/unix/npsqueak/npsqueakrun.in.orig Sun Mar 20 05:38:26 2005
++++ platforms/unix/npsqueak/npsqueakrun.in Sun Jan 7 16:30:12 2007
+@@ -1,4 +1,4 @@
+-#! /bin/bash
++#! %%LOCALBASE%%/bin/bash
+
+ # File: npsqueakrun
+ # Author: Bert Freudenberg
+@@ -60,12 +60,24 @@
+ ensurefile()
+ {
+ if [ ! -e "${1}" ] ; then
+- if cp "${2}" "${1}" ; then
+- pdebug "Created ${1}"
++ if [ -e "${2}" ] ;then
++ if cp "${2}" "${1}" ; then
++ pdebug "Created ${1}"
++ else
++ perror "Could not create ${1}"
++ if [ ! -r "${2}" ] ; then
++ perror "because ${2} is missing"
++ fi
++ fi
+ else
+- perror "Could not create ${1}"
+- if [ ! -r "${2}" ] ; then
+- perror "because ${2} is missing"
++ if [ -e "${2}.gz" ] ; then
++ gunzip -c "${2}.gz" > "${1}"
++ pdebug "Created ${1} from ${2}.gz"
++ else
++ perror "Could not create ${1}"
++ if [ ! -r "${2}" ] ; then
++ perror "because ${2} is missing"
++ fi
+ fi
+ fi
+ fi
diff --git a/lang/squeak/pkg-plist b/lang/squeak/pkg-plist
index db6746c664dc..03866a82c0ac 100644
--- a/lang/squeak/pkg-plist
+++ b/lang/squeak/pkg-plist
@@ -7,13 +7,12 @@ bin/squeak
%%DOCSDIR%%/README.Keyboard.gz
%%DOCSDIR%%/README.Sound.gz
%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/B3DAcceleratorPlugin
-%%DATADIR%%/%%VMVERSION%%/UnixOSProcessPlugin
+%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/Squeak3D
%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/XDisplayControlPlugin
%%PLIST_XIM%%%%DATADIR%%/%%VMVERSION%%/ImmX11Plugin
%%PLIST_FFI%%%%DATADIR%%/%%VMVERSION%%/SqueakFFIPrims
-%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueak.image
%%PLIST_NPSQUEAK%%%%DATADIR%%/%%VMVERSION%%/npsqueak.so
-%%PLIST_NPSQUEAK%%%%DATADIR%%/%%VMVERSION%%/npsqueakrun
+%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueakrun
%%DATADIR%%/%%VMVERSION%%/squeak
%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/vm-display-X11
%%DATADIR%%/%%VMVERSION%%/vm-display-null
@@ -25,6 +24,7 @@ bin/squeak
%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-basic.image.gz
%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.changes.gz
%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.image.gz
+%%DATADIR%%/SqueakPlugin.image.gz
%%DATADIR%%/SqueakV3.sources
%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueakregister
@dirrm %%DATADIR%%/%%VMVERSION%%