Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Feb 2006 12:35:08 +0900
From:      Takeshi MUTOH <mutoh@openedu.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        chris@chrisburkert.de, mutoh@openedu.org
Subject:   ports/92757: [Patch] lang/squeak web browser plugin work well
Message-ID:  <ddek2l9ksz.wl%mutoh@openedu.org>
Resent-Message-ID: <200602030340.k133e6xP033102@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         92757
>Category:       ports
>Synopsis:       Currently lang/squeak web browser plugin can't work
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Feb 03 03:40:05 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Takeshi MUTOH <mutoh@openedu.org>
>Release:        FreeBSD 6.0-STABLE i386
>Organization:
610t
>Environment:

  FreeBSD mutoh.dyndns.org 6.0-STABLE FreeBSD 6.0-STABLE #6: Fri Jan 27 07:50:53 JST 2006     root@mutoh.dyndns.org:/usr/obj/usr/src/sys/SMP+NAT  i386

>Description:

Currently, lang/squeak web browser plugin can't work, because
npsqueak.so don't link X11 related library.

>How-To-Repeat:

If you run /usr/local/share/squeak/npsqueakregister for register
browser plugin, but you can't run such as
http://www.squeakland.jp/kids/kidshome.html plugin projects.

>Fix:

I create patch, test on:
- firefox-1.5_5,1(www/firefox)
- mozilla-1.7.12_5,2(www/mozilla)
- kazehakase-0.3.4(www/kazehakase)
- epiphany-1.8.3_2(www/epiphany)
- seamonkey-1.0(www/seamonkey)
- galeon-2.0.0(www/galeon)
but I can't run under:
- opera-8.51.20051114(www/opera): Brower plugin support has broken?

Please apply patch below:

diff -ruN /usr/ports/lang/squeak/Makefile squeak/Makefile
--- /usr/ports/lang/squeak/Makefile	Mon Nov 29 10:25:32 2004
+++ squeak/Makefile	Fri Feb  3 10:24:27 2006
@@ -5,7 +5,6 @@
 # $FreeBSD: ports/lang/squeak/Makefile,v 1.3 2004/11/29 01:25:32 hq Exp $
 #
 
-##################################################
 PORTNAME=		squeak
 PORTVERSION=		3.6
 PORTREVISION=		1
@@ -15,31 +14,35 @@
 PATCHNUMBER=		5429
 
 ##################################################
+MAINTAINER=		chris@chrisburkert.de
+COMMENT=		Full Smalltalk 80 with portability to UNIX, Mac, and Windows
+
+##################################################
 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.
-
-##################################################
 ONLY_FOR_ARCHS= 	i386
 MAN1=			inisqueak.1 squeak.1
 USE_GMAKE=		yes
-USE_REINPLACE=		yes
 HAS_CONFIGURE=		yes
 
+# Plugin image must be writable, because of it copy to user's ~/.npsqueak/ and be updated.
+SHAREMODE=		644
+
 # Don't set USE_ZIP as this breaks EXTRACT_CMD.
 BUILD_DEPENDS=		unzip:${PORTSDIR}/archivers/unzip
 
@@ -73,6 +76,7 @@
 CONFIGURE_ARGS+=        --without-npsqueak
 PLIST_NPSQUEAK=         "@comment feature not wanted - "
 .else
+WITH_NPSQUEAK=		yes
 PLIST_NPSQUEAK=
 .endif
 
@@ -131,8 +135,6 @@
 ##################################################
 pre-configure:
 	@${MKDIR} ${CONFIGURE_WRKSRC}
-	@cd ${WRKSRC}/platforms/unix/npsqueak && \
-		${REINPLACE_CMD} -e 's|include|include -I${X11BASE}/include|g' Makefile
 
 ##################################################
 post-configure:
@@ -145,12 +147,16 @@
 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 -ruN /usr/ports/lang/squeak/distinfo squeak/distinfo
--- /usr/ports/lang/squeak/distinfo	Sun Jan 22 21:42:23 2006
+++ squeak/distinfo	Tue Jan 31 09:49:05 2006
@@ -7,6 +7,9 @@
 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 -ruN /usr/ports/lang/squeak/files/patch-platforms::unix::npsqueak::Makefile squeak/files/patch-platforms::unix::npsqueak::Makefile
--- /usr/ports/lang/squeak/files/patch-platforms::unix::npsqueak::Makefile	Thu Jan  1 09:00:00 1970
+++ squeak/files/patch-platforms::unix::npsqueak::Makefile	Tue Jan 31 10:38:01 2006
@@ -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/usr/X11R6/lib -lXt -lX11
+ 
+ npsqueak.o: npsqueak.c ../config.h
+ 	$(CC) -c $(CFLAGS) -DVM_LIBDIR=\"$(VM_LIBDIR)\" $<
diff -ruN /usr/ports/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in
--- /usr/ports/lang/squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in	Thu Jan  1 09:00:00 1970
+++ squeak/files/patch-platforms::unix::npsqueak::npsqueakregister.in	Tue Jan 31 12:09:29 2006
@@ -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="/usr/X11R6/lib /usr/X11R6/share /usr/local/lib /usr/lib"
+ 
+ ACTION=register
+ 
diff -ruN /usr/ports/lang/squeak/pkg-plist squeak/pkg-plist
--- /usr/ports/lang/squeak/pkg-plist	Sun Jan  8 03:37:39 2006
+++ squeak/pkg-plist	Tue Jan 31 10:18:02 2006
@@ -9,6 +9,7 @@
 %%PLIST_X%%share/squeak/%%VMVERSION%%/B3DAcceleratorPlugin
 share/squeak/%%VMVERSION%%/UnixOSProcessPlugin
 %%PLIST_X%%share/squeak/%%VMVERSION%%/XDisplayControlPlugin
+%%PLIST_NPSQUEAK%%share/squeak/npsqueak.image
 %%PLIST_NPSQUEAK%%share/squeak/%%VMVERSION%%/npsqueak.so
 %%PLIST_NPSQUEAK%%share/squeak/%%VMVERSION%%/npsqueakrun
 share/squeak/%%VMVERSION%%/squeak

--
Takeshi MUTOH	<mutoh@openedu.org>
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ddek2l9ksz.wl%mutoh>