public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Stefan Strogin" <steils@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: games-rpg/eternal-lands/files/, games-rpg/eternal-lands/
Date: Thu, 23 May 2019 02:29:20 +0000 (UTC)	[thread overview]
Message-ID: <1558578456.4db23dbb1a7127733ef0a4849824f133c58b8506.steils@gentoo> (raw)

commit:     4db23dbb1a7127733ef0a4849824f133c58b8506
Author:     Stefan Strogin <steils <AT> gentoo <DOT> org>
AuthorDate: Thu May 16 03:41:49 2019 +0000
Commit:     Stefan Strogin <steils <AT> gentoo <DOT> org>
CommitDate: Thu May 23 02:27:36 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4db23dbb

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: https://github.com/gentoo/gentoo/pull/12014
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Stefan Strogin <steils <AT> gentoo.org>

 games-rpg/eternal-lands/Manifest                   |  1 +
 .../eternal-lands/eternal-lands-1.9.5.3.ebuild     | 76 ++++++++++++++++++
 games-rpg/eternal-lands/files/el-wrapper           | 53 +++++++++++++
 .../files/eternal-lands-1.9.5.3-build.patch        | 70 +++++++++++++++++
 .../files/eternal-lands-1.9.5.3-minizip.patch      | 90 ++++++++++++++++++++++
 5 files changed, 290 insertions(+)

diff --git a/games-rpg/eternal-lands/Manifest b/games-rpg/eternal-lands/Manifest
index e644551c904..f79208e9c8b 100644
--- a/games-rpg/eternal-lands/Manifest
+++ b/games-rpg/eternal-lands/Manifest
@@ -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

diff --git a/games-rpg/eternal-lands/eternal-lands-1.9.5.3.ebuild b/games-rpg/eternal-lands/eternal-lands-1.9.5.3.ebuild
new file mode 100644
index 00000000000..77263591394
--- /dev/null
+++ b/games-rpg/eternal-lands/eternal-lands-1.9.5.3.ebuild
@@ -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/
+}

diff --git a/games-rpg/eternal-lands/files/el-wrapper b/games-rpg/eternal-lands/files/el-wrapper
new file mode 100644
index 00000000000..ab392d33420
--- /dev/null
+++ b/games-rpg/eternal-lands/files/el-wrapper
@@ -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" "$@"

diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-build.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-build.patch
new file mode 100644
index 00000000000..28f4ab0da54
--- /dev/null
+++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-build.patch
@@ -0,0 +1,70 @@
+From ef13ae006609e51eaddbcdf0495f44cfde797e26 Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+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 <steils@gentoo.org>
+---
+ 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/$@.pp' -c $< -o $@"
+ 	@if $(CC) $(CFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \
+ 		mv ".deps/$@.pp" ".deps/$@.P"; \
+ 	else rm -f ".deps/$@.pp"; exit 1; \
+ 	fi
+ 
+ $(CXXOBJS): %.o: %.cpp Makefile.linux make.conf
+-	@echo "  CXX  $@"
++	@echo "$(CXX) $(CXXFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@"
+ 	@if $(CXX) $(CXXFLAGS) -MT '$@' -MD -MP -MF '.deps/$@.pp' -c $< -o $@; then \
+ 		mv ".deps/$@.pp" ".deps/$@.P"; \
+ 	else rm -f ".deps/$@.pp"; exit 1; \
+-- 
+2.21.0
+

diff --git a/games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-minizip.patch b/games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-minizip.patch
new file mode 100644
index 00000000000..c1eb35fdc84
--- /dev/null
+++ b/games-rpg/eternal-lands/files/eternal-lands-1.9.5.3-minizip.patch
@@ -0,0 +1,90 @@
+From 7df2f0a47ff2d25898063dc2fb30ba3d80d63afb Mon Sep 17 00:00:00 2001
+From: Stefan Strogin <steils@gentoo.org>
+Date: Thu, 16 May 2019 05:31:16 +0300
+Subject: [PATCH 2/2] Unbundle minizip
+
+Original patch by Julian Ospald <hasufell@gentoo.org>.
+Bug: https://bugs.gentoo.org/423327
+
+Upstream-Status: Pending
+Signed-off-by: Stefan Strogin <steils@gentoo.org>
+---
+ 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
+


             reply	other threads:[~2019-05-23  2:29 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-23  2:29 Stefan Strogin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2019-08-29  1:57 [gentoo-commits] repo/gentoo:master commit in: games-rpg/eternal-lands/files/, games-rpg/eternal-lands/ Stefan Strogin
2020-06-05  5:35 Stefan Strogin
2020-06-05  5:44 Stefan Strogin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1558578456.4db23dbb1a7127733ef0a4849824f133c58b8506.steils@gentoo \
    --to=steils@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox