From 0471196ff435027c697575e24c10e04aaadd1e19 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 2 Sep 2018 22:07:40 +0200 Subject: [PATCH] Add recipe for php 5.6.37 Maybe this one will manage to be built by haikuporter? --- .../{php-5.6.30.patch => php-5.6.37.patchset} | 215 ++++++++++++------ dev-lang/php/patches/php_gcc2-5.6.30.patch | 46 ---- dev-lang/php/php-5.6.37.recipe | 113 +++++++++ 3 files changed, 263 insertions(+), 111 deletions(-) rename dev-lang/php/patches/{php-5.6.30.patch => php-5.6.37.patchset} (57%) delete mode 100644 dev-lang/php/patches/php_gcc2-5.6.30.patch create mode 100644 dev-lang/php/php-5.6.37.recipe diff --git a/dev-lang/php/patches/php-5.6.30.patch b/dev-lang/php/patches/php-5.6.37.patchset similarity index 57% rename from dev-lang/php/patches/php-5.6.30.patch rename to dev-lang/php/patches/php-5.6.37.patchset index 326d12188..066510313 100644 --- a/dev-lang/php/patches/php-5.6.30.patch +++ b/dev-lang/php/patches/php-5.6.37.patchset @@ -1,22 +1,37 @@ -From a6c749bea2f66db568d9868e302fc030f1ce1980 Mon Sep 17 00:00:00 2001 -From: Augustin Cavalier -Date: Thu, 15 Jan 2015 20:35:37 -0500 -Subject: [PATCH] php: fixes to work on Haiku. +From 780770111a16f86a16b0ab7eb863be3a8f69da70 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 16 Jan 2018 21:32:56 +0100 +Subject: Import old patch: build system. -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 3db7438..4eaacc6 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 47f05b2..1d546e7 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 +index 2f82c34..b6a09d9 100644 --- a/ext/curl/config.m4 +++ b/ext/curl/config.m4 @@ -10,8 +10,8 @@ if test "$PHP_CURL" != "no"; then @@ -37,27 +52,14 @@ index 2f82c34..07b940e 100644 - easy.h should be in /include/curl/) + easy.h should be in /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 +index e643e52..517cf26 100644 --- a/ext/gd/config.m4 +++ b/ext/gd/config.m4 -@@ -50,12 +50,12 @@ dnl - +@@ -50,23 +50,23 @@ 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 @@ -73,43 +75,49 @@ index 446c242..e81cc94 100644 else AC_MSG_ERROR([Can't find zlib headers under "$PHP_ZLIB_DIR"]) fi -@@ -102,7 +102,7 @@ AC_DEFUN([PHP_GD_JPEG],[ + else +- for i in /usr/local /usr; do +- if test -f "$i/include/zlib/zlib.h"; then ++ for i in /usr/local /usr /system; do ++ if test -f "$i/develop/headers/zlib/zlib.h"; then + PHP_ZLIB_DIR="$i" +- PHP_ZLIB_INCDIR="$i/include/zlib" ++ PHP_ZLIB_INCDIR="$i/develop/headers/zlib" + elif test -f "$i/include/zlib.h"; then + PHP_ZLIB_DIR="$i" +- PHP_ZLIB_INCDIR="$i/include" ++ PHP_ZLIB_INCDIR="$i/develop/headers" + fi + done + fi +@@ -101,8 +101,8 @@ AC_DEFUN([PHP_GD_VPX],[ + AC_DEFUN([PHP_GD_JPEG],[ if test "$PHP_JPEG_DIR" != "no"; then - - for i in $PHP_JPEG_DIR /usr/local /usr; do + +- for i in $PHP_JPEG_DIR /usr/local /usr; do - test -f $i/include/jpeglib.h && GD_JPEG_DIR=$i && break ++ for i in $PHP_JPEG_DIR /usr/local /usr /system; do + 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],[ +@@ -126,8 +126,8 @@ AC_DEFUN([PHP_GD_JPEG],[ + AC_DEFUN([PHP_GD_PNG],[ if test "$PHP_PNG_DIR" != "no"; then - - for i in $PHP_PNG_DIR /usr/local /usr; do + +- for i in $PHP_PNG_DIR /usr/local /usr; do - test -f $i/include/png.h && GD_PNG_DIR=$i && break ++ for i in $PHP_PNG_DIR /usr/local /usr /system; do + 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 +index 845d446..3113459 100644 --- a/ext/zip/config.m4 +++ b/ext/zip/config.m4 -@@ -20,12 +20,12 @@ if test "$PHP_ZIP" != "no"; then - +@@ -20,23 +20,23 @@ 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 @@ -125,15 +133,92 @@ index a21ad2d..c6dad41 100644 else AC_MSG_ERROR([Can not find zlib headers under "$PHP_ZLIB_DIR"]) fi + else +- for i in /usr/local /usr; do +- if test -f "$i/include/zlib/zlib.h"; then ++ for i in /usr/local /usr /system; do ++ if test -f "$i/develop/headers/zlib/zlib.h"; then + PHP_ZLIB_DIR="$i" +- PHP_ZLIB_INCDIR="$i/include/zlib" +- elif test -f "$i/include/zlib.h"; then ++ PHP_ZLIB_INCDIR="$i/develop/headers/zlib" ++ elif test -f "$i/develop/headers/zlib.h"; then + PHP_ZLIB_DIR="$i" +- PHP_ZLIB_INCDIR="$i/include" ++ PHP_ZLIB_INCDIR="$i/develop/headers" + fi + done + fi +-- +2.16.4 + + +From c836206cfc96e562d56e3c8fbd85a1d2916b37d9 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 16 Jan 2018 21:34:13 +0100 +Subject: Import old patch: code changes. + + +diff --git a/ext/date/php_date.c b/ext/date/php_date.c +index 801208d..12170e3 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 982c83c..9e17082 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); +-- +2.16.4 + + +From 59b8b431815c4416df3d9a242b2fb95ce09c9968 Mon Sep 17 00:00:00 2001 +From: Adrien Destugues +Date: Tue, 16 Jan 2018 21:58:37 +0100 +Subject: More build system fixes + + diff --git a/ext/zlib/config0.m4 b/ext/zlib/config0.m4 -index ebf67cc..607f6df 100644 +index ebf67cc..b53c7e2 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 +@@ -13,21 +13,22 @@ if test "$PHP_ZLIB" != "no" || test "$PHP_ZLIB_DIR" != "no"; then + PHP_SUBST(ZLIB_SHARED_LIBADD) + + if test "$PHP_ZLIB" != "yes" -a "$PHP_ZLIB" != "no"; then +- if test -f $PHP_ZLIB/include/zlib/zlib.h; then ++ if test -f $PHP_ZLIB/develop/headers/zlib/zlib.h; then + ZLIB_DIR=$PHP_ZLIB +- ZLIB_INCDIR=$ZLIB_DIR/include/zlib +- elif test -f $PHP_ZLIB/include/zlib.h; then ++ ZLIB_INCDIR=$ZLIB_DIR/develop/headers/zlib ++ elif test -f $PHP_ZLIB/develop/headers/zlib.h; then + ZLIB_DIR=$PHP_ZLIB +- ZLIB_INCDIR=$ZLIB_DIR/include ++ ZLIB_INCDIR=$ZLIB_DIR/develop/headers fi - else - for i in /usr/local /usr $PHP_ZLIB_DIR; do + else +- for i in /usr/local /usr $PHP_ZLIB_DIR; do - if test -f $i/include/zlib/zlib.h; then ++ for i in /usr/local /usr /system $PHP_ZLIB_DIR; do ++ echo $i + if test -f $i/develop/headers/zlib/zlib.h; then ZLIB_DIR=$i - ZLIB_INCDIR=$i/include/zlib @@ -146,15 +231,15 @@ index ebf67cc..607f6df 100644 fi done fi -@@ -42,7 +42,7 @@ if test "$PHP_ZLIB" != "no" || test "$PHP_ZLIB_DIR" != "no"; then +@@ -42,7 +43,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 +-- +2.16.4 diff --git a/dev-lang/php/patches/php_gcc2-5.6.30.patch b/dev-lang/php/patches/php_gcc2-5.6.30.patch deleted file mode 100644 index f4e94b6d4..000000000 --- a/dev-lang/php/patches/php_gcc2-5.6.30.patch +++ /dev/null @@ -1,46 +0,0 @@ -From a6c749bea2f66db568d9868e302fc030f1ce1980 Mon Sep 17 00:00:00 2001 -From: Augustin Cavalier -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 - ]) --- -1.8.3.4 - diff --git a/dev-lang/php/php-5.6.37.recipe b/dev-lang/php/php-5.6.37.recipe new file mode 100644 index 000000000..e658c6fa6 --- /dev/null +++ b/dev-lang/php/php-5.6.37.recipe @@ -0,0 +1,113 @@ +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/" +COPYRIGHT="2001-2018 PHP Group" +LICENSE="PHP License v3.01" +REVISION="1" +SOURCE_URI="https://php.net/get/php-$portVersion.tar.bz2/from/this/mirror" +CHECKSUM_SHA256="886ad63d05d94ea3e54322691aadea0cf1d4bcdb4450b02fe300e5b570788b23" +SOURCE_FILENAME="php-$portVersion.tar.bz2" +PATCHES="php-$portVersion.patchset" + +ARCHITECTURES="x86_gcc2 ?x86 ?x86_64" + +PROVIDES=" + php = $portVersion + cmd:pear + cmd:peardev + cmd:pecl + cmd:phar + cmd:phar.phar + cmd:php + cmd:php_cgi + cmd:php_config + cmd:phpize + " + +REQUIRES=" + haiku + lib:libicuuc + lib:libxml2 + lib:libz + lib:libbz2 + lib:libssl + lib:libcrypto + lib:libcurl + lib:libpcre + lib:libpng16 + lib:libjpeg + lib:libfreetype + " + +GLOBAL_WRITABLE_FILES=" + settings/pear.conf keep-old + " + +BUILD_REQUIRES=" + devel:libicuuc + devel:libxml2 + devel:libz + devel:libbz2 + devel:libssl + devel:libcrypto + devel:libcurl + devel:libpcre + 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 + autoconf + runConfigure ./configure \ + --with-libxml-dir=`finddir B_SYSTEM_DIRECTORY` \ + --with-zlib-dir=`finddir B_SYSTEM_DIRECTORY` --with-zlib=shared \ + --with-openssl \ + --with-curl \ + --with-gd \ + --with-pcre-dir=`finddir B_SYSTEM_DIRECTORY` \ + --with-png-dir=`finddir B_SYSTEM_DIRECTORY` \ + --with-jpeg-dir=`finddir B_SYSTEM_DIRECTORY` \ + --with-freetype-dir=`finddir B_SYSTEM_DIRECTORY` \ + --disable-opcache \ + --enable-intl \ + --enable-ftp \ + --enable-soap \ + --without-iconv \ + --disable-debug + make $jobArgs +} + +INSTALL() +{ + make install +} + +TEST() +{ + make test +}