diff --git a/sdljava.rpmlintrc b/sdljava.rpmlintrc deleted file mode 100644 index 333107f..0000000 --- a/sdljava.rpmlintrc +++ /dev/null @@ -1,7 +0,0 @@ -# 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 fc8380d..10999bc 100644 --- a/sdljava.spec +++ b/sdljava.spec @@ -7,44 +7,22 @@ Name: sdljava Version: 0.9.1 -Release: 67%{?dist} +Release: 31%{?dist} Summary: Java binding to the SDL API -# 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 +Group: System Environment/Libraries +License: LGPLv2+ +Url: http://sdljava.sourceforge.net/ +# 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 Patch0: sdljava-0.9.1-regen.patch Patch1: sdljava-0.9.1-ftgl213.patch Patch2: sdljava-0.9.1-ruby19.patch - -BuildRequires: gcc-c++ -BuildRequires: make -BuildRequires: ftgl-devel -BuildRequires: glew-devel -BuildRequires: SDL-devel -BuildRequires: SDL_gfx-devel -BuildRequires: SDL_image-devel -BuildRequires: SDL_mixer-devel -BuildRequires: SDL_ttf-devel - -BuildRequires: javapackages-local-openjdk25 -BuildRequires: ant-openjdk25 -BuildRequires: swig -BuildRequires: jdom -BuildRequires: xml-commons-apis -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-25 -Requires: javapackages-filesystem -Requires: jdom +BuildRequires: ftgl-devel glew-devel SDL-devel SDL_gfx-devel SDL_image-devel +BuildRequires: SDL_mixer-devel SDL_ttf-devel java-devel jpackage-utils +BuildRequires: java-javadoc ant xml-commons-apis swig bsh jdom ruby +Requires: bsh jdom %description sdljava is a Java binding to the SDL API being developed by Ivan Ganza. @@ -56,7 +34,9 @@ efficient and easy to use. %package javadoc Summary: Javadoc for %{name} +Group: Development/Libraries BuildArch: noarch +Requires: %{name} = %{version}-%{release} %description javadoc Javadoc for %{name}. @@ -64,21 +44,24 @@ Javadoc for %{name}. %package demo Summary: Some examples for %{name} +Group: Development/Libraries BuildArch: noarch Requires: %{name} = %{version}-%{release} -Requires: font(dejavusans) -Requires: javapackages-tools +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: java jpackage-utils %description demo Demonstrations and samples for %{name}. %prep -%autosetup -p1 - -find -name '*.jar' -or -name '*.class' -or -name '*.bat' -name '*.so' -delete -rm -r etc/build/gljava/windows etc/build/windows - +%setup -q +%patch0 -p1 -z .regen +%patch1 -p1 +%patch2 -p1 # Newer ftgl no longer exports the FTFace class rm src/org/gljava/opengl/ftgl/FTFace.java iconv -f ISO_8859-2 -t UTF8 docs/CHANGES_0_9_1 > docs/CHANGES_0_9_1.tmp @@ -96,8 +79,12 @@ 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 jdom -build-jar-repository -p lib jdom +# use system versions of bsh & jdom +pushd lib +rm *.jar +ln -s /usr/share/java/jdom.jar . +ln -s /usr/share/java/bsh.jar . +popd # copy the Linux Makefiles into place cp etc/build/linux/Makefile src/sdljava/native @@ -110,7 +97,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 @@ -123,9 +110,6 @@ export ARCH_DEFINE="-D__powerpc__ -D__powerpc64__ -D__LONG_DOUBLE_128__" %ifarch ppc64le export ARCH_DEFINE="-D__powerpc__ -D__powerpc64__ -D__LITTLE_ENDIAN__ -D\"__BYTE_ORDER__=1234\" -D\"_CALL_ELF=2\" -D__LONG_DOUBLE_128__" %endif -%ifarch s390x -export ARCH_DEFINE="-D__s390x__ -D__LONG_DOUBLE_128__" -%endif # special case ix86 as all of ix86 should define __i386__ %ifarch %{ix86} export ARCH_DEFINE="-D__i386__" @@ -142,7 +126,7 @@ if [ -z "$ARCH_DEFINE" ]; then export ARCH_DEFINE="-D__%{_arch}__" fi -export JAVA_HOME=%{_jvmdir}/java +export JAVA_HOME=/usr/lib/jvm/java pushd src/sdljava/native make CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fPIC" @@ -165,24 +149,25 @@ 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%{_jnidir} -mkdir -p $RPM_BUILD_ROOT%{_javadocdir}/%{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} # jars install -m 644 lib/%{name}.jar \ - $RPM_BUILD_ROOT%{_jnidir}/%{name}.jar + $RPM_BUILD_ROOT%{_javadir}/%{name}.jar # native libraries install -m 755 lib/*.so $RPM_BUILD_ROOT%{_libdir}/%{name} # javadoc -cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name} +cp -pr docs/api/* $RPM_BUILD_ROOT%{_javadocdir}/%{name}-%{version} # 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 }'` @@ -192,146 +177,33 @@ popd #test data cp -a testdata $RPM_BUILD_ROOT%{_datadir}/%{name} -ln -s $(fc-match -f "%{file}" "sans") \ +ln -s ../../fonts/dejavu/DejaVuSans.ttf \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arial.ttf -ln -s $(fc-match -f "%{file}" "sans:bold") \ +ln -s ../../fonts/dejavu/DejaVuSans-Bold.ttf \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arialbd.ttf -ln -s $(fc-match -f "%{file}" "sans:italic") \ +ln -s ../../fonts/dejavu/DejaVuSans-Oblique.ttf \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/ariali.ttf -ln -s $(fc-match -f "%{file}" "sans:bold:italic") \ +ln -s ../../fonts/dejavu/DejaVuSans-BoldOblique.ttf \ $RPM_BUILD_ROOT%{_datadir}/%{name}/testdata/arialbi.ttf %files +%defattr(-,root,root,-) %doc README TODO docs/CHANGES_0_9_1 -%{_jnidir}/%{name}.jar +%{_javadir}/%{name}.jar %{_libdir}/%{name} %files javadoc -%doc %{_javadocdir}/%{name} +%defattr(-,root,root,-) +%doc %{_javadocdir}/%{name}-%{version} %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 - -* Fri Feb 09 2018 Fedora Release Engineering - 0.9.1-39 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Thu Oct 26 2017 Vít Ondruch - 0.9.1-38 -- Prefer dependency on "%%{_bindir}/ruby". - -* Mon Sep 04 2017 Michael Simacek - 0.9.1-37 -- Fix build on s390x - -* Thu Aug 03 2017 Fedora Release Engineering - 0.9.1-36 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Thu Jul 27 2017 Fedora Release Engineering - 0.9.1-35 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Feb 11 2017 Fedora Release Engineering - 0.9.1-34 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Jan 10 2017 Orion Poplawski - 0.9.1-33 -- Rebuild for glew 2.0.0 - -* Sun Jul 17 2016 Michael Simacek - 0.9.1-32 -- Fix FTBFS -- Specfile cleanup - * Thu Feb 04 2016 Fedora Release Engineering - 0.9.1-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild