arch-pkgs/drone/PKGBUILD

112 lines
3.4 KiB
Bash

# Maintainer: George Rawlinson <grawlinson@archlinux.org>
# Contributor: Khorne <khorne AT khorne DOT me>
pkgbase=drone
pkgname=(
'drone'
'drone-oss'
)
pkgver=2.4.0
pkgrel=1
pkgdesc="Continuous Delivery platform built on container technology"
arch=('x86_64')
url="https://drone.io"
makedepends=('go' 'git')
source=(
"$pkgbase-$pkgver.tar.gz::https://github.com/drone/drone/archive/v$pkgver.tar.gz"
'systemd.service'
'tmpfiles.conf'
'sysusers.conf'
)
sha512sums=('91d5bace2bea4aeaa97b49f16153261d6dbd986bff7239367a84a68a7327d4a0d0d0015cf78b2b1e42ccc8fb69516b924c4aff8b0e11d1dac96443cdbe90ae7f'
'27d7556f7dfed78a7c0fa20ee6dcc0ed9328abb6c76b0431192b230c1c1031848db391e2368b9c210244b8da6c3be41ec66f47e1e1cc2d29a19991cfe2a07a04'
'dfdc522b0e17f6b68d86f6599020bc75328de84aa1a393c53a0edc5ed229fb6ef99a0b544eebca6f9eee1b9f2ce04906bcca105792bccf2e49cdd51f10026886'
'9488ba861487ecaf96e6b39afc3aeabd0951b9c0ee552cdb552d12f08f73cdcf2c57e5a322139f34e0aa5b2c9b2f5751f08bf66dca2bd8dd041b60b96e41c710')
b2sums=('7095ecbb3ece029b1b63ae1297f2a257fe9cc5e48de1eb596a6f25efc4e77e371b712f7647fe5ef44d96183cb0ca4e2fe83064995fd942eefe8c2897f938652a'
'3d3e2ad52fe1ec9f1c803540de5baa01ed0cda3b720551e6594223b5f0a836bc69448b30b6e1408d13e2451e6d25666c2bc7b188a7a1075afec4ef70a6f0b48c'
'9c1bf8e4a382190f2d1bd560ef5c4a9fadad8c38dcd3cf3b79af42f6d0c16de533ba2d5f6cf676003e4ca6b745833e5e100baf4328111cf540ac5f43f67c6145'
'18e5c4ea19348479dc3408bd2546f324f0908acc759c7c79c350006c6c5e6db02cd388a9aa9bd3d4f6b4b1f2efcf6aa7f7e67eac43f8d55566afe341b7ec142e')
prepare() {
cd "$pkgbase-$pkgver"
# create directory for build output
mkdir build build-oss
# download dependencies
go mod vendor
}
build() {
cd "$pkgbase-$pkgver"
# set Go flags
export CGO_CPPFLAGS="${CPPFLAGS}"
export CGO_CFLAGS="${CFLAGS}"
export CGO_CXXFLAGS="${CXXFLAGS}"
# enterprise version
go build -v \
-trimpath \
-buildmode=pie \
-mod=vendor \
-modcacherw \
-ldflags "-linkmode external -extldflags \"${LDFLAGS}\"" \
-o build \
./cmd/...
# community version
go build -v \
-trimpath \
-buildmode=pie \
-mod=vendor \
-modcacherw \
-ldflags "-linkmode external -extldflags \"${LDFLAGS}\"" \
-tags "oss nolimit" \
-o build-oss \
./cmd/...
}
check() {
cd "$pkgbase-$pkgver"
go test -v ./...
}
package_drone() {
pkgdesc+=" (Enterprise Edition)"
license=('custom:Drone-Non-Commercial')
# ref: https://discourse.drone.io/t/exec-runner-404-error-on-ping/7922
depends=('glibc' 'docker')
conflicts=('drone-oss')
# systemd integration
install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
cd "$pkgbase-$pkgver"
# binary
install -vDm755 -t "$pkgdir/usr/bin" build/*
# license
install -vDm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE NOTICE
}
package_drone-oss() {
pkgdesc+=" (Community Edition)"
license=('Apache')
depends=('glibc')
conflicts=('drone')
# systemd integration
install -vDm644 systemd.service "$pkgdir/usr/lib/systemd/system/$pkgname.service"
install -vDm644 sysusers.conf "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
install -vDm644 tmpfiles.conf "$pkgdir/usr/lib/tmpfiles.d/$pkgname.conf"
cd "$pkgbase-$pkgver"
# binary
install -vDm755 -t "$pkgdir/usr/bin" build-oss/*
}