diff options
author | James Le Cuirot <chewi@gentoo.org> | 2018-03-01 22:03:35 +0000 |
---|---|---|
committer | James Le Cuirot <chewi@gentoo.org> | 2018-03-01 22:03:35 +0000 |
commit | d7096743466c1b9075299f1198a0072c06be69b5 (patch) | |
tree | 3029a45c3cb514dedce22177dc2894e7c8a3531d /games-action | |
parent | profiles: arch/arm64/package.use.mask mask microdns for media-video/vlc until... (diff) | |
download | gentoo-d7096743466c1b9075299f1198a0072c06be69b5.tar.gz gentoo-d7096743466c1b9075299f1198a0072c06be69b5.tar.bz2 gentoo-d7096743466c1b9075299f1198a0072c06be69b5.zip |
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
Diffstat (limited to 'games-action')
-rw-r--r-- | games-action/trine-bin/Manifest | 2 | ||||
-rw-r--r-- | games-action/trine-bin/trine-bin-1.08-r2.ebuild (renamed from games-action/trine-bin/trine-bin-1.08-r1.ebuild) | 51 |
2 files changed, 32 insertions, 21 deletions
diff --git a/games-action/trine-bin/Manifest b/games-action/trine-bin/Manifest index 0362ae96dbc3..dd34b082ffeb 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 index dd00324d01d0..99503c9efac8 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} |