summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--development/hhvm/hhvm.SlackBuild8
-rw-r--r--development/hhvm/http_build_query_numeric_prefix.patch90
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