Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Backports:SLE-15-SP4:SLECandidates
ccx
ccx.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ccx.spec of Package ccx
# # spec file for package ccx # # Copyright (c) 2024 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.21 Release: 0 Summary: An open source finite element package License: BSD-3-Clause AND GPL-2.0-only 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: 0001-Fixup-spooles-include-dir.patch 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} %autopatch -p1 # Make reproducible sed -i 's@./date.pl; *@@' src/Makefile %build cd src export CFLAGS="%{optflags}" export FFLAGS="%{optflags}" %make_build %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 cd test # beamfsh1 slightly deviates on aarch64 and i586 %ifarch aarch64 %{ix86} for f in beamfsh1.inp; do mv $f ${f}_disabled ; done %endif # Apparent mismatch between script and golden data, disable for now (2.20) for f in beamread3.inp beamwrite3.inp ; do mv $f ${f}_error; done # beamread* depends on beamwrite* # beamprand is random # beamptied{5,6} have nondeterministic order of eigenvalues # beamhtfc2 needs output from beamhtfc for f in beamread*.inp beamprand.inp beamptied{5,6}.inp beamhtfc2.inp; do mv $f ${f}_disabled ; done set +x function checkInput() { f=`basename $1 .inp` echo -n "Procesing $f " | tee -a ccxlog %{buildroot}/%{_bindir}/ccx $f >> ccxlog || echo -n "-> $?" ; echo [ -f $f.dat -a -f $f.frd ] || echo "$f failed!" | tee -a errorlog [ -f $f.dat.ref ] || return 0 [ "$(wc -l < $f.dat)" -eq "$(wc -l < $f.dat.ref)" ] || echo "Wrong size: $f.dat" | tee -a errorlog grep NaN $f.dat && echo "Contains NaN: $f.dat" | tee -a errorlog ./datcheck.pl $f | tee -a errorlog [ -f $f.frd.ref ] || return 0 [ "$(wc -l < $f.frd)" -eq "$(wc -l < $f.frd.ref)" ] || echo "Wrong size: $f.frd" | tee -a errorlog ./frdcheck.pl $f | tee -a errorlog } for f in beam*.inp ; do checkInput $f done # Second round cp beamhtfc.rout beamhtfc2.rin mv beamhtfc2.inp{_disabled,} checkInput beamhtfc2.inp for f in beamwrite*.inp ; do tc=${f##beamwrite}; tc=${tc%%.inp} mv beamread${tc}.inp_disabled beamread${tc}.inp cp beamwrite${tc}.rout beamread${tc}.rin checkInput beamread${tc}.inp done # Check results set -x if [ -s errorlog ] ; then cat ccxlog cat errorlog exit 1 fi %files %{_bindir}/ccx %{_bindir}/ccx_%{version} %doc src/BUGS src/LOGBOOK src/README.INSTALL src/TODO %files examples %{_datadir}/%{name}-examples-%{version} %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor