diff options
-rw-r--r-- | .SRCINFO | 14 | ||||
-rw-r--r-- | PKGBUILD | 41 | ||||
-rw-r--r-- | dumb_load.patch | 67 | ||||
-rw-r--r-- | format_security.patch | 187 | ||||
-rw-r--r-- | gcc6.patch | 48 | ||||
-rw-r--r-- | ldflags.patch | 14 |
6 files changed, 358 insertions, 13 deletions
@@ -1,16 +1,24 @@ pkgbase = open-invaders pkgdesc = A clone of Space Invaders pkgver = 0.3 - pkgrel = 2 + pkgrel = 3 url = http://sourceforge.net/projects/open-invaders/ arch = i686 arch = x86_64 license = GPL2 - makedepends = dumb + makedepends = gendesk depends = allegro4 depends = gcc-libs + depends = aldumb source = http://downloads.sourceforge.net/project/open-invaders/open-invaders-0.3/open-invaders-0.3.tar.gz + source = format_security.patch + source = dumb_load.patch + source = gcc6.patch + source = ldflags.patch md5sums = 35c0d8ec3beacfc97389d38eef3555b2 + md5sums = 93d5721295c03aa3632bee734dd1b5fd + md5sums = 1984c10ab5c0d660b8cacdc1672d3864 + md5sums = c0661a336a74a8b92157ea2bfdb73c9f + md5sums = f6d1d0b87404d777c173163de3573cc7 pkgname = open-invaders - @@ -1,24 +1,42 @@ -# Maintainer: Kyle Keen <keenerd@gmail.com> +# Maintainer: Jose Riha <jose1711 gmail com> +# Contributor: Kyle Keen <keenerd@gmail.com> # Contributor: Giovanni Scafora <linuxmania at gmail dot com> # Contributor: Andrew Sheng <science4sail at gmail dot com> # Contributor: Daniel J Griffiths <ghost1227@archlinux.us> pkgname=open-invaders pkgver=0.3 -pkgrel=2 +pkgrel=3 pkgdesc="A clone of Space Invaders" arch=('i686' 'x86_64') -#url="http://www.jamyskis.net/invaders.php" url="http://sourceforge.net/projects/open-invaders/" license=('GPL2') -depends=('allegro4' 'gcc-libs') -makedepends=('dumb') -source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz") -#source=(http://www.jamyskis.net/downloads/${pkgname}-${pkgver}.tar.gz) -md5sums=('35c0d8ec3beacfc97389d38eef3555b2') +depends=('allegro4' 'gcc-libs' 'aldumb') +makedepends=('gendesk') +source=("http://downloads.sourceforge.net/project/$pkgname/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz" + format_security.patch + dumb_load.patch + gcc6.patch + ldflags.patch) +md5sums=('35c0d8ec3beacfc97389d38eef3555b2' + '93d5721295c03aa3632bee734dd1b5fd' + '1984c10ab5c0d660b8cacdc1672d3864' + 'c0661a336a74a8b92157ea2bfdb73c9f' + 'f6d1d0b87404d777c173163de3573cc7') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/format_security.patch" + patch -p1 -i "${srcdir}/gcc6.patch" + patch -p2 -i "${srcdir}/dumb_load.patch" + patch -p2 -i "${srcdir}/ldflags.patch" + gendesk -f -n --pkgname "${pkgname}" --name "Open Invaders" --pkgdesc "${pkgdesc}" --exec "${pkgname}" --categories "Game;ArcadeGame" + convert data/oi_logo.pcx -resize 128 open-invaders.png +} + build() { - cd "$srcdir/$pkgname-$pkgver" + cd "${srcdir}/${pkgname}-${pkgver}" # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=668815 sed -i 's/ALLEGRO_LINUX/ALLEGRO_UNIX/' {headers/declare.h,src/collision.cc,src/init.cc,src/ending.cc,src/input.cc,src/interrupt.cc,src/intro.cc} sed -i '24i #include <sys/stat.h>' src/init.cc @@ -31,9 +49,12 @@ build() { } package() { - cd "$srcdir/$pkgname-$pkgver" + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR="$pkgdir" install # Move docs to the proper location mv "$pkgdir/usr/doc" "$pkgdir/usr/share/" + + install -Dm644 "${srcdir}/${pkgname}-${pkgver}/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" + install -Dm644 "${pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" } diff --git a/dumb_load.patch b/dumb_load.patch new file mode 100644 index 000000000000..345e16154a58 --- /dev/null +++ b/dumb_load.patch @@ -0,0 +1,67 @@ +diff --color -aur src.orig/open-invaders-0.3/src/ending.cc src/open-invaders-0.3/src/ending.cc +--- src.orig/open-invaders-0.3/src/ending.cc 2021-10-17 12:29:58.876355029 +0200 ++++ src/open-invaders-0.3/src/ending.cc 2021-10-17 12:30:48.586755358 +0200 +@@ -185,12 +185,12 @@ + + // Load and start ending song + +- endingsong=dumb_load_mod_quick("./data/endsong.mod"); ++ endingsong=dumb_load_mod_quick("./data/endsong.mod", 0); + + #ifdef ALLEGRO_LINUX + if(!endingsong) + { +- endingsong=dumb_load_mod_quick(ENDING_SONG); ++ endingsong=dumb_load_mod_quick(ENDING_SONG, 0); + } + #endif + +diff --color -aur src.orig/open-invaders-0.3/src/init.cc src/open-invaders-0.3/src/init.cc +--- src.orig/open-invaders-0.3/src/init.cc 2021-10-17 12:29:58.876355029 +0200 ++++ src/open-invaders-0.3/src/init.cc 2021-10-17 12:30:41.006694457 +0200 +@@ -134,7 +134,7 @@ + gameisover=oi_load_sfx("gameisover.wav",GAME_IS_OVER_SOUND); + + cout << "Loading in-game song...\n"; +- gamesong=dumb_load_mod_quick("./data/gamesong.mod"); ++ gamesong=dumb_load_mod_quick("./data/gamesong.mod", 0); + + gamefont=load_bitmap_font("./data/arcade_font.pcx",0,0); + +@@ -157,7 +157,7 @@ + + if(!gamesong) + { +- gamesong=dumb_load_mod_quick(GAME_SONG); ++ gamesong=dumb_load_mod_quick(GAME_SONG, 0); + } + + if(!gamesong) +diff --color -aur src.orig/open-invaders-0.3/src/intro.cc src/open-invaders-0.3/src/intro.cc +--- src.orig/open-invaders-0.3/src/intro.cc 2021-10-17 12:29:58.876355029 +0200 ++++ src/open-invaders-0.3/src/intro.cc 2021-10-17 12:31:07.943577324 +0200 +@@ -212,20 +212,20 @@ + + float percentage=0; + +- titlesong=dumb_load_mod_quick("./data/titlesong.mod"); +- hiscoresong=dumb_load_mod_quick("./data/hiscore.mod"); ++ titlesong=dumb_load_mod_quick("./data/titlesong.mod", 0); ++ hiscoresong=dumb_load_mod_quick("./data/hiscore.mod", 0); + big_hiscore_font=load_font("./data/arcade_font_big.pcx",NULL,NULL); + gamefont_trans=load_font("./data/arcade_font.pcx",NULL,NULL); + + #ifdef ALLEGRO_LINUX + if(!titlesong) + { +- titlesong=dumb_load_mod_quick(TITLE_SONG); ++ titlesong=dumb_load_mod_quick(TITLE_SONG, 0); + } + + if(!hiscoresong) + { +- hiscoresong=dumb_load_mod_quick(HISCORE_SONG); ++ hiscoresong=dumb_load_mod_quick(HISCORE_SONG, 0); + } + + if(!big_hiscore_font) diff --git a/format_security.patch b/format_security.patch new file mode 100644 index 000000000000..21c94f9ed3af --- /dev/null +++ b/format_security.patch @@ -0,0 +1,187 @@ +Description: fix -Wformat-security warnings +Author: Ilya Barygin <randomaction@ubuntu.com> +Last-Update: 2011-12-04 +Index: open-invaders/src/ending.cc +=================================================================== +--- open-invaders.orig/src/ending.cc ++++ open-invaders/src/ending.cc +@@ -215,7 +215,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,40,(lines*22)+40,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,40,(lines*22)+40,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -232,7 +232,7 @@ void game_ending() + { + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,((lines-19)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,((lines-19)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -248,7 +248,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,texty,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,texty,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + +@@ -263,7 +263,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,texty,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,texty,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + +@@ -275,7 +275,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,378,makecol16(255,255,255),0,endinglines[23].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,378,makecol16(255,255,255),0,"%s",endinglines[23].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + +@@ -287,7 +287,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,420,makecol16(255,255,255),0,endinglines[24].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,420,makecol16(255,255,255),0,"%s",endinglines[24].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -302,7 +302,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,340,250,makecol16(255,255,255),0,endinglines[25].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,340,250,makecol16(255,255,255),0,"%s",endinglines[25].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + +@@ -316,7 +316,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,((lines-19)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,((lines-19)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -331,7 +331,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,160,((lines-19)*22)+50,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,160,((lines-19)*22)+50,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + + delay_with_duh_poll(20,endsongplayer); + } +@@ -347,7 +347,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,((lines-19)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,((lines-19)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -362,7 +362,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,80,((lines-20)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,80,((lines-20)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -377,7 +377,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,230,((lines-24)*22)+10,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,230,((lines-24)*22)+10,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -392,7 +392,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,400,((lines-26)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,400,((lines-26)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -407,7 +407,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,400,((lines-27)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,400,((lines-27)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -422,7 +422,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,350,((lines-37)*22)+120,makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,350,((lines-37)*22)+120,makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -437,7 +437,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,40,((lines-38)*22),makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,40,((lines-38)*22),makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -452,7 +452,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,70,((lines-41)*22),makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,70,((lines-41)*22),makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } +@@ -465,7 +465,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,155,200,makecol16(255,255,255),0,endinglines[53].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,155,200,makecol16(255,255,255),0,"%s",endinglines[53].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + +@@ -477,7 +477,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,210,330,makecol16(255,255,255),0,endinglines[54].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,210,330,makecol16(255,255,255),0,"%s",endinglines[54].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + +@@ -491,7 +491,7 @@ void game_ending() + + for(int individualchars=0; individualchars<textlength+1; individualchars++) + { +- textprintf_ex(screen,gamefont,195,((lines-47)*22),makecol16(255,255,255),0,endinglines[lines].substr(0,individualchars).c_str()); ++ textprintf_ex(screen,gamefont,195,((lines-47)*22),makecol16(255,255,255),0,"%s",endinglines[lines].substr(0,individualchars).c_str()); + delay_with_duh_poll(20,endsongplayer); + } + } diff --git a/gcc6.patch b/gcc6.patch new file mode 100644 index 000000000000..79c404a766e0 --- /dev/null +++ b/gcc6.patch @@ -0,0 +1,48 @@ +From: Markus Koschany <apo@debian.org> +Date: Tue, 27 Sep 2016 21:23:50 +0200 +Subject: gcc6 + +Fix FTBFS with GCC-6. + +Debian-Bug: https://bugs.debian.org/811654 +Forwarded: no +--- + src/init.cc | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/src/init.cc b/src/init.cc +index 29d24f5..2519012 100644 +--- a/src/init.cc ++++ b/src/init.cc +@@ -349,7 +349,12 @@ void load_config() + + do + { +- success_check=configfile >> string_to_compare; ++ if(configfile >> string_to_compare) { ++ success_check=true; ++ } ++ else { ++ success_check=false; ++ } + if(success_check) + { + position_of_equals=string_to_compare.find("="); +@@ -635,7 +640,7 @@ BITMAP *oi_load_graphic(std::string filename, std::string defsymbol) + if(!loaded_graphic) + { + cout << "Fatal error: Could not load file " << filename << "\n"; +- return false; ++ return nullptr; + } + + return loaded_graphic; +@@ -661,7 +666,7 @@ SAMPLE *oi_load_sfx(std::string filename, std::string defsymbol) + if(!loaded_sound) + { + cout << "Fatal error: Could not load file " << filename << "\n"; +- return false; ++ return nullptr; + } + + return loaded_sound; diff --git a/ldflags.patch b/ldflags.patch new file mode 100644 index 000000000000..df9f4b040334 --- /dev/null +++ b/ldflags.patch @@ -0,0 +1,14 @@ +diff --color -aur src.orig/open-invaders-0.3/src/Makefile.in src/open-invaders-0.3/src/Makefile.in +--- src.orig/open-invaders-0.3/src/Makefile.in 2021-10-17 12:42:45.692368809 +0200 ++++ src/open-invaders-0.3/src/Makefile.in 2021-10-17 13:18:23.234100539 +0200 +@@ -230,8 +230,8 @@ + ../headers/unlock.h + + open_invaders_LDFLAGS = \ +- -laldmd \ +- -ldumbd \ ++ -laldmb \ ++ -ldumb \ + `allegro-config \ + --libs` + |