summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 3fdc0ed466ccb40c96e03cce6248e61dc8fc0b1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# Maintainer: Luis Martinez <luis dot martinez at disroot dot org>

## Credit to ayatale for the systemd and config files

pkgname=alist
pkgver=3.0.2
pkgrel=1
pkgdesc="File list program that supports multiple storage"
arch=('x86_64' 'i686' 'arm' 'armv6h' 'arm7vh' 'aarch64')
url="https://github.com/xhofe/alist"
license=('AGPL3')
depends=('glibc')
makedepends=('go')
backup=('etc/alist/config.json')
install=alist.install
source=("$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
        'alist.service'
        'alist.tmpfiles'
        'config.json')
sha256sums=('a8d9af1a920f040f7c20157c90700b58cd61e568de1527b231dc0181c5d16713'
            'b96d55f7e83310a7556a5b023be60e12f44c484e3e136f1488d737126c9ed34f'
            '48eb4f8f1070cfd2f9594fe72cb4b1a35fce091251fda11e2082f573f62ac12b'
            'ba9cd5b593313183ad8c0f008a6edba539063193c416d3893a5344e104a3fff1')

prepare() {
	cd "$pkgname-$pkgver"
	mkdir -p build
	go mod download
}

build() {
	export CGO_CPPFLAGS="${CPPFLAGS}"
	export CGO_CFLAGS="${CFLAGS}"
	export CGO_CXXFLAGS="${CXXFLAGS}"
	export CGO_LDFLAGS="${LDFLAGS}"
	export GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw"
	cd "$pkgname-$pkgver"
	## i tried, doesn't actually tag properly
	go build -o build \
		-ldflags="-linkmode external -extldflags \"${LDFLAGS}\" \
		-X 'github.com/Xhofe/alist/conf.GoVersion=$(go version | awk '{print $3}')' \
		-X 'github.com/Xhofe/alist/conf.GitTag=$pkgver'"
}

## FIXME: tests require an active connection
# check() {
# 	export CGO_CPPFLAGS="${CPPFLAGS}"
# 	export CGO_CFLAGS="${CFLAGS}"
# 	export CGO_CXXFLAGS="${CXXFLAGS}"
# 	export CGO_LDFLAGS="${LDFLAGS}"
# 	export GOFLAGS="-buildmode=pie -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
# 	cd "$pkgname-$pkgver"
# 	go test ./...
# }

package() {
	cd "$pkgname-$pkgver"
	install -D "build/$pkgname" -t "$pkgdir/usr/bin/"
	install -Dm644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
	install -Dm644 "$srcdir/alist.service" -t "$pkgdir/usr/lib/systemd/system/"
	install -Dm644 "$srcdir/alist.tmpfiles" "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
	install -Dm644 "$srcdir/config.json" -t "$pkgdir/etc/$pkgname/"
}