diff options
Diffstat (limited to 'games-fps/serious-sam-tse')
-rw-r--r-- | games-fps/serious-sam-tse/Manifest | 3 | ||||
-rw-r--r-- | games-fps/serious-sam-tse/metadata.xml | 5 | ||||
-rw-r--r-- | games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild | 136 |
3 files changed, 144 insertions, 0 deletions
diff --git a/games-fps/serious-sam-tse/Manifest b/games-fps/serious-sam-tse/Manifest new file mode 100644 index 000000000000..8a4c991a0a41 --- /dev/null +++ b/games-fps/serious-sam-tse/Manifest @@ -0,0 +1,3 @@ +DIST ssamtse-beta1.sh.bin 7952607 BLAKE2B 775c5f22b5c2d8418e69a6ac9d8e46f7f3d958108900ca0bc2135a889b4ee34d4d6528b2dfbe1de343fc8cd28af3f0d86cc764014875d8bb4d7a32ee55f361ea SHA512 43f07fbaef0bf8f90644a748931220331ed5f9179412e5a37daf0472aa98c5bb2455148c54254eae1af0b38ba8a3fde9c310cd8d488ea6b2806fa0f6fb1e1644 +EBUILD serious-sam-tse-1_beta1-r1.ebuild 4698 BLAKE2B 9632ec11724b4e81e05225cf680201f44513ab3725d7e6d70e21ba9a2fe8f245627c03a8a0ccacb6aec7e19df385980e1e47d86216791b641440a173bac153aa SHA512 f9d5b86d18d3cd1257ad087445a0bd45c088fd0376a367e89aa3c1236d3d7fe29929cfb4945dcf2dcfe126faf37635295263f688a185fdf514ef47b8a172c571 +MISC metadata.xml 167 BLAKE2B e4dadf27fd344484f2bccb5b904909c89aac568c32e5b3c44bdf139eacefd4b4fae74419f503d2b7da0dccc1b68ba05d777d11292c0f89270d1ac5c9c703e8ca SHA512 7c8decb24ee3a850e38186cf3c7f8933a28017426806870ad6ef9ceb2533be147a2681fc789b535a81cb528af8c29d90d3006e4f250aee23bd7dea4561294e33 diff --git a/games-fps/serious-sam-tse/metadata.xml b/games-fps/serious-sam-tse/metadata.xml new file mode 100644 index 000000000000..7a38bb900964 --- /dev/null +++ b/games-fps/serious-sam-tse/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> +</pkgmetadata> diff --git a/games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild b/games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild new file mode 100644 index 000000000000..f2ebf0bb2038 --- /dev/null +++ b/games-fps/serious-sam-tse/serious-sam-tse-1_beta1-r1.ebuild @@ -0,0 +1,136 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit cdrom eutils versionator unpacker + +# MY_PV will be e.g. "beta1" +MY_PN="ssamtse" +MY_PV=$(get_version_component_range 2-2) + +DESCRIPTION="Serious Sam: The Second Encounter" +HOMEPAGE="http://www.croteam.com/ + http://www.seriouszone.com/" +SRC_URI="http://icculus.org/betas/ssam/${MY_PN}-${MY_PV}.sh.bin" + +LICENSE="LOKI-EULA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +RESTRICT="strip" +IUSE="alsa" + +DEPEND=">=app-arch/unshield-0.6" +RDEPEND=" + >=media-libs/libogg-1.3.1[abi_x86_32(-)] + >=media-libs/libsdl-1.2.15-r5[X,joystick,opengl,video,abi_x86_32(-)] + virtual/opengl[abi_x86_32(-)] + alsa? ( + >=media-libs/libsdl-1.2.15-r5[alsa,sound,abi_x86_32(-)] + >=media-libs/libvorbis-1.3.3-r1[abi_x86_32(-)] + ) +" + +S=${WORKDIR} + +QA_TEXTRELS=" +opt/ssamtse/Bin/libEntitiesMP.so +opt/ssamtse/Bin/libGameMP.so +opt/ssamtse/Bin/libamp11lib.so +opt/ssamtse/Bin/libShaders.so +" + +QA_FLAGS_IGNORED=" +opt/ssamtse/Bin/libEntitiesMP.so +opt/ssamtse/Bin/libGameMP.so +opt/ssamtse/Bin/libamp11lib.so +opt/ssamtse/Bin/libShaders.so +opt/ssamtse/Bin/ssam_lnxded +opt/ssamtse/Bin/ssam_lnxded.dynamic +opt/ssamtse/Bin/ssam_lnx.dynamic +opt/ssamtse/Bin/ssam_lnx +" + +pkg_setup() { + cdrom_get_cds "Install/SE1_00.gro" +} + +src_unpack() { + mkdir Levels Mods + + unpack_makeself "${MY_PN}-${MY_PV}.sh.bin" + unpack ./setupstuff.tar.gz + unpack ./bins.tar.bz2 +} + +src_prepare() { + # Switch to dynamic executable - runs at sane speeds on modern hardware + sed -i -e 's;exec "./ssam_lnx";exec "./ssam_lnx.dynamic";' bin/${MY_PN} \ + || die "dynamic binary update failed" +} + +src_install() { + local dir="/opt/${MY_PN}" + + # Remove bundled libs + rm -f Bin/{libogg.so,libvorbis.so,libvorbisfile.so} || die "failed to remove bundled libs" + + einfo "Copying from ${CDROM_ROOT}" + insinto "${dir}" + doins -r "${CDROM_ROOT}"/Install/* || die "doins CD failed" + + # Correct paths of copied resource files + mv "${D}/${dir}"/Locales/eng/Controls/* "${D}/${dir}"/Controls/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Data/Var/* "${D}/${dir}"/Data/Var/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Demos/* "${D}/${dir}"/Demos/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Help/* "${D}/${dir}"/Help/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Mods/Warped/Scripts/Addons/WarpedTweak.des "${D}/${dir}"/Mods/Warped/Scripts/Addons/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Mods/Warped/Readme.html "${D}/${dir}"/Mods/Warped/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Mods/*.des "${D}/${dir}"/Mods/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Scripts/Addons/* "${D}/${dir}"/Scripts/Addons/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Scripts/CustomOptions/* "${D}/${dir}"/Scripts/CustomOptions/ || die "Failed to move file" + mv "${D}/${dir}"/Locales/eng/Scripts/NetSettings/* "${D}/${dir}"/Scripts/NetSettings/ || die "Failed to move file" + rm -rf "${D}/${dir}"/Locales || die "failed to removed Locales dir" + + # The data CABs contain optional multiplayer maps in the "Levels" directory + einfo "Extracting additional levels" + unshield x "${D}/${dir}"/data1.cab >/dev/null || die "unshield data1.cab failed" + rm "${D}/${dir}"/data?.cab || die "Failed to remove cab" + + # Correct paths of extracted levels + mv Levels/Levels/LevelsMP/* Levels/LevelsMP/ || die "Failed to move file" + rm -rf Levels/Levels || die "Failed to remove dir" + mv Levels/LevelsMP/Technology/* Levels/ || die "Failed to move file" + rmdir Levels/LevelsMP/Technology || die "Failed to remove dir" + mv Levels/Mods/Warped/ Mods/ || die "Failed to move file" + rmdir Levels/Mods/ || die "Failed to remove dir" + + doins -r Bin Data Levels Mods *.txt README* \ + || die "doins main failed" + + # Install bins last to ensure they are marked executable + exeinto "${dir}" + doexe bin/${MY_PN} + exeinto "${dir}"/Bin + doexe Bin/{ssam_lnx*,*.so} + + # Remove useless Windows files + rm -rf "${D}/${dir}/Bin"/{*.exe,*.dll,*.DLL,GameSpy} || die "Failed to remove windows cruft" + rm -f "${D}/${dir}"/{*.exe,*.ex_,*.bmp,*.inx,*.hdr,*.bin} || die "Failed to remove windows cruft" + + dodoc README.linux + + newicon ssam.xpm ${MY_PN}.xpm + make_wrapper ${MY_PN} ./${MY_PN} "${dir}" "${dir}" + make_desktop_entry ${MY_PN} "Serious Sam - Second Encounter" ${MY_PN} + + # Ensure that file datestamps from the CD are sane + find "${D}/${dir}" -exec touch '{}' \; || die "touch failed" +} + +pkg_postinst() { + elog "The warning regarding 'XiG-SUNDRY-NONSTANDARD missing' is harmless." + elog "Important information about the Linux port is at:" + elog " http://files.seriouszone.com/download.php?fileid=616" + echo +} |