# Template file for 'CLion'
pkgname=CLion
version=2021.3.4
revision=2
archs="x86_64 aarch64"
depends="jetbrains-jdk-bin giflib libXtst"
short_desc="Smart cross-platform IDE for C and C++"
maintainer="Anton Afanasyev <anton@doubleasoftware.com>"
license="custom:Commercial"
homepage="https://www.jetbrains.com/clion"
distfiles="https://download.jetbrains.com/cpp/CLion-${version}.tar.gz"
checksum=f3b0b9e0dd0cd4aebef5d424e7a22868c732daad47d6c94f73630cef449ccf78
repository=nonfree
restricted=yes
nopie=yes
python_version=3

build_options="bundled_cmake bundled_gdb bundled_lldb"
build_options_default="bundled_cmake bundled_gdb bundled_lldb"
desc_option_bundled_cmake="Install bundled CMake"
desc_option_bundled_gdb="Install bundled GDB"
desc_option_bundled_lldb="Install bundled LLDB"

post_extract() {
	# Remove files for other OSes and/or CPU architectures
	# Darwin (this is not packaged for macOS)
	rm -rf plugins/cwm-plugin/quiche-native/darwin-aarch64
	rm -rf plugins/cwm-plugin/quiche-native/darwin-x86-64
	rm -rf plugins/performanceTesting/bin/libyjpagent.dylib
	rm -rf plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_x86.dylib
	rm -rf plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_x86_64.dylib
	# Windows (this is not packaged for Windows)
	rm -rf plugins/cwm-plugin/quiche-native/win32-x86-64
	rm -rf plugins/performanceTesting/bin/yjpagent.dll
	rm -rf plugins/performanceTesting/bin/yjpagent64.dll
	rm -rf plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_amd64.dll
	rm -rf plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_x86.dll
	# x86 (unsupported after v2021.1)
	rm -rf bin/clion.vmoptions
	rm -rf lib/pty4j-native/linux/x86
	rm -rf plugins/performanceTesting/bin/libyjpagent.so
	rm -rf plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_x86.so
	# MIPS
	rm -rf lib/pty4j-native/linux/mips64el
	# ARM
	rm -rf lib/pty4j-native/linux/arm
	# PPC
	rm -rf lib/pty4j-native/linux/ppc64le


	case "$XBPS_TARGET_MACHINE" in
		x86_64)
			rm -rf lib/pty4j-native/linux/aarch64
			;;
		aarch64)
			rm -rf lib/pty4j-native/linux/x86-64
			rm -rf plugins/performanceTesting/bin/libyjpagent64.so
			rm -rf plugins/python-ce/helpers/pydev/pydevd_attach_to_process/attach_linux_amd64.so
			;;
	esac

	if [ ! "$build_option_bundled_cmake" ]; then
		rm -rf bin/cmake
	fi
	if [ ! "$build_option_bundled_gdb" ]; then
		rm -rf bin/gdb
	fi
	if [ ! "$build_option_bundled_lldb" ]; then
		rm -rf bin/lldb
	fi
}

do_install() {
	TARGET_PATH="usr/lib/${pkgname}"

	vmkdir usr/bin
	vmkdir ${TARGET_PATH}

	local i
	for i in license/* ; do
		vlicense $i
	done

	local launcher_path="bin/clion.sh"
	sed -i '1 s/$/\nCLION_JDK=${CLION_JDK:-${IDEA_JDK}}/' "${launcher_path}"
	vcopy bin ${TARGET_PATH}
	vcopy help ${TARGET_PATH}
	vcopy lib ${TARGET_PATH}
	vcopy plugins ${TARGET_PATH}
	vcopy product-info.json ${TARGET_PATH}
	vcopy build.txt ${TARGET_PATH}

	ln -sf "/${TARGET_PATH}/${launcher_path}" "${DESTDIR}/usr/bin/${pkgname}"
	vdoc "${FILESDIR}/README.voidlinux"
}
