Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Jun 2020 02:06:51 +0000 (UTC)
From:      Koichiro Iwao <meta@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r539316 - in head/net: . librespeed-go librespeed-go/files
Message-ID:  <202006160206.05G26pOe073046@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: meta
Date: Tue Jun 16 02:06:51 2020
New Revision: 539316
URL: https://svnweb.freebsd.org/changeset/ports/539316

Log:
  New port: net/librespeed-go: Go backend for LibreSpeed
  
  LibreSpeed-go is a very lightweight speed test.
  Is is implemented in JavaScript, using XMLHttpRequest and Web Workers.
  This port uses GO as backend for hosting. And this in comparison to
  www/librespeed where PHP and a web server are required.
  
  WWW: https://github.com/librespeed/speedtest-go
  
  PR:		247202
  Submitted by:	Dries Michiels <driesm.michiels@gmail.com>

Added:
  head/net/librespeed-go/
  head/net/librespeed-go/Makefile   (contents, props changed)
  head/net/librespeed-go/distinfo   (contents, props changed)
  head/net/librespeed-go/files/
  head/net/librespeed-go/files/librespeed-go.in   (contents, props changed)
  head/net/librespeed-go/files/patch-settings.toml   (contents, props changed)
  head/net/librespeed-go/files/pkg-message.in   (contents, props changed)
  head/net/librespeed-go/pkg-descr   (contents, props changed)
  head/net/librespeed-go/pkg-plist   (contents, props changed)
Modified:
  head/net/Makefile

Modified: head/net/Makefile
==============================================================================
--- head/net/Makefile	Tue Jun 16 02:06:43 2020	(r539315)
+++ head/net/Makefile	Tue Jun 16 02:06:51 2020	(r539316)
@@ -395,6 +395,7 @@
     SUBDIR += libproxy-python
     SUBDIR += libproxy-webkit3
     SUBDIR += librdkafka
+    SUBDIR += librespeed-go
     SUBDIR += librsync
     SUBDIR += libsignal
     SUBDIR += libsrtp2

Added: head/net/librespeed-go/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/Makefile	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,66 @@
+# $FreeBSD$
+
+PORTNAME=	librespeed-go
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.0.0
+CATEGORIES=	net www
+
+MAINTAINER=	driesm.michiels@gmail.com
+COMMENT=	GO backend for LibreSpeed
+
+LICENSE=	LGPL3
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		go:modules
+USE_RC_SUBR=	librespeed-go
+USE_GITHUB=	YES
+GH_ACCOUNT=	librespeed
+GH_PROJECT=	speedtest-go
+GH_TUPLE=	etcd-io:bbolt:v1.3.3:etcd_io_bbolt/vendor/go.etcd.io/bbolt \
+		fsnotify:fsnotify:v1.4.7:fsnotify_fsnotify/vendor/github.com/fsnotify/fsnotify \
+		go-chi:chi:v4.0.3:go_chi_chi/vendor/github.com/go-chi/chi \
+		go-chi:cors:v1.0.0:go_chi_cors/vendor/github.com/go-chi/cors \
+		go-chi:render:v1.0.1:go_chi_render/vendor/github.com/go-chi/render \
+		go-ini:ini:v1.51.0:go_ini_ini/vendor/gopkg.in/ini.v1 \
+		go-sql-driver:mysql:v1.5.0:go_sql_driver_mysql/vendor/github.com/go-sql-driver/mysql \
+		go-yaml:yaml:v2.2.4:go_yaml_yaml/vendor/gopkg.in/yaml.v2 \
+		golang:freetype:e2365dfdc4a0:golang_freetype/vendor/github.com/golang/freetype \
+		golang:image:58c23975cae1:golang_image/vendor/golang.org/x/image \
+		golang:sys:953cdadca894:golang_sys/vendor/golang.org/x/sys \
+		golang:text:v0.3.0:golang_text/vendor/golang.org/x/text \
+		hashicorp:hcl:v1.0.0:hashicorp_hcl/vendor/github.com/hashicorp/hcl \
+		konsorten:go-windows-terminal-sequences:v1.0.1:konsorten_go_windows_terminal_sequences/vendor/github.com/konsorten/go-windows-terminal-sequences \
+		lib:pq:v1.3.0:lib_pq/vendor/github.com/lib/pq \
+		magiconair:properties:v1.8.1:magiconair_properties/vendor/github.com/magiconair/properties \
+		mitchellh:mapstructure:v1.1.2:mitchellh_mapstructure/vendor/github.com/mitchellh/mapstructure \
+		oklog:ulid:v2.0.2:oklog_ulid_v2/vendor/github.com/oklog/ulid/v2 \
+		pelletier:go-toml:v1.2.0:pelletier_go_toml/vendor/github.com/pelletier/go-toml \
+		sirupsen:logrus:v1.4.2:sirupsen_logrus/vendor/github.com/sirupsen/logrus \
+		spf13:afero:v1.1.2:spf13_afero/vendor/github.com/spf13/afero \
+		spf13:cast:v1.3.0:spf13_cast/vendor/github.com/spf13/cast \
+		spf13:jwalterweatherman:v1.0.0:spf13_jwalterweatherman/vendor/github.com/spf13/jwalterweatherman \
+		spf13:pflag:v1.0.3:spf13_pflag/vendor/github.com/spf13/pflag \
+		spf13:viper:v1.6.2:spf13_viper/vendor/github.com/spf13/viper \
+		subosito:gotenv:v1.2.0:subosito_gotenv/vendor/github.com/subosito/gotenv
+
+GO_TARGET=	./:${PREFIX}/libexec/librespeed-go/librespeed-go
+
+SUB_FILES=	pkg-message
+
+OPTIONS_DEFINE=	EXAMPLES
+
+post-patch:
+	${REINPLACE_CMD} -e 's|"."|"${ETCDIR}"|g' ${WRKSRC}/config/config.go
+
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/${PORTNAME}/assets
+	${CP} -a ${WRKSRC}/assets/*.js ${STAGEDIR}${PREFIX}/libexec/librespeed-go/assets
+	${CP} -a ${WRKSRC}/assets/*.ttf ${STAGEDIR}${PREFIX}/libexec/librespeed-go/assets
+	${MKDIR} ${STAGEDIR}${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/settings.toml ${STAGEDIR}${ETCDIR}/settings.toml.sample
+
+post-install-EXAMPLES-on:
+	${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+	${CP} -a ${WRKSRC}/assets/*.html ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>

Added: head/net/librespeed-go/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/distinfo	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,55 @@
+TIMESTAMP = 1591867495
+SHA256 (librespeed-speedtest-go-v1.0.0_GH0.tar.gz) = 8d9c572bc06d0994f01757496016b180e61ab422ecc9c03a13f1bdab9bbd766a
+SIZE (librespeed-speedtest-go-v1.0.0_GH0.tar.gz) = 2232423
+SHA256 (etcd-io-bbolt-v1.3.3_GH0.tar.gz) = 089ae9a1651531dcac069370212abfe16e83af1c6f331d59e0154fa64fe9b120
+SIZE (etcd-io-bbolt-v1.3.3_GH0.tar.gz) = 94626
+SHA256 (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = b7530d973d0ab0e58ad8ce1b9a4b963d6f57b3d72f2f9e13d49846976361b1cd
+SIZE (fsnotify-fsnotify-v1.4.7_GH0.tar.gz) = 31139
+SHA256 (go-chi-chi-v4.0.3_GH0.tar.gz) = 984d78967a732c35404908f2eb11100d308b992d065e2d8ba3cc3b5d954edb56
+SIZE (go-chi-chi-v4.0.3_GH0.tar.gz) = 70892
+SHA256 (go-chi-cors-v1.0.0_GH0.tar.gz) = 01b7389c7efac340695f35e317c593520cbad8278dc0b96b8c11054e9d9766da
+SIZE (go-chi-cors-v1.0.0_GH0.tar.gz) = 5187
+SHA256 (go-chi-render-v1.0.1_GH0.tar.gz) = b7ee66207e869baa271f104d084a38d3d89bb3ebaea1d89169ca26303446422d
+SIZE (go-chi-render-v1.0.1_GH0.tar.gz) = 5571
+SHA256 (go-ini-ini-v1.51.0_GH0.tar.gz) = 6c98311d375afbe36a246c5d29acb5cb428634a4186e591ce9b7fe2fa4f2a471
+SIZE (go-ini-ini-v1.51.0_GH0.tar.gz) = 43536
+SHA256 (go-sql-driver-mysql-v1.5.0_GH0.tar.gz) = 9d98b46623037447a26a51a203540bf605b6e6220d31f2efc7396242fcb660b5
+SIZE (go-sql-driver-mysql-v1.5.0_GH0.tar.gz) = 90474
+SHA256 (go-yaml-yaml-v2.2.4_GH0.tar.gz) = 9004c9709200d52ef6e5c69af3f71f3adb1a2b7e884ea7597f306bf54b1f007c
+SIZE (go-yaml-yaml-v2.2.4_GH0.tar.gz) = 72209
+SHA256 (golang-freetype-e2365dfdc4a0_GH0.tar.gz) = fe10686313edaa1b78e2733371f6079bf030bb8fd1847a0346f0c936047a5863
+SIZE (golang-freetype-e2365dfdc4a0_GH0.tar.gz) = 466212
+SHA256 (golang-image-58c23975cae1_GH0.tar.gz) = 07bed75a05c6ecd45b4c2f42536ef06d59e11a7d29b9387bba37a91cafcd741f
+SIZE (golang-image-58c23975cae1_GH0.tar.gz) = 4896648
+SHA256 (golang-sys-953cdadca894_GH0.tar.gz) = fb56f244784dac7e7f66fc0ff9f5ff6adbd49ccb8f3625285e6e39254b64c12f
+SIZE (golang-sys-953cdadca894_GH0.tar.gz) = 1353286
+SHA256 (golang-text-v0.3.0_GH0.tar.gz) = 8f4c9a048345befc7beccd09267737ee1f55c7b35e5ff80f344ec9e0aa90febb
+SIZE (golang-text-v0.3.0_GH0.tar.gz) = 6102619
+SHA256 (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 50632428210503070fd2fde748c88b7414bf84a6a0eadebf9d8e596a033bead2
+SIZE (hashicorp-hcl-v1.0.0_GH0.tar.gz) = 70658
+SHA256 (konsorten-go-windows-terminal-sequences-v1.0.1_GH0.tar.gz) = e36c5a5de388bf72db3037b47f025b09e574be8d0bc74b3e44c960cba0880e87
+SIZE (konsorten-go-windows-terminal-sequences-v1.0.1_GH0.tar.gz) = 1909
+SHA256 (lib-pq-v1.3.0_GH0.tar.gz) = 900b640ed6e740496769291763b2368b578d25d54fe027551392ceaa29bae8ca
+SIZE (lib-pq-v1.3.0_GH0.tar.gz) = 96255
+SHA256 (magiconair-properties-v1.8.1_GH0.tar.gz) = 4449df3d2be86608bfc997228f66f1cff57bf620cc5bf9ba44339c7e4c5612dd
+SIZE (magiconair-properties-v1.8.1_GH0.tar.gz) = 29735
+SHA256 (mitchellh-mapstructure-v1.1.2_GH0.tar.gz) = 53fbc06b125ff1c9c73a4eb1764346932671a29c67a45a92e2ebc6855635069b
+SIZE (mitchellh-mapstructure-v1.1.2_GH0.tar.gz) = 20980
+SHA256 (oklog-ulid-v2.0.2_GH0.tar.gz) = d2b0dadd45201cd3385736bd5bd9c8c572e42249e713fe65dfb1e1df6870e3e3
+SIZE (oklog-ulid-v2.0.2_GH0.tar.gz) = 56670
+SHA256 (pelletier-go-toml-v1.2.0_GH0.tar.gz) = 1a5a620f680033f17e34148bee8f26d96d8c27ff1d7f56f0fe1c7253595b5244
+SIZE (pelletier-go-toml-v1.2.0_GH0.tar.gz) = 57496
+SHA256 (sirupsen-logrus-v1.4.2_GH0.tar.gz) = 67f2ddf467b7e63d2d2529d227946a331e245aeef7e2e4521ae82647b5ef84d9
+SIZE (sirupsen-logrus-v1.4.2_GH0.tar.gz) = 41373
+SHA256 (spf13-afero-v1.1.2_GH0.tar.gz) = 66554a6b09b0009340ae77c119d5a14e2460bb3aea56e75e138c87e621f3803b
+SIZE (spf13-afero-v1.1.2_GH0.tar.gz) = 45309
+SHA256 (spf13-cast-v1.3.0_GH0.tar.gz) = e685282ea33f89e9354d148ad1886f532bcebe86b0b60a167988f7c6d081085f
+SIZE (spf13-cast-v1.3.0_GH0.tar.gz) = 11085
+SHA256 (spf13-jwalterweatherman-v1.0.0_GH0.tar.gz) = 2ece12b964e0d230b10851555185d42d3c81b401efda044265ae716eb1d0bc2d
+SIZE (spf13-jwalterweatherman-v1.0.0_GH0.tar.gz) = 6392
+SHA256 (spf13-pflag-v1.0.3_GH0.tar.gz) = 9e57f86f493f04d9077fccd04e7139ebf243dd544e917ab83d35729b3e54a124
+SIZE (spf13-pflag-v1.0.3_GH0.tar.gz) = 46002
+SHA256 (spf13-viper-v1.6.2_GH0.tar.gz) = 9b17f295fd994c65e4f0338b321115f89d30c88f05bdbeb97d8bf1b971351b02
+SIZE (spf13-viper-v1.6.2_GH0.tar.gz) = 52000
+SHA256 (subosito-gotenv-v1.2.0_GH0.tar.gz) = 5f6826992c11981018c77377f33dbc56d0be932e0d38a2f51e795c99725e7ba5
+SIZE (subosito-gotenv-v1.2.0_GH0.tar.gz) = 7359

Added: head/net/librespeed-go/files/librespeed-go.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/files/librespeed-go.in	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: librespeed-go
+# REQUIRE: SERVERS
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# librespeed_go_enable:		Set to NO by default.
+#				Set it to YES to enable librenms
+# librespeed_go_pid:		Path of the pid file.
+#				Default /var/run/librenms/librenms.pid
+# librespeed_go_daemonflags:	Flags passed to daemon(8)
+#				Default -f which prevents any logging
+# librespeed_go_chdir:		Dir to run the daemon in
+# 				Default /usr/local/libexec/librespeed-go
+
+. /etc/rc.subr
+
+name="librespeed_go"
+rcvar="${name}_enable"
+command="/usr/sbin/daemon"
+
+load_rc_config $name
+
+: ${librespeed_go_enable:="NO"}
+: ${librespeed_go_pid:="/var/run/librespeed-go.pid"}
+: ${librespeed_go_daemonflags:="-f"}
+: ${librespeed_go_chdir:="%%PREFIX%%/libexec/librespeed-go"}
+
+pidfile="$librespeed_go_pid"
+procname="%%PREFIX%%/libexec/librespeed-go/librespeed-go"
+command_args="$librespeed_go_daemonflags -p $pidfile $procname"
+
+run_rc_command "$1"

Added: head/net/librespeed-go/files/patch-settings.toml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/files/patch-settings.toml	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,8 @@
+--- settings.toml.orig	2020-06-02 10:10:50 UTC
++++ settings.toml
+@@ -21,4 +21,4 @@ database_username=""
+ database_password=""
+ 
+ # if you use `bolt` as database, set database_file to database file location
+-database_file="speedtest.db"
++database_file="/var/db/speedtest.db"

Added: head/net/librespeed-go/files/pkg-message.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/files/pkg-message.in	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,23 @@
+[
+{ type: install
+  message: <<EOM
+Copy your preferred example from %%PREFIX%%/share/examples/librespeed-go to %%PREFIX%%/libexec/librespeed-go/assets/index.html.
+To use the backend feature, be sure to copy a -full example.
+	cd %%PREFIX%%/share/examples/librespeed-go
+	cp -a example-singleServer-full.html %%PREFIX%%/libexec/librespeed-go/assets/index.html
+
+To automatically start librespeed-go at boot time:
+# sysrc librespeed_go_enable="YES"
+
+To start the service directly:
+# service librespeed-go start
+EOM
+}
+{ type: remove
+  message: <<EOM
+If you are uninstalling librespeed-go permanently,
+and you do *NOT* want to retain the speedtest database and other your configured landing page,
+you should manually remove /var/db/speedtest.db, and %%PREFIX%%/libexec/librespeed-go.
+EOM
+}
+]

Added: head/net/librespeed-go/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/pkg-descr	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,6 @@
+LibreSpeed-go is a very lightweight speed test.
+Is is implemented in JavaScript, using XMLHttpRequest and Web Workers.
+This port uses GO as backend for hosting. And this in comparison to
+www/librespeed where PHP and a web server are required.
+
+WWW: https://github.com/librespeed/speedtest-go

Added: head/net/librespeed-go/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/librespeed-go/pkg-plist	Tue Jun 16 02:06:51 2020	(r539316)
@@ -0,0 +1,15 @@
+@sample %%ETCDIR%%/settings.toml.sample
+libexec/librespeed-go/assets/NotoSansDisplay-Light.ttf
+libexec/librespeed-go/assets/NotoSansDisplay-Medium.ttf
+libexec/librespeed-go/assets/speedtest.js
+libexec/librespeed-go/assets/speedtest_worker.js
+libexec/librespeed-go/librespeed-go
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-multipleServers-full.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-multipleServers-pretty.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-basic.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-chart.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-customSettings.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-full.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-gauges.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-pretty.html
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/example-singleServer-progressBar.html



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006160206.05G26pOe073046>