summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: af6329dfcc1ab1f4c904d264dc7a3420af6997ff (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: Daniel Peukert <daniel@peukert.cc>
pkgname='logcrash-decoder'
pkgver='1.0'
pkgrel='1'
pkgdesc="Decoder for Nadeo's LogCrash files generated by Trackmania and Maniaplanet"
arch=('x86_64' 'i686' 'pentium4' 'armv7h' 'aarch64')
url="https://github.com/codecat/$pkgname"
license=('unknown')
makedepends=('go>=1.16' 'git-lfs')
source=(
	"$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
	"$pkgname-$pkgver-fix-decoding.diff::$url/commit/e048bbbcbf6b742dd9b8799a17349d50f3ad070c.diff"
	"$pkgname-$pkgver-fix-address-format.diff::$url/commit/541a4a2261f50ba8a3980f6100082fda94477e73.diff"
	'fix-go-zydis-sum.diff'
)
sha512sums=('e569cbbddba59b9f9f43ce22ea81204346e3a403deaacda724fe0b1bcd75b52fad5d13ff18c1ff96b93fe1902ce69ca387f7d0848a86b5f7c3bfca017dbb1a22'
            'ce78b4e483f5dc8df31a4ae62fbd3ae62cb637c2db99891fa6f19844130cdddf9c9c7b38c9b6093fea58af75a771974d73d599fb4fa935c08851271117a883b1'
            '2cb0b4c452f27e607b38a0945202b4abd38e0f0ce14f337284ae55cfa6fafd6fb85c7b6b7cc13b3fbddd774f6a9c80dd6d8c7740ef9a4956a0de7565a3cd7bb3'
            '94747da0a264553e170676629a32fc46162c648b4474e099ec12492ed2b9769941d05ab305e43a741aad4ecbcf44d2f9d761b929dd052cd01a2361dd2ea70010')

_sourcedirectory="$pkgname-$pkgver"
_bindir="$pkgname-bin"
_gopath="$pkgname-gopath"

prepare() {
	mkdir -p "$srcdir/$_bindir/"
	mkdir -p "$srcdir/$_gopath/"

	# Apply patches
	cd "$srcdir/$_sourcedirectory/"

	patch --forward -p1 < "$srcdir/$pkgname-$pkgver-fix-decoding.diff"
	patch --forward -p1 < "$srcdir/$pkgname-$pkgver-fix-address-format.diff"

	# Replace go-zydis checksum, as we don't use the default proxy
	patch --forward -p1 < "$srcdir/fix-go-zydis-sum.diff"

	# Make sure Git LFS is initialized
	git lfs install
}

build() {
	cd "$srcdir/$_sourcedirectory/"
	export GOPATH="$srcdir/$_gopath"
	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'
	# Use GOPRIVATE for the go-zydis dependency, as the default proxy doesn't support LFS
	export GOPRIVATE='github.com/jpap/go-zydis'
	go build -v -o "$srcdir/$_bindir/" './...'
}

check() {
	"$srcdir/$_bindir/$pkgname" --help 2>&1 | tee '/dev/stderr' | grep -q '^Usage of'
}

package() {
	cd "$srcdir/"
	install -dm755 "$pkgdir/usr/bin/"
	install -Dm755 "$_bindir/"* "$pkgdir/usr/bin/"
}