Accepting request 309797 from games

Revert this untested breakout of internal libs...

OBS-URL: https://build.opensuse.org/request/show/309797
OBS-URL: https://build.opensuse.org/package/show/games/supertuxkart?expand=0&rev=65
This commit is contained in:
Dominique Leuenberger 2015-06-02 09:50:58 +00:00 committed by Git OBS Bridge
parent 746793a0cc
commit e397351ed1
6 changed files with 19 additions and 384 deletions

View File

@ -1,108 +0,0 @@
unbundle Irrlicht dependencies
and respect CFLAGS
Index: lib/irrlicht/source/Irrlicht/Makefile
===================================================================
--- lib/irrlicht/source/Irrlicht/Makefile.orig
+++ lib/irrlicht/source/Irrlicht/Makefile
@@ -46,11 +46,7 @@ IRRSWRENDEROBJ = CSoftwareDriver.o CSoft
IRRIOOBJ = CFileList.o CFileSystem.o CLimitReadFile.o CMemoryFile.o CReadFile.o CWriteFile.o CXMLReader.o CXMLWriter.o CWADReader.o CZipReader.o CPakReader.o CNPKReader.o CTarReader.o CMountPointReader.o irrXML.o CAttributes.o lzma/LzmaDec.o
IRROTHEROBJ = CIrrDeviceSDL.o CIrrDeviceLinux.o CIrrDeviceConsole.o CIrrDeviceStub.o CIrrDeviceWin32.o CIrrDeviceFB.o CLogger.o COSOperator.o Irrlicht.o os.o
IRRGUIOBJ = CGUIButton.o CGUICheckBox.o CGUIComboBox.o CGUIContextMenu.o CGUIEditBox.o CGUIEnvironment.o CGUIFileOpenDialog.o CGUIFont.o CGUIImage.o CGUIInOutFader.o CGUIListBox.o CGUIMenu.o CGUIMeshViewer.o CGUIMessageBox.o CGUIModalScreen.o CGUIScrollBar.o CGUISpinBox.o CGUISkin.o CGUIStaticText.o CGUITabControl.o CGUITable.o CGUIToolBar.o CGUIWindow.o CGUIColorSelectDialog.o CDefaultGUIElementFactory.o CGUISpriteBank.o CGUIImageList.o CGUITreeView.o
-ZLIBOBJ = zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/deflate.o zlib/inffast.o zlib/inflate.o zlib/inftrees.o zlib/trees.o zlib/uncompr.o zlib/zutil.o
-JPEGLIBOBJ = jpeglib/jcapimin.o jpeglib/jcapistd.o jpeglib/jccoefct.o jpeglib/jccolor.o jpeglib/jcdctmgr.o jpeglib/jchuff.o jpeglib/jcinit.o jpeglib/jcmainct.o jpeglib/jcmarker.o jpeglib/jcmaster.o jpeglib/jcomapi.o jpeglib/jcparam.o jpeglib/jcprepct.o jpeglib/jcsample.o jpeglib/jctrans.o jpeglib/jdapimin.o jpeglib/jdapistd.o jpeglib/jdatadst.o jpeglib/jdatasrc.o jpeglib/jdcoefct.o jpeglib/jdcolor.o jpeglib/jddctmgr.o jpeglib/jdhuff.o jpeglib/jdinput.o jpeglib/jdmainct.o jpeglib/jdmarker.o jpeglib/jdmaster.o jpeglib/jdmerge.o jpeglib/jdpostct.o jpeglib/jdsample.o jpeglib/jdtrans.o jpeglib/jerror.o jpeglib/jfdctflt.o jpeglib/jfdctfst.o jpeglib/jfdctint.o jpeglib/jidctflt.o jpeglib/jidctfst.o jpeglib/jidctint.o jpeglib/jmemmgr.o jpeglib/jmemnobs.o jpeglib/jquant1.o jpeglib/jquant2.o jpeglib/jutils.o jpeglib/jcarith.o jpeglib/jdarith.o jpeglib/jaricom.o
-LIBPNGOBJ = libpng/png.o libpng/pngerror.o libpng/pngget.o libpng/pngmem.o libpng/pngpread.o libpng/pngread.o libpng/pngrio.o libpng/pngrtran.o libpng/pngrutil.o libpng/pngset.o libpng/pngtrans.o libpng/pngwio.o libpng/pngwrite.o libpng/pngwtran.o libpng/pngwutil.o
LIBAESGM = aesGladman/aescrypt.o aesGladman/aeskey.o aesGladman/aestab.o aesGladman/fileenc.o aesGladman/hmac.o aesGladman/prng.o aesGladman/pwd2key.o aesGladman/sha1.o aesGladman/sha2.o
-BZIP2OBJ = bzip2/blocksort.o bzip2/huffman.o bzip2/crctable.o bzip2/randtable.o bzip2/bzcompress.o bzip2/decompress.o bzip2/bzlib.o
# Next variable is for additional scene nodes etc. of customized Irrlicht versions
EXTRAOBJ =
@@ -61,18 +57,16 @@ LINKOBJ = $(IRRMESHOBJ) $(IRROBJ) $(IRRP
###############
#Compiler flags
-CXXINCS = -I../../include -Izlib -Ijpeglib -Ilibpng
+CXXINCS = -I../../include
CPPFLAGS += $(CXXINCS) -DIRRLICHT_EXPORTS=1
-CXXFLAGS += -Wall -pipe -fno-exceptions -fno-rtti -fstrict-aliasing
+CXXFLAGS += -Wall -fno-exceptions -fno-rtti
ifndef NDEBUG
-CXXFLAGS += -g -D_DEBUG
-else
-CXXFLAGS += -fexpensive-optimizations -O3
+CXXFLAGS += -D_DEBUG
endif
ifdef PROFILE
CXXFLAGS += -pg
endif
-CFLAGS := -O3 -fexpensive-optimizations -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
+CFLAGS += -DPNG_THREAD_UNSAFE_OK -DPNG_NO_MMX_CODE -DPNG_NO_MNG_FEATURES
sharedlib sharedlib_osx: CXXFLAGS += -fPIC
sharedlib sharedlib_osx: CFLAGS += -fPIC
@@ -88,7 +82,7 @@ STATIC_LIB = libIrrlicht.a
LIB_PATH = ../../lib/$(SYSTEM)
INSTALL_DIR = /usr/local/lib
sharedlib install: SHARED_LIB = libIrrlicht.so
-sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm
+staticlib sharedlib: LDFLAGS += -L/usr/X11R6/lib$(LIBSELECT) -lGL -lXxf86vm -lX11 -lz -lpng -ljpeg -lbz2
staticlib sharedlib: CXXINCS += -I/usr/X11R6/include
#OSX specific options
Index: lib/irrlicht/CMakeLists.txt
===================================================================
--- lib/irrlicht/CMakeLists.txt.orig
+++ lib/irrlicht/CMakeLists.txt
@@ -2,11 +2,7 @@
find_package(PNG REQUIRED)
find_package(JPEG REQUIRED)
-include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/"
- "${JPEG_INCLUDE_DIR}"
- "${PNG_INCLUDE_DIRS}"
- "${ZLIB_INCLUDE_DIR}"
- "${CMAKE_CURRENT_BINARY_DIR}/../zlib/") # For zconf.h on WIN32
+include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include/")
find_package(OpenGL REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR})
@@ -491,18 +487,18 @@ if(APPLE)
#list(APPEND CMAKE_C_SOURCE_FILE_EXTENSIONS mm)
#set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS cpp)
- set_source_files_properties(source/Irrlicht/MacOSX/AppDelegate.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -O3 -fno-rtti")
+ set_source_files_properties(source/Irrlicht/MacOSX/AppDelegate.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -fno-rtti")
set_source_files_properties(source/Irrlicht/MacOSX/AppDelegate.mm PROPERTIES LANGUAGE C)
- set_source_files_properties(source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -O3 -fno-rtti")
+ set_source_files_properties(source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -fno-rtti")
set_source_files_properties(source/Irrlicht/MacOSX/CIrrDeviceMacOSX.mm PROPERTIES LANGUAGE C)
- set_source_files_properties(source/Irrlicht/MacOSX/OSXClipboard.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -O3 -fno-rtti")
+ set_source_files_properties(source/Irrlicht/MacOSX/OSXClipboard.mm PROPERTIES COMPILE_FLAGS "-x objective-c++ -fno-rtti")
set_source_files_properties(source/Irrlicht/MacOSX/OSXClipboard.mm PROPERTIES LANGUAGE C)
endif()
add_library(stkirrlicht ${IRRLICHT_SOURCES})
-target_link_libraries(stkirrlicht ${PNG_LIBRARY} ${JPEG_LIBRARY} ${ZLIB_LIBRARY})
+target_link_libraries(stkirrlicht png jpeg z GL Xxf86vm X11 Xrandr)
Index: lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp
===================================================================
--- lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp.orig
+++ lib/irrlicht/source/Irrlicht/CIrrDeviceLinux.cpp
@@ -3,7 +3,11 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
-extern bool GLContextDebugBit;
+#if DEBUG
+bool GLContextDebugBit = true;
+#else
+bool GLContextDebugBit = false;
+#endif
#include "CIrrDeviceLinux.h"

View File

@ -1,17 +0,0 @@
Index: supertuxkart-0.9/CMakeLists.txt
===================================================================
--- supertuxkart-0.9.orig/CMakeLists.txt
+++ supertuxkart-0.9/CMakeLists.txt
@@ -315,6 +315,12 @@ target_link_libraries(supertuxkart
${OGGVORBIS_LIBRARIES}
${OPENAL_LIBRARY}
${OPENGL_LIBRARIES}
+ X11
+ z
+ png
+ jpeg
+ bz2
+ bluetooth
)
if(UNIX AND NOT APPLE)

View File

@ -1,68 +0,0 @@
Description: Build supertuxkart against system enet and system glew, instead
of embedded copies
Forwarded: not-yet
Author: Vincent Cheng <vcheng@debian.org>
Last-Update: 2015-05-14
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -60,13 +60,13 @@
add_subdirectory("${PROJECT_SOURCE_DIR}/lib/bullet")
include_directories("${PROJECT_SOURCE_DIR}/lib/bullet/src")
-# Build the ENet UDP network library
-add_subdirectory("${PROJECT_SOURCE_DIR}/lib/enet")
-include_directories("${PROJECT_SOURCE_DIR}/lib/enet/include")
-
-# Build glew library
-add_subdirectory("${PROJECT_SOURCE_DIR}/lib/glew")
-include_directories("${PROJECT_SOURCE_DIR}/lib/glew/include")
+# ENet
+find_package(ENet REQUIRED)
+include_directories(${ENET_INCLUDE_DIR})
+
+# GLEW
+find_package(GLEW REQUIRED)
+include_directories(${GLEW_INCLUDE_DIRS})
if((WIN32 AND NOT MINGW) OR APPLE)
if (NOT APPLE)
@@ -307,11 +307,11 @@
bulletdynamics
bulletcollision
bulletmath
- enet
- glew
stkirrlicht
angelscript
${CURL_LIBRARIES}
+ ${ENET_LIBRARIES}
+ ${GLEW_LIBRARIES}
${OGGVORBIS_LIBRARIES}
${OPENAL_LIBRARY}
${OPENGL_LIBRARIES}
--- /dev/null
+++ b/cmake/FindENet.cmake
@@ -0,0 +1,22 @@
+# - Find ENet
+# Find the ENet includes and libraries
+#
+# Following variables are provided:
+# ENET_FOUND
+# True if ENet has been found
+# ENET_INCLUDE_DIR
+# The include directories of ENet
+# ENET_LIBRARIES
+# ENet library list
+
+
+find_path(ENET_INCLUDE_DIR enet/enet.h /usr/include)
+find_library(ENET_LIBRARY NAMES enet PATHS /usr/lib)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(ENet DEFAULT_MSG ENET_INCLUDE_DIR ENET_LIBRARY)
+
+# Publish variables
+set(ENET_INCLUDE_DIRS ${ENET_INCLUDE_DIR})
+set(ENET_LIBRARIES ${ENET_LIBRARY})
+mark_as_advanced(ENET_INCLUDE_DIR ENET_LIBRARY)

View File

@ -1,128 +0,0 @@
diff -uNr supertuxkart-0.9.orig/cmake/FindWiiUse.cmake supertuxkart-0.9/cmake/FindWiiUse.cmake
--- supertuxkart-0.9.orig/cmake/FindWiiUse.cmake 1970-01-01 03:00:00.000000000 +0300
+++ supertuxkart-0.9/cmake/FindWiiUse.cmake 2015-04-23 12:53:36.498155119 +0300
@@ -0,0 +1,99 @@
+# - try to find WiiUse library
+#
+# Cache Variables: (probably not for direct use in your scripts)
+# WIIUSE_INCLUDE_DIR
+# WIIUSE_LIBRARY
+#
+# Non-cache variables you might use in your CMakeLists.txt:
+# WIIUSE_FOUND
+# WIIUSE_INCLUDE_DIRS
+# WIIUSE_LIBRARIES
+# WIIUSE_RUNTIME_LIBRARIES - aka the dll for installing
+# WIIUSE_RUNTIME_LIBRARY_DIRS
+#
+# Requires these CMake modules:
+# FindPackageHandleStandardArgs (known included with CMake >=2.6.2)
+#
+# Original Author:
+# 2009-2010 Ryan Pavlik <rpavlik@iastate.edu> <abiryan@ryand.net>
+# http://academic.cleardefinition.com
+# Iowa State University HCI Graduate Program/VRAC
+#
+# Copyright Iowa State University 2009-2010.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+set(WIIUSE_ROOT_DIR
+ "${WIIUSE_ROOT_DIR}"
+ CACHE
+ PATH
+ "Directory to search for WiiUse")
+
+if(CMAKE_SIZEOF_VOID_P MATCHES "8")
+ set(_LIBSUFFIXES /lib64 /lib)
+else()
+ set(_LIBSUFFIXES /lib)
+endif()
+
+find_library(WIIUSE_LIBRARY
+ NAMES
+ wiiuse
+ PATHS
+ "${WIIUSE_ROOT_DIR}"
+ PATH_SUFFIXES
+ "${_LIBSUFFIXES}")
+
+get_filename_component(_libdir "${WIIUSE_LIBRARY}" PATH)
+
+find_path(WIIUSE_INCLUDE_DIR
+ NAMES
+ wiiuse.h
+ HINTS
+ "${_libdir}"
+ "${_libdir}/.."
+ PATHS
+ "${WIIUSE_ROOT_DIR}"
+ PATH_SUFFIXES
+ include/)
+
+set(_deps_check)
+if(WIN32)
+ find_file(WIIUSE_RUNTIME_LIBRARY
+ NAMES
+ wiiuse.dll
+ HINTS
+ "${_libdir}"
+ "${_libdir}/.."
+ PATH_SUFFIXES
+ bin)
+
+ set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}")
+ get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS
+ "${WIIUSE_RUNTIME_LIBRARY}"
+ PATH)
+ list(APPEND _deps_check WIIUSE_RUNTIME_LIBRARY)
+else()
+ set(WIIUSE_RUNTIME_LIBRARY "${WIIUSE_LIBRARY}")
+ set(WIIUSE_RUNTIME_LIBRARIES "${WIIUSE_RUNTIME_LIBRARY}")
+ get_filename_component(WIIUSE_RUNTIME_LIBRARY_DIRS
+ "${WIIUSE_LIBRARY}"
+ PATH)
+endif()
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(WiiUse
+ DEFAULT_MSG
+ WIIUSE_LIBRARY
+ WIIUSE_INCLUDE_DIR
+ ${_deps_check})
+
+if(WIIUSE_FOUND)
+ set(WIIUSE_LIBRARIES "${WIIUSE_LIBRARY}")
+ set(WIIUSE_INCLUDE_DIRS "${WIIUSE_INCLUDE_DIR}")
+ mark_as_advanced(WIIUSE_ROOT_DIR)
+endif()
+
+mark_as_advanced(WIIUSE_INCLUDE_DIR
+ WIIUSE_LIBRARY
+ WIIUSE_RUNTIME_LIBRARY)
diff -uNr supertuxkart-0.9.orig/CMakeLists.txt supertuxkart-0.9/CMakeLists.txt
--- supertuxkart-0.9.orig/CMakeLists.txt 2015-04-21 14:32:11.300162506 +0300
+++ supertuxkart-0.9/CMakeLists.txt 2015-04-23 12:53:36.497155090 +0300
@@ -104,10 +104,9 @@
# (at least on VS) irrlicht will find wiiuse io.h file because
# of the added include directory.
if(USE_WIIUSE)
- if(WIIUSE_BUILD)
- add_subdirectory("${PROJECT_SOURCE_DIR}/lib/wiiuse")
- endif()
include_directories("${PROJECT_SOURCE_DIR}/lib/wiiuse")
+ find_package(WiiUse REQUIRED)
+ include_directories(${WIIUSE_INCLUDE_DIR})
endif()
# Set include paths
@@ -358,7 +357,7 @@
target_link_libraries(supertuxkart ${PROJECT_SOURCE_DIR}/dependencies/lib/wiiuse.lib)
endif()
else()
- target_link_libraries(supertuxkart wiiuse bluetooth)
+ target_link_libraries(supertuxkart ${WIIUSE_LIBRARIES})
endif()
add_definitions(-DENABLE_WIIUSE)

View File

@ -1,30 +1,3 @@
-------------------------------------------------------------------
Sun May 17 19:35:55 UTC 2015 - dap.darkness@gmail.com
- More pkgconfig() to avoid unresolvable state.
-------------------------------------------------------------------
Fri May 15 12:50:40 UTC 2015 - tchvatal@suse.com
- Require qlew >= 1.10 as per upstream readme
-------------------------------------------------------------------
Fri May 15 12:02:51 UTC 2015 - tchvatal@suse.com
- Unbundle wiiuse too:
* supertuxkart-no-undefined.patch
* supertuxkart-unbundle-wiiuse.patch
-------------------------------------------------------------------
Fri May 15 06:47:06 UTC 2015 - tchvatal@suse.com
- Update to use %cmake macro and obey no-undefined/etc rules we have
in SUSE
- Apply patches to unbundle various broken things:
* supertuxkart-irrlicht.patch
* supertuxkart-no-undefined.patch
* supertuxkart-system-enet-glew.patch
-------------------------------------------------------------------
Wed Apr 22 07:52:34 UTC 2015 - dimstar@opensuse.org
@ -329,7 +302,7 @@ Sun Feb 24 21:15:00 EET 2008 - dominique-rpm@leuenberger.net
* Additional music and main theme
-------------------------------------------------------------------
Thu Jun 28 20:53:00 EEST 2007 - dominique-rpm@leuenberger.net
Thu June 28 20:53:00 EEST 2007 - dominique-rpm@leuenberger.net
* Highscore lists
* Shortcut detection

View File

@ -26,35 +26,26 @@ Url: http://supertuxkart.sourceforge.net/
Source: http://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/%{version}/%{name}-%{version}-src.tar.xz
# Geeko kart add-on (CC-BY 3.0)
Source1: http://stkaddons.net/dl/14e6ba25b17f0d.zip
# PATCH-FIX-UPSTREAM: irrlicht use system libs and do not build local stuff
Patch0: supertuxkart-irrlicht.patch
# PATCH-FIX-UPSTREAM: do not die out on undefined symbols during build
Patch1: supertuxkart-no-undefined.patch
# PATCH-FIX-UPSTREAM: do not bundle enet and glew - from Debian
Patch2: supertuxkart-system-enet-glew.patch
# PATCH-FIX-UPSTREAM: do not bundle wiiuse - from Fedora
Patch3: supertuxkart-unbundle-wiiuse.patch
BuildRequires: bluez-devel
BuildRequires: cmake
BuildRequires: curl-devel
BuildRequires: fdupes
BuildRequires: fribidi-devel
BuildRequires: gcc-c++
BuildRequires: glu-devel
BuildRequires: hicolor-icon-theme
BuildRequires: libXrandr-devel
BuildRequires: libjpeg-devel
BuildRequires: libogg-devel
BuildRequires: libpng-devel
%if 0%{?suse_version} <= 1220
BuildRequires: libopenal1
%endif
BuildRequires: libvorbis-devel
BuildRequires: openal-soft-devel
BuildRequires: unzip
BuildRequires: update-desktop-files
BuildRequires: wiiuse-devel
BuildRequires: pkgconfig(bluez)
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(fribidi)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glew) >= 1.10
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libenet)
BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(openal)
BuildRequires: pkgconfig(vorbis)
BuildRequires: pkgconfig(xrandr)
Requires: %{name}-data = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -84,25 +75,17 @@ Data files for SuperTuxKart a Free 3d kart racing game.
%setup -q
find -name '*~' -delete -print
# remove bundled stuff:
rm -rf lib/jpeglib/
rm -rf lib/zlib/
rm -rf lib/libpng/
rm -rf lib/enet/
rm -rf lib/glew/
rm -rf lib/wiiuse/
%patch0
%patch1 -p1
%patch2 -p1
%patch3 -p1
%build
%cmake
export CFLAGS="%{optflags} -fno-strict-aliasing"
export CXXFLAGS="$CFLAGS"
mkdir cmake_build
cd cmake_build
cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} ..
make %{?_smp_mflags}
%install
%cmake_install
cd cmake_build
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}%{_datadir}/supertuxkart/data/karts/geeko/
cd %{buildroot}%{_datadir}/supertuxkart/data/karts/geeko/
unzip %{SOURCE1}