# Maintainer: Chris Watson <cawatson1993@gmail.com>

pkgname=windsurf
pkgver=2.1.32
pkgrel=1
pkgdesc='The new purpose-built IDE to harness magic'
arch=('x86_64')
url='https://windsurf.com/'
license=('LicenseRef-Windsurf Editor')
depends=(
    'alsa-lib'
    'dbus'
    'fd'
    'gnupg'
    'libnotify'
    'libsecret'
    'libxkbfile'
    'libxss'
    'ripgrep'
    'xdg-utils'
)
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-${pkgver}.deb")

build() {
	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|' \
		-e "s|/usr/lib/code/out/cli.js|${_app}/out/cli.js|" \
		-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-icon.svg" \
		"usr/share/icons/hicolor/scalable/apps/${pkgname}.svg"
}

package() {
	cp -r --reflink=auto usr "${pkgdir}/usr"
	sed "s|/usr/lib/\${name}/electron|/usr/share/windsurf/windsurf|" run.sh > run-safe.sh
	install -Dm755 run-safe.sh "${pkgdir}/usr/bin/windsurf"
}
