File f2c.spec of Package f2c
#
# spec file for package f2c (Version 0.11)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: f2c
BuildRequires: tcsh unzip
License: X11/MIT
Group: Development/Languages/Fortran
AutoReqProv: on
# bug437293
%ifarch ppc64
Obsoletes: f2c-64bit
%endif
%ifarch ppc
Obsoletes: f2c-32bit
%endif
#
Version: 0.11
Release: 1196
Summary: A Fortran-77 to C Translator
Source: f2c.tgz
Source1: yaf77-1.6.tgz
Source2: libf2c.zip
Source3: f2c.h.gz
Source4: f2c.ps.gz
Source5: permission.gz
Source6: readme.gz
Source7: disclaimer.gz
Source8: changes.gz
Source9: f2c.1t.gz
Source10: fc.gz
Patch: f2c.dif
Patch1: tmpfile-fix.patch
Patch2: f2c-optflags.patch
Patch3: yyparse.patch
Patch4: f2c-integer.diff
Patch5: f2c-malloccheck.diff
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Contains libf2c.so.0.11, ported by Rob Hooft. This package uses an
'f77' script that hides the C translation process from the user.
Authors:
--------
David Gay <dmg@bell-labs.com>
Stu Feldman
Mark Maimone
Norm Schryer
Rob Hooft (maintainer for Linux) <Hooft@EMBL-Heidelberg.DE>
%prep
%setup -c
unzip $RPM_SOURCE_DIR/libf2c.zip
tar xvpfz $RPM_SOURCE_DIR/yaf77-1.6.tgz
cp -av $RPM_SOURCE_DIR/*.gz .
gunzip *.gz
mv f2c.h libf2c/f2c.h0
%patch
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4
%patch5
%build
(cd src && make CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing")
(cd libf2c && sh ./make.elf)
(cd libf2c && make -f makefile.u CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing")
pushd yaf77-1.6/F77ext
F2C=../../src/f2c make FFLAGS=-I../../libf2c CFLAGS=-I../../libf2c
popd
%install
mkdir -p $RPM_BUILD_ROOT/usr/{bin,include,%_lib}
install -m 755 src/f2c f77-f2c $RPM_BUILD_ROOT/usr/bin
install -m 644 libf2c/f2c.h $RPM_BUILD_ROOT/usr/include
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
install -m 644 f2c.1t $RPM_BUILD_ROOT%{_mandir}/man1/f2c.1
install -m 644 libf2c/libf2c.a $RPM_BUILD_ROOT%_libdir
install -m 755 libf2c/libf2c.so.0.11 $RPM_BUILD_ROOT%_libdir
(cd $RPM_BUILD_ROOT%_libdir && ln -s libf2c.so.0.11 libf2c.so && ln -s libf2c.so.0.11 libf2c.so.0)
mkdir -p $RPM_BUILD_ROOT%{_defaultdocdir}/f2c
install -m 644 changes disclaimer f2c.ps permission fc $RPM_BUILD_ROOT%{_defaultdocdir}/f2c
install -m 644 libf2c/hello.f Changelog.SuSE $RPM_BUILD_ROOT%{_defaultdocdir}/f2c
install -m 755 yaf77-1.6/f77 $RPM_BUILD_ROOT/usr/bin/yaf77
install -m 644 yaf77-1.6/README $RPM_BUILD_ROOT%{_defaultdocdir}/f2c/README.yaf77
install -m 644 yaf77-1.6/F77ext/libF77ext.a $RPM_BUILD_ROOT%_libdir
%post
%run_ldconfig
%postun
%run_ldconfig
%files
%defattr(-,root,root)
%docdir %{_defaultdocdir}/f2c
%{_defaultdocdir}/f2c
/usr/bin/f2c
/usr/bin/f77-f2c
/usr/bin/yaf77
/usr/include/f2c.h
%_libdir/libF77ext.a
%_libdir/libf2c.a
%_libdir/libf2c.so
%_libdir/libf2c.so.0
%_libdir/libf2c.so.0.11
%doc %{_mandir}/man1/f2c.1.gz
%changelog
* Tue Dec 09 2008 ro@suse.de
- remove ix86 from ifarch statement obsoleting 32bit package
* Thu Oct 30 2008 olh@suse.de
- obsolete old -XXbit packages (bnc#437293)
* Thu Apr 10 2008 ro@suse.de
- added baselibs.conf file to build xxbit packages
for multilib support
* Thu Mar 29 2007 rguenther@suse.de
- Add unzip BuildRequires
* Mon Sep 25 2006 schwab@suse.de
- Fix heap corruption due to mishandled struct padding.
* Fri Apr 07 2006 schwab@suse.de
- Fix integer size for 64bit archs.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Nov 15 2005 rguenther@suse.de
- fix compilation in beta. f2cs f77 doesn't like -D_FORTIFY_SOURCE.
* Mon Nov 14 2005 rguenther@suse.de
- add yyparse.patch to fix use of undefined C code in yyparse
- add -I../.. to CFLAGS for some compiles
* Wed Jul 06 2005 fehr@suse.de
- add RPM_OPT_FLAGS to another place
* Wed Jun 15 2005 meissner@suse.de
- use RPM_OPT_FLAGS.
* Wed Jan 12 2005 fehr@suse.de
- add security fix against tmpfile vulnerability (#49770)
* Sat Jan 10 2004 adrian@suse.de
- add %%defattr and %%run_ldconfig
* Wed Apr 23 2003 coolo@suse.de
- use BuildRoot
* Wed Jan 30 2002 coolo@suse.de
- use %%_libdir
* Fri Mar 02 2001 fehr@suse.de
- update to current version from netlib.bell-labs.com
* Fri Nov 17 2000 fehr@suse.de
- make group tag more specific
* Fri Nov 17 2000 fehr@suse.de
- prevent conflict between f2c.h and stdlib.h of glibc 2.2
- set group tag
* Thu Jul 06 2000 fehr@suse.de
- add fixes to libf2c from netlib.bell-labs.com
* Mon Jun 26 2000 fehr@suse.de
- fix bugs caused by non-overwriteable tmp files (bugzilla #2949)
* Fri May 19 2000 fehr@suse.de
- move documentation to /usr/share/doc/packages
* Fri Feb 11 2000 fehr@suse.de
- update to newest version from netlib.bell-labs.com
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Mon May 31 1999 fehr@suse.de
- minor fix in f77-f2c
* Wed Nov 18 1998 ro@suse.de
- fix make.elf
- yaf77: build as elf
* Sun Oct 04 1998 ro@suse.de
- libf2c: make.elf : use gcc instead of ld to create shared lib
(gcc knows where to find crtbeginS.o)
* Thu Sep 10 1998 fehr@suse.de
- fix possible tmp exploit in yaf77 and f77-f2c script
* Wed Aug 19 1998 fehr@suse.de
- fix possible tmp exploit in fc example script
* Mon Jul 20 1998 fehr@suse.de
- add version 1.6 of yaf77
* Tue Apr 21 1998 fehr@suse.de
- copy correct version of man-page into system
* Wed Jan 07 1998 fehr@suse.de
- fix some bugs in f77-f2c, thanks to Harald Anlauf
* Mon Oct 06 1997 fehr@suse.de
- made buildable in clean build environment
* Mon May 12 1997 fehr@suse.de
- fixed wrong links in /usr/lib
* Thu Jan 02 1997 fehr@suse.de
- changed to work with elf clib
- added sonw new scripts