Subject: [bug#46058] [PATCH] gnu: Test rust-juniper-codegen.

From: Matthew Kraai <[email-masked]>
Date: Sat, 23 Jan 2021 13:30:47 -0800

* gnu/packages/patches/rust-juniper-codegen-use-__private.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/crates-io.scm (rust-juniper-codegen-0.14)[source]: Use it.
  [arguments]: Do not set #:tests? to #false.
---
 gnu/local.mk                                        |  2 ++
 gnu/packages/crates-io.scm                          |  7 ++++---
 .../rust-juniper-codegen-use-__private.patch        | 13 +++++++++++++
 3 files changed, 19 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/rust-juniper-codegen-use-__private.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 0553c12f28..2a51d913dd 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -40,6 +40,7 @@
 # Copyright © 2020 Malte Frank Gerdes <[email-masked]>
 # Copyright © 2020 Vinicius Monego <[email-masked]>
 # Copyright © 2021 Björn Höfling <[email-masked]>
+# Copyright © 2021 Matthew Kraai <[email-masked]>
 #
 # This file is part of GNU Guix.
 #
@@ -1604,6 +1605,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/rust-1.48-linker-locale.patch		\
   %D%/packages/patches/rust-bootstrap-stage0-test.patch		\
   %D%/packages/patches/rust-coresimd-doctest.patch		\
+  %D%/packages/patches/rust-juniper-codegen-use-__private.patch \
   %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch	\
   %D%/packages/patches/rust-nettle-disable-vendor.patch		 \
   %D%/packages/patches/rust-nettle-sys-disable-vendor.patch	 \
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 6d0115e820..9a379e4d8a 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020 André Batista <[email-masked]>
 ;;; Copyright © 2020 Arun Isaac <[email-masked]>
 ;;; Copyright © 2020 Antoine Côté <[email-masked]>
+;;; Copyright © 2021 Matthew Kraai <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -16873,11 +16874,11 @@ friction with idiomatic Rust structs to ease interopability.")
        (uri (crate-uri "juniper_codegen" version))
        (file-name (string-append name "-" version ".tar.gz"))
        (sha256
-        (base32 "06ym8568k9p75kvnfc4ywqbkzaa4ib6gngx9vpbsjwg9v0sg42nl"))))
+        (base32 "06ym8568k9p75kvnfc4ywqbkzaa4ib6gngx9vpbsjwg9v0sg42nl"))
+       (patches (search-patches "rust-juniper-codegen-use-__private.patch"))))
     (build-system cargo-build-system)
     (arguments
-     `(#:tests? #false                  ;FIXME: fail due to unresolved import
-       #:cargo-inputs
+     `(#:cargo-inputs
        (("rust-proc-macro2" ,rust-proc-macro2-1)
         ("rust-quote" ,rust-quote-1)
         ("rust-syn" ,rust-syn-1))
diff --git a/gnu/packages/patches/rust-juniper-codegen-use-__private.patch b/gnu/packages/patches/rust-juniper-codegen-use-__private.patch
new file mode 100644
index 0000000000..79b03e6cfc
--- /dev/null
+++ b/gnu/packages/patches/rust-juniper-codegen-use-__private.patch
@@ -0,0 +1,13 @@
+diff --git a/src/util.rs b/src/util.rs
+index 4df1b295..711aced1 100644
+--- a/src/util.rs
++++ b/src/util.rs
+@@ -840,7 +840,7 @@ impl GraphQLTypeDefiniton {
+ #[cfg(test)]
+ mod test {
+     use super::*;
+-    use quote::__rt::*;
++    use quote::__private::*;
+     use syn::{Ident, LitStr};
+ 
+     fn strs_to_strings(source: Vec<&str>) -> Vec<String> {
-- 
2.30.0