# Template file for 'CLion'
pkgname=CLion
version=2019.1.4
revision=1
archs="i686 x86_64"
wrksrc="clion-${version}"
depends="virtual?java-environment 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=c9249f7a378b66071e4c4308a339bfd3afa38765e9316ffaaeeec66fcb3b8bb1
repository=nonfree
restricted=yes
nopie=yes

post_extract() {
	# Remove files for other CPU architectures
	rm -rf bin/fsnotifier-arm
	rm -rf lib/pty4j-native/linux/ppc64le

	case "$XBPS_TARGET_MACHINE" in
		x86_64)
			rm -rf bin/fsnotifier
			rm -rf bin/clion.vmoptions
			rm -rf bin/libyjpagent-linux.so
			rm -rf lib/pty4j-native/linux/x86
			;;
		i686)
			rm -rf bin/fsnotifier64
			rm -rf bin/clion64.vmoptions
			rm -rf bin/libyjpagent-linux64.so
			rm -rf lib/pty4j-native/linux/x86_64
			;;
	esac

	# Remove JetBrains JDK
	rm -rf jre64

	# TODO: JetBrains' LLDB, GDB, and CMake can be made installable via separate subpackages
	# bin/lldb bin/gdb bin/cmake
}

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

	vmkdir usr/bin
	vmkdir ${TARGET_PATH}
	vmkdir ${LICENSE_PATH}

	# Ideally vlicense should be called here, but vcopy is more terse.
	vcopy license/* ${LICENSE_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}/bin/clion.sh ${DESTDIR}/usr/bin/${pkgname}
}
