From 58f49144673689d0587f084ee1bac0de6323809d Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Thu, 29 Aug 2019 09:17:56 -0500 Subject: [PATCH 01/13] "Adding package.cfg file" --- package.cfg | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 package.cfg diff --git a/package.cfg b/package.cfg new file mode 100644 index 0000000..66ea79d --- /dev/null +++ b/package.cfg @@ -0,0 +1,2 @@ +[koji] +targets = epel8 epel8-playground \ No newline at end of file From cda39f5ef50badc418c2d43fa543e2ab2beb326d Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Tue, 3 Sep 2019 15:49:28 +0200 Subject: [PATCH 02/13] Initial push for rhel8 --- .gitignore | 1 + adaptToNewerJcommander.patch | 12 ++ disableFatJar.patch | 28 +++ madeToPasXlint.patch | 30 +++ procyon-decompiler | 8 + procyon.spec | 232 ++++++++++++++++++++++ removeSigningAndIfDecompilerAndMain.patch | 127 ++++++++++++ sources | 1 + 8 files changed, 439 insertions(+) create mode 100644 .gitignore create mode 100644 adaptToNewerJcommander.patch create mode 100644 disableFatJar.patch create mode 100644 madeToPasXlint.patch create mode 100755 procyon-decompiler create mode 100644 procyon.spec create mode 100644 removeSigningAndIfDecompilerAndMain.patch create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3386f58 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/mstrobel-procyon-ee404caa9a29.zip diff --git a/adaptToNewerJcommander.patch b/adaptToNewerJcommander.patch new file mode 100644 index 0000000..bab3d59 --- /dev/null +++ b/adaptToNewerJcommander.patch @@ -0,0 +1,12 @@ +--- a/Procyon.Decompiler/src/main/java/com/strobel/decompiler/CommandLineOptions.java_nw ++++ b/Procyon.Decompiler/src/main/java/com/strobel/decompiler/CommandLineOptions.java +@@ -23,7 +23,7 @@ + + public class CommandLineOptions { + @Parameter(description = "") +- private final List _inputs = new ArrayList<>(); ++ private List _inputs = new ArrayList<>(); + + @Parameter( + names = { "-?", "--help" }, + diff --git a/disableFatJar.patch b/disableFatJar.patch new file mode 100644 index 0000000..5d8bbef --- /dev/null +++ b/disableFatJar.patch @@ -0,0 +1,28 @@ +diff -r ee404caa9a29 Procyon.Decompiler/build.gradle +--- a/Procyon.Decompiler/build.gradle ++++ b/Procyon.Decompiler/build.gradle.nw +@@ -3,23 +3,10 @@ + jcenter() + } + +- dependencies { +- classpath 'eu.appsatori:gradle-fatjar-plugin:0.3' +- } + } + + jar.enabled = true + uploadArchives.enabled = false +- +-apply plugin: 'eu.appsatori.fatjar' +- +-fatJar { +-// from rootProject.allprojects.collect({ it.sourceSets.main.allSource }) +- +- manifest { +- attributes 'Title': archivesBaseName, 'Manifest-Version': '1.0', 'Version': version +- } +-} + + dependencies { + compile 'com.beust:jcommander:1.30' + diff --git a/madeToPasXlint.patch b/madeToPasXlint.patch new file mode 100644 index 0000000..c1eb252 --- /dev/null +++ b/madeToPasXlint.patch @@ -0,0 +1,30 @@ +--- a/Procyon.CompilerTools/src/main/java/com/strobel/assembler/metadata/MethodBinder.java ++++ b/Procyon.CompilerTools/src/main/java/com/strobel/assembler/metadata/MethodBinder.java2 +@@ -213,7 +213,7 @@ + + // + // Find the most specific method based on the parameters. On the first pass, prohibit +- // auto-(un)boxing and variable arity (see JLS §15.12.2.2). ++ // auto-(un)boxing and variable arity (see JLS 15.12.2.2). + // + int result = findMostSpecific( + m1.getParameters(), +@@ -229,7 +229,7 @@ + + // + // If the first attempt produced an ambiguous result, try again with boxing conversions +- // allowed (see JLS §15.12.2.3). ++ // allowed (see JLS 15.12.2.3). + // + if (result == 0) { + result = findMostSpecific( +@@ -247,7 +247,7 @@ + + // + // If the second attempt produced an ambiguous result, try again with both boxing +- // conversions and variable arity allowed (see JLS §15.12.2.4). ++ // conversions and variable arity allowed (see JLS 15.12.2.4). + // + if (result == 0) { + result = findMostSpecific( + diff --git a/procyon-decompiler b/procyon-decompiler new file mode 100755 index 0000000..e736d09 --- /dev/null +++ b/procyon-decompiler @@ -0,0 +1,8 @@ +#!/bin/bash +. /usr/share/java-utils/java-functions + +MAIN_CLASS=com.strobel.decompiler.DecompilerDriver + +set_classpath procyon-decompiler procyon-compilertools procyon-core beust-jcommander +run ${@} + diff --git a/procyon.spec b/procyon.spec new file mode 100644 index 0000000..b950b9f --- /dev/null +++ b/procyon.spec @@ -0,0 +1,232 @@ +#in noarch? why... +%define debug_package %{nil} +%global remove_tests 1 + +Name: procyon +Version: 0.5.33 +Release: 0.4.pre02%{?dist} +Summary: procyon java decompiler and other tools +License: ASL 2.0 +URL: https://bitbucket.org/mstrobel/procyon/ +#Source0: https://bitbucket.org/mstrobel/procyon/get/ee404caa9a29.zip +Source0: mstrobel-procyon-ee404caa9a29.zip +Source1: procyon-decompiler +# main removal is not upstream-able, and is enforced by fedora policy +# signature is touching online world, necessary for packaging, not usptream able +Patch0: removeSigningAndIfDecompilerAndMain.patch +# fat jar do not have much sense for fedora packagin. not upstream-able +Patch1: disableFatJar.patch +# patch should be proposed to upstream. +Patch2: adaptToNewerJcommander.patch +Patch3: madeToPasXlint.patch +BuildArch: noarch +BuildRequires: javapackages-tools +BuildRequires: java-devel +BuildRequires: dos2unix +BuildRequires: beust-jcommander +Requires: java-headless +Requires: javapackages-tools +# main package is just meta package for all subprojects andtheirs artifacts +Requires: %{name}-compilertools = %{version}-%{release} +Requires: %{name}-core = %{version}-%{release} +Requires: %{name}-expressions = %{version}-%{release} +Requires: %{name}-reflection = %{version}-%{release} +Requires: %{name}-decompiler = %{version}-%{release} + +%description +Procyon is a suite of Java metaprogramming tools focused on code generation and analysis. +It includes the following libraries: Core Framework, Reflection Framework, +Expressions Framework, Compiler Toolset (Experimental), Java Decompiler. +The Procyon libraries are available from Maven Central under group ID org.bitbucket.mstrobel. + +%package compilertools +Summary: The procyon-compilertools project +BuildArch: noarch +Requires: javapackages-tools + +%description compilertools +The procyon-compilertools project is a work in progress that includes: +Class metadata and bytecode inspection/manipulation facilities based on Mono.Cecil and +An optimization and decompiler framework based on ILSpy +The Compiler Toolset is still early in development and subject to change. + +%package core +Summary: The procyon-core framework contains common support classes +BuildArch: noarch +Requires: javapackages-tools + +%description core +The procyon-core framework contains common support classes used by the other +Procyon APIs. Its facilities include string manipulation, collection extensions, +filesystem/path utilities, freezable objects and collections, attached data stores, +and some runtime type helpers. + +%package expressions +Summary: The procyon-expressions framework provides a more natural form of Linq-like code generation +BuildArch: noarch +Requires: javapackages-tools + +%description expressions +The procyon-expressions framework provides a more natural form of code generation. +Rather than requiring bytecode to be emitted directly, as with procyon-reflection +and other popular libraries like ASM, procyon-expressions enables code composition +using declarative expression trees. These expression trees may then be compiled directly +into callbacks or coupled with a MethodBuilder. The procyon-expressions API is +almost a direct port of System.Linq.Expressions from .NET's Dynamic Language Runtime, +minus the dynamic callsite support (and with more relaxed rules regarding type conversions). + +%package decompiler +Summary: procyon-decompiler is a front-end for the Java decompiler +BuildArch: noarch +Requires: %{name}-core +Requires: %{name}-compilertools +Requires: beust-jcommander +Requires: javapackages-tools + +%description decompiler +procyon-decompiler is a front-end for the Java decompiler included in procyon-compilertools. +For more information about the decompiler, see the Java Decompiler wiki page - +https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler + +%package reflection +Summary: The procyon-reflection framework provides a rich reflection and code generation API +BuildArch: noarch +Requires: javapackages-tools + +%description reflection +The procyon-reflection framework provides a rich reflection and code generation API with full support for generics, +wildcards, and other high-level Java type concepts. It is based on .NET's System.Reflection and System.Reflection. +Emit APIs and is meant to address many of the shortcomings of the core Java reflection API, which offers rather +limited and cumbersome support for generic type inspection. Its code generation facilities include a TypeBuilder, +MethodBuilder, and a bytecode emitter. + + +%prep +%setup -q -n mstrobel-procyon-ee404caa9a29 +%if %{remove_tests} +find | grep "\\.class$" +#find | grep "\\.jar$" +rm -rvf Procyon.CompilerTools/src/test/ +find | grep "\\.class$" && exit 1 +find | grep "\\.jar$" && exit 1 +%endif +#to allow smooth patching +dos2unix Procyon.Decompiler/build.gradle +dos2unix build.gradle +dos2unix README.md +# also removing main method from enter point jar +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +dos2unix Procyon.CompilerTools/src/main/java/com/strobel/assembler/metadata/MethodBinder.java +%patch3 -p1 + +%build + +mkdir -p build/Procyon.CompilerTools/{libs,classes} +mkdir -p build/Procyon.Core/{libs,classes} +mkdir -p build/Procyon.Decompiler/{libs,classes} +mkdir -p build/Procyon.Expressions/{libs,classes} +mkdir -p build/Procyon.Reflection/{libs,classes} + +javac -d build/Procyon.Core/classes/ ` find Procyon.Core/src/main/java -type f | grep "\.java"` +javac -d build/Procyon.Reflection/classes/ -cp build/Procyon.Core/classes/ ` find Procyon.Reflection/src/main/java -type f | grep "\.java"` +javac -d build/Procyon.Expressions/classes/ -cp build/Procyon.Core/classes/:build/Procyon.Reflection/classes/ ` find Procyon.Expressions/src/main/java -type f | grep "\.java"` +javac -d build/Procyon.CompilerTools/classes/ -cp build/Procyon.Core/classes/ ` find Procyon.CompilerTools/src/main/java -type f | grep "\.java"` + +# pack the jars +for x in Procyon.CompilerTools Procyon.Core Procyon.Reflection Procyon.Expressions ; do + pushd build/$x/classes/ + project=`echo $x | sed -e "s/Procyon.//" | sed -e 's/\(.*\)/\L\1/'` + jar -cf ../../../build/$x/libs/%{name}-$project-%{version}.jar com + popd +done + +# create just launcher jar to be used in fedora +mkdir build/launcher-minimal +mkdir build/launcher-minimal/classes +javac -cp build/Procyon.Core/classes/:build/Procyon.CompilerTools/classes/:%{_javadir}/beust-jcommander.jar -d build/launcher-minimal/classes ` find Procyon.Decompiler/src/main/java -type f | grep "\.java"` +# pack the minimal jar +pushd build/launcher-minimal/classes/ +jar -cf ../../../build/Procyon.Decompiler/libs/%{name}-decompiler-%{version}.jar com +popd + +%install +mkdir -p $RPM_BUILD_ROOT/%{_bindir}/ +cp %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir}/ # cusotm launcher for main method in main jar +mkdir -p $RPM_BUILD_ROOT/%{_javadir}/%{name}/ +cp build/Procyon.CompilerTools/libs/%{name}-compilertools-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/ +cp build/Procyon.Core/libs/%{name}-core-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/ +cp build/Procyon.Decompiler/libs/%{name}-decompiler-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/ +cp build/Procyon.Expressions/libs/%{name}-expressions-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/ +cp build/Procyon.Reflection/libs/%{name}-reflection-%{version}.jar $RPM_BUILD_ROOT/%{_javadir}/%{name}/ + +pushd $RPM_BUILD_ROOT/%{_javadir}/%{name}/ +ln -s %{name}-compilertools-%{version}.jar %{name}-compilertools.jar +ln -s %{name}-core-%{version}.jar %{name}-core.jar +ln -s %{name}-decompiler-%{version}.jar %{name}-decompiler.jar +ln -s %{name}-expressions-%{version}.jar %{name}-expressions.jar +ln -s %{name}-reflection-%{version}.jar %{name}-reflection.jar +popd + + +%files +%license License.txt +%doc README.md + +%files compilertools +%dir %{_javadir}/%{name} +%{_javadir}/%{name}/%{name}-compilertools-%{version}.jar +%{_javadir}/%{name}/%{name}-compilertools.jar +%license License.txt +%doc README.md + +%files core +%dir %{_javadir}/%{name} +%{_javadir}/%{name}/%{name}-core-%{version}.jar +%{_javadir}/%{name}/%{name}-core.jar +%license License.txt +%doc README.md + +%files expressions +%dir %{_javadir}/%{name} +%{_javadir}/%{name}/%{name}-expressions-%{version}.jar +%{_javadir}/%{name}/%{name}-expressions.jar +%license License.txt +%doc README.md + +%files decompiler +%dir %{_javadir}/%{name} +%{_bindir}/%{name}-decompiler +%{_javadir}/%{name}/%{name}-decompiler-%{version}.jar +%{_javadir}/%{name}/%{name}-decompiler.jar +%license License.txt +%doc README.md + +%files reflection +%dir %{_javadir}/%{name}/ +%{_javadir}/%{name}/%{name}-reflection-%{version}.jar +%{_javadir}/%{name}/%{name}-reflection.jar +%license License.txt +%doc README.md + + +%changelog +* Fri Jul 26 2019 Jiri Vanek - 0.5.33-0.4.pre02 +- removed fat jar, as epel have no gradle +- removed javadoc and srcs artifacts. will eb building by javac +- adapted br/r/provides to epel8 +- buit by javac instead of gradle + +* Fri Jul 26 2019 Fedora Release Engineering - 0.5.33-0.3.pre02 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 0.5.33-0.2.pre02 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Dec 21 2018 Jiri Vanek 0.5.33-0.1.pre02 +- created special package for assembled fat jar +- adapted rest of package to include and cooperate with minimal decompiler frontend + +* Fri Dec 21 2018 Jiri Vanek 0.5.33-0.1.pre01 +- inital load diff --git a/removeSigningAndIfDecompilerAndMain.patch b/removeSigningAndIfDecompilerAndMain.patch new file mode 100644 index 0000000..31315a9 --- /dev/null +++ b/removeSigningAndIfDecompilerAndMain.patch @@ -0,0 +1,127 @@ +diff -r ee404caa9a29 Procyon.Decompiler/build.gradle +--- a/Procyon.Decompiler/build.gradle Thu Jul 26 07:08:30 2018 -0400 ++++ b/Procyon.Decompiler/build.gradle Fri Dec 21 17:02:23 2018 +0100 +@@ -8,7 +8,7 @@ + } + } + +-jar.enabled = false ++jar.enabled = true + uploadArchives.enabled = false + + apply plugin: 'eu.appsatori.fatjar' +@@ -17,7 +17,7 @@ + // from rootProject.allprojects.collect({ it.sourceSets.main.allSource }) + + manifest { +- attributes 'Title': archivesBaseName, 'Manifest-Version': '1.0', 'Version': version, 'Main-Class' : 'com.strobel.decompiler.DecompilerDriver' ++ attributes 'Title': archivesBaseName, 'Manifest-Version': '1.0', 'Version': version + } + } + +@@ -25,4 +25,4 @@ + compile 'com.beust:jcommander:1.30' + compile project(':Procyon.Core') + compile project(':Procyon.CompilerTools') +-} +\ No newline at end of file ++} +diff -r ee404caa9a29 build.gradle +--- a/build.gradle Thu Jul 26 07:08:30 2018 -0400 ++++ b/build.gradle Fri Dec 21 17:02:23 2018 +0100 +@@ -59,7 +59,6 @@ + + subprojects { + apply plugin: 'maven' +- apply plugin: 'signing' + + archivesBaseName = 'procyon-' + it.name.split("\\.")[1].toLowerCase() + +@@ -80,7 +79,7 @@ + from sourceSets.main.allSource + } + +- if (project.name != "Procyon.Decompiler") { ++ + javadoc { + options.encoding = 'UTF-8' + } +@@ -91,78 +90,6 @@ + archives sourcesJar + } + +- signing { +- sign configurations.archives +- } + +- uploadArchives { +- repositories.mavenDeployer { +- beforeDeployment { MavenDeployment deployment -> +- signing.signPom(deployment) +- } +- snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots") { +- authentication(userName: project.properties.get("sonatypeUsername"), password: project.properties.get("sonatypePassword")) +- } +- +- repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2") { +- authentication(userName: project.properties.get("sonatypeUsername"), password: project.properties.get("sonatypePassword")) +- } +- +- pom { +- groupId = project.group +- version = project.version +- artifactId = project.archivesBaseName +- +- project { +- name project.archivesBaseName +- packaging 'jar' +- description 'Procyon' +- url 'https://bitbucket.org/mstrobel/procyon' +- +- scm { +- url 'https://bitbucket.org/mstrobel/procyon' +- connection 'scm:hg:https://hg@bitbucket.org/mstrobel/procyon' +- developerConnection 'scm:hg:https://mstrobel@bitbucket.org/mstrobel/procyon' +- } +- +- issueManagement { +- system 'jira' +- url 'https://bitbucket.org/mstrobel/procyon/issues' +- } +- +- licenses { +- license { +- name 'The Apache Software License, Version 2.0' +- url 'http://www.apache.org/licenses/LICENSE-2.0.txt' +- distribution 'repo' +- } +- } +- +- developers { +- developer { +- id 'mstrobel' +- name 'Mike Strobel' +- roles { +- role 'owner' +- role 'packager' +- role 'developer' +- } +- } +- } +- +- dependencies { +- dependency { +- groupId 'junit' +- artifactId 'junit' +- version '4.11' +- scope 'test' +-// optional = true +- } +- } +- } +- } +- } +- } +- } + } + diff --git a/sources b/sources new file mode 100644 index 0000000..8948dbe --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (mstrobel-procyon-ee404caa9a29.zip) = f47a9539509ac380e5fc1cb694a8f5f17a9b925726f937c92cffcce4490ed6e4773f9cf265fc28c8a4eb51da6b0257730a4ae3a8e343e17c1dfe9eeee4fcadb0 From 33ad30df3c26f223d987526d02d36ece49a53c68 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Thu, 24 Sep 2020 17:34:39 +0000 Subject: [PATCH 03/13] remove package.cfg per new epel-playground policy --- package.cfg | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 package.cfg diff --git a/package.cfg b/package.cfg deleted file mode 100644 index 66ea79d..0000000 --- a/package.cfg +++ /dev/null @@ -1,2 +0,0 @@ -[koji] -targets = epel8 epel8-playground \ No newline at end of file From dd66f936e66aa3bf5c14f46d54ab271200125426 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 06:18:35 +0000 Subject: [PATCH 04/13] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- procyon.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index 26114d2..12cbcc8 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.2.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.3.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools License: ASL 2.0 URL: https://github.com/mstrobel/procyon @@ -211,6 +211,9 @@ popd %doc README.md %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 0.6.0-0.3.20220221.git88a95fa +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Fri Jan 20 2023 Fedora Release Engineering - 0.6.0-0.2.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From c8306f29908c6ea75f074a787d53f84fe215f996 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 21 Jan 2024 22:23:00 +0000 Subject: [PATCH 05/13] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- procyon.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index 12cbcc8..9e5ad11 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.3.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.4.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools License: ASL 2.0 URL: https://github.com/mstrobel/procyon @@ -211,6 +211,9 @@ popd %doc README.md %changelog +* Sun Jan 21 2024 Fedora Release Engineering - 0.6.0-0.4.20220221.git88a95fa +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jul 21 2023 Fedora Release Engineering - 0.6.0-0.3.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From c3684204ee100ae556838860133b0cac57fa27e7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 26 Jan 2024 00:09:41 +0000 Subject: [PATCH 06/13] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- procyon.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index 9e5ad11..77d441e 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.4.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.5.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools License: ASL 2.0 URL: https://github.com/mstrobel/procyon @@ -211,6 +211,9 @@ popd %doc README.md %changelog +* Fri Jan 26 2024 Fedora Release Engineering - 0.6.0-0.5.20220221.git88a95fa +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Sun Jan 21 2024 Fedora Release Engineering - 0.6.0-0.4.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 4d21205f0126061ee2cf095ef89434bd18f7b87a Mon Sep 17 00:00:00 2001 From: Software Management Team Date: Thu, 30 May 2024 12:46:49 +0200 Subject: [PATCH 07/13] Eliminate use of obsolete %patchN syntax (#2283636) --- procyon.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index 77d441e..5cf609f 100644 --- a/procyon.spec +++ b/procyon.spec @@ -121,7 +121,7 @@ dos2unix Procyon.Decompiler/build.gradle dos2unix build.gradle dos2unix README.md dos2unix Procyon.CompilerTools/src/main/java/com/strobel/assembler/metadata/MethodBinder.java -%patch3 -p1 +%patch -P3 -p1 %build mkdir -p build/Procyon.CompilerTools/{libs,classes} From edfc778439a65a979e7868e922862976c348c59f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jul 2024 08:30:58 +0000 Subject: [PATCH 08/13] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- procyon.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index 5cf609f..c6b6e41 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.5.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.6.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools License: ASL 2.0 URL: https://github.com/mstrobel/procyon @@ -211,6 +211,9 @@ popd %doc README.md %changelog +* Fri Jul 19 2024 Fedora Release Engineering - 0.6.0-0.6.20220221.git88a95fa +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jan 26 2024 Fedora Release Engineering - 0.6.0-0.5.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 4c1e5ca290fb06dae215d1971323466ea2a57aa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Such=C3=BD?= Date: Wed, 24 Jul 2024 16:55:05 +0200 Subject: [PATCH 09/13] convert ASL 2.0 license to SPDX This is part of https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_4 --- procyon.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/procyon.spec b/procyon.spec index c6b6e41..c117a9f 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,9 +8,10 @@ Name: procyon Version: 0.6.0 -Release: 0.6.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.7.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools -License: ASL 2.0 +# Automatically converted from old format: ASL 2.0 - review is highly recommended. +License: Apache-2.0 URL: https://github.com/mstrobel/procyon # ./generate-tarball.sh # This script uses a fork of the original project @@ -211,6 +212,9 @@ popd %doc README.md %changelog +* Wed Jul 24 2024 Miroslav Suchý - 0.6.0-0.7.20220221.git88a95fa +- convert license to SPDX + * Fri Jul 19 2024 Fedora Release Engineering - 0.6.0-0.6.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 75ebafd594f8e47e4d4d71460913fcb2795095a3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 18 Jan 2025 10:50:29 +0000 Subject: [PATCH 10/13] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- procyon.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index c117a9f..f71499e 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.7.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.8.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools # Automatically converted from old format: ASL 2.0 - review is highly recommended. License: Apache-2.0 @@ -212,6 +212,9 @@ popd %doc README.md %changelog +* Sat Jan 18 2025 Fedora Release Engineering - 0.6.0-0.8.20220221.git88a95fa +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 24 2024 Miroslav Suchý - 0.6.0-0.7.20220221.git88a95fa - convert license to SPDX From eec9e10016ef6e3a313e96e656ec899d3ad14bf8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 06:09:58 +0000 Subject: [PATCH 11/13] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- procyon.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/procyon.spec b/procyon.spec index f71499e..b4631ab 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.8.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.9.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools # Automatically converted from old format: ASL 2.0 - review is highly recommended. License: Apache-2.0 @@ -212,6 +212,9 @@ popd %doc README.md %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 0.6.0-0.9.20220221.git88a95fa +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Sat Jan 18 2025 Fedora Release Engineering - 0.6.0-0.8.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From c7e1cf24ff01753d5c1ea300b33b3e76c2f4b2b5 Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Mon, 28 Jul 2025 19:19:55 +0200 Subject: [PATCH 12/13] Rebuilt for java-25-openjdk as preffered jdk https://fedoraproject.org/wiki/Changes/Java25AndNoMoreSystemJdk Note, that since f43, you should be always explicit on what jdk to use. This commit should do exactly that. --- procyon.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/procyon.spec b/procyon.spec index b4631ab..84b5a8b 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.9.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.10.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools # Automatically converted from old format: ASL 2.0 - review is highly recommended. License: Apache-2.0 @@ -24,10 +24,10 @@ BuildArch: noarch ExclusiveArch: %{java_arches} noarch BuildRequires: javapackages-tools -BuildRequires: java-devel +BuildRequires: java-25-devel BuildRequires: dos2unix BuildRequires: beust-jcommander -Requires: java-headless +Requires: java-25-headless Requires: javapackages-tools # main package is just meta package for all subprojects and their artifacts Recommends: %{name}-compilertools = %{version}-%{release} @@ -212,6 +212,9 @@ popd %doc README.md %changelog +* Mon Jul 28 2025 jiri vanek - 0.6.0-0.10.20220221.git88a95fa +- Rebuilt for java-25-openjdk as preffered jdk + * Fri Jul 25 2025 Fedora Release Engineering - 0.6.0-0.9.20220221.git88a95fa - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From be7ad1b4284ae8839c74f9e2a90a4804c7108bce Mon Sep 17 00:00:00 2001 From: Jiri Vanek Date: Thu, 16 Oct 2025 17:15:17 +0200 Subject: [PATCH 13/13] Building eith -f and for 1.8 --- procyon.spec | 97 +++++----------------------------------------------- 1 file changed, 8 insertions(+), 89 deletions(-) diff --git a/procyon.spec b/procyon.spec index 84b5a8b..08caf50 100644 --- a/procyon.spec +++ b/procyon.spec @@ -8,7 +8,7 @@ Name: procyon Version: 0.6.0 -Release: 0.10.%{commitdate}.git%{shortcommit}%{?dist} +Release: 0.11.%{commitdate}.git%{shortcommit}%{?dist} Summary: procyon java decompiler and other tools # Automatically converted from old format: ASL 2.0 - review is highly recommended. License: Apache-2.0 @@ -131,10 +131,12 @@ mkdir -p build/Procyon.Decompiler/{libs,classes} mkdir -p build/Procyon.Expressions/{libs,classes} mkdir -p build/Procyon.Reflection/{libs,classes} -javac -d build/Procyon.Core/classes/ ` find Procyon.Core/src/main/java -type f | grep "\.java"` -javac -d build/Procyon.Reflection/classes/ -cp build/Procyon.Core/classes/ ` find Procyon.Reflection/src/main/java -type f | grep "\.java"` -javac -d build/Procyon.Expressions/classes/ -cp build/Procyon.Core/classes/:build/Procyon.Reflection/classes/ ` find Procyon.Expressions/src/main/java -type f | grep "\.java"` -javac -d build/Procyon.CompilerTools/classes/ -cp build/Procyon.Core/classes/ ` find Procyon.CompilerTools/src/main/java -type f | grep "\.java"` +sourceVersion="-source 8 -target 8 -g" + +javac $sourceVersion -d build/Procyon.Core/classes/ ` find Procyon.Core/src/main/java -type f | grep "\.java"` +javac $sourceVersion -d build/Procyon.Reflection/classes/ -cp build/Procyon.Core/classes/ ` find Procyon.Reflection/src/main/java -type f | grep "\.java"` +javac $sourceVersion -d build/Procyon.Expressions/classes/ -cp build/Procyon.Core/classes/:build/Procyon.Reflection/classes/ ` find Procyon.Expressions/src/main/java -type f | grep "\.java"` +javac $sourceVersion -d build/Procyon.CompilerTools/classes/ -cp build/Procyon.Core/classes/ ` find Procyon.CompilerTools/src/main/java -type f | grep "\.java"` # pack the jars for x in Procyon.CompilerTools Procyon.Core Procyon.Reflection Procyon.Expressions ; do @@ -212,87 +214,4 @@ popd %doc README.md %changelog -* Mon Jul 28 2025 jiri vanek - 0.6.0-0.10.20220221.git88a95fa -- Rebuilt for java-25-openjdk as preffered jdk - -* Fri Jul 25 2025 Fedora Release Engineering - 0.6.0-0.9.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Sat Jan 18 2025 Fedora Release Engineering - 0.6.0-0.8.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Wed Jul 24 2024 Miroslav Suchý - 0.6.0-0.7.20220221.git88a95fa -- convert license to SPDX - -* Fri Jul 19 2024 Fedora Release Engineering - 0.6.0-0.6.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jan 26 2024 Fedora Release Engineering - 0.6.0-0.5.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 0.6.0-0.4.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jul 21 2023 Fedora Release Engineering - 0.6.0-0.3.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Fri Jan 20 2023 Fedora Release Engineering - 0.6.0-0.2.20220221.git88a95fa -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Fri Jul 22 2022 Fedora Release Engineering - 0.6.0-0.1.20220221.git88a95fa -- bumped to 0.6.0 - -* Fri Jul 22 2022 Fedora Release Engineering - 0.5.36-0.11.20210619.git92ba3f4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri Jul 08 2022 Jiri Vanek - 0.5.36-0.10.20210619.git92ba3f4 -- Rebuilt for Drop i686 JDKs - -* Sat Feb 05 2022 Jiri Vanek - 0.5.36-0.9.20210619.git92ba3f4 -- Rebuilt for java-17-openjdk as system jdk - -* Fri Jan 21 2022 Fedora Release Engineering - 0.5.36-0.8.20210619.git92ba3f4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Jul 23 2021 Fedora Release Engineering - 0.5.36-0.7.20210619.git92ba3f4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Thu Jun 03 2021 Jiri Vanek - 0.5.36-0.6-92ba3f4 -- moved to commit versioning - -* Thu Jun 03 2021 Marian Koncek - 1.0~SNAPSHOT-1 -- Update to upstream version 1.0~SNAPSHOT - -* Wed Jan 27 2021 Fedora Release Engineering - 0.5.36-0.5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Thu Dec 10 2020 Jiri Vanek - 0.5.36-0.4 -- set source/target of 8 - -* Tue Jul 28 2020 Fedora Release Engineering - 0.5.36-0.3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Sat Jul 11 2020 Jiri Vanek - 0.5.36-0.2 -- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 - -* Tue Feb 18 2020 Jiri Vanek - 0.5.36-0.1 -- bumped to latest tagged forest 0.5.36 -- fixed bug in usage of newer jcommander - -* Tue Feb 18 2020 Jiri Vanek - 0.5.33-0.5.pre02 -- removed fat jar, as gradle is gone -- removed javadoc and srcs artifacts. will eb building by javac -- buit by javac instead of gradle - -* Fri Jul 26 2019 Fedora Release Engineering - 0.5.33-0.3.pre02 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Sat Feb 02 2019 Fedora Release Engineering - 0.5.33-0.2.pre02 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Dec 21 2018 Jiri Vanek 0.5.33-0.1.pre02 -- created special package for assembled fat jar -- adapted rest of package to include and cooperate with minimal decompiler frontend - -* Fri Dec 21 2018 Jiri Vanek 0.5.33-0.1.pre01 -- inital load +%autochangelog