This commit is contained in:
Jim
2015-01-25 21:23:55 -08:00
70 changed files with 6150 additions and 2452 deletions

54
app-misc/jq/jq-1.4.recipe Normal file
View File

@@ -0,0 +1,54 @@
SUMMARY="A lightweight and flexible command-line JSON processor"
DESCRIPTION="jq is like sed for JSON data you can use it to slice \
and filter and map and transform structured data with the same ease \
that sed, awk, grep and friends let you play with text. \
It is written in portable C, and it has zero runtime dependencies. \
You can download a single binary, scp it to a far away machine, \
and expect it to work. It can mangle the data format that you have into \
the one that you want with very little effort, and the program to do so \
is often shorter and simpler than youd expect.
"
HOMEPAGE="http://stedolan.github.io/jq/"
SRC_URI="http://stedolan.github.io/jq/download/source/jq-1.4.tar.gz"
CHECKSUM_SHA256="998c41babeb57b4304e65b4eb73094279b3ab1e63801b6b4bddd487ce009b39d"
REVISION="1"
LICENSE="MIT"
COPYRIGHT="2012 Stephen Dolan"
ARCHITECTURES="x86"
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="
jq = $portVersion
cmd:jq${secondaryArchSuffix} = $portVersion
"
REQUIRES="
haiku${secondaryArchSuffix}
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc${secondaryArchSuffix}
cmd:awk
"
BUILD()
{
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
mkdir -p $binDir
cp -a jq $binDir
}

View File

@@ -1,55 +0,0 @@
diff -aur zsh-5.0.0.org/configure.ac zsh-5.0.0/configure.ac
--- zsh-5.0.0.org/configure.ac 2012-06-21 20:36:03.034865152 +0200
+++ zsh-5.0.0/configure.ac 2012-11-04 20:38:45.770703360 +0100
@@ -796,8 +796,8 @@
AC_CHECK_LIB(cap, cap_get_proc)
fi
-AC_CHECK_LIB(socket, socket)
-AC_SEARCH_LIBS(gethostbyname2, bind)
+AC_SEARCH_LIBS(socket, socket network)
+AC_SEARCH_LIBS(gethostbyname2, bind network)
case $LIBS in
*-lbind*)
diff -aur zsh-5.0.0.org/Functions/Newuser/zsh-newuser-install zsh-5.0.0/Functions/Newuser/zsh-newuser-install
--- zsh-5.0.0.org/Functions/Newuser/zsh-newuser-install 2010-08-12 21:09:05.037224448 +0200
+++ zsh-5.0.0/Functions/Newuser/zsh-newuser-install 2012-11-04 20:37:13.598736896 +0100
@@ -10,14 +10,17 @@
# How the function will be referred to.
local myname=zsh-newuser-install
-# Quick test not requiring any setting up.
-# Don't run if we're root. (These variables are provided by the shell.)
-if (( EUID == 0 || UID == 0 )); then
- if [[ $1 = -f ]]; then
- print -r "$myname: won't run as root. Read the manual." >&2
- fi
- return 1
-fi
+# Haiku OS specific: We want to perform newuser configuration for
+# zero UID too! ;-) So we have to disable it by patch.
+##
+## Quick test not requiring any setting up.
+## Don't run if we're root. (These variables are provided by the shell.)
+#if (( EUID == 0 || UID == 0 )); then
+# if [[ $1 = -f ]]; then
+# print -r "$myname: won't run as root. Read the manual." >&2
+# fi
+# return 1
+#fi
# clear is missing in some Cygwin configurations (lacking ncurses)
if ! ( clear >/dev/null 2>/dev/null ); then
diff -aur zsh-5.0.0.org/Src/prototypes.h zsh-5.0.0/Src/prototypes.h
--- zsh-5.0.0.org/Src/prototypes.h 2011-05-03 20:38:21.027000832 +0200
+++ zsh-5.0.0/Src/prototypes.h 2012-11-04 21:07:23.734789632 +0100
@@ -40,7 +40,7 @@
* TBD: we'd much prefer to get hold of the header where
* these are defined.
*/
-#ifdef _AIX
+#if defined(_AIX) || defined(__HAIKU__)
#define TC_CONST const
#else
#define TC_CONST

View File

@@ -1,32 +0,0 @@
SUMMARY="Zsh is a UNIX command interpreter (shell)"
DESCRIPTION="
Zsh is a shell designed for interactive use, although it is also a powerful \
scripting language. Many of the useful features of bash, ksh, and tcsh were \
incorporated into zsh; many original features were added.
"
HOMEPAGE="http://www.zsh.org"
SRC_URI="http://sourceforge.net/projects/zsh/files/zsh/5.0.0/zsh-5.0.0.tar.bz2/download"
REVISION="1"
CHECKSUM_MD5="e8484468925cec8d9a84b8b04797e764"
STATUS_HAIKU="unstable"
DEPEND=""
BUILD()
{
cd zsh-5.0.0
autoconf
COMMON_DOCS=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--datadir=`finddir B_COMMON_DATA_DIRECTORY` \
--mandir=$COMMON_DOCS/man \
--infodir=$COMMON_DOCS/info \
LIBS="-lgnu"
make
}
INSTALL()
{
cd zsh-5.0.0
make install
}
LICENSE="ZSH"
COPYRIGHT="(c) 1992-2009 Paul Falstad, Richard Coleman, Zoltán Hidvégi, Andrew Main, Peter Stephenson, Sven Wishnowsky, and others."

View File

@@ -1,21 +1,21 @@
SUMMARY="Zsh is a UNIX command interpreter (shell)"
DESCRIPTION="
Zsh is a shell designed for interactive use, although it is also a powerful \
scripting language. Many of the useful features of bash, ksh, and tcsh were \
incorporated into zsh; many original features were added.
"
DESCRIPTION="Zsh is a shell designed for interactive use, although it \
is also a powerful scripting language. Many of the useful features of \
bash, ksh, and tcsh were incorporated into zsh; many original features \
were added."
HOMEPAGE="http://www.zsh.org"
LICENSE="ZSH"
COPYRIGHT="1992-2013, Paul Falstad, Richard Coleman, Zoltán Hidvégi, Andrew Main, Peter Stephenson, Sven Wishnowsky, and others."
SRC_URI="http://sourceforge.net/projects/zsh/files/zsh/5.0.2/zsh-5.0.2.tar.bz2"
CHECKSUM_SHA256="eb220ae5a8076191ec6b4c6a5a2f18122d074a19f25b45f0320b44b8166c5a03"
COPYRIGHT="1992-2014, Paul Falstad, Richard Coleman, Zoltán Hidvégi, Andrew Main, Peter Stephenson, Sven Wishnowsky, and others."
SRC_URI="http://sourceforge.net/projects/zsh/files/zsh/$portVersion/zsh-$portVersion.tar.bz2"
CHECKSUM_SHA256="544e27de81740286b916d1d77c9f48ad7c26ad7943ed96d278abee67cf6704b3"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PATCHES="zsh-5.0.2.patchset"
PATCHES="zsh-$portVersion.patchset"
PROVIDES="
zsh = $portVersion compat >= 5
cmd:zsh = $portVersion compat >= 5
cmd:zsh_$portVersion = $portVersion compat >= 5
cmd:sh
"
REQUIRES="
haiku
@@ -38,12 +38,13 @@ BUILD_PREREQUIRES="
BUILD()
{
runConfigure ./configure
make
make $jobArgs
}
INSTALL()
{
make install
ln -s zsh $binDir/sh
}
TEST()

View File

@@ -0,0 +1,62 @@
From c1c5b8d4e142a48abb28f2c9bb81f2e170e3f564 Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Mon, 19 Jan 2015 17:49:37 -0500
Subject: [PATCH] Make xmlif compatible with POSIX.
---
xmlif/xmlif.l | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/xmlif/xmlif.l b/xmlif/xmlif.l
index 0a11cdf..a6efe97 100644
--- a/xmlif/xmlif.l
+++ b/xmlif/xmlif.l
@@ -46,22 +46,22 @@ static int nselections; /* number of selections */
static ifsense; /* sense of last `if' or unless seen */
static char *attribute; /* last attribute scanned */
-struct stack_t {
+struct stack_type {
int matched; /* matched at current level */
int suppressed; /* suppressed branch? */
- struct stack_t *up;
+ struct stack_type *up;
};
-static struct stack_t head, *end = &head;
+static struct stack_type head, *end = &head;
static void push_level(void)
/* create activation record for the current level */
{
- struct stack_t *newelt;
+ struct stack_type *newelt;
#ifdef DEBUG
fprintf(stderr, "{push_level()}");
#endif /* DEBUG */
- newelt = (struct stack_t *)malloc(sizeof(struct stack_t));
+ newelt = (struct stack_type *)malloc(sizeof(struct stack_type));
newelt->up = end;
end = newelt;
@@ -72,7 +72,7 @@ static void push_level(void)
static void pop_level(void)
/* delete activation record for the current level */
{
- struct stack_t *up = end->up;
+ struct stack_type *up = end->up;
#ifdef DEBUG
fprintf(stderr, "{pop_level()}");
@@ -96,7 +96,7 @@ static void stash_attribute(char *attr)
static void end_attribute(void)
/* we've seen all the attributes of a conditional, process them now */
{
- struct stack_t *up;
+ struct stack_type *up;
if (attribute)
free(attribute);
--
1.8.3.4

View File

@@ -0,0 +1,52 @@
SUMMARY="Shell-script tool for converting XML files to various formats"
DESCRIPTION="xmlto is a shell-script tool for converting XML files to \
various formats. At the moment it supports conversion from docbook, \
xhtml1 and fo format to various output formats (awt, fo, htmlhelp, \
javahelp, mif, pdf, svg, xhtml, dvi, html, html-nochunks, man, \
pcl, ps, txt, xhtml-nochunks, epub). It uses \
passivetex(default)/fop/dblatex for processing, just provides easy \
to use command line frontend to make fine output without remembering \
many long options and searching for syntax. "
HOMEPAGE="https://fedorahosted.org/xmlto/"
SRC_URI="https://fedorahosted.org/releases/x/m/xmlto/xmlto-$portVersion.tar.gz"
CHECKSUM_SHA256="cfd8d2a26077be1d5566dfe22dd66099ae4f4600dea97d6e113a2cc5b8708977"
PATCHES="xmlto-$portVersion.patch"
REVISION="1"
COPYRIGHT="2009 Tim Waugh
2013 Ondrej Vasik"
LICENSE="GNU GPL v2"
ARCHITECTURES="x86 x86_gcc2 x86_64"
PROVIDES="
xmlto = $portVersion compat >= 0
cmd:xmlto
cmd:xmlif
"
REQUIRES="
haiku
cmd:getopt
cmd:xmllint
cmd:xsltproc
"
BUILD_PREREQUIRES="
haiku_devel
cmd:gcc
cmd:awk
cmd:getopt
cmd:flex
cmd:make
"
BUILD()
{
runConfigure --omit-dirs binDir ./configure --bindir=$prefix/bin
make $jobArgs
}
INSTALL()
{
make install
}

View File

@@ -0,0 +1,68 @@
SUMMARY="Minimum XML Library"
DESCRIPTION=" Mini-XML is a small XML parsing library that you can \
use to read XML and XML-like data files in your application without \
requiring large non-standard libraries."
HOMEPAGE="http://www.minixml.org/index.php"
SRC_URI="http://www.msweet.org/files/project3/mxml-2.9.tar.gz"
CHECKSUM_SHA256="cded54653c584b24c4a78a7fa1b3b4377d49ac4f451ddf170ebbc8161d85ff92"
SOURCE_DIR="mxml-2.9"
REVISION="2"
LICENSE="GNU LGPL v2"
COPYRIGHT="2003-2014 Michael R Sweet"
ARCHITECTURES="!x86_gcc2 !x86 !x86_64"
SECONDARY_ARCHITECTURES="!x86_gcc2 !x86"
PROVIDES="
mxml$secondaryArchSuffix = $portVersion
lib:mxml$secondaryArchSuffix = $portVersion
"
#PROVIDES_devel="
# mxml${secondaryArchSuffix}_devel >= $portVersion
# devel:mxml$secondaryArchSuffix >= $portVersion
# "
REQUIRES="
haiku$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
#REQUIRES_devel="
# haiku${secondaryArchSuffix}_devel
# "
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:libtoolize
cmd:make
# cmd:aclocal
# cmd:automake
cmd:autoconf
cmd:mkdepend
cmd:gcc${secondaryArchSuffix}
cmd:ld${secondaryArchSuffix}
"
PATCHES="mxml-2.9.patchset
"
BUILD()
{
libtoolize -fci
autoconf
runConfigure ./configure --enable-shared
sed -i "s|LIBS = -pthread|LIBS=|" $sourceDir/Makefile
make $jobArgs
}
INSTALL()
{
make install
# prepareInstalledDevelLibs \
# libmxml
# packageEntries devel \
# $developDir
}

View File

@@ -0,0 +1,28 @@
From e15adf9b52db905f16349ecefa2785443d16fdfd Mon Sep 17 00:00:00 2001
From: Derek Tse <arrestrose@gmail.com>
Date: Sun, 18 Jan 2015 04:09:22 +0000
Subject: Fixed configure
diff --git a/configure.in b/configure.in
index de1bf8b..7d3494d 100644
--- a/configure.in
+++ b/configure.in
@@ -207,6 +207,14 @@ if test x$enable_shared != xno; then
DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-R\$(libdir) -shared \$(OPTIM)"
LDFLAGS="$LDFLAGS -Wl,-R\$(libdir)"
;;
+
+ Haiku*)
+ AC_MSG_RESULT(yes)
+ LIBMXML="libmxml.so.1.5"
+ DSO="\$(CC)"
+ DSOFLAGS="$DSOFLAGS -Wl,-soname,libmxml.so.1,-R\$(libdir) -shared \$(OPTIM)"
+ LDFLAGS="$LDFLAGS -Wl,-R\$(libdir)"
+ ;;
Darwin*)
AC_MSG_RESULT(yes)
--
1.8.3.4

View File

@@ -1,90 +0,0 @@
SUMMARY="Implementation of the Caml language"
DESCRIPTION="
Caml is a general-purpose programming language, designed with program safety \
and reliability in mind. It is very expressive, yet easy to learn and use. \
Caml supports functional, imperative, and object-oriented programming styles. \
It has been developed and distributed by INRIA, a French research institute in \
computer science and applied mathematics, since 1985.
The OCaml system is the main implementation of the Caml language. It features \
a powerful module system and a full-fledged object-oriented layer. It comes \
with a native-code compiler that supports numerous architectures, for high \
performance; a bytecode compiler, for increased portability; and an \
interactive loop, for experimentation and rapid development.
"
LICENSE="GNU LGPL v2"
COPYRIGHT="1996-2012 Institut National de Recherche en Informatique et en Automatique (INRIA)."
HOMEPAGE="http://caml.inria.fr/index.en.html"
SRC_URI="http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00.0.tar.gz"
CHECKSUM_SHA256="9ea5544538144811b5fd9c7172d63abc0d1c6ba6b64d2c60474807fc57ad4c6e"
REVISION="1"
ARCHITECTURES="?x86 ?x86_gcc2"
SOURCE_DIR="ocaml-4.00.0"
PROVIDES="
ocaml = $portVersion compat >= 4
cmd:camlp4 = $portVersion compat >= 4
cmd:camlp4boot = $portVersion compat >= 4
cmd:camlp4o = $portVersion compat >= 4
cmd:camlp4o.opt = $portVersion compat >= 4
cmd:camlp4of = $portVersion compat >= 4
cmd:camlp4of.opt = $portVersion compat >= 4
cmd:camlp4oof = $portVersion compat >= 4
cmd:camlp4oof.opt = $portVersion compat >= 4
cmd:camlp4orf = $portVersion compat >= 4
cmd:camlp4orf.opt = $portVersion compat >= 4
cmd:camlp4prof = $portVersion compat >= 4
cmd:camlp4r = $portVersion compat >= 4
cmd:camlp4r.opt = $portVersion compat >= 4
cmd:camlp4rf = $portVersion compat >= 4
cmd:camlp4rf.opt = $portVersion compat >= 4
cmd:mkcamlp4 = $portVersion compat >= 4
cmd:ocaml = $portVersion compat >= 4
cmd:ocamlbuild = $portVersion compat >= 4
cmd:ocamlbuild.byte = $portVersion compat >= 4
cmd:ocamlbuild.native = $portVersion compat >= 4
cmd:ocamlc = $portVersion compat >= 4
cmd:ocamlc.opt = $portVersion compat >= 4
cmd:ocamlcp = $portVersion compat >= 4
cmd:ocamldebug = $portVersion compat >= 4
cmd:ocamldep = $portVersion compat >= 4
cmd:ocamldep.opt = $portVersion compat >= 4
cmd:ocamldoc = $portVersion compat >= 4
cmd:ocamldoc.opt = $portVersion compat >= 4
cmd:ocamllex = $portVersion compat >= 4
cmd:ocamllex.opt = $portVersion compat >= 4
cmd:ocamlmklib = $portVersion compat >= 4
cmd:ocamlmktop = $portVersion compat >= 4
cmd:ocamlobjinfo = $portVersion compat >= 4
cmd:ocamlopt = $portVersion compat >= 4
cmd:ocamlopt.opt = $portVersion compat >= 4
cmd:ocamloptp = $portVersion compat >= 4
cmd:ocamlprof = $portVersion compat >= 4
cmd:ocamlrun = $portVersion compat >= 4
cmd:ocamlyacc = $portVersion compat >= 4
"
REQUIRES="
haiku
cmd:gcc
"
BUILD_PREREQUIRES="
haiku_devel
cmd:make
cmd:gcc
"
PATCHES="ocaml-4.00.0.patchset"
BUILD()
{
./configure --prefix $prefix \
--mandir $manDir
make world.opt
}
INSTALL()
{
make install
}

View File

@@ -13,13 +13,13 @@ interactive loop, for experimentation and rapid development.
"
LICENSE="GNU LGPL v2"
COPYRIGHT="1996-2013 Institut National de Recherche en Informatique et en Automatique (INRIA)."
HOMEPAGE="http://caml.inria.fr/index.en.html"
SRC_URI="http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01.0.tar.gz"
HOMEPAGE="http://caml.inria.fr/index.en.html"
SRC_URI="http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-$portVersion.tar.gz"
CHECKSUM_SHA256="ea1751deff454f5c738d10d8a0ad135afee0852d391cf95766b726c0faf7cfdb"
REVISION="1"
ARCHITECTURES="x86 ?x86_gcc2 x86_64"
ARCHITECTURES="x86 x86_gcc2 x86_64"
SOURCE_DIR="ocaml-4.01.0"
PATCHES="ocaml-$portVersion.patchset"
PROVIDES="
ocaml = $portVersion compat >= 4
@@ -78,13 +78,11 @@ BUILD_PREREQUIRES="
cmd:xargs
"
PATCHES="ocaml-4.01.0.patchset"
BUILD()
{
./configure --prefix $prefix \
--mandir $manDir
make world.opt
make world.opt
}
INSTALL()

View File

@@ -1,70 +0,0 @@
From 392fc2240718d68c1e0ce62cc11c1e894ba2cd95 Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Wed, 30 Oct 2013 21:35:40 -0600
Subject: import old patch
diff --git a/configure b/configure
index e08bbce..a39e9e4 100755
--- a/configure
+++ b/configure
@@ -285,6 +285,10 @@ case "$bytecc,$host" in
bytecccompopts="-fno-defer-pop $gcc_warnings"
# No -lm library
mathlib="";;
+ *,*-*-haiku*)
+ bytecccompopts="-fno-defer-pop $gcc_warnings"
+ # No -lm library
+ mathlib="";;
gcc,alpha*-*-osf*)
bytecccompopts="-fno-defer-pop $gcc_warnings"
if cc="$bytecc" sh ./hasgot -mieee; then
@@ -614,6 +618,9 @@ if test $withsharedlibs = "yes"; then
byteccrpath="-Wl,-rpath,"
mksharedlibrpath="-Wl,-rpath,"
shared_libraries_supported=true;;
+ *-*haiku*)
+ mksharedlib="$bytecc -shared"
+ shared_libraries_supported=true;;
esac
fi
@@ -679,6 +686,7 @@ case "$host" in
arch=i386; system=solaris
fi;;
i[3456]86-*-beos*) arch=i386; system=beos;;
+ i[3456]86-*-haiku*) arch=i386; system=beos;;
i[3456]86-*-cygwin*) arch=i386; system=cygwin;;
i[3456]86-*-darwin*) if $arch64; then
arch=amd64; system=macosx
@@ -901,6 +909,11 @@ elif sh ./hasgot -lnsl -lsocket socket socketpair bind listen accept connect; th
cclibs="$cclibs -lnsl -lsocket"
echo "#define HAS_SOCKETS" >> s.h
has_sockets=yes
+elif sh ./hasgot -lnetwork socket socketpair bind listen accept connect; then
+ echo "You have BSD sockets (with libraries '-lnetwork')"
+ cclibs="$cclibs -lnetwork"
+ echo "#define HAS_SOCKETS" >> s.h
+ has_sockets=yes
fi
if sh ./hasgot -i sys/socket.h -t socklen_t; then
diff --git a/otherlibs/unix/nice.c b/otherlibs/unix/nice.c
index 400543c..94aa025 100644
--- a/otherlibs/unix/nice.c
+++ b/otherlibs/unix/nice.c
@@ -24,7 +24,11 @@ CAMLprim value unix_nice(value incr)
{
int ret;
errno = 0;
+#ifdef __HAIKU__
+ ret = 0;
+#else
ret = nice(Int_val(incr));
+#endif
if (ret == -1 && errno != 0) uerror("nice", Nothing);
return Val_int(ret);
}
--
1.8.3.4

View File

@@ -1,27 +0,0 @@
diff -urN php-5.3.1/configure.in php-5.3.1-haiku/configure.in
--- php-5.3.1/configure.in 2009-11-18 19:43:33.000000000 +0000
+++ php-5.3.1-haiku/configure.in 2009-11-28 07:39:12.000000000 +0000
@@ -392,6 +392,11 @@
PHP_CHECK_FUNC(gethostbyaddr, nsl)
PHP_CHECK_FUNC(yp_get_default_domain, nsl)
+PHP_CHECK_FUNC(socket, network)
+PHP_CHECK_FUNC(socketpair, network)
+PHP_CHECK_FUNC(gethostname, network)
+PHP_CHECK_FUNC(gethostbyaddr, network)
+
PHP_CHECK_FUNC(dlopen, dl)
if test "$ac_cv_func_dlopen" = "yes"; then
AC_DEFINE(HAVE_LIBDL, 1, [ ])
diff -urN php-5.3.1/ext/standard/microtime.c php-5.3.1-haiku/ext/standard/microtime.c
--- php-5.3.1/ext/standard/microtime.c 2009-05-21 14:21:40.000000000 +0000
+++ php-5.3.1-haiku/ext/standard/microtime.c 2009-11-28 07:39:20.000000000 +0000
@@ -131,7 +131,7 @@
array_init(return_value);
#define PHP_RUSAGE_PARA(a) \
add_assoc_long(return_value, #a, usg.a)
-#if !defined( _OSD_POSIX) && !defined(__BEOS__) /* BS2000 has only a few fields in the rusage struct */
+#if !defined( _OSD_POSIX) && !defined(__BEOS__) && !defined(__HAIKU__)/* BS2000 has only a few fields in the rusage struct */
PHP_RUSAGE_PARA(ru_oublock);
PHP_RUSAGE_PARA(ru_inblock);
PHP_RUSAGE_PARA(ru_msgsnd);

View File

@@ -1,103 +0,0 @@
diff -urN php-5.3.5/configure.in php-5.3.5-haiku/configure.in
--- php-5.3.5/configure.in 2011-01-05 16:35:33.016515072 +0000
+++ php-5.3.5-haiku/configure.in 2011-02-04 13:58:33.000000000 +0000
@@ -1,7 +1,7 @@
## $Id: configure.in 307133 2011-01-05 16:35:33Z johannes $ -*- autoconf -*-
dnl ## Process this file with autoconf to produce a configure script.
-divert(1)
+divert(1001)
dnl ## Diversion 1 is the autoconf + automake setup phase. We also
dnl ## set the PHP version, deal with platform-specific compile
@@ -290,7 +290,7 @@
sinclude(TSRM/tsrm.m4)
-divert(2)
+divert(1002)
dnl ## Diversion 2 is where we set PHP-specific options and come up
dnl ## with reasonable default values for them. We check for pthreads here
@@ -329,7 +329,7 @@
PTHREADS_FLAGS
fi
-divert(3)
+divert(1003)
dnl ## In diversion 3 we check for compile-time options to the PHP
dnl ## core and how to deal with different system dependencies.
@@ -675,7 +675,7 @@
PHP_CRYPT_R_STYLE
fi
-divert(4)
+divert(1004)
dnl ## In diversion 4 we check user-configurable general settings.
@@ -916,7 +916,7 @@
AC_MSG_RESULT([using system default])
fi
-divert(5)
+divert(1005)
dnl ## In diversion 5 we check which extensions should be compiled.
dnl ## All of these are normally in the extension directories.
diff -urN php-5.3.5/ext/date/php_date.c php-5.3.5-haiku/ext/date/php_date.c
--- php-5.3.5/ext/date/php_date.c 2010-11-18 11:33:42.044302336 +0000
+++ php-5.3.5-haiku/ext/date/php_date.c 2011-02-04 14:09:21.000000000 +0000
@@ -33,7 +33,7 @@
#ifdef PHP_WIN32
static __inline __int64 php_date_llabs( __int64 i ) { return i >= 0? i: -i; }
-#elif defined(__GNUC__) && __GNUC__ < 3
+#elif (defined(__GNUC__) && __GNUC__ < 3) && (!defined __HAIKU__)
static __inline __int64_t php_date_llabs( __int64_t i ) { return i >= 0 ? i : -i; }
#else
static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i; }
diff -urN php-5.3.5/ext/standard/config.m4 php-5.3.5-haiku/ext/standard/config.m4
--- php-5.3.5/ext/standard/config.m4 2010-06-17 10:22:03.023592960 +0000
+++ php-5.3.5-haiku/ext/standard/config.m4 2011-02-04 13:58:33.000000000 +0000
@@ -1,6 +1,6 @@
dnl $Id: config.m4 300511 2010-06-17 10:22:03Z pajoye $ -*- autoconf -*-
-divert(3)dnl
+divert(1003)dnl
dnl
dnl Check if flush should be called explicitly after buffered io
@@ -342,7 +342,7 @@
AC_CHECK_FUNCS(getcwd getwd asinh acosh atanh log1p hypot glob strfmon nice fpclass isinf isnan mempcpy strpncpy)
AC_FUNC_FNMATCH
-divert(5)dnl
+divert(1005)dnl
dnl
dnl Check if there is a support means of creating a new process
diff -urN php-5.3.5/ext/standard/microtime.c php-5.3.5-haiku/ext/standard/microtime.c
--- php-5.3.5/ext/standard/microtime.c 2010-01-03 09:23:27.029097984 +0000
+++ php-5.3.5-haiku/ext/standard/microtime.c 2011-02-04 14:18:46.000000000 +0000
@@ -131,7 +131,7 @@
array_init(return_value);
#define PHP_RUSAGE_PARA(a) \
add_assoc_long(return_value, #a, usg.a)
-#if !defined( _OSD_POSIX) && !defined(__BEOS__) /* BS2000 has only a few fields in the rusage struct */
+#if !defined( _OSD_POSIX) && !defined(__BEOS__) & !defined(__HAIKU__)/* BS2000 has only a few fields in the rusage struct */
PHP_RUSAGE_PARA(ru_oublock);
PHP_RUSAGE_PARA(ru_inblock);
PHP_RUSAGE_PARA(ru_msgsnd);
diff -urN php-5.3.5/scripts/phpize.m4 php-5.3.5-haiku/scripts/phpize.m4
--- php-5.3.5/scripts/phpize.m4 2010-11-02 09:58:08.015204352 +0000
+++ php-5.3.5-haiku/scripts/phpize.m4 2011-02-04 13:58:33.000000000 +0000
@@ -1,6 +1,6 @@
dnl This file becomes configure.in for self-contained extensions.
-divert(1)
+divert(1001)
AC_PREREQ(2.13)
AC_INIT(config.m4)

View File

@@ -1,35 +0,0 @@
From 252717d13be2d08cfc4546b0135b01e35f4e8082 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Mon, 20 Oct 2014 11:29:08 +0200
Subject: Fix build on Haiku.
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 92e9480..0172809 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -33,8 +33,6 @@
#ifdef PHP_WIN32
static __inline __int64 php_date_llabs( __int64 i ) { return i >= 0? i: -i; }
-#elif defined(__GNUC__) && __GNUC__ < 3
-static __inline __int64_t php_date_llabs( __int64_t i ) { return i >= 0 ? i : -i; }
#else
static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i; }
#endif
diff --git a/ext/standard/microtime.c b/ext/standard/microtime.c
index fe22366..14298fb 100644
--- a/ext/standard/microtime.c
+++ b/ext/standard/microtime.c
@@ -131,7 +131,7 @@ PHP_FUNCTION(getrusage)
array_init(return_value);
#define PHP_RUSAGE_PARA(a) \
add_assoc_long(return_value, #a, usg.a)
-#if !defined( _OSD_POSIX) && !defined(__BEOS__) /* BS2000 has only a few fields in the rusage struct */
+#if !defined( _OSD_POSIX) && !defined(__BEOS__) && !defined(__HAIKU__) /* BS2000 has only a few fields in the rusage struct */
PHP_RUSAGE_PARA(ru_oublock);
PHP_RUSAGE_PARA(ru_inblock);
PHP_RUSAGE_PARA(ru_msgsnd);
--
1.8.3.4

View File

@@ -1,35 +0,0 @@
From ab052deefe2d7bb24449c4f0c2baf536551ef43c Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Fri, 17 Oct 2014 13:22:16 +0200
Subject: port php 5.3 patch from 2011.
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index 64a40a2..6b0d782 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -33,8 +33,6 @@
#ifdef PHP_WIN32
static __inline __int64 php_date_llabs( __int64 i ) { return i >= 0? i: -i; }
-#elif defined(__GNUC__) && __GNUC__ < 3
-static __inline __int64_t php_date_llabs( __int64_t i ) { return i >= 0 ? i : -i; }
#else
static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i; }
#endif
diff --git a/ext/standard/microtime.c b/ext/standard/microtime.c
index fe22366..14298fb 100644
--- a/ext/standard/microtime.c
+++ b/ext/standard/microtime.c
@@ -131,7 +131,7 @@ PHP_FUNCTION(getrusage)
array_init(return_value);
#define PHP_RUSAGE_PARA(a) \
add_assoc_long(return_value, #a, usg.a)
-#if !defined( _OSD_POSIX) && !defined(__BEOS__) /* BS2000 has only a few fields in the rusage struct */
+#if !defined( _OSD_POSIX) && !defined(__BEOS__) && !defined(__HAIKU__) /* BS2000 has only a few fields in the rusage struct */
PHP_RUSAGE_PARA(ru_oublock);
PHP_RUSAGE_PARA(ru_inblock);
PHP_RUSAGE_PARA(ru_msgsnd);
--
1.8.3.4

View File

@@ -0,0 +1,186 @@
From a6c749bea2f66db568d9868e302fc030f1ce1980 Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Thu, 15 Jan 2015 20:35:37 -0500
Subject: [PATCH] php: fixes to work on Haiku.
C code changes by Adrien, build system changes by me.
---
acinclude.m4 | 2 +-
aclocal.m4 | 2 +-
ext/curl/config.m4 | 6 +++---
ext/date/php_date.c | 2 --
ext/gd/config.m4 | 12 ++++++------
ext/standard/microtime.c | 2 +-
ext/zip/config.m4 | 8 ++++----
ext/zlib/config0.m4 | 10 +++++-----
8 files changed, 21 insertions(+), 23 deletions(-)
diff --git a/acinclude.m4 b/acinclude.m4
index 81dc0db..42dca5e 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -762,7 +762,7 @@ AC_DEFUN([PHP_REQUIRE_CXX],[
if test -z "$php_cxx_done"; then
AC_PROG_CXX
AC_PROG_CXXCPP
- PHP_ADD_LIBRARY(stdc++)
+ PHP_ADD_LIBRARY(stdc++.r4)
php_cxx_done=yes
fi
])
diff --git a/aclocal.m4 b/aclocal.m4
index 189149f..390dd21 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -762,7 +762,7 @@ AC_DEFUN([PHP_REQUIRE_CXX],[
if test -z "$php_cxx_done"; then
AC_PROG_CXX
AC_PROG_CXXCPP
- PHP_ADD_LIBRARY(stdc++)
+ PHP_ADD_LIBRARY(stdc++.r4)
php_cxx_done=yes
fi
])
diff --git a/ext/curl/config.m4 b/ext/curl/config.m4
index 2f82c34..07b940e 100644
--- a/ext/curl/config.m4
+++ b/ext/curl/config.m4
@@ -10,8 +10,8 @@ if test "$PHP_CURL" != "no"; then
CURL_DIR=$PHP_CURL
else
AC_MSG_CHECKING(for cURL in default path)
- for i in /usr/local /usr; do
- if test -r $i/include/curl/easy.h; then
+ for i in /usr/local /usr /system; do
+ if test -r $i/develop/headers/curl/easy.h; then
CURL_DIR=$i
AC_MSG_RESULT(found in $i)
break
@@ -22,7 +22,7 @@ if test "$PHP_CURL" != "no"; then
if test -z "$CURL_DIR"; then
AC_MSG_RESULT(not found)
AC_MSG_ERROR(Please reinstall the libcurl distribution -
- easy.h should be in <curl-dir>/include/curl/)
+ easy.h should be in <curl-dir>/develop/headers/curl/)
fi
CURL_CONFIG="curl-config"
diff --git a/ext/date/php_date.c b/ext/date/php_date.c
index bf29a56..17d2446 100644
--- a/ext/date/php_date.c
+++ b/ext/date/php_date.c
@@ -33,8 +33,6 @@
#ifdef PHP_WIN32
static __inline __int64 php_date_llabs( __int64 i ) { return i >= 0? i: -i; }
-#elif defined(__GNUC__) && __GNUC__ < 3
-static __inline __int64_t php_date_llabs( __int64_t i ) { return i >= 0 ? i : -i; }
#else
static inline long long php_date_llabs( long long i ) { return i >= 0 ? i : -i; }
#endif
diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
index 446c242..e81cc94 100644
--- a/ext/gd/config.m4
+++ b/ext/gd/config.m4
@@ -50,12 +50,12 @@ dnl
AC_DEFUN([PHP_GD_ZLIB],[
if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then
- if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then
+ if test -f "$PHP_ZLIB_DIR/develop/headers/zlib/zlib.h"; then
PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib"
- elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then
+ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/develop/headers/zlib"
+ elif test -f "$PHP_ZLIB_DIR/develop/headers/zlib.h"; then
PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include"
+ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/develop/headers"
else
AC_MSG_ERROR([Can't find zlib headers under "$PHP_ZLIB_DIR"])
fi
@@ -102,7 +102,7 @@ AC_DEFUN([PHP_GD_JPEG],[
if test "$PHP_JPEG_DIR" != "no"; then
for i in $PHP_JPEG_DIR /usr/local /usr; do
- test -f $i/include/jpeglib.h && GD_JPEG_DIR=$i && break
+ test -f $i/develop/headers/jpeglib.h && GD_JPEG_DIR=$i && break
done
if test -z "$GD_JPEG_DIR"; then
@@ -127,7 +127,7 @@ AC_DEFUN([PHP_GD_PNG],[
if test "$PHP_PNG_DIR" != "no"; then
for i in $PHP_PNG_DIR /usr/local /usr; do
- test -f $i/include/png.h && GD_PNG_DIR=$i && break
+ test -f $i/develop/headers/png.h && GD_PNG_DIR=$i && break
done
if test -z "$GD_PNG_DIR"; then
diff --git a/ext/standard/microtime.c b/ext/standard/microtime.c
index fe22366..14298fb 100644
--- a/ext/standard/microtime.c
+++ b/ext/standard/microtime.c
@@ -131,7 +131,7 @@ PHP_FUNCTION(getrusage)
array_init(return_value);
#define PHP_RUSAGE_PARA(a) \
add_assoc_long(return_value, #a, usg.a)
-#if !defined( _OSD_POSIX) && !defined(__BEOS__) /* BS2000 has only a few fields in the rusage struct */
+#if !defined( _OSD_POSIX) && !defined(__BEOS__) && !defined(__HAIKU__) /* BS2000 has only a few fields in the rusage struct */
PHP_RUSAGE_PARA(ru_oublock);
PHP_RUSAGE_PARA(ru_inblock);
PHP_RUSAGE_PARA(ru_msgsnd);
diff --git a/ext/zip/config.m4 b/ext/zip/config.m4
index a21ad2d..c6dad41 100644
--- a/ext/zip/config.m4
+++ b/ext/zip/config.m4
@@ -20,12 +20,12 @@ if test "$PHP_ZIP" != "no"; then
dnl libzip, depends on zlib
if test "$PHP_ZLIB_DIR" != "no" && test "$PHP_ZLIB_DIR" != "yes"; then
- if test -f "$PHP_ZLIB_DIR/include/zlib/zlib.h"; then
+ if test -f "$PHP_ZLIB_DIR/develop/headers/zlib/zlib.h"; then
PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include/zlib"
- elif test -f "$PHP_ZLIB_DIR/include/zlib.h"; then
+ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/develop/headers/zlib"
+ elif test -f "$PHP_ZLIB_DIR/develop/headers/zlib.h"; then
PHP_ZLIB_DIR="$PHP_ZLIB_DIR"
- PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/include"
+ PHP_ZLIB_INCDIR="$PHP_ZLIB_DIR/develop/headers"
else
AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"])
fi
diff --git a/ext/zlib/config0.m4 b/ext/zlib/config0.m4
index ebf67cc..607f6df 100644
--- a/ext/zlib/config0.m4
+++ b/ext/zlib/config0.m4
@@ -22,12 +22,12 @@ if test "$PHP_ZLIB" != "no" || test "$PHP_ZLIB_DIR" != "no"; then
fi
else
for i in /usr/local /usr $PHP_ZLIB_DIR; do
- if test -f $i/include/zlib/zlib.h; then
+ if test -f $i/develop/headers/zlib/zlib.h; then
ZLIB_DIR=$i
- ZLIB_INCDIR=$i/include/zlib
- elif test -f $i/include/zlib.h; then
+ ZLIB_INCDIR=$i/develop/headers/zlib
+ elif test -f $i/develop/headers/zlib.h; then
ZLIB_DIR=$i
- ZLIB_INCDIR=$i/include
+ ZLIB_INCDIR=$i/develop/headers
fi
done
fi
@@ -42,7 +42,7 @@ if test "$PHP_ZLIB" != "no" || test "$PHP_ZLIB_DIR" != "no"; then
esac
AC_MSG_CHECKING([for zlib version >= 1.2.0.4])
- ZLIB_VERSION=`$EGREP "define ZLIB_VERSION" $ZLIB_DIR/include/zlib.h | $SED -e 's/[[^0-9\.]]//g'`
+ ZLIB_VERSION=`$EGREP "define ZLIB_VERSION" $ZLIB_DIR/develop/headers/zlib.h | $SED -e 's/[[^0-9\.]]//g'`
AC_MSG_RESULT([$ZLIB_VERSION])
if test `echo $ZLIB_VERSION | $SED -e 's/[[^0-9]]/ /g' | $AWK '{print $1*1000000 + $2*10000 + $3*100 + $4}'` -lt 1020004; then
AC_MSG_ERROR([libz version greater or equal to 1.2.0.4 required])
--
1.8.3.4

View File

@@ -1,25 +0,0 @@
DESCRIPTION="php - hypertext preprocessor"
HOMEPAGE="http://www.php.net"
SRC_URI="http://php.net/distributions/php-5.3.4.tar.bz2"
CHECKSUM_MD5="2c069d8f690933e3bf6a8741ed818150"
REVISION="1"
STATUS_HAIKU="broken"
DEPEND="dev-libs/libpcre >= 8.00"
BUILD()
{
cd php-5.3.4
cat $(aclocal --print-ac-dir)/libtool.m4 > build/libtool.m4
autoreconf
./configure --prefix=`finddir B_COMMON_DIRECTORY` --enable-shared --enable-static
make
}
INSTALL()
{
cd php-5.3.4
make install
}
COPYRIGHT="2001-2010 PHP Group"
LICENSE="PHP License v3.01"

View File

@@ -1,57 +0,0 @@
DESCRIPTION="php - hypertext preprocessor"
HOMEPAGE="http://www.php.net"
SRC_URI="http://php.net/distributions/php-5.3.5.tar.bz2"
CHECKSUM_MD5="8aaf20c95e91f25c5b6a591e5d6d61b9"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-libs/libpcre >= 8.00
"
BUILD()
{
cd php-5.3.5
libtoolize --force --copy --install
aclocal
autoconf
export LIBS="-lnetwork"
./configure --prefix=`finddir B_COMMON_DIRECTORY` \
--includedir=`finddir B_COMMON_DIRECTORY`/include \
--libdir=`finddir B_COMMON_LIB_DIRECTORY` \
--enable-shared \
--enable-static \
--enable-dom \
--enable-sqlite-utf8 \
--enable-xml=shared \
--enable-dba=shared \
--enable-ftp \
--enable-sqlite-utf8 \
# --enable-sockets \
--with-bz2=`finddir B_COMMON_DIRECTORY` \
--with-zlib-dir=`finddir B_COMMON_DIRECTORY` \
--with-icu-dir=/boot/system/lib \
--with-libxml-dir=`finddir B_COMMON_DIRECTORY` \
--with-gd-dir=`finddir B_COMMON_DIRECTORY` \
--with-png-dir=`finddir B_COMMON_DIRECTORY` \
--with-jpeg-dir=`finddir B_COMMON_LIB_DIRECTORY` \
--with-readline=`finddir B_COMMON_DIRECTORY` \
--with-freetype-dir=/boot/develop/headers/3rdparty/freetype \
--with-openssl-dir=`finddir B_COMMON_DIRECTORY` \
--with-openssl=`finddir B_COMMON_DIRECTORY` \
--without-iconv
make
}
INSTALL()
{
cd php-5.3.5
make install INSTALL_ROOT=${DESTDIR}
}
TEST()
{
cd php-5.3.5
make test
}
COPYRIGHT="2001-2011 PHP Group"
LICENSE="PHP License v3.01"

View File

@@ -1,73 +0,0 @@
SUMMARY="A popular general-purpose scripting language"
DESCRIPTION="PHP is a popular general-purpose scripting language that is \
especially suited to web development.
Fast, flexible and pragmatic, PHP powers everything from your blog to the most \
popular websites in the world.
"
HOMEPAGE="http://www.php.net"
REVISION="1"
COPYRIGHT="2001-2014 PHP Group"
LICENSE="PHP License v3.01"
ARCHITECTURES="x86_gcc2"
SRC_URI="http://php.net/get/php-$portVersion.tar.bz2/from/this/mirror"
SRC_FILENAME="php-$portVersion.tar.bz2"
CHECKSUM_SHA256="57d4ea10f0c18b096a7c8fd0a98dcbe40c8f4dc94453fd3ca0a10e35fb2f8234"
PATCHES="php-$portVersion.patchset"
PROVIDES="
php = $portVersion
cmd:pear
cmd:peardev
cmd:pecl
cmd:phar
cmd:phar.phar
cmd:php
cmd:php_cgi
cmd:php_config
cmd:phpize
"
GLOBAL_WRITABLE_FILES="
settings/pear.conf keep-old
"
REQUIRES="
haiku
lib:libxml2
lib:libz
"
BUILD_REQUIRES="
devel:libxml2
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel
cmd:awk
cmd:bison
cmd:dos2unix
cmd:gcc
cmd:make
"
BUILD()
{
runConfigure ./configure --with-libxml-dir=/system --without-iconv
dos2unix Zend/zend_language_scanner.l
dos2unix Zend/zend_language_scanner.c
make $jobArgs
}
INSTALL()
{
make install
}
TEST()
{
make test
}

View File

@@ -1,72 +0,0 @@
SUMMARY="A popular general-purpose scripting language"
DESCRIPTION="PHP is a popular general-purpose scripting language that is \
especially suited to web development.
Fast, flexible and pragmatic, PHP powers everything from your blog to the most \
popular websites in the world.
"
HOMEPAGE="http://www.php.net"
REVISION="1"
COPYRIGHT="2001-2014 PHP Group"
LICENSE="PHP License v3.01"
ARCHITECTURES="x86_gcc2"
SRC_URI="http://php.net/get/php-5.6.2.tar.bz2/from/this/mirror"
SRC_FILENAME="php-$portVersion.tar.bz2"
PATCHES="php-$portVersion.patchset"
PROVIDES="
php = $portVersion
cmd:pear
cmd:peardev
cmd:pecl
cmd:phar
cmd:phar.phar
cmd:php
cmd:php_cgi
cmd:php_config
cmd:phpize
"
GLOBAL_WRITABLE_FILES="
settings/pear.conf keep-old
"
REQUIRES="
haiku
lib:libxml2
lib:libz
"
BUILD_REQUIRES="
devel:libxml2
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel
cmd:awk
cmd:bison
cmd:dos2unix
cmd:gcc
cmd:make
"
BUILD()
{
runConfigure ./configure --with-libxml-dir=/system --without-iconv
dos2unix Zend/zend_language_scanner.l
dos2unix Zend/zend_language_scanner.c
make $jobArgs
}
INSTALL()
{
make install
}
TEST()
{
make test
}

View File

@@ -0,0 +1,112 @@
SUMMARY="A popular general-purpose scripting language"
DESCRIPTION="PHP is a popular general-purpose scripting language that is \
especially suited to web development.
Fast, flexible and pragmatic, PHP powers everything from your blog to the most \
popular websites in the world."
HOMEPAGE="https://php.net"
REVISION="3"
COPYRIGHT="2001-2014 PHP Group"
LICENSE="PHP License v3.01"
ARCHITECTURES="x86_gcc2"
SRC_URI="https://php.net/get/php-$portVersion.tar.bz2/from/this/mirror"
CHECKSUM_SHA256="576f9001b612f5ddc22f447311bbec321e2c959b6a52259d664c4ba04ef044f1"
SRC_FILENAME="php-$portVersion.tar.bz2"
PATCHES="php-$portVersion.patch"
PROVIDES="
php = $portVersion
cmd:pear
cmd:peardev
cmd:pecl
cmd:phar
cmd:phar.phar
cmd:php
cmd:php_cgi
cmd:php_config
cmd:phpize
"
GLOBAL_WRITABLE_FILES="
settings/pear.conf keep-old
"
REQUIRES="
haiku
icu
lib:libxml2
lib:libz
lib:libbz2
lib:libssl
lib:libcrypto
lib:libcurl
lib:libpng16
lib:libjpeg
lib:libfreetype
"
BUILD_REQUIRES="
icu_devel
devel:libxml2
devel:libz
devel:libbz2
devel:libssl
devel:libcrypto
devel:libcurl
devel:libpng16
devel:libjpeg
devel:libfreetype
"
BUILD_PREREQUIRES="
haiku_devel
cmd:autoreconf
cmd:awk
cmd:bison
cmd:dos2unix
cmd:gcc
cmd:make
cmd:pkg_config
cmd:freetype_config
cmd:xml2_config
cmd:icu_config
"
PATCH()
{
dos2unix Zend/zend_language_scanner.l
dos2unix Zend/zend_language_scanner.c
}
BUILD()
{
autoreconf
runConfigure ./configure \
--with-libxml-dir=/system \
--with-zlib-dir=/system \
--with-openssl \
--with-curl \
--with-gd \
--with-png-dir=/system \
--with-jpeg-dir=/system \
--with-freetype-dir=/system \
--disable-opcache \
--enable-intl \
--enable-ftp \
--enable-soap \
--without-iconv \
--disable-debug
make $jobArgs
}
INSTALL()
{
make install
}
TEST()
{
make test
}

View File

@@ -1,135 +0,0 @@
From 4efb1f167e3f3f083f4f7ac92166f71ccf7a0b5b Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Wed, 2 Jul 2014 11:58:34 -0400
Subject: [PATCH] Applying Chris's fixes and some of my own.
---
configure.in | 13 ++++++++++---
elf.h | 42 ++++++++++++++++++++++++++++++++++++++++++
ext/nkf/nkf-utf8/nkf.h | 5 +++++
signal.c | 4 ++--
4 files changed, 59 insertions(+), 5 deletions(-)
create mode 100644 elf.h
diff --git a/configure.in b/configure.in
index 73c87b7..f4f6a23 100644
--- a/configure.in
+++ b/configure.in
@@ -2121,11 +2121,14 @@ if test "$with_dln_a_out" != yes; then
[haiku*], [ AS_CASE(["$target_cpu"],
[powerpc*], [
: ${LDSHARED="ld -xms"}
- DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
+ DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
],
[i586*], [
- : ${LDSHARED="ld -shared"}
- DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -lbe -lroot"
+ : ${LDSHARED="${CC} -shared"}
+ if test "$rb_cv_binary_elf" = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+ fi
+ DLDFLAGS="$DLDFLAGS -L/boot/system/develop/lib -lroot -L/boot/home/config/develop/lib"
])
: ${LIBPATHENV=LIBRARY_PATH}
rb_cv_dlopen=yes ],
@@ -2401,6 +2404,10 @@ AS_CASE("$enable_shared", [yes], [
LIBRUBY_DLDFLAGS='-f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
])
],
+ [haiku*], [
+ LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'
+ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
+ ],
[darwin*], [
RUBY_SO_NAME="$RUBY_SO_NAME"'.$(MAJOR).$(MINOR).$(TEENY)'
LIBRUBY_LDSHARED='$(CC) -dynamiclib'
diff --git a/elf.h b/elf.h
new file mode 100644
index 0000000..2300dde
--- /dev/null
+++ b/elf.h
@@ -0,0 +1,42 @@
+/*
+ *
+ * /boot/common/include/elf.h
+ *
+ * -I/system/develop/headers/private/system
+ * -I/system/develop/headers/private/system/arch_x86
+ *
+ * As found on other platforms, for benefit of GHC Haskell compiler,
+ * Donn
+ * */
+
+#ifdef __HAIKU__
+
+#include <elf32.h>
+#include <elf64.h>
+
+typedef struct Elf32_Ehdr Elf32_Ehdr;
+typedef struct Elf32_Shdr Elf32_Shdr;
+typedef struct Elf32_Sym Elf32_Sym;
+typedef struct Elf32_Rel Elf32_Rel;
+typedef struct Elf32_Rela Elf32_Rela;
+
+#define ELFMAG0 0x7F
+#define ELFMAG1 'E'
+#define ELFMAG2 'L'
+#define ELFMAG3 'F'
+
+#define ET_NONE 0
+#define ET_REL 1
+#define ET_EXEC 2
+#define ET_DYN 3
+#define ET_CORE 4
+
+#define EM_386 3
+#define EM_SPARC 2
+#define EM_PPC 20
+
+#else
+
+#include_next <elf.h>
+
+#endif
\ No newline at end of file
diff --git a/ext/nkf/nkf-utf8/nkf.h b/ext/nkf/nkf-utf8/nkf.h
index a23ec5c..8351578 100644
--- a/ext/nkf/nkf-utf8/nkf.h
+++ b/ext/nkf/nkf-utf8/nkf.h
@@ -164,6 +164,11 @@ void setbinmode(FILE *fp)
# ifndef HAVE_LOCALE_H
# define HAVE_LOCALE_H
# endif
+#elif defined(__HAIKU__)
+# undef HAVE_LANGINFO_H
+# ifndef HAVE_LOCALE_H
+# define HAVE_LOCALE_H
+# endif
#else
# ifndef HAVE_LANGINFO_H
# define HAVE_LANGINFO_H
diff --git a/signal.c b/signal.c
index d4e56dc..92c54e9 100644
--- a/signal.c
+++ b/signal.c
@@ -28,6 +28,6 @@ ruby_atomic_exchange(rb_atomic_t *ptr, rb_atomic_t val)
}
#endif
-#if defined(__BEOS__) || defined(__HAIKU__)
+#if defined(__BEOS__)
#undef SIGBUS
#endif
@@ -590,7 +590,7 @@ static int segv_received = 0;
static RETSIGTYPE
sigsegv(int sig SIGINFO_ARG)
{
-#ifdef USE_SIGALTSTACK
+#if defined USE_SIGALTSTACK && defined SA_SIGINFO
int ruby_stack_overflowed_p(const rb_thread_t *, const void *);
NORETURN(void ruby_thread_stack_overflow(rb_thread_t *th));
rb_thread_t *th = GET_THREAD();
---
1.8.3.4

View File

@@ -1,545 +0,0 @@
From 7bab20a22b69de3239de475cbc72a5c39864f43c Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Mon, 11 Nov 2013 19:00:01 -0700
Subject: applying patch ruby-1.9.1.patch
diff --git a/configure.in b/configure.in
index c98a024..113d4e5 100644
--- a/configure.in
+++ b/configure.in
@@ -1462,11 +1462,11 @@ if test "$with_dln_a_out" != yes; then
haiku*) case "$target_cpu" in
powerpc*)
: ${LDSHARED="ld -xms"}
- DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
+ DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
;;
i586*)
: ${LDSHARED="ld -shared"}
- DLDFLAGS="$DLDFLAGS -L/boot/develop/lib/x86 -lbe -lroot"
+ DLDFLAGS="$DLDFLAGS -L/boot/system/develop/lib -lroot -L/boot/home/config/develop/lib"
;;
esac
: ${LIBPATHENV=LIBRARY_PATH}
diff --git a/ext/nkf/nkf-utf8/nkf.h b/ext/nkf/nkf-utf8/nkf.h
index 0998837..814ceef 100644
--- a/ext/nkf/nkf-utf8/nkf.h
+++ b/ext/nkf/nkf-utf8/nkf.h
@@ -164,6 +164,11 @@ void setbinmode(FILE *fp)
# ifndef HAVE_LOCALE_H
# define HAVE_LOCALE_H
# endif
+#elif defined(__HAIKU__)
+# undef HAVE_LANGINFO_H
+# ifndef HAVE_LOCALE_H
+# define HAVE_LOCALE_H
+# endif
#else
# ifndef HAVE_LANGINFO_H
# define HAVE_LANGINFO_H
diff --git a/ext/openssl/ossl.c b/ext/openssl/ossl.c
index a3b612b..d900ef3 100644
--- a/ext/openssl/ossl.c
+++ b/ext/openssl/ossl.c
@@ -92,7 +92,7 @@ ossl_x509_ary2sk(VALUE ary)
#define OSSL_IMPL_SK2ARY(name, type) \
VALUE \
-ossl_##name##_sk2ary(STACK *sk) \
+ossl_##name##_sk2ary(STACK_OF(type) *sk) \
{ \
type *t; \
int i, num; \
@@ -102,7 +102,7 @@ ossl_##name##_sk2ary(STACK *sk) \
OSSL_Debug("empty sk!"); \
return Qnil; \
} \
- num = sk_num(sk); \
+ num = sk_##type##_num(sk); \
if (num < 0) { \
OSSL_Debug("items in sk < -1???"); \
return rb_ary_new(); \
@@ -110,7 +110,7 @@ ossl_##name##_sk2ary(STACK *sk) \
ary = rb_ary_new2(num); \
\
for (i=0; i<num; i++) { \
- t = (type *)sk_value(sk, i); \
+ t = sk_##type##_value(sk, i); \
rb_ary_push(ary, ossl_##name##_new(t)); \
} \
return ary; \
diff --git a/ext/openssl/ossl.h b/ext/openssl/ossl.h
index ecddb80..fe24280 100644
--- a/ext/openssl/ossl.h
+++ b/ext/openssl/ossl.h
@@ -104,6 +104,13 @@ extern VALUE eOSSLError;
} while (0)
/*
+ * Compatibility
+ */
+#if OPENSSL_VERSION_NUMBER >= 0x10000000L
+#define STACK _STACK
+#endif
+
+/*
* String to HEXString conversion
*/
int string2hex(const unsigned char *, int, char **, int *);
diff --git a/ext/openssl/ossl_config.c b/ext/openssl/ossl_config.c
index bc5067f..5ec5b06 100644
--- a/ext/openssl/ossl_config.c
+++ b/ext/openssl/ossl_config.c
@@ -1,5 +1,5 @@
/*
- * $Id: ossl_config.c 18971 2008-08-31 03:36:09Z nobu $
+ * $Id: ossl_config.c 27460 2010-04-23 14:28:56Z akr $
* 'OpenSSL for Ruby' project
* Copyright (C) 2001-2002 Michal Rokos <m.rokos@sh.cvut.cz>
* All rights reserved.
@@ -33,8 +33,8 @@
VALUE cConfig;
VALUE eConfigError;
-/*
- * Public
+/*
+ * Public
*/
static CONF *parse_config(VALUE, CONF*);
@@ -154,7 +154,7 @@ ossl_config_initialize(int argc, VALUE *argv, VALUE self)
_CONF_new_data(conf);
}
#endif
-
+
return self;
}
@@ -187,11 +187,30 @@ ossl_config_add_value(VALUE self, VALUE section, VALUE name, VALUE value)
OPENSSL_free(cv);
ossl_raise(eConfigError, "_CONF_add_string failure");
}
-
+
return value;
#endif
}
+static void
+rb_ossl_config_modify_check(VALUE config)
+{
+ if (OBJ_FROZEN(config)) rb_error_frozen("OpenSSL::Config");
+ if (!OBJ_UNTRUSTED(config) && rb_safe_level() >= 4)
+ rb_raise(rb_eSecurityError, "Insecure: can't modify OpenSSL config");
+}
+
+#if !defined(OSSL_NO_CONF_API)
+static VALUE
+ossl_config_add_value_m(VALUE self, VALUE section, VALUE name, VALUE value)
+{
+ rb_ossl_config_modify_check(self);
+ return ossl_config_add_value(self, section, name, value);
+}
+#else
+#define ossl_config_add_value_m rb_f_notimplement
+#endif
+
static VALUE
ossl_config_get_value(VALUE self, VALUE section, VALUE name)
{
@@ -214,7 +233,7 @@ static VALUE
ossl_config_get_value_old(int argc, VALUE *argv, VALUE self)
{
VALUE section, name;
-
+
rb_scan_args(argc, argv, "11", &section, &name);
/* support conf.value(nil, "HOME") -> conf.get_value("", "HOME") */
@@ -247,6 +266,7 @@ ossl_config_set_section(VALUE self, VALUE section, VALUE hash)
{
VALUE arg[2];
+ rb_ossl_config_modify_check(self);
arg[0] = self;
arg[1] = section;
rb_block_call(hash, rb_intern("each"), 0, 0, set_conf_section_i, (VALUE)arg);
@@ -278,7 +298,7 @@ ossl_config_get_section(VALUE self, VALUE section)
return hash;
}
for (i=0; i<entries; i++) {
- entry = sk_CONF_VALUE_value(sk, i);
+ entry = sk_CONF_VALUE_value(sk, i);
rb_hash_aset(hash, rb_str_new2(entry->name), rb_str_new2(entry->value));
}
@@ -292,15 +312,16 @@ ossl_config_get_section_old(VALUE self, VALUE section)
return ossl_config_get_section(self, section);
}
-#ifdef IMPLEMENT_LHASH_DOALL_ARG_FN
+#if defined(IMPLEMENT_LHASH_DOALL_ARG_FN) && defined(LHASH_OF)
static void
-get_conf_section(CONF_VALUE *cv, VALUE ary)
+get_conf_section_doall_arg(CONF_VALUE *cv, void *tmp)
{
+ VALUE ary = (VALUE)tmp;
if(cv->name) return;
rb_ary_push(ary, rb_str_new2(cv->section));
}
-static IMPLEMENT_LHASH_DOALL_ARG_FN(get_conf_section, CONF_VALUE*, VALUE);
+static IMPLEMENT_LHASH_DOALL_ARG_FN(get_conf_section, CONF_VALUE, void)
static VALUE
ossl_config_get_sections(VALUE self)
@@ -310,14 +331,16 @@ ossl_config_get_sections(VALUE self)
GetConfig(self, conf);
ary = rb_ary_new();
- lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(get_conf_section), (void*)ary);
+ lh_doall_arg((_LHASH *)conf->data, LHASH_DOALL_ARG_FN(get_conf_section),
+ (void*)ary);
return ary;
}
static void
-dump_conf_value(CONF_VALUE *cv, VALUE str)
+dump_conf_value_doall_arg(CONF_VALUE *cv, void *tmp)
{
+ VALUE str = (VALUE)tmp;
STACK_OF(CONF_VALUE) *sk;
CONF_VALUE *v;
int i, num;
@@ -338,7 +361,7 @@ dump_conf_value(CONF_VALUE *cv, VALUE str)
rb_str_cat2(str, "\n");
}
-static IMPLEMENT_LHASH_DOALL_ARG_FN(dump_conf_value, CONF_VALUE*, VALUE);
+static IMPLEMENT_LHASH_DOALL_ARG_FN(dump_conf_value, CONF_VALUE, void)
static VALUE
dump_conf(CONF *conf)
@@ -346,7 +369,8 @@ dump_conf(CONF *conf)
VALUE str;
str = rb_str_new(0, 0);
- lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(dump_conf_value), (void*)str);
+ lh_doall_arg((_LHASH *)conf->data, LHASH_DOALL_ARG_FN(dump_conf_value),
+ (void*)str);
return str;
}
@@ -362,7 +386,7 @@ ossl_config_to_s(VALUE self)
}
static void
-each_conf_value(CONF_VALUE *cv, void* dummy)
+each_conf_value_doall_arg(CONF_VALUE *cv, void *dummy)
{
STACK_OF(CONF_VALUE) *sk;
CONF_VALUE *v;
@@ -382,7 +406,7 @@ each_conf_value(CONF_VALUE *cv, void* dummy)
}
}
-static IMPLEMENT_LHASH_DOALL_ARG_FN(each_conf_value, CONF_VALUE*, void*);
+static IMPLEMENT_LHASH_DOALL_ARG_FN(each_conf_value, CONF_VALUE, void *)
static VALUE
ossl_config_each(VALUE self)
@@ -392,7 +416,8 @@ ossl_config_each(VALUE self)
RETURN_ENUMERATOR(self, 0, 0);
GetConfig(self, conf);
- lh_doall_arg(conf->data, LHASH_DOALL_ARG_FN(each_conf_value), (void*)NULL);
+ lh_doall_arg((_LHASH *)conf->data, LHASH_DOALL_ARG_FN(each_conf_value),
+ (void*)NULL);
return self;
}
@@ -456,7 +481,7 @@ Init_ossl_config()
rb_define_method(cConfig, "initialize", ossl_config_initialize, -1);
rb_define_method(cConfig, "get_value", ossl_config_get_value, 2);
rb_define_method(cConfig, "value", ossl_config_get_value_old, -1);
- rb_define_method(cConfig, "add_value", ossl_config_add_value, 3);
+ rb_define_method(cConfig, "add_value", ossl_config_add_value_m, 3);
rb_define_method(cConfig, "[]", ossl_config_get_section, 1);
rb_define_method(cConfig, "section", ossl_config_get_section_old, 1);
rb_define_method(cConfig, "[]=", ossl_config_set_section, 2);
diff --git a/ext/openssl/ossl_pkcs7.c b/ext/openssl/ossl_pkcs7.c
index f7cd156..644e91a 100644
--- a/ext/openssl/ossl_pkcs7.c
+++ b/ext/openssl/ossl_pkcs7.c
@@ -572,12 +572,11 @@ ossl_pkcs7_add_certificate(VALUE self, VALUE cert)
return self;
}
-static STACK *
-pkcs7_get_certs_or_crls(VALUE self, int want_certs)
+static STACK_OF(X509) *
+pkcs7_get_certs(VALUE self)
{
PKCS7 *pkcs7;
STACK_OF(X509) *certs;
- STACK_OF(X509_CRL) *crls;
int i;
GetPKCS7(self, pkcs7);
@@ -585,17 +584,38 @@ pkcs7_get_certs_or_crls(VALUE self, int want_certs)
switch(i){
case NID_pkcs7_signed:
certs = pkcs7->d.sign->cert;
- crls = pkcs7->d.sign->crl;
break;
case NID_pkcs7_signedAndEnveloped:
certs = pkcs7->d.signed_and_enveloped->cert;
+ break;
+ default:
+ certs = NULL;
+ }
+
+ return certs;
+}
+
+static STACK_OF(X509_CRL) *
+pkcs7_get_crls(VALUE self)
+{
+ PKCS7 *pkcs7;
+ STACK_OF(X509_CRL) *crls;
+ int i;
+
+ GetPKCS7(self, pkcs7);
+ i = OBJ_obj2nid(pkcs7->type);
+ switch(i){
+ case NID_pkcs7_signed:
+ crls = pkcs7->d.sign->crl;
+ break;
+ case NID_pkcs7_signedAndEnveloped:
crls = pkcs7->d.signed_and_enveloped->crl;
break;
default:
- certs = crls = NULL;
+ crls = NULL;
}
- return want_certs ? certs : crls;
+ return crls;
}
static VALUE
@@ -610,7 +630,7 @@ ossl_pkcs7_set_certificates(VALUE self, VALUE ary)
STACK_OF(X509) *certs;
X509 *cert;
- certs = pkcs7_get_certs_or_crls(self, 1);
+ certs = pkcs7_get_certs(self);
while((cert = sk_X509_pop(certs))) X509_free(cert);
rb_block_call(ary, rb_intern("each"), 0, 0, ossl_pkcs7_set_certs_i, self);
@@ -620,7 +640,7 @@ ossl_pkcs7_set_certificates(VALUE self, VALUE ary)
static VALUE
ossl_pkcs7_get_certificates(VALUE self)
{
- return ossl_x509_sk2ary(pkcs7_get_certs_or_crls(self, 1));
+ return ossl_x509_sk2ary(pkcs7_get_certs(self));
}
static VALUE
@@ -650,7 +670,7 @@ ossl_pkcs7_set_crls(VALUE self, VALUE ary)
STACK_OF(X509_CRL) *crls;
X509_CRL *crl;
- crls = pkcs7_get_certs_or_crls(self, 0);
+ crls = pkcs7_get_crls(self);
while((crl = sk_X509_CRL_pop(crls))) X509_CRL_free(crl);
rb_block_call(ary, rb_intern("each"), 0, 0, ossl_pkcs7_set_crls_i, self);
@@ -660,7 +680,7 @@ ossl_pkcs7_set_crls(VALUE self, VALUE ary)
static VALUE
ossl_pkcs7_get_crls(VALUE self)
{
- return ossl_x509crl_sk2ary(pkcs7_get_certs_or_crls(self, 0));
+ return ossl_x509crl_sk2ary(pkcs7_get_crls(self));
}
static VALUE
diff --git a/ext/openssl/ossl_ssl.c b/ext/openssl/ossl_ssl.c
index c278edc..1167627 100644
--- a/ext/openssl/ossl_ssl.c
+++ b/ext/openssl/ossl_ssl.c
@@ -1195,10 +1195,10 @@ ossl_ssl_get_peer_cert_chain(VALUE self)
}
chain = SSL_get_peer_cert_chain(ssl);
if(!chain) return Qnil;
- num = sk_num(chain);
+ num = sk_X509_num(chain);
ary = rb_ary_new2(num);
for (i = 0; i < num; i++){
- cert = (X509*)sk_value(chain, i);
+ cert = sk_X509_value(chain, i);
rb_ary_push(ary, ossl_x509_new(cert));
}
diff --git a/ext/openssl/ossl_ssl_session.c b/ext/openssl/ossl_ssl_session.c
index b236e4d..4d0848f 100644
--- a/ext/openssl/ossl_ssl_session.c
+++ b/ext/openssl/ossl_ssl_session.c
@@ -72,6 +72,16 @@ static VALUE ossl_ssl_session_initialize(VALUE self, VALUE arg1)
return self;
}
+#if HAVE_SSL_SESSION_CMP == 0
+int SSL_SESSION_cmp(const SSL_SESSION *a,const SSL_SESSION *b)
+{
+ if (a->ssl_version != b->ssl_version ||
+ a->session_id_length != b->session_id_length)
+ return 1;
+ return memcmp(a->session_id,b-> session_id, a->session_id_length);
+}
+#endif
+
/*
* call-seq:
* session1 == session2 -> boolean
diff --git a/ext/openssl/ossl_x509attr.c b/ext/openssl/ossl_x509attr.c
index 248e02a..2634cd9 100644
--- a/ext/openssl/ossl_x509attr.c
+++ b/ext/openssl/ossl_x509attr.c
@@ -218,8 +218,9 @@ ossl_x509attr_get_value(VALUE self)
ossl_str_adjust(str, p);
}
else{
- length = i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set, NULL,
- i2d_ASN1_TYPE, V_ASN1_SET, V_ASN1_UNIVERSAL, 0);
+ length = i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set,
+ (unsigned char **) NULL, i2d_ASN1_TYPE,
+ V_ASN1_SET, V_ASN1_UNIVERSAL, 0);
str = rb_str_new(0, length);
p = (unsigned char *)RSTRING_PTR(str);
i2d_ASN1_SET_OF_ASN1_TYPE(attr->value.set, &p,
diff --git a/ext/openssl/ossl_x509crl.c b/ext/openssl/ossl_x509crl.c
index 3896b6e..c5123ae 100644
--- a/ext/openssl/ossl_x509crl.c
+++ b/ext/openssl/ossl_x509crl.c
@@ -264,7 +264,7 @@ ossl_x509crl_get_revoked(VALUE self)
VALUE ary, revoked;
GetX509CRL(self, crl);
- num = sk_X509_CRL_num(X509_CRL_get_REVOKED(crl));
+ num = sk_X509_REVOKED_num(X509_CRL_get_REVOKED(crl));
if (num < 0) {
OSSL_Debug("num < 0???");
return rb_ary_new();
@@ -272,7 +272,7 @@ ossl_x509crl_get_revoked(VALUE self)
ary = rb_ary_new2(num);
for(i=0; i<num; i++) {
/* NO DUP - don't free! */
- rev = (X509_REVOKED *)sk_X509_CRL_value(X509_CRL_get_REVOKED(crl), i);
+ rev = sk_X509_REVOKED_value(X509_CRL_get_REVOKED(crl), i);
revoked = ossl_x509revoked_new(rev);
rb_ary_push(ary, revoked);
}
diff --git a/signal.c b/signal.c
index 5da1769..74072d2 100644
--- a/signal.c
+++ b/signal.c
@@ -34,7 +34,7 @@ typedef int rb_atomic_t;
# define ATOMIC_DEC(var) (--(var))
#endif
-#ifdef __BEOS__
+#if defined __BEOS__ || defined __HAIKU__
#undef SIGBUS
#endif
@@ -586,7 +586,7 @@ static int segv_received = 0;
static RETSIGTYPE
sigsegv(int sig SIGINFO_ARG)
{
-#ifdef USE_SIGALTSTACK
+#if defined USE_SIGALTSTACK && defined SA_SIGINFO
int ruby_stack_overflowed_p(const rb_thread_t *, const void *);
NORETURN(void ruby_thread_stack_overflow(rb_thread_t *th));
rb_thread_t *th = GET_THREAD();
--
1.8.3.4
From b5cf064c70f3212fb0a44dd4eaa4298e881b333f Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Mon, 11 Nov 2013 20:00:13 -0700
Subject: Use gcc for linking modules
diff --git a/configure.in b/configure.in
index 113d4e5..9bfbfb3 100644
--- a/configure.in
+++ b/configure.in
@@ -1465,7 +1465,10 @@ if test "$with_dln_a_out" != yes; then
DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
;;
i586*)
- : ${LDSHARED="ld -shared"}
+ : ${LDSHARED="${CC} -shared"}
+ if test "$rb_cv_binary_elf" = yes; then
+ LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
+ fi
DLDFLAGS="$DLDFLAGS -L/boot/system/develop/lib -lroot -L/boot/home/config/develop/lib"
;;
esac
--
1.8.3.4
From c43e8e49d47f7778314d9a723f9430fa4686f7ba Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Mon, 11 Nov 2013 23:13:59 -0700
Subject: Add soname flags for libruby.so
diff --git a/configure.in b/configure.in
index 9bfbfb3..611b586 100644
--- a/configure.in
+++ b/configure.in
@@ -1777,6 +1777,10 @@ if test "$enable_shared" = 'yes'; then
;;
esac
;;
+ haiku*)
+ LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'
+ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
+ ;;
darwin*)
LIBRUBY_SO='lib$(RUBY_SO_NAME).$(MAJOR).$(MINOR).$(TEENY).dylib'
LIBRUBY_LDSHARED='cc -dynamiclib -undefined suppress -flat_namespace'
--
1.8.3.4
From c6983e184282d3ffbb88c095ff13d1913c18a3f8 Mon Sep 17 00:00:00 2001
From: Rene Gollent <rene@gollent.com>
Date: Wed, 18 Dec 2013 21:52:24 -0500
Subject: Add case for x86_64.
diff --git a/configure.in b/configure.in
index 611b586..01f0bb0 100644
--- a/configure.in
+++ b/configure.in
@@ -1464,7 +1464,7 @@ if test "$with_dln_a_out" != yes; then
: ${LDSHARED="ld -xms"}
DLDFLAGS="$DLDFLAGS "'-export Init_$(TARGET) -lroot glue-noinit.a init_term_dyn.o start_dyn.o'
;;
- i586*)
+ i586*|x86_64*)
: ${LDSHARED="${CC} -shared"}
if test "$rb_cv_binary_elf" = yes; then
LDFLAGS="$LDFLAGS -Wl,-export-dynamic"
--
1.8.3.4

View File

@@ -1,123 +0,0 @@
SUMMARY="A programming language focused on simplicity and productivity."
DESCRIPTION="Ruby is a dynamic, reflective, object-oriented, general-purpose \
programming language. It was designed and developed in the mid-1990s \
by Yukihiro 'Matz' Matsumoto in Japan.
Ruby embodies syntax inspired by Perl with Smalltalk-like features and \
was also influenced by Eiffel and Lisp. It supports multiple \
programming paradigms, including functional, object oriented, and \
imperative. It also has a dynamic type system and automatic memory \
management. Therefore, it is similar in varying degrees to, Smalltalk, \
Python, Perl, Lisp, Dylan, and CLU."
HOMEPAGE="http://www.ruby-lang.org"
SRC_URI="http://cache.ruby-lang.org/pub/ruby/ruby-1.9.3-rc1.tar.bz2"
SOURCE_DIR="ruby-1.9.3-rc1"
CHECKSUM_SHA256="951a8810086abca0e200f81767a518ee2730d6dc9b0cc2c7e3587dcfc3bf5fc8"
LICENSE="Ruby
GNU GPL v2
GNU LGPL v2.1
Artistic (Perl)
BSD (3-clause)"
COPYRIGHT="1993-2009 Yukihiro Matsumoto"
REVISION="4"
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"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PATCHES="ruby-1.9.3-rc1.patch"
PROVIDES="
ruby$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:ruby$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:erb$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:gem$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:irb$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:rake$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:rdoc$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:ri$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:testrb$secondaryArchSuffix = $portVersion compat >= 1.9
lib:libruby$secondaryArchSuffix = $portVersion compat >= 1.9
cmd:ruby = $portVersion compat >= 1.9
cmd:erb = $portVersion compat >= 1.9
cmd:gem = $portVersion compat >= 1.9
cmd:irb = $portVersion compat >= 1.9
cmd:rake = $portVersion compat >= 1.9
cmd:rdoc = $portVersion compat >= 1.9
cmd:ri = $portVersion compat >= 1.9
cmd:testrb = $portVersion compat >= 1.9
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libedit$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libcrypto$secondaryArchSuffix
lib:libssl$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libncursesw$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libedit$secondaryArchSuffix
devel:libz$secondaryArchSuffix
devel:libcrypto$secondaryArchSuffix
devel:libssl$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libncursesw$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
cmd:ruby >= 1.9
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:gcc$secondaryArchSuffix
cmd:g++$secondaryArchSuffix
cmd:autoconf
cmd:make
cmd:bison
"
PROVIDES_devel="
ruby${secondaryArchSuffix}_devel = $portVersion
devel:libruby_static$secondaryArchSuffix = $portVersion compat >= 1.9
lib:libruby_static$secondaryArchSuffix = $portVersion compat >= 1.9
devel:libruby$secondaryArchSuffix = $portVersion compat >= 1.9
"
REQUIRES_devel="
ruby$secondaryArchSuffix == $portVersion base
"
BUILD()
{
autoconf
# tell configure where to find the private header folders
# that have elf32.h, elf64.h, and arch_elf.h
extraFlags="-I/boot/system/develop/headers/private/system \
-I/boot/system/develop/headers/private/system/arch/x86"
export CFLAGS="$extraFlags"
export CPPFLAGS="$extraFlags"
runConfigure ./configure --enable-shared
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLibs libruby-static libruby
fixPkgconfig
packageEntries devel $developDir
}
TEST()
{
make check
}

View File

@@ -1,6 +1,5 @@
SUMMARY="A programming language focused on simplicity and productivity"
DESCRIPTION="
Ruby is a dynamic, reflective, object-oriented, general-purpose \
DESCRIPTION="Ruby is a dynamic, reflective, object-oriented, general-purpose \
programming language. It was designed and developed in the mid-1990s \
by Yukihiro 'Matz' Matsumoto in Japan.
@@ -9,16 +8,14 @@ was also influenced by Eiffel and Lisp. It supports multiple \
programming paradigms, including functional, object oriented, and \
imperative. It also has a dynamic type system and automatic memory \
management. Therefore, it is similar in varying degrees to, Smalltalk, \
Python, Perl, Lisp, Dylan, and CLU.
"
HOMEPAGE="http://www.ruby-lang.org"
SRC_URI="http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz"
CHECKSUM_SHA256="f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635"
LICENSE="
Ruby
BSD (3-clause)
"
Python, Perl, Lisp, Dylan, and CLU."
HOMEPAGE="http://www.ruby-lang.org"
SRC_URI="http://cache.ruby-lang.org/pub/ruby/2.1/ruby-$portVersion.tar.gz"
CHECKSUM_SHA256="4305cc6ceb094df55210d83548dcbeb5117d74eea25196a9b14fa268d354b100"
LICENSE="Ruby
BSD (3-clause)"
COPYRIGHT="1993-2014 Yukihiro Matsumoto"
PATCHES="ruby-$portVersion.patchset"
REVISION="1"
@@ -32,14 +29,14 @@ SECONDARY_ARCHITECTURES="x86"
PROVIDES="
ruby$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:ruby$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:erb$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:gem$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:irb$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:rake$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:rdoc$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:ri$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:testrb$secondaryArchSuffix = $portVersion compat >= 2.1
cmd:ruby = $portVersion compat >= 2.1
cmd:erb = $portVersion compat >= 2.1
cmd:gem = $portVersion compat >= 2.1
cmd:irb = $portVersion compat >= 2.1
cmd:rake = $portVersion compat >= 2.1
cmd:rdoc = $portVersion compat >= 2.1
cmd:ri = $portVersion compat >= 2.1
cmd:testrb = $portVersion compat >= 2.1
lib:libruby$secondaryArchSuffix = $portVersion compat >= 2.1
"
REQUIRES="
@@ -82,12 +79,13 @@ REQUIRES_devel="
ruby$secondaryArchSuffix == $portVersion base
"
PATCHES="ruby-2.1.2.patchset"
BUILD()
{
libtoolize --force --copy --install
autoconf
runConfigure ./configure --enable-shared --disable-silent-rules
runConfigure --omit-dirs binDir ./configure --enable-shared \
--disable-silent-rules \
--bindir=$prefix/bin
# The build process needs to run ruby, and without this it fails to find
# libruby.so.
export LIBRARY_PATH=$LIBRARY_PATH:%A

View File

@@ -20,6 +20,8 @@ REQUIRES="
haiku$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libz$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libgcc_s$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libexpat$secondaryArchSuffix

View File

@@ -1,26 +0,0 @@
DESCRIPTION="
libunistring provides functions for manipulating Unicode strings and for \
manipulating C strings according to the Unicode standard.
"
HOMEPAGE="http://www.gnu.org/software/libunistring/"
SRC_URI="http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.1.1.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="dev-util/git >= 1.6.5.3
dev-util/gperf >= 3.0.4"
BUILD()
{
cd libunistring-0.9.1.1
libtoolize --copy --force --install
./autogen.sh
./configure --prefix=`finddir B_COMMON_DIRECTORY`
make
}
INSTALL()
{
cd libunistring-0.9.1.1
make install
}
LICENSE="GNU LGPL v2.1"
COPYRIGHT="1998-2009 Free Software Fundation, Inc."

View File

@@ -0,0 +1,61 @@
SUMMARY="A library for manipulating Unicode strings"
DESCRIPTION="libunistring provides functions for manipulating Unicode strings and for \
manipulating C strings according to the Unicode standard."
HOMEPAGE="http://www.gnu.org/software/libunistring/"
SRC_URI="http://ftp.gnu.org/gnu/libunistring/libunistring-0.9.4.tar.gz"
LICENSE="GNU LGPL v2.1"
COPYRIGHT="1998-2014 Free Software Fundation, Inc."
CHECKSUM_SHA256="f5246d63286a42902dc096d6d44541fbe4204b6c02d6d5d28b457c9882ddd8a6"
REVISION="1"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
PROVIDES="
libunistring
lib:libunistring
"
REQUIRES="
haiku
cmd:gperf
"
BUILD_REQUIRES=""
BUILD_PREREQUIRES="
haiku_devel
cmd:make
cmd:libtoolize
cmd:git
cmd:autoconf
cmd:gcc
cmd:gperf
"
PATCH()
{
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.ac
}
BUILD()
{
libtoolize --copy --force --install
./autogen.sh
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
prepareInstalledDevelLib libunistring
packageEntries devel \
$developDir
}
# ----- Development package -----
PROVIDES_devel="
libunistring_devel
devel:libunistring
"
REQUIRES_devel=""

View File

@@ -0,0 +1,82 @@
SUMMARY="A new platform layer for Node"
DESCRIPTION="
libuv is a multi-platform support library with a focus on asynchronous I/O. \
It was primarily developed for use by Node.js, but it's also used by Luvit, \
Julia, pyuv, and others."
HOMEPAGE="http://github.com/libuv/libuv"
SRC_URI="git://github.com/hamishm/libuv#d48e9ae4bd504aadc25e26f06e83e9c2c86921ac"
SOURCE_DIR="libuv-v1.2.0"
REVISION="1"
LICENSE="MIT"
COPYRIGHT="2009-2015 Ryan Dahl and others"
ARCHITECTURES="x86 ?x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
libuv$secondaryArchSuffix = $portVersion
lib:libuv$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
lib:libgcc_s$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:autoconf
cmd:python
cmd:automake
cmd:libtoolize
cmd:gyp
"
REQUIRES_devel="
libuv$secondaryArchSuffix == $portVersion
"
PROVIDES_devel="
libuv${secondaryArchSuffix}_devel = $portVersion
devel:libuv$secondaryArchSuffix = $portVersion
"
BUILD()
{
rm -rf out
./gyp_uv.py -f make -Dcomponent=shared_library -Duv_library=shared_library
make -C out BUILDTYPE=Release
}
INSTALL()
{
mkdir -p $includeDir
cp -rf include/* $includeDir/
mkdir -p $libDir
cp -rf out/Release/lib.target/libuv.so $libDir/
prepareInstalledDevelLibs libuv
packageEntries devel $developDir
}
TEST()
{
true
#./out/Debug/run-tests
# Test suite doesn't pass
}

View File

@@ -0,0 +1,55 @@
SUMMARY="Simple, high-reliability, distributed software configuration management"
DESCRIPTION="Fossil is a distributed version control system like Git and \
Mercurial, but Fossil also supports distributed bug tracking, \
distributed wiki, and a distributed blog mechanism all in a single \
integrated package.
Additionally, Fossil also has a built-in and easy-to-use web \
interface that simplifies project tracking and promotes situational \
awareness."
HOMEPAGE="http://www.fossil-scm.org/"
SRC_URI="http://www.fossil-scm.org/download/fossil-src-20150119112900.tar.gz"
CHECKSUM_SHA256="37969e5a09c1611199921e3518a4ed736fd637a02f2d5810cd45897a4ceb92dc"
REVISION="1"
LICENSE="BSD (2-clause)"
COPYRIGHT="2007 D. Richard Hipp"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
fossil = $portVersion
cmd:fossil = $portVersion
"
REQUIRES="
haiku
lib:libz
openssl >= 1.0.0
"
BUILD_REQUIRES="
haiku_devel
devel:libz >= 1.2.3
openssl_devel >= 1.0.0
"
# tests require cmd:tclsh
BUILD_PREREQUIRES="
cmd:make
cmd:gcc
"
SOURCE_DIR="fossil-src-20150119112900"
BUILD()
{
./configure --prefix=$prefix
make
}
INSTALL()
{
make install
}
TEST()
{
make test
}

View File

@@ -1,186 +0,0 @@
SUMMARY="Fast, scalable, distributed revision control system"
DESCRIPTION="
Git is a free and open source distributed version control system designed to \
handle everything from small to very large projects with speed and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. \
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with \
features like cheap local branching, convenient staging areas, and multiple \
workflows.
"
HOMEPAGE="http://git-scm.com/"
LICENSE="GNU GPL v2"
COPYRIGHT="2005-2012 Git Authors (see git web site for list)"
SRC_URI="http://git-core.googlecode.com/files/git-1.7.10.2.tar.gz"
CHECKSUM_SHA256="335e978814659f328e377715b13a33336859275ae6f215bf28bbbb2ae711bb43"
PATCHES="git-1.7.10.2.patch"
SRC_URI_2="http://git-core.googlecode.com/files/git-manpages-1.7.10.2.tar.gz"
CHECKSUM_SHA256_2="bc57810ec8d87f7a10f320e31ceeb1f9eaf254e62e0f6414af67f17d0cf7d522"
SRC_URI_3="http://git-core.googlecode.com/files/git-htmldocs-1.7.10.2.tar.gz"
CHECKSUM_SHA256_3="4cb17519eb621060d657c71ba8b10d755a6ea71123642ed6cc73d24ce8f0b734"
REVISION="2"
ARCHITECTURES="x86_gcc2 ?x86"
PROVIDES="
git = $portVersion compat >= 1.7
cmd:git = $portVersion compat >= 1.7
cmd:git_receive_pack = $portVersion compat >= 1.7
cmd:git_shell = $portVersion compat >= 1.7
cmd:git_upload_archive = $portVersion compat >= 1.7
cmd:git_upload_pack = $portVersion compat >= 1.7
"
PROVIDES_arch="
git_arch = $portVersion compat >= 1.7
cmd:git_archimport = $portVersion compat >= 1.7
"
PROVIDES_cvs="
git_cvs = $portVersion compat >= 1.7
cmd:git_cvsserver = $portVersion compat >= 1.7
"
PROVIDES_daemon="
git_daemon = $portVersion compat >= 1.7
cmd:git_daemon = $portVersion compat >= 1.7
"
PROVIDES_email="
git_email = $portVersion compat >= 1.7
cmd:git_send_email = $portVersion compat >= 1.7
"
PROVIDES_source="
git_source = $portVersion compat >= 1.7
"
PROVIDES_svn="
git_svn = $portVersion compat >= 1.7
cmd:git_svn = $portVersion compat >= 1.7
"
REQUIRES="
haiku
cmd:man
cmd:nano
cmd:perl
cmd:python
lib:libcurl
lib:libexpat
lib:libssl
lib:libz
"
REQUIRES_arch="
haiku
git == $portVersion base
"
REQUIRES_cvs="
haiku
git == $portVersion base
"
REQUIRES_daemon="
haiku
git == $portVersion base
"
REQUIRES_email="
haiku
git == $portVersion base
"
REQUIRES_svn="
haiku
git == $portVersion base
"
BUILD_REQUIRES="
cmd:man
cmd:nano
cmd:perl
cmd:python
devel:libcurl
devel:libexpat
devel:libssl
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel
cmd:gcc
cmd:ld
cmd:make
cmd:sed
cmd:tar
"
BUILD()
{
make
}
INSTALL()
{
make strip
make install
# replace copies of git binaries with symlinks
cd $prefix/bin
for program in git*; do
ln -sfn "../lib/git-core/$program" "$program"
done
# copy manpages
mkdir -p $manDir
cp -rd $sourceDir2/* $manDir/
# copy html documentation
htmlDir=$docDir/html
mkdir -p $htmlDir
cp -rd $sourceDir3/*.html $htmlDir/
rm $htmlDir/git-gui.html
# copy asciidoc documentation for which there isn't any corresponding html
asciidocDir=$docDir/asciidoc
mkdir -p $asciidocDir
for f in $sourceDir3/*.txt; do
html=$sourceDir3/$(basename $f .txt).html
if ! [ -e $html ]; then
cp -d $f $asciidocDir/
fi
done
packageEntries arch \
documentation/packages/git/html/git-archimport.html \
documentation/man/man1/git-archimport.1 \
lib/git-core/git-archimport
packageEntries cvs \
bin/git-cvsserver \
documentation/packages/git/html/git-cvsexportcommit.html \
documentation/packages/git/html/git-cvsimport.html \
documentation/packages/git/html/git-cvsserver.html \
documentation/man/man1/git-cvsexportcommit.1 \
documentation/man/man1/git-cvsimport.1 \
documentation/man/man1/git-cvsserver.1 \
documentation/man/man7/gitcvs-migration.7 \
lib/git-core/git-cvsexportcommit \
lib/git-core/git-cvsimport \
lib/git-core/git-cvsserver
packageEntries daemon \
documentation/packages/git/html/git-credential-cache--daemon.html \
documentation/packages/git/html/git-credential-cache.html \
documentation/packages/git/html/git-daemon.html \
documentation/man/man1/git-credential-cache--daemon.1 \
documentation/man/man1/git-credential-cache.1 \
documentation/man/man1/git-daemon.1 \
lib/git-core/git-credential-cache--daemon \
lib/git-core/git-credential-cache \
lib/git-core/git-daemon
packageEntries email \
documentation/packages/git/html/git-send-email.html \
documentation/man/man1/git-send-email.1 \
lib/git-core/git-send-email
packageEntries svn \
documentation/packages/git/html/git-svn.html \
documentation/man/man1/git-svn.1 \
lib/git-core/git-svn
}

View File

@@ -1,29 +0,0 @@
DESCRIPTION="git a fast version control system"
HOMEPAGE="http://git-scm.com/"
SRC_URI="http://git-core.googlecode.com/files/git-1.7.11.3.tar.gz"
CHECKSUM_MD5="23caacd9f3f421b6c05b40796df3505d"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="net-misc/curl >= 7.20.0
dev-lang/perl >= 5.10.1
dev-vcs/gitdoc == 1.7.11.3"
BUILD()
{
cd git-1.7.11.3
make strip
}
INSTALL()
{
cd git-1.7.11.3
make install
}
TEST()
{
cd git-1.7.11.3
make check
}
LICENSE="GNU GPL v2"
COPYRIGHT="2005-2012 Git Authors (see git web site for list)"

View File

@@ -1,29 +0,0 @@
DESCRIPTION="git a fast version control system"
HOMEPAGE="http://git-scm.com/"
SRC_URI="http://git-core.googlecode.com/files/git-1.8.0.tar.gz"
CHECKSUM_MD5="12f4d20f34ae37086d86dd3b9d037bba"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="net-misc/curl >= 7.20.0
dev-lang/perl >= 5.10.1
dev-vcs/gitdoc == 1.8.0"
BUILD()
{
cd git-1.8.0
make strip
}
INSTALL()
{
cd git-1.8.0
make install
}
TEST()
{
cd git-1.8.0
make check
}
LICENSE="GNU GPL v2"
COPYRIGHT="2005-2012 Git Authors (see git web site for list)"

View File

@@ -1,29 +0,0 @@
DESCRIPTION="git a fast version control system"
HOMEPAGE="http://git-scm.com/"
SRC_URI="http://git-core.googlecode.com/files/git-1.8.1.3.tar.gz"
CHECKSUM_MD5="05fb5ea3792a51cef2becc8d06ea9b87"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND="net-misc/curl >= 7.20.0
dev-lang/perl >= 5.10.1
dev-vcs/gitdoc == 1.8.0"
BUILD()
{
cd git-1.8.1.3
make strip
}
INSTALL()
{
cd git-1.8.1.3
make install
}
TEST()
{
cd git-1.8.1.3
make check
}
LICENSE="GNU GPL v2"
COPYRIGHT="2005-2013 Git Authors (see git web site for list)"

View File

@@ -0,0 +1,222 @@
SUMMARY="Fast, scalable, distributed revision control system"
DESCRIPTION="Git is a free and open source distributed version control system \
designed to handle everything from small to very large projects with speed \
and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. \
It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with \
features like cheap local branching, convenient staging areas, and multiple \
workflows."
HOMEPAGE="http://git-scm.com/"
LICENSE="GNU GPL v2"
COPYRIGHT="2005-2015 Git Authors (see git web site for list)"
SRC_URI="https://www.kernel.org/pub/software/scm/git/git-$portVersion.tar.gz"
CHECKSUM_SHA256="e9e50d0d382183a9327d39334eb65db92852208e1438aab2a9bf8d06ef17b653"
PATCHES="git-$portVersion.patchset"
SRC_URI_2="https://www.kernel.org/pub/software/scm/git/git-manpages-$portVersion.tar.gz"
CHECKSUM_SHA256_2="c9340fad1f521f3782abca4839d66bfee237f3e931856413561cf1b55fc9d550"
SRC_URI_3="https://www.kernel.org/pub/software/scm/git/git-htmldocs-$portVersion.tar.gz"
CHECKSUM_SHA256_3="7f5eb11cf3dd5abb4705fb91f52c78ff4265b2e2eb15948cef311b3e04896d1c"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
git = $portVersion compat >= 2.2
cmd:git = $portVersion compat >= 2.2
cmd:git_receive_pack = $portVersion compat >= 2.2
cmd:git_shell = $portVersion compat >= 2.2
cmd:git_upload_archive = $portVersion compat >= 2.2
cmd:git_upload_pack = $portVersion compat >= 2.2
"
PROVIDES_arch="
git_arch = $portVersion compat >= 2.2
cmd:git_archimport = $portVersion compat >= 2.2
"
PROVIDES_cvs="
git_cvs = $portVersion compat >= 2.2
cmd:git_cvsimport = $portVersion compat >= 2.2
cmd:git_cvsserver = $portVersion compat >= 2.2
"
PROVIDES_daemon="
git_daemon = $portVersion compat >= 2.2
cmd:git_daemon = $portVersion compat >= 2.2
"
PROVIDES_email="
git_email = $portVersion compat >= 2.2
cmd:git_send_email = $portVersion compat >= 2.2
"
PROVIDES_source="
git_source = $portVersion compat >= 2.2
"
PROVIDES_svn="
git_svn = $portVersion compat >= 2.2
cmd:git_svn = $portVersion compat >= 2.2
"
REQUIRES="
haiku
cmd:man
cmd:nano
cmd:perl >= 5
cmd:python
lib:libcurl
lib:libexpat
lib:libiconv
lib:libintl
lib:libpcre
lib:libssl
lib:libz
vendor_perl
"
REQUIRES_arch="
haiku
git == $portVersion base
"
REQUIRES_cvs="
haiku
git == $portVersion base
cmd:cvsps
"
REQUIRES_daemon="
haiku
git == $portVersion base
"
REQUIRES_email="
haiku
git == $portVersion base
"
REQUIRES_svn="
haiku
git == $portVersion base
"
BUILD_REQUIRES="
cmd:man
cmd:nano
cmd:perl
devel:libcurl
devel:libexpat
devel:libiconv
devel:libintl
devel:libpcre
devel:libssl
devel:libz
"
BUILD_PREREQUIRES="
haiku_devel
cmd:find
cmd:gcc
cmd:gettext
cmd:ld
cmd:make
cmd:msgfmt
cmd:sed
cmd:tar
"
USER_SETTINGS_FILES="
settings/git directory
"
makeGit()
{
make prefix=$prefix \
bindir_relative=$relativeBinDir \
mandir=$manDir \
infodir=$infoDir \
gitexecdir=$libDir/git-core \
sharedir=$dataDir \
template_dir=$dataDir/git-core/templates \
htmldir=$docDir \
sysconfdir=$sysconfDir \
PTHREAD_LIBS= \
USE_LIBPCRE=YesPlease \
NO_D_TYPE_IN_DIRENT=YesPlease \
NO_MEMMEM=YesPlease \
NO_MKSTEMPS=YesPlease \
NEEDS_LIBICONV=YesPlease \
NO_R_TO_GCC_LINKER=YesPlease \
GNU_ROFF=YesPlease \
PERL_PATH=$portPackageLinksDir/cmd~perl/bin/perl \
NO_PYTHON=YesPlease \
NO_TCLTK=YesPlease \
OBJECT_CREATION_USES_RENAMES=YesPlease \
NO_CROSS_DIRECTORY_HARDLINKS=YesPlease \
NO_INSTALL_HARDLINKS=YesPlease \
HAVE_DEV_TTY=YesPlease \
DEFAULT_EDITOR=nano \
BASIC_LDFLAGS="-lnetwork -lbsd" \
"$@"
}
BUILD()
{
makeGit $jobArgs
makeGit strip
}
INSTALL()
{
makeGit install
# copy manpages
mkdir -p $manDir
cp -rd $sourceDir2/* $manDir/
# copy html documentation
htmlDir=$docDir/html
mkdir -p $htmlDir
cp -rd $sourceDir3/*.html $htmlDir/
rm $htmlDir/git-gui.html
# replace copies of git binaries with symlinks
cd $binDir
for program in git*; do
ln -sfn "../lib/git-core/$program" "$program"
done
packageEntries arch \
documentation/packages/git/html/git-archimport.html \
documentation/man/man1/git-archimport.1 \
lib/git-core/git-archimport
packageEntries cvs \
bin/git-cvsserver \
documentation/packages/git/html/git-cvsexportcommit.html \
documentation/packages/git/html/git-cvsimport.html \
documentation/packages/git/html/git-cvsserver.html \
documentation/man/man1/git-cvsexportcommit.1 \
documentation/man/man1/git-cvsimport.1 \
documentation/man/man1/git-cvsserver.1 \
documentation/man/man7/gitcvs-migration.7 \
lib/git-core/git-cvsexportcommit \
lib/git-core/git-cvsimport \
lib/git-core/git-cvsserver
packageEntries daemon \
documentation/packages/git/html/git-credential-cache--daemon.html \
documentation/packages/git/html/git-credential-cache.html \
documentation/packages/git/html/git-daemon.html \
documentation/man/man1/git-credential-cache--daemon.1 \
documentation/man/man1/git-credential-cache.1 \
documentation/man/man1/git-daemon.1 \
lib/git-core/git-credential-cache--daemon \
lib/git-core/git-credential-cache \
lib/git-core/git-daemon
packageEntries email \
documentation/packages/git/html/git-send-email.html \
documentation/man/man1/git-send-email.1 \
lib/git-core/git-send-email
packageEntries svn \
documentation/packages/git/html/git-svn.html \
documentation/man/man1/git-svn.1 \
lib/git-core/git-svn
}

View File

@@ -1,43 +0,0 @@
diff -up git-1.7.10.2/Makefile.orig git-1.7.10.2/Makefile
--- git-1.7.10.2/Makefile.orig 2012-05-11 14:25:45.066322432 -0600
+++ git-1.7.10.2/Makefile 2012-05-19 12:53:42.392429568 -0600
@@ -1242,6 +1242,27 @@ ifeq ($(uname_S),Minix)
NO_CURL =
NO_EXPAT =
endif
+ifeq ($(uname_S),Haiku)
+ NO_CROSS_DIRECTORY_HARDLINKS = YesPlease
+ NO_GETTEXT = YesPlease
+ NO_ICONV = YesPlease
+ NO_LIBGEN_H = YesPlease
+ NO_MEMMEM = YesPlease
+ NO_MKSTEMPS = YesPlease
+ NO_TCLTK = YesPlease
+ PTHREAD_LIBS =
+ BASIC_LDFLAGS += -lnetwork -lbsd
+ DEFAULT_EDITOR = nano
+ PERL_PATH = $(portPackageLinksDir)/perl/bin/perl
+ PYTHON_PATH = $(portPackageLinksDir)/python/bin/python
+ prefix = $(portPackageLinksDir)/.self
+ mandir = $(manDir)
+ infodir = $(infoDir)
+ htmldir = $(docDir)
+ gitexecdir = $(libDir)/git-core
+ gitwebdir = $(dataDir)/gitweb
+ template_dir = $(dataDir)/git-core/templates
+endif
ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ;
NO_PREAD = YesPlease
diff -up git-1.7.10.2/git-web--browse.sh.orig git-1.7.10.2/git-web--browse.sh
--- git-1.7.10.2/git-web--browse.sh.orig 2012-05-11 14:25:45.053477376 -0600
+++ git-1.7.10.2/git-web--browse.sh 2012-05-19 12:53:42.405536768 -0600
@@ -116,7 +116,7 @@ if test -z "$browser" ; then
browser_candidates="konqueror $browser_candidates"
fi
else
- browser_candidates="w3m elinks links lynx"
+ browser_candidates="w3m elinks links lynx open"
fi
# SECURITYSESSIONID indicates an OS X GUI login session
if test -n "$SECURITYSESSIONID" \

View File

@@ -1,47 +0,0 @@
diff -up git-1.7.11.3/Makefile.orig git-1.7.11.3/Makefile
--- git-1.7.11.3/Makefile.orig 2012-07-22 14:44:07.027525120 -0600
+++ git-1.7.11.3/Makefile 2012-07-28 22:12:40.271056896 -0600
@@ -1297,6 +1297,31 @@ ifeq ($(uname_S),Minix)
NO_CURL =
NO_EXPAT =
endif
+ifeq ($(uname_S),Haiku)
+ NO_LIBGEN_H = YesPlease
+ NO_MEMMEM = YesPlease
+ NO_MKSTEMPS = YesPlease
+ NEEDS_LIBICONV = YesPlease
+ PERL_PATH = perl
+ PYTHON_PATH = python
+# TCL_PATH = tclsh
+ mandir = /boot/common/documentation/man
+ infodir = /boot/common/documentation/info
+ htmldir = /boot/common/documentation/doc/git-1.7.11.3
+ gitexecdir = /boot/common/bin/git-core
+ gitwebdir = /boot/common/data/gitweb
+ template_dir = /boot/common/data/git-core/templates
+ NO_TCLTK = YesPlease
+ DEFAULT_EDITOR = nano
+ CURL_DIR = /boot/common
+ EXPAT_DIR = /boot/common
+ BASIC_CFLAGS += -I/boot/common/include
+ BASIC_LDFLAGS += -lnetwork -lbsd -L/boot/common/lib
+ PTHREAD_LIBS =
+ prefix = /boot/common
+ NO_CROSS_DIRECTORY_HARDLINKS = YesPlease
+ NO_GETTEXT = YesPlease
+endif
ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ;
NO_PREAD = YesPlease
diff -up git-1.7.11.3/git-web--browse.sh.orig git-1.7.11.3/git-web--browse.sh
--- git-1.7.11.3/git-web--browse.sh.orig 2012-07-22 14:44:07.017039360 -0600
+++ git-1.7.11.3/git-web--browse.sh 2012-07-28 22:12:40.283115520 -0600
@@ -116,7 +116,7 @@ if test -z "$browser" ; then
browser_candidates="konqueror $browser_candidates"
fi
else
- browser_candidates="w3m elinks links lynx"
+ browser_candidates="w3m elinks links lynx open"
fi
# SECURITYSESSIONID indicates an OS X GUI login session
if test -n "$SECURITYSESSIONID" \

View File

@@ -1,47 +0,0 @@
diff -up git-1.8.0/Makefile.orig git-1.8.0/Makefile
--- git-1.8.0/Makefile.orig 2012-10-21 15:32:15.034078720 -0600
+++ git-1.8.0/Makefile 2012-11-04 15:47:49.335020032 -0700
@@ -1382,6 +1382,31 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
# RFE 10-120912-4693 submitted to HP NonStop development.
NO_SETITIMER = UnfortunatelyYes
endif
+ifeq ($(uname_S),Haiku)
+ NO_LIBGEN_H = YesPlease
+ NO_MEMMEM = YesPlease
+ NO_MKSTEMPS = YesPlease
+ NEEDS_LIBICONV = YesPlease
+ PERL_PATH = perl
+ PYTHON_PATH = python
+# TCL_PATH = tclsh
+ mandir = /boot/common/documentation/man
+ infodir = /boot/common/documentation/info
+ htmldir = /boot/common/documentation/doc/git-1.8.0
+ gitexecdir = /boot/common/bin/git-core
+ gitwebdir = /boot/common/data/gitweb
+ template_dir = /boot/common/data/git-core/templates
+ NO_TCLTK = YesPlease
+ DEFAULT_EDITOR = nano
+ CURL_DIR = /boot/common
+ EXPAT_DIR = /boot/common
+ BASIC_CFLAGS += -I/boot/common/include
+ BASIC_LDFLAGS += -lnetwork -lbsd -L/boot/common/lib
+ PTHREAD_LIBS =
+ prefix = /boot/common
+ NO_CROSS_DIRECTORY_HARDLINKS = YesPlease
+ NO_GETTEXT = YesPlease
+endif
ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ;
NO_PREAD = YesPlease
diff -up git-1.8.0/git-web--browse.sh.orig git-1.8.0/git-web--browse.sh
--- git-1.8.0/git-web--browse.sh.orig 2012-10-21 15:32:15.028311552 -0600
+++ git-1.8.0/git-web--browse.sh 2012-11-04 15:47:49.345505792 -0700
@@ -116,7 +116,7 @@ if test -z "$browser" ; then
browser_candidates="konqueror $browser_candidates"
fi
else
- browser_candidates="w3m elinks links lynx"
+ browser_candidates="w3m elinks links lynx open"
fi
# SECURITYSESSIONID indicates an OS X GUI login session
if test -n "$SECURITYSESSIONID" \

View File

@@ -1,47 +0,0 @@
diff -up git-1.8.1.3/Makefile.orig git-1.8.0/Makefile
--- git-1.8.1.3/Makefile.orig
+++ git-1.8.1.3/Makefile
@@ -1382,6 +1382,31 @@ ifeq ($(uname_S),NONSTOP_KERNEL)
# RFE 10-120912-4693 submitted to HP NonStop development.
NO_SETITIMER = UnfortunatelyYes
endif
+ifeq ($(uname_S),Haiku)
+ NO_LIBGEN_H = YesPlease
+ NO_MEMMEM = YesPlease
+ NO_MKSTEMPS = YesPlease
+ NEEDS_LIBICONV = YesPlease
+ PERL_PATH = perl
+ PYTHON_PATH = python
+# TCL_PATH = tclsh
+ mandir = /boot/common/documentation/man
+ infodir = /boot/common/documentation/info
+ htmldir = /boot/common/documentation/doc/git-1.8.0
+ gitexecdir = /boot/common/bin/git-core
+ gitwebdir = /boot/common/data/gitweb
+ template_dir = /boot/common/data/git-core/templates
+ NO_TCLTK = YesPlease
+ DEFAULT_EDITOR = nano
+ CURL_DIR = /boot/common
+ EXPAT_DIR = /boot/common
+ BASIC_CFLAGS += -I/boot/common/include
+ BASIC_LDFLAGS += -lnetwork -lbsd -L/boot/common/lib
+ PTHREAD_LIBS =
+ prefix = /boot/common
+ NO_CROSS_DIRECTORY_HARDLINKS = YesPlease
+ NO_GETTEXT = YesPlease
+endif
ifneq (,$(findstring MINGW,$(uname_S)))
pathsep = ;
NO_PREAD = YesPlease
diff -up git-1.8.1.3/git-web--browse.sh.orig git-1.8.0/git-web--browse.sh
--- git-1.8.1.3/git-web--browse.sh.orig
+++ git-1.8.1.3/git-web--browse.sh
@@ -116,7 +116,7 @@ if test -z "$browser" ; then
browser_candidates="konqueror $browser_candidates"
fi
else
- browser_candidates="w3m elinks links lynx"
+ browser_candidates="w3m elinks links lynx open"
fi
# SECURITYSESSIONID indicates an OS X GUI login session
if test -n "$SECURITYSESSIONID" \

View File

@@ -0,0 +1,147 @@
From ee8b7c8ecc7ea2cd35a3e1c298c7afaf8823e048 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Tue, 13 Aug 2013 08:07:25 +0200
Subject: [PATCH 1/5] git-web--browse.sh: use "open" on Haiku
---
git-web--browse.sh | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/git-web--browse.sh b/git-web--browse.sh
index ae15253..1f6e306 100755
--- a/git-web--browse.sh
+++ b/git-web--browse.sh
@@ -132,6 +132,10 @@ if test -z "$browser" ; then
if test -x /usr/bin/cygstart; then
browser_candidates="cygstart $browser_candidates"
fi
+ # /boot/system/haiku_loader indicates Haiku
+ if test -f /boot/system/haiku_loader; then
+ browser_candidates="open $browser_candidates"
+ fi
for i in $browser_candidates; do
init_browser_path $i
--
1.8.3.4
From a7f24c225e8b75abf52d07f73625ea404503b475 Mon Sep 17 00:00:00 2001
From: Ingo Weinhold <ingo_weinhold@gmx.de>
Date: Mon, 19 Jan 2015 15:37:16 -0500
Subject: [PATCH 2/5] On Haiku use the user settings directory instead of HOME
---
path.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/path.c b/path.c
index e608993..ee5831c 100644
--- a/path.c
+++ b/path.c
@@ -5,6 +5,11 @@
#include "strbuf.h"
#include "string-list.h"
+#ifdef __HAIKU__
+# include <FindDirectory.h>
+# include <StorageDefs.h>
+#endif
+
static int get_st_mode_bits(const char *path, int *mode)
{
struct stat st;
@@ -132,6 +137,19 @@ char *git_path(const char *fmt, ...)
void home_config_paths(char **global, char **xdg, char *file)
{
+#ifdef __HAIKU__
+ char settingsPath[B_PATH_NAME_LENGTH];
+
+ *xdg = NULL;
+
+ if (global) {
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, true, settingsPath,
+ sizeof(settingsPath)) == B_OK) {
+ *global = mkpathdup("%s/git/%s", settingsPath, file);
+ } else
+ *global = NULL;
+ }
+#else
char *xdg_home = getenv("XDG_CONFIG_HOME");
char *home = getenv("HOME");
char *to_free = NULL;
@@ -156,6 +174,7 @@ void home_config_paths(char **global, char **xdg, char *file)
}
free(to_free);
+#endif
}
char *git_path_submodule(const char *path, const char *fmt, ...)
--
1.8.3.4
From b2890c33ea7dff56b4060394673d36746ad4e448 Mon Sep 17 00:00:00 2001
From: Oliver Tappe <zooey@hirschkaefer.de>
Date: Mon, 19 Jan 2015 15:50:09 -0500
Subject: [PATCH 3/5] Ensure config-directory exists before using it.
---
config.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/config.c b/config.c
index 752e2e2..1e07f5c 100644
--- a/config.c
+++ b/config.c
@@ -1934,6 +1934,7 @@ int git_config_set_multivar_in_file(const char *config_filename,
int ret;
struct lock_file *lock = NULL;
char *filename_buf = NULL;
+ char *config_dir = NULL;
/* parse-key returns negative; flip the sign to feed exit(3) */
ret = 0 - git_config_parse_key(key, &store.key, &store.baselen);
@@ -1945,6 +1946,12 @@ int git_config_set_multivar_in_file(const char *config_filename,
if (!config_filename)
config_filename = filename_buf = git_pathdup("config");
+ config_dir = xstrdup(config_filename);
+ * find_last_dir_sep(config_dir) = '\0';
+ if (access(config_dir, F_OK) != 0)
+ mkdir(config_dir, 0755);
+ free(config_dir);
+
/*
* The lock serves a purpose in addition to locking: the new
* contents of .git/config will be written into it.
--
1.8.3.4
From 089d55aa7d52ac66b9639b47b0be062851bfbda2 Mon Sep 17 00:00:00 2001
From: Augustin Cavalier <waddlesplash@gmail.com>
Date: Mon, 19 Jan 2015 16:40:30 -0500
Subject: [PATCH 4/5] Don't use __builtin_ctzll on GCC2.
---
ewah/ewok.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/ewah/ewok.h b/ewah/ewok.h
index f6ad190..ca059c9 100644
--- a/ewah/ewok.h
+++ b/ewah/ewok.h
@@ -47,7 +47,7 @@ static inline uint32_t ewah_bit_popcount64(uint64_t x)
return (x * 0x0101010101010101ULL) >> 56;
}
-#ifdef __GNUC__
+#if defined(__GNUC__) && __GNUC__ >= 3
#define ewah_bit_ctz64(x) __builtin_ctzll(x)
#else
static inline int ewah_bit_ctz64(uint64_t x)
--
1.8.3.4

View File

@@ -0,0 +1,50 @@
SUMMARY="A port of bsnes to the libretro architecture"
DESCRIPTION="bsnes is a SNES, NES, and Game Boy (DMG), Color, and Advance \
emulator. It has a focus on accuracy, but also on speed and can also emulate \
the Super Game Boy."
HOMEPAGE="http://wiki.libretro.com/index.php?title=Bsnes"
SRC_URI="https://github.com/libretro/bsnes-libretro/archive/4a98250c9bf814d3b48ae8e7836a72115823c05a.tar.gz"
CHECKSUM_SHA256="ae3742fdffce9581ff92ce56bd407dd53afe60efa6efa044bde79f3d89629c39"
SOURCE_DIR="bsnes-libretro-4a98250c9bf814d3b48ae8e7836a72115823c05a"
REVISION="1"
LICENSE="GNU GPL v3"
COPYRIGHT="2014-2015 byuu, the libretro team"
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"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
bsnes_libretro$secondaryArchSuffix = $portVersion
lib:bsnes_libretro$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libstdc++$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc$secondaryArchSuffix
"
BUILD()
{
make $jobArgs ui=target-libretro
}
INSTALL()
{
mkdir -p $libDir
cp -a out/bsnes_libretro.so $libDir
}

View File

@@ -0,0 +1,119 @@
From 56a7340a68473a078cc321d4c50bf8a0d1628efd Mon Sep 17 00:00:00 2001
From: Puck Meerburg <puck@puckipedia.nl>
Date: Sat, 17 Jan 2015 19:54:22 +0100
Subject: Fix Haiku build
diff --git a/Makefile b/Makefile
index 70f3e6d..96e38da 100644
--- a/Makefile
+++ b/Makefile
@@ -47,6 +47,9 @@ ifeq ($(findstring libretro,$(ui)),)
ifeq ($(platform),x)
flags += -march=native
link += -Wl,-export-dynamic -ldl -lX11 -lXext
+ else ifeq ($(platform),haiku)
+ flags += -march=native
+ link += -Wl,-export-dynamic
else ifeq ($(platform),win)
ifeq ($(arch),win32)
flags += -m32
diff --git a/nall/Makefile b/nall/Makefile
index 4e12a39..051cfe2 100755
--- a/nall/Makefile
+++ b/nall/Makefile
@@ -25,6 +25,9 @@ ifeq ($(platform),)
else ifneq ($(findstring Darwin,$(uname)),)
platform := osx
delete = rm -f $1
+ else ifneq ($(findstring Haiku,$(uname)),)
+ platform := haiku
+ delete = rm -f $1
else
platform := unix
delete = rm -f $1
diff --git a/nall/directory.hpp b/nall/directory.hpp
index 45a062c..d711554 100644
--- a/nall/directory.hpp
+++ b/nall/directory.hpp
@@ -190,12 +190,18 @@ private:
while(ep = readdir(dp)) {
if(!strcmp(ep->d_name, ".")) continue;
if(!strcmp(ep->d_name, "..")) continue;
+#if defined(PLATFORM_HAIKU)
+ struct stat sp = {0};
+ stat(string{pathname, ep->d_name}, &sp);
+ bool is_directory = S_ISDIR(sp.st_mode);
+#else
bool is_directory = ep->d_type & DT_DIR;
if(ep->d_type & DT_UNKNOWN) {
struct stat sp = {0};
stat(string{pathname, ep->d_name}, &sp);
is_directory = S_ISDIR(sp.st_mode);
}
+#endif
if(is_directory) {
if(strmatch(ep->d_name, pattern)) list.append(ep->d_name);
}
@@ -215,7 +221,13 @@ private:
while(ep = readdir(dp)) {
if(!strcmp(ep->d_name, ".")) continue;
if(!strcmp(ep->d_name, "..")) continue;
+#if defined(PLATFORM_HAIKU)
+ struct stat sp = {0};
+ stat(string{pathname, ep->d_name}, &sp);
+ if(S_ISDIR(sp.st_mode)) {
+#else
if((ep->d_type & DT_DIR) == 0) {
+#endif
if(strmatch(ep->d_name, pattern)) list.append(ep->d_name);
}
}
diff --git a/nall/intrinsics.hpp b/nall/intrinsics.hpp
index db44996..e3dc078 100755
--- a/nall/intrinsics.hpp
+++ b/nall/intrinsics.hpp
@@ -3,7 +3,7 @@
struct Intrinsics {
enum class Compiler : unsigned { Clang, GCC, VisualCPP, Unknown };
- enum class Platform : unsigned { Windows, MacOSX, X, Unknown }; //X = Linux, BSD, etc
+ enum class Platform : unsigned { Windows, MacOSX, X, BeAPI, Unknown }; //X = Linux, BSD, etc
enum class Architecture : unsigned { x86, amd64, ARM, Unknown };
enum class Endian : unsigned { LSB, MSB, Unknown };
@@ -38,6 +38,9 @@ struct Intrinsics {
#elif defined(linux) || defined(__linux__) || defined(__sun__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__GNU__)
#define PLATFORM_X
Intrinsics::Platform Intrinsics::platform() { return Intrinsics::Platform::X; }
+#elif defined(__HAIKU__)
+ #define PLATFORM_HAIKU
+ Intrinsics::Platform Intrinsics::platform() { return Intrinsics::Platform::BeAPI; }
#else
#warning "unable to detect platform"
#define PLATFORM_UNKNOWN
diff --git a/target-libretro/Makefile b/target-libretro/Makefile
index b923e2b..66bf743 100755
--- a/target-libretro/Makefile
+++ b/target-libretro/Makefile
@@ -7,6 +7,8 @@ output := libretro
ifeq ($(platform),unix)
flags += -fPIC
+else ifeq ($(platform),haiku)
+ flags += -fPIC
else ifeq ($(platform),osx)
flags += -fPIC
else ifeq ($(platform),ios)
@@ -35,6 +37,8 @@ obj/libretro.o: $(ui)/libretro.cpp $(ui)/*
build: $(objects)
ifeq ($(platform),unix)
$(compiler) -o out/bsnes_libretro.so -shared $(objects) -ldl -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
+else ifeq ($(platform),haiku)
+ $(compiler) -o out/bsnes_libretro.so -shared $(objects) -lnetwork -Wl,--no-undefined -Wl,--version-script=$(ui)/link.T
else ifeq ($(platform),ios)
$(compiler) -o out/bsnes_libretro_ios.dylib -dynamiclib $(objects) -isysroot $(IOSSDK) -arch armv7
else ifeq ($(platform),osx)
--
1.8.3.4

View File

@@ -0,0 +1,35 @@
From 4a135acf9cafd827f1a59ecdf268253848ca80b7 Mon Sep 17 00:00:00 2001
From: Puck Meerburg <puck@puckipedia.nl>
Date: Sat, 17 Jan 2015 18:58:21 +0100
Subject: FFMPEG record driver: Fix Haiku build
diff --git a/record/ffmpeg.c b/record/ffmpeg.c
index f0099e0..6f17aa4 100644
--- a/record/ffmpeg.c
+++ b/record/ffmpeg.c
@@ -27,7 +27,9 @@ extern "C" {
#include <libavutil/avutil.h>
#include <libavutil/avstring.h>
#include <libavutil/opt.h>
+#ifndef __HAIKU__
#include <libavutil/version.h>
+#endif
#include <libavformat/avformat.h>
#ifdef HAVE_AV_CHANNEL_LAYOUT
#include <libavutil/channel_layout.h>
@@ -56,7 +58,10 @@ extern "C" {
#include <time.h>
#endif
-#if LIBAVUTIL_VERSION_INT <= AV_VERSION_INT(52, 9, 0)
+#if defined(__HAIKU__)
+#define av_frame_alloc avcodec_alloc_frame
+#define av_frame_free av_free
+#elif LIBAVUTIL_VERSION_INT <= AV_VERSION_INT(52, 9, 0)
#define av_frame_alloc avcodec_alloc_frame
#define av_frame_free avcodec_free_frame
#endif
--
1.8.3.4

View File

@@ -0,0 +1,81 @@
SUMMARY="The reference frontend of libretro"
DESCRIPTION="RetroArch is a frontend for the libretro specification for \
emulation. Libretro supports easy creation of emulators, but people can also \
make their own frontends and plug existing emulators. It also supports OpenGL \
shaders and other cool stuff."
HOMEPAGE="https://libretro.com"
SRC_URI="https://github.com/libretro/RetroArch/archive/1.0.0.3-beta.tar.gz"
CHECKSUM_SHA256="bd5be24d81c214db036b756e222f5a8e5cddd3e1c1a2a98180317673c0ca0cc7"
SOURCE_DIR="RetroArch-1.0.0.3-beta"
REVISION="1"
LICENSE="GNU GPL v3"
COPYRIGHT="2010-2015 The RetroArch Team"
PATCHES="retroarch-1.0.0.3_beta.patchset"
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"
else
ARCHITECTURES="$ARCHITECTURES !x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
retroarch$secondaryArchSuffix = $portVersion
app:retroarch$secondaryArchSuffix = $portVersion
cmd:retroarch$secondaryArchSuffix = $portVersion
cmd:retroarch_joyconfig$secondaryArchSuffix = $portVersion
"
PROVIDES_devel="
retroarch${secondaryArchSuffix}_devel = $portVersion
devel:retroarch$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libsdl2$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
ffmpeg$secondaryArchSuffix
"
REQUIRES_devel="
haiku${secondaryArchSuffix}_devel
retroarch$secondaryArchSuffix == $portVersion base
ffmpeg${secondaryArchSuffix}_devel
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libsdl2$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:make
cmd:which
cmd:pkg_config$secondaryArchSuffix
cmd:gcc$secondaryArchSuffix
"
BUILD()
{
./configure
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir/RetroArch
mkdir -p $binDir
mkdir -p $includeDir
cp retroarch $appsDir/RetroArch
cp tools/retroarch-joyconfig $appsDir/RetroArch
symlinkRelative -s $appsDir/RetroArch/* $binDir
addAppDeskbarSymlink $appsDir/RetroArch/retroarch RetroArch
cp libretro.h $includeDir
packageEntries devel \
$developDir
}

View File

@@ -38,7 +38,9 @@ BUILD_PREREQUIRES="
cmd:automake
cmd:autoconf
"
PATCHES="abe-1.1.patch"
PATCH()
{
sed -i 's/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/g' configure.in

View File

@@ -0,0 +1,69 @@
diff --git a/src/Directories.c b/src/Directories.c
index cca0472..f43d181 100644
--- a/src/Directories.c
+++ b/src/Directories.c
@@ -7,7 +7,12 @@ getHomeUserAbe()
{
static char path[PATH_SIZE];
-#ifndef WIN32
+#ifdef WIN32
+ sprintf(path, xstr(BASE_DIR) PATH_SEP);
+#elif __HAIKU__
+ find_directory(B_USER_SETTINGS_DIRECTORY, -1, true, path, PATH_SIZE);
+ strncat(path, "/abe/", PATH_SIZE);
+#else
struct passwd *pwent;
pwent = getpwuid(getuid());
@@ -17,8 +22,6 @@ getHomeUserAbe()
}
sprintf(path, "%s%s", pwent->pw_dir, PATH_SEP ".abe" PATH_SEP);
-#else
- sprintf(path, xstr(BASE_DIR) PATH_SEP);
#endif
return path;
diff --git a/src/Directories.h b/src/Directories.h
index 3abe73e..45e8d12 100644
--- a/src/Directories.h
+++ b/src/Directories.h
@@ -9,6 +9,10 @@
#include <unistd.h>
#endif
+#ifdef __HAIKU__
+#include <FindDirectory.h>
+#endif
+
// The macros xstr(s) and str(s) were extracted from
// http://gcc.gnu.org/onlinedocs/cpp/Stringification.html
// They are used to expand BASE_DIR .
diff --git a/src/Main.c b/src/Main.c
index 2520856..a158796 100644
--- a/src/Main.c
+++ b/src/Main.c
@@ -90,12 +90,22 @@ main(int argc, char *argv[])
int intro = 0;
char *mapname;
int mapwidth, mapheight;
+ char *directory;
+ char *sep;
mainstruct.drawBackground = 1;
mainstruct.alphaBlend = 1;
mainstruct.effects_enabled = 1;
runmode = RUNMODE_SPLASH;
mainstruct.full_screen = 1;
+
+ directory = strdup(argv[0]);
+ sep = strrchr(directory, '/');
+ if (sep != NULL) {
+ *sep = '\0';
+ chdir(directory);
+ }
+ free(directory);
// my laptop can't handle fullscreen for some reason
#if defined(__APPLE__) || defined(__MACH_O__)

View File

@@ -0,0 +1,49 @@
SUMMARY="Paint & image manipuator for Haiku"
DESCRIPTION="BePhotoMagic is a resurrection of the abandoned Photon \
project and is intended to be a Photoshop-quality paint and image \
processor for BeOS."
HOMEPAGE="https://github.com/HaikuArchives/BePhotoMagic"
SRC_URI="https://github.com/HaikuArchives/BePhotoMagic/archive/3f4444736db5cc21856867b73c3bb1b6098caf88.tar.gz"
CHECKSUM_SHA256="4b1d566f00aef68edb728d73a5810ceb2efce1db257f4532a3b23951779c301c"
SOURCE_DIR="BePhotoMagic-3f4444736db5cc21856867b73c3bb1b6098caf88"
LICENSE="GNU GPL v2"
COPYRIGHT="2000 Santiago Lema
2001 Jon Yoder (DarkWyrm)"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 ?x86_64"
PROVIDES="
bephotomagic = $portVersion
app:BePhotoMagic = $portVersion
"
REQUIRES="
haiku
lib:libbz2
lib:libimagemanip
"
BUILD_REQUIRES="
haiku_devel
devel:libbz2
devel:libimagemanip
"
BUILD_PREREQUIRES="
makefile_engine
cmd:make
cmd:g++
cmd:mkdepend
"
BUILD()
{
cd src
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir
cp -R bin $appsDir
mv $appsDir/bin $appsDir/BePhotoMagic
addAppDeskbarSymlink $appsDir/BePhotoMagic/BePhotoMagic
}

View File

@@ -1,13 +1,12 @@
SUMMARY="Create GUI dialogs from shell scripts."
DESCRIPTION="
This tools is able to create various GUI dialogs. This allows for shell \
scripts to easily integrate to the system and interact with the user.
"
DESCRIPTION="This tools is able to create various GUI dialogs. This allows \
for shell scripts to easily integrate to the system and interact with the user."
HOMEPAGE="https://github.com/atalax/hdialog"
SRC_URI="git+https://github.com/atalax/hdialog#4d64128"
SRC_URI="https://github.com/atalax/hdialog/archive/v0.2.tar.gz"
CHECKSUM_SHA256="77deae4e51f522eb6735d184372222e482edec83f93c8b3ace5d5d2c100e165d"
REVISION="1"
LICENSE="MIT"
COPYRIGHT="2014 Josef Gajdusek"
COPYRIGHT="2014-2015 Josef Gajdusek"
ARCHITECTURES="x86_gcc2 x86 x86_64"
@@ -22,10 +21,10 @@ REQUIRES="
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:gcc
cmd:make
cmd:mkdepend
"
BUILD()

View File

@@ -2,13 +2,13 @@ SUMMARY="A cute mascot on the active window"
DESCRIPTION="\
Moe is a program that displays a cute mascot on the active window. \
How about mind cooler for your desktop?"
HOMEPAGE="http://web.archive.org/web/20040205093746/http://www.be-in.org/~yun/index_e.html"
HOMEPAGE="https://github.com/HaikuArchives/moe"
LICENSE="GNU GPL v2"
COPYRIGHT="2001 Okada Jun"
SRC_URI="http://web.archive.org/web/20040205093746/http://www.be-in.org/~yun/Moe/Moe1.1.2-src.zip"
CHECKSUM_SHA256="4ccbe50ab845ffa5d4e04055f9db4ffa867860c38c58d2f5bd3404982b2c04dc"
SOURCE_DIR="Moe"
REVISION="1"
SRC_URI="https://github.com/HaikuArchives/Moe/archive/68e18f359d114fbce2b0f4247a43c951becc87bc.tar.gz"
CHECKSUM_SHA256="62aaefdd298e41d865d73ed092251469a0cc63b9ed5c2e1531d0a409513d5f46"
SOURCE_DIR="Moe-68e18f359d114fbce2b0f4247a43c951becc87bc"
REVISION="2"
ARCHITECTURES="x86_gcc2 x86 x86_64"
PROVIDES="
@@ -34,36 +34,21 @@ BUILD_PREREQUIRES="
cmd:make
"
PATCHES="moe-1.1.2.patchset"
BUILD()
{
# work around git limitations...
# must recreate the attributes on the sample
addattr -t mime BEOS:TYPE image/png sample/moe.png
addattr -t mime BEOS:PREF_APP application/x-vnd.Kamnagi.Moe sample/moe.png
addattr -t float MOE:Y_RATE 0.287425 sample/moe.png
addattr -t bool MOE:Y_LOCKED 1 sample/moe.png
addattr -t float MOE:X_RATE 0.993443 sample/moe.png
addattr -t bool MOE:X_LOCKED 0 sample/moe.png
addattr -t float MOE:SIZE 1.000000 sample/moe.png
addattr -t int MOE:SIDE 0 sample/moe.png
addattr -f wink1.bin -t "'MSGG'" MOE:ANIME:WINK1 sample/moe.png
addattr -f wink2.bin -t "'MSGG'" MOE:ANIME:WINK2 sample/moe.png
cd sample
./add_attributes.sh
make
cd ../source
make OBJ_DIR=objects $jobArgs
}
INSTALL()
{
mkdir -p $appsDir/Moe
mkdir -p $appsDir/Moe $binDir
cp -a objects.*-*/Moe $appsDir/Moe
cp -a source/objects/Moe $appsDir/Moe
cp -a sample/moe.png COPYING doc $appsDir/Moe
cp -a 1stReadMe.* sample/moe.png GPL doc $appsDir/Moe
mkdir $binDir
ln -sfn $appsDir/Moe/Moe $binDir/moe
#addAppDeskbarSymlink $appsDir/Moe/Moe
}

View File

@@ -1,372 +0,0 @@
From febe68d2f67b820284dde9c2100086dbf2f68b46 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 8 Aug 2014 19:25:13 +0200
Subject: [PATCH 1/5] Restore symlinks as from the sources zip
---
1stReadMe.En | 2 +-
1stReadMe.Ja | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
mode change 100644 => 120000 1stReadMe.En
mode change 100644 => 120000 1stReadMe.Ja
diff --git a/1stReadMe.En b/1stReadMe.En
deleted file mode 100644
index 3089786..0000000
--- a/1stReadMe.En
+++ /dev/null
@@ -1 +0,0 @@
-./doc/en/index.html
\ No newline at end of file
diff --git a/1stReadMe.En b/1stReadMe.En
new file mode 120000
index 0000000..7f2873c
--- /dev/null
+++ b/1stReadMe.En
@@ -0,0 +1 @@
+doc/en/index.html
\ No newline at end of file
diff --git a/1stReadMe.Ja b/1stReadMe.Ja
deleted file mode 100644
index 02451fb..0000000
--- a/1stReadMe.Ja
+++ /dev/null
@@ -1 +0,0 @@
-./doc/ja/index.html
\ No newline at end of file
diff --git a/1stReadMe.Ja b/1stReadMe.Ja
new file mode 120000
index 0000000..a0e38c1
--- /dev/null
+++ b/1stReadMe.Ja
@@ -0,0 +1 @@
+doc/ja/index.html
\ No newline at end of file
--
1.8.3.4
From 7380810b93c752367c5f5d06934a1b5715580a66 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 8 Aug 2014 19:26:05 +0200
Subject: [PATCH 2/5] Add binary parts for the sample attributes
Those are two flattened messages in attributes on sample/moe.png
in the original zip.
---
wink1.bin | Bin 0 -> 4804 bytes
wink2.bin | Bin 0 -> 4828 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wink1.bin
create mode 100644 wink2.bin
diff --git a/wink1.bin b/wink1.bin
new file mode 100644
index 0000000000000000000000000000000000000000..5218a3956794bf486dfb066b8650dcd511e08ca7
GIT binary patch
literal 4804
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
literal 0
HcmV?d00001
diff --git a/wink2.bin b/wink2.bin
new file mode 100644
index 0000000000000000000000000000000000000000..835cd62f40e3fe8e1c88bfabd7f116babc99e023
GIT binary patch
literal 4828
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
C24-pi
literal 0
HcmV?d00001
--
1.8.3.4
From 1e75538a9134235206c46082b29ab0adf50acfa9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 8 Aug 2014 19:28:11 +0200
Subject: [PATCH 3/5] Fix makefile for Haiku
makefile engine has moved...
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 7035896..acef657 100644
--- a/Makefile
+++ b/Makefile
@@ -124,7 +124,7 @@ LINKER_FLAGS =
## include the makefile-engine
-include /boot/develop/etc/makefile-engine
+include /system/develop/etc/makefile-engine
## make backup
cin:
--
1.8.3.4
From 2071bafae26cff7c31825ba1269082b9c5d5de64 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 8 Aug 2014 19:29:18 +0200
Subject: [PATCH 4/5] Work around "ambiguous override of operator" error
---
MoeUtils.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/MoeUtils.h b/MoeUtils.h
index 34d64e6..e090620 100644
--- a/MoeUtils.h
+++ b/MoeUtils.h
@@ -53,12 +53,14 @@ operator==(const rgb_color c1, const rgb_color c2)
}
+#ifndef __HAIKU__
static inline bool
operator!=(const rgb_color c1, const rgb_color c2)
{
return *reinterpret_cast<const uint32*>(&c1) !=
*reinterpret_cast<const uint32*>(&c2);
}
+#endif
static inline rgb_color *
--
1.8.3.4
From 8a2bbd4dcf773601f135454f0eaf2d8fc204231d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 8 Aug 2014 19:29:52 +0200
Subject: [PATCH 5/5] Fix Haiku build
- _IMPEXP_BE is gone
- This BMessenger constructor is not available anymore.
---
MoeActiveWindowWatcher.cpp | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/MoeActiveWindowWatcher.cpp b/MoeActiveWindowWatcher.cpp
index 10b057c..dc44805 100644
--- a/MoeActiveWindowWatcher.cpp
+++ b/MoeActiveWindowWatcher.cpp
@@ -207,7 +207,9 @@ struct window_info {
char name[1];
};
-
+#ifndef _IMPEXP_BE
+#define _IMPEXP_BE
+#endif
_IMPEXP_BE window_info *get_window_info(int32 a_token);
_IMPEXP_BE int32 *get_token_list(team_id app, int32 *count);
@@ -257,7 +259,12 @@ get_active_window(void)
static status_t
get_window_state(window_info *winInfo, bool *active, BRect *frame)
{
+#ifdef __HAIKU__
+ BMessenger win;
+ win._SetTo(winInfo->team, winInfo->client_port, winInfo->client_token);
+#else
BMessenger win(winInfo->team, winInfo->client_port, winInfo->client_token, false);
+#endif
BMessage msg(B_GET_PROPERTY), reply;
msg.AddSpecifier("Active");
--
1.8.3.4

View File

@@ -0,0 +1,16 @@
Niue Development Environment
Copyright 2008 T. Lansbergen, All Rights Reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted for non-commercial use only.
This software is provided ``as is'' and any express or implied warranties,
including, but not limited to, the implied warranties of merchantability and
fitness for a particular purpose are disclaimed. In no event shall
authors be liable for any direct, indirect, incidental, special,
exemplary, or consequential damages (including, but not limited to,
procurement of substitute goods or services; loss of use, data, or profits;
or business interruption) however caused and on any theory of liability,
whether in contract, strict liability, or tort (including negligence or
otherwise) arising in any way out of the use of this software, even if
advised of the possibility of such damage.

View File

@@ -0,0 +1,41 @@
SUMMARY="An easy to use but powerful development environment"
DESCRIPTION="Niue is an easy to use but powerful development environment for \
Haiku. It supports project management, syntax highlighting, GUI builder and more."
HOMEPAGE="https://github.com/HaikuArchives/Niue"
SRC_URI="git+https://github.com/HaikuArchives/Niue#6745dcca121799572d0b4c98f9a006b6a657aac2"
REVISION="1"
LICENSE="Niue"
COPYRIGHT="2008 T. Lansbergen"
ARCHITECTURES="x86_gcc2"
PROVIDES="
niue = $portVersion
app:niue = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:make
cmd:gcc
cmd:mkdepend
"
BUILD()
{
mkdir Source/obj.x86
make -C Source $jobArgs
}
INSTALL()
{
mkdir -p $appsDir
cp -a Source/Niue $appsDir
addAppDeskbarSymlink $appsDir/Niue
}

View File

@@ -0,0 +1,57 @@
SUMMARY="A tool to quickly start any installed application"
DESCRIPTION="
QuickLaunch is a small launcher tool that helps you to quickly start any \
installed application (as long as it has an app-signature). Simply start \
to enter the name of an application and QuickLaunch will find all programs \
matching these initial letters and show them in a list.
You choose an app from that list with the CursorUp/Down keys and launch it \
by hitting RETURN. ESC quits QuickLaunch.
It's recommended to set a key combo to start QuickLaunch with Haiku's \
Shortcuts preferences.
"
HOMEPAGE="http://sourceforge.net/projects/quicklaunch-h/"
SRC_URI="git://git.code.sf.net/p/quicklaunch-h/code#01ca6d2e81fd63fee7715a16d87043b7d3a64798"
LICENSE="MIT"
COPYRIGHT="2014 Humdinger"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
quicklaunch = $portVersion
app:QuickLaunch = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:gcc
cmd:make
cmd:mkdepend
"
USER_SETTINGS_FILES="settings/QuickLaunch_settings"
BUILD()
{
make $jobArgs OBJ_DIR=objects
}
INSTALL()
{
quicklaunchDir=$appsDir/QuickLaunch
mkdir -p $quicklaunchDir
cp -af objects/QuickLaunch $quicklaunchDir
cp -af ReadMe.html $quicklaunchDir
cp -r images $quicklaunchDir
chmod +x Add\ to\ Deskbar.sh
cp -af Add\ to\ Deskbar.sh $quicklaunchDir
addAppDeskbarSymlink $quicklaunchDir/QuickLaunch
}

View File

@@ -0,0 +1,45 @@
SUMMARY="A small app to remember scheduled events"
DESCRIPTION="\
Remember is a small app for Haiku, which allows you to get notifications about \
events easily, by adding files into an Events folder. It will automatically \
find those and, when the time you chose has arrived, it will pop up with a \
notification, warning you about the event."
HOMEPAGE="https://github.com/HaikuArchives/Remember"
SRC_URI="https://github.com/HaikuArchives/Remember/archive/1a794865a438563ea4ce1fc9188679444cd115ef.tar.gz"
SOURCE_DIR="Remember-1a794865a438563ea4ce1fc9188679444cd115ef"
CHECKSUM_SHA256="ce1a7f0e05437a6ae069e642d234ddbf5916f58425692ab7dbb88d75ead6a29f"
REVISION="1"
LICENSE="MIT"
COPYRIGHT="2005 Michael Lotz"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
PROVIDES="
remember = $portVersion
app:remember = $portVersion
"
REQUIRES="
haiku
"
BUILD_REQUIRES="
haiku_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:make
cmd:gcc
cmd:mkdepend
"
BUILD()
{
make $jobArgs OBJ_DIR=objects
}
INSTALL()
{
mkdir -p $appsDir
cp -a objects/Remember $appsDir
addAppDeskbarSymlink $appsDir/Remember
}

View File

@@ -0,0 +1,67 @@
SUMMARY="Shared library for image manipulation"
DESCRIPTION="LibImageManip provides an easy way to create add-ons that \
transform images. Some basic add-ons are included."
HOMEPAGE="https://github.com/HaikuArchives/LibImageManip"
COPYRIGHT="2000 Edmund Vermeulen"
LICENSE="Public Domain"
SRC_URI="https://github.com/HaikuArchives/LibImageManip/archive/v$portVersion.tar.gz"
CHECKSUM_SHA256="f9aed23036fa2138c7902a9120fe01d96f6d97c02f0e67d6fa2e978a2437f9ec"
SOURCE_DIR="LibImageManip-$portVersion"
REVISION="1"
ARCHITECTURES="x86_gcc2 x86 x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
libimagemanip$secondaryArchSuffix = $portVersion
lib:libimagemanip$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:mkdepend
"
PROVIDES_devel="
libimagemanip${secondaryArchSuffix}_devel = $portVersion
devel:libimagemanip$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
libimagemanip$secondaryArchSuffix == $portVersion base
"
BUILD()
{
cd Source
make OBJ_DIR=objects $jobArgs
mkdir -p ../Addons
for i in DitherFloydSteinberg GammaCorrect MakeGray; do
cd $i
make $jobArgs
cd ..
done
}
INSTALL()
{
mkdir -p $developDocDir $includeDir $libDir $addOnsDir/ImageManip/
cp LibImageManip.html $developDocDir
cp -R Include/. $includeDir/
cp -R Addons/. $addOnsDir/ImageManip/
cp Source/objects/libimagemanip.so $libDir
prepareInstalledDevelLibs \
libimagemanip
packageEntries devel \
$developDir
}

View File

@@ -0,0 +1,61 @@
SUMMARY="Haiku framework to create Windows-style multidocument applications."
DESCRIPTION="BeMDI is a framework to emulate windows inside of other windows \
using a list of classes that emulate the windows' style. This makes it \
possible to make programs that weren't possible before."
HOMEPAGE="https://github.com/HaikuArchives/BeMDI"
SRC_URI="https://github.com/HaikuArchives/BeMDI/archive/d55bec50ba7776d0d62bcfc863f46869fedb70cf.tar.gz"
CHECKSUM_SHA256="0895dcc6dd191fc56dfed6ea93197a20e239782bda3278db21fc8022be20af2b"
SOURCE_DIR="BeMDI-d55bec50ba7776d0d62bcfc863f46869fedb70cf"
REVISION="1"
LICENSE="GNU LGPL v2.1"
COPYRIGHT="2000 3rd-evolution"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
bemdi$secondaryArchSuffix = $portVersion
lib:libmdi$secondaryArchSuffix = $portVersion
"
PROVIDES_devel="
bemdi${secondaryArchSuffix}_devel = $portVersion
devel:libmdi$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
REQUIRES_devel="
haiku${secondaryArchSuffix}_devel
bemdi$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
makefile_engine
cmd:make
cmd:gcc$secondaryArchSuffix
cmd:mkdepend
"
BUILD()
{
cd source
make $jobArgs OBJ_DIR=objects
}
INSTALL()
{
mkdir -p $libDir
mkdir -p $includeDir
cp -a source/objects/libmdi.a $libDir
cp -R headers/mdi $includeDir
prepareInstalledDevelLibs \
libmdi
packageEntries devel \
$developDir
}

View File

@@ -0,0 +1,65 @@
SUMMARY="A program to turn bitmaps into vectors"
DESCRIPTION="AutoTrace is a program that can convert bitmaps into \
close vectors. It tries to replicate the image as close as possible while \
still being usable to edit manually. It is made to compete with other \
commercial products that do the same."
HOMEPAGE="http://autotrace.sourceforge.net"
SRC_URI="http://sourceforge.net/projects/autotrace/files/AutoTrace/0.31.1/autotrace-0.31.1.tar.gz/download"
SOURCE_DIR="autotrace-0.31.1"
CHECKSUM_SHA256="5a1a923c3335dfd7cbcccb2bbd4cc3d68cafe7713686a2f46a1591ed8a92aff6"
REVISION="1"
LICENSE="GNU GPL v2"
COPYRIGHT="2000-2002 AutoTrace contributors"
PATCHES="autotrace-0.31.1.patchset"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
autotrace$secondaryArchSuffix = $portVersion
lib:libautotrace$secondaryArchSuffix = $portVersion
cmd:autotrace$secondaryArchSuffix = $portVersion
cmd:autotrace_config$secondaryArchSuffix = $portVersion
"
PROVIDES_devel="
autotrace${secondaryArchSuffix}_devel = $portVersion
devel:libautotrace$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
REQUIRES_devel="
haiku${secondaryArchSuffix}_devel
autotrace$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:make
cmd:gcc$secondaryArchSuffix
cmd:autoconf
"
BUILD()
{
autoconf
runConfigure ./configure
make $jobArgs
}
INSTALL()
{
make install
mkdir -p $developLibDir
fixPkgconfig
prepareInstalledDevelLibs \
libautotrace
packageEntries devel \
$developDir
}

File diff suppressed because it is too large Load Diff

View File

@@ -23,25 +23,26 @@ PROVIDES_devel="
"
REQUIRES="
haiku${secondaryArchSuffix}
haiku${secondaryArchSuffix}
lib:liballeg${secondaryArchSuffix} >= 4.4
"
"
BUILD_PREREQUIRES="
cmd:gcc${secondaryArchSuffix}
cmd:gcc${secondaryArchSuffix}
cmd:install
cmd:ld${secondaryArchSuffix}
cmd:make
"
cmd:ld${secondaryArchSuffix}
cmd:make
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
haiku${secondaryArchSuffix}_devel
devel:liballeg${secondaryArchSuffix} >= 4.4
"
"
SOURCE_DIR='almp3'
PATCHES="almp3-$portVersion.patchset"
BUILD()
{
make $jobArgs TARGET=HAIKU_STATIC

View File

@@ -8,7 +8,7 @@ emulators, and popular games.
HOMEPAGE="http://www.libsdl.org/"
SRC_URI="http://www.libsdl.org/release/SDL2-$portVersion.tar.gz"
CHECKSUM_SHA256="a5a69a6abf80bcce713fa873607735fe712f44276a7f048d60a61bb2f6b3c90c"
REVISION="1"
REVISION="2"
LICENSE="Zlib"
COPYRIGHT="1997-2014 Sam Lantinga"
@@ -30,7 +30,7 @@ REQUIRES="
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libGL$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
"

View File

@@ -1,4 +1,4 @@
From d6e2e7b054e8aff4979dc762b33236c4391587b0 Mon Sep 17 00:00:00 2001
From 3f0701d67fbbd5398c8c7cdbc41faa62d16aea85 Mon Sep 17 00:00:00 2001
From: Jerome Duval <jerome.duval@gmail.com>
Date: Fri, 29 Aug 2014 15:24:11 +0000
Subject: haiku patch
@@ -126,7 +126,7 @@ index 245cec1..52ee67a 100644
1.8.3.4
From 10d5f202f16294da23c5752d9a2d9d1ea238cde3 Mon Sep 17 00:00:00 2001
From 344472b0218ba8acbc535c0c456ede1c1008ad67 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Wed, 3 Sep 2014 19:22:12 +0200
Subject: Fix null pointer dereference.
@@ -149,3 +149,28 @@ index 52ee67a..2f0073d 100644
--
1.8.3.4
From 4c1fe53d13c6cada30bcb1606308487154003d9a Mon Sep 17 00:00:00 2001
From: Puck Meerburg <puck@puckipedia.nl>
Date: Sat, 17 Jan 2015 19:33:32 +0100
Subject: SDL_BApp: Make sure _current_context isn't NULL before trying to lock
it
diff --git a/src/main/haiku/SDL_BApp.h b/src/main/haiku/SDL_BApp.h
index 1e4a0f5..a13ea3b 100644
--- a/src/main/haiku/SDL_BApp.h
+++ b/src/main/haiku/SDL_BApp.h
@@ -193,7 +193,8 @@ public:
if(_current_context)
_current_context->UnlockGL();
_current_context = newContext;
- _current_context->LockGL();
+ if (_current_context)
+ _current_context->LockGL();
}
private:
/* Event management */
--
1.8.3.4

View File

@@ -1,30 +0,0 @@
DESCRIPTION="The MusicBrainz Client Library (for accessing the latest XML based web service"
HOMEPAGE="http://musicbrainz.org/doc/libmusicbrainz"
SRC_URI="https://github.com/downloads/metabrainz/libmusicbrainz/libmusicbrainz-5.0.1.tar.gz"
REVISION="1"
STATUS_HAIKU="stable"
DEPEND=""
CHECKSUM_MD5="a0406b94c341c2b52ec0fe98f57cadf3"
MESSAGE="This port only builds with gcc4. Use 'setgcc gcc4' before building."
BUILD()
{
cd libmusicbrainz-5.0.1
cmake .
make
}
INSTALL()
{
cd libmusicbrainz-5.0.1
make install
}
TEST()
{
cd libmusicbrainz-5.0.1
make test
}
LICENSE="GNU LGPL v2.1"
COPYRIGHT="2012 Andrew Hawkins"

View File

@@ -0,0 +1,63 @@
SUMMARY="Lookup capabilities for music files"
DESCRIPTION="The MusicBrainz Client Library (libmusicbrainz), also known as \
mb_client, is a development library geared towards developers who wish to \
add MusicBrainz lookup capabilities to their applications."
REVISION="1"
HOMEPAGE="http://musicbrainz.org/doc/libmusicbrainz"
SRC_URI="https://github.com/metabrainz/libmusicbrainz/releases/download/release-5.1.0/libmusicbrainz-5.1.0.tar.gz"
CHECKSUM_SHA256="6749259e89bbb273f3f5ad7acdffb7c47a2cf8fcaeab4c4695484cef5f4c6b46"
COPYRIGHT="2012 Andrew Hawkins"
LICENSE="GNU LGPL v2.1"
ARCHITECTURES="x86_gcc2 x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
musicbrainz$secondaryArchSuffix = $portVersion
lib:libmusicbrainz5$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libneon$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libneon$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:gcc$secondaryArchSuffix
cmd:cmake
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
PATCHES="musicbrainz-5.1.0.patchset"
SOURCE_DIR="libmusicbrainz-$portVersion"
BUILD() {
cmake . -DCMAKE_INSTALL_PREFIX=$prefix
make
}
INSTALL() {
make install
prepareInstalledDevelLibs libmusicbrainz5
fixPkgconfig
packageEntries devel \
$developDir
}
PROVIDES_devel="
musicbrainz${secondaryArchSuffix}_devel = $portVersion
devel:libmusicbrainz5$secondaryArchSuffix = $portVersion
"
REQUIRES_devel="
musicbrainz$secondaryArchSuffix == $portVersion base
"

View File

@@ -0,0 +1,104 @@
From 5b985f20b6ac7aafaaccba676aeda2770b0794ed Mon Sep 17 00:00:00 2001
From: Theodore Kokkoris <t.kokkoris@gmail.com>
Date: Sat, 17 Jan 2015 17:23:20 +0200
Subject: [PATCH 1/4] Add secondary arch suffix to library path
---
CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 384cb65..32770df 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@ SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
FIND_PACKAGE(Neon REQUIRED)
FIND_PACKAGE(LibXml2 REQUIRED)
-SET(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
+SET(LIB_SUFFIX "${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}" CACHE STRING "Define suffix of directory name (32/64)")
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE)
--
1.8.3.4
From 43f6063c57e697082e7942248ee471677e157f50 Mon Sep 17 00:00:00 2001
From: Theodore Kokkoris <t.kokkoris@gmail.com>
Date: Sat, 17 Jan 2015 17:25:04 +0200
Subject: [PATCH 2/4] Change header installation directory on Haiku
---
CMakeLists.txt | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 32770df..a3550a1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,7 +26,11 @@ SET(LIB_SUFFIX "${CMAKE_HAIKU_SECONDARY_ARCH_SUBDIR}" CACHE STRING "Define suffi
SET(EXEC_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH "Installation prefix for executables and object code libraries" FORCE)
SET(BIN_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/bin CACHE PATH "Installation prefix for user executables" FORCE)
SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Installation prefix for object code libraries" FORCE)
+if (HAIKU)
+SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/develop/headers CACHE PATH "Installation prefix for C header files" FORCE)
+else (HAIKU)
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
+endif (HAIKU)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc)
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
--
1.8.3.4
From bb1836b89190990cae7f4ef505824eae6baa61be Mon Sep 17 00:00:00 2001
From: Theodore Kokkoris <t.kokkoris@gmail.com>
Date: Sat, 17 Jan 2015 17:25:26 +0200
Subject: [PATCH 3/4] Remove tests and examples build
Doesn't work with gcc2 (std::boolalpha)
---
CMakeLists.txt | 2 --
1 file changed, 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3550a1..4d5fa02 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -41,8 +41,6 @@ INSTALL(FILES ${headers} ${CMAKE_CURRENT_BINARY_DIR}/include/musicbrainz5/mb5_c.
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
ADD_SUBDIRECTORY(src)
-ADD_SUBDIRECTORY(tests)
-ADD_SUBDIRECTORY(examples)
ADD_CUSTOM_TARGET(docs
doxygen
--
1.8.3.4
From f980c76455c341b6f97f728709a4e726447f0355 Mon Sep 17 00:00:00 2001
From: Theodore Kokkoris <t.kokkoris@gmail.com>
Date: Sat, 17 Jan 2015 17:25:56 +0200
Subject: [PATCH 4/4] Remove -Wextra (doesn't exist on gcc2)
---
src/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index c91a565..160d5c0 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -65,7 +65,7 @@ IF(WIN32)
ENDIF(WIN32)
IF(CMAKE_COMPILER_IS_GNUCXX)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic-errors")
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -pedantic-errors")
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
--
1.8.3.4

View File

@@ -1,6 +1,6 @@
SUMMARY="Build tool, replacement for jam"
DESCRIPTION="Ham is a a meaty Jam build tool replacement
THIS IS A WORK IN PROGRESS AND NOT YET READY FOR HAIKUDEPOT
One of the main goals is to have an API library, so that IDEs can implement \
actual Jam support. Another one is to add features that are complicated to add \
in Jam (like more intelligent header scanning, plug-in support (for header \

View File

@@ -13,9 +13,9 @@ ARCHITECTURES=""
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"
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="!x86"
SECONDARY_ARCHITECTURES="x86"
SRC_URI="ftp://ftp.openwatcom.org/source/open_watcom_$portVersion-src.tar.bz2"
CHECKSUM_SHA256="6d303327988ee2dda60cfabebf3f45a9758aee4da117d41cf3153fccb7e5e4bf"

View File

@@ -0,0 +1,49 @@
SUMMARY="C/C++ compiler targetting DOS and Win16/32 machines"
DESCRIPTION="
Open Watcom is a project of the open source community to maintain and enhance \
the Watcom C, C++, and Fortran cross compilers and tools. An Open Source \
license from Sybase allows free commercial and non-commercial use of Open\
Watcom."
HOMEPAGE="https://github.com/open-watcom/open-watcom-v2"
LICENSE="Open Watcom Public Licence v1.0"
COPYRIGHT="Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved."
REVISION="1"
ARCHITECTURES=""
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"
SRC_URI="git@github.com:open-watcom/open-watcom-v2.git#da9bd7daad78cfae6219ab29ffadb60797481d6d"
PATCHES="openwatcom-$portVersion.patchset"
PROVIDES="
openwatcom$secondaryArchSuffix = $portVersion
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:awk
cmd:cc$secondaryArchSuffix
cmd:make
cmd:which
"
BUILD()
{
. ./setvars.sh
./build.sh
}
INSTALL()
{
false
}
TEST()
{
false
}

View File

@@ -0,0 +1,706 @@
From 23162357097c5f295ee9143311b1f8dc058eb06d Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Sun, 18 Jan 2015 15:35:30 +0100
Subject: Adjust setvars.sh to Haiku build environment.
diff --git a/setvars.sh b/setvars.sh
index a64d135..30bce44 100755
--- a/setvars.sh
+++ b/setvars.sh
@@ -6,14 +6,14 @@
# modify it as necessary for your own use!!
# Change this to point your Open Watcom source tree
-export OWROOT=/home/ow/ow
+export OWROOT=/sources/openwatcom-2.0.0
# Subdirectory to be used for building OW build tools
export OWOBJDIR=binbuild
# Set this entry to identify your toolchain used by build process
# supported values are WATCOM GCC CLANG
-export OWTOOLS=WATCOM
+export OWTOOLS=GCC
# Documentation related variables
--
1.8.3.4
From 8eb0dea26f4e2d7e0d7924fa980660da52dc77f3 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Mon, 19 Jan 2015 22:44:26 +0100
Subject: Fix local.mif for Haiku.
* It was still referencing BSD from which it was copied, resulting in
broken build.
diff --git a/build/mif/local.mif b/build/mif/local.mif
index 7a21e56..3f3b863 100644
--- a/build/mif/local.mif
+++ b/build/mif/local.mif
@@ -296,7 +296,7 @@ bld_cl_sys =
bld_incs = $(bld_extra_incs) -I"$(watcom_dir)/h"
-bld_cppflags = $(common_cppflags_bsd) $(common_cppflags_$(bld_cpu))
+bld_cppflags = $(common_cppflags_haiku) $(common_cppflags_$(bld_cpu))
bld_cflags = $(common_cflags) $(common_flags) -o $@
@@ -328,8 +328,8 @@ cl = clang -pipe
librarian = ar
-cppflags_bsd = $(common_cppflags_bsd)
-cppflags_osi = $(common_cppflags_bsd)
+cppflags_haiku = $(common_cppflags_haiku)
+cppflags_osi = $(common_cppflags_haiku)
cppflags_386 = $(common_cppflags_386)
cppflags_ppc = $(common_cppflags_ppc)
cppflags_x64 = $(common_cppflags_x64)
--
1.8.3.4
From fb3e476980b1832ac3faff2a0c1f8501bff68890 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Tue, 20 Jan 2015 12:36:48 +0100
Subject: trmem: fix build with non-watcom compiler
* i86.h is not available in this case, use the stubs.
diff --git a/bld/trmem/trmem.c b/bld/trmem/trmem.c
index f2c6eb9..a7ea28f 100644
--- a/bld/trmem/trmem.c
+++ b/bld/trmem/trmem.c
@@ -33,7 +33,7 @@
#include <string.h>
#include <ctype.h>
-#if defined( _M_IX86 )
+#if defined( _M_IX86 ) && defined( __WATCOMC__ )
#include <i86.h>
#endif
@@ -782,7 +782,7 @@ memsize _trmem_get_peak_usage( _trmem_hdl hdl ) {
return( hdl->max_mem );
}
-#ifndef _M_IX86
+#if !defined( _M_IX86 ) || !defined( __WATCOMC__)
_trmem_who _trmem_guess_who( void )
/**********************************/
/* NYI: stubbed for now */
--
1.8.3.4
From d08d3eac330bd61aaff31170eaa67de964874cd5 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Tue, 20 Jan 2015 12:37:36 +0100
Subject: clibext: better implementation of _cmdname for haiku
We need to look for the app image and not take whatever is listed first.
diff --git a/bld/watcom/c/clibext.c b/bld/watcom/c/clibext.c
index d7fc1e0..f857228 100644
--- a/bld/watcom/c/clibext.c
+++ b/bld/watcom/c/clibext.c
@@ -1270,9 +1270,13 @@ char *_cmdname( char *name )
char *_cmdname( char *name )
{
- image_info info;
- get_image_info( 0, &info );
- return( strcpy( name, info.name ) );
+ image_info info;
+ int32 cookie;
+ while ( get_next_image_info( 0, &cookie, &info ) == B_OK) {
+ if ( info.type != B_APP_IMAGE )
+ continue;
+ return( strcpy( name, info.name ) );
+ }
}
#elif defined( __UNIX__ )
--
1.8.3.4
From 2b23463882316209eecbaa20416eee963710ae87 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Tue, 20 Jan 2015 12:38:16 +0100
Subject: Fix more WResFileOffset type mismatches
* Needed for things to build on Haiku.
diff --git a/bld/as/c/asmsg.c b/bld/as/c/asmsg.c
index 00f29c3..f7df3d5 100644
--- a/bld/as/c/asmsg.c
+++ b/bld/as/c/asmsg.c
@@ -70,7 +70,7 @@ static unsigned msgShift;
#define NO_RES_MESSAGE "Error: could not open message resource file\r\n"
#define NO_RES_SIZE (sizeof(NO_RES_MESSAGE)-1)
-extern long FileShift;
+extern WResFileOffset FileShift;
static HANDLE_INFO hInstance = {0};
diff --git a/bld/wasm/c/wasmmsg.c b/bld/wasm/c/wasmmsg.c
index 51a406f..302bb9d 100644
--- a/bld/wasm/c/wasmmsg.c
+++ b/bld/wasm/c/wasmmsg.c
@@ -60,7 +60,7 @@ static const char *txtmsgs[] = {
#define NO_RES_MESSAGE "Error: could not open message resource file.\r\n"
#define NO_RES_SIZE (sizeof( NO_RES_MESSAGE ) - 1)
-extern long FileShift;
+extern WResFileOffset FileShift;
static HANDLE_INFO hInstance = { 0 };
static unsigned MsgShift;
diff --git a/bld/wl/c/loadpe.c b/bld/wl/c/loadpe.c
index 41b7457..e0e674f 100644
--- a/bld/wl/c/loadpe.c
+++ b/bld/wl/c/loadpe.c
@@ -773,7 +773,7 @@ WResFileSSize RcWrite( WResFileID hdl, const void *buf, WResFileSize len )
return( len );
}
-long RcSeek( int hdl, long off, int pos )
+WResFileOffset RcSeek( WResFileID hdl, WResFileOffset off, int pos )
{
DbgAssert( pos != SEEK_END );
DbgAssert( !(pos == SEEK_CUR && off < 0) );
@@ -794,7 +794,7 @@ long RcSeek( int hdl, long off, int pos )
}
}
-long RcTell( int hdl )
+WResFileOffset RcTell( WResFileID hdl )
{
DbgAssert( hdl == Root->outfile->handle );
diff --git a/bld/wres/c/loadfind.c b/bld/wres/c/loadfind.c
index 1449fa6..e8aa881 100644
--- a/bld/wres/c/loadfind.c
+++ b/bld/wres/c/loadfind.c
@@ -55,7 +55,7 @@ typedef struct dbgheader {
} dbgheader;
#include "poppck.h"
-long FileShift = 0;
+WResFileOffset FileShift = 0;
unsigned char FindResources( PHANDLE_INFO hInstance )
/* look for the resource information in a debugger record at the end of file */
--
1.8.3.4
From 85d972cda11f12d57fa958551805f02113193855 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Tue, 20 Jan 2015 14:25:55 +0100
Subject: Another missing haiku define.
diff --git a/bld/watcom/h/wstd.h b/bld/watcom/h/wstd.h
index 01e8745..f892d58 100644
--- a/bld/watcom/h/wstd.h
+++ b/bld/watcom/h/wstd.h
@@ -82,6 +82,9 @@ typedef unsigned_8 sbit;
#elif defined( __LINUX__ )
#undef OS_LINUX
#define OS_LINUX 1
+#elif defined( __HAIKU__ )
+ #undef OS_HAIKU
+ #define OS_HAIKU 1
#elif defined( __BSD__ )
#undef OS_BSD
#define OS_BSD 1
--
1.8.3.4
From 62d47ba56c04a1b6dddd343a96ddbb59bc83a97f Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@gmail.com>
Date: Tue, 20 Jan 2015 14:26:59 +0100
Subject: Some missing local > static conversions.
* Not doing this really confuses gcc on Haiku.
diff --git a/bld/cc/c/ccmain.c b/bld/cc/c/ccmain.c
index 547fc50..a75b4db 100644
--- a/bld/cc/c/ccmain.c
+++ b/bld/cc/c/ccmain.c
@@ -81,7 +81,7 @@ static bool TryOpen( const char *path, const char *filename );
static void ParseInit( void );
static void CPP_Parse( void );
static bool FCB_Alloc( FILE *fp, const char *filename );
-local void Parse( void );
+static void Parse( void );
static bool OpenPgmFile( void );
static void DelDepFile( void );
static const char *IncludeAlias( const char *filename, bool is_lib );
diff --git a/bld/cc/c/cexpr.c b/bld/cc/c/cexpr.c
index 9cbb2cf..2333caf 100644
--- a/bld/cc/c/cexpr.c
+++ b/bld/cc/c/cexpr.c
@@ -50,26 +50,26 @@ struct mathfuncs {
{ NULL, 0, 0 }
};
-local TREEPTR GenNextParm(TREEPTR,TYPEPTR **);
-local TREEPTR StartFunc(TREEPTR,TYPEPTR **);
-local TREEPTR GetExpr(void);
-local TREEPTR ExprId(void);
-local TREEPTR ExprOpnd(void);
-local TREEPTR SizeofOp(TYPEPTR);
-local TREEPTR ScalarExpr(TREEPTR);
-local TREEPTR UnaryPlus(TREEPTR);
-local TREEPTR TernOp(TREEPTR,TREEPTR,TREEPTR);
-local TREEPTR ColonOp(TREEPTR);
-local TREEPTR StartTernary(TREEPTR);
-local TREEPTR NotOp(TREEPTR);
-local TREEPTR AndAnd(TREEPTR);
-local TREEPTR OrOr(TREEPTR);
-local TREEPTR GenFuncCall(TREEPTR);
-local TREEPTR IndexOp(TREEPTR,TREEPTR);
-local TREEPTR SegOp(TREEPTR,TREEPTR);
-local void PopNestedParms( TYPEPTR **plistptr );
-local void IncSymWeight( SYMPTR sym );
-local void AddCallNode( TREEPTR tree );
+static TREEPTR GenNextParm(TREEPTR,TYPEPTR **);
+static TREEPTR StartFunc(TREEPTR,TYPEPTR **);
+static TREEPTR GetExpr(void);
+static TREEPTR ExprId(void);
+static TREEPTR ExprOpnd(void);
+static TREEPTR SizeofOp(TYPEPTR);
+static TREEPTR ScalarExpr(TREEPTR);
+static TREEPTR UnaryPlus(TREEPTR);
+static TREEPTR TernOp(TREEPTR,TREEPTR,TREEPTR);
+static TREEPTR ColonOp(TREEPTR);
+static TREEPTR StartTernary(TREEPTR);
+static TREEPTR NotOp(TREEPTR);
+static TREEPTR AndAnd(TREEPTR);
+static TREEPTR OrOr(TREEPTR);
+static TREEPTR GenFuncCall(TREEPTR);
+static TREEPTR IndexOp(TREEPTR,TREEPTR);
+static TREEPTR SegOp(TREEPTR,TREEPTR);
+static void PopNestedParms( TYPEPTR **plistptr );
+static void IncSymWeight( SYMPTR sym );
+static void AddCallNode( TREEPTR tree );
extern int64 LongValue64( TREEPTR leaf );
@@ -298,7 +298,7 @@ TREEPTR LongLeaf( target_long value )
return( leaf );
}
-local TREEPTR EnumLeaf( ENUMPTR ep )
+static TREEPTR EnumLeaf( ENUMPTR ep )
{
DATA_TYPE decl_type;
TREEPTR leaf;
@@ -439,7 +439,7 @@ TREEPTR SymLeaf( void )
}
-local void IncSymWeight( SYMPTR sym )
+static void IncSymWeight( SYMPTR sym )
{
static int LoopWeights[] = { 1, 0x10, 0x100, 0x1000 };
@@ -499,7 +499,7 @@ static bool IsCallValue( TREEPTR tree )
}
// This RVALUE thing is backwards -mjc
-local TREEPTR TakeRValue( TREEPTR tree, int void_ok )
+static TREEPTR TakeRValue( TREEPTR tree, int void_ok )
{
TYPEPTR typ;
sym_flags symb_flags;
@@ -953,7 +953,7 @@ FIELDPTR SearchFields( TYPEPTR *class_typ, target_size *field_offset, const char
}
-local TYPEPTR Ptr2Struct( TYPEPTR typ )
+static TYPEPTR Ptr2Struct( TYPEPTR typ )
{
if( typ->decl_type != TYPE_POINTER ) {
return( NULL );
@@ -1170,7 +1170,7 @@ TREEPTR SingleExpr( void )
}
-local TREEPTR GetExpr( void )
+static TREEPTR GetExpr( void )
{
TREEPTR tree, op1;
TYPEPTR typ;
@@ -1454,7 +1454,7 @@ local TREEPTR GetExpr( void )
}
-local TREEPTR ExprOpnd( void )
+static TREEPTR ExprOpnd( void )
{
TREEPTR tree;
TYPEPTR typ;
@@ -1617,7 +1617,7 @@ local TREEPTR ExprOpnd( void )
}
-local bool IsMacroDefined( void )
+static bool IsMacroDefined( void )
{
MEPTR mentry;
@@ -1634,7 +1634,7 @@ local bool IsMacroDefined( void )
}
-local TREEPTR ExprId( void )
+static TREEPTR ExprId( void )
{
TREEPTR tree;
int value;
@@ -1691,7 +1691,7 @@ local TREEPTR ExprId( void )
#if 0
-local bool LValueArray( TREEPTR tree )
+static bool LValueArray( TREEPTR tree )
{
TYPEPTR typ;
@@ -1710,7 +1710,7 @@ local bool LValueArray( TREEPTR tree )
}
#endif
-local TREEPTR GenIndex( TREEPTR tree, TREEPTR index_expr )
+static TREEPTR GenIndex( TREEPTR tree, TREEPTR index_expr )
{
TYPEPTR typ;
op_flags tree_flags;
@@ -1774,14 +1774,14 @@ local TREEPTR GenIndex( TREEPTR tree, TREEPTR index_expr )
return( tree );
}
-local TREEPTR ArrayIndex( TREEPTR tree, TREEPTR index_expr )
+static TREEPTR ArrayIndex( TREEPTR tree, TREEPTR index_expr )
{
tree = GenIndex( tree, index_expr );
return( tree );
}
-local TREEPTR IndexOp( TREEPTR tree, TREEPTR index_expr )
+static TREEPTR IndexOp( TREEPTR tree, TREEPTR index_expr )
{
TYPEPTR typ;
@@ -1810,7 +1810,7 @@ local TREEPTR IndexOp( TREEPTR tree, TREEPTR index_expr )
return( tree );
}
-local void AddCallNode( TREEPTR tree )
+static void AddCallNode( TREEPTR tree )
// if a function call has no prototype wait till end
// to check it out
{
@@ -1852,7 +1852,7 @@ static int ParmNum( void )
return( parm_count );
}
-local TREEPTR GenNextParm( TREEPTR tree, TYPEPTR **plistptr )
+static TREEPTR GenNextParm( TREEPTR tree, TYPEPTR **plistptr )
{
TYPEPTR *plist;
TYPEPTR typ;
@@ -1923,7 +1923,7 @@ local TREEPTR GenNextParm( TREEPTR tree, TYPEPTR **plistptr )
}
-local bool IntrinsicMathFunc( SYM_NAMEPTR sym_name, int i, size_t len, SYMPTR sym )
+static bool IntrinsicMathFunc( SYM_NAMEPTR sym_name, int i, size_t len, SYMPTR sym )
{
size_t j;
@@ -1946,7 +1946,7 @@ local bool IntrinsicMathFunc( SYM_NAMEPTR sym_name, int i, size_t len, SYMPTR sy
#else
#define REG_SIZE 4
#endif
-local TREEPTR GenVaStartNode( TREEPTR last_parm )
+static TREEPTR GenVaStartNode( TREEPTR last_parm )
{
// there should be 3 parms __builtin_va_start( list, parm_name, stdarg )
// - first parm should be name of va_list
@@ -1999,7 +1999,7 @@ local TREEPTR GenVaStartNode( TREEPTR last_parm )
return( tree );
}
-local TREEPTR GenAllocaNode( TREEPTR size_parm )
+static TREEPTR GenAllocaNode( TREEPTR size_parm )
{
// there should be 1 parm __builtin_alloca( size )
TREEPTR tree;
@@ -2016,7 +2016,7 @@ local TREEPTR GenAllocaNode( TREEPTR size_parm )
#endif
#if _CPU == _PPC
-local TREEPTR GenVaArgNode( TREEPTR last_parm )
+static TREEPTR GenVaArgNode( TREEPTR last_parm )
{
// there should be 2 parms __builtin_varg( list, type_arg )
// - first parm should be name of va_list
@@ -2049,7 +2049,7 @@ local TREEPTR GenVaArgNode( TREEPTR last_parm )
}
#endif
-local TREEPTR GenFuncCall( TREEPTR last_parm )
+static TREEPTR GenFuncCall( TREEPTR last_parm )
{
expr_level_type i;
expr_level_type n;
@@ -2201,7 +2201,7 @@ done_call:
return( tree );
}
-local void PopNestedParms( TYPEPTR **plistptr )
+static void PopNestedParms( TYPEPTR **plistptr )
{
struct nested_parm_lists *npl;
@@ -2231,7 +2231,7 @@ static TREEPTR DummyFuncName( void )
return( tree );
}
-local TREEPTR StartFunc( TREEPTR tree, TYPEPTR **plistptr )
+static TREEPTR StartFunc( TREEPTR tree, TYPEPTR **plistptr )
{
TYPEPTR typ;
TYPEPTR orig_typ;
@@ -2378,7 +2378,7 @@ local TREEPTR StartFunc( TREEPTR tree, TYPEPTR **plistptr )
}
-local TREEPTR OrOr( TREEPTR tree )
+static TREEPTR OrOr( TREEPTR tree )
{
// This routine is called when || token is found
if( tree->op.opr == OPR_PUSHINT ) {
@@ -2391,7 +2391,7 @@ local TREEPTR OrOr( TREEPTR tree )
}
-local TREEPTR AndAnd( TREEPTR tree )
+static TREEPTR AndAnd( TREEPTR tree )
{
// This routine is called when && token is found
if( tree->op.opr == OPR_PUSHINT ) {
@@ -2439,7 +2439,7 @@ TREEPTR BoolExpr( TREEPTR tree )
}
-local TREEPTR NotOp( TREEPTR tree )
+static TREEPTR NotOp( TREEPTR tree )
{
TREEPTR opnd;
FLOATVAL *flt;
@@ -2492,14 +2492,14 @@ local TREEPTR NotOp( TREEPTR tree )
}
-local TREEPTR StartTernary( TREEPTR tree )
+static TREEPTR StartTernary( TREEPTR tree )
{
tree = BoolExpr( tree );
return( tree );
}
-local TREEPTR ColonOp( TREEPTR true_part )
+static TREEPTR ColonOp( TREEPTR true_part )
{
if( Class[ExprLevel] != TC_TERNARY ) {
CErr1( ERR_MISSING_QUESTION_OR_MISPLACED_COLON );
@@ -2574,7 +2574,7 @@ static TREEPTR TernOp( TREEPTR expr1, TREEPTR true_part, TREEPTR false_part )
}
-local TREEPTR UnaryPlus( TREEPTR tree )
+static TREEPTR UnaryPlus( TREEPTR tree )
{
TYPEPTR typ;
@@ -2627,7 +2627,7 @@ TREEPTR ScalarExpr( TREEPTR tree )
}
-local TREEPTR SizeofOp( TYPEPTR typ )
+static TREEPTR SizeofOp( TYPEPTR typ )
{
TREEPTR tree;
target_size size;
@@ -2658,7 +2658,7 @@ local TREEPTR SizeofOp( TYPEPTR typ )
return( tree );
}
-local TREEPTR SegOp( TREEPTR seg, TREEPTR offset )
+static TREEPTR SegOp( TREEPTR seg, TREEPTR offset )
{
TREEPTR tree;
TYPEPTR typ;
diff --git a/bld/cc/c/ctype.c b/bld/cc/c/ctype.c
index 12d8062..7561b22 100644
--- a/bld/cc/c/ctype.c
+++ b/bld/cc/c/ctype.c
@@ -33,10 +33,10 @@
extern unsigned SymTypedef;
-local TYPEPTR StructDecl(DATA_TYPE,bool);
-//local TYPEPTR ComplexDecl(int,bool);
-local void SetPlainCharType( DATA_TYPE char_type );
-local void CheckBitfieldType( TYPEPTR typ );
+static TYPEPTR StructDecl(DATA_TYPE,bool);
+//static TYPEPTR ComplexDecl(int,bool);
+static void SetPlainCharType( DATA_TYPE char_type );
+static void CheckBitfieldType( TYPEPTR typ );
#if _CPU == 386
#define _CHECK_SIZE( s )
@@ -325,7 +325,7 @@ type_modifiers TypeQualifier( void )
return( flags );
}
-local TYPEPTR GetScalarType( bool *plain_int, int bmask, type_modifiers flags )
+static TYPEPTR GetScalarType( bool *plain_int, int bmask, type_modifiers flags )
{
DATA_TYPE data_type;
TYPEPTR typ;
@@ -400,7 +400,7 @@ local TYPEPTR GetScalarType( bool *plain_int, int bmask, type_modifiers flags )
}
-local void AdvanceToken( void )
+static void AdvanceToken( void )
{
if( CurToken == T_SAVED_ID ) {
CMemFree( SavedId );
@@ -763,7 +763,7 @@ TAGPTR VfyNewTag( TAGPTR tag, DATA_TYPE tag_type )
}
-local FIELDPTR NewField( FIELDPTR new_field, TYPEPTR decl )
+static FIELDPTR NewField( FIELDPTR new_field, TYPEPTR decl )
{
FIELDPTR field;
FIELDPTR prev_field;
@@ -823,7 +823,7 @@ local FIELDPTR NewField( FIELDPTR new_field, TYPEPTR decl )
}
-local TYPEPTR EnumFieldType( TYPEPTR ftyp, bool plain_int,
+static TYPEPTR EnumFieldType( TYPEPTR ftyp, bool plain_int,
bitfield_width start, bitfield_width width )
{
TYPEPTR typ;
@@ -877,7 +877,7 @@ align_type GetTypeAlignment( TYPEPTR typ )
}
-local target_size FieldAlign( target_size next_offset, FIELDPTR field, align_type *worst_alignment )
+static target_size FieldAlign( target_size next_offset, FIELDPTR field, align_type *worst_alignment )
{
align_type pack_adjustment;
align_type align;
@@ -902,7 +902,7 @@ local target_size FieldAlign( target_size next_offset, FIELDPTR field, align_typ
return( next_offset );
}
-local DATA_TYPE UnQualifiedType( TYPEPTR typ )
+static DATA_TYPE UnQualifiedType( TYPEPTR typ )
{
SKIP_TYPEDEFS( typ );
SKIP_ENUM( typ );
@@ -932,7 +932,7 @@ local DATA_TYPE UnQualifiedType( TYPEPTR typ )
/* clear the hash table of all fields that were just defined
in the struct with tag tag */
-local void ClearFieldHashTable( TAGPTR tag )
+static void ClearFieldHashTable( TAGPTR tag )
{
FIELDPTR field;
FIELDPTR hash_field;
@@ -984,7 +984,7 @@ static void AdjFieldTypeNode( FIELDPTR field, type_modifiers decl_mod )
}
}
-local target_size GetFields( TYPEPTR decl )
+static target_size GetFields( TYPEPTR decl )
{
target_size start;
TYPEPTR typ;
@@ -1129,7 +1129,7 @@ local target_size GetFields( TYPEPTR decl )
}
-local TYPEPTR StructDecl( DATA_TYPE decl_typ, bool packed )
+static TYPEPTR StructDecl( DATA_TYPE decl_typ, bool packed )
{
TYPEPTR typ;
TAGPTR tag;
@@ -1202,7 +1202,7 @@ struct {
*/
/*
-local void GetComplexFieldTypeSpecifier( decl_info *info, DATA_TYPE data_type )
+static void GetComplexFieldTypeSpecifier( decl_info *info, DATA_TYPE data_type )
{
info->stg = SC_NONE; // indicate don't want any storage class specifiers
info->mod = FLAG_NONE;
@@ -1214,7 +1214,7 @@ local void GetComplexFieldTypeSpecifier( decl_info *info, DATA_TYPE data_type )
}
-local target_size GetComplexFields( TYPEPTR decl )
+static target_size GetComplexFields( TYPEPTR decl )
{
target_size start;
TYPEPTR typ;
@@ -1270,7 +1270,7 @@ local target_size GetComplexFields( TYPEPTR decl )
}
-local TYPEPTR ComplexDecl( DATA_TYPE decl_typ, bool packed )
+static TYPEPTR ComplexDecl( DATA_TYPE decl_typ, bool packed )
{
TYPEPTR typ;
TAGPTR tag;
@@ -1297,7 +1297,7 @@ local TYPEPTR ComplexDecl( DATA_TYPE decl_typ, bool packed )
}
*/
-local void CheckBitfieldType( TYPEPTR typ )
+static void CheckBitfieldType( TYPEPTR typ )
{
SKIP_TYPEDEFS( typ );
if( CompFlags.extensions_enabled ) {
@@ -1437,7 +1437,7 @@ TYPEPTR ArrayNode( TYPEPTR the_object )
}
-local TYPEPTR MkPtrNode( TYPEPTR typ, type_modifiers flags,
+static TYPEPTR MkPtrNode( TYPEPTR typ, type_modifiers flags,
segment_id segid, SYM_HANDLE base, BASED_KIND based_kind )
{
TYPEPTR ptrtyp;
--
1.8.3.4