blob: 4a7c437e5bed19af7c966a3ac61111f058e7cbf4 (
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# Maintainer: Jason Papakostas <vithos@gmail.com>
# Contributor: Sean Enck <enckse@gmail.com>
pkgname=oragono
pkgver=1.1.1
pkgrel=1
pkgdesc="A modern IRC server written in Go."
arch=('x86_64')
url="https://github.com/oragono/oragono"
license=('MIT')
install=install
depends=('glibc')
makedepends=('go' 'git')
source=("git+$url#tag=v$pkgver"
"git+https://github.com/oragono/oragono-vendor"
"oragono.service"
"oragono.sysusers"
"path.patch"
"oragono.tmpfiles")
sha256sums=('SKIP'
'SKIP'
'd35dd5205e3b607ee105a1252677d0607d0c35636ee3e6057275b5f13e555858'
'7e214caa8bee053adac26a00a17ed732970e86665cbe31553b1d3d609f0a49b4'
'9b6bae7dc9bb49cb2ca4ec4dedc23ac4f2f2275958caae34316ca4462d674e69'
'd56a8935891bc421683e48245786c9f8d9d4c449197de5f455ce7d7804907c7a')
backup=('etc/oragono.conf')
prepare() {
cd "${srcdir}/$pkgname"
local _path=$(pwd)
git submodule init
git config submodule.vendor.url "$srcdir"/oragono-vendor
git submodule update
patch -p1 < ../path.patch
cd vendor/github.com/$pkgname
rm -rf $pkgname
mkdir -p $pkgname
ln -s "$_path"/irc $pkgname/irc
ln -s "$_path"/mkcerts $pkgname/mkcerts
}
build() {
export GOPATH=$(pwd)/..
cd "${srcdir}/$pkgname"
# flags from https://wiki.archlinux.org/index.php/Go_package_guidelines
# to address issues namcap warns about:
# oragono W: ELF file ('usr/bin/oragono') lacks FULL RELRO, check LDFLAGS.
# oragono W: ELF file ('usr/bin/oragono') lacks PIE.
# related: https://bugs.archlinux.org/task/60928
GOFLAGS="-buildmode=pie" \
GOOS=linux GOARCH=amd64 \
go build -v \
-gcflags "all=-trimpath=${PWD}" \
-asmflags "all=-trimpath=${PWD}" \
-ldflags "-extldflags ${LDFLAGS}"
rm languages/README.md
rm -rf languages/example
}
check() {
export GOPATH=$(pwd)/..
cd "${srcdir}/$pkgname"
go test ./...
}
package() {
install -Dm644 oragono.service "$pkgdir/usr/lib/systemd/system/oragono.service"
install -Dm644 "$srcdir/oragono.sysusers" "$pkgdir/usr/lib/sysusers.d/oragono.conf"
install -Dm644 "$srcdir/oragono.tmpfiles" "${pkgdir}"/usr/lib/tmpfiles.d/oragono.conf
cd "${srcdir}/$pkgname"
install -Dm755 -d "$pkgdir/usr/share/$pkgname/i18n"
cp languages/* "$pkgdir/usr/share/$pkgname/i18n/"
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm755 oragono "$pkgdir/usr/bin/oragono"
install -Dm644 oragono.yaml "$pkgdir/etc/oragono.conf"
install -Dm644 oragono.motd "$pkgdir/usr/share/$pkgname/default.motd"
}
|