SHA256
1
0
forked from pool/libTMCG
libTMCG/libTMCG.spec
Andreas Stieger 6c2487c2bf Accepting request 498505 from home:AndreasStieger:branches:games
- update to 1.3.1:
  * VSSHE: added a simple variant of SetupGenerators_publiccoin()
  * DKG: use very strong randomness from libgcrypt (long term keys)
  * RFC4880: added implementation of Partial Body Lengths

OBS-URL: https://build.opensuse.org/request/show/498505
OBS-URL: https://build.opensuse.org/package/show/games/libTMCG?expand=0&rev=2
2017-05-26 15:55:50 +00:00

161 lines
6.4 KiB
RPMSpec

#
# spec file for package libTMCG
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2012 Andreas Stieger <andreas.stieger@gmx.de>
# Copyright (c) 2007 pc2pus <toni@links2linux.de>
#
# 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/
#
%define sover 5
Name: libTMCG
Version: 1.3.1
Release: 0
Summary: C++ library for creating secure and fair online card games
License: GPL-2.0+
Group: System/Libraries
Url: http://www.nongnu.org/libtmcg/
Source: http://download.savannah.gnu.org/releases/libtmcg/%{name}-%{version}.tar.gz
Source2: http://download.savannah.gnu.org/releases/libtmcg/%{name}-%{version}.tar.gz.sig
Source3: http://savannah.nongnu.org/project/memberlist-gpgkeys.php?group=libtmcg&download=1#/%{name}.keyring
BuildRequires: gcc-c++
BuildRequires: gmp-devel >= 4.2
BuildRequires: libgcrypt-devel >= 1.6.0
BuildRequires: libgpg-error-devel >= 0.5
BuildRequires: pkgconfig
Requires: gmp >= 4.2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
LibTMCG is a C++ library for creating secure and fair online card
games. The library contains a sort of useful classes, algorithms,
and high-level protocols to support an application programmer in
writing such software. The most remarkable feature is the absence
of a trusted third party (TTP), i.e. neither a central game server
nor trusted hardware components are necessary. Thus, with the present
library there is no need for an independent referee, because the
applied protocols provide a basic level of confidentiality and
fairness by itself. Consequently, the library is well-suited for
peer-to-peer (P2P) environments where no TTP is available. Of
course, we cannot avoid that malicious players share information
about their private cards, but the protocols ensure that the shuffle
of the deck is performed randomly (presumed that at least one player
is honest) and thus the cards will be distributed uniformly among
the players. Further, no coalition can learn the private cards of a
player against his will (except for trivial conclusions). The
corresponding cryptographic problem, actually called Mental Poker, has
been studied since 1979 (Shamir, Rivest, and Adleman) by many authors.
LibTMCG provides the first practical implementation of such protocols.
The implementation relies on advanced cryptographic techniques---the
so-called zero-knowledge proofs. Using these building blocks the high
level protocols minimize the effect of coalitions and preserve the
confidentiality of the players' strategy, i.e. the players are not
required to reveal their cards at the end of the game to show that
they did not cheat.
%package -n libTMCG%{sover}
Summary: C++ library for creating secure and fair online card games
Group: System/Libraries
%description -n libTMCG%{sover}
LibTMCG is a C++ library for creating secure and fair online card
games. The library contains a sort of useful classes, algorithms,
and high-level protocols to support an application programmer in
writing such software. The most remarkable feature is the absence
of a trusted third party (TTP), i.e. neither a central game server
nor trusted hardware components are necessary. Thus, with the present
library there is no need for an independent referee, because the
applied protocols provide a basic level of confidentiality and
fairness by itself. Consequently, the library is well-suited for
peer-to-peer (P2P) environments where no TTP is available. Of
course, we cannot avoid that malicious players share information
about their private cards, but the protocols ensure that the shuffle
of the deck is performed randomly (presumed that at least one player
is honest) and thus the cards will be distributed uniformly among
the players. Further, no coalition can learn the private cards of a
player against his will (except for trivial conclusions). The
corresponding cryptographic problem, actually called Mental Poker, has
been studied since 1979 (Shamir, Rivest, and Adleman) by many authors.
LibTMCG provides the first practical implementation of such protocols.
The implementation relies on advanced cryptographic techniques---the
so-called zero-knowledge proofs. Using these building blocks the high
level protocols minimize the effect of coalitions and preserve the
confidentiality of the players' strategy, i.e. the players are not
required to reveal their cards at the end of the game to show that
they did not cheat.
%package devel
Summary: Libraries, includes etc to develop with libTMCG library
Group: Development/Libraries/C and C++
Requires: %{name}%{sover} = %{version}
Requires(post): %{install_info_prereq}
Requires(preun): %{install_info_prereq}
%description devel
Libraries, includes etc to develop with the libTMCG library.
%package utils
Summary: Utilities from the TMCG libraries
Group: Productivity/Security
%description utils
Utilities from the TMCG library, including experimental tools for
distributed key generation.
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print
%post -n libTMCG%{sover} -p /sbin/ldconfig
%postun -n libTMCG%{sover} -p /sbin/ldconfig
%post devel
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%postun devel
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%files -n libTMCG%{sover}
%defattr(-, root, root)
%doc AUTHORS BUGS ChangeLog COPYING NEWS PATENTS THANKS TODO README
%{_libdir}/lib*.so.*
%files devel
%defattr(-, root, root)
%doc AUTHORS BUGS ChangeLog COPYING NEWS PATENTS THANKS TODO README
%{_bindir}/%{name}-config
%{_libdir}/lib*.a
%{_libdir}/lib*.so
%{_includedir}/*.h*
%{_datadir}/aclocal/%{name}.m4
%{_infodir}/%{name}.info%{ext_info}
%files utils
%defattr(-, root, root)
%doc AUTHORS BUGS ChangeLog COPYING NEWS PATENTS THANKS TODO README
%{_bindir}/dkg-*
%{_mandir}/man1/dkg-*.1%{ext_man}
%changelog