Something went wrong. Try again.
various tools I have been using throughout the years
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154local knit = require("knit")
local root = knit.abs(".")local deploy_dir = cli.deploy_dir or env.HOME .. "/.local/bin"
rust_bins := bin/dam bin/lastfm_rs bin/plantszig_bins := bin/pmn bin/pracomer bin/speedinessgo_bins := bin/wrd bin/rem2org bin/bandanopython_bins := bin/diggah bin/lazymaster bin/nts bin/shuffle bin/kundaliruby_bins := bin/hue bin/reflink-snapjanet_bins := bin/backupc_bins := bin/tpswitchmpd_queue_bins := bin/mpd_add_to_queue bin/mpd_edit_queue bin/mpd_update_queue bin/mpd_insert_next bin/mpd_trim_queuempd_playlist_bins := bin/mpd_add_to_playlist bin/mpd_edit_playlist bin/mpd_update_librarympd_report_bins := bin/mpd_now_playing bin/mpd_report bin/mpd_report_monthly bin/mpd_report_dailympd_bins := $mpd_queue_bins $mpd_playlist_bins $mpd_report_binsbins := $rust_bins $zig_bins $go_bins $mpd_bins $python_bins $ruby_bins $janet_bins $c_bins
cflags := -std=c17 -D_POSIX_C_SOURCE=200809L -Wall -Wextra -Wconversion -Wstrict-prototypes -O2 -march=native -mtune=native -fanalyzer -Wshadow -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIE -Wformat -Werror=format-security -Wnull-dereference -Wdangling-pointer -Wtrampolines -Walloca -Wcast-align=strict -Wdate-time -Wfloat-equal -Wpointer-arith -Wredundant-decls -Wswitch-default -Wvla -Wwrite-stringsldflags := -lmpdclient -Wl,-z,relro -Wl,-z,nowcc := /usr/bin/cc
hue_rb := hue/lib/hue.rb hue/lib/hue/bridge.rb hue/lib/hue/bulb.rb hue/lib/hue/cli.rb hue/lib/hue/colors.rb hue/lib/hue/animations/candle.rb hue/lib/hue/animations/sunrise.rb hue/lib/hue/cli/command.rb hue/lib/hue/colors/color.rb hue/lib/hue/colors/color_temperature.rb hue/lib/hue/colors/hue_saturation.rb hue/lib/hue/colors/rgb.rb hue/lib/hue/colors/xy.rb hue/lib/hue/config/abstract.rb hue/lib/hue/config/application.rb hue/lib/hue/config/bridge.rb hue/lib/hue/extensions/bridge.rb hue/lib/hue/extensions/bulb.rb hue/lib/hue/extensions/hue.rb hue/lib/hue/utilities/indentation.rb hue/lib/hue/cli/commands/delete.rb hue/lib/hue/cli/commands/light.rb hue/lib/hue/cli/commands/lights.rb hue/lib/hue/cli/commands/register.rb hue/lib/hue/cli/processors/light_state_alias.rb
return b{$ bin/dam: Cargo.toml Cargo.lock rust-toolchain.toml dam/Cargo.toml $(knit.glob("dam/src/*.rs")) cargo build --release -p dam cp target/release/dam $output
$ bin/lastfm_rs: Cargo.toml Cargo.lock rust-toolchain.toml lastfm_rs/Cargo.toml $(knit.glob("lastfm_rs/src/*.rs")) cargo build --release -p lastfm_rs cp target/release/lastfm_rs $output
$ bin/plants: Cargo.toml Cargo.lock rust-toolchain.toml plants/Cargo.toml $(knit.glob("plants/src/*.rs")) cargo build --release -p plants cp target/release/plants $output
$ bin/pmn: pmn/build.zig pmn/build.zig.zon $(knit.glob("pmn/src/*.zig")) cd pmn && zig build -Doptimize=ReleaseSafe cp pmn/zig-out/bin/pmn $output
$ bin/pracomer: pracomer/build.zig pracomer/build.zig.zon $(knit.glob("pracomer/src/*.zig")) cd pracomer && zig build -Doptimize=ReleaseSafe cp pracomer/zig-out/bin/pracomer $output
$ bin/speediness: speediness/build.zig speediness/build.zig.zon $(knit.glob("speediness/src/*.zig")) cd speediness && zig build -Doptimize=ReleaseSafe cp speediness/zig-out/bin/speediness $output
$ bin/wrd: wrd/go.mod $(knit.glob("wrd/*.go")) cd wrd && go build -o $(root)/$output .
$ bin/rem2org: rem2org/go.mod $(knit.glob("rem2org/*.go")) cd rem2org && go build -o $(root)/$output .
$ bin/bandano: bandano/go.mod bandano/go.sum $(knit.glob("bandano/*.go")) cd bandano && go build -o $(root)/$output .
$ bin/tpswitch: tpswitch/tpswitch.c $cc $cflags -o $output tpswitch/tpswitch.c
$ bin/mpd_add_to_playlist: mpd/mpd_add_to_playlist.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_add_to_playlist.c mpd/mpd_common.c $ldflags
$ bin/mpd_add_to_queue: mpd/mpd_add_to_queue.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_add_to_queue.c mpd/mpd_common.c $ldflags
$ bin/mpd_edit_queue: mpd/mpd_edit_queue.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_edit_queue.c mpd/mpd_common.c $ldflags
$ bin/mpd_update_library: mpd/mpd_update_library.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_update_library.c mpd/mpd_common.c $ldflags
$ bin/mpd_update_queue: mpd/mpd_update_queue.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_update_queue.c mpd/mpd_common.c $ldflags
$ bin/mpd_insert_next: mpd/mpd_insert_next.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_insert_next.c mpd/mpd_common.c $ldflags
$ bin/mpd_edit_playlist: mpd/mpd_edit_playlist.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_edit_playlist.c mpd/mpd_common.c $ldflags
$ bin/mpd_now_playing: mpd/mpd_now_playing.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_now_playing.c mpd/mpd_common.c $ldflags
$ bin/mpd_trim_queue: mpd/mpd_trim_queue.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_trim_queue.c mpd/mpd_common.c $ldflags
$ bin/mpd_report: mpd/mpd_report.c mpd/mpd_common.c mpd/mpd_common.h $cc $cflags -o $output mpd/mpd_report.c mpd/mpd_common.c $ldflags
$ bin/mpd_report_monthly: mpd/mpd_report_monthly cp mpd/mpd_report_monthly $output chmod +x $output
$ .venv-stamp: requirements.txt python3 -m venv .venv .venv/bin/pip install --quiet --require-hashes -r requirements.txt sha256sum requirements.txt > $output
$ bin/diggah: .venv-stamp diggah/diggah.py printf '#!/bin/sh\nexec "%s/.venv/bin/python" "%s/diggah/diggah.py" "$$@"\n' $root $root > $output chmod +x $output
$ bin/kundali: .venv-stamp kundali/kundali.py printf '#!/bin/sh\nexec "%s/.venv/bin/python" "%s/kundali/kundali.py" "$$@"\n' $root $root > $output chmod +x $output
$ bin/lazymaster: .venv-stamp lazymaster/lazymaster.py printf '#!/bin/sh\nexec "%s/.venv/bin/python" "%s/lazymaster/lazymaster.py" "$$@"\n' $root $root > $output chmod +x $output
$ bin/nts: .venv-stamp nts/nts.py printf '#!/bin/sh\nexec "%s/.venv/bin/python" "%s/nts/nts.py" "$$@"\n' $root $root > $output chmod +x $output
$ bin/shuffle: .venv-stamp shuffle/shuffle.py printf '#!/bin/sh\nexec "%s/.venv/bin/python" "%s/shuffle/shuffle.py" "$$@"\n' $root $root > $output chmod +x $output
$ bin/hue: hue/bin/hue $hue_rb printf '#!/bin/sh\nexec ruby -I"%s/hue/lib" "%s/hue/bin/hue" "$$@"\n' $root $root > $output chmod +x $output
$ bin/reflink-snap: reflink-snap/reflink-snap.rb printf '#!/bin/sh\nexec ruby "%s/reflink-snap/reflink-snap.rb" "$$@"\n' $root > $output chmod +x $output
$ bin/backup: backup/backup cp backup/backup $output chmod +x $output
$ all:VB: $bins
$ deploy-dir:VB: install -d -m 700 $deploy_dir
$ deploy/all:VB: deploy-dir $bins install -m 755 $bins $deploy_dir/ echo "deployed all tools to $deploy_dir"
$ deploy/mpd:VB: deploy-dir $mpd_bins install -m 755 $mpd_bins $deploy_dir/ echo "deployed mpd tools to $deploy_dir"
$ deploy/%:VB: deploy-dir bin/% install -m 755 bin/$match $deploy_dir/ echo "deployed $match to $deploy_dir"
$ bin/mpd_report_daily: mpd/mpd_report_daily cp mpd/mpd_report_daily $output chmod +x $output}