Package Details: hydroxide 0.2.15-1

Git Clone URL: https://aur.archlinux.org/hydroxide.git (read-only, click to copy)
Package Base: hydroxide
Description: A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge
Upstream URL: https://github.com/emersion/hydroxide
Keywords: carddav go imap protonmail protonmail-bridge smtp
Licenses: MIT
Submitter: axolotl
Maintainer: axolotl (Nitroretro)
Last Packager: Nitroretro
Votes: 4
Popularity: 0.177528
First Submitted: 2020-01-04 21:41
Last Updated: 2020-07-02 14:10

Latest Comments

Nitroretro commented on 2020-04-29 08:56

Thanks! If you have any questions about the changes feel free to ask.

axolotl commented on 2020-04-29 03:48

You seem interested and aware of community standards, happy to hand share management and let you push best practices. Added you as a Co-Maintainer, so feel free to realign things as appropriate.

Nitroretro commented on 2020-04-29 03:31

However, I am kind of partial to the minimalism achieved by relying upon the toolchain to fetch source, so let me know your thoughts.

The tarball already contains a go.sum file. It will always be the same as the one that you had when committing the package since we're checking the checksum of the tarball.

More info: Go package guidelines#Modern Go project (for Go >=1.11)


Also, go-pie vs go?

Building towards go-pie should be preferred for security reasons. I haven't encountered any issues with building against go-pie and when I tried hydroxide out everything seemed to be working as intended.

More info: Go package guidelines#Building


The license is a good touch that I always miss, is that documented somewhere, as it is not in the samples.

The reason you don't see the sample PKGBUILDs copying the license is that the license is GPL and it's already located at /usr/share/licenses/common/GPL/license.txt. MIT is treated as a common license, but technically each one is a different license due to the Copyright [...] line being included, which is why you have to copy it.

More info: PKGBUILD#license


I suggest you take a look at the following ArchWiki pages when you have time:

axolotl commented on 2020-04-29 02:58

So, I was definitely trying something out here and am not surprised that it does not align with existing package samples. That being said, I am happy to introduce the build stripping, and FLAGS.

However, I am kind of partial to the minimalism achieved by relying upon the toolchain to fetch source, so let me know your thoughts. Also, go-pie vs go?

The license is a good touch that I always miss, is that documented somewhere, as it is not in the samples.

Nitroretro commented on 2020-04-29 02:44

I didn't realize this was on the AUR and I made a PKGBUILD myself. I noticed your PKGBUILD doesn't necessarily respect the Go package guidelines.

Here's the PKGBUILD that I made:

# Maintainer: Nitroretro <nitroretro@protonmail.com>

pkgname=hydroxide
pkgver=0.2.14
pkgrel=1
pkgdesc="A third-party, open-source ProtonMail CardDAV, IMAP and SMTP bridge"
arch=("x86_64")
url="https://github.com/emersion/hydroxide"
license=("MIT")
depends=("glibc")
makedepends=("go-pie")
source=("${url}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz"
    "${url}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz.sig")
sha512sums=("21f07c88e3e33319672d60e1ba062dd18f2e04767a7c70616007098743f8d6e2f53e325f688c910f53d34823257a0e9c60057a1ac899757c37877f36352cdb16"
            "SKIP")
validpgpkeys=("34FF9526CFEF0E97A340E2E40FDE7BE0E88F5E48")

build() {
    cd "${pkgname}-${pkgver}"
    go build \
        -trimpath \
        -ldflags "-extldflags ${LDFLAGS}" \
        "./cmd/${pkgname}"
}

package() {
    cd "${pkgname}-${pkgver}"
    install -Dm755 "${pkgname}" "${pkgdir}/usr/bin/${pkgname}"
    install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

Feel free to use it however you want!