Blame packages/j/janus-gateway/janus-gateway.spec

Bernhard M. Wiedemann 355d5e
#
c7f9da
# spec file for package janus-gateway
Bernhard M. Wiedemann 355d5e
#
67da00
# Copyright (c) 2022 SUSE LLC
Bernhard M. Wiedemann 355d5e
#
Bernhard M. Wiedemann 355d5e
# All modifications and additions to the file contributed by third parties
Bernhard M. Wiedemann 355d5e
# remain the property of their copyright owners, unless otherwise agreed
Bernhard M. Wiedemann 355d5e
# upon. The license for this file, and modifications and additions to the
Bernhard M. Wiedemann 355d5e
# file, is the same license as for the pristine package itself (unless the
Bernhard M. Wiedemann 355d5e
# license for the pristine package is not an Open Source License, in which
Bernhard M. Wiedemann 355d5e
# case the license is the MIT License). An "Open Source License" is a
Bernhard M. Wiedemann 355d5e
# license that conforms to the Open Source Definition (Version 1.9)
Bernhard M. Wiedemann 355d5e
# published by the Open Source Initiative.
Bernhard M. Wiedemann 355d5e
c7f9da
# Please submit bugfixes or comments via https://bugs.opensuse.org/
Bernhard M. Wiedemann 355d5e
#
Bernhard M. Wiedemann 355d5e
c7f9da
Bernhard M. Wiedemann 355d5e
%if 0%{?suse_version} > 1320
Bernhard M. Wiedemann 355d5e
%bcond_without janus_postprocessing
Bernhard M. Wiedemann 355d5e
%endif
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
Name:           janus-gateway
Bernhard M. Wiedemann f155be
Version:        0.11.8
Bernhard M. Wiedemann 355d5e
Release:        0
c7f9da
License:        GPL-3.0-only
Bernhard M. Wiedemann 355d5e
Summary:        Janus WebRTC Gateway
Bernhard M. Wiedemann 355d5e
URL:            https://github.com/meetecho/janus-gateway
Bernhard M. Wiedemann 355d5e
Group:          Productivity/Networking/Other
Bernhard M. Wiedemann 355d5e
Source:         %{name}-%{version}.tar.xz
Bernhard M. Wiedemann 355d5e
Source1:        janus.service
09d91a
Source100:      %{name}-rpmlintrc
Bernhard M. Wiedemann 355d5e
# for run autogen.sh
Bernhard M. Wiedemann 355d5e
BuildRequires:  autoconf
Bernhard M. Wiedemann 355d5e
BuildRequires:  automake
Bernhard M. Wiedemann 355d5e
BuildRequires:  libtool
Bernhard M. Wiedemann 355d5e
# basic dependencies
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkg-config
c7f9da
BuildRequires:  curl-devel
c7f9da
BuildRequires:  gengetopt
c7f9da
BuildRequires:  libconfig-devel
c7f9da
BuildRequires:  sofia-sip-devel
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(ini_config)
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(jansson)
c7f9da
BuildRequires:  pkgconfig(libmicrohttpd)
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(libsrtp) >= 1.4.5
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(lua)
c7f9da
BuildRequires:  pkgconfig(nice)
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(ogg)
c7f9da
BuildRequires:  pkgconfig(openssl) >= 1.0.1e
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(opus)
Bernhard M. Wiedemann 355d5e
%if %{with janus_postprocessing}
Bernhard M. Wiedemann 355d5e
BuildRequires:  libavcodec-devel
c7f9da
BuildRequires:  libavformat-devel
Bernhard M. Wiedemann 355d5e
BuildRequires:  libavutil-devel
Bernhard M. Wiedemann 355d5e
%endif
Bernhard M. Wiedemann 355d5e
# data channel support
Bernhard M. Wiedemann 355d5e
BuildRequires:  usrsctp-devel
Bernhard M. Wiedemann 355d5e
# websockets support
Bernhard M. Wiedemann 355d5e
BuildRequires:  libwebsockets-devel >= 4.0.0
Bernhard M. Wiedemann 355d5e
# MQTT support
Bernhard M. Wiedemann 355d5e
BuildRequires:  libpaho-mqtt-devel
Bernhard M. Wiedemann 355d5e
Requires(pre):  shadow
Bernhard M. Wiedemann 355d5e
BuildRequires:  pkgconfig(systemd)
Bernhard M. Wiedemann 355d5e
%{?systemd_ordering}
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%define user_name janus
Bernhard M. Wiedemann 355d5e
%define home      %{_sharedstatedir}/janus/
c7f9da
Bernhard M. Wiedemann 355d5e
%description
Bernhard M. Wiedemann 355d5e
Janus is a general-purpose WebRTC gateway designed and developed
Bernhard M. Wiedemann 355d5e
by Meetecho.
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%package devel
Bernhard M. Wiedemann 355d5e
Requires:       %{name} = %{version}
Bernhard M. Wiedemann 355d5e
Summary:        Development files for Janus Gateway plugins
Bernhard M. Wiedemann 355d5e
Group:          Development/Libraries/C and C++
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%description devel
Bernhard M. Wiedemann 355d5e
Janus is a general-purpose WebRTC gateway designed and developed
Bernhard M. Wiedemann 355d5e
by Meetecho.
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
This package holds the file needed to compile plugins for Janus Gateway.
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%prep
Bernhard M. Wiedemann 355d5e
%autosetup -p1
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%build
Bernhard M. Wiedemann 355d5e
./autogen.sh
Bernhard M. Wiedemann 355d5e
%configure \
Bernhard M. Wiedemann 355d5e
  --disable-static \
Bernhard M. Wiedemann 355d5e
  %if %{with janus_postprocessing}
Bernhard M. Wiedemann 355d5e
  --enable-post-processing \
Bernhard M. Wiedemann 355d5e
  %endif
Bernhard M. Wiedemann 355d5e
  --disable-rabbitmq \
Bernhard M. Wiedemann 355d5e
  --disable-docs
Bernhard M. Wiedemann 355d5e
%make_build
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%install
Bernhard M. Wiedemann 355d5e
%make_install
Bernhard M. Wiedemann 355d5e
rm -f %{buildroot}%{_libdir}/janus/plugins/*.la
Bernhard M. Wiedemann 355d5e
make configs DESTDIR=%{buildroot}
Bernhard M. Wiedemann 355d5e
#
Bernhard M. Wiedemann 355d5e
install -D -d -m 755 %{buildroot}%{_sbindir}
Bernhard M. Wiedemann 355d5e
install -D -m 644 %{SOURCE1} %{buildroot}%{_unitdir}/janus.service
Bernhard M. Wiedemann 355d5e
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rcjanus
Bernhard M. Wiedemann 355d5e
#
Bernhard M. Wiedemann 355d5e
pushd %{buildroot}%{_sysconfdir}/janus/
Bernhard M. Wiedemann 355d5e
rm -rv *.jcfg.sample
Bernhard M. Wiedemann 355d5e
chmod -R o= .
Bernhard M. Wiedemann 355d5e
popd
Bernhard M. Wiedemann 355d5e
rm -rv %{buildroot}%{_datadir}/doc/%{name}
09d91a
rm -rv %{buildroot}%{_datadir}/janus/streams/test_gstreamer*.sh
Bernhard M. Wiedemann 355d5e
#
Bernhard M. Wiedemann 355d5e
install -D -d -m 0750 %{buildroot}%{home}
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%pre
Bernhard M. Wiedemann 355d5e
%{_bindir}/getent group %{user_name} >/dev/null || %{_sbindir}/groupadd -r %{user_name}
Bernhard M. Wiedemann 355d5e
%{_bindir}/getent passwd %{user_name} >/dev/null || \
Bernhard M. Wiedemann 355d5e
  %{_sbindir}/useradd -r -g %{user_name} -d / -s /sbin/nologin \
Bernhard M. Wiedemann 355d5e
  -c "Janus Gateway" %{user_name}
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%service_add_pre janus.service
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%post
Bernhard M. Wiedemann 355d5e
%service_add_post janus.service
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%preun
Bernhard M. Wiedemann 355d5e
%service_del_preun janus.service
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%postun
Bernhard M. Wiedemann 355d5e
%service_del_postun janus.service
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%files
Bernhard M. Wiedemann 355d5e
%doc README.md
Bernhard M. Wiedemann 355d5e
%license COPYING
Bernhard M. Wiedemann 355d5e
%config(noreplace) %attr(-,root,%{user_name}) %{_sysconfdir}/janus/
Bernhard M. Wiedemann 355d5e
%{_sbindir}/rcjanus
Bernhard M. Wiedemann 355d5e
%{_bindir}/janus
Bernhard M. Wiedemann 355d5e
%{_bindir}/janus-cfgconv
Bernhard M. Wiedemann 355d5e
%{_mandir}/man1/janus.1*
Bernhard M. Wiedemann 355d5e
%{_mandir}/man1/janus-cfgconv.1*
Bernhard M. Wiedemann 355d5e
%if %{with janus_postprocessing}
Bernhard M. Wiedemann 355d5e
%{_bindir}/janus-pp-rec
Bernhard M. Wiedemann 355d5e
%{_bindir}/mjr2pcap
Bernhard M. Wiedemann 355d5e
%{_mandir}/man1/janus-pp-rec.1*
Bernhard M. Wiedemann 355d5e
%{_mandir}/man1/mjr2pcap.1*
Bernhard M. Wiedemann 355d5e
%endif
Bernhard M. Wiedemann 355d5e
%{_libdir}/janus/
Bernhard M. Wiedemann 355d5e
%{_datadir}/janus/
Bernhard M. Wiedemann 355d5e
%{_unitdir}/janus.service
Bernhard M. Wiedemann 355d5e
%dir %attr(750,%{user_name},%{user_name}) %{home}
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%files devel
Bernhard M. Wiedemann 355d5e
%{_includedir}/janus/
Bernhard M. Wiedemann 355d5e
Bernhard M. Wiedemann 355d5e
%changelog