# ardour en français

## c4-53

Je voudrais mettre ardour en français, la petite case est bien sûr cochée dans les préférences. Ma gentoo est bien francisée, même si frescobaldi n’accepte pas les caractères spéciaux. Sinon, tout les softs, sauf certains plugins audio et synthés, que je n'ai jamais vu traduit, sont OK, de même pour mate.

Le fichier /home/bertrand/.config/ardour5/.translate est bien renseigné "1". Mes locales sont bonnes, et j'ai ajouté "export LANG="fr_FR.UTF-8" et export LC_COLLATE="C" "  aux fichiers .bashrc et .profile.

Re-modif du fichier du fichier /etc/env.d/02locale avec " LANG="fr_FR.UTF-8" " UTF en majuscules, apparemment c'est mieux qu'en minuscules.

https://wiki.gentoo.org/wiki/UTF-8#Setting_the_locale

Je ne comprends pas, ardour est plus ou moins bien traduit, à par certains sous-menus.

----------

## c4-53

Dans l'aide Ardour il y a:

 *Quote:*   

> Internationalization
> 
>         Use translations sets if Ardour should use a translated version of all the messages. The default (unchecked) is English (US). When checked, and if a language file exists for the system language, this file will be used to translate Ardour.

 

J'ai regardé un peu partout sur mon system, mais ne sachant pas trop quoi cherché...

Sinon je fais un dpkg-reconfigure locales  :Arrow: 

----------

## c4-53

Je cherche un équivalant de la commande "equery f ardour" sous debian ou rpm, pour pouvoir contrôler sur une autre distribution les fichiers installés, et voir s'il n'y a pas un fichier genre /etc/ardour5/ardour.menu.fr.

----------

## c4-53

J'ai trouvé, enfin je crois, sous gentoo il n'y a pas de fichiers:

```
/usr/share/ardour5/local/fr/LC_MESSAGES/ardour5.mo

/usr/share/ardour5/local/fr/LC_MESSAGES/gtk2_ardour5.mo

/usr/share/ardour5/local/fr/LC_MESSAGES/gtkmm2ext3.mo

```

C'est ceux que j'ai trouvé sous une VM fedora31.

Je ne connais pas ces " .mo "

Par exemple comment remédier aux problème, dev-haskell/gtk2hs-buildtools et dev-cpp/gtkmm sont installés. 

```
bertrand@poste01 ~ $ eix gtkmm

[I] dev-cpp/gtkmm

     Available versions:  

     (2.4)  2.24.5

     (3.0)  3.24.0 3.24.1

       {X aqua doc examples test wayland ABI_MIPS="n32 n64 o32" ABI_RISCV="lp64 lp64d" ABI_S390="32 64" ABI_X86="32 64 x32"}

     Installed versions:  2.24.5(2.4)(23:55:16 25/07/2019)(-doc -examples -test ABI_MIPS="-n32 -n64 -o32" ABI_RISCV="-lp64 -lp64d" ABI_S390="-32 -64" ABI_X86="64 -32 -x32") 3.24.1(3.0)(21:28:48 25/07/2019)(X -aqua -doc -test -wayland ABI_MIPS="-n32 -n64 -o32" ABI_RISCV="-lp64 -lp64d" ABI_S390="-32 -64" ABI_X86="64 -32 -x32")

     Homepage:            https://www.gtkmm.org

     Description:         C++ interface for GTK+

```

```
bertrand@poste01 ~ $ eix gtk2

[I] dev-haskell/gtk2hs-buildtools

     Available versions:  0.12.5.1-r1(0/0.12.5.1) 0.13.0.4-r3 0.13.2.2(0/0.13.2.2) {+closuresignals profile}

     Installed versions:  0.13.2.2(0/0.13.2.2)(09:25:37 31/10/2019)(closuresignals -profile)

     Homepage:            http://projects.haskell.org/gtk2hs/

     Description:         Tools to build the Gtk2Hs suite of User Interface libraries

* dev-perl/Gtk2

     Available versions:  1.249.920 {test}

     Homepage:            https://metacpan.org/release/Gtk2

     Description:         Perl bindings for GTK2

* dev-perl/Gtk2-AppIndicator

     Available versions:  (~)0.150.0-r1 {test}

     Homepage:            https://metacpan.org/release/Gtk2-AppIndicator

     Description:         Perl binding for the GTK2 AppIndicator

* dev-perl/Gtk2-Ex-PodViewer

     Available versions:  0.180.0-r2

     Homepage:            https://metacpan.org/release/Gtk2-Ex-PodViewer

     Description:         a Gtk2 widget for displaying Plain old Documentation (POD)

* dev-perl/Gtk2-Ex-PrintDialog

     Available versions:  0.30.0-r2 {cups}

     Homepage:            https://metacpan.org/release/Gtk2-Ex-PrintDialog

     Description:         a simple, pure Perl dialog for printing PostScript data in GTK+ applications

* dev-perl/Gtk2-Ex-Simple-List

     Available versions:  0.500.0-r2 {examples test}

     Homepage:            https://metacpan.org/release/Gtk2-Ex-Simple-List

     Description:         A simple interface to Gtk2's complex MVC list widget

* dev-perl/Gtk2-ImageView

     Available versions:  0.50.0-r2 {examples test}

     Homepage:            https://metacpan.org/release/Gtk2-ImageView

     Description:         Perl binding for the GtkImageView image viewer widget

* dev-perl/Gtk2-Notify

     Available versions:  0.50.0 {test}

     Homepage:            https://metacpan.org/release/Gtk2-Notify

     Description:         A perl interface to the notification library

* dev-perl/Gtk2-SourceView2

     Available versions:  (~)0.100.0-r1 {test}

     Homepage:            https://metacpan.org/release/Gtk2-SourceView2

     Description:         Perl binding for the C library gtksourceview

* dev-perl/Gtk2-Unique

     Available versions:  0.50.0-r2 {examples test}

     Homepage:            https://metacpan.org/release/Gtk2-Unique

     Description:         Perl binding for C libunique library

* dev-perl/gtk2-ex-formfactory

     Available versions:  0.670.0-r1

     Homepage:            https://www.exit1.org/Gtk2-Ex-FormFactory/ https://metacpan.org/release/Gtk2-Ex-FormFactory

     Description:         Gtk2 FormFactory

* dev-perl/gtk2-gladexml

     Available versions:  1.7.0-r1 1.7.0-r2 {examples test}

     Homepage:            http://gtk2-perl.sf.net/ https://metacpan.org/release/Gtk2-GladeXML

     Description:         Create user interfaces directly from Glade XML files

* dev-perl/gtk2-spell

     Available versions:  1.40.0-r1 1.40.0-r2 {test}

     Homepage:            http://gtk2-perl.sf.net/ https://metacpan.org/release/Gtk2-Spell

     Description:         Bindings for GtkSpell with Gtk2.x

* dev-perl/gtk2-trayicon

     Available versions:  0.60.0-r2 {examples test}

     Homepage:            http://gtk2-perl.sf.net/ https://metacpan.org/release/Gtk2-TrayIcon

     Description:         Perl wrappers for the egg cup Gtk2::TrayIcon utilities

* dev-perl/gtk2-traymanager

     Available versions:  0.50.0-r1 0.50.0-r2 {examples test}

     Homepage:            http://gtk2-perl.sf.net/ https://metacpan.org/release/Gtk2-TrayManager

     Description:         Perl bindings for EggTrayManager

* dev-ruby/ruby-gtk2

     Available versions:  3.3.2 (~)3.3.6 (~)3.3.7 {test RUBY_TARGETS="ruby24 ruby25 ruby26"}

     Homepage:            https://ruby-gnome2.osdn.jp/

     Description:         Ruby Gtk2 bindings

* games-util/xgame-gtk2

     Available versions:  (~)2.0.2-r1

     Homepage:            http://xgame.tlhiv.com/

     Description:         Run games in a separate X session

* x11-misc/gtk2fontsel

     Available versions:  (~)0.1-r1

     Homepage:            http://gtk2fontsel.sourceforge.net/

     Description:         A font selection tool similar to xfontsel

```

En regardant le USE des paquets, je ne vois pas trop ce qui pourrait correspondre à ardour?

```
bertrand@poste01 ~ $ eix ardour

[I] media-sound/ardour

     Available versions:  

     (5)    (~)5.12

     (6)    **9999*l

       {altivec doc jack CPU_FLAGS_X86="3dnow mmx sse"}

     Installed versions:  5.12(5)(08:10:37 01/11/2019)(jack -altivec -doc CPU_FLAGS_X86="mmx sse -3dnow")

     Homepage:            http://ardour.org/

     Description:         Digital Audio Workstation

```

----------

## c4-53

J'ai téléchargé l'archive sur le site d'ardour, il y a un fichier "TRANSLATORS"

```
Ardour User Interface Translation How-To

Ardour's user interface can be translated into many languages. For this the

application uses gettext engine. It works like this: there is a plain text

editable PO file for every language that contains a number of sequences like: a

line in English, a line in target language and a reference to a line in source

code where original text in English comes from. The build system then creates a

binary version of each PO file with MO file extension and places it in a system

directory where running instance of Ardour will pick and use it.

Ardour has two main PO files to translate: for user interface and for Ardour's

library. Some messages from the library are actually passed to user interface

(various warnings, for example), so ideally you have to translate both. For

example, Russian translations are located here:

gtk2_ardour/po/ru.po

libs/ardour/po/ru.po

There are few supplementation translations that can be found here (again,

showing the case for Russian):

libs/gtkmm2ext/po/ru.po

You might want to translate the appdata file as well which is here to help

distribution's packagers (showing the case for French)

gtk2_ardour/appdata/po/fr.po

Every PO file's name is a two-character code, e.g. 'de' for German, 'es' for

Spanish, and so on. However it's fairly common to have localizations for local

versions of a language, e.g. 'pt_BR' would stand for Brazilian Portuguese, and

'es_MX' would stand for Mexican Spanish. Please refer to ISO language code

table for details.

Here is the best workflow for existing translations.

1. Build Ardour  using './waf' command (this step is actually optional).

2a. If there is no existing translation for your language, run './waf i18n_pot'

which will generate a POT (.pot) file for each of the directories shown

above. For each directory you plan to translate, rename the POT file to end in 

.po and then continue with step 3.

2b. If there is an existing translation for your language, run './waf

i18n_po' which will bring it up to date (along with all other PO files)

3. Open the relevant PO file in you PO editor of choice (see below).

4. Open Ardour, find something untranslated, locate this phrase in PO file, 

translate.

5. Repeat previous step several times, save the PO file.

6. Run './waf i18n_mo' to regenerate binary MO files and 'sudo ./waf install' 

to install them.

7. Restart Ardour to see what your translation looks like and whether it needs 

fixes, e.g. has to be shorter.

Note that as of Ardour 4 the translations are only installed when you run 

'./waf i18n' after './waf' and before 'sudo ./waf install'.

When you are done translating, it's best to get credited for your contribution. 

Here is how you can do it:

1. Run 'git commit -a' (assuming you only modified translation files) and 

describe the changes you made. Typically the commit message looks like 

'Update German translation'. That should be sufficient.

2. Run 'git format-patch origin/master' (assuming you worked on a clone of the 

master branch. That should generate a file called something like 

'0001-Update-German-translation.patch'.

3. Run 'bzip2 0001-Update-German-translation.patch' to compress the file.

4. File a new bug report at http://tracker.ardour.org and attach the resulted 

compressed file and tell either rgareus (Robin Gareus) or las (Paul Davis) on 

the project's IRC channel (#ardour at irc.freenode.net) about your patch.

There are some more things you need to know.

1. Where does a phrase come from?

Often when you go through translation hunting for untranslated messages, you

stumble upon things you have no idea where they come from. To assist you there

most advanced PO editors have means to tell you which source code file it comes

from, or, in some cases, even show the context in source code. Ardour has

pretty much meaningful names for source code files, so it should help. If it

doesn't, please ask on IRC for help.

2. Variables

You will often meet things like "%1" or "%2" in the translation files. This is

a variable that should be left intact. Here is an example:

"Cannot load XML for session from %1"

When Ardour runs, this "%1" will be substituted with "Ardour" so that the whole

phrase will be "Cannot load XML for session from Ardour". If Mixbus (an

commercial Ardour's spin-off) runs, this will be "Cannot load XML for session

from Mixbus" instead. You get the idea. So just place this variable in your

translation in a way that makes the phrase sound natural in your language and

make sure you know where the phrase comes from (see above) so that you know how

to translate it correctly.

3. Plural forms

English has two plural forms, but many other languages have three and even four

plural forms. Some parts of Ardour's code respect that, but some not (check for

existing bug reports). A PO editor usually simplifies translating every plural

form by putting every plural form into a dedicated tab.

Not every PO editor can calculate the equation for the plural forms in your

language, but you can look it up in headers of PO files from some application

such a GIMP or Inkscape. Here is an example for Russian:

http://git.gnome.org/browse/gimp/plain/po/ru.po

"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"

"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2); 10<=4 && (n%100<10 || n"

"%100>=20) ? 1 : 2);\n"

4. Special case when translating

4a. slash

If you find something like : "Preferences/GUI", you will want to translate the whole thing.

Example for French : "Préférences/Interface graphique" .

4b. pipe

If you find something like : "Preferences|GUI", you will only want to translate the second part.

Example for French : "Interface graphique".

5. PO editors

It's really up to you which PO editor you choose. These ones are most popular:

poEdit. It works on Linux, Mac and Windows. The user interface is fairly simple. 

Lokalize. Part of KDE desktop environment. It's a fairly advanced translation tool.

GTranslator. Usually considered as GNOME translation tool, but has very few

actual GNOME dependencies. Feature-wise it's somewhere between poEdit and

Lokalize. 
```

Et j'ai regardé le ebuild, il y a bien des lignes avec " waf " mais pas de "./waf i18n_pot " , " ./waf i18n_mo " ni " ./waf install". J'ai mis des <====== dans le fichier.

Les seuls fichiers ".pot" sur mon système sont ceux de l'achive que j'ai téléchargé.

```
# Copyright 1999-2017 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python2_7 )

PYTHON_REQ_USE='threads(+)'

#EPYTHON='python2.7'

inherit eutils toolchain-funcs flag-o-matic python-any-r1 waf-utils     <========

DESCRIPTION="Digital Audio Workstation"

HOMEPAGE="http://ardour.org/"

if [[ ${PV} == *9999* ]]; then

   EGIT_REPO_URI="http://git.ardour.org/ardour/ardour.git"

   inherit git-r3

else

   KEYWORDS="~amd64 ~x86"

   SRC_URI="mirror://gentoo/Ardour-${PV}.0.tar.bz2 -> ${P}.tar.bz2"

   S="${WORKDIR}/Ardour-${PV}.0"

fi

LICENSE="GPL-2"

SLOT="5"

IUSE="altivec doc jack cpu_flags_x86_sse cpu_flags_x86_mmx cpu_flags_x86_3dnow"

RDEPEND="

   >=dev-cpp/glibmm-2.32.0

   >=dev-cpp/gtkmm-2.16:2.4

   >=dev-cpp/libgnomecanvasmm-2.26:2.6

   dev-libs/boost:=

   >=dev-libs/glib-2.10.1:2

   dev-libs/libsigc++:2

   >=dev-libs/libxml2-2.6:2

   dev-libs/libxslt

   >=gnome-base/libgnomecanvas-2

   media-libs/alsa-lib

   media-libs/aubio

   media-libs/flac

   media-libs/freetype:2

   media-libs/libart_lgpl

   media-libs/liblo

   >=media-libs/liblrdf-0.4.0-r20

   >=media-libs/libsamplerate-0.1

   >=media-libs/libsndfile-1.0.18

   >=media-libs/libsoundtouch-1.6.0

   media-libs/raptor:2

   >=media-libs/rubberband-1.6.0

   >=media-libs/taglib-1.7

   media-libs/vamp-plugin-sdk

   net-misc/curl

   sys-libs/readline:0=

   sci-libs/fftw:3.0[threads]

   virtual/libusb:0

   x11-libs/cairo

   >=x11-libs/gtk+-2.8.1:2

   x11-libs/pango

   jack? ( virtual/jack )

   >=media-libs/slv2-0.6.1

   media-libs/lilv

   media-libs/sratom

   dev-libs/sord

   >=media-libs/suil-0.6.10

   >=media-libs/lv2-1.4.0"

DEPEND="${RDEPEND}

   ${PYTHON_DEPS}

   jack? ( virtual/jack )

   sys-devel/gettext

   virtual/pkgconfig

   doc? ( app-doc/doxygen[dot] )"

pkg_setup() {

   if has_version \>=dev-libs/libsigc++-2.6 ; then

      append-cxxflags -std=c++11

   fi

   python-any-r1_pkg_setup

}

src_prepare(){

   eapply_user

   if ! [[ ${PV} == *9999* ]]; then

      eapply "${FILESDIR}"/${PN}-4.x-revision-naming.patch

      touch "${S}/libs/ardour/revision.cc"

   fi

   sed 's/'full-optimization\'\ :\ \\[.*'/'full-optimization\'\ :\ \'\','/' -i "${S}"/wscript || die

   MARCH=$(get-flag march)

   OPTFLAGS=""

   if use cpu_flags_x86_sse; then

      if [[ ${MARCH} == "i686" ]] || [[ ${MARCH} == "i486" ]]; then

         elog "You enabled sse but use an march that does not support sse!"

         elog "We add -msse to the flags now, but please consider switching your march in make.conf!"

      fi

      OPTFLAGS="sse"

   fi

   if use cpu_flags_x86_mmx; then

      if [[ ${MARCH} == "i486" ]]; then

          elog "You enabled mmx with i486 set as march! You have been warned!"

      fi

      OPTFLAGS="${OPTFLAGS} mmx"

   fi

   if use cpu_flags_x86_3dnow; then

      OPTFLAGS="${OPTFLAGS} 3dnow"

   fi

   sed 's/flag_line\ =\ o.*/flag_line\ =\ \": '"${OPTFLAGS}"' just some place holders\"/' \

      -i "${S}"/wscript || die

   sed 's/cpu\ ==\ .*/cpu\ ==\ "LeaveMarchAsIs":/' -i "${S}"/wscript || die

   append-flags "-lboost_system"

   python_fix_shebang "${S}"/wscript

   python_fix_shebang "${S}"/waf            <=============

}

src_configure() {

   tc-export CC CXX

   mkdir -p "${D}"

   waf-utils_src_configure \                     <============= 

      --destdir="${D}" \

      --prefix=/usr \

      --configdir=/etc \

      --nls \

      --optimize \

      --lv2 \

      $(usex jack "--with-backends=alsa,jack" "--with-backends=alsa  --libjack=weak") \

      $(usex doc "--docs" '') \

      $({ use altivec || use cpu_flags_x86_sse; } && echo "--fpu-optimization" || echo "--no-fpu-optimization")

}

src_install() {

   waf-utils_src_install                          <================

   mv ${PN}.1 ${PN}${SLOT}.1

   doman ${PN}${SLOT}.1

   newicon "${S}/gtk2_ardour/resources/Ardour-icon_48px.png" ${PN}${SLOT}.png

   make_desktop_entry ardour5 ardour5 ardour5 AudioVideo

}

pkg_postinst() {

   elog "If you are using Ardour and want to keep its development alive"

   elog "then please consider to make a donation upstream at ${HOMEPAGE}."

   elog "Please do _not_ report problems with the package to ${PN} upstream."

   elog "If you think you've found a bug, check the upstream binary package"

   elog "before you report anything to upstream."

}
```

Il y a un "waf" dinstallé sur ma gentoo

```
dev-util/waf

     Available versions:  (~)1.9.14 {examples}

     Homepage:            https://waf.io/

     Description:         piece of software used to help building software projects

```

----------

## c4-53

Toujours pas de réponse... hummmmm

Peut on ajouter, spécifier ou affiner une localisation particulière pour un soft dans le make.conf?

En passant, est ce que tout est bien dans l'ordre? Je me souviens, que j'avais mis  "COMMON_FLAGS=" après "FFLAGS" et que webkit-gtk ne voulait pas s'installer

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

#COMMON_FLAGS="-O2 -pipe"

COMMON_FLAGS="-O2 -march=bdver1 -pipe"

CFLAGS="${COMMON_FLAGS}"

CXXFLAGS="${COMMON_FLAGS}"

FCFLAGS="${COMMON_FLAGS}"

FFLAGS="${COMMON_FLAGS}"

#modif 31-10-2019

ACCEPT_KEYWORDS="~amd64"

GRUB_PLATFORMS="pc efi-64"

CHOST="x86_64-pc-linux-gnu"

MAKEOPTS="-j9"

VIDEO_CARDS="amdgpu radeonsi"

ALSA_CARDS="usb-audio"

INPUT_DEVICES="evdev keyboard mouse wacom"

LINGUAS="fr"

L10N="fr"

USE="python gtk lv2 ladspa jack pulseaudio networkmanager"

# NOTE: This stage was built with the bindist Use flag enabled

PORTDIR="/var/db/repos/gentoo"

DISTDIR="/var/cache/distfiles"

PKGDIR="/var/cache/binpkgs"

# This sets the language of build output to English.

# Please keep this setting intact when reporting bugs.

LC_MESSAGES=C

GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ http://ftp.free.fr/mirrors/ftp.gentoo.org/ http://gentoo.modulix.net/gentoo/ http://gentoo.mirrors.ovh.net/gentoo-distfiles/ https://mirrors.soeasyto.com/distfiles.gentoo.org/ http://mirrors.soeasyto.com/distfiles.gentoo.org/ ftp://mirrors.soeasyto.com/distfiles.gentoo.org/"
```

----------

## El_Goretto

 *c4-53 wrote:*   

> Toujours pas de réponse... hummmmm
> 
> Peut on ajouter, spécifier ou affiner une localisation particulière pour un soft dans le make.conf?
> 
> En passant, est ce que tout est bien dans l'ordre? Je me souviens, que j'avais mis  "COMMON_FLAGS=" après "FFLAGS" et que webkit-gtk ne voulait pas s'installer
> ...

 

Si tes questions entraînent peu de réponse, à vu de nez je dirais que c'est parce que tu utilises un soft très particuliers et que donc personne ici n'a d'expérience en la matière. En tout cas ce serait l'explication la plus évidente.

Pour l'ordre dans make.conf, il n'y a pas d'ordre "globalement" entre les différentes variables (quand elles sont indépendantes) puisque le fichier est lu, puis portage bosse avec ce qu'il y a trouvé... sauf quand tu utilises, pour une variable donnée, le contenu d'une variable précédemment définie. Comme COMMON_FLAGS dans ton exemple. Dans ce cas oui, l'ordre des lignes a une importance. Si une variable est utilisée avant (au sens des "lignes", c'est à dire plus haut) d'avoir été définie, elle aura une valeur différente (souvent null) avant d'atteindre la ligne de sa définition, et c'est souvent une erreur. Ce n'est en rien spécifique à Portage, c'est du shell script (le format de ton fichier de config).

----------

## c4-53

Merci pour ta réponse, C'est effectivement logique pour les scripts.

J’essaie de choper les bons automatismes pour résoudre mes problèmes. 

Il y a des chances que le soucis se trouve au niveau du ebuild, mais là, c'est trop fort pour moi. C'est sans doute pas une bonne idée de le bricoler

Et je ne suis pas loin de l'indigestion de man page / wiki / forum. Allez un autre wiki pour le dessert...

J'ai essayé de poster une question sur le forum ardour et ils ont bloqués mon compte après le copier coller du "eix ardour"!  :Confused:  La louze totale

Ensuite vu que l'archive d'ardour était téléchargée, passage par la case compilation.

```

./waf configure

Setting top to                           : /home/bertrand/Téléchargements/Ardour-5.12.0 

Setting out to                           : /home/bertrand/Téléchargements/Ardour-5.12.0/build 

Checking for 'gcc' (c compiler)          : /usr/bin/gcc 

Checking for 'g++' (c++ compiler)        : /usr/bin/g++ 

Global Configuration 

 * Install prefix                                    : /usr/local 

 * Debuggable build                                  : True 

 * Build documentation                               : False 

Ardour Configuration 

 * Will build against private GTK dependency stack   : no 

 * Will rely on libintl built into libc              : yes 

 * Will build against private Ardour dependency stack : no 

Traceback (most recent call last):

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Scripting.py", line 97, in waf_entry_point

    run_commands()

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Scripting.py", line 151, in run_commands

    run_command(cmd_name)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Scripting.py", line 143, in run_command

    ctx.execute()

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 128, in execute

    super(ConfigurationContext,self).execute()

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Context.py", line 87, in execute

    self.recurse([os.path.dirname(g_module.root_path)])

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Context.py", line 128, in recurse

    user_function(self)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/wscript", line 1016, in configure

    conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 221, in fun

    return f(*k,**kw)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Tools/c_config.py", line 463, in check_cc

    return self.check(*k,**kw)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 221, in fun

    return f(*k,**kw)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Tools/c_config.py", line 368, in check

    ret=self.run_c_code(*k,**kw)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 221, in fun

    return f(*k,**kw)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Tools/c_config.py", line 447, in run_c_code

    bld.compile()

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Build.py", line 188, in compile

    self.store()

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Utils.py", line 310, in f

    ret=fun(*k,**kw)

  File "/home/bertrand/Téléchargements/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Build.py", line 162, in store

    cPickle.dump(data,f)

AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class'
```

Il était tard, j'ai plié les gaules

----------

## sebB

Y'a effectivement un problème sur l'ebuild qui n'installe pas les locales.

Je viens de test sur une arch et un dossier /usr/share/ardour5/locale/ est bien créé.

Le mieux est que tu ouvre un bug.

Sinon les vieux barbus vont bien t'aider à corriger l'ebuild   :Wink: 

Pour patienter et car je suis sympa je te file le fichier locale arch que tu as juste à copier dans /usr/share/ardour5 de ta gentoo (c'est la meilleure solution mais elle devrait fonctionner).

locale

----------

## c4-53

Tu es sûr que ça fonctionne? Je ne l'ai pas dit, mais j'ai fait l'essai avec ceux de la VM fedora31, et ça ne marchait pas. 

Après avoir trainé sur irc-freenode-ardour, ouverture de mon premier bug en dix huit ans de linux...après tout je bug plus que mon pc. 

J'ai vu que l'on pouvait choisir FR, bizarre...Çà sent le coup d'épée dans l'eau, la doc était encore en anglais, non pas ça, j'use de mon droit de retrait, saturation numérique du signal d'entrée.  :Arrow: 

----------

## sebB

Je viens d'installer ardour sur une gentoo et j'ai juste copié le dossier locale de arch dans /usr/share/ardour5 de la gentoo.

Le 1er message qui était initialement en anglais est passé en francais.

Après je connais pas ton soft pour continuer mais ca te coute rien d'essayer

----------

## c4-53

Alors là "Château" c'est en français! Curieux avec les fichiers librazik aussi, mais pas fedora

----------

## c4-53

 *Quote:*   

> Sinon les vieux barbus vont bien t'aider à corriger l'ebuild

 

Pas l'ombre d'une barbe, même pas d'une moustache à l'horizon, en même temps il fait nuit. Et ce genre de dénomination n'engage pas une "nana" (parce que vieille barbue c'est vraiment pas top) à proposé son aide...  :Arrow: 

----------

## c4-53

Je pensais essayer de trouver le ebuild d'ardour de gentoo studio, pour le comparer avec le mien, mais pas moyen de mettre la main dessus.

Ni dans le proaudio overlay

----------

## c4-53

A mon avis les barbus en bermuda, tongs, teeshirt (aussi négligés que le bonhomme), ont été remplacés par des hipsters, plus soucieux de leurs look que de bricoler un ebuild pour le fun...

----------

## sebB

Essaye peut-être l'ebuild de l'overlay de 4nykey

https://github.com/4nykey/4nykey

----------

## c4-53

Merci, je vais regarder ça de plus près.

----------

## c4-53

Le ebuild de 4nykey est bien différent de celui de la "team gentoo"  

J'ai ajouté les lignes "PLOCALES=" et "l10n" à celle de "inherit eutils toolchain-funcs flag-o-matic python-any-r1 waf-utils l10n"

```

# Copyright 1999-2017 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

EAPI=6

#modif ajout locales 11-11-2019

PLOCALES="

cs de el en_GB es fr it nn pl pt pt_PT ru sv zh

"

PYTHON_COMPAT=( python2_7 )

PYTHON_REQ_USE='threads(+)'

#EPYTHON='python2.7'

#ajout l10n 11-11-2019

inherit eutils toolchain-funcs flag-o-matic python-any-r1 waf-utils l10n

DESCRIPTION="Digital Audio Workstation"

HOMEPAGE="http://ardour.org/"

if [[ ${PV} == *9999* ]]; then

   EGIT_REPO_URI="http://git.ardour.org/ardour/ardour.git"

   inherit git-r3

else

   KEYWORDS="~amd64 ~x86"

   SRC_URI="mirror://gentoo/Ardour-${PV}.0.tar.bz2 -> ${P}.tar.bz2"

   S="${WORKDIR}/Ardour-${PV}.0"

fi

LICENSE="GPL-2"

SLOT="5"

IUSE="altivec doc jack cpu_flags_x86_sse cpu_flags_x86_mmx cpu_flags_x86_3dnow"

RDEPEND="

   >=dev-cpp/glibmm-2.32.0

   >=dev-cpp/gtkmm-2.16:2.4

   >=dev-cpp/libgnomecanvasmm-2.26:2.6

   dev-libs/boost:=

   >=dev-libs/glib-2.10.1:2

   dev-libs/libsigc++:2

   >=dev-libs/libxml2-2.6:2

   dev-libs/libxslt

   >=gnome-base/libgnomecanvas-2

   media-libs/alsa-lib

   media-libs/aubio

   media-libs/flac

   media-libs/freetype:2

   media-libs/libart_lgpl

   media-libs/liblo

   >=media-libs/liblrdf-0.4.0-r20

   >=media-libs/libsamplerate-0.1

   >=media-libs/libsndfile-1.0.18

   >=media-libs/libsoundtouch-1.6.0

   media-libs/raptor:2

   >=media-libs/rubberband-1.6.0

   >=media-libs/taglib-1.7

   media-libs/vamp-plugin-sdk

   net-misc/curl

   sys-libs/readline:0=

   sci-libs/fftw:3.0[threads]

   virtual/libusb:0

   x11-libs/cairo

   >=x11-libs/gtk+-2.8.1:2

   x11-libs/pango

   jack? ( virtual/jack )

   >=media-libs/slv2-0.6.1

   media-libs/lilv

   media-libs/sratom

   dev-libs/sord

   >=media-libs/suil-0.6.10

   >=media-libs/lv2-1.4.0"

DEPEND="${RDEPEND}

   ${PYTHON_DEPS}

   jack? ( virtual/jack )

   sys-devel/gettext

   virtual/pkgconfig

   doc? ( app-doc/doxygen[dot] )"

pkg_setup() {

   if has_version \>=dev-libs/libsigc++-2.6 ; then

      append-cxxflags -std=c++11

   fi

   python-any-r1_pkg_setup

}

src_prepare(){

   eapply_user

   if ! [[ ${PV} == *9999* ]]; then

      eapply "${FILESDIR}"/${PN}-4.x-revision-naming.patch

      touch "${S}/libs/ardour/revision.cc"

   fi

   sed 's/'full-optimization\'\ :\ \\[.*'/'full-optimization\'\ :\ \'\','/' -i "${S}"/wscript || die

   MARCH=$(get-flag march)

   OPTFLAGS=""

   if use cpu_flags_x86_sse; then

      if [[ ${MARCH} == "i686" ]] || [[ ${MARCH} == "i486" ]]; then

         elog "You enabled sse but use an march that does not support sse!"

         elog "We add -msse to the flags now, but please consider switching your march in make.conf!"

      fi

      OPTFLAGS="sse"

   fi

   if use cpu_flags_x86_mmx; then

      if [[ ${MARCH} == "i486" ]]; then

          elog "You enabled mmx with i486 set as march! You have been warned!"

      fi

      OPTFLAGS="${OPTFLAGS} mmx"

   fi

   if use cpu_flags_x86_3dnow; then

      OPTFLAGS="${OPTFLAGS} 3dnow"

   fi

   sed 's/flag_line\ =\ o.*/flag_line\ =\ \": '"${OPTFLAGS}"' just some place holders\"/' \

      -i "${S}"/wscript || die

   sed 's/cpu\ ==\ .*/cpu\ ==\ "LeaveMarchAsIs":/' -i "${S}"/wscript || die

   append-flags "-lboost_system"

   python_fix_shebang "${S}"/wscript

   python_fix_shebang "${S}"/waf 

}

src_configure() {

   tc-export CC CXX

   mkdir -p "${D}"

   waf-utils_src_configure \

      --destdir="${D}" \

      --prefix=/usr \

      --configdir=/etc \

      --nls \

      --optimize \

      --lv2 \

      $(usex jack "--with-backends=alsa,jack" "--with-backends=alsa  --libjack=weak") \

      $(usex doc "--docs" '') \

      $({ use altivec || use cpu_flags_x86_sse; } && echo "--fpu-optimization" || echo "--no-fpu-optimization")

}

src_install() {

   waf-utils_src_install

   mv ${PN}.1 ${PN}${SLOT}.1

   doman ${PN}${SLOT}.1

   newicon "${S}/gtk2_ardour/resources/Ardour-icon_48px.png" ${PN}${SLOT}.png

   make_desktop_entry ardour5 ardour5 ardour5 AudioVideo

}

pkg_postinst() {

   elog "If you are using Ardour and want to keep its development alive"

   elog "then please consider to make a donation upstream at ${HOMEPAGE}."

   elog "Please do _not_ report problems with the package to ${PN} upstream."

   elog "If you think you've found a bug, check the upstream binary package"

   elog "before you report anything to upstream."

}

```

Le fichier gentoo ne contient pas de lignes "src_compile()" entre "src_configure()" et "src_install()" alors qu'il y a un i18n...

```
src_compile() {

   "${WAF_BINARY}" \

      --jobs=$(makeopts_jobs) --verbose \

      build $(usex nls i18n '') || die
```

ebuid 4nykey

```
# Copyright 1999-2019 Gentoo Authors

# Distributed under the terms of the GNU General Public License v2

EAPI=6

PLOCALES="

cs de el en_GB es fr it nn pl pt pt_PT ru sv zh

"

PYTHON_COMPAT=( python2_7 )

PYTHON_REQ_USE='threads(+)'

EGIT_REPO_URI="https://github.com/${PN^}/${PN}.git"

inherit gnome2 python-any-r1 waf-utils l10n git-r3 toolchain-funcs

if [[ -n ${PV%%*9999} ]]; then

   EGIT_COMMIT="${PV}"

   SRC_URI="https://community.ardour.org/srctar/Ardour-${PV}.0.tar.bz2"

   KEYWORDS="~amd64 ~x86"

fi

SRC_URI="

   !bundled-libs? ( ${EGIT_REPO_URI%.git}/commit/5b03c41.patch )

"

DESCRIPTION="Digital Audio Workstation"

HOMEPAGE="http://ardour.org/"

LICENSE="GPL-2"

SLOT="${PV%%.*}"

IUSE="alsa bindist bundled-libs +c++0x debug doc jack hid lv2 nls phone-home sanitize sse vst"

REQUIRED_USE="

   || ( alsa jack )

"

RDEPEND="

   dev-cpp/gtkmm:2.4

   sci-libs/fftw:3.0

   media-libs/flac

   media-libs/libogg

   media-libs/fontconfig

   alsa? ( media-libs/alsa-lib )

   media-libs/aubio

   dev-libs/libxml2:2

   media-libs/libsamplerate

   media-libs/lv2

   lv2? (

      media-libs/suil

      media-libs/lilv

      media-libs/liblrdf

   )

   net-misc/curl

   media-libs/libsndfile

   jack? ( virtual/jack )

   !bundled-libs? (

      media-libs/libltc

      media-libs/qm-dsp

      hid? ( dev-libs/hidapi )

      media-sound/fluidsynth

   )

   media-libs/liblo

   media-libs/taglib

   media-libs/vamp-plugin-sdk

   media-libs/rubberband

   sys-apps/util-linux

"

DEPEND="

   ${RDEPEND}

   ${PYTHON_DEPS}

   dev-libs/boost

   nls? ( sys-devel/gettext )

   doc? ( app-doc/doxygen )

"

DOCS=( README TRANSLATORS doc/monitor_modes.pdf )

src_prepare() {

   default

   my_lcmsg() {

      rm -f {gtk2_ardour,gtk2_ardour/appdata,libs/ardour,libs/gtkmm2ext}/po/${1}.po

   }

   sed \

      -e 's:AudioEditing:X-&:' \

      -i gtk2_ardour/ardour.desktop.in

   use nls && l10n_for_each_disabled_locale_do my_lcmsg

   grep -rl '/\<lib\>' | xargs sed -e "s:/\<lib\>:/$(get_libdir):g" -i

   use !bundled-libs && has_version '>=media-sound/fluidsynth-2.0.0' || return

   eapply "${DISTDIR}"/5b03c41.patch

}

src_configure() {

   my_use() {

      usex $1 --${2:-${1}} --no-${2:-${1}}

   }

   local wafargs=(

      --configdir=/etc

      --noconfirm

      --versioned

      --freedesktop

      --keepflags

      --with-backends="$(usev alsa),$(usev jack)"

      $(usex lv2 '' '--no-lrdf')

      $(my_use lv2)

      $(my_use vst lxvst)

      $(my_use nls)

      $(my_use phone-home)

      $(my_use sse fpu-optimization)

      $(usex bindist '--freebie' '')

      $(usex debug '--debug-symbols --rt-alloc-debug' '')

      $(usex c++0x '--cxx11' '')

      $(usex sanitize '--address-sanitizer' '')

      $(usex bundled-libs '' '--use-external-libs')

      $(usex doc '--docs' '')

   )

   PKGCONFIG="$(tc-getPKG_CONFIG)" \

   waf-utils_src_configure "${wafargs[@]}"

}

src_compile() {

   "${WAF_BINARY}" \

      --jobs=$(makeopts_jobs) --verbose \

      build $(usex nls i18n '') || die

}

src_install() {

   waf-utils_src_install

   newicon gtk2_ardour/icons/${PN}-app-icon_osx.png ${PN}${SLOT}.png

   domenu build/gtk2_ardour/${PN}${SLOT}.desktop

   insinto /usr/share/mime/packages

   newins build/gtk2_ardour/${PN}.xml ${PN}${SLOT}.xml

}
```

----------

## c4-53

J'ai reçu un mail du "bugs.gentoo.org" qui me demande  *Quote:*   

> @docs-team: please reassign to @proaudio

 .

https://bugs.gentoo.org/show_bug.cgi?id=699318

N'étant pas un habitué des reports de bug, je ne pige pas trop ce qu'il veut, en fait si, mais pas comment modifier le "Assignee: Docs Team" en "Assignee: proaudio".

----------

## xaviermiller

Ce message est addressé aux administrateurs du bugzilla  :Wink: 

----------

## c4-53

Ok merci, me voilà bien ballot, pas grave c'est pas la première fois...

----------

