# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=vscodium
pkgver=1.100.03093
pkgrel=0
pkgdesc="VSCode without Microsoft branding/telemetry"
url="https://vscodium.com/"
arch="aarch64 x86_64" # electron
license="MIT"
depends="electron"
makedepends="
	bash
	electron-dev
	imagemagick
	jq
	krb5-dev
	libsecret-dev
	libxkbfile-dev
	nodejs
	npm
	python3
	yarn
	"
options="!check net" # no tests
subpackages="$pkgname-zsh-completion $pkgname-bash-completion"
source="https://github.com/VSCodium/vscodium/releases/download/$pkgver/VSCodium-$pkgver-src.tar.gz
	codium
	vscodium.desktop
	"
builddir="$srcdir/"

export ELECTRON_SKIP_BINARY_DOWNLOAD=1
export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
export npm_config_nodedir=/usr/include/electron/node_headers
export npm_config_build_from_source=true

prepare() {
	default_prepare

	sed -i 's|--max-old-space-size=8192|--max-old-space-size=4096|g' build.sh

	# Disable CLI (tunnel app)
	# error with target x86_64-unknown-linux-musl
	sed -i 's|. ../build_cli.sh||g' build.sh
}

build() {
	export CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
	export CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE"
	export CXXFLAGS="$CXXFLAGS -std=c++20 -D_LARGEFILE64_SOURCE"

	# Export necessary environment variables
	export SHOULD_BUILD="yes"
	export SHOULD_BUILD_REH="no"
	export SHOULD_BUILD_REH_WEB="no"
	export CI_BUILD="no"
	export OS_NAME="linux"
	export VSCODE_ARCH="x64"
	export VSCODE_QUALITY="stable"
	export RELEASE_VERSION="$pkgver"
	export DISABLE_UPDATE="yes"

	# yarn/npm cache located in $srcdir
	yarn config set cache-folder "$srcdir/yarn-cache"

	HOME=$srcdir ./get_repo.sh
	HOME=$srcdir ./build.sh
}

package() {
	# binary launcher and licenses
	install -Dm644 "$srcdir/VSCode-linux-x64/resources/app/LICENSE.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
	install -Dm0755 "$srcdir/codium" "$pkgdir/usr/bin/codium"

	# resources
	mkdir -p "$pkgdir/usr/lib/$pkgname/resources/"
	cp -r "$srcdir/VSCode-linux-x64/resources/app" "$pkgdir/usr/lib/$pkgname/resources/"

	# desktop and icons
	install -Dm644 "$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
	install -Dm644 "$srcdir/VSCode-linux-x64/resources/app/resources/linux/code.png" "$pkgdir/usr/share/pixmaps/vscodium.png"

	# shell completions
	install -Dm644 "$srcdir/VSCode-linux-x64/resources/completions/zsh/_codium" "$pkgdir/usr/share/zsh/site-functions/_codium"
	install -Dm644 "$srcdir/VSCode-linux-x64/resources/completions/bash/codium" "$pkgdir/usr/share/bash-completion/completions/codium"
}

sha512sums="
e6234047a98da03b208f7050507eb68e29ca22749972c4ac970f211600aa1f77d149f6e1c9f4607f1a3c82650272282e8b7f84056403c572ef8701fffc90c2f2  VSCodium-1.100.03093-src.tar.gz
0f807784b2552e894cb51d1fda36c9f03094e3ff22b0b05b8e3fdc51f710da64e96bf3e882142a3d67b8ce9279f3907ffa1813c89727cc6452a39706bfd81ac6  codium
f4d634fcd9b076f58f74d92ee06fb699ad337b2022bb72bd9e0f163c6a9f03bfcbfaa9c79fd3f1497d688253721d85dd57d23ef27b9c724a26d6660ee0fbd2d0  vscodium.desktop
"
