#1 Update to 1.12.6
Merged 3 years ago by sergiomb. Opened 3 years ago by sergiomb.
rpms/ sergiomb/ogre master  into  master

@@ -1,22 +1,8 @@ 

- diff -uNr ogre-1.9.0/Tools/CMakeLists.txt ogre-1.9.0.rcapsdump/Tools/CMakeLists.txt

- --- ogre-1.9.0/Tools/CMakeLists.txt	2013-12-01 21:28:12.000000000 +0400

- +++ ogre-1.9.0.rcapsdump/Tools/CMakeLists.txt	2014-06-07 22:09:58.310761427 +0400

- @@ -14,3 +14,5 @@

-    add_subdirectory(XMLConverter)

-    add_subdirectory(MeshUpgrader)

-  endif (NOT OGRE_BUILD_PLATFORM_APPLE_IOS AND NOT OGRE_BUILD_PLATFORM_WINRT)

+ --- ./Tools/CMakeLists.txt.orig	2020-05-29 15:24:33.979876605 +0100

+ +++ ./Tools/CMakeLists.txt	2020-05-29 15:27:00.867875392 +0100

+ @@ -17,3 +17,5 @@ if (NOT APPLE_IOS AND NOT (WINDOWS_STORE

+      add_subdirectory(MeshUpgrader)

+    endif()

+  endif (NOT APPLE_IOS AND NOT (WINDOWS_STORE OR WINDOWS_PHONE))

  +

  +add_subdirectory(rcapsdump)

- diff -uNr ogre-1.9.0/Tools/rcapsdump/CMakeLists.txt ogre-1.9.0.rcapsdump/Tools/rcapsdump/CMakeLists.txt

- --- ogre-1.9.0/Tools/rcapsdump/CMakeLists.txt	1970-01-01 03:00:00.000000000 +0300

- +++ ogre-1.9.0.rcapsdump/Tools/rcapsdump/CMakeLists.txt	2014-06-07 22:10:45.999350666 +0400

- @@ -0,0 +1,9 @@

- +# Configure rcapsdump

- +

- +set(SOURCE_FILES 

- +  src/main.cpp

- +)

- +

- +add_executable(rcapsdump ${SOURCE_FILES})

- +target_link_libraries(rcapsdump ${OGRE_LIBRARIES})

- +ogre_config_tool(rcapsdump)

@@ -1,21 +1,20 @@ 

- diff -uNr ogre-1.9.0/OgreMain/src/OgreDynLib.cpp ogre-1.9.0.dynlib-allow-no-so/OgreMain/src/OgreDynLib.cpp

- --- ogre-1.9.0/OgreMain/src/OgreDynLib.cpp	2013-12-01 21:28:12.000000000 +0400

- +++ ogre-1.9.0.dynlib-allow-no-so/OgreMain/src/OgreDynLib.cpp	2014-06-07 22:22:44.500257614 +0400

- @@ -76,7 +76,9 @@

-  		String name = mName;

-  #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_NACL

+ --- ./OgreMain/src/OgreDynLib.cpp.orig	2020-04-26 00:11:59.000000000 +0100

+ +++ ./OgreMain/src/OgreDynLib.cpp	2020-05-29 15:30:38.474355025 +0100

+ @@ -80,7 +80,9 @@ namespace Ogre {

+              name += ".js";

+  #elif OGRE_PLATFORM == OGRE_PLATFORM_LINUX

           // dlopen() does not add .so to the filename, like windows does for .dll

  -        if (name.find(".so") == String::npos)

  +        mInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );

  +        // Only add .so if open without it failed

  +        if ((!mInst) && (name.find(".so") == String::npos))

           {

-              name += ".so.";

-              name += StringConverter::toString(OGRE_VERSION_MAJOR) + ".";

- @@ -93,7 +95,7 @@

-  		if (name.substr(name.length() - 4, 4) != ".dll")

-  			name += ".dll";

-  #endif

+              name += StringUtil::format(".so.%d.%d.%d", OGRE_VERSION_MAJOR, OGRE_VERSION_MINOR, OGRE_VERSION_PATCH);

+          }

+ @@ -98,7 +100,7 @@ namespace Ogre {

+          // Log library load

+          LogManager::getSingleton().logMessage("Loading library " + name);

+  

  -        mInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );

  +        if( !mInst ) mInst = (DYNLIB_HANDLE)DYNLIB_LOAD( name.c_str() );

   #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE

file modified
+11 -12
@@ -3,31 +3,30 @@ 

  set -e

  set -x

  

- version=1.9.0

+ version=1.12.9

  

- [ ! -e ogre-${version} ]

- 

- rpm -q mercurial

- hg clone https://bitbucket.org/sinbad/ogre ogre-${version}

- hg archive -R ogre-${version} -r v$(echo ${version} | tr . -) -t tbz2 ogre-${version}.tar.bz2

- rm -rf ogre-${version}

+ [ ! -e ogre-${version} ] && wget https://github.com/OGRECave/ogre/archive/v${version}/ogre-${version}.tar.gz

  

  # Clean up

- tar xjf ogre-${version}.tar.bz2

+ tar xf ogre-${version}.tar.gz

  pushd ogre-${version}

    # - Non-free licensed headers under RenderSystems/GL/include/GL removed

-   rm RenderSystems/GL/include/GL/{gl,glext,glxext,glxtokens,wglext}.h

+   rm RenderSystems/GL/include/GL/{gl,glext}.h

  

    # - GLEW sources updated

-   rpm -q glew-devel glew-debuginfo

+   # not working glew.c:1542:1: error: unknown type name 'PFNGLPROGRAMUNIFORM1DEXTPROC';

+   rpm -q glew-devel glew-debugsource

+   echo if package glew-debugsource is not installed, dnf debuginfo-install glew

    cp -f /usr/include/GL/{glew,glxew,wglew}.h RenderSystems/GL/include/GL/

    cp -f /usr/src/debug/glew-*/src/glew.c RenderSystems/GL/src/glew.cpp

    dos2unix RenderSystems/GL/src/glew.cpp

  

+ 

+   # https://github.com/OGRECave/ogre/issues/882

    # - Non-free chiropteraDM.pk3 under Samples/Media/packs removed

-   rm Samples/Media/packs/chiropteraDM.{pk3,txt}

+   # rm Samples/Media/packs/chiropteraDM.{pk3,txt}

  

    # - Non-free textures under Samples/Media/materials/textures/nvidia removed

-   rm Samples/Media/materials/textures/nvidia/*

+   # rm Samples/Media/materials/textures/nvidia/*

  popd

  tar cjf ogre-${version}-clean.tar.bz2 ogre-${version}

file modified
+77 -66
@@ -1,6 +1,8 @@ 

+ %undefine __cmake_in_source_build

+ 

  Name:           ogre

- Version:        1.9.0

- Release:        31%{?dist}

+ Version:        1.12.6

+ Release:        1%{?dist}

  Summary:        Object-Oriented Graphics Rendering Engine

  # MIT with exceptions - main library

  # CC-BY-SA - devel docs
@@ -9,42 +11,49 @@ 

  # Public Domain - Some of the build files, samples and plugins

  License:        MIT with exceptions and CC-BY-SA and Freely redistributable without restriction

  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

  # - Non-free chiropteraDM.pk3 under Samples/Media/packs removed

  # - Non-free textures under Samples/Media/materials/textures/nvidia

- Source0:        %{name}-%{version}-clean.tar.bz2

+ Source0:        https://github.com/OGRECave/ogre/archive/v%{version}/ogre-%{version}.tar.gz

+ Source1:        https://github.com/ocornut/imgui/archive/v1.76/imgui-1.76.tar.gz

  Patch0:         ogre-1.7.2-rpath.patch

- Patch1:         ogre-1.9.0-glew.patch

- Patch3:         ogre-1.7.2-fix-ppc-build.patch

- Patch5:         ogre-1.9.0-build-rcapsdump.patch

+ #Patch5:         ogre-1.9.0-build-rcapsdump.patch

  Patch6:         ogre-thread.patch

- Patch7:         ogre-1.9.0-dynlib-allow-no-so.patch

- # FIXME: Patch is bogus on Fedora >= 24

- Patch8:         ogre-1.9.0-cmake-freetype.patch

- Patch9:         ogre-1.9.0-cmake_build-fix.patch

- Patch10:        ogre-aarch64.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

  # Remove unnecessary inclusion of <sys/sysctl.h>

  # https://bugzilla.redhat.com/show_bug.cgi?id=1841324

  Patch12:        ogre-1.9.0-sysctl.patch

+ Patch13:        Bitwise.patch

  BuildRequires:  gcc-c++

- BuildRequires:  zziplib-devel freetype-devel

- BuildRequires:  libXaw-devel libXrandr-devel libXxf86vm-devel libGLU-devel

- BuildRequires:  ois-devel freeimage-devel openexr-devel

- BuildRequires:  glew-devel

+ BuildRequires:  cmake

  BuildRequires:  boost-devel

+ BuildRequires:  doxygen

+ BuildRequires:  zziplib-devel

+ BuildRequires:  freetype-devel

+ BuildRequires:  libXaw-devel

+ BuildRequires:  libXrandr-devel

+ BuildRequires:  libXxf86vm-devel

+ BuildRequires:  libGLU-devel

+ BuildRequires:  ois-devel

+ BuildRequires:  freeimage-devel

+ BuildRequires:  openexr-devel

+ BuildRequires:  glew-devel

  # BuildRequires:  poco-devel

  BuildRequires:  tinyxml-devel

- BuildRequires:  cmake

  BuildRequires:  libatomic

  BuildRequires:  cppunit-devel

- Provides:       bundled(wxScintilla) = 1.69.2

+ BuildRequires:  SDL2-devel

+ BuildRequires:  harfbuzz-devel

+ Buildrequires:  qt5-qtbase-devel

+ #BuildRequires:  swig > 3.0.0

+ #Buildrequires:  python3-devel

+ #Buildrequires:  java-devel

+ Buildrequires:  pugixml-devel

+ Buildrequires:  tinyxml-devel

+ 

+ #Provides:       bundled(wxScintilla) = 1.69.2

  

  %description

  OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented,
@@ -147,48 +156,33 @@ 

  using SampleBrowser.

  

  %prep

- %setup -q

- mkdir build

+ %setup -q -a1

+ # move imgui into submodule place

+ rmdir Components/Overlay/src/imgui/

+ mv imgui-1.*/ Components/Overlay/src/imgui/

+ rm RenderSystems/GL/include/GL/{gl,glext}.h

  %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)

- # 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

- %endif

- %patch9 -p1 -b .cmake_build-fix

- %patch10 -p1

- %patch11 -p1

  %patch12 -p1

+ %patch13 -p1

  

  # remove execute bits from src-files for -debuginfo package

- chmod -x `find RenderSystems/GL -type f` \

-   `find Samples/DeferredShading -type f` Samples/DynTex/src/DynTex.cpp

- #  Samples/Common/bin/resources.cfg

- # Remove spurious execute bits from some Media files

- chmod -x `find Samples/Media/DeferredShadingMedia -type f`

- # Add mit.txt symlink for links in License.html

- rm -r Docs/licenses/*

- ln -s ../COPYING Docs/licenses/mit.txt

- # remove included tinyxml headers to ensure use of system headers

- rm Tools/XMLConverter/include/tiny*

+ find . -type f -name "*.h" -o -name "*.cpp" -exec chmod 644 {} \;

+ 

  

  %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_BUILD_DOCS:BOOL=OFF \

+         -DOGRE_BUILD_DEPENDENCIES=FALSE \

+         -DOGRE_BUILD_PLUGIN_CG:BOOL=OFF \

+         -DOGRE_INSTALL_SAMPLES:BOOL=ON \

+         -DOGRE_INSTALL_SAMPLES_SOURCE:BOOL=ON \

+         -DOGRE_CONFIG_MEMTRACK_RELEASE:BOOL=OFF \

+         -DOGRE_BUILD_RTSHADERSYSTEM_EXT_SHADERS=1 -Wno-dev

+ %{cmake_build}

  

  %install

- pushd build

-   %make_install

- popd

+ %{cmake_install}

  

  # Create config for ldconfig

  mkdir -p %{buildroot}%{_sysconfdir}/ld.so.conf.d
@@ -197,15 +191,15 @@ 

  # Install the samples

  mkdir -p %{buildroot}%{_libdir}/OGRE/Samples

  mkdir -p %{buildroot}%{_sysconfdir}/OGRE

- for cfg in plugins.cfg quakemap.cfg resources.cfg samples.cfg; do

+ for cfg in plugins.cfg resources.cfg samples.cfg; do

    mv %{buildroot}%{_datadir}/OGRE/$cfg %{buildroot}%{_sysconfdir}/OGRE/

  done

  

  # Swap out reference to non-free quake map that was removed

- cat << EOF > %{buildroot}%{_sysconfdir}/OGRE/quakemap.cfg

- Archive: /usr/share/OGRE/media/packs/ogretestmap.zip 

- Map: ogretestmap.bsp

- EOF

+ #cat << EOF > %{buildroot}%{_sysconfdir}/OGRE/quakemap.cfg

+ #Archive: /usr/share/OGRE/media/packs/ogretestmap.zip

+ #Map: ogretestmap.bsp

+ #EOF

  

  # Fixing bug with wrong case for media

  mkdir -p %{buildroot}%{_datadir}/OGRE/
@@ -213,7 +207,13 @@ 

  mv %{buildroot}%{_datadir}/OGRE/media/PCZAppMedia/ROOM_NY.mesh %{buildroot}%{_datadir}/OGRE/media/PCZAppMedia/room_ny.mesh

  mv %{buildroot}%{_datadir}/OGRE/media/PCZAppMedia/ROOM_PY.mesh %{buildroot}%{_datadir}/OGRE/media/PCZAppMedia/room_py.mesh

  

- rm -f %{buildroot}%{_datadir}/OGRE/docs/CMakeLists.txt

+ rm -f %{buildroot}%{_datadir}/doc/OGRE/CMakeLists.txt

+ # Add mit.txt symlink for links in License.html

+ #rm -r Docs/licenses/*

+ #ln -s ../COPYING Docs/licenses/mit.txt

+ rm -f Docs/licenses/mit.txt

+ rm -rf %{buildroot}%{_datadir}/doc/OGRE/licenses/

+ 

  

  # cmake macros should be in the cmake directory, not an Ogre directory

  mkdir -p %{buildroot}%{_datadir}/cmake/Modules
@@ -224,12 +224,17 @@ 

  %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

+ %doc AUTHORS README.md

+ %license LICENSE Docs/licenses/*

  %{_libdir}/libOgreMain.so.*

+ %{_libdir}/libOgreBites.so.*

+ %{_libdir}/libOgreBitesQt.so.*

+ %{_libdir}/libOgreMeshLodGenerator.so.*

+ %{_libdir}/libOgreGLSupport.a

  %{_libdir}/OGRE

- 

+ %{_bindir}/VRMLConverter

  %{_datadir}/OGRE

+ %{_datadir}/doc/OGRE

  %dir %{_sysconfdir}/OGRE

  %exclude %{_bindir}/SampleBrowser

  %exclude %{_libdir}/OGRE/Samples
@@ -258,7 +263,7 @@ 

  %files utils

  %{_bindir}/OgreMeshUpgrader

  %{_bindir}/OgreXMLConverter

- %{_bindir}/rcapsdump

+ #{_bindir}/rcapsdump

  

  %files devel

  %{_libdir}/lib*Ogre*.so
@@ -271,12 +276,18 @@ 

  %{_libdir}/OGRE/Samples

  %{_datadir}/OGRE/media

  %{_sysconfdir}/OGRE/plugins.cfg

- %{_sysconfdir}/OGRE/quakemap.cfg

+ #{_sysconfdir}/OGRE/quakemap.cfg

  %{_sysconfdir}/OGRE/resources.cfg

  %{_sysconfdir}/OGRE/samples.cfg

  

  

  %changelog

+ * Sun Nov 22 2020 Sérgio Basto <sergio@serjux.com> - 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 <releng@fedoraproject.org> - 1.9.0-31

  - Second attempt - Rebuilt for

    https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

no initial comment

if those files are not there anymore, is there a reason to have separate script to create archive?

if those files are not there anymore, is there a reason to have separate script to create archive?

I thought about the same but we sill have [1] and maybe I'm missing something, also I'm not sure about "GLEW sources updated" , I just commented everything for now .

[1]

rm RenderSystems/GL/include/GL/{gl,glext}.h

we needed to prepare new archive to strip proprietary files.. but if they are not there anymore, you can simply remove the GL headers in %prep.

1 new commit added

  • Use upstream source and simply remove the GL headers in %prep.
3 years ago

rebased onto 1e8209c

3 years ago

rebased onto 3262d27

3 years ago

Pull-Request has been merged by sergiomb

3 years ago