Compare commits

...
10 Commits
Author SHA1 Message Date
biggy b9f6f3ce85 remove .SRCINFO from tracking, refine cleanup script
- Delete committed .SRCINFO (regenerated by makepkg)
- Update .gitignore to allow cleanup.sh while blocking code.sh
- Normalize .deb cleanup pattern, add src/ removal
2026-05-05 19:28:21 +02:00
biggy 1f82aac078 add .gitignore for build artifacts and downloaded sources 2026-05-05 19:26:42 +02:00
biggy f7870a2e60 add cleanup script and automated updater for version bumps 2026-05-05 19:25:50 +02:00
biggy daf970e0fc refactor: simplify to single package, fix source naming and field order
- Drop split package (windsurf-electron-latest removed)
- pkgname as scalar, pkgdesc moved to top-level
- depends/optdepends sorted alphabetically, all quoted
- Named source entries (windsurf-${pkgver}.deb::url, code.sh::url)
- noextract updated to match new source name
- build() uses explicit ${srcdir}/... references
- package_windsurf() → package(); sed path fixed for single-pkg layout
- vulkan-driver optdepends gains description
2026-05-05 19:24:14 +02:00
watzon 5fb811b721 Update to version 2.1.32 2026-05-01 13:20:56 +00:00
watzon b56f85e5cb Update to version 2.0.67 2026-04-24 14:16:58 +00:00
watzon ea1a0e9296 Update to version 2.0.63 2026-04-21 12:36:19 +00:00
watzon 055bea8ff0 Update to version 2.0.61 2026-04-18 02:14:19 +00:00
watzon 54fb208c15 Update to version 2.0.50 2026-04-16 16:15:32 +00:00
watzon a2702cd3be Update to version 2.0.44 2026-04-16 04:02:04 +00:00
5 changed files with 140 additions and 95 deletions
-56
View File
@@ -1,56 +0,0 @@
pkgbase = windsurf
pkgver = 1.9600.41
pkgrel = 1
url = https://windsurf.com/
arch = x86_64
license = LicenseRef-Windsurf Editor
depends = ripgrep
depends = fd
depends = xdg-utils
depends = alsa-lib
depends = dbus
depends = gnupg
depends = libnotify
depends = libsecret
depends = libxkbfile
depends = libxss
optdepends = glib2: Move to trash functionality
optdepends = org.freedesktop.secrets: Sync settings
optdepends = libdbusmenu-glib: KDE global menu
optdepends = lsof: Terminal splitting
optdepends = vulkan-driver
noextract = Windsurf-linux-x64-1.9600.41.deb
options = !strip
source = https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-1.9600.41.deb
source = https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code.sh
sha256sums = ddcb1098231ea5a44d38461deb742e41d3fe2ea756275016903016f753bd7ea0
sha256sums = 5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1
pkgname = windsurf
pkgdesc = The new purpose-built IDE to harness magic
depends = ripgrep
depends = fd
depends = xdg-utils
depends = alsa-lib
depends = dbus
depends = gnupg
depends = libnotify
depends = libsecret
depends = libxkbfile
depends = libxss
pkgname = windsurf-electron-latest
pkgdesc = Windsurf Editor on latest stable electron
depends = ripgrep
depends = fd
depends = xdg-utils
depends = alsa-lib
depends = dbus
depends = gnupg
depends = libnotify
depends = libsecret
depends = libxkbfile
depends = libxss
depends = electron
provides = windsurf
conflicts = windsurf
+4
View File
@@ -0,0 +1,4 @@
code.sh
*.pkg.tar.zst
*.deb
src/*
+35 -39
View File
@@ -1,66 +1,62 @@
# Maintainer: Chris Watson <cawatson1993@gmail.com>
pkgver=1.9600.41
pkgbase=windsurf
pkgname=(windsurf{,-electron-latest})
pkgname=windsurf
pkgver=2.1.32
pkgrel=1
pkgdesc='The new purpose-built IDE to harness magic'
arch=('x86_64')
url="https://windsurf.com/"
url='https://windsurf.com/'
license=('LicenseRef-Windsurf Editor')
depends=( ripgrep fd xdg-utils #replacements
depends=(
'alsa-lib'
'dbus'
'fd'
'gnupg'
'libnotify'
'libsecret'
'libxkbfile'
'libxss'
'ripgrep'
'xdg-utils'
)
optdepends=('glib2: Move to trash functionality'
'org.freedesktop.secrets: Sync settings'
'libdbusmenu-glib: KDE global menu'
'lsof: Terminal splitting'
'vulkan-driver')
options=('!strip') # for sing of ext ?
source=("https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-${pkgver}.deb"
"https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code.sh")
sha256sums=('ddcb1098231ea5a44d38461deb742e41d3fe2ea756275016903016f753bd7ea0'
optdepends=(
'glib2: Move to trash functionality'
'libdbusmenu-glib: KDE global menu'
'lsof: Terminal splitting'
'org.freedesktop.secrets: Sync settings'
'vulkan-driver: Hardware acceleration'
)
options=('!strip')
source=(
"windsurf-${pkgver}.deb::https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-${pkgver}.deb"
'code.sh::https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code.sh'
)
sha256sums=('ded473cf5f8cd07f8890be951f9164118ba0633a5cee88844fa623b7c4713df3'
'5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1')
noextract=(Windsurf-linux-x64-${pkgver}.deb) # avoid double tarball
noextract=("windsurf-${pkgver}.deb")
build() {
bsdtar -xOf ${noextract[0]} data.tar.xz | tar -xJf - --exclude 'usr/share/windsurf/[^r]*' --exclude 'usr/share/windsurf/*.pak'
# Fix path
bsdtar -xOf "${srcdir}/windsurf-${pkgver}.deb" data.tar.xz | tar -xJf -
# Fix paths
mv usr/share/{appdata,metainfo}
mv usr/share/zsh/{vendor-completions,site-functions}
# Launcher
_app=/usr/share/windsurf/resources/app
sed -e "s|code-flags|windsurf-flags|" code.sh \
sed -e 's|code-flags|windsurf-flags|' \
-e "s|/usr/lib/code/out/cli.js|${_app}/out/cli.js|" \
-e "s|/usr/lib/code/code.mjs|--app=${_app}|" > run.sh
ln -sf /usr/bin/windsurf usr/share/windsurf/windsurf
# Replacements
ln -svf /usr/bin/fd usr/share/windsurf/resources/app/extensions/windsurf/bin/fd
ln -svf /usr/bin/rg usr/share/windsurf/resources/app/node_modules/@vscode/ripgrep/bin/rg
-e "s|/usr/lib/code/code.mjs|--app=${_app}|" \
"${srcdir}/code.sh" > run.sh
# System binary replacements
ln -svf /usr/bin/fd usr/share/windsurf/resources/app/extensions/windsurf/bin/fd
ln -svf /usr/bin/rg usr/share/windsurf/resources/app/node_modules/@vscode/ripgrep/bin/rg
ln -svf /usr/bin/xdg-open usr/share/windsurf/resources/app/node_modules/open/xdg-open
# SVG Icon
install -Dm644 "usr/share/${pkgname}/resources/app/out/media/code-iconsvg.svg" "usr/share/icons/hicolor/scalable/apps/${pkgname}.svg"
install -Dm644 "usr/share/${pkgname}/resources/app/out/media/code-icon.svg" \
"usr/share/icons/hicolor/scalable/apps/${pkgname}.svg"
}
package_windsurf(){
pkgdesc="The new purpose-built IDE to harness magic"
package() {
cp -r --reflink=auto usr "${pkgdir}/usr"
_electron=electron$(rg -o -r '$1' '"electron": *"[^0-9]*([0-9]+)' usr/share/windsurf/resources/app/package.json)
echo $_electron
sed "s|name=electron|name=${_electron}|" run.sh > run-safe.sh
sed "s|/usr/lib/\${name}/electron|/usr/share/windsurf/windsurf|" run.sh > run-safe.sh
install -Dm755 run-safe.sh "${pkgdir}/usr/bin/windsurf"
depends+=(${_electron}) # hidden from --printsrcinfo
}
package_windsurf-electron-latest(){
pkgdesc="Windsurf Editor on latest stable electron"
mv usr "${pkgdir}/usr" # breaks --repackage
install -Dm755 run.sh "${pkgdir}/usr/bin/windsurf"
depends+=(electron)
conflicts=(windsurf)
provides=(windsurf)
}
+5
View File
@@ -0,0 +1,5 @@
rm -f .SRCINFO
rm -f code.sh
rm -f windsurf*.tar.zst
rm -f windsurf*.deb
rm -rf src
+96
View File
@@ -0,0 +1,96 @@
#!/bin/bash
# Windsurf AUR package updater
set -e
PKGDIR="$(dirname "$0")"
PKGBUILD="$PKGDIR/PKGBUILD"
SRCINFO="$PKGDIR/.SRCINFO"
# Colors
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Get current version from PKGBUILD
current_ver=$(grep -E '^pkgver=' "$PKGBUILD" | cut -d= -f2)
echo "Current PKGBUILD version: $current_ver"
# Fetch latest version from apt repository
echo "Checking Windsurf repository..."
latest_info=$(curl -s "https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/dists/stable/main/binary-amd64/Packages.gz" | zcat)
latest_ver=$(echo "$latest_info" | grep -A1 "Package: windsurf" | grep "Version:" | head -1 | sed 's/Version: \([0-9.]*\).*/\1/')
if [[ -z "$latest_ver" ]]; then
echo -e "${RED}Error: Could not fetch latest version${NC}"
exit 1
fi
echo "Latest available version: $latest_ver"
# Compare versions
if [[ "$current_ver" == "$latest_ver" ]]; then
echo -e "${GREEN}Already up to date!${NC}"
exit 0
fi
# Check if latest is newer (simple version comparison)
if printf '%s\n%s\n' "$current_ver" "$latest_ver" | sort -V -C; then
echo -e "${YELLOW}Update available: $current_ver$latest_ver${NC}"
else
echo -e "${YELLOW}Repository version ($latest_ver) is older than PKGBUILD ($current_ver)${NC}"
echo "Skipping update."
exit 0
fi
# Download and calculate SHA256
deb_url="https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-${latest_ver}.deb"
echo ""
echo "Downloading ${latest_ver} for SHA256 verification..."
echo "URL: $deb_url"
new_sha256=$(curl -sL "$deb_url" | sha256sum | cut -d' ' -f1)
if [[ -z "$new_sha256" ]] || [[ ${#new_sha256} -ne 64 ]]; then
echo -e "${RED}Error: Failed to calculate SHA256${NC}"
exit 1
fi
echo ""
echo "New SHA256: $new_sha256"
echo ""
# Show diff
echo "Proposed changes:"
echo " PKGBUILD: pkgver=$latest_ver"
echo " PKGBUILD: sha256sums=('$new_sha256' ...)"
echo " .SRCINFO: pkgver = $latest_ver"
echo " .SRCINFO: source = ...Windsurf-linux-x64-${latest_ver}.deb"
echo " .SRCINFO: sha256sums = $new_sha256"
echo ""
# Ask for confirmation
read -p "Update PKGBUILD and .SRCINFO? [Y/n] " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Yy]$ ]] && [[ -n $REPLY ]]; then
echo "Update cancelled."
exit 0
fi
# Update PKGBUILD
echo "Updating PKGBUILD..."
sed -i "s/^pkgver=.*/pkgver=$latest_ver/" "$PKGBUILD"
sed -i "s/sha256sums=('[^']*'/sha256sums=('$new_sha256'/" "$PKGBUILD"
# Update .SRCINFO
echo "Updating .SRCINFO..."
sed -i "s/pkgver = .*/pkgver = $latest_ver/" "$SRCINFO"
sed -i "s|Windsurf-linux-x64-[0-9.]*\.deb|Windsurf-linux-x64-${latest_ver}.deb|" "$SRCINFO"
sed -i "s/sha256sums = [a-f0-9]*/sha256sums = $new_sha256/" "$SRCINFO"
echo -e "${GREEN}Updated to version $latest_ver${NC}"
echo ""
echo "Review changes with: git diff"
echo "Build with: makepkg -si"