Sophie

Sophie

distrib > Mandriva > 2009.0 > x86_64 > media > main-testing-src > by-pkgid > e2806d1ea9081063551936fb954453b9 > files > 5

kompozer-0.7.10-3.1mdv2009.0.src.rpm

# underlinking.patch fixes an external underlnking issue, but there's
# also an internal one that looks hard to fix - AdamW 2008/09
%define _disable_ld_as_needed		1
%define _disable_ld_no_undefined	1

%define subrel	1

%define name	kompozer
%define version	0.7.10
%define pre	0
%if %pre
%define release %mkrel -c %pre 1
%else
%define release	%mkrel 3
%endif

%define mozillalibdir %{_libdir}/%{name}

#warning: always end release date with 00
# (it should be the hour of build but it is not significant for rpm)
%define mozdate 2007091700


Summary:	Web authoring system (unofficial successor to nvu)
Name:		%{name}
Version:	%{version}
Release:	%{release}
Url:		http://www.kompozer.net
%if %pre
Source0:	http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}%{pre}-src.tar.bz2
%else
Source0:	http://prdownloads.sourceforge.net/%{name}/%{name}-%{version}-src.tar.bz2
%endif
Source1:	nvu-rebuild-databases.pl.in.generatechrome.bz2
Source2:	nvu-generate-chrome.sh.bz2
Patch0:		nvu-freetype2.patch
Patch1:		nvu-myspell.patch
Patch4:		nvu-locale.patch
Patch5:		nvu-0.81-systemnspr.patch
# (fc) 0.81-3mdk fix extension manager (from Firefox package)
Patch7:		nvu-0.81-fixextensionmanager.patch
# (fc) 0.81-4mdk fix GIF vulnerability CAN-2005-0399
Patch8:		nvu-0.81-gifvulnerability.patch
# (fc) 1.0.2-2mdk fix JS vulnerability (CVS) (Moz bug #288688)
Patch9:		nvu-0.81-jsvulnerability.patch
# (fc) 1.0.2-2mdk add env variable to disable GNOME uri handler (Fedora)
Patch10:	nvu-0.81-gnome-uriloader.patch
# (fc) 1.0-3mdk fix user agent
Patch13:	nvu-1.0-mandriva.patch
# (fc) 1.0-3mdk fix default app for www/ftp
Patch14:	kompozer-0.7.10-browser.patch
# (couriousous) fix gcc 4.1 build
Patch16:	nvu-gcc4.1-fix.patch
# Fix underlinking - AdamW 2008/09
Patch17:	kompozer-0.7.10-underlinking.patch
# Fix an overflow (which causes app to fail to run when built with
# fortification, #44830) - thanks Willem van Engen - AdamW 2008/12
Patch18:	kompozer-0.7.10-overflow.patch

License: GPLv2+ and LGPLv2+ and MPLv1.1
Group: Development/Other
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot

BuildRequires:	ImageMagick
BuildRequires:  zip tcsh
BuildRequires:	libIDL-devel
BuildRequires:  libjpeg-devel
BuildRequires:	libgnome2-devel
BuildRequires:  gnome-vfs2-devel
BuildRequires:  gtk+2-devel >= 2.2.0
BuildRequires:	libnspr-devel
BuildRequires:	libnss-devel
BuildRequires:	libpng-devel
BuildRequires:	libxp-devel
BuildRequires:	libxt-devel
BuildRequires:	autoconf2.1

Obsoletes:	nvu
Provides:	nvu

# do not provides mozilla lib
%define _provides_exceptions libnspr4.so\\|libplc4.so\\|libplds4.so\\|libnss\\|libsmime3\\|libsoftokn\\|libssl3\\|libgtkembedmoz.so\\|libxp.*
%define _requires_exceptions libnspr4.so\\|libplc4.so\\|libplds4.so\\|libnss\\|libsmime3\\|libsoftokn\\|libssl3\\|libgtkembedmoz.so\\|libxp.*

%description
Kompozer is a complete Web authoring system that combines web file 
management and easy-to-use WYSIWYG web page editing. Kompozer is 
designed to be extremely easy to use, making it ideal for 
non-technical computer users who want to create an attractive, 
professional-looking web site without needing to know HTML or web 
coding. 

Kompozer is an unofficial continuation of nvu, which was apparently
abandoned in 2005.

%package devel
Summary:        Kompozer development files
Group:          Development/Other
Requires:       %{name} = %{version}
Conflicts:	%mklibname -d js 1

%description devel
Kompozer development files.


%prep
%setup -q -c %{name}-%{version}
%setup -T -D -n %{name}-%{version}/mozilla
%patch0 -p1
%patch1 -p1
%patch4
%patch5 -p1 -b .systemnspr
%patch7 -p1 -b .fixextensionmanager
%patch8 -p1 -b .gifvulnerability
%patch9 -p1 -b .jsvulnerability
%patch10 -p1 -b .gnome-uriloader
%patch13 -p1 -b .mandriva
%patch14 -p1 -b .launcher
%patch16 -p0 -b .gcc4.1
%patch17 -p1 -b .underlink
%patch18 -p1 -b .overflow
# let jars get compressed
%__perl -p -i -e 's|\-0|\-9|g' config/make-jars.pl

%build
# required by underlinking.patch
autoconf-2.13

export MOZILLA_OFFICIAL=1
export BUILD_OFFICIAL=1
export MOZ_STANDALONE_COMPOSER=1
export MOZ_BUILD_DATE=%{mozdate}

%define __libtoolize /bin/true
%define __cputoolize /bin/true

%configure \
  --without-system-nspr \
  --without-system-nss \
  --enable-optimize="$RPM_OPT_FLAGS" --disable-debug --disable-svg --without-system-mng --with-system-png --with-system-jpeg --disable-ldap --disable-mailnews --disable-installer --disable-activex --disable-activex-scripting --disable-tests --disable-oji --disable-necko-disk-cache --enable-single-profile --disable-profilesharing --enable-extensions=wallet,spellcheck,xmlextras,pref,universalchardet,inspector --enable-image-decoders=png,gif,jpeg --enable-necko-protocols=http,ftp,file,jar,viewsource,res,data --disable-pedantic --disable-short-wchar --enable-xprint --enable-strip-libs --enable-crypto --disable-mathml --with-system-zlib --enable-toolkit=gtk2 --enable-default-toolkit=gtk2 --enable-xft --enable-freetype2 --with-default-mozilla-five-home=%{mozillalibdir}

%make

%install
rm -rf $RPM_BUILD_ROOT
%makeinstall_std

# multiarch files
%multiarch_binaries $RPM_BUILD_ROOT%{_bindir}/kompozer-config
%multiarch_includes $RPM_BUILD_ROOT%{_includedir}/%{name}/mozilla-config.h
%multiarch_includes $RPM_BUILD_ROOT%{_includedir}/%{name}/js/jsautocfg.h

mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-%{name}.desktop << EOF
[Desktop Entry]
Name=Kompozer
Comment=Web authoring system
Exec=%{_bindir}/%{name} %u
Icon=%{name}
Terminal=false
Type=Application
Categories=GTK;Development;WebDevelopment;X-Mandriva-CrossDesktop;
EOF

mkdir -p $RPM_BUILD_ROOT%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
install -m 644 $RPM_BUILD_ROOT%{mozillalibdir}/icons/mozicon16.xpm  $RPM_BUILD_ROOT%{_iconsdir}/hicolor/16x16/apps/%{name}.png
convert -scale 32x32  $RPM_BUILD_ROOT%{mozillalibdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_iconsdir}/hicolor/32x32/apps/%{name}.png 
convert -scale 48x48  $RPM_BUILD_ROOT%{mozillalibdir}/icons/mozicon50.xpm $RPM_BUILD_ROOT%{_iconsdir}/hicolor/48x48/apps/%{name}.png 

# install our rebuild file
bzcat %{SOURCE1} | sed -e "s|mozilla-MOZILLA_VERSION|%{name}-%{version}|g;s|LIBDIR|%{_libdir}|g" > \
  $RPM_BUILD_ROOT%{mozillalibdir}/mozilla-rebuild-databases.pl
chmod 755 $RPM_BUILD_ROOT%{mozillalibdir}/mozilla-rebuild-databases.pl

# install our file to rebuild the chrome registry so that we can
# produce Kompozer extentions in RPM
mkdir -p $RPM_BUILD_ROOT%{mozillalibdir}/chrome/rc.d
bzcat %{SOURCE2} > \
  $RPM_BUILD_ROOT%{mozillalibdir}/chrome/rc.d/generate-chrome.sh

chmod 755 $RPM_BUILD_ROOT%{mozillalibdir}/chrome/rc.d/generate-chrome.sh

# remove unpackaged files
rm -f $RPM_BUILD_ROOT%{mozillalibdir}/{libnspr4.so,libplc4.so,libplds4.so,libnss3.so,libnssckbi.so,libsmime3.so,libsoftokn3.so,libssl3.so,libsoftokn3.chk,TestGtkEmbed}

#ghost files
mkdir -p $RPM_BUILD_ROOT%{mozillalibdir}/extensions
touch $RPM_BUILD_ROOT%{mozillalibdir}/chrome/chrome.rdf
for overlay in {"browser","communicator","editor","inspector","messenger","navigator"}; do
  %{__mkdir_p} $RPM_BUILD_ROOT%{mozillalibdir}/chrome/overlayinfo/$overlay/content
  touch $RPM_BUILD_ROOT%{mozillalibdir}/chrome/overlayinfo/$overlay/content/overlays.rdf
done
touch $RPM_BUILD_ROOT%{mozillalibdir}/extensions/installed-extensions-processed.txt
touch $RPM_BUILD_ROOT%{mozillalibdir}/extensions/Extensions.rdf
touch $RPM_BUILD_ROOT%{mozillalibdir}/components.ini
touch $RPM_BUILD_ROOT%{mozillalibdir}/defaults.ini
touch $RPM_BUILD_ROOT%{mozillalibdir}/components/compreg.dat
touch $RPM_BUILD_ROOT%{mozillalibdir}/components/xpti.dat


%clean
rm -rf $RPM_BUILD_ROOT

%post
%if %mdkversion < 200900
%{update_menus}
%{update_icon_cache hicolor}
%endif
if [ "$1" == "2" ]; then
  if [ ! -f %{mozillalibdir}/components.ini -o ! -f %{mozillalibdir}/defaults.ini ]; then
	#fix older broken install if needed
	rm -f %{mozillalibdir}/components/*.dat
  fi
fi

export HOME="/root" MOZ_DISABLE_GNOME=1
# force correct umask
umask 022
%{_bindir}/%{name} -register
%{mozillalibdir}/mozilla-rebuild-databases.pl

%if %mdkversion < 200900
%postun
%{clean_menus}
%{clean_icon_cache hicolor}
%endif

%files
%defattr(-,root,root)
%doc LICENSE LEGAL README.txt
%{_bindir}/%{name}
%{_datadir}/applications/*.desktop
%{_iconsdir}/hicolor/16x16/apps/%{name}.png
%{_iconsdir}/hicolor/32x32/apps/%{name}.png
%{_iconsdir}/hicolor/48x48/apps/%{name}.png
%{mozillalibdir}
%ghost %{mozillalibdir}/chrome/chrome.rdf
%ghost %{mozillalibdir}/chrome/overlayinfo/browser/content/overlays.rdf
%ghost %{mozillalibdir}/chrome/overlayinfo/communicator/content/overlays.rdf
%ghost %{mozillalibdir}/chrome/overlayinfo/inspector/content/overlays.rdf
%ghost %{mozillalibdir}/chrome/overlayinfo/messenger/content/overlays.rdf
%ghost %{mozillalibdir}/chrome/overlayinfo/navigator/content/overlays.rdf
%ghost %{mozillalibdir}/extensions/Extensions.rdf
%ghost %{mozillalibdir}/extensions/installed-extensions-processed.txt
%ghost %{mozillalibdir}/components.ini
%ghost %{mozillalibdir}/defaults.ini
%ghost %{mozillalibdir}/components/compreg.dat
%ghost %{mozillalibdir}/components/xpti.dat

%files devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/*.pc
%{_bindir}/kompozer-config
%multiarch %{multiarch_bindir}/kompozer-config
%{_datadir}/idl/%{name}
%{_includedir}/%{name}
%{_datadir}/aclocal/nspr.m4
%multiarch %{multiarch_includedir}/* 



%changelog
* Fri Dec 12 2008 Adam Williamson <awilliamson@mandriva.com> 0.7.10-3.1mdv2009.0
+ Revision: 313566
- add overflow.patch (fix the buffer overflow that caused kompozer to crash
  on run, #44830, thanks Willem van Engen)

* Mon Sep 29 2008 Adam Williamson <awilliamson@mandriva.com> 0.7.10-3mdv2009.0
+ Revision: 289888
- disable underlinking protection as there's an internal issue which cannot
  be easily fixed
- add underlinking.patch: fixes an external underlinking issue
- rebuild for 2009

  + Pixel <pixel@mandriva.com>
    - rpm filetriggers deprecates update_menus/update_scrollkeeper/update_mime_database/update_icon_cache/update_desktop_database/post_install_gconf_schemas

* Sun Jan 13 2008 Thierry Vignaud <tvignaud@mandriva.com> 0.7.10-2mdv2008.1
+ Revision: 150433
- rebuild
- kill re-definition of %%buildroot on Pixel's request

  + Olivier Blin <oblin@mandriva.com>
    - restore BuildRoot

* Tue Sep 18 2007 Adam Williamson <awilliamson@mandriva.com> 0.7.10-1mdv2008.0
+ Revision: 89389
- adjust some paths due to an upstream change in directory naming
- fix menu categories (#33660)
- correct build date

  + Funda Wang <fundawang@mandriva.org>
    - 0.7.10 final

  + Thierry Vignaud <tvignaud@mandriva.com>
    - kill desktop-file-validate's 'warning: key "Encoding" in group "Desktop Entry" is deprecated'

* Mon Aug 20 2007 Adam Williamson <awilliamson@mandriva.com> 0.7.10-0.rc6.1mdv2008.0
+ Revision: 68024
- Import kompozer