diff options
-rw-r--r-- | games-roguelike/tomenet/Manifest | 1 | ||||
-rw-r--r-- | games-roguelike/tomenet/files/tomenet-4.7.3-makefile.patch | 43 | ||||
-rw-r--r-- | games-roguelike/tomenet/metadata.xml | 3 | ||||
-rw-r--r-- | games-roguelike/tomenet/tomenet-4.7.3.ebuild | 97 | ||||
-rw-r--r-- | profiles/base/package.use.force | 5 |
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 |