aboutsummaryrefslogtreecommitdiff
path: root/development/hhvm
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2021-05-03 22:21:41 +0200
committerRobby Workman <rworkman@slackbuilds.org>2021-05-04 19:28:42 -0500
commitc1704fe2c87a70f3e565ef9f4dd223665fe77606 (patch)
tree22d7b11903a6433587f0636ea77c2dd17e80d4fc /development/hhvm
parent1d9ced8bab7abfec86c764eb774cfcfb1d2c90c5 (diff)
development/hhvm: Updated for version 4.104.1
Diffstat (limited to 'development/hhvm')
-rw-r--r--development/hhvm/0001-Link-static-libiberty.patch49
-rw-r--r--development/hhvm/hhvm.SlackBuild81
-rw-r--r--development/hhvm/hhvm.info30
3 files changed, 92 insertions, 68 deletions
diff --git a/development/hhvm/0001-Link-static-libiberty.patch b/development/hhvm/0001-Link-static-libiberty.patch
index 6ec6406fce664..1f35da35d7c99 100644
--- a/development/hhvm/0001-Link-static-libiberty.patch
+++ b/development/hhvm/0001-Link-static-libiberty.patch
@@ -1,25 +1,24 @@
-From 58528a9e983ae8ba53e4e5c10f0565ac0b12c2b3 Mon Sep 17 00:00:00 2001
-From: Eugen Wissner <belka@caraus.de>
-Date: Sun, 25 Oct 2020 10:18:08 +0100
-Subject: [PATCH] Link static libiberty
-
----
- hphp/hhvm/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/hphp/hhvm/CMakeLists.txt b/hphp/hhvm/CMakeLists.txt
-index f70bd1f542..ab41ec1e5d 100644
---- a/hphp/hhvm/CMakeLists.txt
-+++ b/hphp/hhvm/CMakeLists.txt
-@@ -28,7 +28,7 @@ endif()
-
- get_object_libraries_objects(additionalObjects ${HHVM_WHOLE_ARCHIVE_LIBRARIES})
- add_executable(hhvm ${CXX_SOURCES} ${additionalObjects})
--target_link_libraries(hhvm ${HHVM_LINK_LIBRARIES} ${EZC_LINK_LIBRARIES} ${HRE_LINK_LIBRARIES})
-+target_link_libraries(hhvm /usr/lib64/libiberty.a ${HHVM_LINK_LIBRARIES} ${EZC_LINK_LIBRARIES} ${HRE_LINK_LIBRARIES})
- link_object_libraries(hhvm ${HHVM_WHOLE_ARCHIVE_LIBRARIES})
- if (GOLD_FOUND AND ENABLE_LD_GOLD)
- if (CMAKE_CONFIGURATION_TYPES)
---
-2.17.5
-
+libiberty is part of GCC and is provided only statically on Slackware. We
+patch CMake to use it.
+Patches CMake to avoid downloading during the build since we use prefetched
+sources.
+--- a/third-party/folly/CMakeLists.txt 2021-04-22 08:09:46.000000000 +0200
++++ b/third-party/folly/CMakeLists.txt 2021-05-03 07:43:23.777873092 +0200
+@@ -298,3 +298,6 @@
+ # Just assume we have sched.h
+ target_compile_definitions(folly PUBLIC "FOLLY_HAVE_SCHED_H=1")
+ endif()
++
++target_link_libraries(folly /usr/lib64/libiberty.a)
++target_include_directories(folly PUBLIC /usr/include/libiberty)
+--- a/third-party/brotli/CMakeLists.txt 2021-04-22 08:09:46.000000000 +0200
++++ b/third-party/brotli/CMakeLists.txt 2021-05-03 06:21:46.202704488 +0200
+@@ -6,8 +6,6 @@
+ # version.
+ ExternalProject_Add(
+ bundled_brotli
+- GIT_REPOSITORY https://github.com/google/brotli
+- GIT_TAG 4b5771bee7995d3d606221caa455c044d80434df
+ CMAKE_ARGS
+ -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
+ -DCMAKE_INSTALL_INCLUDEDIR=include
diff --git a/development/hhvm/hhvm.SlackBuild b/development/hhvm/hhvm.SlackBuild
index 0585b2097b37b..f4486a1bd762e 100644
--- a/development/hhvm/hhvm.SlackBuild
+++ b/development/hhvm/hhvm.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for HHVM
-# Copyright 2015-2020 Eugene Wissner, Dachau, Germany
+# Copyright 2015-2021 Eugene Wissner, Dachau, Germany
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,12 +23,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=hhvm
-VERSION=${VERSION:-4.56.1}
+VERSION=${VERSION:-4.104.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-OPAM_STAMP="6ef290f5"
-CARGO_STAMP="1ecc6299db9ec823"
+OPAM_STAMP="221708b"
+CARGO_BUILD="1"
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -60,45 +60,68 @@ rm -rf $PRGNAM-$VERSION
tar Jxvf $CWD/$PRGNAM-$VERSION.tar.xz
cd $PRGNAM-$VERSION
-mkdir -p hphp/hack/_build/opam hphp/hack/facebook
+mkdir -p hphp/hack/facebook third-party/brotli/bundled_brotli-prefix/src
+
+mkdir -p hphp/hack/_build/opam
tar Jxvf $CWD/hack-switch-$OPAM_STAMP.tar.xz -C hphp/hack/_build/opam
-tar Jxvf $CWD/cargo-home-$CARGO_STAMP.tar.xz -C hphp/hack
+# hhvm prepares an opam switch (an isolated envrionment with a specific OCaml
+# compiler version) during the build, it downloads and builds all dependencies.
+# To avoid doing this at runtime, I provide a prebuilt switch. Unfortunately
+# it contains references to absolute paths it has been built in. Therefore if
+# the user doesn't build in the standard directory, we put a link there, so
+# that opam can find binaries.
+if [ "$TMP" != '/tmp/SBo' ]
+then
+ rm -rf /tmp/SBo/hhvm-$VERSION/hphp/hack/_build/opam
+ mkdir -p /tmp/SBo/hhvm-$VERSION/hphp/hack/_build/opam
+ ln -s $TMP/$PRGNAM-$VERSION/hphp/hack/_build/opam/hack-switch \
+ /tmp/SBo/hhvm-$VERSION/hphp/hack/_build/opam/hack-switch
+fi
-chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+tar Jxvf $CWD/cargo-home-$CARGO_BUILD.tar.xz -C hphp/hack
+tar Jxvf $CWD/brotli-4b5771be.tar.xz -C third-party/brotli/bundled_brotli-prefix/src
-cp $CWD/opam-full-2.0.3.tar.gz third-party/ocaml/
+install -m 0755 -D $CWD/opam-2.0.7-x86_64-linux \
+ third-party/opam/opamDownload-prefix/src/opam-2.0.7-x86_64-linux
install -m 0644 -D $CWD/rust-1.43.0-x86_64-unknown-linux-gnu.tar.gz \
- third-party/rustc/rust-prefix/src/rust-1.43.0-x86_64-unknown-linux-gnu.tar.gz
+ third-party/rustc/bundled_rust-prefix/src/rust-1.43.0-x86_64-unknown-linux-gnu.tar.gz
install -m 0644 -D $CWD/fmt-6.1.2.zip third-party/fmt/fmt-prefix/src/fmt-6.1.2.zip
-install -m 0644 -D $CWD/libzip-1.6.1.tar.gz third-party/libzip/libzipBuild-prefix/src/libzip-1.6.1.tar.gz
+install -m 0644 -D $CWD/fb-prod8-202010.tar.gz \
+ third-party/fb-mysql/bundled_fbmysqlclient-prefix/src/fb-prod8-202010.tar.gz
+# The working directory is hphp/hack.
cat << EOF > hphp/hack/facebook/fetch_opam2_repo_hack.sh
#!/bin/sh
-echo $CWD/index-$OPAM_STAMP
+cp $CWD/index-$OPAM_STAMP.tar.gz facebook/
+echo facebook/index-$OPAM_STAMP
EOF
chmod 0755 hphp/hack/facebook/fetch_opam2_repo_hack.sh
-patch -p1 -i $CWD/0001-Link-static-libiberty.patch
+patch -p1 --verbose -i $CWD/0001-Link-static-libiberty.patch
+
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
export CMAKE_PREFIX_PATH=`pwd`
cmake \
- -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
- -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS -lncursesw -I/usr/kerberos/include -I/usr/include/libiberty" \
- -DCMAKE_CXX_STANDARD=14 \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
- -DENABLE_MCROUTER=false \
- -DNON_DISTRIBUTABLE_BUILD=true \
- -DENABLE_LD_GOLD=true \
- -DUSE_JEMALLOC=false \
- -DMYSQL_UNIX_SOCK_ADDR=/var/run/mysqld/mysqld.sock \
- -DCMAKE_BUILD_TYPE=Release .
-make
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_STANDARD=17 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
+ -DENABLE_MCROUTER=false \
+ -DENABLE_EXTENSION_IMAGICK=false \
+ -DNON_DISTRIBUTABLE_BUILD=true \
+ -DENABLE_LD_GOLD=true \
+ -DUSE_JEMALLOC=true \
+ -DFORCE_BUNDLED_LZ4=OFF \
+ -DMYSQL_UNIX_SOCK_ADDR=/var/run/mysqld/mysqld.sock \
+ -DCMAKE_BUILD_TYPE=Release .
+make || make -j1
make install DESTDIR=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
diff --git a/development/hhvm/hhvm.info b/development/hhvm/hhvm.info
index 372b68d4c5620..229a8e4000944 100644
--- a/development/hhvm/hhvm.info
+++ b/development/hhvm/hhvm.info
@@ -1,24 +1,26 @@
PRGNAM="hhvm"
-VERSION="4.56.1"
+VERSION="4.104.1"
HOMEPAGE="https://hhvm.com/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://download.dlackware.com/hosted-sources/hhvm/hhvm-4.56.1.tar.xz \
+DOWNLOAD_x86_64="https://download.dlackware.com/hosted-sources/hhvm/hhvm-4.104.1.tar.xz \
https://static.rust-lang.org/dist/rust-1.43.0-x86_64-unknown-linux-gnu.tar.gz \
- https://download.dlackware.com/hosted-sources/hhvm/opam-full-2.0.3.tar.gz \
- https://download.dlackware.com/hosted-sources/hhvm/libzip-1.6.1.tar.gz \
+ https://download.dlackware.com/hosted-sources/hhvm/opam-2.0.7-x86_64-linux \
+ https://download.dlackware.com/hosted-sources/hhvm/brotli-4b5771be.tar.xz \
https://download.dlackware.com/hosted-sources/hhvm/fmt-6.1.2.zip \
- https://download.dlackware.com/hosted-sources/hhvm/cargo-home-1ecc6299db9ec823.tar.xz \
- https://download.dlackware.com/hosted-sources/hhvm/index-6ef290f5.tar.gz \
- https://download.dlackware.com/hosted-sources/hhvm/hack-switch-6ef290f5.tar.xz"
-MD5SUM_x86_64="edc4cf258e49b2311418f3cc651e6782 \
+ https://download.dlackware.com/hosted-sources/hhvm/cargo-home-1.tar.xz \
+ https://download.dlackware.com/hosted-sources/hhvm/index-221708b.tar.gz \
+ https://download.dlackware.com/hosted-sources/hhvm/hack-switch-221708b.tar.xz \
+ https://download.dlackware.com/hosted-sources/hhvm/fb-prod8-202010.tar.gz"
+MD5SUM_x86_64="0bddb92bbf45f8a7d2ef84256293ef63 \
c1cb2b3d0c9edb4b61b01ba6b090d01b \
- d685758ad289672ee43caa4baa20b849 \
- 43883accb207d977462aed9fed40b30b \
+ b4398cb8403252321510fadd87a4a265 \
+ 7553d4e66d8d5d78af3e53b1083f17b4 \
5ec643b082a34254ad07136e7cbd4220 \
- 990b311a2863c88e372051291a9f7f02 \
- 1f67209970361d31d2b60812af78b540 \
- ddff31c5f0baa6b0ebc3b04e67d04306"
-REQUIRES="tbb glog libdwarf libmemcached"
+ 38b0384806e3415c0a7c42e4a0facf5b \
+ c1c35bc5a0198f25be9c13cb88c7df2f \
+ 95ef57a2272d3405257dff3395220847 \
+ f5f484685fe2a7cdaa1d3f3c107bb23b"
+REQUIRES="tbb glog libdwarf libmemcached double-conversion"
MAINTAINER="Eugene Wissner"
EMAIL="belka@caraus.de"