View previous topic :: View next topic |
Author |
Message |
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Tue Jul 21, 2009 1:58 pm Post subject: [ebuild] un ebuild pour 2 softs |
|
|
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 |
|
|
Gaby Apprentice
Joined: 03 Aug 2005 Posts: 251
|
Posted: Tue Jul 21, 2009 5:20 pm Post subject: |
|
|
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 |
|
|
novazur Guru
Joined: 19 Mar 2005 Posts: 461 Location: Martinique
|
Posted: Tue Jul 21, 2009 6:42 pm Post subject: |
|
|
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 |
|
|
Ey l33t
Joined: 07 Apr 2005 Posts: 863 Location: Paris
|
Posted: Tue Jul 21, 2009 9:30 pm Post subject: Re: [ebuild] un ebuild pour 2 softs |
|
|
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 |
|
|
boozo Advocate
Joined: 01 Jul 2004 Posts: 3193
|
Posted: Wed Jul 22, 2009 7:27 am Post subject: |
|
|
'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
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 _________________ " 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 |
|
|
|
|
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
|
|