Package Details: wtfutil 0.23.0-1

Git Clone URL: https://aur.archlinux.org/wtfutil.git (read-only)
Package Base: wtfutil
Description: Personal information dashboard for your terminal
Upstream URL: https://wtfutil.com
Keywords: dashboard
Licenses: MPL2
Submitter: Sweenu
Maintainer: yaakushi
Last Packager: yaakushi
Votes: 9
Popularity: 2.008560
First Submitted: 2018-05-31 18:37
Last Updated: 2019-10-11 20:07

Dependencies (1)

Required by (0)

Sources (1)

Latest Comments

1 2 3 Next › Last »

dangersalad commented on 2019-09-21 18:38

OK, thanks for the explanation.

yaakushi commented on 2019-09-20 17:36

@dangersalad: According to Arch's Go packages guideline [1]:

"There are two go packages in the repositories that you can build towards; go and go-pie. All packages should preferably be built towards go-pie as this enables us to deliver secure binaries. However, as upstream might have bugs, building towards go should be a last resort."

I do realize that's mostly aimed at the prebuilt packages at the official repositories, but I figured it'd be good practice to to the same here at AUR. Am I wrong?

[1] https://wiki.archlinux.org/index.php/Go_package_guidelines

dangersalad commented on 2019-09-20 17:33

Is there a reason to change from go to go-pie?

Kunda commented on 2019-09-19 14:43

@matthias.lisin Oh ok, yea, manjaro hasn't caught up yet. When it does, I'll test and report back

matthias.lisin commented on 2019-09-19 11:38

@Kunda Update go to 1.13

Kunda commented on 2019-09-19 11:02

==> Validating source files with sha256sums...
    wtfutil-0.22.0.tar.gz ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting wtfutil-0.22.0.tar.gz with bsdtar
==> Starting build()...
flag provided but not defined: -trimpath
usage: go build [-o output] [-i] [build flags] [packages]
Run 'go help build' for details.
==> ERROR: A failure occurred in build().
    Aborting...

Running Manjaro 18.1.0

yaakushi commented on 2019-09-19 04:44

I've bumped the package to its latest version, building from the source. It does need to set the GOPROXY env. var pointing to the GoCenter repository as described in the upstream documentation, otherwise the user wouldn't be able to fetch all of the dependencies.

@yochananmarqos Since this software is using Go mod, we don't need the prepare() bit (and we can also simplify the path inside $srcdir). Oh, and we do need to export the GOPROXY export before calling go build. Thank you for the help! I've made some small changes to it and listed you as a contributor.

yochananmarqos commented on 2019-09-18 20:54

matthias.lisin: How's this?

prepare() {
    mkdir -p gopath/src/github.com/$pkgname
    ln -rTsf wtf-$pkgver gopath/src/github.com/$pkgname/wtf
}

build() {
    cd gopath/src/github.com/$pkgname/wtf
    go build -o bin/wtfutil \
        -trimpath \
        -ldflags "-extldflags ${LDFLAGS}" \
        .
}

package() {
    cd "wtf-$pkgver"
    install -Dm755 "bin/$pkgname" "$pkgdir/usr/bin/$pkgname"
    install -Dm644 LICENSE.md "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
    install -Dm644 README.md "$pkgdir/usr/share/docs/$pkgname/README.md"

matthias.lisin commented on 2019-09-18 19:22

@yochananmarqos I don't think this is the way to go. Even though you download the .tar.gz source, you then redownload the package using go get.

This does not use the source. It downloads the latest revision from Github.

Edit: Also, it's not reproducible. See Go packaging guidelines#Flags and build options

yochananmarqos commented on 2019-09-18 17:55

@yaakushi: Here you go. You may add me as a Co-Maintainer or Contributor if you'd like.

pkgname=wtfutil
pkgver=0.22.0
pkgrel=1
pkgdesc="Personal information dashboard for your terminal"
arch=('i686' 'x86_64' 'aarch64' 'armv6h')
url="https://wtfutil.com"
license=('MPL2')
makedepends=('go')
source=("$pkgname-$pkgver.tar.gz::https://github.com/wtfutil/wtf/archive/v$pkgver.tar.gz")
sha256sums=('b421af6aceba9b4f4ff67d591fd899e5357891a06fa13704ec4e77f983ee1064')

build() {
    export GOPATH="$srcdir"

    # Set the Go proxy variable to GoCenter
    export GOPROXY="https://gocenter.io"

    # Disable the Go checksum database
    export GOSUMDB=off

    # Enable Go modules
    export GO111MODULE=on

    go get -u github.com/wtfutil/wtf
}

package() {
    install -Dm755 bin/wtf "$pkgdir/usr/bin/$pkgname"
    install -Dm644 "wtf-$pkgver/LICENSE.md" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.md"
    install -Dm644 "wtf-$pkgver/README.md" "$pkgdir/usr/share/docs/$pkgname/README.md"
}