GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - pkgxdev/brewkit: build infra & `$ bk build`

BranchesTags
Open more actions menu

Latest commit

 

History

414 Commits
414 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
.vscode
.vscode
 
 
audit
audit
 
 
bin
bin
 
 
bottle
bottle
 
 
build
build
 
 
download-build-artifact
download-build-artifact
 
 
id
id
 
 
lib
lib
 
 
libexec
libexec
 
 
projects
projects
 
 
scripts
scripts
 
 
share
share
 
 
test
test
 
 
upload-build-artifact
upload-build-artifact
 
 
.gitignore
.gitignore
 
 
AGENTS.md
AGENTS.md
 
 
README.md
README.md
 
 
deno.jsonc
deno.jsonc
 
 
tea.yaml
tea.yaml
 
 

Repository files navigation

pkgx

BrewKit

Usage

$ bk build zlib.net
$ bk test zlib.net

Tip

If you’re inside a pantry clone then (after running dev) brewkit will build/test whatever has been edited.

Build Process Details

Note

$BREWROOT is either your pantry clone or ${XDG_DATA_HOME:-$HOME/.local/share}/brewkit.

Note

$PKGSLUG is the pkg project name with slashes replaced with unicode slashes and the version appended in -1.2.3 form.

  1. srcs are placed at $BREWROOT/srcs/$PKGSLUG
    • if the source type is a tarball, it is stored as $BREWROOT/srcs/$PKGSLUG.ext
  2. if the src type is not source control a git repository is initialized for the sources and all files are added to the git stage.
    • this is so you can make modifications and get a diff with git diff that you can then save for use in your build script
  3. the sources are cloned to $BREWROOT/builds/$PKGSLUG via rsync
  4. the build script is generated and placed at $BREWROOT/builds/$PKGSLUG.sh
    • the build script uses pkgx machinery to work, check it out
  5. a pkgx.yaml is generated to $BREWROOT/builds/$PKGSLUG
    • this way if you step into that directory and dev you get the full build environment for your pkg
  6. the build script is run
    • the prefix your build script is fed is $BREWROOT/installs/$PKGSLUG
  7. $BREWROOT/builds/$PKGSLUG is moved to ${PKGX_DIR:-$HOME/.pkgx}
    • without this step you would not be able to use the package from within your pantry clone
  8. Some key tools are always provided by brewkit (via shims that install on demand). These are:
    • cc, and the associated build toolchain (specifically latest LLVM)
      • if you want a specific LLVM or GCC then specify the dep and that will be used instead
    • make
    • patch
    • GNU install
    • pkg-config
    • GNU sed

Apologies

This repo is optimized for the GitHub Actions calling site and not for readability. I hate this but it’s the right choice for our users.

About

build infra & `$ bk build`

Topics

hacktoberfestpackage-management

Resources

Readme
Activity
Custom properties

Stars

66 stars

Watchers

4 watching

Forks

16 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.