Blackhole-vl

July 22, 2026 · View on GitHub

Note

This project is not affiliated with or endorsed by the Void Linux project or its maintainers.

Use at your own discretion.


⚠️ Migration Notice

Warning

The binary repository system has been migrated.

Previous GitHub-based binary repositories (e.g. repository-x86_64, repository-aarch64) are deprecated and no longer updated.

All users must switch to the new VPS-based mirror system. Remove the old /etc/xbps.d/20-repository-extra.conf configuration and use the new mirror system.

For migration steps, see: Repository migration troubleshooting →

Overview

A collection of template files for building packages on Void Linux with xbps-src.

This repository provides:

  • stable templates with prebuilt binaries (main branch)
  • fully working templates without binaries (manual branch)

Binary Repository (CURRENT)

Use the VPS-based mirror:


Branches

Important

The manual branch includes a larger set of packages compared to main.

Some packages are only available there due to size or build constraints. If something is missing in main, you will likely find it in manual. This repository is split into branches with different guarantees:

main

  • Stable and tested templates
  • Prebuilt binary packages are provided
  • Recommended for end users

manual

  • Templates are expected to build successfully
  • No prebuilt binaries are provided
  • Intended for local/manual builds only
  • This branch exists due to GitHub size and storage limitations

package-specific branches

  • One branch per package or feature under development
  • Used for testing, refactoring, or initial bring-up
  • May be incomplete or broken
  • Changes are merged into manual or main only after validation

Installation

Currently packages are tested on / crosscompiled for the following architectures:

  • x86_64
  • x86_64-musl
  • aarch64
  • aarch64-musl
Manually building

Recommended for the manual branch

  1. Clone both this repository and void-packages:

    git clone https://github.com/Event-Horizon-VL/blackhole-vl.git
    git clone https://github.com/void-linux/void-packages.git
    
  2. (Optional) Switch to a specific branch:

    cd blackhole-vl
    git checkout manual
    
  3. Copy the template files into void-packages:

    cp -r blackhole-vl/srcpkgs/* void-packages/srcpkgs/
    
  4. Edit shlibs by removing the lines found in shlibs_remove and appending the lines from shlibs_append:

    grep -vFxf blackhole-vl/shlibs_remove void-packages/common/shlibs > temp
    mv temp void-packages/common/shlibs
    cat blackhole-vl/shlibs_append >> void-packages/common/shlibs
    
  5. Bootstrap the build system:

    cd void-packages
    ./xbps-src binary-bootstrap
    
  6. Build the desired packages:

    ./xbps-src pkg <package1> <package2> ...
    
  7. Install the built packages:

    sudo xbps-install --repository /hostdir/binpkgs/ <package1> <package2> ...
    
Prebuilt binaries

Available only for the main branch

  1. Create a local repository configuration by copying the default Void repository file, then add the Blackhole mirror with higher priority:

    sudo cp /usr/share/xbps.d/00-repository-main.conf /etc/xbps.d/
    sudo sed -i "1i repository=https://mirror.black-hole.dev/$(xbps-uhelper arch)" /etc/xbps.d/00-repository-main.conf
    
  2. Refresh repositories and accept the fingerprint:

    sudo xbps-install -S
    
  3. Search and install packages as usual:

    xbps-query -Rs hypr
    sudo xbps-install -S hyprland
    

Troubleshooting

unresolvable shlib libhyprutils.so.10

This usually means that an old Blackhole repository configuration is still present on the system.

  1. Remove the deprecated repository configuration:
    sudo rm -f /etc/xbps.d/20-repository-extra.conf
  1. Add the current mirror as the highest-priority repository.
    sudo cp /usr/share/xbps.d/00-repository-main.conf /etc/xbps.d/

For x86_64:

    sudo sed -i '1i repository=https://mirror.black-hole.dev/x86_64/' /etc/xbps.d/00-repository-main.conf

For x86_64-musl:

    sudo sed -i '1i repository=https://mirror.black-hole.dev/x86_64-musl/' /etc/xbps.d/00-repository-main.conf

For aarch64:

    sudo sed -i '1i repository=https://mirror.black-hole.dev/aarch64/' /etc/xbps.d/00-repository-main.conf

For aarch64-musl:

    sudo sed -i '1i repository=https://mirror.black-hole.dev/aarch64-musl/' /etc/xbps.d/00-repository-main.conf
  1. Refresh repository metadata:
    sudo xbps-install -S
  1. Retry the installation.

ERROR: package: the RSA signature is not valid!

This usually means corrupted or partially updated package metadata or cached binaries.

Fix it by clearing the local xbps cache and retrying:

    sudo xbps-remove -O
    sudo rm -rf /var/cache/xbps/*
    sudo xbps-install -S

If the issue persists, remove the problematic package and reinstall it:

    sudo xbps-remove -R <package>
    sudo xbps-install -S <package>

Contributing

Contributions are highly appreciated.

Contribution workflow:

  • Do not target manual directly unless the resulting .xbps package is smaller than 100 MB and requires less than 8 GB of RAM to build.
  • In all other cases, the pull request must target manual.

This repository follows the same general rules and guidelines as void-packages CONTRIBUTING.md.


Credits

Special thanks

  • Encoded14

💖 Support My Work

BoostyBuyMeaCoffee