You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
226 lines
7.8 KiB
226 lines
7.8 KiB
## |
|
## mozilla.spec -- OpenPKG RPM Specification |
|
## Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/> |
|
## Copyright (c) 2000-2004 Ralf S. Engelschall <rse@engelschall.com> |
|
## Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/> |
|
## |
|
## 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.6 |
|
Release: 20040116 |
|
|
|
# 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 |
|
|
|
|