Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Sep 2023 09:09:19 GMT
From:      Baptiste Daroussin <bapt@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 509067a758d8 - main - www/galene: new port
Message-ID:  <202309010909.38199J9D093445@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by bapt:

URL: https://cgit.FreeBSD.org/ports/commit/?id=509067a758d8fbecbdf22d97c3d10c1b7912e850

commit 509067a758d8fbecbdf22d97c3d10c1b7912e850
Author:     Baptiste Daroussin <bapt@FreeBSD.org>
AuthorDate: 2023-09-01 09:08:05 +0000
Commit:     Baptiste Daroussin <bapt@FreeBSD.org>
CommitDate: 2023-09-01 09:08:59 +0000

    www/galene: new port
    
    Galène (or Galene) is a videoconference server (an “SFU”) that is easy to
    deploy and that requires moderate server resources. It was originally designed
    for lectures, conferences and student tutorials, but is also useful for
    traditional meetings.
    
    Galène has been used in production at two major universities (Université de
    Paris and Sorbonne Université) for lectures, practicals, seminars, and for
    staff meetings. It has been used to host two conferences (SOCS'2020 and
    JFLA'2021).
---
 GIDs                       |  2 +-
 UIDs                       |  1 +
 www/Makefile               |  1 +
 www/galene/Makefile        | 71 ++++++++++++++++++++++++++++++++++++++++++++++
 www/galene/distinfo        | 55 +++++++++++++++++++++++++++++++++++
 www/galene/files/galene.in | 37 ++++++++++++++++++++++++
 www/galene/pkg-descr       |  9 ++++++
 www/galene/pkg-plist       | 41 ++++++++++++++++++++++++++
 8 files changed, 216 insertions(+), 1 deletion(-)

diff --git a/GIDs b/GIDs
index 26cfd95b88d7..92053d2e8a01 100644
--- a/GIDs
+++ b/GIDs
@@ -268,7 +268,7 @@ dkimpy-milter:*:324:
 dkfilter:*:325:
 smfs:*:326:
 _reticulum:*:327:
-# free: 328
+galene:*:328:
 # free: 329
 orthanc:*:330:
 # free: 331
diff --git a/UIDs b/UIDs
index 61f105288259..37c8a75bed22 100644
--- a/UIDs
+++ b/UIDs
@@ -273,6 +273,7 @@ dkimpy-milter:*:324:324::0:0:Dkimpy Milter:/nonexistent:/usr/sbin/nologin
 dkfilter:*:325:325::0:0:DK Filter Owner:/nonexistent:/usr/sbin/nologin
 smfs:*:326:326::0:0:SMFSAV Owner:/nonexistent:/usr/sbin/nologin
 _reticulum:*:327:327::0:0:Reticulum Daemon:/nonexistent:/usr/sbin/nologin
+galene:*:328:328::0:0:Galene Visioconference server:/nonexistent:/usr/sbin/nologin
 # free: 328
 # free: 329
 orthanc:*:330:330::0:0:Orthanc Daemon:/nonexistent:/usr/sbin/nologin
diff --git a/www/Makefile b/www/Makefile
index 76eb80e0305a..c06b968b2f77 100644
--- a/www/Makefile
+++ b/www/Makefile
@@ -183,6 +183,7 @@
     SUBDIR += fusionpbx
     SUBDIR += g-cows
     SUBDIR += g-gcl
+    SUBDIR += galene
     SUBDIR += gallery-dl
     SUBDIR += gallery2
     SUBDIR += garage
diff --git a/www/galene/Makefile b/www/galene/Makefile
new file mode 100644
index 000000000000..443867f800d9
--- /dev/null
+++ b/www/galene/Makefile
@@ -0,0 +1,71 @@
+PORTNAME=	galene
+DISTVERSION=	0.7.2
+CATEGORIES=	www net-im
+
+MAINTAINER=	bapt@FreeBSD.org
+COMMENT=	The Galène videoconference server
+WWW=		https://galane.org
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENCE
+
+USES=		go:modules
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	jech
+GH_TAGNAME=	7062ba100167d82808d982475880a588f0aa32bf
+
+GH_TUPLE=	\
+		at-wat:ebml-go:v0.17.0:at_wat_ebml_go/vendor/github.com/at-wat/ebml-go \
+		golang-jwt:jwt:v4.5.0:golang_jwt_jwt_v4/vendor/github.com/golang-jwt/jwt/v4 \
+		golang:crypto:v0.7.0:golang_crypto/vendor/golang.org/x/crypto \
+		golang:net:v0.8.0:golang_net/vendor/golang.org/x/net \
+		golang:sys:v0.6.0:golang_sys/vendor/golang.org/x/sys \
+		google:uuid:v1.3.0:google_uuid/vendor/github.com/google/uuid \
+		gorilla:websocket:v1.5.0:gorilla_websocket/vendor/github.com/gorilla/websocket \
+		jech:cert:aca735647728:jech_cert/vendor/github.com/jech/cert \
+		jech:samplebuilder:6cbba09fc1c9:jech_samplebuilder/vendor/github.com/jech/samplebuilder \
+		pion:datachannel:v1.5.5:pion_datachannel/vendor/github.com/pion/datachannel \
+		pion:dtls:v2.2.6:pion_dtls_v2/vendor/github.com/pion/dtls/v2 \
+		pion:ice:v2.3.2:pion_ice_v2/vendor/github.com/pion/ice/v2 \
+		pion:interceptor:v0.1.12:pion_interceptor/vendor/github.com/pion/interceptor \
+		pion:logging:v0.2.2:pion_logging/vendor/github.com/pion/logging \
+		pion:mdns:v0.0.7:pion_mdns/vendor/github.com/pion/mdns \
+		pion:randutil:v0.1.0:pion_randutil/vendor/github.com/pion/randutil \
+		pion:rtcp:v1.2.10:pion_rtcp/vendor/github.com/pion/rtcp \
+		pion:rtp:d62c6716b99a:pion_rtp/vendor/github.com/pion/rtp \
+		pion:sctp:v1.8.6:pion_sctp/vendor/github.com/pion/sctp \
+		pion:sdp:v3.0.6:pion_sdp_v3/vendor/github.com/pion/sdp/v3 \
+		pion:srtp:v2.0.12:pion_srtp_v2/vendor/github.com/pion/srtp/v2 \
+		pion:stun:v0.4.0:pion_stun/vendor/github.com/pion/stun \
+		pion:transport:v2.0.2:pion_transport_v2/vendor/github.com/pion/transport/v2 \
+		pion:turn:v2.1.0:pion_turn_v2/vendor/github.com/pion/turn/v2 \
+		pion:udp:v2.0.1:pion_udp_v2/vendor/github.com/pion/udp/v2 \
+		pion:webrtc:v3.1.59:pion_webrtc_v3/vendor/github.com/pion/webrtc/v3
+
+CGO_ENABLED=	0
+
+PORTDOCS=	README README.FRONTEND README.PROTOCOL
+
+OPTIONS_DEFINE=	DOCS
+
+USE_RC_SUBR=	${PORTNAME}
+
+USERS=	${PORTNAME}
+GROUPS=	${PORTNAME}
+
+SUB_LIST=	USERS="${USERS}" GROUPS="${GROUPS}"
+PLIST_SUB=	USERS="${USERS}" GROUPS="${GROUPS}"
+
+post-install:
+	${MKDIR} ${STAGEDIR}${DATADIR}
+	cd ${WRKSRC}/static ; ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR}
+	${MKDIR} ${STAGEDIR}/var/db/galene/recordings \
+		${STAGEDIR}/var/db/galene/data \
+		${STAGEDIR}/var/db/galene/groups
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	cd ${WRKSRC}; ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>
diff --git a/www/galene/distinfo b/www/galene/distinfo
new file mode 100644
index 000000000000..338e926d5852
--- /dev/null
+++ b/www/galene/distinfo
@@ -0,0 +1,55 @@
+TIMESTAMP = 1693557388
+SHA256 (jech-galene-0.7.2-7062ba100167d82808d982475880a588f0aa32bf_GH0.tar.gz) = f5f4253c3b50c019790363651d8a8ae338703342a0015b8a62cc793b2ce1cfc1
+SIZE (jech-galene-0.7.2-7062ba100167d82808d982475880a588f0aa32bf_GH0.tar.gz) = 739187
+SHA256 (at-wat-ebml-go-v0.17.0_GH0.tar.gz) = ebdaa605a117ba86e45a405103435d164d40079dff6f0c3f28d08f4e76ad6c0f
+SIZE (at-wat-ebml-go-v0.17.0_GH0.tar.gz) = 69862
+SHA256 (golang-jwt-jwt-v4.5.0_GH0.tar.gz) = 00b1cc127cba09b4e4ea9efa5c0f18a36bb55e08b5eec0a222b8e1599a938077
+SIZE (golang-jwt-jwt-v4.5.0_GH0.tar.gz) = 53049
+SHA256 (golang-crypto-v0.7.0_GH0.tar.gz) = a7e73081a33f1bf496753a0cfd374052fb52da16d00600ca411d086a23da6178
+SIZE (golang-crypto-v0.7.0_GH0.tar.gz) = 1634438
+SHA256 (golang-net-v0.8.0_GH0.tar.gz) = f9e2128a2d6861db0595428c7cce62fe5a131348a6c7651b6efa8b03d0b10831
+SIZE (golang-net-v0.8.0_GH0.tar.gz) = 1244302
+SHA256 (golang-sys-v0.6.0_GH0.tar.gz) = b4f6d17c7a128f76169964b437cb66b3f2dbf9a33361928ec19dfecf7b03fc54
+SIZE (golang-sys-v0.6.0_GH0.tar.gz) = 1434234
+SHA256 (google-uuid-v1.3.0_GH0.tar.gz) = 7f7f37c47980e0afcc178a9ffc390bec29ed2371919b4c07658eb01791a7f921
+SIZE (google-uuid-v1.3.0_GH0.tar.gz) = 16210
+SHA256 (gorilla-websocket-v1.5.0_GH0.tar.gz) = 5d86f9e1c76ff7ceca0747f78b79864fbaec9d440f4fdb03197466e5102a86b0
+SIZE (gorilla-websocket-v1.5.0_GH0.tar.gz) = 54155
+SHA256 (jech-cert-aca735647728_GH0.tar.gz) = d2b7c711a7925012643cce6c9ee5cc34e667f54eb478d6163601e4ef46d2232e
+SIZE (jech-cert-aca735647728_GH0.tar.gz) = 3363
+SHA256 (jech-samplebuilder-6cbba09fc1c9_GH0.tar.gz) = 08082afa77f3083c0b15ed09fe27d43c525bc31af3662e13288dd167a609c2ad
+SIZE (jech-samplebuilder-6cbba09fc1c9_GH0.tar.gz) = 12428
+SHA256 (pion-datachannel-v1.5.5_GH0.tar.gz) = 88dc92b8b83759af29bf744e1a3d708a462966cfa77d9978575a7d6cd96c4766
+SIZE (pion-datachannel-v1.5.5_GH0.tar.gz) = 22496
+SHA256 (pion-dtls-v2.2.6_GH0.tar.gz) = e3fe7be7532e2086d3eb04fefdcf525b25319e4f786b9b9c89f0ac961b59f50b
+SIZE (pion-dtls-v2.2.6_GH0.tar.gz) = 146508
+SHA256 (pion-ice-v2.3.2_GH0.tar.gz) = cf704234d5fab9a17490f6bfbe99d8fc3f8d632b203e6f3026717b93b0a57008
+SIZE (pion-ice-v2.3.2_GH0.tar.gz) = 96435
+SHA256 (pion-interceptor-v0.1.12_GH0.tar.gz) = 206226d1b5aea5e23393e2f19d48f670cac2bead09d6f82f8dc36efac25f23ae
+SIZE (pion-interceptor-v0.1.12_GH0.tar.gz) = 75746
+SHA256 (pion-logging-v0.2.2_GH0.tar.gz) = 9e06f3dbf6f4fcf0e61e3a6406cac898fe3df86cb906bc9d73c7c4b466f0a9d6
+SIZE (pion-logging-v0.2.2_GH0.tar.gz) = 6750
+SHA256 (pion-mdns-v0.0.7_GH0.tar.gz) = 4be439d7572fab99bf9905c93ad75afc0aa13cefe815b0a19f1ed8e2ffdc637b
+SIZE (pion-mdns-v0.0.7_GH0.tar.gz) = 13639
+SHA256 (pion-randutil-v0.1.0_GH0.tar.gz) = 4b0301915ebbfa77c8621cebf99c6c7d71651762a33ce4fa4e6af8994ecd4993
+SIZE (pion-randutil-v0.1.0_GH0.tar.gz) = 7521
+SHA256 (pion-rtcp-v1.2.10_GH0.tar.gz) = d69a2497f27e91cc3918fb6f41a19850a1d1e1d1d8f72fbafedfb83c1186fe8c
+SIZE (pion-rtcp-v1.2.10_GH0.tar.gz) = 59883
+SHA256 (pion-rtp-d62c6716b99a_GH0.tar.gz) = 6d2682e380ea10e63a431f01b9cd2e4356583592c8487a25841146876abe4a6b
+SIZE (pion-rtp-d62c6716b99a_GH0.tar.gz) = 54706
+SHA256 (pion-sctp-v1.8.6_GH0.tar.gz) = 3752b18cf0cd37c0c4a12aaae01e4c10ea23dc517b8c6ac04c3341b2d5423be6
+SIZE (pion-sctp-v1.8.6_GH0.tar.gz) = 90151
+SHA256 (pion-sdp-v3.0.6_GH0.tar.gz) = ceae9d450b92db03c2dd817213fa39f8bf152e172d51129decfd1a4cd77e42dc
+SIZE (pion-sdp-v3.0.6_GH0.tar.gz) = 30415
+SHA256 (pion-srtp-v2.0.12_GH0.tar.gz) = cfe346e7ffe3762d2c8d4568d7151dca1dd426956f822b2982100c98a3daca6b
+SIZE (pion-srtp-v2.0.12_GH0.tar.gz) = 36642
+SHA256 (pion-stun-v0.4.0_GH0.tar.gz) = e068ceacd5f36302329e7d1de00dd1a071bcb39cb5944468e4c6d8ae5665a34f
+SIZE (pion-stun-v0.4.0_GH0.tar.gz) = 87340
+SHA256 (pion-transport-v2.0.2_GH0.tar.gz) = 9fccc0bdd6fedf5c272d9884acd39a37ae25e730db407d6febd2e5b1e356bef5
+SIZE (pion-transport-v2.0.2_GH0.tar.gz) = 75604
+SHA256 (pion-turn-v2.1.0_GH0.tar.gz) = 4440f9b2c82bbce9cee10527859121247e6ab50d0a2c6bc607bab7ff71c675a2
+SIZE (pion-turn-v2.1.0_GH0.tar.gz) = 121876
+SHA256 (pion-udp-v2.0.1_GH0.tar.gz) = 30bd91e7588f2ce525bb972710c239dd504ca001a5dbb3a17c191e8b541224af
+SIZE (pion-udp-v2.0.1_GH0.tar.gz) = 14931
+SHA256 (pion-webrtc-v3.1.59_GH0.tar.gz) = b6357b369fec9273b9a69eb7ea5ac53aadaa6fc141a17084e6e5988b8aa3e4b4
+SIZE (pion-webrtc-v3.1.59_GH0.tar.gz) = 359387
diff --git a/www/galene/files/galene.in b/www/galene/files/galene.in
new file mode 100644
index 000000000000..17b872f5622f
--- /dev/null
+++ b/www/galene/files/galene.in
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# PROVIDE: galene
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+
+. /etc/rc.subr
+
+name=galene
+rcvar=${name}_enable
+desc="Visioconference server"
+
+load_rc_config "${name}"
+
+: ${galene_enable:="NO"}
+: ${galene_user:="%%USERS%%"}
+: ${galene_group:="%%GROUPS%%"}
+: ${galene_static:="%%DATADIR%%"}
+: ${galene_http:=":8443"}
+: ${galene_data:="/var/db/galene/data"}
+: ${galene_groups:="/var/db/galene/groups"}
+: ${galene_recordings:="/var/db/galene/recordings"}
+
+pidfile=/var/run/galene.pid
+procname="%%PREFIX%%/bin/galene"
+command="/usr/sbin/daemon"
+command_args="-cf -p ${pidfile} ${procname} -static ${galene_static} -http ${galene_http} -data ${galene_data} -groups ${galene_groups} -recordings ${galene_recordings} ${galene_args}"
+
+galene_startprecmd()
+{
+	if [ ! -e ${pidfile} ]; then
+		install -o ${galene_user} -g ${galene_group} /dev/null ${pidfile};
+	fi
+}
+
+start_precmd=galene_startprecmd
+run_rc_command "$1"
diff --git a/www/galene/pkg-descr b/www/galene/pkg-descr
new file mode 100644
index 000000000000..44b2811f29dc
--- /dev/null
+++ b/www/galene/pkg-descr
@@ -0,0 +1,9 @@
+Galène (or Galene) is a videoconference server (an “SFU”) that is easy to
+deploy and that requires moderate server resources. It was originally designed
+for lectures, conferences and student tutorials, but is also useful for
+traditional meetings.
+
+Galène has been used in production at two major universities (Université de
+Paris and Sorbonne Université) for lectures, practicals, seminars, and for
+staff meetings. It has been used to host two conferences (SOCS'2020 and
+JFLA'2021).
diff --git a/www/galene/pkg-plist b/www/galene/pkg-plist
new file mode 100644
index 000000000000..8ca31354a685
--- /dev/null
+++ b/www/galene/pkg-plist
@@ -0,0 +1,41 @@
+bin/galene
+%%DATADIR%%/404.css
+%%DATADIR%%/404.html
+%%DATADIR%%/common.css
+%%DATADIR%%/external/contextual/LICENSE
+%%DATADIR%%/external/contextual/contextual.css
+%%DATADIR%%/external/contextual/contextual.js
+%%DATADIR%%/external/fontawesome/css/all.min.css
+%%DATADIR%%/external/fontawesome/css/brands.min.css
+%%DATADIR%%/external/fontawesome/css/fontawesome.min.css
+%%DATADIR%%/external/fontawesome/css/regular.min.css
+%%DATADIR%%/external/fontawesome/css/solid.min.css
+%%DATADIR%%/external/fontawesome/css/svg-with-js.min.css
+%%DATADIR%%/external/fontawesome/css/v4-font-face.min.css
+%%DATADIR%%/external/fontawesome/css/v4-shims.min.css
+%%DATADIR%%/external/fontawesome/css/v5-font-face.min.css
+%%DATADIR%%/external/fontawesome/webfonts/fa-brands-400.ttf
+%%DATADIR%%/external/fontawesome/webfonts/fa-brands-400.woff2
+%%DATADIR%%/external/fontawesome/webfonts/fa-regular-400.ttf
+%%DATADIR%%/external/fontawesome/webfonts/fa-regular-400.woff2
+%%DATADIR%%/external/fontawesome/webfonts/fa-solid-900.ttf
+%%DATADIR%%/external/fontawesome/webfonts/fa-solid-900.woff2
+%%DATADIR%%/external/fontawesome/webfonts/fa-v4compatibility.ttf
+%%DATADIR%%/external/fontawesome/webfonts/fa-v4compatibility.woff2
+%%DATADIR%%/external/toastify/LICENSE
+%%DATADIR%%/external/toastify/toastify.css
+%%DATADIR%%/external/toastify/toastify.js
+%%DATADIR%%/galene.css
+%%DATADIR%%/galene.html
+%%DATADIR%%/galene.js
+%%DATADIR%%/index.html
+%%DATADIR%%/mainpage.css
+%%DATADIR%%/mainpage.js
+%%DATADIR%%/protocol.js
+%%DATADIR%%/stats.html
+%%DATADIR%%/stats.js
+%%DATADIR%%/tsconfig.json
+@dir(%%USERS%%,%%GROUPS%%,) /var/db/galene/data
+@dir(%%USERS%%,%%GROUPS%%,) /var/db/galene/groups
+@dir(%%USERS%%,%%GROUPS%%,) /var/db/galene/recordings
+@dir /var/db/galene



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