ishcherb / rpms / pypar

Forked from rpms/pypar 6 years ago
Clone
Blob Blame History Raw
%{!?python_sitearch: %global python_sitearch %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}

Name:		pypar
Version:	2.1.0_66
Release:	3%{?dist}
Summary:	Parallel programming with Python
Group:		Development/Libraries
License:	GPLv2+
URL:		http://sourceforge.net/projects/pypar
Source0:	http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tgz
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:	numpy
BuildRequires:	python-setuptools-devel
%if 0%{?fedora} > 11
BuildRequires:	openmpi
%else
BuildRequires:	openmpi-devel
%endif

Requires:	numpy

# Check for mpi-selector or environment-modules
%global selector 0
%global modules 0

%if 0%{?fedora} > 9
%global modules 1
%endif

%if 0%{?rhel} == 4
%global selector 1
%endif

%if 0%{?rhel} == 5
%global selector 1
%endif

%if %modules == 1
BuildRequires:  environment-modules
%endif

%if %selector == 1
BuildRequires:  mpi-selector
%endif

%description
Pypar is an efficient but easy-to-use module that allows programs written in
Python to run in parallel on multiple processors and communicate using message
passing. Pypar provides bindings to a subset of the message passing interface
standard MPI.

%prep
%setup -q -n %{name}_%{version}

%build
# Load MPI enviroment
%if %modules == 1
. /etc/profile.d/modules.sh
module load %{_libdir}/openmpi/*/openmpi.module
export CFLAGS="%{optflags}"
%endif

%if %selector == 1
mpi-selector --set `mpi-selector --list | grep openmpi`
source /etc/profile.d/mpi-selector.sh
%endif

cd source 
CFLAGS="%{optflags}" python -c 'import setuptools; execfile("setup.py")' build


%install
rm -rf %{buildroot}
cd source
python -c 'import setuptools; execfile("setup.py")' install -O1 --skip-build --root %{buildroot}
cd ..

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%doc documentation/* LICENSE demos/
%{python_sitearch}/pypar/
%{python_sitearch}/Pypar*.egg-info

%changelog
* Thu Jun 04 2009 Jussi Lehtola <jussi.lehtola@iki.fi> - 2.1.0_66-3
- Fix build in rawhide.

* Fri May 15 2009 Jussi Lehtola <jussi.lehtola@iki.fi> - 2.1.0_66-2
- Merge examples into main package and %doc.
- Spec file cleanups.

* Mon Mar 02 2009 Jussi Lehtola <jussi.lehtola@iki.fi> - 2.1.0_66-1
- Update to 2.1.0_66.
- Branch examples into subpackage.

* Sun Feb 29 2009 Jussi Lehtola <jussi.lehtola@iki.fi> - 2.1.0_64-1
- Update to 2.1.0_64.

* Sat Feb 28 2009 Jussi Lehtola <jussi.lehtola@iki.fi> - 2.1.0_63-1
- Update to 2.1.0_63 that should fix rpmlint errors.

* Thu Feb 26 2009 Jussi Lehtola <jussi.lehtola@iki.fi> - 2.1.0_53-1
- First release.