# : $Id: python 176 2004-04-21 19:47:06Z cray $
# -*- coding: koi8-r -*-
# _check_python_version_internal <__> <__>
#
#           --with pythonX.Y,  
#           
#
#             --with pythonX.Y,  
#        __python_package_version,  <__>, 
#         
#
#		BuildPreReq: python = X.Y
#
# 	 .
#
#              --with
#       pythonX.Y    
#
%_check_python_version_internal() \
%{expand: %{expand:%%{?_with_python%{2}:%%{?__python_package_version:%%%%{error:Only one python version can be selected at a time}}}}} \
%(echo %{expand:%%{?_with_python%{2}:%%{?__python_package_version:BuildConflicts: python = %{1}}}}) \
%(echo %{expand:%%{?_with_python%{2}:BuildPreReq: python = %{1}}}) \
%{expand: %{expand:%%{?_with_python%{2}:%%%%global __python %(which python%1 2>/dev/null || echo /bin/false)}}} \
%{expand: %{expand:%%{?_with_python%{2}:%%{!?__python_package_version:%%%%global __python_package_version %1}}}}

# _check_python_version <__>
#
#	   _check_python_version_internal
#
%_check_python_version() \
%{expand: %%_check_python_version_internal %{1} %(echo %1 | sed -e 's/\\.//g')}

# _bind_python_version_internal <_> <__>
#
# 	        .
# 	 c  %_sourcedir/<_>.rpmreq    
# 	 Source  ( Source100: would be ought for everything)

%_bind_python_version() \
%(echo %%global __python_package_version %{2} > %_sourcedir/%{1}.rpmreq) \
%(echo Source100: %{1}.rpmreq)

# check_bound_python_version <_>
#
#          %_sourcedir/<_>.rpmreq ,  
#       ,         
#       .
%_check_bound_python_version() \
%{expand: %(test -f %_sourcedir/%{1}.rpmreq && cat %_sourcedir/%{1}.rpmreq)} \
%(echo %{expand: %%{?__python_package_version:BuildRequires: python = %%__python_package_version}})

%_setup_python_module_internal()        \
%{expand: %%global modulename %{1}} \
%(echo Provides: python-%{1} = %version-%release) \
%_check_python_version 2.2 \
%_check_python_version 2.3 \
%_check_python_version 2.4 \
%{expand: %{expand: %%{?__python_package_version:%%{!?__python_disable_bind_version:%%%%_bind_python_version %%modulename %%__python_package_version}}}} \
%{expand: %{expand: %%{!?__python_package_version:%%{!?__python_disable_bind_version:%%{!?_with_python_auto:%%%%_check_bound_python_version %%modulename}}}}} \
%{expand: %{expand: %%{!?__python_package_version:%%%%global __python_package_version %%%%nil}}} \
%{expand: %%global packagename python%%{__python_package_version}-module-%%{modulename}} \

# setup_python_module <_>
#
# 	,  .     
#	   .
#
# 	    --with pythonXY / with
# 	--python_auto,     . 
# 	,   packagename  __python_package_version
# 	(       ).
#
%setup_python_module() \
%{expand: %%{!?__python_package_version:%%_setup_python_module_internal %{*}}} \
%(echo %{expand:Requires: python = %%__python_version}) \
%(echo %{expand:BuildPreReq: python-devel = %%__python_version}) \
%(echo %{expand:BuildPreReq: rpm-build-python >= 0.8}) \

# setup_python_module_loose <_>
#
# 	 setup_python_module,    .rpmreq
# 	      
#
%setup_python_module_loose() \
%{expand: %%global __python_disable_bind_version 1} \
%{expand: %%setup_python_module %{*}}
