diff options
-rw-r--r-- | development/hhvm/hhvm.SlackBuild | 8 | ||||
-rw-r--r-- | development/hhvm/http_build_query_numeric_prefix.patch | 90 |
2 files changed, 95 insertions, 3 deletions
diff --git a/development/hhvm/hhvm.SlackBuild b/development/hhvm/hhvm.SlackBuild index 56edc245fb..ffa9a2d808 100644 --- a/development/hhvm/hhvm.SlackBuild +++ b/development/hhvm/hhvm.SlackBuild @@ -24,7 +24,7 @@ PRGNAM=hhvm VERSION=${VERSION:-3.15.2} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} TAG=${TAG:-_SBo} if [ -z "$ARCH" ]; then @@ -64,10 +64,12 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; +patch -R -p1 < $CWD/http_build_query_numeric_prefix.patch + export CMAKE_PREFIX_PATH=`pwd` cmake \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -lreadline -lncurses" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -I/usr/kerberos/include" \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS -lncursesw" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -lncursesw -I/usr/kerberos/include" \ -DCMAKE_CXX_STANDARD=14 \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \ diff --git a/development/hhvm/http_build_query_numeric_prefix.patch b/development/hhvm/http_build_query_numeric_prefix.patch new file mode 100644 index 0000000000..a5ad48539c --- /dev/null +++ b/development/hhvm/http_build_query_numeric_prefix.patch @@ -0,0 +1,90 @@ +diff --git a/hphp/runtime/ext/url/ext_url.cpp b/hphp/runtime/ext/url/ext_url.cpp +index e58b63c..355ac77 100644 +--- a/hphp/runtime/ext/url/ext_url.cpp ++++ b/hphp/runtime/ext/url/ext_url.cpp +@@ -205,7 +205,7 @@ static void url_encode_array(StringBuffer &ret, const Variant& varr, + const StaticString s_arg_separator_output("arg_separator.output"); + + Variant HHVM_FUNCTION(http_build_query, const Variant& formdata, +- const Variant& numeric_prefix /* = null_string */, ++ const String& numeric_prefix /* = null_string */, + const String& arg_separator /* = null_string */, + int enc_type /* = k_PHP_QUERY_RFC1738 */) { + if (!formdata.isArray() && !formdata.is(KindOfObject)) { +@@ -222,14 +222,8 @@ Variant HHVM_FUNCTION(http_build_query, const Variant& formdata, + + StringBuffer ret(1024); + std::set<void*> seen_arrs; +- +- String num_prefix; +- if (!numeric_prefix.isNull()) +- { +- num_prefix = numeric_prefix.toCStrRef(); +- } + url_encode_array(ret, formdata, seen_arrs, +- num_prefix, String(), String(), arg_sep, ++ numeric_prefix, String(), String(), arg_sep, + enc_type != k_PHP_QUERY_RFC3986); + return ret.detach(); + } +diff --git a/hphp/runtime/ext/url/ext_url.h b/hphp/runtime/ext/url/ext_url.h +index 94ebe56..9339eed 100644 +--- a/hphp/runtime/ext/url/ext_url.h ++++ b/hphp/runtime/ext/url/ext_url.h +@@ -43,7 +43,7 @@ Array HHVM_FUNCTION(get_meta_tags, const String& filename, + bool use_include_path /* = false */); + + Variant HHVM_FUNCTION(http_build_query, const Variant& formdata, +- const Variant& numeric_prefix /* = null_string */, ++ const String& numeric_prefix /* = null_string */, + const String& arg_separator /* = null_string */, + int enc_type = k_PHP_QUERY_RFC1738); + Variant HHVM_FUNCTION(parse_url, const String& url, +diff --git a/hphp/runtime/ext/url/ext_url.php b/hphp/runtime/ext/url/ext_url.php +index 4c016c4..a858c12 100644 +--- a/hphp/runtime/ext/url/ext_url.php ++++ b/hphp/runtime/ext/url/ext_url.php +@@ -81,7 +81,7 @@ function get_meta_tags(string $filename, + <<__Native, __IsFoldable>> + function http_build_query( + mixed $query_data, +- ?string $numeric_prefix = "", ++ string $numeric_prefix = "", + string $arg_separator = "", + int $enc_type = PHP_QUERY_RFC1738): mixed; + +diff --git a/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php b/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php +deleted file mode 100644 +index 43c3473..0000000 +--- a/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php ++++ /dev/null +@@ -1,14 +0,0 @@ +-<?php +-$query = array( +- 0 => "4.6.1", +- 'php' => "7.0.99-hhvm", +- 'locale' => "de_DE", +- 'mysql' => "5.5.5", +- 'local_package' => "de_DE", +- 'blogs' => 1, +- 'users' => 5, +- 8 => 0, +- 'initial_db_version' => 27916, +-); +-var_dump(http_build_query($query, null, "&")); +-var_dump(http_build_query($query, 52, "&")); +diff --git a/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php.expect b/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php.expect +deleted file mode 100644 +index 01cad12..0000000 +--- a/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php.expect ++++ /dev/null +@@ -1,2 +0,0 @@ +-string(113) "0=4.6.1&php=7.0.99-hhvm&locale=de_DE&mysql=5.5.5&local_package=de_DE&blogs=1&users=5&8=0&initial_db_version=27916" +-string(117) "520=4.6.1&php=7.0.99-hhvm&locale=de_DE&mysql=5.5.5&local_package=de_DE&blogs=1&users=5&528=0&initial_db_version=27916" +diff --git a/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php.opts b/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php.opts +deleted file mode 100644 +index 7dbaa00..0000000 +--- a/hphp/test/slow/ext_url/http_build_query_numeric_prefix.php.opts ++++ /dev/null +@@ -1 +0,0 @@ +--dhhvm.php7.all=true |