Oops, je vois que je n'ai pas présenté ce que c'était !

J'édite mon premier message.
C'est un logiciel de sous-titrage.
merci pour l'info, je connaissais que gnome-subtitles qui a l'avantage d'etre ultra simple.
Moi qui possède une machine virtuelle Windows pour "timer" mes sub avec SubStationAlpha je vais voir ce que ça donne sous Linux. Merci pour le paquet j'essaye !
Par contre si c'est libre pourquoi ne pas demander à l'intégrer dans le dépôt rpmfusion ?

[edit]
Avant installation :
* Peux-tu nous fournir le srpm ?
* Pourquoi a-t'on besoin des paquets x264 et autres ?
si c'est libre pourquoi ne pas demander à l'intégrer dans les dépôts fedora officiels?
madko wrote:si c'est libre pourquoi ne pas demander à l'intégrer dans les dépôts fedora officiels?
A mon avis tout simplement les dépendances nécessaires sont que dans rpmfusion...
madko wrote:merci pour l'info, je connaissais que gnome-subtitles qui a l'avantage d'etre ultra simple.
Effectivement, gnome-subtitles est beaucoup plus limité.
Aegisub est vraiment orienté ASS (Advanced SubStation) et permet beaucoup plus d'édition.

Mais pour des sous-titres tout ce qu'il y a de plus basique (srt) gnome-subtitles suffit.

MarbolanGos wrote:Moi qui possède une machine virtuelle Windows pour "timer" mes sub avec SubStationAlpha je vais voir ce que ça donne sous Linux. Merci pour le paquet j'essaye !
Par contre si c'est libre pourquoi ne pas demander à l'intégrer dans le dépôt rpmfusion ?

[edit]
Avant installation :
* Peux-tu nous fournir le srpm ?
* Pourquoi a-t'on besoin des paquets x264 et autres ?
En fait il n'est pas nécessaire d'installer les x264/libbut/ffmpeg pour faire marcher Aegisub.
Théoriquement, Aegisub devrait pouvoir marcher avec le ffmpeg / ffmpeg-libs du dépôt officiel (enfin rpmfusion-free), mais celui-ci n'encode/décode qu'un nombre limité de codecs (aucun non-free déjà) donc vous aurez peut-être des problèmes pour ouvrir certaines vidéos/audios.

Par contre : il y a un bug dans ffmpeg/libavutil/common.h qui fait qu'Aegisub ne détectera pas ffmpeg.
Pour corriger cela, j'applique le patch suivant :
--- ffmpeg-0.6/libavutil/common.h.thomas_ext    2010-08-22 04:02:22.059437967 +0900
+++ ffmpeg-0.6/libavutil/common.h       2010-08-22 04:02:52.651204680 +0900
@@ -26,6 +26,17 @@
 #ifndef AVUTIL_COMMON_H
 #define AVUTIL_COMMON_H
 
+#define INT8_C(value) ((int8_t) value)
+#define UINT8_C(value) ((uint8_t) __CONCAT(value, U))
+#define INT16_C(value) value
+#define UINT16_C(value) __CONCAT(value, U)
+#define INT32_C(value) __CONCAT(value, L)
+#define UINT32_C(value) __CONCAT(value, UL)
+#define INT64_C(value) __CONCAT(value, LL)
+#define UINT64_C(value) __CONCAT(value, ULL)
+#define INTMAX_C(value) __CONCAT(value, LL)
+#define UINTMAX_C(value) __CONCAT(value, ULL)
+
 #include <ctype.h>
 #include <errno.h>
 #include <inttypes.h>
(j'ajoute des définitions)

Pour x264, en fait je sais pas trop pourquoi je l'ai ajouté...
Lors de ma compilation il y a qques mois, le x264 officiel n'était pas reconnu par ffmpeg (trop vieux x264) donc j'avais du compiler le dernier manuellement.
Peut-être que maintenant il n'y en a pas besoin en fait (pas essayé...).

Pour libnut, en fait je pourrais simplement le virer...
J'étais habitué à l'utiliser pour certains projet, mais en fait il pourrait être optionnel (là je le force en Req du rpm de ffmpeg).
Il ne crée aucun problème de dépendance en théorie, s'installe en solo.

Enfin, j'applique aussi un patch à aegisub lors de la compil (pas mal d'ajouts de définitions et quelques corrections de conversions wxStrings/wchar_t).

Améliorations prévues :
[*] utiliser le x264 officiel (en espérant qu'il marche)
[*] virer libnut
[*] re-tester le ffmpeg officiel (mais je doute qu'il marche, ca fait longtemps qu'il n'a pas changé)
[*] tester les rpm sur un environnement Fedora tout neuf

Je m'y connais pas très bien (encore ^^) en dépendances rpm, mais peut-être que "renommer" ffmpeg en ffmpeg-spooky par exemple permettrait d'avoir le ffmpeg officiel en parallèle de ma build avec plus de codecs et faire utiliser ffmpeg-spooky par aegisub.
J'ai un peu fait ça pour wxWidgets, qui, dans les paquets officiels n'est pas appelé wxWidgets mais décliné en wxGTK et quelques autres (wxGTK-gl et wxGTK-media me semble).
En fait Filezilla (et potentiellement d'autres) requiert wxGTK 2.8.x et ne marche pas avec wxGTK 2.9, donc j'ai préféré renommer mon paquet wxWidgets, comme ça wxGTK 2.8 ET wxWidgets 2.9 peuvent être simultanément sur le système et tout le monde est content.
Ce serait possible avec ffmpeg peut-être tiens.

J'ai mis les src ici :
aegisub-2.1.8-4749.fc13.src.rpm
ffmpeg-0.6-3.fc13.src.rpm
wxWidgets-2.9.0-1.fc13.src.rpm
x264-0.27-1.fc13.src.rpm
MarbolanGos wrote:
madko wrote:si c'est libre pourquoi ne pas demander à l'intégrer dans les dépôts fedora officiels?
A mon avis tout simplement les dépendances nécessaires sont que dans rpmfusion...
Effectivement, ils ne pourraient pas être intégrés aux dépôts officiels car ont des dépéndances dans rpmfusion ET libnut (qui n'est même pas dans rpmfusion).

En plus de ça, ce sont mes premiers RPM et ne les ai pas passé au rpmlint du tout donc je suis sûr qu'ils ont plein de problèmes.
Merci pour les srpm. Je regarde.

Si ça se trouve libnut pourrait être proposé pour rpmfusion si nécessaire vraiment.
J'ai regardé le srpm et il est vrai qu'il ne respecte que très peu de règles de construction des paquets !

Il faudrait essayer de le compiler et de le faire fonctionner sans les dépendances ajoutées mais là pas trop le temps. Tu devrais aller lire par là : http://doc.fedora-fr.org/wiki/La_cr%C3%A9ation_de_RPM_pour_les_nuls_:_Cr%C3%A9ation_du_fichier_SPEC_et_du_Paquetage
Déjà nettoyer le script pour qu'il soit un peu plus dans les règles.
* Release: 1%{?dist} <<-- pas le chiffre que tu as mis le 1 correspond à ce que tu mets dans le changelog
* Source0: http://ftp.aegisub.org/pub/releases/aegisub-%{version}.tar.gz
* Patch0: %{name}-%{version}-thomas_ext.patch <<-- vraiment nécessaire ?
* Les builrequires c'est un par ligne
* pareil pour les requires

Je suis pas allé beaucoup plus loin parce que sur les dépendances j'ai pas tenté de compiler le logiciel. Enfin si le spec est déjà un peu en place le modifier peut aller vite surtout que la compilation semble bien faite.

Si un jour j'ai du temps...
Un point extrêmement grave : les sources embarquées dans le RPM source ne correspondent pas à celles disponibles sur le site du projet. Aurais-tu repackagé une version SVN ?
Haha, oui, ce sont mes premiers RPMs donc ils ne respectent pas grand chose !
Je les partage juste au cas où ça intéresse quelqu'un pour les utiliser et/ou améliorer.
J'essaierai aussi moi-même de les améliorer si j'ai du temps (ce qui est assez tendu en ce moment...), merci pour les conseils !
Pikachu_2014 wrote:Un point extrêmement grave : les sources embarquées dans le RPM source ne correspondent pas à celles disponibles sur le site du projet. Aurais-tu repackagé une version SVN ?
Effectivement j'ai pris les versions SVN (git en fait mais bon c'est pareil).
Et le problème avec les "daily snapshots" est que le nom est en "logiciel-snapshot-date-version-release.tar.gz" par exemple, donc quand il l'extrait et tente d'entrer dans le dossier, il ne trouve pas le dossier (puisqu'il cherche le dossier "logiciel-version").
Donc j'avais extrait, changé le nom du dossier, et re-compressé.

Mais j'ai pas touché au code (j'utilise les patchs pour ça).
En fait pour ce problème de dossier "mal" nommé il existe dans le %prep :
%setup -q -n le_nom_bizarre_choisi
Pour le coup du git il est possible de renommer le paquet spécialement par rapport au git (c'est quelque part sur le site anglais).

Après c'est déjà pas mal d'avoir pu faire le rpm ça peuttoujours aider même si c'est pas le meilleur spec.
Oh OK, merci pour l'info !
J'utiliserai ça dans ma prochaine version (plus propre) des rpms 😉
J'ai eu un peu de temps pour revoir ton srpm. J'ai pas fini mais déjà c'est beaucoup plus propre (au sens Fedora) :
$ cat aegisub.spec 
%define         shortversion   2.1
%define         shortversion2  21
Name:           aegisub
Version:        2.1.8
Release:        2%{?dist}
Summary:        Subtitle editor

Group:          Applications/Multimedia
License:        GPLv2+
URL:            http://www.aegisub.org
Source0:        http://ftp.%{name}.org/pub/releases/%{name}-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  alsa-lib-devel
BuildRequires:  ffmpeg-devel
BuildRequires:  hunspell-devel
BuildRequires:  libass-devel
BuildRequires:  lua-devel
BuildRequires:  openal-soft-devel
BuildRequires:  portaudio-devel
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  wxGTK-devel
BuildRequires:  gettext

Requires:       ffmpeg
Requires:       fontconfig
Requires:       hunspell
Requires:       iconv


%description
Aegisub was originally created as a tool to make typesetting,
particularly in anime fansubs, a less painful experience. At
the time of the start of the project, many other programs
that supported the Advanced Substation Alpha format lacked
(and in many cases, still lack; development on several
competing programs have since been dropped for various
reasons completely unrelated to Aegisub) many vital functions,
or were too buggy and/or unreliable to be really useful. 

%prep
%setup -q

%build
%configure \
           --enable-shared \
           --enable-static \
           LDFLAGS=-lz
make %{?_smp_mflags}


%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
# This does not work... %find_lang %{name}

%clean
rm -rf $RPM_BUILD_ROOT


# Lang are not detected... %files -f %{name}.lang
%files
%defattr(-,root,root,-)
%{_bindir}/%{name}-%{shortversion}
%{_datadir}/%{name}/%{shortversion}/automation/autoload/*.lua
%{_datadir}/%{name}/%{shortversion}/automation/include/*.lua
%{_datadir}/%{name}/%{shortversion}/automation/include/Aegisub/*.pm
%{_datadir}/%{name}/%{shortversion}/automation/include/*.pm
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
%{_datadir}/icons/hicolor/22x22/apps/%{name}.png
%{_datadir}/icons/hicolor/24x24/apps/%{name}.png
%{_datadir}/icons/hicolor/32x32/apps/%{name}.png
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
%{_datadir}/icons/hicolor/64x64/apps/%{name}.png
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/doc/%{name}/%{shortversion}/demos/*.lua
%{_datadir}/doc/%{name}/%{shortversion}/demos/*.ass
%lang(ca) %{_datadir}/locale/ca/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(cs) %{_datadir}/locale/cs/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(da) %{_datadir}/locale/da/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(de) %{_datadir}/locale/de/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(el) %{_datadir}/locale/el/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(es) %{_datadir}/locale/es/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(fi) %{_datadir}/locale/fi/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(fr_FR) %{_datadir}/locale/fr_FR/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(hu) %{_datadir}/locale/hu/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(it) %{_datadir}/locale/it/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(ja) %{_datadir}/locale/ja/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(ko) %{_datadir}/locale/ko/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(pt_BR) %{_datadir}/locale/pt_BR/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(ru) %{_datadir}/locale/ru/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(vi) %{_datadir}/locale/vi/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(zh_CN) %{_datadir}/locale/zh_CN/LC_MESSAGES/%{name}%{shortversion2}.mo
%lang(zh_TW) %{_datadir}/locale/zh_TW/LC_MESSAGES/%{name}%{shortversion2}.mo
%doc
%{_datadir}/doc/%{name}/%{shortversion}/v4-docs/*.txt
%{_datadir}/doc/%{name}/%{shortversion}/v4-docs/*.ass
%{_datadir}/doc/%{name}/%{shortversion}/automation3.txt


%changelog
* Fri Aug 28 2010 MarbolanGos <marbolangos@gmail.com> 2.1.8-2
- Adaptation of the spec file
* Sun Aug 22 2010 $p00ky <$p00ky> 2.1.8-1
- Creation of version 2.1.8 version
Par contre j'ai rencontré un problème à la construction des langues comme indiqué dans la doc pour construire... (voir partie commentée)
Il s emblerait qu'un patch existe mais il n'est pas encore actif chez Fedora il semblerait...

Autre chose à la compilation il me dit que je n'ai pas ffmpeg qui fonctionne comme il faut. J'ai pas tenté de lancer l'exécutable pour l'instant car je voulais faire passer le test mock avant mais il foire.

Donc voila pourquoi je me suis arrêté : mock ne fonctionne pas parce qu'il ne trouve pas ffmpeg-devel ça doit venir du fait que cela n'est disponible que dans rpmfusion mais pourtant :
# yum install mock-rpmfusion\*
Package mock-rpmfusion-nonfree-13.0-1.fc13.noarch already installed and latest version
Package mock-rpmfusion-free-13.0-1.fc13.noarch already installed and latest version
Nothing to do
Je lance la commande suivante :
mock -r fedora-13-x86_64 /home/builder/rpmbuild/SRPMS/aegisub-2.1.8-2.fc13.src.rpm
Et dans la doc : http://doc.fedora-fr.org/wiki/La_cr%C3%A9ation_de_RPM_pour_les_nuls_:_Cr%C3%A9ation_du_fichier_SPEC_et_du_Paquetage
je ne trouve pas de référence à cela...