%__python3_version %(LC_ALL=C python3 -c 'import sys; print("{0}.{1}".format(sys.version_info[0],sys.version_info[1]))' 2>/dev/null || echo unknown)
%_python3_version %__python3_version
%_python3_libdir %_target_libdir/python%_python3_version
%_target_python3_libdir %_target_libdir

%python3_dynlibdir %python3_libdir/lib-dynload

%python3_tooldir %python3_libdir/tools

# traditional build/install macros
%python3_build	\
	CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
	CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
	FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
	python3 setup.py build
%python3_build_debug	\
	CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
	CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
	FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
	python3 setup.py build --debug
%python3_install	\
	python3 setup.py install --skip-build --root=%buildroot
%python3_build_install	\
	CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
	CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
	FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
	python3 setup.py install --root=%buildroot

%_python3_path %_target_libdir/python%_python3_version %_target_libdir_noarch/python%_python3_version
%add_python3_path()	%global _python3_path %_python3_path %* \
			%global _python_compile_exclude %_python_compile_exclude %*

# python3_req_hier
#
#	Включить поиск иерархических зависимостей
#
%python3_req_hier %global _python3_req_hier yes

%_python3_set_noarch() %global _target_python3_libdir %_target_libdir_noarch
%_python3_set_arch() %global _target_python3_libdir %_target_libdir
%_python3_lib_path	""
%_python3_req_method	slight
%_python3_req_skip	""
%_python3_compile_exclude	%_defaultdocdir
%_python3_compile_include	%_python3_path
%_python3_compile_deep	20
%_python3_compile_skip_x	1
%_python3_compile_clean	1

%set_python3_req_method()	%global _python3_req_method %1

%add_python3_req_skip()	%global _python3_req_skip %_python3_req_skip %*
%add_python3_lib_path()	%global _python3_lib_path %_python3_lib_path %*
%add_python3_compile_exclude() %global _python3_compile_exclude %_python3_compile_exclude %*
%add_python3_compile_include() %global _python3_compile_include %_python3_compile_include %*

# Заголовочные файлы для компиляции расширений на C
%python3_includedir %_includedir/python%__python3_version

# Модули Python3, включенные в официальный релиз
%python3_libdir %_target_python3_libdir/python%__python3_version

# Модули Python3, установленные в дополнение к официальному релизу
%python3_sitelibdir %python3_libdir/site-packages

# архитектурно-независимые модули Python3, установленные в дополнение к официальному релизу
%python3_sitelibdir_noarch %_target_libdir_noarch/python%__python3_version/site-packages

%__python3_deps_internal() \
for mod in %{*}; do \
    echo -n "python%__python3_version($mod) "; \
done; unset mod;\
%nil

# py3_requires <имя_модуля1> [<имя_модуля2> ...]
#
#	Добавляет зависимость на указанные модули Python3. Формируемые
# 	зависимости имеют вид: python3.X(имя_модуля1) [python3.X(имя_модуля2)...]
#
%py3_requires() \
%(echo -n "Requires:"; %{expand: %%__python3_deps_internal %{*}}) \
%nil

# py3_provides <имя_модуля1> [<имя_модуля2> ...]
#
# 	Позволяет принудительно указать предоставляемые модули Python3. Формируемые
# 	"provides" имеют вид: python3.X(имя_модуля1) [python3.X(имя_модуля2)...]
#
%py3_provides() \
%(echo -n "Provides:"; %{expand: %%__python3_deps_internal %{*}}) \
%nil
