Added PKGBUILD & CI step for deploying packages
parent
92ad025d40
commit
07cab64d12
|
@ -0,0 +1,32 @@
|
||||||
|
matrix:
|
||||||
|
PLATFORM:
|
||||||
|
- 'linux/amd64'
|
||||||
|
- 'linux/arm64'
|
||||||
|
|
||||||
|
platform: ${PLATFORM}
|
||||||
|
branches: ['master']
|
||||||
|
depends_on:
|
||||||
|
- 'vc'
|
||||||
|
|
||||||
|
pipeline:
|
||||||
|
build:
|
||||||
|
image: 'menci/archlinuxarm:base-devel'
|
||||||
|
commands:
|
||||||
|
# Update packages
|
||||||
|
- pacman -Syu --noconfirm
|
||||||
|
# Create non-root user to perform build & switch to their home
|
||||||
|
- groupadd -g 1000 builder
|
||||||
|
- useradd -mg builder builder
|
||||||
|
- chown -R builder:builder "$PWD"
|
||||||
|
- "echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers"
|
||||||
|
- su builder
|
||||||
|
# Build the package
|
||||||
|
- makepkg -s --noconfirm --needed
|
||||||
|
|
||||||
|
publish:
|
||||||
|
image: 'curlimages/curl'
|
||||||
|
secrets:
|
||||||
|
- 'vieter_api_key'
|
||||||
|
commands:
|
||||||
|
# Publish the package
|
||||||
|
- 'for pkg in $(ls -1 *.pkg*); do curl -XPOST -T "$pkg" -H "X-API-KEY: $VIETER_API_KEY" https://arch.r8r.be/vieter/publish; done'
|
|
@ -0,0 +1,18 @@
|
||||||
|
platform: 'linux/amd64'
|
||||||
|
branches: ['master']
|
||||||
|
depends_on:
|
||||||
|
- 'vc'
|
||||||
|
|
||||||
|
pipeline:
|
||||||
|
build-publish:
|
||||||
|
image: 'woodpeckerci/plugin-docker-buildx'
|
||||||
|
secrets: [ docker_username, docker_password ]
|
||||||
|
settings:
|
||||||
|
repo: chewingbever/vlang
|
||||||
|
tag: latest
|
||||||
|
dockerfile: Dockerfile.builder
|
||||||
|
platforms: [ linux/arm64/v8, linux/amd64 ]
|
||||||
|
# The build can run every time, because we should only push when there's
|
||||||
|
# actual changes
|
||||||
|
when:
|
||||||
|
event: push
|
|
@ -1,5 +1,5 @@
|
||||||
platform: linux/amd64
|
platform: 'linux/amd64'
|
||||||
branch: master
|
branch: 'master'
|
||||||
|
|
||||||
pipeline:
|
pipeline:
|
||||||
gen-vc:
|
gen-vc:
|
||||||
|
@ -46,16 +46,3 @@ pipeline:
|
||||||
- git -C vc push
|
- git -C vc push
|
||||||
when:
|
when:
|
||||||
event: push
|
event: push
|
||||||
|
|
||||||
publish:
|
|
||||||
image: woodpeckerci/plugin-docker-buildx
|
|
||||||
secrets: [ docker_username, docker_password ]
|
|
||||||
settings:
|
|
||||||
repo: chewingbever/vlang
|
|
||||||
tag: latest
|
|
||||||
dockerfile: Dockerfile.builder
|
|
||||||
platforms: [ linux/arm64/v8, linux/amd64 ]
|
|
||||||
# The build can run every time, because we should only push when there's
|
|
||||||
# actual changes
|
|
||||||
when:
|
|
||||||
event: push
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
# Maintainer: Jef Roosens
|
||||||
|
# This PKGBUILD is mostly copied over from the AUR
|
||||||
|
# https://aur.archlinux.org/packages/vlang-git
|
||||||
|
|
||||||
|
pkgname=vieter-v
|
||||||
|
pkgver=0.2.2.r796.gfbc02cbc5
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc='Simple, fast, safe, compiled language for developing maintainable software'
|
||||||
|
arch=('x86_64' 'aarch64')
|
||||||
|
url='https://vlang.io'
|
||||||
|
license=('MIT')
|
||||||
|
depends=('glibc')
|
||||||
|
makedepends=('git')
|
||||||
|
optdepends=('glfw: Needed for graphics support'
|
||||||
|
'freetype2: Needed for graphics support'
|
||||||
|
'openssl: Needed for http support')
|
||||||
|
provides=('vlang')
|
||||||
|
conflicts=('v' 'vlang' 'vlang-bin')
|
||||||
|
source=('vlang::git+https://git.rustybever.be/Chewing_Bever/v')
|
||||||
|
sha256sums=('SKIP')
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd "${srcdir}/vlang"
|
||||||
|
# Weekly tags are considered older than semantic tags that are older than
|
||||||
|
# them, so to prevent version resolution problems we exclude weekly tags.
|
||||||
|
git describe --long --tags --exclude "weekly*" | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "${srcdir}/vlang"
|
||||||
|
# We don't require optimizations when compiling the bootstrap executable and
|
||||||
|
# -O2 actually breaks `./v self` (resulting in "cgen error:"), so we empty
|
||||||
|
# CFLAGS and LDFLAGS to ensure successful compilation.
|
||||||
|
CFLAGS="" LDFLAGS="" prod=1 make
|
||||||
|
|
||||||
|
# vpm and vdoc fail to compile with "unsupported linker option" when LDFLAGS
|
||||||
|
# is set
|
||||||
|
LDFLAGS="" ./v build-tools
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "${srcdir}/vlang"
|
||||||
|
install -d "$pkgdir/usr/lib/vlang" "$pkgdir/usr/share/vlang" "$pkgdir/usr/bin"
|
||||||
|
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
||||||
|
install -Dm755 v "$pkgdir/usr/lib/vlang"
|
||||||
|
cp -a cmd "$pkgdir/usr/lib/vlang/"
|
||||||
|
cp -a examples "$pkgdir/usr/share/vlang/"
|
||||||
|
cp -a thirdparty "$pkgdir/usr/lib/vlang/"
|
||||||
|
cp -a vlib "$pkgdir/usr/lib/vlang/"
|
||||||
|
cp v.mod "$pkgdir/usr/lib/vlang/"
|
||||||
|
ln -s /usr/lib/vlang/v "$pkgdir/usr/bin/v"
|
||||||
|
|
||||||
|
touch "$pkgdir/usr/lib/vlang/cmd/tools/.disable_autorecompilation"
|
||||||
|
}
|
Loading…
Reference in New Issue