From 1cea74f26263e1d94a70ffc6a798dde98129dd7a Mon Sep 17 00:00:00 2001 From: Renich Bon Ciric Date: Mon, 22 Apr 2024 20:54:43 -0600 Subject: [PATCH] specs preliminares para construir janus y nats-server --- .../9/golang-github-klauspost-compress.spec | 61 ++ .../9/golang-github-minio-highwayhash.spec | 51 ++ .../9/golang-github-nats-io-jwt-2.spec | 55 ++ .../9/golang-github-nats-io-nkeys.spec | 60 ++ .../9/golang-github-nats-io-nuid.spec | 82 ++ .../almalinux/9/golang-github-nats-io.spec | 58 ++ .../9/golang-github-prashantv-gostub.spec | 48 ++ .../almalinux/9/golang-github-protobuf.spec | 47 ++ .../almalinux/9/golang-uber-automaxprocs.spec | 52 ++ .../specs/almalinux/9/golang-x-time.spec | 48 ++ nextcloud/specs/almalinux/9/janus.spec | 741 ++++++++++++++++++ nextcloud/specs/almalinux/9/nats-server.spec | 97 +++ nextcloud/specs/almalinux/9/sofia-sip.spec | 115 +++ 13 files changed, 1515 insertions(+) create mode 100644 nextcloud/specs/almalinux/9/golang-github-klauspost-compress.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-minio-highwayhash.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-nats-io-jwt-2.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-nats-io-nkeys.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-nats-io-nuid.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-nats-io.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-prashantv-gostub.spec create mode 100644 nextcloud/specs/almalinux/9/golang-github-protobuf.spec create mode 100644 nextcloud/specs/almalinux/9/golang-uber-automaxprocs.spec create mode 100644 nextcloud/specs/almalinux/9/golang-x-time.spec create mode 100644 nextcloud/specs/almalinux/9/janus.spec create mode 100644 nextcloud/specs/almalinux/9/nats-server.spec create mode 100644 nextcloud/specs/almalinux/9/sofia-sip.spec diff --git a/nextcloud/specs/almalinux/9/golang-github-klauspost-compress.spec b/nextcloud/specs/almalinux/9/golang-github-klauspost-compress.spec new file mode 100644 index 0000000..ceb2f2c --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-klauspost-compress.spec @@ -0,0 +1,61 @@ +# Generated by go2rpm 1.10.0 +%bcond_without check +%global debug_package %{nil} +# lower memory usage on 32-bit +# shorten test duration on aarch64 +# https://github.com/klauspost/compress/issues/532 +%ifarch aarch64 armv7hl i686 +%global gotestflags -short %{gotestflags} +%endif + +# https://github.com/klauspost/compress +%global goipath github.com/klauspost/compress +Version: 1.17.7 + +%gometa -L + +%global common_description %{expand: +This package is based on an optimized Deflate function, which is used by +gzip/zip/zlib packages. + +It offers slightly better compression at lower compression settings, and up to +3x faster encoding at highest compression level.} + +%global golicenses LICENSE snappy/LICENSE snappy/xerial/LICENSE\\\ + s2/LICENSE gzhttp/LICENSE +%global godocs SECURITY.md README.md snappy/CONTRIBUTORS\\\ + snappy/README.md snappy/AUTHORS\\\ + snappy/xerial/README.md dict/README.md\\\ + huff0/README.md s2/README.md gzhttp/README.md\\\ + zstd/README.md fse/README.md + +Name: %{goname} +Release: %autorelease +Summary: Optimized Go Compression Packages + +License: Apache-2.0 AND BSD-3-Clause AND MIT +URL: %{gourl} +Source: %{gosource} + +%description %{common_description} + +%gopkg + +%prep +%goprep -A + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-github-minio-highwayhash.spec b/nextcloud/specs/almalinux/9/golang-github-minio-highwayhash.spec new file mode 100644 index 0000000..9f77d6b --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-minio-highwayhash.spec @@ -0,0 +1,51 @@ +# Generated by go2rpm 1.9.0 +%bcond_without check +%global debug_package %{nil} +# Avoid noarch package built differently on different architectures +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^golang\\(golang.org/x/sys/cpu\\)$ + +# https://github.com/minio/highwayhash +%global goipath github.com/minio/highwayhash +Version: 1.0.2 + +%gometa -f + + +%global common_description %{expand: +Native Go version of HighwayHash with optimized assembly implementations on +Intel and ARM} + +%global golicenses LICENSE +%global godocs README.md + +Name: %{goname} +Release: %autorelease +Summary: Native Go version of HighwayHash + +License: Apache-2.0 +URL: %{gourl} +Source: %{gosource} + +%description %{common_description} + +%gopkg + +%prep +%goprep +%autopatch -p1 + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-github-nats-io-jwt-2.spec b/nextcloud/specs/almalinux/9/golang-github-nats-io-jwt-2.spec new file mode 100644 index 0000000..83ee9c7 --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-nats-io-jwt-2.spec @@ -0,0 +1,55 @@ +# Generated by go2rpm 1.9.0 +%bcond_without check +%global debug_package %{nil} + +# https://github.com/nats-io/jwt +%global goipath github.com/nats-io/jwt +Version: 2.5.5 + +%gometa -f + +%global goname golang-github-nats-io-jwt-2 + +%global goaltipaths github.com/nats-io/jwt/v2 + +%global common_description %{expand: +JWT tokens signed using NKeys for Ed25519 for the NATS ecosystem.} + +%global golicenses LICENSE +%global godocs README.md ReleaseNotes.md dependencies.md + +Name: %{goname} +Release: %autorelease +Summary: JWT tokens signed using NKeys for Ed25519 for the NATS ecosystem + +License: Apache-2.0 +URL: %{gourl} +Source: %{gosource} + +%description %{common_description} + +%gopkg + +%prep +%goprep +%autopatch -p1 + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%files +%license LICENSE +%doc README.md ReleaseNotes.md dependencies.md + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-github-nats-io-nkeys.spec b/nextcloud/specs/almalinux/9/golang-github-nats-io-nkeys.spec new file mode 100644 index 0000000..aabe943 --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-nats-io-nkeys.spec @@ -0,0 +1,60 @@ +# Generated by go2rpm +%bcond_without check + +# https://github.com/nats-io/nkeys +%global goipath github.com/nats-io/nkeys +Version: 0.4.7 + +%gometa + +%global common_description %{expand: +A public-key signature system based on Ed25519 for the NATS ecosystem.} + +%global golicenses LICENSE +%global godocs GOVERNANCE.md MAINTAINERS.md README.md TODO.md\\\ + README-nk.md + +Name: %{goname} +Release: %autorelease +Summary: Public-key signature system based on Ed25519 for the NATS ecosystem + +# Upstream license specification: Apache-2.0 +License: ASL 2.0 +URL: %{gourl} +Source0: %{gosource} + +BuildRequires: golang(golang.org/x/crypto/ed25519) + +%description +%{common_description} + +%gopkg + +%prep +%goprep +mv nk/README.md README-nk.md + +%build +for cmd in nk; do + %gobuild -o %{gobuilddir}/bin/$(basename $cmd) %{goipath}/$cmd +done + +%install +%gopkginstall +install -m 0755 -vd %{buildroot}%{_bindir} +install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_bindir}/ + +%if %{with check} +%check +%gocheck +%endif + +%files +%license LICENSE +%doc GOVERNANCE.md MAINTAINERS.md README.md TODO.md README-nk.md +%{_bindir}/* + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-github-nats-io-nuid.spec b/nextcloud/specs/almalinux/9/golang-github-nats-io-nuid.spec new file mode 100644 index 0000000..d00de0f --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-nats-io-nuid.spec @@ -0,0 +1,82 @@ +# Generated by go2rpm +%bcond_without check + +# https://github.com/nats-io/nuid +%global goipath github.com/nats-io/nuid +Version: 1.0.1 + +%gometa + +%global common_description %{expand: +A highly performant unique identifier generator.} + +%global golicenses LICENSE +%global godocs GOVERNANCE.md MAINTAINERS.md README.md + +Name: %{goname} +Release: 13%{?dist} +Summary: Highly performant unique identifier generator + +# Upstream license specification: Apache-2.0 +License: ASL 2.0 +URL: %{gourl} +Source0: %{gosource} + +%description +%{common_description} + +%gopkg + +%prep +%goprep + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +* Wed Jan 24 2024 Fedora Release Engineering - 1.0.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.0.1-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 1.0.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 1.0.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 1.0.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 1.0.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 1.0.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 1.0.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 1.0.1-5 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 1.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 1.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue May 14 00:52:01 CEST 2019 Robert-André Mauchin - 1.0.1-1 +- Initial package diff --git a/nextcloud/specs/almalinux/9/golang-github-nats-io.spec b/nextcloud/specs/almalinux/9/golang-github-nats-io.spec new file mode 100644 index 0000000..4ca5ab4 --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-nats-io.spec @@ -0,0 +1,58 @@ +# Generated by go2rpm 1.9.0 +%bcond_without check +%bcond_with bootstrap +%global debug_package %{nil} + +# https://github.com/nats-io/nats.go +%global goipath github.com/nats-io/nats.go +Version: 1.34.1 + +%gometa -f + +%global goaltipaths github.com/nats-io/go-nats + +%global common_description %{expand: +Golang client for NATS, the cloud native messaging system.} + +%global golicenses LICENSE +%global godocs CODE-OF-CONDUCT.md GOVERNANCE.md\\\ + MAINTAINERS.md README.md + +Name: %{goname} +Release: %autorelease +Summary: Golang client for NATS, the cloud native messaging system + +License: Apache-2.0 +URL: %{gourl} +Source: %{gosource} + +%if %{with check} +# tests +BuildRequires: golang(github.com/golang/protobuf/proto) +%endif + +%description %{common_description} + +%gopkg + +%prep +%goprep +%autopatch -p1 + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{without bootstrap} +%if %{with check} +%check +%gocheck +%endif +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-github-prashantv-gostub.spec b/nextcloud/specs/almalinux/9/golang-github-prashantv-gostub.spec new file mode 100644 index 0000000..96e49b2 --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-prashantv-gostub.spec @@ -0,0 +1,48 @@ +# Generated by go2rpm 1.9.0 +%bcond_without check +%global debug_package %{nil} + +# https://github.com/prashantv/gostub +%global goipath github.com/prashantv/gostub +Version: 1.1.0 + +%gometa -f + + +%global common_description %{expand: +Gostub is a library to make stubbing in unit tests easy.} + +%global golicenses LICENSE.md +%global godocs CHANGELOG.md README.md + +Name: %{goname} +Release: %autorelease +Summary: Gostub is a library to make stubbing in unit tests easy + +License: MIT +URL: %{gourl} +Source: %{gosource} + +%description %{common_description} + +%gopkg + +%prep +%goprep +%autopatch -p1 + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-github-protobuf.spec b/nextcloud/specs/almalinux/9/golang-github-protobuf.spec new file mode 100644 index 0000000..461bff6 --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-github-protobuf.spec @@ -0,0 +1,47 @@ +# Generated by go2rpm 1.6.0 +%bcond_without check +%global debug_package %{nil} + +# https://github.com/golang/protobuf +%global goipath github.com/golang/protobuf +Version: 1.5.3 + +%gometa + +%global common_description %{expand: +Go support for Google's protocol buffers.} + +%global golicenses LICENSE +%global godocs AUTHORS CONTRIBUTORS README.md + +Name: %{goname} +Release: %autorelease +Summary: Go support for Google's protocol buffers + +License: BSD-3-Clause +URL: %{gourl} +Source0: %{gosource} + +%description +%{common_description} + +%gopkg + +%prep +%goprep + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-uber-automaxprocs.spec b/nextcloud/specs/almalinux/9/golang-uber-automaxprocs.spec new file mode 100644 index 0000000..041486c --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-uber-automaxprocs.spec @@ -0,0 +1,52 @@ +# Generated by go2rpm 1.9.0 +%bcond_without check +%global debug_package %{nil} + +# https://github.com/uber-go/automaxprocs +%global goipath go.uber.org/automaxprocs +%global forgeurl https://github.com/uber-go/automaxprocs +Version: 1.5.2 + +%gometa -f + + +%global goaltipaths github.com/uber-go/automaxprocs + +%global common_description %{expand: +Automatically set GOMAXPROCS to match Linux container CPU quota.} + +%global golicenses LICENSE +%global godocs CHANGELOG.md CODE_OF_CONDUCT.md CONTRIBUTING.md\\\ + README.md + +Name: %{goname} +Release: %autorelease +Summary: Automatically set GOMAXPROCS to match Linux container CPU quota + +License: MIT +URL: %{gourl} +Source: %{gosource} + +%description %{common_description} + +%gopkg + +%prep +%goprep +%autopatch -p1 + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/golang-x-time.spec b/nextcloud/specs/almalinux/9/golang-x-time.spec new file mode 100644 index 0000000..21ee2bc --- /dev/null +++ b/nextcloud/specs/almalinux/9/golang-x-time.spec @@ -0,0 +1,48 @@ +# Generated by go2rpm 1.7.0 +%bcond_without check +%global debug_package %{nil} + +# https://github.com/golang/time +%global goipath golang.org/x/time +%global forgeurl https://github.com/golang/time +Version: 0.3.0 + +%gometa + +%global common_description %{expand: +This library provides supplementary Go time packages.} + +%global golicenses LICENSE PATENTS +%global godocs CONTRIBUTING.md README.md + +Name: %{goname} +Release: %autorelease +Summary: Go supplementary time packages + +License: BSD-3-Clause +URL: %{gourl} +Source: %{gosource} + +%description +%{common_description} + +%gopkg + +%prep +%goprep + +%generate_buildrequires +%go_generate_buildrequires + +%install +%gopkginstall + +%if %{with check} +%check +%gocheck +%endif + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/janus.spec b/nextcloud/specs/almalinux/9/janus.spec new file mode 100644 index 0000000..dda648c --- /dev/null +++ b/nextcloud/specs/almalinux/9/janus.spec @@ -0,0 +1,741 @@ +%global __provides_exclude_from %{_includedir}/%{name}/events/.*\\.so$ +%global __provides_exclude_from %{_includedir}/%{name}/loggers/.*\\.so$ +%global __provides_exclude_from %{_includedir}/%{name}/plugins/.*\\.so$ +%global __provides_exclude_from %{_includedir}/%{name}/transports/.*\\.so$ + +%global __requires_exclude_from %{_includedir}/%{name}/events/.*\\.so$ +%global __requires_exclude_from %{_includedir}/%{name}/loggers/.*\\.so$ +%global __requires_exclude_from %{_includedir}/%{name}/plugins/.*\\.so$ +%global __requires_exclude_from %{_includedir}/%{name}/transports/.*\\.so$ + +Name: janus +Version: 1.2.2 +Release: 0%{?dist} +Summary: An open source WebRTC server designed and developed by Meetecho + +License: GPLv3 AND MIT AND BSD-3-Clause +URL: https://janus.conf.meetecho.com/ +Source0: https://github.com/meetecho/%{name}-gateway/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: %{name}.service +Source2: %{name}.sysusers + +patch0: 0004-janus-dtls.patch + +BuildRequires: autoconf +BuildRequires: automake +#BuildRequires: cmake +BuildRequires: duktape-devel +#BuildRequires: gcc +BuildRequires: glib2-devel +#BuildRequires: graphviz +BuildRequires: intltool +BuildRequires: jansson-devel + +%if 0%{?rhel} == 8 +BuildRequires: ffmpeg-devel +%endif + +%if 0%{?fedora} || 0%{?rhel} > 8 +BuildRequires: libavcodec-free-devel +BuildRequires: libavformat-free-devel +BuildRequires: libavutil-free-devel +%endif + +BuildRequires: libconfig-devel +BuildRequires: libcurl-devel +BuildRequires: libmicrohttpd-devel +BuildRequires: libnice-devel +#BuildRequires: libogg +BuildRequires: libpcap-devel +BuildRequires: librabbitmq-devel +BuildRequires: libsrtp-devel +BuildRequires: libtool +BuildRequires: libwebsockets-devel +BuildRequires: lua-devel +#BuildRequires: make +BuildRequires: nanomsg-devel +BuildRequires: openssl-devel +BuildRequires: opus-devel +BuildRequires: paho-c-devel +BuildRequires: sofia-sip-devel +BuildRequires: speexdsp-devel +BuildRequires: systemd-devel +BuildRequires: systemd-rpm-macros +BuildRequires: usrsctp-devel +BuildRequires: zlib-devel + +%description +Janus is an open source WebRTC server designed and developed by Meetecho. + + +%package devel +Summary: The %{name} header files and test scripts + +%description devel +Development package containing header files and what is required for %{name} +plugin development, as well as some test scripts. + + +%package eventhandlers-gelf +Summary: GELF event handler for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description eventhandlers-gelf +GELF event handler for %{name}. + + +%package eventhandlers-mqtt +Summary: MQTT event handler for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description eventhandlers-mqtt +MQTT event handler for %{name}. + + +%package eventhandlers-nanomsg +Summary: Nanomsg event handler for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description eventhandlers-nanomsg +Nanomsg event handler for %{name}. + + +%package eventhandlers-rabbitmq +Summary: RabbitMQ event handler for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description eventhandlers-rabbitmq +RabbitMQ event handler for %{name}. + + +%package eventhandlers-sample +Summary: Sample event handler for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description eventhandlers-sample +Sample event handler for %{name}. + + +%package eventhandlers-ws +Summary: WebSocket event handler for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description eventhandlers-ws +WebSocket event handler for %{name}. + + +%package loggers-json +Summary: A logger plugin for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description loggers-json +This is a trivial logger plugin for %{name}. + + +%package plugins-audiobridge +Summary: This is a plugin implementing an audio conference bridge for %{name}, specifically mixing Opus streams. +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-audiobridge +This is a plugin implementing an audio conference bridge for %{name}, specifically mixing Opus streams. + + +%package plugins-duktape +Summary: A simple bridge to JavaScript via Duktape for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-duktape +This is a plugin that implements a simple bridge to JavaScript via Duktape for +%{name}. + + +%package plugins-echotest +Summary: EchoTest plugin for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-echotest +This is a trivial EchoTest plugin for %{name}, just used to showcase the plugin +interface. + + +# TODO: package lua-ansicolors: https://github.com/kikito/ansicolors.lua +%package plugins-lua +Summary: Simple bridge to Lua scripts for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: lua-json + +%description plugins-lua +This is a plugin that implements a simple bridge to Lua scripts for %{name}. + + +%package plugins-nosip +Summary: Acts as an RTP bridge for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-nosip +This is quite a basic plugin, as it only takes care of acting as an RTP bridge +for %{name}. + + +%package plugins-recordplay +Summary: Record and playback of WebRTC messages for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-recordplay +This is a simple application that implements two different features for +%{name}: it allows you to record a message you send with WebRTC and +subsequently replay this recording (or other previously recorded) through +WebRTC as well. + + +%package plugins-sip +Summary: Allows WebRTC peers to register at a SIP server +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-sip +This is a simple SIP plugin for Janus, allowing WebRTC peers to register at a +SIP server (e.g., Asterisk) and call SIP user agents through %{name}. + + +%package plugins-streaming +Summary: Streaming plugin for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-streaming +This is a streaming plugin for %{name}, allowing WebRTC peers to watch/listen +to pre-recorded files or media generated by another tool. + + +%package plugins-textroom +Summary: A DataChannel only text room for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-textroom +This is a plugin implementing a DataChannel only text room for %{name}. + + +%package plugins-videocall +Summary: Allows two WebRTC peers to call each other through %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-videocall +This is a simple video call plugin for Janus, allowing two WebRTC peers to call +each other through %{name}. + + +%package plugins-videoroom +Summary: Videoconferencing SFU for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description plugins-videoroom +This is a plugin implementing a videoconferencing SFU (Selective Forwarding +Unit) for %{name}, that is an audio/video router. + + +%package tools +Summary: Janus' helper tools +Requires: gstreamer1-plugins-good%{?_isa} + +%description tools +Janus' helper tools. + + +%package transports-http +Summary: RESTs transport for the %{name} API +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description transports-http +This is an implementation of a RESTs transport for the %{name} API, using the +libmicrohttpd library. + + +%package transports-mqtt +Summary: MQTT transport for the %{name} API +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description transports-mqtt +This is an implementation of a MQTT transport for the %{name} API, using the +Eclipse Paho C Client library. + + +%package transports-nanomsg +Summary: Nanomsg transport for the %{name} API +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description transports-nanomsg +This is an implementation of a Nanomsg transport for the %{name} API. + + +%package transports-pfunix +Summary: Unix Sockets transport for the %{name} API +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description transports-pfunix +This is an implementation of a Unix Sockets transport for the %{name} API. + + +%package transports-rabbitmq +Summary: RabbitMQ transport for the %{name} API +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description transports-rabbitmq +This is an implementation of a RabbitMQ transport for the %{name} API. + + +%package transports-websockets +Summary: WebSockets transport for the %{name} API +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description transports-websockets +This is an implementation of a WebSockets transport for the %{name} API. + + +%prep +%autosetup -p 1 -n %{name}-gateway-%{version} + + +%build +sh autogen.sh +%configure \ + --disable-docs \ + --enable-json-logger \ + --enable-plugin-audiobridge \ + --enable-plugin-duktape \ + --enable-plugin-lua \ + --enable-post-processing \ + --enable-systemd-sockets + +%make_build + + +%check +make check + + +%install +%make_install + +# generate configuration files +make DESTDIR=%{buildroot} configs + +# make scripts executable +chmod 755 %{buildroot}%{_datadir}/%{name}/streams/*.sh + +# systemd +install -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/%{name}.service +install -p -D -m 0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/%{name}.conf + +# cleanup +rm -fr %{buildroot}%{_docdir}/%{name}-gateway +rm -fr %{buildroot}%{_datadir}/%{name}/html +rm -fr %{buildroot}%{_datadir}/%{name}/javascript +find %{buildroot} -type f -iname '*.la' -delete + + +%pre +%sysusers_create_compat %{SOURCE2} + + +%post +%systemd_post %{name}.service + + +%preun +%systemd_preun %{name}.service + + +%postun +%systemd_postun_with_restart %{name}.service + + +%files +# licenses and docs +%license COPYING +%doc README.md +%doc SECURITY.md +%doc CHANGELOG.md + +# binaries +%{_bindir}/%{name} +%{_bindir}/%{name}-cfgconv + +# manuals +%{_mandir}/man1/%{name}-cfgconv.1.gz +%{_mandir}/man1/%{name}.1.gz + +# samples +%doc %{_sysconfdir}/%{name}/%{name}.jcfg.sample + +# configuration +%dir %{_sysconfdir}/%{name} +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.jcfg + +# systemd service unit +%{_unitdir}/%{name}.service + +# systemd sysusers +%{_sysusersdir}/%{name}.conf + +# lib filesystem +%dir %{_libdir}/%{name} +%dir %{_libdir}/%{name}/events +%dir %{_libdir}/%{name}/loggers +%dir %{_libdir}/%{name}/plugins +%dir %{_libdir}/%{name}/transports + +# data filesystem +%dir %{_datadir}/%{name} + + +## event handlers +%files eventhandlers-gelf +%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.gelfevh.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.gelfevh.jcfg +%{_libdir}/%{name}/events/libjanus_gelfevh.so +%{_libdir}/%{name}/events/libjanus_gelfevh.so.2 +%{_libdir}/%{name}/events/libjanus_gelfevh.so.2.0.2 + + +%files eventhandlers-mqtt +%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.mqttevh.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.mqttevh.jcfg +%{_libdir}/%{name}/events/libjanus_mqttevh.so +%{_libdir}/%{name}/events/libjanus_mqttevh.so.2 +%{_libdir}/%{name}/events/libjanus_mqttevh.so.2.0.2 + + +%files eventhandlers-nanomsg +%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.nanomsgevh.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.nanomsgevh.jcfg +%{_libdir}/%{name}/events/libjanus_nanomsgevh.so +%{_libdir}/%{name}/events/libjanus_nanomsgevh.so.2 +%{_libdir}/%{name}/events/libjanus_nanomsgevh.so.2.0.2 + + +%files eventhandlers-rabbitmq +%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.rabbitmqevh.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.rabbitmqevh.jcfg +%{_libdir}/%{name}/events/libjanus_rabbitmqevh.so +%{_libdir}/%{name}/events/libjanus_rabbitmqevh.so.2 +%{_libdir}/%{name}/events/libjanus_rabbitmqevh.so.2.0.2 + + +%files eventhandlers-sample +%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.sampleevh.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.sampleevh.jcfg +%{_libdir}/%{name}/events/libjanus_sampleevh.so +%{_libdir}/%{name}/events/libjanus_sampleevh.so.2 +%{_libdir}/%{name}/events/libjanus_sampleevh.so.2.0.2 + + +%files eventhandlers-ws +%doc %{_sysconfdir}/%{name}/%{name}.eventhandler.wsevh.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.eventhandler.wsevh.jcfg +%{_libdir}/%{name}/events/libjanus_wsevh.so +%{_libdir}/%{name}/events/libjanus_wsevh.so.2 +%{_libdir}/%{name}/events/libjanus_wsevh.so.2.0.2 + + +# loggers +%files loggers-json +%doc %{_sysconfdir}/%{name}/%{name}.logger.jsonlog.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.logger.jsonlog.jcfg +%{_libdir}/%{name}/loggers/libjanus_jsonlog.so +%{_libdir}/%{name}/loggers/libjanus_jsonlog.so.2 +%{_libdir}/%{name}/loggers/libjanus_jsonlog.so.2.0.2 + + +## plugins +%files plugins-audiobridge +%doc %{_sysconfdir}/%{name}/%{name}.plugin.audiobridge.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.audiobridge.jcfg +%{_libdir}/%{name}/plugins/libjanus_audiobridge.so +%{_libdir}/%{name}/plugins/libjanus_audiobridge.so.2 +%{_libdir}/%{name}/plugins/libjanus_audiobridge.so.2.0.2 + + +%files plugins-duktape +%doc %{_sysconfdir}/%{name}/%{name}.plugin.duktape.jcfg.sample +%dir %{_datadir}/%{name}/duktape +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.duktape.jcfg +%{_datadir}/%{name}/duktape/echotest.js +%{_datadir}/%{name}/duktape/%{name}-sdp.js +%{_libdir}/%{name}/plugins/libjanus_duktape.so +%{_libdir}/%{name}/plugins/libjanus_duktape.so.2 +%{_libdir}/%{name}/plugins/libjanus_duktape.so.2.0.2 + + +%files plugins-echotest +%doc %{_sysconfdir}/%{name}/%{name}.plugin.echotest.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.echotest.jcfg +%{_libdir}/%{name}/plugins/libjanus_echotest.so +%{_libdir}/%{name}/plugins/libjanus_echotest.so.2 +%{_libdir}/%{name}/plugins/libjanus_echotest.so.2.0.2 + + +%files plugins-lua +%doc %{_sysconfdir}/%{name}/%{name}.plugin.lua.jcfg.sample +%dir %{_datadir}/%{name}/lua +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.lua.jcfg +%{_datadir}/%{name}/lua/echotest.lua +%{_datadir}/%{name}/lua/%{name}-logger.lua +%{_datadir}/%{name}/lua/%{name}-sdp.lua +%{_datadir}/%{name}/lua/videoroom.lua +%{_libdir}/%{name}/plugins/libjanus_lua.so +%{_libdir}/%{name}/plugins/libjanus_lua.so.2 +%{_libdir}/%{name}/plugins/libjanus_lua.so.2.0.2 + + +%files plugins-nosip +%doc %{_sysconfdir}/%{name}/%{name}.plugin.nosip.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.nosip.jcfg +%{_libdir}/%{name}/plugins/libjanus_nosip.so +%{_libdir}/%{name}/plugins/libjanus_nosip.so.2 +%{_libdir}/%{name}/plugins/libjanus_nosip.so.2.0.2 + + +%files plugins-recordplay +%doc %{_sysconfdir}/%{name}/%{name}.plugin.recordplay.jcfg.sample +%dir %{_datadir}/%{name}/recordings +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.recordplay.jcfg +%{_datadir}/%{name}/recordings/1234.nfo +%{_datadir}/%{name}/recordings/rec-sample-audio.mjr +%{_datadir}/%{name}/recordings/rec-sample-video.mjr +%{_libdir}/%{name}/plugins/libjanus_recordplay.so +%{_libdir}/%{name}/plugins/libjanus_recordplay.so.2 +%{_libdir}/%{name}/plugins/libjanus_recordplay.so.2.0.2 + + +%files plugins-sip +%doc %{_sysconfdir}/%{name}/%{name}.plugin.sip.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.sip.jcfg +%{_libdir}/%{name}/plugins/libjanus_sip.so +%{_libdir}/%{name}/plugins/libjanus_sip.so.2 +%{_libdir}/%{name}/plugins/libjanus_sip.so.2.0.2 + + +%files plugins-streaming +%doc %{_sysconfdir}/%{name}/%{name}.plugin.streaming.jcfg.sample +%dir %{_datadir}/%{name}/streams +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.streaming.jcfg +%{_datadir}/%{name}/streams/music.mulaw +%{_datadir}/%{name}/streams/radio.alaw +%{_datadir}/%{name}/streams/test_gstreamer.sh +%{_datadir}/%{name}/streams/test_gstreamer1.sh +%{_datadir}/%{name}/streams/test_gstreamer1_multistream.sh +%{_datadir}/%{name}/streams/test_gstreamer_multistream.sh +%{_libdir}/%{name}/plugins/libjanus_streaming.so +%{_libdir}/%{name}/plugins/libjanus_streaming.so.2 +%{_libdir}/%{name}/plugins/libjanus_streaming.so.2.0.2 + + +%files plugins-textroom +%doc %{_sysconfdir}/%{name}/%{name}.plugin.textroom.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.textroom.jcfg +%{_libdir}/%{name}/plugins/libjanus_textroom.so +%{_libdir}/%{name}/plugins/libjanus_textroom.so.2 +%{_libdir}/%{name}/plugins/libjanus_textroom.so.2.0.2 + + +%files plugins-videocall +%doc %{_sysconfdir}/%{name}/%{name}.plugin.videocall.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.videocall.jcfg +%{_libdir}/%{name}/plugins/libjanus_videocall.so +%{_libdir}/%{name}/plugins/libjanus_videocall.so.2 +%{_libdir}/%{name}/plugins/libjanus_videocall.so.2.0.2 + + +%files plugins-videoroom +%doc %{_sysconfdir}/%{name}/%{name}.plugin.videoroom.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.plugin.videoroom.jcfg +%{_libdir}/%{name}/plugins/libjanus_videoroom.so +%{_libdir}/%{name}/plugins/libjanus_videoroom.so.2 +%{_libdir}/%{name}/plugins/libjanus_videoroom.so.2.0.2 + + +# transports +%files transports-http +%doc %{_sysconfdir}/%{name}/%{name}.transport.http.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.http.jcfg +%{_libdir}/%{name}/transports/libjanus_http.so +%{_libdir}/%{name}/transports/libjanus_http.so.2 +%{_libdir}/%{name}/transports/libjanus_http.so.2.0.2 + + +%files transports-mqtt +%doc %{_sysconfdir}/%{name}/%{name}.transport.mqtt.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.mqtt.jcfg +%{_libdir}/%{name}/transports/libjanus_mqtt.so +%{_libdir}/%{name}/transports/libjanus_mqtt.so.2 +%{_libdir}/%{name}/transports/libjanus_mqtt.so.2.0.2 + + +%files transports-nanomsg +%doc %{_sysconfdir}/%{name}/%{name}.transport.nanomsg.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.nanomsg.jcfg +%{_libdir}/%{name}/transports/libjanus_nanomsg.so +%{_libdir}/%{name}/transports/libjanus_nanomsg.so.2 +%{_libdir}/%{name}/transports/libjanus_nanomsg.so.2.0.2 + + +%files transports-pfunix +%doc %{_sysconfdir}/%{name}/%{name}.transport.pfunix.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.pfunix.jcfg +%{_libdir}/%{name}/transports/libjanus_pfunix.so +%{_libdir}/%{name}/transports/libjanus_pfunix.so.2 +%{_libdir}/%{name}/transports/libjanus_pfunix.so.2.0.2 + + +%files transports-rabbitmq +%doc %{_sysconfdir}/%{name}/%{name}.transport.rabbitmq.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.rabbitmq.jcfg +%{_libdir}/%{name}/transports/libjanus_rabbitmq.so +%{_libdir}/%{name}/transports/libjanus_rabbitmq.so.2 +%{_libdir}/%{name}/transports/libjanus_rabbitmq.so.2.0.2 + + +%files transports-websockets +%doc %{_sysconfdir}/%{name}/%{name}.transport.websockets.jcfg.sample +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.transport.websockets.jcfg +%{_libdir}/%{name}/transports/libjanus_websockets.so +%{_libdir}/%{name}/transports/libjanus_websockets.so.2 +%{_libdir}/%{name}/transports/libjanus_websockets.so.2.0.2 + + +%files devel +%dir %{_includedir}/%{name} +%dir %{_includedir}/%{name}/events +%dir %{_includedir}/%{name}/loggers +%dir %{_includedir}/%{name}/plugins +%dir %{_includedir}/%{name}/transports + +# headers for plugin development +%{_includedir}/%{name}/apierror.h +%{_includedir}/%{name}/config.h +%{_includedir}/%{name}/debug.h +%{_includedir}/%{name}/events/eventhandler.h +%{_includedir}/%{name}/ip-utils.h +%{_includedir}/%{name}/log.h +%{_includedir}/%{name}/loggers/logger.h +%{_includedir}/%{name}/mutex.h +%{_includedir}/%{name}/plugins/plugin.h +%{_includedir}/%{name}/record.h +%{_includedir}/%{name}/refcount.h +%{_includedir}/%{name}/rtcp.h +%{_includedir}/%{name}/rtp.h +%{_includedir}/%{name}/rtpsrtp.h +%{_includedir}/%{name}/sdp-utils.h +%{_includedir}/%{name}/text2pcap.h +%{_includedir}/%{name}/transports/transport.h +%{_includedir}/%{name}/utils.h + + +%files tools +# binaries +%{_bindir}/%{name}-pp-rec +%{_bindir}/mjr2pcap +%{_bindir}/pcap2mjr + +# manuals +%{_mandir}/man1/mjr2pcap.1.gz +%{_mandir}/man1/pcap2mjr.1.gz +%{_mandir}/man1/%{name}-pp-rec.1.gz + + +%changelog +* Fri Apr 19 2024 Renich Bon Ciric - 1.2.2-0 +- Updated to v1.2.2. + +* Fri Sep 15 2023 Renich Bon Ciric - 1.2.0-3 +- Labeled the demo directory with httpd_sys_content_t label. + +* Thu Sep 14 2023 Renich Bon Ciric - 1.2.0-2 +- Moved .so files into their respective plugins. Plugins don't work without them. +- Added lua-json as a dependency for the lua plugin. +- Added plugin dependencies to janus-demos. +- Added back the audiobridge plugin. + +* Tue Aug 15 2023 Renich Bon Ciric - 1.2.0-1 +- Updated to v1.2.0. +- Removed the audiobridge plugin. +- Again, selectively including files generated by doxygen in Fedora 37, 38, 39 and rawhide. +- Patched janus so it uses the system's cypher recommendations. + +* Wed May 17 2023 Renich Bon Ciric - 1.1.3-1 +- Updated to v1.1.3. +- Removed voicemail plugin. +- Removed Fedora 36 support. + +* Wed Feb 01 2023 Renich Bon Ćirić - 1.1.2-3 +- Removed date from docs package. +- Added make as a build dependency. + +* Thu Jan 26 2023 Renich Bon Ćirić - 1.1.2-2 +- Fixed file selection for Fedora 37 and onwards. + +* Mon Jan 23 2023 Renich Bon Ćirić - 1.1.2-1 +- Updated to v1.1.2. +- Selectively including files generated by doxygen. +- Removed libcurl patch since upstream included it. + +* Mon Jan 16 2023 Renich Bon Ćirić - 1.1.1-5 +- Removed js-jquery explicit requirement from doc. +- Corrected the gstreamer dependency version for tools. + +* Wed Jan 04 2023 Renich Bon Ćirić - 1.1.1-4 +- Applied patch to fix build. Upstream ticket is: https://github.com/meetecho/janus-gateway/pull/3138. + +* Fri Dec 23 2022 Renich Bon Ćirić - 1.1.1-3 +- Shortened summaries. +- Marked demos and docs as noarch. +- Removed the js-jquery requirement. + +* Sun Dec 18 2022 Renich Bon Ćirić - 1.1.1-2 +- Converted remote web resources to local for docs and demos. +- Added a check finally. + +* Fri Dec 16 2022 Renich Bon Ćirić - 1.1.1-1 +- Updated to v1.1.1. +- Corrected plugins versions. + +* Wed Nov 23 2022 Renich Bon Ćirić - 1.1.0-5 +- Fixed file inclusion in order to avoid duplicates. + +* Thu Nov 17 2022 Renich Bon Ćirić - 1.1.0-4 +- Made dependency of janus in plugins more accurate. + +* Mon Oct 31 2022 Renich Bon Ćirić - 1.1.0-3 +- Fixed directory ownership. + +* Tue Oct 18 2022 Renich Bon Ćirić - 1.1.0-2 +- Re-adding demos and docs in HTML format. + +* Mon Oct 03 2022 Renich Bon Ćirić - 1.0.4-7 +- Adding noarch to doc subpackage. +- Removed doc and demos sub-package for now. + +* Thu Sep 22 2022 Renich Bon Ćirić - 1.0.4-6 +- Renamed package to janus to honor upstream's request. +- Added libpcap-devel so it builds pcap2mjr. +- Relocated some files due to upstream's advice. +- Properly adding configuration files. +- Added system user. + +* Wed Sep 21 2022 Renich Bon Ćirić - 1.0.4-5 +- Dividing package into sub-packages. +- Enabled the json-logger. + +* Wed Sep 14 2022 Renich Bon Ćirić - 1.0.4-4 +- Using name and version macros in main source declaration. +- Moved sample files into doc directory. + +* Tue Aug 30 2022 Renich Bon Ćirić - 1.0.4-3 +- Moved some headers to the -devel subpackage. +- Added BSD-3-Clause and MIT licenses. +- Added missing license file to the doc subpackage. + +* Fri Aug 26 2022 Renich Bon Ćirić - 1.0.4-2 +- Added missing BuildRequires for the systemd unit. + +* Thu Aug 18 2022 Renich Bon Ćirić - 1.0.4-1 +- first draft diff --git a/nextcloud/specs/almalinux/9/nats-server.spec b/nextcloud/specs/almalinux/9/nats-server.spec new file mode 100644 index 0000000..69f71e2 --- /dev/null +++ b/nextcloud/specs/almalinux/9/nats-server.spec @@ -0,0 +1,97 @@ +# Generated by go2rpm +%bcond_without check + +# https://github.com/nats-io/nats-server +%global goipath github.com/nats-io/nats-server +Version: 2.10.9 + +%gometa -f + +%global goname nats-server +%global goaltipaths github.com/nats-io/gnatsd github.com/nats-io/nats-server/v2 + +%global common_description %{expand: +A High Performance NATS Server written in Go and hosted by the Cloud Native +Computing Foundation (CNCF).} + +%global golicenses LICENSE +%global godocs CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md\\\ + README.md TODO.md + +Name: %{goname} +Release: %autorelease +Summary: High-Performance server for NATS, the cloud native messaging system + +# Upstream license specification: Apache-2.0 +License: Apache-2.0 +URL: %{gourl} +Source0: %{gosource} + +BuildRequires: systemd-rpm-macros +BuildRequires: help2man +Requires(pre): shadow-utils + +%description +%{common_description} + +%gopkg + +%prep +%goprep + +%generate_buildrequires +%go_generate_buildrequires + +%build +%gobuild -o %{gobuilddir}/bin/%{name} %{goipath} + + +%install +%gopkginstall +install -m 0755 -vd %{buildroot}%{_sbindir} +install -m 0755 -vp %{gobuilddir}/bin/* %{buildroot}%{_sbindir}/ +install -m 0755 -vd %{buildroot}%{_mandir}/man1 +help2man --no-discard-stderr --no-info --version-string=%{version} %{buildroot}%{_sbindir}/%{name} > %{buildroot}%{_mandir}/man1/%{name}.1 +install -m 0755 -vd %{buildroot}%{_unitdir} +install -m 0755 -vp util/%{name}.service %{buildroot}%{_unitdir}/ +install -m 0755 -vd %{buildroot}%{_sysconfdir} +install -m 0755 -vp docker/nats-server.conf %{buildroot}%{_sysconfdir}/ +mkdir -p %{buildroot}%{_sharedstatedir}/%{name} + +%pre +getent group nats >/dev/null || groupadd -r nats +getent passwd nats >/dev/null || \ + useradd -r -g nats -d %{_sharedstatedir}/%{name} -s /sbin/nologin \ + -c "NATS Server account" nats +exit 0 + +%post +%systemd_post %{name}.service + +%preun +%systemd_preun %{name}.service + +%postun +%systemd_postun_with_restart %{name}.service + +%if %{with check} +%check +# logger: needs access to syslog +# server, test: need network +# server/avl: intermittent timeout errors +%gocheck -d logger -d server -d server/avl -d server/pse -d test +%endif + +%files +%license LICENSE +%doc CODE-OF-CONDUCT.md GOVERNANCE.md MAINTAINERS.md README.md TODO.md +%{_sbindir}/* +%config(noreplace) %{_sysconfdir}/%{name}.conf +%{_mandir}/man1/%{name}.1* +%{_unitdir}/%{name}.service +%attr(0750, nats, nats) %dir %{_sharedstatedir}/%{name} + +%gopkgfiles + +%changelog +%autochangelog diff --git a/nextcloud/specs/almalinux/9/sofia-sip.spec b/nextcloud/specs/almalinux/9/sofia-sip.spec new file mode 100644 index 0000000..a0dd084 --- /dev/null +++ b/nextcloud/specs/almalinux/9/sofia-sip.spec @@ -0,0 +1,115 @@ +Name: sofia-sip +Version: 1.13.16 +Release: %autorelease +Summary: Sofia SIP User-Agent library + +License: LGPL-2.1-or-later +URL: http://sofia-sip.sourceforge.net/ +Source0: https://github.com/freeswitch/%{name}/archive/refs/tags/v%{version}.tar.gz + +# https://github.com/freeswitch/sofia-sip/pull/249 +Patch0: 0001-Fix-incompatible-pointer-type-in-sip_basic.c.patch + +BuildRequires: make +BuildRequires: gcc-c++ +BuildRequires: openssl-devel +BuildRequires: glib2-devel +BuildRequires: lksctp-tools-devel +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool >= 1.5.17 + +%description +Sofia SIP is a RFC-3261-compliant library for SIP user agents and +other network elements. The Session Initiation Protocol (SIP) is an +application-layer control (signaling) protocol for creating, +modifying, and terminating sessions with one or more +participants. These sessions include Internet telephone calls, +multimedia distribution, and multimedia conferences. + +%package devel +Summary: Sofia-SIP Development Package +Requires: sofia-sip = %{version}-%{release} +Requires: pkgconfig + +%description devel +Development package for Sofia SIP UA library. + +%package glib +Summary: Glib bindings for Sofia-SIP +Requires: sofia-sip = %{version}-%{release} + +%description glib +GLib interface to Sofia SIP User Agent library. + +%package glib-devel +Summary: Glib bindings for Sofia SIP development files +Requires: sofia-sip-glib = %{version}-%{release} +Requires: sofia-sip-devel = %{version}-%{release} +Requires: pkgconfig + +%description glib-devel +Development package for Sofia SIP UA Glib library. This package +includes libraries and include files for developing glib programs +using Sofia SIP. + +%package utils +Summary: Sofia-SIP Command Line Utilities +Requires: sofia-sip = %{version}-%{release} + +%description utils +Command line utilities for the Sofia SIP UA library. + + +%prep +%autosetup -p1 + +%build +sh autogen.sh +%configure --disable-rpath --disable-static --without-doxygen --disable-stun +make %{?_smp_mflags} + +%install +%make_install +find %{buildroot} -name \*.la -delete +find %{buildroot} -name \*.h.in -delete +find . -name installdox -delete + +%ldconfig_scriptlets +%ldconfig_scriptlets glib + +%files +%doc AUTHORS ChangeLog ChangeLog.ext-trees COPYING COPYRIGHTS +%doc README README.developers RELEASE TODO +%{_libdir}/libsofia-sip-ua.so.* + +%files devel +#%doc libsofia-sip-ua/docs/html +%dir %{_includedir}/sofia-sip-1.13 +%dir %{_includedir}/sofia-sip-1.13/sofia-sip +%{_includedir}/sofia-sip-1.13/sofia-sip/*.h +%exclude %{_includedir}/sofia-sip-1.13/sofia-sip/su_source.h +%dir %{_includedir}/sofia-sip-1.13/sofia-resolv +%{_includedir}/sofia-sip-1.13/sofia-resolv/*.h +%{_libdir}/libsofia-sip-ua.so +%{_libdir}/pkgconfig/sofia-sip-ua.pc +%{_datadir}/sofia-sip + +%files glib +%{_libdir}/libsofia-sip-ua-glib.so.* + +%files glib-devel +%{_includedir}/sofia-sip-1.13/sofia-sip/su_source.h +%{_libdir}/libsofia-sip-ua-glib.so +%{_libdir}/pkgconfig/sofia-sip-ua-glib.pc + +%files utils +%{_bindir}/addrinfo +%{_bindir}/localinfo +%{_bindir}/sip-date +%{_bindir}/sip-dig +%{_bindir}/sip-options + + +%changelog +%autochangelog