0AD: new recipe (#1852)

disabled for now. some unresolved issues in the PR still stand.
This commit is contained in:
BenjaminAmos
2019-11-15 20:58:41 +00:00
committed by Jérôme Duval
parent d37c28da84
commit 32e9dd25b4
7 changed files with 1811 additions and 0 deletions

View File

@@ -0,0 +1,127 @@
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="bc2db65e09076f8e723c574339e7736b5571d525de3985cbb95ca11f318cc7a8"
SOURCE_DIR="0ad-${portVersion/\~/-}"
PATCHES="0ad-0.0.23-alpha.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

@@ -0,0 +1,127 @@
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

@@ -0,0 +1,82 @@
0 A.D. Licensing Details
==========================
0 A.D. is released as open source: you can freely use, copy, modify and
distribute the game's source code and data files, as long as you include
attribution to Wildfire Games and let anyone freely modify and distribute any
of your own modifications to the game's files.
The distribution includes several different types of files, and a number of
third-party components. The details are described here, based on the directory
structure. For any file, see the longest path name below which is a prefix of
the file's path.
Some files don't yet have licensing details specified - if you care about any
in particular, let us know and we can try to clarify it.
/binaries/data
GPL version 2 (or later) - see license_gpl-2.0.txt
/binaries/data/mods/art
/binaries/data/mods/audio
Creative Commons Attribution-Share Alike 3.0 - see
http://creativecommons.org/licenses/by-sa/3.0/
and also see LICENSE.txt within those directories
/binaries/system
Various (unspecified)
/binaries/system/dbghelp.dll
Proprietary - see license_dbghelp.txt for restrictions you must agree to
before distributing this particular file
/build
Various (unspecified)
/build/premake/premake4
/build/premake/premake5
BSD
/build/premake/*.lua
MIT - see license_mit.txt
/docs
Various (unspecified)
/libraries
Various - see LICENSE.txt within that directory
/source
GPL version 2 (or later) - see license_gpl-2.0.txt
/source/lib
MIT - see license_mit.txt
/source/scriptinterface/third_party
MPL 2.0
/source/third_party/cppformat
BSD
/source/third_party/encryption
GPL version 2 (or later)
ISC (pkcs5_pbkdf2.cpp)
MIT (pkcs5_pbkdf2.h) - see license_mit.txt
/source/third-party/jsonspirit
MIT - see license_mit.txt
/source/third_party/mikktspace
zlib
/source/third_party/mongoose
MIT - see license_mit.txt
/source/third_party/tinygettext
zlib
/source/tools
Various - see LICENSE.txt within that directory
/source/tools/atlas
GPL version 2 (or later) - see license_gpl-2.0.txt

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,29 @@
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="e11b4ade7ede954cbbdc1fe6e2e4b25ac6b8d5a644133b640ffc9b099338a713"
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
}

View File

@@ -0,0 +1,29 @@
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
}

View File

@@ -0,0 +1,82 @@
0 A.D. Licensing Details
==========================
0 A.D. is released as open source: you can freely use, copy, modify and
distribute the game's source code and data files, as long as you include
attribution to Wildfire Games and let anyone freely modify and distribute any
of your own modifications to the game's files.
The distribution includes several different types of files, and a number of
third-party components. The details are described here, based on the directory
structure. For any file, see the longest path name below which is a prefix of
the file's path.
Some files don't yet have licensing details specified - if you care about any
in particular, let us know and we can try to clarify it.
/binaries/data
GPL version 2 (or later) - see license_gpl-2.0.txt
/binaries/data/mods/art
/binaries/data/mods/audio
Creative Commons Attribution-Share Alike 3.0 - see
http://creativecommons.org/licenses/by-sa/3.0/
and also see LICENSE.txt within those directories
/binaries/system
Various (unspecified)
/binaries/system/dbghelp.dll
Proprietary - see license_dbghelp.txt for restrictions you must agree to
before distributing this particular file
/build
Various (unspecified)
/build/premake/premake4
/build/premake/premake5
BSD
/build/premake/*.lua
MIT - see license_mit.txt
/docs
Various (unspecified)
/libraries
Various - see LICENSE.txt within that directory
/source
GPL version 2 (or later) - see license_gpl-2.0.txt
/source/lib
MIT - see license_mit.txt
/source/scriptinterface/third_party
MPL 2.0
/source/third_party/cppformat
BSD
/source/third_party/encryption
GPL version 2 (or later)
ISC (pkcs5_pbkdf2.cpp)
MIT (pkcs5_pbkdf2.h) - see license_mit.txt
/source/third-party/jsonspirit
MIT - see license_mit.txt
/source/third_party/mikktspace
zlib
/source/third_party/mongoose
MIT - see license_mit.txt
/source/third_party/tinygettext
zlib
/source/tools
Various - see LICENSE.txt within that directory
/source/tools/atlas
GPL version 2 (or later) - see license_gpl-2.0.txt