Archlinux repository server & package build system, written in V.
 
 
 
 
 
 
Go to file
Jef Roosens f7e1aba30b
ci/woodpecker/push/arch unknown status Details
ci/woodpecker/push/docker unknown status Details
ci/woodpecker/push/lint Pipeline failed Details
ci/woodpecker/push/build Pipeline was successful Details
ci/woodpecker/push/test Pipeline was successful Details
Attempt at writing renew_queue function; seems to just stop in the
middle
2022-04-13 16:12:22 +02:00
.woodpecker Gave all modules own directory; added test CI pipeline 2022-04-10 16:48:37 +02:00
src Attempt at writing renew_queue function; seems to just stop in the 2022-04-13 16:12:22 +02:00
.dockerignore Switched to patch-based builder, based on weekly 2022-01-27 19:18:11 +01:00
.editorconfig Just some changes to poke CI 2022-03-27 23:33:33 +02:00
.gitignore Merged dockerfiles 2022-02-22 18:04:54 +01:00
CHANGELOG.md Updated CHANGELOG [CI SKIP] 2022-04-09 22:41:38 +02:00
Dockerfile Renamed data_dir to repos_dir 2022-04-07 15:21:27 +02:00
LICENSE Added AGPLv3 license [CI SKIP] 2022-01-27 22:34:12 +01:00
Makefile Started writing cron expression parser [CI SKIP] 2022-04-10 16:17:50 +02:00
PKGBUILD This is to tickle the CI 2022-04-07 21:36:33 +02:00
README.md Forgot trailing slash [CI SKIP] 2022-04-09 22:09:38 +02:00
renovate.json Add renovate.json 2022-04-11 10:01:38 +00:00
test.py Solved the "removing old packages" problem (I think) 2022-04-09 21:08:54 +02:00
vieter.toml Attempt at writing renew_queue function; seems to just stop in the 2022-04-13 16:12:22 +02:00

README.md

Vieter

Documentation

I host documentation for Vieter over at https://rustybever.be/docs/vieter/.

Overview

Vieter is a restart of the Pieter project. The goal is to create a simple, lightweight self-hostable Arch repository server, paired with a system that periodically builds & publishes select Arch packages. This would allow me to build AUR packages (or PKGBUILDs I created myself) "in the cloud" & make sure I never have to compile anything on my own systems, making my updates a lot quicker.

Why V?

I chose V as I've been very intrigued by this language for a while now. I wanted a fast language that I could code while relaxing, without having to exert too much mental effort & V seemed like the right choice for that.

Custom Compiler

Currently, this program only works with a very slightly modified version of the V standard library, and therefore the compiler. The source code for this fork can be found here. You can obtain this modified version of the compiler by running make v, which will clone & build the compiler. Afterwards, all make commands that require the V compiler will use this new binary. I try to keep this fork as up to date with upstream as possible.

Features

  • Arch repository server
    • Support for multiple repositories & multiple architectures
    • Endpoints for publishing new packages
    • API for managing repositories to build
  • Build system
    • Periodic rebuilding of packages
    • Prevent unnecessary rebuilds

Building

In order to build Vieter, you'll need a couple of libraries:

  • gc
  • libarchive
  • openssl

Before building Vieter, you'll have to build the compiler using make v. Afterwards, run make to build the debug binary.