# Maintainer: Bruno Pagani # Maintainer: Maxime Gauduin # Contributor: Frederik Schwan # ALARM: Kevin Mihelich # - reduce go garbage collection memory usage with GOGC=50 # - don't check repo signature until author puts his keys on keyservers pkgname=gitea pkgver=1.13.5 pkgrel=1 pkgdesc="Painless self-hosted Git service. Community managed fork of Gogs." arch=(x86_64) url="https://gitea.io" license=(MIT) depends=(git) makedepends=(go nodejs npm) optdepends=( 'mariadb: MariaDB support' 'memcached: MemCached support' 'openssh: GIT over SSH support' 'pam: Authentication via PAM support' 'postgresql: PostgreSQL support' 'redis: Redis support' 'sqlite: SQLite support' ) backup=('etc/gitea/app.ini') _tag=138e6d8b9dc19badd41ef67c113b5eafe5ee6864 # git rev-parse v${pkgver} source=("git+https://github.com/go-gitea/gitea.git#tag=${_tag}" gitea.tmpfiles gitea.service gitea.sysusers gitea-arch-defaults.patch) sha256sums=('SKIP' '1521fd7edc3830c695698ffe9835709f1408040b5ec989f07410972c894fa8ba' 'd4e6b0dc3d5b40c3f1254b5a8bc8f62e0b1126e0559b1f024b3ebf0ccda91af8' '7e7b798b8ce035c1fb55993ece41c5efb6cad5922708866804fa50ada0cf9fa5' '9209c385a59cef83fd4c526b445de998c7b30c345c0b6101570142b4ce29ee1f') validpgpkeys=( 8C4033A23895237CB27D52D9D9B5613BEB813F99 # Matti Ranta old RSA2048, retrieved from https://github.com/techknowlogick.gpg B56E3C7437A49E136862F5DE9D8A57ADAA232E95 # Matti Ranta new RSA4096, retrieved from https://github.com/techknowlogick.gpg ED810FD31FBE67F406ED71BDD4F1E9B6493ED946 # Jonas Franz 9C5BCD799B3CDB124147A748E0DDFEC24C48784C # Lauris Bukšis-Haberkorns D8F9672D77C0BB60A024C23EDFDE60A0093EB926 # Lauris Bukšis-Haberkorns new RSA4096 BA66F67FD73F7058D712D308C3B7C91B632F738A # Lunny Xiao , retrieved from https://github.com/lunny.gpg B5F0915813554C32C1D599C2C99B82E40B027BAE # '6543' <6543@obermui.de> ) prepare() { cd ${pkgname} # Change some defaults for ArchLinux patch -Np1 -i ../gitea-arch-defaults.patch # Fetch dependency using go mod make vendor } pkgver() { cd ${pkgname} git describe --tags | sed 's/^v//' } build() { cd ${pkgname} export GOGC=50 export CGO_CPPFLAGS="${CPPFLAGS}" export CGO_CFLAGS="${CFLAGS}" export CGO_CXXFLAGS="${CXXFLAGS}" export CGO_LDFLAGS="${LDFLAGS}" export EXTRA_GOFLAGS="-buildmode=pie -trimpath -mod=readonly -modcacherw" export LDFLAGS="-X 'code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea/'" export TAGS="bindata sqlite sqlite_unlock_notify pam" make -j1 } package() { install -Dm755 ${pkgname}/${pkgname} -t "${pkgdir}"/usr/bin/ install -Dm644 ${pkgname}/LICENSE -t "${pkgdir}"/usr/share/licenses/${pkgname}/ install -Dm644 ${pkgname}.service -t "${pkgdir}"/usr/lib/systemd/system/ install -Dm644 ${pkgname}.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/${pkgname}.conf install -Dm644 ${pkgname}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${pkgname}.conf install -D ${pkgname}/custom/conf/app.example.ini "${pkgdir}"/etc/gitea/app.ini }