[BlockOutII] Update to 2.4 Fix building with new libpng

Hans de Goede jwrdegoede at fedoraproject.org
Wed Dec 14 11:01:21 UTC 2011


commit 1154e8cb4ecdc9bf02ef617af21f609b762f09e6
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Wed Dec 14 12:02:13 2011 +0100

    Update to 2.4
    Fix building with new libpng

 .gitignore                              |    3 +
 BlockOutII-2.3-64bit.patch              |    4 +-
 BlockOutII-2.3-bl2Home.patch            |    4 +-
 BlockOutII-2.3-libpng15.patch           |   21 ++++++++
 BlockOutII-2.3-music.patch              |    4 +-
 BlockOutII-2.3-restore-resolution.patch |   17 ++++--
 BlockOutII-2.3-syslibs.patch            |    8 ++--
 BlockOutII.spec                         |   82 ++++++++++++++++---------------
 sources                                 |    4 +-
 9 files changed, 90 insertions(+), 57 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6c79ebd..e243091 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,4 @@
 BlockOutII-2.3.tar.bz2
+/bl24-src-linux-i586.tar.gz
+/music.ogg
+/README.txt
diff --git a/BlockOutII-2.3-64bit.patch b/BlockOutII-2.3-64bit.patch
index 02d02f1..4441ff3 100644
--- a/BlockOutII-2.3-64bit.patch
+++ b/BlockOutII-2.3-64bit.patch
@@ -1,6 +1,6 @@
 diff -up BlockOutII-2.3/contrib/ImageLib/src/jpg/jpegdecoder.cpp~ BlockOutII-2.3/contrib/ImageLib/src/jpg/jpegdecoder.cpp
---- BlockOutII-2.3/contrib/ImageLib/src/jpg/jpegdecoder.cpp~	2007-11-25 22:43:11.000000000 +0100
-+++ BlockOutII-2.3/contrib/ImageLib/src/jpg/jpegdecoder.cpp	2007-11-25 22:43:11.000000000 +0100
+--- BlockOutII-2.3/ImageLib/src/jpg/jpegdecoder.cpp~	2007-11-25 22:43:11.000000000 +0100
++++ BlockOutII-2.3/ImageLib/src/jpg/jpegdecoder.cpp	2007-11-25 22:43:11.000000000 +0100
 @@ -106,7 +106,7 @@ void *jpeg_decoder::alloc(int n)
    blocks[i] = q;
  
diff --git a/BlockOutII-2.3-bl2Home.patch b/BlockOutII-2.3-bl2Home.patch
index 0a97b38..4901606 100644
--- a/BlockOutII-2.3-bl2Home.patch
+++ b/BlockOutII-2.3-bl2Home.patch
@@ -1,6 +1,6 @@
 diff -up BlockOutII-2.3/BlockOut_GL/Utils.cpp~ BlockOutII-2.3/BlockOut_GL/Utils.cpp
---- BlockOutII-2.3/BlockOut_GL/Utils.cpp~	2007-11-25 23:01:12.000000000 +0100
-+++ BlockOutII-2.3/BlockOut_GL/Utils.cpp	2007-11-25 23:01:12.000000000 +0100
+--- BlockOutII-2.3/BlockOut/Utils.cpp~	2007-11-25 23:01:12.000000000 +0100
++++ BlockOutII-2.3/BlockOut/Utils.cpp	2007-11-25 23:01:12.000000000 +0100
 @@ -162,13 +162,7 @@ BOOL CheckEnv() {
  		return FALSE;
  	}
diff --git a/BlockOutII-2.3-libpng15.patch b/BlockOutII-2.3-libpng15.patch
new file mode 100644
index 0000000..0524716
--- /dev/null
+++ b/BlockOutII-2.3-libpng15.patch
@@ -0,0 +1,21 @@
+diff -up BlockOutII-2.3/contrib/ImageLib/src/png/hpng.c~ BlockOutII-2.3/contrib/ImageLib/src/png/hpng.c
+--- BlockOutII-2.3/ImageLib/src/png/hpng.c~	2011-12-14 11:07:35.000000000 +0100
++++ BlockOutII-2.3/ImageLib/src/png/hpng.c	2011-12-14 11:09:53.542044115 +0100
+@@ -45,7 +45,7 @@ int LoadPngImage(PNG_IMAGE *d) {
+ 	// ---------------- Error handling
+ 
+ 	png_set_error_fn(png,NULL,my_png_error,NULL);
+-  if (setjmp(png->jmpbuf)) {
++  if (setjmp(png_jmpbuf(png))) {
+  	  png_destroy_read_struct(&png, &info, &endinfo);
+ 	  return 0;
+ 	}
+@@ -154,7 +154,7 @@ char *WritePngImage(char *file_name,unsi
+    {
+     	sprintf(PngErrorMessage,"png_create_info_struct() failed");
+       fclose(fp);
+-      png_destroy_write_struct(&png_ptr,  png_infopp_NULL);
++      png_destroy_write_struct(&png_ptr, info_ptr);
+       return PngErrorMessage;
+    }
+ 
diff --git a/BlockOutII-2.3-music.patch b/BlockOutII-2.3-music.patch
index ef995c9..9e03e10 100644
--- a/BlockOutII-2.3-music.patch
+++ b/BlockOutII-2.3-music.patch
@@ -1,6 +1,6 @@
 diff -up BlockOutII-2.3/BlockOut_GL/SoundManager.cpp~ BlockOutII-2.3/BlockOut_GL/SoundManager.cpp
---- BlockOutII-2.3/BlockOut_GL/SoundManager.cpp~	2007-11-25 23:13:00.000000000 +0100
-+++ BlockOutII-2.3/BlockOut_GL/SoundManager.cpp	2007-11-25 23:13:00.000000000 +0100
+--- BlockOutII-2.3/BlockOut/SoundManager.cpp~	2007-11-25 23:13:00.000000000 +0100
++++ BlockOutII-2.3/BlockOut/SoundManager.cpp	2007-11-25 23:13:00.000000000 +0100
 @@ -142,7 +142,7 @@ void SoundManager::PlayHit() {
  void SoundManager::PlayMusic() {
  
diff --git a/BlockOutII-2.3-restore-resolution.patch b/BlockOutII-2.3-restore-resolution.patch
index b4c02d9..d554d02 100644
--- a/BlockOutII-2.3-restore-resolution.patch
+++ b/BlockOutII-2.3-restore-resolution.patch
@@ -1,6 +1,6 @@
 diff -up BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp.fs BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp
---- BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp.fs	2007-08-02 15:44:10.000000000 +0200
-+++ BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp	2007-11-30 20:46:53.000000000 +0100
+--- BlockOutII-2.3/BlockOut/GLApp/GLApp.cpp.fs	2007-08-02 15:44:10.000000000 +0200
++++ BlockOutII-2.3/BlockOut/GLApp/GLApp.cpp	2007-11-30 20:46:53.000000000 +0100
 @@ -20,30 +20,8 @@ GLApplication::GLApplication() {
  
  int GLApplication::ToggleFullscreen() {
@@ -43,13 +43,18 @@ diff -up BlockOutII-2.3/BlockOut_GL/GLApp/GLApp.cpp.fs BlockOutII-2.3/BlockOut_G
  
    //SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, 0);
    SDL_EnableUNICODE( 1 );
-diff -up BlockOutII-2.3/BlockOut_GL/BlockOut.cpp.fs BlockOutII-2.3/BlockOut_GL/BlockOut.cpp
---- BlockOutII-2.3/BlockOut_GL/BlockOut.cpp.fs	2007-08-02 15:44:09.000000000 +0200
-+++ BlockOutII-2.3/BlockOut_GL/BlockOut.cpp	2007-11-30 20:44:24.000000000 +0100
-@@ -120,7 +120,7 @@ int BlockOut::FrameMove()
+diff -up bl24_lin_src/BlockOut/BlockOut.cpp~ bl24_lin_src/BlockOut/BlockOut.cpp
+--- bl24_lin_src/BlockOut/BlockOut.cpp~	2008-01-09 19:29:06.000000000 +0100
++++ bl24_lin_src/BlockOut/BlockOut.cpp	2011-12-14 11:28:44.430028964 +0100
+@@ -128,12 +128,7 @@ int BlockOut::FrameMove()
            break;
          case 100: // Exit
            InvalidateDeviceObjects();
+-          BOOL fs = theSetup.GetFullScreen();
+-          if (fs) {
+-            theSetup.SetFullScreen(!fs);
+-            UpdateFullScreen();
+-          }  
 -          _exit(0);
 +          exit(0);
            break;
diff --git a/BlockOutII-2.3-syslibs.patch b/BlockOutII-2.3-syslibs.patch
index e4aa68f..128e7d6 100644
--- a/BlockOutII-2.3-syslibs.patch
+++ b/BlockOutII-2.3-syslibs.patch
@@ -1,6 +1,6 @@
 diff -up BlockOutII-2.3/contrib/ImageLib/src/Makefile~ BlockOutII-2.3/contrib/ImageLib/src/Makefile
---- BlockOutII-2.3/contrib/ImageLib/src/Makefile~	2007-11-25 22:38:29.000000000 +0100
-+++ BlockOutII-2.3/contrib/ImageLib/src/Makefile	2007-11-25 22:38:29.000000000 +0100
+--- BlockOutII-2.3/ImageLib/src/Makefile~	2007-11-25 22:38:29.000000000 +0100
++++ BlockOutII-2.3/ImageLib/src/Makefile	2007-11-25 22:38:29.000000000 +0100
 @@ -9,25 +9,11 @@
  # All source files needed for the library
  #
@@ -30,8 +30,8 @@ diff -up BlockOutII-2.3/contrib/ImageLib/src/Makefile~ BlockOutII-2.3/contrib/Im
  
  #---------------------------------------------------------------------
 diff -up BlockOutII-2.3/contrib/ImageLib/src/png/hpng.c~ BlockOutII-2.3/contrib/ImageLib/src/png/hpng.c
---- BlockOutII-2.3/contrib/ImageLib/src/png/hpng.c~	2007-11-25 22:39:13.000000000 +0100
-+++ BlockOutII-2.3/contrib/ImageLib/src/png/hpng.c	2007-11-25 22:39:13.000000000 +0100
+--- BlockOutII-2.3/ImageLib/src/png/hpng.c~	2007-11-25 22:39:13.000000000 +0100
++++ BlockOutII-2.3/ImageLib/src/png/hpng.c	2007-11-25 22:39:13.000000000 +0100
 @@ -1,6 +1,6 @@
  #include <malloc.h>
  #include <math.h>
diff --git a/BlockOutII.spec b/BlockOutII.spec
index caf137b..2354c6c 100644
--- a/BlockOutII.spec
+++ b/BlockOutII.spec
@@ -4,30 +4,25 @@
 # package are under the same license as the package itself.
 
 Name:           BlockOutII
-Version:        2.3
-Release:        9%{?dist}
+Version:        2.4
+Release:        1%{?dist}
 Summary:        A free adaptation of the original BlockOut DOS game
 Group:          Amusements/Games
 License:        GPLv2+
 URL:            http://www.blockout.net/blockout2/
-# To regenerate:
-# cvs -z3 -d:pserver:anonymous at blockout.cvs.sourceforge.net:/cvsroot/blockout co -D 2007-11-25 -P blockout
-# mv blockout BlockOutII-2.3
-# cd BlockOutII-2.3
-# rm -r `find -name CVS` contrib/dxsdk8.rar contrib/D3DTools BlockOut/setup
-# rm -r CVSROOT contrib/ImageLib/src/png/png contrib/ImageLib/src/png/zlib
-# mp32ogg BlockOut/sounds/music.mp3
-# cd ..
-# tar cvfj BlockOutII-2.3.tar.bz2 BlockOutII-2.3
-Source0:        %{name}-%{version}.tar.bz2
-Source1:        %{name}.desktop
-Source2:        %{name}.png
+Source0:        http://downloads.sourceforge.net/blockout/bl24-src-linux-i586.tar.gz
+# From: http://downloads.sourceforge.net/blockout/bl24-bin-linux-i586.tar.gz
+Source1:        README.txt
+# This is music.mp3 from Source0 converted to ogg format using mp32ogg
+Source2:        music.ogg
+Source3:        %{name}.desktop
+Source4:        %{name}.png
 Patch0:         BlockOutII-2.3-syslibs.patch
 Patch1:         BlockOutII-2.3-64bit.patch
 Patch2:         BlockOutII-2.3-bl2Home.patch
 Patch3:         BlockOutII-2.3-music.patch
 Patch4:         BlockOutII-2.3-restore-resolution.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch5:         BlockOutII-2.3-libpng15.patch
 BuildRequires:  SDL_mixer-devel libpng-devel desktop-file-utils
 Requires:       hicolor-icon-theme opengl-games-utils
 
@@ -46,37 +41,45 @@ Pons.
 
 
 %prep
-%setup -q
+%setup -q -n bl24_lin_src
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
-%patch4 -p1 -z .fs
-chmod -x `find -type f`
-iconv -f ISO8859-1 -t UTF8 BlockOut/README.txt > t; mv t BlockOut/README.txt
+%patch4 -p1
+%patch5 -p1
+
+# Convert the README and put it somewhere we can use it from %%doc
+iconv -f ISO8859-1 -t UTF8 %{SOURCE1} > t; mv t BlockOut/README.txt
+touch -r %{SOURCE1} BlockOut/README.txt
+
+# Remove bundled png library
+rm -r ImageLib/src/png/png ImageLib/src/png/zlib
+
+# Replace music.mp3 with music.ogg
+rm BlockOut/sounds/music.mp3
+cp -a %{SOURCE2} BlockOut/sounds
 
 
 %build
-pushd contrib/ImageLib/src
+pushd ImageLib/src
 make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -Dlinux -c" \
     CXXFLAGS="$RPM_OPT_FLAGS -Dlinux -c"
 popd
 
-pushd BlockOut_GL
+pushd BlockOut
 make %{?_smp_mflags} \
-    CXXFLAGS="$RPM_OPT_FLAGS -Dlinux `sdl-config --cflags` -I../contrib/ImageLib/src -c" \
-    SDL_ROOT=%{_prefix} LIBS="-L../contrib/ImageLib/src -lpng -lz" \
-    IMGLIB_ROOT=../contrib/ImageLib/src
+    CXXFLAGS="$RPM_OPT_FLAGS -Dlinux `sdl-config --cflags` -I../ImageLib/src -c" \
+    LIBS="-L../ImageLib/src -lpng -lz"
 popd
 
 
 %install
-rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT%{_bindir}
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/images
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name}/sounds
 
-install -m 755 BlockOut_GL/blockout $RPM_BUILD_ROOT%{_bindir}/%{name}
+install -m 755 BlockOut/blockout $RPM_BUILD_ROOT%{_bindir}/%{name}
 ln -s opengl-game-wrapper.sh $RPM_BUILD_ROOT%{_bindir}/%{name}-wrapper
 install -p -m 644 BlockOut/images/* $RPM_BUILD_ROOT%{_datadir}/%{name}/images
 install -p -m 644 BlockOut/sounds/* $RPM_BUILD_ROOT%{_datadir}/%{name}/sounds
@@ -85,31 +88,26 @@ install -p -m 644 BlockOut/sounds/* $RPM_BUILD_ROOT%{_datadir}/%{name}/sounds
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
 desktop-file-install --vendor fedora            \
   --dir $RPM_BUILD_ROOT%{_datadir}/applications \
-  %{SOURCE1}
+  %{SOURCE3}
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
-install -p -m 644 %{SOURCE2} \
+install -p -m 644 %{SOURCE4} \
   $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps
 
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
 %post
-touch --no-create %{_datadir}/icons/hicolor || :
-if [ -x %{_bindir}/gtk-update-icon-cache ]; then
-   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
-fi
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
 
 %postun
-touch --no-create %{_datadir}/icons/hicolor || :
-if [ -x %{_bindir}/gtk-update-icon-cache ]; then
-   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
+if [ $1 -eq 0 ] ; then
+    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 fi
 
+%posttrans
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
 
 %files
-%defattr(-,root,root,-)
 %doc BlockOut/README.txt
 %{_bindir}/%{name}*
 %{_datadir}/%{name}
@@ -118,6 +116,10 @@ fi
 
 
 %changelog
+* Wed Dec 14 2011 Hans de Goede <hdegoede at redhat.com> - 2.4-1
+- Update to 2.4
+- Fix building with new libpng
+
 * Tue Dec 06 2011 Adam Jackson <ajax at redhat.com> - 2.3-9
 - Rebuild for new libpng
 
diff --git a/sources b/sources
index 9388d0f..302b88a 100644
--- a/sources
+++ b/sources
@@ -1 +1,3 @@
-2aeac4d00a36ae570a12b5561832de6a  BlockOutII-2.3.tar.bz2
+40f899491c38edfbbd984ba732417d7d  bl24-src-linux-i586.tar.gz
+ca2e9c44ae209874b0168ab3d816d710  music.ogg
+d6cb81853ab99d65a9f4f4c9ceff9058  README.txt


More information about the scm-commits mailing list