# We have to call the package libASL instead of ASL, because a package asl # exists. https://fedoraproject.org/wiki/Packaging:Conflicts#Conflicting_Package_Names %global upstream ASL %global _cmake_build_subdir build-%{?__isa}%{?dist} Name: lib%{upstream} Version: 0.1.7 Release: 3%{?dist} Summary: Advanced Simulation Library hardware accelerated multiphysics simulation platform License: AGPLv3 and BSD and MIT # ===== License-breakdown ===== # # AGPL (v3) # --------- # * except the files explicitly named below # # BSD (3 clause) # -------------- # cmake/Modules/FindMATIO.cmake # cmake/Modules/FindOpenCL.cmake # cmake/Modules/FindPackageMessage.cmake # # MIT/X11 (BSD like) # ------------------ # src/acl/cl.hpp # URL: http://asl.org.il/ Source0: https://github.com/AvtechScientific/%{upstream}/archive/v%{version}/%{upstream}-%{version}.tar.gz BuildRequires: boost-devel BuildRequires: cmake3 BuildRequires: doxygen BuildRequires: graphviz BuildRequires: matio-devel BuildRequires: netcdf-cxx-devel BuildRequires: ocl-icd-devel BuildRequires: opencl-headers BuildRequires: vtk-devel # For tests, pocl not available on EPEL %if 0%{?fedora} %ifnarch aarch64 ppc64 ppc64le s390 s390x BuildRequires: pocl-devel %endif %endif %description Advanced Simulation Library (ASL) is a free and open source hardware accelerated multiphysics simulation platform (and an extensible general purpose tool for solving Partial Differential Equations). Its computational engine is written in OpenCL and utilizes matrix-free solution techniques which enable extraordinarily high performance, memory efficiency and deployability on a variety of massively parallel architectures, ranging from inexpensive FPGAs, DSPs and GPUs up to heterogeneous clusters and supercomputers. The engine is hidden entirely behind simple C++ classes, so that no OpenCL knowledge is required from application programmers. Mesh-free, immersed boundary approach allows to move from CAD directly to simulation drastically reducing pre-processing efforts and amount of potential errors. ASL can be used to model various coupled physical and chemical phenomena and employed in a multitude of fields: computational fluid dynamics, virtual sensing, industrial process data validation and reconciliation, image-guided surgery, computer-aided engineering, design space exploration, crystallography, etc.. %package bin Summary: Binaries for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description bin Binaries for %{name} %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: boost-devel%{?_isa} Requires: matio-devel%{?_isa} Requires: netcdf-cxx-devel%{?_isa} Requires: ocl-icd-devel%{?_isa} Requires: opencl-headers Requires: vtk-devel%{?_isa} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %package doc # Not noarch here because otherwise koji fails # http://koji.fedoraproject.org/koji/taskinfo?taskID=11237671 #BuildArch: noarch Summary: Documentation for %{name} %description doc The %{name}-doc package contains documentation for %{name} %package examples Summary: Examples for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description examples The %{name}-examples package contains examples for %{name} %prep %setup -q -n %{upstream}-%{version} %{__mkdir_p} %{_cmake_build_subdir} %build pushd %{_cmake_build_subdir} %cmake3 -DWITH_API_DOC:BOOL=ON \ -DWITH_MATIO:BOOL=ON \ -DWITH_EXAMPLES=ON \ -DWITH_TESTS=ON .. make %{?_smp_mflags} popd %install %make_install -C %{_cmake_build_subdir} find %{buildroot} -name '*.la' -delete # Move docs and examples to right places %{__mkdir_p} %{buildroot}%{_docdir}/%{name}-doc mv %{buildroot}%{_docdir}/%{upstream}/html %{buildroot}%{_docdir}/%{name}-doc mv %{buildroot}%{_docdir}/%{upstream}/examples %{buildroot}%{_docdir}/%{name}-examples # Move input data for examples # https://github.com/AvtechScientific/ASL/commit/0246d6adb1ebded5b2ef1d0e82433f86d90ea4ba mv %{buildroot}%{_datadir}/%{upstream}/input %{buildroot}%{_docdir}/%{name}-examples %if 0%{?fedora} %ifnarch aarch64 ppc64 ppc64le s390 s390x %check pushd %{_cmake_build_subdir} # Test failures # https://github.com/AvtechScientific/ASL/issues/16 ctest3 -V -E 'testPrivateVar|testReductionFunction' ctest3 -V -R 'testPrivateVar|testReductionFunction' || : %endif %endif %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %license COPYRIGHT.org LICENSE %doc NEWS.org README.org %{_libdir}/*.so.* %files bin %license COPYRIGHT.org LICENSE %{_bindir}/asl-hardware %files devel %license COPYRIGHT.org LICENSE %dir %{_libdir}/cmake/%{upstream} %{_includedir}/* %{_libdir}/*.so %{_libdir}/cmake/%{upstream}/*.cmake %{_libdir}/pkgconfig/%{upstream}.pc %files doc %license COPYRIGHT.org LICENSE %dir %{_docdir}/%{name}-doc %{_docdir}/%{name}-doc/html %files examples %license COPYRIGHT.org LICENSE %dir %{_docdir}/%{name}-examples %{_docdir}/%{name}-examples/* %{_bindir}/asl-acousticWaves %{_bindir}/asl-bus_wind %{_bindir}/asl-compressor %{_bindir}/asl-cubeGravity %{_bindir}/asl-cubeIncompressibleGravity %{_bindir}/asl-cubePoroelasticGravity %{_bindir}/asl-flow %{_bindir}/asl-flow2 %{_bindir}/asl-flow3 %{_bindir}/asl-flowKDPGrowth %{_bindir}/asl-flowRotatingCylinders %{_bindir}/asl-jumpingBox %{_bindir}/asl-levelSetBasic %{_bindir}/asl-levelSetFacetedGrowth %{_bindir}/asl-levelSetNormalGrowth %{_bindir}/asl-locomotive %{_bindir}/asl-locomotive_laminar %{_bindir}/asl-locomotive_stability %{_bindir}/asl-multicomponent_flow %{_bindir}/asl-multiphase_flow %{_bindir}/asl-pitot_tube_ice %{_bindir}/asl-poroelastic %{_bindir}/asl-surfaceFlux %{_bindir}/asl-testSMDiff %{_bindir}/asl-testSMDiff3C %{_bindir}/asl-testSMPhi %{_bindir}/asl-testSMPhiBV %changelog * Wed Dec 7 2016 Orion Poplawski - 0.1.7-3 - Rebuild for vtk 7.1 * Wed Nov 09 2016 Orion Poplawski - 0.1.7-2 - Updated summary - Use cmake3 for EPEL7 compatibility - Run tests on supported pocl arches * Wed Nov 09 2016 Christian Dersch - 0.1.7-1 - new version * Sun Jul 03 2016 Christian Dersch - 0.1.6-6 - Rebuilt for matio 1.5.8 * Fri May 13 2016 Christian Dersch - 0.1.6-5 - Rebuilt for gcc 6.1.1 * Thu Feb 04 2016 Fedora Release Engineering - 0.1.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Sat Jan 23 2016 Christian Dersch - 0.1.6-3 - Rebuild for boost 1.60 * Fri Jan 22 2016 Orion Poplawski - 0.1.6-2 - Rebuild for netcdf 4.4.0 * Mon Nov 09 2015 Christian Dersch - 0.1.6-1 - initial SCM import (RHBZ #1244797) * Mon Nov 09 2015 Christian Dersch - 0.1.6-0.5 - more spec fixes for review - added license breakdown - adjusted requirements * Sun Nov 08 2015 Christian Dersch - 0.1.6-0.4 - spec adjustments for review * Sat Sep 26 2015 Christian Dersch - 0.1.6-0.3 - doc subpackage no longer noarch due to build failure * Sat Sep 26 2015 Christian Dersch - 0.1.6-0.2 - Small spec fixes * Tue Sep 22 2015 Christian Dersch - 0.1.6-0.1 - initial spec