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
This commit is contained in:
2026-05-05 19:24:14 +02:00
parent 5fb811b721
commit daf970e0fc
2 changed files with 42 additions and 72 deletions
+9 -35
View File
@@ -1,56 +1,30 @@
pkgbase = windsurf pkgbase = windsurf
pkgdesc = The new purpose-built IDE to harness magic
pkgver = 2.1.32 pkgver = 2.1.32
pkgrel = 1 pkgrel = 1
url = https://windsurf.com/ url = https://windsurf.com/
arch = x86_64 arch = x86_64
license = LicenseRef-Windsurf Editor license = LicenseRef-Windsurf Editor
depends = ripgrep
depends = fd
depends = xdg-utils
depends = alsa-lib depends = alsa-lib
depends = dbus depends = dbus
depends = fd
depends = gnupg depends = gnupg
depends = libnotify depends = libnotify
depends = libsecret depends = libsecret
depends = libxkbfile depends = libxkbfile
depends = libxss depends = libxss
depends = ripgrep
depends = xdg-utils
optdepends = glib2: Move to trash functionality optdepends = glib2: Move to trash functionality
optdepends = org.freedesktop.secrets: Sync settings
optdepends = libdbusmenu-glib: KDE global menu optdepends = libdbusmenu-glib: KDE global menu
optdepends = lsof: Terminal splitting optdepends = lsof: Terminal splitting
optdepends = vulkan-driver optdepends = org.freedesktop.secrets: Sync settings
noextract = Windsurf-linux-x64-2.1.32.deb optdepends = vulkan-driver: Hardware acceleration
noextract = windsurf-2.1.32.deb
options = !strip options = !strip
source = https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-2.1.32.deb source = windsurf-2.1.32.deb::https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/w/windsurf/Windsurf-linux-x64-2.1.32.deb
source = https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code.sh source = code.sh::https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code.sh
sha256sums = ded473cf5f8cd07f8890be951f9164118ba0633a5cee88844fa623b7c4713df3 sha256sums = ded473cf5f8cd07f8890be951f9164118ba0633a5cee88844fa623b7c4713df3
sha256sums = 5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1 sha256sums = 5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1
pkgname = windsurf 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
+29 -33
View File
@@ -1,66 +1,62 @@
# Maintainer: Chris Watson <cawatson1993@gmail.com> # Maintainer: Chris Watson <cawatson1993@gmail.com>
pkgname=windsurf
pkgver=2.1.32 pkgver=2.1.32
pkgbase=windsurf
pkgname=(windsurf{,-electron-latest})
pkgrel=1 pkgrel=1
pkgdesc='The new purpose-built IDE to harness magic'
arch=('x86_64') arch=('x86_64')
url="https://windsurf.com/" url='https://windsurf.com/'
license=('LicenseRef-Windsurf Editor') license=('LicenseRef-Windsurf Editor')
depends=( ripgrep fd xdg-utils #replacements depends=(
'alsa-lib' 'alsa-lib'
'dbus' 'dbus'
'fd'
'gnupg' 'gnupg'
'libnotify' 'libnotify'
'libsecret' 'libsecret'
'libxkbfile' 'libxkbfile'
'libxss' 'libxss'
'ripgrep'
'xdg-utils'
) )
optdepends=('glib2: Move to trash functionality' optdepends=(
'org.freedesktop.secrets: Sync settings' 'glib2: Move to trash functionality'
'libdbusmenu-glib: KDE global menu' 'libdbusmenu-glib: KDE global menu'
'lsof: Terminal splitting' 'lsof: Terminal splitting'
'vulkan-driver') 'org.freedesktop.secrets: Sync settings'
options=('!strip') # for sing of ext ? 'vulkan-driver: Hardware acceleration'
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") 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' sha256sums=('ded473cf5f8cd07f8890be951f9164118ba0633a5cee88844fa623b7c4713df3'
'5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1') '5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1')
noextract=(Windsurf-linux-x64-${pkgver}.deb) # avoid double tarball noextract=("windsurf-${pkgver}.deb")
build() { build() {
bsdtar -xOf ${noextract[0]} data.tar.xz | tar -xJf - --exclude 'usr/share/windsurf/[^r]*' --exclude 'usr/share/windsurf/*.pak' bsdtar -xOf "${srcdir}/windsurf-${pkgver}.deb" data.tar.xz | tar -xJf -
# Fix path # Fix paths
mv usr/share/{appdata,metainfo} mv usr/share/{appdata,metainfo}
mv usr/share/zsh/{vendor-completions,site-functions} mv usr/share/zsh/{vendor-completions,site-functions}
# Launcher # Launcher
_app=/usr/share/windsurf/resources/app _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/out/cli.js|${_app}/out/cli.js|" \
-e "s|/usr/lib/code/code.mjs|--app=${_app}|" > run.sh -e "s|/usr/lib/code/code.mjs|--app=${_app}|" \
ln -sf /usr/bin/windsurf usr/share/windsurf/windsurf "${srcdir}/code.sh" > run.sh
# Replacements # System binary replacements
ln -svf /usr/bin/fd usr/share/windsurf/resources/app/extensions/windsurf/bin/fd 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/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 ln -svf /usr/bin/xdg-open usr/share/windsurf/resources/app/node_modules/open/xdg-open
# SVG Icon # 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(){ package() {
pkgdesc="The new purpose-built IDE to harness magic"
cp -r --reflink=auto usr "${pkgdir}/usr" 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) sed "s|/usr/lib/\${name}/electron|/usr/share/windsurf/windsurf|" run.sh > run-safe.sh
echo $_electron
sed "s|name=electron|name=${_electron}|" run.sh > run-safe.sh
install -Dm755 run-safe.sh "${pkgdir}/usr/bin/windsurf" 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)
} }