GithubHelp home page GithubHelp logo

nilium / spiff-packages Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 78 KB

Personal xbps package templates for Void Linux (Migrated to https://git.sr.ht/~nilium/spiff-packages)

License: BSD 2-Clause "Simplified" License

Shell 100.00%
void-linux xbps packages

spiff-packages's Introduction

spiff-packages

This is a collection of xbps package templates. I haven't yet set up automated builds for these, and they change.. almost never (there's an exception to this). So, this is currently a manual thing.

Requirements

To use spiff-packages, you need to have mergerfs(1), git(1), and fex(1) installed. These can all be installed using XBPS.

Steps to Build

  1. Prepare the void-packages repository:

    $ ./ws init
    
  2. Install the bootstrap packages (you can also do this normally from the void-packages directory):

    $ ./ws binary-bootstrap
    
  3. From then, you can pass any command to ws to create package bindings and run xbps-src with a given command. For example, to run xbps-src pkg:

    $ ./ws pkg retrap
    

Running Other Programs

To run an arbitrary program in the void-packages workspace with bindings in place, you can use ws run:

```
$ ./ws run xgensum srcpkgs/template/retrap
```

Building All Packages

To run a command against all known packages, you can use the text {pkg} in a command line in place of a package name and ws will run the command for all packages it identifies.

$ ./ws pkg {pkg}

How This Works

Most of the detail of this repository is contained in the ws script. First, what ./ws init does is clones both void-packages and xtools, or if they're already cloned, updates them to HEAD.

Then, for any subsequent command, such as ./ws pkg {pkg}, it creates a temporary mergerfs mount that merges void-packages and the root directory (under which srcpkgs is contained). By doing this, it keeps personal package templates separate from the main void-packages commit history and allows me to maintain these independently of void-packages (since it moves quite quickly).

The mergerfs mount only exists for the duration of the ws command being executed. It's possible that the mount will survive in the event of a crash or unexpected signal (no attempt is made to handle all signals), however, in which case you can use fusermount -u .work (.work is the default name of the mount).

spiff-packages's People

Contributors

nilium avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.