Forum Gentoo

Ce nouveau forum est consacré à la communauté francophone des utilisateurs de Gentoo. Il vient en complément du forum officiel de gentoo.

Vous n'êtes pas connecté.

#1 2007-06-13 11:31:34

Neuromancien
Member
Date d'inscription: 2006-09-20
Messages: 29

KompoZer

Bonjour,

Savez vous s'il existe un ebuild pour KompoZer (version corrigée de Nvu) ? Sinon, pensez-vous qu'il serait facile à créer en reprenant celui de Nvu ?

Hors ligne

 

#2 2007-12-03 11:19:58

Neuromancien
Member
Date d'inscription: 2006-09-20
Messages: 29

Re: KompoZer

Suite à nos demandes, un ebuild a été créé : KompoZer.smile

Dernière modification par Neuromancien (2007-12-03 11:20:11)

Hors ligne

 

#3 2009-11-01 23:23:24

Kazé
New member
Lieu: Grenoble, France
Date d'inscription: 2009-11-01
Messages: 6
Site web

Re: KompoZer

Bonsoir, et désolé pour le déterrage de topic,

je suis le principal développeur du projet KompoZer. Il y a eu pas mal de nouveautés cette année : http://kazhack.org/?tag/editor

Je n’utilise pas Gentoo (trop feignant ^^) mais je peux apporter de l’aide technique pour l’ebuild si besoin est. N’hésitez pas à me contacter si je peux vous aider à faire avancer le build KompoZer dans Gentoo : compiler des applications Mozilla c’est toujours un poil technique, et pour KompoZer il y a des subtilités au niveau du “make install” qui peuvent poser souci.

Sans vouloir polémiquer sur l’historique : KompoZer 0.7 était basé sur Nvu, KompoZer 0.8 ne l’est quasiment plus. C’est une grosse réécriture de l’application, le résultat est *beaucoup* plus stable que Nvu. On vient de commencer la phase bêta, on espère arriver en release d’ici la fin 2009.

Librement,
-- Fabien Cazenave.


KompoZer lead dev

Hors ligne

 

#4 2009-11-04 11:03:49

dabrouch@gentoo
Member
Date d'inscription: 2009-04-25
Messages: 58

Re: KompoZer

Bonjour Kazé,

Je suis entrain de créer un ebuild justement de KompoZer pour mes besoins. Je ne suis ni un grand spécialiste informatique, ni un pro incontestable de Gentoo, mais disons que je me débrouille pas mal. Cependant, je cale pour réaliser un ebuild qui marche pour KompoZer 0.8b. Je me suis inspiré de l'ebuild de la version 0.7 tout en suivant ce qu'il y a d'indiquer dans le README.

Ce qu'il me faudrait savoir c'est :
1. toutes les dépendances nécessaires, d'une pour la compilation, de deux pour l'exécution de kompoZer (cela n'est clairement dit ni dans le site officiel, ni dans le README)
2. la façon de passer les paramètres de configuration de compilation, et les options nécessaires ou optionnelles, le tout le rendant "Gentoo compatible" (par exemple de passer les cflags Gentoo du make.conf au ./configure)
3. la manière d'installer KompoZer et savoir quelles sont les librairies qui s'installent et où par défaut.

Je met ici mon ebuild tel qu'il est à l'heure actuel :

Code:

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/kompozer/kompozer-0.8_beta1.ebuild,v 1.10 2009/10/28 09:22:52 Dabrouch Exp $

inherit eutils mozconfig flag-o-matic multilib

MY_P="${P/_beta1/}b1"

DESCRIPTION="A web authoring system combining web file management and WYSIWYG editing"
HOMEPAGE="http://kompozer.net/"
SRC_URI="http://downloads.sourceforge.net/kompozer/${MY_P}-src.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""

DEPEND="x11-proto/printproto
        sys-apps/gawk
        dev-lang/perl
        >=media-libs/freetype-2.1.9-r1"

S=${WORKDIR}/mozilla

pkg_setup() {

    if ! built_with_use --missing true x11-libs/pango X; then
        eerror "Pango is not built with X useflag."
        eerror "Please add 'X' to your USE flags and re-emerge pango."
        die "Pango needs X"
    fi
}

src_unpack() {

    unpack ${A}
    cd ${S}
    cp ${FILESDIR}/mozconfig-${PVR} ./.mozconfig
}

src_compile() {

    cd ${S}
    MY_OPT=${CFLAGS}
    MY_CONF="--enable-application=composer --enable-optimize=""${CFLAGS}"" CXXFLAGS=""${CXXFLAGS}"""

    sed -i -e "s:CONFIGURE = ./configure:CONFIGURE = ./configure ${MY_CONF}:g" \
    client.mk || die "sed failed"

    make -f client.mk build_all || die "Make failed"

}

src_install() {

    cd ${S}
    #Dirty Bugfix by unregistr3d (ignore nsModules.o):
    cd xpfe/components/
    cp Makefile.in Makefile.in_backup
    cat Makefile.in_backup | grep -v build2 > Makefile.in
    cd ../..

    make -f client.mk DESTDIR=${D} install || die

    #menu entry for gnome/kde
    insinto /usr/share/applications
    sed -e "s:/usr/lib/kompozer:/usr/$(get_libdir)/kompozer:" \
        ${FILESDIR}/kompozer.desktop > ${T}/kompozer.desktop
    doins ${T}/kompozer.desktop

    # Remove useless file to avoid package-collision:
    rm ${D}/usr/share/aclocal/nspr.m4
}

pkg_postinst() {

    elog "This package has a very dirty bugfix!!! If you want to fill"
    elog "a Bugreport to the mainstream developers, at least be sure"
    elog "to refer to http://bugs.gentoo.org/show_bug.cgi?id=146761#c39 "
    elog "Thanks"
}

Pour l'instant, l'ebuild échoue lors du ./configure avec mon ebuild. L'erreur retournée est la suivante :

Code:

cd /var/tmp/portage/app-editors/kompozer-0.8_beta1/work/mozilla
./configure --enable-application=composer --enable-optimize=-march=athlon-xp -O2 -pipe -fomit-frame-pointer CXXFLAGS=-march=athlon-xp -O2 -pipe -fomit-frame-pointer
configure: error: -O2: invalid option; use --help to show usage
*** Fix above errors and then restart with               "make -f client.mk build"
make[1]: *** [configure] Erreur 1
make[1]: quittant le répertoire « /var/tmp/portage/app-editors/kompozer-0.8_beta1/work/mozilla »
make: *** [/var/tmp/portage/app-editors/kompozer-0.8_beta1/work/mozilla/Makefile] Erreur 2

Je passe donc mal les clfag mais je ne sais pas du tout comment faire (le configure fournit une bonne tripotée d'option big_smile).

Contacte-moi ici-même pour discuter sur le sujet, ou par MP.

Cordialement et librement.

Dabrouch.

Dernière modification par dabrouch@gentoo (2009-11-04 11:25:51)

Hors ligne

 

#5 2009-11-05 22:54:45

Kazé
New member
Lieu: Grenoble, France
Date d'inscription: 2009-11-01
Messages: 6
Site web

Re: KompoZer

Bonsoir dabrouch,

je ne connais pas grand-chose aux ebuilds, mais j’imagine qu’en partant de l’ebuild de la version 0.7 l’essentiel devrait être d’aplomb…
La première étape serait d’arriver à compiler KompoZer sur ton poste, sans même penser à l’ebuild — i.e. résoudre les dépendances et faire un fichier .mozconfig d’aplomb.

toutes les dépendances nécessaires, d'une pour la compilation, de deux pour l'exécution de kompoZer (cela n'est clairement dit ni dans le site officiel, ni dans le README)

Les dépendances devraient être exactement les mêmes que pour Thunderbird 2.

Ne connaissant pas Gentoo, je ne peux que te donner les dépendances Debian:
* build-essential (= make, gcc, zip, etc.)
* libgtk2.0-dev
* libxt-dev
* libidl-dev
* autoconf2.13

Pour autoconf, il est absolument nécessaire d’avoir la version 2.13 — pas une version plus récente.

la façon de passer les paramètres de configuration de compilation, et les options nécessaires ou optionnelles, le tout le rendant "Gentoo compatible" (par exemple de passer les cflags Gentoo du make.conf au ./configure)

Comme pour toutes les applications Mozilla, il faut placer un fichier .mozconfig à la racine du dossier « mozilla », contenant les options de compilation. C’est dans ce fichier que ./configure va chercher ses petits.

Tu trouveras des exemples de fichiers mozconfig dans le dossier mozilla/composer/config. Celui d’Ubuntu devrait être le plus à jour (j’utilise Ubuntu 8.04).
Dès que tu as un fichier mozconfig qui tient debout, fais-le moi passer STP pour que je puisse l’inclure dans le tronc KompoZer.

la manière d'installer KompoZer et savoir quelles sont les librairies qui s'installent et où par défaut.

Idem Firefox, Thunderbird, SeaMonkey, etc.
Ça change d’une distribution à l’autre. Là encore, je ne peux te parler que de Debian et Ubuntu :
  /usr/bin
    kompozer
    kompozer-bin
    kompozer-config
  /usr/lib/kompozer
    = toutes les librairies dynamiques (*.so)
    + components/ (composants XPCOM, certains sont compilés)
    + des liens symboliques vers chrome/, defaults/, greprefs/ et icons/
  /usr/share/kompozer
    chrome/ (= toute l’interface en XUL)
    defaults/
    greprefs/
    icons/

C’est pas parfait, mais ça reste correct : les parties non compilées sont bien dans /usr/share/, et non pas dans /usr/lib/.
Regarde quand même comment ça marche pour les applications Mozilla dans Gentoo : il est possible qu’ils laissent ces parties non compilées dans /usr/lib/.

C’est le “make install” qui place les éléments dans l’arborescence. Malheureusement, ce “make install” est buggé, il faudra le lancer deux fois pour que ça passe. Chope-moi sur #kompozer, on pinguera Derevko (le mainteneur Debian), il devrait pouvoir nous aider à ce sujet. Le canal est théoriquement anglo-saxon, mais toute l’équipe de KompoZer étant francophone, tu pourras t’y exprimer en Français si ça t’est plus facile. ;-)


KompoZer lead dev

Hors ligne

 

#6 2009-11-06 10:55:20

dabrouch@gentoo
Member
Date d'inscription: 2009-04-25
Messages: 58

Re: KompoZer

Kazé,

OK je comprend mieux et je m'attèle à la tâche. Il y a encore d'autres questions :

Pour autoconf, il est absolument nécessaire d’avoir la version 2.13 — pas une version plus récente.

Je peux savoir la raison, et savoir s'il est possible avec une version supérieure ? Je pose la question car normalement Gentoo et son arbre Portage déteste les downgrade de paquet système. Remarque peut-être que pour autoconf cela passera.

pour toutes les applications Mozilla, il faut placer un fichier .mozconfig à la racine du dossier « mozilla », contenant les options de compilation. C’est dans ce fichier que ./configure va chercher ses petits.

Tu trouveras des exemples de fichiers mozconfig dans le dossier mozilla/composer/config. Celui d’Ubuntu devrait être le plus à jour (j’utilise Ubuntu 8.04).
Dès que tu as un fichier mozconfig qui tient debout, fais-le moi passer STP pour que je puisse l’inclure dans le tronc KompoZer.

Oui je viens de comprendre la manière de compiler les applications Mozilla. Cependant, en regardant l'ebuild de la 0.7 et en lisant le README, il n'y a pas d'explication sur la façon de passer les Cflags Gentoo de la machine où on compile l'application, juste passer le flag optimize grâce à --enable-optimize (-Os, -O2, -O3 etc.), mais pas les flags comme l'architecture (-march=). La compilation se fait par 'make -f client.mk build_all', or je n'ai pas le sentiment que cela récupère les informations contenues dans le fichier mozconfig. Tout cela est nécessaire pour, comme je l'ai dit, faire rentrer complètement l'ebuild dans l'esprit de Gentoo. Je suppose que l'idéal serait de faire rentrer KompoZer dans l'arbre officiel de Portage, pour cela il faudrait un ebuild en béton armé. Mais on n'en est pas encore là.

C’est le “make install” qui place les éléments dans l’arborescence. Malheureusement, ce “make install” est buggé, il faudra le lancer deux fois pour que ça passe. Chope-moi sur #kompozer, on pinguera Derevko (le mainteneur Debian), il devrait pouvoir nous aider à ce sujet. Le canal est théoriquement anglo-saxon, mais toute l’équipe de KompoZer étant francophone, tu pourras t’y exprimer en Français si ça t’est plus facile. ;-)

Je m'y rendrai dès que possible. L'idéal serait de demander à une des personnes qui est chargé de maintenir une des applications de Mozilla sur Gentoo, si tu as des contacts parmi eux. Cela m'aiderait grandement.

Dernière modification par dabrouch@gentoo (2009-11-06 11:02:21)

Hors ligne

 

#7 2009-11-07 03:05:41

Kazé
New member
Lieu: Grenoble, France
Date d'inscription: 2009-11-01
Messages: 6
Site web

Re: KompoZer

dabrouch@gentoo a écrit:

Pour autoconf, il est absolument nécessaire d’avoir la version 2.13 — pas une version plus récente.

Je peux savoir la raison, et savoir s'il est possible avec une version supérieure ? Je pose la question car normalement Gentoo et son arbre Portage déteste les downgrade de paquet système. Remarque peut-être que pour autoconf cela passera.

L’explication complète est là : https://developer.mozilla.org/fr/FAQ_su … de_Mozilla

Pourquoi Mozilla ne supporte-t-il pas autoconf 2.5x ?

    Pour faire simple, autoconf 2.5x n'offre rien qui vaudrait les efforts nécessaires pour effectuer la mise à jour. Autoconf 2.5x n'est plus compatible avec autoconf 2.13 et les restrictions supplémentaires introduites par les nouvelles versions d'autoconf demanderaient une réécriture importante du système de compilation de Mozilla pour des gains discutables.

    Certaines des fonctionnalités de la version 2.13, comme la possibilité de passer des arguments supplémentaires à des fichires sous-configures, ne sont pas disponibles avec la version 2.5x. Ces fonctionnalités ont été demandées plusieurs fois sur la mailing list d'autoconf sans recevoir de réponse favorable. La réécriture des fichiers configure de tous les sous-projets de Mozilla (NSPR et LDAP) n'est pas une option acceptable. Ces sous-projets sont également des projets standalone et le fork de l'ensemble du code à cause d'une incompatibilité dans le système de compilation serait ridicule.

Les applications Mozilla nécessitent autoconf 2.13 épicétout. Dans Debian et Ubuntu on a un paquet spécifique pour ça, c’est probablement le cas pour Gentoo aussi — sans quoi je vois mal comment on pourrait compiler Firefox, par exemple…

dabrouch@gentoo a écrit:

Oui je viens de comprendre la manière de compiler les applications Mozilla. Cependant, en regardant l'ebuild de la 0.7 et en lisant le README, il n'y a pas d'explication sur la façon de passer les Cflags Gentoo de la machine où on compile l'application, juste passer le flag optimize grâce à --enable-optimize (-Os, -O2, -O3 etc.), mais pas les flags comme l'architecture (-march=).

Aucune idée. Peut-être suffirait-il de définir une variable d’environnement et de l’utiliser dans le mozconfig ?
Tu pourrais coller le contenu de l’ebuild de la 0.7 pour que je regarde ça STP ?

dabrouch@gentoo a écrit:

La compilation se fait par 'make -f client.mk build_all', or je n'ai pas le sentiment que cela récupère les informations contenues dans le fichier mozconfig.

Et pourtant, c’est bien ce qui se passe. Tu peux me croire sur parole. ;-)

dabrouch@gentoo a écrit:

L'idéal serait de demander à une des personnes qui est chargé de maintenir une des applications de Mozilla sur Gentoo, si tu as des contacts parmi eux. Cela m'aiderait grandement.

Désolé, je n’ai pas ça en rayon. Par contre je sais comment contourner le bug du 'make install', on pourra voir ça dès que tu auras pu compiler KompoZer 0.8 sur Gentoo.


KompoZer lead dev

Hors ligne

 

#8 2009-11-09 11:12:07

dabrouch@gentoo
Member
Date d'inscription: 2009-04-25
Messages: 58

Re: KompoZer

Salut Kazé,

Suite à tes idées, j'ai refait mon ebuild en copiant sur celui de thunderbird. En effet, il existe sous Gentoo une eclass (classe utilisée par le programme ebuild de Portage) appelée mozconfig qui aide à la création d'ebuild et la compilation d'application Mozilla sous Gentoo. Cela a pour effet de créer le .mozconfig, que je te recopie ici :

Code:

ac_add_options --enable-application=composer
ac_add_options --enable-optimize=-O2 # mozilla fallback
ac_add_options --disable-installer # gentoo
ac_add_options --disable-pedantic # gentoo
ac_add_options --enable-crypto # gentoo
ac_add_options --with-system-jpeg # gentoo
ac_add_options --with-system-png # gentoo
ac_add_options --with-system-zlib # gentoo
ac_add_options --without-system-nspr # gentoo
ac_add_options --enable-default-toolkit=gtk2 # gentoo
ac_add_options --enable-ipv6 # +ipv6
ac_add_options --disable-xinerama # -xinerama
ac_add_options --enable-freetype2 # +truetype
ac_add_options --enable-freetypetest # +truetype
ac_add_options --disable-debug # -debug
ac_add_options --disable-tests # -debug
ac_add_options --enable-reorder # -debug
ac_add_options --enable-strip # -debug
ac_add_options --enable-strip-libs # -debug
ac_add_options --enable-elf-dynstr-gc # x86 optimized build
ac_add_options --enable-xft # -moznoxft

Il faut cependant y rajouter 'ac_add_options --enable-application=composer' qui ne se fait pas automatiquement, ce que j'ai fait. Par contre, la compilation échoue à nouveau, avec le message d'erreur suivant :

Code:

configure: error: Cannot enable XFT and FREETYPE2 at the same time.

Peut-tu m'en expliquer la raison ? L'utilisation des deux librairies est incompatible ?

A bientôt.

Dernière modification par dabrouch@gentoo (2009-11-09 13:04:56)

Hors ligne

 

#9 2009-11-10 12:49:51

Kazé
New member
Lieu: Grenoble, France
Date d'inscription: 2009-11-01
Messages: 6
Site web

Re: KompoZer

Comme indiqué : on ne peut pas activer à la fois XFT et FreeType2. Pour KompoZer, je n’active que XFT.


KompoZer lead dev

Hors ligne

 

#10 2009-11-11 21:32:24

ANGY45
New member
Date d'inscription: 2009-11-11
Messages: 2

Re: KompoZer

Bonsoir,
J'ai créé un site avec Komposer avec les règles basics du tutoriel le plus couramment publié. Pour l'améliorer,
j'aimerais savoir comment créer une barre de navigation en intégrant des boutons qui se décomposeraient en sous liens . Par exemple :
Magasins
     ville1
     ville2

Au clic un bouton sur "magasins", s'afficherait une liste :  ville1 et ville2 sur lesquels seraient placés les liens.

Je voudrais également savoir comment placer des images là où je le souhaite.
Cordialement Ange

Hors ligne

 

#11 2009-11-11 21:42:04

ANGY45
New member
Date d'inscription: 2009-11-11
Messages: 2

Re: KompoZer

Bonsoir, existe-t-il des sites internet développés avec Komposer qui pourraient être déchargés et utilisés comme base à l'élaboration rapide d'autres sites web?
J'en recherche un relativement simple, mais avec un lien sécurisé (réservé à des adhérents).
Merci d'avance pour vos réponse.
Cordialement Ange.
(je travaille bénévolement pour le compte d'une association loi 1901. Votre participation me sera précieuse)

Hors ligne

 

#12 2009-11-11 22:46:12

Kazé
New member
Lieu: Grenoble, France
Date d'inscription: 2009-11-01
Messages: 6
Site web

Re: KompoZer

Pour tout ce qui touche au support KompoZer, je ne saurai trop te conseiller d’aller sur le forum dédié sur Geckozone : http://www.geckozone.org/forum/viewforum.php?f=20

Pour ce qui est des sites développés avec KompoZer qui pourraient servir de base, on y travaille. Le site http://kompozer.net/ lui-même a été développé dans cet esprit, avec une structure HTML simplissime. L’idée est, à terme, de proposer une collection de feuilles de style pour cette structure HTML… mais malheureusement, pour l’instant je n’ai pas trop le temps de m’y consacrer, étant bien pris par le développement.

En attendant, il y a un post-it sur Geckozone qui est consacré aux modèles de mise en page : http://www.geckozone.org/forum/viewtopi … mp;t=50017


KompoZer lead dev

Hors ligne

 

#13 2009-11-13 21:12:05

dabrouch@gentoo
Member
Date d'inscription: 2009-04-25
Messages: 58

Re: KompoZer

Hello Kazé,

Chose promise, chose due. J'ai fini l'ebuild pour KompoZer 0.8b1 avec le support automatique de la langue. Je pense qu'il est solide est propre, et puis, sans vouloir passer pour quelqu'un qui vend sa chose, je préfère ma version qui crée automatiquement le mozconfig (contrairement à celui disponible sur le bugzilla) ce qui peut éviter des problèmes, et ce qui est plus dans l'esprit Gentoo. Mais bien sûr, tu décides lequel prendre, cela ne me dérange pas.
Si par contre tu choisis le mien, s'il te plaît je préférai la nouvelle version que celle que je t'ai passé par le pastebin, car la nouvelle contient quelques optimisations au-delà du support de langue.

Donc voici mon ebuild :

Code:

# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-editors/kompozer/kompozer-0.8_beta1.ebuild,v 1.0b 2009/10/28 09:22:52 Dabrouch Exp $

inherit eutils mozconfig-2 flag-o-matic toolchain-funcs mozilla-launcher makeedit multilib mozextension fdo-mime autotools

EAPI="2"

MY_P="${P/_beta1/}b1"

LANGS="da de en-US es-ES fr it nl pl ru zh-TW"
NOSHORTLANGS="zh-TW"

DESCRIPTION="A web authoring system combining web file management and WYSIWYG editing"
HOMEPAGE="http://kompozer.net/"
SRC_URI="http://downloads.sourceforge.net/kompozer/${MY_P}-src.tar.bz2"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="x86 amd64"
IUSE=""

#Language download package support (*.xpi)
for X in ${LANGS} ; do
    if [ "${X}" != "en" ] && [ "${X}" != "en-US" ]; then
        SRC_URI="${SRC_URI}
        linguas_${X/-/_}? ( http://kompozer.sourceforge.net/l10n/langpacks/${MY_P}/${MY_P}.${X}.xpi )"
    fi
    IUSE="${IUSE} linguas_${X/-/_}"
    # english is handled internally
    if [ "${#X}" == 5 ] && ! has ${X} ${NOSHORTLANGS}; then
        if [ "${X}" != "en-US" ]; then
            SRC_URI="${SRC_URI}
                linguas_${X%%-*}? ( http://kompozer.sourceforge.net/l10n/langpacks/${MY_P}/${MY_P}.${X}.xpi )"
        fi
        IUSE="${IUSE} linguas_${X%%-*}"
    fi
done

DEPEND="x11-proto/printproto
        sys-apps/gawk
        dev-lang/perl
    dev-libs/libIDL
    x11-libs/libXt
        >=media-libs/freetype-2.1.9-r1"

S=${WORKDIR}/mozilla

# Needed by src_compile() and src_install()
# Would do in pkg_setup but that loses the export attribute, they
# become pure shell variables.
export MOZ_CO_PROJECT=composer

#Language support
linguas() {

    local LANG SLANG
    for LANG in ${LINGUAS}; do
        if has ${LANG} en en_US; then
            has en ${linguas} || linguas="${linguas:+"${linguas} "}en"
            continue
        elif has ${LANG} ${LANGS//-/_}; then
            has ${LANG//_/-} ${linguas} || linguas="${linguas:+"${linguas} "}${LANG//_/-}"
            continue
        elif [[ " ${LANGS} " == *" ${LANG}-"* ]]; then
            for X in ${LANGS}; do
                if [[ "${X}" == "${LANG}-"* ]] && \
                    [[ " ${NOSHORTLANGS} " != *" ${X} "* ]]; then
                    has ${X} ${linguas} || linguas="${linguas:+"${linguas} "}${X}"
                    continue 2
                fi
            done
        fi
        ewarn "Sorry, but ${PN} does not support the ${LANG} LINGUA"
    done

}

pkg_setup(){

    if ! built_with_use x11-libs/cairo X; then
        eerror "Cairo is not built with X useflag."
        eerror "Please add 'X' to your USE flags, and re-emerge cairo."
        die "Cairo needs X"
    fi

    if ! built_with_use --missing true x11-libs/pango X; then
        eerror "Pango is not built with X useflag."
        eerror "Please add 'X' to your USE flags, and re-emerge pango."
        die "Pango needs X"
    fi

    use moznopango && warn_mozilla_launcher_stub && warn_mozilla_launcher_stub

}

src_unpack() {

    unpack ${MY_P}-src.tar.bz2

    linguas
    for X in ${linguas}; do
        [[ ${X} != "en" ]] && xpi_unpack "${MY_P}.${X}.xpi"
    done
    if [[ ${linguas} != "" && ${linguas} != "en" ]]; then
        elog "Selected language packs (first will be default): ${linguas}"
    fi

}

src_configure() {

    cd ${S}

    mozconfig_init
    mozconfig_config

    mozconfig_annotate '' --enable-application=composer
    mozconfig_annotate '' --disable-canvas

    #Need to indicate which mozilla's application is required to compile
    #sed -i -e "1i\ac_add_options --enable-application=composer\n" .mozconfig || die "sed failed"

    #Disable canvas to prevent compilation fail (by Kazé)
    #sed -i -e "2i\ac_add_options --disable-canvas\n" .mozconfig || die "sed failed"

    #Disable freetype support to avoid incompatibility with Xft (by Dabrouch)
    sed -i "/freetype2/d" .mozconfig || die "sed failed"
    sed -i "/freetypetest/d" .mozconfig || die "sed failed"


    # Finalize and report settings
    mozconfig_final

    CPPFLAGS="${CPPFLAGS}" \
    CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" \
    econf || die "configure failed"

    # This removes extraneous CFLAGS from the Makefiles to reduce RAM
    # requirements while compiling
    edit_makefiles


}

src_compile() {

    cd {S}

    # Should the build use multiprocessing? Not enabled by default, as it tends to break
    [ "${WANT_MP}" = "true" ] && jobs=${MAKEOPTS} || jobs="-j1"
    emake ${jobs} || die "make failed"

}

src_install() {

    cd ${S}
    #Dirty Bugfix by unregistr3d (ignore nsModules.o):
    cd xpfe/components/
    cp Makefile.in Makefile.in_backup
    cat Makefile.in_backup | grep -v build2 > Makefile.in
    cd ../..

    make -f client.mk DESTDIR=${D} install || die "make install failed"

    cd ..

    declare MOZILLA_FIVE_HOME="/usr/local/lib/${PN}"

    #Install xpi language by default
    linguas
    for X in ${linguas}; do
        [[ ${X} != "en" ]] && xpi_install "${WORKDIR}"/"${MY_P}.${X}"
    done

    local LANG=${linguas%% *}
    if [[ -n ${LANG} && ${LANG} != "en" ]]; then
        elog "Setting default locale to ${LANG}"
        dosed -e "s:general.useragent.locale\", \"en-US\":general.useragent.locale\", \"${LANG}\":" \
            ${MOZILLA_FIVE_HOME}/defaults/pref/all.js || \
            die "sed failed to change locale"
    fi

    #menu entry
    newicon "${S}"/composer/app/mozicon256.png
    newmenu "${S}"/composer/app/${PN}.desktop

    # Remove useless file to avoid package-collision (by unregistr3d) :
    rm ${D}/usr/share/aclocal/nspr.m4

}

pkg_postinst() {

    elog "This package has a very dirty bugfix!!! If you want to fill"
    elog "a Bugreport to the mainstream developers, at least be sure"
    elog "to refer to http://bugs.gentoo.org/show_bug.cgi?id=146761#c39"
    elog "Thanks"

}

Je rappelle qu'il faudra le nommer en 'kompozer-0.8b1.ebuild' et de signaler aux utilisateurs de le placer dans la catégorie 'app-editors' de leur arbre d'ebuild personnels.
L'ebuild a été testé avec succès sur x86 et amd64, mais il n'est pas impossible qu'il fonctionne ailleurs, mais je n'ai rien pour tester (avis aux amateurs). Il reste un tout petit problème : le raccourci n'apparaît dans le menu des DM (Gnome, Kde, Xfce...)
On peut encore optimiser mon ebuild en laissant le choix de certaines options à l'aide D'USE flags (par exemple activer/désactiver certaines fonctionnalités) pour le rendre encore plus "Gentoo-like", mais je n'en ai pas forcément le temps de le faire, c'est pourquoi je le laisse ici, si quelqu'un est motivé pour le faire.
En revanche, tu peux toujours me contacter si une nouvelle version de KompoZer sort, je me chargerai avec plaisir de réaliser l'ebuild smile

Bien cordialement et toujours librement.

Dernière modification par dabrouch@gentoo (2009-11-13 21:12:35)

Hors ligne

 

#14 2009-11-14 00:29:03

Kazé
New member
Lieu: Grenoble, France
Date d'inscription: 2009-11-01
Messages: 6
Site web

Re: KompoZer

Salut Dabrouch,

je viens de créer un dossier « Gentoo » dans le SVN de KompoZer avec ton ebuild: http://kompozer.svn.sourceforge.net/vie … es/gentoo/
Je n’y connais pas grand-chose, mais si ton ebuild tient en un seul fichier et qu’il permet d’installer des packs de langue, il faudrait probablement le proposer dans le bug qui a été ouvert, non ? http://bugs.gentoo.org/show_bug.cgi?id=146761

Je te pinguerai dans quelques jours pour la beta2. Merci encore ! :-)

Dernière modification par Kazé (2009-11-14 00:29:28)


KompoZer lead dev

Hors ligne

 

#15 2010-07-17 14:58:40

Neuromancien
Member
Date d'inscription: 2006-09-20
Messages: 29

Re: KompoZer

Bonjour,

Je n'arrive pas à compiler la version 0.8_beta3 :

Code:

 * ERROR: app-editors/kompozer-0.8_beta3 failed:
 *   error reading mozconfig: ac_add_options --enable-extensions="default spellcheck" 
 * 
 * Call stack:
 *     ebuild.sh, line   54:  Called src_configure
 *   environment, line 5334:  Called mozconfig_final
 *   environment, line 4739:  Called die
 * The specific snippet of code:
 *           [[ -z ${hash} || ${hash} == \# ]] || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}";

Hors ligne

 

Pied de page du Forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson

Forum PHP | Forum gentoo.fr