Packagemanager-LFS-PackageUser-System git · main
Package-user based package manager for LFS/BLFS
Shell 63.7% Markdown 35.8%git clone https://git.christianimmanuel.de/linux-from-scratch/Packagemanager-LFS-PackageUser-System.gitwget https://git.christianimmanuel.de/linux-from-scratch/Packagemanager-LFS-PackageUser-System/archive/Packagemanager-LFS-PackageUser-System.tar.gzstacks/tools.stack raw
# tools.stack -- command-line tools for everyday use.
# stack-version: 1.14.320
#
# WHAT THIS MACHINE NEVER BUILDS is in avoid.stack, included by every stack
# here: the exclusions are a property of the machine, not of one stack.
include avoid
#
# packagemanager stack tools --run
#
# WHY ITS OWN STACK. Every stack here answers one question (see dev.stack).
# This one is "the small programs you type": nothing boots with them, the
# desktop does not need them, and nothing depends on them -- safe to build
# last, safe to leave out.
# TRANSLATE SHELL (`trans`): Google, Bing, Yandex and others from a terminal.
# trans :de "good evening" -> German
# trans -b en:de "text" just the translation
# trans -shell interactive
#
# Not a BLFS page; upstream's tag. v0.9.7.1 is the newest (checked with git
# ls-remote); built and installed here with the two lines below: `make`
# runs gawk over the sources and writes ONE script, build/trans, and
# `make PREFIX=/usr install` copies it and trans.1. Nothing is compiled.
#
# gawk is its interpreter (LFS has it). curl is what it fetches with -- it
# warns "curl is not found" and returns nothing without it -- hence needs=.
# Optional at runtime: mpv for -speak (media.stack), rlwrap for -shell history.
git translate-shell \
url=https://github.com/soimort/translate-shell \
ref=v0.9.7.1 \
prog=trans \
needs=curl \
build="make" \
install="make PREFIX=/usr install" \
expect="test -x /usr/bin/trans"
# jq -- moved here from sway.stack in 1.14.320. Not in the book, so this entry is ours -- and it was BUILT to write
# it, not guessed:
#
# - jq-1.8.2 is the newest tag (jq-1.8.2rc1 exists too; the release
# tarball is the non-rc one), md5 e288a84cf2957ea2cfc643aa9e59b473
# - the release tarball ships `configure`, so no autogen.sh step
# - oniguruma is NOT on the system and does not need to be: configure says
# "Oniguruma was not found. Will use the packaged oniguruma", builds the
# copy in vendor/, and `jq -n '"abc"|test("b")'` answers true. That is
# the probe below -- `jq --version` would pass on a jq with no regex,
# which is the half of jq most scripts use.
tar jq url=https://github.com/jqlang/jq/releases/download/jq-1.8.2/jq-1.8.2.tar.gz \
pkg=jq-1.8.2.tar.gz prog=jq \
build="./configure --prefix=/usr; make" \
install="make install" \
expect="jq -n '\"abc\" | test(\"b\")' >/dev/null 2>&1"