Framework/glue for working with xbps-src
to bulk build packages from custom and restricted templates.
You can aggregate templates from multiple sources, updating all of them at once (probably with a git pull
).
See known template collections for a list of links to collections of templates I could find all around the interwebs.
Please open a pull request if you have more!
See also the-maldridge/xbps-mini-builder.
bash
- GNU
make
xtools
xtools-extra
- Automatically downloaded if you have an internet connection.
# xbps-install -S bash make xtools
- Clone this repository:
$ git clone https://github.com/freddylist/xbps-src-framework.git
- Create an
xbps-src.conf
to your liking:cp xbps-src.conf.sample xbps-src.conf
- I recommend having the following set:
This makesXBPS_MIRROR=https://repo-fastly.voidlinux.org/current XBPS_CCACHE=yes
xbps-src
use the faster Fastly CDN mirror and enables CCache. Just remember to install theccache
package!- You can also add build options here:
# Global build options XBPS_PKG_OPTIONS=opt,~opt2,opt3,~opt4 # Per-package build options XBPS_PKG_OPTIONS_foo=opt,~opt2,opt3,~opt4
- Create directory named
srcpkgs
next to the makefile. - Symlink or move packages that you wish to build on
make pkgs
to thesrcpkgs
directory.- Don't symlink subpackages. If you need to build a subpackage, symlink the main package. Subpackages are always created with the main package, whether you want them to or not.
- Run
make pkgs
ormake <pkgname>
.- Run
make sign
to sign all repositories and packages.
- Run
- Run
make install
to install repository configuration.- This allows you to use
xbps-install
without--repository=path/to/hostdir/binpkgs
.
- This allows you to use
From there, you can have a cron/snooze job occasionally update template sources and build symlinked packages for you.
If something's borked, you can try make clean
.
Do not be afraid to open an issue if something is unclear or doesn't work.
Somewhat alive:
- freddylist/antivoid-packages
- ayoubelmhamdi/void-linux-templates
- Elvyria/voids-package-nightmare
- sug0/voided-packages
- mobinmob/abyss-packages
- DAINRA/ungoogled-chromium-void
- Marcoapc/voidxanmodK
- weebi/void-packages
Seem to be kinda dead: