[waf] Update to 1.6.8. Use rpm 4.9.X style provides/requires filtering. Move Python3 version to a subpacka
Thomas Moschny
thm at fedoraproject.org
Sun Oct 16 12:50:03 UTC 2011
commit 7f3de811e903e54a0be60ecf1d7fa5604a4e468f
Author: Thomas Moschny <thm at fedoraproject.org>
Date: Sun Oct 16 14:49:21 2011 +0200
Update to 1.6.8.
Use rpm 4.9.X style provides/requires filtering.
Move Python3 version to a subpackage.
Move HTML documentation to a subpackage.
.gitignore | 1 +
repack.sh | 2 +-
sources | 2 +-
waf-1.6.8-syntax.patch | 12 +++++++
waf.spec | 81 +++++++++++++++++++++++++++++++++++++++++------
5 files changed, 85 insertions(+), 13 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 9c30c9e..13e2821 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@ waf-1.5.18.stripped.tar.bz2
/waf-1.6.3.stripped.tar.bz2
/waf-1.6.4.stripped.tar.bz2
/waf-1.6.6.stripped.tar.bz2
+/waf-1.6.8.stripped.tar.bz2
diff --git a/repack.sh b/repack.sh
index 9d60179..694119a 100755
--- a/repack.sh
+++ b/repack.sh
@@ -1,6 +1,6 @@
#! /bin/bash
-version=1.6.6
+version=1.6.8
src=waf-${version}.tar.bz2
dst=${src%.tar.bz2}.stripped.tar.bz2
diff --git a/sources b/sources
index 959f892..b68777c 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-70d0e550f91880c0f5ce72147c3688f3 waf-1.6.6.stripped.tar.bz2
+a27fd4c936a2dc608ff203da9cce0742 waf-1.6.8.stripped.tar.bz2
diff --git a/waf-1.6.8-syntax.patch b/waf-1.6.8-syntax.patch
new file mode 100644
index 0000000..bde20e4
--- /dev/null
+++ b/waf-1.6.8-syntax.patch
@@ -0,0 +1,12 @@
+diff -up waf-1.6.8/waflib/extras/qnxnto.py.orig waf-1.6.8/waflib/extras/qnxnto.py
+--- waf-1.6.8/waflib/extras/qnxnto.py.orig 2011-10-01 19:06:38.000000000 +0200
++++ waf-1.6.8/waflib/extras/qnxnto.py 2011-10-03 12:29:27.970114038 +0200
+@@ -34,7 +34,7 @@ class Popen(object):
+ else:
+ if Popen.verbose:
+ print("Emulating")
+- except Exception, e:
++ except Exception as e:
+ if Popen.verbose:
+ print("Exception: %s" % e)
+ raise
diff --git a/waf.spec b/waf.spec
index 4e11da9..f850a76 100644
--- a/waf.spec
+++ b/waf.spec
@@ -2,6 +2,7 @@
%global with_python3 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')
+%{!?python3_version: %global python3_version %(%{__python3} -c "import sys; sys.stdout.write(sys.version[:3])")}
%endif
# Enable building without html docs (e.g. in case no recent sphinx is
@@ -9,7 +10,7 @@
%global with_docs 1
Name: waf
-Version: 1.6.6
+Version: 1.6.8
Release: 1%{?dist}
Summary: A Python-based build system
Group: Development/Tools
@@ -26,8 +27,7 @@ URL: http://code.google.com/p/waf/
Source: waf-%{version}.stripped.tar.bz2
# use _datadir instead of /usr/lib
Patch0: waf-1.6.2-libdir.patch
-# upstream r11402
-Patch1: waf-1.6.6-syntax.patch
+Patch1: waf-1.6.8-syntax.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
BuildArch: noarch
BuildRequires: python-devel
@@ -43,13 +43,18 @@ BuildRequires: python-sphinx10
BuildRequires: graphviz
BuildRequires: ImageMagick
%endif # with_docs
+%if "%{?python_version}" != ""
# Seems like automatic ABI dependency is not detected since the files are
# going to a non-standard location
-Requires: python(abi) %(%{__python} -c "import sys ; print \"=\", sys.version[:3]")
+Requires: python(abi) = %{python_version}
+%endif
# the demo suite contains a perl module, which draws in unwanted
# provides and requires
+%global __requires_exclude_from %{_docdir}
+%global __provides_exclude_from %{_docdir}
+# for EPEL, we need the old filters
%global __perl_provides %{nil}
%global __perl_requires %{nil}
@@ -60,10 +65,39 @@ installing applications. It is a replacement for other tools such as
Autotools, Scons, CMake or Ant.
+%if 0%{?with_python3}
+%package -n %{name}-python3
+Summary: Python3 support for %{name}
+%if "%{?python3_version}" != ""
+Requires: python(abi) = %{python3_version}
+%endif
+
+%description -n %{name}-python3
+Waf is a Python-based framework for configuring, compiling and
+installing applications. It is a replacement for other tools such as
+Autotools, Scons, CMake or Ant.
+
+This package contains the Python 3 version of %{name}.
+%endif # with_python3
+
+
+%if 0%{?with_docs}
+%package -n %{name}-docs
+Summary: Documentation for %{name}
+
+%description -n %{name}-docs
+Waf is a Python-based framework for configuring, compiling and
+installing applications. It is a replacement for other tools such as
+Autotools, Scons, CMake or Ant.
+
+This package contains the HTML documentation for %{name}.
+%endif # with_docs
+
+
%prep
%setup -q
%patch0 -p0 -b .libdir
-%patch1 -p0
+%patch1 -p1 -b .syntax
%build
@@ -106,17 +140,26 @@ find . -name '*.py' -printf '%%P\0' |
popd
%endif # with_python3
popd
-install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf
+
+# install the frontend
+install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf-%{python_version}
+%if 0%{?with_python3}
+install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf-%{python3_version}
+%endif # with_python3
+ln -s waf-%{python_version} %{buildroot}%{_bindir}/waf
# remove shebangs from and fix EOL for all scripts in wafadmin
find %{buildroot}%{_datadir}/ -name '*.py' \
-exec sed -i -e '1{/^#!/d}' -e 's|\r$||g' {} \;
# fix waf script shebang line
-sed -i "1c#! /usr/bin/python" %{buildroot}%{_bindir}/waf
+sed -i "1c#! %{__python}" %{buildroot}%{_bindir}/waf-%{python_version}
+%if 0%{?with_python3}
+sed -i "1c#! %{__python3}" %{buildroot}%{_bindir}/waf-%{python3_version}
+%endif # with_python3
# remove x-bits from everything going to doc
-find demos utils -type f -exec %{__chmod} 0644 {} \;
+find demos utils -type f -exec chmod 0644 {} \;
# remove hidden file
rm -f docs/sphinx/build/html/.buildinfo
@@ -135,17 +178,33 @@ rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc README TODO ChangeLog demos
-%if 0%{?with_docs}
-%doc docs/sphinx/build/html
-%endif # with_docs
%{_bindir}/waf
+%{_bindir}/waf-%{python_version}
%{_datadir}/waf
+
+
%if 0%{?with_python3}
+%files -n %{name}-python3
+%defattr(-,root,root,-)
+%{_bindir}/waf-%{python3_version}
%{_datadir}/waf3
%endif # with_python3
+%if 0%{?with_docs}
+%files -n %{name}-docs
+%defattr(-,root,root,-)
+%doc docs/sphinx/build/html
+%endif # with_docs
+
+
%changelog
+* Mon Oct 3 2011 Thomas Moschny <thomas.moschny at gmx.de> - 1.6.8-1
+- Update to 1.6.8.
+- Use rpm 4.9.X style provides/requires filtering.
+- Move Python3 version to a subpackage.
+- Move HTML documentation to a subpackage.
+
* Sat Jun 18 2011 Thomas Moschny <thomas.moschny at gmx.de> - 1.6.6-1
- Update to 1.6.6.
- Remove unused extras/subprocess.py.
More information about the scm-commits
mailing list