Update to version 0.6.0

This commit is contained in:
GitHub Actions 2025-12-21 19:24:41 +00:00
parent 1666b2f46c
commit e02343ceaf
4 changed files with 92 additions and 21 deletions

View file

@ -1,22 +1,28 @@
pkgbase = crossmacro
pkgdesc = Mouse Macro Automation Tool for Linux Wayland
pkgver = 0.5.2
pkgdesc = Cross-platform mouse and keyboard macro automation tool
pkgver = 0.6.0
pkgrel = 1
url = https://github.com/alper-han/CrossMacro
install = crossmacro.install
arch = x86_64
license = GPL-3.0
makedepends = dotnet-sdk>=10.0
makedepends = git
makedepends = clang
makedepends = zlib
depends = glibc
depends = gcc-libs
depends = zlib
depends = openssl
depends = icu
depends = krb5
depends = fontconfig
depends = libx11
depends = libxcursor
depends = libxrandr
depends = polkit
options = !strip
source = crossmacro-0.5.2.tar.gz::https://github.com/alper-han/CrossMacro/archive/v0.5.2.tar.gz
sha256sums = 1c3e91648c92670f330c5f76692c7e0e125650b242e880b3c9eee00eac4a29fd
source = crossmacro-0.6.0.tar.gz::https://github.com/alper-han/CrossMacro/archive/v0.6.0.tar.gz
source = crossmacro.sysusers
sha256sums = 0a6269aa1322cea50b9a516d270555d22a6c93f34441c317f3e361dc281b9716
sha256sums = SKIP
pkgname = crossmacro

View file

@ -1,48 +1,85 @@
# Maintainer: Zynix <crossmacro@zynix.net>
pkgname=crossmacro
pkgver=0.5.2
pkgver=0.6.0
pkgrel=1
pkgdesc="Mouse Macro Automation Tool for Linux Wayland"
pkgdesc="Cross-platform mouse and keyboard macro automation tool"
arch=('x86_64')
url="https://github.com/alper-han/CrossMacro"
license=('GPL-3.0')
depends=('zlib' 'openssl' 'icu' 'krb5' 'fontconfig' 'libx11' 'libxcursor' 'libxrandr')
makedepends=('dotnet-sdk>=10.0' 'git')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/alper-han/CrossMacro/archive/v${pkgver}.tar.gz")
sha256sums=('1c3e91648c92670f330c5f76692c7e0e125650b242e880b3c9eee00eac4a29fd')
depends=('glibc' 'gcc-libs' 'zlib' 'openssl' 'fontconfig' 'libx11' 'libxcursor' 'libxrandr' 'polkit')
makedepends=('dotnet-sdk>=10.0' 'git' 'clang' 'zlib')
options=('!strip')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/alper-han/CrossMacro/archive/v${pkgver}.tar.gz"
"crossmacro.sysusers")
sha256sums=('0a6269aa1322cea50b9a516d270555d22a6c93f34441c317f3e361dc281b9716'
'SKIP') # sysusers file checksum (local file)
install=crossmacro.install
build() {
cd "CrossMacro-${pkgver}"
# Skip workload integrity check - resolves AUR build errors
# CrossMacro doesn't use any special workloads (MAUI, Blazor, etc.)
export DOTNET_SKIP_WORKLOAD_INTEGRITY_CHECK=1
dotnet restore
# Build UI
dotnet publish src/CrossMacro.UI/CrossMacro.UI.csproj \
-c Release \
-r linux-x64 \
--self-contained true \
-p:PublishTrimmed=false \
-p:PublishSingleFile=true \
-p:PublishTrimmed=true \
-p:PublishReadyToRun=true \
-p:PublishAot=false \
-p:DebugType=None \
-p:DebugSymbols=false \
-o publish/
# Build Daemon
dotnet publish src/CrossMacro.Daemon/CrossMacro.Daemon.csproj \
-c Release \
-r linux-x64 \
-o publish-daemon/
}
package() {
cd "CrossMacro-${pkgver}"
# Install application files
# Install UI files
install -dm755 "$pkgdir/usr/lib/$pkgname"
cp -r publish/* "$pkgdir/usr/lib/$pkgname/"
# Create executable symlink
# Install Daemon files
install -dm755 "$pkgdir/usr/lib/$pkgname/daemon"
cp -r publish-daemon/* "$pkgdir/usr/lib/$pkgname/daemon/"
# Install Service File
install -dm755 "$pkgdir/usr/lib/systemd/system"
install -Dm644 "scripts/daemon/crossmacro.service" \
"$pkgdir/usr/lib/systemd/system/crossmacro.service"
# Fix ExecStart path in service file
sed -i "s|ExecStart=/opt/crossmacro/daemon/CrossMacro.Daemon|ExecStart=/usr/lib/$pkgname/daemon/CrossMacro.Daemon|g" \
"$pkgdir/usr/lib/systemd/system/crossmacro.service"
# Install sysusers config
install -Dm644 "$srcdir/crossmacro.sysusers" \
"$pkgdir/usr/lib/sysusers.d/crossmacro.conf"
# Install udev rules
install -Dm644 "scripts/assets/99-crossmacro.rules" \
"$pkgdir/usr/lib/udev/rules.d/99-crossmacro.rules"
# Install Polkit Policy
install -Dm644 "scripts/assets/org.crossmacro.policy" \
"$pkgdir/usr/share/polkit-1/actions/org.crossmacro.policy"
# Create executable symlink for UI
install -dm755 "$pkgdir/usr/bin"
ln -s "/usr/lib/$pkgname/CrossMacro.UI" "$pkgdir/usr/bin/$pkgname"
# Install icon
install -Dm644 "src/CrossMacro.UI/Assets/mouse-icon.png" \
"$pkgdir/usr/share/icons/hicolor/256x256/apps/$pkgname.png"
# Install icons
install -dm755 "$pkgdir/usr/share/icons/hicolor"
cp -r "src/CrossMacro.UI/Assets/icons/"* "$pkgdir/usr/share/icons/hicolor/"
# Install desktop file
install -Dm644 "scripts/assets/CrossMacro.desktop" \

25
crossmacro.install Normal file
View file

@ -0,0 +1,25 @@
post_install() {
echo "Reloading systemd daemon..."
systemctl daemon-reload
udevadm control --reload-rules && udevadm trigger || true
echo "------------------------------------------------------------------------"
echo "CrossMacro Daemon installed."
echo ""
echo "1. Enable and start the service:"
echo " sudo systemctl enable --now crossmacro.service"
echo ""
echo "2. Add yourself to the 'crossmacro' group to communicate with the daemon:"
echo " sudo usermod -aG crossmacro \$USER"
echo ""
echo "3. Log out and log back in for group changes to take effect."
echo "------------------------------------------------------------------------"
}
post_upgrade() {
systemctl daemon-reload
systemctl try-restart crossmacro.service
}
post_remove() {
systemctl disable --now crossmacro.service
}

3
crossmacro.sysusers Normal file
View file

@ -0,0 +1,3 @@
g crossmacro -
u crossmacro - "CrossMacro Daemon User" /var/lib/crossmacro /usr/bin/nologin
m crossmacro input