File PKGBUILD of Package Intellij-IDEA-ce-arch
# Maintainer: Lukas Jirkovsky <l.jirkovsky@gmail.com>
# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
# Maintainer: Maxime Gauduin <alucryd@archlinux.org>
# Maintainer: Orhun Parmaksız <orhun@archlinux.org>
pkgname=intellij-idea-community-edition
pkgver=2023.2
_build=232.8660.185
_jrever=17
_jdkver=17
pkgrel=1
epoch=4
pkgdesc='IDE for Java, Groovy and other programming languages with advanced refactoring features'
url='https://www.jetbrains.com/idea/'
arch=('x86_64')
license=('Apache')
backup=('usr/share/idea/bin/idea64.vmoptions')
depends=('giflib' "java-runtime=${_jrever}" 'python' 'sh' 'ttf-font' 'libdbusmenu-glib' 'fontconfig' 'hicolor-icon-theme')
makedepends=('ant' 'git' "java-environment-openjdk=${_jdkver}" maven "unzip")
optdepends=(
'lldb: lldb frontend integration'
)
source=("idea_${_build}.zip"
"android_${_build}.zip"
idea.desktop
idea.sh
enable-no-jdr.patch
# The class src/com/intellij/openapi/projectRoots/ex/JavaSdkUtil.java:56 (git commit 0ea5972cdad569407078fb27070c80e2b9235c53)
# assumes the user's maven repo is at {$HOME}/.m2/repository and it contains junit-3.8.1.jar
#https://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar
)
#noextract=('junit-3.8.1.jar')
sha256sums=('SKIP'
'SKIP'
'049c4326b6b784da0c698cf62262b591b20abb52e0dcf869f869c0c655f3ce93'
'd7e4a325fccd48b8c8b0a6234df337b58364e648bb9b849e85ca38a059468e71'
'5dcb0474c4e07b1b7d44844e8b2da40e4dda9eed55c904b745309b1de5df5d94')
#'b58e459509e190bed737f3592bc1950485322846cf10e78ded1d065153012d70')
prepare() {
#cd intellij-community
unzip -qo idea_${_build}.zip
# intellij-community-idea-232.8660.185
mv "intellij-community-idea-${_build}" intellij-community
unzip -qo android_${_build}.zip
cd intellij-community
# build system doesn't like symlinks
#mv "${srcdir}"/idea-android android
mv "${srcdir}/android-idea-${_build}" android
#export MAVEN_REPOSITORY=${srcdir}/.m2/repository
#mvn install:install-file \
# -Dfile="${srcdir}"/junit-3.8.1.jar \
# -DgroupId=junit \
# -DartifactId=junit \
# -Dversion=3.8.1 \
# -Dpackaging=jar \
# -DgeneratePom=true
patch -Np1 < "${srcdir}/enable-no-jdr.patch"
echo ${_build} > build.txt
}
build() {
cd intellij-community
export JAVA_HOME="/usr/lib/jvm/java-${_jdkver}-openjdk"
export PATH="/usr/lib/jvm/java-${_jdkver}-openjdk/bin:$PATH"
export MAVEN_REPOSITORY=${srcdir}/.m2/repository
./installers.cmd -Dintellij.build.use.compiled.classes=false -Dintellij.build.target.os=linux
tar -xf out/idea-ce/artifacts/ideaIC-${_build}-no-jbr.tar.gz -C "${srcdir}"
}
package() {
cd idea-IC-${_build}
install -dm 755 "${pkgdir}"/usr/share/{licenses,pixmaps,idea,icons/hicolor/scalable/apps}
cp -dr --no-preserve='ownership' bin lib plugins "${pkgdir}"/usr/share/idea/
cp -dr --no-preserve='ownership' license "${pkgdir}"/usr/share/licenses/idea
ln -s /usr/share/idea/bin/idea.png "${pkgdir}"/usr/share/pixmaps/
ln -s /usr/share/idea/bin/idea.svg "${pkgdir}"/usr/share/icons/hicolor/scalable/apps/
install -Dm 644 ../idea.desktop -t "${pkgdir}"/usr/share/applications/
install -Dm 755 ../idea.sh "${pkgdir}"/usr/bin/idea
install -Dm 644 build.txt -t "${pkgdir}"/usr/share/idea
}
# vim: ts=2 sw=2 et: