forked from hasufell/hasufell-repository
games-strategy/openra: initial import of versoin 20150919
This commit is contained in:
parent
7127867b4a
commit
bfebb0042b
163
packages/games-strategy/openra/openra-20150919.exheres-0
Normal file
163
packages/games-strategy/openra/openra-20150919.exheres-0
Normal file
@ -0,0 +1,163 @@
|
||||
# Copyright 2015-2016 Julian Ospald <hasufell@posteo.de>
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
require gtk-icon-cache freedesktop-desktop freedesktop-mime
|
||||
|
||||
SUMMARY="A free RTS engine supporting games like Command & Conquer and Red Alert"
|
||||
HOMEPAGE="http://www.openra.net/"
|
||||
DOWNLOADS="https://github.com/OpenRA/OpenRA/archive/release-${PV}.tar.gz -> ${PNV}.tar.gz"
|
||||
|
||||
NG_SRC="https://nuget.org/api/v2/package"
|
||||
# 3rd party deps
|
||||
StyleCopPlus_MSBuild="${NG_SRC}/StyleCopPlus.MSBuild/4.7.49.5 -> StyleCopPlus_MSBuild-4.7.49.5.zip"
|
||||
StyleCop_MSBuild="${NG_SRC}/StyleCop.MSBuild/4.7.49.0 -> StyleCop_MSBuild-4.7.49.0.zip"
|
||||
SharpZipLib="${NG_SRC}/SharpZipLib/0.86.0 -> SharpZipLib-0.86.0.zip"
|
||||
MaxMind_Db="${NG_SRC}/MaxMind.Db/1.0.0.0 -> MaxMind_Db-1.0.0.0.zip"
|
||||
Newtonsoft_Json="${NG_SRC}/Newtonsoft.Json/6.0.5 -> Newtonsoft_Json-6.0.5.zip"
|
||||
RestSharp="${NG_SRC}/RestSharp/105.0.1 -> RestSharp-105.0.1.zip"
|
||||
MaxMind_GeoIP2="${NG_SRC}/MaxMind.GeoIP2/2.1.0 -> MaxMind_GeoIP2-2.1.0.zip"
|
||||
SharpFont="${NG_SRC}/SharpFont/3.0.1 -> SharpFont-3.0.1.zip"
|
||||
NUnit="${NG_SRC}/NUnit/2.6.4 -> NUnit-2.6.4.zip"
|
||||
Mono_Nat="${NG_SRC}/Mono.Nat/1.2.21 -> Mono_Nat-1.2.21.zip"
|
||||
FuzzyLogicLibrary="${NG_SRC}/FuzzyLogicLibrary/1.2.0 -> FuzzyLogicLibrary-1.2.0.zip"
|
||||
SDL2CS="https://github.com/OpenRA/SDL2-CS/releases/download/20150709/SDL2-CS.dll -> SDL2-CS.dll.20150709"
|
||||
Eluant="https://github.com/OpenRA/Eluant/releases/download/20140425/Eluant.dll -> Eluant.dll.20140425"
|
||||
# unfortunately, this may randomly change
|
||||
GEO_IP_DB="http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz -> GeoLite2-Country-2015-10-18.mmdb.gz"
|
||||
|
||||
DOWNLOADS="${DOWNLOADS}
|
||||
${StyleCopPlus_MSBuild}
|
||||
${StyleCop_MSBuild}
|
||||
${SharpZipLib}
|
||||
${MaxMind_Db}
|
||||
${Newtonsoft_Json}
|
||||
${RestSharp}
|
||||
${MaxMind_GeoIP2}
|
||||
${SharpFont}
|
||||
${NUnit}
|
||||
${Mono_Nat}
|
||||
${FuzzyLogicLibrary}
|
||||
${SDL2CS}
|
||||
${Eluant}
|
||||
${GEO_IP_DB}
|
||||
"
|
||||
|
||||
LICENCES="GPL-3"
|
||||
SLOT="0"
|
||||
PLATFORMS="~amd64 ~x86"
|
||||
|
||||
MYOPTIONS="
|
||||
( providers: ijg-jpeg jpeg-turbo ) [[ number-selected = exactly-one ]]
|
||||
"
|
||||
|
||||
LUA_SLOT="5.1"
|
||||
DEPENDENCIES="
|
||||
build+run:
|
||||
dev-dotnet/libgdiplus
|
||||
dev-lang/lua:${LUA_SLOT}
|
||||
dev-lang/mono[>=3.2]
|
||||
media-libs/freetype:2
|
||||
media-libs/SDL:2[X]
|
||||
media-libs/openal
|
||||
x11-dri/mesa
|
||||
providers:ijg-jpeg? ( media-libs/jpeg )
|
||||
providers:jpeg-turbo? ( media-libs/libjpeg-turbo )
|
||||
build:
|
||||
virtual/unzip
|
||||
"
|
||||
|
||||
WORK=${WORKBASE}/OpenRA-release-${PV}
|
||||
|
||||
src_unpack() {
|
||||
unpack ${PNV}.tar.gz
|
||||
|
||||
# this is pure crapshit, but it will successfully die
|
||||
# if upstream has added/changed files
|
||||
edo cd "${WORK}"/thirdparty
|
||||
edo sed -i \
|
||||
-e 's/get()/furz()/' \
|
||||
-e 's|curl |: |' \
|
||||
fetch-thirdparty-deps.sh
|
||||
|
||||
edo mkdir "${WORK}"/thirdparty/download
|
||||
get() {
|
||||
# don't add dies here
|
||||
local archive="${1/./_}"
|
||||
local version="${2}"
|
||||
mkdir -p "${WORK}"/thirdparty/download/${1}
|
||||
unzip -o -qq "${FETCHEDDIR}"/${archive}-${version}.zip \
|
||||
-d "${WORK}"/thirdparty/download/${1}
|
||||
}
|
||||
export -f get
|
||||
edo ./fetch-thirdparty-deps.sh
|
||||
unset get
|
||||
edo cd "${WORK}"/thirdparty/download
|
||||
edo cp "${FETCHEDDIR}"/${SDL2CS##* } ./SDL2-CS.dll
|
||||
edo cp "${FETCHEDDIR}"/${Eluant##* } ./Eluant.dll
|
||||
edo cp "${FETCHEDDIR}"/${GEO_IP_DB##* } ./GeoLite2-Country.mmdb.gz
|
||||
}
|
||||
|
||||
src_configure() { :; }
|
||||
|
||||
src_prepare() {
|
||||
# register game-version
|
||||
emake VERSION="${PV}" version
|
||||
|
||||
edo sed \
|
||||
-e "s/@LIBLUA51@/liblua${LUA_SLOT}.so/" \
|
||||
"${WORK}"/thirdparty/Eluant.dll.config.in > Eluant.dll.config
|
||||
|
||||
edo cd "${WORK}"/thirdparty/download
|
||||
edo cp *.dll *.dll.config GeoLite2-Country.mmdb.gz "${WORK}"/
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
emake VERSION="${PV}" core tools
|
||||
}
|
||||
|
||||
install_desktop_entry() {
|
||||
local cmd=$1
|
||||
local name=$2
|
||||
insinto /usr/share/applications
|
||||
hereins ${PN}.desktop <<EOF
|
||||
[Desktop Entry]
|
||||
Name=${name}
|
||||
Type=Application
|
||||
Comment=A free RTS engine supporting games like Command & Conquer and Red Alert
|
||||
Exec=${cmd}
|
||||
TryExec=openra
|
||||
Icon=openra
|
||||
Categories=Game;StrategyGame;
|
||||
EOF
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake \
|
||||
datadir="/usr/share" \
|
||||
bindir="/usr/$(exhost --target)/bin" \
|
||||
libdir="/usr/$(exhost --target)/libexec" \
|
||||
VERSION="${PV}" \
|
||||
DESTDIR="${IMAGE}" \
|
||||
install-all install-linux-scripts install-linux-mime install-linux-icons
|
||||
|
||||
exeinto /usr/$(exhost --target)/libexec/openra
|
||||
doexe Eluant.dll.config
|
||||
|
||||
# desktop entries
|
||||
install_desktop_entry "${PN} Game.Mods=cnc" "OpenRA CNC" ${PN}
|
||||
install_desktop_entry "${PN} Game.Mods=ra" "OpenRA RA" ${PN}
|
||||
install_desktop_entry "${PN} Game.Mods=d2k" "OpenRA Dune2k" ${PN}
|
||||
install_desktop_entry "${PN}-editor" "OpenRA Map Editor" ${PN}
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gtk-icon-cache_pkg_postinst
|
||||
freedesktop-mime_pkg_postinst
|
||||
freedesktop-desktop_pkg_postinst
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gtk-icon-cache_pkg_postrm
|
||||
freedesktop-desktop_pkg_postrm
|
||||
freedesktop-mime_pkg_postrm
|
||||
}
|
Loading…
Reference in New Issue
Block a user