diff --git a/.gitignore b/.gitignore index 70ae512..3dfb296 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ /fernflower-183.5153.8.tar.gz -/fernflower-211.7442.40.tar.gz diff --git a/create-sources.sh b/create-sources.sh index 6a9b44c..d21de1d 100644 --- a/create-sources.sh +++ b/create-sources.sh @@ -1,13 +1,13 @@ # idea soources have 280MB # decompiler itself is 375kB now, including test classes... -VERSION=211.7442.40 +VERSION=183.5153.8 INPUT=$VERSION.tar.gz TOP_DIR=intellij-community-idea-$VERSION DECOMPILER_DIR=$TOP_DIR/plugins/java-decompiler NAME=fernflower OUT_NAME=$NAME-$VERSION OUTPUT=$OUT_NAME.tar.gz - +TEST=true; if [ -e $OUTPUT ] ; then echo "$OUTPUT already exists" else @@ -29,3 +29,12 @@ else mv $DECOMPILER_DIR/$OUTPUT . rm -rf $TOP_DIR fi +if [ $TEST == "true" ] ; then + tar -xvf $OUTPUT + pushd $OUT_NAME + gradle-local jar + find | grep $NAME.jar + popd +fi + + diff --git a/fernflower b/fernflower index 5adcf15..07e3d6a 100644 --- a/fernflower +++ b/fernflower @@ -5,3 +5,4 @@ MAIN_CLASS=org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler set_classpath fernflower run ${@} + diff --git a/fernflower.spec b/fernflower.spec index daa1e57..a7c644b 100644 --- a/fernflower.spec +++ b/fernflower.spec @@ -4,13 +4,12 @@ %global with_javadoc 1 Name: fernflower -Version: 211.7442.40 -Release: 16%{?dist} +Version: 183.5153.8 +Release: 2%{?dist} Summary: JIdea's java decompiler -# Automatically converted from old format: ASL 2.0 - review is highly recommended. -License: Apache-2.0 +Group: Development/Tools +License: ASL 2.0 URL: https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine - #Source0: https://github.com/JetBrains/intellij-community/archive/idea/%%{version}.tar.gz # this source is 280MB big, so only the decompiler is repacked via create-sources.sh and has 350kB # generated by source2; `create-sources.sh 183.5153.8` @@ -18,22 +17,18 @@ Source0: %{name}-%{version}.tar.gz # launcher Source1: %{name} Source2: create-sources.sh - Patch0: remove_main.patch -Patch1: port_to_java_8.patch - BuildArch: noarch -ExclusiveArch: %{java_arches} noarch - -BuildRequires: javapackages-tools -BuildRequires: java-25-devel +BuildRequires: jpackage-utils +BuildRequires: java-devel %if %{with_javadoc} BuildRequires: zip %endif -Requires: java-25-headless -Requires: javapackages-tools +Requires: java-headless +Requires: jpackage-utils Provides: %{name}-decompiler + %description JIdea's decompiler is the first actually working analytical decompiler for Java and probably for a high-level programming language in general. Naturally it is still under development, @@ -42,7 +37,8 @@ please send your bug reports and improvement suggestions to the issue tracker. %if %{with_javadoc} %package javadoc Summary: %{name} API documentation -Requires: javapackages-filesystem +Group: Documentation +Requires: jpackage-utils BuildArch: noarch Provides: %{name}-decompiler-javadoc @@ -62,12 +58,11 @@ rm -vf gradle/wrapper/gradle-wrapper.jar find | grep "\\.class$" && exit 1 find | grep "\\.jar$" && exit 1 #removing main method from entry point jar -%patch -P0 -%patch -P1 -p1 +%patch0 %build mkdir build -javac -source 8 -target 8 -d build `find src -type f` +javac -d build `find src -type f` cd build jar -cf ../%{name}.jar org cd .. @@ -82,6 +77,7 @@ cd .. zip -r %{name}.zip fernflower-javadoc %endif + %install mkdir -p $RPM_BUILD_ROOT/%{_bindir}/ cp %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir}/ # cusotm launcher for main method in main jar @@ -106,80 +102,9 @@ cp %{name}.zip $RPM_BUILD_ROOT/%{_javadocdir}/ %endif %changelog -* Mon Jul 28 2025 jiri vanek - 211.7442.40-16 -- Rebuilt for java-25-openjdk as preffered jdk - -* Wed Jul 23 2025 Fedora Release Engineering - 211.7442.40-15 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 211.7442.40-14 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 24 2024 Miroslav Suchý - 211.7442.40-13 -- convert license to SPDX - -* Wed Jul 17 2024 Fedora Release Engineering - 211.7442.40-12 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Feb 27 2024 Jiri Vanek - 211.7442.40-11 -- Rebuilt for java-21-openjdk as system jdk - -* Wed Jan 24 2024 Fedora Release Engineering - 211.7442.40-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 211.7442.40-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 211.7442.40-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Thu Jan 19 2023 Fedora Release Engineering - 211.7442.40-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 211.7442.40-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jul 08 2022 Jiri Vanek - 211.7442.40-5 -- Rebuilt for Drop i686 JDKs - -* Sat Feb 05 2022 Jiri Vanek - 211.7442.40-4 -- Rebuilt for java-17-openjdk as system jdk - -* Thu Jan 20 2022 Fedora Release Engineering - 211.7442.40-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 211.7442.40-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jun 02 2021 Marian Koncek - 211.7442.40-1 -- Update to upstream version 211.7442.40 - -* Tue Jan 26 2021 Fedora Release Engineering - 183.5153.8-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Dec 10 2020 Jiri Vanek - 183.5153.8-9 -- set source/target of 8 - -* Mon Jul 27 2020 Fedora Release Engineering - 183.5153.8-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 10 2020 Jiri Vanek - 183.5153.8-7 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Tue Feb 18 2020 Jiri Vanek - 183.5153.8-6 -- moved to gradle-less build - -* Tue Jan 28 2020 Fedora Release Engineering - 183.5153.8-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 183.5153.8-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu Jan 31 2019 Fedora Release Engineering - 183.5153.8-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - * Fri Jan 18 2019 Jiri Vanek - 183.5153.8-2 - added virtual provides of fernflower-decompiler and fernflower-decompiler-javadoc * Wed Jan 09 2019 Jiri Vanek - 183.5153.8-1 +- changes for epel jpackage-utils instead of javapackages-tools; simple javac+jar instead of gradle - initial package diff --git a/port_to_java_8.patch b/port_to_java_8.patch deleted file mode 100644 index 20ae101..0000000 --- a/port_to_java_8.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/org/jetbrains/java/decompiler/util/SFormsFastMapDirect.java b/src/org/jetbrains/java/decompiler/util/SFormsFastMapDirect.java -index bb8b4dd..30fcb9b 100644 ---- a/src/org/jetbrains/java/decompiler/util/SFormsFastMapDirect.java -+++ b/src/org/jetbrains/java/decompiler/util/SFormsFastMapDirect.java -@@ -342,7 +342,7 @@ public class SFormsFastMapDirect { - if (ent != null) { - final int key = i == 0 ? ikey : (i == 1 ? ikey + VarExprent.STACK_BASE : -ikey); - -- list.add(new Entry<>() { -+ list.add(new Entry>() { - - private final Integer var = key; - private final FastSparseSet val = ent; diff --git a/remove_main.patch b/remove_main.patch index 6490081..c144656 100644 --- a/remove_main.patch +++ b/remove_main.patch @@ -1,13 +1,13 @@ ---- build.gradle 2021-05-31 12:00:45.000000000 +0200 -+++ build.gradle.rej 2021-06-02 14:27:41.778875605 +0200 -@@ -11,15 +11,6 @@ +--- build.gradle 2018-12-24 11:27:21.000000000 +0100 ++++ build.gradle.orig 2019-01-02 15:29:35.875645761 +0100 +@@ -10,15 +10,6 @@ test.java.srcDirs 'test' } -repositories { jcenter() } -dependencies { -- testCompile 'junit:junit:4.12' -- testCompile 'org.assertj:assertj-core:3.12.2' +- testCompile 'junit:junit:4.+' +- testCompile 'org.assertj:assertj-core:3.+' -} - jar { @@ -15,4 +15,6 @@ - manifest { - attributes 'Main-Class': 'org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler' - } - } +-} +\ No newline at end of file ++} diff --git a/sources b/sources index 472a918..377aa4b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fernflower-211.7442.40.tar.gz) = 54138ec2987f27887dc7a882d0e4d5bf6a1a7c4d9f8e73bafd7cd957181779bb59a413117cd65dd29973c9072f5b89f797c78581113f83043191894b0631ab31 +SHA512 (fernflower-183.5153.8.tar.gz) = efaa1dc107ba62e38cda59fdfddfd6f5d22d01ecbd22bdeff29ec3a57622309e5f89a7025af52f018f7250b6d840bb7ccd64a4a51dc92bbc470911d1b289372a