summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO14
-rw-r--r--PKGBUILD41
-rw-r--r--dumb_load.patch67
-rw-r--r--format_security.patch187
-rw-r--r--gcc6.patch48
-rw-r--r--ldflags.patch14
6 files changed, 358 insertions, 13 deletions
diff --git a/.SRCINFO b/.SRCINFO
index bf2180777612..2fee59f847cc 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
-
diff --git a/PKGBUILD b/PKGBUILD
index 2ac8c0bf24a5..9c051727a942 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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`
+