Github messages for voidlinux
 help / color / mirror / Atom feed
From: 2asoft <2asoft@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] intellij-idea-ultimate-edition: update to 2022.2.2.
Date: Wed, 07 Dec 2022 19:46:04 +0100	[thread overview]
Message-ID: <20221207184604.uEmec9WOEoaTMoIUk1ttrulstM05OziEUybLBzzYS5o@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-36713@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 526 bytes --]

There is an updated pull request by 2asoft against master on the void-packages repository

https://github.com/2asoft/void-packages 2asoft/jb_update_idea_ultimate
https://github.com/void-linux/void-packages/pull/36713

intellij-idea-ultimate-edition: update to 2022.2.2.
#### Testing the changes
- I tested the changes in this PR: **briefly**

#### Local build testing
- I built this PR locally for my native architecture, (x86_64)

A patch file from https://github.com/void-linux/void-packages/pull/36713.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-2asoft/jb_update_idea_ultimate-36713.patch --]
[-- Type: text/x-diff, Size: 13218 bytes --]

From 4aab09a13555c54a2222d6d86f7658e671d86eb3 Mon Sep 17 00:00:00 2001
From: Anton Afanasyev <anton@doubleasoftware.com>
Date: Sat, 30 Jul 2022 08:47:49 -0700
Subject: [PATCH 1/2] New package: jetbrains-jdk17-17.0.5b653.14.

---
 .../01-jdk_build_classlist_sort_to_file.diff  |  64 ++++++++++
 srcpkgs/jetbrains-jdk17/template              | 117 ++++++++++++++++++
 srcpkgs/jetbrains-jdk17/update                |   2 +
 3 files changed, 183 insertions(+)
 create mode 100644 srcpkgs/jetbrains-jdk17/patches/01-jdk_build_classlist_sort_to_file.diff
 create mode 100644 srcpkgs/jetbrains-jdk17/template
 create mode 100644 srcpkgs/jetbrains-jdk17/update

diff --git a/srcpkgs/jetbrains-jdk17/patches/01-jdk_build_classlist_sort_to_file.diff b/srcpkgs/jetbrains-jdk17/patches/01-jdk_build_classlist_sort_to_file.diff
new file mode 100644
index 000000000000..e94884daf217
--- /dev/null
+++ b/srcpkgs/jetbrains-jdk17/patches/01-jdk_build_classlist_sort_to_file.diff
@@ -0,0 +1,64 @@
+diff --git a/make/GenerateLinkOptData.gmk b/make/GenerateLinkOptData.gmk
+index 5dd766c8c07..7b2480625f1 100644
+--- a/make/GenerateLinkOptData.gmk
++++ b/make/GenerateLinkOptData.gmk
+@@ -89,9 +89,10 @@ $(CLASSLIST_FILE): $(INTERIM_IMAGE_DIR)/bin/java$(EXECUTABLE_SUFFIX) $(CLASSLIST
+ 	        exit $$exitcode \
+ 	    )
+ 	$(GREP) -v HelloClasslist $@.raw.2 > $@.raw.3
++	echo "" > $@
+ 	$(FIXPATH) $(INTERIM_IMAGE_DIR)/bin/java \
+ 	    -cp $(SUPPORT_OUTPUTDIR)/classlist.jar \
+-	    build.tools.classlist.SortClasslist $@.raw.3 > $@
++	    build.tools.classlist.SortClasslist $@.raw.3 $@
+ 
+ # The jli trace is created by the same recipe as classlist. By declaring these
+ # dependencies, make will correctly rebuild both jli trace and classlist
+diff --git a/make/jdk/src/classes/build/tools/classlist/SortClasslist.java b/make/jdk/src/classes/build/tools/classlist/SortClasslist.java
+index 07987feb2da..7a5b84421fc 100644
+--- a/make/jdk/src/classes/build/tools/classlist/SortClasslist.java
++++ b/make/jdk/src/classes/build/tools/classlist/SortClasslist.java
+@@ -33,6 +33,10 @@ package build.tools.classlist;
+ 
+ import java.io.FileInputStream;
+ import java.io.FileNotFoundException;
++import java.io.FileOutputStream;
++import java.io.OutputStreamWriter;
++import java.io.PrintWriter;
++import java.nio.charset.StandardCharsets;
+ import java.util.ArrayList;
+ import java.util.Collections;
+ import java.util.regex.Pattern;
+@@ -50,13 +54,15 @@ public class SortClasslist {
+         ArrayList<String> lambdas = new ArrayList<>();
+ 
+         FileInputStream fis = new FileInputStream(args[0]);
++        FileOutputStream fos = new FileOutputStream(args[1], false);
++        PrintWriter outWriter = new PrintWriter(new OutputStreamWriter(fos, StandardCharsets.UTF_8));
+         Scanner scanner = new Scanner(fis);
+         while (scanner.hasNextLine()) {
+             String line = scanner.nextLine();
+             if (line.startsWith("#")) {
+                 // Comments -- print them first without sorting. These appear only at the top
+                 // of the file.
+-                System.out.println(line);
++                outWriter.println(line);
+             } else if (line.startsWith("@")) {
+                 // @lambda-form-invoker, @lambda-proxy, etc.
+                 lambdas.add(line);
+@@ -73,10 +79,13 @@ public class SortClasslist {
+         Collections.sort(lambdas);
+ 
+         for (String s : classes) {
+-            System.out.println(s);
++            outWriter.println(s);
+         }
+         for (String s : lambdas) {
+-            System.out.println(s);
++            outWriter.println(s);
+         }
++
++        outWriter.flush();
++        outWriter.close();
+     }
+ }
diff --git a/srcpkgs/jetbrains-jdk17/template b/srcpkgs/jetbrains-jdk17/template
new file mode 100644
index 000000000000..a375bf4b27b6
--- /dev/null
+++ b/srcpkgs/jetbrains-jdk17/template
@@ -0,0 +1,117 @@
+# Template file for 'jetbrains-jdk17'
+pkgname=jetbrains-jdk17
+version=17.0.5b653.14
+revision=1
+_gtest_ver=1.8.1
+archs="x86_64"
+_tag_name="jbr-release-${version}"
+_jdk_home="usr/lib/jvm/jbrsdk"
+create_wrksrc=yes
+build_wrksrc="JetBrainsRuntime-${_tag_name}"
+build_style=gnu-configure
+configure_args="
+ --with-vendor-name=Void
+ --with-vendor-url=https://voidlinux.org/
+ --with-vendor-bug-url=https://github.com/void-linux/void-packages/issues
+ --with-vendor-vm-bug-url=https://github.com/void-linux/void-packages/issues
+ --with-version-pre=
+ --with-version-opt=${version#*b}-void-r${revision}
+ --with-stdc++lib=dynamic
+ --with-libjpeg=system
+ --with-giflib=system
+ --with-libpng=system
+ --with-lcms=system
+ --with-zlib=system
+ --with-jtreg=no
+ --with-harfbuzz=system
+ --with-jvm-features=zgc
+ --enable-unlimited-crypto
+ --disable-warnings-as-errors
+ --with-native-debug-symbols=internal
+ --with-debug-level=release
+ --with-jobs=${XBPS_ORIG_MAKEJOBS}
+ --with-gtest=../googletest-release-${_gtest_ver}
+"
+make_build_args="images"
+make_install_args="INSTALL_PREFIX=\"${DESTDIR}/usr/lib\""
+make_check_target="test-hotspot-gtest"
+hostmakedepends="pkg-config zip unzip autoconf automake libtool which make-ca"
+makedepends="alsa-lib-devel cups-devel libX11-devel libjpeg-turbo-devel harfbuzz-devel giflib-devel freetype-devel libXtst-devel libXt-devel libXrender-devel alsa-lib-devel fontconfig-devel libXrandr-devel libXi-devel zlib-devel lcms2-devel"
+short_desc="JetBrains Java 17 JDK"
+maintainer="Anton Afanasyev <anton@doubleasoftware.com>"
+license="GPL-2.0-only, Classpath-exception-2.0"
+homepage="https://github.com/JetBrains/JetBrainsRuntime"
+distfiles="https://github.com/JetBrains/JetBrainsRuntime/archive/refs/tags/${_tag_name}.tar.gz
+ https://github.com/google/googletest/archive/refs/tags/release-${_gtest_ver}.tar.gz"
+checksum="8085a422482d51b0bc89c8863436d1ce61252cbca2bb0b314db8daf67e3c7e2e
+ 9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c"
+patch_args="-Np1 -d ${build_wrksrc}"
+conflicts="jetbrains-jdk-bin"
+
+# For whatever reason, XBPS finds libjava, libjli, etc as dependencies of this package, and decides to make it depend on openjdk8, which provides those.
+# But that is not true, nor desired -- this is a full fledged JDK distribution, just not installed as such here in XBPS land.
+noverifyrdeps=yes
+
+# Build and check are still parallel, but don't use -jN.
+disable_parallel_build=yes
+disable_parallel_check=yes
+
+# This does not currently accomplish anything, since only building on x86_64. Leaving this for future, taken from `openjdk17`.
+if [ ! "$CROSS_BUILD" ]; then
+	makedepends+=" openjdk16-bootstrap"
+	configure_args+=" --with-boot-jdk=/usr/lib/jvm/openjdk16"
+else
+	makedepends+=" openjdk17"
+	configure_args+=" --with-boot-jdk=/usr/lib/jvm/openjdk17"
+fi
+configure_args+=" --with-boot-jdk-jvmargs=-Xlog:disable"
+
+do_configure() {
+	CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/}
+	CXXFLAGS=${CXXFLAGS/-D_FORTIFY_SOURCE=2/}
+
+	configure_args=${configure_args/--with-libtool-sysroot=$XBPS_CROSS_BASE}
+	if [ "$XBPS_CCACHE" ] && [ -z "$CROSS_BUILD" ]; then
+		configure_args+=" --enable-ccache"
+		CC="/usr/bin/cc"
+		CXX="/usr/bin/c++"
+	fi
+
+	sh ./configure ${configure_args} \
+		--with-extra-cflags="$CFLAGS" \
+		--with-extra-cxxflags="$CXXFLAGS" \
+		--with-extra-ldflags="$LDFLAGS" \
+		READELF=$READELF AR=$AR STRIP=$STRIP NM=$NM \
+		OBJDUMP=$OBJDUMP OBJCOPY=$OBJCOPY
+}
+
+# TODO: openjdk17 had the following hook in it. Debug it for understanding.
+#post_install() {
+#	vmkdir $_jdk_home/lib/security
+#	make-ca -g -f --destdir "${PWD}/ca" -k "${DESTDIR}/$_jdk_home/bin/keytool"
+#	mv ./ca/etc/pki/tls/java/cacerts ${DESTDIR}/$_jdk_home/lib/security/
+#	chmod -R ugo+rw ./ca
+#	rm -rf ./ca
+#}
+
+do_install() {
+	TARGET_PATH="${_jdk_home}"
+
+	vmkdir ${TARGET_PATH}
+
+	vlicense ASSEMBLY_EXCEPTION
+	vlicense LICENSE
+
+	cd build/linux-*-server-release/images/jdk/
+	vcopy bin ${TARGET_PATH}
+	vcopy conf ${TARGET_PATH}
+	vcopy include ${TARGET_PATH}
+	vcopy legal ${TARGET_PATH}
+	vcopy lib ${TARGET_PATH}
+	vcopy release ${TARGET_PATH}
+
+	vmkdir etc/profile.d
+	cat > ${DESTDIR}/etc/profile.d/10_jbrsdk.sh <<EOF
+export IDEA_JDK=\${IDEA_JDK=/${_jdk_home}}
+EOF
+}
diff --git a/srcpkgs/jetbrains-jdk17/update b/srcpkgs/jetbrains-jdk17/update
new file mode 100644
index 000000000000..215972d02843
--- /dev/null
+++ b/srcpkgs/jetbrains-jdk17/update
@@ -0,0 +1,2 @@
+pattern='/archive/refs/tags/jbr-release-\K17[\d.]+b[\d.]+(?=\.tar\.gz)'
+site="https://github.com/JetBrains/JetBrainsRuntime/tags"

From 78dfba0bae193ce082d7f4ba84184d009e6e8c5f Mon Sep 17 00:00:00 2001
From: Anton Afanasyev <anton@doubleasoftware.com>
Date: Fri, 15 Apr 2022 09:13:20 -0700
Subject: [PATCH 2/2] intellij-idea-ultimate-edition: update to 2022.3.

---
 .../intellij-idea-ultimate-edition/template   | 38 ++++++-------------
 srcpkgs/intellij-idea-ultimate-edition/update |  4 +-
 2 files changed, 14 insertions(+), 28 deletions(-)

diff --git a/srcpkgs/intellij-idea-ultimate-edition/template b/srcpkgs/intellij-idea-ultimate-edition/template
index 92ad9135f3a9..729368680f76 100644
--- a/srcpkgs/intellij-idea-ultimate-edition/template
+++ b/srcpkgs/intellij-idea-ultimate-edition/template
@@ -1,23 +1,25 @@
 # Template file for 'intellij-idea-ultimate-edition'
 pkgname=intellij-idea-ultimate-edition
-version=2021.3.3
+version=2022.3
 revision=1
 archs="i686 x86_64"
 create_wrksrc="true"
-depends="giflib libXtst jetbrains-jdk-bin"
+depends="giflib libXtst jetbrains-jdk17"
 short_desc="Most intelligent Java IDE"
 maintainer="Anton Afanasyev <anton@doubleasoftware.com>"
 license="custom:Commercial"
 homepage="https://www.jetbrains.com/idea"
-_filename="ideaIU-${version}-no-jbr.tar.gz"
+_filename="ideaIU-${version}.tar.gz"
 distfiles="https://download.jetbrains.com/idea/${_filename}"
-checksum=2a3295fca08060ad515f6c7198879d09963724cfb36af3ea94f16dcd76636470
+checksum=9675c15bea4b3d0e2b00265f1b4c7c775f4187cfda9b894b4109c90ceb8e3061
 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
+noshlibprovides=yes
 python_version=3
+nostrip=yes
 
 do_extract() {
 	bsdtar xf ${XBPS_SRCDISTDIR}/${pkgname}-${version}/${_filename} --strip-components=1 -C .
@@ -25,30 +27,17 @@ do_extract() {
 
 post_extract() {
 	# Remove files for other OSes
-	rm -rf plugins/cwm-plugin/quiche-native/darwin-aarch64
-	rm -rf plugins/cwm-plugin/quiche-native/darwin-x86-64
-	rm -rf plugins/cwm-plugin/quiche-native/win32-x86-64
-	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/performanceTesting/bin/libyjpagent.dylib
-	rm -rf plugins/performanceTesting/bin/yjpagent.dll
-	rm -rf plugins/performanceTesting/bin/yjpagent64.dll
-	rm -rf plugins/webp/lib/libwebp/mac
-	rm -rf plugins/webp/lib/libwebp/win
+	rm -rf plugins/cwm-plugin/quiche-native/{darwin-aarch64,darwin-x86-64,win32-x86-64}
+	rm -rf plugins/Kotlin/bin/{macos,windows}
+	rm -rf plugins/maven/lib/maven3/lib/jansi-native/{freebsd32,freebsd64,osx,windows32,windows64}
+	rm -rf plugins/performanceTesting/bin/{libyjpagent.dylib,yjpagent.dll,yjpagent64.dll}
+	rm -rf plugins/webp/lib/libwebp/{mac,win}
 
 	# Remove files for other CPU architectures
-	rm -rf bin/fsnotifier-arm
-	rm -rf lib/pty4j-native/linux/aarch64
-	rm -rf lib/pty4j-native/linux/arm
-	rm -rf lib/pty4j-native/linux/mips64el
-	rm -rf lib/pty4j-native/linux/ppc64le
+	rm -rf lib/pty4j-native/linux/{aarch64,arm,mips64el,ppc64le}
 
 	case "$XBPS_TARGET_MACHINE" in
 		x86_64)
-			rm -rf bin/idea.vmoptions
 			rm -rf lib/pty4j-native/linux/x86
 			rm -rf plugins/android/lib/libwebp/linux/libwebp_jni.so
 			rm -rf plugins/maven/lib/maven3/lib/jansi-native/linux32
@@ -56,8 +45,6 @@ post_extract() {
 			rm -rf plugins/webp/lib/libwebp/linux/libwebp_jni.so
 			;;
 		i686)
-			rm -rf bin/idea64.vmoptions
-			rm -rf bin/libyjpagent-linux64.so
 			rm -rf lib/pty4j-native/linux/x86_64
 			rm -rf plugins/android/lib/libwebp/linux/libwebp_jni64.so
 			rm -rf plugins/maven/lib/maven3/lib/jansi-native/linux64
@@ -82,7 +69,6 @@ do_install() {
 	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}
 
diff --git a/srcpkgs/intellij-idea-ultimate-edition/update b/srcpkgs/intellij-idea-ultimate-edition/update
index 0fd4e8031bd5..47b4c56e8f7e 100644
--- a/srcpkgs/intellij-idea-ultimate-edition/update
+++ b/srcpkgs/intellij-idea-ultimate-edition/update
@@ -1,2 +1,2 @@
-pattern="ideaIU-\K[\d.]+(?=-no-jbr\.tar)"
-site="https://data.services.jetbrains.com/products/releases?code=IIU%2CIIC&latest=true&type=release"
+pattern="ideaIU-\K[\d.]+(?=\.tar\.gz)"
+site="https://data.services.jetbrains.com/products/releases?code=IIU&latest=true&type=release"

  parent reply	other threads:[~2022-12-07 18:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-15 19:55 [PR PATCH] intellij-idea-ultimate-edition: update to 2022.1 2asoft
2022-05-13  6:12 ` [PR PATCH] [Updated] " 2asoft
2022-06-02  5:42 ` [PR PATCH] [Updated] intellij-idea-ultimate-edition: update to 2022.1.1 2asoft
2022-06-22  8:01 ` [PR PATCH] [Updated] intellij-idea-ultimate-edition: update to 2022.1.2 2asoft
2022-07-22  6:58 ` 2asoft
2022-07-26 19:59 ` 2asoft
2022-07-29 15:57 ` 2asoft
2022-08-23  3:48 ` 2asoft
2022-09-09 18:25 ` 2asoft
2022-09-16 20:14 ` 2asoft
2022-09-16 21:01 ` [PR PATCH] [Updated] intellij-idea-ultimate-edition: update to 2022.2.2 2asoft
2022-10-08  9:05 ` 2asoft
2022-10-31  8:19 ` 2asoft
2022-11-10 13:34 ` 2asoft
2022-12-07 18:46 ` 2asoft [this message]
2023-01-14  5:34 ` 2asoft
2023-02-10  8:01 ` 2asoft
2023-02-10  8:07 ` 2asoft
2023-03-26 22:16 ` 2asoft
2023-04-07 18:28 ` 2asoft
2023-07-07  2:06 ` github-actions
2023-07-22  1:53 ` [PR PATCH] [Closed]: " github-actions

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221207184604.uEmec9WOEoaTMoIUk1ttrulstM05OziEUybLBzzYS5o@z \
    --to=2asoft@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).