You've already forked gotosocial_aur
148 lines
5.6 KiB
Bash
148 lines
5.6 KiB
Bash
# Maintainer: George Rawlinson <grawlinson@archlinux.org>
|
|
# Contributor: malacology <guoyizhang at malacology dot net>
|
|
# Contributor: Stefan Husmann <stefan-husmann@t-online.de>
|
|
|
|
pkgname=gotosocial
|
|
pkgver=0.20.2
|
|
pkgrel=11
|
|
pkgdesc='ActivityPub social network server written in Golang'
|
|
arch=(x86_64)
|
|
url='https://gotosocial.org'
|
|
license=(AGPL-3.0-only)
|
|
depends=(glibc)
|
|
makedepends=(git go yarn nodejs go-swagger)
|
|
options=(!lto)
|
|
backup=(
|
|
etc/gotosocial/config.yaml
|
|
etc/gotosocial/template/2fa.tmpl
|
|
etc/gotosocial/template/404.tmpl
|
|
etc/gotosocial/template/about.tmpl
|
|
etc/gotosocial/template/authorize-interaction.tmpl
|
|
etc/gotosocial/template/authorize.tmpl
|
|
etc/gotosocial/template/confirm-email.tmpl
|
|
etc/gotosocial/template/confirmed-email.tmpl
|
|
etc/gotosocial/template/domain-allowlist.tmpl
|
|
etc/gotosocial/template/domain-blocklist.tmpl
|
|
etc/gotosocial/template/email_confirm.tmpl
|
|
etc/gotosocial/template/email_new_report.tmpl
|
|
etc/gotosocial/template/email_new_signup.tmpl
|
|
etc/gotosocial/template/email_report_closed.tmpl
|
|
etc/gotosocial/template/email_reset.tmpl
|
|
etc/gotosocial/template/email_signup_approved.tmpl
|
|
etc/gotosocial/template/email_signup_rejected.tmpl
|
|
etc/gotosocial/template/email_test.tmpl
|
|
etc/gotosocial/template/error.tmpl
|
|
etc/gotosocial/template/finalize.tmpl
|
|
etc/gotosocial/template/index.tmpl
|
|
etc/gotosocial/template/index_register.tmpl
|
|
etc/gotosocial/template/index_what_is_this.tmpl
|
|
etc/gotosocial/template/login-info.tmpl
|
|
etc/gotosocial/template/login_button.tmpl
|
|
etc/gotosocial/template/maintenance.tmpl
|
|
etc/gotosocial/template/oob.tmpl
|
|
etc/gotosocial/template/page.tmpl
|
|
etc/gotosocial/template/page_footer.tmpl
|
|
etc/gotosocial/template/page_header.tmpl
|
|
etc/gotosocial/template/page_ogmeta.tmpl
|
|
etc/gotosocial/template/page_stylesheets.tmpl
|
|
etc/gotosocial/template/profile-gallery.tmpl
|
|
etc/gotosocial/template/profile.tmpl
|
|
etc/gotosocial/template/profile_about_user.tmpl
|
|
etc/gotosocial/template/profile_fields.tmpl
|
|
etc/gotosocial/template/profile_header.tmpl
|
|
etc/gotosocial/template/settings.tmpl
|
|
etc/gotosocial/template/sign-in.tmpl
|
|
etc/gotosocial/template/sign-up.tmpl
|
|
etc/gotosocial/template/signed-up.tmpl
|
|
etc/gotosocial/template/status.tmpl
|
|
etc/gotosocial/template/status_attachment.tmpl
|
|
etc/gotosocial/template/status_attributes.tmpl
|
|
etc/gotosocial/template/status_header.tmpl
|
|
etc/gotosocial/template/status_info.tmpl
|
|
etc/gotosocial/template/status_poll.tmpl
|
|
etc/gotosocial/template/tag.tmpl
|
|
etc/gotosocial/template/thread.tmpl
|
|
)
|
|
source=(
|
|
"$pkgname::git+https://codeberg.org/superseriousbusiness/gotosocial#tag=v$pkgver"
|
|
sysusers.conf
|
|
tmpfiles.conf
|
|
use-fhs-directories.patch
|
|
modded.patch
|
|
)
|
|
sha512sums=('99e6c82c5cceaa8d088de5f7ef2114d37b3512343424e8f06464b46d20a06f0c91309249e08450dab0c35d1525a1535cb7917ba18dbba80fce553db3d1f6b882'
|
|
'2ff5499a31e12733cb20a9261942ed135fbac327d5a836b8955f3e86c009a603cf965440d9dbe6db64b80d0f652ba56faddb0ef398393b72474d8cf6c438ab80'
|
|
'b89fad3073e140f17167515b38942e5b5e2bc2aee03c484e1bb7cf6444f86cb1e2a13a60b101e04d22633d348be073ca26cd309da4746e5062c12b4f3ce4b38a'
|
|
'87edf6e6acee86a621c838a7db32f1c9aab70bc5640f8eae099c5133a2be77ec2f711261d716a6821e4c0414436592170b1ae7a5f652bc8aeab49c8dbd0fedde'
|
|
'9eadab35be81f9a4676fa9c623cdb7321e53055a3b7b1b2f8795a8c9f2e9059e6d7088b86dd23a85d2b234f8c938575089e7203dadfbdae486211c7f8f1f3ac1')
|
|
b2sums=('fbafcfd2ab39595c5e043ec7d3a17617a77f4007d1837d26fd829c5df27523e7af131e4f0531edb0114364db263f8ec868c6e176b93dac7446d9f3f0852e2002'
|
|
'ccf672731b88fc6700b0b81737790365e1eea0066bad1bbf6b13dac1e5b42af69063838efca47a6d9c16ee3f6308e2e23b92cf79d4226cd88f8551fb7361649b'
|
|
'4f65af952441c0f54bb32049a149675e207f8993678423d369c4095c57476464614ac720eccc64d7a93a81268ad7ca41cae75ca7211bd7b78f9035f6e5341f04'
|
|
'3671911545d15cc21045b37fbe6983c05499e66b8a6a1e1b3eccbb5c2686914c88b090dec0bfe8e2919d8787e5b4c59bfb1e2c292cad30a8b552ab57e91d5fdf'
|
|
'b0331e3fdf107bf072c35849155dd7a03d9c0e815a34182f0f108ec30b9a8d3a18b4ba38e24074a81812896c3cbbb189548591549d97fafcee8aef7a76827512')
|
|
|
|
prepare() {
|
|
cd "$pkgname"
|
|
|
|
# create directory for build output
|
|
mkdir build
|
|
|
|
patch -p1 -i "$srcdir/modded.patch"
|
|
# download dependencies
|
|
export GOPATH="${srcdir}"
|
|
go mod download
|
|
|
|
# use FHS directories
|
|
patch -p1 -i "$srcdir/use-fhs-directories.patch"
|
|
}
|
|
|
|
build() {
|
|
cd "$pkgname"
|
|
|
|
# set Go flags
|
|
export CGO_CPPFLAGS="${CPPFLAGS}"
|
|
export CGO_CFLAGS="${CFLAGS}"
|
|
export CGO_CXXFLAGS="${CXXFLAGS}"
|
|
export GOPATH="${srcdir}"
|
|
|
|
# generate up-to-date swagger.yaml
|
|
swagger generate spec --scan-models --exclude-deps -o web/assets/swagger.yaml
|
|
sed -e "s/REPLACE_ME/$pkgver/" -i web/assets/swagger.yaml
|
|
|
|
go build -v \
|
|
-buildmode=pie \
|
|
-mod=readonly \
|
|
-modcacherw \
|
|
-ldflags "-compressdwarf=false \
|
|
-linkmode external \
|
|
-extldflags '${LDFLAGS}' \
|
|
-X main.Version=$pkgver" \
|
|
-o build \
|
|
./cmd/...
|
|
|
|
# generate web assets
|
|
yarn --cwd ./web/source install --frozen-lockfile
|
|
yarn --cwd ./web/source ts-patch install
|
|
yarn --cwd ./web/source build
|
|
}
|
|
|
|
package() {
|
|
# systemd integration
|
|
install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
|
|
install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
|
|
install -vDm644 "$pkgname/example/$pkgname.service" -t "$pkgdir/usr/lib/systemd/system"
|
|
|
|
cd "$pkgname"
|
|
|
|
# binary
|
|
install -vDm755 -t "$pkgdir/usr/bin" "build/$pkgname"
|
|
|
|
# configuration
|
|
install -vDm640 -t "$pkgdir/etc/$pkgname" example/config.yaml
|
|
|
|
# web frontend
|
|
install -vd "$pkgdir/usr/share/$pkgname"
|
|
cp -vr web/assets/* "$pkgdir/usr/share/$pkgname"
|
|
cp -vr web/template "$pkgdir/etc/$pkgname"
|
|
}
|