summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--games-roguelike/tomenet/Manifest1
-rw-r--r--games-roguelike/tomenet/files/tomenet-4.7.3-makefile.patch43
-rw-r--r--games-roguelike/tomenet/metadata.xml3
-rw-r--r--games-roguelike/tomenet/tomenet-4.7.3.ebuild97
-rw-r--r--profiles/base/package.use.force5
5 files changed, 148 insertions, 1 deletions
diff --git a/games-roguelike/tomenet/Manifest b/games-roguelike/tomenet/Manifest
index cb2a3a967138..28db3470d88d 100644
--- a/games-roguelike/tomenet/Manifest
+++ b/games-roguelike/tomenet/Manifest
@@ -1,2 +1,3 @@
DIST tomenet-4.6.1a.tar.bz2 2990275 BLAKE2B 40d855e4f9e908a8802bba8fd95fcb8c69df026bdc9b891e14a79691e80f7caab48e7826066a761101d932116542d42240457d85998278f8a928dd64ed1ac522 SHA512 eb89cd2276a18947d55efcc745e0b0abc0d9ae8a8d922a4726632657f32657e762bd0530d721afcf9d4ab3eeed2da6e43a3822d1d8c2c3b630fdb4cde924ac9f
DIST tomenet-4.7.2.tar.bz2 3253873 BLAKE2B 4cba4827a64588c850691ae3b5c7ad0097a322ab1baca42492cbe42bc1e76615fb0084b7b8608e20adf303bded42a9cb80c4d09d0a29f1f68699ffa8e04240bb SHA512 284aa71374b726fd86bfa6b0d820301ec7e5004ddb140a1567c54c883c138cabd2ac55085c222aa057b234dc822f717489128b857ed527fff7d702092bdb51d5
+DIST tomenet-4.7.3.tar.bz2 3355774 BLAKE2B e574434d283525793ad7b7e2c23103692c540be8727a90623b9fd52aba47d245be99cb39846046f4ba78795e168c8ef9342ff9ee16417dce3698036cbd6c50eb SHA512 25c7dedcd63306ada738078c412a45483ee6ac4c6fe116624a409cb4c9795270942cac2428c1ecafac45bbc9e3044890e308f8bd1bb1344dd156a610948addcd
diff --git a/games-roguelike/tomenet/files/tomenet-4.7.3-makefile.patch b/games-roguelike/tomenet/files/tomenet-4.7.3-makefile.patch
new file mode 100644
index 000000000000..c00fc5f1e699
--- /dev/null
+++ b/games-roguelike/tomenet/files/tomenet-4.7.3-makefile.patch
@@ -0,0 +1,43 @@
+diff --git a/makefile b/makefile
+index ee56a33..7f3c81f 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
+--- a/makefile
++++ b/makefile
+@@ -234,5 +234,19 @@ CC = gcc
+ X11BASE = /usr/X11R6
+
++# defines
++ifdef USE_SDL
++CFLAGS += -DSOUND_SDL $(shell sdl-config --cflags)
++SDL_LIBS = $(shell sdl-config --libs) -lSDL_mixer
++endif
++
++ifdef USE_X
++CFLAGS += -DUSE_X11
++LIBS += -lX11
++endif
++
++CFLAGS += -Wall
++CFLAGS += -DUSE_GCU -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99
++LIBS += $(shell ${PKG_CONFIG} --libs ncurses) -lcrypt -lm ${SDL_LIBS}
+
+ ##
+ ## Standard version -- supports X11 (main-x11.c)
+@@ -259,7 +274,5 @@ X11BASE = /usr/X11R6
+ #CFLAGS = -O2 -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags` -D_DEFAULT_SOURCE -DACC32 -fPIE
+-CFLAGS = -O2 -g -pipe -Wall -DUSE_X11 -DUSE_GCU -I${X11BASE}/include -D_XOPEN_SOURCE -D_BSD_SOURCE -DMEXP=19937 -std=c99 -DSOUND_SDL `sdl-config --cflags` -D_DEFAULT_SOURCE -DACC32 -fPIE -Wno-format-truncation
+ #LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lncurses -lcrypt -lm `sdl-config --libs` -lSDL_mixer
+-LIBS = -L${X11BASE}/lib -L/usr/pkg/lib -lX11 -lncurses -lcrypt -lm `sdl-config --libs` -lSDL_mixer
+ ACCEDIT_LIBS = -lcurses -lcrypt
+ ##
+ ## Without SDL
diff --git a/games-roguelike/tomenet/metadata.xml b/games-roguelike/tomenet/metadata.xml
index 9d9cd998599c..b80155092934 100644
--- a/games-roguelike/tomenet/metadata.xml
+++ b/games-roguelike/tomenet/metadata.xml
@@ -6,7 +6,8 @@
<name>Gentoo Games Project</name>
</maintainer>
<use>
- <flag name="server">Compile server support</flag>
+ <flag name="client">Compile client</flag>
+ <flag name="server">Compile server</flag>
</use>
<longdescription lang="en">
TomeNET is a multiplayer fantasy dungeon exploration game based on
diff --git a/games-roguelike/tomenet/tomenet-4.7.3.ebuild b/games-roguelike/tomenet/tomenet-4.7.3.ebuild
new file mode 100644
index 000000000000..cbcf3844985b
--- /dev/null
+++ b/games-roguelike/tomenet/tomenet-4.7.3.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2020 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[wxwidgets] ) )"
+BDEPEND="virtual/pkgconfig"
+
+S=${WORKDIR}/${P}/src
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.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_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
+}
diff --git a/profiles/base/package.use.force b/profiles/base/package.use.force
index e08549f1c246..2539ed7e981e 100644
--- a/profiles/base/package.use.force
+++ b/profiles/base/package.use.force
@@ -15,6 +15,11 @@ www-client/firefox clang
# support it already.
sys-boot/refind gnuefi
+# Alexey Sokolov <alexey+gentoo@asokolov.org> (2020-12-06)
+# Doesn't build without X. Not removing IUSE from ebuild yet in hope that
+# https://github.com/TomenetGame/tomenet/issues/14 will be fixed.
+>=games-roguelike/tomenet-4.7.3 X
+
# Mikle Kolyada <zlogene@gentoo.org> (2020-08-08)
# Ensure tools flag is enabled for @system set
sys-apps/kmod tools