From owner-svn-ports-all@freebsd.org Mon Feb 13 18:00:23 2017 Return-Path: Delivered-To: svn-ports-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79822CDD0C4; Mon, 13 Feb 2017 18:00:23 +0000 (UTC) (envelope-from krion@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3BD5C1C07; Mon, 13 Feb 2017 18:00:23 +0000 (UTC) (envelope-from krion@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v1DI0MQf068679; Mon, 13 Feb 2017 18:00:22 GMT (envelope-from krion@FreeBSD.org) Received: (from krion@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v1DI0L1S068670; Mon, 13 Feb 2017 18:00:21 GMT (envelope-from krion@FreeBSD.org) Message-Id: <201702131800.v1DI0L1S068670@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: krion set sender to krion@FreeBSD.org using -f From: Kirill Ponomarew Date: Mon, 13 Feb 2017 18:00:21 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r434011 - in head/www: . butterfly butterfly/files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 13 Feb 2017 18:00:23 -0000 Author: krion Date: Mon Feb 13 18:00:21 2017 New Revision: 434011 URL: https://svnweb.freebsd.org/changeset/ports/434011 Log: Butterfly is a xterm compatible terminal that runs in your browser. Features - xterm compatible (support for a lot of unused features) - Native browser scroll and search - Theming in css/sass (18 preset themes) endless possibilities - HTML in your terminal, cat images and use - Multiple sessions support - Secure authentication with X509 certificates - 16,777,216 colors support - Keyboard text selection - Desktop notifications on terminal output - Geolocation from browser - May work on firefox too WWW: https://pypi.python.org/pypi/butterfly PR: 216957 Submitted by: yuri@rawbw.com Approved by: mat (mentor) Differential Revision: https://reviews.freebsd.org/D9533 Added: head/www/butterfly/ head/www/butterfly/Makefile (contents, props changed) head/www/butterfly/distinfo (contents, props changed) head/www/butterfly/files/ head/www/butterfly/files/butterfly.in (contents, props changed) head/www/butterfly/files/patch-butterfly.server.py (contents, props changed) head/www/butterfly/files/pkg-message.in (contents, props changed) head/www/butterfly/pkg-descr (contents, props changed) head/www/butterfly/pkg-plist (contents, props changed) Modified: head/www/Makefile Modified: head/www/Makefile ============================================================================== --- head/www/Makefile Mon Feb 13 17:42:58 2017 (r434010) +++ head/www/Makefile Mon Feb 13 18:00:21 2017 (r434011) @@ -56,6 +56,7 @@ SUBDIR += bolt SUBDIR += bookmarkbridge SUBDIR += bozohttpd + SUBDIR += butterfly SUBDIR += c-icap SUBDIR += c-icap-modules SUBDIR += cadaver Added: head/www/butterfly/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/Makefile Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,31 @@ +# Created by: Yuri Victorovich +# $FreeBSD$ + +PORTNAME= butterfly +PORTVERSION= 2.0.1 +CATEGORIES= www +MASTER_SITES= CHEESESHOP + +MAINTAINER= yuri@rawbw.com +COMMENT= Web terminal based on websocket and tornado + +LICENSE= GPLv3 + +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}openssl>0:security/py-openssl \ + ${PYTHON_PKGNAMEPREFIX}tornado>0:www/py-tornado \ + ${PYTHON_PKGNAMEPREFIX}libsass>0:www/py-libsass + +USES= python +USE_PYTHON= autoplist distutils +NO_ARCH= yes +USE_RC_SUBR= butterfly +SUB_FILES= pkg-message +SUB_LIST= PYTHON_CMD=${PYTHON_CMD} + +post-install: + @${REINPLACE_CMD} -i '' -e "s|^butterfly_dir = os.path.join(ev, 'butterfly')|butterfly_dir = '${PREFIX}/etc/butterfly'|g" \ + ${STAGEDIR}${PREFIX}/bin/butterfly.server.py + @${MKDIR} ${STAGEDIR}${PREFIX}/etc/butterfly/ssl + ${INSTALL_DATA} ${WRKSRC}/butterfly/butterfly.conf.default ${STAGEDIR}${ETCDIR}/butterfly.conf.sample + +.include Added: head/www/butterfly/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/distinfo Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,3 @@ +TIMESTAMP = 1486684509 +SHA256 (butterfly-2.0.1.tar.gz) = 93ecdef71b62e1809a48a706ac2ae86fdbeea6d722970cda99969bccad8ba7ef +SIZE (butterfly-2.0.1.tar.gz) = 1042304 Added: head/www/butterfly/files/butterfly.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/files/butterfly.in Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,36 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: butterfly +# REQUIRE: LOGIN +# +# Add the following line to /etc/rc.conf to enable butterfly: +# +# butterfly_enable="YES" +# + +: ${butterfly_enable="NO"} +: ${butterfly_user="root"} +: ${butterfly_args="--unsecure"} + +. /etc/rc.subr + +name=butterfly +rcvar=butterfly_enable +pidfile=/var/run/${name}.pid +start_cmd="start_butterfly" + +load_rc_config $name + +start_butterfly() { + echo "Starting ${name}." + if ! [ -r %%ETCDIR%%/ssl/butterfly_localhost.crt -a %%ETCDIR%%/ssl/butterfly_localhost.key -a %%ETCDIR%%/ssl/butterfly_ca.crt ]; then + %%PREFIX%%/bin/butterfly.server.py --generate-certs --host=localhost && + echo "${name}: generated the ssl certificate in %%ETCDIR%%/ssl" + fi + daemon -p $pidfile -u ${butterfly_user} %%PREFIX%%/bin/butterfly.server.py ${butterfly_args} >/var/log/${name}.log 2>&1 +} + +command="%%PYTHON_CMD%%" +run_rc_command "$1" Added: head/www/butterfly/files/patch-butterfly.server.py ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/files/patch-butterfly.server.py Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,29 @@ +--- butterfly.server.py.orig 2017-02-10 00:08:34 UTC ++++ butterfly.server.py +@@ -20,7 +20,7 @@ + import tornado.options + import tornado.ioloop + import tornado.httpserver +-import tornado_systemd ++#import tornado_systemd + import logging + import webbrowser + import uuid +@@ -295,13 +295,13 @@ else: + from butterfly import application + application.butterfly_dir = butterfly_dir + log.info('Starting server') +-http_server = tornado_systemd.SystemdHTTPServer( ++http_server = tornado.httpserver.HTTPServer( + application, ssl_options=ssl_opts) + http_server.listen(port, address=host) + +-if http_server.systemd: +- os.environ.pop('LISTEN_PID') +- os.environ.pop('LISTEN_FDS') ++#if http_server.systemd: ++# os.environ.pop('LISTEN_PID') ++# os.environ.pop('LISTEN_FDS') + + log.info('Starting loop') + Added: head/www/butterfly/files/pkg-message.in ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/files/pkg-message.in Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,14 @@ +====================================================================== +You installed butterfly, the web terminal that works through your +browser. + +It is recommended to run butterfly as a service: +# sysrc butterfly_enable="YES" +# service butterfly start + +To access butterfly please navigate to: +http://localhost:57575 + +The port and other parameters can be configured in +%%ETCDIR%%/butterfly.conf +====================================================================== Added: head/www/butterfly/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/pkg-descr Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,17 @@ +Butterfly is a xterm compatible terminal that runs in your browser. + +Features + +* xterm compatible (support for a lot of unused features) +* Native browser scroll and search +* Theming in css/sass (18 preset themes) endless possibilities +* HTML in your terminal, cat images and use
+* Multiple sessions support +* Secure authentication with X509 certificates +* 16,777,216 colors support +* Keyboard text selection +* Desktop notifications on terminal output +* Geolocation from browser +* May work on firefox too + +WWW: https://pypi.python.org/pypi/butterfly Added: head/www/butterfly/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/butterfly/pkg-plist Mon Feb 13 18:00:21 2017 (r434011) @@ -0,0 +1,2 @@ +@sample %%ETCDIR%%/butterfly.conf.sample +@dir %%ETCDIR%%/ssl