aboutsummaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authortrevor <trevor@FreeBSD.org>2002-03-09 16:37:37 +0800
committertrevor <trevor@FreeBSD.org>2002-03-09 16:37:37 +0800
commitb8ec908e058be827bba0af961f33e23a449c7671 (patch)
tree20e167fe20f6cbb9f53ff5b980f9fc40d2262d0b /www
parent36f570c121d98d3e4eff96bd6ad3930ecc239444 (diff)
downloadfreebsd-ports-gnome-b8ec908e058be827bba0af961f33e23a449c7671.tar.gz
freebsd-ports-gnome-b8ec908e058be827bba0af961f33e23a449c7671.tar.zst
freebsd-ports-gnome-b8ec908e058be827bba0af961f33e23a449c7671.zip
Add a selection dialog from which the user can disable the chatzilla,
deflenus, mail, psm and talkback components. This is based on the recent work on the www/linux-netscape6 port. When psm is omitted, Mozilla still shows the Privacy and Security menus, and complains about not being able to load libpipboot.so. When talkback is omitted, Mozilla makes noise about the missing libqfaservices.so.
Diffstat (limited to 'www')
-rw-r--r--www/linux-mozilla-devel/Makefile81
-rw-r--r--www/linux-mozilla-devel/scripts/configure43
-rw-r--r--www/linux-mozilla/Makefile81
-rw-r--r--www/linux-mozilla/scripts/configure43
4 files changed, 226 insertions, 22 deletions
diff --git a/www/linux-mozilla-devel/Makefile b/www/linux-mozilla-devel/Makefile
index 5c1892bbc5ca..fd1a8885eb26 100644
--- a/www/linux-mozilla-devel/Makefile
+++ b/www/linux-mozilla-devel/Makefile
@@ -12,16 +12,6 @@ CATEGORIES= www linux
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= mozilla/releases/mozilla${PORTVERSION}/linux-xpi/
PKGNAMEPREFIX= linux-
-DISTFILES= browser.xpi \
- chatzilla.xpi \
- deflenus.xpi \
- langenus.xpi \
- mail.xpi \
- psm.xpi \
- regus.xpi \
- talkback.xpi \
- venkman.xpi \
- xpcom.xpi
DIST_SUBDIR= linux-mozilla/${PORTVERSION}
PATCH_SITES= ${MASTER_SITE_LOCAL}
@@ -44,6 +34,62 @@ PKGMESSAGE= ${WRKDIR}/pkg-message
PLIST= ${WRKDIR}/pkg-plist
STARTUP_CMD= linux-mozilla
+.if !defined(BATCH)
+IS_INTERACTIVE= yes
+.endif
+
+.include <bsd.port.pre.mk>
+
+pre-everything::
+ ${MKDIR} ${WRKSRC}
+.if !defined(BATCH)
+ ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure
+.endif
+DISTFILES= browser.xpi \
+ chatzilla.xpi \
+ deflenus.xpi \
+ langenus.xpi \
+ mail.xpi \
+ psm.xpi \
+ regus.xpi \
+ talkback.xpi \
+ venkman.xpi \
+ xpcom.xpi
+.if exists(${WRKDIRPREFIX}${.CURDIR}/work/xpi/components.conf)
+DISTFILES!= ${CAT} ${WRKDIRPREFIX}${.CURDIR}/work/xpi/components.conf
+.endif
+
+checksum:
+.if !defined(REAL_EXTRACT)
+ @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch
+.endif
+ @if [ ! -f ${MD5_FILE} ]; then \
+ ${ECHO_MSG} ">> No MD5 checksum file."; \
+ else \
+ (cd ${DISTDIR}; OK="true"; \
+ for file in ${_CKSUMFILES}; do \
+ if [ -r $$file ]; then \
+ CKSUM=`${MD5} < $$file`; \
+ CKSUM2=`${GREP} "^MD5 ($$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
+ if [ "$$CKSUM2" = "" ]; then \
+ ${ECHO_MSG} ">> No checksum recorded for $$file."; \
+ OK="false"; \
+ elif ${EXPR} "$$CKSUM2" : ".*$$CKSUM" > /dev/null; then \
+ ${ECHO_MSG} ">> Checksum OK for $$file."; \
+ else \
+ ${ECHO_MSG} ">> Checksum mismatch for $$file."; \
+ OK="false"; \
+ fi; \
+ fi; \
+ done; \
+ if [ "$$OK" != "true" ]; then \
+ ${ECHO_MSG} "Make sure the Makefile and distinfo file (${MD5_FILE})"; \
+ ${ECHO_MSG} "are up to date. If you are absolutely sure you want to override this"; \
+ ${ECHO_MSG} "check, type \"make NO_CHECKSUM=yes [other args]\"."; \
+ exit 1; \
+ fi) ; \
+ fi
+
do-extract:
${MKDIR} ${WRKSRC}
.for i in ${DISTFILES}
@@ -51,7 +97,20 @@ do-extract:
.endfor
do-patch:
+ ${MKDIR} ${WRKSRC}/tmp
+ ${TAR} -C ${WRKSRC}/tmp -xzf ${DISTDIR}/${DIST_SUBDIR}/${PATCHFILES}
${TAR} -C ${WRKSRC}/bin -xzf ${DISTDIR}/${DIST_SUBDIR}/${PATCHFILES}
+ for j in chatzilla messenger pippki; do \
+ if [ ! -e ${WRKSRC}/bin/chrome/$$j.jar ]; then \
+ for i in communicator editor messenger navigator; do \
+ ${GREP} -v $$j ${WRKSRC}/tmp/chrome/overlayinfo/$$i/content/overlays.rdf > \
+ ${WRKSRC}/bin/chrome/overlayinfo/$$i/content/overlays.rdf; \
+ ${CP} ${WRKSRC}/bin/chrome/overlayinfo/$$i/content/overlays.rdf \
+ ${WRKSRC}/tmp/chrome/overlayinfo/$$i/content/overlays.rdf; \
+ done; \
+ ${RM} -f ${WRKSRC}/bin/chrome/overlayinfo/$$j/content/overlays.rdf; \
+ fi; \
+ done;
do-configure:
# - kldload linux
@@ -94,4 +153,4 @@ post-install:
- ${PREFIX}/lib/linux-mozilla/linkfarm
${CAT} ${PKGMESSAGE}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/www/linux-mozilla-devel/scripts/configure b/www/linux-mozilla-devel/scripts/configure
new file mode 100644
index 000000000000..bae76ba96ec1
--- /dev/null
+++ b/www/linux-mozilla-devel/scripts/configure
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+echo ${WRKSRC}/components.conf
+if [ -f ${WRKSRC}/components.conf ]; then
+ exit
+fi
+
+tempfile=`/usr/bin/mktemp -t checklist`
+
+echo "browser langenus regus venkman xpcom" > /tmp/checklist.tmp.$$;
+
+/usr/bin/dialog --title "Mozilla component selection" --clear \
+ --checklist "\n\
+Choose which components of Mozilla to download and install. \n\
+Press the space bar to toggle selections." -1 -1 5 \
+"chatzilla" "IRC client (102 kB)" ON \
+"deflenus" "American English profile defaults (8 kB)" ON \
+"mail" "Mozilla Mail and News (1728 kB)" ON \
+"psm" "Personal Security Manager--recommended (656 kB)" ON \
+"talkback" "sends crash logs to Mozilla staff (832 kB)" ON \
+2>> /tmp/checklist.tmp.$$
+
+retval=$?
+
+case $retval in
+ 1) echo "Cancel pressed."
+ exit 1
+ ;;
+esac
+
+choice=`cat /tmp/checklist.tmp.$$`
+rm -f /tmp/checklist.tmp.$$
+
+echo "$choice"
+echo "$choice" \
+ | sed -e "s/\"//g" \
+ | sort -u \
+ | sed -e "s/ /.xpi /g" \
+ | sed -e "s/$/.xpi/g" \
+ | perl -pi -e "s/ /\n/g" \
+ > ${WRKSRC}/components.conf
diff --git a/www/linux-mozilla/Makefile b/www/linux-mozilla/Makefile
index 5c1892bbc5ca..fd1a8885eb26 100644
--- a/www/linux-mozilla/Makefile
+++ b/www/linux-mozilla/Makefile
@@ -12,16 +12,6 @@ CATEGORIES= www linux
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= mozilla/releases/mozilla${PORTVERSION}/linux-xpi/
PKGNAMEPREFIX= linux-
-DISTFILES= browser.xpi \
- chatzilla.xpi \
- deflenus.xpi \
- langenus.xpi \
- mail.xpi \
- psm.xpi \
- regus.xpi \
- talkback.xpi \
- venkman.xpi \
- xpcom.xpi
DIST_SUBDIR= linux-mozilla/${PORTVERSION}
PATCH_SITES= ${MASTER_SITE_LOCAL}
@@ -44,6 +34,62 @@ PKGMESSAGE= ${WRKDIR}/pkg-message
PLIST= ${WRKDIR}/pkg-plist
STARTUP_CMD= linux-mozilla
+.if !defined(BATCH)
+IS_INTERACTIVE= yes
+.endif
+
+.include <bsd.port.pre.mk>
+
+pre-everything::
+ ${MKDIR} ${WRKSRC}
+.if !defined(BATCH)
+ ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure
+.endif
+DISTFILES= browser.xpi \
+ chatzilla.xpi \
+ deflenus.xpi \
+ langenus.xpi \
+ mail.xpi \
+ psm.xpi \
+ regus.xpi \
+ talkback.xpi \
+ venkman.xpi \
+ xpcom.xpi
+.if exists(${WRKDIRPREFIX}${.CURDIR}/work/xpi/components.conf)
+DISTFILES!= ${CAT} ${WRKDIRPREFIX}${.CURDIR}/work/xpi/components.conf
+.endif
+
+checksum:
+.if !defined(REAL_EXTRACT)
+ @cd ${.CURDIR} && ${MAKE} ${__softMAKEFLAGS} fetch
+.endif
+ @if [ ! -f ${MD5_FILE} ]; then \
+ ${ECHO_MSG} ">> No MD5 checksum file."; \
+ else \
+ (cd ${DISTDIR}; OK="true"; \
+ for file in ${_CKSUMFILES}; do \
+ if [ -r $$file ]; then \
+ CKSUM=`${MD5} < $$file`; \
+ CKSUM2=`${GREP} "^MD5 ($$file)" ${MD5_FILE} | ${AWK} '{print $$4}'`; \
+ if [ "$$CKSUM2" = "" ]; then \
+ ${ECHO_MSG} ">> No checksum recorded for $$file."; \
+ OK="false"; \
+ elif ${EXPR} "$$CKSUM2" : ".*$$CKSUM" > /dev/null; then \
+ ${ECHO_MSG} ">> Checksum OK for $$file."; \
+ else \
+ ${ECHO_MSG} ">> Checksum mismatch for $$file."; \
+ OK="false"; \
+ fi; \
+ fi; \
+ done; \
+ if [ "$$OK" != "true" ]; then \
+ ${ECHO_MSG} "Make sure the Makefile and distinfo file (${MD5_FILE})"; \
+ ${ECHO_MSG} "are up to date. If you are absolutely sure you want to override this"; \
+ ${ECHO_MSG} "check, type \"make NO_CHECKSUM=yes [other args]\"."; \
+ exit 1; \
+ fi) ; \
+ fi
+
do-extract:
${MKDIR} ${WRKSRC}
.for i in ${DISTFILES}
@@ -51,7 +97,20 @@ do-extract:
.endfor
do-patch:
+ ${MKDIR} ${WRKSRC}/tmp
+ ${TAR} -C ${WRKSRC}/tmp -xzf ${DISTDIR}/${DIST_SUBDIR}/${PATCHFILES}
${TAR} -C ${WRKSRC}/bin -xzf ${DISTDIR}/${DIST_SUBDIR}/${PATCHFILES}
+ for j in chatzilla messenger pippki; do \
+ if [ ! -e ${WRKSRC}/bin/chrome/$$j.jar ]; then \
+ for i in communicator editor messenger navigator; do \
+ ${GREP} -v $$j ${WRKSRC}/tmp/chrome/overlayinfo/$$i/content/overlays.rdf > \
+ ${WRKSRC}/bin/chrome/overlayinfo/$$i/content/overlays.rdf; \
+ ${CP} ${WRKSRC}/bin/chrome/overlayinfo/$$i/content/overlays.rdf \
+ ${WRKSRC}/tmp/chrome/overlayinfo/$$i/content/overlays.rdf; \
+ done; \
+ ${RM} -f ${WRKSRC}/bin/chrome/overlayinfo/$$j/content/overlays.rdf; \
+ fi; \
+ done;
do-configure:
# - kldload linux
@@ -94,4 +153,4 @@ post-install:
- ${PREFIX}/lib/linux-mozilla/linkfarm
${CAT} ${PKGMESSAGE}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/www/linux-mozilla/scripts/configure b/www/linux-mozilla/scripts/configure
new file mode 100644
index 000000000000..bae76ba96ec1
--- /dev/null
+++ b/www/linux-mozilla/scripts/configure
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# $FreeBSD$
+
+echo ${WRKSRC}/components.conf
+if [ -f ${WRKSRC}/components.conf ]; then
+ exit
+fi
+
+tempfile=`/usr/bin/mktemp -t checklist`
+
+echo "browser langenus regus venkman xpcom" > /tmp/checklist.tmp.$$;
+
+/usr/bin/dialog --title "Mozilla component selection" --clear \
+ --checklist "\n\
+Choose which components of Mozilla to download and install. \n\
+Press the space bar to toggle selections." -1 -1 5 \
+"chatzilla" "IRC client (102 kB)" ON \
+"deflenus" "American English profile defaults (8 kB)" ON \
+"mail" "Mozilla Mail and News (1728 kB)" ON \
+"psm" "Personal Security Manager--recommended (656 kB)" ON \
+"talkback" "sends crash logs to Mozilla staff (832 kB)" ON \
+2>> /tmp/checklist.tmp.$$
+
+retval=$?
+
+case $retval in
+ 1) echo "Cancel pressed."
+ exit 1
+ ;;
+esac
+
+choice=`cat /tmp/checklist.tmp.$$`
+rm -f /tmp/checklist.tmp.$$
+
+echo "$choice"
+echo "$choice" \
+ | sed -e "s/\"//g" \
+ | sort -u \
+ | sed -e "s/ /.xpi /g" \
+ | sed -e "s/$/.xpi/g" \
+ | perl -pi -e "s/ /\n/g" \
+ > ${WRKSRC}/components.conf