[Midnightbsd-cvs] mports [17892] trunk/mail: add roundcube, drop old dovecot release in favor of 2.x

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Dec 20 10:43:28 EST 2014


Revision: 17892
          http://svnweb.midnightbsd.org/mports/?rev=17892
Author:   laffer1
Date:     2014-12-20 10:43:27 -0500 (Sat, 20 Dec 2014)
Log Message:
-----------
add roundcube, drop old dovecot release in favor of 2.x

Modified Paths:
--------------
    trunk/mail/Makefile

Added Paths:
-----------
    trunk/mail/roundcube/
    trunk/mail/roundcube/Makefile
    trunk/mail/roundcube/distinfo
    trunk/mail/roundcube/files/
    trunk/mail/roundcube/files/patch-INSTALL
    trunk/mail/roundcube/files/patch-config_defaults.inc.php
    trunk/mail/roundcube/files/patch-installer_check.php
    trunk/mail/roundcube/files/patch-program_lib_Roundcube_bootstrap.php
    trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_message.php
    trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_session.php
    trunk/mail/roundcube/files/spellchecker.php
    trunk/mail/roundcube/pkg-descr
    trunk/mail/roundcube/pkg-message

Removed Paths:
-------------
    trunk/mail/dovecot/
    trunk/mail/dovecot-managesieve/
    trunk/mail/dovecot-sieve/

Modified: trunk/mail/Makefile
===================================================================
--- trunk/mail/Makefile	2014-12-20 15:42:25 UTC (rev 17891)
+++ trunk/mail/Makefile	2014-12-20 15:43:27 UTC (rev 17892)
@@ -13,7 +13,6 @@
 SUBDIR += couriergraph
 SUBDIR += chk4mail
 SUBDIR += dcc-dccd
-SUBDIR += dovecot
 SUBDIR += dovecot2
 SUBDIR += evolution
 SUBDIR += evolution-exchange
@@ -62,6 +61,7 @@
 SUBDIR += procmail
 SUBDIR += pyzor
 SUBDIR += razor-agents
+SUBDIR += roundcube
 SUBDIR += sendmail
 SUBDIR += spamassassin
 SUBDIR += spamd

Added: trunk/mail/roundcube/Makefile
===================================================================
--- trunk/mail/roundcube/Makefile	                        (rev 0)
+++ trunk/mail/roundcube/Makefile	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,102 @@
+# $FreeBSD: head/mail/roundcube/Makefile 369697 2014-10-01 07:13:26Z ale $
+
+PORTNAME=	roundcube
+DISTVERSION=	1.0.3
+CATEGORIES?=	mail www
+MASTER_SITES=	SF/${PORTNAME}mail/${PORTNAME}mail/${DISTVERSION:tu}
+DISTNAME=	${PORTNAME}mail-${DISTVERSION}
+
+MAINTAINER?=	ports at MidnightBSD.org
+COMMENT=	Fully skinnable XHTML/CSS webmail written in PHP
+
+LICENSE=	gpl3
+
+NO_BUILD=	yes
+
+RCUBECOMP=	SQL config index.php installer logs plugins program robots.txt skins temp
+PORTDOCS=	CHANGELOG INSTALL README.md UPGRADING
+
+WANT_PHP_WEB=	yes
+USE_PHP=	pcre mbstring session iconv dom xml json intl zip filter
+IGNORE_WITH_PHP=52
+
+OPTIONS_DEFINE=	SSL LDAP GD PSPELL NSC DOCS
+OPTIONS_SINGLE=	DB
+OPTIONS_SINGLE_DB=	MYSQL PGSQL SQLITE
+OPTIONS_DEFAULT=MYSQL
+
+MYSQL_DESC=	Use MySQL backend
+PGSQL_DESC=	Use PostgreSQL backend
+SQLITE_DESC=	Use SQLite backend
+SSL_DESC=	Enable SSL support (imaps or google spellcheck)
+LDAP_DESC=	Enable LDAP support (address book)
+GD_DESC=	Enable GD support (image conversion)
+PSPELL_DESC=	Enable PSpell support (internal spellcheck)
+NSC_DESC=	Install network spellchecker
+
+.include <bsd.mport.options.mk>
+
+.if ${PORT_OPTIONS:MMYSQL}
+USE_PHP+=	pdo_mysql
+.endif
+
+.if ${PORT_OPTIONS:MPGSQL}
+USE_PHP+=	pdo_pgsql
+.endif
+
+.if ${PORT_OPTIONS:MSQLITE}
+USE_PHP+=	pdo_sqlite
+.endif
+
+.if ${PORT_OPTIONS:MSSL}
+USE_PHP+=	openssl
+.endif
+
+.if ${PORT_OPTIONS:MLDAP}
+USE_PHP+=	ldap
+.endif
+
+.if ${PORT_OPTIONS:MGD}
+USE_PHP+=	gd
+.endif
+
+.if ${PORT_OPTIONS:MPSPELL} || ${PORT_OPTIONS:MNSC}
+USE_PHP+=	pspell
+.endif
+
+.if ${PORT_OPTIONS:MNSC}
+RCUBECOMP+=	spellchecker.php
+USE_PHP+=	simplexml
+PLIST_SUB+=	SPELLCHECK=""
+.else
+PLIST_SUB+=	SPELLCHECK="@comment "
+.endif
+
+.if ${PORT_OPTIONS:MNSC}
+post-extract:
+	@${CP} ${FILESDIR}/spellchecker.php ${WRKSRC}
+.endif
+
+post-patch:
+	@${FIND} ${WRKSRC} -name \*.orig -type f -delete
+
+do-install:
+	-${MKDIR} ${WWWDIR}
+	@cd ${WRKSRC} && ${COPYTREE_BIN} bin ${WWWDIR}
+.for i in ${RCUBECOMP}
+	@cd ${WRKSRC} && ${COPYTREE_SHARE} ${i} ${WWWDIR}
+.endfor
+.if ${PORT_OPTIONS:MDOCS}
+	${MKDIR} ${DOCSDIR}
+.for i in ${PORTDOCS}
+	@${INSTALL_DATA} ${WRKSRC}/${i} ${DOCSDIR}/
+.endfor
+.endif
+	@(cd ${WRKSRC}; ${FIND} bin ${RCUBECOMP} -not -type d) | ${SORT} | \
+		${SED} -ne 's,^,${WWWDIR_REL}/,p' >> ${TMPPLIST}
+	@${ECHO_CMD} '@exec chown ${WWWOWN}:${WWWGRP} %D/${WWWDIR_REL}/logs' \
+		>> ${TMPPLIST}
+	@${ECHO_CMD} '@exec chown ${WWWOWN}:${WWWGRP} %D/${WWWDIR_REL}/temp' \
+		>> ${TMPPLIST}
+
+.include <bsd.port.mk>


Property changes on: trunk/mail/roundcube/Makefile
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/distinfo
===================================================================
--- trunk/mail/roundcube/distinfo	                        (rev 0)
+++ trunk/mail/roundcube/distinfo	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,2 @@
+SHA256 (roundcubemail-1.0.3.tar.gz) = 8840bb6c1b08d35eeb35dff5e8d40f7771d19bae8cb65d13753f71a538f9a9ca
+SIZE (roundcubemail-1.0.3.tar.gz) = 3984245


Property changes on: trunk/mail/roundcube/distinfo
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/patch-INSTALL
===================================================================
--- trunk/mail/roundcube/files/patch-INSTALL	                        (rev 0)
+++ trunk/mail/roundcube/files/patch-INSTALL	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,10 @@
+--- INSTALL.orig	2010-12-13 17:37:36.000000000 +0100
++++ INSTALL	2010-12-13 17:37:44.000000000 +0100
+@@ -25,7 +25,6 @@
+    - file_uploads enabled (for attachment upload features)
+    - session.auto_start disabled
+    - zend.ze1_compatibility_mode disabled
+-   - suhosin.session.encrypt disabled
+    - mbstring.func_overload disabled
+ * PHP compiled with OpenSSL to connect to IMAPS and to use the spell checker
+ * A MySQL (4.0.8 or newer), PostgreSQL, MSSQL database engine


Property changes on: trunk/mail/roundcube/files/patch-INSTALL
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/patch-config_defaults.inc.php
===================================================================
--- trunk/mail/roundcube/files/patch-config_defaults.inc.php	                        (rev 0)
+++ trunk/mail/roundcube/files/patch-config_defaults.inc.php	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,13 @@
+--- config/defaults.inc.php.orig	2014-04-06 14:13:09.000000000 +0000
++++ config/defaults.inc.php	2014-04-10 09:08:58.242144399 +0000
+@@ -596,8 +596,8 @@
+ // connect to a Nox Spell Server when using 'googie' here. Therefore specify the 'spellcheck_uri'
+ $config['spellcheck_engine'] = 'googie';
+ 
+-// For locally installed Nox Spell Server or After the Deadline services,
+-// please specify the URI to call it.
++// For a locally installed spellcheker, specify the URI to call it, for example:
++// 'http://' . $_SERVER['HTTP_HOST'] . '/spellchecker.php?lang='
+ // Get Nox Spell Server from http://orangoo.com/labs/?page_id=72 or
+ // the After the Deadline package from http://www.afterthedeadline.com.
+ // Leave empty to use the public API of service.afterthedeadline.com


Property changes on: trunk/mail/roundcube/files/patch-config_defaults.inc.php
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/patch-installer_check.php
===================================================================
--- trunk/mail/roundcube/files/patch-installer_check.php	                        (rev 0)
+++ trunk/mail/roundcube/files/patch-installer_check.php	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,10 @@
+--- installer/check.php.orig	2012-08-06 18:18:13.000000000 +0200
++++ installer/check.php	2012-08-13 12:36:52.000000000 +0200
+@@ -39,7 +39,6 @@
+     'session.auto_start'            => 0,
+     'zend.ze1_compatibility_mode'   => 0,
+     'mbstring.func_overload'        => 0,
+-    'suhosin.session.encrypt'       => 0,
+     'magic_quotes_runtime'          => 0,
+     'magic_quotes_sybase'           => 0,
+ );


Property changes on: trunk/mail/roundcube/files/patch-installer_check.php
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/patch-program_lib_Roundcube_bootstrap.php
===================================================================
--- trunk/mail/roundcube/files/patch-program_lib_Roundcube_bootstrap.php	                        (rev 0)
+++ trunk/mail/roundcube/files/patch-program_lib_Roundcube_bootstrap.php	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,10 @@
+--- program/lib/Roundcube/bootstrap.php.orig	2014-07-07 18:18:50.261368902 +0000
++++ program/lib/Roundcube/bootstrap.php	2014-07-07 18:18:58.202127091 +0000
+@@ -38,7 +38,6 @@
+ // check these additional ini settings if not called via CLI
+ if (php_sapi_name() != 'cli') {
+     $config += array(
+-        'suhosin.session.encrypt' => false,
+         'file_uploads'            => true,
+     );
+ }


Property changes on: trunk/mail/roundcube/files/patch-program_lib_Roundcube_bootstrap.php
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_message.php
===================================================================
--- trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_message.php	                        (rev 0)
+++ trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_message.php	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,13 @@
+--- program/lib/Roundcube/rcube_message.php.orig	2010-11-26 13:41:16.000000000 +0100
++++ program/lib/Roundcube/rcube_message.php	2010-12-13 17:20:59.000000000 +0100
+@@ -452,9 +452,7 @@
+                 }
+                 // part is a file/attachment
+                 else if (preg_match('/^(inline|attach)/', $mail_part->disposition) ||
+-                    $mail_part->headers['content-id'] ||
+-                    ($mail_part->filename &&
+-                        (empty($mail_part->disposition) || preg_match('/^[a-z0-9!#$&.+^_-]+$/i', $mail_part->disposition)))
++                    $mail_part->headers['content-id'] || $mail_part->filename
+                 ) {
+                     // skip apple resource forks
+                     if ($message_ctype_secondary == 'appledouble' && $secondary_type == 'applefile')


Property changes on: trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_message.php
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_session.php
===================================================================
--- trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_session.php	                        (rev 0)
+++ trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_session.php	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,102 @@
+--- program/lib/Roundcube/rcube_session.php.orig	2014-04-06 14:13:10.000000000 +0000
++++ program/lib/Roundcube/rcube_session.php	2014-04-10 09:21:36.955091803 +0000
+@@ -35,7 +35,6 @@
+     private $time_diff = 0;
+     private $reloaded = false;
+     private $appends = array();
+-    private $unsets = array();
+     private $gc_handlers = array();
+     private $cookiename = 'roundcube_sessauth';
+     private $vars;
+@@ -176,7 +175,7 @@
+             $this->time_diff = time() - strtotime($sql_arr['ts']);
+             $this->changed   = strtotime($sql_arr['changed']);
+             $this->ip        = $sql_arr['ip'];
+-            $this->vars      = base64_decode($sql_arr['vars']);
++            $this->vars      = $sql_arr['vars'];
+             $this->key       = $key;
+ 
+             return !empty($this->vars) ? (string) $this->vars : '';
+@@ -214,12 +213,12 @@
+         }
+ 
+         if ($oldvars !== null) {
+-            $newvars = $this->_fixvars($vars, $oldvars);
++            $newvars = $vars;
+ 
+             if ($newvars !== $oldvars) {
+                 $this->db->query("UPDATE $table "
+                     . "SET changed = $now, vars = ? WHERE sess_id = ?",
+-                    base64_encode($newvars), $key);
++                    $newvars, $key);
+             }
+             else if ($ts - $this->changed + $this->time_diff > $this->lifetime / 2) {
+                 $this->db->query("UPDATE $table SET changed = $now"
+@@ -229,7 +228,7 @@
+         else {
+             $this->db->query("INSERT INTO $table (sess_id, vars, ip, created, changed)"
+                 . " VALUES (?, ?, ?, $now, $now)",
+-                $key, base64_encode($vars), (string)$this->ip);
++                $key, $vars, (string)$this->ip);
+         }
+ 
+         return true;
+@@ -237,40 +236,6 @@
+ 
+ 
+     /**
+-     * Merge vars with old vars and apply unsets
+-     */
+-    private function _fixvars($vars, $oldvars)
+-    {
+-        if ($oldvars !== null) {
+-            $a_oldvars = $this->unserialize($oldvars);
+-            if (is_array($a_oldvars)) {
+-                // remove unset keys on oldvars
+-                foreach ((array)$this->unsets as $var) {
+-                    if (isset($a_oldvars[$var])) {
+-                        unset($a_oldvars[$var]);
+-                    }
+-                    else {
+-                        $path = explode('.', $var);
+-                        $k = array_pop($path);
+-                        $node = &$this->get_node($path, $a_oldvars);
+-                        unset($node[$k]);
+-                    }
+-                }
+-
+-                $newvars = $this->serialize(array_merge(
+-                    (array)$a_oldvars, (array)$this->unserialize($vars)));
+-            }
+-            else {
+-                $newvars = $vars;
+-            }
+-        }
+-
+-        $this->unsets = array();
+-        return $newvars;
+-    }
+-
+-
+-    /**
+      * Handler for session_destroy()
+      *
+      * @param string Session ID
+@@ -332,7 +297,7 @@
+         else // else read data again
+             $oldvars = $this->mc_read($key);
+ 
+-        $newvars = $oldvars !== null ? $this->_fixvars($vars, $oldvars) : $vars;
++        $newvars = $vars;
+ 
+         if ($newvars !== $oldvars || $ts - $this->changed > $this->lifetime / 3) {
+             return $this->memcache->set($key, serialize(array('changed' => time(), 'ip' => $this->ip, 'vars' => $newvars)),
+@@ -470,8 +435,6 @@
+             return $this->destroy(session_id());
+         }
+ 
+-        $this->unsets[] = $var;
+-
+         if (isset($_SESSION[$var])) {
+             unset($_SESSION[$var]);
+         }


Property changes on: trunk/mail/roundcube/files/patch-program_lib_Roundcube_rcube_session.php
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/files/spellchecker.php
===================================================================
--- trunk/mail/roundcube/files/spellchecker.php	                        (rev 0)
+++ trunk/mail/roundcube/files/spellchecker.php	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,53 @@
+<?php
+/*-
+ * Copyright (c) 2006 Alex Dupre.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+$lang = $_REQUEST["lang"];
+$xml = new SimpleXMLElement(file_get_contents("php://input"));
+$spell = pspell_new($lang, "", "", "utf-8", PSPELL_NORMAL);
+$suggestions = array();
+$offset = 0;
+mb_regex_encoding("UTF-8");
+foreach (mb_split("\n", $xml->text) as $line) {
+  $len = mb_strlen($line, "UTF-8");
+  mb_ereg_search_init($line, "\w+");
+  while (($wpos = mb_ereg_search_pos()) != FALSE) {
+    $word = mb_substr($line, $wpos[0], $wpos[1]);
+    if (!pspell_check($spell, $word)) {
+      $woffset = mb_strlen(mb_substr($line, 0, $wpos[0]), "UTF-8");
+      $wlen = mb_strlen($word, "UTF-8");
+      array_push($suggestions, array($offset + $woffset, $wlen, pspell_suggest($spell, $word)));
+    }
+  }
+  $offset += $len + 1;
+}
+$xml = new SimpleXMLElement("<spellresponse/>");
+$xml->addAttribute("error", count($suggestions) ? "1" : "0");
+foreach ($suggestions as $s) {
+  $c = $xml->addChild("c", join("\t", $s[2]));
+  $c->addAttribute("o", $s[0]);
+  $c->addAttribute("l", $s[1]);
+  $c->addAttribute("s", "1");
+}
+header('Content-Type: text/xml');
+echo $xml->asXML();


Property changes on: trunk/mail/roundcube/files/spellchecker.php
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/pkg-descr
===================================================================
--- trunk/mail/roundcube/pkg-descr	                        (rev 0)
+++ trunk/mail/roundcube/pkg-descr	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,8 @@
+RoundCube Webmail is a browser-based multilingual IMAP client with an
+application-like user interface. It provides full functionality you
+expect from an e-mail client, including MIME support, address book,
+folder manipulation and message filters. RoundCube Webmail is written in
+PHP and requires the MySQL database. The user interface is fully
+skinnable using XHTML and CSS 2.
+
+WWW: http://www.roundcube.net/


Property changes on: trunk/mail/roundcube/pkg-descr
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: trunk/mail/roundcube/pkg-message
===================================================================
--- trunk/mail/roundcube/pkg-message	                        (rev 0)
+++ trunk/mail/roundcube/pkg-message	2014-12-20 15:43:27 UTC (rev 17892)
@@ -0,0 +1,12 @@
+---------------------------------------------------------------------
+FIRST INSTALLATION
+
+If this is a first installation of RoundCube you have to create
+a new database and a db user. Read INSTALL for detailed instructions.
+
+UPGRADING
+
+If you already had a previous version of RoundCube installed,
+you should check your config files and DB schema are up-to-date.
+Read UPGRADING for detailed instructions.
+---------------------------------------------------------------------


Property changes on: trunk/mail/roundcube/pkg-message
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list