aboutsummaryrefslogtreecommitdiff
path: root/lang/squeak/Makefile
diff options
context:
space:
mode:
authorJason Helfman <jgh@FreeBSD.org>2012-04-20 17:18:26 +0000
committerJason Helfman <jgh@FreeBSD.org>2012-04-20 17:18:26 +0000
commit8ca6e5d407e02042aa27e3a0ed14830b125543eb (patch)
tree540c727e28a108b44377b4e118b4b7ac9f945faa /lang/squeak/Makefile
parent88d871230895bb950e01f4a327d7b22b50a95eee (diff)
downloadports-8ca6e5d407e02042aa27e3a0ed14830b125543eb.tar.gz
ports-8ca6e5d407e02042aa27e3a0ed14830b125543eb.zip
Notes
Diffstat (limited to 'lang/squeak/Makefile')
-rw-r--r--lang/squeak/Makefile185
1 files changed, 43 insertions, 142 deletions
diff --git a/lang/squeak/Makefile b/lang/squeak/Makefile
index 219eb2ab808c..cb0b0792d76a 100644
--- a/lang/squeak/Makefile
+++ b/lang/squeak/Makefile
@@ -6,166 +6,83 @@
#
PORTNAME= squeak
-PORTVERSION= 3.9
-PORTREVISION= 2
+PORTVERSION= 4.4.7
CATEGORIES= lang
##################################################
-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/:plugin \
- http://squeakland.jp/plugin/installers/:jpplugin \
- http://squeak.610t.org/patches/:ximpatch
-DISTFILES= Squeak-${VMVERSION}.src${EXTRACT_SUFX} \
- Squeak${IMAGEVERSION}-${PATCHNUMBER}.zip \
- SqueakV3.sources.gz \
- SqueakV39.sources.gz
-EXTRACT_ONLY= Squeak-${VMVERSION}.src${EXTRACT_SUFX}
+MASTER_SITES= http://www.squeakvm.org/unix/release/:vmsrc \
+ http://ftp.squeak.org/${IMAGEVERSION}/:src \
+ http://squeak.610t.org/patches/:mainsrc
+DISTFILES= Squeak-${VM_VERSION}-src${EXTRACT_SUFX}:mainsrc \
+ Squeak${IMAGEVERSION}.zip:src \
+ SqueakV41.sources:vmsrc
+EXTRACT_ONLY= Squeak-${VM_VERSION}-src${EXTRACT_SUFX}
##################################################
MAINTAINER= mutoh@openedu.org
COMMENT= Full Smalltalk 80 with portability to UNIX, Mac, and Windows
+LICENSE= AL2 MIT
+LICENSE_COMB= multi
+
# Don't set USE_ZIP as this breaks EXTRACT_CMD.
-BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip
+BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip \
+ cmake:${PORTSDIR}/devel/cmake
LIB_DEPENDS= audio:${PORTSDIR}/audio/nas \
- ffi:${PORTSDIR}/devel/libffi
-
-##################################################
-VMVERSION= 3.9-7
-IMAGEVERSION= 3.9-final
-PATCHNUMBER= 7067
-IMAGEDIR= Squeak${IMAGEVERSION}-${PATCHNUMBER}
+ ffi:${PORTSDIR}/devel/libffi \
+ asound:${PORTSDIR}/audio/alsa-lib \
+ pulse-simple:${PORTSDIR}/audio/pulseaudio \
+ gstreamer:${PORTSDIR}/multimedia/gstreamer
##################################################
-OPTIONS+= MPG_MMX "MMX support (MPG plugin)" off
-OPTIONS+= NPSQUEAK "browser plugin support" on
-OPTIONS+= RFB "remote frame buffer support" on
-OPTIONS+= X "X Windows support" on
-OPTIONS+= XIM "XIM support (Implies X)" off
+VM_VERSION= ${PORTVERSION}.${SVNVERSION}
+SVNVERSION= 2375
+IMAGEVERSION= 4.3
+SQUEAK_LIB_DIR= ${PORTVERSION}-${SVNVERSION}
.include <bsd.port.pre.mk>
##################################################
-XIM_PATCH= SqueakImmX11Plugin3a${EXTRACT_SUFX}
-PLUGIN_IMAGE= SqueakPlugin.zip
-JAPANESE_PLUGIN_IMAGE= SqueakPlugin2005J2.zip
-
-##################################################
DIST_SUBDIR= squeak
ONLY_FOR_ARCHS= i386
-MAN1= inisqueak.1 squeak.1
+MAN1= squeak.1
USE_GMAKE= yes
-GNU_CONFIGURE= yes
+HAS_CONFIGURE= yes
# Plugin image must be writable, because of it copy to user's ~/.npsqueak/ and
# be updated.
SHAREMODE= 644
-FILES_TO_GZIP= ${IMAGEDIR}/Squeak${IMAGEVERSION}-${PATCHNUMBER}.image \
- ${IMAGEDIR}/Squeak${IMAGEVERSION}-${PATCHNUMBER}.changes
+# shared Libaries are to be installed in:
+LDCONFIG_DIRS= ${PREFIX}/lib/squeak/${VM_VERSION}
+
+IMAGES= Squeak${IMAGEVERSION}/Squeak${IMAGEVERSION}.image \
+ Squeak${IMAGEVERSION}/Squeak${IMAGEVERSION}.changes
##################################################
# Configure and Build
-WRKSRC= ${WRKDIR}/Squeak-${VMVERSION}
+WRKSRC= ${WRKDIR}/Squeak-${VM_VERSION}-src
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 \
- LDFLAGS="-L${LOCALBASE}/lib" \
- CPPFLAGS="-I${LOCALBASE}/include"
-
-# don't pass "-s" to install to avoid trying to strip a shell script
-CONFIGURE_ENV=
-
-##################################################
-# Knobs
-.if defined(WITHOUT_RFB)
-CONFIGURE_ARGS+= --without-rfb
-.endif
-
-.if defined(WITHOUT_NPSQUEAK)
-CONFIGURE_ARGS+= --without-npsqueak
-PLIST_NPSQUEAK= "@comment feature not wanted - "
-.else
-DISTFILES+= SqueakPlugin.zip:plugin
-WITH_NPSQUEAK= yes
-PLIST_NPSQUEAK=
-FILES_TO_GZIP+= SqueakPlugin.image
-RUN_DEPENDS+= bash:${PORTSDIR}/shells/bash
-.endif
-
-.if defined(WITHOUT_X)
-CONFIGURE_ARGS+= --without-x
-PLIST_X= "@comment feature not wanted - "
-.else
-USE_XORG= x11
-USE_GL= yes
-CONFIGURE_ARGS+= --with-x
-PLIST_X=
-.endif
+CONFIGURE_SCRIPT= ../unix/cmake/configure
+CONFIGURE_ARGS+= --prefix=${PREFIX}
-.if defined(WITH_MPG_MMX)
-CONFIGURE_ARGS+= --enable-mpg-mmx
-.endif
-
-.if defined(WITH_XIM)
-DISTFILES+= ${XIM_PATCH}:ximpatch \
- ${JAPANESE_PLUGIN_IMAGE}:jpplugin
-PLIST_XIM=
-WITH_X= yes
-USE_ICONV= yes
-PLUGIN_IMAGE= ${JAPANESE_PLUGIN_IMAGE}
-EXT_PLUGINS+= ImmX11Plugin
-.else
-PLIST_XIM= "@comment feature not wanted - "
-.endif
-
-.ifdef (CC)
-MAKE_ARGS+= CC="${CC}"
-.endif
-
-.ifdef (CFLAGS)
-MAKE_ARGS+= CCFLAGS="${CFLAGS}"
-.endif
+# USE_CMAKE= yes
+CMAKE_SOURCE_PATH= ../unix
SUB_FILES= pkg-message
-SUB_LIST= VMVERSION=${VMVERSION}
+SUB_LIST= SQUEAK_LIB_DIR=${SQUEAK_LIB_DIR}
-PLIST_SUB= IMAGEVERSION=${IMAGEVERSION}\
- PATCHNUMBER=${PATCHNUMBER}\
- VMVERSION=${VMVERSION}\
- PLIST_NPSQUEAK=${PLIST_NPSQUEAK}\
- PLIST_X=${PLIST_X} \
- PLIST_XIM=${PLIST_XIM}
+PLIST_SUB= SQUEAK_LIB_DIR=${SQUEAK_LIB_DIR}
##################################################
post-patch:
- @${REINPLACE_CMD} \
- -e "s,%%LOCALBASE%%,${LOCALBASE},g" \
- ${WRKSRC}/platforms/unix/npsqueak/npsqueakregister.in \
- ${WRKSRC}/platforms/unix/npsqueak/npsqueakrun.in \
- ${WRKSRC}/platforms/unix/npsqueak/Makefile
- @${REINPLACE_CMD} -e "s,echo aout,echo elf," ${WRKSRC}/platforms/unix/config/configure
-.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} -S + -p0 < ImmX11.patch
-.endif
-# Fix external plugins
- @${ECHO_MSG} "EXTERNAL_PLUGINS = B3DAcceleratorPlugin PseudoTTYPlugin UnixOSProcessPlugin XDisplayControlPlugin Squeak3D AioPlugin ${EXT_PLUGINS}" > ${WRKSRC}/platforms/unix/src/plugins.ext
+
# Fix utmp.h
.if ${OSVERSION} > 900007
- @${REINPLACE_CMD} -e 's,<utmp.h>,<utmpx.h>,g' \
- ${WRKSRC}/platforms/unix/plugins/PseudoTTYPlugin/openpty.h
+ @${REINPLACE_CMD} \
+ -e "s,<utmp.h>,<utmpx.h>,g" \
+ ${WRKSRC}/unix/plugins/PseudoTTYPlugin/openpty.h
.endif
##################################################
@@ -173,28 +90,12 @@ pre-configure:
@${MKDIR} ${CONFIGURE_WRKSRC}
##################################################
-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} && ${INSTALL_DATA} SqueakV39.sources.gz ${PREFIX}/share/squeak/)
- (cd ${PREFIX}/share/squeak && ${EXTRACT_CMD} -d SqueakV39.sources.gz)
- (cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u Squeak${IMAGEVERSION}-${PATCHNUMBER}.zip -d ${WRKDIR} Squeak${IMAGEVERSION}-${PATCHNUMBER}/*)
-.if defined(WITH_NPSQUEAK)
- (cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u ${PLUGIN_IMAGE} -d ${WRKDIR})
-.endif
-.for file in ${FILES_TO_GZIP}
- (cd ${WRKDIR} && ${GZIP_CMD} ${file} && ${INSTALL_DATA} ${file}.gz ${PREFIX}/share/squeak/)
+ (cd ${DISTDIR}/${DIST_SUBDIR} && ${INSTALL_DATA} SqueakV41.sources ${PREFIX}/lib/squeak/)
+ (cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u Squeak${IMAGEVERSION}.zip -d ${WRKDIR})
+.for f in ${IMAGES}
+ (cd ${WRKDIR} && ${INSTALL_DATA} ${f} ${PREFIX}/lib/squeak/)
.endfor
- (cd ${WRKDIR} && ${INSTALL_DATA} ${IMAGEDIR}/SqueakV39.sources ${PREFIX}/share/squeak/${VMVERSION})
- ${INSTALL_SCRIPT} ${WRKSRC}/build/inisqueak ${PREFIX}/bin/inisqueak
- ${CHMOD} 755 ${PREFIX}/bin/inisqueak
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>