File nvu.spec of Package nvu

#
# spec file for package nvu (Version 1.0)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           nvu
BuildRequires:  gcc-c++ gtk2-devel krb5-devel libgnome-devel libidl-devel mozilla-nspr-devel orbit-devel tcsh unzip update-desktop-files zip
%define NVU 1
License:        GPL v2 or later; LGPL v2.1 or later; MOZILLA PUBLIC LICENSE (MPL/NPL)
Version:        1.0
Release:        146
Summary:        Web Authoring System
Url:            http://www.nvu.com/
Group:          Productivity/Publishing/HTML/Editors
Source:         %{name}-%{version}-sources.tar.bz2
Source1:        nvu.desktop
Source2:        nvu.png
Patch:          mozilla-freetype218.patch
Patch1:         nvu-retval.patch
Patch2:         nss-opt.patch
Patch3:         mozilla-gcc4.patch
Patch4:         system-nspr.patch
Patch5:         gtk.patch
Patch6:         nvu-implicit_decl.patch
Patch7:         dumpstack.patch
Patch8:         nvu-undefined-operation.patch
Patch9:         nvu-uninitialized-variable.patch
Patch10:        nvu-overflow.patch
Patch11:        unused-includes.patch
%define _use_internal_dependency_generator 0
%define my_provides %{_builddir}/%{?buildsubdir}/my-provides
%define my_requires %{_builddir}/%{?buildsubdir}/my-requires
AutoReqProv:    on
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
A complete Web authoring system for Linux Desktop users, similar to
Microsoft Windows programs like FrontPage and Dreamweaver. Nvu
(pronounced N-view, for a "new view") makes managing a Web site a snap.
Now anyone can create Web pages and manage a Web site with no technical
expertise or HTML knowledge.

Nvu Features

* WYSIWYG editing of pages, making Web creation as easy as typing a
   letter with your word processor.

* Integrated file management via FTP.  Simply log in to your Web
   site and navigate through your files, editing Web pages on the
   fly, directly from your site.

* Reliable HTML code creation that works with today's most popular
   browsers.

* Jump between WYSIWYG editing mode and HTML using tabs.

* Tabbed editing to make working on multiple pages a snap.

* Powerful support for frames, forms, tables, and templates.



Authors:
--------
    Linspire, Inc.
    Mozilla Foundation <drivers@mozilla.org>

%prep
%setup -q -n mozilla
%patch
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10
%patch11
cp composer/config/mozconfig.linux .mozconfig
echo "ac_add_options --with-system-nspr" >>.mozconfig
echo "export CFLAGS=\"$RPM_OPT_FLAGS -fno-strict-aliasing\"" >>.mozconfig
echo "export CXXFLAGS=\"$RPM_OPT_FLAGS -fno-strict-aliasing\"" >>.mozconfig
echo "export HOST_CFLAGS=\"$RPM_OPT_FLAGS -fno-strict-aliasing\"" >>.mozconfig
echo "export HOST_CXXFLAGS=\"$RPM_OPT_FLAGS -fno-strict-aliasing\"" >>.mozconfig
echo "ac_add_option --enable-optimize=\"$CFLAGS\"" >>.mozconfig

%build
export LDFLAGS=-L/usr/X11R6/%_lib
# Work around build problems with system nspr:
export LIBRARY_PATH=$PWD/dist/lib
# Work around make -j running ./configure twice
make -f client.mk %_builddir/mozilla/Makefile
make -f client.mk %_builddir/mozilla/config.status
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
make -f client.mk build_all %{?jobs:-j%jobs}

%install
mkdir -p $RPM_BUILD_ROOT/usr/lib/nvu
cp -rL dist/bin/* $RPM_BUILD_ROOT/usr/lib/nvu
cp -rL dist/bin/.autoreg $RPM_BUILD_ROOT/usr/lib/nvu
mkdir -p $RPM_BUILD_ROOT/usr/bin
ln -s ../lib/nvu/nvu $RPM_BUILD_ROOT/usr/bin/nvu
mkdir -p $RPM_BUILD_ROOT/usr/share/applications
cp %{S:1} $RPM_BUILD_ROOT/usr/share/applications
mkdir -p $RPM_BUILD_ROOT/usr/share/pixmaps
cp %{S:2} $RPM_BUILD_ROOT/usr/share/pixmaps
%suse_update_desktop_file nvu Network WebDevelopment
$RPM_BUILD_ROOT/usr/lib/nvu/run-mozilla.sh $RPM_BUILD_ROOT/usr/lib/nvu/regxpcom
$RPM_BUILD_ROOT/usr/lib/nvu/run-mozilla.sh $RPM_BUILD_ROOT/usr/lib/nvu/regchrome
$RPM_BUILD_ROOT/usr/lib/nvu/run-mozilla.sh $RPM_BUILD_ROOT/usr/lib/nvu/nvu-bin -register
sed -i s:$RPM_BUILD_ROOT::g $RPM_BUILD_ROOT/usr/lib/nvu/components/xpti.dat
cat << EOF > %{my_provides}
cat > /dev/null
#! /bin/sh
echo /usr/bin/nvu
EOF
cat << EOF > %{my_requires}
#! /bin/sh
/usr/lib/rpm/find-requires |
while read ; do
    if ! test -e $RPM_BUILD_ROOT/usr/lib/nvu/\${REPLY%%%%(*} ; then #)
	echo "\$REPLY"
    fi
done
EOF
chmod 755 %{my_provides} %{my_requires}
%define __find_provides %{my_provides}
%define __find_requires %{my_requires}

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr (-, root, root)
/usr/bin/*
/usr/lib/nvu
/usr/share/*/nvu.*

%changelog
* Mon May 19 2008 schwab@suse.de
- Remove unused includes.
* Wed Apr 30 2008 sbrabec@suse.cz
- Set MAXPATHLEN correctly to prevent buffer overflow crash.
* Thu Jun 07 2007 sbrabec@suse.cz
- Removed invalid desktop Category "Application" (#254654).
* Thu May 31 2007 sbrabec@suse.cz
- Fixed undefined behavior of code and undefined variables.
- Build everything with RPM_OPT_FLAGS.
* Fri May 11 2007 ro@suse.de
- added unzip to buildrequires
* Mon Nov 13 2006 sbrabec@suse.cz
- Fixed Requires/Provides correctly (#216100#c14).
* Fri Nov 03 2006 sbrabec@suse.cz
- Do not provide and require internal libraries (#216100).
* Sat Sep 30 2006 aj@suse.de
- Cleanup BuildRequires.
* Wed Feb 15 2006 stbinner@suse.de
- fix GenericName in .desktop file
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 24 2006 mmarek@suse.cz
- fix parallel build
* Thu Jan 19 2006 sbrabec@suse.cz
- Fixed build error (added dumpstack.patch from MozillaFirefox).
* Tue Sep 27 2005 ro@suse.de
- fix inplicit function declaration
* Fri Aug 19 2005 sbrabec@suse.cz
- Added gtk.patch from mozilla.
* Tue Aug 02 2005 sbrabec@suse.cz
- Updated nss-opt.patch from mozilla.
* Thu Jun 30 2005 sbrabec@suse.cz
- Updated to version 1.0.
* Wed May 11 2005 sbrabec@suse.cz
- Build with system nspr (#78320).
* Tue May 10 2005 sbrabec@suse.cz
- Do not require self-provided libraries (#78320).
* Fri Apr 22 2005 ro@suse.de
- apply mozilla-gcc4.patch
* Sat Mar 19 2005 ro@suse.de
- try to fix build
* Fri Mar 18 2005 sbrabec@suse.cz
- Do not provide mozilla libraries (#73619).
* Thu Feb 03 2005 sbrabec@suse.cz
- Build as separate package.
- Updated to version 0.80.
* Thu Nov 18 2004 ro@suse.de
- use kerberos-devel-packages
* Fri Sep 24 2004 stark@suse.de
- enabled logging for non-debug builds to be able to get some
  logfiles for debugging
* Thu Sep 23 2004 sbrabec@suse.cz
- Fixed desktop file and icon.
* Sat Sep 18 2004 stark@suse.de
- added security-fix to mozilla source (doesn't affect NVU)
* Fri Sep 17 2004 ro@suse.de
- one lib64 in path is enough, change progdir
* Wed Sep 15 2004 ro@suse.de
- use version number directly
* Wed Sep 15 2004 sbrabec@suse.cz
- New SuSE package, version 0.41.
openSUSE Build Service is sponsored by