# [EBUILD] Ecco nvu! (WYSIWYG per codice html)

## federico

Linspire sta producendo un applicativo del quale si stentiva parecchio la mancanza nel mondo linux (si, anche se tu che stai leggendo non sentivi la mancanza molti la sentivano), un programma per scrivere pagine web stile macromedia dreamweaver per intenderci.

Tale programma si chiama nvu e potete vederlo qui http://www.nvu.com/

Su https://bugs.gentoo.org e' possibile trovare l'ebuild https://bugs.gentoo.org/show_bug.cgi?id=40821 per la versione 0.3, occorre dare una scorsa ai post e sistemare l'ebuild proposto in partenza

Questo il mio, compilato con successo:

/usr/local/portage/net-www/nvu/nvu-0.30.ebuild 

```

# Copyright 1999-2004 Gentoo Technologies, Inc.

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

# $Header: /home/cvsroot/gentoo-x86/net-www/mozilla-firefox/mozilla-firefox-0.8-r1.ebuild,v 1.5 2004/03/19 05:29:24 agriffis Exp $

inherit makeedit flag-o-matic gcc nsplugins eutils

S=${WORKDIR}/mozilla

MOZVERSION=1.7

PATCH="trunk-${PV}.patch.gz"

DESCRIPTION="A complete Web Authoring System for Linux Desktop users."

HOMEPAGE="http://www.nvu.com/"

SRC_URI="http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla-${MOZVERSION}/src/mozilla-source-${MOZVERSION}.tar.bz2 http://www.nvu.com/download/nvu-${PV}-source.tar.gz http://www.nvu.com/download/${PATCH}"

KEYWORDS="~x86 ~ppc ~sparc ~alpha ~amd64 ~ia64"

SLOT="0"

LICENSE="MPL-1.1 | NPL-1.1"

IUSE="gnome mozilla"

RDEPEND="virtual/x11

   virtual/xft

   >=sys-libs/zlib-1.1.4

   >=media-libs/jpeg-6b

   >=sys-apps/portage-2.0.36

   dev-libs/expat

   app-arch/zip

   app-arch/unzip

   >=x11-libs/gtk+-2.1.1

   >=dev-libs/libIDL-0.8.0"

DEPEND="${RDEPEND}

   virtual/glibc

   dev-util/pkgconfig

   dev-lang/perl"

# needed by src_compile() and src_install()

export MOZILLA_FIVE_HOME=/usr/lib/nvu

src_unpack() {

   unpack mozilla-source-${MOZVERSION}.tar.bz2

   rm -rf ${S}/composer

   rm -rf ${S}/chrome

   ln -s ${S}/rdf/chrome ${S}/chrome

   cd ${S}

   unpack nvu-${PV}-source.tar.gz

   epatch ${DISTDIR}/${PATCH}

   # alpha stubs patch from lfs project.

   # <taviso@gentoo.org> (26 Jun 2003)

   use alpha && epatch ${FILESDIR}/mozilla-1.3-alpha-stubs.patch

#   use amd64 && epatch ${FILESDIR}/mozilla-firebird-amd64.patch

}

src_compile() {

export MOZILLA_OFFICIAL=1

export BUILD_OFFICIAL=1

export MOZ_STANDALONE_COMPOSER=1

   local enable_optimize

   local myconf="--prefix=${MOZILLA_FIVE_HOME} \

      --disable-svg \

      --without-system-mng \

      --without-system-png \

      --disable-ldap \

      --disable-mailnews \

      --disable-installer \

      --disable-activex \

      --disable-activex-scripting \

      --disable-tests \

      --disable-oji \

      --disable-necko-disk-cache \

      --disable-profilesharing \

      --enable-extensions=cookie,xml-rpc,xmlextras,pref,universalchardet,webservices,wallet,editor/cascades \

      --enable-image-decoders=png,gif,jpeg \

      --enable-necko-protocols=http,ftp,file,jar,viewsource,res,data \

      --disable-pedantic \

      --disable-short-wchar \

      --enable-xprint \

      --enable-strip-libs \

      --enable-crypto \

      --disable-mathml \

      --with-system-zlib \

      --enable-freetype2 \

      --enable-default-toolkit=gtk2 \

      --enable-toolkit=gtk2 \

      --enable-xft \

      --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}"

   # Per-architecture flags

   case "${ARCH}" in

      alpha|amd64|ia64)

         # 64-bit needs -fPIC

         append-flags -fPIC

         ;;

      sparc)

         # Added to get MozillaFirebird to compile on sparc

         replace-sparc64-flags

         ;;

      ppc)

         # Fix to avoid gcc-3.3.x miscompilation issues.

         if [[ "$(gcc-major-version).$(gcc-minor-version)" == 3.3 ]]; then

            append-flags -fno-strict-aliasing

         fi

         ;;

   esac

   # 32-bit vs. 64-bit optimization

   case "${ARCH}" in

      alpha|amd64|ia64)

         # Allow -O0 or -O1: Anything more than this causes

         # segfaults on startup on 64-bit (bug 33767)

         enable_optimize=$(echo "$CFLAGS" | grep -Eoe '-O[01]|-O\>')

         enable_optimize=${enable_optimize:--O1}

         filter-flags -O -O?

         ;;

      *)

         # -O2 and below allowed on 32-bit

         enable_optimize=$(echo "$CFLAGS" | grep -Eoe '-O[012]|-O\>')

         enable_optimize=${enable_optimize:--O2}

         filter-flags -O -O?

         ;;

   esac

   # Crashes on start when compiled with -fomit-frame-pointer

   filter-flags -fomit-frame-pointer -mpowerpc-gfxopt

   filter-flags -ffast-math

   append-flags -s -fforce-addr

   if [[ $(gcc-major-version) -eq 3 ]]; then

      # Currently gcc-3.2 or older do not work well if we specify "-march"

      # and other optimizations for pentium4.

      if [[ $(gcc-minor-version) -lt 3 ]]; then

         replace-flags -march=pentium4 -march=pentium3

         filter-flags -msse2

      fi

   fi

   econf --enable-optimize="${enable_optimize}" ${myconf} || die

   edit_makefiles

   emake || die

}

src_install() {

    dodir /usr/lib

    dodir ${MOZILLA_FIVE_HOME}

    

    sed -i 's/MOZILLA_FIVE_HOME/NVU_HOME/' ${S}/dist/bin/nvu

    cp -RL --no-preserve=links ${S}/dist/bin/* ${D}/${MOZILLA_FIVE_HOME}

    #make DESTDIR="${D}" install || die "Install failed"

    

    cd ${MOZILLA_FIVE_HOME}

    dosym ${D}/${MOZILLA_FIVE_HOME}/nvu /usr/bin/nvu

    

    #fix permissions

    chown -R root:root ${D}/${MOZILLA_FIVE_HOME}

    

    dodoc LEGAL LICENSE README.txt

#   dodir /usr/lib

#   dodir ${MOZILLA_FIVE_HOME}

#   cp -RL --no-preserve=links ${S}/dist/bin/* ${D}/${MOZILLA_FIVE_HOME}

#   #make DESTDIR="${D}" install || die "Install failed"

#

#   #fix permissions

#   chown -R root:root ${D}/${MOZILLA_FIVE_HOME}

#

##   cat /usr/lib/nvu/nvu | awk '{ if (NR == 38) { print "MOZILLA_FIVE_HOME=/usr/lib/nvu" } else { print $0 } }'

#

#   dodoc LEGAL LICENSE README.txt

#   dosym /usr/lib/nvu/nvu /usr/bin/nvu

#

##   # Install icon and .desktop for menu entry

##   if use gnome; then

##      insinto /usr/share/pixmaps

##      doins ${FILESDIR}/icon/firefox-icon.png

##      # Fix comment of menu entry

##   #   cd ${S}/build/package/rpm/SOURCES

##      cp mozilla.desktop mozillafirefox.desktop

##      perl -pi -e 's:Name=Mozilla:Name=Mozilla Firefox:' mozillafirefox.desktop

##      perl -pi -e 's:Comment=Mozilla:Comment=Mozilla Firefox Web Browser:' mozillafirefox.desktop

##      perl -pi -e 's:Exec=/usr/bin/mozilla:Exec=/usr/bin/firefox:' mozillafirefox.desktop

##      perl -pi -e 's:Icon=mozilla-icon.png:Icon=firefox-icon.png:' mozillafirefox.desktop

##      cd ${S}

##      insinto /usr/share/gnome/apps/Internet

##      doins ${S}/build/package/rpm/SOURCES/mozillafirefox.desktop

##   fi

}

```

Fede

----------

## shev

Per chi vuole installarlo da cvs, esiste questo topic che spiega come scaricare, compilare e installare i sorgenti.

Se qualche volenteroso vuole unire i due topic creando un ebuild per la versione cvs è il benvenuto  :Smile: 

Come va ora questo programma, è migliorato dai tempi del topic che ho linkato?

----------

## federico

Avrei dovuto provare una versione precedente per saperlo  :Sad: 

Sto provando la 0.3 e finora non l'ho ancora piantata  :Smile:  Mi pare piuttosto evoluto.

----------

## doom.it

ma è ancora identico a Mozilla Composer o hanno cambiato qualcosa?

----------

## federico

Ho emerso nvu 0.50 che ho trovato in portage ma dopo un'oretta di compilazione come lo lancio:

```

[100%] blackman@altair ~ $ nvu

*** global extensions startup!

*** profile extensions startup

/usr/lib/nvu/run-mozilla.sh: line 159: 14183 Segmentation fault      "$prog" ${1+"$@"}

[100%] blackman@altair ~ $ 

```

Forse e' dovuto al mio gcc 3.4.2 , se qualcuno lo ha compilato col 3.3 e g li funziona potrebbe dirmelo ?  :Smile: 

----------

## gutter

@federico: domani mattino lo emergo e ti faccio sapere   :Very Happy: 

----------

## Peach

 *federico wrote:*   

> Ho emerso nvu 0.50 che ho trovato in portage ma dopo un'oretta di compilazione come lo lancio:
> 
> Forse e' dovuto al mio gcc 3.4.2 , se qualcuno lo ha compilato col 3.3 e g li funziona potrebbe dirmelo ? 

 

appena emerso (è gigantesco !!! )

e problemi zero con 

gcc (GCC) 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6)

----------

## randomaze

Qualcuno fa una review completa del coso?

----------

## reeder

 *federico wrote:*   

> Ho emerso nvu 0.50 che ho trovato in portage ma dopo un'oretta di compilazione come lo lancio:
> 
> ```
> 
> [100%] blackman@altair ~ $ nvu
> ...

 

(usando Google per tradurre...)  Avete "-fstack-protector" nel vostro CFLAGS (in make.conf)?  O usate indurito?  Ho ottenuto il difetto di segmentazione quando ho compilato con "-fstack-protector" ma esso funziona quando rimuovo quella bandierina.  -- William

----------

## federico

CFLAGS="-march=pentium4 -pipe -O3 -fomit-frame-pointer -fforce-addr -frename-registers -falign-functions=64 -fprefetch-loop-arrays"

ho queste flag dovrei provare a compilarlo col minimo delle cose...

----------

## reeder

 *federico wrote:*   

> CFLAGS="-march=pentium4 -pipe -O3 -fomit-frame-pointer -fforce-addr -frename-registers -falign-functions=64 -fprefetch-loop-arrays"
> 
> ho queste flag dovrei provare a compilarlo col minimo delle cose...

 

La mia prima prova era con CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -fstack-protector" ed il nvu è venuto a mancare con segmentation fault.  Sono caduto "-fstack-protector" ed ora nvu funziona.

-- William

(Chiedo scusa se la traduzione del Google è difettosa.)

----------

## gutter

 *randomaze wrote:*   

> Qualcuno fa una review completa del coso?

 

La faccio io non appena ho modo di testarlo un poco   :Wink: 

----------

## neon

Bah, io l'ho provato sotto osx ed appena mi ha detto che il file php che stavo usando aveva sintassi errata perche non conteneva <html> ho chiuso tutto e l'ho eliminato dal disco... da un editor che pretende di essere un emulo di dreamweaver mi aspetto qualcosina in più... (bluefish rulez)

----------

## darkimage

yes!... bluefish è good  :Wink:  ma vorrei gestire il mio sito in doppia copia in locale e in remoto (FTP) e riesco a farlo solo con quanta ....

----------

## gutter

Il programma in se non è niente male, sembra abbastanza stabile ed usabile anche se ancora non è ricchissimo di opzioni. Solo due sono le cose che non mi sono piaciute:

1 - Impossibilità nell'aprire pagine javascript che non contengano codice HTML

2 - Impossibilità nell'aprire pagine PHP che non contengano codice HTML

Per il resto il progetto sembra promettere bene.

----------

## leonida

 *randomaze wrote:*   

> Qualcuno fa una review completa del coso?

 

Il sito di Nvu Italila:

http://www.sanavia.it/nvuitalia/index.html

----------

## randomaze

 *leonida wrote:*   

>  *randomaze wrote:*   Qualcuno fa una review completa del coso? 
> 
> Il sito di Nvu Italila:
> 
> http://www.sanavia.it/nvuitalia/index.html

 

Beh ma loro sono un pò di parte....

----------

## gutter

@randomaze: secondo me c'è poco da dire sul programma oltre quello che ho postato sopra.

----------

## .:deadhead:.

NVU ha come obiettivo quello di esser un editor visuale. Se cercate un prodotto simile a Dreamweaver, ma dal punto di vista del codice [quindi simile anche a Homesite+ della Allaire] provate Screem. Howto qui.

----------

