20 Commits
Author SHA1 Message Date
github-actions[bot] 31bc42982d chore: rebuild website [skip ci] 2026-07-14 23:12:55 +00:00
Rsclub2_2 7acdfca4f5 Fix AUR not liking the .git links 2026-07-15 01:12:37 +02:00
github-actions[bot] c3fd931fee chore: rebuild website [skip ci] 2026-07-14 23:08:56 +00:00
Rsclub2_2 373a30933b News about AUR Packages 2026-07-15 01:08:27 +02:00
github-actions[bot] 43538a277f chore: rebuild website roadmap [skip ci] 2026-07-14 17:29:04 +00:00
github-actions[bot] 5ec16fa458 chore: rebuild website roadmap [skip ci] 2026-07-14 17:28:46 +00:00
github-actions[bot] 9ef0aeef1c chore: rebuild website roadmap [skip ci] 2026-07-14 17:28:29 +00:00
Rsclub2_2 46d722967a fix and Pipeline AUR nightly 2026-07-14 17:19:29 +02:00
Rsclub2_2 fc246a5607 Pipeline AUR 2026-07-14 17:04:29 +02:00
github-actions[bot] 8cdeb2ad63 chore: rebuild website [skip ci] 2026-07-14 14:54:47 +00:00
Rsclub2_2 df0e535fb3 docs: add AUR installation instructions to Wiki 2026-07-14 16:54:19 +02:00
Rsclub2_2 e85d4c2fe2 fix: revert AUR url back to GitHub upstream [skip ci] 2026-07-14 16:47:18 +02:00
Rsclub2_2 360e55633b chore: set AUR package url to kst4contest.hamradioonline.de [skip ci] 2026-07-14 16:43:36 +02:00
Rsclub2_2 367967518e chore: fix kst4contest-git pkgver to 1.42.0 base [skip ci] 2026-07-14 16:41:33 +02:00
github-actions[bot] d8859247c6 chore: update AUR packages to v1.41.1 [skip ci] 2026-07-14 11:35:24 +00:00
github-actions[bot] bf1b72a6b9 chore: rebuild website roadmap [skip ci] 2026-07-13 18:35:32 +00:00
github-actions[bot] 9545e708fd chore: rebuild website roadmap [skip ci] 2026-07-13 18:35:16 +00:00
github-actions[bot] 37121949e4 chore: rebuild website roadmap [skip ci] 2026-07-13 18:22:24 +00:00
github-actions[bot] d70d8d7a24 chore: rebuild website roadmap [skip ci] 2026-07-13 18:20:50 +00:00
github-actions[bot] 6a715567dd chore: rebuild website roadmap [skip ci] 2026-07-13 18:20:37 +00:00
60 changed files with 799 additions and 73 deletions
+99
View File
@@ -0,0 +1,99 @@
name: AUR Nightly (kst4contest-git)
on:
workflow_run:
workflows: ["Nightly Runtime Artifacts"]
types: [completed]
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
update-aur-git:
if: >-
github.event_name == 'workflow_dispatch' ||
github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Install dependencies
run: |
pacman -Sy --noconfirm git openssh base-devel
useradd -m builder
- name: Checkout
uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Compute pkgver
id: ver
run: |
BASE=$(grep -m1 '<version>' pom.xml \
| sed 's/.*<version>\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//')
GIT_PKGVER="${BASE}.r$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)"
echo "pkgver=${GIT_PKGVER}" >> "$GITHUB_OUTPUT"
- name: Update PKGBUILD
env:
PKGVER: ${{ steps.ver.outputs.pkgver }}
run: |
sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest-git/PKGBUILD
- name: Generate .SRCINFO
run: |
cp -r packaging/aur/kst4contest-git /tmp/kst4contest-git
chown -R builder:builder /tmp/kst4contest-git
su builder -c "cd /tmp/kst4contest-git && makepkg --printsrcinfo > .SRCINFO"
cp /tmp/kst4contest-git/.SRCINFO packaging/aur/kst4contest-git/.SRCINFO
cat packaging/aur/kst4contest-git/.SRCINFO
- name: Commit updated PKGBUILD to repo
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git"
git add packaging/aur/kst4contest-git/
git diff --cached --quiet && echo "No changes to commit." && exit 0
git commit -m "chore: update kst4contest-git to ${{ steps.ver.outputs.pkgver }} [skip ci]"
git push
- name: Set up AUR SSH
env:
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
run: |
mkdir -p ~/.ssh
printf '%s\n' "${AUR_SSH_PRIVATE_KEY}" > ~/.ssh/aur_ed25519
chmod 600 ~/.ssh/aur_ed25519
ssh-keyscan -t ed25519 aur.archlinux.org >> ~/.ssh/known_hosts
cat >> ~/.ssh/config << 'EOF'
Host aur.archlinux.org
IdentityFile ~/.ssh/aur_ed25519
User aur
EOF
- name: Push to AUR
run: |
git config --global user.email "philipp@wagnersnetz.de"
git config --global user.name "Philipp Wagner"
AUR_DIR="/tmp/aur/kst4contest-git"
git clone "ssh://aur@aur.archlinux.org/kst4contest-git.git" "${AUR_DIR}" 2>/dev/null || {
mkdir -p "${AUR_DIR}"
git -C "${AUR_DIR}" init
git -C "${AUR_DIR}" remote add origin "ssh://aur@aur.archlinux.org/kst4contest-git.git"
}
cp packaging/aur/kst4contest-git/PKGBUILD "${AUR_DIR}/"
cp packaging/aur/kst4contest-git/.SRCINFO "${AUR_DIR}/"
git -C "${AUR_DIR}" add PKGBUILD .SRCINFO
git -C "${AUR_DIR}" diff --cached --quiet \
&& echo "kst4contest-git: no changes, skipping push" && exit 0
git -C "${AUR_DIR}" commit -m "Update pkgver to ${{ steps.ver.outputs.pkgver }}"
git -C "${AUR_DIR}" push origin HEAD:master
echo "kst4contest-git: pushed to AUR"
+177
View File
@@ -0,0 +1,177 @@
name: Publish AUR Packages
on:
workflow_run:
workflows: ["Tagged Release Build"]
types: [completed]
workflow_dispatch:
inputs:
version:
description: "Release tag (e.g. v1.41.1) — defaults to latest stable release"
required: false
default: ""
dry_run:
description: "Dry run — skip AUR push and repo commit (for testing)"
type: choice
options: ["false", "true"]
default: "false"
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
jobs:
publish-aur:
if: >-
github.event_name == 'workflow_dispatch' ||
github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
container:
image: archlinux:latest
steps:
- name: Install dependencies
run: |
pacman -Sy --noconfirm git openssh curl base-devel nodejs
useradd -m builder
- name: Checkout
uses: actions/checkout@v4.1.7
with:
fetch-depth: 0
- name: Resolve release version
id: ver
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_VERSION: ${{ inputs.version }}
run: |
if [[ -n "${INPUT_VERSION}" ]]; then
TAG="${INPUT_VERSION}"
else
TAG=$(curl -sf \
-H "Authorization: Bearer ${GH_TOKEN}" \
-H "Accept: application/vnd.github+json" \
"https://api.github.com/repos/${{ github.repository }}/releases/latest" \
| grep '"tag_name"' | sed 's/.*"tag_name": *"\([^"]*\)".*/\1/')
fi
PKGVER="${TAG#v}"
echo "tag=${TAG} → pkgver=${PKGVER}"
echo "tag=${TAG}" >> "$GITHUB_OUTPUT"
echo "pkgver=${PKGVER}" >> "$GITHUB_OUTPUT"
- name: Compute SHA256 checksums
id: sha
run: |
TAG="${{ steps.ver.outputs.tag }}"
REPO="${{ github.repository }}"
echo "Hashing pre-built Arch package..."
SHA_BIN=$(curl -sfL \
"https://github.com/${REPO}/releases/download/${TAG}/KST4Contest-${TAG}-archlinux-x86_64.pkg.tar.zst" \
| sha256sum | awk '{print $1}')
echo "bin: ${SHA_BIN}"
echo "Hashing source tarball..."
SHA_SRC=$(curl -sfL \
"https://github.com/${REPO}/archive/refs/tags/${TAG}.tar.gz" \
| sha256sum | awk '{print $1}')
echo "src: ${SHA_SRC}"
echo "bin=${SHA_BIN}" >> "$GITHUB_OUTPUT"
echo "src=${SHA_SRC}" >> "$GITHUB_OUTPUT"
- name: Update PKGBUILDs
env:
PKGVER: ${{ steps.ver.outputs.pkgver }}
SHA_BIN: ${{ steps.sha.outputs.bin }}
SHA_SRC: ${{ steps.sha.outputs.src }}
run: |
# kst4contest-bin
sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest-bin/PKGBUILD
sed -i "s/^sha256sums=.*/sha256sums=('${SHA_BIN}')/" packaging/aur/kst4contest-bin/PKGBUILD
# kst4contest (source build)
sed -i "s/^pkgver=.*/pkgver=${PKGVER}/" packaging/aur/kst4contest/PKGBUILD
sed -i "s/^sha256sums=.*/sha256sums=('${SHA_SRC}')/" packaging/aur/kst4contest/PKGBUILD
# kst4contest-git: Basis aus pom.xml, Suffix aus git
BASE_VER=$(grep -m1 '<version>' pom.xml \
| sed 's/.*<version>\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//')
GIT_PKGVER="${BASE_VER}.r$(git rev-list --count HEAD).g$(git rev-parse --short HEAD)"
sed -i "s/^pkgver=.*/pkgver=${GIT_PKGVER}/" packaging/aur/kst4contest-git/PKGBUILD
echo "=== Updated PKGBUILD versions ==="
grep -H '^pkgver=\|^sha256sums=' packaging/aur/*/PKGBUILD
- name: Generate .SRCINFO files
run: |
for pkg in kst4contest-bin kst4contest kst4contest-git; do
cp -r "packaging/aur/${pkg}" "/tmp/${pkg}"
chown -R builder:builder "/tmp/${pkg}"
su builder -c "cd /tmp/${pkg} && makepkg --printsrcinfo > .SRCINFO"
cp "/tmp/${pkg}/.SRCINFO" "packaging/aur/${pkg}/.SRCINFO"
echo "=== ${pkg}/.SRCINFO ==="
cat "packaging/aur/${pkg}/.SRCINFO"
done
- name: Commit updated PKGBUILDs to repo
if: inputs.dry_run != 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config user.name "github-actions[bot]"
git remote set-url origin "https://x-access-token:${GITHUB_TOKEN}@github.com/${{ github.repository }}.git"
git add packaging/aur/
git diff --cached --quiet && echo "No PKGBUILD changes to commit." && exit 0
git commit -m "chore: update AUR packages to ${{ steps.ver.outputs.tag }} [skip ci]"
git push
- name: Set up AUR SSH
if: inputs.dry_run != 'true'
env:
AUR_SSH_PRIVATE_KEY: ${{ secrets.AUR_SSH_PRIVATE_KEY }}
run: |
mkdir -p ~/.ssh
printf '%s\n' "${AUR_SSH_PRIVATE_KEY}" > ~/.ssh/aur_ed25519
chmod 600 ~/.ssh/aur_ed25519
ssh-keyscan -t ed25519 aur.archlinux.org >> ~/.ssh/known_hosts
cat >> ~/.ssh/config << 'EOF'
Host aur.archlinux.org
IdentityFile ~/.ssh/aur_ed25519
User aur
EOF
- name: Push to AUR
if: inputs.dry_run != 'true'
env:
TAG: ${{ steps.ver.outputs.tag }}
run: |
git config --global user.email "philipp@wagnersnetz.de"
git config --global user.name "Philipp Wagner"
push_to_aur() {
local pkg="$1"
local msg="$2"
local aur_dir="/tmp/aur/${pkg}"
git clone "ssh://aur@aur.archlinux.org/${pkg}.git" "${aur_dir}" 2>/dev/null || {
mkdir -p "${aur_dir}"
git -C "${aur_dir}" init
git -C "${aur_dir}" remote add origin "ssh://aur@aur.archlinux.org/${pkg}.git"
}
cp "packaging/aur/${pkg}/PKGBUILD" "${aur_dir}/"
cp "packaging/aur/${pkg}/.SRCINFO" "${aur_dir}/"
git -C "${aur_dir}" add PKGBUILD .SRCINFO
git -C "${aur_dir}" diff --cached --quiet \
&& echo "${pkg}: no changes, skipping push" && return 0
git -C "${aur_dir}" commit -m "${msg}"
git -C "${aur_dir}" push origin HEAD:master
echo "${pkg}: pushed to AUR"
}
push_to_aur kst4contest-bin "Update to ${TAG}"
push_to_aur kst4contest "Update to ${TAG}"
push_to_aur kst4contest-git \
"Update pkgver to $(grep '^pkgver=' packaging/aur/kst4contest-git/PKGBUILD | cut -d= -f2)"
+3
View File
@@ -38,3 +38,6 @@ dist/
# node Modules in website
website/node_modules/
# Local secrets for act testing
.secrets
+17 -1
View File
@@ -52,6 +52,7 @@ Mehrere Paketformate stehen auf der Releases-Seite zur Verfügung:
| Debian-Paket | `KST4Contest-v<Version>-debian-amd64.deb` | Debian, Ubuntu, Linux Mint, … |
| RPM-Paket | `KST4Contest-v<Version>-fedora-x86_64.rpm` | Fedora, RHEL, openSUSE, … |
| Arch-Paket | `KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst` | Arch Linux, Manjaro, … |
| AUR | `kst4contest-bin` / `kst4contest` / `kst4contest-git` | Arch Linux, Manjaro, EndeavourOS, … |
| Flatpak | `de.x08.KST4Contest.flatpakref` | Alle Distributionen mit Flatpak |
> **Empfehlung für Linux:** Die Flatpak-Installation ist der einfachste Weg, immer aktuell zu bleiben `flatpak update` erledigt alle zukünftigen Updates automatisch. Das Repository ist GPG-signiert.
@@ -105,6 +106,20 @@ sudo dnf install ./KST4Contest-v<Version>-fedora-x86_64.rpm
#### Arch Linux
**Über den AUR (empfohlen)** — Updates laufen automatisch mit dem System:
```bash
yay -S kst4contest-bin # vorgefertigtes Binary, schnellste Installation
# oder
yay -S kst4contest # aus dem Quellcode bauen
# oder
yay -S kst4contest-git # immer aktueller git-Stand (1.42+)
```
Jeder AUR-Helper funktioniert (`paru`, `trizen` usw.). `kst4contest-bin` ist die einfachste Option — es installiert dasselbe vorgefertigte Binary wie der Release-Download.
Oder das Release-Paket manuell installieren:
```bash
sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst
```
@@ -195,7 +210,8 @@ Die Einstellungsdatei (`preferences.xml`) bleibt erhalten, da sie im Benutzerord
- **AppImage**: Neues AppImage herunterladen, ausführbar machen (`chmod +x`), altes optional löschen.
- **Debian/Ubuntu**: `sudo apt install ./KST4Contest-v<Version>-debian-amd64.deb`
- **Fedora/RHEL**: `sudo dnf upgrade ./KST4Contest-v<Version>-fedora-x86_64.rpm`
- **Arch Linux**: `sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst`
- **Arch Linux (AUR)**: `yay -S kst4contest-bin`
- **Arch Linux (manuell)**: `sudo pacman -U KST4Contest-v<Version>-archlinux-x86_64.pkg.tar.zst`
- **Flatpak (Repository)**: `flatpak update` aktualisiert alle Flatpak-Apps einschließlich KST4Contest.
#### macOS
+17 -1
View File
@@ -52,6 +52,7 @@ Multiple package formats are available from the releases page:
| Debian package | `KST4Contest-v<version>-debian-amd64.deb` | Debian, Ubuntu, Linux Mint, … |
| RPM package | `KST4Contest-v<version>-fedora-x86_64.rpm` | Fedora, RHEL, openSUSE, … |
| Arch package | `KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst` | Arch Linux, Manjaro, … |
| AUR | `kst4contest-bin` / `kst4contest` / `kst4contest-git` | Arch Linux, Manjaro, EndeavourOS, … |
| Flatpak | `de.x08.KST4Contest.flatpakref` | All distributions with Flatpak |
> **Recommended for Linux:** The Flatpak installation is the easiest way to stay up to date — `flatpak update` handles all future updates automatically. The repository is GPG-signed for security.
@@ -105,6 +106,20 @@ sudo dnf install ./KST4Contest-v<version>-fedora-x86_64.rpm
#### Arch Linux
**Via AUR (recommended)** — updates automatically with your system:
```bash
yay -S kst4contest-bin # pre-built binary, fastest install
# or
yay -S kst4contest # build from source
# or
yay -S kst4contest-git # always latest git HEAD (1.42+)
```
Any AUR helper works (`paru`, `trizen`, etc.). `kst4contest-bin` is the easiest option since it installs the same pre-built binary as the release download.
Or install the release package manually:
```bash
sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst
```
@@ -195,7 +210,8 @@ The settings file (`preferences.xml`) is preserved because it is stored in the u
- **AppImage**: Download the new AppImage, make it executable (`chmod +x`), optionally delete the old one.
- **Debian/Ubuntu**: `sudo apt install ./KST4Contest-v<version>-debian-amd64.deb`
- **Fedora/RHEL**: `sudo dnf upgrade ./KST4Contest-v<version>-fedora-x86_64.rpm`
- **Arch Linux**: `sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst`
- **Arch Linux (AUR)**: `yay -S kst4contest-bin`
- **Arch Linux (manual)**: `sudo pacman -U KST4Contest-v<version>-archlinux-x86_64.pkg.tar.zst`
- **Flatpak (repository)**: `flatpak update` updates all Flatpak apps including KST4Contest.
#### macOS
+16
View File
@@ -0,0 +1,16 @@
pkgbase = kst4contest-bin
pkgdesc = ON4KST Chat Client for VHF/UHF contest operation (pre-built)
pkgver = 1.41.1
pkgrel = 1
url = https://github.com/praktimarc/kst4contest
arch = x86_64
license = GPL-3.0-only
depends = gst-plugins-base
depends = gst-plugins-good
provides = kst4contest
conflicts = kst4contest
conflicts = kst4contest-git
source = KST4Contest-v1.41.1-archlinux-x86_64.pkg.tar.zst::https://github.com/praktimarc/kst4contest/releases/download/v1.41.1/KST4Contest-v1.41.1-archlinux-x86_64.pkg.tar.zst
sha256sums = 8e9a53ff832920c9ef2733635b90c5a4ffcd57a2958aaa251e92bd031142c614
pkgname = kst4contest-bin
+17
View File
@@ -0,0 +1,17 @@
# Maintainer: Philipp Wagner <philipp@wagnersnetz.de>
pkgname=kst4contest-bin
pkgver=1.41.1
pkgrel=1
pkgdesc="ON4KST Chat Client for VHF/UHF contest operation (pre-built)"
arch=('x86_64')
url="https://github.com/praktimarc/kst4contest"
license=('GPL-3.0-only')
depends=('gst-plugins-base' 'gst-plugins-good')
provides=('kst4contest')
conflicts=('kst4contest' 'kst4contest-git')
source=("KST4Contest-v${pkgver}-archlinux-${CARCH}.pkg.tar.zst::https://github.com/praktimarc/kst4contest/releases/download/v${pkgver}/KST4Contest-v${pkgver}-archlinux-${CARCH}.pkg.tar.zst")
sha256sums=('8e9a53ff832920c9ef2733635b90c5a4ffcd57a2958aaa251e92bd031142c614')
package() {
cp -a "${srcdir}/usr" "${pkgdir}/"
}
+19
View File
@@ -0,0 +1,19 @@
pkgbase = kst4contest-git
pkgdesc = ON4KST Chat Client for VHF/UHF contest operation (git)
pkgver = 1.42.0.r145.gd885924
pkgrel = 1
url = https://github.com/praktimarc/kst4contest
arch = x86_64
license = GPL-3.0-only
makedepends = java-environment=21
makedepends = maven
makedepends = git
depends = gst-plugins-base
depends = gst-plugins-good
provides = kst4contest
conflicts = kst4contest
conflicts = kst4contest-bin
source = kst4contest::git+https://github.com/praktimarc/kst4contest.git
sha256sums = SKIP
pkgname = kst4contest-git
+76
View File
@@ -0,0 +1,76 @@
# Maintainer: Philipp Wagner <philipp@wagnersnetz.de>
pkgname=kst4contest-git
pkgver=1.42.0.r145.gd885924
pkgrel=1
pkgdesc="ON4KST Chat Client for VHF/UHF contest operation (git)"
arch=('x86_64')
url="https://github.com/praktimarc/kst4contest"
license=('GPL-3.0-only')
depends=('gst-plugins-base' 'gst-plugins-good')
makedepends=('java-environment=21' 'maven' 'git')
provides=('kst4contest')
conflicts=('kst4contest' 'kst4contest-bin')
source=("kst4contest::git+https://github.com/praktimarc/kst4contest.git")
sha256sums=('SKIP')
pkgver() {
cd "${srcdir}/kst4contest"
BASE=$(grep -m1 '<version>' pom.xml \
| sed 's/.*<version>\(.*\)<\/version>.*/\1/' | sed 's/[-.]nightly//')
printf '%s.r%s.g%s' "${BASE}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
}
build() {
cd "${srcdir}/kst4contest"
export JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name 'java-21-*' -type d | head -n 1)
export PATH="${JAVA_HOME}/bin:${PATH}"
mvn -B -DskipTests package dependency:copy-dependencies \
-DincludeScope=runtime \
-DoutputDirectory=target/dist-libs
cp "$(ls -t target/praktiKST-*.jar | head -n 1)" target/dist-libs/app.jar
mkdir -p dist
jpackage \
--type app-image \
--name KST4Contest \
--input target/dist-libs \
--main-jar app.jar \
--main-class kst4contest.view.Kst4ContestApplication \
--module-path target/dist-libs \
--add-modules javafx.controls,javafx.graphics,javafx.fxml,javafx.web,javafx.media,java.sql,java.net.http,jdk.crypto.ec \
--dest dist
}
package() {
cd "${srcdir}/kst4contest"
install -dm755 "${pkgdir}/usr/lib/KST4Contest"
cp -a dist/KST4Contest/. "${pkgdir}/usr/lib/KST4Contest/"
install -dm755 "${pkgdir}/usr/bin"
printf '#!/bin/sh\nexec /usr/lib/KST4Contest/bin/KST4Contest "$@"\n' \
> "${pkgdir}/usr/bin/KST4Contest"
chmod 755 "${pkgdir}/usr/bin/KST4Contest"
install -dm755 "${pkgdir}/usr/share/applications"
cat > "${pkgdir}/usr/share/applications/KST4Contest.desktop" << 'EOF'
[Desktop Entry]
Type=Application
Name=KST4Contest
Comment=ON4KST Chat Client for VHF/UHF contest operation
Exec=KST4Contest
Icon=KST4Contest
Categories=Network;HamRadio;
Terminal=false
EOF
if [[ -f "${pkgdir}/usr/lib/KST4Contest/lib/KST4Contest.png" ]]; then
install -Dm644 "${pkgdir}/usr/lib/KST4Contest/lib/KST4Contest.png" \
"${pkgdir}/usr/share/icons/hicolor/256x256/apps/KST4Contest.png"
fi
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
+18
View File
@@ -0,0 +1,18 @@
pkgbase = kst4contest
pkgdesc = ON4KST Chat Client for VHF/UHF contest operation
pkgver = 1.41.1
pkgrel = 1
url = https://github.com/praktimarc/kst4contest
arch = x86_64
license = GPL-3.0-only
makedepends = java-environment=21
makedepends = maven
depends = gst-plugins-base
depends = gst-plugins-good
provides = kst4contest
conflicts = kst4contest-bin
conflicts = kst4contest-git
source = kst4contest-1.41.1.tar.gz::https://github.com/praktimarc/kst4contest/archive/refs/tags/v1.41.1.tar.gz
sha256sums = e96207a2d3fee19d35e34717f5312beb28bb087c040164e352337e749ce53b8d
pkgname = kst4contest
+69
View File
@@ -0,0 +1,69 @@
# Maintainer: Philipp Wagner <philipp@wagnersnetz.de>
pkgname=kst4contest
pkgver=1.41.1
pkgrel=1
pkgdesc="ON4KST Chat Client for VHF/UHF contest operation"
arch=('x86_64')
url="https://github.com/praktimarc/kst4contest"
license=('GPL-3.0-only')
depends=('gst-plugins-base' 'gst-plugins-good')
makedepends=('java-environment=21' 'maven')
provides=('kst4contest')
conflicts=('kst4contest-bin' 'kst4contest-git')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/praktimarc/kst4contest/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('e96207a2d3fee19d35e34717f5312beb28bb087c040164e352337e749ce53b8d')
build() {
cd "${srcdir}/kst4contest-${pkgver}"
export JAVA_HOME=$(find /usr/lib/jvm -maxdepth 1 -name 'java-21-*' -type d | head -n 1)
export PATH="${JAVA_HOME}/bin:${PATH}"
mvn -B -DskipTests package dependency:copy-dependencies \
-DincludeScope=runtime \
-DoutputDirectory=target/dist-libs
cp "$(ls -t target/praktiKST-*.jar | head -n 1)" target/dist-libs/app.jar
mkdir -p dist
jpackage \
--type app-image \
--name KST4Contest \
--input target/dist-libs \
--main-jar app.jar \
--main-class kst4contest.view.Kst4ContestApplication \
--module-path target/dist-libs \
--add-modules javafx.controls,javafx.graphics,javafx.fxml,javafx.web,javafx.media,java.sql,java.net.http,jdk.crypto.ec \
--dest dist
}
package() {
cd "${srcdir}/kst4contest-${pkgver}"
install -dm755 "${pkgdir}/usr/lib/KST4Contest"
cp -a dist/KST4Contest/. "${pkgdir}/usr/lib/KST4Contest/"
install -dm755 "${pkgdir}/usr/bin"
printf '#!/bin/sh\nexec /usr/lib/KST4Contest/bin/KST4Contest "$@"\n' \
> "${pkgdir}/usr/bin/KST4Contest"
chmod 755 "${pkgdir}/usr/bin/KST4Contest"
install -dm755 "${pkgdir}/usr/share/applications"
cat > "${pkgdir}/usr/share/applications/KST4Contest.desktop" << 'EOF'
[Desktop Entry]
Type=Application
Name=KST4Contest
Comment=ON4KST Chat Client for VHF/UHF contest operation
Exec=KST4Contest
Icon=KST4Contest
Categories=Network;HamRadio;
Terminal=false
EOF
if [[ -f "${pkgdir}/usr/lib/KST4Contest/lib/KST4Contest.png" ]]; then
install -Dm644 "${pkgdir}/usr/lib/KST4Contest/lib/KST4Contest.png" \
"${pkgdir}/usr/share/icons/hicolor/256x256/apps/KST4Contest.png"
fi
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="About KST4Contest and its contest-oriented ON4KST workflow.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Contact options for KST4Contest.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Download KST4Contest releases for Windows, Linux and macOS.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Frequently asked questions about KST4Contest, ON4KST contest operation, AirScout integration and VHF/UHF/SHF contest workflow.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="AirScout information helps operators evaluate AP windows, aircraft scatter timing and candidate stations during VHF/UHF/SHF contests.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Dual category support gives contest operators better overview when working across multiple ON4KST chat rooms.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest includes DXCluster functionality to support situational awareness during contest operation.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Contest-optimized ON4KST features for VHF, UHF and SHF operation.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Log synchronization helps KST4Contest understand worked stations, active bands and contest context.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Macros reduce repetitive typing and help operators respond quickly during active ON4KST contest sessions.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest ranks stations by activity, direction, sked context, band information, QRG hints and operator workflow signals.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest keeps skeds in focus while the operator handles chat traffic, logging, bands and aircraft scatter timing.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="The timeline view helps operators understand short propagation windows and candidate timing during active contest operation.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+8
View File
@@ -7,6 +7,14 @@
<language>en</language>
<item>
<title>AUR Packages now live of kst4contest</title>
<link>https://kst4contest.hamradioonline.de/news/2026-07-15-AUR-Packages/</link>
<guid>https://kst4contest.hamradioonline.de/news/2026-07-15-AUR-Packages/</guid>
<pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate>
<description>We now uploaded the packages of kst4contest to the AUR</description>
</item>
<item>
<title>Hotfix Version 1.41.1</title>
<link>https://kst4contest.hamradioonline.de/news/2026-07-08-hotfix-version-1-41-1/</link>
+2 -2
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest is a modern ON4KST chat client built for VHF, UHF and SHF contest operation.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -289,7 +289,7 @@
</footer>
<script src="/assets/js/hero-radio-fx.js?v=1783895496916" defer></script>
<script src="/assets/js/hero-radio-fx.js?v=1784070772430" defer></script>
</body>
</html>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Legal notice for the KST4Contest website.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Deutsches Benutzerhandbuch für KST4Contest.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -126,6 +126,11 @@
<td>Arch Linux, Manjaro, …</td>
</tr>
<tr>
<td>AUR</td>
<td><code>kst4contest-bin</code> / <code>kst4contest</code> / <code>kst4contest-git</code></td>
<td>Arch Linux, Manjaro, EndeavourOS, …</td>
</tr>
<tr>
<td>Flatpak</td>
<td><code>de.x08.KST4Contest.flatpakref</code></td>
<td>Alle Distributionen mit Flatpak</td>
@@ -167,6 +172,15 @@
<pre><code class="language-bash">sudo dnf install ./KST4Contest-v&lt;Version&gt;-fedora-x86_64.rpm
</code></pre>
<h4 id="arch-linux" tabindex="-1"><a class="header-anchor" href="#arch-linux">Arch Linux</a></h4>
<p><strong>Über den AUR (empfohlen)</strong> — Updates laufen automatisch mit dem System:</p>
<pre><code class="language-bash">yay -S kst4contest-bin # vorgefertigtes Binary, schnellste Installation
# oder
yay -S kst4contest # aus dem Quellcode bauen
# oder
yay -S kst4contest-git # immer aktueller git-Stand (1.42+)
</code></pre>
<p>Jeder AUR-Helper funktioniert (<code>paru</code>, <code>trizen</code> usw.). <code>kst4contest-bin</code> ist die einfachste Option — es installiert dasselbe vorgefertigte Binary wie der Release-Download.</p>
<p>Oder das Release-Paket manuell installieren:</p>
<pre><code class="language-bash">sudo pacman -U KST4Contest-v&lt;Version&gt;-archlinux-x86_64.pkg.tar.zst
</code></pre>
<h4 id="flatpak" tabindex="-1"><a class="header-anchor" href="#flatpak">Flatpak</a></h4>
@@ -261,7 +275,8 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
<li><strong>AppImage</strong>: Neues AppImage herunterladen, ausführbar machen (<code>chmod +x</code>), altes optional löschen.</li>
<li><strong>Debian/Ubuntu</strong>: <code>sudo apt install ./KST4Contest-v&lt;Version&gt;-debian-amd64.deb</code></li>
<li><strong>Fedora/RHEL</strong>: <code>sudo dnf upgrade ./KST4Contest-v&lt;Version&gt;-fedora-x86_64.rpm</code></li>
<li><strong>Arch Linux</strong>: <code>sudo pacman -U KST4Contest-v&lt;Version&gt;-archlinux-x86_64.pkg.tar.zst</code></li>
<li><strong>Arch Linux (AUR)</strong>: <code>yay -S kst4contest-bin</code></li>
<li><strong>Arch Linux (manuell)</strong>: <code>sudo pacman -U KST4Contest-v&lt;Version&gt;-archlinux-x86_64.pkg.tar.zst</code></li>
<li><strong>Flatpak (Repository)</strong>: <code>flatpak update</code> aktualisiert alle Flatpak-Apps einschließlich KST4Contest.</li>
</ul>
<h4 id="macos-2" tabindex="-1"><a class="header-anchor" href="#macos-2">macOS</a></h4>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="English user manual for KST4Contest.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -126,6 +126,11 @@
<td>Arch Linux, Manjaro, …</td>
</tr>
<tr>
<td>AUR</td>
<td><code>kst4contest-bin</code> / <code>kst4contest</code> / <code>kst4contest-git</code></td>
<td>Arch Linux, Manjaro, EndeavourOS, …</td>
</tr>
<tr>
<td>Flatpak</td>
<td><code>de.x08.KST4Contest.flatpakref</code></td>
<td>All distributions with Flatpak</td>
@@ -167,6 +172,15 @@
<pre><code class="language-bash">sudo dnf install ./KST4Contest-v&lt;version&gt;-fedora-x86_64.rpm
</code></pre>
<h4 id="arch-linux" tabindex="-1"><a class="header-anchor" href="#arch-linux">Arch Linux</a></h4>
<p><strong>Via AUR (recommended)</strong> — updates automatically with your system:</p>
<pre><code class="language-bash">yay -S kst4contest-bin # pre-built binary, fastest install
# or
yay -S kst4contest # build from source
# or
yay -S kst4contest-git # always latest git HEAD (1.42+)
</code></pre>
<p>Any AUR helper works (<code>paru</code>, <code>trizen</code>, etc.). <code>kst4contest-bin</code> is the easiest option since it installs the same pre-built binary as the release download.</p>
<p>Or install the release package manually:</p>
<pre><code class="language-bash">sudo pacman -U KST4Contest-v&lt;version&gt;-archlinux-x86_64.pkg.tar.zst
</code></pre>
<h4 id="flatpak" tabindex="-1"><a class="header-anchor" href="#flatpak">Flatpak</a></h4>
@@ -261,7 +275,8 @@ flatpak install kst4contest de.x08.KST4Contest//nightly
<li><strong>AppImage</strong>: Download the new AppImage, make it executable (<code>chmod +x</code>), optionally delete the old one.</li>
<li><strong>Debian/Ubuntu</strong>: <code>sudo apt install ./KST4Contest-v&lt;version&gt;-debian-amd64.deb</code></li>
<li><strong>Fedora/RHEL</strong>: <code>sudo dnf upgrade ./KST4Contest-v&lt;version&gt;-fedora-x86_64.rpm</code></li>
<li><strong>Arch Linux</strong>: <code>sudo pacman -U KST4Contest-v&lt;version&gt;-archlinux-x86_64.pkg.tar.zst</code></li>
<li><strong>Arch Linux (AUR)</strong>: <code>yay -S kst4contest-bin</code></li>
<li><strong>Arch Linux (manual)</strong>: <code>sudo pacman -U KST4Contest-v&lt;version&gt;-archlinux-x86_64.pkg.tar.zst</code></li>
<li><strong>Flatpak (repository)</strong>: <code>flatpak update</code> updates all Flatpak apps including KST4Contest.</li>
</ul>
<h4 id="macos-2" tabindex="-1"><a class="header-anchor" href="#macos-2">macOS</a></h4>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="KST4Contest manual page: {{ manual.title }}">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Online manual for KST4Contest, the contest-optimized ON4KST chat client.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -0,0 +1,120 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>AUR Packages now live of kst4contest</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="theme-color" content="#08110b">
<meta name="description" content="KST4Contest is a contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<link rel="canonical" href="https://kst4contest.hamradioonline.de/news/2026-07-15-AUR-Packages/">
<meta property="og:type" content="website">
<meta property="og:title" content="AUR Packages now live of kst4contest">
<meta property="og:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<meta property="og:url" content="https://kst4contest.hamradioonline.de/news/2026-07-15-AUR-Packages/">
<meta property="og:site_name" content="KST4Contest">
<meta property="og:locale" content="en_GB">
<meta property="og:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="AUR Packages now live of kst4contest">
<meta name="twitter:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
<body>
<div class="site-bg" aria-hidden="true"></div>
<header class="site-header">
<a class="brand" href="/" aria-label="KST4Contest home">
<span class="brand-mark" aria-hidden="true"></span>
<span>
<strong>KST4Contest</strong>
<small>ON4KST Contest Client</small>
</span>
</a>
<nav class="site-nav" aria-label="Main navigation">
<a href="/">Home</a>
<a href="/features/">Features</a>
<a href="/screenshots/">Screenshots</a>
<a href="/manual/">Manual</a>
<a href="/news/">News</a>
<a href="/roadmap/">Roadmap</a>
<a href="/about/">About</a>
<a href="/faq/">FAQ</a>
<a href="/support/">Support</a>
<a class="nav-cta" href="/download/">Download</a>
</nav>
</header>
<main>
<section class="hero">
<p class="badge">News · July 15, 2026</p>
<h1>AUR Packages now live of kst4contest</h1>
<p class="lead">We now uploaded the packages of kst4contest to the AUR</p>
</section>
<section class="section narrow">
<article class="card content-card">
<h2>AUR Packages now live of KST4Contest</h2>
<p>We now have uploaded kst4contest as multiple Arch User Repository Packages. This allows yet another integration into Package Managers for easier updating toall Archlinux Users of our software. This one of many more repositories for our linux users to come. It is an continous effort. You can see the progress of making updating KST4Contest for our users easier <a href="https://github.com/praktimarc/kst4contest/issues/61">here</a>.</p>
<h3>AUR DISCLAIMER</h3>
<p>Before you use the AUR (if you did not use the AUR before) please read <a href="https://wiki.archlinux.org/title/Arch_User_Repository">this entry in the Arch wiki and the disclaimer</a> about security in the AUR.</p>
<h3>Packages provided to the AUR:</h3>
<ul>
<li><a href="https://aur.archlinux.org/packages/kst4contest">kst4contest</a>: This is the latest Release Build. If you install this package, you will compile the source code on your own machine. We recommend an JDK21 Enviroment for doing this</li>
<li><a href="https://aur.archlinux.org/packages/kst4contest-bin">kst4contest-bin</a>: This is the precompiled Binary, which is the same as the binary on the Github release page.</li>
<li><a href="https://aur.archlinux.org/packages/kst4contest-git">kstcontest-git</a>: This is the latest devolopment state of kst4contest. This is recommend for testers only, as things might break.</li>
</ul>
<p>Have fun with these packages. 73</p>
</article>
</section></main>
<footer class="site-footer">
<div class="footer-grid">
<div>
<strong>KST4Contest</strong>
<p>Contest-optimized ON4KST workflow for VHF/UHF/SHF operators.</p>
</div>
<div>
<strong>Project</strong>
<p><a href="/features/">Features</a></p>
<p><a href="/download/">Download</a></p>
<p><a href="/manual/">Manual</a></p>
<p><a href="/roadmap/">Roadmap</a></p>
</div>
<div>
<strong>Community</strong>
<p><a href="https://github.com/praktimarc/kst4contest">GitHub Repository</a></p>
<p><a href="https://github.com/praktimarc/kst4contest/issues">Issues</a></p>
<p><a href="/contact/">Contact</a></p>
<p><a href="/support/">❤️ Support KST4Contest</a></p>
</div>
<div>
<strong>Legal</strong>
<p><a href="/legal-notice/">Legal Notice</a></p>
<p><a href="/privacy/">Privacy Policy</a></p>
</div>
</div>
</footer>
</body>
</html>
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Contest-optimized ON4KST chat client for VHF, UHF and SHF ham radio contests.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+8 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="News, release updates and development notes for KST4Contest.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -75,6 +75,13 @@
<section class="section">
<div class="grid">
<article class="card">
<p class="eyebrow">July 15, 2026</p>
<h3><a href="/news/2026-07-15-AUR-Packages/">AUR Packages now live of kst4contest</a></h3>
<p>We now uploaded the packages of kst4contest to the AUR</p>
<a href="/news/2026-07-15-AUR-Packages/">Read more →</a>
</article>
<article class="card">
<p class="eyebrow">July 8, 2026</p>
<h3><a href="/news/2026-07-08-hotfix-version-1-41-1/">Hotfix Version 1.41.1</a></h3>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Privacy policy for the KST4Contest website.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+13 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Planned enhancements for upcoming KST4Contest versions, generated from GitHub milestones and issues.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -109,6 +109,10 @@
<ul>
<li>
<a href="https://github.com/praktimarc/kst4contest/issues/64">[FEATURE] Online Indicator</a>
</li>
<li>
<a href="https://github.com/praktimarc/kst4contest/issues/57">[FEATURE] User Config</a>
</li>
@@ -149,6 +153,14 @@
<ul>
<li>
<a href="https://github.com/praktimarc/kst4contest/issues/62">Organizational enhacement: Test coverage for all features</a>
</li>
<li>
<a href="https://github.com/praktimarc/kst4contest/issues/61">Organizational enhancement: Updating</a>
</li>
<li>
<a href="https://github.com/praktimarc/kst4contest/issues/59">[FEATURE] window control</a>
</li>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Screenshots of KST4Contest, the contest-optimized ON4KST chat client for VHF, UHF and SHF operators.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
+27 -23
View File
@@ -10,94 +10,98 @@
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/about/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/contact/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/download/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/faq/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/airscout/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/dual-chat/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/dx-cluster/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/log-sync/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/macros/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/priority-score/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/sked-reminder/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/features/timeline/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/legal-notice/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/manual/de/airscout-integration/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/manual/de/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/manual/en/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/manual/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/privacy/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/roadmap/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/screenshots/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/support/</loc>
<lastmod>2026-07-12</lastmod>
<lastmod>2026-07-14</lastmod>
</url>
<url>
<loc>https://kst4contest.hamradioonline.de/news/2026-07-15-AUR-Packages/</loc>
<lastmod>2026-07-15</lastmod>
</url>
</urlset>
+1 -1
View File
@@ -23,7 +23,7 @@
<meta name="twitter:description" content="Help support the ongoing development of KST4Contest.">
<meta name="twitter:image" content="https://kst4contest.hamradioonline.de/assets/social/kst4contest-og.png">
<link rel="stylesheet" href="/assets/css/main.css?v=1783895496916">
<link rel="stylesheet" href="/assets/css/main.css?v=1784070772430">
<link rel="alternate" type="application/rss+xml" title="KST4Contest News" href="/feed.xml">
</head>
@@ -0,0 +1,19 @@
---
title: AUR Packages now live of kst4contest
summary: We now uploaded the packages of kst4contest to the AUR
date: 2026-07-15
---
## AUR Packages now live of KST4Contest
We now have uploaded kst4contest as multiple Arch User Repository Packages. This allows yet another integration into Package Managers for easier updating toall Archlinux Users of our software. This one of many more repositories for our linux users to come. It is an continous effort. You can see the progress of making updating KST4Contest for our users easier [here](https://github.com/praktimarc/kst4contest/issues/61).
### AUR DISCLAIMER
Before you use the AUR (if you did not use the AUR before) please read [this entry in the Arch wiki and the disclaimer](https://wiki.archlinux.org/title/Arch_User_Repository) about security in the AUR.
### Packages provided to the AUR:
- [kst4contest](https://aur.archlinux.org/packages/kst4contest): This is the latest Release Build. If you install this package, you will compile the source code on your own machine. We recommend an JDK21 Enviroment for doing this
- [kst4contest-bin](https://aur.archlinux.org/packages/kst4contest-bin): This is the precompiled Binary, which is the same as the binary on the Github release page.
- [kstcontest-git](https://aur.archlinux.org/packages/kst4contest-git): This is the latest devolopment state of kst4contest. This is recommend for testers only, as things might break.
Have fun with these packages. 73