From 966ecde570a2e0897564fc42d61c07369508116d Mon Sep 17 00:00:00 2001 From: taos Date: Mon, 22 Jun 2015 06:51:11 +0200 Subject: [PATCH] adds makeobj-nightly recipe, adds simutrans_pak64-nightly and simutrans_pak128-nightly recipes, updates simutrans_120.0.1, simutrans_nightly, simutrans_pak64-120.0.1, simutrans_pak128-2.5.2 --- .../simutrans/simutrans-120.0.1.recipe | 2 +- .../simutrans/simutrans-nightly.recipe | 4 +- .../simutrans_pak128-2.5.2.recipe | 17 ++--- .../simutrans_pak128-nightly.recipe | 59 ++++++++++++++ .../simutrans_pak64-120.0.1.recipe | 13 ++-- .../simutrans_pak64-nightly.recipe | 62 +++++++++++++++ games-util/makeobj/makeobj-nightly.recipe | 66 ++++++++++++++++ .../makeobj/patches/makeobj-nightly.patchset | 76 +++++++++++++++++++ 8 files changed, 279 insertions(+), 20 deletions(-) create mode 100644 games-simulation/simutrans_pak128/simutrans_pak128-nightly.recipe create mode 100644 games-simulation/simutrans_pak64/simutrans_pak64-nightly.recipe create mode 100644 games-util/makeobj/makeobj-nightly.recipe create mode 100644 games-util/makeobj/patches/makeobj-nightly.patchset diff --git a/games-simulation/simutrans/simutrans-120.0.1.recipe b/games-simulation/simutrans/simutrans-120.0.1.recipe index 780c439e4..8748ba0a1 100644 --- a/games-simulation/simutrans/simutrans-120.0.1.recipe +++ b/games-simulation/simutrans/simutrans-120.0.1.recipe @@ -9,7 +9,7 @@ SRC_URI="http://sourceforge.net/projects/simutrans/files/simutrans/120-0-1/simut CHECKSUM_SHA256="010a6e3765891e1821364e54f6bcdfb2911b627ffca3acae8350e06e53113683" SRC_FILENAME="simutrans-$portVersion.zip" SOURCE_DIR="" -COPYRIGHT=" 1997-2004 Hj. Malthaner +COPYRIGHT="1997-2004 Hj. Malthaner 2005-2014 The Simutrans Team" LICENSE="Artistic" REVISION="1" diff --git a/games-simulation/simutrans/simutrans-nightly.recipe b/games-simulation/simutrans/simutrans-nightly.recipe index 2146f8427..12c3e35ef 100644 --- a/games-simulation/simutrans/simutrans-nightly.recipe +++ b/games-simulation/simutrans/simutrans-nightly.recipe @@ -13,7 +13,7 @@ SRC_URI="svn://tron.yamagi.org/simutrans/simutrans/trunk \ --username=anon --password=" SRC_FILENAME="simutrans-$portVersion" SOURCE_DIR="trunk" -COPYRIGHT=" 1997-2004 Hj. Malthaner +COPYRIGHT="1997-2004 Hj. Malthaner 2005-2015 The Simutrans Team" LICENSE="Artistic" REVISION="1" @@ -35,7 +35,7 @@ REQUIRES=" lib:libz$secondaryArchSuffix lib:libpng$secondaryArchSuffix lib:libbz2$secondaryArchSuffix - simutrans_pakset >= 120.0.1 + simutrans_pakset$secondaryArchSuffix >= 120.0.1 timgmsoundfont " BUILD_REQUIRES=" diff --git a/games-simulation/simutrans_pak128/simutrans_pak128-2.5.2.recipe b/games-simulation/simutrans_pak128/simutrans_pak128-2.5.2.recipe index 13bdc1e46..b3b469bec 100644 --- a/games-simulation/simutrans_pak128/simutrans_pak128-2.5.2.recipe +++ b/games-simulation/simutrans_pak128/simutrans_pak128-2.5.2.recipe @@ -1,10 +1,9 @@ SUMMARY="Pakset for Simutrans" -DESCRIPTION=" -A 'pakset' is the data set that Simutrans needs to run: it contains all \ -the data for the graphics of individual items (vehicles, roads, railways, \ -buildings, etc.) and all of the balancing information (such as prices, \ -speeds, capacities and so forth) necessary to make the game \ -complete. +DESCRIPTION="A 'pakset' is the data set that Simutrans needs to run: \ +it contains all the data for the graphics of individual items (vehicles, \ +roads, railways, buildings, etc.) and all of the balancing information \ +(such as prices, speeds, capacities and so forth) necessary to make \ +the game complete. When Simutrans could only support 64px size graphics, pak128 already \ started. First pak to feature a complex economy and have a very wide \ variety of objects. It contains roughly 7 time more graphics data than \ @@ -15,10 +14,8 @@ SRC_URI="http://sourceforge.net/projects/simutrans/files/pak128/pak128 for RC 12 CHECKSUM_SHA256="556e276cecea950b0434fc289e0c7ebf15df018c7ae35ea8010d3e2008df8b32" SRC_FILENAME="simupak_128-$portVersion.zip" SOURCE_DIR="" -COPYRIGHT=" 2004-2007 Tomas Kubes - 2008-2013 Vladimir Slavik - 2014 Gauthier Nottret - 2009-2014 The pak128-Team" +COPYRIGHT="2004-2007 Tomas Kubes + 2008-2014 The pak128-Team" LICENSE="Artistic" REVISION="1" ARCHITECTURES="any" diff --git a/games-simulation/simutrans_pak128/simutrans_pak128-nightly.recipe b/games-simulation/simutrans_pak128/simutrans_pak128-nightly.recipe new file mode 100644 index 000000000..dc19e9698 --- /dev/null +++ b/games-simulation/simutrans_pak128/simutrans_pak128-nightly.recipe @@ -0,0 +1,59 @@ +SUMMARY="Pakset for Simutrans" +DESCRIPTION="A 'pakset' is the data set that Simutrans needs to run: \ +it contains all the data for the graphics of individual items (vehicles, \ +roads, railways, buildings, etc.) and all of the balancing information \ +(such as prices, speeds, capacities and so forth) necessary to make \ +the game complete. +When Simutrans could only support 64px size graphics, pak128 already \ +started. First pak to feature a complex economy and have a very wide \ +variety of objects. It contains roughly 7 time more graphics data than \ +pak64 and thus requires by far the largest amount of RAM and \ +processing power of all Simutrans sets. +Nightly builds are versions only for debugging and testing. They may contain \ +changes which make your savegames unreadable by any official version, or \ +bugs that will destroy your game, or not even run. They are for bug testing \ +only." +HOMEPAGE="http://www.simutrans.com" +SRC_URI="svn+https://svn.code.sf.net/p/simutrans/code/pak128/" +SRC_FILENAME="simupak_128-$portVersion" +SOURCE_DIR="" +COPYRIGHT="2004-2007 Tomas Kubes + 2008-2015 The pak128-Team" +LICENSE="Artistic" +REVISION="1" +ARCHITECTURES="?x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + simutrans_pak128$secondaryArchSuffix = $portVersion + simutrans_pakset$secondaryArchSuffix = $portVersion compat >= 120.0.1 + " +BUILD_PREREQUIRES=" + cmd:svn + cmd:python + cmd:makeobj$secondaryArchSuffix == 55.4 + " + +GLOBAL_WRITABLE_FILES=" + non-packaged/$relativeAppsDir/simutrans/pak128/config directory keep-old + " +BUILD() +{ + python ./pakmak.py +} + +INSTALL() +{ + mkdir -p $appsDir/simutrans + mkdir -p $prefix/non-packaged/$relativeAppsDir/simutrans/pak128/config + cp -r simutrans $appsDir/ + mv $appsDir/simutrans/pak128/config \ + $prefix/non-packaged/$relativeAppsDir/simutrans/pak128/ + ln -s $prefix/non-packaged/$relativeAppsDir/simutrans/pak128/config \ + $appsDir/simutrans/pak128/config +} \ No newline at end of file diff --git a/games-simulation/simutrans_pak64/simutrans_pak64-120.0.1.recipe b/games-simulation/simutrans_pak64/simutrans_pak64-120.0.1.recipe index 813eeddd3..249f9cc6c 100644 --- a/games-simulation/simutrans_pak64/simutrans_pak64-120.0.1.recipe +++ b/games-simulation/simutrans_pak64/simutrans_pak64-120.0.1.recipe @@ -1,10 +1,9 @@ SUMMARY="Pakset for Simutrans" -DESCRIPTION=" -A 'pakset' is the data set that Simutrans needs to run: it contains all \ -the data for the graphics of individual items (vehicles, roads, railways, \ -buildings, etc.) and all of the balancing information (such as prices, \ -speeds, capacities and so forth) necessary to make the game \ -complete. +DESCRIPTION="A 'pakset' is the data set that Simutrans needs to run: \ +it contains all the data for the graphics of individual items (vehicles, \ +roads, railways, buildings, etc.) and all of the balancing information \ +(such as prices, speeds, capacities and so forth) necessary to make \ +the game complete. Pak64 is the main and a base set for Simutrans developed along with \ Simutrans executable. It always contains the most recent features. It is \ neatly painted pixel by pixel with motherly care. On the other hand it \ @@ -15,7 +14,7 @@ SRC_URI="http://sourceforge.net/projects/simutrans/files/pak64/120-0/simupak64-1 CHECKSUM_SHA256="02a709dfa4b0c22e0b463ebcbd9684548356de1c61566cff9c127a79990dbb78" SRC_FILENAME="simupak_64-$portVersion.zip" SOURCE_DIR="" -COPYRIGHT=" 1997-2004 Hj. Malthaner +COPYRIGHT="1997-2004 Hj. Malthaner 2005-2014 The Simutrans Team" LICENSE="Artistic" REVISION="1" diff --git a/games-simulation/simutrans_pak64/simutrans_pak64-nightly.recipe b/games-simulation/simutrans_pak64/simutrans_pak64-nightly.recipe new file mode 100644 index 000000000..1a0315f35 --- /dev/null +++ b/games-simulation/simutrans_pak64/simutrans_pak64-nightly.recipe @@ -0,0 +1,62 @@ +SUMMARY="Pakset for Simutrans" +DESCRIPTION="A 'pakset' is the data set that Simutrans needs to run: \ +it contains all the data for the graphics of individual items (vehicles, \ +roads, railways, buildings, etc.) and all of the balancing information \ +(such as prices, speeds, capacities and so forth) necessary to make \ +the game complete. +Pak64 is the main and a base set for Simutrans developed along with \ +Simutrans executable. It always contains the most recent features. It is \ +neatly painted pixel by pixel with motherly care. On the other hand it \ +might look too tiny on high resolution displays. Many artists contributed \ +to this pak set, from the 8 bit age on. +Nightly builds are versions only for debugging and testing. They may contain \ +changes which make your savegames unreadable by any official version, or \ +bugs that will destroy your game, or not even run. They are for bug testing \ +only." +HOMEPAGE="http://www.simutrans.com" +SRC_URI="svn+https://svn.code.sf.net/p/simutrans/code/pak64/" +SRC_FILENAME="simupak_64-$portVersion" +SOURCE_DIR="" +COPYRIGHT="1997-2004 Hj. Malthaner + 2005-2015 The Simutrans Team" +LICENSE="Artistic" +REVISION="1" +ARCHITECTURES="?x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + simutrans_pak64$secondaryArchSuffix = $portVersion + simutrans_pakset$secondaryArchSuffix = $portVersion compat >= 120.0.1 + " +BUILD_PREREQUIRES=" + cmd:svn + cmd:make + cmd:find + cmd:makeobj$secondaryArchSuffix == 55.4 + cmd:zip + " + +GLOBAL_WRITABLE_FILES=" + non-packaged/$relativeAppsDir/simutrans/pak/config directory keep-old + " +BUILD() +{ + export MAKEOBJ=makeobj + make $jobArgs +} + +INSTALL() +{ + mkdir -p $appsDir/simutrans + mkdir -p $prefix/non-packaged/$relativeAppsDir/simutrans/pak/config + cp -r simutrans $appsDir/ + mv $appsDir/simutrans/pak/config \ + $prefix/non-packaged/$relativeAppsDir/simutrans/pak/ + ln -s $prefix/non-packaged/$relativeAppsDir/simutrans/pak/config \ + $appsDir/simutrans/pak/config +} diff --git a/games-util/makeobj/makeobj-nightly.recipe b/games-util/makeobj/makeobj-nightly.recipe new file mode 100644 index 000000000..7c78e5760 --- /dev/null +++ b/games-util/makeobj/makeobj-nightly.recipe @@ -0,0 +1,66 @@ +SUMMARY="Tool for creating Simutrans paksets" +DESCRIPTION="Makeobj is a tool for graphics/pakset developers \ +and is not needed for playing the game. +Makeobj joins both the image and the data files in a single \ +compressed pak-file that will then be read by the game engine." +HOMEPAGE="http://www.simutrans.com" +SRC_URI="svn://tron.yamagi.org/simutrans/simutrans/trunk \ + --username=anon --password=" +SRC_FILENAME="simutrans-$portVersion" +SOURCE_DIR="trunk" +COPYRIGHT="1997-2004 Hj. Malthaner + 2005-2015 The Simutrans Team" +LICENSE="Artistic" +REVISION="1" +ARCHITECTURES="?x86 x86_64" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" +PATCHES="makeobj-$portVersion.patchset" +PROVIDES=" + makeobj$secondaryArchSuffix = $portVersion + cmd:makeobj$secondaryArchSuffix = 55.4 + " +REQUIRES=" + haiku$secondaryArchSuffix + gcc_syslibs$secondaryArchSuffix + lib:libz$secondaryArchSuffix + lib:libpng$secondaryArchSuffix + lib:libbz2$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libsdl$secondaryArchSuffix + devel:libz$secondaryArchSuffix + devel:libpng$secondaryArchSuffix + devel:libbz2$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:svn + cmd:autoreconf + cmd:aclocal + cmd:make + cmd:ld$secondaryArchSuffix + cmd:strip$secondaryArchSuffix + cmd:sdl_config$secondaryArchSuffix + cmd:pkg_config$secondaryArchSuffix + " + +BUILD() +{ + autoreconf configure.ac + runConfigure ./configure + make makeobj $jobArgs + strip makeobj/makeobj +} + +INSTALL() +{ + fixPkgconfig + mkdir -p $binDir + cp -r makeobj/makeobj $binDir/ +} diff --git a/games-util/makeobj/patches/makeobj-nightly.patchset b/games-util/makeobj/patches/makeobj-nightly.patchset new file mode 100644 index 000000000..07b314c6b --- /dev/null +++ b/games-util/makeobj/patches/makeobj-nightly.patchset @@ -0,0 +1,76 @@ +From 03547db5cb4f0ee90d5fa739eabbc182c4445772 Mon Sep 17 00:00:00 2001 +From: none +Date: Fri, 29 May 2015 08:17:51 +0200 +Subject: adjust Makefile for Haiku x86_64 and prepare configure.ac for + enabling multithread in Haiku + + +diff --git a/Makefile b/Makefile +index aa0d57b..1df85ca 100644 +--- a/Makefile ++++ b/Makefile +@@ -53,8 +53,7 @@ else + else + # Haiku (needs to activate the GCC 4x) + ifeq ($(OSTYPE),haiku) +- setarch x86 +- LIBS += -lnetwork -lbe -llocale ++ LIBS += -lnetwork -lbe + endif + endif + endif +@@ -114,7 +113,9 @@ ifneq ($(MULTI_THREAD),) + #use lpthreadGC2d for debug alternatively + LDFLAGS += -lpthreadGC2 + else +- LDFLAGS += -lpthread ++ ifneq ($(OSTYPE),haiku) ++ LDFLAGS += -lpthread ++ endif + endif + endif + endif +diff --git a/configure.ac b/configure.ac +index 85d5afd..d1e9b83 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,7 +16,7 @@ AC_CHECK_LIB(bz2, BZ2_bzReadOpen, [], [AC_MSG_WARN([Error, libbz2 is missing!])] + AC_CHECK_LIB(freetype2, load_FT_font, [AC_SUBST(freetype2, '-DUSE_FREETYPE')], [AC_SUBST(freetype2, '')] ) + + # optional (but highly recommended) multithreading +-AC_CHECK_LIB(pthread, pthread_mutex_destroy, [AC_SUBST(multithread, 1)], [AC_SUBST(multithread, 0)] ) ++AC_SEARCH_LIBS(pthread_mutex_destroy, pthread, [AC_SUBST(multithread, 1)], [AC_SUBST(multithread, 0)] ) + + # find OS and backend by libs ... + AC_CHECK_LIB(SDL2, SDL_GetRenderDriverInfo) +diff --git a/simsys.cc b/simsys.cc +index e4dc228..2ef7bac 100644 +--- a/simsys.cc ++++ b/simsys.cc +@@ -7,7 +7,9 @@ + #ifdef __HAIKU__ + #include + #include ++#include + #define NO_UINT32_TYPES ++#define NO_UINT64_TYPES + #endif + + #include "macros.h" +diff --git a/simtypes.h b/simtypes.h +index cedbbec..912e95d 100644 +--- a/simtypes.h ++++ b/simtypes.h +@@ -131,7 +131,9 @@ typedef unsigned long uint32; + #endif + #endif + typedef signed long long sint64; ++#ifndef NO_UINT64_TYPES + typedef unsigned long long uint64; ++#endif + #ifdef _MSC_VER + # define GCC_PACKED + # define GCC_ALIGN(a) +-- +1.8.3.4 +