diff --git a/ogre-1.9.0-sysctl.patch b/ogre-1.9.0-sysctl.patch new file mode 100644 index 0000000..9e66710 --- /dev/null +++ b/ogre-1.9.0-sysctl.patch @@ -0,0 +1,11 @@ +--- ogre-1.9.0/OgreMain/src/OgrePlatformInformation.cpp~ 2020-05-28 22:26:51.798696996 +0100 ++++ ogre-1.9.0/OgreMain/src/OgrePlatformInformation.cpp 2020-05-28 22:27:24.901691518 +0100 +@@ -42,7 +42,7 @@ + + #if OGRE_PLATFORM == OGRE_PLATFORM_ANDROID + #include +- #elif OGRE_CPU == OGRE_CPU_ARM ++ #elif OGRE_CPU == OGRE_CPU_ARM && OGRE_PLATFORM == OGRE_PLATFORM_APPLE_IOS + #include + #if __MACH__ + #include diff --git a/ogre-gcc11.patch b/ogre-gcc11.patch new file mode 100644 index 0000000..cbba1b9 --- /dev/null +++ b/ogre-gcc11.patch @@ -0,0 +1,13 @@ +diff --git a/Samples/Common/include/Sample.h b/Samples/Common/include/Sample.h +index 6064d8f..e6851a4 100644 +--- a/Samples/Common/include/Sample.h ++++ b/Samples/Common/include/Sample.h +@@ -63,7 +63,7 @@ namespace OgreBites + =============================================================================*/ + struct Comparer + { +- bool operator() (Sample* a, Sample* b) ++ bool operator() (Sample* a, Sample* b) const + { + Ogre::NameValuePairList::iterator aTitle = a->getInfo().find("Title"); + Ogre::NameValuePairList::iterator bTitle = b->getInfo().find("Title"); diff --git a/ogre-gcc16.patch b/ogre-gcc16.patch new file mode 100644 index 0000000..de523bc --- /dev/null +++ b/ogre-gcc16.patch @@ -0,0 +1,11 @@ +--- ogre-1.9.0/OgreMain/include/OgreMemorySTLAllocator.h~ 2013-12-01 17:28:12.000000000 +0000 ++++ ogre-1.9.0/OgreMain/include/OgreMemorySTLAllocator.h 2026-01-15 15:02:26.658307837 +0000 +@@ -123,7 +123,7 @@ + + /// memory allocation (elements, used by STL) + inline pointer allocate( size_type count, +- typename std::allocator::const_pointer ptr = 0 ) ++ const void* ptr = 0 ) + { + (void)ptr; + // convert request to bytes diff --git a/ogre-riscv64.patch b/ogre-riscv64.patch new file mode 100644 index 0000000..d3e6b3c --- /dev/null +++ b/ogre-riscv64.patch @@ -0,0 +1,14 @@ +diff --git a/OgreMain/include/OgrePlatform.h b/OgreMain/include/OgrePlatform.h +index 4a7b4b7..1434c8b 100644 +--- a/OgreMain/include/OgrePlatform.h ++++ b/OgreMain/include/OgrePlatform.h +@@ -166,7 +166,8 @@ namespace Ogre { + #endif + + /* Find the arch type */ +-#if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) || defined(__ia64__) || defined(__s390__) || defined(__s390x__) || defined(__arm64__) || defined(__aarch64__) || defined(__mips64) || defined(__mips64_) ++#if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) || defined(__ia64__) || defined(__s390__) || defined(__s390x__) || defined(__arm64__) || defined(__aarch64__) || defined(__mips64) || defined(__mips64_) \ ++ || (defined(__riscv) && __riscv_xlen == 64) + # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_64 + #else + # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_32 diff --git a/ogre.spec b/ogre.spec index 2dde7cc..bcecf04 100644 --- a/ogre.spec +++ b/ogre.spec @@ -1,15 +1,33 @@ +%undefine __cmake_in_source_build + Name: ogre Version: 1.9.0 -Release: 26%{?dist} +Release: 53%{?dist} +Epoch: 1 Summary: Object-Oriented Graphics Rendering Engine -# MIT with exceptions - main library -# CC-BY-SA - devel docs -# Freely redistributable without restriction - most of samples content +# MIT - main library +# CC-BY-SA-3.0 - devel docs # MIT - shaders for DeferredShadingMedia samples -# Public Domain - Some of the build files, samples and plugins -License: MIT with exceptions and CC-BY-SA and Freely redistributable without restriction +# Public Domain - CMAKE file (ignored as they are not of build result) +# - see https://gitlab.com/fedora/legal/fedora-license-data/-/merge_requests/691 for list of files +# Zlib - Samples/Media/*/DualQuaternion* +# - Tools/XMLConverter/src/tiny* +# BSL-1.0 - Many of the maths/spatial routines (OgreMain/include/OgreAny.h, OgreMain/include/OgrePlane.h ...) +# LicenseRef-Callaway-dante-treglia - OgreMain/include/OgreSingleton.h +# - temporary id, see https://gitlab.com/fedora/legal/fedora-license-data/-/issues/595 +# NCSA - OgreMain/include/OgreSmallVector.h +# BSD-3-Clause - OgreMain/include/OgreUTFString.h +# MIT-Khronos-old - RenderSystems/GL/include/GL/glew.h, RenderSystems/GL/include/GL/glxew.h, RenderSystems/GL/include/GL/wglew.h +# GPL-2.0-or-later WITH Bison-exception-1.24 - RenderSystems/GL/src/nvparse/*_parser.cpp +# SGI-B-2.0 - RenderSystems/GLES2/include/GLES2/gl2.h +# LGPL-2.1-only - Tools/Common/setup/License.rtf +# LGPL-2.1-or-later - files in Tools/BlenderExport/ +# GPLv2-or-later - Tools/LightwaveConverter +# HPND - Tools/MaterialEditor/wxscintilla_1.69.2/src/scintilla/License.txt +# LGPL-2.0-or-later WITH WxWindows-exception-3.1 - Tools/MaterialEditor/wxscintilla_1.69.2/src/ScintillaWX.h +License: MIT AND LicenseRef-Fedora-Public-Domain AND CC-BY-SA-3.0 AND Zlib AND BSL-1.0 AND LicenseRef-Callaway-dante-treglia AND NCSA AND BSD-3-Clause AND MIT-Khronos-old AND GPL-2.0-or-later WITH Bison-exception-1.24 AND SGI-B-2.0 AND LGPL-2.1-only AND LGPL-2.1-or-later AND GPLv2-or-later AND HPND AND LGPL-2.0-or-later WITH WxWindows-exception-3.1 URL: http://www.ogre3d.org/ -# This is modified http://downloads.sourceforge.net/ogre/ogre-v%(echo %{version} | tr . -).tar.bz2 +# This is modified http://downloads.sourceforge.net/ogre/ogre-v%%(echo %%{version} | tr . -).tar.bz2 # with non-free files striped (see ogre-make-clean.sh): # Update local glew copy # - Non-free licensed headers under RenderSystems/GL/include/GL removed @@ -26,10 +44,16 @@ Patch7: ogre-1.9.0-dynlib-allow-no-so.patch Patch8: ogre-1.9.0-cmake-freetype.patch Patch9: ogre-1.9.0-cmake_build-fix.patch Patch10: ogre-aarch64.patch +Patch11: ogre-riscv64.patch # Resolve link errors due to incorrect template creation # https://bitbucket.org/sinbad/ogre/commits/a24ac4afbbb9dc5ff49a61634af50da11ba8fb97/ # https://bugzilla.redhat.com/show_bug.cgi?id=1223612 -Patch11: ogre-a24ac4afbbb9dc5ff49a61634af50da11ba8fb97.diff +Patch12: ogre-a24ac4afbbb9dc5ff49a61634af50da11ba8fb97.diff +# Remove unnecessary inclusion of +# https://bugzilla.redhat.com/show_bug.cgi?id=1841324 +Patch13: ogre-1.9.0-sysctl.patch +Patch14: %{name}-gcc11.patch +Patch15: %{name}-gcc16.patch BuildRequires: gcc-c++ BuildRequires: zziplib-devel freetype-devel BuildRequires: libXaw-devel libXrandr-devel libXxf86vm-devel libGLU-devel @@ -54,7 +78,7 @@ intuitive classes. %package paging Summary: OGRE component for terrain paging -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description paging Provides paging functionality. In essence it allows worlds to be rendered @@ -62,7 +86,7 @@ and loaded at the same time. %package property Summary: OGRE component for property introspection -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description property OGRE's property system allows you to associate values of arbitrary type with @@ -70,7 +94,7 @@ names, and have those values exposed via a self-describing interface. %package rtss Summary: OGRE RT Shader System component -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description rtss The Real Time Shader System, or RTSS for short, is a component of Ogre. This @@ -79,7 +103,7 @@ properties, scene setup and other user definitions. %package terrain Summary: OGRE component for terrain rendering -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description terrain OGRE's terrain component provides rendering of terrain represented by @@ -87,7 +111,7 @@ heightmaps. %package overlay Summary: OGRE overlay component -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description overlay Overlays allow you to render 2D and 3D elements on top of the normal scene @@ -96,7 +120,7 @@ status panels etc. %package volume Summary: OGRE component for volume rendering -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description volume This component used to render volumes. It can handle any volume data but @@ -104,7 +128,7 @@ featurewise has a tedency towards terrains. %package utils Summary: OGRE production pipeline utilities -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} %description utils Contains OgreXMLConverter, it can take .mesh.xml files and convert them into @@ -114,20 +138,20 @@ them to the latest version. %package devel Summary: Ogre header files and documentation -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: %{name}-paging%{?_isa} = %{version}-%{release} -Requires: %{name}-property%{?_isa} = %{version}-%{release} -Requires: %{name}-rtss%{?_isa} = %{version}-%{release} -Requires: %{name}-terrain%{?_isa} = %{version}-%{release} -Requires: %{name}-overlay%{?_isa} = %{version}-%{release} -Requires: %{name}-volume%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-paging%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-property%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-rtss%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-terrain%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-overlay%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: %{name}-volume%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Requires: pkgconfig # Requires: poco-devel Requires: boost-devel Requires: glew-devel Requires: cmake -Obsoletes: %{name}-devel-doc <= %{version}-%{release} +Obsoletes: %{name}-devel-doc <= %{?epoch:%{epoch}:}%{version}-%{release} %description devel This package contains the header files for Ogre. @@ -135,7 +159,7 @@ Install this package if you want to develop programs that use Ogre. %package samples Summary: Ogre samples executables and media -Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} %description samples This package contains the compiled (not the source) sample applications coming @@ -146,22 +170,26 @@ using SampleBrowser. %prep %setup -q mkdir build -%patch0 -p1 -b .rpath -%patch1 -p1 -b .glew -%patch3 -p1 -b .ppc -%patch5 -p1 -b .build-rcapsdump -%patch6 -p0 -b .thread -%patch7 -p1 -b .dynlib-allow-no-so -%if (%{?fedora} > 20) && (0%{?fedora} < 24) +%patch -P0 -p1 -b .rpath +%patch -P1 -p1 -b .glew +%patch -P3 -p1 -b .ppc +%patch -P5 -p1 -b .build-rcapsdump +%patch -P6 -p0 -b .thread +%patch -P7 -p1 -b .dynlib-allow-no-so +%if (0%{?fedora} > 20) && (0%{?fedora} < 24) # freetype header chaos: # Fedora <= 20 headers in /usr/include/freetype2/freetype # Fedora 21,22,23 headers in /usr/include/freetype2 # Fedora >= 24 headers in /usr/include/freetype2/freetype -%patch8 -p1 -b .cmake-freetype +%patch -P8 -p1 -b .cmake-freetype %endif -%patch9 -p1 -b .cmake_build-fix -%patch10 -p1 -%patch11 -p1 +%patch -P9 -p1 -b .cmake_build-fix +%patch -P10 -p1 +%patch -P11 -p1 +%patch -P12 -p1 +%patch -P13 -p1 +%patch -P14 -p1 +%patch -P15 -p1 # remove execute bits from src-files for -debuginfo package chmod -x `find RenderSystems/GL -type f` \ @@ -176,15 +204,11 @@ ln -s ../COPYING Docs/licenses/mit.txt rm Tools/XMLConverter/include/tiny* %build -pushd build - %cmake .. -DOGRE_FULL_RPATH=0 -DCMAKE_SKIP_RPATH=1 -DOGRE_LIB_DIRECTORY=%{_lib} -DOGRE_BUILD_RTSHADERSYSTEM_EXT_SHADERS=1 -DOGRE_BUILD_PLUGIN_CG=0 - make %{?_smp_mflags} -popd +%cmake -DOGRE_FULL_RPATH=0 -DCMAKE_SKIP_RPATH=1 -DOGRE_LIB_DIRECTORY=%{_lib} -DOGRE_BUILD_RTSHADERSYSTEM_EXT_SHADERS=1 -DOGRE_BUILD_PLUGIN_CG=0 +%cmake_build %install -pushd build - %make_install -popd +%cmake_install # Create config for ldconfig mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d @@ -215,10 +239,6 @@ rm -f %{buildroot}%{_datadir}/OGRE/docs/CMakeLists.txt mkdir -p %{buildroot}%{_datadir}/cmake/Modules mv %{buildroot}%{_libdir}/OGRE/cmake/* %{buildroot}%{_datadir}/cmake/Modules -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - %files %doc AUTHORS BUGS COPYING %doc Docs/ChangeLog.html Docs/License.html Docs/licenses Docs/ReadMe.html Docs/style.css Docs/ogre-logo*.gif @@ -273,6 +293,101 @@ mv %{buildroot}%{_libdir}/OGRE/cmake/* %{buildroot}%{_datadir}/cmake/Modules %changelog +* Thu Jan 15 2026 Jonathan Wakely - 1.9.0-53 +- Patched for GCC 16 + +* Thu Jul 24 2025 Fedora Release Engineering - 1:1.9.0-52 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 1:1.9.0-51 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 1:1.9.0-50 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Apr 24 2024 Benjamin A. Beasley - 1:1.9.0-49 +- Rebuilt for openexr 3.2.4 + +* Mon Feb 26 2024 Songsong Zhang - 1:1.9.0-48 +- Add riscv64 support + +* Thu Jan 25 2024 Fedora Release Engineering - 1:1.9.0-48 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 1:1.9.0-47 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jan 17 2024 Jonathan Wakely - 1:1.9.0-46 +- Rebuilt for Boost 1.83 + +* Thu Jul 20 2023 Fedora Release Engineering - 1:1.9.0-45 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Feb 20 2023 Jonathan Wakely - 1:1.9.0-44 +- Rebuilt for Boost 1.81 + +* Thu Jan 19 2023 Fedora Release Engineering - 1:1.9.0-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jul 22 2022 Fedora Release Engineering - 1:1.9.0-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed May 04 2022 Thomas Rodgers - 1:1.9.0-41 +- Rebuilt for Boost 1.78 + +* Thu Jan 20 2022 Fedora Release Engineering - 1:1.9.0-40 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Aug 06 2021 Jonathan Wakely - 1:1.9.0-39 +- Rebuilt for Boost 1.76 + +* Thu Jul 22 2021 Fedora Release Engineering - 1:1.9.0-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 30 2021 Jonathan Wakely - 1:1.9.0-37 +- Rebuilt for removed libstdc++ symbol (#1937698) + +* Tue Jan 26 2021 Fedora Release Engineering - 1:1.9.0-36 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Fri Jan 22 2021 Jonathan Wakely - 1:1.9.0-35 +- Rebuilt for Boost 1.75 + +* Fri Dec 04 2020 Jeff Law - 1:1.9.0-34 +- Make comparison object invocable as const for gcc-11 + +* Sat Dec 05 2020 Sérgio Basto - 1:1.9.0-33 +- Fix epoch + +* Fri Dec 04 2020 Sérgio Basto - 1:1.9.0-32 +- Fix cmake build + +* Mon Nov 23 2020 Sérgio Basto - 1.12.9-1 +- Update to 1.12.9 + +* Sun Nov 22 2020 Sérgio Basto - 1.12.6-1 +- Update to 1.12.6 +- Fix cmake build +- Use upstream source and simply remove the GL headers in %prep. +- Add Bitwise.patch for build on s390x + +* Sat Aug 01 2020 Fedora Release Engineering - 1.9.0-31 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 1.9.0-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu May 28 2020 Jonathan Wakely - 1.9.0-29 +- Rebuilt for Boost 1.73 +- Patched for glibc 2.32 (#1841324) + +* Wed Jan 29 2020 Fedora Release Engineering - 1.9.0-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 1.9.0-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri Feb 01 2019 Fedora Release Engineering - 1.9.0-26 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild