Репозиторий Sisyphus
Последнее обновление: 28 мая 2020 | Пакетов: 17571 | Посещений: 18629130
en ru br
Репозитории ALT

Группа :: Разработка/Прочее
Пакет: waf

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

%add_python3_path %_datadir/waf3
Name: waf
Version: 2.0.19
Release: alt2

Summary: A Python-based build system
License: BSD
Group: Development/Other

URL: http://code.google.com/p/waf/
# git https://gitlab.com/ita1024/waf
Source: %name-%version.tar
Patch0: waf-1.6.2-libdir.patch
Patch1: waf-1.6.9-logo.patch
# with python-3 waf does not find the top_dir directory with wscript and this path try to fix it
Patch2: waf-2.0.12-python3-build.patch

BuildArch: noarch
BuildRequires: python3-devel
BuildRequires(pre): rpm-build-python3

Provides: python3-module-waf = %EVR
Obsoletes: python3-module-waf < %EVR

%description
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.

%prep
%setup
# also search for waflib in /usr/share/waf
%patch0 -p0
# do not try to use the (removed) waf logos
%patch1 -p1
%patch2 -p1

# remove BOM, causes trouble later

sed -i -e '1s/^\xEF\xBB\xBF//' waflib/extras/dpapi.py

# add missing quotes, see rhbz#914566 and

# https://code.google.com/p/waf/issues/detail?id=1263
sed -i -e 's at fontname=\(Vera.*sans\), at fontname="\1", at g' \
 docs/sphinx/conf.py \
 docs/sphinx/coremodules.rst \
 docs/sphinx/featuremap.rst

%build
# skip build slow_qt4 extras
rm -f waflib/extras/slow_qt4.py
extras=
for f in waflib/extras/*.py ; do
 f=$(basename "$f" .py);
 if [ "$f" != "__init__" ]; then
   extras="${extras:+$extras,}$f" ;
 fi
done
%__python3 ./waf-light --make-waf --strip --tools="$extras"

%install
# use waf so it unpacks itself
mkdir _temp ; pushd _temp
cp -av ../waf .
%{__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
popd
install -m 0755 -p -D waf-light %{buildroot}%{_bindir}/waf-%{__python3_version}
ln -s waf-%{__python3_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' {} \;

sed -i "1c#! /usr/bin/python3" %{buildroot}%{_bindir}/waf-%{__python3_version}

# remove x-bits from everything going to doc

find demos utils -type f -exec chmod 0644 {} \;

# remove hidden file

rm -f docs/sphinx/build/html/.buildinfo

%files
%_bindir/waf
%_bindir/waf-3.*
%_datadir/waf3

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin