diff options
author | Elan Ruusamäe | 2015-02-19 07:25:14 (GMT) |
---|---|---|
committer | Elan Ruusamäe | 2015-02-19 07:25:14 (GMT) |
commit | f2d3bf20f908d63c2dfd7733284c516d63a7e9be (patch) | |
tree | f147ce30bf69d1bc484191ea1dfb971bec7cacff | |
parent | 93b979fddd0572adcb9d7a9ef1ba8e6eaa0d485e (diff) | |
parent | 934d354b5042ed5500daee4720e2d6ed74632eb2 (diff) | |
download | hhvm-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.spec | 37 | ||||
-rw-r--r-- | system-fastlz.patch | 79 | ||||
-rw-r--r-- | system-thirdparty.patch | 55 |
3 files changed, 111 insertions, 60 deletions
@@ -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) |