0ad: clean up patchset and recipe

This commit is contained in:
Jérôme Duval
2019-11-16 13:42:57 +01:00
parent 6841d1b2cf
commit e28c5e2f22
5 changed files with 927 additions and 580 deletions

View File

@@ -4,10 +4,10 @@ HOMEPAGE="https://play0ad.com/"
COPYRIGHT="Wildfire Games"
LICENSE="0ADLicense"
REVISION="1"
SOURCE_URI="https://releases.wildfiregames.com/0ad-${portVersion/\~/-}-unix-build.tar.gz"
CHECKSUM_SHA256="bc2db65e09076f8e723c574339e7736b5571d525de3985cbb95ca11f318cc7a8"
SOURCE_URI="https://releases.wildfiregames.com/0ad-${portVersion/\~/-}-unix-build.tar.xz"
CHECKSUM_SHA256="01bff7641ee08cac896c54d518d7e4b01752513105558f212e3199d747512a37"
SOURCE_DIR="0ad-${portVersion/\~/-}"
PATCHES="0ad-0.0.23-alpha.patch"
PATCHES="0ad-$portVersion.patchset"
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="?x86"
@@ -18,31 +18,32 @@ PROVIDES="
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libnspr4$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
libsdl2$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libzlib$secondaryArchSuffix
lib:libminiupnpc$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libsodium$secondaryArchSuffix
lib:libgloox$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix >= 57
lib:libicuuc$secondaryArchSuffix >= 57
boost169$secondaryArchSuffix
lib:libenet$secondaryArchSuffix
lib:libgloox$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
mesa$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix
lib:libicuuc$secondaryArchSuffix
lib:libminiupnpc$secondaryArchSuffix
lib:libnspr4$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libplc4$secondaryArchSuffix
lib:libplds4$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libsodium$secondaryArchSuffix
lib:libvorbisfile$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
0ad_data == $portVersion
"
BUILD_REQUIRES="
boost169${secondaryArchSuffix}_devel
haiku${secondaryArchSuffix}_devel
devel:libboost_system$secondaryArchSuffix >= 1.69
devel:libsdl2$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libnspr4$secondaryArchSuffix
@@ -67,35 +68,26 @@ BUILD_REQUIRES="
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:awk
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:perl
cmd:patch
cmd:python
cmd:cmake
cmd:xargs
cmd:awk
cmd:which
cmd:cat
cmd:perl
cmd:pkg_config$secondaryArchSuffix
cmd:python2
cmd:sed
cmd:which
cmd:xargs
"
PATCH()
{
# HACK: The patch provided for premake4 in the patch file does not apply correctly.
sed -i 's|linkoptions { "-rdynamic" }|linkoptions { "-Wl,--export-dynamic" }|g' build/premake/premake4/premake4.lua
sed -i 's|-rdynamic|-Wl,--export-dynamic|g' build/premake/premake4/build/gmake.unix/Premake4.make
sed -i 's|-ldl| |g' build/premake/premake4/build/gmake.unix/Premake4.make
}
BUILD()
{
cd "build/workspaces/"
./update-workspaces.sh --disable-atlas --minimal-flags --without-pch --datadir=$dataDir/0ad $jobArgs
cd build/workspaces
./update-workspaces.sh --disable-atlas --minimal-flags --without-pch \
--datadir=$dataDir/0ad $jobArgs
cd gcc
make $jobArgs
@@ -103,20 +95,10 @@ BUILD()
INSTALL()
{
mkdir -p $appsDir
mkdir -p $appsDir/0ad
mkdir -p $dataDir
mkdir -p $dataDir/0ad
mkdir -p $appsDir/0ad $dataDir/0ad
cp -R binaries/data/* $dataDir/0ad
cp -R binaries/system/* $appsDir/0ad
# HACK: I don't know of a better way to do this but 0 A.D. expects the exact library name "libminiupnpc.so.16".
# The Miniupnpc API 17 only has a single breaking change over API 16 and that only appears to apply on Windows.
# See http://miniupnp.free.fr/files/changelog.php?file=miniupnpc-2.1.tar.gz for more information.
# HaikuPorts does not have a recipe for miniupnpc API 16.
ln -s /system/lib/x86/libminiupnpc.so.17 $appsDir/0ad/libminiupnpc.so.16
cp -R binaries/system/*.so binaries/system/pyrogenesis $appsDir/0ad
addAppDeskbarSymlink $appsDir/0ad/pyrogenesis "0 A.D."
}

View File

@@ -1,127 +0,0 @@
SUMMARY="O A.D. - Game"
DESCRIPTION="A free, open-source, Real-Time Strategy (RTS) game."
HOMEPAGE="https://play0ad.com/"
COPYRIGHT="Wildfire Games"
LICENSE="0ADLicense"
REVISION="1"
SOURCE_URI="https://releases.wildfiregames.com/0ad-${portVersion/\~/-}-unix-build.tar.gz"
CHECKSUM_SHA256="7659155d3c85c053d6a2f50a07ea7ba69d2ee3337c9b56b78b226f60a3276014"
SOURCE_DIR="0ad-${portVersion/\~/-}"
PATCHES="0ad-${portVersion/\~/-}.patch"
ARCHITECTURES="!x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="?x86"
PROVIDES="
0ad$secondaryArchSuffix = $portVersion
app:0ad$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libnspr4$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
libsdl2$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libzlib$secondaryArchSuffix
lib:libminiupnpc$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libsodium$secondaryArchSuffix
lib:libgloox$secondaryArchSuffix
lib:libicui18n$secondaryArchSuffix >= 57
lib:libicuuc$secondaryArchSuffix >= 57
boost169$secondaryArchSuffix
lib:libenet$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
mesa$secondaryArchSuffix
0ad_data == $portVersion
"
BUILD_REQUIRES="
boost169${secondaryArchSuffix}_devel
devel:libsdl2$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libnspr4$secondaryArchSuffix
devel:libicudata$secondaryArchSuffix
devel:libicui18n$secondaryArchSuffix
devel:libicuio$secondaryArchSuffix
devel:libicutest$secondaryArchSuffix
devel:libicutu$secondaryArchSuffix
devel:libicuuc$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libplc4$secondaryArchSuffix
devel:libplds4$secondaryArchSuffix
devel:libenet$secondaryArchSuffix
devel:libgloox$secondaryArchSuffix
devel:libminiupnpc$secondaryArchSuffix
devel:libsodium$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:gcc$secondaryArchSuffix
cmd:g++$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:perl
cmd:patch
cmd:python
cmd:cmake
cmd:xargs
cmd:awk
cmd:which
cmd:cat
cmd:sed
"
PATCH()
{
# HACK: The patch provided for premake4 in the patch file does not apply correctly.
sed -i 's|linkoptions { "-rdynamic" }|linkoptions { "-Wl,--export-dynamic" }|g' build/premake/premake4/premake4.lua
sed -i 's|-rdynamic|-Wl,--export-dynamic|g' build/premake/premake4/build/gmake.unix/Premake4.make
sed -i 's|-ldl| |g' build/premake/premake4/build/gmake.unix/Premake4.make
}
BUILD()
{
cd "build/workspaces/"
./update-workspaces.sh --disable-atlas --minimal-flags --without-pch --datadir=$dataDir/0ad $jobArgs
cd gcc
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir
mkdir -p $appsDir/0ad
mkdir -p $dataDir
mkdir -p $dataDir/0ad
cp -R binaries/data/* $dataDir/0ad
cp -R binaries/system/* $appsDir/0ad
# HACK: I don't know of a better way to do this but 0 A.D. expects the exact library name "libminiupnpc.so.16".
# The Miniupnpc API 17 only has a single breaking change over API 16 and that only appears to apply on Windows.
# See http://miniupnp.free.fr/files/changelog.php?file=miniupnpc-2.1.tar.gz for more information.
# HaikuPorts does not have a recipe for miniupnpc API 16.
ln -s /system/lib/x86/libminiupnpc.so.17 $appsDir/0ad/libminiupnpc.so.16
addAppDeskbarSymlink $appsDir/0ad/pyrogenesis "0 A.D."
}
TEST()
{
binaries/system/test -libdir "./binaries/system"
}

View File

@@ -14,16 +14,10 @@ DISABLE_SOURCE_PACKAGE="yes"
PROVIDES="
0ad_data = $portVersion
"
BUILD()
{
true
}
"
INSTALL()
{
mkdir -p $dataDir
mkdir -p $dataDir/0ad
cp -R binaries/data/* $dataDir/0ad
}

View File

@@ -1,29 +0,0 @@
SUMMARY="O A.D. - Game Data"
DESCRIPTION="Data for the game 0 A.D."
HOMEPAGE="https://play0ad.com/"
COPYRIGHT="Wildfire Games"
LICENSE="0ADLicense"
REVISION="1"
SOURCE_URI="https://releases.wildfiregames.com/0ad-${portVersion/\~/-}-unix-data.tar.xz"
CHECKSUM_SHA256="fdbf774637252dbedf339fbe29b77d7d585ab53a9a5ddede56dd7b8fda66d8ac"
SOURCE_DIR="0ad-${portVersion/\~/-}"
ARCHITECTURES="?any"
DISABLE_SOURCE_PACKAGE="yes"
PROVIDES="
0ad_data = $portVersion
"
BUILD()
{
true
}
INSTALL()
{
mkdir -p $dataDir
mkdir -p $dataDir/0ad
cp -R binaries/data/* $dataDir/0ad
}