SHA256
1
0
forked from pool/xz-java

2 Commits

3 changed files with 53 additions and 4 deletions

37
xz-java-module-info.patch Normal file
View File

@@ -0,0 +1,37 @@
--- a/build.xml 2025-07-03 17:34:58.653124868 +0200
+++ b/build.xml 2025-07-03 17:50:13.872136109 +0200
@@ -68,6 +68,16 @@
includesfile="fileset-src9.txt">
<compilerarg compiler="modern" line="-Xlint"/>
<compilerarg compiler="modern" line="-implicit:none"/>
+ <exclude name="**/module-info.java"/>
+ </javac>
+ <javac unless:true="${java8only}"
+ srcdir="." sourcepath="${src9_dir}:${src_dir}"
+ destdir="${classes_dir}"
+ includeAntRuntime="false" debug="${debug}"
+ release="${sourcever9}">
+ <compilerarg compiler="modern" line="-Xlint"/>
+ <compilerarg compiler="modern" line="-implicit:none"/>
+ <include name="**/module-info.java"/>
</javac>
</target>
@@ -102,7 +112,7 @@
<jar destfile="${jar_dir}/xz.jar" modificationtime="${timestamp}"
manifest="${manifest_base}">
- <fileset dir="${classes_dir}" includes="org/tukaani/xz/**"/>
+ <fileset dir="${classes_dir}" includes="org/tukaani/xz/**,**/module-info.class"/>
<zipfileset prefix="META-INF/versions/9/" dir="${classes9_dir}"
unless:true="${java8only}"/>
<manifest>
@@ -112,6 +122,8 @@
<attribute name="Sealed" value="true"/>
<attribute name="Multi-Release" value="true"
unless:true="${java8only}"/>
+ <attribute name="Automatic-Module-Name" value="org.tukaani.xz"
+ if:true="${java8only}"/>
<!-- Attributes for OSGi bundles: -->
<attribute name="Bundle-ManifestVersion" value="2"/>
<attribute name="Bundle-SymbolicName" value="org.tukaani.xz"/>

View File

@@ -1,3 +1,13 @@
-------------------------------------------------------------------
Thu Jul 3 15:55:06 UTC 2025 - Fridrich Strba <fstrba@suse.com>
- Added patch:
* xz-java-module-info.patch
+ Do not put the module-info.class into multirelease directory
+ If building with Java 8 only, specify in the manifest the
Automatic-Module-Name, so that it can be recognized as
modular jar even in that configuration
-------------------------------------------------------------------
Fri Aug 2 15:55:10 UTC 2024 - Anton Shvetz <shvetz.anton@gmail.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package xz-java
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
# Copyright (c) 2013 Peter Conrad
#
# All modifications and additions to the file contributed by third parties
@@ -24,7 +24,8 @@ Summary: Pure Java implementation of XZ compression
License: 0BSD
Group: Development/Libraries/Java
URL: https://tukaani.org/xz/java.html
Source: https://tukaani.org/xz/xz-java-%{version}.zip
Source0: https://tukaani.org/xz/xz-java-%{version}.zip
Patch0: xz-java-module-info.patch
BuildRequires: ant
BuildRequires: fdupes
BuildRequires: java-devel >= 1.8
@@ -48,9 +49,10 @@ This package contains the API documentation of xz-java.
%prep
%setup -q -c -n %{name}
%patch -P 0 -p1
%build
%{ant} -Dant.build.javac.{source,target}=8 clean jar doc maven
ant -Dant.build.javac.{source,target}=8 clean jar doc maven
%install
# jar
@@ -62,7 +64,7 @@ install -dm 0755 %{buildroot}%{_mavenpomdir}
%{mvn_install_pom} build/maven/xz-%{version}.pom %{buildroot}%{_mavenpomdir}/%{name}.pom
%add_maven_depmap %{name}.pom %{name}.jar
# javadoc
mkdir -p %{buildroot}%{_javadocdir}/%{name}
install -dm 0755 %{buildroot}%{_javadocdir}/%{name}
cp -pr build/doc/* %{buildroot}%{_javadocdir}/%{name}
%fdupes -s %{buildroot}%{_javadocdir}