1SUMMARY="The GNU BackGammon" 2DESCRIPTION="GNU Backgammon (GNUbg) plays and analyzes backgammon games and matches. It is able \ 3to play and analyze both money games and tournament matches, evaluate and roll out positions, and \ 4more. Driven by a command-line interface, it displays an ASCII rendering of a board on text-only \ 5terminals, but also allows the user to play games and manipulate positions with a graphical GTK+ \ 6interface. GNU Backgammon is extensible on platforms which support Python. 7 8GNU Backgammon is a world class opponent and rates at over 2000 on FIBS, the First Internet \ 9Backgammon Server. 10 11The following features can be found in the current release of GNU Backgammon. 12 13A command line interface (with full command editing features if GNU readline is available) that \ 14lets you play matches and sessions against GNU Backgammon with a rough ASCII representation of \ 15the board on text terminals. 16* Support for a GTK+ interface with a graphical board window. Both 2D and 3D graphics are \ 17available. 18* Tournament match and money session cube handling and cubeful play. All governed by underlying \ 19cubeless money game based neural networks. 20* Support for both 1-sided and 2-sided bearoff databases: 1-sided bearoff database for 15 \ 21checkers on the first 6 points and optional 2-sided database kept in memory. Optional larger \ 221-sided and 2-sided databases stored on disk. 23* Automated rollouts of positions, with lookahead and variance reduction where appropriate. \ 24Rollouts may be extended. 25* Automatic and manual annotation (analysis and commentary) of games and matches. 26* Record keeping of statistics of players in games and matches (both native inside GNU Backgammon \ 27and externally using relational databases and Python). 28* Loading and saving analyzed games and matches as .sgf files (Smart Game Format). 29* Exporting positions, games and matches to: (.eps) Encapsulated Postscript, (.gam) Jellyfish \ 30Game, (.html) HTML, (.mat) Jellyfish Match, (.pdf) PDF, (.png) Portable Network Graphics, (.pos) \ 31Jellyfish Position, (.ps) PostScript, (.sgf) GNU Backgammon File, (.tex) LaTeX, (.txt) Plain \ 32Text, (.txt) Snowie Text 33* Import of matches and positions from a number of file formats: (.bgf) BGRoom Game, (.gam) \ 34GammonEmpire Game, (.gam) PartyGammon Game, (.mat) Jellyfish Match, (.pos) Jellyfish Position, \ 35(.sgf) GNU Backgammon File, (.sgg) GridGammon Save Game, (.tmg) TrueMoneyGames, (.txt) Snowie Text 36* Python Scripting ability. 37* Native language support; 15 languages complete or in progress: (cs_CZ, da_DK, en_GB; en_US, \ 38fi_FI, fr_FR, de_DE, el_GR, is_IS, it_IT, ja_JP, ro_RO, ru_RU, es_ES and tr_TR)" 39HOMEPAGE="https://www.gnu.org/software/gnubg/" 40COPYRIGHT="1999-2004 Gary Wong 41 2004-2022 gnubg contributors" 42LICENSE="GNU GPL v3" 43REVISION="1" 44SOURCE_URI="https://ftp.gnu.org/gnu/gnubg/gnubg-release-$portVersion-sources.tar.gz" 45CHECKSUM_SHA256="72399729419cad9f112c3066a12d0000da450a456add7b094d89155069d6821e" 46 47ARCHITECTURES="all !x86_gcc2" 48SECONDARY_ARCHITECTURES="x86" 49 50commandBinDir=$binDir 51commandSuffix=$secondaryArchSuffix 52if [ "$targetArchitecture" = x86_gcc2 ]; then 53 commandSuffix= 54 commandBinDir=$prefix/bin 55fi 56 57PROVIDES=" 58 gnubg$secondaryArchSuffix = $portVersion 59 cmd:bearoffdump$commandSuffix = $portVersion 60 cmd:gnubg$commandSuffix = $portVersion 61 cmd:makebearoff$commandSuffix = $portVersion 62 cmd:makehyper$commandSuffix = $portVersion 63 cmd:makeweights$commandSuffix = $portVersion 64 " 65REQUIRES=" 66 haiku$secondaryArchSuffix 67 lib:libcurl$secondaryArchSuffix 68 lib:libfreetype$secondaryArchSuffix 69 lib:libglib_2.0$secondaryArchSuffix 70 lib:libgobject_2.0$secondaryArchSuffix 71 lib:libgthread_2.0$secondaryArchSuffix 72 lib:libintl$secondaryArchSuffix 73 lib:libpng16$secondaryArchSuffix 74# lib:libpython3.10$secondaryArchSuffix 75 lib:libsqlite3$secondaryArchSuffix 76 " 77 78BUILD_REQUIRES=" 79 haiku${secondaryArchSuffix}_devel 80 devel:libcurl$secondaryArchSuffix 81 devel:libfreetype$secondaryArchSuffix 82 devel:libglib_2.0$secondaryArchSuffix 83 devel:libgobject_2.0$secondaryArchSuffix 84 devel:libgthread_2.0$secondaryArchSuffix 85 devel:libintl$secondaryArchSuffix 86 devel:libpng16$secondaryArchSuffix 87 devel:libsqlite3$secondaryArchSuffix 88 " 89BUILD_PREREQUIRES=" 90 cmd:aclocal 91 cmd:autoheader 92 cmd:automake 93 cmd:bison 94 cmd:gcc$secondaryArchSuffix 95 cmd:libtoolize$secondaryArchSuffix 96 cmd:flex 97 cmd:make 98 cmd:pkg_config$secondaryArchSuffix 99# error on launch when python is enabled 100# Fatal Python error: init_stdio_encoding: failed to get the Python codec name of the stdio encoding 101# cmd:python3 102 cmd:xsltproc 103 " 104 105BUILD() 106{ 107 ./autogen.sh 108 runConfigure --omit-dirs binDir ./configure \ 109 --bindir=$commandBinDir \ 110 --without-python 111 make $jobArgs 112} 113 114INSTALL() 115{ 116 make install 117} 118 119TEST() 120{ 121 make check 122} 123