# # spec file for package ccx # # Copyright (c) 2019 SUSE LLC # # 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 https://bugs.opensuse.org/ # Name: ccx Version: 2.16 Release: 0 Summary: An open source finite element package License: GPL-2.0-only AND BSD-3-Clause AND SUSE-Public-Domain Group: Productivity/Scientific/Other URL: http://www.dhondt.de/ Source0: http://www.dhondt.de/ccx_%{version}.src.tar.bz2 Source1: http://www.dhondt.de/ccx_%{version}.test.tar.bz2 Source2: ccx-rpmlintrc # PATCH-FIX-OPENSUSE -- pass global optflags Patch0: ccx-2.16-build.patch Patch1: ccx-2.16-spooles-dynamic.patch Patch2: ccx-2.16-abaqus-shell-heat-transfer-elements-read.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: arpack-ng-devel BuildRequires: fdupes BuildRequires: gcc-fortran BuildRequires: lapack-devel BuildRequires: sed BuildRequires: spooles-devel %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 examples Summary: Example problems for CalculiX Group: Productivity/Scientific/Other BuildArch: noarch Conflicts: ccx-doc < 2.16 Provides: ccx-doc:%{_datadir}/%{name}-examples-2.12/achtel2.inp %description examples 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 # fixup dirs: very deep directory structure, not suitable for patching mv CalculiX/ccx_%{version}/{src,test} ./ rmdir -p CalculiX/ccx_%{version} %patch0 -p1 %patch1 -p1 %patch2 -p1 %build # use rpm's proposal for CFLAGS export GLOBAL_OFLAGS="%{optflags} -pthread" # and now build calculix cd src make %{?_smp_mflags} %install mkdir -p %{buildroot}/%{_bindir} cp src/ccx_%{version} %{buildroot}/%{_bindir} chmod 755 %{buildroot}/%{_bindir}/ccx_%{version} # symlink needed or apps like FreeCAD won't find it ln -s ccx_%{version} %{buildroot}/%{_bindir}/ccx mkdir -p %{buildroot}/%{_datadir}/%{name}-examples-%{version} cp test/* %{buildroot}/%{_datadir}/%{name}-examples-%{version} chmod 644 %{buildroot}/%{_datadir}/%{name}-examples-%{version}/* chmod 755 %{buildroot}/%{_datadir}/%{name}-examples-%{version}/compare chmod 755 %{buildroot}/%{_datadir}/%{name}-examples-%{version}/datcheck.pl chmod 755 %{buildroot}/%{_datadir}/%{name}-examples-%{version}/frdcheck.pl chmod 755 %{buildroot}/%{_datadir}/%{name}-examples-%{version}/compare_valgrind_leaks chmod 444 src/BUGS src/LOGBOOK src/README.INSTALL src/TODO %fdupes %{buildroot}/%{_datadir}/%{name}-examples-%{version} %check # TODO %files %defattr(-,root,root) %{_bindir}/ccx %{_bindir}/ccx_%{version} %doc src/BUGS src/LOGBOOK src/README.INSTALL src/TODO %files examples %defattr(-,root,root) %{_datadir}/%{name}-examples-%{version} %changelog