games-misc/bsd-games: Version bump to 3.3

Signed-off-by: James Le Cuirot <chewi@gentoo.org>
This commit is contained in:
James Le Cuirot 2024-08-17 17:29:17 +01:00
parent 827a50b0d9
commit a81d8609c6
No known key found for this signature in database
GPG Key ID: 1226415D00DD3137
4 changed files with 168 additions and 2 deletions

View File

@ -1,4 +1,5 @@
DIST bsd-games-3.1-verbose-build.patch.gz 4633 BLAKE2B cc75175ac2ef9d476c03bdb08b8c054d13090d6cdd1a14dd44022d13290112c68a7663d0c03f9ca7535ea10f2bb5e49a84acca4f782f0ced59685f762efd5151 SHA512 120c0859bb73a026dae017bcc2bc7505ca156b454bf5f87c91b4887417d5ac62f3dec706af91b22b11be8b5bce11d168f9205d722a9fd30dea654f682a66b1c8
DIST bsd-games-3.2.tar.gz 270345 BLAKE2B 3d984601a71e157dd65e4102e68b3cddc9552d13ec546c599d26a501361616e6223f5fba8990ad8c7ba4559b3982e89a7f1064ff7de2422d1eb71f6c8838bcf1 SHA512 cf5f5a9e5d215ee553486580f9a7dfc9801d254a2806172df201dfc42ecbb05326db7bc25b7624eb8a8e541ad61ec319d258687609bddae2bc07edcbade2291a
DIST bsd-games-3.3.tar.gz 268373 BLAKE2B 1d2bfac6191469d2a30c9cbdd370740cfafd218dad1e10d056b5e04a126ea074883088a6a11cf11a23ac22d87a8d2933ebca8f38ed7cef76f098aa77e67fe32a SHA512 aaf36d09d4fe68514a5c279063d7e77a9a9a84c447037cba974b29faa07eb80c2aab2379d0699c196b5c27ffe1b2bb2c68d3390143e0e62d5e3d210ccfb61294
DIST bsdgames_2.17-28.debian.tar.xz 58464 BLAKE2B 3f5a70322341b153a8b3cb8df81fea1e773971d0f3b79ba8fb0c0877e95c61c8e8689952333f8ac4263948d781c2dc64c8178f9dac6a1c09ae702f91794b9583 SHA512 7e2db9f830c0657f3fcd1371635bda4a87e7a68180e486e44752904740c0710c02271522ff2d4b606542b3c502dd28795fcecf883360c3ac5bea78c148281f6a
DIST bsdgames_2.17.orig.tar.gz 2563311 BLAKE2B 9dfff4e70929e14a422c536c661cd95c5f1ac81d9112494525b9ef13d7a39b66bd59b6a264e614cfb29784fdb63364f56b12b4d284b125b5b3c12e92def07fb0 SHA512 cb2ee60474f164d42e3d47700270bbeeda3c8279d64da409c9cc05e36437ef95b92d0a85543298e97604635fcf3e068f3a5cc812e90b5c61fb8d146cf35bc38f

View File

@ -5,8 +5,8 @@ EAPI=8
inherit toolchain-funcs
DESCRIPTION="collection of games from NetBSD"
HOMEPAGE="https://www.polyomino.org.uk/computer/software/bsd-games/"
DESCRIPTION="Collection of games from NetBSD"
HOMEPAGE="https://sourceforge.net/projects/bsd-games/"
SRC_URI="https://github.com/msharov/bsd-games/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.1-verbose-build.patch.gz"

View File

@ -0,0 +1,153 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit toolchain-funcs
DESCRIPTION="Collection of games from NetBSD"
HOMEPAGE="https://sourceforge.net/projects/bsd-games/"
SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.1-verbose-build.patch.gz"
LICENSE="BSD"
# Subslot indicates the fork / new version
# 3 doesn't include the same games as the classic variant, etc
SLOT="0/3"
KEYWORDS="~amd64 ~arm64 ~hppa ~mips ~riscv ~x86"
# 'check' target doesn't exist, nor do any actual tests
# bug #779649
RESTRICT="test"
DEPEND="
sys-apps/miscfiles
sys-libs/ncurses:=[unicode(+)]
!games-puzzle/hangman
!games-misc/wumpus
"
RDEPEND="
${DEPEND}
acct-group/gamestat
"
BDEPEND="
app-alternatives/yacc
app-alternatives/lex
virtual/pkgconfig
"
PATCHES=(
"${WORKDIR}"/${PN}-3.1-verbose-build.patch
"${FILESDIR}"/${PN}-3.1-no-install-manpages-automatically.patch
"${FILESDIR}"/${PN}-3.2-no-which.patch
"${FILESDIR}"/${P}-no-strip.patch
)
# Set GAMES_TO_BUILD variable to whatever you want
GAMES_TO_BUILD=${GAMES_TO_BUILD:=adventure atc battlestar caesar cribbage
dab drop4 gofish gomoku hangman klondike robots sail snake spirhunt
worm wump}
src_prepare() {
default
# Use completely our own CFLAGS/LDFLAGS, no stripping and so on
sed -i \
-e 's/+= -std=c11 @pkgcflags@ ${CFLAGS}/= -std=c11 @pkgcflags@ ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}/' \
-e 's/+= @pkgldflags@ ${LDFLAGS}/= @pkgldflags@ ${LDFLAGS}/' \
-e s'/${INSTALL} -m 755 -s/${INSTALL} -m 755/' \
-e '/man[6]dir/d' \
Config.mk.in || die
# Yes, this stinks.
# Right now, the custom configure script calls pkg-config manually
# and seds it a bunch, and this is easier.
# Force looking for both ncurses and ncursesw
sed -i -e 's/pkgs="ncurses"/pkgs="ncursesw"/' configure || die
cp "${FILESDIR}"/config.params-gentoo config.params || die
echo bsd_games_cfg_usrlibdir=\"$(get_libdir)\" >> ./config.params || die
echo bsd_games_cfg_build_dirs=\"${GAMES_TO_BUILD}\" >> ./config.params || die
echo bsd_games_cfg_docdir=\"/usr/share/doc/${PF}\" >> ./config.params || die
if use riscv; then
sed -i 's/${CC} ${ldflags} -o $@ $^/${CC} ${ldflags} -o $@ $^ -latomic/' ./*/Module.mk || die
fi
}
src_configure() {
tc-export AR CC RANLIB
econf
}
src_compile() {
emake CPPFLAGS="${CPPFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
}
src_install() {
dodir /var/games
emake DESTDIR="${D}" install
_build_game() {
has ${1} ${GAMES_TO_BUILD}
}
_do_statefile() {
touch "${ED}"/var/games/${1} || die
chmod ug+rw "${ED}"/var/games/${1} || die
}
# set some binaries to run as games group (+S)
_build_game atc && fperms g+s /usr/bin/atc
_build_game battlestar && fperms g+s /usr/bin/battlestar
_build_game canfield && fperms g+s /usr/bin/canfield
_build_game cribbage && fperms g+s /usr/bin/cribbage
_build_game phantasia && fperms g+s /usr/bin/phantasia
_build_game robots && fperms g+s /usr/bin/robots
_build_game sail && fperms g+s /usr/bin/sail
_build_game snake && fperms g+s /usr/bin/snake
_build_game tetris && fperms g+s /usr/bin/tetris-bsd
# state files
_build_game atc && _do_statefile atc_score
_build_game battlestar && _do_statefile battlestar.log
_build_game canfield && _do_statefile cfscores
_build_game cribbage && _do_statefile criblog
_build_game hack && keepdir /var/games/hack
_build_game robots && _do_statefile robots_roll
_build_game sail && _do_statefile saillog
_build_game snake && _do_statefile snake.log && _do_statefile snakerawscores
_build_game tetris && _do_statefile tetris-bsd.scores
# extra docs
_build_game atc && docinto atc
_build_game boggle && { docinto boggle ; dodoc boggle/README; }
_build_game hack && { docinto hack ; dodoc hack/{OWNER,Original_READ_ME,READ_ME,help}; }
_build_game hunt && { docinto hunt ; dodoc hunt/README; }
_build_game phantasia && { docinto phantasia ; dodoc phantasia/{OWNER,README}; }
# Install the man pages manually to make life easier (circumventing compression)
local game
for game in ${GAMES_TO_BUILD[@]} ; do
if [[ -e ${game}/${game}.1 ]] ; then
doman ${game}/${game}.1
else
doman ${game}/${game}.6
fi
done
# Since factor is usually not installed, and primes.6 is a symlink to
# factor.6, make sure that primes.6 is ok ...
if _build_game primes && [[ ! $(_build_game factor) ]] ; then
rm -f "${ED}"/usr/share/man/man6/{factor,primes}.6 || die
newman factor/factor.6 primes.6
fi
# All of this needs to be owned by the gamestat group
fowners -R :gamestat /var/games/
# ... and so do the binaries
fowners -R :gamestat /usr/bin/
# State dirs
fperms -R ug+rw /var/games/
}

View File

@ -0,0 +1,12 @@
diff --git a/Config.mk.in b/Config.mk.in
index e069054..d9ee2cb 100644
--- a/Config.mk.in
+++ b/Config.mk.in
@@ -30,7 +30,6 @@ ifdef debug
ldflags := -g -rdynamic
else
cflags := -Os -g0 -DNDEBUG=1
- ldflags := -s
endif
CFLAGS := -Wall -Wextra -Wstrict-prototypes -Wshadow
cflags += -std=c11 @pkg_cflags@ ${CFLAGS}