aboutsummaryrefslogtreecommitdiffstats
path: root/mail/squirrelmail
diff options
context:
space:
mode:
Diffstat (limited to 'mail/squirrelmail')
-rw-r--r--mail/squirrelmail/Makefile44
-rw-r--r--mail/squirrelmail/distinfo4
-rw-r--r--mail/squirrelmail/files/patch-class__deliver__Deliver.class.php31
-rw-r--r--mail/squirrelmail/files/patch-config-config_default.php20
-rw-r--r--mail/squirrelmail/files/patch-plugins-mail_fetch-functions.php33
-rw-r--r--mail/squirrelmail/files/patch-plugins-message_details-message_details_bottom.php11
-rw-r--r--mail/squirrelmail/files/pkg-deinstall.in43
-rw-r--r--mail/squirrelmail/files/pkg-install.in31
-rw-r--r--mail/squirrelmail/files/pkg-message.in28
-rw-r--r--mail/squirrelmail/pkg-plist12
10 files changed, 49 insertions, 208 deletions
diff --git a/mail/squirrelmail/Makefile b/mail/squirrelmail/Makefile
index 974ca6033af..c1747f794cd 100644
--- a/mail/squirrelmail/Makefile
+++ b/mail/squirrelmail/Makefile
@@ -2,34 +2,33 @@
# $FreeBSD$
PORTNAME= squirrelmail
-PORTVERSION= 1.4.22
-PORTREVISION= 3
+PORTVERSION= 20131020
CATEGORIES= mail www
-MASTER_SITES= SF/${PORTNAME}/stable/${PORTVERSION}
-DISTNAME= ${PORTNAME}-webmail-${PORTVERSION}
+MASTER_SITES= ${MASTER_SITE_LOCAL}
+MASTER_SITE_SUBDIR= adamw
+DISTNAME= ${PORTNAME}-${PORTVERSION}_0200-SVN.stable
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= adamw@FreeBSD.org
COMMENT= A webmail system which accesses mail over IMAP
+# This snapshot tarball contains php 5.4 and 5.5 compatibility
+# patches, but the only guaranteed compatibility is with php 5.3.
+# If you encounter problems, downgrade to php 5.3.
+
USE_PHP= session mhash gettext mbstring pcre openssl xml
WANT_PHP_WEB= yes
-### Folks, please stop removing the following line and asking me why
-### squirrelmail doesn't work. I know the canned error says that SM
-### is incompatible with php 5, but it is just php-5.4 that it is
-### incompatible with. Install lang/php53 and it will work.
-### This will be fixed if/when the SM team releases the next version.
-IGNORE_WITH_PHP=5 # known incompatibilities with php-5.4, use 5.3 for now
-DEFAULT_PHP_VER=53
USE_BZIP2= yes
USES= gettext
+WRKSRC= ${WRKDIR}/${PORTNAME}.stable/${PORTNAME}
+
OPTIONS_DEFINE= DATABASE LDAP
DATABASE_DESC= PEAR database support (must also intall a driver)
# if you were using WITHOUT_WWWDIR, use SQUIRRELDIR=${PREFIX}/${PORTNAME}
-SQUIRRELDIR?= ${PREFIX}/www/${PORTNAME}
+SQUIRRELDIR?= ${WWWDIR}
SMUSER?= ${WWWOWN}
SMGROUP?= ${WWWGRP}
@@ -37,10 +36,11 @@ USERS= ${SMUSER}
GROUPS= ${SMGROUP}
PLIST_SUB= PORTVERSION=${PORTVERSION} \
- SQUIRRELDIR="${SQUIRRELDIR:S,^${PREFIX}/,,}"
+ FULLPATH="${SQUIRRELDIR}" \
+ SQUIRRELDIR="${SQUIRRELDIR:S,^${PREFIX}/,,}" \
-SUB_FILES= pkg-message pkg-install pkg-deinstall
-SUB_LIST= SQUIRRELDIR=${SQUIRRELDIR} SMUSER=${SMUSER} SMGROUP=${SMGROUP}
+SUB_FILES= pkg-message
+SUB_LIST= SQUIRRELDIR=${SQUIRRELDIR} SMUSER=${SMUSER} SMGROUP=${SMGROUP}
CONFLICTS= squirreloutlook-[0-9]*
@@ -64,9 +64,11 @@ post-patch:
${WRKSRC}/plugins/squirrelspell/sqspell_config.php
@${REINPLACE_CMD} -e 's|/usr/bin/fortune|/usr/games/fortune|g' \
${WRKSRC}/plugins/fortune/fortune_functions.php
+ @${REINPLACE_CMD} -e 's|/var/local/squirrelmail|${SQUIRRELDIR}|g' \
+ ${WRKSRC}/config/conf.pl ${WRKSRC}/config/config_default.php ${WRKSRC}/doc/INSTALL
-# Rearrange the documentation
do-build:
+# Rearrange the documentation
@${MV} ${WRKSRC}/themes/README.themes ${WRKSRC}/doc/
@cd ${WRKSRC} ; for f in `${FIND} plugins -name "README*" -or \
-name INSTALL -or -name CHANGES -or -name HISTORY`; \
@@ -79,8 +81,12 @@ do-build:
${MV} plugins/squirrelspell/doc/* doc/plugins/squirrelspell ; \
${RM} -f doc/plugins/squirrelspell/index.php ; \
${RM} -rf plugins/squirrelspell/doc
+
@${ECHO} "left_refresh=300" >> ${WRKSRC}/data/default_pref
@${MV} ${WRKSRC}/config/config_local.php ${WRKSRC}/config/config_local.php.sample
+ @${MV} ${WRKSRC}/data/default_pref ${WRKSRC}/data/default_pref-dist
+ @${MKDIR} ${WRKSRC}/attach
+ @${CP} -p ${WRKSRC}/data/.htaccess ${WRKSRC}/attach/.htaccess
pre-install:
@${FIND} ${WRKSRC} -name '*.orig' -delete
@@ -92,15 +98,13 @@ do-install:
${MKDIR} ${STAGEDIR}${SQUIRRELDIR}
${INSTALL_DATA} ${WRKSRC}/index.php ${STAGEDIR}${SQUIRRELDIR}
${INSTALL_SCRIPT} ${WRKSRC}/configure ${STAGEDIR}${SQUIRRELDIR}
-.for DIR in class config data functions help images include locale plugins po src themes
+.for DIR in attach class config data functions help images include locale plugins po src themes
cd ${WRKSRC} && ${FIND} ${DIR} | ${CPIO} -pdmu --quiet ${STAGEDIR}${SQUIRRELDIR}
.endfor
${CHOWN} -R ${SMUSER}:${SMGROUP} ${STAGEDIR}${SQUIRRELDIR}/data
+ ${CHMOD} 733 ${STAGEDIR}${SQUIRRELDIR}/attach
${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC}/doc && ${FIND} . | ${CPIO} -pdmu --quiet ${STAGEDIR}${DOCSDIR}
-post-install:
- @${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
-
.include <bsd.port.mk>
diff --git a/mail/squirrelmail/distinfo b/mail/squirrelmail/distinfo
index 646046e51dc..9685936e6b6 100644
--- a/mail/squirrelmail/distinfo
+++ b/mail/squirrelmail/distinfo
@@ -1,2 +1,2 @@
-SHA256 (squirrelmail/squirrelmail-webmail-1.4.22.tar.bz2) = 2231578d0f9abeae52bc4e461a6773d78762f20a27e1e2fbebc1a11ccd1af877
-SIZE (squirrelmail/squirrelmail-webmail-1.4.22.tar.bz2) = 531360
+SHA256 (squirrelmail/squirrelmail-20131020_0200-SVN.stable.tar.bz2) = bec67ca3b0dd6f5435fa9fd7fe0cfe0f6662abfefce7589ebb484f0dc9ac5a60
+SIZE (squirrelmail/squirrelmail-20131020_0200-SVN.stable.tar.bz2) = 541979
diff --git a/mail/squirrelmail/files/patch-class__deliver__Deliver.class.php b/mail/squirrelmail/files/patch-class__deliver__Deliver.class.php
deleted file mode 100644
index ce770b02064..00000000000
--- a/mail/squirrelmail/files/patch-class__deliver__Deliver.class.php
+++ /dev/null
@@ -1,31 +0,0 @@
---- ./class/deliver/Deliver.class.php.orig 2010-08-03 16:33:49.000000000 -0400
-+++ ./class/deliver/Deliver.class.php 2010-08-03 16:35:25.000000000 -0400
-@@ -542,7 +542,19 @@
- $cnt = count($header);
- $hdr_s = '';
- for ($i = 0 ; $i < $cnt ; $i++) {
-- $hdr_s .= $this->foldLine($header[$i]);
-+ /*
-+ * FIXME: Leave some name fields (filename, username) as they
-+ * are, for now. If you want to fold these fields,
-+ *
-+ * 1) Count columns with base64 encoded chars, and
-+ * 2) Split RAW text (before encoding), and
-+ * 3) encode each splitted RAW texts.
-+ */
-+ if (strstr($header[$i], 'name') === false) {
-+ $hdr_s .= $this->foldLine($header[$i], 78);
-+ } else {
-+ $hdr_s .= $header[$i];
-+ }
- }
- $header = $hdr_s;
- $header .= $rn; /* One blank line to separate mimeheader and body-entity */
-@@ -778,6 +790,7 @@
- case 'Cc':
- case 'Bcc':
- case 'From':
-+ case 'Subject': // Prevent from base64-folding corruption.
- $hdr_s .= $header[$i];
- break;
- default: $hdr_s .= $this->foldLine($header[$i]); break;
diff --git a/mail/squirrelmail/files/patch-config-config_default.php b/mail/squirrelmail/files/patch-config-config_default.php
deleted file mode 100644
index 6a5ee4b5874..00000000000
--- a/mail/squirrelmail/files/patch-config-config_default.php
+++ /dev/null
@@ -1,20 +0,0 @@
---- config/config_default.php.orig Wed May 9 16:48:26 2007
-+++ config/config_default.php Wed May 9 16:49:20 2007
-@@ -464,7 +464,7 @@
- *
- * @global string $data_dir
- */
--$data_dir = '/var/local/squirrelmail/data/';
-+$data_dir = '/var/spool/squirrelmail/pref/';
-
- /**
- * Attachments directory
-@@ -482,7 +482,7 @@
- * + It should probably be another directory than data_dir.
- * @global string $attachment_dir
- */
--$attachment_dir = '/var/local/squirrelmail/attach/';
-+$attachment_dir = '/var/spool/squirrelmail/attach/';
-
- /**
- * Hash level used for data directory.
diff --git a/mail/squirrelmail/files/patch-plugins-mail_fetch-functions.php b/mail/squirrelmail/files/patch-plugins-mail_fetch-functions.php
deleted file mode 100644
index bb1d04ce9e7..00000000000
--- a/mail/squirrelmail/files/patch-plugins-mail_fetch-functions.php
+++ /dev/null
@@ -1,33 +0,0 @@
---- plugins/mail_fetch/functions.php.old 2012-09-08 17:58:39.000000000 -0400
-+++ plugins/mail_fetch/functions.php 2012-09-08 18:01:06.000000000 -0400
-@@ -92,15 +92,22 @@
- return '';
- }
-
--function hex2bin( $data ) {
-- /* Original code by josh@superfork.com */
-+/**
-+ * hex2bin - convert a hexadecimal string into binary
-+ * Part of php54, so don't try to clobber it
-+ */
-+if ( ! function_exists('hex2bin') ) {
-+ function hex2bin( $data ) {
-
-- $len = strlen($data);
-- $newdata = '';
-- for( $i=0; $i < $len; $i += 2 ) {
-- $newdata .= pack( "C", hexdec( substr( $data, $i, 2) ) );
-- }
-- return $newdata;
-+ /* Original code by josh@superfork.com */
-+
-+ $len = strlen($data);
-+ $newdata = '';
-+ for( $i=0; $i < $len; $i += 2 ) {
-+ $newdata .= pack( "C", hexdec( substr( $data, $i, 2) ) );
-+ }
-+ return $newdata;
-+ }
- }
-
- function mf_keyED( $txt ) {
diff --git a/mail/squirrelmail/files/patch-plugins-message_details-message_details_bottom.php b/mail/squirrelmail/files/patch-plugins-message_details-message_details_bottom.php
deleted file mode 100644
index f468f859085..00000000000
--- a/mail/squirrelmail/files/patch-plugins-message_details-message_details_bottom.php
+++ /dev/null
@@ -1,11 +0,0 @@
---- plugins/message_details/message_details_bottom.php.orig 2012-11-16 16:16:25.000000000 -0500
-+++ plugins/message_details/message_details_bottom.php 2012-11-16 16:16:49.000000000 -0500
-@@ -85,7 +85,7 @@
- $messageheaderstart=false;
- $boundaries = array();
- $entities = array();
--session_unregister("entities");
-+sqsession_unregister("entities");
- $pre = '<b>';
- $end = '</b>';
- $entStr = '';
diff --git a/mail/squirrelmail/files/pkg-deinstall.in b/mail/squirrelmail/files/pkg-deinstall.in
deleted file mode 100644
index b0738c370e2..00000000000
--- a/mail/squirrelmail/files/pkg-deinstall.in
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-#set -vx
-
-PKG_BATCH=${BATCH:=NO}
-
-PKG_PREFIX=${PKG_PREFIX:=/usr/local}
-
-SQUIRRELDIR=%%SQUIRRELDIR%%
-
-checkfile() {
- diff -bBqw $1 $2 >/dev/null 2>&1
- case $? in
- 0) # config file exists, but is the same
- rm $1
- ;;
- 1) # config file exists and differs
- ;;
- *) # no config file exists
- ;;
- esac
-}
-
-case $2 in
- DEINSTALL)
- cd ${PKG_PREFIX}
- checkfile /var/spool/squirrelmail/prefs/default_pref \
- ${SQUIRRELDIR}/data/default_pref
- ;;
- POST-DEINSTALL)
- if [ "${PKG_BATCH}" = "NO" ]; then
- echo "If you are no longer going to use SquirrelMail"
- echo "you should remove the /var/spool/squirrelmail"
- echo "directory with:"
- echo
- echo " rm -rf /var/spool/squirrelmail"
- fi
- ;;
-
-esac
diff --git a/mail/squirrelmail/files/pkg-install.in b/mail/squirrelmail/files/pkg-install.in
deleted file mode 100644
index 0506ee7af3d..00000000000
--- a/mail/squirrelmail/files/pkg-install.in
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-PKG_BATCH=${BATCH:=NO}
-PKG_PREFIX=${PKG_PREFIX:=/usr/local}
-
-SQUIRRELDIR=%%SQUIRRELDIR%%
-
-case $2 in
-PRE-INSTALL)
- exit 0
- ;;
-POST-INSTALL)
- if [ "${PKG_BATCH}" = "NO" ]; then
- install -d -o %%SMUSER%% -g %%SMGROUP%% -m 0755 /var/spool/squirrelmail
- install -d -o %%SMUSER%% -g %%SMGROUP%% -m 0730 /var/spool/squirrelmail/attach
- install -d -o %%SMUSER%% -g %%SMGROUP%% -m 0750 /var/spool/squirrelmail/pref
- if [ ! -f /var/spool/squirrelmail/pref/default_pref ]; then
- cp -rp ${SQUIRRELDIR}/data/default_pref \
- /var/spool/squirrelmail/pref/default_pref
- else
- echo ""
- echo "An older version of default_pref exists in"
- echo "/var/spool/squirrelmail/pref, you may want to"
- echo "compare it with the one in ${SQUIRRELDIR}/data"
- fi
- fi
- ;;
-esac
diff --git a/mail/squirrelmail/files/pkg-message.in b/mail/squirrelmail/files/pkg-message.in
index 8a024429f49..668eefdc848 100644
--- a/mail/squirrelmail/files/pkg-message.in
+++ b/mail/squirrelmail/files/pkg-message.in
@@ -1,20 +1,18 @@
+To activate SquirrelMail, you must complete the following steps:
-You now need to add an alias to apache's httpd.conf pointing to
-%%SQUIRRELDIR%% in order to access SquirrelMail from
-your web browser, or create a VirtualHost with DocumentRoot set to
-that directory.
+1) Set up a VirtualHost or an alias in httpd.conf that points to
+ %%SQUIRRELDIR%%
-For SquirrelMail to work properly you will need to make sure the
-following option is set in your php.ini file:
-file_uploads = On
+2) Make sure the following is set in your php.ini:
+ file_uploads = On
-If you have problems with SquirrelMail saying "you must login" after
-you just have, the following php.ini option may help:
-session.auto_start = 1
+3) If you have trouble logging in, add the following to your php.ini:
+ session.auto_start = 1
-In order to do your administrative configuration you need to
-cd %%SQUIRRELDIR%% && ./configure
-SquirrelMail will not work until this has been done. After this
-step is complete, and the config.php is created, plugin ports will
-properly auto activate.
+4) Configure your installation.
+ SQUIRRELMAIL WILL NOT WORK UNTIL THIS HAS BEEN DONE.
+ cd %%SQUIRRELDIR%% && ./configure
+5) It is best practice to change the data/user preference directory
+ (under General Options) to somewhere outside of
+ %%SQUIRRELDIR%%.
diff --git a/mail/squirrelmail/pkg-plist b/mail/squirrelmail/pkg-plist
index 998f2d112c5..a60315bdd17 100644
--- a/mail/squirrelmail/pkg-plist
+++ b/mail/squirrelmail/pkg-plist
@@ -1,4 +1,5 @@
etc/periodic/daily/111.clean-squirrelmail
+%%SQUIRRELDIR%%/attach/.htaccess
%%SQUIRRELDIR%%/class/.htaccess
%%SQUIRRELDIR%%/class/deliver/Deliver.class.php
%%SQUIRRELDIR%%/class/deliver/Deliver_IMAP.class.php
@@ -22,12 +23,14 @@ etc/periodic/daily/111.clean-squirrelmail
%%SQUIRRELDIR%%/config/.htaccess
%%SQUIRRELDIR%%/config/conf.pl
%%SQUIRRELDIR%%/config/config_default.php
-@unexec if cmp -s %D%/www/squirrelmail/config/config_local.php %D%/www/squirrelmail/config/config_local.php.sample; then rm -f %D%/www/squirrelmail/config/config_local.php; fi
+@unexec if cmp -s %D/www/squirrelmail/config/config_local.php %D/www/squirrelmail/config/config_local.php.sample; then rm -f %D/www/squirrelmail/config/config_local.php; fi
%%SQUIRRELDIR%%/config/config_local.php.sample
%%SQUIRRELDIR%%/config/index.php
%%SQUIRRELDIR%%/configure
%%SQUIRRELDIR%%/data/.htaccess
-%%SQUIRRELDIR%%/data/default_pref
+@unexec if cmp -s %D/www/squirrelmail/data/default_pref-dist %D/www/squirrelmail/data/default_pref; then rm -f %D/www/squirrelmail/data/default_pref; fi
+%%SQUIRRELDIR%%/data/default_pref-dist
+@exec if [ ! -f %D/www/squirrelmail/data/default_pref ]; then cp -p %D/%F %B/default_pref; fi
%%SQUIRRELDIR%%/data/index.php
%%SQUIRRELDIR%%/functions/.htaccess
%%SQUIRRELDIR%%/functions/abook_database.php
@@ -368,6 +371,8 @@ etc/periodic/daily/111.clean-squirrelmail
%%SQUIRRELDIR%%/themes/simple_green_theme.php
%%SQUIRRELDIR%%/themes/simple_purple.php
%%SQUIRRELDIR%%/themes/slashdot_theme.php
+%%SQUIRRELDIR%%/themes/solarized_dark.php
+%%SQUIRRELDIR%%/themes/solarized_light.php
%%SQUIRRELDIR%%/themes/spice_of_life.php
%%SQUIRRELDIR%%/themes/spice_of_life_dark.php
%%SQUIRRELDIR%%/themes/spice_of_life_lite.php
@@ -441,6 +446,7 @@ etc/periodic/daily/111.clean-squirrelmail
%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.20.txt
%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.20RC1.txt
%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.21.txt
+%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.22.txt
%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.3.txt
%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.3a.txt
%%PORTDOCS%%%%DOCSDIR%%/release_notes_archive/1.4/Notes-1.4.4.txt
@@ -457,6 +463,7 @@ etc/periodic/daily/111.clean-squirrelmail
@dirrm %%SQUIRRELDIR%%/themes/css
@dirrm %%SQUIRRELDIR%%/themes
@dirrm %%SQUIRRELDIR%%/src
+@dirrmtry %%SQUIRRELDIR%%/pref
@dirrm %%SQUIRRELDIR%%/po
@dirrm %%SQUIRRELDIR%%/plugins/translate
@dirrm %%SQUIRRELDIR%%/plugins/test
@@ -495,6 +502,7 @@ etc/periodic/daily/111.clean-squirrelmail
@dirrm %%SQUIRRELDIR%%/class/helper
@dirrm %%SQUIRRELDIR%%/class/deliver
@dirrm %%SQUIRRELDIR%%/class
+@dirrmtry %%SQUIRRELDIR%%/attach
@dirrmtry %%SQUIRRELDIR%%
@dirrmtry etc/periodic/daily
@dirrmtry etc/periodic