Page 1 sur 2

[abiword] PKGBUILD pour abiword 2.6

Publié : mer. 16 avr. 2008, 22:33
par cdemoulins
J'ai écris des PKGBUILDs pour abiword, abiword-extra (contient principalement des modèles) et abiword-plugins. N'ayant qu'un pc sous archlinux x86_64, je n'ai pas pue tester en i686 même si il n'y a aucune raison que sa pose de problème.

Code : Tout sélectionner

# Contributor: Clément DEMOULINS <cdemoulins@gmail.com>

pkgname=abiword
pkgver=2.6.2
pkgrel=1
pkgdesc="A fully-featured word processor"
arch=(i686 x86_64)
license=('GPL')
url="http://www.abisource.com"
depends=('gtk2' 'zlib' 'libpng' 'fribidi>=0.10.4' 'libxml2' 'popt' 'enchant'
         'fontconfig' 'libglade>=2.0' 'wv' 'libgnomeui' 'libgsf-gnome'
         'libgnomeprintui')
makedepends=('pkgconfig')
source=(http://www.abisource.com/downloads/${pkgname}/${pkgver}/source/${pkgname}-${pkgver}.tar.gz)

build() {
  cd ${startdir}/src/${pkgname}-${pkgver}
  ./configure --prefix=/usr --with-libxml2
  make || return 1
  make DESTDIR=${startdir}/pkg install
  mv ${startdir}/pkg/usr/share/icons ${startdir}/pkg/usr/share/pixmaps
}
md5sums=('8e756c0529880fbe6ea3aaef8d5df0b5')

Code : Tout sélectionner

# Contributor: Clément DEMOULINS <cdemoulins@gmail.com>

pkgname=abiword-extras
pkgver=2.6.2
pkgrel=1
pkgdesc="Extra for Abiword"
arch=(i686 x86_64)
license=('GPL')
url="http://www.abisource.com"
depends=("abiword>=${pkgver}")
source=(http://www.abisource.com/downloads/abiword/${pkgver}/source/${pkgname}-${pkgver}.tar.gz)

build() {
  cd ${startdir}/src/${pkgname}-${pkgver}
  ./configure --prefix=/usr
  make || return 1
  make DESTDIR=${startdir}/pkg install
}
md5sums=('0cca01e0943e598e274350a77cde2ede')

Code : Tout sélectionner

# Contributor: Clément DEMOULINS <cdemoulins@gmail.com>

pkgname=abiword-plugins
pkgver=2.6.2
pkgrel=1
pkgdesc="Various plugins for Abiword"
arch=(i686 x86_64)
license=('GPL')
url="http://www.abisource.com"
depends=("abiword>=${pkgver}" 'loudmouth>=1.0.1' 'link-grammar>=4.2.1' 'gtkmathview>=0.7.5' 
         'aiksaurus' 'libgnomedb>=1.2.0' 'libgda' 'libwpd>=0.8.0' 'fribidi' 'termcap-compat'
         'librsvg' 'libwmf')
source=(http://www.abisource.com/downloads/abiword/${pkgver}/source/abiword-${pkgver}.tar.gz
        http://www.abisource.com/downloads/abiword/${pkgver}/source/${pkgname}-${pkgver}.tar.gz)

build() {
  cd ${startdir}/src/${pkgname}-${pkgver}
  ./configure --prefix=/usr --with-abiword=${startdir}/src/abiword-${pkgver}
  make || return 1
  make DESTDIR=${startdir}/pkg install
}
md5sums=('8e756c0529880fbe6ea3aaef8d5df0b5'
         '8e3f0717327b712c6d091128709f5599')

Publié : jeu. 17 avr. 2008, 17:57
par cdemoulins
Est ce qu'il serait possible de mettre ces paquets sur le dépot archlinuxfr ?

Publié : jeu. 17 avr. 2008, 18:20
par vincentxavier
Peux tu expliquer le

Code : Tout sélectionner

options=('!libtool' '!makeflags') 
Cordialement

Publié : jeu. 17 avr. 2008, 18:30
par cdemoulins
Heu :? pas vraiment, je me suis basé sur le PKGBUILD officiel pour écrire celui là et j'ai pas trouvé à quoi sa correspond. J'ai même pas essayé de compiler sans mais si tu veux je peux faire le test.

Edit :
J'ai mis à jours les PKGBUILDs au niveau des dépendances (corrigé grace à namcap) et j'ai enlevé l'option bizarre.
Les paquets compile (en x86_64) et le programme fonctionne.

Publié : ven. 18 avr. 2008, 22:49
par cdemoulins
J'ai envoyé les paquets sur le dépot archlinuxfr, par contre ils ne sont disponible que en x86_64.

Je me demandais si en étant en x86_64 sa posait un problème que je compile des paquets pour i686 ?

Publié : ven. 18 avr. 2008, 22:52
par wain
cdemoulins a écrit :Je me demandais si en étant en x86_64 sa posait un problème que je compile des paquets pour i686 ?
eh oui.. pas question d'envoyer un programme compilé pour une architecture sur le dépôt d'une autre architecture... malheureusement :cry:

Publié : ven. 18 avr. 2008, 22:57
par cdemoulins
Mais en passant les bons flag à gcc ou g++, il n'y a pas moyen de compiler pour une autre architecture que celle en locale ?

Publié : sam. 19 avr. 2008, 09:37
par mimas
vincentxavier a écrit :Peux tu expliquer le

Code : Tout sélectionner

options=('!libtool' '!makeflags') 
Cela vide la variable MAKEFLAGS définie dans makepkg.conf. C'est utile si le programme ne supporte pas la compilation en parallèle avec make, genre utilisation des différents cœurs avec MAKEFLAGS="-J2" toussa...

Re: [abiword] PKGBUILD pour abiword 2.6

Publié : sam. 19 avr. 2008, 10:42
par marc[i1]
cdemoulins a écrit :

Code : Tout sélectionner

…
depends=('gtk2' 'zlib' 'libpng' 'fribidi>=0.10.4' 'libxml2' 'popt' 'enchant'
         'fontconfig' 'libglade>=2.0' 'wv' 'libgnomeui' 'libgsf-gnome'
         'libgnomeprintui')
makedepends=('pkgconfig')
…
Je ne suis pas persuadé que abiword est besoin d'autant de dépendance, selon abiword 2.4 présent sur [extra] il a seulement besoin de :

Code : Tout sélectionner

Dépend de             : libsm  fribidi>=0.10.7  enchant>=1.3.0  libgnomeprintui  wv>=1.2.4
Fait un peu de ménage, ça éviteras à celui qui l'installe d'avoir de mauvaise surprise.

Publié : sam. 19 avr. 2008, 11:16
par warnaud
Faut vérifier avec namcap en fait :p

Certains pkg ne sont pas super clean :p :tusors:

Publié : sam. 19 avr. 2008, 13:12
par cdemoulins
Pour ce qui est des dépendances, quand je créer un PKGBUILD, je liste les dépendances demandées par le développeur en lisant les doc d'installation du programme pas en faisant une confiance absolu en ce qui a été fait pour les versions précédentes.

Mon avis sur namcap, c'est que c'est bien pour trouver les dépendances oubliées mais pas l'inverse.

Bon après si vous voulez absolument que j'enlève les dépendances qui ne sont pas dans le PKGBUILD "officiel" de la version 2.4, OK, je le ferais.

Publié : sam. 19 avr. 2008, 13:54
par marc[i1]
Je pense que tu devrais apprendre le fonctionnement de la gestion des dépendances sous Archlinux.

Publié : sam. 19 avr. 2008, 15:03
par warnaud
En fait, namcap s'occupe justement de "tout" (à vérifier quand même mais bon).
En gros si un soft A a comme dépendance un soft B qui a pour dépendance un soft C, dans le pkgbuild du soft C t'as juste a mettre B car A sera de base installé.

Publié : sam. 19 avr. 2008, 15:41
par wain
cdemoulins, comme disent marc[i1] et warnaud, sous arch il faut respecter cette règle dans la gestion des dépendances.
Au pire, tu peux aujouter toutes les deps au début puis lancer namcap qui te dira quelles sont les dépendances déjà inclues. Par exemple si tu mets pygtk et python, namcap te dis que python est une dépendance déjà inclue dans pygtk et qu'elle n'est pas nécessaire. Pas question de faire des paquetages avec la totalité des dépendances comme dans RPM ou deb.

Pour les paquetages non compilés (perl/python/bash/etc..) namcap n'est pas fiable et il faut effectivement se baser sur les deps indiquées par l'auteur. Pour les paquetages compilés, namcap utilise ldd pour retrouver les deps et c'est suffisemment fiable.

a+

Publié : sam. 19 avr. 2008, 15:44
par marc[i1]
Vu que c'est un "problème" récurrent, j'ai ajouté une section sur la gestion des dépendances :
http://wiki.archlinux.fr/arch:pkgbuild: ... ependances

Les gens venant de système rpm et deb ont souvent tendance à tout mettre, ce qui est superflu pour Arch ;)

Publié : dim. 20 avr. 2008, 00:38
par mimas
marc[i1] a écrit :Les gens venant de système rpm et deb ont souvent tendance à tout mettre, ce qui est superflu pour Arch ;)
Pas sûr que ce soit superflu. Cela par du principe que l'utilisateur du paquet possède une archlinux brute de fonderie, sans paquets retouchés, ce qui n'est peut-être pas le cas.

C'est sûr que dans le cas python et pygtk on ne peut pas se tromper. :) Dans d'autre cas, comme les libgnome, où la relation de parenté n'est pas obligée, il peut il avoir problème.

Publié : dim. 20 avr. 2008, 01:01
par cdemoulins
Je suis en train d'écrire un programme qui permet de déterminer les dépendances inutiles. C'est dans le même style que namcap mais ça se base sur les dépendances indiquées dans le PKGBUILD.

Exemple :
On a un programme A qui a pour dépendances B et C.
Sachant que B dépend également de C.

$ mon_programme /var/abs/local/A/PKGBUILD
=> C est déjà inclus

J'ai également ajouté une option permettant de dessiner un joli arbre des dépendences.
Voilà un petit exemple pour mon PKGBUILD de deluge qui a une dépendence en trop : pygtk
Image

Publié : dim. 20 avr. 2008, 01:57
par vincentxavier
Libère les sources de ton prog qui roxe !!

Publié : dim. 20 avr. 2008, 02:03
par cdemoulins
C'est prévu dès qu'il est fini c'est à dire probablement demain.

Publié : dim. 20 avr. 2008, 03:16
par cdemoulins
Voilà le code source pour ceux que sa intéresse :
http://pastebin.archlinux.fr/79117

Pour l'utiliser, il faut le paquet pygraphviz qui est dispo sur AUR.
Ensuite en ligne de commande :
$ ArchDep.py /var/abs/local/.../PKGBUILD

pour activer la génération de l'arbre des dépendences : -d
pour tester les dépendences d'un paquet :
$ ArchDep.py -p nomDuPaquet