Subject: Re: [PATCH 3/3] gnu: add hydroxide

From: woshilapin <[email-masked]>
Date: Sat, 29 Jun 2024 12:53:30 +0000

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 <[email-masked]> 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 [email-masked]
> 
> ;;; Copyright © 2024 Troy Figiel [email-masked]
> 
> ;;; Copyright © 2024 Jesse Eisses [email-masked]
> 
> +;;; Copyright © 2024 Jean Simard [email-masked]
> 
> ;;;
> ;;; 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 [email-masked]
> 
> ;;; Copyright © 2024 Troy Figiel [email-masked]
> 
> ;;; Copyright © 2024 Greg Hogan [email-masked]
> 
> +;;; Copyright © 2024 Jean Simard [email-masked]
> 
> ;;;
> ;;; 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 [email-masked]
> 
> ;;; Copyright © 2023 Wilko Meyer [email-masked]
> 
> ;;; Copyright © 2024 Benjamin Slade [email-masked]
> 
> +;;; Copyright © 2024 Jean Simard [email-masked]
> 
> ;;;
> ;;; 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