From 34796c087aa9486fc46e1825b97b789f08358724 Mon Sep 17 00:00:00 2001 From: Anton Afanasyev Date: Tue, 25 Jun 2019 22:39:51 -0700 Subject: [PATCH 1/3] Install intellij-idea-community-edition as alternative to idea --- srcpkgs/intellij-idea-community-edition/template | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/srcpkgs/intellij-idea-community-edition/template b/srcpkgs/intellij-idea-community-edition/template index b079e18e35c..0b858e7d476 100644 --- a/srcpkgs/intellij-idea-community-edition/template +++ b/srcpkgs/intellij-idea-community-edition/template @@ -1,7 +1,7 @@ # Template file for 'intellij-idea-community-edition' pkgname=intellij-idea-community-edition version=2019.2.3 -revision=1 +revision=2 archs="i686 x86_64" depends="virtual?java-environment giflib libXtst" short_desc="Java integrated development environment by JetBrains" @@ -10,6 +10,7 @@ license="Apache-2.0" homepage="https://www.jetbrains.org/" distfiles="https://download.jetbrains.com/idea/ideaIC-${version}-no-jbr.tar.gz" checksum=9742d4c65b8ce20c31e993f0e04d526b0f368d7703e34ad4d6a01713b886353a +alternatives="intellij-idea:/usr/bin/idea:/usr/bin/idea-community" repository=nonfree nopie=yes @@ -52,5 +53,5 @@ do_install() { ;; esac - ln -sf /usr/lib/intellij-idea/bin/idea.sh ${DESTDIR}/usr/bin/idea + ln -sf /usr/lib/intellij-idea/bin/idea.sh ${DESTDIR}/usr/bin/idea-community } From 3b2379c72dae262882c6ce65b34d4bed52721bd3 Mon Sep 17 00:00:00 2001 From: Anton Afanasyev Date: Tue, 25 Jun 2019 22:39:59 -0700 Subject: [PATCH 2/3] New package: intellij-idea-ultimate-edition-2019.2.3 --- .../INSTALL.msg | 2 + .../intellij-idea-ultimate-edition/template | 66 +++++++++++++++++++ srcpkgs/intellij-idea-ultimate-edition/update | 2 + 3 files changed, 70 insertions(+) create mode 100644 srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg create mode 100644 srcpkgs/intellij-idea-ultimate-edition/template create mode 100644 srcpkgs/intellij-idea-ultimate-edition/update diff --git a/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg b/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg new file mode 100644 index 00000000000..c04f6c9ab2a --- /dev/null +++ b/srcpkgs/intellij-idea-ultimate-edition/INSTALL.msg @@ -0,0 +1,2 @@ +IntelliJ Ultimate has the following optional dependencies: + libdbusmenu-glib: For global menu support diff --git a/srcpkgs/intellij-idea-ultimate-edition/template b/srcpkgs/intellij-idea-ultimate-edition/template new file mode 100644 index 00000000000..f2a83d3ad26 --- /dev/null +++ b/srcpkgs/intellij-idea-ultimate-edition/template @@ -0,0 +1,66 @@ +# Template file for 'intellij-idea-ultimate-edition' +pkgname=intellij-idea-ultimate-edition +version=2019.1.3 +revision=1 +archs="i686 x86_64" +wrksrc="idea-IU-191.7479.19" +depends="virtual?java-environment giflib libXtst" +short_desc="Most intelligent Java IDE" +maintainer="Anton Afanasyev " +license="custom:Commercial" +homepage="https://www.jetbrains.com/idea" +distfiles="https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz" +checksum=3af44f942c07b672b1cf465e3497eec060d1773c62b2d6d05b634910151f1262 +alternatives="intellij-idea:/usr/bin/idea:/usr/bin/idea-ultimate" +repository=nonfree +restricted=yes +nopie=yes + +post_extract() { + # Remove files for other OSes + rm -rf plugins/android/lib/libwebp/win + rm -rf plugins/android/lib/libwebp/mac + + # 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/idea.vmoptions + rm -rf bin/libyjpagent-linux.so + rm -rf plugins/android/lib/libwebp/linux/libwebp_jni.so + rm -rf lib/pty4j-native/linux/x86 + ;; + i686) + rm -rf bin/fsnotifier64 + rm -rf bin/idea64.vmoptions + rm -rf bin/libyjpagent-linux64.so + rm -rf plugins/android/lib/libwebp/linux/libwebp_jni64.so + rm -rf lib/pty4j-native/linux/x86_64 + ;; + 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 +} diff --git a/srcpkgs/intellij-idea-ultimate-edition/update b/srcpkgs/intellij-idea-ultimate-edition/update new file mode 100644 index 00000000000..0fd4e8031bd --- /dev/null +++ b/srcpkgs/intellij-idea-ultimate-edition/update @@ -0,0 +1,2 @@ +pattern="ideaIU-\K[\d.]+(?=-no-jbr\.tar)" +site="https://data.services.jetbrains.com/products/releases?code=IIU%2CIIC&latest=true&type=release" From 8d2e088da57bef06d05430b951191337be11a7b2 Mon Sep 17 00:00:00 2001 From: Anton Afanasyev Date: Sun, 13 Oct 2019 16:00:32 -0700 Subject: [PATCH 3/3] Install the JetBrains JRE as a separate package. --- .../intellij-idea-ultimate-edition/template | 14 +++++-- srcpkgs/jetbrains-jdk-11/template | 39 +++++++++++++++++++ srcpkgs/jetbrains-jdk-11/update | 3 ++ 3 files changed, 52 insertions(+), 4 deletions(-) create mode 100644 srcpkgs/jetbrains-jdk-11/template create mode 100644 srcpkgs/jetbrains-jdk-11/update diff --git a/srcpkgs/intellij-idea-ultimate-edition/template b/srcpkgs/intellij-idea-ultimate-edition/template index f2a83d3ad26..53c411fc5cc 100644 --- a/srcpkgs/intellij-idea-ultimate-edition/template +++ b/srcpkgs/intellij-idea-ultimate-edition/template @@ -1,25 +1,29 @@ # Template file for 'intellij-idea-ultimate-edition' pkgname=intellij-idea-ultimate-edition -version=2019.1.3 +version=2019.2.3 revision=1 archs="i686 x86_64" -wrksrc="idea-IU-191.7479.19" -depends="virtual?java-environment giflib libXtst" +wrksrc="idea-IU-192.6817.14" +depends="giflib libXtst jetbrains-jdk-11" short_desc="Most intelligent Java IDE" maintainer="Anton Afanasyev " license="custom:Commercial" homepage="https://www.jetbrains.com/idea" distfiles="https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz" -checksum=3af44f942c07b672b1cf465e3497eec060d1773c62b2d6d05b634910151f1262 +checksum=a90806a70cbc5925a8584639c7a1e640d3bb987e05f9c2821d566d8457b4942a alternatives="intellij-idea:/usr/bin/idea:/usr/bin/idea-ultimate" 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 post_extract() { # Remove files for other OSes rm -rf plugins/android/lib/libwebp/win rm -rf plugins/android/lib/libwebp/mac + rm -rf plugins/maven/lib/maven3/lib/jansi-native/freebsd64 + rm -rf plugins/maven/lib/maven3/lib/jansi-native/freebsd32 # Remove files for other CPU architectures rm -rf bin/fsnotifier-arm @@ -54,6 +58,8 @@ do_install() { # Ideally vlicense should be called here, but vcopy is more terse. vcopy license/* ${LICENSE_PATH} + mkdir -p /usr/lib/jvm/jbrsdk-11 + ln -sf /usr/lib/jvm/jbrsdk-11 ${DESTDIR}/${TARGET_PATH}/jbr vcopy bin ${TARGET_PATH} vcopy help ${TARGET_PATH} vcopy lib ${TARGET_PATH} diff --git a/srcpkgs/jetbrains-jdk-11/template b/srcpkgs/jetbrains-jdk-11/template new file mode 100644 index 00000000000..1dc9cf5aafc --- /dev/null +++ b/srcpkgs/jetbrains-jdk-11/template @@ -0,0 +1,39 @@ +# Template file for 'jetbrains-jdk-11' + +_jdk_build=520.2 +_jdk_fullver="11.0.4" +archive_name="jbrsdk-${_jdk_fullver//\./_}-linux-x64-b${_jdk_build}.tar.gz" + +pkgname=jetbrains-jdk-11 +version="${_jdk_fullver}b${_jdk_build}" +revision=1 +archs="x86_64" +wrksrc="jbrsdk" +hostmakedepends="aria2" +depends="" +short_desc="JetBrains Java 11 JDK" +maintainer="Anton Afanasyev " +license="GPL-2.0+CE" +homepage="https://github.com/JetBrains/JetBrainsRuntime" +distfiles="https://dl.bintray.com/jetbrains/intellij-jbr/${archive_name}" +checksum=690307a7bde2ae6ee11f245d8064bfa928bb6b03240ce75caebcb6002c934472 +nopie=yes +# This JDK appears to link to libs that do not exist, but still continues to function well even in their absence. +# Best guess is that they are optional. ¯\_(ツ)_/¯ +noverifyrdeps=yes + +fetch_cmd="aria2c -c" + +do_install() { + TARGET_PATH="usr/lib/jvm/jbrsdk-11" + + vmkdir ${TARGET_PATH} + + vcopy bin ${TARGET_PATH} + vcopy conf ${TARGET_PATH} + vcopy include ${TARGET_PATH} + vcopy jmods ${TARGET_PATH} + vcopy legal ${TARGET_PATH} + vcopy lib ${TARGET_PATH} + vcopy release ${TARGET_PATH} +} diff --git a/srcpkgs/jetbrains-jdk-11/update b/srcpkgs/jetbrains-jdk-11/update new file mode 100644 index 00000000000..251f1bcb8f9 --- /dev/null +++ b/srcpkgs/jetbrains-jdk-11/update @@ -0,0 +1,3 @@ +version=b${version#*b} +pattern="jbrsdk-\d+_\d+_\d+-(?:linux-x64-)\Kb\d+\.\d+(?=\.tar\.gz)" +site="https://bintray.com/package/files/jetbrains/intellij-jbr/jbrsdk11-linux-x64"