## ## mozilla.spec -- OpenPKG RPM Specification ## Copyright (c) 2000-2003 The OpenPKG Project ## Copyright (c) 2000-2003 Ralf S. Engelschall ## Copyright (c) 2000-2003 Cable & Wireless ## ## Permission to use, copy, modify, and distribute this software for ## any purpose with or without fee is hereby granted, provided that ## the above copyright notice and this permission notice appear in all ## copies. ## ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF ## SUCH DAMAGE. ## # package information Name: mozilla Summary: Graphical Internet Communication Frontend URL: http://www.mozilla.org/ Vendor: The Mozilla Project Packager: The OpenPKG Project Distribution: OpenPKG [PLUS] Group: Web License: MPL Version: 1.5.1 Release: 20031223 # package options %option with_optimize yes %option with_mailnews no %option with_composer no # list of sources Source0: ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla%{version}/src/mozilla-source-%{version}.tar.bz2 Source1: ftp://ftp.openpkg.org/sources/CPY/mozilla/mozilla-1.4-libart.tar.bz2 Source2: mozilla.sh Source3: mozilla.pod Patch0: mozilla.patch # build information Prefix: %{l_prefix} BuildRoot: %{l_buildroot} BuildPreReq: OpenPKG, openpkg >= 20030717, make, gcc, perl PreReq: OpenPKG, openpkg >= 20030717, xsel BuildPreReq: X11, glib, gtk, orbit, libiconv, infozip, openssl, freetype PreReq: X11, glib, gtk, orbit, libiconv, infozip, openssl, freetype AutoReq: no AutoReqProv: no %description Mozilla is a full-featured Open Source Internet communication frontend derived from the popular Netscape Communicator. It provides Web, Mail, News and Chat client services and is designed for standards compliance, performance and portability. %prep # display a warning that this package is a beast ( echo "This package requires about 540 MB of free disk space, 200 MB of RAM" echo "and 70 minutes real-time to build on a Pentium-III 800Mhz class CPU." echo "So be prepared and patient, please... ;-)" ) | %{l_rpmtool} msg -b -t notice # extract source distribution %setup -q -n mozilla %setup -q -n mozilla -D -T -a 1 # patch source distribution %patch -p0 # strip down source distribution (save disk space) find . -type d -name "CVS" -print | xargs rm -rf find . -type d -name "macbuild" -print | xargs rm -rf find . -type f -name ".cvsignore" -print | xargs rm -f find . -type f -name "makefile.win" -print | xargs rm -f find . -type f -name "MANIFEST" -print | xargs rm -f rm -rf build/package %build # determine X11 paths x11_libdir=`%{l_prefix}/etc/rc --query x11_libdir` x11_incdir=`%{l_prefix}/etc/rc --query x11_incdir` # determine build flags CC="%{l_cc}" CXX="%{l_cxx}" CFLAGS="%{l_cflags} %{l_cppflags} -I${x11_incdir}" CXXFLAGS="%{l_cxxflags} -Wno-deprecated %{l_cppflags}" CPPFLAGS="%{l_cppflags glib} -I${x11_incdir}" LDFLAGS="-L`pwd`/dist/bin -L`pwd`/dist/lib -L`pwd`/dist/lib/components" LDFLAGS="$LDFLAGS %{l_ldflags} -L${x11_libdir}" GLIB_CONFIG="%{l_prefix}/bin/glib-config" GTK_CONFIG="%{l_prefix}/bin/gtk-config" LIBIDL_CONFIG="%{l_prefix}/bin/libIDL-config" PERL="%{l_prefix}/bin/perl" MOZ_INTERNAL_LIBART_LGPL=1 export CC CXX CFLAGS CXXFLAGS CPPFLAGS LDFLAGS export GLIB_CONFIG GTK_CONFIG LIBIDL_CONFIG export MOZ_INTERNAL_LIBART_LGPL # configure source ./configure \ --prefix=%{l_prefix} \ --libdir=%{l_prefix}/lib/mozilla \ --includedir=%{l_prefix}/include/mozilla \ --with-x \ --x-includes=`%{l_prefix}/etc/rc --query x11_incdir` \ --x-libraries=`%{l_prefix}/etc/rc --query x11_libdir` \ --enable-default-toolkit=gtk \ --enable-toolkit-gtk \ --disable-toolkit-qt \ --disable-toolkit-xlib \ --with-gtk-prefix=%{l_prefix} \ --with-glib-prefix=%{l_prefix} \ --with-libIDL-prefix=%{l_prefix} \ --with-system-jpeg=%{l_prefix} \ --with-system-png=%{l_prefix} \ --with-system-zlib=%{l_prefix} \ --with-ft-prefix=%{l_prefix} \ --enable-freetype2 \ --enable-jsd \ --enable-crypto \ --enable-chrome-format=jar \ --enable-svg \ --enable-static \ --enable-strip \ %if "%{with_optimize}" == "yes" --enable-optimize="-O2" \ %else --disable-optimize \ %endif %if "%{with_mailnews}" == "yes" --enable-mailnews \ %else --disable-mailnews \ %endif %if "%{with_composer}" == "yes" --enable-composer \ %else --disable-composer \ %endif --disable-xft \ --disable-xinerama \ --disable-shared \ --disable-tests \ --disable-ldap \ --disable-accessibility \ --disable-debug \ --disable-dtd-debug \ --disable-pedantic \ --disable-auto-deps \ --disable-md \ --disable-cpp-exceptions \ --disable-cpp-rtti \ --disable-xterm-updates \ --disable-elf-dynstr-gc \ --with-pthreads # build program %{l_make} %{l_mflags} # post-adjustments to builded program ( cd dist/bin # prepare for multi-user usage LD_LIBRARY_PATH=.; export LD_LIBRARY_PATH MOZILLA_FIVE_HOME=.; export MOZILLA_FIVE_HOME ./regxpcom || true ./regchrome || true touch chrome/user-skins.rdf chrome/user-locales.rdf # re-adjust paths to reflect final location %{l_shtool} subst \ -e "s;`pwd`;%{l_prefix}/lib/mozilla;" \ components/xpti.dat components/compreg.dat # strip down installation tree find . -type d -depth -print | xargs rmdir >/dev/null 2>&1 || true rm -f mozilla-config mkdepend nsinstall bloaturls.txt TestGtk* LICENSE README rm -rf res/samples # workaround run-time startup problems mkdir .autoreg >/dev/null 2>&1 || true ) || exit $? # generate manual page for startup convinience wrapper %{l_prefix}/bin/pod2man \ --section=1 --quotes=none \ --release="Mozilla %{version}" --center="%{packager}" \ %{SOURCE mozilla.pod} >mozilla.1 %install rm -rf $RPM_BUILD_ROOT # generate temporary installation tree %{l_shtool} mkdir -f -p -m 755 \ $RPM_BUILD_ROOT%{l_prefix}/bin \ $RPM_BUILD_ROOT%{l_prefix}/lib/mozilla \ $RPM_BUILD_ROOT%{l_prefix}/man/man1 # move files into temporary installation tree ( cd dist/bin && %{l_tar} -chf - . ) |\ ( cd $RPM_BUILD_ROOT%{l_prefix}/lib/mozilla && %{l_tar} -xf - ) || exit $? # add startup convinience wrapper %{l_shtool} install -c -m 755 %{l_value -s -a} \ %{SOURCE mozilla.sh} $RPM_BUILD_ROOT%{l_prefix}/bin/mozilla %{l_shtool} install -c -m 644 \ mozilla.1 $RPM_BUILD_ROOT%{l_prefix}/man/man1/ # determine installation files %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} %files -f files %clean rm -rf $RPM_BUILD_ROOT