Merged haikuports/haikuports into master

This commit is contained in:
czeidler
2014-05-02 07:23:03 +12:00
8 changed files with 490 additions and 33 deletions

View File

@@ -0,0 +1,81 @@
From f02982020ebc693e0f1c6f10523fa54282a42cce Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Thu, 1 May 2014 13:52:57 +0200
Subject: Fix build on gcc2, add Haiku makefile.
diff --git a/src/GameEngineWrapper.cpp b/src/GameEngineWrapper.cpp
index d3099a8..854d8fb 100644
--- a/src/GameEngineWrapper.cpp
+++ b/src/GameEngineWrapper.cpp
@@ -2416,7 +2416,7 @@ bool GameEngineWrapper::sdlinit()
#endif
// Set the window caption (patch - do not use Unicode on Amiga-like systems which do not support it):
-#if defined(USESDL) && !defined(AMIGOID)
+#if defined(USESDL) && !defined(AMIGOID) && __GNUC__ > 2
SDL_WM_SetCaption( "XAMOS alpha 0.29 \u00a9 2012 Mequa Innovations", NULL ); // \u00a9
#endif
#if defined(USESDL) && defined(AMIGOID)
diff --git a/src/GameEngineWrapper.h b/src/GameEngineWrapper.h
index 60f27c7..c9f2c67 100644
--- a/src/GameEngineWrapper.h
+++ b/src/GameEngineWrapper.h
@@ -46,6 +46,9 @@ using namespace boost;
#if defined(USESDL) && !defined(USEBOOST)
// Deprecated:
+#if __GNUC__ <= 2
+#include <hash_map>
+#else
#include <ext/hash_map>
// TODO - allow hash_map for other compilers besides G++
@@ -54,6 +57,7 @@ using namespace __gnu_cxx;
// Added - fix for hash_map using std::string:
namespace __gnu_cxx //std
{
+#endif
template<> struct hash< std::string >
{
size_t operator()( const std::string& x ) const
@@ -61,8 +65,10 @@ namespace __gnu_cxx //std
return hash< const char* >()( x.c_str() );
}
};
+#if __GNUC__ > 2
}
#endif
+#endif
// Added - detect all Amiga-like systems:
#if !defined(AMIGOID) && (defined(__AROS__) || defined(__MORPHOS__) || defined(__amigaos__) || defined (__amigaos4__))
diff --git a/src/Makefile_haiku b/src/Makefile_haiku
new file mode 100644
index 0000000..25e31e6
--- /dev/null
+++ b/src/Makefile_haiku
@@ -0,0 +1,20 @@
+CC=g++
+
+CFLAGS=-c -Wall -pedantic -Wno-deprecated -O3 -D USESDL
+LDFLAGS=-lSDL_image -lSDL_gfx -lSDL_mixer -ljpeg -lpng -lvorbisfile -lvorbis -logg -lSDL_ttf -lfreetype -lz -lSDL -lGL -lGLU
+
+SOURCES=main.cpp XAMOS.cpp SDL_collide.cpp Console.cpp AMALDebugTest.cpp PrintStream.cpp AMALBank.cpp AMALEnvGen.cpp AMALParser.cpp AMALInterpreter.cpp AMALCompiler.cpp AmalPrograms.cpp Timer.cpp AMOS_Sprite.cpp MequaScript.cpp AMOS_System.cpp GameEngineWrapper.cpp Mytype.cpp Mytypearray.cpp TheTokens.cpp Parser.cpp Dumper.cpp Interpreter.cpp CommandWrapper.cpp ActiveObject.cpp
+OBJECTS=$(SOURCES:.cpp=.o)
+EXECUTABLE=../XAMOS
+
+all: $(SOURCES) $(EXECUTABLE)
+
+$(EXECUTABLE): $(OBJECTS)
+ $(CC) $(OBJECTS) -o $@ $(LDFLAGS)
+
+.cpp.o:
+ $(CC) $(CFLAGS) $< -o $@
+
+clean:
+ rm -rf $(EXECUTABLE) *.o
+
--
1.8.3.4

View File

@@ -0,0 +1,55 @@
SUMMARY="Cross-platform AMOS BASIC reimplementation"
DESCRIPTION="
This project is a complete re-write of jAMOS in C++ using SDL libraries and
(optional) Boost headers.
This initial release is run-only and does not feature an editor at this stage.
However, it is compatible with almost all programs created with the latest
jAMOS editor. All jAMOS examples (without AMAL) are running in XAMOS, often
with a serious speed boost over the Java original, particularly on low-end
platforms.
"
HOMEPAGE="http://sourceforge.net/projects/xamos"
SRC_URI="http://sourceforge.net/projects/xamos/files/XAMOS_src.zip"
CHECKSUM_SHA256="f559794ed7a443f00a21b3c0050e8ee70a9d1340ad41e46a5f87f5238bc7479e"
ARCHITECTURES="x86_gcc2"
LICENSE="BSD (2-clause)"
COPYRIGHT="2012 Mequa Innovations"
REVISION="1"
PROVIDES="
xamos = $portVersion
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
devel:libsdl
devel:sdl_image
devel:sdl_mixer
devel:sdl_ttf
devel:sdl_gfx
devel:libglu
devel:libjpeg
devel:libpng
devel:libvorbisfile
devel:libogg
devel:libfreetype
devel:libz
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc
"
SOURCE_DIR="XAMOS"
PATCHES="xamos-$portVersion.patchset"
BUILD() {
cd src
make -f Makefile_aros
}
INSTALL() {
false
}

View File

@@ -33,12 +33,20 @@ SECONDARY_ARCHITECTURES="x86"
PROVIDES="
libclaw$secondaryArchSuffix = $portVersion
lib:libclaw$secondaryArchSuffix
lib:libclaw_application$secondaryArchSuffix
lib:libclaw_configuration_file$secondaryArchSuffix
lib:libclaw_dynamic_library$secondaryArchSuffix
lib:libclaw_graphic$secondaryArchSuffix
lib:libclaw_logger$secondaryArchSuffix
lib:libclaw_net$secondaryArchSuffix
lib:libclaw_tween$secondaryArchSuffix
cmd:claw_config
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libstdc++$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
@@ -48,15 +56,15 @@ BUILD_REQUIRES="
devel:libjpeg$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
boost_devel${secondaryArchSuffix}
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:cmake
cmd:cmake >= 3.0
cmd:make
cmd:gettext
"
PATCHES="libclaw-$portVersion.patchset"
@@ -70,6 +78,10 @@ INSTALL()
{
make install
prepareInstalledDevelLibs libclaw_application libclaw_configuration_file \
libclaw_dynamic_library libclaw_graphic libclaw_logger libclaw_net \
libclaw_tween
packageEntries devel $developDir $libDir/libclaw/
}
@@ -79,7 +91,13 @@ TEST() {
PROVIDES_devel="
libclaw${secondaryArchSuffix}_devel = $portVersion
devel:libclaw$secondaryArchSuffix
devel:libclaw_application$secondaryArchSuffix
devel:libclaw_configuration_file$secondaryArchSuffix
devel:libclaw_dynamic_library$secondaryArchSuffix
devel:libclaw_graphic$secondaryArchSuffix
devel:libclaw_logger$secondaryArchSuffix
devel:libclaw_net$secondaryArchSuffix
devel:libclaw_tween$secondaryArchSuffix
"
REQUIRES_devel="

View File

@@ -1,4 +1,4 @@
From 3741d051e648f729859cb3957be8cfb35a3263c1 Mon Sep 17 00:00:00 2001
From fa045ed22d1276b0c7deae6f5ca5cf71a58dbe3d Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Apr 2014 18:04:49 +0200
Subject: Add missing include.
@@ -20,7 +20,7 @@ index 16761ab..bc471b0 100644
1.8.3.4
From 5e3860a46838f92828846b2f8408ea2a458ae9b8 Mon Sep 17 00:00:00 2001
From f8da4cf7165d68763faa5f3955c79b2f1fff7e32 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sat, 5 Apr 2014 18:09:50 +0200
Subject: Fix installation paths for Haiku.
@@ -87,3 +87,60 @@ index f0973ac..8de90bd 100644
--
1.8.3.4
From 5850bb81673005cf0101b5470749792989a380eb Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Sun, 6 Apr 2014 14:34:30 +0200
Subject: Fix claw-config to do the right thing.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 66607b0..89f0d4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,19 +28,20 @@ if(SVN_ENTRIES)
endif(SVN_ENTRIES)
if (HAIKU)
-set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/develop/headers/" )
-set( CLAW_INSTALLDIR_DOC data/doc/libclaw${CLAW_VERSION_MAJOR}/ )
-set( CLAW_TRANSLATIONS_INSTALL_DIR "data/locale" )
-set( CLAW_INSTALLDIR_SOURCE develop/headers/claw/ )
+ set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/develop/headers/${CMAKE_HAIKU_SECONDARY_ARCH}" )
+ set( CLAW_INSTALLDIR_DOC data/doc/libclaw${CLAW_VERSION_MAJOR}/ )
+ set( CLAW_TRANSLATIONS_INSTALL_DIR "data/locale" )
+ set( CLAW_INSTALLDIR_SOURCE develop/headers/${CMAKE_HAIKU_SECONDARY_ARCH}/claw/ )
+ set( CLAW_INSTALLDIR_LIB lib/${CMAKE_HAIKU_SECONDARY_ARCH}/ )
else()
-set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include/" )
-set( CLAW_INSTALLDIR_DOC share/doc/libclaw${CLAW_VERSION_MAJOR}/ )
-set( CLAW_TRANSLATIONS_INSTALL_DIR "share/locale" )
-set( CLAW_INSTALLDIR_SOURCE include/claw/ )
+ set( CLAW_INCLUDE_DIRECTORY "${CMAKE_INSTALL_PREFIX}/include/" )
+ set( CLAW_INSTALLDIR_DOC share/doc/libclaw${CLAW_VERSION_MAJOR}/ )
+ set( CLAW_TRANSLATIONS_INSTALL_DIR "share/locale" )
+ set( CLAW_INSTALLDIR_SOURCE include/claw/ )
+ set( CLAW_INSTALLDIR_LIB lib/ )
endif()
set( CLAW_CODE_DIR claw/code/ )
-set( CLAW_INSTALLDIR_LIB lib/ )
set( CLAW_EXECUTABLE_DIR bin/ )
set( CLAW_LIBRARIES
diff --git a/claw-config.in b/claw-config.in
index 73b2b10..c0a8fa5 100755
--- a/claw-config.in
+++ b/claw-config.in
@@ -140,7 +140,7 @@ while test $# -gt 0; do
echo -I$CLAW_INCLUDE_DIRECTORY
;;
--libs)
- libdirs="-L${exec_prefix}/lib "
+ libdirs="-L${exec_prefix}/@CLAW_INSTALLDIR_LIB@ "
echo -n "$libdirs"
echo $(print_libraries)
--
1.8.3.4

View File

@@ -12,26 +12,27 @@ SRC_URI="http://www.thrysoee.dk/editline/libedit-20120601-3.0.tar.gz"
CHECKSUM_SHA256="51f0f4b4a97b7ebab26e7b5c2564c47628cdb3042fd8ba8d0605c719d2541918"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86"
PATCHES="libedit-2012_06_01_3.0.patch"
PROVIDES="
libedit = $portVersion
lib:libedit = 0.0.41 compat >= 0
libedit$secondaryArchSuffix = $portVersion
lib:libedit$secondaryArchSuffix = 0.0.41 compat >= 0
"
REQUIRES="
haiku >= $haikuVersion
lib:libncurses
haiku$secondaryArchSuffix >= $haikuVersion
lib:libncurses$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libncurses
devel:libncurses$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:aclocal
cmd:autoreconf
cmd:gcc
cmd:ld
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:libtoolize
cmd:make
cmd:sed
@@ -63,9 +64,9 @@ INSTALL()
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
libedit_devel = $portVersion
devel:libedit = 0.0.41 compat >= 0
libedit${secondaryArchSuffix}_devel = $portVersion
devel:libedit$secondaryArchSuffix = 0.0.41 compat >= 0
"
REQUIRES_devel="
libedit == $portVersion base
libedit$secondaryArchSuffix == $portVersion base
"

View File

@@ -0,0 +1,112 @@
SUMMARY="Open source web browser engine"
DESCRIPTION="
WebKit is an open source web browser engine. WebKit is also the name of the \
Mac OS X system framework version of the engine that's used by Safari, \
Dashboard, Mail, and many other OS X applications. WebKit's HTML and \
JavaScript code began as a branch of the KHTML and KJS libraries from KDE.
"
HOMEPAGE="http://www.webkit.org/"
COPYRIGHT="1998-2014 Apple Inc., Google Inc., et al"
LICENSE="
GNU LGPL v2
GNU LGPL v2.1
MIT
"
SRC_URI="https://github.com/haiku/webkit/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="a1992fd1001d85d431b469addf62451eccd8d491c14a82b1a4fd478c731aa41d"
SRC_FILENAME="haikuwebkit-$portVersion.tar.gz"
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"
if [ $effectiveTargetArchitecture == x86_64 ]; then
PATCHES="haikuwebkit-1.2.5.patchset"
fi
PROVIDES="
haikuwebkit$secondaryArchSuffix = $portVersion
lib:libWebKit$secondaryArchSuffix = $portVersion
cmd:jsc$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libicuuc$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:libpng$secondaryArchSuffix
lib:libsqlite3$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libxslt$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
haiku_devel >= $haikuVersion
devel:libicuuc$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libsqlite3$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libxslt$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libavcodec$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:pkg_config
cmd:flex
cmd:bison
cmd:gcc$secondaryArchSuffix
cmd:gperf
cmd:ld$secondaryArchSuffix
cmd:m4
cmd:make
cmd:perl
cmd:python
cmd:cmake
cmd:ruby
"
SOURCE_DIR="webkit-$portVersion"
BUILD()
{
export PKG_CONFIG_LIBDIR="`finddir B_SYSTEM_DIRECTORY`/$relativeDevelopLibDir/pkgconfig"
Tools/Scripts/build-webkit --haiku --no-webkit2 \
--cmakeargs="-DCMAKE_INSTALL_PREFIX=$prefix"
}
INSTALL()
{
cd WebKitBuild/Release
make install
rm $developLibDir/*
prepareInstalledDevelLibs libWebKit
# devel package
packageEntries devel \
$developDir
}
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
haikuwebkit${secondaryArchSuffix}_devel = $portVersion
devel:libjavascriptcore$secondaryArchSuffix = $portVersion
devel:libwebcore$secondaryArchSuffix = $portVersion
devel:libWebKit$secondaryArchSuffix = $portVersion
devel:libwtf$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
haikuwebkit$secondaryArchSuffix == $portVersion base
"

View File

@@ -1,33 +1,161 @@
SUMMARY="Audio and video recording, conversion, and streaming library"
DESCRIPTION="
FFmpeg is a complete, cross-platform solution to record, convert and stream \
audio and video. It includes libavcodec - the leading audio/video codec library.
"
HOMEPAGE="http://www.ffmpeg.org"
LICENSE="
GNU LGPL v2.1
GNU GPL v2
"
COPYRIGHT="
2000-2003 Fabrice Bellard
2003-2012 the FFmpeg developers
"
SRC_URI="http://www.ffmpeg.org/releases/ffmpeg-0.11.1.tar.bz2"
CHECKSUM_MD5="ff8cb914f657e164dd60ea1008b555a8"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="media-libs/libogg >= 1.3.0
media-libs/speex >= 1.2rc1
media-libs/libtheora >= 1.1.0
media-libs/libvorbis >= 1.3.2
media-libs/libvpx >= 1.0.0"
ARCHITECTURES="x86"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
ffmpeg$secondaryArchSuffix = $portVersion compat >= 0.11
lib:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53
lib:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53
lib:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2
lib:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53
lib:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51
lib:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0
lib:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2
"
if [ -z "$secondaryArchSuffix" ]; then
PROVIDES="$PROVIDES
cmd:ffmpeg = $portVersion compat >= 0.11
cmd:ffprobe = $portVersion compat >= 0.11
cmd:ffserver = $portVersion compat >= 0.11
"
fi
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libbz2$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libspeex$secondaryArchSuffix
lib:libtheoradec$secondaryArchSuffix
lib:libtheoraenc$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libvorbisenc$secondaryArchSuffix
lib:libvpx$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libbz2$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libspeex$secondaryArchSuffix
devel:libtheora$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libvpx$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:awk
cmd:make
cmd:perl
cmd:pkg_config
cmd:texi2html
cmd:yasm
"
GLOBAL_WRITABLE_FILES="
settings/ffserver.conf
"
PATCH()
{
# patch hard-coded config file path
sed -i "s,/etc/ffserver.conf,$sysconfDir/ffserver.conf," \
ffserver.c \
doc/ffserver.texi
# patch hard-coded paths to perl
sed -i "s,/usr/bin/perl,$portPackageLinksDir/cmd~perl/bin/perl," \
Doxyfile \
doc/texi2pod.pl
}
BUILD()
{
cd ffmpeg-0.11.1
./configure --prefix=`finddir B_COMMON_DIRECTORY` --disable-debug --enable-shared \
--enable-libvorbis --enable-libspeex --enable-libtheora --enable-libvpx \
--datadir=`finddir B_COMMON_DATA_DIRECTORY`
make
# not an auto tools configure
./configure \
--prefix=$prefix \
--bindir=$binDir \
--datadir=$dataDir/$portName \
--incdir=$includeDir \
--libdir=$libDir \
--shlibdir=$libDir \
--mandir=$manDir \
--disable-debug \
--enable-shared \
--enable-libvorbis \
--enable-libspeex \
--enable-libtheora \
--enable-libvpx
make $jobArgs
}
INSTALL()
{
cd ffmpeg-0.11.1
make install
rm $binDir/ffprobe
# TODO: Determine and fix what is wrong with ffprobe! The executable
# seems to be broken. The NEEDED entries in the dynamic section look
# weird and the runtime loader fails relocating with "Operation not
# allowed".
prepareInstalledDevelLibs \
libavcodec \
libavdevice \
libavfilter \
libavformat \
libavutil \
libswresample \
libswscale
fixPkgconfig
# include the documented ffserver.conf
mkdir -p $docDir
cp doc/ffserver.conf $docDir
# devel package
packageEntries devel \
$developDir
# Remove stuff we don't need in the secondary architecture base package.
if [ -n "$secondaryArchSuffix" ]; then
rm -rf $prefix/bin
rm -rf $documentationDir
fi
}
LICENSE="GNU LGPL v2.1
GNU GPL v2"
COPYRIGHT="2000-2003 Fabrice Bellard
2003-2012 the FFmpeg developers"
# ----- devel package -------------------------------------------------------
PROVIDES_devel="
ffmpeg${secondaryArchSuffix}_devel = $portVersion compat >= 0.11
devel:libavcodec$secondaryArchSuffix = 53.61.100 compat >= 53
devel:libavdevice$secondaryArchSuffix = 53.4.100 compat >= 53
devel:libavfilter$secondaryArchSuffix = 2.61.100 compat >= 2
devel:libavformat$secondaryArchSuffix = 53.32.100 compat >= 53
devel:libavutil$secondaryArchSuffix = 51.35.100 compat >= 51
devel:libswresample$secondaryArchSuffix = 0.6.100 compat >= 0
devel:libswscale$secondaryArchSuffix = 2.1.100 compat >= 2
"
REQUIRES_devel="
ffmpeg$secondaryArchSuffix == $portVersion
"

View File

@@ -88,3 +88,8 @@ INSTALL()
{
make install
}
TEST()
{
make check
}