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>