From 256e096683467e104ac6fde6922ceb395b7cb9e1be91137f548acb1a0ea3265f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Mail=C3=A4nder?= Date: Fri, 15 May 2015 20:51:08 +0000 Subject: [PATCH] Accepting request 307346 from home:scarabeus_iv:branches:games Won't build on openSUSE 13.1 unless new glew is linked to the games prj. - Require qlew >= 1.10 as per upstream readme - Unbundle wiiuse too: * supertuxkart-no-undefined.patch * supertuxkart-unbundle-wiiuse.patch - 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 OBS-URL: https://build.opensuse.org/request/show/307346 OBS-URL: https://build.opensuse.org/package/show/games/supertuxkart?expand=0&rev=62 --- supertuxkart-irrlicht.patch | 108 +++++++++++++++++++++++ supertuxkart-no-undefined.patch | 17 ++++ supertuxkart-system-enet-glew.patch | 68 +++++++++++++++ supertuxkart-unbundle-wiiuse.patch | 128 ++++++++++++++++++++++++++++ supertuxkart.changes | 22 +++++ supertuxkart.spec | 37 +++++--- 6 files changed, 370 insertions(+), 10 deletions(-) create mode 100644 supertuxkart-irrlicht.patch create mode 100644 supertuxkart-no-undefined.patch create mode 100644 supertuxkart-system-enet-glew.patch create mode 100644 supertuxkart-unbundle-wiiuse.patch diff --git a/supertuxkart-irrlicht.patch b/supertuxkart-irrlicht.patch new file mode 100644 index 0000000..0bb459e --- /dev/null +++ b/supertuxkart-irrlicht.patch @@ -0,0 +1,108 @@ +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" + diff --git a/supertuxkart-no-undefined.patch b/supertuxkart-no-undefined.patch new file mode 100644 index 0000000..92d8796 --- /dev/null +++ b/supertuxkart-no-undefined.patch @@ -0,0 +1,17 @@ +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) diff --git a/supertuxkart-system-enet-glew.patch b/supertuxkart-system-enet-glew.patch new file mode 100644 index 0000000..70abca1 --- /dev/null +++ b/supertuxkart-system-enet-glew.patch @@ -0,0 +1,68 @@ +Description: Build supertuxkart against system enet and system glew, instead + of embedded copies +Forwarded: not-yet +Author: Vincent Cheng +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) diff --git a/supertuxkart-unbundle-wiiuse.patch b/supertuxkart-unbundle-wiiuse.patch new file mode 100644 index 0000000..0cf1c4a --- /dev/null +++ b/supertuxkart-unbundle-wiiuse.patch @@ -0,0 +1,128 @@ +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 ++# 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) + diff --git a/supertuxkart.changes b/supertuxkart.changes index 4c0c138..6ae0296 100644 --- a/supertuxkart.changes +++ b/supertuxkart.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +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 diff --git a/supertuxkart.spec b/supertuxkart.spec index 16ac115..f6dc37d 100644 --- a/supertuxkart.spec +++ b/supertuxkart.spec @@ -26,25 +26,34 @@ 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: glew-devel >= 1.10 BuildRequires: glu-devel BuildRequires: hicolor-icon-theme BuildRequires: libXrandr-devel +BuildRequires: libbz2-devel +BuildRequires: libenet-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(gl) Requires: %{name}-data = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -75,17 +84,25 @@ 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 -export CFLAGS="%{optflags} -fno-strict-aliasing" -export CXXFLAGS="$CFLAGS" - mkdir cmake_build - cd cmake_build - cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} .. +%cmake make %{?_smp_mflags} %install -cd cmake_build -make DESTDIR=%{buildroot} install +%cmake_install mkdir -p %{buildroot}%{_datadir}/supertuxkart/data/karts/geeko/ cd %{buildroot}%{_datadir}/supertuxkart/data/karts/geeko/ unzip %{SOURCE1}