# Contributor: Celmir <xxxxxxxxxxxxxxxxxxx@wanadoo.fr>
pkgname=paintown
pkgver=3.0
pkgrel=1
pkgdesc="old school game"
arch=(i686)
license=('GPL')
url="http://paintown.sourceforge.net"
options=('')
makedepends=('cmake')
depends=('allegro' 'zlib' 'libpng' 'dumb' 'freetype2')
source=(http://mesh.dl.sourceforge.net/sourceforge/paintown/$pkgname-$pkgver.tar.gz)
md5sums=('8da1467b6accfba76a707c329950dec7')
build() {
cd $startdir/src/$pkgname-$pkgver
mkdir -p arch_build
cd arch_build
cmake -DCMAKE_INSTALL_PREFIX=/usr ../
make || return 1
make DESTDIR=$startdir/pkg install || return 1
}
Qui me donne l'erreur
makepkg -f
==> Extraction des sources...
-> bsdtar -x -f paintown-3.0.tar.gz
==> Suppression du répertoire pkg/ existant...
==> Entre dans l'environnement fakeroot...
==> Début de la compilation...
CMake Error: Oops. Don't do an in-source build. Create an extra directory change into it and run cmake pointing to the base directory. IE:
mkdir mybuild && cd mybuild && cmake ../ && make
You may need to remove CMakeCache.txt and the CMakeFiles directory in /var/abs/local/paintown/src/paintown-3.0 if you can't get rid of this error.
-- Configuring done
make: *** Pas de règle pour fabriquer la cible « install ». Arrêt.
==> ERREUR: La compilation a échoué.
Abandon...
Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra http://celmir.tuxfamily.org
==> Extraction des sources...
-> bsdtar -x -f paintown-3.0.tar.gz
==> Entre dans l'environnement fakeroot...
==> Début de la compilation...
-- Check for working C compiler: /usr/lib/ccache/bin/gcc
-- Check for working C compiler: /usr/lib/ccache/bin/gcc -- works
-- Check size of void*
-- Check size of void* - done
-- Check for working CXX compiler: /usr/lib/ccache/bin/c++
-- Check for working CXX compiler: /usr/lib/ccache/bin/c++ -- works
-- Found ZLIB: /usr/lib/libz.so
-- Found PNG: /usr/lib/libpng.so
-- Found Allegro: -L/usr/lib -Wl,--export-dynamic -lalleg-4.2.2 -lalleg_unsharable
-- Found Freetype: /usr/lib/libfreetype.so
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/paintown/src/paintown-3.0/arch_build
Scanning dependencies of target main_module
[ 0%] Building CXX object CMakeFiles/main_module.dir/src/configuration.o
[ 1%] Building CXX object CMakeFiles/main_module.dir/src/game.o
[ 1%] Building CXX object CMakeFiles/main_module.dir/src/globals.o
[ 2%] Building CXX object CMakeFiles/main_module.dir/src/loading.o
Mais je plante à la compilation ensuite à 100% grr
[ 98%] Building C object src/dumb/CMakeFiles/dumb_module.dir/src/allegro/packfile.o
Linking C static library ../../lib/libdumb_module.a
[ 98%] Built target dumb_module
Scanning dependencies of target menutest
[ 98%] Building CXX object CMakeFiles/menutest.dir/src/menu/menutest.o
Linking CXX executable bin/menutest
[ 98%] Built target menutest
Scanning dependencies of target paintown
[ 99%] Building CXX object CMakeFiles/paintown.dir/src/xmain.o
Linking CXX executable bin/paintown
[ 99%] Built target paintown
Scanning dependencies of target test
[100%] Building CXX object CMakeFiles/test.dir/src/test.o
Linking CXX executable bin/test
[100%] Built target test
make: *** Pas de règle pour fabriquer la cible « install ». Arrêt.
==> ERREUR: La compilation a échoué.
Abandon...
Je sais pas ce qu'est ce module "test", peut-être qu'une option adéquate dans la configuration permettrait de résoudre ce dernier problème ?
Dernière modification par wain le mer. 20 févr. 2008, 10:02, modifié 1 fois.
# Contributor: Celmir <scribe-celmir@wanadoo.fr>
pkgname=paintown
pkgver=3.0
pkgrel=1
pkgdesc="90's Beat them all like Game"
arch=(i686)
license=('GPL')
url="http://paintown.sourceforge.net"
makedepends=('cmake')
depends=('allegro' 'zlib' 'libpng' 'dumb' 'freetype2')
source=(http://mesh.dl.sourceforge.net/sourceforge/paintown/$pkgname-$pkgver.tar.gz)
md5sums=('8da1467b6accfba76a707c329950dec7')
build() {
cd $startdir/src/$pkgname-$pkgver
mkdir -p arch_build
cd arch_build
cmake ../ || return 1
make || return 1
mkdir -p $startdir/pkg/usr/share/games/paintown/data
mkdir -p $startdir/pkg/usr/games
cd ..
./install.sh -d $startdir/pkg/usr/share/games/paintown -b $startdir/pkg/usr/games
cp $startdir/src/$pkgname-$pkgver/arch_build/bin/paintown $startdir/pkg/usr/share/games/paintown/paintown-bin
sed -e 's/\/var\/abs\/local\/paintown\/pkg//g' -i $startdir/pkg/usr/games/paintown
}
mais namcap me signale quelques problèmes
paintown E: Dependency detected and not included (gcc-libs) from files ['usr/share/games/paintown/paintown-bin']
paintown W: Dependency included but already satisfied (zlib)
paintown W: Dependency included and not needed (dumb)
paintown W: File (usr/games/) exists in a non-standard directory.
paintown W: File (usr/games/paintown) exists in a non-standard directory.
Pour gcc-libs je comprends, pour le reste un peu moins car zlib est requis par exemple et concernant /usr/games là c'est un mystère pour moi
Computer science is no more about computers than astronomy is about telescopes - Edsger Dijkstra http://celmir.tuxfamily.org
Hello !
Merci pour le package, j'avais justement envie de tester ce jeux (news vu sur jeuxlinux.fr ).
Pour /usr/games, c'est parce qu'il faut /usr/share/games
zlib est une dépendance de libpng, donc pas besoin de le préciser en plus
Voilà, il ne te reste plus qu'a corriger (la partie install notamment, je pense qu'il y a des choses a modifier) et on pourra mettre le package sur [archlinuxfr] si tu le souhaite
concernant namcap,
zlib est peut considéré comme paquetage essentiel au fonctionnement de Arch, vu que c'est une dépendance de libarchive qui est une dépendance de pacman.
/usr/games n'est pas standard, il est préférable de ranger les binaires dans /usr/bin. Dans ton cmake, tu dois pouvoir lui préciser.
Bon même opérationnel, je vais suivre vos conseils et améliorer le PKGBUILD. J'ai suivi les préconisations de paintown, mais je vais corriger !
## Default data directory is /usr/share/games
## Default bin directory is /usr/games
/usr/game/paintown n'est pas un binaire c'est un script qui lance le binaire qui est dans /usr/share/games/paintown et qui se nomme paintown-bin. Dans ce cas où dois-je positionner le script ?
Pour les dépendances, j'ai suivi là encore les préconisations de paintown:
You need the following libraries to compile paintown