From 12a9b77d2638e64d9185a517f0c1417e181dd2ee Mon Sep 17 00:00:00 2001 From: Thomas Moschny Date: Fri, 21 Jan 2011 02:34:41 +0100 Subject: [PATCH] - Make waf compatible with python3, if available. --- waf.spec | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/waf.spec b/waf.spec index 6e483bb..a2166be 100644 --- a/waf.spec +++ b/waf.spec @@ -1,10 +1,17 @@ +%if (! 0%{?rhel}) || 0%{?rhel} > 6 +%global with_python3 1 +%endif + # Enable building without html docs (e.g. in case no recent sphinx is # available) %global with_docs 1 +# Turn off the brp-python-bytecompile script +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') + Name: waf Version: 1.6.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A Python-based build system Group: Development/Tools # The entire source code is BSD apart from pproc.py (taken from Python 2.5) @@ -20,6 +27,9 @@ Patch0: waf-1.6.2-libdir.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildArch: noarch BuildRequires: python-devel +%if 0%{?with_python3} +BuildRequires: python3-devel +%endif # with_python3 %if 0%{?with_docs} BuildRequires: python-sphinx BuildRequires: graphviz @@ -71,15 +81,23 @@ rm -rf %{buildroot} # use waf so it unpacks itself mkdir _temp ; pushd _temp cp -av ../waf . -./waf >/dev/null 2>&1 +%{__python} ./waf >/dev/null 2>&1 pushd .waf-%{version}-* find . -name '*.py' -printf '%%P\0' | xargs -0 -I{} install -m 0644 -p -D {} %{buildroot}%{_datadir}/waf/{} -popd ; popd +popd +%if 0%{?with_python3} +%{__python3} ./waf >/dev/null 2>&1 +pushd .waf3-%{version}-* +find . -name '*.py' -printf '%%P\0' | + xargs -0 -I{} install -m 0644 -p -D {} %{buildroot}%{_datadir}/waf3/{} +popd +%endif # with_python3 +popd install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf # remove shebangs from and fix EOL for all scripts in wafadmin -find %{buildroot}%{_datadir}/waf/ -name '*.py' \ +find %{buildroot}%{_datadir}/ -name '*.py' \ -exec sed -i -e '1{/^#!/d}' -e 's|\r$||g' {} \; # fix waf script shebang line @@ -88,6 +106,12 @@ sed -i "1c#! /usr/bin/python" %{buildroot}%{_bindir}/waf # remove x-bits from everything going to doc find demos utils -type f -exec %{__chmod} 0644 {} \; +# do byte compilation +%py_byte_compile %{__python} %{buildroot}%{_datadir}/waf +%if 0%{?with_python3} +%py_byte_compile %{__python3} %{buildroot}%{_datadir}/waf3 +%endif # with_python3 + %clean rm -rf %{buildroot} @@ -101,9 +125,16 @@ rm -rf %{buildroot} %endif # with_docs %{_bindir}/waf %{_datadir}/waf +%if 0%{?with_python3} +%{_datadir}/waf3 +%endif # with_python3 + %changelog +* Fri Jan 21 2011 Thomas Moschny - 1.6.2-3 +- Make waf compatible with python3, if available. + * Tue Jan 18 2011 Thomas Moschny - 1.6.2-2 - Enable building without html docs.