summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorDanny Milosavljevic <dannym@scratchpost.org>2019-02-01 17:06:25 +0100
committerDanny Milosavljevic <dannym@scratchpost.org>2019-02-13 13:28:29 +0100
commitbaf766a7ff9db45c707b4539176f2143fbd90efd (patch)
treeb08f7fdc93aee4f1eddf23c5ec3233aee005944a /gnu/packages
parent8b7e6d005e9f709bece4bba05186a4abda3e4deb (diff)
downloadguix-patches-baf766a7ff9db45c707b4539176f2143fbd90efd.tar
guix-patches-baf766a7ff9db45c707b4539176f2143fbd90efd.tar.gz
gnu: mrustc: Fix deserialization bug in communication with the procedural
macro compiler plugin. * gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/rust.scm (mrustc)[source]: Use it. Co-authored-by: Chris Marusich <cmmarusich@gmail.com>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch15
-rw-r--r--gnu/packages/rust.scm4
2 files changed, 18 insertions, 1 deletions
diff --git a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
new file mode 100644
index 0000000000..9e76653a07
--- /dev/null
+++ b/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
@@ -0,0 +1,15 @@
+https://github.com/thepowersgang/mrustc/issues/109
+From: Danny Milosavljevic <dannym@scratchpost.org>
+Date: Fri, 3 Jan 2019 13:00:00 +0100
+
+--- mrustc/src/expand/proc_macro.cpp.orig 2019-02-01 14:16:54.208486062 +0100
++++ mrustc/src/expand/proc_macro.cpp 2019-02-01 14:17:14.350925705 +0100
+@@ -977,7 +977,7 @@
+ for(;;)
+ {
+ auto b = recv_u8();
+- v |= static_cast<uint64_t>(b) << ofs;
++ v |= static_cast<uint64_t>(b & 0x7F) << ofs;
+ if( (b & 0x80) == 0 )
+ break;
+ ofs += 7;
diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm
index 501736d898..ca4d0a8a8d 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -105,7 +105,9 @@
(file-name (git-file-name name version))
(sha256
(base32
- "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))))
+ "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))
+ (patches
+ (search-patches "mrustc-0.8.0-fix-variable-length-integer-receiving.patch"))))
(outputs '("out" "cargo"))
(build-system gnu-build-system)
(inputs