c-toxcore/c-toxcore.spec
Eric Schirra 4823ad291b Accepting request 624473 from home:EGDFree:branches:server:messaging
- update to 0.2.4
  * #1014 Use string comparison operator in configure.ac.
  * #1013 Link -lsocket and -lnsl for socket functions on Solaris.
  * #1012 Correct the max hostname length constant.
  * #1009 Using stdint instead of int/long
  * #1008 Set _XOPEN_SOURCE to 700 for FreeBSD.
  * #1007 Use enums for group packet types.
  * #1006 Set C++11/C99 flag manually in older cmake on not-msvc.
  * #1005 Use the correct repository name in the coverage badge.
  * #1003 Remove LOGGER_ERROR for harmless send failure.
  * #1001 Add conference_by_uid and conference_get_uid functions.
  * #1000 Limit number of group chats to 65536.
  * #998 Use named function types for group callbacks.
  * #997 Style fixes in TCP code; remove MIN and PAIR from util.h.
  * #996 Add the bazel build as one of the PR blocking builds.
  * #995 Fix style in some header files.
  * #994 Fix style in DHT.c.
  * #993 Move load_state and its helper functions to their own module.
  * #991 Use named function types for friend_connection callbacks.
  * #990 Use named function types for friend_requests callbacks.
  * #989 Use named function types for callbacks in net_crypto.
  * #987 Use named types for onion callbacks.
  * #986 Simplify Travis-CI FreeBSD build
  * #985 Clarify the intent of "file kinds" in the API.
  * #984 Avoid side-effectful assignments in conditionals.
  * #981 Factor out time keeping code into its own module: mono_time.c.
  * #979 Add a thread-safe version of unix_time and friends.
  * #978 Rename BS_LIST to BS_List to follow the naming conventions.
  * #977 Remove VLA usage from send_audio_packet.
  * #976 Call the "peer leaves" callback only once on group delete.
  * #975 Factor out the actual test code from conference_test.
  * #972 Add a test that reproduces the NULL peer nick bug.
  * #968 Make tox.c unambiguously parseable.
  * #967 lan_discovery_test and version_test cleanup
  * #966 Use run_auto_test.h test fixture for some auto-tests.
  * #965 Add #include <cstdio> for std::printf.
  * #964 Add some tests for our ring_buffer implementation.
  * #962 Collect PACKET_ID* constants in net_crypto.h, cleanup their uses
  * #958 Fix leak of Logger instances in dht_test.
  * #957 Remove broken conference tests.
  * #955 Another TCP_test upgrade
  * #954 Proposal: Make arg host understand clearly.
  * #953 Add missing MAX_HOSTNAME_LENGTH doc.
  * #945 Add a test to try and overflow the send queue in net_crypto.
  * #943 Correct check for net_crypto packet index.
  * #942 Simplify Travis CI builds.
  * #932 Various minor cleanups in net_crypto.
  * #1015 Improve Solaris support
  * #1004 qTox: "Program received signal SIGPIPE, Broken pipe." with TokTok-c-toxcore-v0.2.3_GH0 on FreeBSD 11.x.
  * #988 Registration on https://nodes.tox.chat (question)
  * #982 Merge the two travis stages for freebsd back into one
  * #970 Crash with persistent groups
  * #963 ToxAV's rb_write function is written in a strange way
  * #946 [API] for max proxy address length
  * #944 How detect that friend is busy
  * #936 Help needed in testing a tox client,I need some dummy toxids to test .
  * #923 Crash on malloc in ping_array_add
  * #911 Weekly Tox Dev Meeting
  * #910 Crash in clear_entry in ping_array.c
  * #903 c-toxcore and LGPL (question)
  * #528 c-toxcore on Windows can be compiled using MSYS2 (with modern MinGW-w64)
  * #450 Run format-test earlier in the build
  * #429 Cannot build on Windows using MinGW

OBS-URL: https://build.opensuse.org/request/show/624473
OBS-URL: https://build.opensuse.org/package/show/server:messaging/c-toxcore?expand=0&rev=16
2018-07-23 08:55:02 +00:00

173 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 http://bugs.opensuse.org/
#
# See also http://en.opensuse.org/openSUSE:Specfile_guidelines
%define _soversion 2
Name: c-toxcore
Version: 0.2.4
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.md
%doc README.md DONATORS CHANGELOG.md
%files daemon
%dir %{_sysconfdir}/tox
%dir %{_sysconfdir}/tox/bootstrapd
%config(noreplace) %{_sysconfdir}/tox/bootstrapd/tox-bootstrapd.conf
%{_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