c-toxcore/c-toxcore.spec
Eric Schirra c318c5d6c4 Accepting request 787557 from home:EGDFree:branches:server:messaging
- update to 0.2.11
  * #1403 Install libsodium from apt instead of from source.
  * #1402 Remove bazel build from Travis.
  * #1400 Disable bazel remote cache on CI.
  * #1399 Periodically try to send direct packets when connected by TCP.
  * #1398 Minor cleanup: use assoc_timeout function where possible.
  * #1397 Check that LOGGER macros are only called with string literals.
  * #1396 Make function defns match their decls regarding storage class.
  * #1395 Mark file-local function definitions as static.
  * #1394 Enable remote cache for bazel builds.
  * #1393 Add another bootstrap node to the bootstrap test.
  * #1392 Clear out old conference connections.
  * #1391 Minor cleanups in network code.
  * #1390 Avoid casting back and forth between void-ptr.
  * #1389 Standardise on having a comma at the end of enums.
  * #1388 Fix up comments a bit to start being more uniform.
  * #1387 Use rules_cc instead of native cc_library rules.
  * #1386 Use spdx license identifier instead of GPL blurb.
  * #1383 Pass packet ID to custom packet handlers.
  * #1382 Add a mutex lock/unlock inside every public API function.
  * #1381 Use net_pack instead of casting bytes to ints.
  * #1380 Disable FreeBSD travis build until it is fixed.
  * #1379 Update and fix FreeBSD setup on Travis-CI
  * #1378 Use ninja build system for the cmake-linux build.
  * #1376 Remove testing/av_test.c.
  * #1375 Add "cimple_test" to the bazel build.
  * #1374 Handle invite to existing conference
  * #1372 Upgrade bazel to 2.1.1.
  * #1371 Bump to astyle-3.1 in travis build.
  * #1370 use -1 rather than ~0 in unsigned integer types
  * #1362 Workaround for message number saving
  * #1358 Allow Bazel to rerun tests marked as flaky
  * #1352 Update tests to use a working bootstrap node
  * #1349 Fix tox-bootstrapd's README and update Dockerfile
  * #1347 Fix pthread_mutex_destroy getting too many arguments
  * #1346 Fix most TSAN failures
  * #1345 fix concurrency issues in mono_time
  * #1343 Fix TSAN failures in tests
  * #1334 fix missing group title length check
  * #1330 Force IPv4 for cirrus-ci tests
  * #1329 bump libsodium version in appveyor.yml
  * #1322 Clean-up of group.c code
  * #1321 Some small fixes to groups.
  * #1299 Add VScode folder to .gitignore
  * #1297 Use net_pack/unpack instead of host_to_net.
  * #1373 handle crashes after group invites
  * #1368 Are tox clients also open source
  * #1366 Generate a link for websites (Friendship and proxy)
  * #1354 Unstable Tests
  * #1316 Documentation claims toxav_iteration_interval is threadsafe but it's not
  * #1274 build error
  * #850 GPG App Usage

OBS-URL: https://build.opensuse.org/request/show/787557
OBS-URL: https://build.opensuse.org/package/show/server:messaging/c-toxcore?expand=0&rev=31
2020-03-23 16:58:47 +00:00

174 lines
5.7 KiB
RPMSpec

#
# spec file for package c-toxcore
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2013 Markus Kolb, Innsbruck, Austria.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
%define _soversion 2
Name: c-toxcore
Version: 0.2.11
Release: 0
Summary: Secure decentralized instant messaging application
License: GPL-3.0-only
Group: Productivity/Networking/Instant Messenger
URL: https://tox.chat/
Source0: https://github.com/TokTok/c-toxcore/archive/v%{version}.tar.gz#./%{name}-%{version}.tar.gz
Source1: %{name}.tmpfiles.d
Source2: https://github.com/TokTok/c-toxcore/releases/download/v%{version}/%{name}-%{version}.tar.gz.asc
Source3: %{name}.keyring
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: libconfig-devel
BuildRequires: libopus-devel
BuildRequires: libsodium-devel
BuildRequires: libtool
BuildRequires: libvpx-devel
BuildRequires: pkgconfig
BuildRequires: pkgconfig(systemd)
Requires(pre): shadow
%{?systemd_requires}
%description
Project Tox, also known as Tox, is a FOSS instant messaging
application aimed to replace Skype.
With the rise of government monitoring programs,
Tox provides an easy to use application that allows you to connect
with friends and family without anyone else listening in.
While other big-name services require you to pay for features,
Tox is totally free and comes without advertising
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
Requires: libtoxcore%{_soversion} = %{version}
%description devel
Development libraries and headers needed to build software using %{name}.
%package daemon
Summary: Bootstrap-daemon for toxcore
Group: Productivity/Networking/Instant Messenger
%description daemon
Bootstrap-daemon to dispose hashtable for toxcore.
%package -n libtoxcore%{_soversion}
Summary: Core library for toxcore
Group: System/Libraries
%description -n libtoxcore%{_soversion}
This are the Core library for toxcore.
%prep
%setup -q
# change location of bootstrap bin
sed -ri 's:%{_prefix}/local/bin/tox-bootstrapd:%{_bindir}/tox-bootstrapd:g' other/bootstrap_daemon/tox-bootstrapd.service
# change user and of bootstrapd
sed -ri 's:User=tox-bootstrapd:User=tox:g' other/bootstrap_daemon/tox-bootstrapd.service
sed -ri 's:Group=tox-bootstrapd:Group=toxcmd:g' other/bootstrap_daemon/tox-bootstrapd.service
# change location of bootstrap kyes
sed -ri 's:%{_localstatedir}/lib/tox-bootstrapd/keys:%{_sysconfdir}/tox/bootstrapd/keys:g' other/bootstrap_daemon/tox-bootstrapd.conf
%build
pushd build
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DBUILD_TOXAV=ON \
-DMUST_BUILD_TOXAV=ON \
-DBOOTSTRAP_DAEMON=ON \
-DDHT_BOOTSTRAP=ON \
-DENABLE_STATIC=OFF \
..
make %{?_smp_mflags}
popd
%install
make install -C build PREFIX=%_prefix DESTDIR=%buildroot
# Install dir /var/run/graylog2-server
install -d -m 0755 %{buildroot}%{_prefix}/lib/tmpfiles.d/
install -m 0644 %{SOURCE1} %{buildroot}%{_prefix}/lib/tmpfiles.d/tox-bootstrapd.conf
# Install dir /var/lib/tox-bootstrapd
install -d -m 0755 %{buildroot}%{_localstatedir}/lib/tox-bootstrapd/
# Install dir /etc/tox/bootstrapd/keys
install -d -m 0700 %{buildroot}%{_sysconfdir}/tox/bootstrapd/keys
# Install dir /etc and bootstrap-config
mkdir -p %{buildroot}/%{_sysconfdir}
install -D -m 0640 other/bootstrap_daemon/tox-bootstrapd.conf %{buildroot}%{_sysconfdir}/tox/bootstrapd/tox-bootstrapd.conf
# Install init-scripts
mkdir -p %{buildroot}/%{_sbindir}
install -D -m 0644 other/bootstrap_daemon/tox-bootstrapd.service %{buildroot}%{_unitdir}/tox-bootstrapd.service
ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rctox-bootstrapd
%pre daemon
%service_add_pre tox-bootstrapd.service
# create tox-bootstrapd group
if ! getent group toxcmd >/dev/null; then
groupadd -r toxcmd
fi
# create tox-bootstrapd user
if ! getent passwd tox >/dev/null; then
useradd -r -g toxcmd -d %{_localstatedir}/lib/tox-bootstrapd \
-s /sbin/nologin -c "Tox Bootstrap" tox
fi
%post daemon
%service_add_post tox-bootstrapd.service
systemd-tmpfiles --create %{_prefix}/lib/tmpfiles.d/tox-bootstrapd.conf
%post -n libtoxcore%{_soversion} -p /sbin/ldconfig
%preun daemon
%service_del_preun tox-bootstrapd.service
%postun daemon
%service_del_postun tox-bootstrapd.service
%postun -n libtoxcore%{_soversion} -p /sbin/ldconfig
%files devel
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%dir %{_includedir}/tox
%{_includedir}/tox/*
%files
%license LICENSE
%doc README.md DONATORS CHANGELOG.md
%files daemon
%dir %{_sysconfdir}/tox
%dir %{_sysconfdir}/tox/bootstrapd
%config(noreplace) %{_sysconfdir}/tox/bootstrapd/tox-bootstrapd.conf
%{_bindir}/DHT_bootstrap
%{_bindir}/tox-bootstrapd
%{_unitdir}/tox-bootstrapd.service
%{_tmpfilesdir}/tox-bootstrapd.conf
%{_sbindir}/rctox-bootstrapd
%dir %{_localstatedir}/lib/tox-bootstrapd
%dir %attr(0770,tox,toxcmd) %{_sysconfdir}/tox/bootstrapd/keys
%files -n libtoxcore%{_soversion}
%{_libdir}/libtoxcore.so.%{_soversion}*
%changelog