SHA256
1
0
forked from pool/ccx
ccx/ccx.spec
2012-03-21 22:43:06 +00:00

295 lines
8.8 KiB
RPMSpec

#
# spec file for package ccx (Version 2.4)
#
#
# Copyright (c) 2010 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/
#
Name: ccx
Version: 2.4
Release: 1
Summary: An open source finite element package
License: GPLv2 and BSD and Public Domain
URL: http://www.calculix.de/
Group: Productivity/Scientific/Other
Source0: http://www.dhondt.de/ccx_%{version}.src.tar.bz2
Source1: http://www.dhondt.de/ccx_%{version}.doc.tar.bz2
Source2: http://www.dhondt.de/ccx_%{version}.test.tar.bz2
Patch0: patch-ccx-build
Patch1: patch-ccx-doc-Makefile
Patch2: patch-ccx-beamread
Patch3: patch-ccx-bufferoverrun
Patch4: patch-ccx-no-local
Patch5: patch-ccx-spooles-dynamic
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-fortran
BuildRequires: latex2html sed
BuildRequires: arpack-ng-devel openblas-devel spooles-devel
BuildRequires: fdupes
%description
CalculiX is a package designed to solve field problems.
The method used is the finite element method. So far only
structural problems can be solved but it is planned to
extend the capabilities.
%package doc
Summary: Example problems and documentation for CalculiX
Group: Productivity/Scientific/Other
%if 0%{?suse_version} > 1130
Buildarch: noarch
%endif
%description doc
CalculiX is a package designed to solve field problems.
The method used is the finite element method. %{name}-examples
contains examples problems, together with reference data
to check your installation.
%prep
%setup -c -q
%setup -D -T -a 1 -q
%setup -D -T -a 2 -q
# fixup dirs: very deep directory structure, not suitable for patching
cd ${RPM_BUILD_DIR}/%{name}-%{version}
mv CalculiX/ccx_%{version}/doc .
mv CalculiX/ccx_%{version}/src .
mv CalculiX/ccx_%{version}/test .
rmdir CalculiX/ccx_%{version}
rmdir CalculiX
cd ${RPM_BUILD_DIR}/%{name}-%{version}
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
cd ${RPM_BUILD_DIR}/%{name}-%{version}
# use rpm's proposal for CFLAGS
export GLOBAL_OFLAGS="$RPM_OPT_FLAGS -pthread"
# and now build calculix
cd src
make %{?_smp_mflags}
# build the documentation:
cd ../doc
# This hack fixes the documentation build which fails on recent
# texlive
ln -s %{_datadir}/texmf/fonts/enc/dvips/tex-gyre/q-texnansi.enc ./texnansi.enc
make %{?_smp_mflags}
# copy central descriptions to topmost folder, for %doc directive
cd ${RPM_BUILD_DIR}/%{name}-%{version}
cp src/{BUGS,LOGBOOK,README.INSTALL,TODO} .
cp doc/*.pdf .
chmod 644 {BUGS,LOGBOOK,README.INSTALL,TODO} *.pdf
%install
cd ${RPM_BUILD_DIR}/%{name}-%{version}
rm -rf $RPM_BUILD_ROOT/*
mkdir -p $RPM_BUILD_ROOT/%{_bindir}
cp src/ccx_%{version} $RPM_BUILD_ROOT/%{_bindir}
chmod 755 $RPM_BUILD_ROOT/%{_bindir}/ccx_%{version}
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}
cp test/* $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}
chmod 644 $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}/*
chmod 755 $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}/compare
chmod 755 $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}/datcheck.pl
chmod 755 $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}/frdcheck.pl
# Pass rpm filelist check
rm $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}/compare.orig
%if %suse_version >= 1030
%fdupes $RPM_BUILD_ROOT/%{_datadir}/%{name}-examples-%{version}
%endif
%clean
rm -Rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%{_bindir}/ccx_%{version}
%doc BUGS
%doc LOGBOOK
%doc README.INSTALL
%doc TODO
%files doc
%defattr(-,root,root)
%doc *.pdf
%{_datadir}/%{name}-examples-%{version}
%changelog
* Thu Sep 15 2011 scorot@gtt.fr
- version 2.3
* Thu Dec 16 2010 scorot@gtt.fr
- version 2.2
* Thu Sep 07 2010 Sebastien Corot <scorot@gtt.fr> - 2.1-5
- rename package example to doc
- move pdf documentation files to package doc
- Changed package group to Productivity/Scientific/Engineering
* Tue Feb 16 2010 Manfred Spraul: <manfred@colorfullife.com>
- Switch to debian compatible spooles library layout
- 2.0-5
* Thu Feb 11 2010 Manfred Spraul: <manfred@colorfullife.com>
- use spooles from separate package
- 2.0-4
* Sat Nov 26 2009 Manfred Spraul: <manfred@colorfullife.com>
- merge I2Ohash fix from debian
* Sat Nov 26 2009 Manfred Spraul: <manfred@colorfullife.com>
- merge thermmodel bugfix from upstream
- 2.0-3
* Fri Nov 06 2009 Manfred Spraul: <manfred@colorfullife.com>
- merge frequency bugfix from upstream
- 2.0-2
* Sun Aug 16 2009 Manfred Spraul: <manfred@colorfullife.com>
- 2.0-1
- merge upstream
- remove seperate .doc package
* Sun Jul 05 2009 Manfred Spraul: <manfred@colorfullife.com>
- 1.8-5
- enable SMP for spooles
* Sun Jul 05 2009 Manfred Spraul: <manfred@colorfullife.com>
- 1.8-4
- mark examples and doc as noarch
- move README, COPYING into main package
* Sat Jul 04 2009 Manfred Spraul: <manfred@colorfullife.com>
- switch to dynamically linked ARPACK
- remove perfarch
* Mon Jun 29 2009 Manfred Spraul: <manfred@colorfullife.com>
- update to ccx 1.8
- remove sse2 arch
- ccx moved to /usr/bin
* Sun Mar 4 2007 Manfred Spraul: <manfred@colorfullife.com>
- update to ccx 1.6
* Sun Sep 4 2005 Manfred Spraul: <manfred@colorfullife.com>
- further buffer overrun fixes
* Sun Aug 14 2005 Manfred Spraul: <manfred@colorfullife.com>
- update to ccx 1.4
* Mon Aug 01 2005 Manfred Spraul <manfred@colorfullife.com>
- updates for gfortran support: no -mtune for gfortran
* Mon Mar 01 2005 Manfred Spraul <manfred@colorfullife.com>
- update 1.3 tarball: Apply fix from Guido
* Sat Feb 26 2005 Manfred Spraul <manfred@colorfullife.com>
- update to final 1.3
* Thu Feb 24 2005 Manfred Spraul <manfred@colorfullife.com>
- 1.3 test suite added
* Mon Feb 21 2005 Manfred Spraul <manfred@colorfullife.com>
- initial drop of 1.3
* Mon Aug 09 2004 Manfred Spraul <manfred@colorfullife.com>
- bugfix for calinput.f merged.
- support for special sse2 build added
* Sun Jul 25 2004 Manfred Spraul <manfred@colorfullife.com>
- support for special sse2 build added
* Sun Jul 25 2004 Manfred Spraul <manfred@colorfullife.com>
- Final 1.2 merged, tagged as ccx-1.2-1
* Mon Jul 19 2004 Manfred Spraul <manfred@colorfullife.com>
- Beta of next release merged
* Fri Jun 18 2004 Manfred Spraul <manfred@colorfullife.com>
- Beta of next release merged
- taucs removed for now - needs license cleanup
- helper function for 'SOLVER=' parsing disabled.
* Tue Sep 23 2003 Manfred Spraul <manfred@colorfullife.com>
- MODAL DYNAMIC fix with body forces from Guido merged.
* Sat Aug 30 2003 Manfred Spraul <manfred@colorfullife.com>
- taucs 2.0 sources added. It depends on other packages.
- helper function for parsing 'SOLVER=' line added.
* Sat Aug 09 2003 Manfred Spraul <manfred@colorfullife.com>
- arpack & arpackbu converted to parallel spooles
- bugfix: cpus array is 11 entries long, not 10 entries.
* Thu Aug 07 2003 Manfred Spraul <manfred@colorfullife.com>
- upgraded to ccx-1.1.
* Tue May 06 2003 Manfred Spraul <manfred@colorfullife.com>
- switched to dynamic linking. With dynamic linking enabled,
the linker detects at runtime the supported threading
library and uses the best one.
- doc package added
* Sat May 03 2003 Manfred Spraul <manfred@colorfullife.com>
- switched to nptl: locking overheat without NPTL is
nearly 20%
* Wed Mar 23 2003 Manfred Spraul <manfred@colorfullife.com>
- new glibc version
- debug symbols enabled
-* Wed Mar 05 2003 Manfred Spraul <manfred@colorfullife.com>
- prototype cleanup reenabled
- fix boundary violation
- initialize neq
* Sun Mar 01 2003 Manfred Spraul <manfred@colorfullife.com>
- Forward ported to ccx-1.0
* Sat Feb 15 2003 Manfred Spraul <manfred@colorfullife.com>
- prototype cleanup for Fortran to C interface
- ARPACK fixes that permit -ffortran-boundary-checks
* Sat Feb 08 2003 Manfred Spraul <manfred@colorfullife.com>
- parallel spooles, dynamic linking disabled.
* Fri Feb 07 2003 Manfred Spraul <manfred@colorfullife.com>
- cleanup of the spooles interface, first step towards
using parallel spooles.
* Sun Nov 24 2002 Manfred Spraul <manfred@colorfullife.com>
- add missing initialization for maxrmeminset into
allocation.f
* Wed Sep 06 2002 Manfred Spraul <manfred@colorfullife.com>
- sources & examples added into source set.
- second binary rpm for examples added
- support for cpu optimized builds
* Wed Sep 04 2002 Manfred Spraul <manfred@colorfullife.com>
- initial test version