diff options
| -rw-r--r-- | AGENTS.md | 182 | ||||
| -rw-r--r-- | CLAUDE.md | 231 | ||||
| -rw-r--r-- | README.md | 46 |
3 files changed, 197 insertions, 262 deletions
@@ -1,7 +1,7 @@ -# Agent Instructions — SlackBuilds Repository +# SlackBuilds Repository -This file governs how AI agents must behave in this repository. -**Read it in full before taking any action.** +Personal collection of SlackBuild scripts maintained by Danilo, compatible with +[SlackBuilds.org (SBo)](https://slackbuilds.org) conventions. --- @@ -38,9 +38,15 @@ Each package lives in its own top-level subfolder: Root-level files you may need to edit: ``` -nvchecker.toml # Upstream version tracking — one entry per package +.extras/nvchecker.toml # Upstream version tracking — one entry per package ``` +### `.extras/` holds all non-package repo files + +Anything that is not a SlackBuild package must live under `.extras/`, never at +the repo root. In particular, design docs and specs go in +`.extras/docs/`, NOT a top-level `docs/`. + --- ## Mandatory Workflow: Updating a Package Version @@ -105,17 +111,50 @@ Before creating any files, ask the user for: - The upstream source URL and version - Any non-SBo runtime dependencies +Also check the package name is free on SlackBuilds.org: search +https://slackbuilds.org/result/?search=<name> (or browse the category). +If the name is taken by an unrelated project, pick a distinct name (e.g. +gitea-cli instead of tea, whose slot is a text editor) and keep the upstream +binary name via a SRCNAM variable in the SlackBuild. + Then proceed: 1. Create the package directory with all required files: `<prgnam>.SlackBuild`, `<prgnam>.info`, `README`, `slack-desc` 2. Follow the SlackBuild scripting rules below exactly. -3. Add an entry for the package in `nvchecker.toml`. +3. Add an entry for the package in `.extras/nvchecker.toml`. 4. Run `sbofixinfo`, then `sbodl` (two-pass if needed), then `sbolint`. 5. Report results and wait for commit instruction. --- +## Templates + +Templates live in `~/Templates/SlackBuilds/sbo/` (a git clone of the SBo +templates). **Always start from these templates** when authoring a NEW +SlackBuild, or when taking over maintenance of an existing script. Read the +matching template first; do not copy an existing package from this repo and +rename it — an old package can carry drift the current template has since fixed. + +Pick by build system: + +| Template | Use for | +|----------|---------| +| `sbo/python-template.SlackBuild` | Python packages (setup.py and pyproject-only paths) | +| `sbo/autotools-template.SlackBuild` | `./configure && make` | +| `sbo/cmake-template.SlackBuild` | CMake | +| `sbo/meson-template.SlackBuild` | Meson | +| `sbo/perl-template.SlackBuild` | Perl modules | +| `sbo/rubygem-template.SlackBuild` | Ruby gems | +| `sbo/haskell-template.SlackBuild` | Haskell | +| `sbo/template.info`, `sbo/slack-desc`, `sbo/README`, `sbo/doinst.sh`, `sbo/douninst.sh` | the other package files | + +Strip the template's instructional comment blocks and unused branches (e.g. the +python2/setup.py path, the man-page gzip block when upstream ships no man pages) +before shipping the script. + +--- + ## SlackBuild Scripting Rules - Base all scripts on the SBo template: https://slackbuilds.org/templates/ @@ -125,6 +164,11 @@ Then proceed: - Strip binaries and libraries (unless upstream explicitly discourages it). - Install docs to `/usr/doc/$PRGNAM-$VERSION/`. - Always include the `find -L` + `chown`/`chmod` cleanup block before packaging. +- Copy repo files into `$PKG` with `cat src > dest`, never `cp`. `cat` writes + through a fresh destination so the build's umask/root ownership sets the + perms; `cp` bleeds the git working-tree mode/ownership into the package. + Applies to `slack-desc`, `doinst.sh`, and any file staged from `$CWD` + (SlackBuild, README, `.nvchecker`) into `$PKG`. - Build the package with `makepkg -l y -c n`. ### `.info` file — required fields @@ -144,19 +188,34 @@ EMAIL="danix@danix.xyz" - `REQUIRES=""` if no SBo dependencies; otherwise space-separated SBo package names. - Checksums must match the exact source archive — verify with `sbodl`. +- `MD5SUM` may be replaced by `SHA256SUM` where preferred. ### `slack-desc` rules - Exactly 11 lines, each prefixed with `package-name: `. - Line 1: `package-name: package-name (short one-liner description)` - Lines 2–11: prose description; blank lines use `package-name:` with nothing after the colon. -- Do not include the ruler line in the committed file. +- Handy ruler line must be included (but not shipped). + +--- + +## Tooling: sbo-maintainer-tools + +Source: https://slackware.uk/~urchlay/repos/sbo-maintainer-tools + +| Tool | Purpose | +|------|---------| +| `sbolint` | Lint `.SlackBuild`, `README`, `.info`, `slack-desc` | +| `sbopkglint` | Lint the built package | +| `sbofixinfo` | Auto-fix common `.info` file issues | +| `sbodl` | Download sources and verify `MD5SUM`/`SHA256SUM` from `.info` | +| `pre-commit-sbolint` | Git pre-commit hook — blocks commits that fail `sbolint` | --- ## Version Tracking: nvchecker.toml -Every package in this repo must have an entry in `nvchecker.toml`. +Every package in this repo must have an entry in `.extras/nvchecker.toml`. Example for a GitHub-hosted package: ```toml @@ -182,12 +241,20 @@ to git. Before any `git add`, run from the repo root: find . -type l -delete ``` -Commit conventions: -- One commit per package add or update. -- Message format: - - Add: `<package-name>: add version X.Y.Z` - - Update: `<package-name>: update to X.Y.Z` - - Fix: `<package-name>: fix <short description>` +### Git hook setup + +Both hooks are tracked in the `.extras/hooks/` directory. Install them after cloning: + +```bash +cp .extras/hooks/pre-commit .git/hooks/pre-commit +cp .extras/hooks/post-commit .git/hooks/post-commit +chmod +x .git/hooks/pre-commit .git/hooks/post-commit +``` + +| Hook | Trigger | Purpose | +|------|---------|---------| +| `pre-commit` | Before every commit | Runs `sbolint` on staged packages; blocks commit on errors. Also checks for staged source archives: symlinks are auto-removed, real files block the commit. | +| `post-commit` | After every commit | Offers to create a `SBo/<pkg>.tar.gz` archive for submission | The pre-commit hook runs `sbolint` automatically. If it blocks the commit, fix the reported errors and retry — do not bypass with `SBOLINT=no` unless the user @@ -196,6 +263,13 @@ explicitly instructs it. The post-commit hook may prompt to create an SBo archive. This is interactive and may fail in non-TTY environments — that failure is harmless and can be ignored. +Commit conventions: +- One commit per package add or update. +- Message format: + - Add: `<package-name>: add version X.Y.Z` + - Update: `<package-name>: update to X.Y.Z` + - Fix: `<package-name>: fix <short description>` + --- ## What Requires User Confirmation @@ -206,5 +280,85 @@ Stop and ask before doing any of the following: - Modifying files in more than one package directory - Deleting any file - Bypassing the pre-commit hook (`SBOLINT=no`) -- Adding or removing entries in `nvchecker.toml` +- Adding or removing entries in `.extras/nvchecker.toml` - Any action not covered by the workflows above + +--- + +## Running Test Builds + +The general rule is: **never run builds directly.** Building is the user's +responsibility. + +The one exception is the `test-build-slackbuild` skill, which builds the package +in a Docker container via `sbo-dockerbuild` without touching the host system. +Use it to verify that a SlackBuild completes successfully, especially for new +packages or after significant changes. + +--- + +## Findings + +Repo-specific gotchas discovered during maintenance. Append new entries here +so they are not rediscovered. Each entry names the package, the symptom, the +cause, and the action. + +Each entry carries a `Found` date. Recheck stale entries (roughly >6 months +old) against current `sbolint`/`sbopkglint`/`test-build` behavior before +trusting them, since upstream tooling fixes can retire a false positive. + +### claude-code-bin: do not strip the bun binary + +- Found: 2026-08-15 +- Symptom: `sbopkglint` 20-arch fails with "ELF object(s) not stripped" on + `usr/bin/claude`. +- Cause: the binary is bun-generated; stripping breaks it at runtime. +- Action: leave it unstripped. The `sbopkglint` failure is expected; do not + add a strip pass to the SlackBuild. + +### claude-desktop-bin: OVMF symlinks flagged as broken + +- Found: 2026-08-15 +- Symptom: `sbopkglint` 05-basic-sanity fails with "broken relative symlinks" + for `/usr/share/OVMF/OVMF_{CODE,VARS}{,_4M}.fd`. +- Cause: the symlinks point at `edk2-ovmf-x64` files provided by the + `edk2-ovmf` REQUIRES dep, which is not installed in the lint sandbox. +- Action: keep the symlinks, they are needed at runtime. The failure is a + false positive. + +### llama.cpp-vulkan: sbolint false flag on tag archive URLs + +- Found: 2026-08-15 +- Symptom: `sbolint` errors "github commit URL needs full 40-digit commit + hash in filename" for the `archive/b<N>/llama.cpp-b<N>.tar.gz` DOWNLOAD. +- Cause: `sbolint` misidentifies the short build tag (e.g. `b10437`) as a + commit hash. +- Action: known false flag and the documented exception to Core Rule 4. Run + the normal checks, then commit with `SBOLINT=no`. Do not switch to full + commit hashes. + +### nvchecker: test-build needs --local-deps + +- Found: 2026-08-15 +- Symptom: `test-build --dry-run nvchecker` reports `UNMET-DEP` for + `python3-awesomeversion` and `python3-structlog`. +- Cause: those deps are siblings in this repo, not in the SBo tree. +- Action: run `test-build --local-deps --dry-run nvchecker` first, then + `test-build --local-deps --yes nvchecker`. + +### opencode-bin: sbodl verifies a stale cached file + +- Found: 2026-08-20 +- Symptom: after bumping the version, `sbodl` reports an md5 identical to + the previous release, or a `matches OK` for a tarball that must have + changed. +- Cause: the sbodl download cache is keyed by filename, and opencode's + tarball has no version in its name (`opencode-linux-x64.tar.gz`). The + cache held the old release under that name, so sbodl verified it without + downloading. +- Action: run `sbodl -f` to force a re-download when the cached file may be + stale, then verify the reported md5 differs from the previous release + before updating `.info`. Use `-f` only when a filename-versionless source + could hide a stale cache entry (e.g. after a version bump); do NOT use it + for every `sbodl` call. If `-f` is not available, delete the entry under + `~/sbodl-cache/` and re-run plain `sbodl`. @@ -1,229 +1,8 @@ # SlackBuilds Repository -Personal collection of SlackBuild scripts maintained by Danilo, compatible with -[SlackBuilds.org (SBo)](https://slackbuilds.org) conventions. +This file is intentionally thin. AGENTS.md is the single source of truth for +this repository's rules, workflows, and findings, shared across every agent +tool (Claude Code, opencode, etc). Do not re-populate this file with +duplicated content, edit AGENTS.md instead. ---- - -## Repo Structure - -Each package lives in its own top-level subfolder: - -``` -<package-name>/ -├── <package-name>.SlackBuild # Main build script -├── <package-name>.info # Metadata (version, checksums, URLs) -├── README # Description and usage notes -├── slack-desc # Package description (11-line format) -├── <package-name>.desktop # (optional) Desktop entry for GUI apps -└── [...] # other optional files -``` - -Version tracking is handled by a single file: - -``` -.extras/nvchecker.toml # nvchecker config listing all packages -``` - -### `.extras/` holds all non-package repo files - -Anything that is not a SlackBuild package must live under `.extras/`, never at -the repo root. In particular, design docs and specs go in -`.extras/docs/`, NOT a top-level `docs/`. The build repository consumes this -repo as a subtree, and a top-level `docs/` folder leaks into that subtree. -(This has been fixed twice already; keep it in `.extras/`.) - ---- - -## SlackBuild Scripting Guidelines - -### Templates live in `~/Templates/SlackBuilds/` - -The official SBo templates are kept locally as a git clone at -`~/Templates/SlackBuilds/sbo/` (a second clone, `conraid/`, holds Conraid's -scripts for reference). Both are refreshed by -`~/Templates/SlackBuilds/update-templates.sh`, which pulls each clone; run it to -get the latest upstream templates before starting work. - -**Always start from these templates** when authoring a NEW SlackBuild, or when -taking over maintenance of an existing script on SBo. Read the matching template -first, do not copy an existing package from this repo and rename it, an old -package can carry drift the current template has since fixed. - -Pick by build system: - -| Template | Use for | -|----------|---------| -| `sbo/python-template.SlackBuild` | Python packages (setup.py and pyproject-only paths) | -| `sbo/autotools-template.SlackBuild` | `./configure && make` | -| `sbo/cmake-template.SlackBuild` | CMake | -| `sbo/meson-template.SlackBuild` | Meson | -| `sbo/perl-template.SlackBuild` | Perl modules | -| `sbo/rubygem-template.SlackBuild` | Ruby gems | -| `sbo/haskell-template.SlackBuild` | Haskell | -| `sbo/template.info`, `sbo/slack-desc`, `sbo/README`, `sbo/doinst.sh`, `sbo/douninst.sh` | the other package files | - -Strip the template's instructional comment blocks and unused branches (e.g. the -python2/setup.py path, the man-page gzip block when upstream ships no man pages) -before shipping the script. - -- Follow the [SBo template](https://slackbuilds.org/templates/) as the base for all scripts -- Use `set -e` to abort on errors -- Honor `$TMP`, `$BUILD`, `$TAG`, `$OUTPUT` variables; default values must be set if unset -- Use `$ARCH` detection with proper `SLKCFLAGS` and `LIBDIRSUFFIX` -- Strip binaries and libraries unless upstream explicitly discourages it -- Install docs to `/usr/doc/$PRGNAM-$VERSION/` -- Always include `find -L` + `chown`/`chmod` cleanup block before packaging -- Copy repo files into `$PKG` with `cat src > dest`, never `cp`. `cat` writes - through a fresh destination so the build's umask/root ownership sets the - perms; `cp` bleeds the git working-tree mode/ownership into the package. - Applies to `slack-desc`, `doinst.sh`, and any file staged from `$CWD` - (SlackBuild, README, `.nvchecker`) into `$PKG`. -- Use `makepkg -l y -c n` to create the final package - -### `.info` file - -Must contain: -``` -PRGNAM, VERSION, HOMEPAGE, DOWNLOAD, MD5SUM (or SHA256SUM), REQUIRES, MAINTAINER, EMAIL -``` -- Checksums must match the exact source archive -- Use `REQUIRES=""` if no SBo dependencies; list space-separated SBo package names otherwise - -### `slack-desc` - -- Exactly 11 lines in the `package-name: description` format -- First line: `package-name: package-name (short one-liner)` -- Lines 2–11: description, leave blank lines as `package-name:` -- Handy ruler line must be included (but not shipped) - ---- - -## Version Tracking: nvchecker - -A single `nvchecker.toml` at the repo root tracks upstream versions for all packages. Each package defines its own source type (GitHub releases, PyPI, etc.). - -Example entry for a GitHub-hosted package: - -```toml -[package-name] -source = "github" -github = "owner/repo" -use_max_tag = true -``` - -To check for new upstream versions: - -```bash -nvchecker -c .extras/nvchecker.toml -``` - -When a new version is detected, update `VERSION` in both `.SlackBuild` and `.info`, then run `sbofixinfo` to refresh checksums. - -**Every new package added to this repo must have a corresponding entry in `.extras/nvchecker.toml`.** - ---- - -## Tooling: sbo-maintainer-tools - -Source: https://slackware.uk/~urchlay/repos/sbo-maintainer-tools - -### Tools used - -| Tool | Purpose | -|------|---------| -| `sbolint` | Lint `.SlackBuild`, `README`, `.info`, `slack-desc` | -| `sbopkglint` | Lint the built package | -| `sbofixinfo` | Auto-fix common `.info` file issues | -| `sbodl` | Download sources and verify `MD5SUM`/`SHA256SUM` from `.info` | -| `pre-commit-sbolint` | Git pre-commit hook — blocks commits that fail `sbolint` | - -### Git hook setup - -Both hooks are tracked in the `.extras/hooks/` directory. Install them after cloning: - -```bash -cp .extras/hooks/pre-commit .git/hooks/pre-commit -cp .extras/hooks/post-commit .git/hooks/post-commit -chmod +x .git/hooks/pre-commit .git/hooks/post-commit -``` - -| Hook | Trigger | Purpose | -|------|---------|---------| -| `pre-commit` | Before every commit | Runs `sbolint` on staged packages; blocks commit on errors. Also checks for staged source archives: symlinks are auto-removed, real files block the commit. | -| `post-commit` | After every commit | Offers to create a `SBo/<pkg>.tar.gz` archive for submission | - -To bypass the pre-commit lint check in exceptional cases: -```bash -SBOLINT=no git commit -m'Message here' -``` - -### Workflow per package - -> **Before creating a NEW package: check the name is free on SlackBuilds.org.** -> SBo enforces unique package names across all categories, and a clash causes -> confusion even in this personal repo. Search https://slackbuilds.org/result/?search=<name> -> (or browse the category). If the name is taken by an unrelated project, pick a -> distinct name (e.g. gitea-cli instead of tea, whose slot is a text editor) and -> keep the upstream binary name via a SRCNAM variable in the SlackBuild. - -```bash -# 1. Fix any .info issues automatically -cd <package-name> && sbofixinfo - -# 2. Download sources and verify checksums -# NOTE: when updating to a new version, sbodl will download the source but fail -# because the .info file still has the old (or placeholder) MD5SUM. In that case: -# a) compute the checksum manually: md5sum <source-file> -# b) update MD5SUM in the .info file -# c) run sbodl again — it should now report "md5sum matches OK" -cd <package-name> && sbodl - -# 3. Lint the script and metadata -cd <package-name> && sbolint - -# 4. Build the package -cd <package-name> && sudo bash <package-name>.SlackBuild - -# 5. Lint the built package -cd <package-name> && sbopkglint - -# 6. Add an entry for the package in the repo-level nvchecker.toml - -# 7. Remove symlinks created by sbodl before staging -# sbodl creates symlinks in the package directory pointing to downloaded sources. -# These must never be committed to git. -find . -type l -delete - -# 8. Commit (pre-commit hook runs sbolint automatically) -git add <package-name>/ .extras/nvchecker.toml -git commit -m'<package-name>: add version X.Y.Z' -``` - ---- - -## SBo Submission Guidelines - -Before submitting or updating a package on SlackBuilds.org: - -1. **Pass all lint checks** — `sbolint` and `sbopkglint` must report no errors -2. **Test the build** on a clean Slackware installation (or VM snapshot) -3. **Verify checksums** via `sbodl` before committing -4. **Check `README`** includes all non-SBo dependencies and any special build notes -5. **Follow the SBo submission guidelines**: https://slackbuilds.org/guidelines/ -6. **Bump `VERSION`** in both `.SlackBuild` and `.info` when updating -7. **Run `sbofixinfo`** after every version bump to catch stale checksums/URLs - ---- - -## Commit Conventions - -- One commit per package add/update -- Commit message format: `<package-name>: add version X.Y.Z` or `<package-name>: update to X.Y.Z` -- For fixes: `<package-name>: fix <short description>` - ---- - -## Maintainer - -danix +@AGENTS.md @@ -34,39 +34,41 @@ Each package lives in its own top-level subfolder: | Package | -current | 15.0 | SBo | Version | Latest | |---------|----------|------|-----|---------|--------| | hstr | ✅ | not tested | ✅ [hstr](https://slackbuilds.org/repository/15.0/system/hstr/) | 3.2 | 3.2 | -| discord | ✅ | not tested | ✅ [discord](https://slackbuilds.org/repository/15.0/network/discord/) | 1.0.151 | 1.0.151 | -| kitty-bin | ✅ | not tested | ❌ | 0.48.1 | 0.48.1 | -| llama.cpp-vulkan | ✅ | not tested | ❌ | b10184 | b10186 | +| discord | ✅ | not tested | ✅ [discord](https://slackbuilds.org/repository/15.0/network/discord/) | 1.0.154 | 1.0.154 | +| kitty-bin | ✅ | not tested | ❌ | 0.48.2 | 0.48.2 | +| llama.cpp-vulkan | ✅ | not tested | ❌ | b10516 | b10516 | | qarma | ✅ | not tested | ❌ | 1.1.1 | 1.1.1 | -| opencode-bin | ✅ | not tested | ❌ | 1.18.9 | 1.18.9 | -| claude-code-bin | ✅ | not tested | ❌ | 2.1.220 | 2.1.220 | +| opencode-bin | ✅ | not tested | ❌ | 1.18.19 | 1.18.19 | +| claude-code-bin | ✅ | not tested | ❌ | 2.1.237 | 2.1.237 | | kvantum-qt6 | ✅ | not tested | ❌ | 1.1.8 | 1.1.8 | | kvantum-qt5 | ✅ | not tested | ✅ [kvantum-qt5](https://slackbuilds.org/repository/15.0/system/kvantum-qt5/) | 1.1.8 | 1.1.8 | | gitleaks | ✅ | not tested | ❌ | 8.30.1 | 8.30.1 | | mutagen | ✅ | not tested | ✅ [mutagen](https://slackbuilds.org/repository/15.0/development/mutagen/) | 1.48.1 | 1.48.1 | | solvespace | ✅ | not tested | ❌ | 3.2 | 3.2 | | gamescope | ✅ | not tested | ✅ [gamescope](https://slackbuilds.org/repository/15.0/system/gamescope/) | 3.16.25 | 3.16.25 | -| nvchecker | ✅ | not tested | ❌ | 2.21 | 2.21 | +| nvchecker | ✅ | not tested | ❌ | 2.22 | 2.22 | | python3-structlog | ✅ | not tested | ❌ | 26.1.0 | 26.1.0 | -| python3-platformdirs | ✅ | not tested | ✅ [python3-platformdirs](https://slackbuilds.org/repository/15.0/python/python3-platformdirs/) | 4.11.0 | 4.11.0 | +| python3-platformdirs | ✅ | not tested | ✅ [python3-platformdirs](https://slackbuilds.org/repository/15.0/python/python3-platformdirs/) | 4.11.3 | 4.11.3 | | python3-awesomeversion | ✅ | not tested | ❌ | 25.8.0 | 25.8.0 | | python3-fsspec | ✅ | not tested | ❌ | 2026.7.0 | 2026.7.0 | -| python3-packaging | ✅ | not tested | ❌ | 26.2 | 26.2 | +| python3-packaging | ✅ | not tested | ❌ | 26.3 | 26.3 | | python3-annotated-doc | ✅ | not tested | ❌ | 0.0.5 | 0.0.5 | -| python3-typer | ✅ | not tested | ❌ | 0.27.0 | 0.27.0 | -| python3-huggingface_hub | ✅ | not tested | ❌ | 1.25.1 | 1.25.1 | +| python3-typer | ✅ | not tested | ❌ | 0.27.1 | 0.27.1 | +| python3-huggingface_hub | ✅ | not tested | ❌ | 1.28.0 | 1.28.0 | | python3-telethon | ✅ | ✅ | ❌ | 1.44.0 | 1.44.0 | | click | ✅ | not tested | ✅ [click](https://slackbuilds.org/repository/15.0/python/click/) | 8.4.2 | 8.4.2 | -| playwright-cli | ✅ | not tested | ❌ | 0.1.17 | 0.1.17 | +| playwright-cli | ✅ | not tested | ❌ | 0.1.18 | 0.1.18 | | firefly-cli | ✅ | not tested | ❌ | 0.5.0 | 0.5.0 | -| gitea-cli | ✅ | ✅ | ❌ | 0.15.0 | 0.15.0 | -| megasync-bin | ✅ | ✅ | ❌ | 6.5.0.2 | 6.5.0.2 | -| claude-desktop-bin | ✅ | ✅ | ❌ | 1.24012.9 | 1.24012.9 | +| gitea-cli | ✅ | ✅ | ❌ | 0.15.1 | 0.15.1 | +| megasync-bin | ✅ | ✅ | ❌ | 6.5.1.0 | 6.5.1.0 | +| claude-desktop-bin | ✅ | ✅ | ❌ | 1.32885.1 | 1.32885.1 | | hyprsunset-qt | ✅ | not tested | ❌ | 0.1.1 | 0.1.1 | | python3-pathvalidate | ✅ | not tested | ❌ | 3.3.1 | 3.3.1 | -| python3-onnxruntime | ✅ | not tested | ❌ | 1.28.0 | 1.28.0 | -| piper-tts | ✅ | not tested | ❌ | 1.6.1 | 1.6.1 | +| python3-onnxruntime | ✅ | not tested | ❌ | 1.29.0 | 1.29.0 | +| piper-tts | ✅ | not tested | ❌ | 1.7.0 | 1.7.0 | | edge-tts | ✅ | not tested | ❌ | 7.2.8 | 7.2.8 | +| qtmaildir | ✅ | not tested | ❌ | 0.26.1 | 0.26.1 | +| typora-bin | ✅ | not tested | ❌ | 1.14.9 | 1.14.9 | > **Note on `kvantum-qt5`:** the official SBo build lags several releases behind > upstream (1.1.2 vs 1.1.8), so this repo ships an updated build. It provides the @@ -90,10 +92,10 @@ Each package lives in its own top-level subfolder: git clone https://github.com/danix/my-slackbuilds.git cd my-slackbuilds -# Fix any .info issues automatically -cd <package-name> && sbofixinfo - # Download the source and verify checksums +# After a version bump the first run fails with "md5sum doesn't match ... +# got: <new>"; set that value in MD5SUM in the .info file, then re-run until +# it reports "md5sum matches OK" cd <package-name> && sbodl # Lint the script and metadata @@ -112,11 +114,11 @@ Check each package's `README` for dependencies and any special build instruction ## Git Hooks -Two hooks are included in `hooks/`. Install them after cloning: +Two hooks are included in `.extras/hooks/`. Install them after cloning: ```bash -cp hooks/pre-commit .git/hooks/pre-commit -cp hooks/post-commit .git/hooks/post-commit +cp .extras/hooks/pre-commit .git/hooks/pre-commit +cp .extras/hooks/post-commit .git/hooks/post-commit chmod +x .git/hooks/pre-commit .git/hooks/post-commit ``` |
