Name: orsa Version: 0.7.0 Release: 41%{?dist} Summary: Orbit Reconstruction, Simulation and Analysis License: GPLv2+ URL: http://orsa.sourceforge.net Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz Source1: ORSA_MPI # Patch to build with GCC 4.3 # Reported into upstream bugtracker as # http://sourceforge.net/tracker/index.php?func=detail&aid=2099077&group_id=44502&atid=439768 Patch0: orsa-gcc43.patch # Patching configure in order to: # - make it find the fftw2 library properly (-lm was missing but needed) # - make it find the cln and ginac libraries properly as they do not use # {cln,ginac}-config anymore but rely on pkg-config instead in F9 and higher # Reported into upstream bugtracker as # http://sourceforge.net/tracker/index.php?func=detail&aid=2099054&group_id=44502&atid=439768 Patch1: orsa-configure.patch # Patch that prevents orsa from printing many errors on startup because of missing # configuration files. # Reported into upstream bugtracker as # http://sourceforge.net/tracker/?func=detail&aid=2741094&group_id=44502&atid=439768 Patch2: orsa-file.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1282004 Patch3: orsa-gsl-2.patch BuildRequires: readline-devel BuildRequires: qt3-devel BuildRequires: mesa-libGL-devel BuildRequires: fftw2-devel BuildRequires: gsl-devel BuildRequires: cln-devel BuildRequires: ginac-devel Requires: %{name}-common = %{version}-%{release} %description ORSA is an interactive tool for scientific grade Celestial Mechanics computations. Asteroids, comets, artificial satellites, Solar and extra-Solar planetary systems can be accurately reproduced, simulated, and analyzed. %package devel Summary: Development files for %{name} Requires: fftw2-devel Requires: gsl-devel Requires: zlib-devel Requires: %{name} = %{version}-%{release} Requires: %{name}-headers = %{version}-%{release} %description devel This package contains development files for %{name}. %package openmpi Summary: A build of %{name} with support for OpenMPI BuildRequires: openmpi-devel Requires: %{name}-common = %{version}-%{release} %description openmpi This package contains a build of %{name} with support for OpenMPI. %package openmpi-devel Summary: Development files for %{name} build with support for OpenMPI Requires: %{name}-openmpi = %{version}-%{release} Requires: %{name}-headers = %{version}-%{release} %description openmpi-devel This package contains development files for a build of %{name} with support for OpenMPI. %package mpich Summary: A build of %{name} with support for MPICH MPI BuildRequires: mpich-devel-static Requires: %{name}-common = %{version}-%{release} Provides: %{name}-mpich2 = %{version}-%{release} Obsoletes: %{name}-mpich2 < 0.7.0-24 %description mpich This package contains a build of %{name} with support for MPICH MPI. %package mpich-devel Summary: Development files for %{name} build with support for MPICH MPI Requires: %{name}-mpich = %{version}-%{release} Requires: %{name}-headers = %{version}-%{release} Provides: %{name}-mpich2-devel = %{version}-%{release} Obsoletes: %{name}-mpich2-devel < 0.7.0-24 %description mpich-devel This package contains development files for a build of %{name} with support for MPICH MPI. %package headers Summary: Headers for development with %{name} %description headers This package contains C++ header files for development with %{name}. %package common Summary: Common files for %{name} %description common This package contains files shared across the MPI/non-MPI builds of %{name}. %prep %autosetup -p1 # Install user hints for MPI support install -p -m644 %{SOURCE1} . # Update config.guess/sub to fix builds on new architectures (aarch64/ppc64le) cp /usr/lib/rpm/config.* . %build # honor $RPM_OPT_FLAGS sed -i 's|-g -Wall -W -pipe -ftemplate-depth-64 -O3 -fno-exceptions -funroll-loops -fstrict-aliasing -fno-gcse|$CXXFLAGS|' configure %global _configure ../configure # To avoid replicated code define a build macro %global dobuild() \ mkdir $MPI_COMPILER && \ pushd $MPI_COMPILER && \ %configure $WITH_MPI --prefix=$MPI_HOME --bindir=$MPI_BIN --libdir=$MPI_LIB --program-suffix=$MPI_SUFFIX --disable-dependency-tracking --disable-static "CLN_CONFIG=`which pkg-config` cln" "GINACLIB_CONFIG=`which pkg-config` ginac" CXXFLAGS="$CXXFLAGS -DHAVE_INLINE" && \ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool && \ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool && \ make %{?_smp_mflags} && \ popd %global OpenMPI_BIN %(%{_openmpi_load} echo $MPI_BIN) %global OpenMPI_LIB %(%{_openmpi_load} echo $MPI_LIB) %global mpichdir %(%{_mpich_load} echo $MPI_HOME) ################################ echo -e "\n##############################\nNow making the non-MPI version\n##############################\n" ################################ # Build serial version, dummy arguments MPI_COMPILER=serial MPI_SUFFIX= WITH_MPI=--without-mpi MPI_HOME=%{_prefix} MPI_BIN=%{_bindir} MPI_LIB=%{_libdir} %dobuild # Build parallel versions: set compiler variables to MPI wrappers export CC=mpicc export CXX=mpicxx export FC=mpif90 export F77=mpif77 ################################ echo -e "\n##############################\nNow making the OpenMPI version\n##############################\n" ################################ %{_openmpi_load} WITH_MPI=--with-mpi %dobuild %{_openmpi_unload} ################################ echo -e "\n##############################\nNow making the MPICH version\n##############################\n" ################################ %{_mpich_load} WITH_MPI=--with-mpi %dobuild %{_mpich_unload} %install # Install serial version make -C serial install DESTDIR=%{buildroot} INSTALL="install -p" CPPROG="cp -p" rm %{buildroot}%{_libdir}/{liborsa.la,libxorsa.la} # Install OpenMPI version %{_openmpi_load} make -C $MPI_COMPILER install DESTDIR=%{buildroot} INSTALL="install -p" CPPROG="cp -p" rm %{buildroot}$MPI_LIB/{liborsa.la,libxorsa.la} %{_openmpi_unload} # Install MPICH version %{_mpich_load} make -C $MPI_COMPILER install DESTDIR=%{buildroot} INSTALL="install -p" CPPROG="cp -p" rm %{buildroot}$MPI_LIB/{liborsa.la,libxorsa.la} %{_mpich_unload} %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %{_bindir}/xorsa %{_libdir}/liborsa.so.* %{_libdir}/libxorsa.so.* %files devel %{_libdir}/*.so %files headers %{_includedir}/* %files openmpi %{OpenMPI_LIB}/liborsa.so.* %{OpenMPI_LIB}/libxorsa.so.* %{OpenMPI_BIN}/* %files openmpi-devel %{OpenMPI_LIB}/*.so %files mpich %{mpichdir}/bin/* %{mpichdir}/lib/liborsa.so.* %{mpichdir}/lib/libxorsa.so.* %files mpich-devel %{mpichdir}/lib/*.so %files common %license COPYING %doc DEVELOPERS ORSA_MPI %changelog * Mon May 15 2017 Fedora Release Engineering - 0.7.0-41 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_27_Mass_Rebuild * Sat Feb 11 2017 Fedora Release Engineering - 0.7.0-40 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Fri Oct 21 2016 Orion Poplawski - 0.7.0-39 - Rebuild for openmpi 2.0 * Thu May 12 2016 Zbigniew Jędrzejewski-Szmek - 0.7.0-38 - Rebuild for ginac 1.7.0 * Mon Feb 22 2016 Orion Poplawski - 0.7.0-37 - Rebuild for gsl 2.1 * Thu Feb 04 2016 Fedora Release Engineering - 0.7.0-36 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Sep 15 2015 Orion Poplawski - 0.7.0-34 - Rebuild for openmpi 1.10.0 * Sat Aug 15 2015 Zbigniew Jędrzejewski-Szmek - 0.7.0-33 - Rebuild for MPI provides * Sun Jul 26 2015 Sandro Mani - 0.7.0-32 - Rebuild for RPM MPI Requires Provides Change * Thu Jun 18 2015 Fedora Release Engineering - 0.7.0-31 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sat May 02 2015 Kalev Lember - 0.7.0-30 - Rebuilt for GCC 5 C++11 ABI change * Sun Aug 17 2014 Fedora Release Engineering - 0.7.0-29 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Wed Jun 25 2014 Peter Robinson 0.7.0-28 - Update config.guess/sub to fix FTBFS on new arches * Sat Jun 07 2014 Fedora Release Engineering - 0.7.0-27 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Feb 22 2014 Deji Akingunola - 0.7.0-26 - Rebuild for mpich-3.1 * Sat Aug 03 2013 Fedora Release Engineering - 0.7.0-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Sat Jul 20 2013 Deji Akingunola - 0.7.0-24 - Rename mpich2 sub-packages to mpich and rebuild for mpich-3.0 * Thu Feb 14 2013 Fedora Release Engineering - 0.7.0-23 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Nov 04 2012 Miloš Jakubíček - 0.7.0-22 - Rebuilt for new mpich2 - Use %%{_*mpi*-_load/unload} macros * Fri Jul 20 2012 Fedora Release Engineering - 0.7.0-21 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Tue Feb 28 2012 Fedora Release Engineering - 0.7.0-20 - Rebuilt for c++ ABI breakage * Tue Jan 24 2012 Orion Poplawski - 0.7.0-19 - Rebuild for ginac 1.6.2 soname bump * Fri Jan 13 2012 Fedora Release Engineering - 0.7.0-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Dec 06 2011 Adam Jackson - 0.7.0-17 - Rebuild for new libpng * Tue Mar 29 2011 Deji Akingunola - 0.7.0-16 - Rebuild for mpich2 soname bump * Tue Feb 08 2011 Fedora Release Engineering - 0.7.0-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Tue Oct 19 2010 Deji Akingunola - 0.7.0-14 - Rebuild for both mpich2 and openmpi updates * Thu Dec 10 2009 Deji Akingunola - 0.7.0-13 - No need to force mpicxx to be CC for mpich2 subpackage - BR mpich2-devel-static * Thu Nov 26 2009 Deji Akingunola - 0.7.0-12 - Rebuild for mpich2 - Remove the lam subpackage, lam is no more in Fedora - Clean-up the spec * Thu Aug 27 2009 Milos Jakubicek - 0.7.0-11 - Make compliant to new MPI guidelines: - Do not build in %%install (resolves BZ#513697) - Split docs into a -common subpackage * Fri Jul 24 2009 Milos Jakubicek - 0.7.0-10 - Reenabled MPI support in a way described in BZ#511099, introduced separate subpackages with support for OpenMPI, MPICH2 and LAM MPI implementations. - Written ORSA_MPI user documentation about MPI support * Mon Jul 13 2009 Milos Jakubicek - 0.7.0-9 - Rebuilt against new cln 1.3.0 - Temporarily disabled MPI support as current openmpi builds do not ship -devel, nor its previous content in the main package * Sun Apr 12 2009 Milos Jakubicek - 0.7.0-8 - Do not complain at all if the configuration file is missing. * Wed Apr 08 2009 Milos Jakubicek - 0.7.0-7 - Fix segfault on missing jpl file. * Tue Apr 07 2009 Milos Jakubicek - 0.7.0-6 - Do not complain loudly if the configuration file is missing (fix #494342) * Sat Feb 28 2009 Milos Jakubicek - 0.7.0-5 - Rebuilt against new ginac 1.5 * Fri Feb 27 2009 Milos Jakubicek - 0.7.0-4 - Fixed gcc 4.4 build * Thu Feb 26 2009 Fedora Release Engineering - 0.7.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Wed Sep 10 2008 Milos Jakubicek - 0.7.0-2 - Patched configure to honor $RPM_OPT_FLAGS - Added missing Requires: to the -devel subpackage * Fri Sep 5 2008 Milos Jakubicek - 0.7.0-1 - Initial release.