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

pkgname=devin-desktop
pkgver=3.6.22
pkgrel=1
pkgdesc='Devin - the AI software engineer IDE'
arch=('x86_64')
url='https://devin.ai/'
license=('LicenseRef-Devin')
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'
)
conflicts=('windsurf')
provides=('windsurf' 'devin-desktop')
options=('!strip')
source=(
    "devin-desktop-${pkgver}.deb::https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/d/devin-desktop/Devin-linux-x64-${pkgver}.deb"
    'code.sh::https://gitlab.archlinux.org/archlinux/packaging/packages/code/-/raw/main/code.sh'
)
sha256sums=('ec1cb0d758e928f0a6038bdc477bdea378529cb57cb2bf9445f75d3f415b0e02'
            '5da1525b5fe804b9192c05e1cbf8d751d852e3717fb2787c7ffe98fd5d93e8c1')
noextract=("devin-desktop-${pkgver}.deb")

build() {
	bsdtar -xOf "${srcdir}/devin-desktop-${pkgver}.deb" data.tar.xz | tar -xJf -
	# Launcher
	_app=/usr/share/devin-desktop/resources/app
	sed -e 's|code-flags|devin-desktop-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
	mkdir -p \
		usr/share/devin-desktop/resources/app/extensions/windsurf/bin \
		usr/share/devin-desktop/resources/app/node_modules/@vscode/ripgrep/bin \
		usr/share/devin-desktop/resources/app/node_modules/open
	ln -svf /usr/bin/fd  usr/share/devin-desktop/resources/app/extensions/windsurf/bin/fd
	ln -svf /usr/bin/rg  usr/share/devin-desktop/resources/app/node_modules/@vscode/ripgrep/bin/rg
	ln -svf /usr/bin/xdg-open usr/share/devin-desktop/resources/app/node_modules/open/xdg-open
	# SVG Icon
	install -Dm644 "usr/share/devin-desktop/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/devin-desktop/devin-desktop|" run.sh > run-safe.sh
	install -Dm755 run-safe.sh "${pkgdir}/usr/bin/devin-desktop"
}
