java-scratchspace/intellij-idea/Pkgfile

80 lines
3.0 KiB
Plaintext

# Description: Capable and ergonomic IDE for JVM
# URL: https://www.jetbrains.com/idea/
# Maintainer: Tim Biermann, tbier at posteo dot de
# Depends on: ant lldb openjdk8-openjfx openjdk11-jdk xorg-font-dejavu-ttf
name=intellij-idea
version=2021.1-beta-3
release=1
_iver=211.6556.6
source=(https://github.com/JetBrains/intellij-community/archive/idea/$_iver/$name-$_iver.tar.gz
https://github.com/JetBrains/android/archive/idea/$_iver/$name-android-$_iver.tar.gz
# http://git.jetbrains.org/?p=idea/adt-tools-base.git;a=summary
https://nullvoid.de/crux/distfiles/android-tools-base-201.6073.tar.gz
#https://services.gradle.org/distributions/gradle-5.3-bin.zip
idea.desktop idea.sh)
source_android-tools-base() { #{{{
cd $PKGMK_SOURCE_DIR
if cd android-tools-base; then
git pull --rebase git://git.jetbrains.org/idea/adt-tools-base.git
else
git clone git://git.jetbrains.org/idea/adt-tools-base.git android-tools-base
cd ..
fi
} #}}}
build() {
## only used if sourced from git and not nullvoid.de
#source_android-tools-base
#cp -r $PKGMK_SOURCE_DIR/android-tools-base android/tools-base
#pushd android/tools-base
#git checkout -b $_iver
#popd
cd $SRC/intellij-community-idea-$_iver
mv $SRC/android-idea-$_iver android
mv $SRC/android-tools-base-201.6073 android/tools-base
export MAVEN_REPOSITORY=$PKGMK_SOURCE_DIR/maven-repo
# needs fixing, maybe? maybe not..
#export M2_HOME=$PKGMK_SOURCE_DIR/maven-repo
#export GRADLE_USER_HOME=$PKGMK_SOURCE_DIR/gradle-repo
# needed to build intellij
unset JAVA_HOME
export JAVA_HOME=/usr/lib/java/openjdk11-jdk
export PATH="${JAVA_HOME}/bin:/bin:/sbin:/usr/bin:/usr/sbin"
# needed for kotlin..
export export JDK_16_x64=/usr/lib/java/openjdk8
export export JDK_18_x64=/usr/lib/java/openjdk8
echo $_iver > build.txt
sed '/def targetOs =/c def targetOs = "linux"' -i build/dependencies/setupJbre.gradle
sed '/String targetOS/c String targetOS = OS_LINUX' -i platform/build-scripts/groovy/org/jetbrains/intellij/build/BuildOptions.groovy
sed -E 's|(<sysproperty key="jna.nosys")|<sysproperty key="intellij.build.target.os" value="linux" />\1|' -i build.xml
sed -E 's/-Xmx[0-9]+m/-XX:-UseGCOverheadLimit/' -i build.xml
ant build -Dintellij.build.target.os=linux
tar -xf out/idea-ce/artifacts/ideaIC-$_iver-no-jbr.tar.gz -C $SRC
cd $SRC/idea-IC-$_iver
rm -rf bin/fsnotifier-arm lib/libpty/linux/x86
sed -i 's/lcd/on/' bin/*.vmoptions
install -dm 755 $PKG/usr/{lib/intellij-idea,share/{pixmaps,icons/hicolor/scalable/apps}}
cp -dr --no-preserve='ownership' bin lib plugins redist $PKG/usr/lib/intellij-idea/
ln -s /usr/lib/intellij-idea/bin/idea.png $PKG/usr/share/pixmaps/idea.png
ln -s /usr/lib/intellij-idea/bin/idea.svg $PKG/usr/share/icons/hicolor/scalable/apps/idea.svg
install -Dm 644 $SRC/idea.desktop -t $PKG/usr/share/applications/
install -Dm 755 $SRC/idea.sh $PKG/usr/bin/idea
install -Dm 644 build.txt -t $PKG/usr/share/idea
find $PKG \(\
-iname '*readme*' -o \
-iname '*licence*' -o \
-iname '*install*' \
\) -delete
}