Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
23 changes: 23 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Language: EN | [简中](README.zh-CN.md)
<p align="center">
<img src="https://img.shields.io/badge/macOS%20%7C%20Windows%20%7C%20Linux-111827?style=for-the-badge" alt="macOS Windows Linux" />
<img src="https://img.shields.io/badge/open%20source-MIT-2563eb?style=for-the-badge" alt="MIT license" />
<a href="https://aur.archlinux.org/packages/recordly-bin"><img src="https://img.shields.io/aur/version/recordly-bin?label=AUR&style=for-the-badge" alt="AUR recordly-bin" /></a>
</p>

### Create polished, pro-grade screen recordings.
Expand Down Expand Up @@ -132,6 +133,28 @@ 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.

**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).

---

## Build from source

```bash
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
"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",
"test:watch": "vitest"
Expand Down
17 changes: 17 additions & 0 deletions packaging/arch/.SRCINFO
Original file line number Diff line number Diff line change
@@ -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
12 changes: 12 additions & 0 deletions packaging/arch/LICENSE
Original file line number Diff line number Diff line change
@@ -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.
49 changes: 49 additions & 0 deletions packaging/arch/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Maintainer: firtoz <aur at firtoz dot com>
# 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
}
44 changes: 44 additions & 0 deletions packaging/arch/PKGBUILD.from-source
Original file line number Diff line number Diff line change
@@ -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
}
47 changes: 47 additions & 0 deletions packaging/arch/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 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 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

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.
9 changes: 9 additions & 0 deletions packaging/arch/recordly-local.desktop
Original file line number Diff line number Diff line change
@@ -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
9 changes: 9 additions & 0 deletions packaging/arch/recordly.desktop
Original file line number Diff line number Diff line change
@@ -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