capnproto: fix on clang 4

Embedding the patch because the way they build their source releases
changes the paths, so fetchpatch against GitHub doesn't apply cleanly
This commit is contained in:
Dan Peebles 2017-03-26 18:15:59 -04:00
parent eab30996bd
commit 167aba003a
2 changed files with 27 additions and 0 deletions

View File

@ -0,0 +1,22 @@
From 0f1fd1938b19dccdb5dbfe9cb5177c4342a2a5b5 Mon Sep 17 00:00:00 2001
From: Eric Fiselier <eric@efcs.ca>
Date: Thu, 29 Dec 2016 14:23:40 -0700
Subject: [PATCH] Fix conversion build error when building with Clang 4.0
---
c++/src/capnp/layout.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/c++/src/capnp/layout.h b/c++/src/capnp/layout.h
index 850925a..b955f08 100644
--- a/src/capnp/layout.h
+++ b/src/capnp/layout.h
@@ -126,7 +126,7 @@template <> struct ElementSizeForType<Void> { static constexpr ElementSize value
template <> struct ElementSizeForType<bool> { static constexpr ElementSize value = ElementSize::BIT; };
// Lists and blobs are pointers, not structs.
-template <typename T, bool b> struct ElementSizeForType<List<T, b>> {
+template <typename T, Kind K> struct ElementSizeForType<List<T, K>> {
static constexpr ElementSize value = ElementSize::POINTER;
};
template <> struct ElementSizeForType<Text> {

View File

@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "1yvaadhgakskqq5wpv53hd6fc3pp17mrdldw4i5cvgck4iwprcfd";
};
patches = [
# Remove once they release a version above 0.5.3. See https://github.com/sandstorm-io/capnproto/issues/433
./clang4.patch
];
meta = with stdenv.lib; {
homepage = "http://kentonv.github.io/capnproto";
description = "Cap'n Proto cerealization protocol";