From 7939f156a3da93b23410d7b11ff4f460654c6ffa Mon Sep 17 00:00:00 2001 From: firtoz <108406948+firtoz@users.noreply.github.com> Date: Wed, 18 Mar 2026 13:27:15 +0000 Subject: [PATCH 1/2] feat(arch): add Arch Linux / AUR packaging and recordly-aur helper link - packaging/arch: PKGBUILD for recordly-bin (prebuilt AppImage) with maintainer, upstream MIT license source and install to /usr/share/licenses/recordly-bin, pinned AppImage and LICENSE sha256sums. - recordly.desktop: Icon=dev.recordly.app, empty MimeType= removed. - Add PKGBUILD.from-source and recordly-local.desktop for recordly-bin-local (build-from-source install alongside release). - packaging/arch/README: canonical packaging, install and AUR instructions, link to recordly-aur helper repo for release-triggered AUR updates. - Main README: Arch section with yay/makepkg install and note that AUR publishing is handled by the recordly-aur helper repo. - package.json: package:arch script (makepkg -si from packaging/arch). - .gitignore: makepkg and packaging artifacts. Made-with: Cursor --- .gitignore | 7 ++++ README.md | 21 ++++++++++++ package.json | 1 + packaging/arch/.SRCINFO | 17 ++++++++++ packaging/arch/LICENSE | 12 +++++++ packaging/arch/PKGBUILD | 49 +++++++++++++++++++++++++++ packaging/arch/PKGBUILD.from-source | 44 ++++++++++++++++++++++++ packaging/arch/README.md | 31 +++++++++++++++++ packaging/arch/recordly-local.desktop | 9 +++++ packaging/arch/recordly.desktop | 9 +++++ 10 files changed, 200 insertions(+) create mode 100644 packaging/arch/.SRCINFO create mode 100644 packaging/arch/LICENSE create mode 100644 packaging/arch/PKGBUILD create mode 100644 packaging/arch/PKGBUILD.from-source create mode 100644 packaging/arch/README.md create mode 100644 packaging/arch/recordly-local.desktop create mode 100644 packaging/arch/recordly.desktop diff --git a/.gitignore b/.gitignore index 82f2650..1aeebc3 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,10 @@ release/** # Native capture build artifacts electron/native/wgc-capture/build/ electron/native/cursor-monitor/build/ + +# Arch packaging (makepkg) +packaging/arch/src/ +packaging/arch/pkg/ +packaging/arch/*.pkg.tar.zst +packaging/arch/*.pkg.tar.xz +packaging/arch/*.AppImage diff --git a/README.md b/README.md index 1ec1873..8ea5f35 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Language: EN | [简中](README.zh-CN.md)

macOS Windows Linux MIT license + AUR recordly-bin

### Create polished, pro-grade screen recordings. @@ -132,6 +133,26 @@ https://github.com/webadderall/Recordly/releases --- +## Arch Linux / Manjaro (yay) + +From the AUR: + +```bash +yay -S recordly-bin +``` + +Or build and install from this repo: + +```bash +git clone https://github.com/webadderall/Recordly.git && cd Recordly/packaging/arch && makepkg -si +``` + +From the repo root you can run `npm run package:arch` instead. + +The same PKGBUILD lives in this repo under `packaging/arch/`. AUR publishing and release-triggered updates are handled by the [recordly-aur](https://github.com/firtoz/recordly-aur) helper repo. For AUR-specific issues or the current maintainer, see the [recordly-bin AUR page](https://aur.archlinux.org/packages/recordly-bin). + +--- + ## Build from source ```bash diff --git a/package.json b/package.json index a00e9fc..9bca8fb 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "build:mac": "npm run build:platform-native-helpers && tsc && vite build && electron-builder --mac", "build:win": "npm run build:platform-native-helpers && tsc && vite build && electron-builder --win", "build:linux": "npm run build:platform-native-helpers && tsc && vite build && electron-builder --linux", + "package:arch": "cd packaging/arch && makepkg -si", "i18n:check": "node scripts/i18n-check.mjs", "test": "vitest --run", "test:watch": "vitest" diff --git a/packaging/arch/.SRCINFO b/packaging/arch/.SRCINFO new file mode 100644 index 0000000..0aa4ac5 --- /dev/null +++ b/packaging/arch/.SRCINFO @@ -0,0 +1,17 @@ +pkgbase = recordly-bin + pkgdesc = Open-source screen recorder and editor with auto-zoom, cursor effects, and polished video export + pkgver = 1.0.9 + pkgrel = 1 + url = https://github.com/webadderall/Recordly + arch = x86_64 + license = MIT + depends = fuse2 + options = !strip + source = https://github.com/webadderall/Recordly/releases/download/v1.0.9/Recordly-linux-x64.AppImage + source = recordly.desktop + source = https://raw.githubusercontent.com/webadderall/Recordly/main/LICENSE + sha256sums = 09ec420d9101d2e256eb3539fe7688fe6bdd60c47c313b53b9d7e5198cddd0f5 + sha256sums = SKIP + sha256sums = ebd7d285818a531c49145a2e429b2cfc6dad9f3292263cf33aedfb0b23ebdac9 + +pkgname = recordly-bin diff --git a/packaging/arch/LICENSE b/packaging/arch/LICENSE new file mode 100644 index 0000000..9535dc5 --- /dev/null +++ b/packaging/arch/LICENSE @@ -0,0 +1,12 @@ +Copyright (C) 2025 by the AUR package maintainer(s). + +Permission to use, copy, modify, and/or distribute this packaging (PKGBUILD and +associated files) for any purpose with or without fee is hereby granted. + +THE PACKAGING IS PROVIDED "AS IS" AND THE AUTHOR(S) DISCLAIM ALL WARRANTIES +WITH REGARD TO THIS PACKAGING INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION +OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN +CONNECTION WITH THE USE OR PERFORMANCE OF THIS PACKAGING. diff --git a/packaging/arch/PKGBUILD b/packaging/arch/PKGBUILD new file mode 100644 index 0000000..294631d --- /dev/null +++ b/packaging/arch/PKGBUILD @@ -0,0 +1,49 @@ +# Maintainer: firtoz +# Upstream: https://github.com/webadderall/Recordly + +pkgname=recordly-bin +pkgver=1.0.9 +pkgrel=1 +pkgdesc="Open-source screen recorder and editor with auto-zoom, cursor effects, and polished video export" +arch=(x86_64) +url="https://github.com/webadderall/Recordly" +license=(MIT) +depends=(fuse2) +source=( + "https://github.com/webadderall/Recordly/releases/download/v${pkgver}/Recordly-linux-x64.AppImage" + "recordly.desktop" + "https://raw.githubusercontent.com/webadderall/Recordly/main/LICENSE" +) +sha256sums=( + '09ec420d9101d2e256eb3539fe7688fe6bdd60c47c313b53b9d7e5198cddd0f5' # AppImage v${pkgver} + 'SKIP' + 'ebd7d285818a531c49145a2e429b2cfc6dad9f3292263cf33aedfb0b23ebdac9' # Upstream MIT LICENSE +) +options=(!strip) + +package() { + install -d "$pkgdir/opt/recordly" + install -Dm755 "$srcdir/Recordly-linux-x64.AppImage" "$pkgdir/opt/recordly/Recordly.AppImage" + + install -d "$pkgdir/usr/bin" + cat > "$pkgdir/usr/bin/recordly" << 'EOF' +#!/bin/sh +exec /opt/recordly/Recordly.AppImage "$@" +EOF + chmod 755 "$pkgdir/usr/bin/recordly" + + install -Dm644 "$srcdir/recordly.desktop" "$pkgdir/usr/share/applications/dev.recordly.app.desktop" + install -Dm644 "$srcdir/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + # Extract icons from AppImage so Icon=dev.recordly.app in the .desktop resolves + cd "$srcdir" + chmod +x Recordly-linux-x64.AppImage + ./Recordly-linux-x64.AppImage --appimage-extract + for size in 16 24 32 48 64 128 256 512 1024; do + src="squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/recordly.png" + if [ -f "$src" ]; then + install -Dm644 "$src" "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/dev.recordly.app.png" + fi + done + rm -rf squashfs-root +} diff --git a/packaging/arch/PKGBUILD.from-source b/packaging/arch/PKGBUILD.from-source new file mode 100644 index 0000000..46595f4 --- /dev/null +++ b/packaging/arch/PKGBUILD.from-source @@ -0,0 +1,44 @@ +# Build-from-source: npm run build:linux && npm run package:arch copies release/Recordly.AppImage here as Recordly-linux-x64.AppImage, then makepkg -p PKGBUILD.from-source -si +# Installs as recordly-bin-local (separate from recordly-bin) so both can coexist. +pkgname=recordly-bin-local +pkgver=1.0.0 +pkgrel=1 +pkgdesc="Recordly screen recorder (local build from source)" +arch=(x86_64) +url="https://github.com/webadderall/Recordly" +license=(MIT) +depends=(fuse2) +source=( + "Recordly-linux-x64.AppImage" + "recordly-local.desktop" +) +sha256sums=( + SKIP + SKIP +) +options=(!strip) + +package() { + install -d "$pkgdir/opt/recordly-local" + install -Dm755 "$srcdir/Recordly-linux-x64.AppImage" "$pkgdir/opt/recordly-local/Recordly.AppImage" + + install -d "$pkgdir/usr/bin" + cat > "$pkgdir/usr/bin/recordly-local" << 'EOF' +#!/bin/sh +exec /opt/recordly-local/Recordly.AppImage "$@" +EOF + chmod 755 "$pkgdir/usr/bin/recordly-local" + + install -Dm644 "$srcdir/recordly-local.desktop" "$pkgdir/usr/share/applications/dev.recordly.app.local.desktop" + + cd "$srcdir" + chmod +x Recordly-linux-x64.AppImage + ./Recordly-linux-x64.AppImage --appimage-extract + for size in 16 24 32 48 64 128 256 512 1024; do + src="squashfs-root/usr/share/icons/hicolor/${size}x${size}/apps/recordly.png" + if [ -f "$src" ]; then + install -Dm644 "$src" "$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/dev.recordly.app.local.png" + fi + done + rm -rf squashfs-root +} diff --git a/packaging/arch/README.md b/packaging/arch/README.md new file mode 100644 index 0000000..4c8085a --- /dev/null +++ b/packaging/arch/README.md @@ -0,0 +1,31 @@ +# Arch Linux / AUR packaging for Recordly + +This directory is the **canonical** source for Arch packaging. It contains the PKGBUILD and helper files for installing Recordly on Arch Linux and Manjaro (via the AUR or locally with `makepkg`). Upstream keeps these files in sync with release behaviour (AppImage name, desktop entries, icon paths). AUR publishing and automation (e.g. pushing to `aur.archlinux.org`) are handled externally by the AUR maintainer; see the [AUR package page](https://aur.archlinux.org/packages/recordly-bin) and the [recordly-aur](https://github.com/firtoz/recordly-aur) helper repo. + +For issues or update requests about the **recordly-bin** AUR package, see the [AUR package page](https://aur.archlinux.org/packages/recordly-bin) for the current maintainer. + +## Build and install from this repo + +```bash +cd packaging/arch +makepkg -si +``` + +From the repo root you can run `npm run package:arch` instead. + +**Local build** (install as `recordly-bin-local` / “Recordly (Local)” alongside the release): from the repo root run `npm run install:linux`. Uses `PKGBUILD.from-source` and `recordly-local.desktop`. + +## Updating the package + +When a new release is published on [GitHub Releases](https://github.com/webadderall/Recordly/releases): + +1. Set `pkgver` in `PKGBUILD` to the new version (e.g. `1.0.10`). Release tags use the form `vX.Y.Z`. +2. If you changed `PKGBUILD` metadata, regenerate `.SRCINFO`: + ```bash + makepkg --printsrcinfo > .SRCINFO + ``` +3. For the AUR: commit and push your changes to the `recordly-bin` AUR package repo (branch `master`). + +## Submitting to the AUR + +See the main repo [README](../../README.md) “Arch Linux / Manjaro (yay)” section and the [AUR submission guidelines](https://wiki.archlinux.org/title/AUR_submission_guidelines). Copy `PKGBUILD`, `.SRCINFO`, `LICENSE`, and `recordly.desktop` into your AUR clone and push to the `master` branch. diff --git a/packaging/arch/recordly-local.desktop b/packaging/arch/recordly-local.desktop new file mode 100644 index 0000000..fda58a2 --- /dev/null +++ b/packaging/arch/recordly-local.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Recordly (Local) +Comment=Screen recorder and editor with auto-zoom and cursor effects (build from source) +Exec=recordly-local %U +Icon=dev.recordly.app.local +Terminal=false +Type=Application +Categories=AudioVideo;Video; +StartupWMClass=Recordly diff --git a/packaging/arch/recordly.desktop b/packaging/arch/recordly.desktop new file mode 100644 index 0000000..867df9a --- /dev/null +++ b/packaging/arch/recordly.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Recordly +Comment=Screen recorder and editor with auto-zoom and cursor effects +Exec=/opt/recordly/Recordly.AppImage %U +Icon=dev.recordly.app +Terminal=false +Type=Application +Categories=AudioVideo;Video; +StartupWMClass=Recordly From d41dc4fe480ffa87c32512b6ab4900248b8d3120 Mon Sep 17 00:00:00 2001 From: firtoz <108406948+firtoz@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:23:28 +0000 Subject: [PATCH 2/2] feat(arch): add install script for local build and update documentation - package.json: added `install:linux` script for building and installing the local version of Recordly. - README.md: updated to include instructions for local builds from source. - packaging/arch/README.md: enhanced local build section with detailed steps for installation and usage of the local package. --- README.md | 2 ++ package.json | 1 + packaging/arch/README.md | 20 ++++++++++++++++++-- 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8ea5f35..125afce 100644 --- a/README.md +++ b/README.md @@ -149,6 +149,8 @@ git clone https://github.com/webadderall/Recordly.git && cd Recordly/packaging/a From the repo root you can run `npm run package:arch` instead. +**Local build from source** (installs as `recordly-bin-local` / “Recordly (Local)” alongside the AUR package): from the repo root run `npm run install:linux`. This builds the Linux AppImage, copies it to `packaging/arch/`, and runs `makepkg -p PKGBUILD.from-source -si` so you get a system package without downloading the release binary. + The same PKGBUILD lives in this repo under `packaging/arch/`. AUR publishing and release-triggered updates are handled by the [recordly-aur](https://github.com/firtoz/recordly-aur) helper repo. For AUR-specific issues or the current maintainer, see the [recordly-bin AUR page](https://aur.archlinux.org/packages/recordly-bin). --- diff --git a/package.json b/package.json index 9bca8fb..e25ec48 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "build:mac": "npm run build:platform-native-helpers && tsc && vite build && electron-builder --mac", "build:win": "npm run build:platform-native-helpers && tsc && vite build && electron-builder --win", "build:linux": "npm run build:platform-native-helpers && tsc && vite build && electron-builder --linux", + "install:linux": "npm run build:linux && cp release/Recordly.AppImage packaging/arch/Recordly-linux-x64.AppImage && (cd packaging/arch && makepkg -p PKGBUILD.from-source -si)", "package:arch": "cd packaging/arch && makepkg -si", "i18n:check": "node scripts/i18n-check.mjs", "test": "vitest --run", diff --git a/packaging/arch/README.md b/packaging/arch/README.md index 4c8085a..eb5a3cb 100644 --- a/packaging/arch/README.md +++ b/packaging/arch/README.md @@ -13,7 +13,23 @@ makepkg -si From the repo root you can run `npm run package:arch` instead. -**Local build** (install as `recordly-bin-local` / “Recordly (Local)” alongside the release): from the repo root run `npm run install:linux`. Uses `PKGBUILD.from-source` and `recordly-local.desktop`. +## Local build from source + +To install a **local build** as `recordly-bin-local` (shows as "Recordly (Local)" in the app menu, alongside the release package): + +From the **repo root**: + +```bash +npm run install:linux +``` + +This will: + +1. Run `npm run build:linux` (build the Linux AppImage). +2. Copy `release/Recordly.AppImage` to `packaging/arch/Recordly-linux-x64.AppImage`. +3. Run `makepkg -p PKGBUILD.from-source -si` to build and install the `recordly-bin-local` package. + +You end up with `recordly-local` on your PATH and a "Recordly (Local)" desktop entry. Uses `PKGBUILD.from-source` and `recordly-local.desktop`. ## Updating the package @@ -28,4 +44,4 @@ When a new release is published on [GitHub Releases](https://github.com/webadder ## Submitting to the AUR -See the main repo [README](../../README.md) “Arch Linux / Manjaro (yay)” section and the [AUR submission guidelines](https://wiki.archlinux.org/title/AUR_submission_guidelines). Copy `PKGBUILD`, `.SRCINFO`, `LICENSE`, and `recordly.desktop` into your AUR clone and push to the `master` branch. +See the main repo [README](../../README.md) "Arch Linux / Manjaro (yay)" section and the [AUR submission guidelines](https://wiki.archlinux.org/title/AUR_submission_guidelines). Copy `PKGBUILD`, `.SRCINFO`, `LICENSE`, and `recordly.desktop` into your AUR clone and push to the `master` branch.