[PATCH] gnu: Test rust-juniper-codegen.

  • Open
  • quality assurance status badge
Details
2 participants
  • Matthew Kraai
  • Nicolas Goaziou
Owner
unassigned
Submitted by
Matthew Kraai
Severity
normal
M
M
Matthew Kraai wrote on 23 Jan 2021 22:30
(address . guix-patches@gnu.org)(name . Matthew Kraai)(address . kraai@ftbfs.org)
20210123213047.31750-1-kraai@ftbfs.org
* 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

Toggle diff (68 lines)
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 <mate.f.gerdes@gmail.com>
# Copyright © 2020 Vinicius Monego <monego@posteo.net>
# Copyright © 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
+# Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
#
# 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 <nandre@riseup.net>
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2020 Antoine Côté <antoine.cote@posteo.net>
+;;; Copyright © 2021 Matthew Kraai <kraai@ftbfs.org>
;;;
;;; 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
N
N
Nicolas Goaziou wrote on 24 Jan 2021 10:20
(name . Matthew Kraai)(address . kraai@ftbfs.org)(address . 46058@debbugs.gnu.org)
877do2elnu.fsf@nicolasgoaziou.fr
Hello,

Matthew Kraai <kraai@ftbfs.org> writes:

Toggle quote (5 lines)
> * 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.

Thank you for fixing my FIXME. :)

However, I ponder if this is going in the right direction. IIUC, the
goal for Rust packaging is to automatically fetch and build inputs and
development inputs, using the importer, i.e., maybe writing something like

#:cargo-inputs (("instant" "0.1")
("lock-api" "0.4")
("parking-lot-core" "0.8"))

and let the crate importer deal with it without providing the packages
ourselves.

In this case, why bother, since any non-leaf package will be expected to
#:skip-build anyway. What about doing it here, too?

WDYT?

Regards,
--
Nicolas Goaziou
M
M
Matthew Kraai wrote on 24 Jan 2021 14:06
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 46058@debbugs.gnu.org)
1f46424f-0e99-95e7-6411-fcddf0fc822b@ftbfs.org
Hi Nicolas,

On 1/24/21 1:20 AM, Nicolas Goaziou wrote:
Toggle quote (28 lines)
> Hello,
>
> Matthew Kraai <kraai@ftbfs.org> writes:
>
>> * 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.
> Thank you for fixing my FIXME. :)
>
> However, I ponder if this is going in the right direction. IIUC, the
> goal for Rust packaging is to automatically fetch and build inputs and
> development inputs, using the importer, i.e., maybe writing something like
>
> #:cargo-inputs (("instant" "0.1")
> ("lock-api" "0.4")
> ("parking-lot-core" "0.8"))
>
> and let the crate importer deal with it without providing the packages
> ourselves.
>
> In this case, why bother, since any non-leaf package will be expected to
> #:skip-build anyway. What about doing it here, too?
>
> WDYT?
>
> Regards,

I don't know enough about the long-term goals to know what's best.  Feel
free to close this bug if you think that's a better approach.

--
Matthew Kraai
?