138 lines
3.1 KiB
Bash
138 lines
3.1 KiB
Bash
# Copyright 1999-2015 Gentoo Foundation
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
# $Id$
|
|
|
|
EAPI="5"
|
|
|
|
inherit cdrom eutils games unpacker
|
|
|
|
MY_PN="ssamtfe"
|
|
|
|
DESCRIPTION="Serious Sam: The First Encounter"
|
|
HOMEPAGE="http://www.croteam.com/
|
|
http://www.seriouszone.com/
|
|
http://icculus.org/betas/ssam/"
|
|
SRC_URI="http://icculus.org/betas/ssam/ssam-tfe-lnx-beta1a.run
|
|
http://icculus.org/updates/ssam/${MY_PN}-beta1b.sh.bin
|
|
http://icculus.org/updates/ssam/${MY_PN}-beta2.sh.bin
|
|
http://icculus.org/updates/ssam/${MY_PN}-beta3.sh.bin"
|
|
LICENSE="LOKI-EULA"
|
|
SLOT="0"
|
|
KEYWORDS="-* ~amd64 ~x86"
|
|
RESTRICT="strip"
|
|
IUSE="alsa"
|
|
|
|
RDEPEND="
|
|
>=media-libs/libsdl-1.2.15-r5[X,joystick,opengl,video,abi_x86_32(-)]
|
|
virtual/opengl[abi_x86_32(-)]
|
|
alsa? (
|
|
>=media-libs/libogg-1.3.1[abi_x86_32(-)]
|
|
>=media-libs/libsdl-1.2.15-r5[alsa,sound,abi_x86_32(-)]
|
|
>=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)]
|
|
)
|
|
"
|
|
|
|
DEPEND="games-util/loki_patch"
|
|
|
|
S=${WORKDIR}
|
|
|
|
QA_TEXTRELS="
|
|
opt/ssamtfe/Bin/libGame.so
|
|
opt/ssamtfe/Bin/libEntities.so
|
|
opt/ssamtfe/Bin/libamp11lib.so
|
|
opt/ssamtfe/Bin/libShaders.so
|
|
"
|
|
|
|
QA_FLAGS_IGNORED="
|
|
opt/ssamtfe/Bin/libEntities.so
|
|
opt/ssamtfe/Bin/libGame.so
|
|
opt/ssamtfe/Bin/libamp11lib.so
|
|
opt/ssamtfe/Bin/libShaders.so
|
|
opt/ssamtfe/Bin/ssam_lnxded
|
|
opt/ssamtfe/Bin/ssam_lnxded.dynamic
|
|
opt/ssamtfe/Bin/ssam_lnx.dynamic
|
|
opt/ssamtfe/Bin/ssam_lnx
|
|
"
|
|
|
|
pkg_setup() {
|
|
games_pkg_setup
|
|
|
|
cdrom_get_cds "Install/1_00c.gro"
|
|
}
|
|
|
|
src_unpack() {
|
|
mkdir Mods Levels
|
|
unpack_makeself ssam-tfe-lnx-beta1a.run
|
|
|
|
# Copy files during unpack as the patches below apply to some of them
|
|
einfo "Copying from ${CDROM_ROOT}"
|
|
cp -r "${CDROM_ROOT}/Install"/* . || die "copy from CD failed"
|
|
|
|
nonfatal unpack ./SeriousSamPatch105_USA_linux.tar.bz2
|
|
unpack ./setupstuff.tar.gz
|
|
unpack ./bins.tar.bz2
|
|
|
|
# We need only runscript from bin/ directory
|
|
mv bin/${MY_PN} .
|
|
rm -r bin
|
|
}
|
|
|
|
src_prepare() {
|
|
# Apply the Icculus patches
|
|
local v
|
|
for v in 1b 2 3 ; do
|
|
echo "Unpacking version ${v}"
|
|
unpack_makeself "${MY_PN}-beta${v}.sh.bin"
|
|
loki_patch patch.dat . || die "loki patch ${v} failed"
|
|
rm patch.dat
|
|
done
|
|
|
|
# Remove unneeded files from Loki patches
|
|
rm -r bin
|
|
|
|
# Switch to dynamic executable - runs at sane speeds on modern hardware
|
|
sed -i -e 's;exec "./ssam_lnx";exec "./ssam_lnx.dynamic";' ${MY_PN} \
|
|
|| die "dynamic binary update failed"
|
|
}
|
|
|
|
src_install() {
|
|
local dir=${GAMES_PREFIX_OPT}/${MY_PN}
|
|
|
|
# Remove bundled libs
|
|
rm Bin/{libogg,libvorbis,libvorbisfile}.so
|
|
|
|
# Remove unneeded files
|
|
rm *.{bin,bz2,cab,exe,ex_,ini,gz,sh}
|
|
rm -r data setup* Players Temp
|
|
|
|
# Install icon
|
|
newicon ssam.xpm ${MY_PN}.xpm
|
|
|
|
# Install documentation
|
|
dodoc README*
|
|
|
|
# Install all other files
|
|
insinto "${dir}"
|
|
doins -r *
|
|
|
|
# Install executables and wrapper script
|
|
exeinto "${dir}"
|
|
doexe ${MY_PN}
|
|
exeinto "${dir}"/Bin
|
|
doexe Bin/ssam_lnx*
|
|
|
|
games_make_wrapper ${MY_PN} ./${MY_PN} "${dir}" "${dir}"
|
|
make_desktop_entry ${MY_PN} "Serious Sam - First Encounter" ${MY_PN}
|
|
|
|
# Ensure that file datestamps from the CD are sane
|
|
find "${D}/${dir}" -exec touch '{}' \;
|
|
|
|
prepgamesdirs
|
|
}
|
|
|
|
pkg_postinst() {
|
|
games_pkg_postinst
|
|
|
|
elog "The warning regarding 'XiG-SUNDRY-NONSTANDARD missing' is harmless"
|
|
echo
|
|
}
|