[PATCH] Add fractal.

  • Open
  • quality assurance status badge
Details
4 participants
  • Efraim Flashner
  • Leo Prikler
  • Christopher Baines
  • Nicolas Goaziou
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 6 Nov 2020 22:47
(address . guix-patches@gnu.org)
87tuu2p37n.fsf@cbaines.net
Tags: moreinfo

So, I made an attempt at packaging fractal, and I did end up with a
working package, but there's quite a bit of neat packaging to do before
this can be submitted.

There's a branch here currently [1], although some of the stuff in that
branch is superfluous and some of the versions I picked aren't great.


I think the next step to take is to tackle some of the larger groups of
missing rust dependencies, and get packages merged for them. I'm not
sure when I'm going to get back around to doing that.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl+lxHxfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xdm3g/+OMMVNEVE4T4CpB10zzxmR9+DVAYcYDOT
D6jZHGcJIWfjUz2SP99xgKqW4bCZkT+zuEb/IUnmJ49peOGEt4P3T2iMSoN1+IVF
RzJspUEZKqoAOPeVOVSFI3MbqeMvmd+LmEJpe70CkjA74NT9geMW2zYdYt/Civ4k
PLWHgCYgtexkVemS3np36UxJJ+Sw77jFclQNc8POAffzBBN9CY4I7pXdVZQkyUAO
YMfu3Mf2vE3ipsuph5AogwTGPOe9CbGQhiyV7afinuEelt1vc+VwwosLJefMAvR/
LizCkoKsOKj2BgHLTfwYsBLS13nbDQMDQakc7FB9PSRXxbHfs7kWd3jX94KWFHv3
nw6Gw2FN6kRsw42qmeVdsL43WqTFnPcDIEWPg70o8bbNQ/jnRYbzHyVuCAbwn81Z
3TsSLN5UT/QLmPbPHLzsmahh222vdjayBxtviNj2dSkMKzNNUqumIIzuVxXJvVUF
RMg7oLTie/UKF+YtGFkqJXhdEoTj3YKGaMGOInksLs7RrfIbTQ+MKzulInhB84lX
A5I6k5SkvEkm3dqOWGpv1WeUNNiLvOwYKKZMmgTamonDqborTPa10Ub73HeP2rMn
H2CnOvTDgSfKKc327biTgrI0oYur4+k4+NVNW4fNlDRY2oFa1eP6gc9g9u5Q5iwR
it31YVVjY3k=
=6/OI
-----END PGP SIGNATURE-----

L
L
Leo Prikler wrote on 24 Feb 2021 01:24
0e1001712034f0717ba6504b0c4cda27f5e42e94.camel@student.tugraz.at
Hi Christopher,

I really wish I had seen your patch set earlier. It would have saved
me a lot of trouble while packaging 4.4.0 – or at least I think so.

My patches live over at [2], apart from the licenses I'm fairly certain
that they're correct. Should I git:send-email them, so that patchwork
can pick them up?

Regards,
Leo

C
C
Christopher Baines wrote on 24 Feb 2021 01:51
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 44492@debbugs.gnu.org)
87im6il24c.fsf@cbaines.net
Leo Prikler <leo.prikler@student.tugraz.at> writes:

Toggle quote (7 lines)
> I really wish I had seen your patch set earlier. It would have saved
> me a lot of trouble while packaging 4.4.0 – or at least I think so.
>
> My patches live over at [2], apart from the licenses I'm fairly certain
> that they're correct. Should I git:send-email them, so that patchwork
> can pick them up?

Looks like you've got less commits at least, which is probably good.

As for sending them, sure, I'd suggest to continue to use this bug.
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmA1owNfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xf8qxAAmfAFKMcpHqAAu4FDwFT8wKfNvjzPUjXg
P4lBGh75olWvKpQCcw6IjE0cIEhArDGS1WGnyGNKcNSdXd635dNq1zvmDJahEIqy
9+0PXM0MyP9SngrmAsd99NnmO8D59XEZGz0DfKU8ODxKmi7rW+3cNrYXEVTxzNYM
4X9efQPXQEVpNYlyD9DKmZlgSqxIrH0XZ2QDS6FZ2Scz2Y7MkqjdlIfjPuztfNMV
1E6xdthr15XCMPUEzQNyol1PuatmmgN4c/ems+V1hnmaUZtL9mAr1tm4RTrENi6v
wP8wYiXHsgfyvgHC2ldhlmyETI6oCQI6cQdw63yIeWSSrNFKonHpnyZbMbS/vpH3
4Fgq6OuFstM6GpHfztq4Ahk+6clH5CPfHH25yZL/kgEr03Xj5Xp8y30vqArXnn+q
FBDcBKts7D4+t1esFQw8xvEasGHhxnSQPriNMO1qkQY/w+p75AcvqqlWjoGATieP
vk1/igLeZ6tr/QErVrM0wyPMdzzlCJmKolo1U0/9zgeboQAns4WbRw2t/xGRdKUJ
awl8nobyDMG9GDXTqYCpwtXwpl6ZtTi1wHv/ZziK9ygoTibj5UA65D+1aKzWw9sN
ftyH5/Htrc8VaCpKDdOFA26F8rbpHONrb7Wr42pacBwCIj5DREBo+fGVBvd2hilE
GkLZR7bbCG4=
=dm0D
-----END PGP SIGNATURE-----

L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 01/52] gnu: Add rust-ruma-identifiers-validation-0.1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-validation-0.1): New
variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ac38d1180d..409ddbcfed 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32655,6 +32655,31 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-validation-0.1
+ (package
+ (name "rust-ruma-identifiers-validation")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers-validation" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nv0zqsq5lhybckvfr5wmcp8pipqfs2hjgn9kvn9w33xacfzs4n1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1)
+ ("rust-strum" ,rust-strum-0.18))))
+ (home-page "https://www.ruma.io/")
+ (synopsis
+ "Validation logic for ruma-identifiers and ruma-identifiers-macros")
+ (description
+ "Validation logic for ruma-identifiers and ruma-identifiers-macros")
+ (license license:expat)))
+
(define-public rust-runtime-0.3
(package
(name "rust-runtime")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 02/52] gnu: Add rust-ruma-identifiers-macros-0.17.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-macros-0.17): New variable.
---
gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 409ddbcfed..0f15ea4be4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32655,6 +32655,34 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-macros-0.17
+ (package
+ (name "rust-ruma-identifiers-macros")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers-macros" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03p3qp12h4aajixcyk44q2bcid6fa4nmipysvcpy4w5cbak7wvwq"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-ruma-identifiers-validation"
+ ,rust-ruma-identifiers-validation-0.1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://www.ruma.io/")
+ (synopsis
+ "Procedural macros for creating Matrix identifiers.")
+ (description
+ "Procedural macros for creating Matrix identifiers.")
+ (license license:expat)))
+
(define-public rust-ruma-identifiers-validation-0.1
(package
(name "rust-ruma-identifiers-validation")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 03/52] gnu: Add rust-ruma-identifiers-0.17.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-0.17): New variable.
---
gnu/packages/crates-io.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0f15ea4be4..a51bedb3f0 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32655,6 +32655,39 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-0.17
+ (package
+ (name "rust-ruma-identifiers")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vjxws5yw1c8lmwc5p036319vwwna1sxb7pkl6lw1pl8rwp0j5sr"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-either" ,rust-either-1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-ruma-identifiers-macros"
+ ,rust-ruma-identifiers-macros-0.17)
+ ("rust-ruma-identifiers-validation"
+ ,rust-ruma-identifiers-validation-0.1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-strum" ,rust-strum-0.18))
+ #:cargo-development-inputs
+ (("rust-matches" ,rust-matches-0.1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-trybuild" ,rust-trybuild-1))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Resource identifiers for Matrix.")
+ (description "Resource identifiers for Matrix.")
+ (license license:expat)))
+
(define-public rust-ruma-identifiers-macros-0.17
(package
(name "rust-ruma-identifiers-macros")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 04/52] gnu: Add rust-entities-1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-entities-1): New variable.
---
gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a51bedb3f0..8a1d18de33 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12622,6 +12622,27 @@ Standard.")
"Streaming transcoding for encoding_rs.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-entities-1
+ (package
+ (name "rust-entities")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "entities" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jnpr0zvj97wm9pnh7fnl74rzaar39hhg65p03cm08bqqgj0lcmm"))))
+ (build-system cargo-build-system)
+ (arguments `(#:skip-build? #t))
+ (home-page "https://github.com/p-jackson/entities")
+ (synopsis "Raw data for converting HTML entities.")
+ (description "This package provides the raw data needed to convert to and
+from HTML entities.")
+ (license license:expat)))
+
(define-public rust-enum-as-inner-0.3
(package
(name "rust-enum-as-inner")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 05/52] gnu: Add rust-twoway-0.2.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-twoway-0.2): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8a1d18de33..f5538550cc 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -44855,6 +44855,35 @@ design abstracts away all the internals of the WebSocket protocol but still
makes them accessible for those who wants full control over the network.")
(license (list license:expat license:asl2.0))))
+(define-public rust-twoway-0.2
+ (package
+ (name "rust-twoway")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "twoway" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1g55kf4rx0q682fvzxdixqihmlbamn5ms2yqvcm92fny21chfh3b"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-galil-seiferas" ,rust-galil-seiferas-0.1)
+ ("rust-jetscii" ,rust-jetscii-0.3)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-unchecked-index"
+ ,rust-unchecked-index-0.2))))
+ (home-page "https://github.com/bluss/twoway")
+ (synopsis "Fast substring search for strings and byte strings")
+ (description
+ "This package provides a fast substring search for strings and byte
+strings.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-twoway-0.1
(package
(name "rust-twoway")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 06/52] gnu: Add rust-unicode-categories-0.1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-6-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-unicode-categories-0.1): New variable.
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f5538550cc..e4857f09d5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45452,6 +45452,26 @@ Unicode and Internationalization Crates (UNIC) project.")
"Implementation of the Unicode Bidirectional Algorithm.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-unicode-categories-0.1
+ (package
+ (name "rust-unicode-categories")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unicode_categories" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kp1d7fryxxm7hqywbk88yb9d1avsam9sg76xh36k5qx2arj9v1r"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/swgillespie/unicode-categories")
+ (synopsis "Query Unicode category membership")
+ (description "This package provides functions to query whether or not
+a character is a member of a certain category of unicode characters.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-unicode-normalization-0.1
(package
(name "rust-unicode-normalization")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 07/52] gnu: Add rust-comrak-0.7.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-comrak-0.7): New variable.
---
gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e4857f09d5..25c8a7ff3c 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7601,6 +7601,40 @@ harness.")
("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
("rust-tempdir" ,rust-tempdir-0.3))))))
+(define-public rust-comrak-0.7
+ (package
+ (name "rust-comrak")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "comrak" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07026j0ghwgv5z61fc4l893wwc30krxpsy487rb91wkcag65hw71"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-entities" ,rust-entities-1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-pest" ,rust-pest-2)
+ ("rust-pest-derive" ,rust-pest-derive-2)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-twoway" ,rust-twoway-0.2)
+ ("rust-typed-arena" ,rust-typed-arena-1)
+ ("rust-unicode-categories"
+ ,rust-unicode-categories-0.1))
+ #:cargo-development-inputs
+ (("rust-timebomb" ,rust-timebomb-0.1))))
+ (home-page "https://github.com/kivikakk/comrak")
+ (synopsis "Markdown parser and formatter")
+ (description "This package provides a parser and formatter for Github
+Flavored Markdown, that is compatible with CommonMark.")
+ (license license:bsd-2)))
+
(define-public rust-concurrent-queue-1
(package
(name "rust-concurrent-queue")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 08/52] gnu: Add rust-fragile-1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-8-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-fragile-1): New variable.
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 25c8a7ff3c..2729bedee3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14298,6 +14298,26 @@ implementation that is more efficient for smaller hash keys.")
syntax, as used by HTML forms.")
(license (list license:expat license:asl2.0))))
+(define-public rust-fragile-1
+ (package
+ (name "rust-fragile")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fragile" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wlihmkjyhvl5rckal32p010piy1l15s6l81h7z31jcd971kk839"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/mitsuhiko/rust-fragile")
+ (synopsis "Wrapper types for sending non-send values to other threads")
+ (description "This package provides wrapper types for sending non-send
+values to other threads.")
+ (license license:asl2.0)))
+
(define-public rust-fragile-0.3
(package
(name "rust-fragile")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 09/52] gnu: rust-either-1: Update to 1.6.1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-9-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-either-1): Update to 1.6.1.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2729bedee3..a398ae326d 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12310,7 +12310,7 @@ signing, and verification in pure Rust.")
(define-public rust-either-1
(package
(name "rust-either")
- (version "1.5.3")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
@@ -12319,7 +12319,7 @@ signing, and verification in pure Rust.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv"))))
+ "0mwl9vngqf5jvrhmhn9x60kr5hivxyjxbmby2pybncxfqhf4z3g7"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 10/52] gnu: Add rust-gspell-sys-0.4.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-10-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gspell-sys-0.4): New variable.
---
gnu/packages/crates-gtk.scm | 48 ++++++++++++++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index ebe2a4e45b..232d186cc8 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -26,7 +26,8 @@
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
- #:use-module (gnu packages gtk))
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages pkg-config))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -887,6 +888,51 @@
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-gspell-sys-0.4
+ (package
+ (name "rust-gspell-sys")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gspell-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07snannzd36wlms2x880ylkq7h1162g0kv9y54wlrc2nd11kjc2c"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gspell" ,(module-ref (resolve-module '(gnu packages gnome))
+ 'gspell))
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/gspell-rs")
+ (synopsis "Raw C-FFI bindings for the gspell library")
+ (description "Raw C-FFI bindings for the gspell library")
+ (license license:gpl3+)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 11/52] gnu: Add rust-gspell-0.4.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-11-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gspell-0.4): New variable.
---
gnu/packages/crates-gtk.scm | 65 ++++++++++++++++++++++++++++++++++++-
1 file changed, 64 insertions(+), 1 deletion(-)

Toggle diff (89 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 232d186cc8..a6d534fcca 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -23,11 +23,13 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (gnu packages aspell)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xorg))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -933,6 +935,67 @@
(description "Raw C-FFI bindings for the gspell library")
(license license:gpl3+)))
+(define-public rust-gspell-0.4
+ (package
+ (name "rust-gspell")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gspell" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10wi6p6dhdqypfqlih18mrl7vgni7y64mrhdh5ymayp4d07djshk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gio-sys" ,rust-gio-sys-0.9)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gspell-sys" ,rust-gspell-sys-0.4)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+
+ ;; Allow Enchant and its Aspell backend to find the en_US
+ ;; dictionary.
+ (setenv "ASPELL_DICT_DIR"
+ (string-append (assoc-ref inputs "aspell-dict-en")
+ "/lib/aspell"))
+ #t)))))
+ (native-inputs
+ `(("aspell-dict-en" ,aspell-dict-en)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gspell" ,(module-ref (resolve-module '(gnu packages gnome))
+ 'gspell))
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page
+ "https://gitlab.gnome.org/World/Rust/gspell-rs")
+ (synopsis "Rust bindings for gspell")
+ (description "Rust bindings for gspell")
+ (license license:gpl3+)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 12/52] gnu: Add rust-muldiv-0.2.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-12-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-muldiv-0.2): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a398ae326d..c6c902c512 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23425,6 +23425,29 @@ checking.")
"Chaining APIs for both self -> Self and &mut self methods.")
(license license:expat)))
+(define-public rust-muldiv-0.2
+ (package
+ (name "rust-muldiv")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "muldiv" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "014jlry2l2ph56mp8knw65637hh49q7fmrraim2bx9vz0a638684"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-development-inputs
+ (("rust-quickcheck" ,rust-quickcheck-0.9))))
+ (home-page "https://github.com/sdroege/rust-muldiv")
+ (synopsis "Perform combined multiplication and division")
+ (description "This package provides a trait for numeric types to perform
+combined multiplication and division with overflow protection.")
+ (license license:expat)))
+
(define-public rust-multi-default-trait-impl-0.1
(package
(name "rust-multi-default-trait-impl")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 13/52] gnu: Add rust-gstreamer-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-13-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 41 +++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index a6d534fcca..2343dde97a 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg))
@@ -996,6 +997,46 @@
(description "Rust bindings for gspell")
(license license:gpl3+)))
+(define-public rust-gstreamer-sys-0.8
+ (package
+ (name "rust-gstreamer-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nsk802vlcyi9p93sg60wv8fzb2mq7j52lfdda4va2kxp40xl60x"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstreamer-1.0")
+ (description "FFI bindings to libgstreamer-1.0")
+ (license license:expat)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 14/52] gnu: Add rust-gstreamer-0.15.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-14-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 50 +++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 2343dde97a..6e3b7158ac 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -997,6 +997,56 @@
(description "Rust bindings for gspell")
(license license:gpl3+)))
+(define-public rust-gstreamer-0.15
+ (package
+ (name "rust-gstreamer")
+ (version "0.15.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0qx1fhr9ajms0128ixmi2ncr35llwppdb0z7ximw2vnd2jhn91nf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cfg-if" ,rust-cfg-if-0.1)
+ ("rust-futures-channel"
+ ,rust-futures-channel-0.3)
+ ("rust-futures-core" ,rust-futures-core-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-muldiv" ,rust-muldiv-0.2)
+ ("rust-num-rational" ,rust-num-rational-0.2)
+ ("rust-paste" ,rust-paste-0.1)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+ ("rust-serde-derive" ,rust-serde-derive-1))
+ #:cargo-development-inputs
+ (("rust-futures-executor"
+ ,rust-futures-executor-0.3)
+ ("rust-ron" ,rust-ron-0.5)
+ ("rust-serde-json" ,rust-serde-json-1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer")
+ (description "Rust bindings for GStreamer")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-sys-0.8
(package
(name "rust-gstreamer-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 15/52] gnu: Add rust-gstreamer-base-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-15-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-base-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 41 +++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 6e3b7158ac..280a8b43fc 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1047,6 +1047,47 @@
(description "Rust bindings for GStreamer")
(license (list license:expat license:asl2.0))))
+(define-public rust-gstreamer-base-sys-0.8
+ (package
+ (name "rust-gstreamer-base-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-base-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1v9v09jqjrwz87c4r7za3yb6g7had112d8zwjdjmhg2b2x94yf5s"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstbase-1.0")
+ (description "FFI bindings to libgstbase-1.0")
+ (license license:expat)))
+
(define-public rust-gstreamer-sys-0.8
(package
(name "rust-gstreamer-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:10
[PATCH 16/52] gnu: Add rust-gstreamer-video-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-16-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-video-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 280a8b43fc..765a790fca 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1128,6 +1128,50 @@
(description "FFI bindings to libgstreamer-1.0")
(license license:expat)))
+(define-public rust-gstreamer-video-sys-0.8
+ (package
+ (name "rust-gstreamer-video-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-video-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k5prjimlrm5c68vk6wq1l9y440p5vskrq862rcb9x22z2c44pv1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; TODO: ABI mismatch
+ #:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstvideo-1.0")
+ (description "FFI bindings to libgstvideo-1.0")
+ (license license:expat)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 17/52] gnu: Add rust-gstreamer-player-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-17-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-player-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 765a790fca..adad535cde 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1088,6 +1088,50 @@
(description "FFI bindings to libgstbase-1.0")
(license license:expat)))
+(define-public rust-gstreamer-player-sys-0.8
+ (package
+ (name "rust-gstreamer-player-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-player-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0g21c7yk1855k5qdyn0hcwa6v1dy9admipy8s7544d7d19rqmhww"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video-sys"
+ ,rust-gstreamer-video-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-bad" ,gst-plugins-bad)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstplayer-1.0")
+ (description "FFI bindings to libgstplayer-1.0")
+ (license license:expat)))
+
(define-public rust-gstreamer-sys-0.8
(package
(name "rust-gstreamer-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 18/52] gnu: Add rust-gstreamer-base-0.15.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-18-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-base-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index adad535cde..471bd674b4 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1047,6 +1047,42 @@
(description "Rust bindings for GStreamer")
(license (list license:expat license:asl2.0))))
+(define-public rust-gstreamer-base-0.15
+ (package
+ (name "rust-gstreamer-base")
+ (version "0.15.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-base" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04hwa85j3w959i025il908bvsx6dyiawkmc0w45hn9kcrisjyma2"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer Base library")
+ (description "Rust bindings for GStreamer Base library")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-base-sys-0.8
(package
(name "rust-gstreamer-base-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 19/52] gnu: Add rust-gstreamer-video-0.15.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-19-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-video-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 43 +++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 471bd674b4..5cc1667d99 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1208,6 +1208,49 @@
(description "FFI bindings to libgstreamer-1.0")
(license license:expat)))
+(define-public rust-gstreamer-video-0.15
+ (package
+ (name "rust-gstreamer-video")
+ (version "0.15.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-video" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jaday8gsmhixv5k78wxcsricmvqfsip486750ad8ih2jjdfdmqa"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-futures-channel"
+ ,rust-futures-channel-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-base" ,rust-gstreamer-base-0.15)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video-sys"
+ ,rust-gstreamer-video-sys-0.8)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer Video library")
+ (description "Rust bindings for GStreamer Video library")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-video-sys-0.8
(package
(name "rust-gstreamer-video-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 20/52] gnu: Add rust-gstreamer-player-0.15.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-20-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-player-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 39 +++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 5cc1667d99..278df4202a 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1124,6 +1124,45 @@
(description "FFI bindings to libgstbase-1.0")
(license license:expat)))
+(define-public rust-gstreamer-player-0.15
+ (package
+ (name "rust-gstreamer-player")
+ (version "0.15.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-player" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "167nv3s6pwr746gjm2i0vd6ygfmbp80hi4wm46lly3jgciy4kcq4"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-player-sys"
+ ,rust-gstreamer-player-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video"
+ ,rust-gstreamer-video-0.15)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-bad" ,gst-plugins-bad))) ; for -lgstplayer-1.0
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer Player library")
+ (description "Rust bindings for GStreamer Player library")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-player-sys-0.8
(package
(name "rust-gstreamer-player-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 21/52] gnu: Add rust-gstreamer-audio-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-21-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-audio-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 278df4202a..10ad306fff 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1047,6 +1047,51 @@
(description "Rust bindings for GStreamer")
(license (list license:expat license:asl2.0))))
+(define-public rust-gstreamer-audio-sys-0.8
+ (package
+ (name "rust-gstreamer-audio-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-audio-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rxw1s57yrw1zsbindaf2sj05df4qh17bshadqfw77y4xr9izjdv"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build?
+ #t
+ #:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstaudio-1.0")
+ (description "FFI bindings to libgstaudio-1.0")
+ (license license:expat)))
+
(define-public rust-gstreamer-base-0.15
(package
(name "rust-gstreamer-base")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 22/52] gnu: Add rust-gstreamer-pbutils-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-22-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-pbutils-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 10ad306fff..71fc2b76ed 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1169,6 +1169,51 @@
(description "FFI bindings to libgstbase-1.0")
(license license:expat)))
+(define-public rust-gstreamer-pbutils-sys-0.8
+ (package
+ (name "rust-gstreamer-pbutils-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-pbutils-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1s4dgmq9ai1jz5w5vllji8087khw7hja97hii4lgl29figkakdsf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-audio-sys"
+ ,rust-gstreamer-audio-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video-sys"
+ ,rust-gstreamer-video-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstpbutils-1.0")
+ (description "FFI bindings to libgstpbutils-1.0")
+ (license license:expat)))
+
(define-public rust-gstreamer-player-0.15
(package
(name "rust-gstreamer-player")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 23/52] gnu: Add rust-gstreamer-pbutils-0.15.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-23-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-pbutils-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 71fc2b76ed..ed3cfe68ef 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1169,6 +1169,42 @@
(description "FFI bindings to libgstbase-1.0")
(license license:expat)))
+(define-public rust-gstreamer-pbutils-0.15
+ (package
+ (name "rust-gstreamer-pbutils")
+ (version "0.15.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-pbutils" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1q8hv8i41mwhr84ydwlv7qspf49s5i7pz3lnjwl0l9gyp2anq97d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-pbutils-sys"
+ ,rust-gstreamer-pbutils-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer Base Utils library")
+ (description "Rust bindings for GStreamer Base Utils library")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-pbutils-sys-0.8
(package
(name "rust-gstreamer-pbutils-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 24/52] gnu: Add rust-markup5ever-rcdom-0.1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-24-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-markup5ever-rcdom-0.1): New variable.
---
gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c6c902c512..90baa8b682 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22174,6 +22174,36 @@ platform-independently.")
(base32
"08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi"))))))
+(define-public rust-markup5ever-rcdom-0.1
+ (package
+ (name "rust-markup5ever-rcdom")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "markup5ever_rcdom" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0axf6vrms8579lvhbjaj0v7bhs8xb7s26d4sam2g3m6qpi1xl5gh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Some test files not included in release.
+ #:cargo-inputs
+ (("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-markup5ever" ,rust-markup5ever-0.10)
+ ("rust-tendril" ,rust-tendril-0.4)
+ ("rust-xml5ever" ,rust-xml5ever-0.16))
+ #:cargo-development-inputs
+ (("rust-rustc-test" ,rust-rustc-test-0.3))))
+ (home-page "https://github.com/servo/html5ever")
+ (synopsis
+ "Basic, unsupported DOM structure for use by tests in html5ever/xml5ever")
+ (description
+ "Basic, unsupported DOM structure for use by tests in html5ever/xml5ever")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-match-cfg-0.1
(package
(name "rust-match-cfg")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 25/52] gnu: Add rust-ammonia-3.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-25-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ammonia-3): New variable.
---
gnu/packages/crates-io.scm | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)

Toggle diff (44 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 90baa8b682..3a6b3a0120 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1700,6 +1700,37 @@ options to use calloc or a mutable global variable for pre-zeroed memory.")
be used with the stdlib.")
(license license:bsd-3)))
+(define-public rust-ammonia-3
+ (package
+ (name "rust-ammonia")
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ammonia" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fzaj1fx3yhz2qd47gfvz7n8xjrnn37w2hp4qlyzpczlf18wisl9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-maplit" ,rust-maplit-1)
+ ("rust-markup5ever-rcdom"
+ ,rust-markup5ever-rcdom-0.1)
+ ("rust-matches" ,rust-matches-0.1)
+ ("rust-tendril" ,rust-tendril-0.4)
+ ("rust-url" ,rust-url-2))
+ #:cargo-development-inputs
+ (("rust-version-sync" ,rust-version-sync-0.8))))
+ (home-page "https://github.com/rust-ammonia/ammonia")
+ (synopsis "HTML Sanitization")
+ (description "HTML Sanitization")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-android-glue-0.2
(package
(name "rust-android-glue")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 26/52] gnu: Add rust-html2pango-0.3.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-26-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-html2pango-0.3): New variable.
---
gnu/packages/crates-gtk.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index ed3cfe68ef..939b2c8bf6 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1564,6 +1564,40 @@
(description "This package provides FFI bindings to libgtk-3.")
(license license:expat)))
+(define-public rust-html2pango-0.3
+ (package
+ (name "rust-html2pango")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "html2pango" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0f0phim3bgmq0gcsvm9q8674190d5v5idlsqyxykxjf36d02i6s6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-ammonia" ,rust-ammonia-3)
+ ("rust-anyhow" ,rust-anyhow-1)
+ ("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-linkify" ,rust-linkify-0.4)
+ ("rust-maplit" ,rust-maplit-1)
+ ("rust-markup5ever-rcdom"
+ ,rust-markup5ever-rcdom-0.1)
+ ("rust-regex" ,rust-regex-1))
+ #:cargo-development-inputs
+ (("rust-pretty-assertions"
+ ,rust-pretty-assertions-0.6))))
+ (home-page "https://gitlab.gnome.org/World/html2pango")
+ (synopsis "Convert HTML to pango.")
+ (description "html2pango converts html tags to Pango markup. It also
+converts raw links to http links and strips unwanted tags.")
+ (license license:gpl3)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 27/52] gnu: Add rust-pangocairo-sys-0.11.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-27-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-pangocairo-sys-0.11): New variable.
---
gnu/packages/crates-gtk.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 939b2c8bf6..8c54e26a46 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1800,6 +1800,51 @@ converts raw links to http links and strips unwanted tags.")
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
+(define-public rust-pangocairo-sys-0.11
+ (package
+ (name "rust-pangocairo-sys")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pangocairo-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "167b1z6ns3lw1dqfq3mnhmknf7isi5vacp2fp0rh4bwcd5zwkk4l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings to pangocairo")
+ (description "This package provides FFI bindings to pangocairo.")
+ (license license:expat)))
+
(define-public rust-pangocairo-sys-0.10
(package
(name "rust-pangocairo-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 28/52] gnu: Add rust-pangocairo-0.10.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-28-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-pangocairo-0.10): New variable.
---
gnu/packages/crates-gtk.scm | 52 +++++++++++++++++++++++++++++++++++++
1 file changed, 52 insertions(+)

Toggle diff (65 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 8c54e26a46..d562b07480 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1733,6 +1733,58 @@ converts raw links to http links and strips unwanted tags.")
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-pangocairo-0.10
+ (package
+ (name "rust-pangocairo")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pangocairo" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10z8hlc82984nwvy5pnyh95ls9s5r1qrlkpn14zh4pjsl1ksxx80"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-rs-lgpl-docs"
+ ,rust-gtk-rs-lgpl-docs-0.1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.11))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "Rust bindings for the PangoCairo library")
+ (description
+ "Rust bindings for the PangoCairo library.")
+ (license license:expat)))
+
(define-public rust-pangocairo-0.9
(package
(name "rust-pangocairo")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 29/52] gnu: Add rust-letter-avatar-1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-29-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-letter-avatar-1): New variable.
---
gnu/packages/crates-gtk.scm | 42 +++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index d562b07480..8e521cadd6 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1598,6 +1598,48 @@
converts raw links to http links and strips unwanted tags.")
(license license:gpl3)))
+(define-public rust-letter-avatar-1
+ (package
+ (name "rust-letter-avatar")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "letter-avatar" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0if2mihpxn4xissv68qciqn5vywy0kl0sx9hcyrhd70s2fyn09k6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-pangocairo" ,rust-pangocairo-0.10)
+ ("rust-unicode-segmentation"
+ ,rust-unicode-segmentation-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/jsparber/letter-avatar")
+ (synopsis "Generates user avatars using username initials")
+ (description "Generates user avatars using username initials")
+ (license license:gpl3+)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 30/52] gnu: Add rust-libhandy-sys-0.5.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-30-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-libhandy-sys-0.5): New variable.
---
gnu/packages/crates-gtk.scm | 47 +++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (60 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 8e521cadd6..606aaf1463 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1640,6 +1640,53 @@ converts raw links to http links and strips unwanted tags.")
(description "Generates user avatars using username initials")
(license license:gpl3+)))
+(define-public rust-libhandy-sys-0.5
+ (package
+ (name "rust-libhandy-sys")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libhandy-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ih4ws1d9n4qp4rwgsfilklgchqq3prnrb7h3avik1wi5s2ay1yp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gio-sys" ,rust-gio-sys-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.9)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,(module-ref (resolve-interface '(gnu packages gnome))
+ 'libhandy-0.0))
+ ("pango" ,pango)))
+ (home-page
+ "https://gitlab.gnome.org/World/Rust/libhandy-rs")
+ (synopsis
+ "The sys part of the rust bindings for libhandy")
+ (description
+ "The sys part of the rust bindings for libhandy")
+ (license license:gpl3+)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 31/52] gnu: Add rust-libhandy-0.5.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-31-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-libhandy-0.5): New variable.
---
gnu/packages/crates-gtk.scm | 54 +++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 606aaf1463..58255dda12 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1687,6 +1687,60 @@ converts raw links to http links and strips unwanted tags.")
"The sys part of the rust bindings for libhandy")
(license license:gpl3+)))
+(define-public rust-libhandy-0.5
+ (package
+ (name "rust-libhandy")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libhandy" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "01zska4i6641pj8d9gcc2kclx5vvsbbyfpv4rn5kahs11rigba9a"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gio-sys" ,rust-gio-sys-0.9)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-libhandy-sys" ,rust-libhandy-sys-0.5)
+ ("rust-pango" ,rust-pango-0.8))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,(module-ref (resolve-interface '(gnu packages gnome))
+ 'libhandy-0.0))
+ ("pango" ,pango)))
+ (home-page
+ "https://gitlab.gnome.org/World/Rust/libhandy-rs")
+ (synopsis "Rust bindings for libhandy")
+ (description "Rust bindings for libhandy")
+ (license license:gpl3+)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 32/52] gnu: Add rust-loggerv-0.7.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-32-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-loggerv-0.7): New variable.
---
gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3a6b3a0120..9391a6dfea 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21686,6 +21686,41 @@ by inspecting the system for user preference.")
`(#:cargo-inputs
(("rust-log" ,rust-log-0.4))))))
+(define-public rust-loggerv-0.7
+ (package
+ (name "rust-loggerv")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "loggerv" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x6k903wpm557fkcbr5isgh4yqkkbzw4fm7hwyy61rvimqaxxn30"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-ansi-term" ,rust-ansi-term-0.12)
+ ("rust-atty" ,rust-atty-0.2)
+ ("rust-log" ,rust-log-0.4))
+ #:cargo-development-inputs
+ (("rust-clap" ,rust-clap-2))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "src/lib.rs"
+ (("assert_eq!\\(logger\\.colors, DEFAULT_COLORS\\);" all)
+ (string-append "// " all)))
+ #t)))))
+ (home-page "https://github.com/clux/loggerv")
+ (synopsis "Logger with colors")
+ (description "This package provides a simple log implementation that logs
+to stdout and stderr with colors")
+ (license license:expat)))
+
(define-public rust-logtest-2
(package
(name "rust-logtest")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 33/52] gnu: Add rust-lmdb-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-33-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-lmdb-sys-0.8): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9391a6dfea..0432a32cb9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21433,6 +21433,30 @@ punctuation.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-lmdb-sys-0.8
+ (package
+ (name "rust-lmdb-sys")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "lmdb-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1scc28phjcywr9jq78d01g35rig8l2bwydxcdzl5i27yij1r5cym"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cc" ,rust-cc-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))
+ (home-page "https://github.com/danburkert/lmdb-rs.git")
+ (synopsis "Rust bindings for liblmdb.")
+ (description "Rust bindings for liblmdb.")
+ (license license:asl2.0)))
+
(define-public rust-lmdb-rkv-0.14
(package
(name "rust-lmdb-rkv")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 34/52] gnu: Add rust-lmdb-0.8.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-34-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-lmdb-0.8): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0432a32cb9..24c4110dcf 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21457,6 +21457,35 @@ punctuation.")
(description "Rust bindings for liblmdb.")
(license license:asl2.0)))
+(define-public rust-lmdb-0.8
+ (package
+ (name "rust-lmdb")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "lmdb" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fc54in9i27v1gpxncay5s85lqx27m0r2vyrfylnljfnnpphh2av"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; use of unstable feature
+ #:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-lmdb-sys" ,rust-lmdb-sys-0.8))
+ #:cargo-development-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-tempdir" ,rust-tempdir-0.3))))
+ (home-page "https://github.com/danburkert/lmdb-rs.git")
+ (synopsis "Idiomatic and safe LMDB wrapper.")
+ (description "Idiomatic and safe LMDB wrapper.")
+ (license license:asl2.0)))
+
(define-public rust-lmdb-rkv-0.14
(package
(name "rust-lmdb-rkv")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 35/52] gnu: Add rust-mdl-1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-35-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-mdl-1): New variable.
---
gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 24c4110dcf..775242d832 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22581,6 +22581,34 @@ compression function.")
(supported-systems '("x86_64-linux" "i686-linux"))
(license license:expat)))
+(define-public rust-mdl-1
+ (package
+ (name "rust-mdl")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "mdl" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1mavphw0ynhggm310rbldzifcrc507jax1nzwrmj4cz1xv7vw24l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-bincode" ,rust-bincode-1)
+ ("rust-lmdb" ,rust-lmdb-0.8)
+ ("rust-serde" ,rust-serde-1))))
+ (home-page "https://gitlab.gnome.org/danigm/mdl")
+ (synopsis "Data model library")
+ (description "This package provides a data model library to share app state
+between threads and process and persist the data in the filesystem. It
+implements a way to store structs instances in an LMDB database and other
+methods like BTreeMap.")
+ (license license:gpl3)))
+
(define-public rust-measureme-0.7
(package
(name "rust-measureme")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 36/52] gnu: Add rust-aes-soft-0.6.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-36-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-aes-soft-0.6): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 775242d832..0aa77264c3 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1238,6 +1238,30 @@ acceleration.")
("rust-subtle" ,rust-subtle-2)
("rust-zeroize" ,rust-zeroize-1))))))
+(define-public rust-aes-soft-0.6
+ (package
+ (name "rust-aes-soft")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aes-soft" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wj0fi2pvmlw09yvb1aqf0mfkzrfxmjsf90finijh255ir4wf55y"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cipher" ,rust-cipher-0.2)
+ ("rust-opaque-debug" ,rust-opaque-debug-0.3))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Bit-sliced implementation of AES (Rijndael) block ciphers")
+ (description "This package provides a bit-sliced implementation of
+AES (Rijndael) block ciphers.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-aes-soft-0.4
(package
(name "rust-aes-soft")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 37/52] gnu: Add rust-aesni-0.10.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-37-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-aesni-0.10): New variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 0aa77264c3..285d27f080 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1307,6 +1307,31 @@ AES (Rijndael) block ciphers.")
("rust-byteorder" ,rust-byteorder-1)
("rust-opaque-debug" ,rust-opaque-debug-0.2))))))
+(define-public rust-aesni-0.10
+ (package
+ (name "rust-aesni")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aesni" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1kmh07fp9hbi1aa8dr2rybbgw8vqz6hjmk34c4w7sbscx7si2bpa"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-cipher" ,rust-cipher-0.2)
+ ("rust-opaque-debug" ,rust-opaque-debug-0.3))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "AES (Rijndael) block ciphers implementation using AES-NI")
+ (description "This package provides an implementation of AES (Rijndael)
+block ciphers using AES-NI.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-aesni-0.7
(package
(name "rust-aesni")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 38/52] gnu: Add rust-aes-0.6.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-38-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-aes-0.6): New variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 285d27f080..81e4869e84 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1137,6 +1137,31 @@ with Associated Data (AEAD) algorithms.")
(("rust-generic-array" ,rust-generic-array-0.12)
("rust-heapless" ,rust-heapless-0.5))))))
+(define-public rust-aes-0.6
+ (package
+ (name "rust-aes")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aes" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0q85mw70mgr4glza9y9lrs9nxfa1cdcqzfk6wx0smb3623pr2hw8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-aes-soft" ,rust-aes-soft-0.6)
+ ("rust-aesni" ,rust-aesni-0.10)
+ ("rust-cipher" ,rust-cipher-0.2))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Facade for AES (Rijndael) block ciphers implementations")
+ (description "This package provides a facade for AES (Rijndael) block
+ciphers implementations.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-aes-0.4
(package
(name "rust-aes")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 39/52] gnu: Add rust-block-modes-0.7.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-39-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-block-modes-0.7): New variable.
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 81e4869e84..88963f9fc4 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5091,6 +5091,33 @@ algorithms. This package is deprecated. Please use block-cipher instead.")
`(#:cargo-inputs
(("rust-generic-array" ,rust-generic-array-0.8))))))
+(define-public rust-block-modes-0.7
+ (package
+ (name "rust-block-modes")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "block-modes" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w3jc3n7k4xq98b9mfina4wwpg1fq1s3b0mm5whqialb7q3yi82p"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-block-padding" ,rust-block-padding-0.2)
+ ("rust-cipher" ,rust-cipher-0.2))
+ #:cargo-development-inputs
+ (("rust-aes" ,rust-aes-0.6)
+ ("rust-hex-literal" ,rust-hex-literal-0.2)
+ ("rust-tempdir" ,rust-tempdir-0.3))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Block cipher modes of operation")
+ (description "Block cipher modes of operation")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-block-padding-0.2
(package
(name "rust-block-padding")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 40/52] gnu: Add rust-hmac-0.10.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-40-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-hmac-0.10): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 88963f9fc4..d84e185049 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17685,6 +17685,35 @@ Derivation Function (HKDF).")
(("rust-digest" ,rust-digest-0.8)
("rust-hmac" ,rust-hmac-0.7))))))
+(define-public rust-hmac-0.10
+ (package
+ (name "rust-hmac")
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hmac" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "058yxq54x7xn0gk2vy9bl51r32c9z7qlcl2b80bjh3lk3rmiqi61"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-crypto-mac" ,rust-crypto-mac-0.10)
+ ("rust-digest" ,rust-digest-0.9))
+ #:cargo-development-inputs
+ (("rust-crypto-mac" ,rust-crypto-mac-0.8)
+ ("rust-md-5" ,rust-md-5-0.9)
+ ("rust-sha2" ,rust-sha2-0.9))))
+ (home-page "https://github.com/RustCrypto/MACs")
+ (synopsis "Generic implementation of Hash-based Message Authentication Code")
+ (description
+ "This package provides a generic implementation of @acronym{HMAC,
+Hash-based Message Authentication Code}.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-hmac-0.8
(package
(name "rust-hmac")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 41/52] gnu: Add rust-hkdf-0.10.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-41-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-hkdf-0.10): New variable.
---
gnu/packages/crates-io.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index d84e185049..47f8bfc6af 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17638,6 +17638,36 @@ compile time.")
`(#:cargo-inputs
(("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))
+(define-public rust-hkdf-0.10
+ (package
+ (name "rust-hkdf")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hkdf" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kwn3scjvv2x8zc6nz3wrnzxp9shpsdxnjqiyv2r65r3kiijzasi"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-digest" ,rust-digest-0.9)
+ ("rust-hmac" ,rust-hmac-0.10))
+ #:cargo-development-inputs
+ (("rust-bencher" ,rust-bencher-0.1)
+ ("rust-crypto-tests" ,rust-crypto-tests-0.5)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-sha-1" ,rust-sha-1-0.9)
+ ("rust-sha2" ,rust-sha2-0.9))))
+ (home-page "https://github.com/RustCrypto/KDFs/")
+ (synopsis "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)")
+ (description "This package provides a HMAC-based Extract-and-Expand Key
+Derivation Function (HKDF).")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-hkdf-0.9
(package
(name "rust-hkdf")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 42/52] gnu: Add rust-dbus-0.2.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-42-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-dbus-0.2): New variable.
---
gnu/packages/crates-gtk.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 58255dda12..bad7376076 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -228,6 +228,46 @@
("rust-x11" ,rust-x11-2)
("rust-pkg-config" ,rust-pkg-config-0.3))))))
+(define-public rust-dbus-0.2
+ (package
+ (name "rust-dbus")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "dbus" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0b85dl7y396g8xh1xh89wxnb1fvvf840dar9axavfhhhlq7c385l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; XXX: fatal warnings are still fatal
+ #:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2))
+ #:cargo-development-inputs
+ (("rust-tempdir" ,rust-tempdir-0.3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("dbus" ,dbus)))
+ (home-page "https://github.com/diwic/dbus-rs")
+ (synopsis "Rust bindings to D-Bus")
+ (description "This package provides Rust bindings to D-Bus, a bus commonly
+used for inter-process communication.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-gdk-0.13
(package
(name "rust-gdk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 43/52] gnu: Add rust-secret-service-1.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-43-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-secret-service-1): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index bad7376076..b18cfe49b3 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2110,3 +2110,47 @@ converts raw links to http links and strips unwanted tags.")
(synopsis "FFI bindings to libgtk-3")
(description "This package provides FFI bindings to libgtk-3.")
(license license:expat)))
+
+(define-public rust-secret-service-1
+ (package
+ (name "rust-secret-service")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "secret-service" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12hxz35i7sw5xsdldz1c6776fmz98z4dwh5779jis98w61020xbd"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; XXX: see rust-dbus
+ #:cargo-inputs
+ (("rust-aes" ,rust-aes-0.6)
+ ("rust-block-modes" ,rust-block-modes-0.7)
+ ("rust-dbus" ,rust-dbus-0.2)
+ ("rust-hkdf" ,rust-hkdf-0.10)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-num" ,rust-num-0.3)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-sha2" ,rust-sha2-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("dbus" ,dbus)))
+ (home-page "https://github.com/hwchen/secret-service-rs.git")
+ (synopsis "Library to interface with Secret Service API")
+ (description "Library to interface with Secret Service API")
+ (license (list license:expat license:asl2.0))))
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 45/52] gnu: Add rust-atk-0.9.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-45-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-atk-0.9): New variable.
---
gnu/packages/crates-gtk.scm | 46 +++++++++++++++++++++++++++++++++++++
1 file changed, 46 insertions(+)

Toggle diff (59 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index cfeb1f5e0c..96dc0682ed 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -109,6 +109,52 @@
(description "FFI bindings to libatk-1")
(license license:expat)))
+(define-public rust-atk-0.9
+ (package
+ (name "rust-atk")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "atk" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "09n46zp8jgxspdzhmi93cag79jjnr0ila94n8nr53g8hw88ljaw1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-atk-sys" ,rust-atk-sys-0.10)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-rs-lgpl-docs"
+ ,rust-gtk-rs-lgpl-docs-0.1)
+ ("rust-libc" ,rust-libc-0.2))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("glib" ,glib)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "Rust bindings for the ATK library")
+ (description "Rust bindings for the ATK library")
+ (license license:expat)))
+
(define-public rust-atk-0.8
(package
(name "rust-atk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 44/52] gnu: Add rust-atk-sys-0.10.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-44-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-atk-sys-0.10): New variable.
---
gnu/packages/crates-gtk.scm | 43 +++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index b18cfe49b3..cfeb1f5e0c 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -36,6 +36,49 @@
;;; Please: Try to add new module packages in alphabetic order.
;;;
+(define-public rust-atk-sys-0.10
+ (package
+ (name "rust-atk-sys")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "atk-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1knzvq2jdkx1nav619jbqsx2ivzh901rsp2wl57wr50x2fpy8c7m"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("glib" ,glib)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "FFI bindings to libatk-1")
+ (description "FFI bindings to libatk-1")
+ (license license:expat)))
+
(define-public rust-atk-sys-0.9
(package
(name "rust-atk-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 46/52] gnu: Add rust-gtk-sys-0.10.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-46-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gtk-sys-0.10): New variable.
---
gnu/packages/crates-gtk.scm | 53 +++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (66 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 96dc0682ed..8c6afef91e 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1658,6 +1658,59 @@ used for inter-process communication.")
"LGPL-licensed docs for Gtk-rs crates.")
(license license:lgpl2.0)))
+(define-public rust-gtk-sys-0.10
+ (package
+ (name "rust-gtk-sys")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0mq4i161kk6dwiz19ayxgm9fhx7n3r5lm9lbjiyk0qs811pxmb49"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; TODO: ABI mismatch
+ #:cargo-inputs
+ (("rust-atk-sys" ,rust-atk-sys-0.10)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.10)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "FFI bindings to libgtk-3")
+ (description "This package provides FFI bindings to libgtk-3.")
+ (license license:expat)))
+
(define-public rust-gtk-sys-0.9
(package
(name "rust-gtk-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 47/52] gnu: Add rust-gtk-0.9.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-47-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gtk-0.9): New variable.
---
gnu/packages/crates-gtk.scm | 64 +++++++++++++++++++++++++++++++++++++
1 file changed, 64 insertions(+)

Toggle diff (77 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 8c6afef91e..5b4f85949e 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1589,6 +1589,70 @@ used for inter-process communication.")
(description "FFI bindings to libgstvideo-1.0")
(license license:expat)))
+(define-public rust-gtk-0.9
+ (package
+ (name "rust-gtk")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0smdll32vlamp4kvxa6sg5m653icas21jd36fvq3laq7ahh2y0ig"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-atk" ,rust-atk-0.9)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-cc" ,rust-cc-1)
+ ("rust-gdk" ,rust-gdk-0.13)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.10)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio" ,rust-gio-0.9)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-rs-lgpl-docs"
+ ,rust-gtk-rs-lgpl-docs-0.1)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "Rust bindings for the GTK+ 3 library")
+ (description
+ "Rust bindings for the GTK+ 3 library")
+ (license license:expat)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 48/52] gnu: Add rust-sourceview4-sys-0.2.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-48-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-sourceview4-sys-0.2): New variable.
---
gnu/packages/crates-gtk.scm | 53 +++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 5b4f85949e..7781236458 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2360,3 +2360,56 @@ converts raw links to http links and strips unwanted tags.")
(synopsis "Library to interface with Secret Service API")
(description "Library to interface with Secret Service API")
(license (list license:expat license:asl2.0))))
+
+(define-public rust-sourceview4-sys-0.2
+ (package
+ (name "rust-sourceview4-sys")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sourceview4-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "146l7fni9zc68rr1aim5di4mzrk22r8jxb96ww8fgp6f51np690v"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.10)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/sourceview4-rs")
+ (synopsis "FFI bindings for GtkSourceView 4")
+ (description "FFI bindings for GtkSourceView 4")
+ (license license:lgpl2.1+)))
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 49/52] gnu: Add rust-sourceview4-0.2.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-49-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-sourceview4-0.2): New variable.
---
gnu/packages/crates-gtk.scm | 58 +++++++++++++++++++++++++++++++++++++
1 file changed, 58 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 7781236458..0238a31edb 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2413,3 +2413,61 @@ converts raw links to http links and strips unwanted tags.")
(synopsis "FFI bindings for GtkSourceView 4")
(description "FFI bindings for GtkSourceView 4")
(license license:lgpl2.1+)))
+
+(define-public rust-sourceview4-0.2
+ (package
+ (name "rust-sourceview4")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sourceview4" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1c35bm98gmn93qralgjlippdjm2d6199j811qgrn1zd4iv3j3kv7"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-gdk" ,rust-gdk-0.13)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio" ,rust-gio-0.9)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk" ,rust-gtk-0.9)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-sourceview4-sys"
+ ,rust-sourceview4-sys-0.2))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/sourceview4-rs")
+ (synopsis "API bindings for GtkSourceView 4")
+ (description "API bindings for GtkSourceView 4")
+ (license license:lgpl2.1+)))
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 12:11
[PATCH 50/52] gnu: Add rust-sourceview4-for-fractal.
(address . 44492@debbugs.gnu.org)
20210224111135.28883-50-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-sourceview4-for-fractal): New variable.
---
gnu/packages/crates-gtk.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 0238a31edb..e27ff0704b 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -20,6 +20,7 @@
(define-module (gnu packages crates-gtk)
#:use-module (guix build-system cargo)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
@@ -2471,3 +2472,31 @@ converts raw links to http links and strips unwanted tags.")
(synopsis "API bindings for GtkSourceView 4")
(description "API bindings for GtkSourceView 4")
(license license:lgpl2.1+)))
+
+(define-public rust-sourceview4-for-fractal
+ (package
+ (inherit rust-sourceview4-0.2)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Rust/sourceview4-rs/")
+ (commit "fa8819fa7ecbe56f44d951656d3825f468915754")))
+ (file-name "rust-sourceview4-0.2.0.tar.gz")
+ (sha256
+ (base32
+ "0aib8385fxdpw79sasfzn6q11sqx3wigkb267if9fb12bagycgpk"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
+ ("rust-gio" ,rust-gio-0.9)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.8))))
+ (properties `((hidden? . #t)))))
--
2.30.1
N
N
Nicolas Goaziou wrote on 24 Feb 2021 12:46
Re: [bug#44492] [PATCH 01/52] gnu: Add rust-ruma-identifiers-validation-0.1.
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 44492@debbugs.gnu.org)
87sg5lhemw.fsf@nicolasgoaziou.fr
Hello,

Leo Prikler <leo.prikler@student.tugraz.at> writes:

Toggle quote (3 lines)
> * gnu/packages/crates-io.scm (rust-ruma-identifiers-validation-0.1): New
> variable.

Thank you! I have a few general comments about the patch set.

Nitpicks: some synopses end with a full stop, and most descriptions are
not full sentences.

If you introduce a new version of an existing package, the old package
should inherit from the new one.

More generally, I still think intermediate packages should use
#:skip-build #t. Building them brings very little information, if any:

- A crate failing to build, for various reasons, is still correct as an
input to another crate
- Even if all intermediate crates have "#:skip-build #t", building the
top-level crate locates accurately any missing Cargo input in the
dependency graph.

Not using #:skip-build, OTOH, costs a lot of resources and time for the
CI, for users and developers.

Of course, this last remark is not specific to your patch set. I wish we
can converge towards common Rust packaging guidelines.

Regards,
--
Nicolas Goaziou
L
L
Leo Prikler wrote on 24 Feb 2021 13:30
[PATCH 51/52] gnu: Add rust-letter-avatar-for-fractal.
(address . 44492@debbugs.gnu.org)
20210224123047.31315-51-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-letter-avatar-for-fractal): New variable.
---
gnu/packages/crates-gtk.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index e27ff0704b..fd6850e447 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1887,6 +1887,30 @@ converts raw links to http links and strips unwanted tags.")
(description "Generates user avatars using username initials")
(license license:gpl3+)))
+(define-public rust-letter-avatar-for-fractal
+ (package
+ (inherit rust-letter-avatar-1)
+ (name "rust-letter-avatar")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "letter-avatar" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00hnlyckr25h5hvisk90vf88diww6cds140s8cpfhjx4p33kxnm8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-rs" ,rust-cairo-rs-0.8)
+ ("rust-pango" ,rust-pango-0.8)
+ ("rust-pangocairo" ,rust-pangocairo-0.9)
+ ("rust-unicode-segmentation"
+ ,rust-unicode-segmentation-1))))
+ (properties '((hidden? . #t)))))
+
(define-public rust-libhandy-sys-0.5
(package
(name "rust-libhandy-sys")
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 13:30
[PATCH 52/52] gnu: Add fractal.
(address . 44492@debbugs.gnu.org)
20210224123047.31315-52-leo.prikler@student.tugraz.at
* gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/gnome.scm (fractal): New variable.
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 141 +++++++++++++++++
...ractal-switch-from-failure-to-anyhow.patch | 143 ++++++++++++++++++
3 files changed, 285 insertions(+)
create mode 100644 gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch

Toggle diff (312 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index ae5a65cfcf..0f2c4f9f1d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -996,6 +996,7 @@ dist_patch_DATA = \
%D%/packages/patches/fontconfig-hurd-path-max.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.patch \
+ %D%/packages/patches/fractal-switch-from-failure-to-anyhow.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freebayes-devendor-deps.patch \
%D%/packages/patches/freeimage-unbundle.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index b8634d712a..5342858470 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12097,3 +12097,144 @@ for the GNOME 3.x platform with many features. It aims to be a very complete
editing environment for translation issues within the GNU gettext/GNOME desktop
world.")
(license license:gpl3+)))
+
+(define-public fractal
+ (package
+ (name "fractal")
+ (version "4.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/fractal")
+ (commit version)))
+ (file-name (string-append "fractal-" version))
+ (sha256
+ (base32
+ "1v2aw41gfmixki6g7j7mcav7i7qkn17k7zndvvfv08rgsrvma8qd"))
+ (patches
+ (search-patches
+ "fractal-switch-from-failure-to-anyhow.patch"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:imported-modules
+ (,@%cargo-build-system-modules
+ ,@%meson-build-system-modules)
+ #:modules
+ ((guix build cargo-build-system)
+ (guix build utils)
+ ((guix build meson-build-system) #:prefix meson:))
+ #:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-comrak" ,rust-comrak-0.7)
+ ("rust-directories" ,rust-directories-2)
+ ("rust-dirs" ,rust-dirs-2)
+ ("rust-either" ,rust-either-1)
+ ("rust-fragile" ,rust-fragile-1)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
+ ("rust-gettext" ,rust-gettext-rs-0.4)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gspell" ,rust-gspell-0.4)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-pbutils" ,rust-gstreamer-pbutils-0.15)
+ ("rust-gstreamer-player" ,rust-gstreamer-player-0.15)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-html2pango" ,rust-html2pango-0.3)
+ ("rust-letter-avatar" ,rust-letter-avatar-for-fractal)
+ ("rust-libhandy" ,rust-libhandy-0.5)
+ ("rust-loggerv" ,rust-loggerv-0.7)
+ ("rust-md5" ,rust-md5-0.7)
+ ("rust-mdl" ,rust-mdl-1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-reqwest" ,rust-reqwest-0.10)
+ ("rust-ruma-identifiers" ,rust-ruma-identifiers-0.17)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-secret-service" ,rust-secret-service-1)
+ ("rust-sourceview4" ,rust-sourceview4-for-fractal))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cargo
+ (lambda* (#:key vendor-dir #:allow-other-keys)
+ (substitute* "fractal-gtk/Cargo.toml"
+ (("git = .*") "")
+ ;; rust-gettext-rs
+ (("branch = \"no-gettext\"") "version = \"0.4.0\"")
+ ;; rust-sourceview4
+ (("rev = \"fa8819fa7ecbe56f44d951656d3825f468915754\"")
+ "version = \"0.2.0\"")
+ ;; rust-either
+ (("rev = \"60c99bc0723491e2dfd42bbe9b485c5f9323e96b\"")
+ "version = \"1.6.0\"")
+ (("\"serde_untagged\"") "\"serde\""))
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ (substitute* "meson.build"
+ (("'Cargo.lock',") ""))
+ (substitute* "scripts/cargo.sh"
+ (("export CARGO_HOME=.*" all)
+ (string-append all "\
+mkdir -p $CARGO_HOME
+cp $1/.cargo/config $CARGO_HOME
+")))
+
+ #t))
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ (lambda _
+ (substitute* "scripts/meson_post_install.py"
+ (("gtk-update-icon-cache") (which "true")))
+ #t))
+ (add-after 'configure 'configure-harder
+ (lambda* (#:key vendor-dir inputs #:allow-other-keys)
+ (for-each
+ (lambda (d)
+ (copy-recursively
+ (string-append (assoc-ref inputs "rust-sourceview4") "/" d)
+ (string-append vendor-dir "/rust-" d "-0.2.0")))
+ '("sourceview4" "sourceview4-sys"))
+ (delete-file-recursively
+ (car (find-files vendor-dir "fractal.*" #:directories? #t)))
+ #t))
+ (add-after 'patch-cargo-checksums 'really-configure
+ (lambda args
+ (apply (assoc-ref meson:%standard-phases 'configure)
+ #:build-type "release"
+ #:configure-flags '()
+ args)))
+ (replace 'build (assoc-ref meson:%standard-phases 'build))
+ (replace 'check
+ (lambda args
+ ((assoc-ref meson:%standard-phases 'check)
+ #:test-target "test"
+ #:parallel-tests? #t
+ #:tests? #t)))
+ (replace 'install (assoc-ref meson:%standard-phases 'install)))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("gettext" ,gettext-minimal)
+ ("meson" ,meson-for-build)
+ ("ninja" ,ninja)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gspell" ,gspell)
+ ("gst-editing-services" ,gst-editing-services)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-bad" ,gst-plugins-bad)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("libhandy" ,libhandy-0.0)
+ ("openssl" ,openssl)))
+ (synopsis "Matrix messaging app for GNOME")
+ (description "Fractal is a Matrix messaging app for GNOME written in Rust.
+Its interface is optimized for collaboration in large groups, such as free
+software projects.")
+ (home-page "https://wiki.gnome.org/Apps/Fractal")
+ (license license:gpl3)))
diff --git a/gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch b/gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch
new file mode 100644
index 0000000000..6b830ecf94
--- /dev/null
+++ b/gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch
@@ -0,0 +1,143 @@
+From e4ca9dc5c0f4401f350338e4cd9b0734db9371bf Mon Sep 17 00:00:00 2001
+From: Yuki Okushi <huyuumi.dev@gmail.com>
+Date: Thu, 13 Aug 2020 14:41:50 +0900
+Subject: [PATCH] Switch from failure to anyhow
+
+---
+ Cargo.lock | 8 +++++++-
+ fractal-gtk/Cargo.toml | 2 +-
+ fractal-gtk/src/appop/attach.rs | 2 +-
+ fractal-gtk/src/cache/mod.rs | 2 +-
+ fractal-gtk/src/cache/state.rs | 7 +++----
+ fractal-gtk/src/util.rs | 8 ++++----
+ 6 files changed, 17 insertions(+), 12 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index c0b5e5e2..f26d9787 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -88,6 +88,12 @@ dependencies = [
+ "winapi 0.3.9",
+ ]
+
++[[package]]
++name = "anyhow"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b"
++
+ [[package]]
+ name = "arrayref"
+ version = "0.3.6"
+@@ -580,6 +586,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+ name = "fractal-gtk"
+ version = "4.4.0"
+ dependencies = [
++ "anyhow",
+ "cairo-rs",
+ "chrono",
+ "clap",
+@@ -587,7 +594,6 @@ dependencies = [
+ "directories",
+ "dirs",
+ "either 1.5.99",
+- "failure",
+ "fractal-matrix-api",
+ "fragile",
+ "gdk",
+diff --git a/fractal-gtk/Cargo.toml b/fractal-gtk/Cargo.toml
+index 960f64b5..e1c6a33d 100644
+--- a/fractal-gtk/Cargo.toml
++++ b/fractal-gtk/Cargo.toml
+@@ -6,11 +6,11 @@ workspace = "../"
+ edition = "2018"
+
+ [dependencies]
++anyhow = "1.0.32"
+ clap = "2.33.0"
+ comrak = "0.7.0"
+ directories = "2.0.2"
+ dirs = "2.0.2"
+-failure = "0.1.6"
+ fragile = "1.0.0"
+ gspell = "0.4.0"
+ gdk = "0.12.1"
+diff --git a/fractal-gtk/src/appop/attach.rs b/fractal-gtk/src/appop/attach.rs
+index 3f0813aa..3b5bff4c 100644
+--- a/fractal-gtk/src/appop/attach.rs
++++ b/fractal-gtk/src/appop/attach.rs
+@@ -6,7 +6,7 @@ use std::io::prelude::*;
+ use std::path::PathBuf;
+ use std::sync::{Arc, Mutex};
+
+-use failure::Error;
++use anyhow::Error;
+
+ use gtk::prelude::*;
+
+diff --git a/fractal-gtk/src/cache/mod.rs b/fractal-gtk/src/cache/mod.rs
+index 76942866..8943eac6 100644
+--- a/fractal-gtk/src/cache/mod.rs
++++ b/fractal-gtk/src/cache/mod.rs
+@@ -12,7 +12,7 @@ use std::thread;
+
+ use crate::types::Room;
+ use crate::types::RoomList;
+-use failure::Error;
++use anyhow::Error;
+ use fractal_api::identifiers::{DeviceId, UserId};
+ use std::collections::HashMap;
+ use std::hash::Hash;
+diff --git a/fractal-gtk/src/cache/state.rs b/fractal-gtk/src/cache/state.rs
+index 7cb5372a..0e62c59b 100644
+--- a/fractal-gtk/src/cache/state.rs
++++ b/fractal-gtk/src/cache/state.rs
+@@ -4,8 +4,7 @@ use mdl::Model;
+ use mdl::Store;
+ use serde::{Deserialize, Serialize};
+
+-use failure::err_msg;
+-use failure::Error;
++use anyhow::{anyhow, Error};
+
+ use std::cell::RefCell;
+ use std::fs::remove_dir_all;
+@@ -127,8 +126,8 @@ impl FCache {
+ guard.take();
+
+ let fname = cache_dir_path(None, "cache.mdl")
+- .or_else(|_| Err(err_msg("Can't remove cache file")))?;
+- remove_dir_all(fname).or_else(|_| Err(err_msg("Can't remove cache file")))
++ .or_else(|_| Err(anyhow!("Can't remove cache file")))?;
++ remove_dir_all(fname).or_else(|_| Err(anyhow!("Can't remove cache file")))
+ }
+
+ #[allow(dead_code)]
+diff --git a/fractal-gtk/src/util.rs b/fractal-gtk/src/util.rs
+index 764a8e8e..b2feb12c 100644
+--- a/fractal-gtk/src/util.rs
++++ b/fractal-gtk/src/util.rs
+@@ -1,6 +1,6 @@
+ use crate::globals::CACHE_PATH;
+-use failure::format_err;
+-use failure::Error as FailError;
++use anyhow::anyhow;
++use anyhow::Error as AnyhowError;
+ use gdk::prelude::*;
+ use gdk_pixbuf::Pixbuf;
+ use gio::{Settings, SettingsExt, SettingsSchemaSource};
+@@ -21,9 +21,9 @@ pub fn cache_dir_path(dir: Option<&str>, name: &str) -> Result<PathBuf, IoError>
+ Ok(path.join(name))
+ }
+
+-pub fn get_pixbuf_data(pb: &Pixbuf) -> Result<Vec<u8>, FailError> {
++pub fn get_pixbuf_data(pb: &Pixbuf) -> Result<Vec<u8>, AnyhowError> {
+ let image = cairo::ImageSurface::create(cairo::Format::ARgb32, pb.get_width(), pb.get_height())
+- .or_else(|_| Err(format_err!("Cairo Error")))?;
++ .or_else(|_| Err(anyhow!("Cairo Error")))?;
+
+ let g = cairo::Context::new(&image);
+ g.set_source_pixbuf(pb, 0.0, 0.0);
+--
+2.30.1
+
--
2.30.1
L
L
Leo Prikler wrote on 24 Feb 2021 14:13
Re: [bug#44492] [PATCH 01/52] gnu: Add rust-ruma-identifiers-validation-0.1.
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 44492@debbugs.gnu.org)
a3684298dfe6e3cf68e79a8bc8701f26716c3c49.camel@student.tugraz.at
Hello,

Am Mittwoch, den 24.02.2021, 12:46 +0100 schrieb Nicolas Goaziou:
Toggle quote (13 lines)
> Hello,
>
> Leo Prikler <leo.prikler@student.tugraz.at> writes:
>
> > * gnu/packages/crates-io.scm (rust-ruma-identifiers-validation-
> > 0.1): New
> > variable.
>
> Thank you! I have a few general comments about the patch set.
>
> Nitpicks: some synopses end with a full stop, and most descriptions
> are
> not full sentences.
Indeed, for most of them I merely copied the output of `guix import
cargo`. I was hoping a reviewer could help me find better synopses and
descriptions, as well as cross-check licenses.

Toggle quote (3 lines)
> If you introduce a new version of an existing package, the old
> package
> should inherit from the new one.
I was afraid this would cause rebuilds for the existing package. Was
that fear unfounded?

Toggle quote (15 lines)
> More generally, I still think intermediate packages should use
> #:skip-build #t. Building them brings very little information, if
> any:
>
> - A crate failing to build, for various reasons, is still correct as
> an
> input to another crate
> - Even if all intermediate crates have "#:skip-build #t", building
> the
> top-level crate locates accurately any missing Cargo input in the
> dependency graph.
>
> Not using #:skip-build, OTOH, costs a lot of resources and time for
> the
> CI, for users and developers.
I personally disagree. The only reason a crate failing to build is a
"valid input" to another is because that other crate can decide to
completely disregard it, which sounds neither "reliable" nor
"efficient" for a programming language, that prides itself as both.

I will only skip builds for dead crates, i.e. crates I can reasonably
assume to only contain dead code due to their build failures. This
does not seem to cost much when building dependant packages, as I've
found that in order to actually build the crates I have to explicitly
invoke `guix build <crate>`.

Of course, there's still the problem of CI. Long-term, I think we
should find a way for this efficient programming language to reliably
produce reusable build artifacts. Short term, hitting non-leaf
packages, that have cargo-build-system anywhere with a priority of
negative infinity sounds like a better workaround. I want to be able
(as a developer) to explicitly build crates and determine where they
fail.

Toggle quote (3 lines)
> Of course, this last remark is not specific to your patch set. I wish
> we
> can converge towards common Rust packaging guidelines.
I believe we should not cowtow to Rust and Cargo, but instead force
them to adhere to our principles; principles of building applications
*and* libraries reproducibly without encoding hashes in a huge ass-lock
file.

Sorry for the off-topic rant. Dealing with Rust for five days straight
has been somewhat damaging to my mental health, and to be very clear,
that is Rust's fault and not the fault of cargo-build-system.

Regards,
Leo
N
N
Nicolas Goaziou wrote on 24 Feb 2021 16:41
(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)(address . 44492@debbugs.gnu.org)
87ft1lh4vh.fsf@nicolasgoaziou.fr
Leo Prikler <leo.prikler@student.tugraz.at> writes:

Toggle quote (3 lines)
> I was afraid this would cause rebuilds for the existing package. Was
> that fear unfounded?

I don't think it would change anything. It is what we usually do in
"crates-io.scm".

Toggle quote (5 lines)
> I personally disagree. The only reason a crate failing to build is a
> "valid input" to another is because that other crate can decide to
> completely disregard it, which sounds neither "reliable" nor
> "efficient" for a programming language, that prides itself as both.

Probably, but the problem at hand is not to fix how Rust builds its
crates, but rather optimize Rust packaging.

Toggle quote (6 lines)
> I will only skip builds for dead crates, i.e. crates I can reasonably
> assume to only contain dead code due to their build failures. This
> does not seem to cost much when building dependant packages, as I've
> found that in order to actually build the crates I have to explicitly
> invoke `guix build <crate>`.

There's much more work involved. You have to take care of development
inputs which increases drastically the number of crates to package.
Moreover, you need to try building each of them, which takes time. Not
skipping builds makes de facto some packages impossible to package.

Toggle quote (8 lines)
> Of course, there's still the problem of CI. Long-term, I think we
> should find a way for this efficient programming language to reliably
> produce reusable build artifacts. Short term, hitting non-leaf
> packages, that have cargo-build-system anywhere with a priority of
> negative infinity sounds like a better workaround. I want to be able
> (as a developer) to explicitly build crates and determine where they
> fail.

As a packager, you don't need to build the crate to fix any issue
arising at a higher level, as I pointed out already. If you're
developing the crate, that's another story. But then, you can quickly
write your own package definition.

I think the real questions about building intermediate crates, from
a packager point of view, are:
- does that make the packages reproducible?
- does that make the packages more secure?
- does that make the packages easier to define?

From my experience, the answer is "no" to any of these. This is a net
loss.

Toggle quote (5 lines)
> I believe we should not cowtow to Rust and Cargo, but instead force
> them to adhere to our principles; principles of building applications
> *and* libraries reproducibly without encoding hashes in a huge ass-lock
> file.

I don't think it is worth focusing of this. We currently do a good job
in Rust packaging, really. But it doesn't make much sense to have some
packages skipping builds and not some others.

What saddens me a bit is that individuals (including me, of course) are
currently doing as they see fit, but we haven't so far decided, as
a group, how to deal with the question uniformly. I hope we can converge
quickly.


Regards,
L
L
Leo Prikler wrote on 24 Feb 2021 20:19
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 44492@debbugs.gnu.org)
3d7c689d5d0278b715dc3c2dc39a708b14e392e1.camel@student.tugraz.at
Am Mittwoch, den 24.02.2021, 16:41 +0100 schrieb Nicolas Goaziou:
Toggle quote (9 lines)
> Leo Prikler <leo.prikler@student.tugraz.at> writes:
>
> > I was afraid this would cause rebuilds for the existing package.
> > Was
> > that fear unfounded?
>
> I don't think it would change anything. It is what we usually do in
> "crates-io.scm".

Fair enough, I'll do so when I get to it.

Toggle quote (9 lines)
> > I personally disagree. The only reason a crate failing to build is
> > a
> > "valid input" to another is because that other crate can decide to
> > completely disregard it, which sounds neither "reliable" nor
> > "efficient" for a programming language, that prides itself as both.
>
> Probably, but the problem at hand is not to fix how Rust builds its
> crates, but rather optimize Rust packaging.

I think those two issues are related, but that's a discussion for guix-
devel. So is the rest of this, but I might as well make my case here.

Toggle quote (15 lines)
> > I will only skip builds for dead crates, i.e. crates I can
> > reasonably
> > assume to only contain dead code due to their build failures. This
> > does not seem to cost much when building dependant packages, as
> > I've
> > found that in order to actually build the crates I have to
> > explicitly
> > invoke `guix build <crate>`.
>
> There's much more work involved. You have to take care of development
> inputs which increases drastically the number of crates to package.
> Moreover, you need to try building each of them, which takes time.
> Not
> skipping builds makes de facto some packages impossible to package.

We could work developer inputs into the recursive importer, that should
not be an issue.

Honestly, it is a greater waste of time to recompile every dependency,
have the build fail, change some minor thing in the package and
recompile everything again. Yes, `guix build -K` helps to an extent,
but it doesn't help if I made a typo in my build phase and got a guile
backtrace.

If cargo inputs worked like normal inputs, they'd be built reliably
once and no time would be wasted rebuilding them over and over in any
packages using them.

Toggle quote (16 lines)
> > Of course, there's still the problem of CI. Long-term, I think we
> > should find a way for this efficient programming language to
> > reliably
> > produce reusable build artifacts. Short term, hitting non-leaf
> > packages, that have cargo-build-system anywhere with a priority of
> > negative infinity sounds like a better workaround. I want to be
> > able
> > (as a developer) to explicitly build crates and determine where
> > they
> > fail.
>
> As a packager, you don't need to build the crate to fix any issue
> arising at a higher level, as I pointed out already. If you're
> developing the crate, that's another story. But then, you can quickly
> write your own package definition.

Maybe there'd be an argument if we had --no-skip-build, but I think
we're working our way backwards here; trying work around a workaround.

Toggle quote (8 lines)
> I think the real questions about building intermediate crates, from
> a packager point of view, are:
> - does that make the packages reproducible?
> - does that make the packages more secure?
> - does that make the packages easier to define?
>
> From my experience, the answer is "no" to any of these. This is a net
> loss.
I don't think there is any influence on the ease of definition, since
either one would be handled by the recursive importer. The difficulty
for packagers currently would be to manually undo the automatic build
skipping done through the importer.

As for reproducibility/security, there is yet little to gain, because
the leaf crate can simply ignore its inputs and do whatever, but if we
built the crates ahead of time, and disallowed the automatic building
of dependencies, we would get efficient *and* reproducible Rust
packages.

Another thing that bugs me as a packager is that cargo inputs don't
work for `guix refresh`, so I can't even be sure whether to put my
patch to master or core-updates.

Toggle quote (12 lines)
> > I believe we should not cowtow to Rust and Cargo, but instead force
> > them to adhere to our principles; principles of building
> > applications
> > *and* libraries reproducibly without encoding hashes in a huge ass-
> > lock
> > file.
>
> I don't think it is worth focusing of this. We currently do a good
> job
> in Rust packaging, really. But it doesn't make much sense to have
> some
> packages skipping builds and not some others.
If skipping only some builds is not an option, you are either left with
skipping all builds or skipping none, one of which is certainly silly.

Toggle quote (6 lines)
> What saddens me a bit is that individuals (including me, of course)
> are
> currently doing as they see fit, but we haven't so far decided, as
> a group, how to deal with the question uniformly. I hope we can
> converge
> quickly.
I personally hope that some of the issues resulting from this "wild
west" approach to packaging will be alleviated by #46399. Having
crates as regular inputs also increases the value of #:skip-build? #f.

Regards,
Leo
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 01/52] gnu: Add rust-ruma-identifiers-validation-0.1.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-validation-0.1): New
variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index ac38d1180d..c414e05685 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32655,6 +32655,30 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-validation-0.1
+ (package
+ (name "rust-ruma-identifiers-validation")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers-validation" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nv0zqsq5lhybckvfr5wmcp8pipqfs2hjgn9kvn9w33xacfzs4n1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1)
+ ("rust-strum" ,rust-strum-0.18))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Validation logic for RUMA")
+ (description "This package provides the validation logic needed by other
+rust-ruma packages.")
+ (license license:expat)))
+
(define-public rust-runtime-0.3
(package
(name "rust-runtime")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 00/52] gnu: Add fractal.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-1-leo.prikler@student.tugraz.at
I'll send the revised patches in batches of size 10, so as to not cause too many
trouble to mailservers around the world.

Leo Prikler (52):
gnu: Add rust-ruma-identifiers-validation-0.1.
gnu: Add rust-ruma-identifiers-macros-0.17.
gnu: Add rust-ruma-identifiers-0.17.
gnu: Add rust-entities-1.
gnu: Add rust-twoway-0.2.
gnu: Add rust-unicode-categories-0.1.
gnu: Add rust-comrak-0.7.
gnu: Add rust-fragile-1.
gnu: rust-either-1: Update to 1.6.1.
gnu: Add rust-gspell-sys-0.4.
gnu: Add rust-gspell-0.4.
gnu: Add rust-muldiv-0.2.
gnu: Add rust-gstreamer-sys-0.8.
gnu: Add rust-gstreamer-0.15.
gnu: Add rust-gstreamer-base-sys-0.8.
gnu: Add rust-gstreamer-video-sys-0.8.
gnu: Add rust-gstreamer-player-sys-0.8.
gnu: Add rust-gstreamer-base-0.15.
gnu: Add rust-gstreamer-video-0.15.
gnu: Add rust-gstreamer-player-0.15.
gnu: Add rust-gstreamer-audio-sys-0.8.
gnu: Add rust-gstreamer-pbutils-sys-0.8.
gnu: Add rust-gstreamer-pbutils-0.15.
gnu: Add rust-markup5ever-rcdom-0.1.
gnu: Add rust-ammonia-3.
gnu: Add rust-html2pango-0.3.
gnu: Add rust-pangocairo-sys-0.11.
gnu: Add rust-pangocairo-0.10.
gnu: Add rust-letter-avatar-1.
gnu: Add rust-libhandy-sys-0.5.
gnu: Add rust-libhandy-0.5.
gnu: Add rust-loggerv-0.7.
gnu: Add rust-lmdb-sys-0.8.
gnu: Add rust-lmdb-0.8.
gnu: Add rust-mdl-1.
gnu: Add rust-aes-soft-0.6.
gnu: Add rust-aesni-0.10.
gnu: Add rust-aes-0.6.
gnu: Add rust-block-modes-0.7.
gnu: Add rust-hmac-0.10.
gnu: Add rust-hkdf-0.10.
gnu: Add rust-dbus-0.2.
gnu: Add rust-secret-service-1.
gnu: Add rust-atk-sys-0.10.
gnu: Add rust-atk-0.9.
gnu: Add rust-gtk-sys-0.10.
gnu: Add rust-gtk-0.9.
gnu: Add rust-sourceview4-sys-0.2.
gnu: Add rust-sourceview4-0.2.
gnu: Add rust-sourceview4-for-fractal.
gnu: Add rust-letter-avatar-for-fractal.
gnu: Add fractal.

gnu/local.mk | 2 +
gnu/packages/crates-gtk.scm | 1527 +++++++++++++++--
gnu/packages/crates-io.scm | 613 ++++++-
gnu/packages/gnome.scm | 142 +-
...ractal-switch-from-failure-to-anyhow.patch | 143 ++
.../rust-comrak-0.7-rustsec-2021-0026.patch | 41 +
6 files changed, 2318 insertions(+), 150 deletions(-)
create mode 100644 gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch
create mode 100644 gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch

--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 02/52] gnu: Add rust-ruma-identifiers-macros-0.17.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-macros-0.17): New variable.
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index c414e05685..640a90b01b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32655,6 +32655,33 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-macros-0.17
+ (package
+ (name "rust-ruma-identifiers-macros")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers-macros" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03p3qp12h4aajixcyk44q2bcid6fa4nmipysvcpy4w5cbak7wvwq"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-ruma-identifiers-validation"
+ ,rust-ruma-identifiers-validation-0.1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Create Matrix identifiers")
+ (description "This package provides procedural macros for creating Matrix
+identifiers.")
+ (license license:expat)))
+
(define-public rust-ruma-identifiers-validation-0.1
(package
(name "rust-ruma-identifiers-validation")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 03/52] gnu: Add rust-ruma-identifiers-0.17.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-0.17): New variable.
---
gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 640a90b01b..dd6cac96b6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32655,6 +32655,40 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-0.17
+ (package
+ (name "rust-ruma-identifiers")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vjxws5yw1c8lmwc5p036319vwwna1sxb7pkl6lw1pl8rwp0j5sr"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-either" ,rust-either-1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-ruma-identifiers-macros"
+ ,rust-ruma-identifiers-macros-0.17)
+ ("rust-ruma-identifiers-validation"
+ ,rust-ruma-identifiers-validation-0.1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-strum" ,rust-strum-0.18))
+ #:cargo-development-inputs
+ (("rust-matches" ,rust-matches-0.1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-trybuild" ,rust-trybuild-1))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Rust types for Matrix resource identifiers")
+ (description "This package provides Rust type bindings for Matrix resource
+identifiers.")
+ (license license:expat)))
+
(define-public rust-ruma-identifiers-macros-0.17
(package
(name "rust-ruma-identifiers-macros")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 04/52] gnu: Add rust-entities-1.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-entities-1): New variable.
---
gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index dd6cac96b6..8f38e22880 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12622,6 +12622,27 @@ Standard.")
"Streaming transcoding for encoding_rs.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-entities-1
+ (package
+ (name "rust-entities")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "entities" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jnpr0zvj97wm9pnh7fnl74rzaar39hhg65p03cm08bqqgj0lcmm"))))
+ (build-system cargo-build-system)
+ (arguments `(#:skip-build? #t))
+ (home-page "https://github.com/p-jackson/entities")
+ (synopsis "Raw data for converting HTML entities")
+ (description "This package provides the raw data needed to convert to and
+from HTML entities.")
+ (license license:expat)))
+
(define-public rust-enum-as-inner-0.3
(package
(name "rust-enum-as-inner")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 05/52] gnu: Add rust-twoway-0.2.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-6-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-twoway-0.2): New variable.
---
gnu/packages/crates-io.scm | 39 ++++++++++++++++++++++++++++++--------
1 file changed, 31 insertions(+), 8 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 8f38e22880..74f61f402b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -44854,8 +44854,38 @@ design abstracts away all the internals of the WebSocket protocol but still
makes them accessible for those who wants full control over the network.")
(license (list license:expat license:asl2.0))))
+(define-public rust-twoway-0.2
+ (package
+ (name "rust-twoway")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "twoway" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1g55kf4rx0q682fvzxdixqihmlbamn5ms2yqvcm92fny21chfh3b"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-galil-seiferas" ,rust-galil-seiferas-0.1)
+ ("rust-jetscii" ,rust-jetscii-0.3)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-unchecked-index"
+ ,rust-unchecked-index-0.2))))
+ (home-page "https://github.com/bluss/twoway")
+ (synopsis "Fast substring search for strings and byte strings")
+ (description
+ "This package provides a fast substring search for strings and byte
+strings.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-twoway-0.1
(package
+ (inherit rust-twoway-0.2)
(name "rust-twoway")
(version "0.1.8")
(source
@@ -44865,20 +44895,13 @@ makes them accessible for those who wants full control over the network.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1lbf64snscr3vz71jbl6i2c8zr2ndsiqbk6316z39fj1a8mipcar"))))
- (build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-galil-seiferas" ,rust-galil-seiferas-0.1)
("rust-jetscii" ,rust-jetscii-0.3)
("rust-memchr" ,rust-memchr-2)
- ("rust-unchecked-index" ,rust-unchecked-index-0.2))))
- (home-page "https://github.com/bluss/twoway")
- (synopsis "Fast substring search for strings and byte strings")
- (description
- "This package provides a fast substring search for strings and byte
-strings.")
- (license (list license:expat license:asl2.0))))
+ ("rust-unchecked-index" ,rust-unchecked-index-0.2))))))
(define-public rust-typeable-0.1
(package
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 06/52] gnu: Add rust-unicode-categories-0.1.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-unicode-categories-0.1): New variable.
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 74f61f402b..e40862aa70 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45445,6 +45445,26 @@ Unicode and Internationalization Crates (UNIC) project.")
"Implementation of the Unicode Bidirectional Algorithm.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-unicode-categories-0.1
+ (package
+ (name "rust-unicode-categories")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "unicode_categories" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kp1d7fryxxm7hqywbk88yb9d1avsam9sg76xh36k5qx2arj9v1r"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/swgillespie/unicode-categories")
+ (synopsis "Query Unicode category membership")
+ (description "This package provides functions to query whether or not
+a character is a member of a certain category of unicode characters.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-unicode-normalization-0.1
(package
(name "rust-unicode-normalization")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 07/52] gnu: Add rust-comrak-0.7.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-8-leo.prikler@student.tugraz.at
* gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/crates-io.scm (rust-comrak-0.7): New variable.
---
gnu/local.mk | 1 +
gnu/packages/crates-io.scm | 44 +++++++++++++++++++
.../rust-comrak-0.7-rustsec-2021-0026.patch | 41 +++++++++++++++++
3 files changed, 86 insertions(+)
create mode 100644 gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch

Toggle diff (116 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 83753e6b4e..4f6b85c69c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1604,6 +1604,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.45-linker-locale.patch \
%D%/packages/patches/rust-1.48-linker-locale.patch \
%D%/packages/patches/rust-bootstrap-stage0-test.patch \
+ %D%/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index e40862aa70..2c39c8249e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7601,6 +7601,50 @@ harness.")
("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
("rust-tempdir" ,rust-tempdir-0.3))))))
+(define-public rust-comrak-0.7
+ (package
+ (name "rust-comrak")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "comrak" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07026j0ghwgv5z61fc4l893wwc30krxpsy487rb91wkcag65hw71"))
+ (patches
+ (search-patches
+ "rust-comrak-0.7-rustsec-2021-0026.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "src/tests.rs"
+ (("data:(png|jpeg|gif|webp)" all what)
+ (string-append "data:image/" what)))
+ #t))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-entities" ,rust-entities-1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-pest" ,rust-pest-2)
+ ("rust-pest-derive" ,rust-pest-derive-2)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-twoway" ,rust-twoway-0.2)
+ ("rust-typed-arena" ,rust-typed-arena-1)
+ ("rust-unicode-categories"
+ ,rust-unicode-categories-0.1))
+ #:cargo-development-inputs
+ (("rust-timebomb" ,rust-timebomb-0.1))))
+ (home-page "https://github.com/kivikakk/comrak")
+ (synopsis "Markdown parser and formatter")
+ (description "This package provides a parser and formatter for Github
+Flavored Markdown, that is compatible with CommonMark.")
+ (license license:bsd-2)))
+
(define-public rust-concurrent-queue-1
(package
(name "rust-concurrent-queue")
diff --git a/gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch b/gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch
new file mode 100644
index 0000000000..9a74b7b971
--- /dev/null
+++ b/gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch
@@ -0,0 +1,41 @@
+From 285e9647c6d2f90d8cb7af543b14c986a8efa631 Mon Sep 17 00:00:00 2001
+From: Asherah Connor <ashe@kivikakk.ee>
+Date: Fri, 12 Feb 2021 21:15:29 +1100
+Subject: [PATCH] SECURITY: match unsafe prefixes case-insensitively
+
+Many thanks to Kouhei Morita for reporting this.
+
+Co-authored-by: Kouhei Morita <mrtc0@ssrf.in>
+---
+ src/lexer.pest | 2 +-
+ src/tests.rs | 146 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 147 insertions(+), 1 deletion(-)
+
+diff --git a/src/lexer.pest b/src/lexer.pest
+index e97647c..7f6cd3f 100644
+--- a/src/lexer.pest
++++ b/src/lexer.pest
+@@ -55,4 +55,4 @@ table_start = { "|"? ~ table_marker ~ ("|" ~ table_marker)* ~ "|"? ~ table_space
+ table_cell_end = { "|" ~ table_spacechar* ~ table_newline? }
+ table_row_end = { table_spacechar* ~ table_newline }
+
+-dangerous_url = { "data:" ~ !("png" | "gif" | "jpeg" | "webp") | "javascript:" | "vbscript:" | "file:" }
++dangerous_url = { ^"data:" ~ !(^"image/" ~ (^"png" | ^"gif" | ^"jpeg" | ^"webp")) | ^"javascript:" | ^"vbscript:" | ^"file:" }
+diff --git a/src/tests.rs b/src/tests.rs
+index c61a493..5f3e0cc 100644
+--- a/src/tests.rs
++++ b/src/tests.rs
+@@ -998,3 +998,11 @@ fn description_lists() {
+ ),
+ );
+ }
++
++#[test]
++fn case_insensitive_safety() {
++ html(
++ "[a](javascript:a) [b](Javascript:b) [c](jaVascript:c) [d](data:xyz) [e](Data:xyz) [f](vbscripT:f) [g](FILE:g)\n",
++ "<p><a href=\"\">a</a> <a href=\"\">b</a> <a href=\"\">c</a> <a href=\"\">d</a> <a href=\"\">e</a> <a href=\"\">f</a> <a href=\"\">g</a></p>\n",
++ );
++}
+--
+2.30.1
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 08/52] gnu: Add rust-fragile-1.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-9-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-fragile-1): New variable.
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 2c39c8249e..a48e64bc14 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14308,6 +14308,26 @@ implementation that is more efficient for smaller hash keys.")
syntax, as used by HTML forms.")
(license (list license:expat license:asl2.0))))
+(define-public rust-fragile-1
+ (package
+ (name "rust-fragile")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fragile" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wlihmkjyhvl5rckal32p010piy1l15s6l81h7z31jcd971kk839"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/mitsuhiko/rust-fragile")
+ (synopsis "Wrapper types for sending non-send values to other threads")
+ (description "This package provides wrapper types for sending non-send
+values to other threads.")
+ (license license:asl2.0)))
+
(define-public rust-fragile-0.3
(package
(name "rust-fragile")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 19:46
[PATCH v2 09/52] gnu: rust-either-1: Update to 1.6.1.
(address . 44492@debbugs.gnu.org)
20210228184655.5159-10-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-either-1): Update to 1.6.1.
---
gnu/packages/crates-io.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index a48e64bc14..beb9234b47 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12320,7 +12320,7 @@ signing, and verification in pure Rust.")
(define-public rust-either-1
(package
(name "rust-either")
- (version "1.5.3")
+ (version "1.6.1")
(source
(origin
(method url-fetch)
@@ -12329,7 +12329,7 @@ signing, and verification in pure Rust.")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1qyz1b1acad6w0k5928jw5zaq900zhsk7p8dlcp4hh61w4f6n7xv"))))
+ "0mwl9vngqf5jvrhmhn9x60kr5hivxyjxbmby2pybncxfqhf4z3g7"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 10/52] gnu: Add rust-gspell-sys-0.4.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gspell-sys-0.4): New variable.
---
gnu/packages/crates-gtk.scm | 48 ++++++++++++++++++++++++++++++++++++-
1 file changed, 47 insertions(+), 1 deletion(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index ebe2a4e45b..4f61d52649 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -26,7 +26,8 @@
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
- #:use-module (gnu packages gtk))
+ #:use-module (gnu packages gtk)
+ #:use-module (gnu packages pkg-config))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -887,6 +888,51 @@
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-gspell-sys-0.4
+ (package
+ (name "rust-gspell-sys")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gspell-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07snannzd36wlms2x880ylkq7h1162g0kv9y54wlrc2nd11kjc2c"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gspell" ,(module-ref (resolve-module '(gnu packages gnome))
+ 'gspell))
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/gspell-rs")
+ (synopsis "Raw C-FFI bindings for gspell")
+ (description "This package provides raw C-FFI bindings for the gspell library.")
+ (license license:gpl3+)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 11/52] gnu: Add rust-gspell-0.4.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gspell-0.4): New variable.
---
gnu/packages/crates-gtk.scm | 66 ++++++++++++++++++++++++++++++++++++-
1 file changed, 65 insertions(+), 1 deletion(-)

Toggle diff (90 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 4f61d52649..e65bd4e46b 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -23,11 +23,13 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
+ #:use-module (gnu packages aspell)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
- #:use-module (gnu packages pkg-config))
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages xorg))
;;;
;;; Please: Try to add new module packages in alphabetic order.
@@ -933,6 +935,68 @@
(description "This package provides raw C-FFI bindings for the gspell library.")
(license license:gpl3+)))
+(define-public rust-gspell-0.4
+ (package
+ (name "rust-gspell")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gspell" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10wi6p6dhdqypfqlih18mrl7vgni7y64mrhdh5ymayp4d07djshk"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gio-sys" ,rust-gio-sys-0.9)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gspell-sys" ,rust-gspell-sys-0.4)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+
+ ;; Allow Enchant and its Aspell backend to find the en_US
+ ;; dictionary.
+ (setenv "ASPELL_DICT_DIR"
+ (string-append (assoc-ref inputs "aspell-dict-en")
+ "/lib/aspell"))
+ #t)))))
+ (native-inputs
+ `(("aspell-dict-en" ,aspell-dict-en)
+ ("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gspell" ,(module-ref (resolve-module '(gnu packages gnome))
+ 'gspell))
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page
+ "https://gitlab.gnome.org/World/Rust/gspell-rs")
+ (synopsis "Rust bindings for gspell")
+ (description "This package provides Rust bindings for the gspell spell
+checking library.")
+ (license license:gpl3+)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 12/52] gnu: Add rust-muldiv-0.2.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-muldiv-0.2): New variable.
---
gnu/packages/crates-io.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index beb9234b47..162251457f 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -23435,6 +23435,29 @@ checking.")
"Chaining APIs for both self -> Self and &mut self methods.")
(license license:expat)))
+(define-public rust-muldiv-0.2
+ (package
+ (name "rust-muldiv")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "muldiv" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "014jlry2l2ph56mp8knw65637hh49q7fmrraim2bx9vz0a638684"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-development-inputs
+ (("rust-quickcheck" ,rust-quickcheck-0.9))))
+ (home-page "https://github.com/sdroege/rust-muldiv")
+ (synopsis "Perform combined multiplication and division")
+ (description "This package provides a trait for numeric types to perform
+combined multiplication and division with overflow protection.")
+ (license license:expat)))
+
(define-public rust-multi-default-trait-impl-0.1
(package
(name "rust-multi-default-trait-impl")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 13/52] gnu: Add rust-gstreamer-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 41 +++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (61 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index e65bd4e46b..9f80896db9 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -27,6 +27,7 @@
#:use-module (gnu packages crates-io)
#:use-module (gnu packages crates-graphics)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg))
@@ -997,6 +998,46 @@
checking library.")
(license license:gpl3+)))
+(define-public rust-gstreamer-sys-0.8
+ (package
+ (name "rust-gstreamer-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1nsk802vlcyi9p93sg60wv8fzb2mq7j52lfdda4va2kxp40xl60x"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to GStreamer")
+ (description "This package provides FFI bindings to libgstreamer-1.0.")
+ (license license:expat)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 14/52] gnu: Add rust-gstreamer-0.15.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 50 +++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)

Toggle diff (63 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 9f80896db9..b8ccc3238e 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -998,6 +998,56 @@
checking library.")
(license license:gpl3+)))
+(define-public rust-gstreamer-0.15
+ (package
+ (name "rust-gstreamer")
+ (version "0.15.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0qx1fhr9ajms0128ixmi2ncr35llwppdb0z7ximw2vnd2jhn91nf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cfg-if" ,rust-cfg-if-0.1)
+ ("rust-futures-channel"
+ ,rust-futures-channel-0.3)
+ ("rust-futures-core" ,rust-futures-core-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-muldiv" ,rust-muldiv-0.2)
+ ("rust-num-rational" ,rust-num-rational-0.2)
+ ("rust-paste" ,rust-paste-0.1)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-serde-bytes" ,rust-serde-bytes-0.11)
+ ("rust-serde-derive" ,rust-serde-derive-1))
+ #:cargo-development-inputs
+ (("rust-futures-executor"
+ ,rust-futures-executor-0.3)
+ ("rust-ron" ,rust-ron-0.5)
+ ("rust-serde-json" ,rust-serde-json-1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer")
+ (description "This package provides Rust bindings for GStreamer.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-sys-0.8
(package
(name "rust-gstreamer-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 15/52] gnu: Add rust-gstreamer-base-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-6-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-base-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 41 +++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index b8ccc3238e..3cea5d80da 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1048,6 +1048,47 @@ checking library.")
(description "This package provides Rust bindings for GStreamer.")
(license (list license:expat license:asl2.0))))
+(define-public rust-gstreamer-base-sys-0.8
+ (package
+ (name "rust-gstreamer-base-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-base-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1v9v09jqjrwz87c4r7za3yb6g7had112d8zwjdjmhg2b2x94yf5s"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to glibgstbase-1.0")
+ (description "This package provides FFI bindings to libgstbase-1.0.")
+ (license license:expat)))
+
(define-public rust-gstreamer-sys-0.8
(package
(name "rust-gstreamer-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 16/52] gnu: Add rust-gstreamer-video-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-video-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 3cea5d80da..7541377e15 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1129,6 +1129,50 @@ checking library.")
(description "This package provides FFI bindings to libgstreamer-1.0.")
(license license:expat)))
+(define-public rust-gstreamer-video-sys-0.8
+ (package
+ (name "rust-gstreamer-video-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-video-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1k5prjimlrm5c68vk6wq1l9y440p5vskrq862rcb9x22z2c44pv1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; XXX: ABI mismatch
+ #:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstvideo-1.0")
+ (description "This package provides FFI bindings to libgstvideo-1.0.")
+ (license license:expat)))
+
(define-public rust-gtk-0.8
(package
(name "rust-gtk")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 17/52] gnu: Add rust-gstreamer-player-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-8-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-player-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 7541377e15..7d8378847a 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1089,6 +1089,50 @@ checking library.")
(description "This package provides FFI bindings to libgstbase-1.0.")
(license license:expat)))
+(define-public rust-gstreamer-player-sys-0.8
+ (package
+ (name "rust-gstreamer-player-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-player-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0g21c7yk1855k5qdyn0hcwa6v1dy9admipy8s7544d7d19rqmhww"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video-sys"
+ ,rust-gstreamer-video-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-bad" ,gst-plugins-bad)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstplayer-1.0")
+ (description "This package provides FFI bindings to libgstplayer-1.0.")
+ (license license:expat)))
+
(define-public rust-gstreamer-sys-0.8
(package
(name "rust-gstreamer-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 18/52] gnu: Add rust-gstreamer-base-0.15.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-9-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-base-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 7d8378847a..463862567d 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1048,6 +1048,43 @@ checking library.")
(description "This package provides Rust bindings for GStreamer.")
(license (list license:expat license:asl2.0))))
+(define-public rust-gstreamer-base-0.15
+ (package
+ (name "rust-gstreamer-base")
+ (version "0.15.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-base" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "04hwa85j3w959i025il908bvsx6dyiawkmc0w45hn9kcrisjyma2"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer Base")
+ (description "This package provides Rust bindings for the base library of
+GStreamer.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-base-sys-0.8
(package
(name "rust-gstreamer-base-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 20:33
[PATCH v2 19/52] gnu: Add rust-gstreamer-video-0.15.
(address . 44492@debbugs.gnu.org)
20210228193334.6427-10-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-video-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 463862567d..50f8725fbb 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1210,6 +1210,50 @@ GStreamer.")
(description "This package provides FFI bindings to libgstreamer-1.0.")
(license license:expat)))
+(define-public rust-gstreamer-video-0.15
+ (package
+ (name "rust-gstreamer-video")
+ (version "0.15.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-video" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jaday8gsmhixv5k78wxcsricmvqfsip486750ad8ih2jjdfdmqa"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-futures-channel"
+ ,rust-futures-channel-0.3)
+ ("rust-futures-util" ,rust-futures-util-0.3)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-base" ,rust-gstreamer-base-0.15)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video-sys"
+ ,rust-gstreamer-video-sys-0.8)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer video")
+ (description "This package provides Rust bindings for the video library of
+GStreamer.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-video-sys-0.8
(package
(name "rust-gstreamer-video-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 20/52] gnu: Add rust-gstreamer-player-0.15.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-player-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 50f8725fbb..6b1e7b0715 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1126,6 +1126,46 @@ GStreamer.")
(description "This package provides FFI bindings to libgstbase-1.0.")
(license license:expat)))
+(define-public rust-gstreamer-player-0.15
+ (package
+ (name "rust-gstreamer-player")
+ (version "0.15.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-player" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "167nv3s6pwr746gjm2i0vd6ygfmbp80hi4wm46lly3jgciy4kcq4"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-player-sys"
+ ,rust-gstreamer-player-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video"
+ ,rust-gstreamer-video-0.15)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-bad" ,gst-plugins-bad))) ; for -lgstplayer-1.0
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer player")
+ (description "This package provides Rust bindings for the player library of
+GStreamer.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-player-sys-0.8
(package
(name "rust-gstreamer-player-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 21/52] gnu: Add rust-gstreamer-audio-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-audio-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 6b1e7b0715..9f127b3893 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1048,6 +1048,51 @@ checking library.")
(description "This package provides Rust bindings for GStreamer.")
(license (list license:expat license:asl2.0))))
+(define-public rust-gstreamer-audio-sys-0.8
+ (package
+ (name "rust-gstreamer-audio-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-audio-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rxw1s57yrw1zsbindaf2sj05df4qh17bshadqfw77y4xr9izjdv"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build?
+ #t
+ #:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-base-sys"
+ ,rust-gstreamer-base-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstaudio-1.0")
+ (description "This package provides FFI bindings to libgstaudio-1.0.")
+ (license license:expat)))
+
(define-public rust-gstreamer-base-0.15
(package
(name "rust-gstreamer-base")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 22/52] gnu: Add rust-gstreamer-pbutils-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-pbutils-sys-0.8): New variable.
---
gnu/packages/crates-gtk.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 9f127b3893..3469e4e697 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1171,6 +1171,51 @@ GStreamer.")
(description "This package provides FFI bindings to libgstbase-1.0.")
(license license:expat)))
+(define-public rust-gstreamer-pbutils-sys-0.8
+ (package
+ (name "rust-gstreamer-pbutils-sys")
+ (version "0.8.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-pbutils-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1s4dgmq9ai1jz5w5vllji8087khw7hja97hii4lgl29figkakdsf"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer-audio-sys"
+ ,rust-gstreamer-audio-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-gstreamer-video-sys"
+ ,rust-gstreamer-video-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "CC" (which "gcc"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "FFI bindings to libgstpbutils-1.0")
+ (description "This package provides FFI bindings to libgstpbutils-1.0.")
+ (license license:expat)))
+
(define-public rust-gstreamer-player-0.15
(package
(name "rust-gstreamer-player")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 23/52] gnu: Add rust-gstreamer-pbutils-0.15.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gstreamer-pbutils-0.15): New variable.
---
gnu/packages/crates-gtk.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 3469e4e697..c65b2aea12 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1171,6 +1171,43 @@ GStreamer.")
(description "This package provides FFI bindings to libgstbase-1.0.")
(license license:expat)))
+(define-public rust-gstreamer-pbutils-0.15
+ (package
+ (name "rust-gstreamer-pbutils")
+ (version "0.15.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gstreamer-pbutils" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1q8hv8i41mwhr84ydwlv7qspf49s5i7pz3lnjwl0l9gyp2anq97d"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-pbutils-sys"
+ ,rust-gstreamer-pbutils-sys-0.8)
+ ("rust-gstreamer-sys" ,rust-gstreamer-sys-0.8)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-rustdoc-stripper"
+ ,rust-rustdoc-stripper-0.1))))
+ (inputs
+ `(("glib" ,glib)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)))
+ (home-page "https://gstreamer.freedesktop.org")
+ (synopsis "Rust bindings for GStreamer base utils")
+ (description "This package provides Rust bindings for the pb_utils library
+of GStreamer.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-gstreamer-pbutils-sys-0.8
(package
(name "rust-gstreamer-pbutils-sys")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 24/52] gnu: Add rust-markup5ever-rcdom-0.1.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-markup5ever-rcdom-0.1): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 162251457f..b741e6c7c1 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22184,6 +22184,35 @@ platform-independently.")
(base32
"08ayl9aqjnmf7ly1ipy6dk3wjvyfn4w51l40jzh1fh984ykldbzi"))))))
+(define-public rust-markup5ever-rcdom-0.1
+ (package
+ (name "rust-markup5ever-rcdom")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "markup5ever_rcdom" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0axf6vrms8579lvhbjaj0v7bhs8xb7s26d4sam2g3m6qpi1xl5gh"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; Some test files not included in release.
+ #:cargo-inputs
+ (("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-markup5ever" ,rust-markup5ever-0.10)
+ ("rust-tendril" ,rust-tendril-0.4)
+ ("rust-xml5ever" ,rust-xml5ever-0.16))
+ #:cargo-development-inputs
+ (("rust-rustc-test" ,rust-rustc-test-0.3))))
+ (home-page "https://github.com/servo/html5ever")
+ (synopsis "html5ever test DOM structure")
+ (description "This package provides a basic DOM structure for use by tests
+in html5ever/xml5ever. It is not supposed to be used in user-facing code.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-match-cfg-0.1
(package
(name "rust-match-cfg")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 25/52] gnu: Add rust-ammonia-3.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-6-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ammonia-3): New variable.
---
gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index b741e6c7c1..78f6a2d8d8 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1700,6 +1700,40 @@ options to use calloc or a mutable global variable for pre-zeroed memory.")
be used with the stdlib.")
(license license:bsd-3)))
+(define-public rust-ammonia-3
+ (package
+ (name "rust-ammonia")
+ (version "3.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ammonia" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fzaj1fx3yhz2qd47gfvz7n8xjrnn37w2hp4qlyzpczlf18wisl9"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-maplit" ,rust-maplit-1)
+ ("rust-markup5ever-rcdom"
+ ,rust-markup5ever-rcdom-0.1)
+ ("rust-matches" ,rust-matches-0.1)
+ ("rust-tendril" ,rust-tendril-0.4)
+ ("rust-url" ,rust-url-2))
+ #:cargo-development-inputs
+ (("rust-version-sync" ,rust-version-sync-0.8))))
+ (home-page "https://github.com/rust-ammonia/ammonia")
+ (synopsis "HTML Sanitization")
+ (description "Ammonia is a whitelist-based HTML sanitization library.
+It is designed to prevent cross-site scripting, layout breaking, and
+clickjacking caused by untrusted user-provided HTML being mixed into a larger
+web page.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-android-glue-0.2
(package
(name "rust-android-glue")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 26/52] gnu: Add rust-html2pango-0.3.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-html2pango-0.3): New variable.
---
gnu/packages/crates-gtk.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index c65b2aea12..b7eb62b0d3 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1569,6 +1569,40 @@ GStreamer.")
(description "This package provides FFI bindings to libgtk-3.")
(license license:expat)))
+(define-public rust-html2pango-0.3
+ (package
+ (name "rust-html2pango")
+ (version "0.3.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "html2pango" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0f0phim3bgmq0gcsvm9q8674190d5v5idlsqyxykxjf36d02i6s6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-ammonia" ,rust-ammonia-3)
+ ("rust-anyhow" ,rust-anyhow-1)
+ ("rust-html5ever" ,rust-html5ever-0.25)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-linkify" ,rust-linkify-0.4)
+ ("rust-maplit" ,rust-maplit-1)
+ ("rust-markup5ever-rcdom"
+ ,rust-markup5ever-rcdom-0.1)
+ ("rust-regex" ,rust-regex-1))
+ #:cargo-development-inputs
+ (("rust-pretty-assertions"
+ ,rust-pretty-assertions-0.6))))
+ (home-page "https://gitlab.gnome.org/World/html2pango")
+ (synopsis "Convert HTML to pango.")
+ (description "html2pango converts html tags to Pango markup. It also
+converts raw links to http links and strips unwanted tags.")
+ (license license:gpl3)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 27/52] gnu: Add rust-pangocairo-sys-0.11.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-8-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-pangocairo-sys-0.11): New variable.
---
gnu/packages/crates-gtk.scm | 53 ++++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 6 deletions(-)

Toggle diff (79 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index b7eb62b0d3..42bfadb54b 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1805,8 +1805,54 @@ converts raw links to http links and strips unwanted tags.")
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
+(define-public rust-pangocairo-sys-0.11
+ (package
+ (name "rust-pangocairo-sys")
+ (version "0.11.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pangocairo-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "167b1z6ns3lw1dqfq3mnhmknf7isi5vacp2fp0rh4bwcd5zwkk4l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (home-page "https://gtk-rs.org/")
+ (synopsis "FFI bindings to pangocairo")
+ (description "This package provides FFI bindings to pangocairo.")
+ (license license:expat)))
+
(define-public rust-pangocairo-sys-0.10
(package
+ (inherit rust-pangocairo-sys-0.11)
(name "rust-pangocairo-sys")
(version "0.10.1")
(source
@@ -1818,7 +1864,6 @@ converts raw links to http links and strips unwanted tags.")
(sha256
(base32
"1zlyf5vajarnxg5034b8qa5w5zajv96lfvlgiki26svpmcqip4m3"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.9)
@@ -1830,8 +1875,4 @@ converts raw links to http links and strips unwanted tags.")
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
- `(("gtk+" ,gtk+)))
- (home-page "https://gtk-rs.org/")
- (synopsis "FFI bindings to libgtk-3")
- (description "This package provides FFI bindings to libgtk-3.")
- (license license:expat)))
+ `(("gtk+" ,gtk+)))))
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 28/52] gnu: Add rust-pangocairo-0.10.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-9-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-pangocairo-0.10): New variable.
---
gnu/packages/crates-gtk.scm | 61 ++++++++++++++++++++++++++++++++-----
1 file changed, 54 insertions(+), 7 deletions(-)

Toggle diff (90 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 42bfadb54b..d187b098c7 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1738,8 +1738,61 @@ converts raw links to http links and strips unwanted tags.")
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-pangocairo-0.10
+ (package
+ (name "rust-pangocairo")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "pangocairo" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "10z8hlc82984nwvy5pnyh95ls9s5r1qrlkpn14zh4pjsl1ksxx80"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-rs-lgpl-docs"
+ ,rust-gtk-rs-lgpl-docs-0.1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-pangocairo-sys" ,rust-pangocairo-sys-0.11))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "Rust bindings for the PangoCairo library")
+ (description
+ "Rust bindings for the PangoCairo library.")
+ (license license:expat)))
+
(define-public rust-pangocairo-0.9
(package
+ (inherit rust-pangocairo-0.10)
(name "rust-pangocairo")
(version "0.9.0")
(source
@@ -1751,7 +1804,6 @@ converts raw links to http links and strips unwanted tags.")
(sha256
(base32
"0bap3h78hdqdyln58349qjjbcv45m8a0a16c4n9fprdj1my0gldx"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-bitflags" ,rust-bitflags-1)
@@ -1768,12 +1820,7 @@ converts raw links to http links and strips unwanted tags.")
#:cargo-development-inputs
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(inputs
- `(("gtk+" ,gtk+)))
- (home-page "http://gtk-rs.org/")
- (synopsis "Rust bindings for the PangoCairo library")
- (description
- "Rust bindings for the PangoCairo library.")
- (license license:expat)))
+ `(("gtk+" ,gtk+)))))
(define-public rust-pangocairo-0.8
(package
--
2.30.1
L
L
Leo Prikler wrote on 28 Feb 2021 23:37
[PATCH v2 29/52] gnu: Add rust-letter-avatar-1.
(address . 44492@debbugs.gnu.org)
20210228223749.12444-10-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-letter-avatar-1): New variable.
---
gnu/packages/crates-gtk.scm | 43 +++++++++++++++++++++++++++++++++++++
1 file changed, 43 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index d187b098c7..c847535ec2 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1603,6 +1603,49 @@ GStreamer.")
converts raw links to http links and strips unwanted tags.")
(license license:gpl3)))
+(define-public rust-letter-avatar-1
+ (package
+ (name "rust-letter-avatar")
+ (version "1.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "letter-avatar" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0if2mihpxn4xissv68qciqn5vywy0kl0sx9hcyrhd70s2fyn09k6"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-pangocairo" ,rust-pangocairo-0.10)
+ ("rust-unicode-segmentation"
+ ,rust-unicode-segmentation-1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("cairo" ,cairo)
+ ("glib" ,glib)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/jsparber/letter-avatar")
+ (synopsis "Generate user avatars")
+ (description "This package provides a user avatar generator based, that
+renders username initials.")
+ (license license:gpl3+)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 30/52] gnu: Add rust-libhandy-sys-0.5.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-libhandy-sys-0.5): New variable.
---
gnu/packages/crates-gtk.scm | 44 +++++++++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+)

Toggle diff (57 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index c847535ec2..d43669c9da 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1646,6 +1646,50 @@ converts raw links to http links and strips unwanted tags.")
renders username initials.")
(license license:gpl3+)))
+(define-public rust-libhandy-sys-0.5
+ (package
+ (name "rust-libhandy-sys")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libhandy-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ih4ws1d9n4qp4rwgsfilklgchqq3prnrb7h3avik1wi5s2ay1yp"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gio-sys" ,rust-gio-sys-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.9)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,(module-ref (resolve-interface '(gnu packages gnome))
+ 'libhandy-0.0))
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/libhandy-rs")
+ (synopsis "FFI bindings for libhandy")
+ (description "This package provides raw FFI bindings to libhandy.")
+ (license license:gpl3+)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 31/52] gnu: Add rust-libhandy-0.5.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-libhandy-0.5): New variable.
---
gnu/packages/crates-gtk.scm | 54 +++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index d43669c9da..69277fd208 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1690,6 +1690,60 @@ renders username initials.")
(description "This package provides raw FFI bindings to libhandy.")
(license license:gpl3+)))
+(define-public rust-libhandy-0.5
+ (package
+ (name "rust-libhandy")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "libhandy" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "01zska4i6641pj8d9gcc2kclx5vvsbbyfpv4rn5kahs11rigba9a"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gio-sys" ,rust-gio-sys-0.9)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-libhandy-sys" ,rust-libhandy-sys-0.5)
+ ("rust-pango" ,rust-pango-0.8))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("libhandy" ,(module-ref (resolve-interface '(gnu packages gnome))
+ 'libhandy-0.0))
+ ("pango" ,pango)))
+ (home-page
+ "https://gitlab.gnome.org/World/Rust/libhandy-rs")
+ (synopsis "Rust bindings for libhandy")
+ (description "This package provides Rust bindings for libhandy.")
+ (license license:gpl3+)))
+
(define-public rust-pango-0.9
(package
(name "rust-pango")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 33/52] gnu: Add rust-lmdb-sys-0.8.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-lmdb-sys-0.8): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index f806afa5a7..78b4c0b903 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21446,6 +21446,30 @@ punctuation.")
(license (list license:asl2.0
license:expat))))
+(define-public rust-lmdb-sys-0.8
+ (package
+ (name "rust-lmdb-sys")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "lmdb-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1scc28phjcywr9jq78d01g35rig8l2bwydxcdzl5i27yij1r5cym"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cc" ,rust-cc-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))))
+ (home-page "https://github.com/danburkert/lmdb-rs.git")
+ (synopsis "Rust bindings for liblmdb")
+ (description "This package provides Rust bindings for liblmdb.")
+ (license license:asl2.0)))
+
(define-public rust-lmdb-rkv-0.14
(package
(name "rust-lmdb-rkv")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 34/52] gnu: Add rust-lmdb-0.8.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-lmdb-0.8): New variable.
---
gnu/packages/crates-io.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 78b4c0b903..144e8ad3b7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21470,6 +21470,35 @@ punctuation.")
(description "This package provides Rust bindings for liblmdb.")
(license license:asl2.0)))
+(define-public rust-lmdb-0.8
+ (package
+ (name "rust-lmdb")
+ (version "0.8.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "lmdb" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0fc54in9i27v1gpxncay5s85lqx27m0r2vyrfylnljfnnpphh2av"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; use of unstable feature
+ #:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-lmdb-sys" ,rust-lmdb-sys-0.8))
+ #:cargo-development-inputs
+ (("rust-byteorder" ,rust-byteorder-1)
+ ("rust-rand" ,rust-rand-0.8)
+ ("rust-tempdir" ,rust-tempdir-0.3))))
+ (home-page "https://github.com/danburkert/lmdb-rs.git")
+ (synopsis "LMDB wrapper")
+ (description "This package provides an idiomatic Rust wrapper for LMDB.")
+ (license license:asl2.0)))
+
(define-public rust-lmdb-rkv-0.14
(package
(name "rust-lmdb-rkv")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 32/52] gnu: Add rust-loggerv-0.7.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-loggerv-0.7): New variable.
---
gnu/packages/crates-io.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 78f6a2d8d8..f806afa5a7 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -21699,6 +21699,41 @@ by inspecting the system for user preference.")
`(#:cargo-inputs
(("rust-log" ,rust-log-0.4))))))
+(define-public rust-loggerv-0.7
+ (package
+ (name "rust-loggerv")
+ (version "0.7.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "loggerv" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0x6k903wpm557fkcbr5isgh4yqkkbzw4fm7hwyy61rvimqaxxn30"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-ansi-term" ,rust-ansi-term-0.12)
+ ("rust-atty" ,rust-atty-0.2)
+ ("rust-log" ,rust-log-0.4))
+ #:cargo-development-inputs
+ (("rust-clap" ,rust-clap-2))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-tests
+ (lambda _
+ (substitute* "src/lib.rs"
+ (("assert_eq!\\(logger\\.colors, DEFAULT_COLORS\\);" all)
+ (string-append "// " all)))
+ #t)))))
+ (home-page "https://github.com/clux/loggerv")
+ (synopsis "Logger with colors")
+ (description "This package provides a simple log implementation that logs
+to stdout and stderr with colors.")
+ (license license:expat)))
+
(define-public rust-logtest-2
(package
(name "rust-logtest")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 35/52] gnu: Add rust-mdl-1.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-6-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-mdl-1): New variable.
---
gnu/packages/crates-io.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 144e8ad3b7..9c57cb9728 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -22593,6 +22593,34 @@ compression function.")
(supported-systems '("x86_64-linux" "i686-linux"))
(license license:expat)))
+(define-public rust-mdl-1
+ (package
+ (name "rust-mdl")
+ (version "1.0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "mdl" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1mavphw0ynhggm310rbldzifcrc507jax1nzwrmj4cz1xv7vw24l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-bincode" ,rust-bincode-1)
+ ("rust-lmdb" ,rust-lmdb-0.8)
+ ("rust-serde" ,rust-serde-1))))
+ (home-page "https://gitlab.gnome.org/danigm/mdl")
+ (synopsis "Data model library")
+ (description "This package provides a data model library to share app state
+between threads and process and persist the data in the filesystem. It
+implements a way to store structs instances in an LMDB database and other
+methods like BTreeMap.")
+ (license license:gpl3)))
+
(define-public rust-measureme-0.7
(package
(name "rust-measureme")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 36/52] gnu: Add rust-aes-soft-0.6.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-aes-soft-0.6): New variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9c57cb9728..23e75184e9 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1238,6 +1238,30 @@ acceleration.")
("rust-subtle" ,rust-subtle-2)
("rust-zeroize" ,rust-zeroize-1))))))
+(define-public rust-aes-soft-0.6
+ (package
+ (name "rust-aes-soft")
+ (version "0.6.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aes-soft" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wj0fi2pvmlw09yvb1aqf0mfkzrfxmjsf90finijh255ir4wf55y"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cipher" ,rust-cipher-0.2)
+ ("rust-opaque-debug" ,rust-opaque-debug-0.3))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Bit-sliced implementation of AES (Rijndael) block ciphers")
+ (description "This package provides a bit-sliced implementation of
+AES (Rijndael) block ciphers.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-aes-soft-0.4
(package
(name "rust-aes-soft")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 37/52] gnu: Add rust-aesni-0.10.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-8-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-aesni-0.10): New variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 23e75184e9..9f63b5ae82 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1307,6 +1307,31 @@ AES (Rijndael) block ciphers.")
("rust-byteorder" ,rust-byteorder-1)
("rust-opaque-debug" ,rust-opaque-debug-0.2))))))
+(define-public rust-aesni-0.10
+ (package
+ (name "rust-aesni")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aesni" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1kmh07fp9hbi1aa8dr2rybbgw8vqz6hjmk34c4w7sbscx7si2bpa"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-cipher" ,rust-cipher-0.2)
+ ("rust-opaque-debug" ,rust-opaque-debug-0.3))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "AES (Rijndael) block ciphers implementation using AES-NI")
+ (description "This package provides an implementation of AES (Rijndael)
+block ciphers using AES-NI.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-aesni-0.7
(package
(name "rust-aesni")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 38/52] gnu: Add rust-aes-0.6.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-9-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-aes-0.6): New variable.
---
gnu/packages/crates-io.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 9f63b5ae82..45072e61b2 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -1137,6 +1137,31 @@ with Associated Data (AEAD) algorithms.")
(("rust-generic-array" ,rust-generic-array-0.12)
("rust-heapless" ,rust-heapless-0.5))))))
+(define-public rust-aes-0.6
+ (package
+ (name "rust-aes")
+ (version "0.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "aes" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0q85mw70mgr4glza9y9lrs9nxfa1cdcqzfk6wx0smb3623pr2hw8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-aes-soft" ,rust-aes-soft-0.6)
+ ("rust-aesni" ,rust-aesni-0.10)
+ ("rust-cipher" ,rust-cipher-0.2))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Facade for AES (Rijndael) block ciphers implementations")
+ (description "This package provides a facade for AES (Rijndael) block
+ciphers implementations.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-aes-0.4
(package
(name "rust-aes")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 08:50
[PATCH v2 39/52] gnu: Add rust-block-modes-0.7.
(address . 44492@debbugs.gnu.org)
20210301075017.22715-10-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-block-modes-0.7): New variable.
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 45072e61b2..61c636c02e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -5094,6 +5094,33 @@ algorithms. This package is deprecated. Please use block-cipher instead.")
`(#:cargo-inputs
(("rust-generic-array" ,rust-generic-array-0.8))))))
+(define-public rust-block-modes-0.7
+ (package
+ (name "rust-block-modes")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "block-modes" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1w3jc3n7k4xq98b9mfina4wwpg1fq1s3b0mm5whqialb7q3yi82p"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-block-padding" ,rust-block-padding-0.2)
+ ("rust-cipher" ,rust-cipher-0.2))
+ #:cargo-development-inputs
+ (("rust-aes" ,rust-aes-0.6)
+ ("rust-hex-literal" ,rust-hex-literal-0.2)
+ ("rust-tempdir" ,rust-tempdir-0.3))))
+ (home-page "https://github.com/RustCrypto/block-ciphers")
+ (synopsis "Block cipher modes of operation")
+ (description "This packagee provides block cipher operation modes.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-block-padding-0.2
(package
(name "rust-block-padding")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 40/52] gnu: Add rust-hmac-0.10.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-hmac-0.10): New variable.
---
gnu/packages/crates-io.scm | 39 ++++++++++++++++++++++++++++++--------
1 file changed, 31 insertions(+), 8 deletions(-)

Toggle diff (68 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 61c636c02e..699a954b9e 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17698,8 +17698,38 @@ Derivation Function (HKDF).")
(("rust-digest" ,rust-digest-0.8)
("rust-hmac" ,rust-hmac-0.7))))))
+(define-public rust-hmac-0.10
+ (package
+ (name "rust-hmac")
+ (version "0.10.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hmac" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "058yxq54x7xn0gk2vy9bl51r32c9z7qlcl2b80bjh3lk3rmiqi61"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-crypto-mac" ,rust-crypto-mac-0.10)
+ ("rust-digest" ,rust-digest-0.9))
+ #:cargo-development-inputs
+ (("rust-crypto-mac" ,rust-crypto-mac-0.8)
+ ("rust-md-5" ,rust-md-5-0.9)
+ ("rust-sha2" ,rust-sha2-0.9))))
+ (home-page "https://github.com/RustCrypto/MACs")
+ (synopsis "Generic implementation of Hash-based Message Authentication Code")
+ (description
+ "This package provides a generic implementation of @acronym{HMAC,
+Hash-based Message Authentication Code}.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-hmac-0.8
(package
+ (inherit rust-hmac-0.10)
(name "rust-hmac")
(version "0.8.1")
(source
@@ -17711,7 +17741,6 @@ Derivation Function (HKDF).")
(sha256
(base32
"0h48wc7iysh4xd6ci4prh8bb7nszijrh9w3blaaq8a6cilk8hs0j"))))
- (build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-crypto-mac" ,rust-crypto-mac-0.8)
@@ -17719,13 +17748,7 @@ Derivation Function (HKDF).")
#:cargo-development-inputs
(("rust-crypto-mac" ,rust-crypto-mac-0.8)
("rust-md-5" ,rust-md-5-0.9)
- ("rust-sha2" ,rust-sha2-0.9))))
- (home-page "https://github.com/RustCrypto/MACs")
- (synopsis "Generic implementation of Hash-based Message Authentication Code")
- (description
- "This package provides a generic implementation of @acronym{HMAC,
-Hash-based Message Authentication Code}.")
- (license (list license:expat license:asl2.0))))
+ ("rust-sha2" ,rust-sha2-0.9))))))
(define-public rust-hmac-0.7
(package
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 41/52] gnu: Add rust-hkdf-0.10.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-hkdf-0.10): New variable.
---
gnu/packages/crates-io.scm | 38 ++++++++++++++++++++++++++++++++------
1 file changed, 32 insertions(+), 6 deletions(-)

Toggle diff (73 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 699a954b9e..2686eb9f3b 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -17651,23 +17651,24 @@ compile time.")
`(#:cargo-inputs
(("rust-proc-macro-hack" ,rust-proc-macro-hack-0.4))))))
-(define-public rust-hkdf-0.9
+(define-public rust-hkdf-0.10
(package
(name "rust-hkdf")
- (version "0.9.0")
+ (version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "hkdf" version))
- (file-name (string-append name "-" version ".tar.gz"))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1jdvmf8aadk3s0kn9kk3dj00nprjk9glks5f8dm55r43af34j4gy"))))
+ "0kwn3scjvv2x8zc6nz3wrnzxp9shpsdxnjqiyv2r65r3kiijzasi"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-digest" ,rust-digest-0.9)
- ("rust-hmac" ,rust-hmac-0.8))
+ ("rust-hmac" ,rust-hmac-0.10))
#:cargo-development-inputs
(("rust-bencher" ,rust-bencher-0.1)
("rust-crypto-tests" ,rust-crypto-tests-0.5)
@@ -17676,10 +17677,35 @@ compile time.")
("rust-sha2" ,rust-sha2-0.9))))
(home-page "https://github.com/RustCrypto/KDFs/")
(synopsis "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)")
- (description "This package provides a HMAC-based Extract-and-Expand Key
+ (description "This package provides an HMAC-based Extract-and-Expand Key
Derivation Function (HKDF).")
(license (list license:expat license:asl2.0))))
+(define-public rust-hkdf-0.9
+ (package
+ (inherit rust-hkdf-0.10)
+ (name "rust-hkdf")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "hkdf" version))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jdvmf8aadk3s0kn9kk3dj00nprjk9glks5f8dm55r43af34j4gy"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-digest" ,rust-digest-0.9)
+ ("rust-hmac" ,rust-hmac-0.8))
+ #:cargo-development-inputs
+ (("rust-bencher" ,rust-bencher-0.1)
+ ("rust-crypto-tests" ,rust-crypto-tests-0.5)
+ ("rust-hex" ,rust-hex-0.4)
+ ("rust-sha-1" ,rust-sha-1-0.9)
+ ("rust-sha2" ,rust-sha2-0.9))))))
+
(define-public rust-hkdf-0.8
(package
(inherit rust-hkdf-0.9)
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 42/52] gnu: Add rust-dbus-0.2.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-dbus-0.2): New variable.
---
gnu/packages/crates-gtk.scm | 40 +++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 69277fd208..72140279f1 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -228,6 +228,46 @@
("rust-x11" ,rust-x11-2)
("rust-pkg-config" ,rust-pkg-config-0.3))))))
+(define-public rust-dbus-0.2
+ (package
+ (name "rust-dbus")
+ (version "0.2.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "dbus" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0b85dl7y396g8xh1xh89wxnb1fvvf840dar9axavfhhhlq7c385l"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; XXX: fatal warnings are still fatal
+ #:cargo-inputs
+ (("rust-libc" ,rust-libc-0.2))
+ #:cargo-development-inputs
+ (("rust-tempdir" ,rust-tempdir-0.3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("dbus" ,dbus)))
+ (home-page "https://github.com/diwic/dbus-rs")
+ (synopsis "Rust bindings to D-Bus")
+ (description "This package provides Rust bindings to D-Bus, a bus commonly
+used for inter-process communication.")
+ (license (list license:asl2.0 license:expat))))
+
(define-public rust-gdk-0.13
(package
(name "rust-gdk")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 43/52] gnu: Add rust-secret-service-1.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-secret-service-1): New variable.
---
gnu/packages/crates-gtk.scm | 45 +++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 72140279f1..dba3fb8cfd 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2104,3 +2104,48 @@ renders username initials.")
("rust-tempfile" ,rust-tempfile-3))))
(inputs
`(("gtk+" ,gtk+)))))
+
+(define-public rust-secret-service-1
+ (package
+ (name "rust-secret-service")
+ (version "1.1.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "secret-service" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "12hxz35i7sw5xsdldz1c6776fmz98z4dwh5779jis98w61020xbd"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; XXX: see rust-dbus
+ #:cargo-inputs
+ (("rust-aes" ,rust-aes-0.6)
+ ("rust-block-modes" ,rust-block-modes-0.7)
+ ("rust-dbus" ,rust-dbus-0.2)
+ ("rust-hkdf" ,rust-hkdf-0.10)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-num" ,rust-num-0.3)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-sha2" ,rust-sha2-0.9))
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Tests require a running X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ ;; For the missing /etc/machine-id.
+ (setenv "DBUS_FATAL_WARNINGS" "0")
+ #t)))))
+ (native-inputs
+ `(("xorg-server" ,xorg-server-for-tests)))
+ (inputs
+ `(("dbus" ,dbus)))
+ (home-page "https://github.com/hwchen/secret-service-rs.git")
+ (synopsis "Secret Service interface")
+ (description "This package provides a Rust library to interface with
+the Secret Service API")
+ (license (list license:expat license:asl2.0))))
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 44/52] gnu: Add rust-atk-sys-0.10.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-atk-sys-0.10): New variable.
---
gnu/packages/crates-gtk.scm | 53 +++++++++++++++++++++++++++++++------
1 file changed, 45 insertions(+), 8 deletions(-)

Toggle diff (75 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index dba3fb8cfd..fafd1d977e 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -36,8 +36,52 @@
;;; Please: Try to add new module packages in alphabetic order.
;;;
+(define-public rust-atk-sys-0.10
+ (package
+ (name "rust-atk-sys")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "atk-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1knzvq2jdkx1nav619jbqsx2ivzh901rsp2wl57wr50x2fpy8c7m"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("glib" ,glib)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "FFI bindings to libatk-1")
+ (description "FFI bindings to libatk-1")
+ (license license:expat)))
+
(define-public rust-atk-sys-0.9
(package
+ (inherit rust-atk-sys-0.10)
(name "rust-atk-sys")
(version "0.9.1")
(source
@@ -57,14 +101,7 @@
("rust-pkg-config" ,rust-pkg-config-0.3))
#:cargo-development-inputs
(("rust-shell-words" ,rust-shell-words-0.1)
- ("rust-tempfile" ,rust-tempfile-3))))
- (inputs
- `(("atk" ,atk)
- ("glib" ,glib)))
- (home-page "http://gtk-rs.org/")
- (synopsis "FFI bindings to libatk-1")
- (description "FFI bindings to libatk-1")
- (license license:expat)))
+ ("rust-tempfile" ,rust-tempfile-3))))))
(define-public rust-atk-0.8
(package
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 45/52] gnu: Add rust-atk-0.9.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-6-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-atk-0.9): New variable.
---
gnu/packages/crates-gtk.scm | 53 +++++++++++++++++++++++++++++++++----
1 file changed, 48 insertions(+), 5 deletions(-)

Toggle diff (75 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index fafd1d977e..6336d1675c 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -103,8 +103,55 @@
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))))
+(define-public rust-atk-0.9
+ (package
+ (name "rust-atk")
+ (version "0.9.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "atk" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "09n46zp8jgxspdzhmi93cag79jjnr0ila94n8nr53g8hw88ljaw1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-atk-sys" ,rust-atk-sys-0.10)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-rs-lgpl-docs"
+ ,rust-gtk-rs-lgpl-docs-0.1)
+ ("rust-libc" ,rust-libc-0.2))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("glib" ,glib)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "Rust bindings for the ATK library")
+ (description "Rust bindings for the ATK library")
+ (license license:expat)))
+
(define-public rust-atk-0.8
(package
+ (inherit rust-atk-0.9)
(name "rust-atk")
(version "0.8.0")
(source
@@ -128,11 +175,7 @@
(("rust-gir-format-check" ,rust-gir-format-check-0.1))))
(inputs
`(("atk" ,atk)
- ("glib" ,glib)))
- (home-page "http://gtk-rs.org/")
- (synopsis "Rust bindings for the ATK library")
- (description "Rust bindings for the ATK library")
- (license license:expat)))
+ ("glib" ,glib)))))
(define-public rust-cairo-rs-0.9
(package
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 46/52] gnu: Add rust-gtk-sys-0.10.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gtk-sys-0.10): New variable.
---
gnu/packages/crates-gtk.scm | 60 +++++++++++++++++++++++++++++++++----
1 file changed, 55 insertions(+), 5 deletions(-)

Toggle diff (82 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 6336d1675c..0d6342be12 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1654,8 +1654,62 @@ GStreamer.")
"LGPL-licensed docs for Gtk-rs crates.")
(license license:lgpl2.0)))
+(define-public rust-gtk-sys-0.10
+ (package
+ (name "rust-gtk-sys")
+ (version "0.10.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0mq4i161kk6dwiz19ayxgm9fhx7n3r5lm9lbjiyk0qs811pxmb49"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:tests? #f ; TODO: ABI mismatch
+ #:cargo-inputs
+ (("rust-atk-sys" ,rust-atk-sys-0.10)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.10)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "FFI bindings to libgtk-3")
+ (description "This package provides FFI bindings to libgtk-3.")
+ (license license:expat)))
+
(define-public rust-gtk-sys-0.9
(package
+ (inherit rust-gtk-sys-0.10)
(name "rust-gtk-sys")
(version "0.9.2")
(source
@@ -1683,11 +1737,7 @@ GStreamer.")
(("rust-shell-words" ,rust-shell-words-0.1)
("rust-tempfile" ,rust-tempfile-3))))
(inputs
- `(("gtk+" ,gtk+)))
- (home-page "http://gtk-rs.org/")
- (synopsis "FFI bindings to libgtk-3")
- (description "This package provides FFI bindings to libgtk-3.")
- (license license:expat)))
+ `(("gtk+" ,gtk+)))))
(define-public rust-html2pango-0.3
(package
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 47/52] gnu: Add rust-gtk-0.9.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-8-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-gtk-0.9): New variable.
---
gnu/packages/crates-gtk.scm | 77 +++++++++++++++++++++++++++++++------
1 file changed, 66 insertions(+), 11 deletions(-)

Toggle diff (99 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 0d6342be12..1e85fdc1bc 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1585,8 +1585,73 @@ GStreamer.")
(description "This package provides FFI bindings to libgstvideo-1.0.")
(license license:expat)))
+(define-public rust-gtk-0.9
+ (package
+ (name "rust-gtk")
+ (version "0.9.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "gtk" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0smdll32vlamp4kvxa6sg5m653icas21jd36fvq3laq7ahh2y0ig"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-atk" ,rust-atk-0.9)
+ ("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-cc" ,rust-cc-1)
+ ("rust-gdk" ,rust-gdk-0.13)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.10)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio" ,rust-gio-0.9)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-rs-lgpl-docs"
+ ,rust-gtk-rs-lgpl-docs-0.1)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-once-cell" ,rust-once-cell-1)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-pango-sys" ,rust-pango-sys-0.10)
+ ("rust-pkg-config" ,rust-pkg-config-0.3))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("pango" ,pango)))
+ (home-page "http://gtk-rs.org/")
+ (synopsis "Rust bindings for GTK+")
+ (description "This package provides Rust bindings for the GTK+ library, version
+3.x.")
+ (license license:expat)))
+
(define-public rust-gtk-0.8
(package
+ (inherit rust-gtk-0.9)
(name "rust-gtk")
(version "0.8.1")
(source
@@ -1621,17 +1686,7 @@ GStreamer.")
("rust-pango" ,rust-pango-0.8)
("rust-pango-sys" ,rust-pango-sys-0.9))
#:cargo-development-inputs
- (("rust-gir-format-check" ,rust-gir-format-check-0.1))))
- (inputs
- `(("atk" ,atk)
- ("cairo" ,cairo)
- ("glib" ,glib)
- ("gtk+" ,gtk+)
- ("pango" ,pango)))
- (home-page "http://gtk-rs.org/")
- (synopsis "Rust bindings for the GTK+ 3 library")
- (description "This package provides Rust bindings for the GTK+ 3 library.")
- (license license:expat)))
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))))))
(define-public rust-gtk-rs-lgpl-docs-0.1
(package
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 48/52] gnu: Add rust-sourceview4-sys-0.2.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-9-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-sourceview4-sys-0.2): New variable.
---
gnu/packages/crates-gtk.scm | 54 +++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)

Toggle diff (64 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 1e85fdc1bc..956c9a0f8f 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2334,3 +2334,57 @@ renders username initials.")
(description "This package provides a Rust library to interface with
the Secret Service API")
(license (list license:expat license:asl2.0))))
+
+(define-public rust-sourceview4-sys-0.2
+ (package
+ (name "rust-sourceview4-sys")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sourceview4-sys" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "146l7fni9zc68rr1aim5di4mzrk22r8jxb96ww8fgp6f51np690v"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-sys-rs" ,rust-cairo-sys-rs-0.10)
+ ("rust-gdk-pixbuf-sys" ,rust-gdk-pixbuf-sys-0.10)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pkg-config" ,rust-pkg-config-0.3)
+ ("rust-system-deps" ,rust-system-deps-1))
+ #:cargo-development-inputs
+ (("rust-shell-words" ,rust-shell-words-0.1)
+ ("rust-tempfile" ,rust-tempfile-3))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/sourceview4-rs")
+ (synopsis "FFI bindings for GtkSourceView")
+ (description "This package provides FFI bindings for GtkSourceView, version
+4.x.")
+ (license license:lgpl2.1+)))
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 10:11
[PATCH v2 49/52] gnu: Add rust-sourceview4-0.2.
(address . 44492@debbugs.gnu.org)
20210301091117.26777-10-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-sourceview4-0.2): New variable.
---
gnu/packages/crates-gtk.scm | 59 +++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 956c9a0f8f..2c83c19c83 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -2388,3 +2388,62 @@ the Secret Service API")
(description "This package provides FFI bindings for GtkSourceView, version
4.x.")
(license license:lgpl2.1+)))
+
+(define-public rust-sourceview4-0.2
+ (package
+ (name "rust-sourceview4")
+ (version "0.2.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "sourceview4" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1c35bm98gmn93qralgjlippdjm2d6199j811qgrn1zd4iv3j3kv7"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-cairo-rs" ,rust-cairo-rs-0.9)
+ ("rust-gdk" ,rust-gdk-0.13)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.9)
+ ("rust-gdk-sys" ,rust-gdk-sys-0.10)
+ ("rust-gio" ,rust-gio-0.9)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib" ,rust-glib-0.10)
+ ("rust-glib-sys" ,rust-glib-sys-0.10)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.10)
+ ("rust-gtk" ,rust-gtk-0.9)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.10)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.9)
+ ("rust-sourceview4-sys"
+ ,rust-sourceview4-sys-0.2))
+ #:cargo-development-inputs
+ (("rust-gir-format-check" ,rust-gir-format-check-0.1))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'configure 'fix-version-requirements
+ (lambda* (#:key inputs vendor-dir #:allow-other-keys)
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("pango" ,pango)))
+ (home-page "https://gitlab.gnome.org/World/Rust/sourceview4-rs")
+ (synopsis "API bindings for GtkSourceView")
+ (description "This package provides API bindings for GtkSourceView,
+version 4.x.")
+ (license license:lgpl2.1+)))
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 11:11
[PATCH v2 50/52] gnu: Add rust-sourceview4-for-fractal.
(address . 44492@debbugs.gnu.org)
20210301101113.29696-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-sourceview4-for-fractal): New variable.
---
gnu/packages/crates-gtk.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index 2c83c19c83..c64cd6e9a2 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -20,6 +20,7 @@
(define-module (gnu packages crates-gtk)
#:use-module (guix build-system cargo)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
@@ -2447,3 +2448,31 @@ the Secret Service API")
(description "This package provides API bindings for GtkSourceView,
version 4.x.")
(license license:lgpl2.1+)))
+
+(define-public rust-sourceview4-for-fractal
+ (package
+ (inherit rust-sourceview4-0.2)
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/World/Rust/sourceview4-rs/")
+ (commit "fa8819fa7ecbe56f44d951656d3825f468915754")))
+ (file-name "rust-sourceview4-0.2.0.tar.gz")
+ (sha256
+ (base32
+ "0aib8385fxdpw79sasfzn6q11sqx3wigkb267if9fb12bagycgpk"))))
+ (arguments
+ `(#:cargo-inputs
+ (("rust-bitflags" ,rust-bitflags-1)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
+ ("rust-gio" ,rust-gio-0.9)
+ ("rust-gio-sys" ,rust-gio-sys-0.10)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-glib-sys" ,rust-glib-sys-0.9)
+ ("rust-gobject-sys" ,rust-gobject-sys-0.9)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-gtk-sys" ,rust-gtk-sys-0.9)
+ ("rust-libc" ,rust-libc-0.2)
+ ("rust-pango" ,rust-pango-0.8))))
+ (properties `((hidden? . #t)))))
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 11:11
[PATCH v2 51/52] gnu: Add rust-letter-avatar-for-fractal.
(address . 44492@debbugs.gnu.org)
20210301101113.29696-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-gtk.scm (rust-letter-avatar-for-fractal): New variable.
---
gnu/packages/crates-gtk.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-gtk.scm b/gnu/packages/crates-gtk.scm
index c64cd6e9a2..caa6e7d3b6 100644
--- a/gnu/packages/crates-gtk.scm
+++ b/gnu/packages/crates-gtk.scm
@@ -1872,6 +1872,30 @@ converts raw links to http links and strips unwanted tags.")
renders username initials.")
(license license:gpl3+)))
+(define-public rust-letter-avatar-for-fractal
+ (package
+ (inherit rust-letter-avatar-1)
+ (name "rust-letter-avatar")
+ (version "1.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "letter-avatar" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "00hnlyckr25h5hvisk90vf88diww6cds140s8cpfhjx4p33kxnm8"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-cairo-rs" ,rust-cairo-rs-0.8)
+ ("rust-pango" ,rust-pango-0.8)
+ ("rust-pangocairo" ,rust-pangocairo-0.9)
+ ("rust-unicode-segmentation"
+ ,rust-unicode-segmentation-1))))
+ (properties '((hidden? . #t)))))
+
(define-public rust-libhandy-sys-0.5
(package
(name "rust-libhandy-sys")
--
2.30.1
L
L
Leo Prikler wrote on 1 Mar 2021 11:11
[PATCH v2 52/52] gnu: Add fractal.
(address . 44492@debbugs.gnu.org)
20210301101113.29696-3-leo.prikler@student.tugraz.at
* gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/gnome.scm (fractal): New variable.
---
gnu/local.mk | 1 +
gnu/packages/gnome.scm | 142 ++++++++++++++++-
...ractal-switch-from-failure-to-anyhow.patch | 143 ++++++++++++++++++
3 files changed, 285 insertions(+), 1 deletion(-)
create mode 100644 gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch

Toggle diff (320 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 4f6b85c69c..3577e9f7b6 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -996,6 +996,7 @@ dist_patch_DATA = \
%D%/packages/patches/fontconfig-hurd-path-max.patch \
%D%/packages/patches/fpc-reproducibility.patch \
%D%/packages/patches/fplll-std-fenv.patch \
+ %D%/packages/patches/fractal-switch-from-failure-to-anyhow.patch \
%D%/packages/patches/freedink-engine-fix-sdl-hints.patch \
%D%/packages/patches/freebayes-devendor-deps.patch \
%D%/packages/patches/freeimage-unbundle.patch \
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 32cecb75b5..31279277b4 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -12099,7 +12099,6 @@ editing environment for translation issues within the GNU gettext/GNOME desktop
world.")
(license license:gpl3+)))
-
(define-public ocrfeeder
(package
(name "ocrfeeder")
@@ -12162,3 +12161,144 @@ world.")
(description "OCRFeeder is a complete Optical Character Recognition and
Document Analysis and Recognition program.")
(license license:gpl3+)))
+
+(define-public fractal
+ (package
+ (name "fractal")
+ (version "4.4.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/fractal")
+ (commit version)))
+ (file-name (string-append "fractal-" version))
+ (sha256
+ (base32
+ "1v2aw41gfmixki6g7j7mcav7i7qkn17k7zndvvfv08rgsrvma8qd"))
+ (patches
+ (search-patches
+ "fractal-switch-from-failure-to-anyhow.patch"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:imported-modules
+ (,@%cargo-build-system-modules
+ ,@%meson-build-system-modules)
+ #:modules
+ ((guix build cargo-build-system)
+ (guix build utils)
+ ((guix build meson-build-system) #:prefix meson:))
+ #:cargo-inputs
+ (("rust-anyhow" ,rust-anyhow-1)
+ ("rust-comrak" ,rust-comrak-0.7)
+ ("rust-directories" ,rust-directories-2)
+ ("rust-dirs" ,rust-dirs-2)
+ ("rust-either" ,rust-either-1)
+ ("rust-fragile" ,rust-fragile-1)
+ ("rust-gdk" ,rust-gdk-0.12)
+ ("rust-gdk-pixbuf" ,rust-gdk-pixbuf-0.8)
+ ("rust-gettext" ,rust-gettext-rs-0.4)
+ ("rust-glib" ,rust-glib-0.9)
+ ("rust-gio" ,rust-gio-0.8)
+ ("rust-gspell" ,rust-gspell-0.4)
+ ("rust-gstreamer" ,rust-gstreamer-0.15)
+ ("rust-gstreamer-pbutils" ,rust-gstreamer-pbutils-0.15)
+ ("rust-gstreamer-player" ,rust-gstreamer-player-0.15)
+ ("rust-gtk" ,rust-gtk-0.8)
+ ("rust-html2pango" ,rust-html2pango-0.3)
+ ("rust-letter-avatar" ,rust-letter-avatar-for-fractal)
+ ("rust-libhandy" ,rust-libhandy-0.5)
+ ("rust-loggerv" ,rust-loggerv-0.7)
+ ("rust-md5" ,rust-md5-0.7)
+ ("rust-mdl" ,rust-mdl-1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-reqwest" ,rust-reqwest-0.10)
+ ("rust-ruma-identifiers" ,rust-ruma-identifiers-0.17)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-secret-service" ,rust-secret-service-1)
+ ("rust-sourceview4" ,rust-sourceview4-for-fractal))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-cargo
+ (lambda* (#:key vendor-dir #:allow-other-keys)
+ (substitute* "fractal-gtk/Cargo.toml"
+ (("git = .*") "")
+ ;; rust-gettext-rs
+ (("branch = \"no-gettext\"") "version = \"0.4.0\"")
+ ;; rust-sourceview4
+ (("rev = \"fa8819fa7ecbe56f44d951656d3825f468915754\"")
+ "version = \"0.2.0\"")
+ ;; rust-either
+ (("rev = \"60c99bc0723491e2dfd42bbe9b485c5f9323e96b\"")
+ "version = \"1.6.0\"")
+ (("\"serde_untagged\"") "\"serde\""))
+ (substitute*
+ (map
+ (lambda (dir) (string-append dir "/Cargo.toml"))
+ (find-files vendor-dir "system-deps.*" #:directories? #t))
+ (("0.0.10") ,(package-version rust-version-compare-0.0)))
+ (substitute* "meson.build"
+ (("'Cargo.lock',") ""))
+ (substitute* "scripts/cargo.sh"
+ (("export CARGO_HOME=.*" all)
+ (string-append all "\
+mkdir -p $CARGO_HOME
+cp $1/.cargo/config $CARGO_HOME
+")))
+
+ #t))
+ (add-after 'unpack 'skip-gtk-update-icon-cache
+ (lambda _
+ (substitute* "scripts/meson_post_install.py"
+ (("gtk-update-icon-cache") (which "true")))
+ #t))
+ (add-after 'configure 'configure-harder
+ (lambda* (#:key vendor-dir inputs #:allow-other-keys)
+ (for-each
+ (lambda (d)
+ (copy-recursively
+ (string-append (assoc-ref inputs "rust-sourceview4") "/" d)
+ (string-append vendor-dir "/rust-" d "-0.2.0")))
+ '("sourceview4" "sourceview4-sys"))
+ (delete-file-recursively
+ (car (find-files vendor-dir "fractal.*" #:directories? #t)))
+ #t))
+ (add-after 'patch-cargo-checksums 'really-configure
+ (lambda args
+ (apply (assoc-ref meson:%standard-phases 'configure)
+ #:build-type "release"
+ #:configure-flags '()
+ args)))
+ (replace 'build (assoc-ref meson:%standard-phases 'build))
+ (replace 'check
+ (lambda args
+ ((assoc-ref meson:%standard-phases 'check)
+ #:test-target "test"
+ #:parallel-tests? #t
+ #:tests? #t)))
+ (replace 'install (assoc-ref meson:%standard-phases 'install)))))
+ (native-inputs
+ `(("glib:bin" ,glib "bin")
+ ("gettext" ,gettext-minimal)
+ ("meson" ,meson-for-build)
+ ("ninja" ,ninja)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("atk" ,atk)
+ ("cairo" ,cairo)
+ ("glib" ,glib)
+ ("gspell" ,gspell)
+ ("gst-editing-services" ,gst-editing-services)
+ ("gstreamer" ,gstreamer)
+ ("gst-plugins-base" ,gst-plugins-base)
+ ("gst-plugins-bad" ,gst-plugins-bad)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("libhandy" ,libhandy-0.0)
+ ("openssl" ,openssl)))
+ (synopsis "Matrix messaging app for GNOME")
+ (description "Fractal is a Matrix messaging app for GNOME written in Rust.
+Its interface is optimized for collaboration in large groups, such as free
+software projects.")
+ (home-page "https://wiki.gnome.org/Apps/Fractal")
+ (license license:gpl3)))
diff --git a/gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch b/gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch
new file mode 100644
index 0000000000..6b830ecf94
--- /dev/null
+++ b/gnu/packages/patches/fractal-switch-from-failure-to-anyhow.patch
@@ -0,0 +1,143 @@
+From e4ca9dc5c0f4401f350338e4cd9b0734db9371bf Mon Sep 17 00:00:00 2001
+From: Yuki Okushi <huyuumi.dev@gmail.com>
+Date: Thu, 13 Aug 2020 14:41:50 +0900
+Subject: [PATCH] Switch from failure to anyhow
+
+---
+ Cargo.lock | 8 +++++++-
+ fractal-gtk/Cargo.toml | 2 +-
+ fractal-gtk/src/appop/attach.rs | 2 +-
+ fractal-gtk/src/cache/mod.rs | 2 +-
+ fractal-gtk/src/cache/state.rs | 7 +++----
+ fractal-gtk/src/util.rs | 8 ++++----
+ 6 files changed, 17 insertions(+), 12 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index c0b5e5e2..f26d9787 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -88,6 +88,12 @@ dependencies = [
+ "winapi 0.3.9",
+ ]
+
++[[package]]
++name = "anyhow"
++version = "1.0.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b"
++
+ [[package]]
+ name = "arrayref"
+ version = "0.3.6"
+@@ -580,6 +586,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+ name = "fractal-gtk"
+ version = "4.4.0"
+ dependencies = [
++ "anyhow",
+ "cairo-rs",
+ "chrono",
+ "clap",
+@@ -587,7 +594,6 @@ dependencies = [
+ "directories",
+ "dirs",
+ "either 1.5.99",
+- "failure",
+ "fractal-matrix-api",
+ "fragile",
+ "gdk",
+diff --git a/fractal-gtk/Cargo.toml b/fractal-gtk/Cargo.toml
+index 960f64b5..e1c6a33d 100644
+--- a/fractal-gtk/Cargo.toml
++++ b/fractal-gtk/Cargo.toml
+@@ -6,11 +6,11 @@ workspace = "../"
+ edition = "2018"
+
+ [dependencies]
++anyhow = "1.0.32"
+ clap = "2.33.0"
+ comrak = "0.7.0"
+ directories = "2.0.2"
+ dirs = "2.0.2"
+-failure = "0.1.6"
+ fragile = "1.0.0"
+ gspell = "0.4.0"
+ gdk = "0.12.1"
+diff --git a/fractal-gtk/src/appop/attach.rs b/fractal-gtk/src/appop/attach.rs
+index 3f0813aa..3b5bff4c 100644
+--- a/fractal-gtk/src/appop/attach.rs
++++ b/fractal-gtk/src/appop/attach.rs
+@@ -6,7 +6,7 @@ use std::io::prelude::*;
+ use std::path::PathBuf;
+ use std::sync::{Arc, Mutex};
+
+-use failure::Error;
++use anyhow::Error;
+
+ use gtk::prelude::*;
+
+diff --git a/fractal-gtk/src/cache/mod.rs b/fractal-gtk/src/cache/mod.rs
+index 76942866..8943eac6 100644
+--- a/fractal-gtk/src/cache/mod.rs
++++ b/fractal-gtk/src/cache/mod.rs
+@@ -12,7 +12,7 @@ use std::thread;
+
+ use crate::types::Room;
+ use crate::types::RoomList;
+-use failure::Error;
++use anyhow::Error;
+ use fractal_api::identifiers::{DeviceId, UserId};
+ use std::collections::HashMap;
+ use std::hash::Hash;
+diff --git a/fractal-gtk/src/cache/state.rs b/fractal-gtk/src/cache/state.rs
+index 7cb5372a..0e62c59b 100644
+--- a/fractal-gtk/src/cache/state.rs
++++ b/fractal-gtk/src/cache/state.rs
+@@ -4,8 +4,7 @@ use mdl::Model;
+ use mdl::Store;
+ use serde::{Deserialize, Serialize};
+
+-use failure::err_msg;
+-use failure::Error;
++use anyhow::{anyhow, Error};
+
+ use std::cell::RefCell;
+ use std::fs::remove_dir_all;
+@@ -127,8 +126,8 @@ impl FCache {
+ guard.take();
+
+ let fname = cache_dir_path(None, "cache.mdl")
+- .or_else(|_| Err(err_msg("Can't remove cache file")))?;
+- remove_dir_all(fname).or_else(|_| Err(err_msg("Can't remove cache file")))
++ .or_else(|_| Err(anyhow!("Can't remove cache file")))?;
++ remove_dir_all(fname).or_else(|_| Err(anyhow!("Can't remove cache file")))
+ }
+
+ #[allow(dead_code)]
+diff --git a/fractal-gtk/src/util.rs b/fractal-gtk/src/util.rs
+index 764a8e8e..b2feb12c 100644
+--- a/fractal-gtk/src/util.rs
++++ b/fractal-gtk/src/util.rs
+@@ -1,6 +1,6 @@
+ use crate::globals::CACHE_PATH;
+-use failure::format_err;
+-use failure::Error as FailError;
++use anyhow::anyhow;
++use anyhow::Error as AnyhowError;
+ use gdk::prelude::*;
+ use gdk_pixbuf::Pixbuf;
+ use gio::{Settings, SettingsExt, SettingsSchemaSource};
+@@ -21,9 +21,9 @@ pub fn cache_dir_path(dir: Option<&str>, name: &str) -> Result<PathBuf, IoError>
+ Ok(path.join(name))
+ }
+
+-pub fn get_pixbuf_data(pb: &Pixbuf) -> Result<Vec<u8>, FailError> {
++pub fn get_pixbuf_data(pb: &Pixbuf) -> Result<Vec<u8>, AnyhowError> {
+ let image = cairo::ImageSurface::create(cairo::Format::ARgb32, pb.get_width(), pb.get_height())
+- .or_else(|_| Err(format_err!("Cairo Error")))?;
++ .or_else(|_| Err(anyhow!("Cairo Error")))?;
+
+ let g = cairo::Context::new(&image);
+ g.set_source_pixbuf(pb, 0.0, 0.0);
+--
+2.30.1
+
--
2.30.1
C
C
Christopher Baines wrote on 7 Mar 2021 15:14
Fractal
(address . 44492@debbugs.gnu.org)(name . Leo Prikler)(address . leo.prikler@student.tugraz.at)
87y2ezm4pc.fsf@cbaines.net
Hey,

I'd suggest going ahead and merging this, or if not, then sending a v3.

I've had a look at the v1 patches and they seem OK, unfortunately the v2
patches seem to have confused Patchwork, which has split them across two
incomplete series.

Thanks,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmBE369fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XcdrxAAkkS+j1eZs8Kp9W2ZsvBqJRCZzkWFANjF
Tz433RI6ERaCYmrRrqzOjUDfnhwdITNQBetF6Iw1IyWxqojsrnGwjOUD1xOHQ9fl
vBEo6Jes0xA5Qf62ctR74RWwDrcr5udlhpS7qgQZcZdF7i4VavG8Uj6qtbk6bKMN
mzPsgH3FZIoP0SJK4u+FQr3w9hGTlg1R32JTWV8O+M+5YPt7GCNTwUKaopTny8M2
dOwSHUF2dr+eBaqutKxioDuEfauRnl9C1ApAeF6NAlZgYXTrZ9z0vS7F+w+1VMGn
tvwPGrIFwdpAhQ5QL02Q8eEd8W2i5ZD4Sec0PY61PYDXC2/1b14wv+Ovca0YIbFG
hgw+r0UVSd65O4a2RNrdEd7TrYA0mDSuVpWvXZ3Dh4YGazn9ZBZOHz17sfJklopZ
sdJoA7QU24yphjSSLBLB3hHbTfhHQaLDvm85On4DpcQkQkN7luxEW+nGbaHBgER/
UlTMkYhquIaI1wwFanWcytVyKOGOfsMhgj2A0IMJMxkVJNZAmHmQSgbntqTkOl2t
45olLqE30EQ8A/TbgVJBV8Z/PGjlSgH+dtVDq7ID+L/vB4wLr55MwmmAESFD4510
pmYqtIrt86RS1PUmnMb8mkfX5rYtDT53yTwj8839ku7SS2NJ6EE2JAX7z2byTM5p
uE2vLYrVAXY=
=00m6
-----END PGP SIGNATURE-----

L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 02/46] gnu: Add rust-ruma-identifiers-macros-0.17.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-2-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-macros-0.17): New variable.
---
gnu/packages/crates-io.scm | 27 +++++++++++++++++++++++++++
1 file changed, 27 insertions(+)

Toggle diff (40 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index bebe80e2b6..38e4c6d229 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32754,6 +32754,33 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-macros-0.17
+ (package
+ (name "rust-ruma-identifiers-macros")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers-macros" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "03p3qp12h4aajixcyk44q2bcid6fa4nmipysvcpy4w5cbak7wvwq"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-proc-macro2" ,rust-proc-macro2-1)
+ ("rust-quote" ,rust-quote-1)
+ ("rust-ruma-identifiers-validation"
+ ,rust-ruma-identifiers-validation-0.1)
+ ("rust-syn" ,rust-syn-1))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Create Matrix identifiers")
+ (description "This package provides procedural macros for creating Matrix
+identifiers.")
+ (license license:expat)))
+
(define-public rust-ruma-identifiers-validation-0.1
(package
(name "rust-ruma-identifiers-validation")
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 01/46] gnu: Add rust-ruma-identifiers-validation-0.1.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-1-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-validation-0.1): New
variable.
---
gnu/packages/crates-io.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index abe4a937e5..bebe80e2b6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32754,6 +32754,30 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-validation-0.1
+ (package
+ (name "rust-ruma-identifiers-validation")
+ (version "0.1.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers-validation" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0nv0zqsq5lhybckvfr5wmcp8pipqfs2hjgn9kvn9w33xacfzs4n1"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-serde" ,rust-serde-1)
+ ("rust-strum" ,rust-strum-0.18))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Validation logic for RUMA")
+ (description "This package provides the validation logic needed by other
+rust-ruma packages.")
+ (license license:expat)))
+
(define-public rust-runtime-0.3
(package
(name "rust-runtime")
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 04/46] gnu: Add rust-entities-1.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-4-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-entities-1): New variable.
---
gnu/packages/crates-io.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 40a48dd6c5..25aec64ee6 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -12676,6 +12676,27 @@ Standard.")
"Streaming transcoding for encoding_rs.")
(license (list license:asl2.0 license:expat))))
+(define-public rust-entities-1
+ (package
+ (name "rust-entities")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "entities" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jnpr0zvj97wm9pnh7fnl74rzaar39hhg65p03cm08bqqgj0lcmm"))))
+ (build-system cargo-build-system)
+ (arguments `(#:skip-build? #t))
+ (home-page "https://github.com/p-jackson/entities")
+ (synopsis "Raw data for converting HTML entities")
+ (description "This package provides the raw data needed to convert to and
+from HTML entities.")
+ (license license:expat)))
+
(define-public rust-enum-as-inner-0.3
(package
(name "rust-enum-as-inner")
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 05/46] gnu: Add rust-twoway-0.2.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-5-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-twoway-0.2): New variable.
---
gnu/packages/crates-io.scm | 39 ++++++++++++++++++++++++++++++--------
1 file changed, 31 insertions(+), 8 deletions(-)

Toggle diff (67 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 25aec64ee6..162617c7aa 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -45009,8 +45009,38 @@ design abstracts away all the internals of the WebSocket protocol but still
makes them accessible for those who wants full control over the network.")
(license (list license:expat license:asl2.0))))
+(define-public rust-twoway-0.2
+ (package
+ (name "rust-twoway")
+ (version "0.2.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "twoway" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1g55kf4rx0q682fvzxdixqihmlbamn5ms2yqvcm92fny21chfh3b"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:skip-build? #t
+ #:cargo-inputs
+ (("rust-galil-seiferas" ,rust-galil-seiferas-0.1)
+ ("rust-jetscii" ,rust-jetscii-0.3)
+ ("rust-memchr" ,rust-memchr-2)
+ ("rust-unchecked-index"
+ ,rust-unchecked-index-0.2))))
+ (home-page "https://github.com/bluss/twoway")
+ (synopsis "Fast substring search for strings and byte strings")
+ (description
+ "This package provides a fast substring search for strings and byte
+strings.")
+ (license (list license:expat license:asl2.0))))
+
(define-public rust-twoway-0.1
(package
+ (inherit rust-twoway-0.2)
(name "rust-twoway")
(version "0.1.8")
(source
@@ -45020,20 +45050,13 @@ makes them accessible for those who wants full control over the network.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1lbf64snscr3vz71jbl6i2c8zr2ndsiqbk6316z39fj1a8mipcar"))))
- (build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-galil-seiferas" ,rust-galil-seiferas-0.1)
("rust-jetscii" ,rust-jetscii-0.3)
("rust-memchr" ,rust-memchr-2)
- ("rust-unchecked-index" ,rust-unchecked-index-0.2))))
- (home-page "https://github.com/bluss/twoway")
- (synopsis "Fast substring search for strings and byte strings")
- (description
- "This package provides a fast substring search for strings and byte
-strings.")
- (license (list license:expat license:asl2.0))))
+ ("rust-unchecked-index" ,rust-unchecked-index-0.2))))))
(define-public rust-typeable-0.1
(package
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 03/46] gnu: Add rust-ruma-identifiers-0.17.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-3-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-ruma-identifiers-0.17): New variable.
---
gnu/packages/crates-io.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 38e4c6d229..40a48dd6c5 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -32754,6 +32754,40 @@ console applications.")
(base32
"1v255xqkig5lwnczvm3achydhxx6kf9jcdxdlgzndgpd18bp6x6k"))))))
+(define-public rust-ruma-identifiers-0.17
+ (package
+ (name "rust-ruma-identifiers")
+ (version "0.17.4")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ruma-identifiers" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vjxws5yw1c8lmwc5p036319vwwna1sxb7pkl6lw1pl8rwp0j5sr"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-either" ,rust-either-1)
+ ("rust-rand" ,rust-rand-0.7)
+ ("rust-ruma-identifiers-macros"
+ ,rust-ruma-identifiers-macros-0.17)
+ ("rust-ruma-identifiers-validation"
+ ,rust-ruma-identifiers-validation-0.1)
+ ("rust-serde" ,rust-serde-1)
+ ("rust-strum" ,rust-strum-0.18))
+ #:cargo-development-inputs
+ (("rust-matches" ,rust-matches-0.1)
+ ("rust-serde-json" ,rust-serde-json-1)
+ ("rust-trybuild" ,rust-trybuild-1))))
+ (home-page "https://www.ruma.io/")
+ (synopsis "Rust types for Matrix resource identifiers")
+ (description "This package provides Rust type bindings for Matrix resource
+identifiers.")
+ (license license:expat)))
+
(define-public rust-ruma-identifiers-macros-0.17
(package
(name "rust-ruma-identifiers-macros")
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 06/46] gnu: Add rust-comrak-0.7.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-6-leo.prikler@student.tugraz.at
* gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it here.
* gnu/packages/crates-io.scm (rust-comrak-0.7): New variable.
---
gnu/local.mk | 1 +
gnu/packages/crates-io.scm | 44 +++++++++++++++++++
.../rust-comrak-0.7-rustsec-2021-0026.patch | 41 +++++++++++++++++
3 files changed, 86 insertions(+)
create mode 100644 gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch

Toggle diff (116 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index fb3b395852..4bb2806811 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1606,6 +1606,7 @@ dist_patch_DATA = \
%D%/packages/patches/rust-1.45-linker-locale.patch \
%D%/packages/patches/rust-1.48-linker-locale.patch \
%D%/packages/patches/rust-bootstrap-stage0-test.patch \
+ %D%/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch \
%D%/packages/patches/rust-coresimd-doctest.patch \
%D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \
%D%/packages/patches/rust-nettle-disable-vendor.patch \
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 162617c7aa..77f88dff21 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -7655,6 +7655,50 @@ harness.")
("rust-rustc-serialize" ,rust-rustc-serialize-0.3)
("rust-tempdir" ,rust-tempdir-0.3))))))
+(define-public rust-comrak-0.7
+ (package
+ (name "rust-comrak")
+ (version "0.7.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "comrak" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "07026j0ghwgv5z61fc4l893wwc30krxpsy487rb91wkcag65hw71"))
+ (patches
+ (search-patches
+ "rust-comrak-0.7-rustsec-2021-0026.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (substitute* "src/tests.rs"
+ (("data:(png|jpeg|gif|webp)" all what)
+ (string-append "data:image/" what)))
+ #t))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-clap" ,rust-clap-2)
+ ("rust-entities" ,rust-entities-1)
+ ("rust-lazy-static" ,rust-lazy-static-1)
+ ("rust-pest" ,rust-pest-2)
+ ("rust-pest-derive" ,rust-pest-derive-2)
+ ("rust-regex" ,rust-regex-1)
+ ("rust-twoway" ,rust-twoway-0.2)
+ ("rust-typed-arena" ,rust-typed-arena-1)
+ ("rust-unicode-categories"
+ ,rust-unicode-categories-0.1))
+ #:cargo-development-inputs
+ (("rust-timebomb" ,rust-timebomb-0.1))))
+ (home-page "https://github.com/kivikakk/comrak")
+ (synopsis "Markdown parser and formatter")
+ (description "This package provides a parser and formatter for Github
+Flavored Markdown, that is compatible with CommonMark.")
+ (license license:bsd-2)))
+
(define-public rust-concurrent-queue-1
(package
(name "rust-concurrent-queue")
diff --git a/gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch b/gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch
new file mode 100644
index 0000000000..9a74b7b971
--- /dev/null
+++ b/gnu/packages/patches/rust-comrak-0.7-rustsec-2021-0026.patch
@@ -0,0 +1,41 @@
+From 285e9647c6d2f90d8cb7af543b14c986a8efa631 Mon Sep 17 00:00:00 2001
+From: Asherah Connor <ashe@kivikakk.ee>
+Date: Fri, 12 Feb 2021 21:15:29 +1100
+Subject: [PATCH] SECURITY: match unsafe prefixes case-insensitively
+
+Many thanks to Kouhei Morita for reporting this.
+
+Co-authored-by: Kouhei Morita <mrtc0@ssrf.in>
+---
+ src/lexer.pest | 2 +-
+ src/tests.rs | 146 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 147 insertions(+), 1 deletion(-)
+
+diff --git a/src/lexer.pest b/src/lexer.pest
+index e97647c..7f6cd3f 100644
+--- a/src/lexer.pest
++++ b/src/lexer.pest
+@@ -55,4 +55,4 @@ table_start = { "|"? ~ table_marker ~ ("|" ~ table_marker)* ~ "|"? ~ table_space
+ table_cell_end = { "|" ~ table_spacechar* ~ table_newline? }
+ table_row_end = { table_spacechar* ~ table_newline }
+
+-dangerous_url = { "data:" ~ !("png" | "gif" | "jpeg" | "webp") | "javascript:" | "vbscript:" | "file:" }
++dangerous_url = { ^"data:" ~ !(^"image/" ~ (^"png" | ^"gif" | ^"jpeg" | ^"webp")) | ^"javascript:" | ^"vbscript:" | ^"file:" }
+diff --git a/src/tests.rs b/src/tests.rs
+index c61a493..5f3e0cc 100644
+--- a/src/tests.rs
++++ b/src/tests.rs
+@@ -998,3 +998,11 @@ fn description_lists() {
+ ),
+ );
+ }
++
++#[test]
++fn case_insensitive_safety() {
++ html(
++ "[a](javascript:a) [b](Javascript:b) [c](jaVascript:c) [d](data:xyz) [e](Data:xyz) [f](vbscripT:f) [g](FILE:g)\n",
++ "<p><a href=\"\">a</a> <a href=\"\">b</a> <a href=\"\">c</a> <a href=\"\">d</a> <a href=\"\">e</a> <a href=\"\">f</a> <a href=\"\">g</a></p>\n",
++ );
++}
+--
+2.30.1
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 07/46] gnu: Add rust-fragile-1.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-7-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-fragile-1): New variable.
---
gnu/packages/crates-io.scm | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

Toggle diff (33 lines)
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 77f88dff21..fc451ed1da 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -14362,6 +14362,26 @@ implementation that is more efficient for smaller hash keys.")
syntax, as used by HTML forms.")
(license (list license:expat license:asl2.0))))
+(define-public rust-fragile-1
+ (package
+ (name "rust-fragile")
+ (version "1.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "fragile" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wlihmkjyhvl5rckal32p010piy1l15s6l81h7z31jcd971kk839"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/mitsuhiko/rust-fragile")
+ (synopsis "Wrapper types for sending non-send values to other threads")
+ (description "This package provides wrapper types for sending non-send
+values to other threads.")
+ (license license:asl2.0)))
+
(define-public rust-fragile-0.3
(package
(name "rust-fragile")
--
2.30.1
L
L
Leo Prikler wrote on 7 Mar 2021 18:34
[PATCH v3 08/46] gnu: rust-either-1: Update to 1.6.1.
(address . 44492@debbugs.gnu.org)
20210307173459.3048-8-leo.prikler@student.tugraz.at
* gnu/packages/crates-io.scm (rust-either-1): Update t