# 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.
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.
There is another ebuild for phoenix here: http://cvs.gentoo.org/~sethbc/phoenix-cvs-0.5-r1.ebuild
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-