File Source-Navigator.spec of Package Source-Navigator
#
# spec file for package Source-Navigator (Version 5.1.4)
#
# Copyright (c) 2007 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: Source-Navigator
BuildRequires: automake bison flex xorg-x11-devel
BuildRequires: fdupes
License: GPL-2.0-or-later
Group: Development/Tools/IDE
Provides: SN snavig
Version: 5.1.4
Release: 253
Source: sourcenav-%{version}.tar.bz2
Source1: snavigator
Patch: returnval.patch
Patch1: buildfix.patch
Patch2: sourcenav-%{version}.patch
Patch3: sourcenav-%{version}-gcc.patch
Patch4: sourcenav-%{version}-uninitialized.patch
Patch5: sourcenav-%{version}-includes.patch
Patch6: sourcenav-%{version}-cache.patch
Patch7: sourcenav-%{version}-always_false_if.patch
Patch8: sourcenav-%{version}-tcl_config.patch
Patch9: sourcenav-%{version}-increment.patch
URL: http://sourcenav.sourceforge.net/
Summary: Cygnus Source-Navigator
Obsoletes: snavig
%description
Source-Navigator, the source code comprehension tool from Cygnus
Solutions, helps you analyze, reuse, and develop software in C/C++,
Java, Tcl, and FORTRAN. Source-Navigator dramatically reduces the time
required to understand existing code and assists with the restructuring
and reengineering of existing software. Source-Navigator, with its
intuitive graphical user interface, directs you through analysis,
change, build, and debug cycles. Its built-in database enables true
project scalability, even in projects exceeding one million lines of
code.
%package devel
Summary: Cygnus Source-Navigator
Group: Development/Tools/IDE
Requires: %{name} = %{version}
%description devel
Source-Navigator, the source code comprehension tool from Cygnus
Solutions, helps you analyze, reuse, and develop software in C/C++,
Java, Tcl, and FORTRAN. Source-Navigator dramatically reduces the time
required to understand existing code and assists with the restructuring
and reengineering of existing software. Source-Navigator, with its
intuitive graphical user interface, directs you through analysis,
change, build, and debug cycles. Its built-in database enables true
project scalability, even in projects exceeding one million lines of
code.
%package examples
Summary: Cygnus Source-Navigator
Group: Development/Tools/IDE
Requires: %{name} = %{version}
%description examples
Source-Navigator, the source code comprehension tool from Cygnus
Solutions, helps you analyze, reuse, and develop software in C/C++,
Java, Tcl, and FORTRAN. Source-Navigator dramatically reduces the time
required to understand existing code and assists with the restructuring
and reengineering of existing software. Source-Navigator, with its
intuitive graphical user interface, directs you through analysis,
change, build, and debug cycles. Its built-in database enables true
project scalability, even in projects exceeding one million lines of
code.
%define prefix /opt/snavigator
%prep
%autosetup -p0 -n sourcenav-%{version}
%build
%{?suse_update_config:%{suse_update_config -f}}
mkdir makedir
cd makedir
CFLAGS="-fno-strict-aliasing $RPM_OPT_FLAGS" \
CXXFLAGS="-fno-strict-aliasing $RPM_OPT_FLAGS" \
../configure \
--mandir=%{_mandir} \
--prefix=%{prefix} \
--infodir=%{_infodir} \
--sysconfdir=%{_sysconfdir}
make all-snavigator
%install
cd makedir
#make install-snavigator
make install DESTDIR=$RPM_BUILD_ROOT INSTALL_ROOT=$RPM_BUILD_ROOT
#
# link docu and make all non-exec
#
install -m 755 -d $RPM_BUILD_ROOT/{/usr/bin/,%{_docdir}}
#cd $RPM_BUILD_ROOT/%{_docdir}
#ln -s ../../../../opt/snavigator/html Source-Navigator
cd $RPM_BUILD_ROOT/%{prefix}
#chmod -x COPYING
#cd html
#ln -s ../COPYING
#chmod -x progref/*
#chmod -x userguide/*
chmod -x share/demos/monop/*
find share/demos -type d | xargs chmod 755
cd lib
#fixed out of buildroot link
rm -f iwidgets
ln -s ../share/iwidgets* iwidgets
#
# make the run script
#
install -m 755 %{S:1} $RPM_BUILD_ROOT/usr/bin/snavigator
# remove unpackaged files
# we have tcl/tk/tix manpages elsewhere
rm -Rf $RPM_BUILD_ROOT/usr/share/man
#fixes rpmlint errors:
gzip --recursive $RPM_BUILD_ROOT%{prefix}/man
chmod a-x $RPM_BUILD_ROOT%{prefix}/share/{sdk/api/tcl/database/examples/*,iwidgets3.0.1/demos/demo.html,iwidgets3.0.1/demos/iwidgets.gif}
chmod a-x $RPM_BUILD_ROOT%{prefix}/{lib/*.a,COPYING}
%fdupes -s $RPM_BUILD_ROOT
%files
%doc ChangeLog README.TXT
%dir /opt/snavigator/
%dir /opt/snavigator/bin
/opt/snavigator/COPYING
/opt/snavigator/INSTALL.TXT
/opt/snavigator/README.TXT
/opt/snavigator/bin/*
%dir /opt/snavigator/man
/opt/snavigator/man/*
%dir /opt/snavigator/share
/opt/snavigator/share/bitmaps
/opt/snavigator/share/etc
/opt/snavigator/share/itcl3.2
/opt/snavigator/share/itk3.2
/opt/snavigator/share/iwidgets3.0.1
/opt/snavigator/share/redhat
/opt/snavigator/share/sourcenav
/opt/snavigator/share/tcl8.3
/opt/snavigator/share/tix4.1
/opt/snavigator/share/tk8.3
/usr/bin/snavigator
%files devel
%dir /opt/snavigator/lib
/opt/snavigator/lib/*
%dir /opt/snavigator/include
/opt/snavigator/include/*
/opt/snavigator/share/sdk
%files examples
/opt/snavigator/share/demos
%changelog