diff --git a/gnu/packages/crates-graphics.scm b/gnu/packages/crates-graphics.scm index 5d88cb0372..c5d9555599 100644 --- a/gnu/packages/crates-graphics.scm +++ b/gnu/packages/crates-graphics.scm @@ -345,8 +345,39 @@ alpha channel embedding.") (("rust-gleam" ,rust-gleam-0.6) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-cgmath-0.18 + (package + (name "rust-cgmath") + (version "0.18.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "cgmath" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "05sk7c1c1jg5ygqvc3y77kxddp177gwazfibhd864ag3800x760s")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-approx" ,rust-approx-0.4) + ("rust-mint" ,rust-mint-0.5) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rand" ,rust-rand-0.8) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/brendanzab/cgmath") + (synopsis "Linear algebra and mathematics library") + (description + "This package provides a linear algebra and mathematics library +for computer graphics.") + (license license:asl2.0))) + (define-public rust-cgmath-0.17 (package + (inherit rust-cgmath-0.18) (name "rust-cgmath") (version "0.17.0") (source @@ -358,7 +389,6 @@ alpha channel embedding.") (sha256 (base32 "1rvgila6ivr0dh1bxza450a4yfwdi2pwj3h1vnwg0jy4xk6l8f98")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t ; Crate won't build without glium. #:cargo-inputs @@ -370,13 +400,7 @@ alpha channel embedding.") ("rust-simd" ,rust-simd-0.2)) #:cargo-development-inputs (;("rust-glium" ,rust-glium-0.23) - ("rust-serde-json" ,rust-serde-json-1)))) - (home-page "https://github.com/brendanzab/cgmath") - (synopsis "Linear algebra and mathematics library") - (description - "This package provides a linear algebra and mathematics library -for computer graphics.") - (license license:asl2.0))) + ("rust-serde-json" ,rust-serde-json-1)))))) (define-public rust-cgmath-0.16 (package @@ -966,8 +990,48 @@ EUI-64, also known as MAC-48 media access control addresses.") "Generated OpenGL bindings and wrapper for Servo.") (license (list license:asl2.0 license:expat)))) +(define-public rust-glutin-0.28 + (package + (name "rust-glutin") + (version "0.28.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "glutin" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1lpnf61x4jbm55bpdr10k1a1pl3cs719i9y4qibsdj2bajz9vsh0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-android-glue" ,rust-android-glue-0.2) + ("rust-cgl" ,rust-cgl-0.3) + ("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-glutin-egl-sys" ,rust-glutin-egl-sys-0.1) + ("rust-glutin-emscripten-sys" ,rust-glutin-emscripten-sys-0.1) + ("rust-glutin-gles2-sys" ,rust-glutin-gles2-sys-0.1) + ("rust-glutin-glx-sys" ,rust-glutin-glx-sys-0.1) + ("rust-glutin-wgl-sys" ,rust-glutin-wgl-sys-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libloading" ,rust-libloading-0.7) + ("rust-log" ,rust-log-0.4) + ("rust-objc" ,rust-objc-0.2) + ("rust-osmesa-sys" ,rust-osmesa-sys-0.1) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-wayland-egl" ,rust-wayland-egl-0.29) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-winit" ,rust-winit-0.26)))) + (inputs + (list rust-wayland-client-0.29 rust-wayland-egl-0.29)) + (home-page "https://github.com/tomaka/glutin") + (synopsis "Cross-platform OpenGL context provider") + (description "This package provides an OpenGL context provider.") + (license license:asl2.0))) + (define-public rust-glutin-0.26 (package + (inherit rust-glutin-0.28) (name "rust-glutin") (version "0.26.0") (source @@ -977,7 +1041,6 @@ EUI-64, also known as MAC-48 media access control addresses.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "18szbh4dixcr7pmymvbrpv21hv0wrpii5w03rv2534bb2ywwpq8s")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-android-glue" ,rust-android-glue-0.2) @@ -999,11 +1062,7 @@ EUI-64, also known as MAC-48 media access control addresses.") ("rust-winapi" ,rust-winapi-0.3) ("rust-winit" ,rust-winit-0.24)))) (inputs - (list rust-wayland-client-0.28 rust-wayland-egl-0.28)) - (home-page "https://github.com/tomaka/glutin") - (synopsis "Cross-platform OpenGL context provider") - (description "This package provides an OpenGL context provider.") - (license license:asl2.0))) + (list rust-wayland-client-0.28 rust-wayland-egl-0.28)))) (define-public rust-glutin-0.22 (package @@ -1079,7 +1138,7 @@ EUI-64, also known as MAC-48 media access control addresses.") (define-public rust-glutin-egl-sys-0.1 (package (name "rust-glutin-egl-sys") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) @@ -1088,7 +1147,7 @@ EUI-64, also known as MAC-48 media access control addresses.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0k1x1frdp4wp47qkai8zzmgqxzpfcn7780m29qgd92lbnbrxwbkp")))) + "04f2ci9kb8q4dv4kviigvgfy54lr4jmbnmjsvi50qj13anjnmfra")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -2178,8 +2237,41 @@ implements standard Rust traits to make `RGB`/`RGBA` pixels and slices first-class Rust objects.") (license license:expat))) +(define-public rust-smithay-client-toolkit-0.15 + (package + (name "rust-smithay-client-toolkit") + (version "0.15.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "smithay-client-toolkit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "18wxla80y6m4l3dwawi7bl1d9m9dfcg4sxxjcgjqq3psjxmg2a4a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-calloop" ,rust-calloop-0.9) + ("rust-dlib" ,rust-dlib-0.5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4) + ("rust-memmap2" ,rust-memmap2-0.3) + ("rust-nix" ,rust-nix-0.22) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-wayland-client" ,rust-wayland-client-0.29) + ("rust-wayland-cursor" ,rust-wayland-cursor-0.29) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.29)))) + (home-page "https://github.com/smithay/client-toolkit") + (synopsis "Toolkit for making client Wayland applications") + (description + "This package provides a toolkit for making client Wayland applications.") + (license license:expat))) + (define-public rust-smithay-client-toolkit-0.12 (package + (inherit rust-smithay-client-toolkit-0.15) (name "rust-smithay-client-toolkit") (version "0.12.2") (source @@ -2203,12 +2295,7 @@ first-class Rust objects.") ("rust-nix" ,rust-nix-0.18) ("rust-wayland-client" ,rust-wayland-client-0.28) ("rust-wayland-cursor" ,rust-wayland-cursor-0.28) - ("rust-wayland-protocols" ,rust-wayland-protocols-0.28)))) - (home-page "https://github.com/smithay/client-toolkit") - (synopsis "Toolkit for making client Wayland applications") - (description - "This package provides a toolkit for making client Wayland applications.") - (license license:expat))) + ("rust-wayland-protocols" ,rust-wayland-protocols-0.28)))))) (define-public rust-smithay-client-toolkit-0.6 (package @@ -2406,8 +2493,50 @@ applications.") ("rust-num-derive" ,rust-num-derive-0.2) ("rust-num-traits" ,rust-num-traits-0.2)))))) +(define-public rust-wayland-client-0.29 + (package + (name "rust-wayland-client") + (version "0.29.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-client" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "13s5sj9344izk2g48yizk81kcg8jg4940gg2v6bzcmrjwxh388li")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #false ;circular dependency on wayland-protocols + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.22) + ("rust-scoped-tls" ,rust-scoped-tls-1) + ("rust-wayland-commons" ,rust-wayland-commons-0.29) + ("rust-wayland-scanner" ,rust-wayland-scanner-0.29)) + #:cargo-development-inputs + (("rust-tempfile" ,rust-tempfile-3)))) + (inputs + (list rust-bitflags-1 + rust-downcast-rs-1 + rust-libc-0.2 + rust-nix-0.22 + rust-scoped-tls-1 + rust-wayland-commons-0.29 + rust-wayland-scanner-0.29 + rust-wayland-sys-0.29)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Rust bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, client side.") + (license license:expat))) + (define-public rust-wayland-client-0.28 (package + (inherit rust-wayland-client-0.29) (name "rust-wayland-client") (version "0.28.3") (source @@ -2435,14 +2564,7 @@ applications.") rust-scoped-tls-1 rust-wayland-commons-0.28 rust-wayland-scanner-0.28 - rust-wayland-sys-0.28)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Rust bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, client side.") - (license license:expat))) + rust-wayland-sys-0.28)))) (define-public rust-wayland-client-0.23 (package @@ -2504,8 +2626,37 @@ the wayland protocol, client side.") (("rust-byteorder" ,rust-byteorder-1) ("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-wayland-commons-0.29 + (package + (name "rust-wayland-commons") + (version "0.29.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-commons" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0gnk4a771i3g1k4fbzx54xnganpc9j68jrx8xj839hfp83iybxll")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.22) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-wayland-sys" ,rust-wayland-sys-0.29)))) + (inputs + (list rust-nix-0.22 rust-once-cell-1 rust-smallvec-1 + rust-wayland-sys-0.29)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Types and structures used by wayland-client and wayland-server") + (description + "This package provides common types and structures used by wayland-client +and wayland-server.") + (license license:expat))) + (define-public rust-wayland-commons-0.28 (package + (inherit rust-wayland-commons-0.29) (name "rust-wayland-commons") (version "0.28.3") (source @@ -2523,13 +2674,7 @@ the wayland protocol, client side.") ("rust-smallvec" ,rust-smallvec-1)))) (inputs (list rust-nix-0.18 rust-once-cell-1 rust-smallvec-1 - rust-wayland-sys-0.28)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "Types and structures used by wayland-client and wayland-server") - (description - "This package provides common types and structures used by wayland-client -and wayland-server.") - (license license:expat))) + rust-wayland-sys-0.28)))) (define-public rust-wayland-commons-0.23 (package @@ -2571,8 +2716,35 @@ and wayland-server.") (("rust-nix" ,rust-nix-0.14) ("rust-wayland-sys" ,rust-wayland-sys-0.21)))))) +(define-public rust-wayland-cursor-0.29 + (package + (name "rust-wayland-cursor") + (version "0.29.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-cursor" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1gd6aswkrdz556n54pjpd4rchw7jkgcx6hnrhgy62y2y7pqmh9y5")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nix" ,rust-nix-0.22) + ("rust-xcursor" ,rust-xcursor-0.3)))) + (inputs + (list rust-nix-0.22 rust-wayland-client-0.29 rust-xcursor-0.3)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Bindings to libwayland-cursor") + (description + "This crate provides helpers to load the system provided cursor images +and load them into WlBuffers as well as obtain the necessary metadata to +properly display animated cursors.") + (license license:expat))) + (define-public rust-wayland-cursor-0.28 (package + (inherit rust-wayland-cursor-0.29) (name "rust-wayland-cursor") (version "0.28.3") (source @@ -2588,29 +2760,22 @@ and wayland-server.") (("rust-nix" ,rust-nix-0.18) ("rust-xcursor" ,rust-xcursor-0.3)))) (inputs - (list rust-nix-0.18 rust-wayland-client-0.28 rust-xcursor-0.3)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "Bindings to libwayland-cursor") - (description - "This crate provides helpers to load the system provided cursor images -and load them into WlBuffers as well as obtain the necessary metadata to -properly display animated cursors.") - (license license:expat))) + (list rust-nix-0.18 rust-wayland-client-0.28 rust-xcursor-0.3)))) -(define-public rust-wayland-egl-0.28 +(define-public rust-wayland-egl-0.29 (package (name "rust-wayland-egl") - (version "0.28.3") + (version "0.29.4") (source (origin (method url-fetch) (uri (crate-uri "wayland-egl" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xd7iap0x4sidmy9dv02cdnxjhnbk9li7r7f39x9cg0i8xs50ly6")))) + (base32 "0flslbp8q4nv3hcw941vapn3jh6y7glqaqv63h1mjaqnxrlisa43")))) (build-system cargo-build-system) (inputs - (list rust-wayland-client-0.28 rust-wayland-sys-0.28)) + (list rust-wayland-client-0.29 rust-wayland-sys-0.29)) ;; For the PKG_CONFIG_PATH environment variable. (native-inputs (list pkg-config)) @@ -2623,8 +2788,53 @@ WlSurface, which can then play the role of the base surface for initializing an OpenGL or Vulkan context.") (license license:expat))) +(define-public rust-wayland-egl-0.28 + (package + (inherit rust-wayland-egl-0.29) + (name "rust-wayland-egl") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-egl" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1xd7iap0x4sidmy9dv02cdnxjhnbk9li7r7f39x9cg0i8xs50ly6")))) + (build-system cargo-build-system) + (inputs + (list rust-wayland-client-0.28 rust-wayland-sys-0.28)) + (native-inputs + (list pkg-config)))) + +(define-public rust-wayland-protocols-0.29 + (package + (name "rust-wayland-protocols") + (version "0.29.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-protocols" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0hap8vky2fwsq05c98c8xs00gb9m5kxp8kq3zr0jwh036gi7l530")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1.2)))) + (inputs + (list rust-bitflags-1.2 rust-wayland-client-0.29 + rust-wayland-commons-0.29 rust-wayland-scanner-0.29 + rust-wayland-server-0.29)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "Generated API for the officials Wayland protocol extensions") + (description + "This package provides a generated API for the officials Wayland protocol +extensions.") + (license license:expat))) + (define-public rust-wayland-protocols-0.28 (package + (inherit rust-wayland-protocols-0.29) (name "rust-wayland-protocols") (version "0.28.3") (source @@ -2641,13 +2851,7 @@ initializing an OpenGL or Vulkan context.") (inputs (list rust-bitflags-1 rust-wayland-client-0.28 rust-wayland-commons-0.28 rust-wayland-scanner-0.28 - rust-wayland-server-0.28)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "Generated API for the officials Wayland protocol extensions") - (description - "This package provides a generated API for the officials Wayland protocol -extensions.") - (license license:expat))) + rust-wayland-server-0.28)))) (define-public rust-wayland-protocols-0.23 (package @@ -2696,17 +2900,17 @@ extensions.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) -(define-public rust-wayland-scanner-0.28 +(define-public rust-wayland-scanner-0.29 (package (name "rust-wayland-scanner") - (version "0.28.3") + (version "0.29.4") (source (origin (method url-fetch) (uri (crate-uri "wayland-scanner" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h")))) + (base32 "1q7r764z8k922xf51fj56b1xm29ffi9ap8jnf4c478gp8cqyv89r")))) (build-system cargo-build-system) (inputs (list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8)) @@ -2719,6 +2923,21 @@ you are working on custom Wayland protocol extensions. Look at the wayland-client crate for usable bindings.") (license license:expat))) +(define-public rust-wayland-scanner-0.28 + (package + (inherit rust-wayland-scanner-0.29) + (name "rust-wayland-scanner") + (version "0.28.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-scanner" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0g8ky63qk27in7zajycj3fyydsxlj19hanfcvr8d7z5kcxbvl43h")))) + (inputs + (list rust-proc-macro2-1 rust-quote-1 rust-xml-rs-0.8)))) + (define-public rust-wayland-scanner-0.23 (package (inherit rust-wayland-scanner-0.28) @@ -2755,8 +2974,49 @@ wayland-client crate for usable bindings.") (base32 "17mp49v7w0p0x5ry628lj2llljnwkr9aj9g4bqqhfibid32jhf5z")))))) +(define-public rust-wayland-server-0.29 + (package + (name "rust-wayland-server") + (version "0.29.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-server" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1wj8gf28dbjwb824i29wf3wr5r6wp6ssknjm9b5dnb1fah47mk66")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-downcast-rs" ,rust-downcast-rs-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-nix" ,rust-nix-0.22) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-scoped-tls" ,rust-scoped-tls-1)))) + (inputs + (list rust-bitflags-1 + rust-downcast-rs-1 + rust-lazy-static-1 + rust-libc-0.2 + rust-nix-0.22 + rust-parking-lot-0.11 + rust-scoped-tls-1 + rust-wayland-commons-0.29 + rust-wayland-scanner-0.29 + rust-wayland-sys-0.29)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis + "Bindings to the standard C implementation of the wayland protocol") + (description + "This package provides Rust bindings to the standard C implementation of +the wayland protocol, server side.") + (license license:expat))) + (define-public rust-wayland-server-0.28 (package + (inherit rust-wayland-server-0.29) (name "rust-wayland-server") (version "0.28.3") (source @@ -2766,7 +3026,6 @@ wayland-client crate for usable bindings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "09jfdjfqhjfcpiz4csgh60ymfkmz1cl3jmxyzq9hzcp0kyyxix93")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) @@ -2786,14 +3045,7 @@ wayland-client crate for usable bindings.") rust-scoped-tls-1 rust-wayland-commons-0.28 rust-wayland-scanner-0.28 - rust-wayland-sys-0.28)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis - "Bindings to the standard C implementation of the wayland protocol") - (description - "This package provides Rust bindings to the standard C implementation of -the wayland protocol, server side.") - (license license:expat))) + rust-wayland-sys-0.28)))) (define-public rust-wayland-server-0.23 (package @@ -2849,8 +3101,51 @@ the wayland protocol, server side.") ("rust-wayland-sys" ,rust-wayland-sys-0.21) ("rust-wayland-scanner" ,rust-wayland-scanner-0.21)))))) +(define-public rust-wayland-sys-0.29 + (package + (name "rust-wayland-sys") + (version "0.29.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "wayland-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m2jwk5q36jidwbdmdicmi27r9dzi4wanzg3i28nfxc9kbvisd6r")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-dlib" ,rust-dlib-0.5) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.6) + ("rust-pkg-config" ,rust-pkg-config-0.3)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-libraries + (lambda* (#:key inputs #:allow-other-keys) + (let ((libwayland (dirname (search-input-file + inputs "lib/libwayland-client.so")))) + (substitute* (find-files "src" "\\.rs$") + (("libwayland.*\\.so" shared-lib) + (string-append libwayland "/" shared-lib))))))))) + (inputs + (list rust-dlib-0.5 rust-lazy-static-1 rust-libc-0.2 + rust-pkg-config-0.3)) + (propagated-inputs + (list wayland)) + (home-page "https://github.com/smithay/wayland-rs") + (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") + (description + "This package provides FFI bindings to the various +@file{libwayland-*.so} libraries. You should only need this crate if +you are working on custom Wayland protocol extensions. Look at the +crate @code{rust-wayland-client} for usable bindings.") + (license license:expat))) + (define-public rust-wayland-sys-0.28 (package + (inherit rust-wayland-sys-0.29) (name "rust-wayland-sys") (version "0.28.3") (source @@ -2880,15 +3175,7 @@ the wayland protocol, server side.") (list rust-dlib-0.4 rust-lazy-static-1 rust-libc-0.2 rust-pkg-config-0.3)) (propagated-inputs - (list wayland)) - (home-page "https://github.com/smithay/wayland-rs") - (synopsis "FFI bindings to the various @file{libwayland-*.so} libraries") - (description - "This package provides FFI bindings to the various -@file{libwayland-*.so} libraries. You should only need this crate if -you are working on custom Wayland protocol extensions. Look at the -crate @code{rust-wayland-client} for usable bindings.") - (license license:expat))) + (list wayland)))) (define-public rust-wayland-sys-0.23 (package @@ -2928,8 +3215,64 @@ crate @code{rust-wayland-client} for usable bindings.") (base32 "0a0ndgkg98pvmkv44yya4f7mxzjaxylknqh64bpa05w0azyv02jj")))))) +(define-public rust-winit-0.26 + (package + (name "rust-winit") + (version "0.26.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "winit" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0fp7cdh7llbqmm6ga8f6bzk9785jmkbyy1w631hr9faq3n9wqhwv")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-core-video-sys" ,rust-core-video-sys-0.1) + ("rust-dispatch" ,rust-dispatch-0.2) + ("rust-instant" ,rust-instant-0.1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-mint" ,rust-mint-0.5) + ("rust-mio" ,rust-mio-0.8) + ("rust-ndk" ,rust-ndk-0.5) + ("rust-ndk-glue" ,rust-ndk-glue-0.5) + ("rust-ndk-sys" ,rust-ndk-sys-0.2) + ("rust-objc" ,rust-objc-0.2) + ("rust-parking-lot" ,rust-parking-lot-0.11) + ("rust-percent-encoding" ,rust-percent-encoding-2) + ("rust-raw-window-handle" ,rust-raw-window-handle-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-smithay-client-toolkit" ,rust-smithay-client-toolkit-0.15) + ("rust-wasm-bindgen" ,rust-wasm-bindgen-0.2) + ("rust-web-sys" ,rust-web-sys-0.3) + ("rust-winapi" ,rust-winapi-0.3) + ("rust-x11-dl" ,rust-x11-dl-2)))) + (inputs + (list rust-wayland-client-0.29 rust-wayland-protocols-0.29)) + (home-page "https://github.com/rust-windowing/winit") + (synopsis "Window creation library") + (description + "Winit is a window creation and management library. It can create +windows and lets you handle events (for example: the window being +resized, a key being pressed, a mouse movement, etc.) produced by +window. + +Winit is designed to be a low-level brick in a hierarchy of libraries. +Consequently, in order to show something on the window you need to use +the platform-specific getters provided by winit, or another library.") + (license license:asl2.0))) + (define-public rust-winit-0.24 (package + (inherit rust-winit-0.26) (name "rust-winit") (version "0.24.0") (source @@ -2939,7 +3282,6 @@ crate @code{rust-wayland-client} for usable bindings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "15zmpx5ip6ziqhds7md1s0ri0blhxfa8fg1ylg84pf0frrpxlkns")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -2970,19 +3312,7 @@ crate @code{rust-wayland-client} for usable bindings.") ("rust-winapi" ,rust-winapi-0.3) ("rust-x11-dl" ,rust-x11-dl-2)))) (inputs - (list rust-wayland-client-0.28)) - (home-page "https://github.com/rust-windowing/winit") - (synopsis "Window creation library") - (description - "Winit is a window creation and management library. It can create -windows and lets you handle events (for example: the window being -resized, a key being pressed, a mouse movement, etc.) produced by -window. - -Winit is designed to be a low-level brick in a hierarchy of libraries. -Consequently, in order to show something on the window you need to use -the platform-specific getters provided by winit, or another library.") - (license license:asl2.0))) + (list rust-wayland-client-0.28)))) (define-public rust-winit-0.20 (package diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index e2304cb6fd..d9cb823515 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -2766,8 +2766,27 @@ applications.") (description "This package provides the glue for the Android JNI.") (license license:expat))) +(define-public rust-android-log-sys-0.2 + (package + (name "rust-android-log-sys") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "android_log-sys" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0bhhs1cgzp9vzjvkn2q31ppc7w4am5s273hkvl5iac5475kmp5l5")))) + (arguments `(#:skip-build? #true)) ;XXX: Android only + (build-system cargo-build-system) + (home-page "https://github.com/nercury/android_log-sys-rs") + (synopsis "FFI bindings to Android log Library") + (description "This package provides FFI bindings to Android log Library.") + (license (list license:expat license:asl2.0)))) + (define-public rust-android-log-sys-0.1 (package + (inherit rust-android-log-sys-0.2) (name "rust-android-log-sys") (version "0.1.2") (source @@ -2777,15 +2796,36 @@ applications.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0klq7cp4lm74gjf9p12zdjcr159blbicrfvadmaqvfxbi8njw1dq")))) - (arguments `(#:skip-build? #true)) ;XXX: Android only + (arguments `(#:skip-build? #true)))) ;XXX: Android only + +(define-public rust-android-logger-0.10 + (package + (name "rust-android-logger") + (version "0.10.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "android_logger" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0rigzgkaik2y7pvsilpjdy19mdq1kkamw2rdf9fjkvb5hfqhkvfr")))) (build-system cargo-build-system) - (home-page "https://github.com/nercury/android_log-sys-rs") - (synopsis "FFI bindings to Android log Library") - (description "This package provides FFI bindings to Android log Library.") + (arguments + `(#:cargo-inputs + (("rust-android-log-sys" ,rust-android-log-sys-0.2) + ("rust-env-logger" ,rust-env-logger-0.8) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-log" ,rust-log-0.4)))) + (home-page "https://github.com/Nercury/android_logger-rs") + (synopsis "Logging implementation for @code{log}") + (description + "This library is a drop-in replacement for @code{env_logger}. Instead, +it outputs messages to Android's logcat.") (license (list license:expat license:asl2.0)))) (define-public rust-android-logger-0.8 (package + (inherit rust-android-logger-0.10) (name "rust-android-logger") (version "0.8.6") (source @@ -2795,19 +2835,12 @@ applications.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0kj8i03fqqwxd803hrk27j2399v27ajjj9zxi2nnyml0s4nm9gcc")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-android-log-sys" ,rust-android-log-sys-0.1) ("rust-env-logger" ,rust-env-logger-0.7) ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-log" ,rust-log-0.4)))) - (home-page "https://github.com/Nercury/android_logger-rs") - (synopsis "Logging implementation for @code{log}") - (description - "This library is a drop-in replacement for @code{env_logger}. Instead, -it outputs messages to Android's logcat.") - (license (list license:expat license:asl2.0)))) + ("rust-log" ,rust-log-0.4)))))) (define-public rust-ansi-parser-0.6 (package @@ -18502,6 +18535,8 @@ Google's diff-match-patch.") `(#:tests? #f ;FIXME: Several macros are not found. #:cargo-inputs (("rust-libloading" ,rust-libloading-0.7)))) + (inputs + (list rust-libloading-0.7)) (home-page "https://github.com/vberger/dlib") (synopsis "Helper macros for manually loading optional system libraries") (description @@ -25494,8 +25529,42 @@ graphics.") graphics.") (license (list license:expat license:asl2.0)))) +(define-public rust-glium-0.31 + (package + (name "rust-glium") + (version "0.31.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "glium" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "06cfsq3mgjlq3bnxv7jh5bb5is7040xyvf8cf1x45vnq8fdz1d0a")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #true ;XXX circular dependencies + #:cargo-inputs + (("rust-backtrace" ,rust-backtrace-0.3) + ("rust-fnv" ,rust-fnv-1) + ("rust-glutin" ,rust-glutin-0.28) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memoffset" ,rust-memoffset-0.6) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-takeable-option" ,rust-takeable-option-0.5)) + #:cargo-development-inputs + (("rust-gl-generator" ,rust-gl-generator-0.14)))) + (home-page "https://github.com/glium/glium") + (synopsis "OpenGL wrapper") + (description + "Glium is an intermediate layer between OpenGL and your application. You +still need to manually handle the graphics pipeline, but without having to use +OpenGL's old and error-prone API.") + (license license:asl2.0))) + (define-public rust-glium-0.25 (package + (inherit rust-glium-0.31) (name "rust-glium") (version "0.25.1") (source @@ -25507,7 +25576,6 @@ graphics.") (sha256 (base32 "0mhjly07x10lxg802ppg16wbxddhh4fdnlg10i99qwpfamvqhzbd")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) @@ -25522,15 +25590,7 @@ graphics.") ("rust-gl-generator" ,rust-gl-generator-0.11) ("rust-image" ,rust-image-0.21) ("rust-obj" ,rust-obj-0.9) - ("rust-rand" ,rust-rand-0.6)))) - (home-page "https://github.com/glium/glium") - (synopsis - "OpenGL wrapper") - (description - "Glium is an intermediate layer between OpenGL and your application. You -still need to manually handle the graphics pipeline, but without having to use -OpenGL's old and error-prone API.") - (license license:asl2.0))) + ("rust-rand" ,rust-rand-0.6)))))) (define-public rust-glob-0.3 (package @@ -31659,14 +31719,14 @@ library.") "0sidr67nsa693mqrqgk2np3bkqni0778yk147xncspy171jdk13g")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs + `(#:cargo-inputs (("rust-cfg-if" ,rust-cfg-if-1) ("rust-winapi" ,rust-winapi-0.3)) #:cargo-development-inputs (("rust-libc" ,rust-libc-0.2) ("rust-static-assertions" ,rust-static-assertions-1)))) + (inputs (list rust-cfg-if-1 rust-winapi-0.3)) (home-page "https://github.com/nagisa/rust_libloading/") (synopsis "Safer binding to dynamic library loading utilities") (description "This package provides a safer binding to dynamic library @@ -34343,9 +34403,11 @@ file IO.") (base32 "1yfx2v8kmkhr2d4gwk8ghihdwg73vapn3vvp0im06f0kgx8crb2r")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-autocfg" ,rust-autocfg-1)))) + `(#:cargo-inputs + (("rust-autocfg" ,rust-autocfg-1)) + #:cargo-development-inputs + (("rust-doc-comment" ,rust-doc-comment-0.3)))) + (inputs (list rust-autocfg-1)) (home-page "https://github.com/Gilnaa/memoffset") (synopsis "C-like offset_of functionality for Rust structs") (description @@ -34372,7 +34434,8 @@ for Rust structs.") #:cargo-inputs (("rust-rustc-version" ,rust-rustc-version-0.2)) #:cargo-development-inputs - (("rust-doc-comment" ,rust-doc-comment-0.3)))))) + (("rust-doc-comment" ,rust-doc-comment-0.3)))) + (inputs '()))) (define-public rust-memoffset-0.2 (package @@ -36706,8 +36769,37 @@ general elements and for numerics.") ("rust-quickcheck" ,rust-quickcheck-0.7) ("rust-rawpointer" ,rust-rawpointer-0.1)))))) +(define-public rust-ndk-0.5 + (package + (name "rust-ndk") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ndk" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "17b9imdmv6cffr12bdpvxw1myxdyvaf6jwkmd3w7abn7akv6in4n")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #true ;XXX: Android only + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-jni" ,rust-jni-0.18) + ("rust-jni-glue" ,rust-jni-glue-0.0) + ("rust-jni-sys" ,rust-jni-sys-0.3) + ("rust-ndk-sys" ,rust-ndk-sys-0.2) + ("rust-num-enum" ,rust-num-enum-0.5) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://github.com/rust-windowing/android-ndk-rs") + (synopsis "Safe Rust bindings to the Android NDK") + (description + "This package provides safe Rust bindings to the Android NDK.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ndk-0.2 (package + (inherit rust-ndk-0.5) (name "rust-ndk") (version "0.2.1") (source @@ -36717,7 +36809,6 @@ general elements and for numerics.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0wvf4hy18lpfkr4bap846qv2cx1vdg3x0d4hcfba9l5yzv0ngcay")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #true ;XXX: Android only #:cargo-inputs @@ -36726,15 +36817,60 @@ general elements and for numerics.") ("rust-jni-sys" ,rust-jni-sys-0.3) ("rust-ndk-sys" ,rust-ndk-sys-0.2) ("rust-num-enum" ,rust-num-enum-0.4) - ("rust-thiserror" ,rust-thiserror-1)))) + ("rust-thiserror" ,rust-thiserror-1)))))) + +(define-public rust-ndk-context-0.1 + (package + (name "rust-ndk-context") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (crate-uri "ndk-context" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12sai3dqsblsvfd1l1zab0z6xsnlha3xsfl7kagdnmj3an3jvc17")))) + (build-system cargo-build-system) + (arguments + '(#:tests? #f)) ;TODO: requires many dependencies + setup (home-page "https://github.com/rust-windowing/android-ndk-rs") - (synopsis "Safe Rust bindings to the Android NDK") + (synopsis "Handles for accessing Android APIs") (description - "This package provides safe Rust bindings to the Android NDK.") + "This package provides handles for accessing Android APIs.") + (license (list license:expat license:asl2.0)))) + +(define-public rust-ndk-glue-0.5 + (package + (name "rust-ndk-glue") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "ndk-glue" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1m44jh4f9sirs757ikc8sracg6dzw77h9l4bw9vm8s1dly7fw6y7")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #true ;XXX: Android only + #:cargo-inputs + (("rust-android-logger" ,rust-android-logger-0.10) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-ndk" ,rust-ndk-0.5) + ("rust-ndk-context" ,rust-ndk-context-0.1) + ("rust-ndk-macro" ,rust-ndk-macro-0.3) + ("rust-ndk-sys" ,rust-ndk-sys-0.2)))) + (home-page "https://github.com/rust-windowing/android-ndk-rs") + (synopsis "Startup code for Android binaries") + (description + "This package provides startup code for Android binaries.") (license (list license:expat license:asl2.0)))) (define-public rust-ndk-glue-0.2 (package + (inherit rust-ndk-glue-0.5) (name "rust-ndk-glue") (version "0.2.1") (source @@ -36744,7 +36880,6 @@ general elements and for numerics.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0hajn6nsg6i3khi7yr2ayafpiznm5z3k5v64afqnz753nyw9kwxx")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #true ;XXX: Android only #:cargo-inputs @@ -36754,15 +36889,35 @@ general elements and for numerics.") ("rust-log" ,rust-log-0.4) ("rust-ndk" ,rust-ndk-0.2) ("rust-ndk-macro" ,rust-ndk-macro-0.2) - ("rust-ndk-sys" ,rust-ndk-sys-0.2)))) + ("rust-ndk-sys" ,rust-ndk-sys-0.2)))))) + +(define-public rust-ndk-macro-0.3 + (package + (name "rust-ndk-macro") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "ndk-macro" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0v3sxc11kq3d5vdwfml62l7y5dr0flsf6kp5xid9sbv7qh0arxqd")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-darling" ,rust-darling-0.13) + ("rust-proc-macro-crate" ,rust-proc-macro-crate-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) (home-page "https://github.com/rust-windowing/android-ndk-rs") - (synopsis "Startup code for Android binaries") - (description - "This package provides startup code for Android binaries.") + (synopsis "Helper macros for android ndk") + (description "This package provides helper macros for android ndk.") (license (list license:expat license:asl2.0)))) (define-public rust-ndk-macro-0.2 (package + (inherit rust-ndk-macro-0.3) (name "rust-ndk-macro") (version "0.2.0") (source @@ -36772,30 +36927,25 @@ general elements and for numerics.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "07a8vjr4fpksssgp453bf82n73i4i17yj1lvbgvd0964glqcdl85")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-darling" ,rust-darling-0.10) ("rust-proc-macro-crate" ,rust-proc-macro-crate-0.1) ("rust-proc-macro2" ,rust-proc-macro2-1) ("rust-quote" ,rust-quote-1) - ("rust-syn" ,rust-syn-1)))) - (home-page "https://github.com/rust-windowing/android-ndk-rs") - (synopsis "Helper macros for android ndk") - (description "This package provides helper macros for android ndk.") - (license (list license:expat license:asl2.0)))) + ("rust-syn" ,rust-syn-1)))))) (define-public rust-ndk-sys-0.2 (package (name "rust-ndk-sys") - (version "0.2.1") + (version "0.2.2") (source (origin (method url-fetch) (uri (crate-uri "ndk-sys" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "13c68a217ag3k18vlffpcj2qjfinchxxchzlwnsp075v7p5j4jf4")))) + (base32 "08915adplysmvx0ha12if1v7zxzx82xgj3nnmiddkm8aq9sdvg71")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t)) (home-page "https://github.com/rust-windowing/android-ndk-rs") @@ -37335,7 +37485,10 @@ while still providing platform specific APIs.") ("rust-cc" ,rust-cc-1) ("rust-cfg-if" ,rust-cfg-if-1) ("rust-libc" ,rust-libc-0.2) - ("rust-memoffset" ,rust-memoffset-0.6)))))) + ("rust-memoffset" ,rust-memoffset-0.6)))) + (inputs + (list rust-bitflags-1.2 rust-cc-1 rust-cfg-if-1 rust-libc-0.2 + rust-memoffset-0.6)))) (define-public rust-nix-0.21 (package diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 89f5fc055c..adceb98f83 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -190,7 +190,7 @@ "python3" "./test/functional/test_runner.py" (string-append "--jobs=" (number->string (parallel-job-count)))) #t))))) - (home-page "https://bitcoin.org/en/") + (home-page "https://bitcoin.org/") (synopsis "Bitcoin peer-to-peer client") (description "Bitcoin is a digital currency that enables instant payments to anyone @@ -1843,7 +1843,7 @@ that allows you to run services and through them access the Bitcoin Cash network python-requests)) (native-inputs (list python-pytest)) - (home-page "http://furius.ca/beancount") + (home-page "https://beancount.github.io/") (synopsis "Command-line double-entry accounting tool") (description "Beancount is a double-entry bookkeeping computer language that lets you diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index daf7b933ad..6c3a47986d 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -25,6 +25,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages protobuf) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -49,16 +50,18 @@ (define-public fstrm (package (name "fstrm") - (version "0.3.2") + (version "0.6.1") (source (origin (method url-fetch) - (uri (string-append "https://dl.farsightsecurity.com/dist/" name "/" - name "-" version ".tar.gz")) + (uri (string-append "https://dl.farsightsecurity.com/dist/fstrm/" + "fstrm-" version ".tar.gz")) (sha256 - (base32 - "1i9y8a1712aj80p5a1kcp378bnjrg3s2127q7304hklhmjcrjl1d")))) + (base32 "13q9iz5fpp607zvk0i39158fvvjciz4y5k14rly94b9ak0gar95w")))) (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--disable-static"))) (native-inputs (list pkg-config)) (inputs @@ -79,8 +82,8 @@ XML, JSON, MessagePack, YAML, etc. Frame Streams can be used either as a streaming transport over a reliable byte stream socket (TCP sockets, TLS connections, @code{AF_UNIX} sockets, etc.) for data in motion, or as a file format for data at rest.") - (license (list license:asl2.0 - (license:non-copyleft #f "See libmy/argv*"))))) + (license (list license:expat ; the combined work + license:hpnd)))) ; libmy/argv* (define-public protobuf (package