# # spec file for package javassist # # Copyright (c) 2023 SUSE LLC # Copyright (c) 2000-2005, JPackage Project # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define tar_version rel_3_29_2_ga Name: javassist Version: 3.29.2 Release: 54.6 Summary: Java Programming Assistant: bytecode manipulation License: LGPL-2.1-or-later OR MPL-1.1 Group: Development/Libraries/Java URL: https://www.javassist.org/ Source0: https://github.com/jboss-javassist/javassist/archive/%{tar_version}.tar.gz Patch0: javassist-java8-compat.patch Patch1: javassist-osgi.patch BuildRequires: ant >= 1.6 BuildRequires: fdupes BuildRequires: java-devel >= 1.8 BuildRequires: javapackages-local BuildArch: noarch %description Javassist (Java Programming Assistant) makes Java bytecode manipulation simple. It is a class library for editing bytecodes in Java; it enables Java programs to define a new class at runtime and to modify a class file when the JVM loads it. Unlike other similar bytecode editors, Javassist provides two levels of API: source level and bytecode level. If the users use the source-level API, they can edit a class file without knowledge of the specifications of the Java bytecode. The whole API is designed with only the vocabulary of the Java language. You can even specify inserted bytecode in the form of source text; Javassist compiles it on the fly. On the other hand, the bytecode-level API allows the users to directly edit a class file as other editors. %package demo Summary: Samples for javassist Group: Documentation/Other Requires: javassist = %{version}-%{release} %description demo Samples for javassist. %{summary}. %package javadoc Summary: Javadoc for javassist Group: Documentation/HTML %description javadoc Javadoc for javassist. %{summary}. %package manual Summary: Tutorial for javassist Group: Documentation/Other %description manual Tutorial for javassist. %{summary}. %prep %setup -q -n %{name}-%{tar_version} %patch0 -p1 %patch1 -p1 find . -name "*.jar" -print -delete %build ant -Dant.build.javac.source=1.8 -Dant.build.javac.target=1.8 dist %install # jars mkdir -p %{buildroot}/%{_javadir} cp -p %{name}.jar %{buildroot}/%{_javadir}/%{name}.jar # pom install -d -m 755 %{buildroot}%{_mavenpomdir} install -pm 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom %add_maven_depmap JPP-%{name}.pom %{name}.jar -a javassist:javassist # demo mkdir -p %{buildroot}/%{_datadir}/%{name}-%{version} cp -pr sample/* %{buildroot}/%{_datadir}/%{name}-%{version} # javadoc mkdir -p %{buildroot}/%{_javadocdir}/%{name} cp -pr html/* %{buildroot}/%{_javadocdir}/%{name} %fdupes -s %{buildroot}/%{_javadocdir}/%{name} # manual mkdir -p %{buildroot}/%{_docdir}/%{name}-%{version}/tutorial cp -pr tutorial/* %{buildroot}/%{_docdir}/%{name}-%{version}/tutorial %files -f .mfiles %license License.html %files demo %{_datadir}/%{name}-%{version} %files javadoc %{_javadocdir}/%{name} %files manual %dir %{_docdir}/%{name}-%{version} %{_docdir}/%{name}-%{version}/tutorial %changelog * Tue Jun 6 2023 Fridrich Strba - Clean up the spec file and make it actually build on a vanilla SLE-12-SP5 - Modified patch: * javassist-java8-compat.patch + make remove functions that are not available in java 8 * Tue Sep 20 2022 David Anes - Version update to 3.29.2: * Include` Automatic-Module-Name in MANIFEST.MF - Rebased javassist-osgi.patch and corrected version numbers in the patch. * Wed Aug 17 2022 David Anes - Version update to 3.29.1: * `Readme.html` was deleted. - Rebased javassist-osgi.patch and corrected version numbers in the patch. * Mon May 23 2022 David Anes - Requires java >= 1.8 - Rebased patches: * javassist-osgi.patch - Version update to 3.29.0: * removes an unused import declaration as PR 384 mentions. * Merge pull request #382 from tim-hoffman/PR_RemoveStringBuffer * Merge pull request #383 from tim-hoffman/PR_ArrayCopyPerformance * uncomments test code suggested by PR405 * cancels PR#391, which does not pass all the tests * fixes a wrong indentation * Merge pull request #391 from derklaro/fix-method-naming-syntax * does refactoring * fixes a bug in SignatureAttribute.renameClass(). * fixs a compilation problem although one test still fails. * Merge pull request #299 from pietrobraione/master * Merge branch 'master' into master * Merge pull request #278 from ximsfei/master * Merge pull request #390 from derklaro/master * changes test code because package java.rmi.activation.ActivationGroupDesc does not exist any longer. * deletes src/test/test2/*.class * Merge pull request #399 from carldea/master * Merge pull request #409 from aschleck/patch-1 * Remove redundant type check * Using TCK Tested JDK builds of OpenJDK * Merge pull request #395 from aburaksahin/master * Fix for NullPointerException on detach() * Only wrap the method name if the method doesn't come from the same decl class * Lower requirement for an extra type in constructor to Java 7- * Replace array copy loop with System.arraycopy * Replace remaining StringBuffer uses with StringBuilder * Replace StringBuffer with StringBuilder and other minor String optimizations * fixes GitHub Issue 378 (wrong link for apache license) * updates javassist.Loader to exclude jdk.internal. * Fixes to support the full syntax of possible signatures * Fix renaming of classes in presence of generic signatures and nested classes. * add unit test * fixes a bug of ClassFile#renameClass(), some imports could not be successfully renamed * Fri Dec 10 2021 David Anes - Rebased osgi patch: javassist-osgi.patch - Rebased java8 compat patch: javassist-java8-compat.patch - Requires Java API >= 1.7 * Wed Mar 25 2020 Fridrich Strba - Added patch: * javassist-osgi.patch + Add OSGi manifest to the javassist.jar * Mon Apr 15 2019 Fridrich Strba - Added patch: * javassist-java8-compat.patch - Allow building on systems that do not have java 9 or higher * Thu Oct 18 2018 Fridrich Strba - Install and package the maven pom and metadata files * Mon Oct 15 2018 Fridrich Strba - BuildRequire at least Java 9. This version uses APIs introduced in Java 9 * Sun Oct 7 2018 Jan Engelhardt - Replace old $RPM_* shell vars by macros. * Fri Oct 5 2018 pmonrealgonzalez@suse.com - Version update to 3.23.1: * 3.23.1 Github PR #171 * 3.23 Fix leaking file handlers in ClassPool and removed ClassPath.close(). Github issue #165 * 3.22 Java 9 supports. JIRA JASSIST-261. - Dropped patch fixed upstream: javassist-rel_3_21_0_ga-javadoc.patch * Fri Sep 8 2017 fstrba@suse.com - Specify java target and source version 1.6 in order to allow building with jdk9 - Added patch: * javassist-rel_3_21_0_ga-javadoc.patch - fix javadoc errors that are fatal with jdk9 * Fri Jun 9 2017 tchvatal@suse.com - Version update to 3.21.0: * various compiler settings * Require java >= 1.6 * Sat Jan 24 2015 p.drouand@gmail.com - Update to version 3.19.0 * Including a number of bug fixes and Java 8 supports. - Clean up specfile - Remove redundant %%clean section - Build for java API 1.5 - Remove unzip requirement - Update home page and download source Urls * Wed Sep 3 2014 ro@suse.de - fix group entries for subpackages * Tue Sep 2 2014 ro@suse.de - sanitize release line in specfile * Mon Sep 9 2013 tchvatal@suse.com - Move from jpackage-utils to javapackage-tools * Thu Mar 7 2013 cfarrell@suse.com - license update: LGPL-2.1+ or MPL-1.1 This is a dual license so the operator is ^or^ not ^and^ * Tue Mar 5 2013 coolo@suse.com - update license to new format * Fri Apr 27 2012 mvyskocil@suse.cz - format spec file for Factory * Thu Dec 9 2010 mc@suse.de - initial release