pkgsrc/mail/roundcube/Makefile
taca 01c7c1bf79 Update roundcube to 1.2.1.
pkgsrc changes:

o Split some plugins (enigma, password and zipdownload) to separate packages.
o Drop PHP_VERSIONS_ACCEPTED since now it support PHP 7.0.
o Rename sockets PKG_OPTIONS to php-sockets.

Catch up PR pkg/51370 in a little different way.

RELEASE 1.2.1
-------------
- Update TinyMCE to version 4.3.13 (#5309)
- Fix bug where errors could have been not logged when per_user_logging=true
- Fix bug where message list columns could be in wrong order after column drag-n-drop and list sorting
- Fix so minified publickey.js (with cache-buster) is used when available (#5254)
- Fix (replace) application/x-tar file extension test as it might not exist in nginx config (#5253)
- Fix PHP warning when password_hosts is set, but is not an array (#5260)
- Fix redundant keep-alive requests when session_lifetime is greater than ~20000 (#5273)
- Fix so subfolders of INBOX can be set as Archive (#5274)
- Fix bug where multi-folder search could choose a wrong folder in "this and subfolders" scope (#5282)
- Fix bug where multi-folder search didn't work for unsubscribed INBOX (#5259)
- Fix bug where "no body" alert could be displayed when sending mailvelope email
- Enigma: Fix keys import from inside of an encrypted message (#5285)
- Enigma: Fix malformed signed messages with force_7bit=true (#5292)
- Enigma: Add possibility to configure gpg binary location (enigma_pgp_binary)
- Enigma: Add possibility to export private keys (#5321)
- Fix searching by email address in contacts with multiple addresses (#5291)
- Fix handling of --delete argument in moduserprefs.sh script (#5296)
- Workaround PHP issue by calling closelog() on script shutdown when using log_driver=syslog (#5289)
- Fix so upgrade script makes sure program/lib directory does not contain old libraries (#5287)
- Fix subscription checkbox state on error in folder subscribe/unsubscribe action (#5243)
- Fix bug where microsecond format in logged date didn't work in some cases
- Fix conflict in new_user_dialog and password_force_new_user settings (#5275)
- Don't create multipart/alternative messages with empty text/plain part (#5283)
- Use contact_search_name format in popup on results in compose contacts search
- Fix handling of 'mailto' and 'error' arguments in message_before_send hook (#5347)
- Fix missing localization of HTML editor when assets_dir != INSTALL_PATH
- Fix handling of blockquote tags with mixed case on html2text conversion (#5363)
- Fix javascript errors in IE on page with iframe that points to another domain

RELEASE 1.2.0
-------------
- Enigma: Added enigma_debug option
- Fix message list multi-select/deselect issue (#5219)
- Fix bug where getting HTML editor content could steal focus from other form controls (#5223)
- Fix bug where contact search menu fields where always unchecked in Larry skin
- Fix autoloading of 'html' class
- Fix bug where Encrypt button appears when switching editor to HTML (#5235)
- Fix XSS issue in href attribute on area tag (#5240)

RELEASE 1.2-rc
--------------
- Managesieve: Refactored script parser to be 100x faster
- Enigma: added option to force users to use signing/encryption
- Enigma: Added option to attach public keys to sent mail (#5152)
- Enigma: Handle messages with text before an encrypted block (#5149)
- Enigma: Handle encrypted/signed content inside message/rfc822 attachments
- Enigma: Fix missing html/plain switch on multipart/signed messages (#4963)
- Enigma: Disable format=flowed for signed plain text messages (#4960)
- Enigma: Fix handling of encrypted + signed messages (#4950)
- Enigma: Fix invalid boundary use in signed messages structure
- Enable use of TLSv1.1 and TLSv1.2 for IMAP (#4955)
- Save copy of original .htaccess file when using installto.sh script (#4947)
- Fix regression where some message attachments could be missing on edit/forward (#4939)
- Fix regression in displaying contents of message/rfc822 parts (#4937)
- Fix handling of message/rfc822 attachments on replies and forwards (#4938)
- Fix PDF support detection in Firefox > 19 (#4941)
- Fix path traversal vulnerability in setting a skin [CVE-2015-8770] (#4945)
- Fix so drag-n-drop of text (e.g. recipient addresses) on compose page actually works (#4944)
- Fix .htaccess rewrite rules to not block .well-known URIs (#4943)
- Fix mail view scaling on iOS (#4915)
- Fix PHP7 warning "session_start(): Session callback expects true/false return value" (#4948)
- Fix XSS issue in SVG images handling (#4949)
- Fix missing language name in "Add to Dictionary" request in HTML mode (#4951)
- Fix (again) security issue in DBMail driver of password plugin [CVE-2015-2181] (#4958)
- Fix bug where Archive/Junk buttons were not active after page jump with select=all mode (#4961)
- Fix bug in long recipients list parsing for cases where recipient name contained @-char (#4964)
- Plugin API: Added addressbook_export hook
- Fix additional_message_headers plugin compatibility with Mail_Mime >= 1.9 (#4966)
- Hide DSN option in Preferences when smtp_server is not used (#4967)
- Fix handling of body parameter in mail compose request
- Protect download urls against CSRF using unique request tokens (#4957)
- newmail_notifier: Refactor desktop notifications
- Fix so contactlist_fields option can be set via config file
- Fix so SPECIAL-USE assignments are forced only until user sets special folders (#4782)
- Fix performance in reverting order of THREAD result
- Fix converting mail addresses with @www. into mailto links (#5197)

RELEASE 1.2-beta
----------------
- Update TinyMCE to version 4.2
- Added support for Redis session handler
- Removed some deprecated methods: https://github.com/roundcube/roundcubemail/commit/454b0b1c
- Remove backward compatibility "layer" of bc.php (#4902)
- Add possibility to define date format in write operations for ldap attributes (#3956)
- Display attachment size in compose (#1329)
- Added possibility to drag-n-drop attachments from mail preview to compose window
- Implemented mail messages searching with predefined date interval
- PGP encryption support via Mailvelope integration
- PGP encryption support via Enigma plugin
- PHP7 compatibility fixes (#4836)
- Security: Added brute-force attack prevention via login rate limit (#4922)
- Security: Added options to validate username/password on logon (#4884)
- Security: Improve randomness of security tokens (#4899)
- Security: Use random security tokens instead of hashes based on encryption key (#4829)
- Security: Improved encrypt/decrypt methods with option to choose the cipher_method (#4492)
- Make optional adding of standard signature separator - sig_separator (#3276)
- Optimize folder_size() on Cyrus IMAP by using special folder annotation (#4894)
- Make optional hidding of folders with name starting with a dot - imap_skip_hidden_folders (#4870)
- Add option to enable HTML editor always, except when replying to plain text messages (#4352)
- Emoticons: Added option to switch on/off emoticons in compose editor (#2076)
- Emoticons: Added option to switch on/off emoticons in plain text messages
- Emoticons: All emoticons-related functionality is handled by the plugin now
- Installer: Add button to save generated config file in system temp directory (#3553)
- Remove common subject prefixes Re:, Re[x]:, Re-x: on reply (#4882)
- Added GSSAPI/Kerberos authentication plugin - krb_authentication
- Password: Allow temporarily disabling the plugin functionality with a notice
- Require Mbstring and OpenSSL extensions (#5166)
- Add --config and --type options to moduserprefs.sh script (#4651)
- Implemented memcache_debug and apc_debug options
- Installer: Remove system() function use (#4695)
- Password plugin: Added 'kpasswd' driver by Peter Allgeyer
- Add initdb.sh to create database from initial.sql script with prefix support (#4722)
- Plugin API: Added disabled_plugins an disabled_buttons options in html_editor hook
- Plugin API: Added html2text hook
- Plugin API: Added message_part_body hook
- Plugin API: Added message_ready hook
- Plugin API: Add special onload() method to execute plugin actions before startup (session and GUI initialization)
- Implemented UI element to jump to specified page of the messages list (#1677)
- Fix searching of contacts to allow remote images for known senders (#4886)
- Fix bug where clicking date column with 'arrival' sorting would switch to sorting by 'date' (#4690)
- Fix bug where message content could overlap attachments list in Larry skin (#4876)
- Fix so microseconds macro (u) in log_date_format works (#4855)
- Fix so unrecognized TNEF attachments are displayed on the list of attachments (#5138)
- Fix so database_attachments::cleanup() does not remove attachments from other sessions (#4907)
- Fix responses list update issue after response name change (#4917)
- Fix bug where message preview was unintentionally reset on check-recent action (#4921)
- Fix bug where HTML messages with invalid/excessive css styles couldn't be displayed (#4905)
- Fix redundant blank lines when using HTML and top posting (#4927)
- Fix redundant blank lines on start of text after html to text conversion (#4928)
- Fix HTML sanitizer to skip <!-- node type X --> in output (#4932)
- Fix invalid LDAP query in ACL user autocompletion (#4934)
2016-09-13 15:56:01 +00:00

106 lines
4.3 KiB
Makefile

# $NetBSD: Makefile,v 1.85 2016/09/13 15:56:01 taca Exp $
DISTNAME= roundcubemail-${RC_VERS}
PKGNAME= ${PHP_PKG_PREFIX}-${DISTNAME:S/mail-/-/}
MAINTAINER= taca@NetBSD.org
COMMENT= Browser-based multilingual IMAP client
LICENSE= gnu-gpl-v3
DEPENDS+= ${PHP_PKG_PREFIX}-mbstring>=${PHP_BASE_VERS}:../../converters/php-mbstring
DEPENDS+= ${PHP_PKG_PREFIX}-dom>=${PHP_BASE_VERS}:../../textproc/php-dom
DEPENDS+= ${PHP_PKG_PREFIX}-exif>=${PHP_BASE_VERS}:../../graphics/php-exif
DEPENDS+= ${PHP_PKG_PREFIX}-intl>=${PHP_BASE_VERS}:../../textproc/php-intl
DEPENDS+= ${PHP_PKG_PREFIX}-json>=${PHP_BASE_VERS}:../../textproc/php-json
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Net_Sieve>=1.3.2:../../net/pear-Net_Sieve
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Net_SMTP>=1.4.2:../../net/pear-Net_SMTP
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Net_IDNA2>=0.1.1:../../net/pear-Net_IDNA2
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Mail_Mime>=1.8.1:../../mail/pear-Mail_Mime
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Mail_mimeDecode>=1.5.5:../../mail/pear-Mail_mimeDecode
DEPENDS+= ${PHP_PKG_PREFIX}-pear-Auth_SASL>=1.0.3:../../mail/pear-Auth_SASL
RC_SUBDIRS= SQL bin installer plugins program skins
CONF_PLUGINS= acl additional_message_headers database_attachments \
emoticons help http_authentication jqueryui \
krb_authentication managesieve new_user_identity \
newmail_notifier redundant_attachments squirrelmail_usercopy
.for d in ${RC_SUBDIRS}
INSTALLATION_DIRS+= ${RCDIR}/${d}
.endfor
INSTALLATION_DIRS+= ${DOCDIR} ${EGDIR}
OWN_DIRS+= ${PKG_SYSCONFDIR}
OWN_DIRS_PERMS+= ${VARBASE}/log/roundcube \
${WWW_USER} ${WWW_GROUP} 0750
OWN_DIRS_PERMS+= ${VARBASE}/spool/roundcube \
${WWW_USER} ${WWW_GROUP} 0750
OWN_DIRS_PERMS+= ${VARBASE}/tmp/roundcube \
${WWW_USER} ${WWW_GROUP} 0750
CONF_FILES= ${PREFIX}/${EGDIR}/roundcube.conf \
${PKG_SYSCONFDIR}/roundcube.conf
CONF_FILES+= ${PREFIX}/${EGDIR}/mimetypes.php \
${PKG_SYSCONFDIR}/mimetypes.php
CONF_FILES_PERMS+= ${PREFIX}/${EGDIR}/config.inc.php \
${PKG_SYSCONFDIR}/config.inc.php \
${WWW_USER} ${WWW_GROUP} 0640
CONF_FILES_PERMS+= ${PREFIX}/${EGDIR}/defaults.inc.php \
${PKG_SYSCONFDIR}/defaults.inc.php \
${WWW_USER} ${WWW_GROUP} 0640
SUBST_CLASSES+= files
SUBST_STAGE.files= do-configure
SUBST_MESSAGE.files= Fixing configuration files.
SUBST_FILES.files= roundcube.conf
SUBST_FILES.files+= config/config.inc.php.sample
SUBST_FILES.files+= installer/index.php
SUBST_FILES.files+= program/include/iniset.php
SUBST_FILES.files+= program/lib/Roundcube/rcube_mime.php
SUBST_SED.files= -e "s|@RCDIR@|${RCDIR}|g"
SUBST_SED.files+= -e "s|@VARBASE@|${VARBASE}|g"
SUBST_SED.files+= -e "s|@PKG_EXAMPLES@|${PREFIX}/share/examples/roundcube|g"
SUBST_SED.files+= -e "s|@PKG_SYSCONFBASE@|${PKG_SYSCONFBASE}|g"
SUBST_SED.files+= -e "s|@PKG_SYSCONFDIR@|${PKG_SYSCONFDIR}|g"
REPLACE_INTERPRETER+= php
REPLACE.php.old= /usr/bin/env php
REPLACE.php.new= ${PREFIX}/bin/php
REPLACE_FILES.php= bin/*.sh
post-extract:
${CP} ${FILESDIR}/${WWW_CONF_FILE} ${WRKSRC}/roundcube.conf
pre-install:
cd ${WRKSRC}/plugins && ${RM} -fr enigma password zipdownload
do-install:
${INSTALL_DATA} ${WRKSRC}/INSTALL ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/UPGRADING ${DESTDIR}${PREFIX}/${DOCDIR}
${INSTALL_DATA} ${WRKSRC}/.htaccess ${DESTDIR}${PREFIX}/${RCDIR}
${INSTALL_DATA} ${WRKSRC}/index.php ${DESTDIR}${PREFIX}/${RCDIR}
${INSTALL_DATA} ${WRKSRC}/robots.txt ${DESTDIR}${PREFIX}/${RCDIR}
.for i in ${RC_SUBDIRS}
cd ${WRKSRC}/${i} && ${FIND} . -type f \! -name "*.orig" -print | \
pax -rw ${DESTDIR}${PREFIX}/${RCDIR}/${i}
${FIND} ${DESTDIR}${PREFIX}/${RCDIR}/${i} -type f | \
${XARGS} ${CHMOD} ${SHAREMODE}
${FIND} ${DESTDIR}${PREFIX}/${RCDIR}/${i} -type d | \
${XARGS} ${CHMOD} ${PKGDIRMODE}
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${DESTDIR}${PREFIX}/${RCDIR}/${i}
.endfor
${INSTALL_DATA} ${WRKSRC}/roundcube.conf \
${DESTDIR}${PREFIX}/${EGDIR}/roundcube.conf
${INSTALL_DATA} ${WRKSRC}/config/mimetypes.php \
${DESTDIR}${PREFIX}/${EGDIR}/mimetypes.php
${INSTALL_DATA} ${WRKSRC}/config/config.inc.php.sample \
${DESTDIR}${PREFIX}/${EGDIR}/config.inc.php
${INSTALL_DATA} ${WRKSRC}/config/defaults.inc.php \
${DESTDIR}${PREFIX}/${EGDIR}/defaults.inc.php
.include "Makefile.common"
.include "../../lang/php/phpversion.mk"
.include "../../mk/bsd.pkg.mk"