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