Page 1 sur 1

[PKGBUILD] TuxMathScrabble (demande)

Publié : mer. 14 mai 2008, 11:59
par mélodie
Bonjour,
Je viens de découvrir ce logiciel éducatif qui a l'air bien sympa, et très récent, TuxMathScrabble.

Comment faut-il faire pour créer un PKGBUILD, sachant que les dépendances sont Python, PyGame, SDL et wxPython, et que la procédure d'installation indiquée est:
chmod +x setup.py
./setup.py
/usr/local/bin/TuxMathScrabble
?

Merci par avance. (En fait si quelqu'un est motivé pour faire le PKGBUILD ça me ferait bien plaisir parce que je ne sais pas les faire). :)

Publié : mer. 14 mai 2008, 12:16
par Skunnyk
Hello,

Tu peux regarder un PKGBUILD comme sonata,et prendre exemple dessus (l'installation est simple).
http://repos.archlinux.org/viewvc.cgi/s ... iew=markup
Bon courage :)

Publié : mer. 14 mai 2008, 12:27
par mélodie
Skunnyk a écrit :Hello,

Tu peux regarder un PKGBUILD comme sonata,et prendre exemple dessus
install --root=$startdir/pkg
Et il l'installe où avec ça ? Pas sous /usr/bin ?
(si personne n'est motivé j'essaierai de regarder ce soir, mais ce n'est pas gagné).

Publié : mer. 14 mai 2008, 12:48
par mimas
mélodie a écrit :Et il l'installe où avec ça ? Pas sous /usr/bin ?
Il va l'installer dans $startdir/pkg (entre nous je préfère utiliser l'équivalence $pkgdir). Ce répertoire correspond à / une fois le paquet installé par pacman.

Donc si il installe le binaire dans $$pkgdir/bin ce n'est pas bon. Si c'est dans $pkgdir/usr/bin c'est bon.

Pour récapituler :
$pkgdir/bin :cry:
$pkgdir/usr/bin :D

Publié : mer. 14 mai 2008, 13:11
par mightyjaym
Je viens de jeter un oeil au script python d'installation, apparemment il ne fait que copier des fichiers... il doit y avoir moyen de transformer cette syntaxe en en vrai PKGBUILD. Je n'ai rien à faire cet aprèm, donc je pense que je vais essayer 2-3 trucs ^^

Publié : mer. 14 mai 2008, 13:50
par mélodie
mightyjaym a écrit :il doit y avoir moyen de transformer cette syntaxe en en vrai PKGBUILD. Je n'ai rien à faire cet aprèm, donc je pense que je vais essayer 2-3 trucs ^^
Youpi ! \o/ ! :D

Publié : mer. 14 mai 2008, 14:04
par mightyjaym
^^

Mélodie, as-tu réussi à faire fonctionner TuxMathScrabble sans faire de paquet ? Parce que de mon côté, l'installation donne ça :
rm -rf /usr/lib/python2.4/site-packages/TuxMathScrabble
cp -r TuxMathScrabble /usr/lib/python2.4/site-packages
cp: ne peut créer le répertoire `/usr/lib/python2.4/site-packages': Aucun fichier ou répertoire de ce type
cp TuxMathScrabble.py /usr/local/bin/TuxMathScrabble
chmod +x /usr/local/bin/TuxMathScrabble
chmod -R 755 /usr/lib/python2.4/site-packages/TuxMathScrabble
chmod: ne peut accéder `/usr/lib/python2.4/site-packages/TuxMathScrabble': Aucun fichier ou répertoire de ce type
****************************************
* *
* Setup Complete *
* *
* Run: /usr/local/bin/TuxMathScrabble *
* *
* Checkout more software at: *
* http://www.asymptopia.org *
* *
****************************************
J'ai donc créé manuellement tout le bazar :
ln -s /usr/lib/python2.5 /usr/lib/python2.4
mv TuxMathScrabble /usr/lib/python2.4/site-packages
chmod -R 755 /usr/lib/python2.4/site-packages/TuxMathScrabble
Quand j'essaie de lancer /usr/local/bin/TuxMathScrabble, j'obtiens ceci :

Code : Tout sélectionner

Traceback (most recent call last):
  File "/usr/local/bin/TuxMathScrabble", line 24, in <module>
    x=TuxMathScrabbleApp()
  File "/usr/lib/python2.4/site-packages/TuxMathScrabble/tms.py", line 57, in __init__
    mode,level=prog.run()
  File "/usr/lib/python2.4/site-packages/TuxMathScrabble/tms.py", line 382, in run
    for self.player_idx in range(2):self.draw_tiles()
  File "/usr/lib/python2.4/site-packages/TuxMathScrabble/tms.py", line 236, in draw_tiles
    tile=self.make_tile(strval,uchar,ptval)
  File "/usr/lib/python2.4/site-packages/TuxMathScrabble/tms.py", line 169, in make_tile
    img=pygame.Surface((tile_size,tile_size), flags=0, depth=0, masks=None)
ValueError: masks argument must be sequence of four numbers
Fatal Python error: (pygame parachute) Segmentation Fault
Abandon
Donc partant de là, je peux faire un paquet sans problème, mais si le programme ne fonctionne pas à la base... c'est pas super :-/

Publié : mer. 14 mai 2008, 14:24
par tuxce

Code : Tout sélectionner

pkgname=tuxmathscrabble
pkgver=0.5.3
pkgrel=1
pkgdesc='a math version of the classic word game "Scrabble"'
arch=(i686 x86_64)
license=("GPL")
depends=('python-pygame' 'wxpython' 'sdl')
source=(http://www.asymptopia.org/1l11ll00l1/TuxMathScrabble-$pkgver-LIN.tgz)
url="http://www.asymptopia.org/index.php?topic=tuxmathscrabble"
md5sums=('14d372660f0d2ec09953cde23783b830')

build() {
  cd $startdir/src/TuxMathScrabble
  # les chemins sont codés en dur ...
  sed -i "s#/usr/local/bin/#$startdir/pkg/usr/bin/#" setup.py
  sed -i "s#Run: $startdir/pkg/usr/bin/#Run: /usr/bin/#" setup.py
  sed -i "s#/var/games/#$startdir/pkg/var/games/#" setup.py
  # une incompatibilité avec pygame peut etre (connais pas bien python)
  sed -i "s#, flags=0, depth=0, masks=None##" TuxMathScrabble/tms.py
  # il ne crée pas lui meme les répertoires
  mkdir -p $startdir/pkg/var/games/
  mkdir -p $startdir/pkg/usr/bin
  mkdir -p $startdir/pkg/usr/lib/python2.4/site-packages
  # il installe directement dans le répertoire de python, il faut lui indiquer le chemin makepkg
  export PYTHONPATH=$startdir/pkg/usr/lib/python2.4/site-packages
  python setup.py || return 1
}
ca devrait faire l'affaire, mais il y a quelques bug (je pense du à la version de python peut etre).

par contre, une fois lancé, il s'arrete plus :)

pour le répertoire python, mettre celui que vous avez, s'il y en a plusieurs, il prend le premier venu (chez moi c'était 2.4)

Publié : mer. 14 mai 2008, 14:37
par mightyjaym
Testé et approuvé ! :D

EDIT : Euh par contre il y a juste une petite faute dans le nom du paquet :wink:

Publié : mer. 14 mai 2008, 14:40
par tuxce
le double "b" => arrangé :)

par contre, j'avais oublié la dépendance "sdl", mais bon, c'était surtout pour tester, il y a surement d'autres améliorations à faire

Publié : mer. 14 mai 2008, 22:52
par mélodie
Hé hé ! Marrant, mais je n'ai pas l'impression que nous ayons tous les jeux de caractères. Chez moi ça fonctionne, sinon, avec les chiffres, les 4 niveaux (F1).

http://www.asymptopia.org/index.php?topic=TWS
The game is currently distributed with sixty-five (65) dictionary resources for playing Language-Language[j] "Scrabble".


Super ! :D

Publié : jeu. 15 mai 2008, 10:03
par mimas
Nay !!!

Pour le PKGBUILD, il faut mettre 'any' dans arch puisque c'est un shell python, donc indépendant d'une architecture.

...
arch=('any')
...



-----
Chief Officer du Bureau Qualitay de Mimarchs Linux

Publié : jeu. 15 mai 2008, 11:06
par marc[i1]
mimas a écrit :Pour le PKGBUILD, il faut mettre 'any' dans arch puisque c'est un shell python, donc indépendant d'une architecture.
C'est enfin reconnu cette option ?
si c'est pour utiliser makepkg avec l'option -A, ça vaut pas le coup !

Publié : jeu. 15 mai 2008, 13:20
par mimas
marc[i1] a écrit :C'est enfin reconnu cette option ?
Depuis la version 3.1 de pacman. Il y a aussi possibilité d'ajouter d'autres architectures, ça couine juste un peu au niveau des PKGBUILD si on n'y ajoute pas le nom de l'architecture.

Publié : jeu. 15 mai 2008, 13:37
par marc[i1]
Pacman le reconnais mais il me semblai que les serveurs non, enfin de ce que j'ai compris, donc pour le moment on peut le faire pour un paquetage perso mais si tu veux le diffuser sur les serveurs Arch c'est pas possible.

Publié : jeu. 15 mai 2008, 20:43
par mimas
j'aime bien les messages postés à 13:37. :)

Je ne sais pas pour les serveurs archlinux mais je ne vois pas en quoi le fait qu'un paquet de ce nom xxx-yyy-r-arch.pkg.tar.gz gène en quoi que ce soit la construction de l'index du dépôt et l'intégration du paquet dans ce dernier.

Il va seulement y avoir des paquets, les any (noarch pour reprendre la notation plus explicite de slackware) qui vont être présents sur plusieurs dépôts, soit par un jeu de liens symboliques, soit par copie simple.

Si il y a problème c'est parce que l'architecture logicielle a été conçue pour ne tenir compte que de deux architectures. Une adaptation s'impose donc.

N'y aurait-il pas le code source de la gestion du dépôt de archlinuxfr en ligne des fois ? :)

Pour ma part, en tant que packager de ma propre distro à moi mais qui utilise (encore) les outils archlinux, il me parait très étrange d'associer une architecture à des fichiers textes ou scripts puisqu'ils en sont indépendants.