# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit desktop shell-completion unpacker xdg

MY_PN="${PN/-bin/}"

DESCRIPTION="Devin - agentic AI IDE (formerly Windsurf), built on VS Code"
HOMEPAGE="https://devin.ai https://windsurf.com/editor"

SRC_URI="https://windsurf-stable.codeiumdata.com/wVxQEIWkwPUEAGf3/apt/pool/main/d/${MY_PN}/Devin-linux-x64-${PV}.deb"
S="${WORKDIR}"

LICENSE="Apache-2.0 BSD BSD-1 BSD-2 BSD-4 CC-BY-4.0 ISC LGPL-2.1+ Microsoft-vscode MIT MPL-2.0 openssl PYTHON TextMate-bundle Unlicense UoI-NCSA W3C"
SLOT="0"
KEYWORDS="-* ~amd64"
RESTRICT="mirror strip bindist"

RDEPEND="
	>=app-accessibility/at-spi2-core-2.46.0:2
	app-crypt/libsecret[crypt]
	app-crypt/mit-krb5
	app-misc/ca-certificates
	dev-libs/expat
	dev-libs/glib:2
	dev-libs/nspr
	dev-libs/nss
	media-libs/alsa-lib
	media-libs/libglvnd
	media-libs/mesa
	net-misc/curl
	sys-apps/dbus
	sys-process/lsof
	x11-libs/cairo
	x11-libs/gtk+:3
	x11-libs/libdrm
	x11-libs/libX11
	x11-libs/libxcb
	x11-libs/libXcomposite
	x11-libs/libXdamage
	x11-libs/libXext
	x11-libs/libXfixes
	x11-libs/libxkbcommon
	x11-libs/libxkbfile
	x11-libs/libXrandr
	x11-libs/libXScrnSaver
	x11-libs/pango
	x11-misc/xdg-utils
"

QA_PREBUILT="*"

src_install() {
	mkdir -p "${ED}/opt/${MY_PN}" || die
	cp -r "${S}/usr/share/${MY_PN}/"* "${ED}/opt/${MY_PN}" || die

	fperms 4755 /opt/${MY_PN}/chrome-sandbox

	dosym ../../opt/${MY_PN}/${MY_PN} /usr/bin/${MY_PN}

	sed -i \
		-e "s|/usr/share/${MY_PN}/${MY_PN}|/opt/${MY_PN}/${MY_PN}|g" \
		"${S}/usr/share/applications/${MY_PN}.desktop" \
		"${S}/usr/share/applications/${MY_PN}-url-handler.desktop" \
		|| die "sed failed"

	domenu "${S}/usr/share/applications/${MY_PN}.desktop"
	domenu "${S}/usr/share/applications/${MY_PN}-url-handler.desktop"

	doicon "${S}/usr/share/pixmaps/${MY_PN}.png"

	insinto /usr/share/metainfo
	doins "${S}/usr/share/appdata/${MY_PN}.appdata.xml"

	insinto /usr/share/mime/packages
	doins "${S}/usr/share/mime/packages/${MY_PN}-workspace.xml"

	newbashcomp "${S}/usr/share/bash-completion/completions/${MY_PN}" ${MY_PN}
	newzshcomp "${S}/usr/share/zsh/vendor-completions/_${MY_PN}" _${MY_PN}
}

pkg_postinst() {
	xdg_pkg_postinst

	elog "Devin (formerly Windsurf) has been installed to /opt/${MY_PN}"
	elog ""
	elog "To launch: ${MY_PN}"
	elog ""
	elog "Windsurf was rebranded to Devin by Cognition. The 'windsurf'"
	elog "package upstream is now a transitional shim pointing here."
	elog ""
	elog "Upstream: https://devin.ai"
}