summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElan Ruusamäe2015-02-19 07:25:14 (GMT)
committerElan Ruusamäe2015-02-19 07:25:14 (GMT)
commitf2d3bf20f908d63c2dfd7733284c516d63a7e9be (patch)
treef147ce30bf69d1bc484191ea1dfb971bec7cacff
parent93b979fddd0572adcb9d7a9ef1ba8e6eaa0d485e (diff)
parent934d354b5042ed5500daee4720e2d6ed74632eb2 (diff)
downloadhhvm-f2d3bf20f908d63c2dfd7733284c516d63a7e9be.zip
hhvm-f2d3bf20f908d63c2dfd7733284c516d63a7e9be.tar.gz
update to 3.3.3-LTSauto/th/hhvm-3.3.3-1
Merged branch 'dev-3.3.3'
-rw-r--r--hhvm.spec37
-rw-r--r--system-fastlz.patch79
-rw-r--r--system-thirdparty.patch55
3 files changed, 111 insertions, 60 deletions
diff --git a/hhvm.spec b/hhvm.spec
index d65233d..6f1de1e 100644
--- a/hhvm.spec
+++ b/hhvm.spec
@@ -4,7 +4,7 @@
%bcond_without system_sqlite # system sqlite3
%bcond_without system_lz4 # system lz4
%bcond_without system_fastlz # system fastlz
-%bcond_without system_libafdt # system libafdt
+%bcond_with system_libafdt # system libafdt
%bcond_without system_libzip # system libzip
# cotire breaks sqlite3 on builders: https://github.com/facebook/hhvm/issues/4524
%bcond_with cotire # cotire (compile time reducer): Speed up the build by precompiling headers
@@ -22,25 +22,28 @@
# hphp/system/idl/constants.idl.json defines it as 5.6.99-hhvm, but use some saner value
%define php_version 5.6.0
-# git show HHVM-3.3.2
-%define githash 9046034b8d82b06e9feb75b72e2b0106a2707c2c
+# git show HHVM-3.3.3
+%define githash 54b5f51c3670fe55852b6dab17a47c67b2271116
# these hashes are git submodules (be sure to check them on proper branch)
-%define thirdparty fdef620
+# GIT_DIR=third-party/.git git log -1
+%define thirdparty bf581f8
+# 6e46d468cf2876dd59c7a4dddcb4e37abf070b7a
+# GIT_DIR=third-party/folly/src/.git git log -1
%define folly 6e46d46
Summary: Virtual Machine, Runtime, and JIT for PHP
Name: hhvm
# we prefer LTS versions
# see http://hhvm.com/blog/6083/hhvm-long-term-support
-Version: 3.3.2
-Release: 2
+Version: 3.3.3
+Release: 1
License: PHP 3.01 and BSD
Group: Development/Languages
Source0: https://github.com/facebook/hhvm/archive/HHVM-%{version}.tar.gz
-# Source0-md5: f515560490ece6cbad5d433502c14943
+# Source0-md5: 89c620e2df253530a4f6f1a185ec913a
Source2: https://github.com/facebook/folly/archive/%{folly}/folly-3.2-%{folly}.tar.gz
# Source2-md5: c4bdbea4c0ffe0650d12d9ff370b8255
Source3: https://github.com/hhvm/hhvm-third-party/archive/%{thirdparty}/third_party-%{thirdparty}.tar.gz
-# Source3-md5: 63858096c50c172d6c45ddb3d9b6d721
+# Source3-md5: 17210db0b2211c63d911076e02aab487
Source5: %{name}-fcgi.init
Source6: %{name}-fcgi.sysconfig
Source7: php.ini
@@ -50,6 +53,7 @@ Patch2: hphpize.patch
Patch3: MAX.patch
Patch4: system-thirdparty.patch
Patch5: cmake.patch
+Patch6: system-fastlz.patch
URL: https://github.com/facebook/hhvm/wiki
BuildRequires: ImageMagick-devel
BuildRequires: a52dec-libs-devel
@@ -71,7 +75,6 @@ BuildRequires: glog-devel >= 0.3.2
BuildRequires: imap-devel >= 1:2007
#BuildRequires: jemalloc-devel >= 3.0.0
%{?with_system_libafdt:BuildRequires: libafdt-devel >= 0.1.0}
-%{?with_system_libzip:BuildRequires: libzip-devel >= 0.11.2}
BuildRequires: libcap-devel
BuildRequires: libdwarf-devel >= 20130729
BuildRequires: libicu-devel >= 4.2
@@ -82,6 +85,7 @@ BuildRequires: libstdc++-devel >= 6:4.8
BuildRequires: libunwind-devel
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
+%{?with_system_libzip:BuildRequires: libzip-devel >= 0.11.2}
%{?with_system_lz4:BuildRequires: lz4-devel >= 0.0-1.r119}
BuildRequires: mysql-devel
BuildRequires: ocaml-findlib
@@ -97,7 +101,7 @@ BuildRequires: zlib-devel
# check later, seem unused
#BuildRequires: bison >= 2.3
#BuildRequires: flex >= 2.5.35
-#BuildRequires: libafdt-devel >= 0.1.0
+BuildRequires: libafdt-devel >= 0.1.0
#BuildRequires: re2c >= 0.13.0
Provides: %{name}(api) = %{hhvm_api_version}
Provides: php(core) = %{php_version}
@@ -255,7 +259,8 @@ mv folly-* third-party/folly/src
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
+#%patch5 -p1
+%patch6 -p1
# prefer ones from system
rm CMake/FindBISON.cmake
@@ -263,10 +268,9 @@ rm CMake/FindFLEX.cmake
rm CMake/FindFreetype.cmake
# ensure system libs get used
-# NOTE: keep sqlite dir, build breaks with 3.8.5.0
-
cd third-party
rm -r pcre \
+ %{?with_system_sqlite:libsqlite3} \
%{?with_system_lz4:lz4} \
%{?with_system_dconv:double-conversion} \
%{?with_system_fastlz:fastlz} \
@@ -307,13 +311,6 @@ fi
-DUSE_JEMALLOC=OFF \
-DUSE_TCMALLOC=OFF \
-DTEST_BIN=OFF \
- -DSYSTEM_PCRE=ON \
- %{?with_system_sqlite:-DSYSTEM_SQLITE3=ON} \
- %{?with_system_lz4:-DSYSTEM_LZ4=ON} \
- %{?with_system_dconv:-DSYSTEM_DOUBLE_CONVERSION=ON} \
- %{?with_system_fastlz:-DSYSTEM_FASTLZ=ON} \
- %{?with_system_libafdt:-DSYSTEM_LIBAFDT=ON} \
- %{?with_system_libzip:-DSYSTEM_LIBZIP=ON} \
-DENABLE_COTIRE=%{!?with_cotire:OFF}%{?with_cotire:ON} \
.
diff --git a/system-fastlz.patch b/system-fastlz.patch
new file mode 100644
index 0000000..187a57c
--- /dev/null
+++ b/system-fastlz.patch
@@ -0,0 +1,79 @@
+based on https://github.com/facebook/hhvm/pull/4551
+adjusted for 3.3 branch
+
+From 0ad99e6892cf7ef7068910089aec09d5670509e7 Mon Sep 17 00:00:00 2001
+From: Johnny Robeson <johnny@localmomentum.net>
+Date: Wed, 31 Dec 2014 05:04:45 -0500
+Subject: [PATCH] refactor FastLZ cmake finder
+
+Changes of note:
+
+ * actually find the library in cmake (instead of specifying manually)
+ * rename from libfastlz to fastlz to match the library name
+ * don't add the third-party includes if we already specified the includes dir
+---
+ CMake/FindFastLZ.cmake | 19 +++++++++++++++++++
+ CMake/HPHPFindLibs.cmake | 6 ++++++
+ CMake/HPHPSetup.cmake | 5 ++++-
+ 4 files changed, 29 insertions(+), 15 deletions(-)
+ create mode 100644 CMake/FindFastLZ.cmake
+ delete mode 100644 CMake/FindLibFastLz.cmake
+
+diff --git a/CMake/FindFastLZ.cmake b/CMake/FindFastLZ.cmake
+new file mode 100644
+index 0000000..43a2fb0
+--- /dev/null
++++ b/CMake/FindFastLZ.cmake
+@@ -0,0 +1,19 @@
++if (FASTLZ_LIBRARY AND FASTLZ_INCLUDE_DIR)
++ set (FASTLZ_FIND_QUIETLY TRUE)
++endif (FASTLZ_LIBRARY AND FASTLZ_INCLUDE_DIR)
++
++find_path(FASTLZ_INCLUDE_DIR NAMES fastlz.h)
++find_library(FASTLZ_LIBRARY NAMES fastlz)
++
++include (FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(FastLZ DEFAULT_MSG
++ FASTLZ_LIBRARY
++ FASTLZ_INCLUDE_DIR)
++
++if (NOT FASTLZ_FOUND)
++ message(STATUS "Using third-party bundled fastlz")
++else()
++ message(STATUS "Found fastlz: ${FASTLZ_LIBRARY}")
++endif (NOT FASTLZ_FOUND)
++
++mark_as_advanced(FASTLZ_INCLUDE_DIR FASTLZ_LIBRARY)
+diff --git a/CMake/HPHPFindLibs.cmake b/CMake/HPHPFindLibs.cmake
+index eb37774..d05efe2 100644
+--- a/CMake/HPHPFindLibs.cmake
++++ b/CMake/HPHPFindLibs.cmake
+@@ -152,6 +152,12 @@ if (LZ4_INCLUDE_DIR)
+ include_directories(${LZ4_INCLUDE_DIR})
+ endif()
+
++# fastlz
++find_package(FastLZ)
++if (FASTLZ_INCLUDE_DIR)
++ include_directories(${FASTLZ_INCLUDE_DIR})
++endif()
++
+ # libzip
+ find_package(LibZip)
+ if (LIBZIP_INCLUDE_DIR_ZIP AND LIBZIP_INCLUDE_DIR_ZIPCONF)
+diff --git a/CMake/HPHPSetup.cmake b/CMake/HPHPSetup.cmake
+index ae7d4ce..5e49429 100644
+--- a/CMake/HPHPSetup.cmake
++++ b/CMake/HPHPSetup.cmake
+@@ -226,7 +226,10 @@ if (NOT PCRE_LIBRARY)
+ include_directories("${TP_DIR}/pcre")
+ endif()
+
+-include_directories("${TP_DIR}/fastlz")
++if (NOT FASTLZ_LIBRARY)
++ include_directories("${TP_DIR}/fastlz")
++endif()
++
+ include_directories("${TP_DIR}/timelib")
+ include_directories("${TP_DIR}/libafdt/src")
+ include_directories("${TP_DIR}/libmbfl")
diff --git a/system-thirdparty.patch b/system-thirdparty.patch
index 41fe3ba..bbfee4a 100644
--- a/system-thirdparty.patch
+++ b/system-thirdparty.patch
@@ -1,49 +1,24 @@
---- hhvm-HHVM-3.3.1/third-party/CMakeLists.txt 2014-11-17 22:39:00.515744741 +0200
-+++ hhvm-HHVM-3.3.1/third-party/CMakeLists.txt 2014-11-18 19:55:23.702812657 +0200
-@@ -24,16 +24,39 @@
+upstream fix: https://github.com/hhvm/hhvm-third-party/pull/55
+
+--- hhvm-HHVM-3.3.3/third-party/CMakeLists.txt~ 2015-01-09 23:57:55.000000000 +0200
++++ hhvm-HHVM-3.3.3/third-party/CMakeLists.txt 2015-02-05 19:11:24.761557999 +0200
+@@ -24,7 +24,6 @@
set(THIRD_PARTY_HEADERS)
list(APPEND THIRD_PARTY_MODULES
-- pcre
-- fastlz
- libafdt
libmbfl
-- libsqlite3
timelib
-- lz4
-- double-conversion
- folly
-- libzip)
-+)
-+
-+if(NOT SYSTEM_PCRE)
-+ list(APPEND THIRD_PARTY_MODULES pcre)
-+endif()
-+
-+if(NOT SYSTEM_SQLITE3)
-+ list(APPEND THIRD_PARTY_MODULES libsqlite3)
-+endif()
-+
-+if(NOT SYSTEM_FASTLZ)
-+ list(APPEND THIRD_PARTY_MODULES fastlz)
-+endif()
-+
-+if(NOT SYSTEM_LIBAFDT)
+ folly)
+@@ -33,6 +32,11 @@
+ list(APPEND THIRD_PARTY_MODULES thrift)
+ endif()
+
++# Add bundled libafdt if the system one will not be used
++if(NOT LIBAFDT_LIBRARY)
+ list(APPEND THIRD_PARTY_MODULES libafdt)
+endif()
-+
-+if(NOT SYSTEM_LZ4)
-+ list(APPEND THIRD_PARTY_MODULES lz4)
-+endif()
-+
-+if(NOT SYSTEM_DOUBLE_CONVERSION)
-+ list(APPEND THIRD_PARTY_MODULES double-conversion)
-+endif()
+
-+if(NOT SYSTEM_LIBZIP)
-+ list(APPEND THIRD_PARTY_MODULES libzip)
-+endif()
-+
- if(ENABLE_FASTCGI)
- list(APPEND THIRD_PARTY_MODULES proxygen)
- list(APPEND THIRD_PARTY_MODULES thrift)
+ # Add bundled fastlz if the system one will not be used
+ if(NOT FASTLZ_LIBRARY)
+ list(APPEND THIRD_PARTY_MODULES fastlz)