Merge remote-tracking branch 'upstream/master' into HEAD

This commit is contained in:
Frederik Rietdijk
2017-09-02 11:10:52 +02:00
341 changed files with 9615 additions and 5193 deletions

View File

@@ -3,18 +3,18 @@
, expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5
, bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
, libxslt, ocaml, freetype, gdb, git, perl, mariadb, gmp, libyaml, libedit
, libvpx, imagemagick, fribidi, gperf
, libvpx, imagemagick, fribidi, gperf, which
}:
stdenv.mkDerivation rec {
name = "hhvm-${version}";
version = "3.15.0";
version = "3.21";
# use git version since we need submodules
src = fetchgit {
url = "https://github.com/facebook/hhvm.git";
rev = "92a682ebaa3c85b84857852d8621f528607fe27d";
sha256 = "0mn3bfvhdf6b4lflyjfjyr7nppkq505xkaaagk111fqy91rdzd3b";
rev = "56483773e2edd9e61782f1901ce40e47959e71b8";
sha256 = "0dmdk98nv04m0fv6909gfbsxqlkckn369yi7kadhir0r7vxsj7wa";
fetchSubmodules = true;
};
@@ -23,9 +23,13 @@ stdenv.mkDerivation rec {
libevent gd curl libxml2 icu flex bison openssl zlib php expat libcap
oniguruma libdwarf libmcrypt tbb gperftools bzip2 openldap readline
libelf uwimap binutils cyrus_sasl pam glog libpng libxslt ocaml libkrb5
gmp libyaml libedit libvpx imagemagick fribidi gperf
gmp libyaml libedit libvpx imagemagick fribidi gperf which
];
patches = [
./flexible-array-members-gcc6.patch
];
enableParallelBuilding = false; # occasional build problems;
dontUseCmakeBuildDir = true;
NIX_LDFLAGS = "-lpam -L${pam}/lib";
@@ -39,10 +43,10 @@ stdenv.mkDerivation rec {
cmakeFlags = "-DCMAKE_INSTALL_INCLUDEDIR=include";
prePatch = ''
substituteInPlace hphp/util/generate-buildinfo.sh \
--replace /bin/bash ${stdenv.shell}
substituteInPlace ./configure \
--replace "/usr/bin/env bash" ${stdenv.shell}
substituteInPlace ./third-party/ocaml/CMakeLists.txt \
--replace "/bin/bash" ${stdenv.shell}
perl -pi -e 's/([ \t(])(isnan|isinf)\(/$1std::$2(/g' \
hphp/runtime/base/*.cpp \
hphp/runtime/ext/std/*.cpp \

View File

@@ -0,0 +1,20 @@
diff --git a/third-party/re2/src/re2/dfa.cc b/third-party/re2/src/re2/dfa.cc
index 483f678..3aa3610 100644
--- a/third-party/re2/src/re2/dfa.cc
+++ b/third-party/re2/src/re2/dfa.cc
@@ -101,8 +101,13 @@ class DFA {
uint flag_; // Empty string bitfield flags in effect on the way
// into this state, along with kFlagMatch if this
// is a matching state.
- std::atomic<State*> next_[]; // Outgoing arrows from State,
- // one per input byte class
+// Work around the bug affecting flexible array members in GCC 6.1 and 6.2.
+// (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70932)
+#if !defined(__clang__) && defined(__GNUC__) && __GNUC__ == 6 && __GNUC_MINOR__ >= 1
+ std::atomic<State*> next_[0]; // Outgoing arrows from State, one per input byte class
+#else
+ std::atomic<State*> next_[]; // Outgoing arrows from State, one per input byte class
+#endif
};
enum {

View File

@@ -1,15 +1,20 @@
{stdenv, fetchurl, ocaml, libgcrypt, fetchFromGitHub, ocamlPackages, perl}:
stdenv.mkDerivation rec {
name = "obliv-c-${version}";
version = "0.0pre20161001";
version = "0.0pre20170827";
buildInputs = [ ocaml ocamlPackages.findlib perl ];
propagatedBuildInputs = [ libgcrypt ];
src = fetchFromGitHub {
owner = "samee";
repo = "obliv-c";
rev = "32d71fb46983aded604045e8cda7874d8fb160a2";
sha256 = "05bicvalsfabngvf41q02bcyzkibmyihj7naqd53kdq75xa1yf37";
rev = "9a6be5a5f44d341bc357055e11922f6a4c4c3b65";
sha256 = "0jz2ayadx62zv2b5ji947bkvw63axl4a2q70lwli86zgmcl390gf";
};
preBuild = ''
patchShebangs .
'';
preInstall = ''
mkdir -p "$out/bin"
cp bin/* "$out/bin"
@@ -23,6 +28,7 @@ stdenv.mkDerivation rec {
gcc $(ar t _build/libobliv.a | sed -e 's@^@_build/@') --shared -o _build/libobliv.so
cp _build/lib*.a _build/lib*.so* "$out/lib"
'';
meta = {
inherit version;
description = ''A GCC wrapper that makes it easy to embed secure computation protocols inside regular C programs'';

View File

@@ -3,13 +3,13 @@
stdenv.mkDerivation ( rec {
name = "ponyc-${version}";
version = "0.18.0";
version = "0.18.1";
src = fetchFromGitHub {
owner = "ponylang";
repo = "ponyc";
rev = version;
sha256 = "0favj1895fp5j5i23cmjn9wvrrlchr2dmc18grlvbjr2cg2c76mg";
sha256 = "1yjrmi8xigh1n95d5q98m2jc4z45m5dwkah4hyi9dyibbfiiwix3";
};
buildInputs = [ llvm makeWrapper which ];
@@ -83,7 +83,7 @@ stdenv.mkDerivation ( rec {
description = "Pony is an Object-oriented, actor-model, capabilities-secure, high performance programming language";
homepage = http://www.ponylang.org;
license = licenses.bsd2;
maintainers = with maintainers; [ doublec kamilchm ];
maintainers = with maintainers; [ doublec kamilchm patternspandemic ];
platforms = subtractLists platforms.i686 platforms.unix;
};
})

View File

@@ -1,9 +1,9 @@
{ stdenv, fetchzip, fetchgit, boost, cmake }:
{ stdenv, fetchzip, fetchgit, boost, cmake, z3 }:
let
version = "0.4.13";
rev = "0fb4cb1ab9bb4b6cc72e28cc5a1753ad14781f14";
sha256 = "0rhrm0bmk5s2358j40yx7dzr1938q17dchzflrxw6y7yvkhscxrm";
version = "0.4.16";
rev = "d7661dd97460250b4e1127b9e7ea91e116143780";
sha256 = "1fd69pdhkkkvbkrxipkck1icpqkpdskjzar48a1yzdsx3l8s4lil";
jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.7.7.tar.gz;
jsoncpp = fetchzip {
url = jsoncppURL;
@@ -27,12 +27,14 @@ stdenv.mkDerivation {
--replace '${jsoncppURL}' ${jsoncpp}
substituteInPlace cmake/EthCompilerSettings.cmake \
--replace 'add_compile_options(-Werror)' ""
substituteInPlace cmake/EthDependencies.cmake \
--replace 'set(Boost_USE_STATIC_LIBS ON)' \
'set(Boost_USE_STATIC_LIBS OFF)'
'';
buildInputs = [ boost cmake ];
cmakeFlags = [
"-DBoost_USE_STATIC_LIBS=OFF"
];
nativeBuildInputs = [ cmake ];
buildInputs = [ boost z3 ];
meta = {
description = "Compiler for Ethereum smart contract language Solidity";