Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[ebuild] un ebuild pour 2 softs
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
novazur
Guru
Guru


Joined: 19 Mar 2005
Posts: 461
Location: Martinique

PostPosted: Tue Jul 21, 2009 1:58 pm    Post subject: [ebuild] un ebuild pour 2 softs Reply with quote

Bonjour,

J'ai travaillé avec l'autre de Franfest, soft permettant de faire "parler" festival en Français.
A l'aide de ses explications, j'ai pu élaborer une procédure d'installation de franfest, utilisant le festival inclus dans portage.
Maintenant, en retour, je voudrais produire un ebuild permettant de faire la même chose.
Mon problème réside essentiellement dans le fait que je me retrouve avec un ebuild qui doive traiter festival relativement normalement, mais en plus, qui doive aller patcher + configure + make de franfest.
J'avoue que je ne sais pas trop comment m'y prendre pour avoir au final quelque chose de relativement propre et fonctionnel.

Je suis sûr que certains me diront qu'il ne faut pas traiter 2 softs en 1 ebuild, seulement, je ne vois pas comment je pourrais faire pour traiter ça en 2 ebuilds. En effet, franfest doit être inclus dans festival avant compilation.

Pour aider à fixer un peu les choses puisque tout n'a probablement pas été très clair jusque là, voici la procédure que j'utilise actuellement :
Code:
cd /usr/src
wget http://download.gna.org/lliaphon/franfest/franfest-1.96-beta-rc01.tar.bz2
tar xvjf franfest-1.96-beta-rc01.tar.bz2
cd /usr/src/franfest-1.96-beta-rc01/
# configure festival pour environnement prêt à recevoir franfest
ebuild $(equery which festival) digest clean configure
{ configure franfest en fonction du rép source festival
./configure --prefix=/usrl --with-audiofeedback=n --with-group=users --with-festival=n --with-festivaldirectory=/var/tmp/portage/app-accessibility/festival-1.96_beta/work --with-mbrola=n
# patching pour adapter au contexte gentoo
sed -i 's%^char cfg_path.*$%char cfg_path[] = "/etc/franfest";%' festival/src/modules/franfest/franfest.h
ln -snf /opt/mbrola/fr1/fr1 ./festival/lib/voices/french/fr1_mbrola/fr1
ln -snf /opt/mbrola/fr2/fr2 ./festival/lib/voices/french/fr2_mbrola/fr2
# make franfest
make
# compilation festival
ebuild $(equery which festival) compile
# rectification liens erronés de franfest
ln -snf /opt/mbrola/fr1/fr1 /usr/share/festival/voices/french/fr1_mbrola/fr1
ln -snf /opt/mbrola/fr2/fr2 /usr/share/festival/voices/french/fr2_mbrola/fr2
# installation festival + franfest inclus
ebuild $(equery which festival) merge


Si ça vous parle un peu, tant mieux, cela m'aidera à renvoyer l'ascenseur à l'auteur de Franfest, qui pourra ainsi fournir l'ebuild sans avoir à passer plusieurs semaines, comme avec moi, à étudier comme installer franfest sous gentoo.
Back to top
View user's profile Send private message
Gaby
Apprentice
Apprentice


Joined: 03 Aug 2005
Posts: 251

PostPosted: Tue Jul 21, 2009 5:20 pm    Post subject: Reply with quote

Je ne connais ni Festival ni Fanfest mais pourquoi considères tu les 2 comme des softs séparés alors que le site que tu pointe le considère comme un patch :
Quote:
Franfest est essentiellement un patch de Festival (voir I.5) qui permet de disposer d’une synthèse de parole française.

Je ne suis pas un spécialiste des ebuilds mais est ce que le mieux ne serait pas un ebuild pour Festival intégrant le patch Franfest ?
A la limite dans un use, ce serait l'idéal non ?

J'espère ne pas être à coté de la plaque ...

Gaby
Back to top
View user's profile Send private message
novazur
Guru
Guru


Joined: 19 Mar 2005
Posts: 461
Location: Martinique

PostPosted: Tue Jul 21, 2009 6:42 pm    Post subject: Reply with quote

Oui, bien sur, c'est un patch, mais pour le mettre en oeuvre, il faut faire un configure + make... ce n'est pas fourni sous la forme de patch habituel, malheureusement, sinon ça serait effectivement simple.
Du coup, je ne sais pas comment traiter les econfigure, emake etc...
Back to top
View user's profile Send private message
Ey
l33t
l33t


Joined: 07 Apr 2005
Posts: 863
Location: Paris

PostPosted: Tue Jul 21, 2009 9:30 pm    Post subject: Re: [ebuild] un ebuild pour 2 softs Reply with quote

Ce que je ferai c'est un ebuild franfest en partant de l'ebuild de festival, en ajoutant la source de festival et modifiant le unpack si necessaire pour que festival et franfest soient dans des repertoires separes de work, puis en modifiant le compile pour faire le make de franfest avant celui de festival.

Ensuite pour faire les choses proprement, si les 2 packages installent des fichiers identiques dans des repertoires identiques, ajoute une dependance bloquante sur festival dans ton ebuild pour eviter l'install simultanee. DEPEND="!app-accesibility/festival $DEPEND"
Back to top
View user's profile Send private message
boozo
Advocate
Advocate


Joined: 01 Jul 2004
Posts: 3193

PostPosted: Wed Jul 22, 2009 7:27 am    Post subject: Reply with quote

'alute

y'a un ebuild sur b.g.o pour les versions <.96 qui le traite ainsi donc pourquoi ne pas reprendre le principe sur la base de l'ebuild pour v-96 :wink:
Code:
S="${WORKDIR}/festival"

   local lang
   for lang in ${LINGUAS}; do
      [ fr = ${lang} ] || [ fr_FR = ${lang} ] || continue

      einfo "Configuring Franfest"

      cd ${WORKDIR}/franfest

      einfo "Running autoconf..."
      autoconf || die

      econf \
         --prefix=/usr \
         --with-franfestprefix=/usr/share \
         --with-festivalprefix=/usr/share \
         --with-franfestdirectory=${WORKDIR}/franfest \
         --with-festivaldirectory=${WORKDIR} \
         --with-festivalsources=${S}/src \
         --with-festival=n \
         --with-mbrola=y \
         --with-audiofeedback=n \
         ${excluded_interfaces} || die "Failed Franfest configure"

      einfo "Conpiling Franfest"

      emake  -j1 PROJECT_LIBDEPS="" REQUIRED_LIBDEPS="" LOCAL_LIBDEPS="" OPTIMISE_CXXFLAGS="${CXXFLAGS}" OPTIMISE_CCFLAGS="${CFLAGS}" CC="$(tc-getCC)" CXX="$(tc-getCXX)"|| die "Failed to configure Franfest"
   done   

btw, je ne sais pas si il y a eu du nettoyage de code dans festival et/ou franfest depuis mais il était übermoche cet ebuild 8O
_________________
" Un psychotique, c'est quelqu'un qui croit dur comme fer que 2 et 2 font 5, et qui en est pleinement satisfait.
Un névrosé, c'est quelqu'un qui sait pertinemment que 2 et 2 font 4, et ça le rend malade ! "
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum