forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
games-rpg/eternal-lands: bump version to 1.9.5.3
No longer depends on games-rpg/eternal-lands-data. Provide a launcher that downloads game data into $HOME on the first start. It will make auto updates easier and not violating Gentoo policies. Closes: https://bugs.gentoo.org/548926 Closes: https://bugs.gentoo.org/652690 Closes: https://bugs.gentoo.org/672238 Closes: gentoo#12014 Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: Stefan Strogin <[email protected]>
- Loading branch information
Showing
5 changed files
with
290 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST elc_1.9.3-20120213.tar.bz2 2401172 BLAKE2B 496315a0d09d0b7cb99a77c77965d3d85a675659ae1970dc2c7c7560146b165a48a35f6dfd7eb461d4347ee2023df91ba47c05120957f52f777ea530e868b8d9 SHA512 3580d3ceb94094443ef25f6e4880c9ffe3fff256c8d8e6657b4e0683a05184da9e6a76264557d2065a8187e3d36febd9d30ff5adff83a17607b1e478be90fabc | ||
DIST eternal-lands-1.9.5.3.tar.gz 2814562 BLAKE2B ccb3dd78d12817912293f8babbd5f5dde6f0e3ea0cb34526edd7a3f0371f5313f94ff2d6b22cf472442869dfcf9893c19ec72d7ccf879b0e6a3dbfa05249c38f SHA512 bf0da70080377a76c66d6201da6032aae2967051e23f8aa433d450ec845bcd91145b965632fa63f66feebc15eaa9a65ff8f33884cc1b7c3605125f1536d91563 | ||
DIST eternal-lands.png 9955 BLAKE2B 376f6826bab88e798c39d79f00bd8c8758798b70beb980d44bfcdf0c4afb696ea15f58177267ddf189ce53ef6c2c33efdcf507f5135ccc000b56ca28de078f80 SHA512 c77571c949bb43fa7f95ae58f863ed972cfc76e184de5d0fa0a3599e4f7539f6334b843233b61fc807c90ef270d87cd57494510ce559427b592d255c198729bf |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
inherit desktop toolchain-funcs xdg | ||
|
||
DESCRIPTION="A 3D fantasy MMORPG written in C and SDL" | ||
HOMEPAGE="http://www.eternal-lands.com" | ||
SRC_URI="https://github.com/raduprv/Eternal-Lands/archive/${PV}.tar.gz -> ${P}.tar.gz" | ||
|
||
LICENSE="eternal_lands" | ||
SLOT="0" | ||
KEYWORDS="~amd64 ~x86" | ||
IUSE="doc" | ||
|
||
RDEPEND="app-arch/unzip | ||
dev-libs/libxml2 | ||
media-libs/cal3d[-16bit-indices] | ||
media-libs/freealut | ||
media-libs/libpng:0= | ||
media-libs/libsdl[X,opengl,video] | ||
media-libs/libvorbis | ||
media-libs/openal | ||
media-libs/sdl-image | ||
media-libs/sdl-net | ||
sys-libs/zlib[minizip] | ||
virtual/glu | ||
virtual/opengl | ||
x11-libs/libX11 | ||
x11-libs/libXau | ||
x11-libs/libXdmcp | ||
x11-libs/libXext" | ||
DEPEND="${RDEPEND} | ||
app-eselect/eselect-opengl | ||
media-libs/glew" | ||
BDEPEND="${DEPEND} | ||
virtual/pkgconfig | ||
doc? ( | ||
app-doc/doxygen | ||
media-gfx/graphviz | ||
)" | ||
|
||
S="${WORKDIR}/Eternal-Lands-${PV}" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-1.9.5.3-build.patch" | ||
"${FILESDIR}/${PN}-1.9.5.3-minizip.patch" | ||
) | ||
|
||
src_prepare() { | ||
default | ||
|
||
sed -i "s/FEATURES/EL_FEATURES/g" make.defaults || die | ||
sed -i "s/FEATURES/EL_FEATURES/g" Makefile.linux || die | ||
|
||
# Remove bundled minizip | ||
rm io/{crypt,ioapi,unzip,zip}.h || die | ||
rm io/{ioapi,unzip,zip}.c || die | ||
|
||
cp Makefile.linux Makefile || die | ||
} | ||
|
||
src_compile() { | ||
emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" | ||
use doc && emake docs | ||
} | ||
|
||
src_install() { | ||
dobin el.linux.bin | ||
newbin "${FILESDIR}"/el-wrapper el | ||
newicon -s 48 elc.png ${PN}.png | ||
make_desktop_entry el "Eternal Lands" | ||
|
||
dodoc CHANGES TODO | ||
use doc && dodoc -r docs/html/ | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#!/bin/bash -e | ||
|
||
elc=~/.elc | ||
datadir=$elc/el_data | ||
browser=xdg-open | ||
|
||
if [[ ! -e $elc ]] || [[ ! -e $datadir ]] || [[ ! -e $elc/servers.lst ]] || | ||
[[ ! -e $elc/el.ini ]]; then | ||
|
||
[[ -e $elc ]] || mkdir -p $elc | ||
|
||
if [[ ! -e $datadir ]]; then | ||
echo | ||
echo "The \"Eternal Lands\" launcher is downloading the game data..." | ||
echo "It is only needed before the first start." | ||
echo "The default data location is ~/.elc/el_data" | ||
echo | ||
|
||
tmpdir="`mktemp -d /tmp/eternal-lands.XXXXXXXXXX`" | ||
trap "rm -r $tmpdir" EXIT | ||
wget https://github.com/raduprv/Eternal-Lands/releases/download/1.9.5.2/el_195_1_data_files.zip -P $tmpdir | ||
unzip $tmpdir/el_195_1_data_files.zip -d $elc | ||
|
||
echo | ||
echo "The game sound and music are optional, you can download \ | ||
them now or any time later from the official website and unpack into \ | ||
~/.elc/el_data/sound and ~/.elc/el_data/music" | ||
while true; do | ||
read -r -n 1 -p "Download the game sound and music now? (y/n) " yn | ||
case $yn in | ||
[Yy]) break;; | ||
[Nn]) break;; | ||
*) echo -e "\nPlease answer Yes or No.";; | ||
esac | ||
done | ||
echo | ||
|
||
if [[ $yn == [Yy] ]]; then | ||
wget https://github.com/raduprv/Eternal-Lands/releases/download/1.9.5.2/eternallands-sound_1.9.4.zip -P $tmpdir | ||
wget https://github.com/raduprv/Eternal-Lands/releases/download/1.9.5.2/music_full.zip -P $tmpdir | ||
unzip $tmpdir/eternallands-sound_1.9.4.zip -d $datadir | ||
mkdir $datadir/music | ||
unzip $tmpdir/music_full.zip -d $datadir/music | ||
fi | ||
|
||
rm -r $tmpdir | ||
fi | ||
|
||
[[ -e $elc/servers.lst ]] || cp $datadir/servers.lst $elc/ | ||
[[ -e $elc/el.ini ]] || cp $datadir/el.ini $elc/ | ||
fi | ||
|
||
exec /usr/bin/el.linux.bin -dir="$datadir" -b="$browser" "$@" |
70 changes: 70 additions & 0 deletions
70
games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-build.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
From ef13ae006609e51eaddbcdf0495f44cfde797e26 Mon Sep 17 00:00:00 2001 | ||
From: Stefan Strogin <[email protected]> | ||
Date: Tue, 14 May 2019 20:34:47 +0300 | ||
Subject: [PATCH 1/2] Respect {C,CXX,LD}FLAGS | ||
|
||
Upstream-Status: Inappropriate [Gentoo-specific] | ||
Signed-off-by: Stefan Strogin <[email protected]> | ||
--- | ||
Makefile.linux | 16 ++++++++-------- | ||
1 file changed, 8 insertions(+), 8 deletions(-) | ||
|
||
diff --git a/Makefile.linux b/Makefile.linux | ||
index c57aeeeb..a0839c5c 100644 | ||
--- a/Makefile.linux | ||
+++ b/Makefile.linux | ||
@@ -17,11 +17,11 @@ OPTIONS = -DLINUX -DELC $(foreach FEATURE, $(FEATURES), -D$(FEATURE)) -D_7ZIP_ST | ||
$(shell pkg-config vorbisfile --cflags) \ | ||
$(shell pkg-config zlib --cflags) | ||
|
||
-CFLAGS=$(PLATFORM) $(CWARN) -O0 -ggdb -pipe $(OPTIONS) -fno-strict-aliasing $(EXTRA_INCLUDES) | ||
+CFLAGS += $(OPTIONS) -fno-strict-aliasing $(EXTRA_INCLUDES) | ||
|
||
-CXXFLAGS=$(PLATFORM) $(CXXWARN) -O0 -ggdb -pipe $(OPTIONS) -fno-strict-aliasing $(EXTRA_INCLUDES) | ||
+CXXFLAGS += $(OPTIONS) -fno-strict-aliasing $(EXTRA_INCLUDES) | ||
|
||
-LDFLAGS=$(shell pkg-config sdl --libs) \ | ||
+LDFLAGS += $(shell pkg-config sdl --libs) \ | ||
$(shell pkg-config libxml-2.0 --libs) \ | ||
$(shell pkg-config SDL_net --libs) \ | ||
$(shell pkg-config SDL_image --libs) \ | ||
@@ -111,7 +111,7 @@ HEADER_DIRS = . books eye_candy io pawn fsaa engine xz | ||
DEP_FILES=$(foreach OBJ, $(COBJS), .deps/$(OBJ).P) $(foreach OBJ, $(CXXOBJS), .deps/$(OBJ).P) | ||
#(shell echo $OBJ |sed s/\.o/\.P/)) | ||
|
||
-EXE=el.x86.linux.bin | ||
+EXE=el.linux.bin | ||
|
||
ifndef CC | ||
CC=gcc | ||
@@ -127,8 +127,8 @@ all: $(EXE) | ||
|
||
# the compile targets | ||
$(EXE): $(OBJS) | ||
- @echo " LINK $(EXE)" | ||
- @$(LINK) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS) | ||
+ @echo "$(CC) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS)" | ||
+ @$(CC) $(CFLAGS) -o $(EXE) $(OBJS) $(LDFLAGS) | ||
|
||
#recompile on Makefile or conf change | ||
#.depend $(OBJS): Makefile.linux make.conf | ||
@@ -136,14 +136,14 @@ $(EXE): $(OBJS) | ||
DEPS_MAGIC := $(shell mkdir .deps .deps/io .deps/shader .deps/eye_candy .deps/exceptions .deps/xz .deps/xml .deps/fsaa .deps/engine > /dev/null 2>&1 || :) | ||
|
||
$(COBJS): %.o: %.c Makefile.linux make.conf | ||
- @echo " CC $@" | ||
+ @echo "$(CC) $(CFLAGS) -MT '$@' -MD -MP -MF '.deps/[email protected]' -c $< -o $@" | ||
@if $(CC) $(CFLAGS) -MT '$@' -MD -MP -MF '.deps/[email protected]' -c $< -o $@; then \ | ||
mv ".deps/[email protected]" ".deps/[email protected]"; \ | ||
else rm -f ".deps/[email protected]"; exit 1; \ | ||
fi | ||
|
||
$(CXXOBJS): %.o: %.cpp Makefile.linux make.conf | ||
- @echo " CXX $@" | ||
+ @echo "$(CXX) $(CXXFLAGS) -MT '$@' -MD -MP -MF '.deps/[email protected]' -c $< -o $@" | ||
@if $(CXX) $(CXXFLAGS) -MT '$@' -MD -MP -MF '.deps/[email protected]' -c $< -o $@; then \ | ||
mv ".deps/[email protected]" ".deps/[email protected]"; \ | ||
else rm -f ".deps/[email protected]"; exit 1; \ | ||
-- | ||
2.21.0 | ||
|
90 changes: 90 additions & 0 deletions
90
games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-minizip.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
From 7df2f0a47ff2d25898063dc2fb30ba3d80d63afb Mon Sep 17 00:00:00 2001 | ||
From: Stefan Strogin <[email protected]> | ||
Date: Thu, 16 May 2019 05:31:16 +0300 | ||
Subject: [PATCH 2/2] Unbundle minizip | ||
|
||
Original patch by Julian Ospald <[email protected]>. | ||
Bug: https://bugs.gentoo.org/423327 | ||
|
||
Upstream-Status: Pending | ||
Signed-off-by: Stefan Strogin <[email protected]> | ||
--- | ||
Makefile.linux | 4 +++- | ||
io/elfilewrapper.c | 2 +- | ||
io/ziputil.h | 4 ++-- | ||
new_update.c | 4 ++-- | ||
4 files changed, 8 insertions(+), 6 deletions(-) | ||
|
||
diff --git a/Makefile.linux b/Makefile.linux | ||
index a0839c5c..d29ac912 100644 | ||
--- a/Makefile.linux | ||
+++ b/Makefile.linux | ||
@@ -12,6 +12,7 @@ OPTIONS = -DLINUX -DELC $(foreach FEATURE, $(FEATURES), -D$(FEATURE)) -D_7ZIP_ST | ||
$(shell pkg-config cal3d --cflags) \ | ||
$(shell pkg-config gl --cflags) \ | ||
$(shell pkg-config glu --cflags) \ | ||
+ $(shell pkg-config minizip --cflags) \ | ||
$(shell pkg-config openal --cflags) \ | ||
$(shell pkg-config vorbis --cflags) \ | ||
$(shell pkg-config vorbisfile --cflags) \ | ||
@@ -28,6 +29,7 @@ LDFLAGS += $(shell pkg-config sdl --libs) \ | ||
$(shell pkg-config cal3d --libs) \ | ||
$(shell pkg-config gl --libs) \ | ||
$(shell pkg-config glu --libs) \ | ||
+ $(shell pkg-config minizip --libs) \ | ||
$(shell pkg-config openal --libs) \ | ||
$(shell pkg-config vorbis --libs) \ | ||
$(shell pkg-config vorbisfile --libs) \ | ||
@@ -64,7 +66,7 @@ COBJS=2d_objects.o 3d_objects.o \ | ||
hud.o hud_misc_window.o hud_quickbar_window.o hud_statsbar_window.o hud_quickspells_window.o \ | ||
help.o highlight.o ignore.o image_loading.o init.o interface.o items.o io/fileutil.o \ | ||
io/e3d_io.o io/elc_io.o io/map_io.o io/elpathwrapper.o io/xmlcallbacks.o \ | ||
- io/half.o io/normal.o io/elfilewrapper.o io/unzip.o io/ioapi.o io/zip.o io/ziputil.o \ | ||
+ io/half.o io/normal.o io/elfilewrapper.o io/ziputil.o \ | ||
keys.o knowledge.o langselwin.o lights.o list.o load_gl_extensions.o loginwin.o loading_win.o \ | ||
main.o manufacture.o map.o mapwin.o \ | ||
md5.o mines.o minimap.o misc.o missiles.o multiplayer.o \ | ||
diff --git a/io/elfilewrapper.c b/io/elfilewrapper.c | ||
index fad99d62..5dee9a37 100644 | ||
--- a/io/elfilewrapper.c | ||
+++ b/io/elfilewrapper.c | ||
@@ -1,5 +1,5 @@ | ||
#include "elfilewrapper.h" | ||
-#include "unzip.h" | ||
+#include <unzip.h> | ||
#include "elpathwrapper.h" | ||
#include "fileutil.h" | ||
#include <sys/stat.h> | ||
diff --git a/io/ziputil.h b/io/ziputil.h | ||
index 86128315..51fa232b 100644 | ||
--- a/io/ziputil.h | ||
+++ b/io/ziputil.h | ||
@@ -8,8 +8,8 @@ | ||
|
||
#include <SDL.h> | ||
#include "../md5.h" | ||
-#include "zip.h" | ||
-#include "unzip.h" | ||
+#include <zip.h> | ||
+#include <unzip.h> | ||
|
||
#ifdef __cplusplus | ||
extern "C" | ||
diff --git a/new_update.c b/new_update.c | ||
index febd10ae..ec039f6c 100644 | ||
--- a/new_update.c | ||
+++ b/new_update.c | ||
@@ -5,8 +5,8 @@ | ||
#include <string.h> | ||
#include "md5.h" | ||
#include "elc_private.h" | ||
-#include "io/zip.h" | ||
-#include "io/unzip.h" | ||
+#include <zip.h> | ||
+#include <unzip.h> | ||
#include "io/ziputil.h" | ||
#include "io/fileutil.h" | ||
#include "io/elfilewrapper.h" | ||
-- | ||
2.21.0 | ||
|