From fbc9e96bc0fe29ecb657a1d74b78bcda1db14a4d9400cc96a41a99d09714cae7 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 20 Jan 2015 20:17:32 +0000 Subject: [PATCH] Make love-0_7_2 compile again OBS-URL: https://build.opensuse.org/package/show/games/love-0_7_2?expand=0&rev=4 --- freetype.diff | 116 +++++++++++++++++++++++++++++++++++++++ love-0_7_2.spec | 24 ++++---- love-modplug.patch | 10 +++- love-remove-mpg123.patch | 31 +++++++---- 4 files changed, 155 insertions(+), 26 deletions(-) create mode 100644 freetype.diff diff --git a/freetype.diff b/freetype.diff new file mode 100644 index 0000000..504b956 --- /dev/null +++ b/freetype.diff @@ -0,0 +1,116 @@ +From: Jan Engelhardt +Date: 2015-01-20 20:46:39.043255730 +0100 + +build: löve uses an undocumented way of including freetype headers + +Change it to the supported style. Hardcoding freetype/ is also +wrong — use pkg-config to get paths instead. + +--- + configure.in | 18 +++++++++--------- + src/Makefile.am | 7 ++----- + src/modules/font/freetype/Font.h | 8 ++++---- + src/modules/font/freetype/TrueTypeRasterizer.h | 8 ++++---- + 4 files changed, 19 insertions(+), 22 deletions(-) + +Index: love-HEAD/configure.in +=================================================================== +--- love-HEAD.orig/configure.in ++++ love-HEAD/configure.in +@@ -2,16 +2,16 @@ AC_INIT([love], [HEAD]) + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_AUX_DIR([platform/unix]) + AC_CONFIG_SRCDIR([src/love.cpp]) +-AM_INIT_AUTOMAKE([foreign -Wall foreign tar-ustar]) ++AM_INIT_AUTOMAKE([foreign -Wall foreign tar-ustar subdir-objects subdir-objects]) + AC_PREFIX_DEFAULT([/usr]) + AC_PROG_LIBTOOL + AC_PROG_CC + AC_PROG_CXX + AC_SEARCH_LIBS([sqrt], [m], [], AC_MSG_ERROR([Can't LÖVE without C math library])) +-AC_SEARCH_LIBS([SDL_Init], [SDL], [], AC_MSG_ERROR([Can't LÖVE without SDL])) +-AC_SEARCH_LIBS([glLoadIdentity], [GL], [], AC_MSG_ERROR([Can't LÖVE without OpenGL])) +-#AC_SEARCH_LIBS([gluOrtho2D], [GLU], [], AC_MSG_ERROR([Can't LÖVE without OpenGL Utility Library])) +-AC_SEARCH_LIBS([alSourcePlay], [openal], [], AC_MSG_ERROR([Can't LÖVE without OpenAL])) ++PKG_CHECK_MODULES([sdl], [sdl]) ++PKG_CHECK_MODULES([gl], [gl]) ++dnl PKG_CHECK_MODULES([glu], [glu]) ++PKG_CHECK_MODULES([al], [openal]) + AC_ARG_ENABLE([luajit], + [ --enable-luajit Use LuaJIT instead of lua], + AC_SEARCH_LIBS( +@@ -29,13 +29,13 @@ AC_ARG_ENABLE([luajit], + AC_MSG_ERROR([Can't LÖVE without Lua]) + ) + ) +-AC_SEARCH_LIBS([ilInit], [IL], [], AC_MSG_ERROR([Can't LÖVE without DevIL])) ++PKG_CHECK_MODULES([il], [IL]) + AC_SEARCH_LIBS([mng_initialize], [mng], [], AC_MSG_ERROR([DevIL needs MNG])) + AC_SEARCH_LIBS([TIFFOpen], [tiff], [], AC_MSG_ERROR([DevIL needs TIFF])) +-AC_SEARCH_LIBS([FT_Load_Glyph], [freetype], [], AC_MSG_ERROR([Can't LÖVE without FreeType])) ++PKG_CHECK_MODULES([ft], [freetype2]) + AC_SEARCH_LIBS([PHYSFS_init], [physfs], [], AC_MSG_ERROR([Can't LÖVE without PhysicsFS])) +-AC_SEARCH_LIBS([ModPlug_Load], [modplug], [], AC_MSG_ERROR([Can't LÖVE without ModPlug])) +-AC_SEARCH_LIBS([ov_open], [vorbisfile], [], AC_MSG_ERROR([Can't LÖVE without VorbisFile])) ++PKG_CHECK_MODULES([modplug], [libmodplug]) ++PKG_CHECK_MODULES([vorbisfile], [vorbisfile]) + AC_CONFIG_FILES([ + Makefile + src/Makefile +Index: love-HEAD/src/Makefile.am +=================================================================== +--- love-HEAD.orig/src/Makefile.am ++++ love-HEAD/src/Makefile.am +@@ -1,12 +1,9 @@ +-AM_CPPFLAGS = -I. -I./modules -I/usr/include/AL -I/usr/include/freetype2 $(INCLUDE_LUA) -I/usr/include/SDL $(FILE_OFFSET) +-AUTOMAKE_OPTIONS = subdir-objects +-DEFAULT_INCLUDES = ++AM_CPPFLAGS = -I. -I./modules ${al_CFLAGS} ${ft_CFLAGS} ${gl_CFLAGS} ${glu_CFLAGS} ${il_CFLAGS} $(INCLUDE_LUA) ${modplug_CFLAGS} ${sdl_CFLAGS} ${vorbisfile_CFLAGS} $(FILE_OFFSET) + SUBDIRS = + + # LÖVE executable + bin_PROGRAMS = love +-#love_LDFLAGS = +-#love_LDADD = ++love_LDADD = ${al_LIBS} ${ft_LIBS} ${gl_LIBS} ${glu_LIBS} ${il_LIBS} ${modplug_LIBS} ${sdl_LIBS} ${vorbisfile_LIBS} + + love_SOURCES = \ + ./scripts/graphics.lua.h \ +Index: love-HEAD/src/modules/font/freetype/Font.h +=================================================================== +--- love-HEAD.orig/src/modules/font/freetype/Font.h ++++ love-HEAD/src/modules/font/freetype/Font.h +@@ -30,10 +30,10 @@ + #else + #include + #endif +-#include +-#include +-#include +-#include ++#include FT_FREETYPE_H ++#include FT_GLYPH_H ++#include FT_OUTLINE_H ++#include FT_TRIGONOMETRY_H + + namespace love + { +Index: love-HEAD/src/modules/font/freetype/TrueTypeRasterizer.h +=================================================================== +--- love-HEAD.orig/src/modules/font/freetype/TrueTypeRasterizer.h ++++ love-HEAD/src/modules/font/freetype/TrueTypeRasterizer.h +@@ -27,10 +27,10 @@ + + // TrueType2 + #include +-#include +-#include +-#include +-#include ++#include FT_FREETYPE_H ++#include FT_GLYPH_H ++#include FT_OUTLINE_H ++#include FT_TRIGONOMETRY_H + + namespace love + { diff --git a/love-0_7_2.spec b/love-0_7_2.spec index 1c1ceda..0055112 100644 --- a/love-0_7_2.spec +++ b/love-0_7_2.spec @@ -1,7 +1,7 @@ # -# spec file for package love +# spec file for package love-0_7_2 # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,22 +23,25 @@ Summary: 2D gaming engine written in Lua License: Zlib Group: Development/Languages/Other Url: http://love2d.org/ + Source: https://bitbucket.org/rude/love/downloads/love-0.7.2-linux-src.tar.gz -Patch0: love-modplug.patch -Patch1: love-remove-mpg123.patch +Patch1: love-modplug.patch +Patch2: love-remove-mpg123.patch +Patch3: freetype.diff BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ BuildRequires: libmng-devel BuildRequires: libtiff-devel BuildRequires: libtool +BuildRequires: lua51-devel BuildRequires: physfs-devel +BuildRequires: pkg-config BuildRequires: pkgconfig(IL) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gl) +BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(libmodplug) -BuildRequires: pkgconfig(lua) < 5.2 -BuildRequires: pkgconfig(lua) >= 5.1 BuildRequires: pkgconfig(openal) BuildRequires: pkgconfig(sdl) BuildRequires: pkgconfig(vorbisfile) @@ -51,13 +54,12 @@ LÖVE is a framework for making 2D games in Lua. %prep %setup -qn love-HEAD -sed -i 's/\r$//' *.txt -%patch0 -# remove mpg123 support -%patch1 -rm -f src/modules/sound/lullaby/Mpg123Decoder.{cpp,h} +%patch -P 1 -P 2 -P 3 -p1 %build +sed -i 's/\r$//' *.txt +rm -f src/modules/sound/lullaby/Mpg123Decoder.{cpp,h} +mv configure.{in,ac} autoreconf -fi %configure make %{?_smp_mflags} diff --git a/love-modplug.patch b/love-modplug.patch index 7c8a2eb..d3a567d 100644 --- a/love-modplug.patch +++ b/love-modplug.patch @@ -1,7 +1,11 @@ -Index: src/modules/sound/lullaby/ModPlugDecoder.cpp +--- + src/modules/sound/lullaby/ModPlugDecoder.cpp | 2 -- + 1 file changed, 2 deletions(-) + +Index: love-HEAD/src/modules/sound/lullaby/ModPlugDecoder.cpp =================================================================== ---- src/modules/sound/lullaby/ModPlugDecoder.cpp.orig -+++ src/modules/sound/lullaby/ModPlugDecoder.cpp +--- love-HEAD.orig/src/modules/sound/lullaby/ModPlugDecoder.cpp ++++ love-HEAD/src/modules/sound/lullaby/ModPlugDecoder.cpp @@ -42,8 +42,6 @@ namespace lullaby // fill with modplug defaults (modplug _memsets_, so we could get // garbage settings when the struct is only partially initialized) diff --git a/love-remove-mpg123.patch b/love-remove-mpg123.patch index a64525f..23c2807 100644 --- a/love-remove-mpg123.patch +++ b/love-remove-mpg123.patch @@ -1,15 +1,22 @@ -Index: Makefile.am +--- + Makefile.am | 1 - + configure.in | 3 --- + src/Makefile.am | 2 -- + src/modules/sound/lullaby/Sound.cpp | 4 ---- + 4 files changed, 10 deletions(-) + +Index: love-HEAD/Makefile.am =================================================================== ---- Makefile.am.orig -+++ Makefile.am +--- love-HEAD.orig/Makefile.am ++++ love-HEAD/Makefile.am @@ -1,3 +1,2 @@ -ACLOCAL_AMFLAGS = -I platform/unix/m4 SUBDIRS = src EXTRA_DIST = changes.txt license.txt readme.txt -Index: configure.in +Index: love-HEAD/configure.in =================================================================== ---- configure.in.orig -+++ configure.in +--- love-HEAD.orig/configure.in ++++ love-HEAD/configure.in @@ -1,7 +1,6 @@ AC_INIT([love], [HEAD]) AC_CONFIG_HEADERS([config.h]) @@ -27,10 +34,10 @@ Index: configure.in AC_SEARCH_LIBS([ov_open], [vorbisfile], [], AC_MSG_ERROR([Can't LÖVE without VorbisFile])) AC_CONFIG_FILES([ Makefile -Index: src/Makefile.am +Index: love-HEAD/src/Makefile.am =================================================================== ---- src/Makefile.am.orig -+++ src/Makefile.am +--- love-HEAD.orig/src/Makefile.am ++++ love-HEAD/src/Makefile.am @@ -31,8 +31,6 @@ love_SOURCES = \ ./modules/sound/lullaby/VorbisDecoder.cpp \ ./modules/sound/lullaby/Sound.h \ @@ -40,10 +47,10 @@ Index: src/Makefile.am ./modules/sound/lullaby/ModPlugDecoder.h \ ./modules/sound/lullaby/ModPlugDecoder.cpp \ ./modules/sound/lullaby/Decoder.h \ -Index: src/modules/sound/lullaby/Sound.cpp +Index: love-HEAD/src/modules/sound/lullaby/Sound.cpp =================================================================== ---- src/modules/sound/lullaby/Sound.cpp.orig -+++ src/modules/sound/lullaby/Sound.cpp +--- love-HEAD.orig/src/modules/sound/lullaby/Sound.cpp ++++ love-HEAD/src/modules/sound/lullaby/Sound.cpp @@ -21,7 +21,6 @@ #include "Sound.h"