* [bug#34310] [PATCH staging] gnu: mrustc: Fix deserialization bug in communication with the procedural macro compiler plugin.
@ 2019-02-04 11:39 Danny Milosavljevic
2019-02-09 9:01 ` Chris Marusich
0 siblings, 1 reply; 3+ messages in thread
From: Danny Milosavljevic @ 2019-02-04 11:39 UTC (permalink / raw)
To: 34310; +Cc: Chris Marusich
* 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>
---
gnu/local.mk | 1 +
....0-fix-variable-length-integer-receiving.patch | 15 +++++++++++++++
gnu/packages/rust.scm | 12 ++++++++++--
3 files changed, 26 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index f339f32e7..6af0a0407 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1042,6 +1042,7 @@ dist_patch_DATA = \
%D%/packages/patches/mozjs38-tracelogger.patch \
%D%/packages/patches/mozjs38-version-detection.patch \
%D%/packages/patches/mrrescue-support-love-11.patch \
+ %D%/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch \
%D%/packages/patches/mumble-1.2.19-abs.patch \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
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 000000000..9e76653a0
--- /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 501736d89..e128bb22b 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
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-02-13 12:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-04 11:39 [bug#34310] [PATCH staging] gnu: mrustc: Fix deserialization bug in communication with the procedural macro compiler plugin Danny Milosavljevic
2019-02-09 9:01 ` Chris Marusich
2019-02-13 12:35 ` bug#34310: " Danny Milosavljevic
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.