From ad6039d492ecea045fab8bb2a2b27518b1b1db69 Mon Sep 17 00:00:00 2001 From: stefan Date: Thu, 8 Jun 2006 17:00:49 +0000 Subject: - Fix web browser plugin. - Fix/improve FFI support. - Pet portlint(1). PR: 94058 Submitted by: Takeshi MUTOH Approved by: maintainer arved (mentor) --- lang/squeak/Makefile | 83 +++++++++++++++------- lang/squeak/distinfo | 3 + .../patch-platforms::unix::npsqueak::Makefile | 11 +++ ...-platforms::unix::npsqueak::npsqueakregister.in | 13 ++++ ...rms::unix::plugins::SqueakFFIPrims::Makefile.in | 11 +++ ...orms::unix::plugins::SqueakFFIPrims::ffi-config | 10 +++ lang/squeak/pkg-plist | 40 ++++++----- 7 files changed, 127 insertions(+), 44 deletions(-) create mode 100644 lang/squeak/files/patch-platforms::unix::npsqueak::Makefile create mode 100644 lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in create mode 100644 lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::Makefile.in create mode 100644 lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::ffi-config (limited to 'lang/squeak') diff --git a/lang/squeak/Makefile b/lang/squeak/Makefile index 68fcab2977d9..0e20007ca416 100644 --- a/lang/squeak/Makefile +++ b/lang/squeak/Makefile @@ -5,42 +5,46 @@ # $FreeBSD$ # -################################################## PORTNAME= squeak PORTVERSION= 3.6 -PORTREVISION= 1 +PORTREVISION= 2 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/ \ - + http://www.squeakland.org/installers/ DISTFILES= Squeak-${VMVERSION}.src.tar.gz \ Squeak${IMAGEVERSION}-${PATCHNUMBER}-basic.zip \ Squeak${IMAGEVERSION}-${PATCHNUMBER}-full.zip \ + SqueakPlugin.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. +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 ################################################## -ONLY_FOR_ARCHS= i386 +VMVERSION= 3.6-3 +IMAGEVERSION= 3.6 +PATCHNUMBER= 5429 + +################################################## +DIST_SUBDIR= squeak +ONLY_FOR_ARCHS= i386 MAN1= inisqueak.1 squeak.1 USE_GMAKE= yes HAS_CONFIGURE= yes -# Don't set USE_ZIP as this breaks EXTRACT_CMD. -BUILD_DEPENDS= unzip:${PORTSDIR}/archivers/unzip +# Plugin image must be writable, because of it copy to user's ~/.npsqueak/ and +# be updated. +SHAREMODE= 644 # shared Libaries are to be installed in: LDCONFIG_DIRS= ${PREFIX}/share/squeak/${VMVERSION} @@ -58,34 +62,46 @@ BUILD_WRKSRC= ${CONFIGURE_WRKSRC} INSTALL_WRKSRC= ${CONFIGURE_WRKSRC} CONFIGURE_SCRIPT= ../platforms/unix/config/configure CONFIGURE_ARGS+= --libdir=${PREFIX}/share \ - --without-quartz + --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(WITH_RFB) && (${WITH_RFB}=="no") -CONFIGURE_ARGS+= --without-rfb +CONFIGURE_ARGS+= --without-rfb .endif .if defined(WITH_NPSQUEAK) && (${WITH_NPSQUEAK}=="no") -CONFIGURE_ARGS+= --without-npsqueak -PLIST_NPSQUEAK= "@comment feature not wanted - " +CONFIGURE_ARGS+= --without-npsqueak +PLIST_NPSQUEAK= "@comment feature not wanted - " .else +WITH_NPSQUEAK= yes PLIST_NPSQUEAK= .endif .if defined(WITH_X) && (${WITH_X}=="no") -CONFIGURE_ARGS+= --without-x +CONFIGURE_ARGS+= --without-x PLIST_X= "@comment feature not wanted - " .else -USE_XLIB= yes -CONFIGURE_ARGS+= --with-x +USE_XLIB= yes +CONFIGURE_ARGS+= --with-x PLIST_X= .endif .if defined(WITH_MPG_MMX) && (${WITH_MPG_MMX}=="yes") -CONFIGURE_ARGS+= --enable-mpg-mmx +CONFIGURE_ARGS+= --enable-mpg-mmx +.endif + +.if defined(WITH_FFI) && (${WITH_FFI}=="yes") +LIB_DEPENDS+= ffi.2:${PORTSDIR}/devel/libffi +PLIST_FFI= +EXT_PLUGINS+= SqueakFFIPrims +.else +CONFIGURE_ARGS+= --without-ffi +PLIST_FFI= "@comment feature not wanted - " .endif .ifdef (CC) @@ -96,11 +112,12 @@ MAKE_ARGS+= CC="${CC}" MAKE_ARGS+= CCFLAGS="${CFLAGS}" .endif -PLIST_SUB= IMAGEVERSION=${IMAGEVERSION}\ +PLIST_SUB= IMAGEVERSION=${IMAGEVERSION}\ PATCHNUMBER=${PATCHNUMBER}\ VMVERSION=${VMVERSION}\ PLIST_NPSQUEAK=${PLIST_NPSQUEAK}\ - PLIST_X=${PLIST_X} + PLIST_X=${PLIST_X} \ + PLIST_FFI=${PLIST_FFI} .include @@ -119,6 +136,8 @@ pre-everything:: @${ECHO_MSG} " ^^^ (default: enabled)" @${ECHO_MSG} " WITH_X= [yes|no] X Windows support" @${ECHO_MSG} " ^^^ (default: enabled)" + @${ECHO_MSG} " WITH_FFI= [yes|no] FFI support" + @${ECHO_MSG} " ^^ (default: disabled)" @${ECHO_MSG} " " @${ECHO_MSG} " additional make arguments" @${ECHO_MSG} " CC=" @@ -127,6 +146,16 @@ pre-everything:: @${ECHO_MSG} " ------------------ Thanks for your attention! ------------------" @${ECHO_MSG} " " +################################################## +post-patch: + ${REINPLACE_CMD} \ + -e "s,%%LOCALBASE%%,${LOCALBASE},g" \ + -e "s,%%X11BASE%%,${X11BASE},g" \ + ${WRKSRC}/platforms/unix/npsqueak/npsqueakregister.in \ + ${WRKSRC}/platforms/unix/npsqueak/Makefile +# Fix external plugins + @${ECHO_MSG} "EXTERNAL_PLUGINS = B3DAcceleratorPlugin UnixOSProcessPlugin XDisplayControlPlugin ${EXT_PLUGINS}" > ${WRKSRC}/src/plugins.ext + ################################################## pre-configure: @${MKDIR} ${CONFIGURE_WRKSRC} @@ -144,12 +173,16 @@ post-configure: 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 ${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) && (${WITH_NPSQUEAK}=="yes") + (cd ${DISTDIR}/${DIST_SUBDIR} && ${UNZIP_CMD} -u SqueakPlugin.zip -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}|' \ diff --git a/lang/squeak/distinfo b/lang/squeak/distinfo index a81460172ea5..4945f081bdbb 100644 --- a/lang/squeak/distinfo +++ b/lang/squeak/distinfo @@ -7,6 +7,9 @@ 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/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 diff --git a/lang/squeak/files/patch-platforms::unix::npsqueak::Makefile b/lang/squeak/files/patch-platforms::unix::npsqueak::Makefile new file mode 100644 index 000000000000..790c40015747 --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::npsqueak::Makefile @@ -0,0 +1,11 @@ +--- platforms/unix/npsqueak/Makefile.org Tue Jan 31 10:36:12 2006 ++++ platforms/unix/npsqueak/Makefile Tue Jan 31 10:37:14 2006 +@@ -20,7 +20,7 @@ + ############ compile and link ########################### + + npsqueak.so : npsqueak.o npunix.o +- $(LD) $(LDFLAGS) npsqueak.o npunix.o -o npsqueak.so ++ $(LD) $(LDFLAGS) npsqueak.o npunix.o -o npsqueak.so -L%%X11BASE%%/lib -lXt -lX11 + + npsqueak.o: npsqueak.c ../config.h + $(CC) -c $(CFLAGS) -DVM_LIBDIR=\"$(VM_LIBDIR)\" $< diff --git a/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in b/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in new file mode 100644 index 000000000000..f2ecffdce476 --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in @@ -0,0 +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 +@@ -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 firefox opera seamonkey" ++BROWSER_DIRS="%%X11BASE%%/lib %%X11BASE%%/share %%LOCALBASE%%/lib /usr/lib" + + ACTION=register + diff --git a/lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::Makefile.in b/lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::Makefile.in new file mode 100644 index 000000000000..3c0fd9e7894e --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::Makefile.in @@ -0,0 +1,11 @@ +--- platforms/unix/plugins/SqueakFFIPrims/Makefile.in.orig Sun Mar 20 05:38:18 2005 ++++ platforms/unix/plugins/SqueakFFIPrims/Makefile.in Sun Feb 26 00:08:03 2006 +@@ -14,7 +14,7 @@ + XINCLUDES = [includes] + + $(TARGET) : $(OBJS) Makefile +- $(LINK) $(TARGET) $(OBJS) ++ $(LINK) $(TARGET) $(OBJS) -lffi + $(RANLIB) $(TARGET) + + [make_targets] diff --git a/lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::ffi-config b/lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::ffi-config new file mode 100644 index 000000000000..80ded9fb17c9 --- /dev/null +++ b/lang/squeak/files/patch-platforms::unix::plugins::SqueakFFIPrims::ffi-config @@ -0,0 +1,10 @@ +--- platforms/unix/plugins/SqueakFFIPrims/ffi-config.org Wed Apr 26 20:27:53 2006 ++++ platforms/unix/plugins/SqueakFFIPrims/ffi-config Wed Apr 26 20:29:00 2006 +@@ -39,6 +39,7 @@ + + case ${abi} in + linux) abi=sysv;; ++ freebsd*) abi=sysv;; + darwin*) abi=darwin;; + *) abi=libffi; lib="-lffi";; + esac diff --git a/lang/squeak/pkg-plist b/lang/squeak/pkg-plist index a6eaaa3b0e80..cf50aaf441c4 100644 --- a/lang/squeak/pkg-plist +++ b/lang/squeak/pkg-plist @@ -6,23 +6,25 @@ bin/squeak %%DOCSDIR%%/README.Contributing.gz %%DOCSDIR%%/README.Keyboard.gz %%DOCSDIR%%/README.Sound.gz -%%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 +%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/B3DAcceleratorPlugin +%%DATADIR%%/%%VMVERSION%%/UnixOSProcessPlugin +%%PLIST_X%%%%DATADIR%%/%%VMVERSION%%/XDisplayControlPlugin +%%PLIST_FFI%%%%DATADIR%%/%%VMVERSION%%/SqueakFFIPrims +%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueak.image +%%PLIST_NPSQUEAK%%%%DATADIR%%/%%VMVERSION%%/npsqueak.so +%%PLIST_NPSQUEAK%%%%DATADIR%%/%%VMVERSION%%/npsqueakrun +%%DATADIR%%/%%VMVERSION%%/squeak +%%PLIST_X%%/%%DATADIR%%/%%VMVERSION%%/vm-display-X11 +%%DATADIR%%/%%VMVERSION%%/vm-display-null +%%DATADIR%%/%%VMVERSION%%/vm-sound-OSS +%%DATADIR%%/%%VMVERSION%%/vm-sound-null +%%DATADIR%%/ReadMe.txt +%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-basic.changes.gz +%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-basic.image.gz +%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.changes.gz +%%DATADIR%%/Squeak%%IMAGEVERSION%%-%%PATCHNUMBER%%-full.image.gz +%%DATADIR%%/SqueakV3.sources +%%PLIST_NPSQUEAK%%%%DATADIR%%/npsqueakregister +@dirrm %%DATADIR%%/%%VMVERSION%% +@dirrm %%DATADIR%% @dirrm %%DOCSDIR%% -- cgit