diff --git a/games/Makefile b/games/Makefile index c4cfeff8ecdf..d91f332cdd05 100644 --- a/games/Makefile +++ b/games/Makefile @@ -513,6 +513,7 @@ SUBDIR += libmaitretarot SUBDIR += libmt_client SUBDIR += libshhcards + SUBDIR += libtmcg SUBDIR += lightsoff SUBDIR += lightyears SUBDIR += lincity diff --git a/games/libtmcg/Makefile b/games/libtmcg/Makefile new file mode 100644 index 000000000000..46bbbba3fd2d --- /dev/null +++ b/games/libtmcg/Makefile @@ -0,0 +1,28 @@ +# $FreeBSD$ + +PORTNAME= libtmcg +DISTVERSION= 1.3.18 +CATEGORIES= games security +MASTER_SITES= SAVANNAH +DISTNAME= libTMCG-${DISTVERSION} + +MAINTAINER= yuri@FreeBSD.org +COMMENT= C++ library for creating secure and fair online card games + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libgcrypt.so:security/libgcrypt \ + libgpg-error.so:security/libgpg-error \ + libgmp.so:math/gmp + +USES= gmake libtool localbase:ldflags +USE_LDCONFIG= yes + +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-static +INSTALL_TARGET= install-strip + +INFO= libTMCG + +.include diff --git a/games/libtmcg/distinfo b/games/libtmcg/distinfo new file mode 100644 index 000000000000..02dc871859a6 --- /dev/null +++ b/games/libtmcg/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1559536683 +SHA256 (libTMCG-1.3.18.tar.gz) = dddb3ad01ef4056dfe74697e9df80466458cba99dc3124f58349e33aba2c2b9d +SIZE (libTMCG-1.3.18.tar.gz) = 1175591 diff --git a/games/libtmcg/pkg-descr b/games/libtmcg/pkg-descr new file mode 100644 index 000000000000..c7f179f3b4b7 --- /dev/null +++ b/games/libtmcg/pkg-descr @@ -0,0 +1,19 @@ +LibTMCG is a C++ library for creating secure and fair online card games. The +library provides 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. + +WWW: https://www.nongnu.org/libtmcg/ diff --git a/games/libtmcg/pkg-plist b/games/libtmcg/pkg-plist new file mode 100644 index 000000000000..b10ac00676c1 --- /dev/null +++ b/games/libtmcg/pkg-plist @@ -0,0 +1,40 @@ +bin/libTMCG-config +include/BarnettSmartVTMF_dlog.hh +include/BarnettSmartVTMF_dlog_GroupQR.hh +include/CachinKursawePetzoldShoupSEABP.hh +include/CallasDonnerhackeFinneyShawThayerRFC4880.hh +include/CanettiGennaroJareckiKrawczykRabinASTC.hh +include/GennaroJareckiKrawczykRabinDKG.hh +include/GolleDCPG_elgamal.hh +include/GrothVSSHE.hh +include/HooghSchoenmakersSkoricVillegasVRHE.hh +include/JareckiLysyanskayaASTC.hh +include/NaorPinkasEOTP.hh +include/PedersenCOM.hh +include/PedersenVSS.hh +include/SchindelhauerTMCG.hh +include/TMCG_Card.hh +include/TMCG_CardSecret.hh +include/TMCG_OpenStack.hh +include/TMCG_PublicKey.hh +include/TMCG_PublicKeyRing.hh +include/TMCG_SecretKey.hh +include/TMCG_Stack.hh +include/TMCG_StackSecret.hh +include/VTMF_Card.hh +include/VTMF_CardSecret.hh +include/aiounicast.hh +include/aiounicast_nonblock.hh +include/aiounicast_select.hh +include/libTMCG.hh +include/mpz_helper.hh +include/mpz_shash.hh +include/mpz_spowm.hh +include/mpz_sprime.hh +include/mpz_sqrtm.hh +include/mpz_srandom.hh +include/parse_helper.hh +lib/libTMCG.so +lib/libTMCG.so.18 +lib/libTMCG.so.18.0.0 +share/aclocal/libTMCG.m4