|
|
@@ -0,0 +1,217 @@
|
|
|
+##
|
|
|
+## firefox.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: firefox
|
|
|
+Summary: Graphical Web Browser
|
|
|
+URL: http://www.mozilla.org/products/firefox/
|
|
|
+Vendor: The Mozilla Project
|
|
|
+Packager: The OpenPKG Project
|
|
|
+Distribution: OpenPKG
|
|
|
+Class: EVAL
|
|
|
+Group: Web
|
|
|
+License: MPL
|
|
|
+Version: 0.8
|
|
|
+Release: 20040210
|
|
|
+
|
|
|
+# package options
|
|
|
+%option with_optimize yes
|
|
|
+
|
|
|
+# list of sources
|
|
|
+Source0: ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/%{version}/firefox-source-%{version}.tar.bz2
|
|
|
+Source1: ftp://ftp.openpkg.org/sources/CPY/mozilla/mozilla-1.4-libart.tar.bz2
|
|
|
+Source2: firefox.sh
|
|
|
+Source3: firefox.pod
|
|
|
+Patch0: firefox.patch
|
|
|
+
|
|
|
+# build information
|
|
|
+Prefix: %{l_prefix}
|
|
|
+BuildRoot: %{l_buildroot}
|
|
|
+BuildPreReq: OpenPKG, openpkg >= 20040130, make, gcc, perl
|
|
|
+PreReq: OpenPKG, openpkg >= 20040130, xsel
|
|
|
+BuildPreReq: X11, glib, gtk, orbit, libiconv, infozip, openssl, freetype
|
|
|
+PreReq: X11, glib, gtk, orbit, libiconv, infozip, openssl, freetype
|
|
|
+AutoReq: no
|
|
|
+AutoReqProv: no
|
|
|
+
|
|
|
+%description
|
|
|
+ Firefox is a speedy, full-featured Web browser based on the Mozilla
|
|
|
+ codebase. It uses the Mozilla Gecko engine for rendering the Mozilla
|
|
|
+ Web content and XUL for presenting the GUI.
|
|
|
+
|
|
|
+%track
|
|
|
+ prog firefox = {
|
|
|
+ version = %{version}
|
|
|
+ url = ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/
|
|
|
+ regex = (__VER__)
|
|
|
+ url = ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/__NEWVER__/
|
|
|
+ regex = firefox-source-(__VER__)\.tar\.bz2
|
|
|
+ }
|
|
|
+
|
|
|
+%prep
|
|
|
+ # 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/firefox \
|
|
|
+ --includedir=%{l_prefix}/include/firefox \
|
|
|
+ --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
|
|
|
+ --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/firefox;" \
|
|
|
+ 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 firefox.pod} >firefox.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/firefox \
|
|
|
+ $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/firefox && %{l_tar} -xf - ) || exit $?
|
|
|
+
|
|
|
+ # add startup convinience wrapper
|
|
|
+ %{l_shtool} install -c -m 755 %{l_value -s -a} \
|
|
|
+ %{SOURCE firefox.sh} $RPM_BUILD_ROOT%{l_prefix}/bin/firefox
|
|
|
+ %{l_shtool} install -c -m 644 \
|
|
|
+ firefox.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
|
|
|
+
|