diff --git a/sdljava.rpmlintrc b/sdljava.rpmlintrc new file mode 100644 index 0000000..333107f --- /dev/null +++ b/sdljava.rpmlintrc @@ -0,0 +1,7 @@ +# We ship a cleaned tarbal with nonfree fonts removed +addFilter("W: invalid-url Source0: sdljava-0.9.1.tar.gz") +# Silence warnings about the nonfree font replacement symlinks +addFilter("W: dangling-symlink .*") +# The demos do not have docs / manpages, nor do they need these +addFilter("W: no-manual-page-for-binary .*") +addFilter("W: no-documentation") diff --git a/sdljava.spec b/sdljava.spec index 717c94f..fc8380d 100644 --- a/sdljava.spec +++ b/sdljava.spec @@ -7,11 +7,12 @@ Name: sdljava Version: 0.9.1 -Release: 40%{?dist} +Release: 67%{?dist} Summary: Java binding to the SDL API -License: LGPLv2+ +# Automatically converted from old format: LGPLv2+ - review is highly recommended. +License: LicenseRef-Callaway-LGPLv2+ URL: http://sdljava.sourceforge.net/ -# this is http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz +# this is http://downloads.sourceforge.net/%%{name}/%%{name}-%%{version}.tar.gz # with the included Microsoft Copyrighted Arial fonts removed Source0: %{name}-%{version}.tar.gz Source1: %{name}-runtest.sh @@ -29,19 +30,20 @@ BuildRequires: SDL_image-devel BuildRequires: SDL_mixer-devel BuildRequires: SDL_ttf-devel -BuildRequires: javapackages-local -BuildRequires: ant +BuildRequires: javapackages-local-openjdk25 +BuildRequires: ant-openjdk25 BuildRequires: swig -BuildRequires: bsh BuildRequires: jdom BuildRequires: xml-commons-apis - -BuildRequires: jruby BuildRequires: %{_bindir}/ruby +BuildRequires: rubygems +# To generate the replacement font symlinks for the sdljava-demo testdata +BuildRequires: font(dejavusans) fontconfig +# sdljava provides java bindings for SDL, so it can only run on java_arches +ExclusiveArch: %{java_arches} -Requires: java -Requires: javapackages-tools -Requires: bsh +Requires: java-25 +Requires: javapackages-filesystem Requires: jdom %description @@ -64,20 +66,15 @@ Javadoc for %{name}. Summary: Some examples for %{name} BuildArch: noarch Requires: %{name} = %{version}-%{release} -Requires: /usr/share/fonts/dejavu/DejaVuSans.ttf -Requires: /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf -Requires: /usr/share/fonts/dejavu/DejaVuSans-Oblique.ttf -Requires: /usr/share/fonts/dejavu/DejaVuSans-BoldOblique.ttf +Requires: font(dejavusans) +Requires: javapackages-tools %description demo Demonstrations and samples for %{name}. %prep -%setup -q -%patch0 -p1 -z .regen -%patch1 -p1 -%patch2 -p1 +%autosetup -p1 find -name '*.jar' -or -name '*.class' -or -name '*.bat' -name '*.so' -delete rm -r etc/build/gljava/windows etc/build/windows @@ -99,8 +96,8 @@ sed -i "s#@GCC_INCLUDE_PATH@#$GCC_PATH/include#g" \ find ./testsrc -name '*.java' | xargs sed -i \ -e 's|testdata|%{_datadir}/%{name}/testdata|g' -# use system versions of bsh & jdom -build-jar-repository -p lib jdom bsh +# use system versions of jdom +build-jar-repository -p lib jdom # copy the Linux Makefiles into place cp etc/build/linux/Makefile src/sdljava/native @@ -113,7 +110,7 @@ rm src/org/gljava/opengl/native/glew_wrap.c %build -# We must add -D__%{_arch}__ to swigs arguments as swig doesn't do that itself. +# We must add -D__%%{_arch}__ to swigs arguments as swig doesn't do that itself. # Special case ppc as the define is powerpc not ppc and both ppc and ppc64 # must be set for ppc64, also add -D__LONG_DOUBLE_128__ which works around # swig barfing on bits/stdlib-ldbl.h @@ -168,25 +165,24 @@ ant jar javadoc mkdir -p $RPM_BUILD_ROOT%{_bindir} mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} -mkdir -p $RPM_BUILD_ROOT%{_javadir} -# should be just %{_javadocdir}/%{name} but that is a ghosted symlink in older -# versions and rpm does not grok replacing that with a dir -mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} +mkdir -p $RPM_BUILD_ROOT%{_jnidir} +mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{name} # jars install -m 644 lib/%{name}.jar \ - $RPM_BUILD_ROOT%{_javadir}/%{name}.jar + $RPM_BUILD_ROOT%{_jnidir}/%{name}.jar # native libraries install -m 755 lib/*.so $RPM_BUILD_ROOT%{_libdir}/%{name} # javadoc -cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} +cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name} # demo scripts install -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir} pushd bin rm runtest.sh +rm run-bsh.sh for i in `ls -1 *.sh`; do sed -i -e 's|./runtest.sh|%{_bindir}/%{name}-runtest.sh|g' $i FN=`echo $i | awk 'BEGIN { FS="." }{ print $1 }'` @@ -196,33 +192,118 @@ popd #test data cp -a testdata $RPM_BUILD_ROOT%{_datadir}/%{name} -ln -s ../../fonts/dejavu/DejaVuSans.ttf \ +ln -s $(fc-match -f "%{file}" "sans") \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arial.ttf -ln -s ../../fonts/dejavu/DejaVuSans-Bold.ttf \ +ln -s $(fc-match -f "%{file}" "sans:bold") \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arialbd.ttf -ln -s ../../fonts/dejavu/DejaVuSans-Oblique.ttf \ +ln -s $(fc-match -f "%{file}" "sans:italic") \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/ariali.ttf -ln -s ../../fonts/dejavu/DejaVuSans-BoldOblique.ttf \ +ln -s $(fc-match -f "%{file}" "sans:bold:italic") \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arialbi.ttf %files -%defattr(-,root,root,-) %doc README TODO docs/CHANGES_0_9_1 -%{_javadir}/%{name}.jar +%{_jnidir}/%{name}.jar %{_libdir}/%{name} %files javadoc -%defattr(-,root,root,-) -%doc %{_javadocdir}/%{name}-%{version} +%doc %{_javadocdir}/%{name} %files demo -%defattr(-,root,root,-) %{_bindir}/%{name}-*.sh %{_datadir}/%{name} %changelog +* Mon Jul 28 2025 jiri vanek - 0.9.1-67 +- Rebuilt for java-25-openjdk as preffered jdk + +* Fri Jul 25 2025 Fedora Release Engineering - 0.9.1-66 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Sun Jan 19 2025 Fedora Release Engineering - 0.9.1-65 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Wed Sep 04 2024 Miroslav Suchý - 0.9.1-64 +- convert license to SPDX + +* Sat Jul 20 2024 Fedora Release Engineering - 0.9.1-63 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 0.9.1-62 +- Rebuilt for java-21-openjdk as system jdk + +* Sat Jan 27 2024 Fedora Release Engineering - 0.9.1-61 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0.9.1-60 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 0.9.1-59 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Jul 23 2022 Fedora Release Engineering - 0.9.1-58 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jul 16 2022 Hans de Goede - 0.9.1-57 +- sdljava provides java bindings for SDL and the JDK is no longer + build on i686, disable i686 builds (rhbz#2104100) + +* Thu Feb 10 2022 Orion Poplawski - 0.9.1-56 +- Rebuild for glew 2.2 + +* Sat Feb 05 2022 Jiri Vanek - 0.9.1-55 +- Rebuilt for java-17-openjdk as system jdk + +* Sat Jan 22 2022 Fedora Release Engineering - 0.9.1-54 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Dec 2 2021 Hans de Goede - 0.9.1-53 +- Drop sdljava-run-bsh.sh demo +- Drop now unnecessary bsh Requires + +* Fri Jul 23 2021 Fedora Release Engineering - 0.9.1-52 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.9.1-51 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jul 29 2020 Fedora Release Engineering - 0.9.1-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Sat Jul 11 2020 Jiri Vanek - 0.9.1-49 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Mon Mar 9 2020 Hans de Goede - 0.9.1-48 +- Use fc-match to generate dejavu font file symlinks in -demo in case the + file-paths or names change again in the future + +* Fri Mar 6 2020 Hans de Goede - 0.9.1-47 +- Replace path requires on dejavu with Requires: font(dejavusans) (rhbz#1731701) +- Adjust -demo font paths for F32+ font path changes (rhbz#1806272) + +* Thu Jan 30 2020 Fedora Release Engineering - 0.9.1-46 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 25 2019 Hans de Goede - 0.9.1-45 +- Replace unnecessary BuildRequires: jruby with BuildRequires: rubygems +- Drop version prefix from javadocs installation the ghosted symlink + blocking us from doing this has last shipped in Fedora 16 +- Update to match latest java packaging guidelines + +* Fri Jul 26 2019 Fedora Release Engineering - 0.9.1-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sat Feb 02 2019 Fedora Release Engineering - 0.9.1-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Aug 23 2018 Nicolas Chauvet - 0.9.1-42 +- Rebuilt for glew 2.1.0 + +* Sat Jul 14 2018 Fedora Release Engineering - 0.9.1-41 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Mon Feb 19 2018 Michael Simacek - 0.9.1-40 - Add BR on gcc and make