commit:     d7096743466c1b9075299f1198a0072c06be69b5
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  1 22:03:35 2018 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Thu Mar  1 22:03:35 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7096743

games-action/trine-bin: Update for new download, unbundle libs, RPATH

* Upstream download has changed content and filename. The game version
  is still the same so perhaps only the bundled libraries changed.
* Game failed to launch with bundled libstdc++.so.6. Unbundle as many
  libraries as possible for security, if nothing else.
* Use chrpath to set an absolute RPATH, improving security.

Closes: https://bugs.gentoo.org/369923
Package-Manager: Portage-2.3.24, Repoman-2.3.6

 games-action/trine-bin/Manifest                    |  2 +-
 ...bin-1.08-r1.ebuild => trine-bin-1.08-r2.ebuild} | 51 +++++++++++++---------
 2 files changed, 32 insertions(+), 21 deletions(-)

diff --git a/games-action/trine-bin/Manifest b/games-action/trine-bin/Manifest
index 0362ae96dbc..dd34b082ffe 100644
--- a/games-action/trine-bin/Manifest
+++ b/games-action/trine-bin/Manifest
@@ -1 +1 @@
-DIST Trine.64.run 648471997 SHA256 
1c9067cb19e3c954b460b4df27e6ca5d80b31c7ead49bd5779dcbce5528177db SHA512 
400200a3ebc6003545df460f9a8af7fe4f6f370655432c66ca8a5ceb10e40bf205e81f70cfbe3fe7386de9ec0aeb5e23f02590776c2b0f35a32f9fbc1012ea3a
 WHIRLPOOL 
b6610f53e8e4079383de9a664b8cb019fbe9daa7cdbb204116c3e34b27327325dfdc39649185076524429f8ba2fc1a0889f9006e6873db65c3f73784f440e1e9
+DIST TrineUpdate4.64.run 647258173 BLAKE2B 
b520d1f312b9bd9ef94f32cd5fbe7ceaea0cb1bd839d8a898ac02cac0eb3464d83588f1163949ca2f53d7badb2eca456b8e1438d6f5e96e3c6baa10ca6cb865a
 SHA512 
1255edc90cfd47c4f5a3cf7fa07cebac047f46f9b5f9f6621baff01d9c4295c95204a695127ce4947038c50c80253e7a004ec1c3accff6ac8697605fd25885f9

diff --git a/games-action/trine-bin/trine-bin-1.08-r1.ebuild 
b/games-action/trine-bin/trine-bin-1.08-r2.ebuild
similarity index 56%
rename from games-action/trine-bin/trine-bin-1.08-r1.ebuild
rename to games-action/trine-bin/trine-bin-1.08-r2.ebuild
index dd00324d01d..99503c9efac 100644
--- a/games-action/trine-bin/trine-bin-1.08-r1.ebuild
+++ b/games-action/trine-bin/trine-bin-1.08-r2.ebuild
@@ -1,36 +1,43 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-# these are ELFs that include a ZIP (504b0304) appended to it
-#   dd if=Trine.64.run of=Trine.64.zip ibs=$((0x342a8)) skip=1
-#   dd if=Trine.32.run of=Trine.32.zip ibs=$((0x31c24)) skip=1
-# but `unzip` will skip the ELF at the start.  both ELFs contain
-# the same zip appended, so only need to hash one of them.
-
 EAPI=6
-inherit unpacker eutils
+
+inherit desktop eutils unpacker
 
 DESCRIPTION="A physics-based action game with character-dependent solutions to 
challenges"
 HOMEPAGE="http://trine-thegame.com/";
-SRC_URI="Trine.64.run"
+SRC_URI="TrineUpdate4.64.run"
 
 LICENSE="frozenbyte-eula"
 SLOT="0"
 KEYWORDS="-* ~amd64 ~x86"
-IUSE=""
 RESTRICT="fetch strip"
 
-DEPEND="app-arch/unzip"
+DEPEND="
+       app-admin/chrpath
+       app-arch/unzip
+"
+
 RDEPEND="
+       dev-libs/glib:2
        dev-libs/libx86
-       gnome-base/libglade
+       gnome-base/libglade:2.0
+       media-libs/libogg
+       media-libs/libpng:1.2
+       >=media-libs/libsdl-1.2[opengl,sound,video]
+       >=media-libs/libvorbis-1.3
+       >=media-libs/openal-1.15
+       >=media-libs/tiff-3.9:3
        >=sys-devel/gcc-4.3.0
-       >=sys-libs/glibc-2.4"
+       >=sys-libs/glibc-2.4
+       virtual/jpeg:62
+       x11-libs/gtk+:2
+"
 
-S=${WORKDIR}
-
-d=/opt/${PN}
-QA_PREBUILT="${d#/}/trine-launcher ${d#/}/trine-bin ${d#/}/lib*/lib*.so*"
+S="${WORKDIR}"
+d="/opt/${PN}"
+QA_PREBUILT="*"
 
 pkg_nofetch() {
        einfo "Fetch ${SRC_URI} and put it into ${DISTDIR}"
@@ -38,9 +45,13 @@ pkg_nofetch() {
 }
 
 src_unpack() {
-       # manually run unzip as the initial seek causes it to exit(1)
        unpack_zip ${A}
-       rm lib*/lib{gcc_s,m,rt,selinux}.so.? || die
+}
+
+src_prepare() {
+       default
+       rm -v 
lib*/lib{gcc_s,jpeg,m,ogg,openal,png*,rt,SDL*,selinux,stdc++,tiff,vorbis*}.* || 
die
+       chrpath --replace "${EPREFIX}${d}"/lib trine-{bin,launcher}$(usex x86 
32 64) || die
 }
 
 src_install() {
@@ -56,7 +67,7 @@ src_install() {
                make_desktop_entry ${bb} "Trine ${b}" Trine
        done
 
-       exeinto ${d}/lib${sfx}
+       exeinto ${d}/lib
        doexe lib${sfx}/*
 
        insinto ${d}

Reply via email to