Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 13002 - phoenix ebuild
Summary: phoenix ebuild
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: phoen][x
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-31 22:54 UTC by vers_iq
Modified: 2003-04-06 05:35 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description vers_iq 2002-12-31 22:54:19 UTC
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License, v2 or later

filter-flags "-fomit-frame-pointer"
inherit flag-o-matic gcc makeedit

MY_PN=${PN/_}
S=${WORKDIR}/mozilla
DESCRIPTION="The Phoenix Web Browser"
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla/nightly/latest/mozilla-source.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
   >=x11-libs/xft-2.0
   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}/../
   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
 
   export MAKE="emake"
   export CXXFLAGS="${CXXFLAGS} -Wno-deprecated"

    cd ${S}
    einfo "Configuring Mozilla..."
   ./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/* ${D}/usr/lib/phoenix
     
     touch ${S}/phoenix
     echo "#!/bin/bash" >>${S}/phoenix
     echo "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 ${D}/usr/lib/phoenix/plugins /${D}usr/lib/phoenix/plugins.temp
     dosym ../nsbrowser/plugins /usr/lib/phoenix/
     mv ${D}/usr/lib/phoenix/plugins.temp/* ${D}/usr/lib/phoenix/plugins/
     rmdir ${D}/usr/lib/phoenix/plugins.temp
}

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

This is a nasty hack based on mozilla and phoenix-bin ebuilds. This are my
recommendations if this ebuild to be ported into portage.

1. use the release version of mozilla source. nigthly source changes every day
and it may be broken on certain days.
2. Drop the cvs part. 
3. Better way to use /usr/lib/nsbrowser/plugins

What i had in mind actually is, the developer choose the best nightly source
(most stable) then run cvs to fetch browser and toolkit (phoenix components)
then diff -NuaR it with the latest mozilla release source, the patch produced
should be kept in ${FILESDIR}. thus epatch is used instead of cvs, and everybody
will have the buildid.
Comment 1 Stewart (RETIRED) gentoo-dev 2003-03-17 03:26:34 UTC
I'd really like to see this notion updated and possibly used. I was just ruminating about the strangeness of having a Phoenix-Bin ebuild and a Mozilla (source) ebuild (Bug #17466), when having source and binary ebuilds for both platforms would be optimal.

A few minor niggles regarding this proposed ebuild, if I may;

o All (possible) dependancies should be prepended with flag? - there are a lot of forced dependancies in there, and I, for one, don't want to be arm-twisted into running the likes of GNOME. ;)
o The release (version-only) source should be used, rather than CVS. Perhaps a solid ebuild from a popular Linux distribution would be enough to push the Mozilla.org people to start including 0.x source tarballs in their release directory tree.
o The possibility to use QT, rather than GTK(2) is being developed; perhaps some logic could be implemented to decide which GUI to build.
Comment 2 Tobias Sager 2003-03-17 07:31:24 UTC
There is another ebuild for phoenix here:

http://cvs.gentoo.org/~sethbc/phoenix-cvs-0.5-r1.ebuild
Comment 3 phoen][x 2003-04-06 05:35:25 UTC
phoenix-cvs renders this ebuild obsolete, does it not?

I'll close this bug RESO WONTFIX - thanks for the contribution to all of you.

-phoen][x-