Subject: [PATCH 1/2] gnu: mrustc: Update to 0.9.

From: Danny Milosavljevic <[email-masked]>
Date: Thu, 7 Nov 2019 23:29:59 +0100

* gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/rust.scm: Update to 0.9.
[source](patches): Remove it.
---
 gnu/local.mk                                   |  1 -
 ...fix-variable-length-integer-receiving.patch | 15 ---------------
 gnu/packages/rust.scm                          | 18 ++++++++----------
 3 files changed, 8 insertions(+), 26 deletions(-)
 delete 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 2513b4003c..5f52372875 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1140,7 +1140,6 @@ 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/mtools-mformat-uninitialized.patch	\
   %D%/packages/patches/mumble-1.2.19-abs.patch			\
   %D%/packages/patches/mumps-build-parallelism.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
deleted file mode 100644
index 9e76653a07..0000000000
--- a/gnu/packages/patches/mrustc-0.8.0-fix-variable-length-integer-receiving.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://github.com/thepowersgang/mrustc/issues/109
-From: Danny Milosavljevic <[email-masked]>
-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 f3fee4c126..a752f9ece4 100644
--- a/gnu/packages/rust.scm
+++ b/gnu/packages/rust.scm
@@ -88,10 +88,10 @@
                                    (package-native-inputs base-rust))))))
 
 (define-public mrustc
-  (let ((rustc-version "1.19.0"))
+  (let ((rustc-version "1.29.0"))
     (package
       (name "mrustc")
-      (version "0.8.0")
+      (version "0.9")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
@@ -100,9 +100,7 @@
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "0a7v8ccyzp1sdkwni8h1698hxpfz2sxhcpx42n6l2pbm0rbjp08i"))
-                (patches
-                 (search-patches "mrustc-0.8.0-fix-variable-length-integer-receiving.patch"))))
+                  "194ny7vsks5ygiw7d8yxjmp1qwigd71ilchis6xjl6bb2sj97rd2"))))
       (outputs '("out" "cargo"))
       (build-system gnu-build-system)
       (inputs
@@ -111,7 +109,7 @@
        `(("bison" ,bison)
          ("flex" ,flex)
          ;; Required for the libstd sources.
-         ("rustc" ,(package-source rust-1.19))))
+         ("rustc" ,(package-source rust-1.29))))
       (arguments
        `(#:test-target "local_tests"
          #:make-flags (list (string-append "LLVM_CONFIG="
@@ -135,8 +133,8 @@
                                  ,(or (%current-target-system)
                                       (nix-system->gnu-triplet-for-rust)))))
                (invoke "tar" "xf" (assoc-ref inputs "rustc"))
-               (chdir "rustc-1.19.0-src")
-               (invoke "patch" "-p0" "../rust_src.patch")
+               (chdir "rustc-1.29.0-src")
+               (invoke "patch" "-p0" "../rustc-1.29.0-src.patch")
                (chdir "..")
                #t))
            (replace 'configure
@@ -147,8 +145,8 @@
              (lambda _
                (for-each (lambda (target)
                            (invoke "make" "-f" "minicargo.mk" target))
-                         '("output/libstd.hir" "output/libpanic_unwind.hir"
-                           "output/libproc_macro.hir" "output/libtest.hir"))
+                         '("output/libstd.rlib" "output/libpanic_unwind.rlib"
+                           "output/libproc_macro.rlib" "output/libtest.rlib"))
                ;; Technically the above already does it - but we want to be clear.
                (invoke "make" "-C" "tools/minicargo")))
            (replace 'install