aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AGENTS.md182
-rw-r--r--CLAUDE.md231
-rw-r--r--README.md46
3 files changed, 197 insertions, 262 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 5a5b688..b01903b 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -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`.
diff --git a/CLAUDE.md b/CLAUDE.md
index f70560f..fe8ce83 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -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
diff --git a/README.md b/README.md
index 4a39538..cb512c9 100644
--- a/README.md
+++ b/README.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
```