From ebb26eac2948e02def3c7ac1ac23c4ecd345a5a7 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 3 Apr 2026 18:17:29 +0200 Subject: repo: flatten layout — move packages to root, extras to .extras/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Move all packages from SlackBuilds/ to repo root - Move hooks/, docs/, nvchecker.toml to .extras/ - Update CLAUDE.md and README.md to reflect new structure Co-Authored-By: Claude Sonnet 4.6 --- .../plans/2026-03-31-opencode-bin-slackbuild.md | 258 +++++++++++++++++++++ .../plans/2026-03-31-readme-packages-table.md | 59 +++++ .../plans/2026-03-31-sbo-archive-hook.md | 208 +++++++++++++++++ .../2026-03-31-opencode-bin-slackbuild-design.md | 222 ++++++++++++++++++ .../2026-03-31-readme-packages-table-design.md | 54 +++++ .../specs/2026-03-31-sbo-archive-hook-design.md | 65 ++++++ .extras/hooks/post-commit | 51 ++++ .extras/hooks/pre-commit | 63 +++++ .extras/nvchecker.toml | 64 +++++ CLAUDE.md | 28 +-- README.md | 28 ++- SlackBuilds/claude-code/README | 3 - SlackBuilds/claude-code/README.SBo | 4 - SlackBuilds/claude-code/claude-code.SlackBuild | 101 -------- SlackBuilds/claude-code/claude-code.info | 10 - SlackBuilds/claude-code/doinst.sh | 4 - SlackBuilds/claude-code/slack-desc | 19 -- SlackBuilds/discord/README | 14 -- SlackBuilds/discord/discord.SlackBuild | 93 -------- SlackBuilds/discord/discord.info | 10 - SlackBuilds/discord/doinst.sh | 3 - SlackBuilds/discord/slack-desc | 19 -- SlackBuilds/hstr/README | 6 - SlackBuilds/hstr/hstr.SlackBuild | 118 ---------- SlackBuilds/hstr/hstr.info | 10 - SlackBuilds/hstr/slack-desc | 19 -- SlackBuilds/hugo/README | 23 -- SlackBuilds/hugo/hugo.SlackBuild | 91 -------- SlackBuilds/hugo/hugo.info | 10 - SlackBuilds/hugo/slack-desc | 19 -- SlackBuilds/kitty-bin/README | 14 -- SlackBuilds/kitty-bin/doinst.sh | 10 - SlackBuilds/kitty-bin/kitty-bin.SlackBuild | 89 ------- SlackBuilds/kitty-bin/kitty-bin.info | 10 - SlackBuilds/kitty-bin/slack-desc | 19 -- SlackBuilds/llama.cpp-vulkan/README | 22 -- SlackBuilds/llama.cpp-vulkan/doinst.sh | 27 --- .../llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild | 131 ----------- SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.info | 10 - SlackBuilds/llama.cpp-vulkan/rc.llama.cpp | 95 -------- SlackBuilds/llama.cpp-vulkan/slack-desc | 19 -- SlackBuilds/obsidian/README | 12 - SlackBuilds/obsidian/doinst.sh | 9 - SlackBuilds/obsidian/obsidian.SlackBuild | 86 ------- SlackBuilds/obsidian/obsidian.info | 10 - SlackBuilds/obsidian/slack-desc | 19 -- SlackBuilds/opencode-bin/README | 15 -- SlackBuilds/opencode-bin/opencode-bin.SlackBuild | 84 ------- SlackBuilds/opencode-bin/opencode-bin.info | 10 - SlackBuilds/opencode-bin/opencode.1 | 67 ------ SlackBuilds/opencode-bin/slack-desc | 19 -- SlackBuilds/qarma/README | 7 - SlackBuilds/qarma/qarma.SlackBuild | 100 -------- SlackBuilds/qarma/qarma.info | 10 - SlackBuilds/qarma/slack-desc | 19 -- SlackBuilds/syncthing/README | 20 -- SlackBuilds/syncthing/doinst.sh | 25 -- SlackBuilds/syncthing/rc.syncthing | 53 ----- SlackBuilds/syncthing/slack-desc | 19 -- SlackBuilds/syncthing/syncthing.SlackBuild | 115 --------- SlackBuilds/syncthing/syncthing.info | 10 - SlackBuilds/syncthing/syncthing.logrotate | 8 - SlackBuilds/uv-bin/README | 1 - SlackBuilds/uv-bin/slack-desc | 19 -- SlackBuilds/uv-bin/uv-bin.SlackBuild | 94 -------- SlackBuilds/uv-bin/uv-bin.info | 10 - claude-code/README | 3 + claude-code/README.SBo | 4 + claude-code/claude-code.SlackBuild | 101 ++++++++ claude-code/claude-code.info | 10 + claude-code/doinst.sh | 4 + claude-code/slack-desc | 19 ++ discord/README | 14 ++ discord/discord.SlackBuild | 93 ++++++++ discord/discord.info | 10 + discord/doinst.sh | 3 + discord/slack-desc | 19 ++ .../plans/2026-03-31-opencode-bin-slackbuild.md | 258 --------------------- .../plans/2026-03-31-readme-packages-table.md | 59 ----- .../plans/2026-03-31-sbo-archive-hook.md | 208 ----------------- .../2026-03-31-opencode-bin-slackbuild-design.md | 222 ------------------ .../2026-03-31-readme-packages-table-design.md | 54 ----- .../specs/2026-03-31-sbo-archive-hook-design.md | 65 ------ hooks/post-commit | 51 ---- hooks/pre-commit | 63 ----- hstr/README | 6 + hstr/hstr.SlackBuild | 118 ++++++++++ hstr/hstr.info | 10 + hstr/slack-desc | 19 ++ hugo/README | 23 ++ hugo/hugo.SlackBuild | 91 ++++++++ hugo/hugo.info | 10 + hugo/slack-desc | 19 ++ kitty-bin/README | 14 ++ kitty-bin/doinst.sh | 10 + kitty-bin/kitty-bin.SlackBuild | 89 +++++++ kitty-bin/kitty-bin.info | 10 + kitty-bin/slack-desc | 19 ++ llama.cpp-vulkan/README | 22 ++ llama.cpp-vulkan/doinst.sh | 27 +++ llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild | 131 +++++++++++ llama.cpp-vulkan/llama.cpp-vulkan.info | 10 + llama.cpp-vulkan/rc.llama.cpp | 95 ++++++++ llama.cpp-vulkan/slack-desc | 19 ++ nvchecker.toml | 64 ----- obsidian/README | 12 + obsidian/doinst.sh | 9 + obsidian/obsidian.SlackBuild | 86 +++++++ obsidian/obsidian.info | 10 + obsidian/slack-desc | 19 ++ opencode-bin/README | 15 ++ opencode-bin/opencode-bin.SlackBuild | 84 +++++++ opencode-bin/opencode-bin.info | 10 + opencode-bin/opencode.1 | 67 ++++++ opencode-bin/slack-desc | 19 ++ qarma/README | 7 + qarma/qarma.SlackBuild | 100 ++++++++ qarma/qarma.info | 10 + qarma/slack-desc | 19 ++ syncthing/README | 20 ++ syncthing/doinst.sh | 25 ++ syncthing/rc.syncthing | 53 +++++ syncthing/slack-desc | 19 ++ syncthing/syncthing.SlackBuild | 115 +++++++++ syncthing/syncthing.info | 10 + syncthing/syncthing.logrotate | 8 + uv-bin/README | 1 + uv-bin/slack-desc | 19 ++ uv-bin/uv-bin.SlackBuild | 94 ++++++++ uv-bin/uv-bin.info | 10 + 130 files changed, 2937 insertions(+), 2933 deletions(-) create mode 100644 .extras/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md create mode 100644 .extras/docs/superpowers/plans/2026-03-31-readme-packages-table.md create mode 100644 .extras/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md create mode 100644 .extras/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md create mode 100644 .extras/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md create mode 100644 .extras/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md create mode 100755 .extras/hooks/post-commit create mode 100755 .extras/hooks/pre-commit create mode 100644 .extras/nvchecker.toml delete mode 100644 SlackBuilds/claude-code/README delete mode 100644 SlackBuilds/claude-code/README.SBo delete mode 100644 SlackBuilds/claude-code/claude-code.SlackBuild delete mode 100644 SlackBuilds/claude-code/claude-code.info delete mode 100644 SlackBuilds/claude-code/doinst.sh delete mode 100644 SlackBuilds/claude-code/slack-desc delete mode 100644 SlackBuilds/discord/README delete mode 100644 SlackBuilds/discord/discord.SlackBuild delete mode 100644 SlackBuilds/discord/discord.info delete mode 100644 SlackBuilds/discord/doinst.sh delete mode 100644 SlackBuilds/discord/slack-desc delete mode 100644 SlackBuilds/hstr/README delete mode 100644 SlackBuilds/hstr/hstr.SlackBuild delete mode 100644 SlackBuilds/hstr/hstr.info delete mode 100644 SlackBuilds/hstr/slack-desc delete mode 100644 SlackBuilds/hugo/README delete mode 100644 SlackBuilds/hugo/hugo.SlackBuild delete mode 100644 SlackBuilds/hugo/hugo.info delete mode 100644 SlackBuilds/hugo/slack-desc delete mode 100644 SlackBuilds/kitty-bin/README delete mode 100644 SlackBuilds/kitty-bin/doinst.sh delete mode 100644 SlackBuilds/kitty-bin/kitty-bin.SlackBuild delete mode 100644 SlackBuilds/kitty-bin/kitty-bin.info delete mode 100644 SlackBuilds/kitty-bin/slack-desc delete mode 100644 SlackBuilds/llama.cpp-vulkan/README delete mode 100644 SlackBuilds/llama.cpp-vulkan/doinst.sh delete mode 100644 SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild delete mode 100644 SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.info delete mode 100644 SlackBuilds/llama.cpp-vulkan/rc.llama.cpp delete mode 100644 SlackBuilds/llama.cpp-vulkan/slack-desc delete mode 100644 SlackBuilds/obsidian/README delete mode 100644 SlackBuilds/obsidian/doinst.sh delete mode 100644 SlackBuilds/obsidian/obsidian.SlackBuild delete mode 100644 SlackBuilds/obsidian/obsidian.info delete mode 100644 SlackBuilds/obsidian/slack-desc delete mode 100644 SlackBuilds/opencode-bin/README delete mode 100644 SlackBuilds/opencode-bin/opencode-bin.SlackBuild delete mode 100644 SlackBuilds/opencode-bin/opencode-bin.info delete mode 100644 SlackBuilds/opencode-bin/opencode.1 delete mode 100644 SlackBuilds/opencode-bin/slack-desc delete mode 100644 SlackBuilds/qarma/README delete mode 100644 SlackBuilds/qarma/qarma.SlackBuild delete mode 100644 SlackBuilds/qarma/qarma.info delete mode 100644 SlackBuilds/qarma/slack-desc delete mode 100644 SlackBuilds/syncthing/README delete mode 100644 SlackBuilds/syncthing/doinst.sh delete mode 100644 SlackBuilds/syncthing/rc.syncthing delete mode 100644 SlackBuilds/syncthing/slack-desc delete mode 100644 SlackBuilds/syncthing/syncthing.SlackBuild delete mode 100644 SlackBuilds/syncthing/syncthing.info delete mode 100644 SlackBuilds/syncthing/syncthing.logrotate delete mode 100644 SlackBuilds/uv-bin/README delete mode 100644 SlackBuilds/uv-bin/slack-desc delete mode 100644 SlackBuilds/uv-bin/uv-bin.SlackBuild delete mode 100644 SlackBuilds/uv-bin/uv-bin.info create mode 100644 claude-code/README create mode 100644 claude-code/README.SBo create mode 100644 claude-code/claude-code.SlackBuild create mode 100644 claude-code/claude-code.info create mode 100644 claude-code/doinst.sh create mode 100644 claude-code/slack-desc create mode 100644 discord/README create mode 100644 discord/discord.SlackBuild create mode 100644 discord/discord.info create mode 100644 discord/doinst.sh create mode 100644 discord/slack-desc delete mode 100644 docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md delete mode 100644 docs/superpowers/plans/2026-03-31-readme-packages-table.md delete mode 100644 docs/superpowers/plans/2026-03-31-sbo-archive-hook.md delete mode 100644 docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md delete mode 100644 docs/superpowers/specs/2026-03-31-readme-packages-table-design.md delete mode 100644 docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md delete mode 100755 hooks/post-commit delete mode 100755 hooks/pre-commit create mode 100644 hstr/README create mode 100644 hstr/hstr.SlackBuild create mode 100644 hstr/hstr.info create mode 100644 hstr/slack-desc create mode 100644 hugo/README create mode 100644 hugo/hugo.SlackBuild create mode 100644 hugo/hugo.info create mode 100644 hugo/slack-desc create mode 100644 kitty-bin/README create mode 100644 kitty-bin/doinst.sh create mode 100644 kitty-bin/kitty-bin.SlackBuild create mode 100644 kitty-bin/kitty-bin.info create mode 100644 kitty-bin/slack-desc create mode 100644 llama.cpp-vulkan/README create mode 100644 llama.cpp-vulkan/doinst.sh create mode 100644 llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild create mode 100644 llama.cpp-vulkan/llama.cpp-vulkan.info create mode 100644 llama.cpp-vulkan/rc.llama.cpp create mode 100644 llama.cpp-vulkan/slack-desc delete mode 100644 nvchecker.toml create mode 100644 obsidian/README create mode 100644 obsidian/doinst.sh create mode 100644 obsidian/obsidian.SlackBuild create mode 100644 obsidian/obsidian.info create mode 100644 obsidian/slack-desc create mode 100644 opencode-bin/README create mode 100644 opencode-bin/opencode-bin.SlackBuild create mode 100644 opencode-bin/opencode-bin.info create mode 100644 opencode-bin/opencode.1 create mode 100644 opencode-bin/slack-desc create mode 100644 qarma/README create mode 100644 qarma/qarma.SlackBuild create mode 100644 qarma/qarma.info create mode 100644 qarma/slack-desc create mode 100644 syncthing/README create mode 100644 syncthing/doinst.sh create mode 100644 syncthing/rc.syncthing create mode 100644 syncthing/slack-desc create mode 100644 syncthing/syncthing.SlackBuild create mode 100644 syncthing/syncthing.info create mode 100644 syncthing/syncthing.logrotate create mode 100644 uv-bin/README create mode 100644 uv-bin/slack-desc create mode 100644 uv-bin/uv-bin.SlackBuild create mode 100644 uv-bin/uv-bin.info diff --git a/.extras/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md b/.extras/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md new file mode 100644 index 0000000..e5009b4 --- /dev/null +++ b/.extras/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md @@ -0,0 +1,258 @@ +# opencode-bin SlackBuild Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Create a complete `opencode-bin` SlackBuild package that repackages the official pre-built opencode binary for Slackware. + +**Architecture:** Binary-repackaging pattern — download upstream tarball, install the static binary to `/usr/bin/opencode`, install docs, run `makepkg`. Follows the same structure as `kitty-bin` and `hugo` in this repo. Supports `x86_64` and `aarch64`. + +**Tech Stack:** Bash, SBo packaging tools (`sbolint`, `sbofixinfo`, `sbodl`) + +--- + +## File Map + +| File | Action | Responsibility | +|------|--------|----------------| +| `opencode-bin/opencode-bin.SlackBuild` | Create | Main build script | +| `opencode-bin/opencode-bin.info` | Create | Package metadata and download URLs | +| `opencode-bin/README` | Create | Package description and usage notes | +| `opencode-bin/slack-desc` | Create | 11-line package description for pkgtool | +| `nvchecker.toml` | Modify | Add upstream version tracking entry | + +--- + +### Task 1: Create the package files + +**Files:** +- Create: `opencode-bin/opencode-bin.SlackBuild` +- Create: `opencode-bin/opencode-bin.info` +- Create: `opencode-bin/README` +- Create: `opencode-bin/slack-desc` + +- [ ] **Step 1: Create the directory** + +```bash +mkdir -p /home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin +``` + +- [ ] **Step 2: Create opencode-bin.SlackBuild** + +Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/opencode-bin.SlackBuild` with this exact content: + +```bash +#!/bin/bash + +# Slackware build script for opencode-bin + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=opencode-bin +VERSION=${VERSION:-0.0.55} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "x86_64" ]; then + SRCARCH="x86_64" +elif [ "$ARCH" = "aarch64" ]; then + SRCARCH="arm64" +else + echo "$ARCH is not supported." + exit 1 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir -p $PRGNAM-$VERSION +tar xvf $CWD/opencode-linux-$SRCARCH.tar.gz -C $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/bin +install -m 0755 opencode $PKG/usr/bin/opencode + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE +``` + +Make it executable: +```bash +chmod +x /home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/opencode-bin.SlackBuild +``` + +- [ ] **Step 3: Create opencode-bin.info** + +Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/opencode-bin.info` with this exact content: + +``` +PRGNAM="opencode-bin" +VERSION="0.0.55" +HOMEPAGE="https://github.com/opencode-ai/opencode" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-x86_64.tar.gz" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" +``` + +- [ ] **Step 4: Create README** + +Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/README` with this exact content: + +``` +opencode-bin is a pre-built binary repackage of opencode, a powerful AI +coding agent built for the terminal. It supports multiple LLM providers +including OpenAI, Anthropic, Google Gemini, and others. + +No compilation is required; the official upstream binary is statically +linked and has no runtime library dependencies. + +To use opencode, you need an API key for at least one supported LLM +provider. Set the appropriate environment variable (e.g. OPENAI_API_KEY, +ANTHROPIC_API_KEY) or configure it via opencode's interactive setup. + +Homepage: https://github.com/opencode-ai/opencode + +NOTE FOR aarch64 USERS: The aarch64 tarball is not listed in the .info +file (not a standard SBo field). Download it manually before building: + wget https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-arm64.tar.gz +``` + +- [ ] **Step 5: Create slack-desc** + +Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/slack-desc` with this exact content: + +``` +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one blank line after the name. + + |-----handy-ruler------------------------------------------------------| +opencode-bin: opencode-bin (AI coding agent for the terminal) +opencode-bin: +opencode-bin: opencode is a powerful AI coding agent built for the terminal. +opencode-bin: It supports multiple LLM providers including OpenAI, Anthropic, +opencode-bin: Google Gemini, and others via simple configuration. +opencode-bin: +opencode-bin: This package ships the official pre-built binary. No compilation +opencode-bin: is required. API keys for a supported LLM provider are needed +opencode-bin: at runtime. +opencode-bin: +opencode-bin: Homepage: https://github.com/opencode-ai/opencode +``` + +--- + +### Task 2: Fix checksums, download source, and lint + +**Files:** +- Modify: `opencode-bin/opencode-bin.info` (checksums filled in by sbofixinfo) + +- [ ] **Step 1: Run sbofixinfo to normalise the .info file** + +```bash +cd /home/danix/Programming/GIT/GITHUB/my-slackbuilds +sbofixinfo opencode-bin/ +``` + +Expected: no errors; `MD5SUM_x86_64` (or `SHA256SUM_x86_64`) populated. + +- [ ] **Step 2: Download source and verify checksum** + +```bash +sbodl opencode-bin/ +``` + +Expected: downloads `opencode-linux-x86_64.tar.gz` into `opencode-bin/` and reports checksum OK. + +- [ ] **Step 3: Run sbolint** + +```bash +sbolint opencode-bin/ +``` + +Expected: no errors or warnings. If any are reported, fix them before continuing. + +--- + +### Task 3: Add nvchecker entry and commit + +**Files:** +- Modify: `nvchecker.toml` + +- [ ] **Step 1: Add the opencode-bin entry to nvchecker.toml** + +Open `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/nvchecker.toml` and append: + +```toml +[opencode-bin] +source = "github" +github = "opencode-ai/opencode" +use_latest_release = true +``` + +- [ ] **Step 2: Commit everything** + +```bash +cd /home/danix/Programming/GIT/GITHUB/my-slackbuilds +git add opencode-bin/ nvchecker.toml +git commit -m "opencode-bin: add version 0.0.55" +``` diff --git a/.extras/docs/superpowers/plans/2026-03-31-readme-packages-table.md b/.extras/docs/superpowers/plans/2026-03-31-readme-packages-table.md new file mode 100644 index 0000000..06bbbcc --- /dev/null +++ b/.extras/docs/superpowers/plans/2026-03-31-readme-packages-table.md @@ -0,0 +1,59 @@ +# README Packages Table Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add a "Packages" section to `README.md` with a table listing all 8 packages, their build status, SBo presence, repo version, and latest upstream version. + +**Architecture:** Single static Markdown table inserted into `README.md` between the "Repository Structure" and "Usage" sections. No scripts or automation — maintained manually. + +**Tech Stack:** Markdown + +--- + +## File Map + +| File | Action | Responsibility | +|------|--------|----------------| +| `README.md` | Modify | Insert "Packages" section with table | + +--- + +### Task 1: Add Packages table to README.md + +**Files:** +- Modify: `README.md` + +- [ ] **Step 1: Insert the Packages section** + +Open `README.md`. After the closing `---` of the "Repository Structure" section (after the `nvchecker.toml` line) and before the `## Usage` heading, insert the following block exactly: + +```markdown +## Packages + +| Package | -current | 15.0 | SBo | Version | Latest | +|---------|----------|------|-----|---------|--------| +| discord | not tested | not tested | [discord](https://slackbuilds.org/repository/15.0/network/discord/) | 0.0.130 | 0.0.131 | +| hstr | not tested | not tested | [hstr](https://slackbuilds.org/repository/15.0/system/hstr/) | 3.1 | 3.2 | +| hugo | not tested | not tested | [hugo](https://slackbuilds.org/repository/15.0/development/hugo/) | 0.159.1 | 0.159.1 | +| kitty-bin | not tested | not tested | ❌ | 0.46.2 | 0.46.2 | +| llama.cpp-vulkan | not tested | not tested | ❌ | b8581 | b8590 | +| obsidian | not tested | not tested | [obsidian](https://slackbuilds.org/repository/15.0/development/obsidian/) | 1.12.7 | 1.12.7 | +| qarma | not tested | not tested | ❌ | 1.0.0 | 1.1.0 | +| syncthing | not tested | not tested | [syncthing](https://slackbuilds.org/repository/15.0/network/syncthing/) | 2.0.15 | 2.0.15 | + +--- +``` + +- [ ] **Step 2: Verify the section is in the right place** + +Read `README.md` and confirm the order is: +1. `## Repository Structure` +2. `## Packages` ← new section +3. `## Usage` + +- [ ] **Step 3: Commit** + +```bash +git add README.md +git commit -m "README: add packages table with build status and version info" +``` diff --git a/.extras/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md b/.extras/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md new file mode 100644 index 0000000..5b0a9fa --- /dev/null +++ b/.extras/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md @@ -0,0 +1,208 @@ +# SBo Archive Hook Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add a `post-commit` git hook that detects added/updated packages and offers to create a SBo-ready submission archive. + +**Architecture:** A single bash script at `.git/hooks/post-commit` inspects the HEAD commit via `git diff-tree`, identifies touched `.SlackBuild` files, lists the package contents, prompts the user interactively, and creates a `tar.gz` archive under `SBo/`. The `SBo/` directory is excluded from version control via `.gitignore`. + +**Tech Stack:** Bash, standard POSIX tools (`tar`, `find`, `git diff-tree`) + +--- + +## File Map + +| File | Action | Responsibility | +|---|---|---| +| `.git/hooks/post-commit` | Create | Hook entry point — detection, prompt, archive creation | +| `.gitignore` | Modify | Exclude `SBo/` from version control | + +--- + +### Task 1: Add SBo/ to .gitignore + +**Files:** +- Modify: `.gitignore` + +- [ ] **Step 1: Append the SBo/ entry** + +Open `.gitignore` (currently contains only `.claude`) and add: + +``` +SBo/ +``` + +Final `.gitignore`: +``` +.claude +SBo/ +``` + +- [ ] **Step 2: Verify it is ignored** + +```bash +mkdir -p SBo +git status +``` + +Expected: `SBo/` does NOT appear in untracked files (git ignores it). + +```bash +rmdir SBo +``` + +- [ ] **Step 3: Commit** + +```bash +git add .gitignore +git commit -m "gitignore: exclude SBo/ output directory" +``` + +--- + +### Task 2: Write the post-commit hook + +**Files:** +- Create: `.git/hooks/post-commit` + +- [ ] **Step 1: Create the hook file** + +Create `.git/hooks/post-commit` with the following content: + +```bash +#!/bin/bash +# post-commit hook: create SBo submission archive for added/updated packages + +REPO_ROOT=$(git rev-parse --show-toplevel) +SBO_DIR="$REPO_ROOT/SBo" + +# Find packages whose .SlackBuild was added (A) or modified (M) in this commit. +# git diff-tree output format: \t +# We only want files exactly one directory deep, e.g. hugo/hugo.SlackBuild. +PACKAGES=() +while IFS=$'\t' read -r status file; do + [[ "$status" != "A" && "$status" != "M" ]] && continue + dir=$(dirname "$file") + base=$(basename "$file") + [[ "$dir" == "." ]] && continue # skip root-level files + [[ "$dir" == *"/"* ]] && continue # skip files deeper than one level + [[ "$base" == *.SlackBuild ]] || continue + PACKAGES+=("$dir") +done < <(git diff-tree --no-commit-id -r --name-status HEAD) + +[[ ${#PACKAGES[@]} -eq 0 ]] && exit 0 + +mkdir -p "$SBO_DIR" + +for pkg in "${PACKAGES[@]}"; do + echo "" + echo "==> Package: $pkg" + echo "" + echo "Files to be archived:" + echo "---------------------" + find "$REPO_ROOT/$pkg" -type f | sort | sed "s|$REPO_ROOT/||" + echo "" + printf "Create SBo archive for '%s'? [y/N] " "$pkg" + read -r answer Archive created: SBo/$pkg.tar.gz" + ;; + *) + echo " -> Skipped." + ;; + esac +done + +exit 0 +``` + +- [ ] **Step 2: Make it executable** + +```bash +chmod +x .git/hooks/post-commit +``` + +- [ ] **Step 3: Verify the hook is executable** + +```bash +ls -l .git/hooks/post-commit +``` + +Expected: `-rwxr-xr-x` permissions. + +--- + +### Task 3: Test the hook end-to-end + +- [ ] **Step 1: Simulate a commit that touches a .SlackBuild file** + +Make a trivial change to an existing package's `.SlackBuild` (e.g. add a blank line), stage and commit: + +```bash +echo "" >> kitty-bin/kitty-bin.SlackBuild +git add kitty-bin/kitty-bin.SlackBuild +git commit -m "kitty-bin: test hook trigger" +``` + +Expected output after the commit message appears: + +``` +==> Package: kitty-bin + +Files to be archived: +--------------------- +kitty-bin/doinst.sh +kitty-bin/kitty-bin.SlackBuild +kitty-bin/kitty-bin.info +kitty-bin/README +kitty-bin/slack-desc + +Create SBo archive for 'kitty-bin'? [y/N] +``` + +- [ ] **Step 2: Answer y and verify the archive** + +Type `y` and press Enter. + +Expected: +``` + -> Archive created: SBo/kitty-bin.tar.gz +``` + +Verify the archive contents: + +```bash +tar -tzf SBo/kitty-bin.tar.gz +``` + +Expected: all files listed under a single `kitty-bin/` top-level directory: +``` +kitty-bin/ +kitty-bin/doinst.sh +kitty-bin/kitty-bin.SlackBuild +kitty-bin/kitty-bin.info +kitty-bin/README +kitty-bin/slack-desc +``` + +- [ ] **Step 3: Verify SBo/ is not tracked by git** + +```bash +git status +``` + +Expected: `SBo/` does not appear. + +- [ ] **Step 4: Revert the test change** + +```bash +git revert HEAD --no-edit +``` + +- [ ] **Step 5: Clean up test archive** + +```bash +rm SBo/kitty-bin.tar.gz +``` diff --git a/.extras/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md b/.extras/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md new file mode 100644 index 0000000..e3120a5 --- /dev/null +++ b/.extras/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md @@ -0,0 +1,222 @@ +# opencode-bin SlackBuild — Design Spec + +**Date:** 2026-03-31 + +--- + +## Overview + +Package `opencode` (AI coding agent CLI) as `opencode-bin` by repackaging the +official pre-built binaries from GitHub releases. No compilation required — +the upstream Go binary is fully statically linked (`CGO_ENABLED=0`). + +- **Upstream:** https://github.com/opencode-ai/opencode +- **Version at time of writing:** 0.0.55 +- **License:** MIT + +--- + +## Files + +``` +opencode-bin/ +├── opencode-bin.SlackBuild +├── opencode-bin.info +├── README +└── slack-desc +``` + +Plus an entry in the repo-level `nvchecker.toml`. + +--- + +## opencode-bin.SlackBuild + +Follows the binary-repackaging pattern used by `kitty-bin` and `hugo` in this repo. + +Key decisions: +- `PRGNAM=opencode-bin`; installed binary is named `opencode` (upstream command name) +- Supports `x86_64` (tarball: `opencode-linux-x86_64.tar.gz`) and `aarch64` (tarball: `opencode-linux-arm64.tar.gz`); all other arches exit with error +- Binary installed to `/usr/bin/opencode` +- Docs (`LICENSE`, `README.md`) installed to `/usr/doc/opencode-bin-$VERSION/` +- No `doinst.sh` — no system integration needed +- No stripping (pre-built binary; stripping a Go binary is harmless but unnecessary) + +```bash +#!/bin/bash + +# Slackware build script for opencode-bin + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=opencode-bin +VERSION=${VERSION:-0.0.55} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "x86_64" ]; then + SRCARCH="x86_64" +elif [ "$ARCH" = "aarch64" ]; then + SRCARCH="arm64" +else + echo "$ARCH is not supported." + exit 1 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir -p $PRGNAM-$VERSION +tar xvf $CWD/opencode-linux-$SRCARCH.tar.gz -C $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/bin +install -m 0755 opencode $PKG/usr/bin/opencode + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE +``` + +--- + +## opencode-bin.info + +``` +PRGNAM="opencode-bin" +VERSION="0.0.55" +HOMEPAGE="https://github.com/opencode-ai/opencode" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-x86_64.tar.gz" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" +``` + +Note: `MD5SUM_x86_64` will be filled by running `sbofixinfo opencode-bin/` after downloading +the source with `sbodl`. + +--- + +## README + +``` +opencode-bin is a pre-built binary repackage of opencode, a powerful AI +coding agent built for the terminal. It supports multiple LLM providers +including OpenAI, Anthropic, Google Gemini, and others. + +No compilation is required; the official upstream binary is statically +linked and has no runtime library dependencies. + +To use opencode, you need an API key for at least one supported LLM +provider. Set the appropriate environment variable (e.g. OPENAI_API_KEY, +ANTHROPIC_API_KEY) or configure it via opencode's interactive setup. + +Homepage: https://github.com/opencode-ai/opencode + +NOTE FOR aarch64 USERS: The aarch64 tarball is not listed in the .info +file (not a standard SBo field). Download it manually before building: + wget https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-arm64.tar.gz +``` + +--- + +## slack-desc + +``` +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one blank line after the name. + + |-----handy-ruler------------------------------------------------------| +opencode-bin: opencode-bin (AI coding agent for the terminal) +opencode-bin: +opencode-bin: opencode is a powerful AI coding agent built for the terminal. +opencode-bin: It supports multiple LLM providers including OpenAI, Anthropic, +opencode-bin: Google Gemini, and others via simple configuration. +opencode-bin: +opencode-bin: This package ships the official pre-built binary. No compilation +opencode-bin: is required. API keys for a supported LLM provider are needed +opencode-bin: at runtime. +opencode-bin: +opencode-bin: Homepage: https://github.com/opencode-ai/opencode +``` + +--- + +## nvchecker.toml entry + +```toml +[opencode-bin] +source = "github" +github = "opencode-ai/opencode" +use_latest_release = true +``` + +--- + +## Maintenance + +When a new version is released: +1. Update `VERSION` in `.SlackBuild` and `.info` +2. Run `sbofixinfo opencode-bin/` to refresh checksums +3. Run `sbodl opencode-bin/` to verify the download +4. Run `sbolint opencode-bin/` to check for issues +5. Update `README` if the aarch64 download URL version number changed diff --git a/.extras/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md b/.extras/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md new file mode 100644 index 0000000..ea81579 --- /dev/null +++ b/.extras/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md @@ -0,0 +1,54 @@ +# README Packages Table — Design Spec + +**Date:** 2026-03-31 + +--- + +## Goal + +Add a static "Packages" section to `README.md` listing all packages with their +build status, SBo presence, repo version, and latest upstream version. + +--- + +## Table Structure + +Placed between "Repository Structure" and "Usage" in `README.md`. + +| Column | Content | +|--------|---------| +| **Package** | Plain package name | +| **-current** | ✅ / ❌ / `not tested` | +| **15.0** | ✅ / ❌ / `not tested` | +| **SBo** | `[name](https://slackbuilds.org/...)` or ❌ | +| **Version** | Version from `.info` file | +| **Latest** | Latest upstream version (fetched 2026-03-31) | + +--- + +## Package Data + +| Package | -current | 15.0 | SBo | Version | Latest | +|---------|----------|------|-----|---------|--------| +| discord | not tested | not tested | [discord](https://slackbuilds.org/repository/15.0/network/discord/) | 0.0.130 | 0.0.131 | +| hstr | not tested | not tested | [hstr](https://slackbuilds.org/repository/15.0/system/hstr/) | 3.1 | 3.2 | +| hugo | not tested | not tested | [hugo](https://slackbuilds.org/repository/15.0/development/hugo/) | 0.159.1 | 0.159.1 | +| kitty-bin | not tested | not tested | ❌ | 0.46.2 | 0.46.2 | +| llama.cpp-vulkan | not tested | not tested | ❌ | b8581 | b8590 | +| obsidian | not tested | not tested | [obsidian](https://slackbuilds.org/repository/15.0/development/obsidian/) | 1.12.7 | 1.12.7 | +| qarma | not tested | not tested | ❌ | 1.0.0 | 1.1.0 | +| syncthing | not tested | not tested | [syncthing](https://slackbuilds.org/repository/15.0/network/syncthing/) | 2.0.15 | 2.0.15 | + +Notes: +- `kitty-bin` SBo page returned 404 — marked ❌, verify manually +- `llama.cpp-vulkan` and `qarma` have no SBo entry +- Latest versions fetched via web search on 2026-03-31; re-run search when updating + +--- + +## Maintenance + +Update the table manually when: +- A build is tested → replace `not tested` with ✅ or ❌ +- A package is bumped → update Version and Latest columns +- A package is submitted to SBo → replace ❌ with a link diff --git a/.extras/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md b/.extras/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md new file mode 100644 index 0000000..838d85b --- /dev/null +++ b/.extras/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md @@ -0,0 +1,65 @@ +# SBo Submission Archive Hook — Design Spec + +**Date:** 2026-03-31 + +--- + +## Goal + +A `post-commit` git hook that automatically offers to create a SBo-ready submission +archive whenever a package's `.SlackBuild` file is added or modified in a commit. + +--- + +## Detection + +Uses `git diff-tree --no-commit-id -r --name-status HEAD` to list files changed in +the current commit. Filters for entries with status `A` (added) or `M` (modified) +whose filename matches `*.SlackBuild` at exactly one directory depth +(e.g. `hugo/hugo.SlackBuild`). Each match yields one package name (the parent directory). + +Multiple packages in a single commit are handled sequentially. + +--- + +## Per-Package Flow + +1. Print header: `==> Package: ` +2. List all files inside `//` recursively, shown as relative paths +3. Prompt: `Create SBo archive for ''? [y/N]` + - Input is read from `/dev/tty` so the prompt works correctly inside a git hook +4. On `y`/`Y`: create the archive (see below) +5. On anything else: skip silently and continue to the next package + +--- + +## Archive + +- **Location:** `SBo/.tar.gz` (inside repo root, not under version control) +- **Structure:** single top-level directory `/` containing all package files flat +- **Command:** `tar -czf "$SBO_DIR/$pkg.tar.gz" -C "$REPO_ROOT" "$pkg"` +- `SBo/` is created automatically if it does not exist +- Repeated archives overwrite the previous one (no version suffix — matches SBo naming conventions) + +--- + +## Output Directory + +`SBo/` lives at the repo root and is added to `.gitignore` so it is never committed. + +--- + +## Files Changed + +| File | Change | +|---|---| +| `.git/hooks/post-commit` | New file (created, made executable) | +| `.gitignore` | Append `SBo/` entry | + +--- + +## Out of Scope + +- Verifying checksums or linting (handled by existing pre-commit hook and manual workflow) +- Uploading or submitting to SBo directly +- Tracking which archives have already been submitted diff --git a/.extras/hooks/post-commit b/.extras/hooks/post-commit new file mode 100755 index 0000000..c9241ae --- /dev/null +++ b/.extras/hooks/post-commit @@ -0,0 +1,51 @@ +#!/bin/bash +# post-commit hook: create SBo submission archive for added/updated packages +set -u + +REPO_ROOT=$(git rev-parse --show-toplevel) +SBO_DIR="$REPO_ROOT/SBo" + +# Find packages whose .SlackBuild was added (A) or modified (M) in this commit. +# git diff-tree output format: \t +# We only want files exactly one directory deep, e.g. hugo/hugo.SlackBuild. +PACKAGES=() +while IFS=$'\t' read -r status file; do + [[ "$status" != "A" && "$status" != "M" ]] && continue + dir=$(dirname "$file") + base=$(basename "$file") + # Only process packages at SlackBuilds/ depth + [[ "$dir" =~ ^SlackBuilds/[^/]+$ ]] || continue + [[ "$base" == *.SlackBuild ]] || continue + PACKAGES+=("$dir") +done < <(git diff-tree --no-commit-id -r --name-status HEAD) + +[[ ${#PACKAGES[@]} -eq 0 ]] && exit 0 + +for pkg in "${PACKAGES[@]}"; do + echo "" + echo "==> Package: $pkg" + echo "" + echo "Files to be archived:" + echo "---------------------" + while IFS= read -r f; do + printf '%s\n' "${f#"$REPO_ROOT/"}" + done < <(find "$REPO_ROOT/$pkg" -type f | sort) + echo "" + printf "Create SBo archive for '%s'? [y/N] " "$pkg" + read -r answer Archive created: SBo/$pkg.tar.gz" + else + echo " -> Archive FAILED." >&2 + fi + ;; + *) + echo " -> Skipped." + ;; + esac +done + +exit 0 diff --git a/.extras/hooks/pre-commit b/.extras/hooks/pre-commit new file mode 100755 index 0000000..06cb7a5 --- /dev/null +++ b/.extras/hooks/pre-commit @@ -0,0 +1,63 @@ +#!/bin/bash + +# 20220315 bkw: SBo pre-commit hook, wrapper for sbolint. + +# Installation: + +# Copy this to /.git/hooks, mode 0755 (or anyway, make it +# executable). Also get sbolint and install it somewhere on $PATH, +# like /usr/local/bin. sbolint comes from: + +# https://slackware.uk/~urchlay/repos/sbostuff/plain/sbolint + +# That's a wgettable URL. You can also clone the sbostuff +# repo from https://slackware.uk/~urchlay/repos/sbostuff if you want. + +# Usage: + +# Just do your usual "git commit". When you do, sbolint will run on +# the build you're updating. If it finds any issues, it will cause the +# commit to abort, so you can fix whatever's wrong and try the commit +# again. + +# Since sbolint isn't perfect, you can skip the check for any commit +# by running e.g: + +# SBOLINT=no git commit + +# You can also run sbolint by itself, and read its documentation with +# "sbolint --docs". + +set -e +exec 1>&2 + +# There should normally only be one changed build per commit, but this +# rule may get broken when the repo's frozen pending a new Slackware +# release. So use a loop. + +# The weird-looking "< <(command)" syntax is why this script must +# have a #!/bin/bash at the top: it won't work with #!/bin/sh, even if +# /bin/sh is a symlink to bash. + +if [ "${SBOLINT:-yes}" = "yes" ]; then + sbolintfailed="" + if ! which sbolint &>/dev/null; then + echo "WARNING: can't find sbolint in PATH, no linting will be done" + else + while read build; do + # if there's no slack-desc or README, assume the build has been removed. + # the directory still might exist after a "git rm -rf" because it + # might contain untracked files (e.g. the source tarball). + if [ -e "$build/slack-desc" -o -e "$build/README" ]; then + sbolint "$build" || sbolintfailed=1 + fi + done < <(git diff --cached --name-only | cut -d/ -f1,2 | sort -u) + fi + if [ -n "$sbolintfailed" ]; then + echo "*** sbolint failed, fix the errors or set SBOLINT=no" + echo "*** in the environment to commit anyway." + exit 1 + fi +fi + +exit 0 diff --git a/.extras/nvchecker.toml b/.extras/nvchecker.toml new file mode 100644 index 0000000..6a7fb2b --- /dev/null +++ b/.extras/nvchecker.toml @@ -0,0 +1,64 @@ +[claude-code] +source = "github" +github = "anthropics/claude-code" +use_latest_release = true +prefix = "v" + +[qarma] +source = "github" +github = "luebking/qarma" +use_max_tag = true +prefix = "v" + +[discord] +source = "httpheader" +url = "https://discord.com/api/download?platform=linux&format=tar.gz" +regex = "discord-(.*)\\.tar.*" + +[hstr] +source = "github" +github = "dvorka/hstr" +use_max_tag = true +prefix = "v" + +[uv-bin] +source = "github" +github = "astral-sh/uv" +use_latest_release = true +prefix = "v" + +[hugo] +source = "github" +github = "gohugoio/hugo" +use_latest_release = true +prefix = "v" + +[kitty-bin] +source = "github" +github = "kovidgoyal/kitty" +use_latest_release = true +prefix = "v" + +["llama.cpp-vulkan"] +source = "github" +github = "ggml-org/llama.cpp" +use_latest_release = true + +[obsidian] +source = "github" +github = "obsidianmd/obsidian-releases" +use_latest_release = true +prefix = "v" + +[syncthing] +source = "github" +github = "syncthing/syncthing" +use_latest_release = true +prefix = "v" + +[opencode-bin] +source = "github" +github = "anomalyco/opencode" +use_latest_release = true +prefix = "v" + diff --git a/CLAUDE.md b/CLAUDE.md index 8c530b4..baa1e2a 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -7,16 +7,16 @@ Personal collection of SlackBuild scripts maintained by Danilo, compatible with ## Repo Structure -All packages live under the `SlackBuilds/` subfolder: +Each package lives in its own top-level subfolder: ``` -SlackBuilds/ -└── / - ├── .SlackBuild # Main build script - ├── .info # Metadata (version, checksums, URLs) - ├── README # Description and usage notes - ├── slack-desc # Package description (11-line format) - └── .desktop # (optional) Desktop entry for GUI apps +/ +├── .SlackBuild # Main build script +├── .info # Metadata (version, checksums, URLs) +├── README # Description and usage notes +├── slack-desc # Package description (11-line format) +├── .desktop # (optional) Desktop entry for GUI apps +└── [...] # other optional files ``` Version tracking is handled by a single repo-level file: @@ -119,24 +119,24 @@ SBOLINT=no git commit -m'Message here' ```bash # 1. Fix any .info issues automatically -cd SlackBuilds/ && sbofixinfo +cd && sbofixinfo # 2. Download sources and verify checksums -cd SlackBuilds/ && sbodl +cd && sbodl # 3. Lint the script and metadata -cd SlackBuilds/ && sbolint +cd && sbolint # 4. Build the package -cd SlackBuilds/ && sudo bash .SlackBuild +cd && sudo bash .SlackBuild # 5. Lint the built package -cd SlackBuilds/ && sbopkglint +cd && sbopkglint # 6. Add an entry for the package in the repo-level nvchecker.toml # 7. Commit (pre-commit hook runs sbolint automatically) -git add SlackBuilds// nvchecker.toml +git add / nvchecker.toml git commit -m': add version X.Y.Z' ``` diff --git a/README.md b/README.md index 012b7ac..cecec15 100644 --- a/README.md +++ b/README.md @@ -14,16 +14,15 @@ This repository serves two purposes: ## Repository Structure -All packages live under the `SlackBuilds/` subfolder: +Each package lives in its own top-level subfolder: ``` -SlackBuilds/ -└── / - ├── .SlackBuild # Main build script - ├── .info # Metadata (version, checksums, URLs) - ├── README # Description and usage notes - ├── slack-desc # Package description (11-line format) - └── .desktop # (optional) Desktop entry for GUI apps +/ +├── .SlackBuild # Main build script +├── .info # Metadata (version, checksums, URLs) +├── README # Description and usage notes +├── slack-desc # Package description (11-line format) +└── .desktop # (optional) Desktop entry for GUI apps ``` --- @@ -61,12 +60,17 @@ SlackBuilds/ git clone https://github.com/danix/my-slackbuilds.git cd my-slackbuilds +# Fix any .info issues automatically +cd && sbofixinfo + # Download the source and verify checksums -sbodl SlackBuilds// +cd && sbodl + +# Lint the script and metadata +cd && sbolint -# Log in as root, then build the package -cd SlackBuilds/ -bash .SlackBuild +# Build the package +cd && sudo bash .SlackBuild # Install the resulting package installpkg /tmp/-*.t?z diff --git a/SlackBuilds/claude-code/README b/SlackBuilds/claude-code/README deleted file mode 100644 index 619061b..0000000 --- a/SlackBuilds/claude-code/README +++ /dev/null @@ -1,3 +0,0 @@ -Optional dependencies are: github-cli and ripgrep -Also optional dependencies (platform-specific npm modules) : @img/sharp-linux-$ARCH -If you need latest version please read README.SBo diff --git a/SlackBuilds/claude-code/README.SBo b/SlackBuilds/claude-code/README.SBo deleted file mode 100644 index 14fd910..0000000 --- a/SlackBuilds/claude-code/README.SBo +++ /dev/null @@ -1,4 +0,0 @@ -To print latest versions use this command: -curl -s https://registry.npmjs.org/@anthropic-ai/claude-code | grep -o '"dist-tags":{[^}]*}' - -Then modify .info file and .SlackBuild, download and build. diff --git a/SlackBuilds/claude-code/claude-code.SlackBuild b/SlackBuilds/claude-code/claude-code.SlackBuild deleted file mode 100644 index 2465dfa..0000000 --- a/SlackBuilds/claude-code/claude-code.SlackBuild +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/bash - -# Slackware build script for claude-code - -# 2026 Nicholas B. Hubbard -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=claude-code -VERSION=${VERSION:-2.1.81} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -mkdir -p package -tar -xzf $CWD/$PRGNAM-$VERSION.tgz -C package --strip-components=1 -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p $PKG/usr/lib64/node_modules/@anthropic-ai/ -cp -a package $PKG/usr/lib64/node_modules/@anthropic-ai/"$PRGNAM" - -mkdir -p $PKG/usr/bin -cat $PKG/usr/lib64/node_modules/@anthropic-ai/claude-code/cli.js > $PKG/usr/bin/claude -chmod +x $PKG/usr/bin/claude - -if [ "${ARCH:-}" = "x86_64" ]; then - find "$PKG/usr/lib64/node_modules/@anthropic-ai/claude-code/vendor" \ - -maxdepth 2 \( -name "arm64-*" -o -name "x64-darwin" -o -name "x64-win32" \) \ - -type d -exec rm -rf {} + -fi - -find "$PKG/usr/lib64/node_modules/@anthropic-ai/claude-code/vendor" \ - -name "*.node" -exec chmod +x {} + - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - package/*.md \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/claude-code/claude-code.info b/SlackBuilds/claude-code/claude-code.info deleted file mode 100644 index fe19835..0000000 --- a/SlackBuilds/claude-code/claude-code.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="claude-code" -VERSION="2.1.81" -HOMEPAGE="https://github.com/anthropics/claude-code" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.81.tgz" -MD5SUM_x86_64="7fac54e32b7b6664332eae14861d6c6d" -REQUIRES="nodejs22" -MAINTAINER="Nicholas B. Hubbard" -EMAIL="nicholashubbard@posteo.net" diff --git a/SlackBuilds/claude-code/doinst.sh b/SlackBuilds/claude-code/doinst.sh deleted file mode 100644 index 2d5cb9a..0000000 --- a/SlackBuilds/claude-code/doinst.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh - -rm -f /usr/bin/claude -ln -sf /usr/lib64/node_modules/@anthropic-ai/claude-code/cli.js /usr/bin/claude diff --git a/SlackBuilds/claude-code/slack-desc b/SlackBuilds/claude-code/slack-desc deleted file mode 100644 index 7123e39..0000000 --- a/SlackBuilds/claude-code/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -claude-code: claude-code (Agentic coding tool in your terminal) -claude-code: -claude-code: Claude Code is a terminal-based coding agent built by Anthropic. -claude-code: This build installs claude-code from the npm tarball offline, -claude-code: NOT including optional sharp dependencies for Linux x64/ARM... -claude-code: -claude-code: -claude-code: -claude-code: Homepage: https://github.com/anthropics/claude-code -claude-code: -claude-code: diff --git a/SlackBuilds/discord/README b/SlackBuilds/discord/README deleted file mode 100644 index ceb8841..0000000 --- a/SlackBuilds/discord/README +++ /dev/null @@ -1,14 +0,0 @@ -discord (It's time to ditch Skype and TeamSpeak) - -All-in-one voice and text chat for gamers that's free, secure, and -works on both your desktop and phone. Stop paying for TeamSpeak -servers and hassling with Skype. Simplify your life. - -Discord is only available as a 64bit program. 32bit is unsupported. - -If you'd like Discord to continue working after an upstream update -is released, but is not yet available on SBo, add the following to -the beginning of your user's ~/.config/discord/settings.json file, -on a new line after the first bracket: - -"SKIP_HOST_UPDATE": true, diff --git a/SlackBuilds/discord/discord.SlackBuild b/SlackBuilds/discord/discord.SlackBuild deleted file mode 100644 index 0f3787f..0000000 --- a/SlackBuilds/discord/discord.SlackBuild +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash - -# Slackware build script for discord -# -# Copyright 2016-2026 Jeremy Hansen -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=discord -VERSION=${VERSION:-0.0.131} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - DEBARCH="i386" - echo "This package is currently only available for 64bit." - exit 1 -elif [ "$ARCH" = "x86_64" ]; then - DEBARCH="amd64" -else - echo "Package for $(uname -m) architecture is not available." - exit 1 -fi - -set -eu - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $PKG -ar p $CWD/${PRGNAM}-${VERSION}.deb data.tar.gz | tar zxv - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -mv $PKG/usr/share/doc/discord/copyright $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -# Don't need these: -rm -rf $PKG/usr/share/doc $PKG/usr/share/lintian - -# Correct permissions error found using sbopkglint -chmod +x $PKG/usr/share/discord/lib*.so* - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/discord/discord.info b/SlackBuilds/discord/discord.info deleted file mode 100644 index 7af507e..0000000 --- a/SlackBuilds/discord/discord.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="discord" -VERSION="0.0.131" -HOMEPAGE="https://discord.com" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://dl.discordapp.net/apps/linux/0.0.131/discord-0.0.131.deb" -MD5SUM_x86_64="51acbf7c5f4fb7795aaaffc5755d9807" -REQUIRES="" -MAINTAINER="Jeremy Hansen" -EMAIL="jebrhansen+SBo@gmail.com" diff --git a/SlackBuilds/discord/doinst.sh b/SlackBuilds/discord/doinst.sh deleted file mode 100644 index 5fb2893..0000000 --- a/SlackBuilds/discord/doinst.sh +++ /dev/null @@ -1,3 +0,0 @@ -if [ -x /usr/bin/update-desktop-database ]; then - /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 -fi diff --git a/SlackBuilds/discord/slack-desc b/SlackBuilds/discord/slack-desc deleted file mode 100644 index bfd437a..0000000 --- a/SlackBuilds/discord/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -discord: discord (It's time to ditch Skype and TeamSpeak) -discord: -discord: All-in-one voice and text chat for gamers that's free, secure, and -discord: works on both your desktop and phone. Stop paying for TeamSpeak -discord: servers and hassling with Skype. Simplify your life. -discord: -discord: Homepage: https://discord.com/ -discord: -discord: -discord: -discord: diff --git a/SlackBuilds/hstr/README b/SlackBuilds/hstr/README deleted file mode 100644 index e1fde90..0000000 --- a/SlackBuilds/hstr/README +++ /dev/null @@ -1,6 +0,0 @@ -Bash and Zsh shell history suggest box - easily view, navigate, search -and manage your command history. - -It is a command line utility which brings improved command completion -from the history. It aims to make completion easier to use and more -efficient than Ctrl-r. diff --git a/SlackBuilds/hstr/hstr.SlackBuild b/SlackBuilds/hstr/hstr.SlackBuild deleted file mode 100644 index 07af63e..0000000 --- a/SlackBuilds/hstr/hstr.SlackBuild +++ /dev/null @@ -1,118 +0,0 @@ -#!/bin/bash - -# Slackware build script for hstr - -# Copyright 2014-2023 Zhu Qun-Ying -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=hstr -VERSION=${VERSION:-3.1} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -# Fix for ncurses-6.5 -sed -i "s|||" src/include/hstr_curses.h src/include/hstr.h - -autoreconf -vfis - -CFLAGS="$SLKCFLAGS" \ -CXXFLAGS="$SLKCFLAGS" \ -ac_cv_func_malloc_0_nonnull=yes \ -./configure \ - --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --mandir=/usr/man \ - --docdir=/usr/doc/$PRGNAM-$VERSION \ - --build=$ARCH-slackware-linux - -make -make install DESTDIR=$PKG - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -ln -sf hstr $PKG/usr/bin/hh - -find $PKG/usr/man -type f -exec gzip -9 {} \; -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a CONFIGURATION.md LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/hstr/hstr.info b/SlackBuilds/hstr/hstr.info deleted file mode 100644 index 50a2971..0000000 --- a/SlackBuilds/hstr/hstr.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="hstr" -VERSION="3.1" -HOMEPAGE="https://github.com/dvorka/hstr" -DOWNLOAD="https://github.com/dvorka/hstr/archive/3.1/hstr-3.1.tar.gz" -MD5SUM="5d647f3b2fc4615b14eaeaaf5b27e4f2" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="Zhu Qun-Ying" -EMAIL="zhu.qunying@gmail.com" diff --git a/SlackBuilds/hstr/slack-desc b/SlackBuilds/hstr/slack-desc deleted file mode 100644 index 9d8067a..0000000 --- a/SlackBuilds/hstr/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -hstr: hstr (BASH and Zsh Shell History Suggest Box) -hstr: -hstr: BASH and Zsh Shell history suggest box is a command line utility that -hstr: brings improved command completion from the history. It aims to -hstr: make completion easier and more efficient than Ctrl-r. -hstr: -hstr: -hstr: -hstr: -hstr: homepage: https://github.com/dvorka/hstr -hstr: diff --git a/SlackBuilds/hugo/README b/SlackBuilds/hugo/README deleted file mode 100644 index 82dd3ed..0000000 --- a/SlackBuilds/hugo/README +++ /dev/null @@ -1,23 +0,0 @@ -Hugo is a static HTML and CSS website generator written in Go. It is -optimized for speed, ease of use, and configurability. Hugo takes a -directory with content and templates and renders them into a full HTML -website. - -Hugo relies on Markdown files with front matter for metadata, and you -can run Hugo from any directory. This works well for shared hosts and -other systems where you don’t have a privileged account. - -Hugo renders a typical website of moderate size in a fraction of a -second. A good rule of thumb is that each piece of content renders in -around 1 millisecond. - -Hugo is designed to work well for any kind of website including blogs, -tumbles, and docs. - -Notes: -This slackbuild installs the "extended" version of Hugo. Please see -the Hugo website for more about the additional functionality. - -Current release: -Hugo cannot be updated beyond 0.148.2 in the current stable release -of Slackware. diff --git a/SlackBuilds/hugo/hugo.SlackBuild b/SlackBuilds/hugo/hugo.SlackBuild deleted file mode 100644 index 062575a..0000000 --- a/SlackBuilds/hugo/hugo.SlackBuild +++ /dev/null @@ -1,91 +0,0 @@ -#!/bin/bash - -# Slackware build script for hugo - -# Copyright 2020-2025 Andrew Payne -# Copyright 2018-2019 Donald Cooley South Haven, IN USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=hugo -VERSION=${VERSION:-0.159.2} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "x86_64" ]; then - BIT="64bit" -else - echo "$ARCH is not supported." - exit 1 -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir -p $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM\_extended\_$VERSION\_Linux-$BIT.tar.gz -C $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p $PKG/{usr/bin,opt/$PRGNAM} - cp -a * $PKG/opt/$PRGNAM - ln -s /opt/$PRGNAM/hugo $PKG/usr/bin/$PRGNAM - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - LICENSE README.md \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/hugo/hugo.info b/SlackBuilds/hugo/hugo.info deleted file mode 100644 index 4a184a1..0000000 --- a/SlackBuilds/hugo/hugo.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="hugo" -VERSION="0.159.2" -HOMEPAGE="https://gohugo.io" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://github.com/gohugoio/hugo/releases/download/v0.159.2/hugo_extended_0.159.2_Linux-64bit.tar.gz" -MD5SUM_x86_64="a3e27d4b2049a710dbe7d7c1954a827e" -REQUIRES="" -MAINTAINER="Andrew Payne" -EMAIL="phalange@komputermatrix.com" diff --git a/SlackBuilds/hugo/slack-desc b/SlackBuilds/hugo/slack-desc deleted file mode 100644 index f7eafa6..0000000 --- a/SlackBuilds/hugo/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -hugo: hugo (static HTML and CSS website generator written in Go) -hugo: -hugo: Hugo is a static HTML and CSS website generator written in Go. It is -hugo: optimized for speed, ease of use, and configurability. Hugo takes a -hugo: directory with content and templates and renders them into a full -hugo: HTML website. -hugo: -hugo: Homepage: https://gohugo.io -hugo: -hugo: -hugo: diff --git a/SlackBuilds/kitty-bin/README b/SlackBuilds/kitty-bin/README deleted file mode 100644 index 6ccf6b9..0000000 --- a/SlackBuilds/kitty-bin/README +++ /dev/null @@ -1,14 +0,0 @@ -kitty (fast, featureful, GPU-based terminal emulator) - -kitty is a terminal emulator for X11 and Wayland [1], which offloads -the rendering to the GPU [2] and supports modern terminal features. It -also supports tiling multiple terminal windows without using an extra -program like screen or tmux. - -[1] For Wayland support, it may be necessary to add the following - line to ~/.config/kitty/kitty.conf: - linux_display_server wayland - -[2] Requires hardware-accelerated OpenGL support. - -This is a repackage of the binaries distributed by upstream diff --git a/SlackBuilds/kitty-bin/doinst.sh b/SlackBuilds/kitty-bin/doinst.sh deleted file mode 100644 index 1f8ff67..0000000 --- a/SlackBuilds/kitty-bin/doinst.sh +++ /dev/null @@ -1,10 +0,0 @@ -if [ -x /usr/bin/update-desktop-database ]; then - /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 -fi - -if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then - if [ -x /usr/bin/gtk-update-icon-cache ]; then - /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 - fi -fi - diff --git a/SlackBuilds/kitty-bin/kitty-bin.SlackBuild b/SlackBuilds/kitty-bin/kitty-bin.SlackBuild deleted file mode 100644 index 1343807..0000000 --- a/SlackBuilds/kitty-bin/kitty-bin.SlackBuild +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash - -# Slackware build script for kitty - -# Copyright 2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=kitty-bin -SRCNAM=kitty -VERSION=${VERSION:-0.46.2} -BUILD=${BUILD:-2} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION-$ARCH.txz - -chown -R root:root . -find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ - \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ - -mkdir -p $PKG/opt/$PRGNAM-$VERSION/{bin,lib} -cp -a bin/* $PKG/opt/$PRGNAM-$VERSION/bin -cp -a lib/* $PKG/opt/$PRGNAM-$VERSION/lib - -mkdir -p $PKG/usr/{bin,man} -mkdir -p $PKG/usr/share/{applications,icons,terminfo} -cp -a share/applications/*.desktop $PKG/usr/share/applications -cp -a share/icons/* $PKG/usr/share/icons -cp -a share/man/* $PKG/usr/man -find $PKG/usr/man/man* -type f | xargs gzip -9 -cp -a share/terminfo/* $PKG/usr/share/terminfo - -ln -sf ../../opt/$PRGNAM-$VERSION/bin/kitty $PKG/usr/bin/kitty -ln -sf ../../opt/$PRGNAM-$VERSION/bin/kitten $PKG/usr/bin/kitten - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a share/doc/$SRCNAM/html $PKG/usr/doc/$PRGNAM-$VERSION -find $PKG/usr/doc/$PRGNAM-$VERSION/html -type f -a -empty | xargs rm -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/kitty-bin/kitty-bin.info b/SlackBuilds/kitty-bin/kitty-bin.info deleted file mode 100644 index b3deea8..0000000 --- a/SlackBuilds/kitty-bin/kitty-bin.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="kitty-bin" -VERSION="0.46.2" -HOMEPAGE="https://sw.kovidgoyal.net/kitty/" -DOWNLOAD="https://github.com/kovidgoyal/kitty/releases/download/v0.46.2/kitty-0.46.2-x86_64.txz" -MD5SUM="9c99ee383211e06cd919d156ab3c1031" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="danix" -EMAIL="danix@danix.xyz" diff --git a/SlackBuilds/kitty-bin/slack-desc b/SlackBuilds/kitty-bin/slack-desc deleted file mode 100644 index de67509..0000000 --- a/SlackBuilds/kitty-bin/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -kitty-bin: kitty (fast, featureful, GPU-based terminal emulator) -kitty-bin: -kitty-bin: kitty is a terminal emulator for X11 and Wayland, which offloads the -kitty-bin: rendering to the GPU and supports modern terminal features. It also -kitty-bin: supports tiling multiple terminal windows without using an extra -kitty-bin: program like screen or tmux. -kitty-bin: -kitty-bin: Homepage: https://sw.kovidgoyal.net/kitty/ -kitty-bin: -kitty-bin: This is a repackage of the binaries distributed by upstream. -kitty-bin: diff --git a/SlackBuilds/llama.cpp-vulkan/README b/SlackBuilds/llama.cpp-vulkan/README deleted file mode 100644 index 5509d44..0000000 --- a/SlackBuilds/llama.cpp-vulkan/README +++ /dev/null @@ -1,22 +0,0 @@ -llama.cpp - -LLM inference in C/C++ - -The main goal of llama.cpp is to enable LLM inference with minimal -setup and state-of-the-art performance on a wide range of hardware -locally and in the cloud. - - - Plain C/C++ implementation without any dependencies - - Apple silicon is a first-class citizen - optimized via ARM NEON, - Accelerate and Metal frameworks - - AVX, AVX2, AVX512 and AMX support for x86 architectures - - RVV, ZVFH, ZFH, ZICBOP and ZIHINTPAUSE support for RISC-V - architectures - - 1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, and 8-bit integer - quantization for faster inference and reduced memory use - - Custom CUDA kernels for running LLMs on NVIDIA GPUs (support for - AMD GPUs via HIP and Moore Threads GPUs via MUSA) - - Vulkan and SYCL backend support - - CPU+GPU hybrid inference to partially accelerate models larger than - the total VRAM capacity - diff --git a/SlackBuilds/llama.cpp-vulkan/doinst.sh b/SlackBuilds/llama.cpp-vulkan/doinst.sh deleted file mode 100644 index 0b91476..0000000 --- a/SlackBuilds/llama.cpp-vulkan/doinst.sh +++ /dev/null @@ -1,27 +0,0 @@ -config() { - NEW="$1" - OLD="$(dirname $NEW)/$(basename $NEW .new)" - # If there's no config file by that name, mv it over: - if [ ! -r $OLD ]; then - mv $NEW $OLD - elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then - # toss the redundant copy - rm $NEW - fi - # Otherwise, we leave the .new copy for the admin to consider... -} - -preserve_perms() { - NEW="$1" - OLD="$(dirname $NEW)/$(basename $NEW .new)" - if [ -e $OLD ]; then - cp -a $OLD ${NEW}.incoming - cat $NEW > ${NEW}.incoming - mv ${NEW}.incoming $NEW - fi - config $NEW -} - -preserve_perms etc/rc.d/rc.llama.cpp.new -config etc/rc.d/rc.llama.cpp.new - diff --git a/SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild b/SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild deleted file mode 100644 index dbbd4cf..0000000 --- a/SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/bash - -# Slackware build script for llama.cpp-vulkan - -# Copyright 2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=llama.cpp-vulkan -SRCNAM=llama.cpp -VERSION=${VERSION:-b8611} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -ex - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-$VERSION -tar xvf $CWD/$SRCNAM-$VERSION.tar.gz -cd $SRCNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p build -cd build - cmake .. \ - -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DLIB_SUFFIX=${LIBDIRSUFFIX} \ - -DMAN_INSTALL_DIR=/usr/man \ - -B build \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -DLLAMA_BUILD_TESTS=OFF \ - -DLLAMA_USE_SYSTEM_GGML=OFF \ - -DGGML_NATIVE=ON \ - -DGGML_ALL_WARNINGS=OFF \ - -DGGML_ALL_WARNINGS_3RD_PARTY=OFF \ - -DGGML_BUILD_EXAMPLES=OFF \ - -DGGML_BUILD_TESTS=OFF \ - -DGGML_LTO=ON \ - -DGGML_RPC=ON \ - -DGGML_VULKAN=ON \ - -DGGML_CUDA_FA_ALL_QUANTS=ON \ - -DLLAMA_BUILD_NUMBER="${VERSION#b}" \ - -Wno-dev - - cmake --build build -- - DESTDIR=$PKG cmake --install build -cd .. - -rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -find $PKG/usr/man -type f -exec gzip -9 {} \; || true -for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a \ - AUTHORS CODEOWNERS CONTRIBUTING.md LICENSE README.md SECURITY.md media \ - $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/etc/rc.d -cat $CWD/rc.llama.cpp > $PKG/etc/rc.d/rc.llama.cpp.new - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.info b/SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.info deleted file mode 100644 index 688e652..0000000 --- a/SlackBuilds/llama.cpp-vulkan/llama.cpp-vulkan.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="llama.cpp-vulkan" -VERSION="b8611" -HOMEPAGE="https://github.com/ggml-org/llama.cpp" -DOWNLOAD="https://github.com/ggml-org/llama.cpp/archive/b8611/llama.cpp-b8611.tar.gz" -MD5SUM="1850929860dd3dc9df7ec4aea2fd156a" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="danix" -EMAIL="danix@danix.xyz" diff --git a/SlackBuilds/llama.cpp-vulkan/rc.llama.cpp b/SlackBuilds/llama.cpp-vulkan/rc.llama.cpp deleted file mode 100644 index 82124f9..0000000 --- a/SlackBuilds/llama.cpp-vulkan/rc.llama.cpp +++ /dev/null @@ -1,95 +0,0 @@ -#!/bin/sh - -# Copyright 2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# SERVER OPTIONS -# many options can be set as env variables. -# See https://github.com/ggml-org/llama.cpp/tree/master/tools/server - -RUNAS_USER= -RUNAS_GROUP=users -LLSRV=/usr/bin/llama-server -#MODEL_DIR= -MODEL= # which model to use -HOST=127.0.0.1 # ip to bind the server to -PORT=8181 # port for the server to listen to -CONTEXT= #size of context -TEMP=1.0 -TOP_K=20 -TOP_P=0.95 -MIN_P=0.00 -SLEEP_IDLE_SECONDS=500 # after how many seconds to unload the model from memory -REASONING_FORMAT=deepseek -GPU_LAYERS=all -SPLIT_MODE=none -NO_CONTEXT_SHIFT='--no-context-shift' -LOG_FILE=/var/log/llama-server/server.log -LLAMA_ARGS="--ctx-size $CONTEXT \ - --jinja \ - --temp $TEMP \ - --top-k $TOP_K \ - --top-p $TOP_P \ - --min-p $MIN_P \ - --host $HOST --port $PORT \ - --reasoning-format $REASONING_FORMAT \ - -sm $SPLIT_MODE \ - $NO_CONTEXT_SHIFT \ - -ngl $GPU_LAYERS \ - --sleep-idle-seconds $SLEEP_IDLE_SECONDS \ - -m $MODEL" # alternatively one could set the model directory and pass --models-dir to the script - -case "$1" in - stop) - if /usr/bin/pgrep -f "$LLSRV" >/dev/null; then - echo "Stopping llama-server..." - killall llama-server 2>/dev/null - else - echo "llama-server is not running..." - exit 1 - fi - ;; - start) - echo "Starting llama-server..." - if [[ -d $(dirname $LOG_FILE) ]]; then - mkdir -p $(dirname $LOG_FILE) - touch $LOG_FILE - chown -R ${RUNAS_USER}:${RUNAS_GROUP} $(dirname $LOG_FILE) - fi - su $RUNAS_USER -c "$LLSRV $LLAMA_ARGS --log-file $LOG_FILE -lv 3 --log-timestamps" 1>/dev/null 2>&1 & - $0 status - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - status) - if /usr/bin/pgrep -f "$LLSRV" >/dev/null; then - echo "llama-server is running" - echo "Browser interface is at:" - echo "http://${HOST}:${PORT}" - fi - ;; - *) - echo "usage: $0 { start | stop | status | restart }" >&2 - exit 1 - ;; -esac diff --git a/SlackBuilds/llama.cpp-vulkan/slack-desc b/SlackBuilds/llama.cpp-vulkan/slack-desc deleted file mode 100644 index 273e15e..0000000 --- a/SlackBuilds/llama.cpp-vulkan/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -llama.cpp-vulkan: llama.cpp-vulkan (LLM inference in C/C++) -llama.cpp-vulkan: -llama.cpp-vulkan: Port of Facebook's LLaMA model in C/C++ with Vulkan GPU optimizations -llama.cpp-vulkan: -llama.cpp-vulkan: The main goal of llama.cpp is to enable LLM inference with minimal -llama.cpp-vulkan: setup and state-of-the-art performance on a wide range of hardware -llama.cpp-vulkan: locally and in the cloud. -llama.cpp-vulkan: -llama.cpp-vulkan: Home: https://github.com/ggml-org/llama.cpp -llama.cpp-vulkan: -llama.cpp-vulkan: diff --git a/SlackBuilds/obsidian/README b/SlackBuilds/obsidian/README deleted file mode 100644 index db73203..0000000 --- a/SlackBuilds/obsidian/README +++ /dev/null @@ -1,12 +0,0 @@ -Obsidian is a personal knowledge base and note-taking software -application that operates on Markdown files. It allows users to make -internal links for notes and then to visualize the connections as a -graph. It is designed to help users organize and structure their -thoughts and knowledge in a flexible, non-linear way. - -The software is free for personal use, with commercial licenses -available for pay - -This script repackages the Debian package provided by Obsidian team. - -Currently, only the 64bit version is available. diff --git a/SlackBuilds/obsidian/doinst.sh b/SlackBuilds/obsidian/doinst.sh deleted file mode 100644 index 65c7e2e..0000000 --- a/SlackBuilds/obsidian/doinst.sh +++ /dev/null @@ -1,9 +0,0 @@ -if [ -x /usr/bin/update-desktop-database ]; then - /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 -fi - -if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then - if [ -x /usr/bin/gtk-update-icon-cache ]; then - /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 - fi -fi diff --git a/SlackBuilds/obsidian/obsidian.SlackBuild b/SlackBuilds/obsidian/obsidian.SlackBuild deleted file mode 100644 index 25ec26b..0000000 --- a/SlackBuilds/obsidian/obsidian.SlackBuild +++ /dev/null @@ -1,86 +0,0 @@ -#!/bin/bash - -# Slackware build script for Obsidian - -# Copyright 2024 Dimitar Nikov, Alfreton, United Kingdom -# Copyright 2025-2026 Matt Egger, Philadelphia, PA, United States -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=obsidian -VERSION=${VERSION:-1.12.7} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" != "x86_64" ]; then - echo "$ARCH is not supported." - exit 1 -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $PKG -ar p $CWD/${PRGNAM}_${VERSION}_amd64.deb data.tar.xz | tar -xvJ - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -rm -fr $PKG/usr/share/doc - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/obsidian/obsidian.info b/SlackBuilds/obsidian/obsidian.info deleted file mode 100644 index 9fe77d1..0000000 --- a/SlackBuilds/obsidian/obsidian.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="obsidian" -VERSION="1.12.7" -HOMEPAGE="https://obsidian.md/" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://github.com/obsidianmd/obsidian-releases/releases/download/v1.12.7/obsidian_1.12.7_amd64.deb" -MD5SUM_x86_64="4fc61e50360320be9083f80b04a805ee" -REQUIRES="" -MAINTAINER="Matt Egger" -EMAIL="matt.egger@gmail.com" diff --git a/SlackBuilds/obsidian/slack-desc b/SlackBuilds/obsidian/slack-desc deleted file mode 100644 index e77e407..0000000 --- a/SlackBuilds/obsidian/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -obsidian: obsidian (a markdown editor) -obsidian: -obsidian: Obsidian is a personal knowledge base and note-taking software -obsidian: application that operates on Markdown files. It allows users to make -obsidian: internal links for notes and then to visualize the connections as a -obsidian: graph. It is designed to help users organize and structure their -obsidian: thoughts and knowledge in a flexible, non-linear way. -obsidian: -obsidian: Homepage: https://obsidian.md/ -obsidian: -obsidian: diff --git a/SlackBuilds/opencode-bin/README b/SlackBuilds/opencode-bin/README deleted file mode 100644 index 1b8e8d0..0000000 --- a/SlackBuilds/opencode-bin/README +++ /dev/null @@ -1,15 +0,0 @@ -OpenCode is an open source agent that helps you write code in your -terminal, IDE, or desktop. - - - LSP enabled Automatically loads the right LSPs for the LLM - - Multi-session Start multiple agents in parallel on the same project - - Share links Share a link to any session for reference or to debug - - GitHub Copilot Log in with GitHub to use your Copilot account - - ChatGPT Plus/Pro Log in with OpenAI to use your ChatGPT Plus or Pro - account - - Any model 75+ LLM providers through Models.dev, including local - models - - Any editor Available as a terminal interface, desktop app, and - IDE extension - -This Package delivers the binary released from mainstream diff --git a/SlackBuilds/opencode-bin/opencode-bin.SlackBuild b/SlackBuilds/opencode-bin/opencode-bin.SlackBuild deleted file mode 100644 index b2c304b..0000000 --- a/SlackBuilds/opencode-bin/opencode-bin.SlackBuild +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/bash - -# Slackware build script for opencode - -# Copyright 2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=opencode-bin -SRCNAM=opencode -VERSION=${VERSION:-1.3.13} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -ARCH=${ARCH:-x86_64} - -# Only x86_64 is supported (pre-built binary) -if [ "$ARCH" != "x86_64" ]; then - echo "ERROR: $PRGNAM is only available for x86_64." - exit 1 -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP - -tar xvf $CWD/$SRCNAM-linux-x64.tar.gz - -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p $PKG/usr/bin -install -D -m 0755 opencode $PKG/usr/bin/opencode - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -# Install man page -install -D -m 0644 $CWD/opencode.1 $PKG/usr/man/man1/opencode.1 -gzip -9 $PKG/usr/man/man1/opencode.1 - -# Install docs -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/opencode-bin/opencode-bin.info b/SlackBuilds/opencode-bin/opencode-bin.info deleted file mode 100644 index 155faec..0000000 --- a/SlackBuilds/opencode-bin/opencode-bin.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="opencode-bin" -VERSION="1.3.13" -HOMEPAGE="https://opencode.ai" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://github.com/anomalyco/opencode/releases/download/v1.3.13/opencode-linux-x64.tar.gz" -MD5SUM_x86_64="8dd2dab3b9ffaeb956fa95ed80b6b15b" -REQUIRES="" -MAINTAINER="danix" -EMAIL="danix@danix.xyz" diff --git a/SlackBuilds/opencode-bin/opencode.1 b/SlackBuilds/opencode-bin/opencode.1 deleted file mode 100644 index ba2b76b..0000000 --- a/SlackBuilds/opencode-bin/opencode.1 +++ /dev/null @@ -1,67 +0,0 @@ -.TH OPENCODE 1 "2025" "opencode" "User Commands" -.SH NAME -opencode \- open source AI coding agent for the terminal -.SH SYNOPSIS -.B opencode -[\fIOPTIONS\fR] -.SH DESCRIPTION -.B opencode -is an AI coding agent designed for the terminal. It provides a TUI -(Terminal User Interface) for interacting with 75+ LLM providers -including Anthropic Claude, OpenAI, Google Gemini, GitHub Copilot, -and local models via Ollama. -.PP -It uses a client/server architecture allowing the server to run on -one machine while being driven remotely from another client. -.SH OPTIONS -.TP -.BR \-h ", " \-\-help -Display help information and exit. -.TP -.BR \-v ", " \-\-version -Print version number and exit. -.TP -.BR \-d ", " \-\-debug -Enable debug logging. -.TP -.BR \-c " " \fIDIR\fR ", " \-\-cwd " " \fIDIR\fR -Set the working directory for the session. -.TP -.BR \-p " " \fIPROMPT\fR ", " \-\-print " " \fIPROMPT\fR -Run non-interactively with the given prompt and print the response, -then exit. Useful for scripting and automation. -.TP -.BR \-f " " \fIFORMAT\fR ", " \-\-format " " \fIFORMAT\fR -Output format when using \fB\-p\fR. Options: \fBtext\fR (default), \fBjson\fR. -.TP -.BR \-q ", " \-\-quiet -Suppress the spinner animation. Useful when running from scripts. -.SH ENVIRONMENT -.TP -.B OPENCODE_INSTALL_DIR -Override the binary installation directory used by the install script. -.TP -.B XDG_BIN_DIR -XDG Base Directory Specification compliant binary path. -.SH FILES -.TP -.I ~/.config/opencode/ -User configuration directory. -.TP -.I ~/.local/share/opencode/auth.json -Stored authentication credentials. -.SH TUI COMMANDS -Inside the TUI, the following slash commands are available: -.TP -.B /connect -Configure and authenticate an LLM provider. -.TP -.B /models -Switch between available models. -.SH SEE ALSO -Full documentation at \fIhttps://opencode.ai/docs\fR -.SH AUTHORS -Developed by the Anomaly team. See \fIhttps://github.com/anomalyco/opencode\fR -for contributors. -.SH LICENSE -MIT License. diff --git a/SlackBuilds/opencode-bin/slack-desc b/SlackBuilds/opencode-bin/slack-desc deleted file mode 100644 index 9469921..0000000 --- a/SlackBuilds/opencode-bin/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one blank line after the base package name's header. - - |-----handy-ruler------------------------------------------------------| -opencode-bin: opencode-bin (open source AI coding agent for the terminal) -opencode-bin: -opencode-bin: OpenCode is a TUI/CLI AI coding agent supporting 75+ LLM providers -opencode-bin: including Claude, OpenAI, Gemini, GitHub Copilot, and local models -opencode-bin: via Ollama. It features a client/server architecture, session -opencode-bin: management, LSP integration, MCP support, and plugin system. -opencode-bin: Binaries are compiled with Bun and are self-contained. -opencode-bin: -opencode-bin: Homepage: https://opencode.ai -opencode-bin: License: MIT -opencode-bin: diff --git a/SlackBuilds/qarma/README b/SlackBuilds/qarma/README deleted file mode 100644 index 981dbe5..0000000 --- a/SlackBuilds/qarma/README +++ /dev/null @@ -1,7 +0,0 @@ -qarma is a tool to create dialog boxes, based on Qt. It's a clone of -Zenity which was written for GTK+. - -Qarma could be compiled against Qt6, Qt5 and Qt4, and supports styling -with qt5ct and qt6ct. - -Homepage: https://github.com/luebking/qarma diff --git a/SlackBuilds/qarma/qarma.SlackBuild b/SlackBuilds/qarma/qarma.SlackBuild deleted file mode 100644 index 9ea8022..0000000 --- a/SlackBuilds/qarma/qarma.SlackBuild +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash - -# Slackware build script for qarma - -# Copyright 2018-2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=qarma -VERSION=${VERSION:-1.1.0} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -NUMJOBS=${NUMJOBS:--j4} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -tar xvf $CWD/$PRGNAM-$VERSION.tar.gz -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p build-$PRGNAM -cd build-$PRGNAM - qmake6 .. - make $NUMJOBS - mkdir -p $PKG/usr/bin - install -m 0755 qarma $PKG/usr/bin -cd .. - -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/qarma/qarma.info b/SlackBuilds/qarma/qarma.info deleted file mode 100644 index 8e2e514..0000000 --- a/SlackBuilds/qarma/qarma.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="qarma" -VERSION="1.1.0" -HOMEPAGE="https://github.com/luebking/qarma" -DOWNLOAD="https://github.com/luebking/qarma/archive/v1.1.0/qarma-1.1.0.tar.gz" -MD5SUM="2ebe757b99c81fa5e84d1cda6a811279" -DOWNLOAD_x86_64="" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="danix" -EMAIL="danix@danix.xyz" diff --git a/SlackBuilds/qarma/slack-desc b/SlackBuilds/qarma/slack-desc deleted file mode 100644 index c23cc62..0000000 --- a/SlackBuilds/qarma/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -qarma: qarma (near perfect zenity clone for Qt) -qarma: -qarma: Qarma is a near perfect zenity clone, written in Qt, -qarma: could be compiled against Qt6, Qt5 and Qt4, and supports styling -qarma: with qt5ct and qt6ct. -qarma: -qarma: Q: Why do you waste time cloning a perfectly fine tool? -qarma: A: "The answer is that GTK+ is primarily intended to be used on -qarma: the GNOME desktop. GTK+ must focus on being the toolkit of -qarma: the GNOME platform first, and tackle integration second." -qarma: Website: https://github.com/luebking/qarma diff --git a/SlackBuilds/syncthing/README b/SlackBuilds/syncthing/README deleted file mode 100644 index 86b1197..0000000 --- a/SlackBuilds/syncthing/README +++ /dev/null @@ -1,20 +0,0 @@ -Syncthing (two way file sync between devices) - -Syncthing is a free, open-source peer-to-peer, two-way file -syncronisation application available for Windows, Mac, Linux, iOS, -Android, Solaris, Darwin and BSD. It can sync files between devices -on a local network, or between remote devices over the Internet. - -Before you can build Syncthing, you have to create a syncthing -user and group (used when running syncthing as a system-wide daemon): - -groupadd -g 307 syncthing -useradd -d /var/lib/syncthing -g syncthing -s /bin/bash -u 307 syncthing - -This package includes a rc.syncthing startup script, suitable for -running Syncthing as a system daemon - such as on a server. - -The default location for the Syncthing config *and* sync repository -if run using the enclosed rc.syncthing is under /var/lib/syncthing, -but Syncthing is normally configured through its own web interface. -See project page for further details. diff --git a/SlackBuilds/syncthing/doinst.sh b/SlackBuilds/syncthing/doinst.sh deleted file mode 100644 index 9d663d4..0000000 --- a/SlackBuilds/syncthing/doinst.sh +++ /dev/null @@ -1,25 +0,0 @@ -config() { - NEW="$1" - OLD="`dirname $NEW`/`basename $NEW .new`" - # If there's no config file by that name, mv it over: - if [ ! -r $OLD ]; then - mv $NEW $OLD - elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy - rm $NEW - fi - # Otherwise, we leave the .new copy for the admin to consider... -} - -preserve_perms() { - NEW="$1" - OLD="$(dirname $NEW)/$(basename $NEW .new)" - if [ -e $OLD ]; then - cp -a $OLD ${NEW}.incoming - cat $NEW > ${NEW}.incoming - mv ${NEW}.incoming $NEW - fi - config $NEW -} - -config etc/logrotate.d/syncthing.new -preserve_perms etc/rc.d/rc.syncthing.new diff --git a/SlackBuilds/syncthing/rc.syncthing b/SlackBuilds/syncthing/rc.syncthing deleted file mode 100644 index 730e638..0000000 --- a/SlackBuilds/syncthing/rc.syncthing +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -# Copyright 2016, Sebastian Arcus, UK -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -SYNCTHING_USER="syncthing" -SYNCTHING="/usr/bin/syncthing" -CONFDIR="/var/lib/syncthing/config" -LOGFILE="/var/log/syncthing/syncthing.log" -LOGFLAGS="11" -SYNCTHING_ARGS="-no-browser" - -case "$1" in - stop) - if /usr/bin/pgrep -f /usr/bin/syncthing >/dev/null; then - echo "Stop Syncthing..." - killall syncthing 2>/dev/null - else - echo "Syncthing is not running..." - exit 1 - fi - ;; - start) - echo "Start Syncthing..." - su - $SYNCTHING_USER -c "$SYNCTHING -home=$CONFDIR -logfile=$LOGFILE -logflags=$LOGFLAGS $SYNCTHING_ARGS" 1>/dev/null 2>&1 & - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - *) - echo "usage: $0 { start | stop | restart }" >&2 - exit 1 - ;; -esac diff --git a/SlackBuilds/syncthing/slack-desc b/SlackBuilds/syncthing/slack-desc deleted file mode 100644 index 2d1ee73..0000000 --- a/SlackBuilds/syncthing/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -syncthing: syncthing (two way file sync between devices) -syncthing: -syncthing: Syncthing is a free, open-source peer-to-peer, two-way file -syncthing: syncronisation application available for Windows, Mac, Linux, iOS, -syncthing: Android, Solaris, Darwin and BSD. It can sync files between devices -syncthing: on a local network, or between remote devices over the Internet. -syncthing: -syncthing: https://syncthing.net -syncthing: -syncthing: -syncthing: diff --git a/SlackBuilds/syncthing/syncthing.SlackBuild b/SlackBuilds/syncthing/syncthing.SlackBuild deleted file mode 100644 index b4b896f..0000000 --- a/SlackBuilds/syncthing/syncthing.SlackBuild +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash - -# Slackware build script for syncthing - -# Copyright 2015 Lionel Young, United States -# Copyright 2016 Sebastian Arcus, United Kingdom -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=syncthing -VERSION=${VERSION:-2.0.15} -BUILD=${BUILD:-1} -TAG=${TAG:-_danix} -PKGTYPE=${PKGTYPE:-txz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ "$ARCH" = "i586" ] || [ "$ARCH" = "i686" ]; then - FARCH=386 -elif [ "$ARCH" = "x86_64" ]; then - FARCH=amd64 -else - echo "$ARCH architecture is not supported." - exit 1 -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -set -e - -# Check if the syncthing user and group exist. If not, then bail. -if [ "$(id -g syncthing 2> /dev/null)" != "307" -o "$(id -u syncthing 2> /dev/null)" != "307" ]; then - echo " You must have an 'syncthing' user and group to run this script." - echo " # groupadd -g 307 syncthing" - echo " # useradd -d /var/lib/syncthing -g syncthing -s /bin/bash -u 307 syncthing" - exit 1 -fi - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -tar xvf $CWD/${PRGNAM}-linux-$FARCH-v${VERSION}.tar.gz -cd ${PRGNAM}-linux-$FARCH-v${VERSION} -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -# Install syncthing -mkdir -p $PKG/usr/bin -install -Dm755 syncthing $PKG/usr/bin/syncthing - -# Install rc script -mkdir -p $PKG/etc/rc.d -cat $CWD/rc.syncthing > $PKG/etc/rc.d/rc.syncthing.new -chmod 0644 $PKG/etc/rc.d/rc.syncthing.new - -# Install logrotate script -mkdir -p $PKG/etc/logrotate.d -cat $CWD/syncthing.logrotate > $PKG/etc/logrotate.d/syncthing.new - -mkdir -p -m 750 $PKG/var/lib/syncthing/config -mkdir -p -m 750 $PKG/var/log/syncthing -mkdir -p -m 750 $PKG/var/run/syncthing -chown -R syncthing:syncthing $PKG/var/{lib,run,log}/syncthing - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc -cat $CWD/doinst.sh > $PKG/install/doinst.sh - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/syncthing/syncthing.info b/SlackBuilds/syncthing/syncthing.info deleted file mode 100644 index 7c6b8ca..0000000 --- a/SlackBuilds/syncthing/syncthing.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="syncthing" -VERSION="2.0.15" -HOMEPAGE="https://syncthing.net" -DOWNLOAD="https://github.com/syncthing/syncthing/releases/download/v2.0.15/syncthing-linux-386-v2.0.15.tar.gz" -MD5SUM="04bb977a084577ddac3c6036b965d54d" -DOWNLOAD_x86_64="https://github.com/syncthing/syncthing/releases/download/v2.0.15/syncthing-linux-amd64-v2.0.15.tar.gz" -MD5SUM_x86_64="4129e1b6e1b014b7c92f4e987204251f" -REQUIRES="" -MAINTAINER="Sebastian Arcus" -EMAIL="s [dot] arcus [at] open-t [dot] co [dot] uk" diff --git a/SlackBuilds/syncthing/syncthing.logrotate b/SlackBuilds/syncthing/syncthing.logrotate deleted file mode 100644 index ef303bf..0000000 --- a/SlackBuilds/syncthing/syncthing.logrotate +++ /dev/null @@ -1,8 +0,0 @@ -/var/log/syncthing/*.log { - weekly - rotate 4 - compress - missingok - notifempty - copytruncate -} diff --git a/SlackBuilds/uv-bin/README b/SlackBuilds/uv-bin/README deleted file mode 100644 index 44d590e..0000000 --- a/SlackBuilds/uv-bin/README +++ /dev/null @@ -1 +0,0 @@ -An extremely fast Python package and project manager, written in Rust diff --git a/SlackBuilds/uv-bin/slack-desc b/SlackBuilds/uv-bin/slack-desc deleted file mode 100644 index ac9b049..0000000 --- a/SlackBuilds/uv-bin/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':' except on otherwise blank lines. - - |-----handy-ruler------------------------------------------------------| -uv-bin: uv-bin (Python package and project manager) -uv-bin: -uv-bin: An extremely fast Python package and project manager, written in Rust -uv-bin: -uv-bin: -uv-bin: -uv-bin: -uv-bin: -uv-bin: Project URL: https://github.com/astral-sh/uv -uv-bin: -uv-bin: diff --git a/SlackBuilds/uv-bin/uv-bin.SlackBuild b/SlackBuilds/uv-bin/uv-bin.SlackBuild deleted file mode 100644 index 613dfa9..0000000 --- a/SlackBuilds/uv-bin/uv-bin.SlackBuild +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -# Slackware build script for uv-bin - -# Copyright 2025 Willy Sudiarto Raharjo -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=uv-bin -SRCNAM=uv -VERSION=${VERSION:-0.11.2} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) ARCH=i586 ;; - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "i586" ]; then - SRCARCH=i686-unknown-linux-gnu -elif [ "$ARCH" = "i686" ]; then - SRCARCH=i686-unknown-linux-gnu -elif [ "$ARCH" = "x86_64" ]; then - SRCARCH=x86_64-unknown-linux-gnu -elif [ "$ARCH" = "aarch64" ]; then - SRCARCH=aarch64-unknown-linux-gnu -elif [ "$ARCH" = "arm" ]; then - SRCARCH=armv7-unknown-linux-gnueabihf -else - SRCARCH=i686-unknown-linux-gnu -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $SRCNAM-$SRCARCH -tar xvf $CWD/$SRCNAM-$SRCARCH.tar.gz -cd $SRCNAM-$SRCARCH -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p $PKG/usr/bin -cp uvx uv $PKG/usr/bin/ - -# Strip binaries and libraries. -find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/SlackBuilds/uv-bin/uv-bin.info b/SlackBuilds/uv-bin/uv-bin.info deleted file mode 100644 index ea9a751..0000000 --- a/SlackBuilds/uv-bin/uv-bin.info +++ /dev/null @@ -1,10 +0,0 @@ -PRGNAM="uv-bin" -VERSION="0.11.2" -HOMEPAGE="https://github.com/astral-sh/uv" -DOWNLOAD="https://github.com/astral-sh/uv/releases/download/0.11.2/uv-i686-unknown-linux-gnu.tar.gz" -MD5SUM="ea373279d05858cbdebc3e67c3ffac91" -DOWNLOAD_x86_64="https://github.com/astral-sh/uv/releases/download/0.11.2/uv-x86_64-unknown-linux-gnu.tar.gz" -MD5SUM_x86_64="23457bca50346ff869f89fbca9b99657" -REQUIRES="" -MAINTAINER="Willy Sudiarto Raharjo" -EMAIL="willysr@slackbuilds.org" diff --git a/claude-code/README b/claude-code/README new file mode 100644 index 0000000..619061b --- /dev/null +++ b/claude-code/README @@ -0,0 +1,3 @@ +Optional dependencies are: github-cli and ripgrep +Also optional dependencies (platform-specific npm modules) : @img/sharp-linux-$ARCH +If you need latest version please read README.SBo diff --git a/claude-code/README.SBo b/claude-code/README.SBo new file mode 100644 index 0000000..14fd910 --- /dev/null +++ b/claude-code/README.SBo @@ -0,0 +1,4 @@ +To print latest versions use this command: +curl -s https://registry.npmjs.org/@anthropic-ai/claude-code | grep -o '"dist-tags":{[^}]*}' + +Then modify .info file and .SlackBuild, download and build. diff --git a/claude-code/claude-code.SlackBuild b/claude-code/claude-code.SlackBuild new file mode 100644 index 0000000..2465dfa --- /dev/null +++ b/claude-code/claude-code.SlackBuild @@ -0,0 +1,101 @@ +#!/bin/bash + +# Slackware build script for claude-code + +# 2026 Nicholas B. Hubbard +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=claude-code +VERSION=${VERSION:-2.1.81} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +mkdir -p package +tar -xzf $CWD/$PRGNAM-$VERSION.tgz -C package --strip-components=1 +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/lib64/node_modules/@anthropic-ai/ +cp -a package $PKG/usr/lib64/node_modules/@anthropic-ai/"$PRGNAM" + +mkdir -p $PKG/usr/bin +cat $PKG/usr/lib64/node_modules/@anthropic-ai/claude-code/cli.js > $PKG/usr/bin/claude +chmod +x $PKG/usr/bin/claude + +if [ "${ARCH:-}" = "x86_64" ]; then + find "$PKG/usr/lib64/node_modules/@anthropic-ai/claude-code/vendor" \ + -maxdepth 2 \( -name "arm64-*" -o -name "x64-darwin" -o -name "x64-win32" \) \ + -type d -exec rm -rf {} + +fi + +find "$PKG/usr/lib64/node_modules/@anthropic-ai/claude-code/vendor" \ + -name "*.node" -exec chmod +x {} + + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + package/*.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/claude-code/claude-code.info b/claude-code/claude-code.info new file mode 100644 index 0000000..fe19835 --- /dev/null +++ b/claude-code/claude-code.info @@ -0,0 +1,10 @@ +PRGNAM="claude-code" +VERSION="2.1.81" +HOMEPAGE="https://github.com/anthropics/claude-code" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://registry.npmjs.org/@anthropic-ai/claude-code/-/claude-code-2.1.81.tgz" +MD5SUM_x86_64="7fac54e32b7b6664332eae14861d6c6d" +REQUIRES="nodejs22" +MAINTAINER="Nicholas B. Hubbard" +EMAIL="nicholashubbard@posteo.net" diff --git a/claude-code/doinst.sh b/claude-code/doinst.sh new file mode 100644 index 0000000..2d5cb9a --- /dev/null +++ b/claude-code/doinst.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +rm -f /usr/bin/claude +ln -sf /usr/lib64/node_modules/@anthropic-ai/claude-code/cli.js /usr/bin/claude diff --git a/claude-code/slack-desc b/claude-code/slack-desc new file mode 100644 index 0000000..7123e39 --- /dev/null +++ b/claude-code/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +claude-code: claude-code (Agentic coding tool in your terminal) +claude-code: +claude-code: Claude Code is a terminal-based coding agent built by Anthropic. +claude-code: This build installs claude-code from the npm tarball offline, +claude-code: NOT including optional sharp dependencies for Linux x64/ARM... +claude-code: +claude-code: +claude-code: +claude-code: Homepage: https://github.com/anthropics/claude-code +claude-code: +claude-code: diff --git a/discord/README b/discord/README new file mode 100644 index 0000000..ceb8841 --- /dev/null +++ b/discord/README @@ -0,0 +1,14 @@ +discord (It's time to ditch Skype and TeamSpeak) + +All-in-one voice and text chat for gamers that's free, secure, and +works on both your desktop and phone. Stop paying for TeamSpeak +servers and hassling with Skype. Simplify your life. + +Discord is only available as a 64bit program. 32bit is unsupported. + +If you'd like Discord to continue working after an upstream update +is released, but is not yet available on SBo, add the following to +the beginning of your user's ~/.config/discord/settings.json file, +on a new line after the first bracket: + +"SKIP_HOST_UPDATE": true, diff --git a/discord/discord.SlackBuild b/discord/discord.SlackBuild new file mode 100644 index 0000000..0f3787f --- /dev/null +++ b/discord/discord.SlackBuild @@ -0,0 +1,93 @@ +#!/bin/bash + +# Slackware build script for discord +# +# Copyright 2016-2026 Jeremy Hansen +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=discord +VERSION=${VERSION:-0.0.131} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + DEBARCH="i386" + echo "This package is currently only available for 64bit." + exit 1 +elif [ "$ARCH" = "x86_64" ]; then + DEBARCH="amd64" +else + echo "Package for $(uname -m) architecture is not available." + exit 1 +fi + +set -eu + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $PKG +ar p $CWD/${PRGNAM}-${VERSION}.deb data.tar.gz | tar zxv + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mv $PKG/usr/share/doc/discord/copyright $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +# Don't need these: +rm -rf $PKG/usr/share/doc $PKG/usr/share/lintian + +# Correct permissions error found using sbopkglint +chmod +x $PKG/usr/share/discord/lib*.so* + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/discord/discord.info b/discord/discord.info new file mode 100644 index 0000000..7af507e --- /dev/null +++ b/discord/discord.info @@ -0,0 +1,10 @@ +PRGNAM="discord" +VERSION="0.0.131" +HOMEPAGE="https://discord.com" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://dl.discordapp.net/apps/linux/0.0.131/discord-0.0.131.deb" +MD5SUM_x86_64="51acbf7c5f4fb7795aaaffc5755d9807" +REQUIRES="" +MAINTAINER="Jeremy Hansen" +EMAIL="jebrhansen+SBo@gmail.com" diff --git a/discord/doinst.sh b/discord/doinst.sh new file mode 100644 index 0000000..5fb2893 --- /dev/null +++ b/discord/doinst.sh @@ -0,0 +1,3 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi diff --git a/discord/slack-desc b/discord/slack-desc new file mode 100644 index 0000000..bfd437a --- /dev/null +++ b/discord/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +discord: discord (It's time to ditch Skype and TeamSpeak) +discord: +discord: All-in-one voice and text chat for gamers that's free, secure, and +discord: works on both your desktop and phone. Stop paying for TeamSpeak +discord: servers and hassling with Skype. Simplify your life. +discord: +discord: Homepage: https://discord.com/ +discord: +discord: +discord: +discord: diff --git a/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md b/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md deleted file mode 100644 index e5009b4..0000000 --- a/docs/superpowers/plans/2026-03-31-opencode-bin-slackbuild.md +++ /dev/null @@ -1,258 +0,0 @@ -# opencode-bin SlackBuild Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Create a complete `opencode-bin` SlackBuild package that repackages the official pre-built opencode binary for Slackware. - -**Architecture:** Binary-repackaging pattern — download upstream tarball, install the static binary to `/usr/bin/opencode`, install docs, run `makepkg`. Follows the same structure as `kitty-bin` and `hugo` in this repo. Supports `x86_64` and `aarch64`. - -**Tech Stack:** Bash, SBo packaging tools (`sbolint`, `sbofixinfo`, `sbodl`) - ---- - -## File Map - -| File | Action | Responsibility | -|------|--------|----------------| -| `opencode-bin/opencode-bin.SlackBuild` | Create | Main build script | -| `opencode-bin/opencode-bin.info` | Create | Package metadata and download URLs | -| `opencode-bin/README` | Create | Package description and usage notes | -| `opencode-bin/slack-desc` | Create | 11-line package description for pkgtool | -| `nvchecker.toml` | Modify | Add upstream version tracking entry | - ---- - -### Task 1: Create the package files - -**Files:** -- Create: `opencode-bin/opencode-bin.SlackBuild` -- Create: `opencode-bin/opencode-bin.info` -- Create: `opencode-bin/README` -- Create: `opencode-bin/slack-desc` - -- [ ] **Step 1: Create the directory** - -```bash -mkdir -p /home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin -``` - -- [ ] **Step 2: Create opencode-bin.SlackBuild** - -Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/opencode-bin.SlackBuild` with this exact content: - -```bash -#!/bin/bash - -# Slackware build script for opencode-bin - -# Copyright 2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=opencode-bin -VERSION=${VERSION:-0.0.55} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "x86_64" ]; then - SRCARCH="x86_64" -elif [ "$ARCH" = "aarch64" ]; then - SRCARCH="arm64" -else - echo "$ARCH is not supported." - exit 1 -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir -p $PRGNAM-$VERSION -tar xvf $CWD/opencode-linux-$SRCARCH.tar.gz -C $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p $PKG/usr/bin -install -m 0755 opencode $PKG/usr/bin/opencode - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE -``` - -Make it executable: -```bash -chmod +x /home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/opencode-bin.SlackBuild -``` - -- [ ] **Step 3: Create opencode-bin.info** - -Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/opencode-bin.info` with this exact content: - -``` -PRGNAM="opencode-bin" -VERSION="0.0.55" -HOMEPAGE="https://github.com/opencode-ai/opencode" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-x86_64.tar.gz" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="danix" -EMAIL="danix@danix.xyz" -``` - -- [ ] **Step 4: Create README** - -Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/README` with this exact content: - -``` -opencode-bin is a pre-built binary repackage of opencode, a powerful AI -coding agent built for the terminal. It supports multiple LLM providers -including OpenAI, Anthropic, Google Gemini, and others. - -No compilation is required; the official upstream binary is statically -linked and has no runtime library dependencies. - -To use opencode, you need an API key for at least one supported LLM -provider. Set the appropriate environment variable (e.g. OPENAI_API_KEY, -ANTHROPIC_API_KEY) or configure it via opencode's interactive setup. - -Homepage: https://github.com/opencode-ai/opencode - -NOTE FOR aarch64 USERS: The aarch64 tarball is not listed in the .info -file (not a standard SBo field). Download it manually before building: - wget https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-arm64.tar.gz -``` - -- [ ] **Step 5: Create slack-desc** - -Create `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/opencode-bin/slack-desc` with this exact content: - -``` -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one blank line after the name. - - |-----handy-ruler------------------------------------------------------| -opencode-bin: opencode-bin (AI coding agent for the terminal) -opencode-bin: -opencode-bin: opencode is a powerful AI coding agent built for the terminal. -opencode-bin: It supports multiple LLM providers including OpenAI, Anthropic, -opencode-bin: Google Gemini, and others via simple configuration. -opencode-bin: -opencode-bin: This package ships the official pre-built binary. No compilation -opencode-bin: is required. API keys for a supported LLM provider are needed -opencode-bin: at runtime. -opencode-bin: -opencode-bin: Homepage: https://github.com/opencode-ai/opencode -``` - ---- - -### Task 2: Fix checksums, download source, and lint - -**Files:** -- Modify: `opencode-bin/opencode-bin.info` (checksums filled in by sbofixinfo) - -- [ ] **Step 1: Run sbofixinfo to normalise the .info file** - -```bash -cd /home/danix/Programming/GIT/GITHUB/my-slackbuilds -sbofixinfo opencode-bin/ -``` - -Expected: no errors; `MD5SUM_x86_64` (or `SHA256SUM_x86_64`) populated. - -- [ ] **Step 2: Download source and verify checksum** - -```bash -sbodl opencode-bin/ -``` - -Expected: downloads `opencode-linux-x86_64.tar.gz` into `opencode-bin/` and reports checksum OK. - -- [ ] **Step 3: Run sbolint** - -```bash -sbolint opencode-bin/ -``` - -Expected: no errors or warnings. If any are reported, fix them before continuing. - ---- - -### Task 3: Add nvchecker entry and commit - -**Files:** -- Modify: `nvchecker.toml` - -- [ ] **Step 1: Add the opencode-bin entry to nvchecker.toml** - -Open `/home/danix/Programming/GIT/GITHUB/my-slackbuilds/nvchecker.toml` and append: - -```toml -[opencode-bin] -source = "github" -github = "opencode-ai/opencode" -use_latest_release = true -``` - -- [ ] **Step 2: Commit everything** - -```bash -cd /home/danix/Programming/GIT/GITHUB/my-slackbuilds -git add opencode-bin/ nvchecker.toml -git commit -m "opencode-bin: add version 0.0.55" -``` diff --git a/docs/superpowers/plans/2026-03-31-readme-packages-table.md b/docs/superpowers/plans/2026-03-31-readme-packages-table.md deleted file mode 100644 index 06bbbcc..0000000 --- a/docs/superpowers/plans/2026-03-31-readme-packages-table.md +++ /dev/null @@ -1,59 +0,0 @@ -# README Packages Table Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Add a "Packages" section to `README.md` with a table listing all 8 packages, their build status, SBo presence, repo version, and latest upstream version. - -**Architecture:** Single static Markdown table inserted into `README.md` between the "Repository Structure" and "Usage" sections. No scripts or automation — maintained manually. - -**Tech Stack:** Markdown - ---- - -## File Map - -| File | Action | Responsibility | -|------|--------|----------------| -| `README.md` | Modify | Insert "Packages" section with table | - ---- - -### Task 1: Add Packages table to README.md - -**Files:** -- Modify: `README.md` - -- [ ] **Step 1: Insert the Packages section** - -Open `README.md`. After the closing `---` of the "Repository Structure" section (after the `nvchecker.toml` line) and before the `## Usage` heading, insert the following block exactly: - -```markdown -## Packages - -| Package | -current | 15.0 | SBo | Version | Latest | -|---------|----------|------|-----|---------|--------| -| discord | not tested | not tested | [discord](https://slackbuilds.org/repository/15.0/network/discord/) | 0.0.130 | 0.0.131 | -| hstr | not tested | not tested | [hstr](https://slackbuilds.org/repository/15.0/system/hstr/) | 3.1 | 3.2 | -| hugo | not tested | not tested | [hugo](https://slackbuilds.org/repository/15.0/development/hugo/) | 0.159.1 | 0.159.1 | -| kitty-bin | not tested | not tested | ❌ | 0.46.2 | 0.46.2 | -| llama.cpp-vulkan | not tested | not tested | ❌ | b8581 | b8590 | -| obsidian | not tested | not tested | [obsidian](https://slackbuilds.org/repository/15.0/development/obsidian/) | 1.12.7 | 1.12.7 | -| qarma | not tested | not tested | ❌ | 1.0.0 | 1.1.0 | -| syncthing | not tested | not tested | [syncthing](https://slackbuilds.org/repository/15.0/network/syncthing/) | 2.0.15 | 2.0.15 | - ---- -``` - -- [ ] **Step 2: Verify the section is in the right place** - -Read `README.md` and confirm the order is: -1. `## Repository Structure` -2. `## Packages` ← new section -3. `## Usage` - -- [ ] **Step 3: Commit** - -```bash -git add README.md -git commit -m "README: add packages table with build status and version info" -``` diff --git a/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md b/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md deleted file mode 100644 index 5b0a9fa..0000000 --- a/docs/superpowers/plans/2026-03-31-sbo-archive-hook.md +++ /dev/null @@ -1,208 +0,0 @@ -# SBo Archive Hook Implementation Plan - -> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. - -**Goal:** Add a `post-commit` git hook that detects added/updated packages and offers to create a SBo-ready submission archive. - -**Architecture:** A single bash script at `.git/hooks/post-commit` inspects the HEAD commit via `git diff-tree`, identifies touched `.SlackBuild` files, lists the package contents, prompts the user interactively, and creates a `tar.gz` archive under `SBo/`. The `SBo/` directory is excluded from version control via `.gitignore`. - -**Tech Stack:** Bash, standard POSIX tools (`tar`, `find`, `git diff-tree`) - ---- - -## File Map - -| File | Action | Responsibility | -|---|---|---| -| `.git/hooks/post-commit` | Create | Hook entry point — detection, prompt, archive creation | -| `.gitignore` | Modify | Exclude `SBo/` from version control | - ---- - -### Task 1: Add SBo/ to .gitignore - -**Files:** -- Modify: `.gitignore` - -- [ ] **Step 1: Append the SBo/ entry** - -Open `.gitignore` (currently contains only `.claude`) and add: - -``` -SBo/ -``` - -Final `.gitignore`: -``` -.claude -SBo/ -``` - -- [ ] **Step 2: Verify it is ignored** - -```bash -mkdir -p SBo -git status -``` - -Expected: `SBo/` does NOT appear in untracked files (git ignores it). - -```bash -rmdir SBo -``` - -- [ ] **Step 3: Commit** - -```bash -git add .gitignore -git commit -m "gitignore: exclude SBo/ output directory" -``` - ---- - -### Task 2: Write the post-commit hook - -**Files:** -- Create: `.git/hooks/post-commit` - -- [ ] **Step 1: Create the hook file** - -Create `.git/hooks/post-commit` with the following content: - -```bash -#!/bin/bash -# post-commit hook: create SBo submission archive for added/updated packages - -REPO_ROOT=$(git rev-parse --show-toplevel) -SBO_DIR="$REPO_ROOT/SBo" - -# Find packages whose .SlackBuild was added (A) or modified (M) in this commit. -# git diff-tree output format: \t -# We only want files exactly one directory deep, e.g. hugo/hugo.SlackBuild. -PACKAGES=() -while IFS=$'\t' read -r status file; do - [[ "$status" != "A" && "$status" != "M" ]] && continue - dir=$(dirname "$file") - base=$(basename "$file") - [[ "$dir" == "." ]] && continue # skip root-level files - [[ "$dir" == *"/"* ]] && continue # skip files deeper than one level - [[ "$base" == *.SlackBuild ]] || continue - PACKAGES+=("$dir") -done < <(git diff-tree --no-commit-id -r --name-status HEAD) - -[[ ${#PACKAGES[@]} -eq 0 ]] && exit 0 - -mkdir -p "$SBO_DIR" - -for pkg in "${PACKAGES[@]}"; do - echo "" - echo "==> Package: $pkg" - echo "" - echo "Files to be archived:" - echo "---------------------" - find "$REPO_ROOT/$pkg" -type f | sort | sed "s|$REPO_ROOT/||" - echo "" - printf "Create SBo archive for '%s'? [y/N] " "$pkg" - read -r answer Archive created: SBo/$pkg.tar.gz" - ;; - *) - echo " -> Skipped." - ;; - esac -done - -exit 0 -``` - -- [ ] **Step 2: Make it executable** - -```bash -chmod +x .git/hooks/post-commit -``` - -- [ ] **Step 3: Verify the hook is executable** - -```bash -ls -l .git/hooks/post-commit -``` - -Expected: `-rwxr-xr-x` permissions. - ---- - -### Task 3: Test the hook end-to-end - -- [ ] **Step 1: Simulate a commit that touches a .SlackBuild file** - -Make a trivial change to an existing package's `.SlackBuild` (e.g. add a blank line), stage and commit: - -```bash -echo "" >> kitty-bin/kitty-bin.SlackBuild -git add kitty-bin/kitty-bin.SlackBuild -git commit -m "kitty-bin: test hook trigger" -``` - -Expected output after the commit message appears: - -``` -==> Package: kitty-bin - -Files to be archived: ---------------------- -kitty-bin/doinst.sh -kitty-bin/kitty-bin.SlackBuild -kitty-bin/kitty-bin.info -kitty-bin/README -kitty-bin/slack-desc - -Create SBo archive for 'kitty-bin'? [y/N] -``` - -- [ ] **Step 2: Answer y and verify the archive** - -Type `y` and press Enter. - -Expected: -``` - -> Archive created: SBo/kitty-bin.tar.gz -``` - -Verify the archive contents: - -```bash -tar -tzf SBo/kitty-bin.tar.gz -``` - -Expected: all files listed under a single `kitty-bin/` top-level directory: -``` -kitty-bin/ -kitty-bin/doinst.sh -kitty-bin/kitty-bin.SlackBuild -kitty-bin/kitty-bin.info -kitty-bin/README -kitty-bin/slack-desc -``` - -- [ ] **Step 3: Verify SBo/ is not tracked by git** - -```bash -git status -``` - -Expected: `SBo/` does not appear. - -- [ ] **Step 4: Revert the test change** - -```bash -git revert HEAD --no-edit -``` - -- [ ] **Step 5: Clean up test archive** - -```bash -rm SBo/kitty-bin.tar.gz -``` diff --git a/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md b/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md deleted file mode 100644 index e3120a5..0000000 --- a/docs/superpowers/specs/2026-03-31-opencode-bin-slackbuild-design.md +++ /dev/null @@ -1,222 +0,0 @@ -# opencode-bin SlackBuild — Design Spec - -**Date:** 2026-03-31 - ---- - -## Overview - -Package `opencode` (AI coding agent CLI) as `opencode-bin` by repackaging the -official pre-built binaries from GitHub releases. No compilation required — -the upstream Go binary is fully statically linked (`CGO_ENABLED=0`). - -- **Upstream:** https://github.com/opencode-ai/opencode -- **Version at time of writing:** 0.0.55 -- **License:** MIT - ---- - -## Files - -``` -opencode-bin/ -├── opencode-bin.SlackBuild -├── opencode-bin.info -├── README -└── slack-desc -``` - -Plus an entry in the repo-level `nvchecker.toml`. - ---- - -## opencode-bin.SlackBuild - -Follows the binary-repackaging pattern used by `kitty-bin` and `hugo` in this repo. - -Key decisions: -- `PRGNAM=opencode-bin`; installed binary is named `opencode` (upstream command name) -- Supports `x86_64` (tarball: `opencode-linux-x86_64.tar.gz`) and `aarch64` (tarball: `opencode-linux-arm64.tar.gz`); all other arches exit with error -- Binary installed to `/usr/bin/opencode` -- Docs (`LICENSE`, `README.md`) installed to `/usr/doc/opencode-bin-$VERSION/` -- No `doinst.sh` — no system integration needed -- No stripping (pre-built binary; stripping a Go binary is harmless but unnecessary) - -```bash -#!/bin/bash - -# Slackware build script for opencode-bin - -# Copyright 2026 danix -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PRGNAM=opencode-bin -VERSION=${VERSION:-0.0.55} -BUILD=${BUILD:-1} -TAG=${TAG:-_SBo} -PKGTYPE=${PKGTYPE:-tgz} - -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - arm*) ARCH=arm ;; - *) ARCH=$( uname -m ) ;; - esac -fi - -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - -if [ "$ARCH" = "x86_64" ]; then - SRCARCH="x86_64" -elif [ "$ARCH" = "aarch64" ]; then - SRCARCH="arm64" -else - echo "$ARCH is not supported." - exit 1 -fi - -set -e - -rm -rf $PKG -mkdir -p $TMP $PKG $OUTPUT -cd $TMP -rm -rf $PRGNAM-$VERSION -mkdir -p $PRGNAM-$VERSION -tar xvf $CWD/opencode-linux-$SRCARCH.tar.gz -C $PRGNAM-$VERSION -cd $PRGNAM-$VERSION -chown -R root:root . -find -L . \ - \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ - -o -perm 511 \) -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ - -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; - -mkdir -p $PKG/usr/bin -install -m 0755 opencode $PKG/usr/bin/opencode - -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION -cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE -``` - ---- - -## opencode-bin.info - -``` -PRGNAM="opencode-bin" -VERSION="0.0.55" -HOMEPAGE="https://github.com/opencode-ai/opencode" -DOWNLOAD="UNSUPPORTED" -MD5SUM="" -DOWNLOAD_x86_64="https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-x86_64.tar.gz" -MD5SUM_x86_64="" -REQUIRES="" -MAINTAINER="danix" -EMAIL="danix@danix.xyz" -``` - -Note: `MD5SUM_x86_64` will be filled by running `sbofixinfo opencode-bin/` after downloading -the source with `sbodl`. - ---- - -## README - -``` -opencode-bin is a pre-built binary repackage of opencode, a powerful AI -coding agent built for the terminal. It supports multiple LLM providers -including OpenAI, Anthropic, Google Gemini, and others. - -No compilation is required; the official upstream binary is statically -linked and has no runtime library dependencies. - -To use opencode, you need an API key for at least one supported LLM -provider. Set the appropriate environment variable (e.g. OPENAI_API_KEY, -ANTHROPIC_API_KEY) or configure it via opencode's interactive setup. - -Homepage: https://github.com/opencode-ai/opencode - -NOTE FOR aarch64 USERS: The aarch64 tarball is not listed in the .info -file (not a standard SBo field). Download it manually before building: - wget https://github.com/opencode-ai/opencode/releases/download/v0.0.55/opencode-linux-arm64.tar.gz -``` - ---- - -## slack-desc - -``` -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. -# Line up the first '|' above the ':' following the base package name, and -# the '|' on the right side marks the last column you can put a character in. -# You must make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one blank line after the name. - - |-----handy-ruler------------------------------------------------------| -opencode-bin: opencode-bin (AI coding agent for the terminal) -opencode-bin: -opencode-bin: opencode is a powerful AI coding agent built for the terminal. -opencode-bin: It supports multiple LLM providers including OpenAI, Anthropic, -opencode-bin: Google Gemini, and others via simple configuration. -opencode-bin: -opencode-bin: This package ships the official pre-built binary. No compilation -opencode-bin: is required. API keys for a supported LLM provider are needed -opencode-bin: at runtime. -opencode-bin: -opencode-bin: Homepage: https://github.com/opencode-ai/opencode -``` - ---- - -## nvchecker.toml entry - -```toml -[opencode-bin] -source = "github" -github = "opencode-ai/opencode" -use_latest_release = true -``` - ---- - -## Maintenance - -When a new version is released: -1. Update `VERSION` in `.SlackBuild` and `.info` -2. Run `sbofixinfo opencode-bin/` to refresh checksums -3. Run `sbodl opencode-bin/` to verify the download -4. Run `sbolint opencode-bin/` to check for issues -5. Update `README` if the aarch64 download URL version number changed diff --git a/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md b/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md deleted file mode 100644 index ea81579..0000000 --- a/docs/superpowers/specs/2026-03-31-readme-packages-table-design.md +++ /dev/null @@ -1,54 +0,0 @@ -# README Packages Table — Design Spec - -**Date:** 2026-03-31 - ---- - -## Goal - -Add a static "Packages" section to `README.md` listing all packages with their -build status, SBo presence, repo version, and latest upstream version. - ---- - -## Table Structure - -Placed between "Repository Structure" and "Usage" in `README.md`. - -| Column | Content | -|--------|---------| -| **Package** | Plain package name | -| **-current** | ✅ / ❌ / `not tested` | -| **15.0** | ✅ / ❌ / `not tested` | -| **SBo** | `[name](https://slackbuilds.org/...)` or ❌ | -| **Version** | Version from `.info` file | -| **Latest** | Latest upstream version (fetched 2026-03-31) | - ---- - -## Package Data - -| Package | -current | 15.0 | SBo | Version | Latest | -|---------|----------|------|-----|---------|--------| -| discord | not tested | not tested | [discord](https://slackbuilds.org/repository/15.0/network/discord/) | 0.0.130 | 0.0.131 | -| hstr | not tested | not tested | [hstr](https://slackbuilds.org/repository/15.0/system/hstr/) | 3.1 | 3.2 | -| hugo | not tested | not tested | [hugo](https://slackbuilds.org/repository/15.0/development/hugo/) | 0.159.1 | 0.159.1 | -| kitty-bin | not tested | not tested | ❌ | 0.46.2 | 0.46.2 | -| llama.cpp-vulkan | not tested | not tested | ❌ | b8581 | b8590 | -| obsidian | not tested | not tested | [obsidian](https://slackbuilds.org/repository/15.0/development/obsidian/) | 1.12.7 | 1.12.7 | -| qarma | not tested | not tested | ❌ | 1.0.0 | 1.1.0 | -| syncthing | not tested | not tested | [syncthing](https://slackbuilds.org/repository/15.0/network/syncthing/) | 2.0.15 | 2.0.15 | - -Notes: -- `kitty-bin` SBo page returned 404 — marked ❌, verify manually -- `llama.cpp-vulkan` and `qarma` have no SBo entry -- Latest versions fetched via web search on 2026-03-31; re-run search when updating - ---- - -## Maintenance - -Update the table manually when: -- A build is tested → replace `not tested` with ✅ or ❌ -- A package is bumped → update Version and Latest columns -- A package is submitted to SBo → replace ❌ with a link diff --git a/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md b/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md deleted file mode 100644 index 838d85b..0000000 --- a/docs/superpowers/specs/2026-03-31-sbo-archive-hook-design.md +++ /dev/null @@ -1,65 +0,0 @@ -# SBo Submission Archive Hook — Design Spec - -**Date:** 2026-03-31 - ---- - -## Goal - -A `post-commit` git hook that automatically offers to create a SBo-ready submission -archive whenever a package's `.SlackBuild` file is added or modified in a commit. - ---- - -## Detection - -Uses `git diff-tree --no-commit-id -r --name-status HEAD` to list files changed in -the current commit. Filters for entries with status `A` (added) or `M` (modified) -whose filename matches `*.SlackBuild` at exactly one directory depth -(e.g. `hugo/hugo.SlackBuild`). Each match yields one package name (the parent directory). - -Multiple packages in a single commit are handled sequentially. - ---- - -## Per-Package Flow - -1. Print header: `==> Package: ` -2. List all files inside `//` recursively, shown as relative paths -3. Prompt: `Create SBo archive for ''? [y/N]` - - Input is read from `/dev/tty` so the prompt works correctly inside a git hook -4. On `y`/`Y`: create the archive (see below) -5. On anything else: skip silently and continue to the next package - ---- - -## Archive - -- **Location:** `SBo/.tar.gz` (inside repo root, not under version control) -- **Structure:** single top-level directory `/` containing all package files flat -- **Command:** `tar -czf "$SBO_DIR/$pkg.tar.gz" -C "$REPO_ROOT" "$pkg"` -- `SBo/` is created automatically if it does not exist -- Repeated archives overwrite the previous one (no version suffix — matches SBo naming conventions) - ---- - -## Output Directory - -`SBo/` lives at the repo root and is added to `.gitignore` so it is never committed. - ---- - -## Files Changed - -| File | Change | -|---|---| -| `.git/hooks/post-commit` | New file (created, made executable) | -| `.gitignore` | Append `SBo/` entry | - ---- - -## Out of Scope - -- Verifying checksums or linting (handled by existing pre-commit hook and manual workflow) -- Uploading or submitting to SBo directly -- Tracking which archives have already been submitted diff --git a/hooks/post-commit b/hooks/post-commit deleted file mode 100755 index c9241ae..0000000 --- a/hooks/post-commit +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# post-commit hook: create SBo submission archive for added/updated packages -set -u - -REPO_ROOT=$(git rev-parse --show-toplevel) -SBO_DIR="$REPO_ROOT/SBo" - -# Find packages whose .SlackBuild was added (A) or modified (M) in this commit. -# git diff-tree output format: \t -# We only want files exactly one directory deep, e.g. hugo/hugo.SlackBuild. -PACKAGES=() -while IFS=$'\t' read -r status file; do - [[ "$status" != "A" && "$status" != "M" ]] && continue - dir=$(dirname "$file") - base=$(basename "$file") - # Only process packages at SlackBuilds/ depth - [[ "$dir" =~ ^SlackBuilds/[^/]+$ ]] || continue - [[ "$base" == *.SlackBuild ]] || continue - PACKAGES+=("$dir") -done < <(git diff-tree --no-commit-id -r --name-status HEAD) - -[[ ${#PACKAGES[@]} -eq 0 ]] && exit 0 - -for pkg in "${PACKAGES[@]}"; do - echo "" - echo "==> Package: $pkg" - echo "" - echo "Files to be archived:" - echo "---------------------" - while IFS= read -r f; do - printf '%s\n' "${f#"$REPO_ROOT/"}" - done < <(find "$REPO_ROOT/$pkg" -type f | sort) - echo "" - printf "Create SBo archive for '%s'? [y/N] " "$pkg" - read -r answer Archive created: SBo/$pkg.tar.gz" - else - echo " -> Archive FAILED." >&2 - fi - ;; - *) - echo " -> Skipped." - ;; - esac -done - -exit 0 diff --git a/hooks/pre-commit b/hooks/pre-commit deleted file mode 100755 index 06cb7a5..0000000 --- a/hooks/pre-commit +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/bash - -# 20220315 bkw: SBo pre-commit hook, wrapper for sbolint. - -# Installation: - -# Copy this to /.git/hooks, mode 0755 (or anyway, make it -# executable). Also get sbolint and install it somewhere on $PATH, -# like /usr/local/bin. sbolint comes from: - -# https://slackware.uk/~urchlay/repos/sbostuff/plain/sbolint - -# That's a wgettable URL. You can also clone the sbostuff -# repo from https://slackware.uk/~urchlay/repos/sbostuff if you want. - -# Usage: - -# Just do your usual "git commit". When you do, sbolint will run on -# the build you're updating. If it finds any issues, it will cause the -# commit to abort, so you can fix whatever's wrong and try the commit -# again. - -# Since sbolint isn't perfect, you can skip the check for any commit -# by running e.g: - -# SBOLINT=no git commit - -# You can also run sbolint by itself, and read its documentation with -# "sbolint --docs". - -set -e -exec 1>&2 - -# There should normally only be one changed build per commit, but this -# rule may get broken when the repo's frozen pending a new Slackware -# release. So use a loop. - -# The weird-looking "< <(command)" syntax is why this script must -# have a #!/bin/bash at the top: it won't work with #!/bin/sh, even if -# /bin/sh is a symlink to bash. - -if [ "${SBOLINT:-yes}" = "yes" ]; then - sbolintfailed="" - if ! which sbolint &>/dev/null; then - echo "WARNING: can't find sbolint in PATH, no linting will be done" - else - while read build; do - # if there's no slack-desc or README, assume the build has been removed. - # the directory still might exist after a "git rm -rf" because it - # might contain untracked files (e.g. the source tarball). - if [ -e "$build/slack-desc" -o -e "$build/README" ]; then - sbolint "$build" || sbolintfailed=1 - fi - done < <(git diff --cached --name-only | cut -d/ -f1,2 | sort -u) - fi - if [ -n "$sbolintfailed" ]; then - echo "*** sbolint failed, fix the errors or set SBOLINT=no" - echo "*** in the environment to commit anyway." - exit 1 - fi -fi - -exit 0 diff --git a/hstr/README b/hstr/README new file mode 100644 index 0000000..e1fde90 --- /dev/null +++ b/hstr/README @@ -0,0 +1,6 @@ +Bash and Zsh shell history suggest box - easily view, navigate, search +and manage your command history. + +It is a command line utility which brings improved command completion +from the history. It aims to make completion easier to use and more +efficient than Ctrl-r. diff --git a/hstr/hstr.SlackBuild b/hstr/hstr.SlackBuild new file mode 100644 index 0000000..07af63e --- /dev/null +++ b/hstr/hstr.SlackBuild @@ -0,0 +1,118 @@ +#!/bin/bash + +# Slackware build script for hstr + +# Copyright 2014-2023 Zhu Qun-Ying +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=hstr +VERSION=${VERSION:-3.1} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Fix for ncurses-6.5 +sed -i "s|||" src/include/hstr_curses.h src/include/hstr.h + +autoreconf -vfis + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +ac_cv_func_malloc_0_nonnull=yes \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux + +make +make install DESTDIR=$PKG + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +ln -sf hstr $PKG/usr/bin/hh + +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a CONFIGURATION.md LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/hstr/hstr.info b/hstr/hstr.info new file mode 100644 index 0000000..50a2971 --- /dev/null +++ b/hstr/hstr.info @@ -0,0 +1,10 @@ +PRGNAM="hstr" +VERSION="3.1" +HOMEPAGE="https://github.com/dvorka/hstr" +DOWNLOAD="https://github.com/dvorka/hstr/archive/3.1/hstr-3.1.tar.gz" +MD5SUM="5d647f3b2fc4615b14eaeaaf5b27e4f2" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Zhu Qun-Ying" +EMAIL="zhu.qunying@gmail.com" diff --git a/hstr/slack-desc b/hstr/slack-desc new file mode 100644 index 0000000..9d8067a --- /dev/null +++ b/hstr/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +hstr: hstr (BASH and Zsh Shell History Suggest Box) +hstr: +hstr: BASH and Zsh Shell history suggest box is a command line utility that +hstr: brings improved command completion from the history. It aims to +hstr: make completion easier and more efficient than Ctrl-r. +hstr: +hstr: +hstr: +hstr: +hstr: homepage: https://github.com/dvorka/hstr +hstr: diff --git a/hugo/README b/hugo/README new file mode 100644 index 0000000..82dd3ed --- /dev/null +++ b/hugo/README @@ -0,0 +1,23 @@ +Hugo is a static HTML and CSS website generator written in Go. It is +optimized for speed, ease of use, and configurability. Hugo takes a +directory with content and templates and renders them into a full HTML +website. + +Hugo relies on Markdown files with front matter for metadata, and you +can run Hugo from any directory. This works well for shared hosts and +other systems where you don’t have a privileged account. + +Hugo renders a typical website of moderate size in a fraction of a +second. A good rule of thumb is that each piece of content renders in +around 1 millisecond. + +Hugo is designed to work well for any kind of website including blogs, +tumbles, and docs. + +Notes: +This slackbuild installs the "extended" version of Hugo. Please see +the Hugo website for more about the additional functionality. + +Current release: +Hugo cannot be updated beyond 0.148.2 in the current stable release +of Slackware. diff --git a/hugo/hugo.SlackBuild b/hugo/hugo.SlackBuild new file mode 100644 index 0000000..062575a --- /dev/null +++ b/hugo/hugo.SlackBuild @@ -0,0 +1,91 @@ +#!/bin/bash + +# Slackware build script for hugo + +# Copyright 2020-2025 Andrew Payne +# Copyright 2018-2019 Donald Cooley South Haven, IN USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=hugo +VERSION=${VERSION:-0.159.2} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "x86_64" ]; then + BIT="64bit" +else + echo "$ARCH is not supported." + exit 1 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir -p $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM\_extended\_$VERSION\_Linux-$BIT.tar.gz -C $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/{usr/bin,opt/$PRGNAM} + cp -a * $PKG/opt/$PRGNAM + ln -s /opt/$PRGNAM/hugo $PKG/usr/bin/$PRGNAM + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + LICENSE README.md \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/hugo/hugo.info b/hugo/hugo.info new file mode 100644 index 0000000..4a184a1 --- /dev/null +++ b/hugo/hugo.info @@ -0,0 +1,10 @@ +PRGNAM="hugo" +VERSION="0.159.2" +HOMEPAGE="https://gohugo.io" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/gohugoio/hugo/releases/download/v0.159.2/hugo_extended_0.159.2_Linux-64bit.tar.gz" +MD5SUM_x86_64="a3e27d4b2049a710dbe7d7c1954a827e" +REQUIRES="" +MAINTAINER="Andrew Payne" +EMAIL="phalange@komputermatrix.com" diff --git a/hugo/slack-desc b/hugo/slack-desc new file mode 100644 index 0000000..f7eafa6 --- /dev/null +++ b/hugo/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +hugo: hugo (static HTML and CSS website generator written in Go) +hugo: +hugo: Hugo is a static HTML and CSS website generator written in Go. It is +hugo: optimized for speed, ease of use, and configurability. Hugo takes a +hugo: directory with content and templates and renders them into a full +hugo: HTML website. +hugo: +hugo: Homepage: https://gohugo.io +hugo: +hugo: +hugo: diff --git a/kitty-bin/README b/kitty-bin/README new file mode 100644 index 0000000..6ccf6b9 --- /dev/null +++ b/kitty-bin/README @@ -0,0 +1,14 @@ +kitty (fast, featureful, GPU-based terminal emulator) + +kitty is a terminal emulator for X11 and Wayland [1], which offloads +the rendering to the GPU [2] and supports modern terminal features. It +also supports tiling multiple terminal windows without using an extra +program like screen or tmux. + +[1] For Wayland support, it may be necessary to add the following + line to ~/.config/kitty/kitty.conf: + linux_display_server wayland + +[2] Requires hardware-accelerated OpenGL support. + +This is a repackage of the binaries distributed by upstream diff --git a/kitty-bin/doinst.sh b/kitty-bin/doinst.sh new file mode 100644 index 0000000..1f8ff67 --- /dev/null +++ b/kitty-bin/doinst.sh @@ -0,0 +1,10 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + diff --git a/kitty-bin/kitty-bin.SlackBuild b/kitty-bin/kitty-bin.SlackBuild new file mode 100644 index 0000000..1343807 --- /dev/null +++ b/kitty-bin/kitty-bin.SlackBuild @@ -0,0 +1,89 @@ +#!/bin/bash + +# Slackware build script for kitty + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=kitty-bin +SRCNAM=kitty +VERSION=${VERSION:-0.46.2} +BUILD=${BUILD:-2} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION-$ARCH.txz + +chown -R root:root . +find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} \+ -o \ + \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} \+ + +mkdir -p $PKG/opt/$PRGNAM-$VERSION/{bin,lib} +cp -a bin/* $PKG/opt/$PRGNAM-$VERSION/bin +cp -a lib/* $PKG/opt/$PRGNAM-$VERSION/lib + +mkdir -p $PKG/usr/{bin,man} +mkdir -p $PKG/usr/share/{applications,icons,terminfo} +cp -a share/applications/*.desktop $PKG/usr/share/applications +cp -a share/icons/* $PKG/usr/share/icons +cp -a share/man/* $PKG/usr/man +find $PKG/usr/man/man* -type f | xargs gzip -9 +cp -a share/terminfo/* $PKG/usr/share/terminfo + +ln -sf ../../opt/$PRGNAM-$VERSION/bin/kitty $PKG/usr/bin/kitty +ln -sf ../../opt/$PRGNAM-$VERSION/bin/kitten $PKG/usr/bin/kitten + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a share/doc/$SRCNAM/html $PKG/usr/doc/$PRGNAM-$VERSION +find $PKG/usr/doc/$PRGNAM-$VERSION/html -type f -a -empty | xargs rm +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/kitty-bin/kitty-bin.info b/kitty-bin/kitty-bin.info new file mode 100644 index 0000000..b3deea8 --- /dev/null +++ b/kitty-bin/kitty-bin.info @@ -0,0 +1,10 @@ +PRGNAM="kitty-bin" +VERSION="0.46.2" +HOMEPAGE="https://sw.kovidgoyal.net/kitty/" +DOWNLOAD="https://github.com/kovidgoyal/kitty/releases/download/v0.46.2/kitty-0.46.2-x86_64.txz" +MD5SUM="9c99ee383211e06cd919d156ab3c1031" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/kitty-bin/slack-desc b/kitty-bin/slack-desc new file mode 100644 index 0000000..de67509 --- /dev/null +++ b/kitty-bin/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +kitty-bin: kitty (fast, featureful, GPU-based terminal emulator) +kitty-bin: +kitty-bin: kitty is a terminal emulator for X11 and Wayland, which offloads the +kitty-bin: rendering to the GPU and supports modern terminal features. It also +kitty-bin: supports tiling multiple terminal windows without using an extra +kitty-bin: program like screen or tmux. +kitty-bin: +kitty-bin: Homepage: https://sw.kovidgoyal.net/kitty/ +kitty-bin: +kitty-bin: This is a repackage of the binaries distributed by upstream. +kitty-bin: diff --git a/llama.cpp-vulkan/README b/llama.cpp-vulkan/README new file mode 100644 index 0000000..5509d44 --- /dev/null +++ b/llama.cpp-vulkan/README @@ -0,0 +1,22 @@ +llama.cpp + +LLM inference in C/C++ + +The main goal of llama.cpp is to enable LLM inference with minimal +setup and state-of-the-art performance on a wide range of hardware +locally and in the cloud. + + - Plain C/C++ implementation without any dependencies + - Apple silicon is a first-class citizen - optimized via ARM NEON, + Accelerate and Metal frameworks + - AVX, AVX2, AVX512 and AMX support for x86 architectures + - RVV, ZVFH, ZFH, ZICBOP and ZIHINTPAUSE support for RISC-V + architectures + - 1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, and 8-bit integer + quantization for faster inference and reduced memory use + - Custom CUDA kernels for running LLMs on NVIDIA GPUs (support for + AMD GPUs via HIP and Moore Threads GPUs via MUSA) + - Vulkan and SYCL backend support + - CPU+GPU hybrid inference to partially accelerate models larger than + the total VRAM capacity + diff --git a/llama.cpp-vulkan/doinst.sh b/llama.cpp-vulkan/doinst.sh new file mode 100644 index 0000000..0b91476 --- /dev/null +++ b/llama.cpp-vulkan/doinst.sh @@ -0,0 +1,27 @@ +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ -e $OLD ]; then + cp -a $OLD ${NEW}.incoming + cat $NEW > ${NEW}.incoming + mv ${NEW}.incoming $NEW + fi + config $NEW +} + +preserve_perms etc/rc.d/rc.llama.cpp.new +config etc/rc.d/rc.llama.cpp.new + diff --git a/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild b/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild new file mode 100644 index 0000000..dbbd4cf --- /dev/null +++ b/llama.cpp-vulkan/llama.cpp-vulkan.SlackBuild @@ -0,0 +1,131 @@ +#!/bin/bash + +# Slackware build script for llama.cpp-vulkan + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=llama.cpp-vulkan +SRCNAM=llama.cpp +VERSION=${VERSION:-b8611} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -ex + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$VERSION +tar xvf $CWD/$SRCNAM-$VERSION.tar.gz +cd $SRCNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p build +cd build + cmake .. \ + -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DLIB_SUFFIX=${LIBDIRSUFFIX} \ + -DMAN_INSTALL_DIR=/usr/man \ + -B build \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DLLAMA_BUILD_TESTS=OFF \ + -DLLAMA_USE_SYSTEM_GGML=OFF \ + -DGGML_NATIVE=ON \ + -DGGML_ALL_WARNINGS=OFF \ + -DGGML_ALL_WARNINGS_3RD_PARTY=OFF \ + -DGGML_BUILD_EXAMPLES=OFF \ + -DGGML_BUILD_TESTS=OFF \ + -DGGML_LTO=ON \ + -DGGML_RPC=ON \ + -DGGML_VULKAN=ON \ + -DGGML_CUDA_FA_ALL_QUANTS=ON \ + -DLLAMA_BUILD_NUMBER="${VERSION#b}" \ + -Wno-dev + + cmake --build build -- + DESTDIR=$PKG cmake --install build +cd .. + +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +find $PKG/usr/man -type f -exec gzip -9 {} \; || true +for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a \ + AUTHORS CODEOWNERS CONTRIBUTING.md LICENSE README.md SECURITY.md media \ + $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.llama.cpp > $PKG/etc/rc.d/rc.llama.cpp.new + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/llama.cpp-vulkan/llama.cpp-vulkan.info b/llama.cpp-vulkan/llama.cpp-vulkan.info new file mode 100644 index 0000000..688e652 --- /dev/null +++ b/llama.cpp-vulkan/llama.cpp-vulkan.info @@ -0,0 +1,10 @@ +PRGNAM="llama.cpp-vulkan" +VERSION="b8611" +HOMEPAGE="https://github.com/ggml-org/llama.cpp" +DOWNLOAD="https://github.com/ggml-org/llama.cpp/archive/b8611/llama.cpp-b8611.tar.gz" +MD5SUM="1850929860dd3dc9df7ec4aea2fd156a" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/llama.cpp-vulkan/rc.llama.cpp b/llama.cpp-vulkan/rc.llama.cpp new file mode 100644 index 0000000..82124f9 --- /dev/null +++ b/llama.cpp-vulkan/rc.llama.cpp @@ -0,0 +1,95 @@ +#!/bin/sh + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# SERVER OPTIONS +# many options can be set as env variables. +# See https://github.com/ggml-org/llama.cpp/tree/master/tools/server + +RUNAS_USER= +RUNAS_GROUP=users +LLSRV=/usr/bin/llama-server +#MODEL_DIR= +MODEL= # which model to use +HOST=127.0.0.1 # ip to bind the server to +PORT=8181 # port for the server to listen to +CONTEXT= #size of context +TEMP=1.0 +TOP_K=20 +TOP_P=0.95 +MIN_P=0.00 +SLEEP_IDLE_SECONDS=500 # after how many seconds to unload the model from memory +REASONING_FORMAT=deepseek +GPU_LAYERS=all +SPLIT_MODE=none +NO_CONTEXT_SHIFT='--no-context-shift' +LOG_FILE=/var/log/llama-server/server.log +LLAMA_ARGS="--ctx-size $CONTEXT \ + --jinja \ + --temp $TEMP \ + --top-k $TOP_K \ + --top-p $TOP_P \ + --min-p $MIN_P \ + --host $HOST --port $PORT \ + --reasoning-format $REASONING_FORMAT \ + -sm $SPLIT_MODE \ + $NO_CONTEXT_SHIFT \ + -ngl $GPU_LAYERS \ + --sleep-idle-seconds $SLEEP_IDLE_SECONDS \ + -m $MODEL" # alternatively one could set the model directory and pass --models-dir to the script + +case "$1" in + stop) + if /usr/bin/pgrep -f "$LLSRV" >/dev/null; then + echo "Stopping llama-server..." + killall llama-server 2>/dev/null + else + echo "llama-server is not running..." + exit 1 + fi + ;; + start) + echo "Starting llama-server..." + if [[ -d $(dirname $LOG_FILE) ]]; then + mkdir -p $(dirname $LOG_FILE) + touch $LOG_FILE + chown -R ${RUNAS_USER}:${RUNAS_GROUP} $(dirname $LOG_FILE) + fi + su $RUNAS_USER -c "$LLSRV $LLAMA_ARGS --log-file $LOG_FILE -lv 3 --log-timestamps" 1>/dev/null 2>&1 & + $0 status + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + status) + if /usr/bin/pgrep -f "$LLSRV" >/dev/null; then + echo "llama-server is running" + echo "Browser interface is at:" + echo "http://${HOST}:${PORT}" + fi + ;; + *) + echo "usage: $0 { start | stop | status | restart }" >&2 + exit 1 + ;; +esac diff --git a/llama.cpp-vulkan/slack-desc b/llama.cpp-vulkan/slack-desc new file mode 100644 index 0000000..273e15e --- /dev/null +++ b/llama.cpp-vulkan/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +llama.cpp-vulkan: llama.cpp-vulkan (LLM inference in C/C++) +llama.cpp-vulkan: +llama.cpp-vulkan: Port of Facebook's LLaMA model in C/C++ with Vulkan GPU optimizations +llama.cpp-vulkan: +llama.cpp-vulkan: The main goal of llama.cpp is to enable LLM inference with minimal +llama.cpp-vulkan: setup and state-of-the-art performance on a wide range of hardware +llama.cpp-vulkan: locally and in the cloud. +llama.cpp-vulkan: +llama.cpp-vulkan: Home: https://github.com/ggml-org/llama.cpp +llama.cpp-vulkan: +llama.cpp-vulkan: diff --git a/nvchecker.toml b/nvchecker.toml deleted file mode 100644 index 6a7fb2b..0000000 --- a/nvchecker.toml +++ /dev/null @@ -1,64 +0,0 @@ -[claude-code] -source = "github" -github = "anthropics/claude-code" -use_latest_release = true -prefix = "v" - -[qarma] -source = "github" -github = "luebking/qarma" -use_max_tag = true -prefix = "v" - -[discord] -source = "httpheader" -url = "https://discord.com/api/download?platform=linux&format=tar.gz" -regex = "discord-(.*)\\.tar.*" - -[hstr] -source = "github" -github = "dvorka/hstr" -use_max_tag = true -prefix = "v" - -[uv-bin] -source = "github" -github = "astral-sh/uv" -use_latest_release = true -prefix = "v" - -[hugo] -source = "github" -github = "gohugoio/hugo" -use_latest_release = true -prefix = "v" - -[kitty-bin] -source = "github" -github = "kovidgoyal/kitty" -use_latest_release = true -prefix = "v" - -["llama.cpp-vulkan"] -source = "github" -github = "ggml-org/llama.cpp" -use_latest_release = true - -[obsidian] -source = "github" -github = "obsidianmd/obsidian-releases" -use_latest_release = true -prefix = "v" - -[syncthing] -source = "github" -github = "syncthing/syncthing" -use_latest_release = true -prefix = "v" - -[opencode-bin] -source = "github" -github = "anomalyco/opencode" -use_latest_release = true -prefix = "v" - diff --git a/obsidian/README b/obsidian/README new file mode 100644 index 0000000..db73203 --- /dev/null +++ b/obsidian/README @@ -0,0 +1,12 @@ +Obsidian is a personal knowledge base and note-taking software +application that operates on Markdown files. It allows users to make +internal links for notes and then to visualize the connections as a +graph. It is designed to help users organize and structure their +thoughts and knowledge in a flexible, non-linear way. + +The software is free for personal use, with commercial licenses +available for pay + +This script repackages the Debian package provided by Obsidian team. + +Currently, only the 64bit version is available. diff --git a/obsidian/doinst.sh b/obsidian/doinst.sh new file mode 100644 index 0000000..65c7e2e --- /dev/null +++ b/obsidian/doinst.sh @@ -0,0 +1,9 @@ +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi diff --git a/obsidian/obsidian.SlackBuild b/obsidian/obsidian.SlackBuild new file mode 100644 index 0000000..25ec26b --- /dev/null +++ b/obsidian/obsidian.SlackBuild @@ -0,0 +1,86 @@ +#!/bin/bash + +# Slackware build script for Obsidian + +# Copyright 2024 Dimitar Nikov, Alfreton, United Kingdom +# Copyright 2025-2026 Matt Egger, Philadelphia, PA, United States +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=obsidian +VERSION=${VERSION:-1.12.7} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" != "x86_64" ]; then + echo "$ARCH is not supported." + exit 1 +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $PKG +ar p $CWD/${PRGNAM}_${VERSION}_amd64.deb data.tar.xz | tar -xvJ + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +rm -fr $PKG/usr/share/doc + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/obsidian/obsidian.info b/obsidian/obsidian.info new file mode 100644 index 0000000..9fe77d1 --- /dev/null +++ b/obsidian/obsidian.info @@ -0,0 +1,10 @@ +PRGNAM="obsidian" +VERSION="1.12.7" +HOMEPAGE="https://obsidian.md/" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/obsidianmd/obsidian-releases/releases/download/v1.12.7/obsidian_1.12.7_amd64.deb" +MD5SUM_x86_64="4fc61e50360320be9083f80b04a805ee" +REQUIRES="" +MAINTAINER="Matt Egger" +EMAIL="matt.egger@gmail.com" diff --git a/obsidian/slack-desc b/obsidian/slack-desc new file mode 100644 index 0000000..e77e407 --- /dev/null +++ b/obsidian/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +obsidian: obsidian (a markdown editor) +obsidian: +obsidian: Obsidian is a personal knowledge base and note-taking software +obsidian: application that operates on Markdown files. It allows users to make +obsidian: internal links for notes and then to visualize the connections as a +obsidian: graph. It is designed to help users organize and structure their +obsidian: thoughts and knowledge in a flexible, non-linear way. +obsidian: +obsidian: Homepage: https://obsidian.md/ +obsidian: +obsidian: diff --git a/opencode-bin/README b/opencode-bin/README new file mode 100644 index 0000000..1b8e8d0 --- /dev/null +++ b/opencode-bin/README @@ -0,0 +1,15 @@ +OpenCode is an open source agent that helps you write code in your +terminal, IDE, or desktop. + + - LSP enabled Automatically loads the right LSPs for the LLM + - Multi-session Start multiple agents in parallel on the same project + - Share links Share a link to any session for reference or to debug + - GitHub Copilot Log in with GitHub to use your Copilot account + - ChatGPT Plus/Pro Log in with OpenAI to use your ChatGPT Plus or Pro + account + - Any model 75+ LLM providers through Models.dev, including local + models + - Any editor Available as a terminal interface, desktop app, and + IDE extension + +This Package delivers the binary released from mainstream diff --git a/opencode-bin/opencode-bin.SlackBuild b/opencode-bin/opencode-bin.SlackBuild new file mode 100644 index 0000000..b2c304b --- /dev/null +++ b/opencode-bin/opencode-bin.SlackBuild @@ -0,0 +1,84 @@ +#!/bin/bash + +# Slackware build script for opencode + +# Copyright 2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=opencode-bin +SRCNAM=opencode +VERSION=${VERSION:-1.3.13} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +ARCH=${ARCH:-x86_64} + +# Only x86_64 is supported (pre-built binary) +if [ "$ARCH" != "x86_64" ]; then + echo "ERROR: $PRGNAM is only available for x86_64." + exit 1 +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP + +tar xvf $CWD/$SRCNAM-linux-x64.tar.gz + +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/bin +install -D -m 0755 opencode $PKG/usr/bin/opencode + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Install man page +install -D -m 0644 $CWD/opencode.1 $PKG/usr/man/man1/opencode.1 +gzip -9 $PKG/usr/man/man1/opencode.1 + +# Install docs +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/opencode-bin/opencode-bin.info b/opencode-bin/opencode-bin.info new file mode 100644 index 0000000..155faec --- /dev/null +++ b/opencode-bin/opencode-bin.info @@ -0,0 +1,10 @@ +PRGNAM="opencode-bin" +VERSION="1.3.13" +HOMEPAGE="https://opencode.ai" +DOWNLOAD="UNSUPPORTED" +MD5SUM="" +DOWNLOAD_x86_64="https://github.com/anomalyco/opencode/releases/download/v1.3.13/opencode-linux-x64.tar.gz" +MD5SUM_x86_64="8dd2dab3b9ffaeb956fa95ed80b6b15b" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/opencode-bin/opencode.1 b/opencode-bin/opencode.1 new file mode 100644 index 0000000..ba2b76b --- /dev/null +++ b/opencode-bin/opencode.1 @@ -0,0 +1,67 @@ +.TH OPENCODE 1 "2025" "opencode" "User Commands" +.SH NAME +opencode \- open source AI coding agent for the terminal +.SH SYNOPSIS +.B opencode +[\fIOPTIONS\fR] +.SH DESCRIPTION +.B opencode +is an AI coding agent designed for the terminal. It provides a TUI +(Terminal User Interface) for interacting with 75+ LLM providers +including Anthropic Claude, OpenAI, Google Gemini, GitHub Copilot, +and local models via Ollama. +.PP +It uses a client/server architecture allowing the server to run on +one machine while being driven remotely from another client. +.SH OPTIONS +.TP +.BR \-h ", " \-\-help +Display help information and exit. +.TP +.BR \-v ", " \-\-version +Print version number and exit. +.TP +.BR \-d ", " \-\-debug +Enable debug logging. +.TP +.BR \-c " " \fIDIR\fR ", " \-\-cwd " " \fIDIR\fR +Set the working directory for the session. +.TP +.BR \-p " " \fIPROMPT\fR ", " \-\-print " " \fIPROMPT\fR +Run non-interactively with the given prompt and print the response, +then exit. Useful for scripting and automation. +.TP +.BR \-f " " \fIFORMAT\fR ", " \-\-format " " \fIFORMAT\fR +Output format when using \fB\-p\fR. Options: \fBtext\fR (default), \fBjson\fR. +.TP +.BR \-q ", " \-\-quiet +Suppress the spinner animation. Useful when running from scripts. +.SH ENVIRONMENT +.TP +.B OPENCODE_INSTALL_DIR +Override the binary installation directory used by the install script. +.TP +.B XDG_BIN_DIR +XDG Base Directory Specification compliant binary path. +.SH FILES +.TP +.I ~/.config/opencode/ +User configuration directory. +.TP +.I ~/.local/share/opencode/auth.json +Stored authentication credentials. +.SH TUI COMMANDS +Inside the TUI, the following slash commands are available: +.TP +.B /connect +Configure and authenticate an LLM provider. +.TP +.B /models +Switch between available models. +.SH SEE ALSO +Full documentation at \fIhttps://opencode.ai/docs\fR +.SH AUTHORS +Developed by the Anomaly team. See \fIhttps://github.com/anomalyco/opencode\fR +for contributors. +.SH LICENSE +MIT License. diff --git a/opencode-bin/slack-desc b/opencode-bin/slack-desc new file mode 100644 index 0000000..9469921 --- /dev/null +++ b/opencode-bin/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one blank line after the base package name's header. + + |-----handy-ruler------------------------------------------------------| +opencode-bin: opencode-bin (open source AI coding agent for the terminal) +opencode-bin: +opencode-bin: OpenCode is a TUI/CLI AI coding agent supporting 75+ LLM providers +opencode-bin: including Claude, OpenAI, Gemini, GitHub Copilot, and local models +opencode-bin: via Ollama. It features a client/server architecture, session +opencode-bin: management, LSP integration, MCP support, and plugin system. +opencode-bin: Binaries are compiled with Bun and are self-contained. +opencode-bin: +opencode-bin: Homepage: https://opencode.ai +opencode-bin: License: MIT +opencode-bin: diff --git a/qarma/README b/qarma/README new file mode 100644 index 0000000..981dbe5 --- /dev/null +++ b/qarma/README @@ -0,0 +1,7 @@ +qarma is a tool to create dialog boxes, based on Qt. It's a clone of +Zenity which was written for GTK+. + +Qarma could be compiled against Qt6, Qt5 and Qt4, and supports styling +with qt5ct and qt6ct. + +Homepage: https://github.com/luebking/qarma diff --git a/qarma/qarma.SlackBuild b/qarma/qarma.SlackBuild new file mode 100644 index 0000000..9ea8022 --- /dev/null +++ b/qarma/qarma.SlackBuild @@ -0,0 +1,100 @@ +#!/bin/bash + +# Slackware build script for qarma + +# Copyright 2018-2026 danix +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=qarma +VERSION=${VERSION:-1.1.0} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +NUMJOBS=${NUMJOBS:--j4} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p build-$PRGNAM +cd build-$PRGNAM + qmake6 .. + make $NUMJOBS + mkdir -p $PKG/usr/bin + install -m 0755 qarma $PKG/usr/bin +cd .. + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a LICENSE README.md $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/qarma/qarma.info b/qarma/qarma.info new file mode 100644 index 0000000..8e2e514 --- /dev/null +++ b/qarma/qarma.info @@ -0,0 +1,10 @@ +PRGNAM="qarma" +VERSION="1.1.0" +HOMEPAGE="https://github.com/luebking/qarma" +DOWNLOAD="https://github.com/luebking/qarma/archive/v1.1.0/qarma-1.1.0.tar.gz" +MD5SUM="2ebe757b99c81fa5e84d1cda6a811279" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="danix" +EMAIL="danix@danix.xyz" diff --git a/qarma/slack-desc b/qarma/slack-desc new file mode 100644 index 0000000..c23cc62 --- /dev/null +++ b/qarma/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +qarma: qarma (near perfect zenity clone for Qt) +qarma: +qarma: Qarma is a near perfect zenity clone, written in Qt, +qarma: could be compiled against Qt6, Qt5 and Qt4, and supports styling +qarma: with qt5ct and qt6ct. +qarma: +qarma: Q: Why do you waste time cloning a perfectly fine tool? +qarma: A: "The answer is that GTK+ is primarily intended to be used on +qarma: the GNOME desktop. GTK+ must focus on being the toolkit of +qarma: the GNOME platform first, and tackle integration second." +qarma: Website: https://github.com/luebking/qarma diff --git a/syncthing/README b/syncthing/README new file mode 100644 index 0000000..86b1197 --- /dev/null +++ b/syncthing/README @@ -0,0 +1,20 @@ +Syncthing (two way file sync between devices) + +Syncthing is a free, open-source peer-to-peer, two-way file +syncronisation application available for Windows, Mac, Linux, iOS, +Android, Solaris, Darwin and BSD. It can sync files between devices +on a local network, or between remote devices over the Internet. + +Before you can build Syncthing, you have to create a syncthing +user and group (used when running syncthing as a system-wide daemon): + +groupadd -g 307 syncthing +useradd -d /var/lib/syncthing -g syncthing -s /bin/bash -u 307 syncthing + +This package includes a rc.syncthing startup script, suitable for +running Syncthing as a system daemon - such as on a server. + +The default location for the Syncthing config *and* sync repository +if run using the enclosed rc.syncthing is under /var/lib/syncthing, +but Syncthing is normally configured through its own web interface. +See project page for further details. diff --git a/syncthing/doinst.sh b/syncthing/doinst.sh new file mode 100644 index 0000000..9d663d4 --- /dev/null +++ b/syncthing/doinst.sh @@ -0,0 +1,25 @@ +config() { + NEW="$1" + OLD="`dirname $NEW`/`basename $NEW .new`" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +preserve_perms() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + if [ -e $OLD ]; then + cp -a $OLD ${NEW}.incoming + cat $NEW > ${NEW}.incoming + mv ${NEW}.incoming $NEW + fi + config $NEW +} + +config etc/logrotate.d/syncthing.new +preserve_perms etc/rc.d/rc.syncthing.new diff --git a/syncthing/rc.syncthing b/syncthing/rc.syncthing new file mode 100644 index 0000000..730e638 --- /dev/null +++ b/syncthing/rc.syncthing @@ -0,0 +1,53 @@ +#!/bin/sh + +# Copyright 2016, Sebastian Arcus, UK +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +SYNCTHING_USER="syncthing" +SYNCTHING="/usr/bin/syncthing" +CONFDIR="/var/lib/syncthing/config" +LOGFILE="/var/log/syncthing/syncthing.log" +LOGFLAGS="11" +SYNCTHING_ARGS="-no-browser" + +case "$1" in + stop) + if /usr/bin/pgrep -f /usr/bin/syncthing >/dev/null; then + echo "Stop Syncthing..." + killall syncthing 2>/dev/null + else + echo "Syncthing is not running..." + exit 1 + fi + ;; + start) + echo "Start Syncthing..." + su - $SYNCTHING_USER -c "$SYNCTHING -home=$CONFDIR -logfile=$LOGFILE -logflags=$LOGFLAGS $SYNCTHING_ARGS" 1>/dev/null 2>&1 & + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 { start | stop | restart }" >&2 + exit 1 + ;; +esac diff --git a/syncthing/slack-desc b/syncthing/slack-desc new file mode 100644 index 0000000..2d1ee73 --- /dev/null +++ b/syncthing/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +syncthing: syncthing (two way file sync between devices) +syncthing: +syncthing: Syncthing is a free, open-source peer-to-peer, two-way file +syncthing: syncronisation application available for Windows, Mac, Linux, iOS, +syncthing: Android, Solaris, Darwin and BSD. It can sync files between devices +syncthing: on a local network, or between remote devices over the Internet. +syncthing: +syncthing: https://syncthing.net +syncthing: +syncthing: +syncthing: diff --git a/syncthing/syncthing.SlackBuild b/syncthing/syncthing.SlackBuild new file mode 100644 index 0000000..b4b896f --- /dev/null +++ b/syncthing/syncthing.SlackBuild @@ -0,0 +1,115 @@ +#!/bin/bash + +# Slackware build script for syncthing + +# Copyright 2015 Lionel Young, United States +# Copyright 2016 Sebastian Arcus, United Kingdom +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=syncthing +VERSION=${VERSION:-2.0.15} +BUILD=${BUILD:-1} +TAG=${TAG:-_danix} +PKGTYPE=${PKGTYPE:-txz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "i586" ] || [ "$ARCH" = "i686" ]; then + FARCH=386 +elif [ "$ARCH" = "x86_64" ]; then + FARCH=amd64 +else + echo "$ARCH architecture is not supported." + exit 1 +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +set -e + +# Check if the syncthing user and group exist. If not, then bail. +if [ "$(id -g syncthing 2> /dev/null)" != "307" -o "$(id -u syncthing 2> /dev/null)" != "307" ]; then + echo " You must have an 'syncthing' user and group to run this script." + echo " # groupadd -g 307 syncthing" + echo " # useradd -d /var/lib/syncthing -g syncthing -s /bin/bash -u 307 syncthing" + exit 1 +fi + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +mkdir $PRGNAM-$VERSION +cd $PRGNAM-$VERSION +tar xvf $CWD/${PRGNAM}-linux-$FARCH-v${VERSION}.tar.gz +cd ${PRGNAM}-linux-$FARCH-v${VERSION} +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +# Install syncthing +mkdir -p $PKG/usr/bin +install -Dm755 syncthing $PKG/usr/bin/syncthing + +# Install rc script +mkdir -p $PKG/etc/rc.d +cat $CWD/rc.syncthing > $PKG/etc/rc.d/rc.syncthing.new +chmod 0644 $PKG/etc/rc.d/rc.syncthing.new + +# Install logrotate script +mkdir -p $PKG/etc/logrotate.d +cat $CWD/syncthing.logrotate > $PKG/etc/logrotate.d/syncthing.new + +mkdir -p -m 750 $PKG/var/lib/syncthing/config +mkdir -p -m 750 $PKG/var/log/syncthing +mkdir -p -m 750 $PKG/var/run/syncthing +chown -R syncthing:syncthing $PKG/var/{lib,run,log}/syncthing + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a *.txt $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh > $PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/syncthing/syncthing.info b/syncthing/syncthing.info new file mode 100644 index 0000000..7c6b8ca --- /dev/null +++ b/syncthing/syncthing.info @@ -0,0 +1,10 @@ +PRGNAM="syncthing" +VERSION="2.0.15" +HOMEPAGE="https://syncthing.net" +DOWNLOAD="https://github.com/syncthing/syncthing/releases/download/v2.0.15/syncthing-linux-386-v2.0.15.tar.gz" +MD5SUM="04bb977a084577ddac3c6036b965d54d" +DOWNLOAD_x86_64="https://github.com/syncthing/syncthing/releases/download/v2.0.15/syncthing-linux-amd64-v2.0.15.tar.gz" +MD5SUM_x86_64="4129e1b6e1b014b7c92f4e987204251f" +REQUIRES="" +MAINTAINER="Sebastian Arcus" +EMAIL="s [dot] arcus [at] open-t [dot] co [dot] uk" diff --git a/syncthing/syncthing.logrotate b/syncthing/syncthing.logrotate new file mode 100644 index 0000000..ef303bf --- /dev/null +++ b/syncthing/syncthing.logrotate @@ -0,0 +1,8 @@ +/var/log/syncthing/*.log { + weekly + rotate 4 + compress + missingok + notifempty + copytruncate +} diff --git a/uv-bin/README b/uv-bin/README new file mode 100644 index 0000000..44d590e --- /dev/null +++ b/uv-bin/README @@ -0,0 +1 @@ +An extremely fast Python package and project manager, written in Rust diff --git a/uv-bin/slack-desc b/uv-bin/slack-desc new file mode 100644 index 0000000..ac9b049 --- /dev/null +++ b/uv-bin/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +uv-bin: uv-bin (Python package and project manager) +uv-bin: +uv-bin: An extremely fast Python package and project manager, written in Rust +uv-bin: +uv-bin: +uv-bin: +uv-bin: +uv-bin: +uv-bin: Project URL: https://github.com/astral-sh/uv +uv-bin: +uv-bin: diff --git a/uv-bin/uv-bin.SlackBuild b/uv-bin/uv-bin.SlackBuild new file mode 100644 index 0000000..613dfa9 --- /dev/null +++ b/uv-bin/uv-bin.SlackBuild @@ -0,0 +1,94 @@ +#!/bin/bash + +# Slackware build script for uv-bin + +# Copyright 2025 Willy Sudiarto Raharjo +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PRGNAM=uv-bin +SRCNAM=uv +VERSION=${VERSION:-0.11.2} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SRCARCH=i686-unknown-linux-gnu +elif [ "$ARCH" = "i686" ]; then + SRCARCH=i686-unknown-linux-gnu +elif [ "$ARCH" = "x86_64" ]; then + SRCARCH=x86_64-unknown-linux-gnu +elif [ "$ARCH" = "aarch64" ]; then + SRCARCH=aarch64-unknown-linux-gnu +elif [ "$ARCH" = "arm" ]; then + SRCARCH=armv7-unknown-linux-gnueabihf +else + SRCARCH=i686-unknown-linux-gnu +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $SRCNAM-$SRCARCH +tar xvf $CWD/$SRCNAM-$SRCARCH.tar.gz +cd $SRCNAM-$SRCARCH +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +mkdir -p $PKG/usr/bin +cp uvx uv $PKG/usr/bin/ + +# Strip binaries and libraries. +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE diff --git a/uv-bin/uv-bin.info b/uv-bin/uv-bin.info new file mode 100644 index 0000000..ea9a751 --- /dev/null +++ b/uv-bin/uv-bin.info @@ -0,0 +1,10 @@ +PRGNAM="uv-bin" +VERSION="0.11.2" +HOMEPAGE="https://github.com/astral-sh/uv" +DOWNLOAD="https://github.com/astral-sh/uv/releases/download/0.11.2/uv-i686-unknown-linux-gnu.tar.gz" +MD5SUM="ea373279d05858cbdebc3e67c3ffac91" +DOWNLOAD_x86_64="https://github.com/astral-sh/uv/releases/download/0.11.2/uv-x86_64-unknown-linux-gnu.tar.gz" +MD5SUM_x86_64="23457bca50346ff869f89fbca9b99657" +REQUIRES="" +MAINTAINER="Willy Sudiarto Raharjo" +EMAIL="willysr@slackbuilds.org" -- cgit v1.2.3