makedeb
Mega Mario is a Super Mario Bros. 1 clone.
Viewing /PKGBUILD
.
Click here to go back to the Git tree for megamario.
# Maintainer: exponential <echo ZXhwb25lbnRpYWxtYXRyaXhAcHJvdG9ubWFpbC5jb20K | base64 -d>
_pkgname=MegaMario
pkgname=megamario
pkgver=1.7
pkgrel=1
pkgdesc="Mega Mario is a Super Mario Bros. 1 clone."
depends=('libsdl1.2debian'
'libsdl-mixer1.2'
'libsdl-ttf2.0-0'
'libsdl-image1.2')
makedepends=('libsdl1.2-dev'
'libsdl-mixer1.2-dev'
'libsdl-ttf2.0-dev'
'libsdl-image1.2-dev'
'sed'
'ffmpeg')
arch=('i386' 'amd64')
license=('LGPL2')
url="http://sourceforge.net/projects/mmario"
source=("http://sourceforge.net/projects/mmario/files/Mega%20Mario%20Full%20Game/Mega%20Mario%20v1.7%20%28Full%20Game%2C%20high%20Quality%20music%29/MegaMario_v${pkgver}_full.zip")
noextract=("${_pkgname}_v${pkgver}_full.zip")
b2sums=('9912c0bbecdebf7cfbfb1306de7084c061c6189f68aaa2f443f5b189a329813389f7ced40b08e40ffeb1af7c1a65066777f9d83afdc691c070997fd40907d401')
prepare(){
cd "${srcdir}"
# extract archive
mkdir -p "${pkgname}-${pkgver}"
bsdtar -xf "${_pkgname}_v${pkgver}_full.zip" -C "${pkgname}-${pkgver}"
cd "${pkgname}-${pkgver}"
# fix compilation
sed -i 's/#include <stdlib.h>/#include <stdlib.h>\n#include <limits.h>/' src/Global.h
sed -i 's! $(CXX) $(LDFLAGS) -o $@ $^! $(CXX) -o $@ $^ $(LDFLAGS) -s!' Makefile
# fix install
sed -i "s!bin!games!g" Makefile
sed -i "s!mp3music!/usr/share/games/${pkgname}/mp3music!g" src/functions.cpp src/main.cpp
# home
sed -i 's! snprintf(szIniFile, MAX_PATH, "%s/.megamario",! snprintf(szIniFile, MAX_PATH, "%s/.cache/megamario", home_dir? home_dir:".");\n check_and_create_dir(szIniFile);\n snprintf(szIniFile, MAX_PATH, "%s/.local/share/megamario", home_dir? home_dir:".");\n check_and_create_dir(szIniFile);\n snprintf(szIniFile, MAX_PATH, "%s/.config/megamario",!;s! snprintf(szIniFile, MAX_PATH, "%s/.megamario/mario.ini",! snprintf(szIniFile, MAX_PATH, "%s/.config/megamario/mario.ini",!' src/main.cpp
sed -i "s!\.${pkgname}/cheats.txt!\.config/${pkgname}/cheats.txt!g" src/global.cpp
sed -i "s!\.${pkgname}/levellist.txt!\.local/share/${pkgname}/levellist.txt!g" src/global.cpp src/menu.cpp
sed -i "s!\.${pkgname}/save.sav!\.local/share/${pkgname}/save.sav!g" src/levels.cpp
sed -i 's!out_logfile.open ("log.txt");!out_logfile.open(std::string(home_dir ? home_dir : ".") + "/.cache/megamario/megamario.log");!' src/main.cpp
# corrections
sed -i 's/\r//' *.txt
sed -i -e 's@Canyon.jpg@canyon.jpg@g' data/levels/grasslevels/grassland
sed -i 's!PNG!png!' data/levels/3_2/main data/levels/Edit2/main
# rm junk
rm data/save.sav data/levels/1/1 data/levels/11/mai
}
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
make -j $(nproc) PREFIX=/usr DATADIR="/usr/share/games/${pkgname}" CFLAGS="-g -Wall -O2 -fsigned-char"
ffmpeg -y -i data/gfx/characters/small/player1r.PNG -filter_complex "[0:v]colorkey=0xFF00FF:0.01:0.0[BlackToTransparancy]" -map [BlackToTransparancy] "${pkgname}.png"
}
package() {
cd "${srcdir}/${pkgname}-${pkgver}"
# Creating Directories
install -m755 -d $pkgdir/usr/{games,share/{applications,pixmaps,games/${pkgname},doc/$pkgname}}
# install
make PREFIX=${pkgdir}/usr DATADIR="${pkgdir}/usr/share/games/${pkgname}" install
cp -r mp3music "${pkgdir}/usr/share/games/${pkgname}"
# .desktop
install -Dm644 "${pkgname}.png" "$pkgdir/usr/share/pixmaps/${pkgname}.png"
install -Dm644 "${pkgname}.desktop" "$pkgdir/usr/share/applications/${pkgname}.desktop"
# doc
install -Dm644 readme.txt "$pkgdir/usr/share/doc/$pkgname/readme"
install -Dm644 CONTROLS.txt "$pkgdir/usr/share/doc/$pkgname/controls"
install -Dm644 fixes_v1.7.txt "$pkgdir/usr/share/doc/$pkgname/changelog"
gzip "$pkgdir/usr/share/doc/$pkgname/changelog"
ln -s /usr/share/common-licenses/LGPL-2.1 "$pkgdir/usr/share/doc/$pkgname/"
}