summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Strogin <steils@gentoo.org>2024-06-10 19:26:57 +0300
committerStefan Strogin <steils@gentoo.org>2024-06-10 16:27:46 +0000
commit4980d86ad5f847cde6be280dd4b4cde485cc13cb (patch)
tree10db6a42308ad4bc7a17fcaaed2350a2d9470651 /games-roguelike/tomenet
parentsys-apps/systemd-utils: fix sysusers on musl (diff)
downloadgentoo-4980d86ad5f847cde6be280dd4b4cde485cc13cb.tar.gz
gentoo-4980d86ad5f847cde6be280dd4b4cde485cc13cb.tar.bz2
gentoo-4980d86ad5f847cde6be280dd4b4cde485cc13cb.zip
games-roguelike/tomenet: add 4.9.1
Signed-off-by: Stefan Strogin <steils@gentoo.org>
Diffstat (limited to 'games-roguelike/tomenet')
-rw-r--r--games-roguelike/tomenet/Manifest1
-rw-r--r--games-roguelike/tomenet/files/tomenet-4.9.1-disable-experimental.patch12
-rw-r--r--games-roguelike/tomenet/files/tomenet-4.9.1-makefile.patch48
-rw-r--r--games-roguelike/tomenet/tomenet-4.9.1.ebuild98
4 files changed, 159 insertions, 0 deletions
diff --git a/games-roguelike/tomenet/Manifest b/games-roguelike/tomenet/Manifest
index 04197fd30ccb..d4f0ae718ac3 100644
--- a/games-roguelike/tomenet/Manifest
+++ b/games-roguelike/tomenet/Manifest
@@ -1 +1,2 @@
DIST tomenet-4.7.3.tar.bz2 3355774 BLAKE2B e574434d283525793ad7b7e2c23103692c540be8727a90623b9fd52aba47d245be99cb39846046f4ba78795e168c8ef9342ff9ee16417dce3698036cbd6c50eb SHA512 25c7dedcd63306ada738078c412a45483ee6ac4c6fe116624a409cb4c9795270942cac2428c1ecafac45bbc9e3044890e308f8bd1bb1344dd156a610948addcd
+DIST tomenet-4.9.1.tar.bz2 5203112 BLAKE2B fa7ade988c94334416101d31fed0538b50a49cc46027d40eef3a85573973cee2b5c70db1815b531137104e4f51d42efc2cdf7bbc76219ee7b89b5d60dd0bea4a SHA512 20c03aea73f6d231a8e3d9bd0426baf5e96582e0df54c907565fbb4214d76eb0d42f59bb3ca1c604ec0e20604877f71b31c821140a8763b22ddcf55ba9c3f9ef
diff --git a/games-roguelike/tomenet/files/tomenet-4.9.1-disable-experimental.patch b/games-roguelike/tomenet/files/tomenet-4.9.1-disable-experimental.patch
new file mode 100644
index 000000000000..02ee8bad8c90
--- /dev/null
+++ b/games-roguelike/tomenet/files/tomenet-4.9.1-disable-experimental.patch
@@ -0,0 +1,12 @@
+diff --git a/config.h b/config.h
+index 6280af8f0..f8c8ddebf 100644
+--- a/config.h
++++ b/config.h
+@@ -833,7 +833,6 @@
+ /*
+ * Use the new meta scheme to do neater things
+ */
+-#define EXPERIMENTAL_META
+ #ifdef EXPERIMENTAL_META
+ /* Retrieve ping times for all servers listed on the meta server. - C. Blue
+ The number indicates the max number of server names we read (raw, ie duplicates included).
diff --git a/games-roguelike/tomenet/files/tomenet-4.9.1-makefile.patch b/games-roguelike/tomenet/files/tomenet-4.9.1-makefile.patch
new file mode 100644
index 000000000000..3c2a104a4d11
--- /dev/null
+++ b/games-roguelike/tomenet/files/tomenet-4.9.1-makefile.patch
@@ -0,0 +1,48 @@
+diff --git a/makefile b/makefile
+index cd79e4d4d..4d3c5e53b 100644
+--- a/makefile
++++ b/makefile
+@@ -224,7 +224,7 @@ CPP = cpp
+ #thing is, that the correctly transcribed URL will actually make tolua choke.
+ #So, -nostdinc will prevent the whole own comment blob of cpp to get generated
+ #in the first place, as we never asked for it:
+-CPPFLAGS = -C -P -nostdinc
++CPPFLAGS = -C -P -nostdinc $(GENTOO_CPPFLAGS)
+
+ # gcc variant:
+ #CPP = gcc
+@@ -235,6 +235,21 @@ CPPFLAGS = -C -P -nostdinc
+ # For variations with X11
+ X11BASE = /usr/X11R6
+
++# Defines
++ifdef USE_SDL
++CFLAGS += -DSOUND_SDL -I/usr/local/include/SDL2 -I/usr/include/SDL2 $(shell sdl-config --cflags)
++SDL_LIBS = $(shell sdl-config --libs) -lSDL2 -lSDL2_mixer
++endif
++
++ifdef USE_X
++CFLAGS += -DUSE_X11
++LIBS += -lX11
++endif
++
++CFLAGS += -Wall
++CFLAGS += -DUSE_GCU -D_XOPEN_SOURCE -D_DEFAULT_SOURCE -DMEXP=19937 -std=c99
++LIBS += $(shell ${PKG_CONFIG} --libs ncurses) -lcrypt -lm ${SDL_LIBS}
++
+
+ # Account editor
+ ACCEDIT_LIBS = -lncurses -lcrypt
+@@ -289,12 +304,10 @@ SERVER_EXTRA_LIBS = -lcrypt
+
+ # With SDL2
+ # With sdl2-config
+-CFLAGS = -pipe -Wall -DUSE_GCU -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -D_DEFAULT_SOURCE -DACC32 -fPIE -fsigned-char -Wno-format-truncation
+ # Note: -fsigned-char is important for ARM64, as there 'char' is by default unsigned, while on x86/AM64 it is by default signed!
+ # With manually set prefix
+ #CFLAGS = -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL -I/usr/local/include/SDL2 -I/usr/include/SDL2 -D_REENTRANT -D_DEFAULT_SOURCE -DACC32 -fPIE -Wno-format-truncation
+ # With sdl2-config
+-LIBS = -L/usr/pkg/lib -lncurses -lm
+ # With manually set prefix
+ #LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lncurses -lm -L/usr/local/lib -L/usr/lib -pthread -lSDL2 -lSDL2_mixer
+
diff --git a/games-roguelike/tomenet/tomenet-4.9.1.ebuild b/games-roguelike/tomenet/tomenet-4.9.1.ebuild
new file mode 100644
index 000000000000..150a3fa9fbab
--- /dev/null
+++ b/games-roguelike/tomenet/tomenet-4.9.1.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+inherit desktop toolchain-funcs xdg
+
+DESCRIPTION="A MMORPG based on the works of J.R.R. Tolkien"
+HOMEPAGE="https://www.tomenet.eu"
+SRC_URI="https://www.tomenet.eu/downloads/${P}.tar.bz2"
+
+LICENSE="Moria"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+client server +sound X"
+REQUIRED_USE="|| ( client server )"
+
+RDEPEND="sys-libs/ncurses:0
+ client? (
+ X? (
+ x11-libs/libX11
+ )
+ sound? (
+ media-libs/libsdl[sound]
+ media-libs/sdl-mixer[vorbis,smpeg,mp3]
+ )
+ )"
+DEPEND="${RDEPEND}
+ client? ( sound? ( app-arch/p7zip ) )"
+BDEPEND="virtual/pkgconfig"
+
+S=${WORKDIR}/${P}/src
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-disable-experimental.patch
+)
+
+src_prepare() {
+ default
+ if ! use server; then
+ rm -r ../lib/{config,data,save} || die
+ fi
+
+ sed \
+ -e "s#@LIBDIR@#${EPREFIX}/usr/share/${PN}#" \
+ "${FILESDIR}"/${PN}-wrapper > "${T}"/${PN} || die
+
+ if use server; then
+ sed \
+ -e "s#@LIBDIR@#${EPREFIX}/usr/share/${PN}#" \
+ "${FILESDIR}"/${PN}-server-wrapper > "${T}"/${PN}.server || die
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_compile() {
+ local mytargets="$(usex client "tomenet" "") $(usex server "accedit tomenet.server" "")"
+ emake \
+ $(usex client "$(usex X "USE_X=1" "")" "") \
+ $(usex client "$(usex sound "USE_SDL=1" "")" "") \
+ CC="$(tc-getCC)" \
+ CPP="$(tc-getCPP)" \
+ GENTOO_CPPFLAGS="${CPPFLAGS}" \
+ -f makefile \
+ ${mytargets[@]}
+}
+
+src_install() {
+ dodoc ../TomeNET-Guide.txt
+
+ if use client ; then
+ newbin ${PN} ${PN}.bin
+ dobin "${T}"/${PN}
+
+ doicon -s 48 client/tomenet4.png
+ make_desktop_entry ${PN} ${PN} ${PN}4
+ fi
+
+ if use server ; then
+ newbin tomenet.server tomenet.server.bin
+ dobin "${T}"/${PN}.server accedit
+ fi
+
+ insinto "/usr/share/${PN}"
+ doins -r ../lib/*
+ doins ../.tomenetrc
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if use sound; then
+ elog "You can get soundpacks from here:"
+ elog ' https://tomenet.eu/downloads.php'
+ elog "They must be placed inside ~/.tomenet directory."
+ fi
+}