From ff1f336ee9eca341588d9a65f137d46c72be3db4 Mon Sep 17 00:00:00 2001 From: Ulrich Müller Date: Thu, 16 Jun 2022 15:38:38 +0200 Subject: games-board/tablebase-nalimov: EAPI 8 and simplify MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Ulrich Müller --- games-board/tablebase-nalimov/metadata.xml | 2 +- .../tablebase-nalimov-0_pre20131213-r100.ebuild | 44 -------- .../tablebase-nalimov-0_pre20131213-r101.ebuild | 111 +++++++++++++++++++++ .../tablebase-nalimov-0_pre20131213.ebuild | 108 -------------------- 4 files changed, 112 insertions(+), 153 deletions(-) delete mode 100644 games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r100.ebuild create mode 100644 games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r101.ebuild delete mode 100644 games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213.ebuild diff --git a/games-board/tablebase-nalimov/metadata.xml b/games-board/tablebase-nalimov/metadata.xml index c97efbb..71231d9 100644 --- a/games-board/tablebase-nalimov/metadata.xml +++ b/games-board/tablebase-nalimov/metadata.xml @@ -4,8 +4,8 @@ ulm@gentoo.org + - Install tablebases for 5 pieces Install tablebases for 6 pieces (huge!) diff --git a/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r100.ebuild b/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r100.ebuild deleted file mode 100644 index 8aecd0e..0000000 --- a/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r100.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -DESCRIPTION="Nalimov chess endgame tablebases for up to 6 pieces" -HOMEPAGE="http://tablebase.sesse.net/ - http://kirill-kryukov.com/chess/tablebases-online/" - -tb34=() -m=(p n b r q k) -for ((i=4; i>=0; i--)); do - tb34+=(k${m[i]}k.nb{w,b}) # 2+1 - for ((j=i; j>=0; j--)); do - tb34+=(k${m[i]}k${m[j]}.nb{w,b} k${m[i]}${m[j]}k.nb{w,b}) # 2+2, 3+1 - done -done - -SRC_URI="" -for i in "${tb34[@]}"; do - SRC_URI+="http://tablebase.sesse.net/3-4-5/${i}.emd " -done -unset i j m tb34 - -LICENSE="public-domain" # machine-generated tables -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="5-pieces 6-pieces" -RESTRICT="mirror" # not on Gentoo mirrors - -PDEPEND="5-pieces? ( ~${CATEGORY}/${P}:nofetch ) - 6-pieces? ( ~${CATEGORY}/${P}:nofetch[6-pieces] )" - -S="${WORKDIR}" - -src_unpack() { :; } - -src_install() { - local f - insinto /usr/share/${PN} - for f in ${A}; do - [[ ${f} = *.emd ]] && echo "${DISTDIR}"/${f} - done | xargs doins -} diff --git a/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r101.ebuild b/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r101.ebuild new file mode 100644 index 0000000..ea6e506 --- /dev/null +++ b/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213-r101.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit check-reqs + +DESCRIPTION="Nalimov chess endgame tablebases for up to 6 pieces" +HOMEPAGE="http://tablebase.sesse.net/ + https://kirill-kryukov.com/chess/tablebases-online/" + +tb345=() +tb6=() +m=(p n b r q k) +for ((i=4; i>=0; i--)); do + tb345+=(k${m[i]}k.nb{w,b}) # 2+1 + for ((j=i; j>=0; j--)); do + tb345+=(k${m[i]}k${m[j]}.nb{w,b} k${m[i]}${m[j]}k.nb{w,b}) # 2+2, 3+1 + for ((k=4; k>=0; k--)); do + tb345+=(k${m[i]}${m[j]}k${m[k]}.nb{w,b}) # 3+2 + ((k<=i)) || continue + for ((l=k; l>=0; l--)); do + ((k=0; l--)); do + tb6+=(k${m[i]}${m[j]}${m[k]}k${m[l]}.nb{w,b}) # 4+2 + done + done + done +done + +# table of (number of files - 1) for each 6-pieces set, in the same +# order as the list was created above +nfiles=([7]=3 3 [25]=3 3 [35]=3 4 [41]=3 3 [51]=3 4 [55]=3 3 [65]=3 4 + [69]=3 3 3 4 3 4 3 4 2 3 [84]=15 14 [92]=7 7 [102]=3 4 [108]=7 7 + [118]=7 8 [122]=7 7 [132]=7 8 3 2 14 15 7 8 7 8 7 8 5 6 [149]=15 14 + [153]=2 2 2 2 7 7 [163]=7 7 [173]=3 4 [177]=7 7 2 2 [187]=7 8 3 2 + 14 15 7 8 7 8 7 8 11 12 0 15 14 [206]=2 2 2 2 7 7 [216]=7 7 [220]=7 7 + [230]=3 4 5 5 14 15 7 8 7 8 7 8 11 12 11 7 8 14 16 7 7 5 6 3 4 7 7 + 5 6 3 3 5 6 4 4 5 6 2 3 2 3 2 3 4 4 [280]=4 3 [296]=4 3 [306]=4 4 + [310]=8 7 [320]=3 4 [324]=7 7 3 4 3 4 3 4 6 6 [337]=8 7 [341]=2 2 8 7 + [353]=4 4 [357]=16 15 [367]=7 8 6 5 15 15 7 8 7 8 7 8 12 12 0 7 7 + [386]=5 5 15 15 [392]=15 15 [402]=3 4 6 5 14 15 7 8 7 8 7 8 11 12 6 + 7 8 15 15 12 12 7 7 12 12 4 4 5 6 2 3 2 3 2 3 4 4 [442]=4 3 [456]=8 7 + [466]=3 4 [470]=7 7 7 8 3 4 3 4 6 6 0 7 7 [485]=15 15 [495]=3 4 6 5 + 15 15 15 16 7 8 7 8 12 12 6 7 7 12 12 4 4 5 6 5 6 2 3 2 3 4 4 0 7 7 + [541]=3 3 3 4 3 4 3 4 2 3 6 4 4 5 6 2 3 2 3 2 3 4 4) +tb6n=() +s=({0..9} {a..z}) +for ((i=0; i<${#tb6[@]}; i++)); do + if ((nfiles[i]==0)); then + tb6n+=(${tb6[i]}) + else + for j in ${s[@]:0:nfiles[i]+1}; do + tb6n+=(${tb6[i]/./.${j}.}) + done + fi +done + +SRC_URI="${tb345[@]/%/.emd} + 6-pieces? ( ${tb6n[@]/%/.emd} )" +unset i j k l m nfiles s tb345 tb6 tb6n + +S="${WORKDIR}" + +LICENSE="public-domain" # machine-generated tables +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="6-pieces" +RESTRICT="fetch" + +RDEPEND="!${CATEGORY}/${PN}:nofetch" + +pkg_pretend() { + CHECKREQS_DISK_USR="$(usex 6-pieces 1155G 7230M)" + CHECKREQS_DISK_BUILD="${CHECKREQS_DISK_USR}" + check-reqs_pkg_pretend +} + +pkg_setup() { + CHECKREQS_DISK_USR="$(usex 6-pieces 1155G 7230M)" + CHECKREQS_DISK_BUILD="${CHECKREQS_DISK_USR}" + check-reqs_pkg_setup +} + +pkg_nofetch() { + einfo "Due to their large size, fetching the Nalimov Endgame Tablebases" + einfo "via file sharing is recommended:" + einfo "http://kirill-kryukov.com/chess/tablebases-online/" + einfo "After fetching, place all k*.emd files in your DISTDIR directory." + einfo + einfo "Total number and size of files should be as follows:" + einfo " 3, 4 pieces: 70 files 30 MiB" + einfo " 5 pieces: 220 files 7200 MiB" + einfo " 6 pieces: 2512 files 1147 GiB" + einfo " Total: 2802 files 1155 GiB" +} + +src_unpack() { :; } + +src_install() { + local f + insinto /usr/share/${PN} + for f in ${A}; do + [[ ${f} == *.emd ]] && echo "${DISTDIR}"/${f} + done | xargs doins +} diff --git a/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213.ebuild b/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213.ebuild deleted file mode 100644 index 0fec05e..0000000 --- a/games-board/tablebase-nalimov/tablebase-nalimov-0_pre20131213.ebuild +++ /dev/null @@ -1,108 +0,0 @@ -# Copyright 1999-2017 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -inherit check-reqs - -DESCRIPTION="Nalimov chess endgame tablebases for up to 6 pieces" -HOMEPAGE="http://tablebase.sesse.net/ - http://kirill-kryukov.com/chess/tablebases-online/" - -tb5=() -tb6=() -m=(p n b r q k) -for ((i=4; i>=0; i--)); do - for ((j=i; j>=0; j--)); do - for ((k=4; k>=0; k--)); do - tb5+=(k${m[i]}${m[j]}k${m[k]}.nb{w,b}) # 3+2 - ((k<=i)) || continue - for ((l=k; l>=0; l--)); do - ((k=0; l--)); do - tb6+=(k${m[i]}${m[j]}${m[k]}k${m[l]}.nb{w,b}) # 4+2 - done - done - done -done - -# table of (number of files - 1) for each 6-pieces set, in the same -# order as the list was created above -nfiles=([7]=3 3 [25]=3 3 [35]=3 4 [41]=3 3 [51]=3 4 [55]=3 3 [65]=3 4 - [69]=3 3 3 4 3 4 3 4 2 3 [84]=15 14 [92]=7 7 [102]=3 4 [108]=7 7 - [118]=7 8 [122]=7 7 [132]=7 8 3 2 14 15 7 8 7 8 7 8 5 6 [149]=15 14 - [153]=2 2 2 2 7 7 [163]=7 7 [173]=3 4 [177]=7 7 2 2 [187]=7 8 3 2 - 14 15 7 8 7 8 7 8 11 12 0 15 14 [206]=2 2 2 2 7 7 [216]=7 7 [220]=7 7 - [230]=3 4 5 5 14 15 7 8 7 8 7 8 11 12 11 7 8 14 16 7 7 5 6 3 4 7 7 - 5 6 3 3 5 6 4 4 5 6 2 3 2 3 2 3 4 4 [280]=4 3 [296]=4 3 [306]=4 4 - [310]=8 7 [320]=3 4 [324]=7 7 3 4 3 4 3 4 6 6 [337]=8 7 [341]=2 2 8 7 - [353]=4 4 [357]=16 15 [367]=7 8 6 5 15 15 7 8 7 8 7 8 12 12 0 7 7 - [386]=5 5 15 15 [392]=15 15 [402]=3 4 6 5 14 15 7 8 7 8 7 8 11 12 6 - 7 8 15 15 12 12 7 7 12 12 4 4 5 6 2 3 2 3 2 3 4 4 [442]=4 3 [456]=8 7 - [466]=3 4 [470]=7 7 7 8 3 4 3 4 6 6 0 7 7 [485]=15 15 [495]=3 4 6 5 - 15 15 15 16 7 8 7 8 12 12 6 7 7 12 12 4 4 5 6 5 6 2 3 2 3 4 4 0 7 7 - [541]=3 3 3 4 3 4 3 4 2 3 6 4 4 5 6 2 3 2 3 2 3 4 4) -tb6n=() -s=({0..9} {a..z}) -for ((i=0; i<${#tb6[@]}; i++)); do - if ((nfiles[i]==0)); then - tb6n+=(${tb6[i]}) - else - for j in ${s[@]:0:nfiles[i]+1}; do - tb6n+=(${tb6[i]/./.${j}.}) - done - fi -done - -SRC_URI="${tb5[@]/%/.emd} 6-pieces? ( ${tb6n[@]/%/.emd} )" -unset i j k l m nfiles s tb5 tb6 tb6n - -LICENSE="public-domain" # machine-generated tables -SLOT="nofetch" -KEYWORDS="~amd64 ~x86" -IUSE="6-pieces" -RESTRICT="fetch" - -RDEPEND="~${CATEGORY}/${P}:0" - -S="${WORKDIR}" - -pkg_pretend() { - CHECKREQS_DISK_USR=$(usex 6-pieces "1155G" "7200M") - CHECKREQS_DISK_BUILD="${CHECKREQS_DISK_USR}" - check-reqs_pkg_pretend -} - -pkg_setup() { - CHECKREQS_DISK_USR=$(usex 6-pieces "1155G" "7200M") - CHECKREQS_DISK_BUILD="${CHECKREQS_DISK_USR}" - check-reqs_pkg_setup -} - -pkg_nofetch() { - einfo "Due to their large size, fetching the Nalimov Endgame Tablebases" - einfo "via file sharing is recommended:" - einfo "http://kirill-kryukov.com/chess/tablebases-online/" - einfo "After fetching, place all k*.emd files in your DISTDIR directory." - einfo - einfo "Total number and size of files should be as follows:" - einfo " 3, 4 pieces: 70 files 30 MiB" - einfo " 5 pieces: 220 files 7200 MiB" - einfo " 6 pieces: 2512 files 1147 GiB" - einfo " Total: 2802 files 1155 GiB" -} - -src_unpack() { :; } - -src_install() { - local f - insinto /usr/share/${PN} - for f in ${A}; do - [[ ${f} = *.emd ]] && echo "${DISTDIR}"/${f} - done | xargs doins -} -- cgit v1.2.3-65-gdbad