# # 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 - 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: - Switch to debian compatible spooles library layout - 2.0-5 * Thu Feb 11 2010 Manfred Spraul: - use spooles from separate package - 2.0-4 * Sat Nov 26 2009 Manfred Spraul: - merge I2Ohash fix from debian * Sat Nov 26 2009 Manfred Spraul: - merge thermmodel bugfix from upstream - 2.0-3 * Fri Nov 06 2009 Manfred Spraul: - merge frequency bugfix from upstream - 2.0-2 * Sun Aug 16 2009 Manfred Spraul: - 2.0-1 - merge upstream - remove seperate .doc package * Sun Jul 05 2009 Manfred Spraul: - 1.8-5 - enable SMP for spooles * Sun Jul 05 2009 Manfred Spraul: - 1.8-4 - mark examples and doc as noarch - move README, COPYING into main package * Sat Jul 04 2009 Manfred Spraul: - switch to dynamically linked ARPACK - remove perfarch * Mon Jun 29 2009 Manfred Spraul: - update to ccx 1.8 - remove sse2 arch - ccx moved to /usr/bin * Sun Mar 4 2007 Manfred Spraul: - update to ccx 1.6 * Sun Sep 4 2005 Manfred Spraul: - further buffer overrun fixes * Sun Aug 14 2005 Manfred Spraul: - update to ccx 1.4 * Mon Aug 01 2005 Manfred Spraul - updates for gfortran support: no -mtune for gfortran * Mon Mar 01 2005 Manfred Spraul - update 1.3 tarball: Apply fix from Guido * Sat Feb 26 2005 Manfred Spraul - update to final 1.3 * Thu Feb 24 2005 Manfred Spraul - 1.3 test suite added * Mon Feb 21 2005 Manfred Spraul - initial drop of 1.3 * Mon Aug 09 2004 Manfred Spraul - bugfix for calinput.f merged. - support for special sse2 build added * Sun Jul 25 2004 Manfred Spraul - support for special sse2 build added * Sun Jul 25 2004 Manfred Spraul - Final 1.2 merged, tagged as ccx-1.2-1 * Mon Jul 19 2004 Manfred Spraul - Beta of next release merged * Fri Jun 18 2004 Manfred Spraul - Beta of next release merged - taucs removed for now - needs license cleanup - helper function for 'SOLVER=' parsing disabled. * Tue Sep 23 2003 Manfred Spraul - MODAL DYNAMIC fix with body forces from Guido merged. * Sat Aug 30 2003 Manfred Spraul - taucs 2.0 sources added. It depends on other packages. - helper function for parsing 'SOLVER=' line added. * Sat Aug 09 2003 Manfred Spraul - arpack & arpackbu converted to parallel spooles - bugfix: cpus array is 11 entries long, not 10 entries. * Thu Aug 07 2003 Manfred Spraul - upgraded to ccx-1.1. * Tue May 06 2003 Manfred Spraul - 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 - switched to nptl: locking overheat without NPTL is nearly 20% * Wed Mar 23 2003 Manfred Spraul - new glibc version - debug symbols enabled -* Wed Mar 05 2003 Manfred Spraul - prototype cleanup reenabled - fix boundary violation - initialize neq * Sun Mar 01 2003 Manfred Spraul - Forward ported to ccx-1.0 * Sat Feb 15 2003 Manfred Spraul - prototype cleanup for Fortran to C interface - ARPACK fixes that permit -ffortran-boundary-checks * Sat Feb 08 2003 Manfred Spraul - parallel spooles, dynamic linking disabled. * Fri Feb 07 2003 Manfred Spraul - cleanup of the spooles interface, first step towards using parallel spooles. * Sun Nov 24 2002 Manfred Spraul - add missing initialization for maxrmeminset into allocation.f * Wed Sep 06 2002 Manfred Spraul - sources & examples added into source set. - second binary rpm for examples added - support for cpu optimized builds * Wed Sep 04 2002 Manfred Spraul - initial test version