File standalone-pack200.patch of Package icedtea-web

--- icedtea-web-1.8.8/acinclude.m4	2025-06-19 11:10:05.838490790 +0200
+++ icedtea-web-1.8.8/acinclude.m4	2025-06-19 11:10:18.671214614 +0200
@@ -498,6 +498,39 @@
 ])
 
 
+AC_DEFUN_ONCE([IT_CHECK_FOR_PACK200],
+[
+  AC_MSG_CHECKING([for pack200])
+  AC_ARG_WITH([tagsoup],
+             [AS_HELP_STRING([--with-pack200],
+                             [pack200.jar])],
+             [
+                PACK200_JAR=${withval}
+             ],
+             [
+                PACK200_JAR=
+             ])
+  if test -z "${PACK200_JAR}"; then
+    for dir in /usr/share/java /usr/local/share/java ; do
+      if test -f $dir/pack200.jar; then
+        PACK200_JAR=$dir/pack200.jar
+	    break
+      fi
+    done
+  fi
+  AM_COND_IF([WINDOWS], [
+    PACK200_JAR=$(cygpath -m ${PACK200_JAR})
+  ])
+  AC_MSG_RESULT(${PACK200_JAR})
+  if test -z "${PACK200_JAR}"; then
+    AC_MSG_ERROR(***********************************************)
+    AC_MSG_ERROR(*     Needed pack200 library was not found    *)
+    AC_MSG_ERROR(***********************************************)
+  fi
+  AC_SUBST(PACK200_JAR)
+])
+
+
 AC_DEFUN_ONCE([IT_CHECK_FOR_MSLINKS],
 [
   AC_MSG_CHECKING([for mslinks])
--- icedtea-web-1.8.8/configure.ac	2025-06-19 11:10:05.867431696 +0200
+++ icedtea-web-1.8.8/configure.ac	2025-06-19 11:10:18.671796099 +0200
@@ -153,7 +153,6 @@
   JAVA_DESKTOP=java.desktop
   JAVA_NAMING=java.naming
 fi
-IT_CHECK_FOR_CLASS(JAVA_UTIL_JAR_PACK200, [java.util.jar.Pack200], [some.pkg], [])
 IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEMANAGER, [java.net.CookieManager], [some.pkg], [])
 IT_CHECK_FOR_CLASS(JAVA_NET_HTTPCOOKIE, [java.net.HttpCookie], [some.pkg], [])
 IT_CHECK_FOR_CLASS(JAVA_NET_COOKIEHANDLER, [java.net.CookieHandler], [some.pkg], [])
@@ -223,6 +222,7 @@
     [/usr/share/java/objectweb-asm4/asm-all.jar /usr/share/java/objectweb-asm4/asm-all-4.0.jar /usr/share/java/objectweb-asm/asm-all.jar])
 
 IT_CHECK_FOR_TAGSOUP
+IT_CHECK_FOR_PACK200
 IT_CHECK_FOR_MSLINKS
 
 if test "x$build_windows" = xyes ; then
--- icedtea-web-1.8.8/Makefile.am	2025-06-19 11:10:05.838887771 +0200
+++ icedtea-web-1.8.8/Makefile.am	2025-06-19 11:10:18.672619845 +0200
@@ -214,7 +214,7 @@
 #    IllegalAccessException
 #  - we want full privileges
 #
-export UNIFIED_CLASSPATH_SEGMENTS=$(NETX_JAR) $(PLUGIN_JAR) $(JSOBJECT_JAR) $(RHINO_JAR) $(TAGSOUP_JAR) $(MSLINKS_JAR)
+export UNIFIED_CLASSPATH_SEGMENTS=$(NETX_JAR) $(PLUGIN_JAR) $(JSOBJECT_JAR) $(RHINO_JAR) $(TAGSOUP_JAR) $(PACK200_JAR) $(MS $(PACK200_JAR)LINKS_JAR)
 export UNIFIED_JACOCO_CLASSPATH_SEGMENTS=$(UNIFIED_CLASSPATH_SEGMENTS) $(JACOCO_CLASSPATH)
 export UNIFIED_CLASSPATH=$(call joinsegments, $(UNIFIED_CLASSPATH_SEGMENTS))
 export UNIFIED_JACOCO_CLASSPATH=$(call joinsegments, $(UNIFIED_JACOCO_CLASSPATH_SEGMENTS))
@@ -370,6 +370,7 @@
   -e "s|[@]JSOBJECT_JAR[@]|$(JSOBJECT_JAR)|g" \
   -e "s|[@]MSLINKS_JAR[@]|$(MSLINKS_JAR)|g" \
   -e "s|[@]TAGSOUP_JAR[@]|$(TAGSOUP_JAR)|g" \
+  -e "s|[@]PACK200_JAR[@]|$(PACK200_JAR)|g" \
   -e "s|[@]RHINO_JAR[@]|$(RHINO_JAR)|g" \
   -e "s|[@]PROGRAM_NAME[@]|$${PROGRAM_NAME}|g" \
   -e "s|[@]MODULARJDK_ARGS_LOCATION[@]|$(MODULARJDK_ARGS_LOCATION)|g"
@@ -787,7 +788,7 @@
 	  mkdir -p $(TOP_BUILD_DIR)/liveconnect && \
 	  $(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
 	      -d $(TOP_BUILD_DIR)/liveconnect \
-	      $(call composeclasspath,$(NETX_DIR) $(MSLINKS_JAR) $(TAGSOUP_JAR) $(RHINO_JAR)) \
+	      $(call composeclasspath,$(NETX_DIR) $(MSLINKS_JAR) $(TAGSOUP_JAR) $(RHINO_JAR) $(PACK200_JAR)) \
 	      -sourcepath $(LIVECONNECT_SRCS) \
 	      @liveconnect-source-files.txt ; \
 	fi
@@ -946,7 +947,7 @@
 	$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
 		-d $(NETX_DIR) \
 		-sourcepath $(NETX_SRCDIR) \
-		$(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(RHINO_JAR)) \
+		$(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(PACK200_JAR) $(RHINO_JAR)) \
 	    @netx-source-files.txt
 	(cd $(NETX_RESOURCE_DIR); \
 	 for files in $$(find . -type f); \
@@ -1021,6 +1022,7 @@
 	  export NETX_JAR=$(NETX_JAR) ; \
 	  export JSOBJECT_JAR=$(JSOBJECT_JAR) ; \
 	  export TAGSOUP_JAR=$(TAGSOUP_JAR) ; \
+	  export PACK200_JAR=$(PACK200_JAR) ; \
 	  export RHINO_JAR=$(RHINO_JAR) ; \
 	  export MSLINKS_JAR=$(MSLINKS_JAR) ; \
 	  export MODULARJDK_ARGS_LOCATION=$(MODULARJDK_ARGS_LOCATION) ; \
@@ -1087,6 +1089,7 @@
 	  export NETX_JAR=$(NETX_JAR) ; \
 	  export JSOBJECT_JAR=$(JSOBJECT_JAR) ; \
 	  export TAGSOUP_JAR=$(TAGSOUP_JAR) ; \
+	  export PACK200_JAR=$(PACK200_JAR) ; \
 	  export RHINO_JAR=$(RHINO_JAR) ; \
 	  export MODULARJDK_ARGS_LOCATION=$(MODULARJDK_ARGS_LOCATION) ; \
 	  export MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ; \
@@ -1199,7 +1202,7 @@
 	 -doctitle 'IcedTea-Web: NetX API Specification' \
 	 -windowtitle 'IcedTea-Web: NetX ' \
 	 -header '<strong>IcedTea-Web<br/>NetX</strong>' \
-	 $(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(RHINO_JAR)) \
+	 $(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(PACK200_JAR) $(RHINO_JAR)) \
 	 $(NETX_PKGS)
 endif
 	mkdir -p stamps
@@ -1217,7 +1220,7 @@
 	 -doctitle 'IcedTea-Web: Plugin API Specification' \
 	 -windowtitle 'IcedTea-Web: Plugin ' \
 	 -header '<strong>IcedTea-Web<br/>Plugin</strong>' \
-	 $(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(RHINO_JAR)) \
+	 $(call composeclasspath, $(MSLINKS_JAR) $(TAGSOUP_JAR) $(PACK200_JAR) $(RHINO_JAR)) \
 	 $(PLUGIN_PKGS)
 endif
 endif
@@ -1709,7 +1712,7 @@
 	mkdir -p $(NETX_UNIT_TEST_DIR) && \
 	$(SYSTEM_JDK_DIR)/bin/javac $(IT_JAVACFLAGS) \
 	 -d $(NETX_UNIT_TEST_DIR) \
-	 $(call composeclasspath, $(JUNIT_RUNTIME) $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(NETX_DIR)/lib/classes.jar $(MSLINKS_JAR)  $(TEST_EXTENSIONS_DIR) $(TAGSOUP_JAR)) \
+	 $(call composeclasspath, $(JUNIT_RUNTIME) $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(NETX_DIR)/lib/classes.jar $(MSLINKS_JAR)  $(TEST_EXTENSIONS_DIR) $(TAGSOUP_JAR) $(PACK200_JAR)) \
 	 @netx-unit-tests-source-files.txt && \
 	mkdir -p stamps && \
 	touch $@
@@ -1739,7 +1742,7 @@
 	done ; \
 	cd $(NETX_UNIT_TEST_DIR) ; \
 	class_names=`cat $(UNIT_CLASS_NAMES)` ; \
-	CLASSPATH="$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(MSLINKS_JAR) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) . $(TEST_EXTENSIONS_SRCDIR) $(TAGSOUP_JAR))" ; \
+	CLASSPATH="$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(MSLINKS_JAR) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) . $(TEST_EXTENSIONS_SRCDIR) $(TAGSOUP_JAR) $(PACK200_JAR))" ; \
 	  $(SYSTEM_JRE_DIR)/bin/java "-Xbootclasspath/a:$$CLASSPATH" CommandLine $$class_names 
 if WITH_XSLTPROC
 	-$(XSLTPROC) --stringparam logs logs_unit.html $(TESTS_SRCDIR)/$(REPORT_STYLES_DIRNAME)/jreport.xsl $(NETX_UNIT_TEST_DIR)/tests-output.xml > $(TESTS_DIR)/index_unit.html
@@ -1779,7 +1782,7 @@
 	  mv $(NETX_UNIT_TEST_DIR)/$$file  $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_BACKUP_SUFFIX)" ; \
 	done ;\
 	class_names=`cat $(UNIT_CLASS_NAMES)` ; \
-	CLASSPATH=$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) $(JACOCO_CLASSPATH) . $(TEST_EXTENSIONS_SRCDIR) $(MSLINKS_JAR) $(TAGSOUP_JAR)) ; \
+	CLASSPATH=$(call joinsegments, $(NETX_DIR)/lib/classes.jar $(TOP_BUILD_DIR)/liveconnect/lib/classes.jar $(JUNIT_RUNTIME) $(JUNIT_RUNNER_JAR) $(TEST_EXTENSIONS_DIR) $(JACOCO_CLASSPATH) . $(TEST_EXTENSIONS_SRCDIR) $(MSLINKS_JAR) $(TAGSOUP_JAR) $(PACK200_JAR))) ; \
 	  $(SYSTEM_JRE_DIR)/bin/java $(JACOCO_AGENT_SWITCH) -Xbootclasspath/a:$$CLASSPATH CommandLine $$class_names ; \
 	for file in $(COVERAGE_MODIFIED_FILES) ; do \
 	  mv $(NETX_UNIT_TEST_DIR)/$$file  $(NETX_UNIT_TEST_DIR)/"$$file""$(EMMA_SUFFIX)" ; \
--- icedtea-web-1.8.8/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java	2025-06-19 11:10:05.844931927 +0200
+++ icedtea-web-1.8.8/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java	2025-06-19 11:10:18.673118349 +0200
@@ -8,6 +8,8 @@
 import static net.sourceforge.jnlp.cache.Resource.Status.PRECONNECT;
 import static net.sourceforge.jnlp.cache.Resource.Status.PREDOWNLOAD;
 
+import io.pack200.Pack200;
+
 import java.io.BufferedInputStream;
 import java.io.BufferedOutputStream;
 import java.io.ByteArrayInputStream;
@@ -25,7 +27,6 @@
 import java.util.List;
 import java.util.Map;
 import java.util.jar.JarOutputStream;
-import java.util.jar.Pack200;
 import java.util.zip.GZIPInputStream;
 
 import net.sourceforge.jnlp.DownloadOptions;
--- icedtea-web-1.8.8/rust-launcher/src/hardcoded_paths.rs	2025-06-19 11:10:05.867633149 +0200
+++ icedtea-web-1.8.8/rust-launcher/src/hardcoded_paths.rs	2025-06-19 11:10:18.673502756 +0200
@@ -16,6 +16,7 @@
 const PLUGIN_JAR: Option<&'static str> = option_env!("PLUGIN_JAR");
 const JSOBJECT_JAR: Option<&'static str> = option_env!("JSOBJECT_JAR");
 const TAGSOUP_JAR: Option<&'static str> = option_env!("TAGSOUP_JAR");
+const PACK200_JAR: Option<&'static str> = option_env!("PACK200_JAR");
 const RHINO_JAR: Option<&'static str> = option_env!("RHINO_JAR");
 const ITW_LIBS: Option<&'static str> = option_env!("ITW_LIBS");
 const MODULARJDK_ARGS_LOCATION: Option<&'static str> = option_env!("MODULARJDK_ARGS_LOCATION");
@@ -61,6 +62,8 @@
 
 pub fn get_tagsoup() -> Option<&'static str> { sanitize(TAGSOUP_JAR) }
 
+pub fn get_pack200() -> Option<&'static str> { sanitize(PACK200_JAR) }
+
 pub fn get_rhino() -> Option<&'static str> { sanitize(RHINO_JAR) }
 
 pub fn get_mslinks() -> Option<&'static str> { sanitize(MSLINKS_JAR) }
--- icedtea-web-1.8.8/shell-launcher/launchers.bat.in	2025-06-19 11:10:05.868042344 +0200
+++ icedtea-web-1.8.8/shell-launcher/launchers.bat.in	2025-06-19 11:10:18.673812373 +0200
@@ -31,6 +31,7 @@
 set "PLUGIN_JAR=@PLUGIN_JAR@"
 set "JSOBJECT_JAR=@JSOBJECT_JAR@"
 set "TAGSOUP_JAR=@TAGSOUP_JAR@"
+set "PACK200_JAR=@PACK200_JAR@"
 set "RHINO_JAR=@RHINO_JAR@"
 set "MSLINKS_JAR=@MSLINKS_JAR@"
 
@@ -92,7 +93,7 @@
   set "NETX_JAR=%ITW_HOME%/share/icedtea-web/javaws.jar"
   set "PLUGIN_JAR=%ITW_HOME%/share/icedtea-web/plugin.jar"
   set "JSOBJECT_JAR=%ITW_HOME%/share/icedtea-web/jsobject.jar"
-  set "LAUNCHER_BOOTCLASSPATH=-Xbootclasspath/a:!NETX_JAR!;!PLUGIN_JAR!;!JSOBJECT_JAR!;%ITW_HOME%/win-deps-runtime/tagsoup.jar;%ITW_HOME%/win-deps-runtime/js.jar;%ITW_HOME%/win-deps-runtime/mslinks.jar"
+  set "LAUNCHER_BOOTCLASSPATH=-Xbootclasspath/a:!NETX_JAR!;!PLUGIN_JAR!;!JSOBJECT_JAR!;%ITW_HOME%/win-deps-runtime/tagsoup.jar;%ITW_HOME%/win-deps-runtime/pack200.jar;%ITW_HOME%/win-deps-runtime/js.jar;%ITW_HOME%/win-deps-runtime/mslinks.jar"
 )
 
 
--- icedtea-web-1.8.8/shell-launcher/launchers.sh.in	2025-06-19 11:10:05.868091925 +0200
+++ icedtea-web-1.8.8/shell-launcher/launchers.sh.in	2025-06-19 11:10:18.674082426 +0200
@@ -18,6 +18,7 @@
 PLUGIN_JAR=@PLUGIN_JAR@
 JSOBJECT_JAR=@JSOBJECT_JAR@
 TAGSOUP_JAR=@TAGSOUP_JAR@
+PACK200_JAR=@PACK200_JAR@
 RHINO_JAR=@RHINO_JAR@
 # windows only:
 #MSLINKS_JAR=@MSLINKS_JAR@
@@ -75,7 +76,7 @@
   NETX_JAR="$ITW_HOME/share/icedtea-web/`basename \"$NETX_JAR\"`"
   PLUGIN_JAR="$ITW_HOME/share/icedtea-web/`basename \"$PLUGIN_JAR\"`"
   JSOBJECT_JAR="$ITW_HOME/share/icedtea-web/`basename \"$JSOBJECT_JAR\"`"
-  LAUNCHER_BOOTCLASSPATH="-Xbootclasspath/a:$NETX_JAR:$PLUGIN_JAR:$JSOBJECT_JAR:$ITW_HOME/linux-deps-runtime/`basename \"$TAGSOUP_JAR\"`:$ITW_HOME/linux-deps-runtime/`basename \"$RHINO_JAR\"`"
+  LAUNCHER_BOOTCLASSPATH="-Xbootclasspath/a:$NETX_JAR:$PLUGIN_JAR:$JSOBJECT_JAR:$ITW_HOME/linux-deps-runtime/`basename \"$TAGSOUP_JAR\"`:$ITW_HOME/linux-deps-runtime/`basename \"$PACK200_JAR\"`:$ITW_HOME/linux-deps-runtime/`basename \"$RHINO_JAR\"`"
   echo "warning, using portable itw from $ITW_HOME: $LAUNCHER_BOOTCLASSPATH $BINARY_LOCATION $SPLASH_LOCATION"
 fi
 
--- icedtea-web-1.8.8/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceDownloaderTest.java	2025-06-19 11:10:05.872760870 +0200
+++ icedtea-web-1.8.8/tests/netx/unit/net/sourceforge/jnlp/cache/ResourceDownloaderTest.java	2025-06-19 11:10:18.674392880 +0200
@@ -3,6 +3,8 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
+import io.pack200.Pack200;
+
 import java.io.ByteArrayOutputStream;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -16,7 +18,6 @@
 import java.util.jar.Attributes;
 import java.util.jar.JarOutputStream;
 import java.util.jar.Manifest;
-import java.util.jar.Pack200;
 import java.util.zip.GZIPOutputStream;
 
 import org.junit.AfterClass;
openSUSE Build Service is sponsored by