diff mbox series

[bug#54299,09/27] added rust-ndk-context@0.1

Message ID 20220308173127.21218-8-trzickel@illegalaliensfrom.space
State New
Headers show
Series None | expand

Commit Message

Till Robin Zickel March 8, 2022, 5:31 p.m. UTC
---
 gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

M March 8, 2022, 6:07 p.m. UTC | #1
Till Robin Zickel schreef op di 08-03-2022 om 18:31 [+0100]:
> +    (arguments
> +     `(#:skip-build? #t))
Why?

> +    (home-page "https://github.com/rust-windowing/android-ndk-rs")
> +    (synopsis "Rust on Android")

Guix currently doesn't really support non-Linux Android features at all
currently, so this package seems currently pointless, what is the
reason for packaging it?

Greetings,
Maxime.
M March 21, 2022, 6:55 p.m. UTC | #2
Till Robin Zickel schreef op zo 20-03-2022 om 22:11 [+0100]:
> This is a library crate, so there is no need to build it, right?

By building it, syntax errors, API mismatches, etc. are detected
earlier, making updating the crate and its dependents less error-prone.

And from (guix)Rust Crates:

     Care should be taken to ensure the correct version of
     dependencies are used; to this end we try to refrain from skipping
     the tests or using ‘#:skip-build?’ when possible. 

Additionally, compiling libraries earlier can save compile time later
(*). Imagine having to rebuild glibc and gtk every time a new graphical
application using gtk is packaged ...

(*) There might currently be technical problems with rust and shared
libraries preventing this from working though.  Or maybe they have been
resolved, I dunno.

Greetings,
Maxime.
M March 21, 2022, 6:56 p.m. UTC | #3
Till Robin Zickel schreef op zo 20-03-2022 om 22:11 [+0100]:
> Android is not supported on guix, but the dependency is needed by an 
> upstream crate and it's not optional afaik.

Which upstream crate?  If you remove the dependency from the upstream
crate, does it fail to build?  If so, with what error messages?

Greetings,
Maxime.
diff mbox series

Patch

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 633123bc72..57039afa79 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -36498,6 +36498,26 @@  (define-public rust-ndk-sys-0.2
     (description "This package provides FFI bindings for the Android NDK.")
     (license (list license:expat license:asl2.0))))
 
+(define-public rust-ndk-context-0.1
+  (package
+    (name "rust-ndk-context")
+    (version "0.1.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "ndk-context" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "112q689zc4338xmj55a8nxdlkjmrw34s3xkpy3l1zqiphv35qg2f"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:skip-build? #t))
+    (home-page "https://github.com/rust-windowing/android-ndk-rs")
+    (synopsis "Rust on Android")
+    (description
+     "Collection of libraries and tools for Rust programming on Android targets")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-neli-0.4
   (package
     (name "rust-neli")