c-toxcore/c-toxcore.spec
Marguerite Su 03da26ace6 Accepting request 640683 from home:EGDFree:branches:server:messaging
- update to 0.2.8
  * #1224 Avoid use of IPv6 in tests if not supported (e.g. on Travis).
  * #1216 Fix memleak in tcp server by wiping priority queues on deletion
  * #1212 Fix logger level defaulting to TRACE in CMake
  * #1208 Remove a function-like macro and replace it with a function.
  * #1205 Use a working DHT node for bootstrap tests.
  * #1203 Revert "Improve cmake build for MSVC."
  * #1202 Reset onion search rate for a friend when we see evidence that they are online
  * #1199 Run tests on Appveyor (Windows native build).
  * #1198 Add Cirrus CI configuration.
  * #1197 Use new @pthread library from toktok-stack for Windows compat.
  * #1196 Run UBSAN (undefined behaviour sanitizer) on Circle CI.
  * #1195 Fix using uninitialized mutex on call end
  * #1192 Send rejoin packets on conference disconnection
  * #1191 Improve cmake build for MSVC
  * #1188 Fix yamllint test (it's gone from bazel, add a new one).
  * #1187 Fix typos in comments and log and test assertion messages.
  * #1165 Fixed a silly boolean practice using uint8_t
  * #1164 Format yaml files according to yamllint's requirements and remove branch filter for appveyor.
  * #1161 Use most recent version of Bazel (0.17.1).
  * #1158 Use C++ style casts in C++ code.
  * #1157 Use run_auto_test fixture in typing_test.c
  * #1155 Standardise header guards.
  * #1154 Assert that we don't kill tox before killing toxav.
  * #1153 Always use the passed logger (from Messenger) in msi_kill.
  * #1151 Fix typo: tcp_replays -> tcp_relays.
  * #1150 Use (void) for empty parameter lists in C.
  * #1147 Ignore "unused-result" warning in super_donators code.
  * #1145 Fix login issue on Travis-CI FreeBSD build
  * #1141 Include necessary opencv2 header on OSX.
  * #1140 Clean up add_to_list function a bit.
  * #1139 Avoid recursion in ip_is_lan and ip_is_local.
  * #1138 Add tool to find directly recursive calls in toxcore.
  * #1136 Remove the use of CLOCK_MONOTONIC_RAW.
  * #1135 Avoid use of global mutable state in mono_time on win32.
  * #1134 Use code font for tool names and flags in INSTALL.md.
  * #1126 Simplify configure.ac for faster autotools build.
  * #1095 Use test clock in run_auto_test tests and dht test
  * #1069 Add mechanism for recovering from disconnections in conferences
  * #1046 Finish the messenger state plugin system
  * #895 Feature bootstrap trace/debug log output
  * #1201 Windows cross-compilation is broken
  * #961 Can't send messages in persistent group chat
  * #960 Persistent groups don't work properly when using toxync bot
  * #838 How to get groupchat identifier?

OBS-URL: https://build.opensuse.org/request/show/640683
OBS-URL: https://build.opensuse.org/package/show/server:messaging/c-toxcore?expand=0&rev=25
2018-10-09 07:25:21 +00:00

174 lines
5.7 KiB
RPMSpec

#
# spec file for package c-toxcore
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# 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.8
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