RoundCube Webmail
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
4.1 KiB

  1. GITREMOTE=git://github.com/roundcube/roundcubemail.git
  2. GITBRANCH=release-1.5
  3. GPGKEY=devs@roundcube.net
  4. VERSION=1.5.3
  5. all: clean complete dependent framework
  6. complete: roundcubemail-git
  7. cp -RH roundcubemail-git roundcubemail-$(VERSION)
  8. (cd roundcubemail-$(VERSION); jq '.require += {"kolab/net_ldap3": "~1.1.1"} | del(.suggest."kolab/net_ldap3")' --indent 4 composer.json-dist > composer.json)
  9. (cd roundcubemail-$(VERSION); cp composer.json composer.json-bak; /tmp/composer.phar config platform.php 5.5; /tmp/composer.phar require symfony/polyfill-intl-idn:1.19.0 --no-install)
  10. (cd roundcubemail-$(VERSION); php /tmp/composer.phar install --prefer-dist --no-dev --ignore-platform-reqs)
  11. (cd roundcubemail-$(VERSION); mv composer.json-bak composer.json)
  12. (cd roundcubemail-$(VERSION); bin/install-jsdeps.sh --force)
  13. (cd roundcubemail-$(VERSION); bin/jsshrink.sh program/js/publickey.js; bin/jsshrink.sh plugins/managesieve/codemirror/lib/codemirror.js)
  14. (cd roundcubemail-$(VERSION); rm jsdeps.json bin/install-jsdeps.sh *.orig; rm -rf vendor/masterminds/html5/test vendor/pear/*/tests vendor/*/*/.git* vendor/pear/crypt_gpg/tools vendor/pear/console_commandline/docs vendor/pear/mail_mime/scripts vendor/pear/net_ldap2/doc vendor/pear/net_smtp/docs vendor/pear/net_smtp/examples vendor/pear/net_smtp/README.rst vendor/endroid/qrcode/tests temp/js_cache)
  15. tar czf roundcubemail-$(VERSION)-complete.tar.gz roundcubemail-$(VERSION)
  16. rm -rf roundcubemail-$(VERSION)
  17. dependent: roundcubemail-git
  18. cp -RH roundcubemail-git roundcubemail-$(VERSION)
  19. tar czf roundcubemail-$(VERSION).tar.gz roundcubemail-$(VERSION)
  20. rm -rf roundcubemail-$(VERSION)
  21. framework: roundcubemail-git /tmp/phpDocumentor.phar
  22. cp -r roundcubemail-git/program/lib/Roundcube roundcube-framework-$(VERSION)
  23. (cd roundcube-framework-$(VERSION); php /tmp/phpDocumentor.phar -d . -t ./doc --title="Roundcube Framework" --defaultpackagename="Framework" --template="clean")
  24. (cd roundcube-framework-$(VERSION); rm -rf doc/phpdoc-cache* .phpdoc)
  25. tar czf roundcube-framework-$(VERSION).tar.gz roundcube-framework-$(VERSION)
  26. rm -rf roundcube-framework-$(VERSION)
  27. sign:
  28. gpg -u $(GPGKEY) -a --detach-sig roundcubemail-$(VERSION).tar.gz
  29. gpg -u $(GPGKEY) -a --detach-sig roundcubemail-$(VERSION)-complete.tar.gz
  30. gpg -u $(GPGKEY) -a --detach-sig roundcube-framework-$(VERSION).tar.gz
  31. verify:
  32. gpg -v --verify roundcubemail-$(VERSION).tar.gz{.asc,}
  33. gpg -v --verify roundcubemail-$(VERSION)-complete.tar.gz{.asc,}
  34. gpg -v --verify roundcube-framework-$(VERSION).tar.gz{.asc,}
  35. shasum:
  36. shasum -a 256 roundcubemail-$(VERSION).tar.gz roundcubemail-$(VERSION)-complete.tar.gz roundcube-framework-$(VERSION).tar.gz
  37. roundcubemail-git: buildtools
  38. git clone $(GITREMOTE) roundcubemail-git
  39. (cd roundcubemail-git; git checkout $(GITBRANCH))
  40. (cd roundcubemail-git; bin/jsshrink.sh; bin/updatecss.sh; bin/cssshrink.sh)
  41. (cd roundcubemail-git/skins/elastic; \
  42. lessc --clean-css="--s1 --advanced" styles/styles.less > styles/styles.min.css; \
  43. lessc --clean-css="--s1 --advanced" styles/print.less > styles/print.min.css; \
  44. lessc --clean-css="--s1 --advanced" styles/embed.less > styles/embed.min.css)
  45. (cd roundcubemail-git/bin; rm -f transifexpull.sh package2composer.sh)
  46. (cd roundcubemail-git; find . -name '.gitignore' | xargs rm)
  47. (cd roundcubemail-git; find . -name '.travis.yml' | xargs rm)
  48. (cd roundcubemail-git; rm -rf tests plugins/*/tests .git* .tx* .ci* .editorconfig* index-test.php Dockerfile Makefile)
  49. (cd roundcubemail-git; sed -i '' 's/1.5-git/$(VERSION)/' index.php public_html/index.php installer/index.php program/include/iniset.php program/lib/Roundcube/bootstrap.php)
  50. (cd roundcubemail-git; sed -i '' 's/# Unreleased/# Release $(VERSION)'/ CHANGELOG.md)
  51. buildtools: /tmp/composer.phar
  52. npm install -g uglify-js
  53. npm install -g lessc
  54. npm install -g less-plugin-clean-css
  55. npm install -g csso-cli
  56. which -s jq || echo "!!!!!! Please install jq (https://stedolan.github.io/jq/) !!!!!!"
  57. /tmp/composer.phar:
  58. curl -sS https://getcomposer.org/installer | php -- --install-dir=/tmp/
  59. /tmp/phpDocumentor.phar:
  60. curl -sSL https://phpdoc.org/phpDocumentor.phar -o /tmp/phpDocumentor.phar
  61. clean:
  62. rm -rf roundcubemail-git
  63. rm -rf roundcubemail-$(VERSION)*