diff mbox series

[bug#71780,3/3] gnu: add hydroxide

Message ID ec1b7ab021a045f68869b6daf4a94c102887c5f1.1719286915.git.woshilapin@tuziwo.info
State New
Headers show
Series add hydroxide package | expand

Commit Message

woshilapin June 26, 2024, 7:33 a.m. UTC
Change-Id: Ic94a984da0cd458037f1246a8501f6cb10c19708

Note that `go-github-com-emersion-go-smtp` is already used in an
older version for `aerc`. The newer version, needed for `hydroxide`
does not compile for `aerc`. Therefore, a variant is needed for
`hydroxide`.

Change-Id: Ibb4599e008806afc0f1908baf4b4c54f5e30c059
---
 gnu/packages/golang-crypto.scm |  24 ++++++
 gnu/packages/golang.scm        | 135 +++++++++++++++++++++++++++++++++
 gnu/packages/mail.scm          |  37 +++++++++
 3 files changed, 196 insertions(+)

Comments

woshilapin June 29, 2024, 12:53 p.m. UTC | #1
Hi Oleg,

Thank you for your answer. I was not aware of that other issue, should have done my due diligence to search for it.

That said, this other issue is a year and a half old, with no activity so far. It's an outdated version of 'hydroxide' and some of its dependencies. Therefore, I'm not sure how to proceed from here. It seems a lot was depending on 'aerc' to be merged first in 'guix', which is now the case. And indeed, a substantial part of the dependencies are shared between 'aerc' and 'hydroxide'. Would it make sense to look at the new patches instead of trying to move forward on the older issue?

Note: I didn't receive your email since you only replied to the debbugs address. That explains why I didn't answer sooner.

Sincerely,
--
Jean SIMARD aka woshilapin

Le mercredi 26 juin 2024 à 09:33, Jean SIMARD <woshilapin@tuziwo.info> a écrit :

> Change-Id: Ic94a984da0cd458037f1246a8501f6cb10c19708
> 
> Note that `go-github-com-emersion-go-smtp` is already used in an
> older version for `aerc`. The newer version, needed for `hydroxide`
> does not compile for `aerc`. Therefore, a variant is needed for
> `hydroxide`.
> 
> Change-Id: Ibb4599e008806afc0f1908baf4b4c54f5e30c059
> ---
> gnu/packages/golang-crypto.scm | 24 ++++++
> gnu/packages/golang.scm | 135 +++++++++++++++++++++++++++++++++
> gnu/packages/mail.scm | 37 +++++++++
> 3 files changed, 196 insertions(+)
> 
> diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
> index 94112973b5..5921acb4f1 100644
> --- a/gnu/packages/golang-crypto.scm
> +++ b/gnu/packages/golang-crypto.scm
> @@ -21,6 +21,7 @@
> ;;; Copyright © 2023 Jack Hill jackhill@jackhill.us
> 
> ;;; Copyright © 2024 Troy Figiel troy@troyfigiel.com
> 
> ;;; Copyright © 2024 Jesse Eisses jesse@eisses.email
> 
> +;;; Copyright © 2024 Jean Simard woshilapin@tuziwo.info
> 
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -375,6 +376,29 @@ (define-public go-github-com-dvsekhvalnov-jose2go
> library.")
> (license license:expat)))
> 
> +(define-public go-github-com-emersion-go-bcrypt
> + (package
> + (name "go-github-com-emersion-go-bcrypt")
> + (version "0.0.0-20170822072041-6e724a1baa63")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/emersion/go-bcrypt")
> + (commit (go-version->git-ref version))))
> 
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1pchrgs05w30iqbh4d6iys4wvlyajsdwchp5mkf59amgsbyjaqgm"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/emersion/go-bcrypt"))
> + (propagated-inputs (list go-golang-org-x-crypto))
> + (home-page "https://github.com/emersion/go-bcrypt")
> + (synopsis "Extract of bcrypt from golang.org/x/crypto/bcrypt")
> + (description "An extract bcrypt from golang.org/x/crypto/bcrypt.")
> + (license license:bsd-3)))
> +
> (define-public go-github-com-emersion-go-pgpmail
> (package
> (name "go-github-com-emersion-go-pgpmail")
> diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> index 0b1a16d8e1..6e568d8add 100644
> --- a/gnu/packages/golang.scm
> +++ b/gnu/packages/golang.scm
> @@ -45,6 +45,7 @@
> ;;; Copyright © 2023 Clément Lassieur clement@lassieur.org
> 
> ;;; Copyright © 2024 Troy Figiel troy@troyfigiel.com
> 
> ;;; Copyright © 2024 Greg Hogan code@greghogan.com
> 
> +;;; Copyright © 2024 Jean Simard woshilapin@tuziwo.info
> 
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -5860,6 +5861,32 @@ (define-public go-github-com-ddevault-go-libvterm
> "This is a fork of another go-libvterm library for use with aerc.")
> (license license:expat))))
> 
> +(define-public go-github-com-boltdb-bolt
> + (package
> + (name "go-github-com-boltdb-bolt")
> + (version "1.3.1")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/boltdb/bolt")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/boltdb/bolt"
> + #:tests? #f))
> + (home-page "https://github.com/boltdb/bolt")
> + (synopsis "Pure Go key/value store inspired by Howard Chu's LMDB project")
> + (description
> + "Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project.
> + The goal of the project is to provide a simple, fast, and reliable database
> + for projects that don't require a full database server such as Postgres or MySQL.")
> + (license license:expat)))
> +
> (define-public go-github-com-emersion-go-imap
> (package
> (name "go-github-com-emersion-go-imap")
> @@ -5936,6 +5963,21 @@ (define-public go-github-com-emersion-go-smtp
> defined by RFC 5321.")
> (license license:expat)))
> 
> +(define-public go-github-com-emersion-go-smtp-v0.18
> + (package
> + (inherit go-github-com-emersion-go-smtp)
> + (name "go-github-com-emersion-go-smtp")
> + (version "0.18.0")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/emersion/go-smtp")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1d17gmz88cnfld8y1j2jsmldhvg8czbdmrjis0ls9zi7rfqlmnra"))))))
> +
> (define-public go-github-com-emersion-go-sasl
> (package
> (name "go-github-com-emersion-go-sasl")
> @@ -6085,6 +6127,99 @@ (define-public go-github-com-emersion-go-mbox
> @code{mbox} files.")
> (license license:expat)))
> 
> +(define-public go-github-com-emersion-go-vcard
> + (package
> + (name "go-github-com-emersion-go-vcard")
> + (version "0.0.0-20230815062825-8fda7d206ec9")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/emersion/go-vcard")
> + (commit (go-version->git-ref version))))
> 
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "12n5jinj5xzdfl9jhqvjbzxvj32bw310mdw4q5rjv35pk566zixl"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/emersion/go-vcard"))
> + (home-page "https://github.com/emersion/go-vcard")
> + (synopsis "Go library to parse and format vCard")
> + (description "A Go library to parse and format vCard.")
> + (license license:expat)))
> +
> +(define-public go-github-com-teambition-rrule-go
> + (package
> + (name "go-github-com-teambition-rrule-go")
> + (version "1.8.2")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/teambition/rrule-go")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1fnbava35w9z60carny5b7whd4nkv6hrf9g43wwg8d88gfij9zj2"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/teambition/rrule-go"))
> + (home-page "https://github.com/teambition/rrule-go")
> + (synopsis
> + "Go library for working with recurrence rules for calendar dates")
> + (description
> + "A go library for working with recurrence rules for calendar dates.")
> + (license license:expat)))
> +
> +(define-public go-github-com-emersion-go-ical
> + (package
> + (name "go-github-com-emersion-go-ical")
> + (version "0.0.0-20240127095438-fc1c9d8fb2b6")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/emersion/go-ical")
> + (commit (go-version->git-ref version))))
> 
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "01cn9kggkdalb6xp2nrka01gs40zs8v6h5bq8d2m8wrdcsy5b36v"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/emersion/go-ical"))
> + (propagated-inputs (list go-github-com-teambition-rrule-go))
> + (home-page "https://github.com/emersion/go-ical")
> + (synopsis "Go library for iCalendar")
> + (description "An iCalendar library for Go.")
> + (license license:expat)))
> +
> +(define-public go-github-com-emersion-go-webdav
> + (package
> + (name "go-github-com-emersion-go-webdav")
> + (version "v0.3.2-0.20220524091811-5d845721d8f7")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/emersion/go-webdav")
> + (commit (go-version->git-ref version))))
> 
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1vxf9k7m4lxsyry374bm4y34d2sb2ssy0c45mb1vchdfhffgyj9i"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/emersion/go-webdav"))
> + (propagated-inputs (list go-github-com-emersion-go-ical
> + go-github-com-emersion-go-vcard))
> + (home-page "https://github.com/emersion/go-webdav")
> + (synopsis "Go library for WebDAV, CalDAV and CardDAV")
> + (description "A Go library for WebDAV, CalDAV and CardDAV.")
> + (license license:expat)))
> +
> (define-public go-github-com-google-go-cmp-cmp
> (package
> (name "go-github-com-google-go-cmp-cmp")
> diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> index de6d21e7cc..dd813baef6 100644
> --- a/gnu/packages/mail.scm
> +++ b/gnu/packages/mail.scm
> @@ -56,6 +56,7 @@
> ;;; Copyright © 2023 Arjan Adriaanse arjan@adriaan.se
> 
> ;;; Copyright © 2023 Wilko Meyer w@wmeyer.eu
> 
> ;;; Copyright © 2024 Benjamin Slade slade@lambda-y.net
> 
> +;;; Copyright © 2024 Jean Simard woshilapin@tuziwo.info
> 
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -5121,3 +5122,39 @@ (define-public aerc
> ;; <https://lists.sr.ht/~rjarry/aerc-devel/<b5cb213a7d0c699a886971658c2476
> ;; 1073eb2391%40disroot.org%3E>
> 
> (license license:gpl3+)))
> +
> +(define-public hydroxide
> + (package
> + (name "hydroxide")
> + (version "0.2.28")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/emersion/hydroxide")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32 "1a7qga9qxwcdjimra9d9jnkds1iwh2sqk6241p4di6awli9zksv1"))))
> + (build-system go-build-system)
> + (arguments
> + (list
> + #:import-path "github.com/emersion/hydroxide/cmd/hydroxide"
> + #:unpack-path "github.com/emersion/hydroxide"))
> + (inputs (list go-github-com-protonmail-go-crypto
> + go-github-com-boltdb-bolt
> + go-github-com-emersion-go-bcrypt
> + go-github-com-emersion-go-imap
> + go-github-com-emersion-go-mbox
> + go-github-com-emersion-go-message
> + go-github-com-emersion-go-smtp-v0.18
> + go-github-com-emersion-go-vcard
> + go-github-com-emersion-go-webdav
> + go-golang-org-x-crypto
> + go-golang-org-x-term))
> + (home-page "https://github.com/emersion/hydroxide")
> + (synopsis "Third-party, open-source ProtonMail bridge")
> + (description "A third-party, open-source ProtonMail bridge.
> + For power users only, designed to run on a server.
> + hydroxide supports CardDAV, IMAP and SMTP.")
> + (license license:expat)))
> --
> 2.41.0
Sharlatan Hellseher June 29, 2024, 1:47 p.m. UTC | #2
Hi Jean,

Sure, I get your reasoning about dated patches. I would prefere yours over older
one to start with. One thing to mention after the first look at your patches:
you combined all new packages as a single commit (patch). May you split
package-per-commit (patch) and send as a series of them please? You many use
etc/commiter.scm script to prepare commits.

See the documentation for more details
https://guix.gnu.org/manual/en/manual/devel/en/html_node/Submitting-Patches.html

--
Oleg

On Sat, 29 Jun 2024 at 13:53, woshilapin <woshilapin@tuziwo.info> wrote:
>
> Hi Oleg,
>
> Thank you for your answer. I was not aware of that other issue, should have done my due diligence to search for it.
>
> That said, this other issue is a year and a half old, with no activity so far. It's an outdated version of 'hydroxide' and some of its dependencies. Therefore, I'm not sure how to proceed from here. It seems a lot was depending on 'aerc' to be merged first in 'guix', which is now the case. And indeed, a substantial part of the dependencies are shared between 'aerc' and 'hydroxide'. Would it make sense to look at the new patches instead of trying to move forward on the older issue?
>
> Note: I didn't receive your email since you only replied to the debbugs address. That explains why I didn't answer sooner.
>
> Sincerely,
> --
> Jean SIMARD aka woshilapin
>
> Le mercredi 26 juin 2024 à 09:33, Jean SIMARD <woshilapin@tuziwo.info> a écrit :
>
> > Change-Id: Ic94a984da0cd458037f1246a8501f6cb10c19708
> >
> > Note that `go-github-com-emersion-go-smtp` is already used in an
> > older version for `aerc`. The newer version, needed for `hydroxide`
> > does not compile for `aerc`. Therefore, a variant is needed for
> > `hydroxide`.
> >
> > Change-Id: Ibb4599e008806afc0f1908baf4b4c54f5e30c059
> > ---
> > gnu/packages/golang-crypto.scm | 24 ++++++
> > gnu/packages/golang.scm | 135 +++++++++++++++++++++++++++++++++
> > gnu/packages/mail.scm | 37 +++++++++
> > 3 files changed, 196 insertions(+)
> >
> > diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
> > index 94112973b5..5921acb4f1 100644
> > --- a/gnu/packages/golang-crypto.scm
> > +++ b/gnu/packages/golang-crypto.scm
> > @@ -21,6 +21,7 @@
> > ;;; Copyright © 2023 Jack Hill jackhill@jackhill.us
> >
> > ;;; Copyright © 2024 Troy Figiel troy@troyfigiel.com
> >
> > ;;; Copyright © 2024 Jesse Eisses jesse@eisses.email
> >
> > +;;; Copyright © 2024 Jean Simard woshilapin@tuziwo.info
> >
> > ;;;
> > ;;; This file is part of GNU Guix.
> > ;;;
> > @@ -375,6 +376,29 @@ (define-public go-github-com-dvsekhvalnov-jose2go
> > library.")
> > (license license:expat)))
> >
> > +(define-public go-github-com-emersion-go-bcrypt
> > + (package
> > + (name "go-github-com-emersion-go-bcrypt")
> > + (version "0.0.0-20170822072041-6e724a1baa63")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/emersion/go-bcrypt")
> > + (commit (go-version->git-ref version))))
> >
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "1pchrgs05w30iqbh4d6iys4wvlyajsdwchp5mkf59amgsbyjaqgm"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/emersion/go-bcrypt"))
> > + (propagated-inputs (list go-golang-org-x-crypto))
> > + (home-page "https://github.com/emersion/go-bcrypt")
> > + (synopsis "Extract of bcrypt from golang.org/x/crypto/bcrypt")
> > + (description "An extract bcrypt from golang.org/x/crypto/bcrypt.")
> > + (license license:bsd-3)))
> > +
> > (define-public go-github-com-emersion-go-pgpmail
> > (package
> > (name "go-github-com-emersion-go-pgpmail")
> > diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
> > index 0b1a16d8e1..6e568d8add 100644
> > --- a/gnu/packages/golang.scm
> > +++ b/gnu/packages/golang.scm
> > @@ -45,6 +45,7 @@
> > ;;; Copyright © 2023 Clément Lassieur clement@lassieur.org
> >
> > ;;; Copyright © 2024 Troy Figiel troy@troyfigiel.com
> >
> > ;;; Copyright © 2024 Greg Hogan code@greghogan.com
> >
> > +;;; Copyright © 2024 Jean Simard woshilapin@tuziwo.info
> >
> > ;;;
> > ;;; This file is part of GNU Guix.
> > ;;;
> > @@ -5860,6 +5861,32 @@ (define-public go-github-com-ddevault-go-libvterm
> > "This is a fork of another go-libvterm library for use with aerc.")
> > (license license:expat))))
> >
> > +(define-public go-github-com-boltdb-bolt
> > + (package
> > + (name "go-github-com-boltdb-bolt")
> > + (version "1.3.1")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/boltdb/bolt")
> > + (commit (string-append "v" version))))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/boltdb/bolt"
> > + #:tests? #f))
> > + (home-page "https://github.com/boltdb/bolt")
> > + (synopsis "Pure Go key/value store inspired by Howard Chu's LMDB project")
> > + (description
> > + "Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project.
> > + The goal of the project is to provide a simple, fast, and reliable database
> > + for projects that don't require a full database server such as Postgres or MySQL.")
> > + (license license:expat)))
> > +
> > (define-public go-github-com-emersion-go-imap
> > (package
> > (name "go-github-com-emersion-go-imap")
> > @@ -5936,6 +5963,21 @@ (define-public go-github-com-emersion-go-smtp
> > defined by RFC 5321.")
> > (license license:expat)))
> >
> > +(define-public go-github-com-emersion-go-smtp-v0.18
> > + (package
> > + (inherit go-github-com-emersion-go-smtp)
> > + (name "go-github-com-emersion-go-smtp")
> > + (version "0.18.0")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/emersion/go-smtp")
> > + (commit (string-append "v" version))))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "1d17gmz88cnfld8y1j2jsmldhvg8czbdmrjis0ls9zi7rfqlmnra"))))))
> > +
> > (define-public go-github-com-emersion-go-sasl
> > (package
> > (name "go-github-com-emersion-go-sasl")
> > @@ -6085,6 +6127,99 @@ (define-public go-github-com-emersion-go-mbox
> > @code{mbox} files.")
> > (license license:expat)))
> >
> > +(define-public go-github-com-emersion-go-vcard
> > + (package
> > + (name "go-github-com-emersion-go-vcard")
> > + (version "0.0.0-20230815062825-8fda7d206ec9")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/emersion/go-vcard")
> > + (commit (go-version->git-ref version))))
> >
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "12n5jinj5xzdfl9jhqvjbzxvj32bw310mdw4q5rjv35pk566zixl"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/emersion/go-vcard"))
> > + (home-page "https://github.com/emersion/go-vcard")
> > + (synopsis "Go library to parse and format vCard")
> > + (description "A Go library to parse and format vCard.")
> > + (license license:expat)))
> > +
> > +(define-public go-github-com-teambition-rrule-go
> > + (package
> > + (name "go-github-com-teambition-rrule-go")
> > + (version "1.8.2")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/teambition/rrule-go")
> > + (commit (string-append "v" version))))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "1fnbava35w9z60carny5b7whd4nkv6hrf9g43wwg8d88gfij9zj2"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/teambition/rrule-go"))
> > + (home-page "https://github.com/teambition/rrule-go")
> > + (synopsis
> > + "Go library for working with recurrence rules for calendar dates")
> > + (description
> > + "A go library for working with recurrence rules for calendar dates.")
> > + (license license:expat)))
> > +
> > +(define-public go-github-com-emersion-go-ical
> > + (package
> > + (name "go-github-com-emersion-go-ical")
> > + (version "0.0.0-20240127095438-fc1c9d8fb2b6")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/emersion/go-ical")
> > + (commit (go-version->git-ref version))))
> >
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "01cn9kggkdalb6xp2nrka01gs40zs8v6h5bq8d2m8wrdcsy5b36v"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/emersion/go-ical"))
> > + (propagated-inputs (list go-github-com-teambition-rrule-go))
> > + (home-page "https://github.com/emersion/go-ical")
> > + (synopsis "Go library for iCalendar")
> > + (description "An iCalendar library for Go.")
> > + (license license:expat)))
> > +
> > +(define-public go-github-com-emersion-go-webdav
> > + (package
> > + (name "go-github-com-emersion-go-webdav")
> > + (version "v0.3.2-0.20220524091811-5d845721d8f7")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/emersion/go-webdav")
> > + (commit (go-version->git-ref version))))
> >
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "1vxf9k7m4lxsyry374bm4y34d2sb2ssy0c45mb1vchdfhffgyj9i"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/emersion/go-webdav"))
> > + (propagated-inputs (list go-github-com-emersion-go-ical
> > + go-github-com-emersion-go-vcard))
> > + (home-page "https://github.com/emersion/go-webdav")
> > + (synopsis "Go library for WebDAV, CalDAV and CardDAV")
> > + (description "A Go library for WebDAV, CalDAV and CardDAV.")
> > + (license license:expat)))
> > +
> > (define-public go-github-com-google-go-cmp-cmp
> > (package
> > (name "go-github-com-google-go-cmp-cmp")
> > diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
> > index de6d21e7cc..dd813baef6 100644
> > --- a/gnu/packages/mail.scm
> > +++ b/gnu/packages/mail.scm
> > @@ -56,6 +56,7 @@
> > ;;; Copyright © 2023 Arjan Adriaanse arjan@adriaan.se
> >
> > ;;; Copyright © 2023 Wilko Meyer w@wmeyer.eu
> >
> > ;;; Copyright © 2024 Benjamin Slade slade@lambda-y.net
> >
> > +;;; Copyright © 2024 Jean Simard woshilapin@tuziwo.info
> >
> > ;;;
> > ;;; This file is part of GNU Guix.
> > ;;;
> > @@ -5121,3 +5122,39 @@ (define-public aerc
> > ;; <https://lists.sr.ht/~rjarry/aerc-devel/<b5cb213a7d0c699a886971658c2476
> > ;; 1073eb2391%40disroot.org%3E>
> >
> > (license license:gpl3+)))
> > +
> > +(define-public hydroxide
> > + (package
> > + (name "hydroxide")
> > + (version "0.2.28")
> > + (source
> > + (origin
> > + (method git-fetch)
> > + (uri (git-reference
> > + (url "https://github.com/emersion/hydroxide")
> > + (commit (string-append "v" version))))
> > + (file-name (git-file-name name version))
> > + (sha256
> > + (base32 "1a7qga9qxwcdjimra9d9jnkds1iwh2sqk6241p4di6awli9zksv1"))))
> > + (build-system go-build-system)
> > + (arguments
> > + (list
> > + #:import-path "github.com/emersion/hydroxide/cmd/hydroxide"
> > + #:unpack-path "github.com/emersion/hydroxide"))
> > + (inputs (list go-github-com-protonmail-go-crypto
> > + go-github-com-boltdb-bolt
> > + go-github-com-emersion-go-bcrypt
> > + go-github-com-emersion-go-imap
> > + go-github-com-emersion-go-mbox
> > + go-github-com-emersion-go-message
> > + go-github-com-emersion-go-smtp-v0.18
> > + go-github-com-emersion-go-vcard
> > + go-github-com-emersion-go-webdav
> > + go-golang-org-x-crypto
> > + go-golang-org-x-term))
> > + (home-page "https://github.com/emersion/hydroxide")
> > + (synopsis "Third-party, open-source ProtonMail bridge")
> > + (description "A third-party, open-source ProtonMail bridge.
> > + For power users only, designed to run on a server.
> > + hydroxide supports CardDAV, IMAP and SMTP.")
> > + (license license:expat)))
> > --
> > 2.41.0
diff mbox series

Patch

diff --git a/gnu/packages/golang-crypto.scm b/gnu/packages/golang-crypto.scm
index 94112973b5..5921acb4f1 100644
--- a/gnu/packages/golang-crypto.scm
+++ b/gnu/packages/golang-crypto.scm
@@ -21,6 +21,7 @@ 
 ;;; Copyright © 2023 Jack Hill <jackhill@jackhill.us>
 ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
 ;;; Copyright © 2024 Jesse Eisses <jesse@eisses.email>
+;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -375,6 +376,29 @@  (define-public go-github-com-dvsekhvalnov-jose2go
 library.")
     (license license:expat)))
 
+(define-public go-github-com-emersion-go-bcrypt
+  (package
+    (name "go-github-com-emersion-go-bcrypt")
+    (version "0.0.0-20170822072041-6e724a1baa63")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/go-bcrypt")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1pchrgs05w30iqbh4d6iys4wvlyajsdwchp5mkf59amgsbyjaqgm"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/emersion/go-bcrypt"))
+    (propagated-inputs (list go-golang-org-x-crypto))
+    (home-page "https://github.com/emersion/go-bcrypt")
+    (synopsis "Extract of bcrypt from golang.org/x/crypto/bcrypt")
+    (description "An extract bcrypt from golang.org/x/crypto/bcrypt.")
+    (license license:bsd-3)))
+
 (define-public go-github-com-emersion-go-pgpmail
   (package
     (name "go-github-com-emersion-go-pgpmail")
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 0b1a16d8e1..6e568d8add 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -45,6 +45,7 @@ 
 ;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
 ;;; Copyright © 2024 Troy Figiel <troy@troyfigiel.com>
 ;;; Copyright © 2024 Greg Hogan <code@greghogan.com>
+;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5860,6 +5861,32 @@  (define-public go-github-com-ddevault-go-libvterm
        "This is a fork of another go-libvterm library for use with aerc.")
       (license license:expat))))
 
+(define-public go-github-com-boltdb-bolt
+  (package
+    (name "go-github-com-boltdb-bolt")
+    (version "1.3.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/boltdb/bolt")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0z7j06lijfi4y30ggf2znak2zf2srv2m6c68ar712wd2ys44qb3r"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/boltdb/bolt"
+      #:tests? #f))
+    (home-page "https://github.com/boltdb/bolt")
+    (synopsis "Pure Go key/value store inspired by Howard Chu's LMDB project")
+    (description
+     "Bolt is a pure Go key/value store inspired by Howard Chu's LMDB project.
+     The goal of the project is to provide a simple, fast, and reliable database
+     for projects that don't require a full database server such as Postgres or MySQL.")
+    (license license:expat)))
+
 (define-public go-github-com-emersion-go-imap
   (package
     (name "go-github-com-emersion-go-imap")
@@ -5936,6 +5963,21 @@  (define-public go-github-com-emersion-go-smtp
 defined by RFC 5321.")
     (license license:expat)))
 
+(define-public go-github-com-emersion-go-smtp-v0.18
+  (package
+    (inherit go-github-com-emersion-go-smtp)
+    (name "go-github-com-emersion-go-smtp")
+    (version "0.18.0")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/go-smtp")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1d17gmz88cnfld8y1j2jsmldhvg8czbdmrjis0ls9zi7rfqlmnra"))))))
+
 (define-public go-github-com-emersion-go-sasl
   (package
     (name "go-github-com-emersion-go-sasl")
@@ -6085,6 +6127,99 @@  (define-public go-github-com-emersion-go-mbox
 @code{mbox} files.")
     (license license:expat)))
 
+(define-public go-github-com-emersion-go-vcard
+  (package
+    (name "go-github-com-emersion-go-vcard")
+    (version "0.0.0-20230815062825-8fda7d206ec9")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/go-vcard")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "12n5jinj5xzdfl9jhqvjbzxvj32bw310mdw4q5rjv35pk566zixl"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/emersion/go-vcard"))
+    (home-page "https://github.com/emersion/go-vcard")
+    (synopsis "Go library to parse and format vCard")
+    (description "A Go library to parse and format vCard.")
+    (license license:expat)))
+
+(define-public go-github-com-teambition-rrule-go
+  (package
+    (name "go-github-com-teambition-rrule-go")
+    (version "1.8.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/teambition/rrule-go")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1fnbava35w9z60carny5b7whd4nkv6hrf9g43wwg8d88gfij9zj2"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/teambition/rrule-go"))
+    (home-page "https://github.com/teambition/rrule-go")
+    (synopsis
+     "Go library for working with recurrence rules for calendar dates")
+    (description
+     "A go library for working with recurrence rules for calendar dates.")
+    (license license:expat)))
+
+(define-public go-github-com-emersion-go-ical
+  (package
+    (name "go-github-com-emersion-go-ical")
+    (version "0.0.0-20240127095438-fc1c9d8fb2b6")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/go-ical")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "01cn9kggkdalb6xp2nrka01gs40zs8v6h5bq8d2m8wrdcsy5b36v"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/emersion/go-ical"))
+    (propagated-inputs (list go-github-com-teambition-rrule-go))
+    (home-page "https://github.com/emersion/go-ical")
+    (synopsis "Go library for iCalendar")
+    (description "An iCalendar library for Go.")
+    (license license:expat)))
+
+(define-public go-github-com-emersion-go-webdav
+  (package
+    (name "go-github-com-emersion-go-webdav")
+    (version "v0.3.2-0.20220524091811-5d845721d8f7")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/go-webdav")
+             (commit (go-version->git-ref version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1vxf9k7m4lxsyry374bm4y34d2sb2ssy0c45mb1vchdfhffgyj9i"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/emersion/go-webdav"))
+    (propagated-inputs (list go-github-com-emersion-go-ical
+                             go-github-com-emersion-go-vcard))
+    (home-page "https://github.com/emersion/go-webdav")
+    (synopsis "Go library for WebDAV, CalDAV and CardDAV")
+    (description "A Go library for WebDAV, CalDAV and CardDAV.")
+    (license license:expat)))
+
 (define-public go-github-com-google-go-cmp-cmp
   (package
     (name "go-github-com-google-go-cmp-cmp")
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index de6d21e7cc..dd813baef6 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -56,6 +56,7 @@ 
 ;;; Copyright © 2023 Arjan Adriaanse <arjan@adriaan.se>
 ;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
 ;;; Copyright © 2024 Benjamin Slade <slade@lambda-y.net>
+;;; Copyright © 2024 Jean Simard <woshilapin@tuziwo.info>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5121,3 +5122,39 @@  (define-public aerc
     ;; <https://lists.sr.ht/~rjarry/aerc-devel/%3Cb5cb213a7d0c699a886971658c2476
     ;; 1073eb2391%40disroot.org%3E>
     (license license:gpl3+)))
+
+(define-public hydroxide
+  (package
+    (name "hydroxide")
+    (version "0.2.28")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/emersion/hydroxide")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1a7qga9qxwcdjimra9d9jnkds1iwh2sqk6241p4di6awli9zksv1"))))
+    (build-system go-build-system)
+    (arguments
+     (list
+      #:import-path "github.com/emersion/hydroxide/cmd/hydroxide"
+      #:unpack-path "github.com/emersion/hydroxide"))
+    (inputs (list go-github-com-protonmail-go-crypto
+                  go-github-com-boltdb-bolt
+                  go-github-com-emersion-go-bcrypt
+                  go-github-com-emersion-go-imap
+                  go-github-com-emersion-go-mbox
+                  go-github-com-emersion-go-message
+                  go-github-com-emersion-go-smtp-v0.18
+                  go-github-com-emersion-go-vcard
+                  go-github-com-emersion-go-webdav
+                  go-golang-org-x-crypto
+                  go-golang-org-x-term))
+    (home-page "https://github.com/emersion/hydroxide")
+    (synopsis "Third-party, open-source ProtonMail bridge")
+    (description "A third-party, open-source ProtonMail bridge.
+     For power users only, designed to run on a server.
+     hydroxide supports CardDAV, IMAP and SMTP.")
+    (license license:expat)))