# Template file for 'intellij-idea-ultimate-edition'
pkgname=intellij-idea-ultimate-edition
version=2021.2.1
revision=1
archs="i686 x86_64"
wrksrc="idea-IU-212.5080.55"
depends="giflib libXtst jetbrains-jdk-bin"
short_desc="Most intelligent Java IDE"
maintainer="Anton Afanasyev <anton@doubleasoftware.com>"
license="custom:Commercial"
homepage="https://www.jetbrains.com/idea"
distfiles="https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz"
checksum=9cf405e13bb25768050779a6fd923021ba1cee7f559253ad6ecb0f985a52a788
repository=nonfree
restricted=yes
nopie=yes
# JetBrains' tools are self-sufficient and while they include code that appears to be linked to libs from other packages, these libs are either included in the tool package, or the code works by looking for one of several supported libs.
noverifyrdeps=yes
python_version=3

post_extract() {
	# Remove files for other OSes
	rm -rf plugins/webp/lib/libwebp/win
	rm -rf plugins/webp/lib/libwebp/mac
	rm -rf plugins/maven/lib/maven3/lib/jansi-native/freebsd64
	rm -rf plugins/maven/lib/maven3/lib/jansi-native/freebsd32
	rm -rf plugins/maven/lib/maven3/lib/jansi-native/osx
	rm -rf plugins/maven/lib/maven3/lib/jansi-native/windows32
	rm -rf plugins/maven/lib/maven3/lib/jansi-native/windows64
	rm -rf plugins/cwm-plugin/quiche-native/win32-x86-64
	rm -rf plugins/cwm-plugin/quiche-native/darwin-aarch64
	rm -rf plugins/cwm-plugin/quiche-native/darwin-x86-64
	rm -rf **/*.dll
	rm -rf **/*.dylib

	# Remove files for other CPU architectures
	rm -rf lib/pty4j-native/linux/ppc64le
	rm -rf lib/pty4j-native/linux/aarch64
	rm -rf lib/pty4j-native/linux/mips64el
	rm -rf lib/pty4j-native/linux/arm

	case "$XBPS_TARGET_MACHINE" in
		x86_64)
			rm -rf plugins/webp/lib/libwebp/linux/libwebp_jni.so
			rm -rf lib/pty4j-native/linux/x86
			rm -rf plugins/maven/lib/maven3/lib/jansi-native/linux32
			rm -rf plugins/performanceTesting/bin/libyjpagent.so
			;;
		i686)
			rm -rf plugins/webp/lib/libwebp/linux/libwebp_jni64.so
			rm -rf lib/pty4j-native/linux/x86-64
			rm -rf plugins/maven/lib/maven3/lib/jansi-native/linux64
			rm -rf plugins/performanceTesting/bin/libyjpagent64.so
			;;
	esac
}

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 redist ${TARGET_PATH}
	vcopy product-info.json ${TARGET_PATH}
	vcopy build.txt ${TARGET_PATH}

	ln -sf /${TARGET_PATH}/bin/idea.sh ${DESTDIR}/usr/bin/idea-ultimate
}
