chore: added initial vlang stuff
ci/woodpecker/push/vlang Pipeline failed
Details
ci/woodpecker/push/vlang Pipeline failed
Details
commit
9dc77c6b86
|
@ -0,0 +1,34 @@
|
|||
matrix:
|
||||
PLATFORM:
|
||||
- linux/amd64
|
||||
- linux/arm64
|
||||
|
||||
platform: ${PLATFORM}
|
||||
|
||||
when:
|
||||
path: 'vlang/PKGBUILD.vlang'
|
||||
|
||||
pipeline:
|
||||
build:
|
||||
image: 'git.rustybever.be/vieter-v/vieter-builder'
|
||||
commands:
|
||||
# Add the vieter repository so we can use the compiler
|
||||
- echo -e '[vieter]\nServer = https://arch.r8r.be/$repo/$arch\nSigLevel = Optional' >> /etc/pacman.conf
|
||||
# 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
|
||||
- cd vlang
|
||||
- makepkg -s --noconfirm --needed
|
||||
|
||||
publish:
|
||||
image: 'curlimages/curl'
|
||||
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'
|
||||
secrets:
|
||||
- vieter_api_key
|
|
@ -0,0 +1,5 @@
|
|||
# Build tools
|
||||
|
||||
Vieter requires several tools to be developed, one of which being a specific
|
||||
version of Vlang. This repository manages Dockerfiles & other packages for
|
||||
these various tools.
|
|
@ -0,0 +1,65 @@
|
|||
# Maintainer: Jef Roosens
|
||||
# Contributor: Logan Magee <mageelog@gmail.com>
|
||||
|
||||
_v_commit_sha=d1f57ead713c8e5254d8cef22991e6409dc1f06b
|
||||
_vc_commit_sha=1f7f0244f352d41122bb306446d98ae3de4e6b02
|
||||
|
||||
pkgname=vieter-vlang
|
||||
pkgver="$(echo "${_v_commit_sha}" | cut -c -8)"
|
||||
pkgrel=1
|
||||
epoch=1
|
||||
pkgdesc='Locked Vlang version used to develop Vieter'
|
||||
arch=('x86_64' 'aarch64')
|
||||
url='https://vlang.io'
|
||||
license=('MIT')
|
||||
depends=('glibc')
|
||||
optdepends=('glfw: Needed for graphics support'
|
||||
'freetype2: Needed for graphics support'
|
||||
'openssl: Needed for http support')
|
||||
makedepends=('git')
|
||||
conflicts=('v' 'vlang')
|
||||
source=("${pkgname}.zip::https://github.com/vlang/v/archive/${_v_commit_sha}.zip"
|
||||
"${pkgname}-vc.zip::https://github.com/vlang/vc/archive/${_vc_commit_sha}.zip")
|
||||
sha256sums=('6886469efe21463276d682e658f415ea1167a9efb41bf2a8fd6577abb753f2e4'
|
||||
'91b6b4b576659f222e8aa3569124e95e17feb5c0b436ecc0f30db04ff24f6e39')
|
||||
sha512sums=('81481854928f31c2cfc3c49acaa9b579712bbfa66cf2a31c5a2df2af47511b9fb62576844cdf1bcf1512b8cea58d4d637ad44110d2a73a0b55b6f41efa984b25'
|
||||
'8eab18f5d01a417c0cdbfd995fdd570ca92fd2ce245eda08762de0021487fff1c6084c91fcc7fcdfd37aa618d2f71c0222df6f434b014fe3b71d284795762b0b')
|
||||
|
||||
prepare() {
|
||||
# In case the previous directory still exists
|
||||
rm -rf "v-${_v_commit_sha}/vc"
|
||||
|
||||
mv "vc-${_vc_commit_sha}" "v-${_v_commit_sha}/vc"
|
||||
|
||||
# We have to set local=1 because we manually download a specific vc
|
||||
# version. This flag also disables downloading tcc, so we do that
|
||||
# beforehand.
|
||||
make -C "v-${_v_commit_sha}" fresh_tcc
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "v-${_v_commit_sha}"
|
||||
|
||||
CFLAGS="" LDFLAGS="" make prod=1 local=1
|
||||
|
||||
# Compile all tools
|
||||
LDFLAGS='' ./v build-tools
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "v-${_v_commit_sha}"
|
||||
|
||||
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"
|
||||
}
|
||||
|
||||
# vim: ft=bash
|
|
@ -0,0 +1,50 @@
|
|||
# Maintainer: Jef Roosens
|
||||
|
||||
pkgname=vieter-vls
|
||||
pkgver=r678.607138c
|
||||
pkgrel=1
|
||||
pkgdesc='Locked version used with for Vieter development.'
|
||||
arch=('x86_64' 'aarch64')
|
||||
|
||||
url='https://github.com/vlang/vls'
|
||||
license=('MIT')
|
||||
|
||||
depends=('glibc' 'vieter-vlang')
|
||||
makedepends=('git')
|
||||
|
||||
source=("${pkgname}::git+https://github.com/vlang/vls")
|
||||
md5sums=('SKIP')
|
||||
|
||||
pkgver() {
|
||||
cd "${pkgname}"
|
||||
|
||||
echo "r$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${pkgname}"
|
||||
|
||||
v run build.vsh gcc
|
||||
|
||||
msg "Building treesitter grammar..."
|
||||
|
||||
# Building with -prod is required because otherwise, the binary contains
|
||||
# tcc symbols which isn't usually installed on the user's system.
|
||||
v -cc gcc -shared -prod tree_sitter_v
|
||||
}
|
||||
|
||||
package() {
|
||||
# Install vls
|
||||
install -dm755 "${pkgdir}/usr/bin"
|
||||
install -Dm755 "${pkgname}/bin/vls" "${pkgdir}/usr/bin/vls"
|
||||
install -Dm644 "${pkgname}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
|
||||
|
||||
# Install treesitter grammar
|
||||
# This package installs the parser & queries for Neovim in its runtimepath
|
||||
install -dm755 "${pkgdir}/usr/share/nvim/runtime/parser"
|
||||
install -dm755 "${pkgdir}/usr/share/nvim/runtime/queries/v"
|
||||
install -Dm755 "${pkgname}/tree_sitter_v/tree_sitter_v.so" "${pkgdir}/usr/share/nvim/runtime/parser/v.so"
|
||||
install -m644 "${pkgname}/tree_sitter_v/queries"/* "${pkgdir}/usr/share/nvim/runtime/queries/v"
|
||||
}
|
||||
|
||||
# vim: ft=bash
|
Loading…
Reference in New Issue