Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Compiling Phoenix from source
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next  
Reply to topic    Gentoo Forums Forum Index Desktop Environments
View previous topic :: View next topic  
Author Message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Tue Dec 10, 2002 6:05 am    Post subject: Re: Hrm Reply with quote

CYwolf wrote:
No, this is definately mozilla-1.3a (with mail, composer, address book and chatzilla icons), not the phoenix build of it, and I have no /usr/bin/phoenix...

Here is my /usr/bin/phoenix
Code:
#!/bin/bash
 export MOZILLA_FIVE_HOME="/usr/share/phoenix/lib/mozilla-1.3a"

 /usr/share/phoenix/bin/phoenix -remote "openURL($@, new-window)"
 if [ $? == 2 ]; then
    /usr/share/phoenix/bin/phoenix $@
 fi

Looks like you should be launching /usr/share/phoenix/bin/phoenix, not whatever you were launching... not sure why you're getting what you're getting... I'll try it a little later after I get done with all my open Phoenix windows... meanwhile who don't you try that bash script...
Back to top
View user's profile Send private message
jagerman
Tux's lil' helper
Tux's lil' helper


Joined: 27 Jun 2002
Posts: 104
Location: Vancouver, BC, Canada

PostPosted: Tue Dec 10, 2002 10:18 am    Post subject: Reply with quote

bmb wrote:
No matter what I do, I always got the above compiling error.

sad.


Hi bmb,

I checked mozilla cvs - there was a fix to address this specifically (http://bugzilla.mozilla.org/show_bug.cgi?id=178128) - it was fixed and committed today, which means wait until tomorrow and it should be in the nightly tar, and therefore should work.
Back to top
View user's profile Send private message
jagerman
Tux's lil' helper
Tux's lil' helper


Joined: 27 Jun 2002
Posts: 104
Location: Vancouver, BC, Canada

PostPosted: Tue Dec 10, 2002 12:16 pm    Post subject: Reply with quote

jagerman wrote:
bmb wrote:
No matter what I do, I always got the above compiling error.

sad.


Hi bmb,

I checked mozilla cvs - there was a fix to address this specifically (http://bugzilla.mozilla.org/show_bug.cgi?id=178128) - it was fixed and committed today, which means wait until tomorrow and it should be in the nightly tar, and therefore should work.


I'm wrong - the patch doesn't fix it :cry:
Back to top
View user's profile Send private message
jagerman
Tux's lil' helper
Tux's lil' helper


Joined: 27 Jun 2002
Posts: 104
Location: Vancouver, BC, Canada

PostPosted: Tue Dec 10, 2002 12:33 pm    Post subject: Reply with quote

jagerman wrote:
jagerman wrote:
bmb wrote:
No matter what I do, I always got the above compiling error.

sad.


Hi bmb,

I checked mozilla cvs - there was a fix to address this specifically (http://bugzilla.mozilla.org/show_bug.cgi?id=178128) - it was fixed and committed today, which means wait until tomorrow and it should be in the nightly tar, and therefore should work.


I'm wrong - the patch doesn't fix it :cry:


Ah - I finally fixed the problem - it seems that when I reemerged X, it overwrote the Xft.h file. The solution is to reemerge xft again.
Back to top
View user's profile Send private message
pelux
n00b
n00b


Joined: 21 Jun 2002
Posts: 20

PostPosted: Tue Dec 10, 2002 1:49 pm    Post subject: phoenix-cvs-0.5.ebuild Reply with quote

Just made this new ebuild.
Changes:
* now phoenix e-builds :)
* unstable keywords
* IUSE var
* updates all the cvs tree (slower, but now it works. To speed up simply download the latest nightly build)
* uses your CFLAGS and CXXFLAGS (only -fomit-frame-pointer will be disabled)

Code:


# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later

inherit makeedit
inherit flag-o-matic
EMVER="0.65.2"
IPCVER="1.0.0.1"

MY_PV1=${PV/_}
MY_PV2=${MY_PV1/eta}
S=${WORKDIR}/mozilla
DESCRIPTION="The Phoenix Web Browser cvs version"
HOMEPAGE="http://www.mozilla.org/projects/phoenix/"
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-source.tar.bz2
"

IUSE="gtk2 java"
KEYWORDS="~x86 ~ppc ~sparc ~sparc64"
SLOT="0"
LICENSE="MPL-1.1 | NPL-1.1"

RDEPEND=">=x11-base/xfree-4.2.0-r11
   >=gnome-base/ORBit-0.5.10-r1
   >=x11-libs/xft-2.0
   >=sys-libs/zlib-1.1.4
   >=media-libs/jpeg-6b
   >=media-libs/libmng-1.0.0
   >=media-libs/libpng-1.2.1
   >=sys-apps/portage-2.0.36
   dev-util/cvs
   dev-libs/expat
   app-arch/zip
   app-arch/unzip
   ( gtk2? >=x11-libs/gtk+-2.1.1 :
     =x11-libs/gtk+-1.2* )
   java?  ( virtual/jre )"

DEPEND="${RDEPEND}
   virtual/x11
   sys-devel/perl
   java? ( >=dev-java/java-config-0.2.0 )"
   
# needed by src_compile() and src_install()
export MOZ_PHOENIX=1
export MOZ_CALENDAR=0
export MOZ_ENABLE_XFT=1

src_unpack() {
   unpack ${A}
   cd ${S}/../
   einfo "Checking out latest Mozilla from CVS..."
   cvs -z4 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot checkout mozilla/client.mk
   cd ${S}
   make -f client.mk checkout   
   # Fix a ownership problem
   #chown -R root.root *
}

src_compile() {
   local myconf="--disable-composer \
      --with-x \
      --with-system-jpeg \
      --with-system-zlib \
      --with-system-png \
      --with-system-mng \
      --disable-mailnews \
      --enable-xft \
      --disable-pedantic \
      --disable-svg \
      --enable-mathml \
      --without-system-nspr \
      --enable-nspr-autoconf \
      --enable-xsl \
      --enable-crypto \
      --enable-xinerama=no \
      --with-java-supplement \
      --with-pthreads \

      --with-default-mozilla-five-home=/usr/share/phoenix \
      --with-user-appdir=.phoenix \
      --disable-jsd \
      --disable-accessibility \
      --disable-tests \
      --disable-debug \
      --disable-dtd-debug \
      --disable-logging \
      --enable-reorder \
      --enable-strip \
      --enable-strip-libs \
      --enable-cpp-rtti \
      --enable-xterm-updates \
      --disable-ldap"

    if [ -n "`use gtk2`" ] ; then
        myconf="${myconf} --enable-toolkit-gtk2 \
                          --enable-default-toolkit=gtk2 \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk"
    else

        myconf="${myconf} --enable-toolkit-gtk \
                          --enable-default-toolkit=gtk \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk2"

    fi

    if [ -n "`use ipv6`" ] ; then
        myconf="${myconf} --enable-ipv6"
    fi

    if [ "${ARCH}" = "x86" ] ; then
            myconf="${myconf} --enable-old-abi-compat-wrappers"
    fi

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

   CFLAGS="${CFLAGS/-fomit-frame-pointer}"
   CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}"

   #CFLAGS="${CFLAGS/-fomit-frame-pointer} -s -fforce-addr"
   #CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer} -s -fforce-addr -Wno-deprecated"
   
   #CFLAGS="-O3 -march=pentium3 -pipe -s -fforce-addr"
   #CXXFLAGS="-O3 -march=pentium3 -pipe -s -fforce-addr -Wno-deprecated"
   

   ./configure --prefix=/usr/share/phoenix \
      ${myconf} || die

   edit_makefiles
   emake MOZ_PHOENIX=1 || die
}

src_install() {
      make DESTDIR=${D} install || die

      touch ${S}/phoenix
      chmod +x ${S}/phoenix
      echo "#!/bin/bash" >> ${S}/phoenix
      echo "export MOZILLA_FIVE_HOME=/usr/share/phoenix/lib/mozilla-1.3a" >> ${S}/phoenix
      echo "/usr/share/phoenix/bin/phoenix" >> ${S}/phoenix

      exeinto /usr/bin
      newexe ${S}/phoenix

}



It' s really bad that we can't use the CVS function of portage (inherit cvs) becouse of the very non standard way you have to update the mozilla cvs tree. (see mozilla page for more info). So it had to do everything over and over every time you try to update it!

Hope this helps! :D

P.S.
The only problem is that everything will be installed under /usr/share/phoenix/.. and so it can't find the netscalpe plugins.
I need someone to modify this e-build to have it installed like the phoenix-bin one does. If someone can , please work on it and post the new ebuild in this thread.

Pelux
Back to top
View user's profile Send private message
rizzo
Retired Dev
Retired Dev


Joined: 30 Apr 2002
Posts: 1067
Location: Manitowoc, WI, USA

PostPosted: Tue Dec 10, 2002 2:57 pm    Post subject: Reply with quote

Change your configure line to prefix with /usr/lib/phoenix instead of /usr/share/phoenix. Granted I haven't tried it, but that is what the phoenix-0.2.ebuild has. Probably want to change the other /usr/share references to /usr/lib.

Also, you apparently check out the latest mozilla code from CVS, but still download the latest nightly tarball. I don't believe you actually want to do both. It's quite a waste of time anyway.

I would suggest you submit the final version of this as a phoenix-cvs project, silimar to gaim-cvs.

update: I'm on this now. Stealing some of the stuff from gaim-cvs to make the cvs use inherent instead of a raw call from unpack. It's getting the CVS so far. Anyone know if it's possible just to get the browser and toolkit dirs instead of the whole damned mozilla tree?

another update: I see now why you were downloading the nightly. Only problem I have with that is it would require a new digest file each time. I know the portage maintainers won't let it in with that. Would be nice if the mozilla krew would make module aliases for browser and toolkit, and whatever else they need. I'm pretty confident I don't need chimera or calendar.

me again: Now that I'm trying it your way, I don't see much value in the downloading of the nightly tarball since the cvs is updating almost every file. Just my opinion.
Back to top
View user's profile Send private message
hewbert
n00b
n00b


Joined: 10 Dec 2002
Posts: 63
Location: Rapid City, SD

PostPosted: Tue Dec 10, 2002 4:43 pm    Post subject: Reply with quote

Some sites crash me :(

It has something to do with fonts, I've narrowed it down. One site that's crashing me is:

http://texturizer.net/phoenix/themes.html

Anyone know what's up? Anyone else get this?

freetype-1.3.1-r3
freetype-2.1.2-r2
xft-2.0-r1


Last edited by hewbert on Tue Dec 10, 2002 6:02 pm; edited 1 time in total
Back to top
View user's profile Send private message
pelux
n00b
n00b


Joined: 21 Jun 2002
Posts: 20

PostPosted: Tue Dec 10, 2002 5:26 pm    Post subject: Updates.... Reply with quote

Changes:
* added remaining IUSE
* phoenix bin wasn't created. Now to start phoenix just use /usr/bin/phoenix-cvs (so you can also use phoenix-bin at the same time)

Code:


# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later

inherit makeedit flag-o-matic nsplugins
EMVER="0.65.2"
IPCVER="1.0.0.1"

MY_PV1=${PV/_}
MY_PV2=${MY_PV1/eta}
S=${WORKDIR}/mozilla
DESCRIPTION="The Phoenix Web Browser cvs version"
HOMEPAGE="http://www.mozilla.org/projects/phoenix/"
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-source.tar.bz2
"

IUSE="gtk2 java ipv6 x86"
KEYWORDS="~x86 ~ppc ~sparc ~sparc64"
SLOT="0"
LICENSE="MPL-1.1 NPL-1.1"

RDEPEND=">=x11-base/xfree-4.2.0-r11
   >=gnome-base/ORBit-0.5.10-r1
   >=x11-libs/xft-2.0
   >=sys-libs/zlib-1.1.4
   >=media-libs/jpeg-6b
   >=media-libs/libmng-1.0.0
   >=media-libs/libpng-1.2.1
   >=sys-apps/portage-2.0.36
   dev-util/cvs
   dev-libs/expat
   app-arch/zip
   app-arch/unzip
   ( gtk2? >=x11-libs/gtk+-2.1.1 :
     =x11-libs/gtk+-1.2* )
   java?  ( virtual/jre )"

DEPEND="${RDEPEND}
   virtual/x11
   sys-devel/perl
   java? ( >=dev-java/java-config-0.2.0 )"
   
# needed by src_compile() and src_install()
export MOZ_PHOENIX=1
export MOZ_CALENDAR=0
export MOZ_ENABLE_XFT=1

src_unpack() {
   unpack ${A}
   cd ${S}/../
   einfo "Checking out latest Mozilla from CVS..."
   cvs -z4 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot checkout mozilla/client.mk
   cd ${S}
   make -f client.mk checkout   
}

src_compile() {
   local myconf="--disable-composer \
      --with-x \
      --with-system-jpeg \
      --with-system-zlib \
      --with-system-png \
      --with-system-mng \
      --disable-mailnews \
      --enable-xft \
      --disable-pedantic \
      --disable-svg \
      --enable-mathml \
      --without-system-nspr \
      --enable-nspr-autoconf \
      --enable-xsl \
      --enable-crypto \
      --enable-xinerama=no \
      --with-java-supplement \
      --with-pthreads \

      --with-default-mozilla-five-home=/usr/share/phoenix \
      --with-user-appdir=.phoenix \
      --disable-jsd \
      --disable-accessibility \
      --disable-tests \
      --disable-debug \
      --disable-dtd-debug \
      --disable-logging \
      --enable-reorder \
      --enable-strip \
      --enable-strip-libs \
      --enable-cpp-rtti \
      --enable-xterm-updates \
      --disable-ldap"

    if [ -n "`use gtk2`" ] ; then
        myconf="${myconf} --enable-toolkit-gtk2 \
                          --enable-default-toolkit=gtk2 \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk"
    else

        myconf="${myconf} --enable-toolkit-gtk \
                          --enable-default-toolkit=gtk \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk2"

    fi

    if [ -n "`use ipv6`" ] ; then
        myconf="${myconf} --enable-ipv6"
    fi

    if [ "${ARCH}" = "x86" ] ; then
            myconf="${myconf} --enable-old-abi-compat-wrappers"
    fi

   # Crashes on start when compiled with -fomit-frame-pointer
   CFLAGS="${CFLAGS/-fomit-frame-pointer}"
   CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer}"
   #CFLAGS="${CFLAGS/-fomit-frame-pointer} -s -fforce-addr"
   #CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer} -s -fforce-addr -Wno-deprecated"

   ./configure --prefix=/usr/share/phoenix \
      ${myconf} || die

   edit_makefiles
   emake MOZ_PHOENIX=1 || die
}

src_install() {
      make DESTDIR=${D} install || die

      touch ${S}/phoenix-cvs
      chmod +x ${S}/phoenix-cvs
      echo "#!/bin/bash" >> ${S}/phoenix-cvs
      echo "export MOZILLA_FIVE_HOME=/usr/share/phoenix/lib/mozilla-1.3a" >> ${S}/phoenix-cvs
      echo "/usr/share/phoenix/bin/phoenix" >> ${S}/phoenix-cvs

      dobin ${S}/phoenix-cvs
      src_mv_plugins /usr/share/phoenix/lib/mozilla-1.3a/plugins
}

pkg_preinst() {
        pkg_mv_plugins /usr/share/phoenix/lib/mozilla-1.3a/plugins
}



Everything works fine but i have a major problem getting the netscape plugins working.
You have to use the nsplugins eclass but you have to look at it under /usr/portage/eclass/nsplugins.eclass. The way i have implemented it (take from phoenix-bin ebuild) does not work.
I don't have the knoweledge to fix it, so is someone else is able to fix it please do it. I've done my work :D Thanks

Pelux
Back to top
View user's profile Send private message
bmb
n00b
n00b


Joined: 05 Jul 2002
Posts: 36

PostPosted: Tue Dec 10, 2002 7:14 pm    Post subject: Reply with quote

Thanks. jagerman. Your way works. After I remerged my xft, phoenix was compiled like a charm.
Back to top
View user's profile Send private message
mlybarger
Guru
Guru


Joined: 04 Sep 2002
Posts: 475

PostPosted: Tue Dec 10, 2002 9:03 pm    Post subject: forgive me for not looking to portage.... Reply with quote

is there an official ebuild in portage for this yet? i haven't checked but see lots of ebuilds here in this thread and figure it shoudl be in the portage no doubt.
Back to top
View user's profile Send private message
nempo
Guru
Guru


Joined: 16 Apr 2002
Posts: 360
Location: Linkoping, Sweden

PostPosted: Tue Dec 10, 2002 9:36 pm    Post subject: Re: phoenix-cvs-0.5.ebuild Reply with quote

pelux wrote:
Just made this new ebuild.
Changes:
* now phoenix e-builds :)
* unstable keywords
* IUSE var
* updates all the cvs tree (slower, but now it works. To speed up simply download the latest nightly build)
* uses your CFLAGS and CXXFLAGS (only -fomit-frame-pointer will be disabled)

[code]removed


I don't think people would want to download 300MB (uncompressed) of sourcecode. Maybe it's less the second or third time you use the ebuild (havn't tested it so I wouldn't know).

rizzo wrote:
Change your configure line to prefix with /usr/lib/phoenix instead of /usr/share/phoenix. Granted I haven't tried it, but that is what the phoenix-0.2.ebuild has. Probably want to change the other /usr/share references to /usr/lib.

Also, you apparently check out the latest mozilla code from CVS, but still download the latest nightly tarball. I don't believe you actually want to do both. It's quite a waste of time anyway.

I would suggest you submit the final version of this as a phoenix-cvs project, silimar to gaim-cvs.

update: I'm on this now. Stealing some of the stuff from gaim-cvs to make the cvs use inherent instead of a raw call from unpack. It's getting the CVS so far. Anyone know if it's possible just to get the browser and toolkit dirs instead of the whole damned mozilla tree?

another update: I see now why you were downloading the nightly. Only problem I have with that is it would require a new digest file each time. I know the portage maintainers won't let it in with that. Would be nice if the mozilla krew would make module aliases for browser and toolkit, and whatever else they need. I'm pretty confident I don't need chimera or calendar.

me again: Now that I'm trying it your way, I don't see much value in the downloading of the nightly tarball since the cvs is updating almost every file. Just my opinion.


Portage has no 'official' support for cvs yet (stated so in the docs) so I'm personally against useing this function in the main tree. But if this is a wanted feture in this ebuild please post the change in the new thread.

This thread should be locked seeing how there is now three variations of the same ebuild, I'll compile the best from all three and then start a new thread.
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Wed Dec 11, 2002 12:45 am    Post subject: Reply with quote

rizzo wrote:
another update: I see now why you were downloading the nightly. Only problem I have with that is it would require a new digest file each time. I know the portage maintainers won't let it in with that. Would be nice if the mozilla krew would make module aliases for browser and toolkit, and whatever else they need. I'm pretty confident I don't need chimera or calendar.

The only way I see to really do this is to have a certain Mozilla-Source file (from a given date) that can be agreed upon (at last for some interval of time) as a base. It would have to be hosted somewhere by Gentoo prolly unless we were to start with release 1.2.1 sources or something (that Mozilla is leaving on their website for a while)...

The src-unpack routine would check to see if a distfiles/cvs-src/phoenix dir existed or not... if not it would create it using the source tar.bz2 file. Next (regardless of whether it was there already or just created) it would run a FULL cvs update... after it was done, it would compile.

The files would be LEFT there like other CVS builds... only prob is they're 300mb, a hefty price to pay...

But this would solve some of the problems I think and make an official 0.5 cvs ebuild more of a possibility, does anyone agree?
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Wed Dec 11, 2002 8:48 am    Post subject: Reply with quote

Ok... here is exactly what a few people have asked for... and what I feel is a good thing never the less.

This is a CVS build of phoenix that almost EXACTLY duplicates the binary 0.50 ebuild available in the portage tree (file locations, which files are included, new plugin symlinks, etc). However, it includes xft2 and is compiled from source like we all want...

If no one has a problem with it, perhaps all of us that have posted other ebuilds could go and edit them out to help with those visiting this thread for the first time...

The only thing it doesn't do is update the ENTIRE CVS tree, it only updates the phoenix specific stuff. That cause I'm on a dialup link and I update the rest of the file on my own. Feel free to change that one section though.

This _should_ also be a lot smaller than previous ebuilds as it doesn't toss include files and all sorts of other stuff across your HD.

place this in your phoenix-cvs/files directory as "phoenix" (the ebuild needs it)
Code:
#!/bin/sh

export MOZILLA_FIVE_HOME="/usr/lib/phoenix"
PHOENIX_PATH="/usr/lib/phoenix"

# Seems like pidof resides in /sbin on some boxes
# Modifying the PATH to reflect that
PATH="/sbin:${PATH}"

if [ -z "`pidof phoenix-bin`" ]; then
        # No phoenix running
        ${PHOENIX_PATH}/phoenix $@
else
        # phoenix running - open a new window
        ${PHOENIX_PATH}/phoenix -remote "openURL($@ ,new-window)"
fi


phoenix-cvs-0.5-r1.ebuild
Code:
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later

inherit makeedit flag-o-matic gcc

EMVER="0.65.2"
IPCVER="1.0.0.1"

MY_PN=${PN/-cvs/}
MY_PV1=${PV/_}
MY_PV2=${MY_PV1/eta}
S=${WORKDIR}/mozilla
DESCRIPTION="The Phoenix Web Browser"
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-source.tar.bz2"
HOMEPAGE="http://www.mozilla.org/projects/phoenix/"

KEYWORDS="x86 ~ppc ~sparc ~sparc64"
SLOT="0"
LICENSE="MPL-1.1 | NPL-1.1"
IUSE="java gtk2 ipv6"

RDEPEND="virtual/x11
   >=gnome-base/ORBit-0.5.10-r1
   >=x11-libs/xft-2.0
   >=sys-libs/zlib-1.1.4
   >=media-libs/jpeg-6b
   >=media-libs/libmng-1.0.0
   >=media-libs/libpng-1.2.1
   >=sys-apps/portage-2.0.36
   dev-libs/expat
   app-arch/zip
   app-arch/unzip
   ( gtk2? >=x11-libs/gtk+-2.1.1 :
     =x11-libs/gtk+-1.2* )
   java?  ( virtual/jre )"

DEPEND="${RDEPEND}
   virtual/glibc
   sys-devel/perl
   dev-util/cvs
   java? ( >=dev-java/java-config-0.2.0 )"
   
# needed by src_compile() and src_install()
export MOZ_PHOENIX=1
export MOZ_CALENDAR=0
export MOZ_ENABLE_XFT=1

src_unpack() {
   unpack ${A}
   cd ${S}/../
   einfo "Checking out latest Mozilla from CVS..."
   einfo "[ mozilla/browser & mozilla/toolkit ]"
   cvs -z9 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot checkout mozilla/browser mozilla/toolkit
   cd ${S}
   # Fix a ownership porblem
   chown -R root.root *
}

src_compile() {
   local myconf="--disable-composer \
      --with-x \
      --with-system-jpeg \
      --with-system-zlib \
      --with-system-png \
      --with-system-mng \
      --disable-mailnews \
      --enable-xft \
      --disable-pedantic \
      --disable-svg \
      --enable-mathml \
      --without-system-nspr \
      --enable-nspr-autoconf \
      --enable-xsl \
      --enable-crypto \
      --enable-xinerama=no \
      --with-java-supplement \
      --with-pthreads \
      --with-default-mozilla-five-home=/usr/lib/phoenix \
      --with-user-appdir=.phoenix \
      --disable-jsd \
      --disable-accessibility \
      --disable-tests \
      --disable-debug \
      --disable-dtd-debug \
      --disable-logging \
      --enable-reorder \
      --enable-strip \
      --enable-strip-libs \
      --enable-cpp-rtti \
      --enable-xterm-updates \
      --disable-ldap"

    if [ -n "`use gtk2`" ] ; then
        myconf="${myconf} --enable-toolkit-gtk2 \
                          --enable-default-toolkit=gtk2 \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk"
    else

        myconf="${myconf} --enable-toolkit-gtk \
                          --enable-default-toolkit=gtk \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk2"

    fi

    if [ -n "`use ipv6`" ] ; then
        myconf="${myconf} --enable-ipv6"
    fi

   # Crashes on start when compiled with -fomit-frame-pointer
   CFLAGS="${CFLAGS/-fomit-frame-pointer} -s -fforce-addr"
   CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer} -s -fforce-addr -Wno-deprecated"
   
   #CFLAGS="-Os -march=pentium3 -pipe -s -fforce-addr"
   #CXXFLAGS="-Os -march=pentium3 -pipe -s -fforce-addr -Wno-deprecated"

   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.
      CFLAGS="${CFLAGS/-march=pentium4/-march=pentium3}"
      CXXFLAGS="${CXXFLAGS/-march=pentium4/-march=pentium3}"
   
      # Enable us to use flash, etc plugins compiled with gcc-2.95.3
      if [ "${ARCH}" = "x86" ]; then
          myconf="${myconf} --enable-old-abi-compat-wrappers"
       fi
   fi

   ./configure --prefix=/usr \
      ${myconf} || die

   edit_makefiles
   emake MOZ_PHOENIX=1 || die
}

src_install() {
   # Plugin path creation
    PLUGIN_DIR="/usr/lib/nsbrowser/plugins"
    dodir /${PLUGIN_DIR}

   #make DESTDIR=${D} install || die
   dodir /usr/lib
   cp -RL --no-preserve=links ${S}/dist/bin ${D}/usr/lib/phoenix

   #fix permissions
   chown -R root.root ${D}/usr/lib/phoenix
   
    # Plugin path setup (rescuing the existent plugins)
    mv ${D}/usr/lib/${MY_PN}/plugins ${D}/usr/lib/${MY_PN}/plugins.temp
    dosym ../nsbrowser/plugins /usr/lib/${MY_PN}/
    mv ${D}/usr/lib/${MY_PN}/plugins.temp/* ${D}/usr/lib/${MY_PN}/plugins/
    rmdir ${D}/usr/lib/${MY_PN}/plugins.temp

   dobin ${FILESDIR}/phoenix
}

pkg_preinst() {
   # Remove the old plugins dir
   [ -d /usr/lib/phoenix/plugins ] && rm -r /usr/lib/phoenix/plugins
}
Back to top
View user's profile Send private message
pelux
n00b
n00b


Joined: 21 Jun 2002
Posts: 20

PostPosted: Wed Dec 11, 2002 9:02 am    Post subject: Reply with quote

I'm ok to close the other thread (phoenix-cvs) and edit the previous post code to erase theme (or mark them obsolete) to make things more clear.
This new version has all the new feature we developed.
For Dreamer3: the way you manage the nsplugins is very similar to the way ther are managed in the eclass. I think you have looked at it. So, have you also noticed the limation of the eclass? (like the fact that it expect the plugin directory to be only one level upon the $plugindir). I have sumbitted a bug called nsplugins. Maybe you wuould add something to it.
Thanks

Pelux

P.S. i think it should be marked unstable even for x86.
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Wed Dec 11, 2002 9:18 am    Post subject: Reply with quote

pelux wrote:
the way you manage the nsplugins is very similar to the way ther are managed in the eclass. I think you have looked at it. So, have you also noticed the limation of the eclass? (like the fact that it expect the plugin directory to be only one level upon the $plugindir). I have sumbitted a bug called nsplugins. Maybe you wuould add something to it.

I did glance at it briefly. Mostly I just adapted the code from the phoenix-bin ebuild. The idea is to put all the plugins in one spot so i was going along with that... I've also unmasked (on my PC) all the lastest plugins in package.mask that place themselves according to the new schema. I'm not sure I get what you're saying about a bug... I'd have to re-read it again perhaps... Upon further review I don't see any problems. You'll have to explain more in depth.

Quote:
P.S. i think it should be marked unstable even for x86.

If it were in the portage tree? YES. But since the ONLY way someone is going to have it ANYWAY is if they specfically come looking for it, and download it with the intention of installing it. I find typing ACCEPT_KEYWORDS="~x86" such a pain if I really don't need to. ;-) Make sense?
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Wed Dec 11, 2002 9:32 am    Post subject: Reply with quote

Just for those of us with slower links... here is my automatic shell script to update mozilla-sources.tar.bz2 from CVS and then tar and bzip it back up so you never need to download it twice, EVER.
Code:
pwd=`pwd`
mkdir /var/tmp/work 2>>/dev/null
cd /var/tmp/work
echo " ** Unpacking mozilla source..."
tar -xjf /usr/portage/distfiles/mozilla-source.tar.bz2
cvs -z9 -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot checkout -PA mozilla/client.mk
MOZ_PHOENIX=1 make -f mozilla/client.mk checkout MOZ_CO_FLAGS=-PA
echo " ** Packing mozilla source..."
tar -cjvf mozilla-source.tar.bz2 mozilla
cp mozilla-source.tar.bz2 /usr/portage/distfiles
cd ${pwd}
rm /var/tmp/work -rf
Back to top
View user's profile Send private message
pelux
n00b
n00b


Joined: 21 Jun 2002
Posts: 20

PostPosted: Wed Dec 11, 2002 4:15 pm    Post subject: Reply with quote

Quote:

I did glance at it briefly. Mostly I just adapted the code from the phoenix-bin ebuild. The idea is to put all the plugins in one spot so i was going along with that... I've also unmasked (on my PC) all the lastest plugins in package.mask that place themselves according to the new schema. I'm not sure I get what you're saying about a bug... I'd have to re-read it again perhaps... Upon further review I don't see any problems. You'll have to explain more in depth.

Explanation: the nsplugins can't be used as it is now for this ebuild, becouse it does some hp that are restrective (the symling is done to ../$nsplugins while should be done to /usr/lib/$nsplugins). So i proposed a change to it submitting my request as a bug to bugzilla. That's all :)
Pelux
Pelux
Back to top
View user's profile Send private message
phong
Bodhisattva
Bodhisattva


Joined: 16 Jul 2002
Posts: 778
Location: Michigan - 15 & Ryan

PostPosted: Wed Dec 11, 2002 5:07 pm    Post subject: Reply with quote

Ok, in order to sort out the mess with the different threads about Phoenix, we've decided to make three official Phoenix threads:
Compiling Phoenix from release source
Compiling Phoenix from CVS
Installing Phoenix from binaries (ebuilds in portage)

This thread has been designaed as the official spot for discussion of Compiling Phoenix from release source. For discussion of the other two topics, refer to the other threads.
_________________
"An empty head is not really empty; it is stuffed with rubbish. Hence the difficulty of forcing anything into an empty head."
-- Eric Hoffer
Back to top
View user's profile Send private message
dufnutz
Apprentice
Apprentice


Joined: 01 May 2002
Posts: 209

PostPosted: Wed Dec 11, 2002 7:34 pm    Post subject: Reply with quote

has this ebuild been submitted to bugs.gentoo.org? it wouldd probably help put it in the portage tree
Back to top
View user's profile Send private message
vers_iq
Apprentice
Apprentice


Joined: 18 May 2002
Posts: 264

PostPosted: Thu Dec 12, 2002 2:33 am    Post subject: Reply with quote

I read somewhere that we have too many ebuilds already for phoenix and causes confusion. But i think it doesnt hurt as long as the latest ebuild have some improvement and hopefully it satisfies everyone and finally become official ebuild. So how about another one.
Code:
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later

inherit makeedit
inherit flag-o-matic gcc makeedit

EMVER="0.65.2"
IPCVER="1.0.0.1"

MY_PN=${PN/_}
MY_PV1=${PV/_}
MY_PV2=${MY_PV1/eta}
FCVER="2.0"
FC_S="${WORKDIR}/fcpackage.${FCVER/\./_}/Xft"
S=${WORKDIR}/mozilla
DESCRIPTION="The Phoenix Web Browser"
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-source.tar.gz
        http://fontconfig.org/release/fcpackage.2_0.tar.gz"
HOMEPAGE="http://www.mozilla.org/projects/phoenix/"
KEYWORDS="x86 ~ppc ~sparc ~sparc64"
SLOT="0"
LICENSE="MPL-1.1 | NPL-1.1"

RDEPEND=">=x11-base/xfree-4.2.0-r11
   >=gnome-base/ORBit-0.5.10-r1
   >=dev-libs/libIDL-0.8.0
   >=sys-libs/zlib-1.1.4
   >=media-libs/jpeg-6b
   >=media-libs/libpng-1.2.1
   >=sys-apps/portage-2.0.14
   dev-util/cvs
   dev-libs/expat
   app-arch/zip
   app-arch/unzip
  ( gtk2? >=x11-libs/gtk+-2.0.9 :
          =x11-libs/gtk+-1.2* )
  ( gtk2? >=dev-libs/glib-2.0.6 :
          =dev-libs/glib-1.2* )
  !gtk2? ( >=media-libs/fontconfig-2.0-r3 )
  java?  ( virtual/jre )"

DEPEND="${RDEPEND}
   virtual/x11
   dev-util/pkgconfig
   sys-devel/perl
   java? ( >=dev-java/java-config-0.2.0 )"

# needed by src_compile() and src_install()
export MOZ_PHOENIX=1
export MOZ_CALENDAR=0
export MOZ_ENABLE_XFT=1
if [ -n "`use svg`" ] ; then
      export MOZ_INTERNAL_LIBART_LGPL=1
fi

src_unpack() {

   unpack ${A}

   cd ${S}/../
   epatch ${FILESDIR}/mozilla-1.2b-freetype.patch.bz2
   epatch ${FILESDIR}/mozilla-1.2b-Xft-includes.patch.bz2

   cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot checkout mozilla/browser mozilla/toolkit
   cd ${S}
   chown -R root.root *
}

src_compile() {
   local myconf="--disable-composer \
      --disable-mailnews \
      --disable-calender \
      --enable-extension=default,-irc,-venkman,-inspector,-wallet \
      --disable-ldap \
     
      --with-x \
      --with-system-zlib \
      --disable-short-wchar \
      --without-mng \
     
      --enable-xft \
      --disable-pedantic \
      --enable-mathml \
      --without-system-nspr \
      --enable-nspr-autoconf \
      --enable-xsl \
      --enable-crypto \
      --enable-xinerama=no \
      --with-java-supplement \
      --with-pthreads \
     
      --with-default-mozilla-five-home=/usr/lib/phoenix \
      --with-user-appdir=.phoenix \
      --disable-jsd \
     
      --disable-accessibility \
      --disable-tests \
      --disable-debug \
      --disable-dtd-debug \
      --disable-reorder \
      --enable-strip \
      --enable-strip-libs \
      --enable-cpp-rtti \
      --disable-xterm-updates"


   if [ -n "`use gtk2`" ] ; then
        myconf="${myconf} --enable-toolkit-gtk2 \
                          --enable-default-toolkit=gtk2 \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk \
                          --enable-logging"
   else
        myconf="${myconf} --enable-toolkit-gtk \
                          --enable-default-toolkit=gtk \
                          --disable-toolkit-qt \
                          --disable-toolkit-xlib \
                          --disable-toolkit-gtk2 \
                          --disable-logging"
   fi

   if [ -n "`use ipv6`" ] ; then
        myconf="${myconf} --enable-ipv6"
    fi

    if [ "${ARCH}" = "x86" ] ; then
      myconf="${myconf} --enable-old-abi-compat-wrappers"
    fi

   if [ "${ARCH}" = "sparc" ] ; then
      myconf="${myconf} --enable-js-ultrasparc"
   fi

   if [ -n "`use svg`" ] ; then
      myconf="${myconf} --enable-svg"
   fi

   cd ${FC_S}/../Xft
   mkdir -p ${WORKDIR}/Xft
   ./configure --prefix=${WORKDIR}/Xft || die
   emake || die

   make prefix=${WORKDIR}/Xft \
      confdir=${WORKDIR}/Xft/etc/fonts \
      datadir=${WORKDIR}/Xft/share \
      install || die

   cd ${FC_S}/../Xrender
       xmkmf
       emake || die
       cp -df Xrender.h extutil.h region.h render.h renderproto.h \
              ${WORKDIR}/Xft/include
       cp -df libXrender.so* ${WORKDIR}/Xft/lib

       export PKG_CONFIG_PATH="${WORKDIR}/Xft/lib/pkgconfig"
       export LDPATH="${WORKDIR}/Xft/lib:${LDPATH}"

   export MAKE="emake"

   # Crashes on start when compiled with -fomit-frame-pointer   
   CFLAGS="${CFLAGS/-fomit-frame-pointer}"
   CXXFLAGS="${CXXFLAGS/-fomit-frame-pointer} -Wno-deprecated"

   CFLAGS="${CFLAGS/-march=pentium4/-march=pentium3}"
   CXXFLAGS="${CXXFLAGS/-march=pentium4/-march=pentium3}"

   cd ${S}
   ./configure --prefix=/usr/lib/phoenix \
      ${myconf} || die

   edit_makefiles
   emake MOZ_PHOENIX=1 || die
}

src_install() {

     dodir /usr/lib/phoenix
     cp -RL --no-preserve=links ${S}/dist/bin/* /usr/lib/phoenix
     cp -df ${WORKDIR}/Xft/lib/libXft.so.* /usr/lib/phoenix
     cp -df ${WORKDIR}/Xft/lib/libXrender.so.* /usr/lib/phoenix


     echo "LDPATH=/usr/lib/phoenix MOZILLA_FIVE_HOME=/usr/lib/phoenix /usr/lib/phoenix/phoenix" > ${S}/phoenix
     chmod +x ${S}/phoenix
     dobin ${S}/phoenix

     dodir /usr/lib/nsbrowser/plugins
     mv /usr/lib/phoenix/plugins /usr/lib/phoenix/plugins.temp
     dosym ../nsbrowser/plugins /usr/lib/phoenix/
     mv /usr/lib/phoenix/plugins.temp/* /usr/lib/phoenix/plugins/
     rmdir /usr/lib/phoenix/plugins.temp
}

pkg_preinst() {
     [ -d /usr/lib/phoenix/plugins ] && rm -r /usr/lib/phoenix/plugins
}


Btw thanx to dreamer3 for the nice ebuild especially reminding me to use cp-L which took me quite some time to figure this (biased to tar) hey.. we dont use this too often. And the the part with nsbrowser plugins. I think mozilla has the better way somehow, what actually inherit nsplugins does?

Another thing, the "masked" xft2 doesnt have to be installed in the system. anymore thanx to developer of mozilla ebuild.

Anyone here install mozilla-1.2.1 against xft2? if you notice /usr/lib/mozilla is added is /etc/ld.so.conf and this automatically makes libXft2 a global library and can be detected during any compilation. Honestly i dont like it as it may cause other application compiling error, why? because ./configure can detect the xft2 libraries but not the right headers. that's my 2 cents.

And last one, some people still confuse about cvs operation that we have to commit during compilation. the only reason we have to do this is because mozilla source tarball doesnt include phoenix main component [basically user interface (toolkit and browser in mozilla source root dir)] in it and the only way to get this is by fetching it via cvs.

Oh.. im tired... i wanna go get some rest before continuing my Maya tutorial.
_________________
"You know the world is going crazy when the best rapper is a white guy, the best golfer is a black guy, the Swiss hold the America's cup, France accusing the US of arrogance and Germany doesn't want to go to war."


Last edited by vers_iq on Thu Dec 12, 2002 6:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Thu Dec 12, 2002 5:27 am    Post subject: Reply with quote

pelux wrote:
Explanation: the nsplugins can't be used as it is now for this ebuild, becouse it does some hp that are restrective (the symling is done to ../$nsplugins while should be done to /usr/lib/$nsplugins).

"some hp that are restrictive"... HUH? As long as phoenix/mozilla/galeon/galeon2 are in /usr/lib/xxx then ../$nsplugins works great as a symlink... I think there is actually some reason to have it relative rather than absolute, but I forget off the top of my head.

I guess I'm just missing how this is such a big problem...?
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Thu Dec 12, 2002 5:43 am    Post subject: Reply with quote

vers_iq wrote:
I read somewhere that we have too many ebuilds already for phoenix ... So how about another one.

*sigh* :)

Quote:
Btw thanx to dreamer3 for the nice ebuild especially reminding me to use cp-L...

It took me quite some time to figure out how to turn those darn symlinks into files in using cp.

Quote:
Another thing, the "masked" xft2 doesnt have to be installed in the system. anymore thanx to developer of mozilla ebuild.

This esentially compiles xft2 locally [to phoenix], but otherwise should be the same fonts as the rest of use are used to WITH xft2 emerged, right? If this is the case I will consider merging the improvements of your ebuild into mine in the official Phoenix-CVS thread... I see the advantages to this approach. I seriously do think that we need to hold off on the proliferation of more and more ebuilds though... I think colaboration is the key to getting one or two with the best of all worlds...

Quote:
Anyone here install mozilla-1.2.1 against xft2? if you notice /usr/lib/mozilla is added is /etc/ld.so.conf and this automatically makes libXft2 a global library and can be detected during any compilation. Honestly i dont like it as it may cause other application compiling error, why? because ./configure can detect the xft2 libraries but not the right headers. that's my 2 cents.

This does sound like a valid concern. I know I'm about blue in the face from renaming and re-symlinking the Xft.h file depending on what program I'm installing.

Quote:
...some people still confuse about cvs operation that we have to commit during compilation. the only reason we have to do this is because mozilla source tarball doesnt include phoenix main component [basically user interface (toolkit and browser in mozilla source root dir)] in it and the only way to get this is by fetching it via cvs.

*raises hand* I'm still confused. I swear the main mozilla-sources.tar.bz2 file has everything needed to compile Phoenix without touching CVS. I can't see why this would not be the case and I recall those pieces being present... If I were on a fast link I'd fetch a new mozilla-sources.tar.bz2 and check myself, but alas that would take longer than I have tonight.
Back to top
View user's profile Send private message
nempo
Guru
Guru


Joined: 16 Apr 2002
Posts: 360
Location: Linkoping, Sweden

PostPosted: Thu Dec 12, 2002 8:35 pm    Post subject: Reply with quote

phong wrote:
Ok, in order to sort out the mess with the different threads about Phoenix, we've decided to make three official Phoenix threads:
Compiling Phoenix from release source
Compiling Phoenix from CVS
Installing Phoenix from binaries (ebuilds in portage)

This thread has been designaed as the official spot for discussion of Compiling Phoenix from release source. For discussion of the other two topics, refer to the other threads.


This thread has never been about compiling from release source but I guess it is now then :0
Back to top
View user's profile Send private message
dreamer3
Guru
Guru


Joined: 24 Sep 2002
Posts: 553

PostPosted: Fri Dec 13, 2002 9:28 am    Post subject: Reply with quote

vers_iq wrote:
I read somewhere that we have too many ebuilds already for phoenix and causes confusion. But i think it doesnt hurt as long as the latest ebuild have some improvement and hopefully it satisfies everyone and finally become official ebuild. So how about another one.
Code:
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later
...


Btw thanx to dreamer3 for the nice ebuild especially reminding me to use cp-L which took me quite some time to figure this (biased to tar) hey.. we dont use this too often. And the the part with nsbrowser plugins. I think mozilla has the better way somehow, what actually inherit nsplugins does?


Ok, there are a few issues with your ebuild and how it's local xft support differs from that in the mozilla-1.2.1 ebuild. Mozilla has a lot of logic in the ebuild related to gtk, gtk2, when it can compile xft locally, when it should not, etc... Not trying to knock it, but your ebuild just kinda goes for it no matter what.

I'm currently working on a new official CVS ebuild that will incorporate the maturity of the official CVS build, include optional localxft improvements, use the nsplugins code, and improve stability all at the same time. I'm in the middle of moving now, but hopefully I can get my new ebuild up in a few days.

We're getting messages in the official CVS thread about errors using your ebuild... that's why I'm trying to cut down on the proliferation, so we can truly help solve problems people are having by having one standle ebuild that everyone is using to install from CVS.
Back to top
View user's profile Send private message
DArtagnan
l33t
l33t


Joined: 30 Apr 2002
Posts: 942
Location: Israel, Jerusalem

PostPosted: Sat Dec 14, 2002 10:37 am    Post subject: Reply with quote

mine crashed during the compilation...some about callendar...?!

Any clue?
I used the first little script cuz the posted ebuild doesn't work.
I put the ebuild posted by you in /usr/local/portage/phoenix_cvs.ebuild and on:
emerge phoenix_cvs
it sais the ebuild not found

If i get into /usr/local/portage/
and run:
emerge phoenix_cvs
I get emerge errors ( specific to emerge not to the ebuild it self )
Someone please specify how the ebuild must be named, where to place it?
Thanks

:roll:
_________________
All for one and one for All
--

MACPRO machine...
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Desktop Environments All times are GMT
Goto page Previous  1, 2, 3, 4, 5, 6, 7, 8  Next
Page 7 of 8

 
Jump to:  
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