churchyard / rpms / psi4

Forked from rpms/psi4 5 years ago
Clone

Blame psi4.spec

8ff1a6d
# Run tests?
215a15e
%bcond_without tests
8ff1a6d
d687ee3
# git snapshot
b7c9666
%global commit 1881450f30d3bd2ac91dbc4fc6a4eaa5c9f03ae5
d687ee3
%global shortcommit %(c=%{commit}; echo ${c:0:7})
d687ee3
ff0bf58
# Define a macro for calling ../configure instead of ./configure
ff0bf58
%global dconfigure %(printf %%s '%configure' | sed 's!\./configure!../configure!g')
ff0bf58
ff0bf58
Name:           psi4
b7c9666
Epoch:		1
b7c9666
Version:        0.3
b7c9666
Release:        1.%{shortcommit}git%{?dist}
ff0bf58
Summary:        An ab initio quantum chemistry package
ff0bf58
Group:          Applications/Engineering
ff0bf58
License:        GPLv2+ and MIT
ff0bf58
URL:            http://www.psicode.org/
ff0bf58
#Source0:       http://downloads.sourceforge.net/psicode/psi-%{version}.tar.bz
d687ee3
Source0:        https://github.com/psi4/psi4public/archive/%{commit}/psi4public-%{commit}.tar.gz
ff0bf58
ff0bf58
# Use system libint
ff0bf58
Patch0:         psi4-systemlibint.patch
ff0bf58
# Force system boost
ff0bf58
Patch1:         psi4-systemboost.patch
215a15e
# Use custom version instead of getting it from git
215a15e
Patch2:         psi4-gitversion.patch
215a15e
# Install headers into psi4 specific directory
215a15e
Patch3:         psi4-includeinst.patch
ff0bf58
215a15e
BuildRequires:  cmake
ff0bf58
BuildRequires:  atlas-devel
ff0bf58
BuildRequires:  bison-devel
ff0bf58
BuildRequires:  boost-devel >= 1.46
ff0bf58
BuildRequires:  byacc
ff0bf58
BuildRequires:  flex
ff0bf58
BuildRequires:  gcc-gfortran
7e4d1ba
BuildRequires:  libint-devel >= 1.1.5-3
15a68bb
BuildRequires:  perl-devel
ff0bf58
BuildRequires:  python2-devel >= 2.6
ff0bf58
BuildRequires:  numpy
215a15e
BuildRequires:  gsl-devel
215a15e
BuildRequires:  hdf5-devel
215a15e
BuildRequires:  zlib-devel
ff0bf58
ff0bf58
# For the documentation
ff0bf58
BuildRequires:  python-sphinx >= 1.1
ff0bf58
BuildRequires:  tex(latex)
ff0bf58
BuildRequires:  tex-preview
ff0bf58
BuildRequires:  dvipng
ff0bf58
BuildRequires:  graphviz
ff0bf58
8ff1a6d
%if %{with tests}
15a68bb
# Needed for running tests
15a68bb
BuildRequires:  perl(Env)
8ff1a6d
%endif
15a68bb
ff0bf58
Requires:  %{name}-data = %{version}-%{release}
ff0bf58
Requires:  numpy
ff0bf58
# Libint can break the api between releases
6d49e45
Requires:  libint(api)%{?_isa} = %{_libint_apiversion}
ff0bf58
215a15e
# Don't have documentation in the cmake version yet.. 
215a15e
Obsoletes: psi4-doc < 1:0.3-1
215a15e
ff0bf58
%description
ff0bf58
PSI4 is an open-source suite of ab initio quantum chemistry programs
ff0bf58
designed for efficient, high-accuracy simulations of a variety of
ff0bf58
molecular properties. We can routinely perform computations with more
ff0bf58
than 2500 basis functions running serially or in parallel.
ff0bf58
ff0bf58
ff0bf58
%package data
ff0bf58
Summary:   Data files necessary for operation of PSI4
ff0bf58
Group:     Documentation
ff0bf58
BuildArch: noarch
ff0bf58
ff0bf58
%description data
ff0bf58
This package contains necessary data files for PSI4, e.g., basis sets
ff0bf58
and the quadrature grids.
ff0bf58
ff0bf58
ff0bf58
%package devel
ff0bf58
Summary:   Static libraries and development headers for psi
ff0bf58
Group:     Development/Libraries
86201c2
Provides:  %{name}-static = %{version}-%{release}
ff0bf58
ff0bf58
%description devel
ff0bf58
This package contains static libraries and development headers for psi.
ff0bf58
ff0bf58
%prep
d687ee3
%setup -q -n psi4public-%{commit}
ff0bf58
%patch0 -p1 -b .systemlibint
ff0bf58
%patch1 -p1 -b .systemboost
215a15e
%patch2 -p1 -b .gitversion
215a15e
%patch3 -p1 -b .includeinst
ff0bf58
# Get rid of bundled boost
ff0bf58
rm -rf boost/
ff0bf58
# Get rid of bundled libint
ff0bf58
rm -rf src/lib/{libint,libderiv}/
215a15e
215a15e
# Generate git version header
215a15e
cat > src/bin/psi4/gitversion.h <
215a15e
#ifdef GIT_VERSION
215a15e
#undef GIT_VERSION
215a15e
#endif
215a15e
#ifdef PSI_VERSION
215a15e
#undef PSI_VERSION
215a15e
#endif
215a15e
#define PSI_VERSION "%{version}"
215a15e
EOF
ff0bf58
ff0bf58
%build
215a15e
export F77=gfortran
215a15e
export FC=gfortran
ff0bf58
ff0bf58
mkdir objdir-%{_target_platform}
ff0bf58
cd objdir-%{_target_platform}
215a15e
%cmake .. \
215a15e
       -DENABLE_DKH=ON -DPCMSOLVER=ON -DENABLE_OMP=ON -DENABLE_MPI=OFF \
215a15e
       -DEXPLICIT_BLAS_LIB='%{_libdir}/atlas/libtatlas.so' -DENABLE_AUTO_BLAS=OFF \
215a15e
       -DEXPLICIT_LAPACK_LIB='%{_libdir}/atlas/libtatlas.so' -DENABLE_AUTO_LAPACK=OFF \
215a15e
       -DCMAKE_Fortran_COMPILER=gfortran -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ \
215a15e
       -DCUSTOM_C_FLAGS='%{optflags} -DNDEBUG' -DCUSTOM_CXX_FLAGS='%{optflags} -std=c++11 -DNDEBUG' \
215a15e
       -DCUSTOM_Fortran_FLAGS='-I%{_libdir}/gfortran/modules %{optflags} -DNDEBUG' \
215a15e
       -DCMAKE_BUILD_TYPE=Release
ff0bf58
ff0bf58
# Build program
215a15e
make %{?_smp_mflags}
ff0bf58
ff0bf58
%install
ff0bf58
make -C objdir-%{_target_platform} install DESTDIR=%{buildroot}
ff0bf58
# Install libraries, too.
215a15e
mkdir -p %{buildroot}%{_libdir}/psi4
215a15e
install -p -m 644 objdir-%{_target_platform}/lib/*.a %{buildroot}%{_libdir}/psi4/
ff0bf58
8ff1a6d
%if %{with tests}
ff0bf58
%check
215a15e
# Run quick tests
ced959d
cd objdir-%{_target_platform}/tests
215a15e
ctest -L quicktests
8ff1a6d
%endif
ff0bf58
ff0bf58
%files
ff0bf58
%doc COPYING LICENSE
ff0bf58
%{_bindir}/psi4
ff0bf58
ff0bf58
%files data
ff0bf58
%doc COPYING LICENSE
ff0bf58
%{_datadir}/psi/
ff0bf58
ff0bf58
%files devel
ff0bf58
%doc COPYING LICENSE
ff0bf58
%{_includedir}/psi4/
215a15e
%{_libdir}/psi4/
ff0bf58
ff0bf58
%changelog
215a15e
* Sun Sep 06 2015 Susi Lehtola <jussilehtola@fedoraproject.org> - 1:0.3-1.1881450fgit
215a15e
- Update to newest release, switched to using github release tags.
b7c9666
e5ca990
* Wed Jul 29 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-0.21.c7deee9git.1
e5ca990
- Rebuilt for https://fedoraproject.org/wiki/Changes/F23Boost159
e5ca990
d0a0890
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 4.0-0.20.c7deee9git.1
d0a0890
- rebuild for Boost 1.58
d0a0890
01e50d3
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-0.19.c7deee9git.1
01e50d3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
01e50d3
a8a7f96
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 4.0-0.18.c7deee9git.1
a8a7f96
- Rebuilt for GCC 5 C++11 ABI change
a8a7f96
Petr Machata 38652ce
* Tue Jan 27 2015 Petr Machata <pmachata@redhat.com> - 4.0-0.17.c7deee9git.1
Petr Machata 38652ce
- Rebuild for boost 1.57.0
Petr Machata 38652ce
4fa6316
* Thu Sep 11 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.16.c7deee99.1
4fa6316
- Forgot to tag buildroot override in previous build.
4fa6316
4fa6316
* Wed Sep 10 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.16.c7deee99
7352a25
- Update to newest snapshot.
6d49e45
- Requires libint(api).
6d49e45
ef95853
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-0.15.0c7ea92git.1
ef95853
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
ef95853
29d93c6
* Wed Jul 02 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.14.0c7ea92git.1
29d93c6
- Rebuild due to rebuilt libint.
29d93c6
ee1a3d7
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.0-0.14.0c7ea92git
ee1a3d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
ee1a3d7
Petr Machata 2344c06
* Fri May 23 2014 Petr Machata <pmachata@redhat.com> - 4.0-0.13.0c7ea92git
Petr Machata 2344c06
- Rebuild for boost 1.55.0
Petr Machata 2344c06
15a68bb
* Tue May 13 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.12.0c7ea928git
8ff1a6d
- Add BR: perl(Env) for tests.
15a68bb
d687ee3
* Tue May 13 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.11.0c7ea928git
d687ee3
- Update to newest git snapshot.
d687ee3
- Remove BR: ruby-devel.
d687ee3
b26bfd9
* Mon Mar 10 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.10.b5
b26bfd9
- Rebuild against updated libint.
b26bfd9
86201c2
* Sat Jan 04 2014 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.9.b5
86201c2
- Drop %%?_isa from virtual provide of -static package (BZ #951582).
86201c2
7e4d1ba
* Fri Dec 27 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.8.b5
7e4d1ba
- Versioned libint build dependency.
7e4d1ba
ff0bf58
* Tue Dec 24 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.7.b5
ff0bf58
- Added LICENSE and COPYING to -data as well.
ff0bf58
- Versioned libint dependency.
ff0bf58
ff0bf58
* Sat Dec 21 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.6.b5
ff0bf58
- Get rid of bundled madness.
ff0bf58
ff0bf58
* Thu Dec 19 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.5.b5
ff0bf58
- Added BR and R on numpy.
ff0bf58
- Use ATLAS after all.
ff0bf58
ff0bf58
* Fri Aug 16 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.4.b5
ff0bf58
- Use openblas on supported architectures.
ff0bf58
- Update to beta5.
ff0bf58
ff0bf58
* Thu May 02 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.3.b4
ff0bf58
- Added BR on graphviz and enabled dot in configure for documentation.
ff0bf58
ff0bf58
* Tue Apr 30 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.2.b4
ff0bf58
- Review fixes.
ff0bf58
ff0bf58
* Thu Apr 11 2013 Susi Lehtola <jussilehtola@fedoraproject.org> - 4.0-0.1.b4
ff0bf58
- First release.