Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37038458
en ru br
Репозитории ALT
S:118.0-alt1
4.1: 3.0.9-alt0.M41.1
+updates:3.0.4-alt0.M41.2
4.0: 2.0.0.18-alt0.M40.1
3.0: 1.0.7-alt3
+updates:1.0.8-alt0.M30.1
www.altlinux.org/Changes

Группа :: Сети/WWW
Пакет: firefox

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%def_without debug
%def_with svg
%def_without xprint
%def_with branding
%def_with nspr
%def_with nss
%def_without libxul

%if_with debug
%set_strip_method none
%endif # debug

Summary:        The Mozilla Firefox project is a redesign of Mozilla's browser
Name:           %firefox_name
Version:        %firefox_version
Release:       %firefox_release
License:        MPL/GPL
Group:          Networking/WWW
URL:            http://www.mozilla.org/projects/firefox/

Packager: Alexey Gladkov <legion at altlinux.ru>

Source0: %name-source.tar
Source1: %name-icons.tar
Source3: %name-build-scripts.tar
Source7: %name-searchplugins-addon-1.0.tar
Source9: %name-0.9-alt-ssl-addon-certs.txt
Source10: %name.desktop
Source11: %name-midration.sh
Source12: fix_headers.sh

Patch4: firefox-alt-remove-version-pc.patch
Patch5: firefox-alt-convas-libs.patch
Patch6: firefox-1.5.0.3-alt-plugins-path.patch
Patch7: firefox-1.0-alt-url-handler.patch
Patch8: firefox-alt-prefs-tuning.patch
Patch9: firefox-alt-extensions-dir.patch
Patch10: firefox-1.5.0.1-alt-asm-directive.patch
Patch11: firefox-alt-install-paths-fix.patch
Patch12: mozilla-embedding-linker-fix.patch
Patch13: firefox-alt-fix-alternative-progname.patch

Patch16: firefox-1.5b1-alt-cairo-build-fix.patch
Patch17: firefox-alt-system-nspr-flags.patch

# https://bugzilla.mozilla.org/show_bug.cgi?id=252033

Patch19: firefox-1.5.0.6-gtk2+xft-xrender-workaround.patch

Patch20: firefox-2.0-pango-printing.patch
Patch21: mozilla-alt-default-x11-path.patch
Patch31: firefox-nopangoxft.patch
Patch32: firefox-2.0-alt-allow-x86_64-host-build.patch
Patch33: firefox3-alt-ssl-manager.patch
Patch34: firefox-alt-nss-fix.patch

# Debian patches

Patch40: 01_icons.dpatch
Patch41: 01_locale.dpatch
Patch43: 01_system_bz2.dpatch
Patch46: 80_xpidl.dpatch

BuildRequires(pre): rpm-build-firefox

BuildRequires: doxygen gcc-c++ imake libIDL-devel libXext-devel libXt-devel libgtk+2-devel
BuildRequires: libjpeg-devel libnss-devel-static makedepend nss-utils unzip xorg-cf-files zip
BuildRequires: chrpath browser-plugins-npapi-devel alternatives

BuildRequires: autoconf_2.13
%set_autoconf_version 2.13

%{?_with_nspr:BuildRequires: libnspr-devel}
%{?_with_nspr:Requires: libnspr}

%{?_with_nss:BuildRequires: libnss-devel libnss-devel-static}
%{?_with_nss:Requires: libnss}

%{?_with_svg:BuildRequires: cairo-devel}
%{?_with_xprint:Requires: xorg-x11-xprt}

Requires: gtk+2 >= 2.2.0 url_handler >= 0.2.1-alt2 freetype2 indexhtml browser-plugins-npapi zip
Provides: webclient
Conflicts: firefox < 1.5

%description
The Mozilla Firefox project is a redesign of Mozilla's browser component,
written using the XUL user interface language and designed to be
cross-platform.

%package devel
Summary: The Mozilla Firefox development files
Group: Development/Other

PreReq: rpm-build-firefox = %version-%release
Requires: %name = %version-%release
%{?_with_nss:Requires: libnss-devel}
%{?_with_nspr:Requires: libnspr-devel}

%description devel
The Mozilla Firefox development files

%prep
%setup -q -n %name-%version -c
%setup -q -n %name-%version/mozilla -T -D -a1
%setup -q -n %name-%version/mozilla -T -D -a3

%patch4 -p2
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1 -b .prefs
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch16 -p1

# System NSPR

%patch17 -p1

%patch19 -p0
%patch20 -p1
%patch21 -p1
#patch31 -p1
%patch32 -p2
#patch33 -p1
%patch34 -p1

%patch40 -p1
%patch41 -p1
%patch43 -p1
%patch46 -p1

%if_without nss
# additional CA certificates
cd %_builddir/%name-%version/mozilla/security/nss/lib/ckfw/builtins
cat %SOURCE9 >> certdata.txt
%make generate
cd -
%endif

%build
%add_optflags %optflags_shared
%add_findprov_lib_path %firefox_prefix

%__subst 's|AC_CONFIG_AUX_DIR(\${srcdir}/build/autoconf)|AC_CONFIG_AUX_DIR(build/autoconf)|' configure.in
%__autoconf

# Add fake RPATH

rpath="/$(printf %%s '%firefox_prefix' |tr '[:print:]' '_')"
export LDFLAGS="$LDFLAGS -Wl,-rpath,$rpath"
export LIBIDL_CONFIG=/usr/bin/libIDL-config-2

%configure \
--includedir=%_includedir \
--disable-ldap \
--disable-mailnews \
--disable-composer \
--disable-tests \
--disable-freetype2 \
--disable-installer \
--disable-updater \
--disable-gtktest \
--disable-elf-dynstr-gc \
--enable-application=browser \
--enable-necko-protocols=default \
--enable-extensions=default \
--enable-safe-browsing \
--enable-url-classifier \
--enable-crypto \
--enable-xft \
--enable-default-toolkit=gtk2 \
--enable-reorder \
--enable-shared \
--enable-canvas \
--enable-optimize="-O2" \
%if_with debug
--disable-strip \
--enable-debug \
--enable-debug-modules \
--enable-logrefcnt \
--enable-debugger-info-modules \
--enable-detect-webshell-leaks \
%else
--enable-strip \
--disable-debug \
%endif # debug
%if_with svg
--enable-svg \
--enable-svg-renderer=cairo \
%endif # svg
%if_with xprint
--enable-xprint \
--disable-postscript \
%else
--disable-xprint \
%endif # xprint
%if_with branding
--enable-branding \
--enable-official-branding \
%endif
%if_with libxul
--enable-libxul \
%endif # libxul
\
%if_with nspr
--with-system-nspr \
%endif # nspr
\
%if_with nss
--with-system-nss \
%endif # nss
\
--enable-system-cairo \
--with-system-jpeg \
--with-system-png \
--with-system-zlib \
--with-pthreads \
#

%make_build

%install
%__mkdir_p \
%buildroot/%firefox_arch_extensionsdir \
%buildroot/%firefox_noarch_extensionsdir \
#

%makeinstall \
   idldir=%buildroot/%firefox_idldir \
   includedir=%buildroot/%firefox_includedir \
   mozappdir=%buildroot/%firefox_prefix \
   #

cp -L \
dist/sdk/lib/libxpcomglue.a \
dist/sdk/lib/libxpcomglue_s.a \
dist/sdk/lib/libembed_base_s.a \
%buildroot/%firefox_libdir

%SOURCE12 %_includedir %buildroot/%firefox_includedir

# icons

%__install -D -m 644 mozicon48.png %buildroot/%_liconsdir/%name.png
%__install -D -m 644 mozicon32.png %buildroot/%_niconsdir/%name.png
%__install -D -m 644 mozicon16.png %buildroot/%_miconsdir/%name.png

# install menu file

%__install -D -m 644 %SOURCE10 %buildroot/%_datadir/applications/%name.desktop

%__tar -xC "%buildroot/%firefox_prefix" -f %SOURCE7

%__install -m 755 %SOURCE11 %buildroot/%firefox_initd/S00firefox-midration.sh

# update plugins

%__subst 's, at PLUGIN_PATH at ,%browser_plugins_path,' %buildroot/%firefox_exec

# Add alternatives

mkdir -p %buildroot%_altdir
printf '%_bindir/xbrowser\t%_bindir/firefox\t100\n' >%buildroot%_altdir/%name

# Add real RPATH

rpath="/$(printf %%s '%firefox_prefix' |tr '[:print:]' '_')"
find "%buildroot/%firefox_prefix" -type f |
while read f; do
 %__file "$f" | grep -qs ELF || continue
 if chrpath -l "$f" | fgrep -qs "RPATH=$rpath"; then
   chrpath -r "%firefox_prefix" "$f"
 fi
done

%if_without nspr
# We must rename some file to remove comflicts between Mozilla, Firefox and Thunderbird packages.
find %buildroot/%_datadir/aclocal -type f -execdir %__mv -f \{\} %name-\{\} \;
%endif

# make devel source packege to build extensions

%__mkdir_p %buildroot/%firefox_usrsrc
find %buildroot/%firefox_prefix \
    %buildroot/%firefox_includedir \
    %buildroot/%firefox_idldir \
-follow -xtype f |sed -e 's|^%buildroot||' > ./%name-content-index

%__tar -jcf %buildroot/%firefox_usrsrc/sources.tar.bz2 \
   ./makemake.sh ./build_dist.sh find_install.sh     \
   ./%name-content-index                             \
   ./build                                           \
   ./config                                          \
   ./browser                                         \
   ./mozilla-config.h

%pre
if [ -L "%_libdir/%name" ]; then
d="$(readlink -ev "%_libdir/%name" 2>/dev/null)" &&
rm -rf -- "%_libdir/%name" "$d" ||:
fi
if [ -L "%_datadir/%name" ]; then
d="$(readlink -ev "%_datadir/%name" 2>/dev/null)" &&
rm -rf -- "%_datadir/%name" "$d" ||:
fi

%preun
if [ "$1" = "0" ]; then
   [ ! -d "%firefox_noarch_extensionsdir" ] || %__rm -rf "%firefox_noarch_extensionsdir"
   [ ! -d "%firefox_arch_extensionsdir" ] || %__rm -rf "%firefox_arch_extensionsdir"
   [ ! -d "%firefox_componentsdir" ] || %__rm -rf "%firefox_componentsdir"
   [ ! -d "%firefox_updatesdir" ] || %__rm -rf "%firefox_updatesdir"
fi

%post
%update_menus
%register_alternatives %name

%postun
%clean_menus
%unregister_alternatives %name

%files
%_altdir/%name
%firefox_exec
%firefox_libdir
%firefox_datadir
%defattr(0644,root,root,0755)
%_datadir/applications/%name.desktop
%_niconsdir/%name.png
%_miconsdir/%name.png
%_liconsdir/%name.png
%doc LEGAL LICENSE
# To other package
%exclude %firefox_libdir/regxpcom
%exclude %firefox_libdir/xpcshell
%exclude %firefox_libdir/xpicleanup
%exclude %firefox_libdir/xpidl
%exclude %firefox_libdir/xpt_dump
%exclude %firefox_libdir/xpt_link
%exclude %firefox_libdir/libembed_base_s.a
%exclude %firefox_libdir/libxpcomglue.a
%exclude %firefox_libdir/libxpcomglue_s.a

%files devel
%_bindir/%name-config
%firefox_libdir/regxpcom
%firefox_libdir/xpcshell
%firefox_libdir/xpicleanup
%firefox_libdir/xpidl
%firefox_libdir/xpt_dump
%firefox_libdir/xpt_link
%firefox_libdir/libembed_base_s.a
%firefox_libdir/libxpcomglue.a
%firefox_libdir/libxpcomglue_s.a
%firefox_includedir
%firefox_idldir
%_libdir/pkgconfig/*
%firefox_usrsrc

%if_with nss
%exclude %_libdir/pkgconfig/%name-nss.pc
%endif

%if_with nspr
%exclude %_libdir/pkgconfig/%name-nspr.pc
%else
%_datadir/aclocal/*
%endif

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin