Blame SPECS/scons.spec

1ef5d7
#global posttag .final.0
1ef5d7
1ef5d7
# SCons 3.0.1 does not run under (3.0.0) < Python3 < (3,5,0) or
1ef5d7
# Python < (2,7,0).
1ef5d7
# Epel7 provides Python3.4
1ef5d7
1ef5d7
%if 0%{?fedora} || 0%{?rhel} > 7
1ef5d7
%global with_python3 1
1ef5d7
%if 0%{?rhel} > 7
1ef5d7
%global with_python2 0
1ef5d7
%else
1ef5d7
%global with_python2 1
1ef5d7
%endif
1ef5d7
%else
1ef5d7
%global with_python3 0
1ef5d7
%global with_python2 1
1ef5d7
%endif
1ef5d7
1ef5d7
Name:		    scons
e4d9bd
Version:	    3.1.2
e4d9bd
Release:	    1%{?posttag}%{?dist}
1ef5d7
Summary:	    An Open Source software construction tool
1ef5d7
1ef5d7
License:	    MIT
1ef5d7
URL:		    http://www.scons.org
1ef5d7
Source:		    http://prdownloads.sourceforge.net/scons/scons-%{version}.tar.gz
1ef5d7
BuildArch:	    noarch
1ef5d7
1ef5d7
%description
1ef5d7
SCons is an Open Source software construction tool--that is, a build
1ef5d7
tool; an improved substitute for the classic Make utility; a better way
1ef5d7
to build software. SCons is based on the design which won the Software
1ef5d7
Carpentry build tool design competition in August 2000.
1ef5d7
1ef5d7
SCons "configuration files" are Python scripts, eliminating the need
1ef5d7
to learn a new build tool syntax. SCons maintains a global view of
1ef5d7
all dependencies in a tree, and can scan source (or other) files for
1ef5d7
implicit dependencies, such as files specified on #include lines. SCons
1ef5d7
uses MD5 signatures to rebuild only when the contents of a file have
1ef5d7
really changed, not just when the timestamp has been touched. SCons
1ef5d7
supports side-by-side variant builds, and is easily extended with user-
1ef5d7
defined Builder and/or Scanner objects.
1ef5d7
1ef5d7
%if 0%{?with_python2}
1ef5d7
%package -n     python2-%{name}
1ef5d7
Summary:        An Open Source software construction tool
1ef5d7
1ef5d7
BuildRequires:  python2-devel
1ef5d7
Provides:       scons = %{version}-%{release}
1ef5d7
Obsoletes:      scons < %{version}-4
1ef5d7
%{?python_provide:%python_provide python2-%{name}}
1ef5d7
1ef5d7
%description -n python2-%{name}
1ef5d7
SCons is an Open Source software construction tool--that is, a build
1ef5d7
tool; an improved substitute for the classic Make utility; a better way
1ef5d7
to build software. SCons is based on the design which won the Software
1ef5d7
Carpentry build tool design competition in August 2000.
1ef5d7
1ef5d7
SCons "configuration files" are Python scripts, eliminating the need
1ef5d7
to learn a new build tool syntax. SCons maintains a global view of
1ef5d7
all dependencies in a tree, and can scan source (or other) files for
1ef5d7
implicit dependencies, such as files specified on #include lines. SCons
1ef5d7
uses MD5 signatures to rebuild only when the contents of a file have
1ef5d7
really changed, not just when the timestamp has been touched. SCons
1ef5d7
supports side-by-side variant builds, and is easily extended with user-
1ef5d7
defined Builder and/or Scanner objects.
1ef5d7
%endif
1ef5d7
1ef5d7
%if 0%{?with_python3}
1ef5d7
%package -n     python3-%{name}
1ef5d7
Summary:        An Open Source software construction tool
1ef5d7
1ef5d7
BuildRequires:  python3-devel
1ef5d7
Provides:       scons-python3 = %{version}-%{release}
1ef5d7
%{?python_provide:%python_provide python3-%{name}}
1ef5d7
1ef5d7
%description -n python3-%{name}
1ef5d7
SCons is an Open Source software construction tool--that is, a build
1ef5d7
tool; an improved substitute for the classic Make utility; a better way
1ef5d7
to build software. SCons is based on the design which won the Software
1ef5d7
Carpentry build tool design competition in August 2000.
1ef5d7
1ef5d7
SCons "configuration files" are Python scripts, eliminating the need
1ef5d7
to learn a new build tool syntax. SCons maintains a global view of
1ef5d7
all dependencies in a tree, and can scan source (or other) files for
1ef5d7
implicit dependencies, such as files specified on #include lines. SCons
1ef5d7
uses MD5 signatures to rebuild only when the contents of a file have
1ef5d7
really changed, not just when the timestamp has been touched. SCons
1ef5d7
supports side-by-side variant builds, and is easily extended with user-
1ef5d7
defined Builder and/or Scanner objects.
1ef5d7
%endif
1ef5d7
1ef5d7
%prep
1ef5d7
%setup -qc
1ef5d7
1ef5d7
# Convert to UTF-8
1ef5d7
for file in %{name}-%{version}%{?posttag}/*.txt; do
1ef5d7
    iconv -f ISO-8859-1 -t UTF-8 -o $file.new $file && \
1ef5d7
    touch -r $file $file.new && \
1ef5d7
    mv $file.new $file
1ef5d7
done
1ef5d7
%if 0%{?with_python3}
1ef5d7
cp -a %{name}-%{version}%{?posttag} %{name}-%{version}%{?posttag}-py3
1ef5d7
%endif
1ef5d7
%if 0%{?with_python2}
1ef5d7
sed -i 's|/usr/bin/env python|%{__python2}|' %{name}-%{version}%{?posttag}/script/*
1ef5d7
%endif
1ef5d7
%if 0%{?with_python3}
1ef5d7
sed -i 's|/usr/bin/env python|%{__python3}|' %{name}-%{version}%{?posttag}-py3/script/*
1ef5d7
%endif
1ef5d7
1ef5d7
%build
1ef5d7
%if 0%{?with_python2}
1ef5d7
pushd %{name}-%{version}%{?posttag}
1ef5d7
%py2_build
1ef5d7
popd
1ef5d7
%endif
1ef5d7
%if 0%{?with_python3}
1ef5d7
pushd %{name}-%{version}%{?posttag}-py3
1ef5d7
%py3_build
1ef5d7
popd
1ef5d7
%endif
1ef5d7
1ef5d7
%install
1ef5d7
%if 0%{?with_python3}
1ef5d7
cd %{name}-%{version}%{?posttag}-py3
1ef5d7
%py3_install \
1ef5d7
 --standard-lib \
1ef5d7
 --no-install-bat \
1ef5d7
 --no-version-script \
1ef5d7
 --install-scripts=%{_bindir} \
1ef5d7
 --install-data=%{_datadir}
1ef5d7
cd ..
1ef5d7
1ef5d7
#Avoiding collisions between the python 2 and python 3 stacks
1ef5d7
mv %{buildroot}%{_bindir}/%{name} %{buildroot}%{_bindir}/%{name}-3
1ef5d7
mv %{buildroot}%{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/%{name}-configure-cache-3
1ef5d7
mv %{buildroot}%{_bindir}/%{name}ign %{buildroot}%{_bindir}/%{name}ign-3
1ef5d7
mv %{buildroot}%{_bindir}/%{name}-time %{buildroot}%{_bindir}/%{name}-time-3
1ef5d7
1ef5d7
pushd %{buildroot}%{_bindir} 
1ef5d7
for i in %{name}-v%{version}-%{python3_version} %{name}-%{python3_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}-3 %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
for i in %{name}ign-v%{version}-%{python3_version} %{name}ign-%{python3_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}ign-3 %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
for i in %{name}-time-v%{version}-%{python3_version} %{name}-time-%{python3_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}-time-3 %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
for i in %{name}-configure-cache-v%{version}-%{python3_version} %{name}-configure-cache-%{python3_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}-configure-cache-3 %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
popd
1ef5d7
%endif
1ef5d7
1ef5d7
%if 0%{?with_python2}
1ef5d7
cd %{name}-%{version}%{?posttag}
1ef5d7
%py2_install \
1ef5d7
 --standard-lib \
1ef5d7
 --no-install-bat \
1ef5d7
 --no-version-script \
1ef5d7
 --install-scripts=%{_bindir} \
1ef5d7
 --install-data=%{_datadir}
1ef5d7
cd ..
1ef5d7
1ef5d7
#Avoiding collisions between the python 2 and python 3 stacks
1ef5d7
pushd %{buildroot}%{_bindir} 
1ef5d7
for i in %{name}-2 %{name}-%{python2_version} %{name}-v%{version}-%{python2_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name} %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
for i in %{name}ign-2 %{name}ign-%{python2_version} %{name}ign-v%{version}-%{python2_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}ign %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
for i in %{name}-time-2 %{name}-time-%{python2_version} %{name}-time-v%{version}-%{python2_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}-time %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
for i in %{name}-configure-cache-2 %{name}-configure-cache-%{python2_version} %{name}-configure-cache-v%{version}-%{python2_version}; do
1ef5d7
  ln -fs %{_bindir}/%{name}-configure-cache %{buildroot}%{_bindir}/$i
1ef5d7
done
1ef5d7
popd
1ef5d7
%endif
1ef5d7
1ef5d7
%if 0%{?with_python2}
1ef5d7
%files -n python2-%{name}
1ef5d7
%doc %{name}-%{version}%{?posttag}/CHANGES.txt %{name}-%{version}%{?posttag}/README.txt %{name}-%{version}%{?posttag}/RELEASE.txt
1ef5d7
%license %{name}-%{version}%{?posttag}/LICENSE.txt
1ef5d7
%{_bindir}/%{name}
1ef5d7
%{_bindir}/%{name}ign
1ef5d7
%{_bindir}/%{name}-time
1ef5d7
%{_bindir}/%{name}-configure-cache
1ef5d7
%{_bindir}/%{name}*-2
1ef5d7
%{_bindir}/%{name}*-%{python2_version}
1ef5d7
%{python2_sitelib}/SCons/
1ef5d7
%{python2_sitelib}/scons-%{version}*.egg-info
1ef5d7
%{_mandir}/man?/*
1ef5d7
%endif
1ef5d7
%if 0%{?with_python3}
1ef5d7
%files -n python3-%{name}
1ef5d7
%doc %{name}-%{version}%{?posttag}-py3/CHANGES.txt %{name}-%{version}%{?posttag}-py3/README.txt %{name}-%{version}%{?posttag}-py3/RELEASE.txt
1ef5d7
%license %{name}-%{version}%{?posttag}-py3/LICENSE.txt
1ef5d7
%{_bindir}/%{name}*-3
1ef5d7
%{_bindir}/%{name}*-%{python3_version}
1ef5d7
%{python3_sitelib}/SCons/
1ef5d7
%{python3_sitelib}/scons-%{version}*.egg-info
1ef5d7
%{_mandir}/man?/*
1ef5d7
%endif
1ef5d7
1ef5d7
%changelog
e4d9bd
* Mon Jan 10 2022 Honza Horak <hhorak@redhat.com> - 3.1.2-1
e4d9bd
- Rebase to 3.1.2
e4d9bd
  Resolves: #1823510
e4d9bd
1ef5d7
* Fri Jul 20 2018 Honza Horak <hhorak@redhat.com> - 3.0.1-8
1ef5d7
- Do not build python2-scons on rhel>7
1ef5d7
  Resolves: #1591722
1ef5d7
1ef5d7
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.1-7
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
1ef5d7
1ef5d7
* Tue Jan 23 2018 Merlin Mathesius <mmathesi@redhat.com> - 3.0.1-6
1ef5d7
- Cleanup spec file conditionals
1ef5d7
1ef5d7
* Mon Dec 25 2017 Antonio Trande <sagitter at fedoraproject.org> - 3.0.1-5
1ef5d7
- Remove 'Obsoletes scons' for scons-python3
1ef5d7
1ef5d7
* Mon Dec 25 2017 Antonio Trande <sagitter at fedoraproject.org> - 3.0.1-4
1ef5d7
- Fix Provides tag
1ef5d7
1ef5d7
* Mon Dec 25 2017 Antonio Trande <sagitter at fedoraproject.org> - 3.0.1-3
1ef5d7
- Set Obsoletes tag
1ef5d7
1ef5d7
* Mon Dec 25 2017 Antonio Trande <sagitter at fedoraproject.org> - 3.0.1-2
1ef5d7
- Provide Python2 and Python3 scons
1ef5d7
- Avoiding collisions between the python 2 and python 3 stacks
1ef5d7
1ef5d7
* Tue Nov 28 2017 Antonio Trande <sagitter at fedoraproject.org> - 3.0.1-1
1ef5d7
- Update to 3.0.1
1ef5d7
- Build with Python2 on epel7
1ef5d7
1ef5d7
* Tue Oct 03 2017 Fabian Affolter <mail@fabian-affolter.ch> - 2.5.1-1
1ef5d7
- Update to new upstream version 3.0.0 (rhbz#1497891)
1ef5d7
1ef5d7
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1-3
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
1ef5d7
1ef5d7
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
1ef5d7
1ef5d7
* Tue Nov 15 2016 Fabian Affolter <mail@fabian-affolter.ch> - 2.5.1-1
1ef5d7
- Update to new upstream version 2.5.1 (rhbz#1391798)
1ef5d7
1ef5d7
* Mon Jun 13 2016 Fabian Affolter <mail@fabian-affolter.ch> - 2.5.0-1
1ef5d7
- Update to new upstream version 2.5.0
1ef5d7
1ef5d7
* Sat May 07 2016 Fabian Affolter <mail@fabian-affolter.ch> - 2.4.1-1
1ef5d7
- Update to new upstream version 2.4.1 (rhbz#1265037)
1ef5d7
1ef5d7
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.6-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
1ef5d7
1ef5d7
* Sat Aug 01 2015 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.6-1
1ef5d7
- Update to new upstream version 2.3.6 (rhbz#1234119)
1ef5d7
1ef5d7
* Wed Jul 22 2015 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.5-1
1ef5d7
- Update to new upstream version 2.3.5 (rhbz#1234119)
1ef5d7
1ef5d7
* Fri Jun 19 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.4-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
1ef5d7
1ef5d7
* Tue Sep 30 2014 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.4-1
1ef5d7
- Update to new upstream version 2.3.4 (rhbz#1147461)
1ef5d7
1ef5d7
* Mon Sep 01 2014 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.3-1
1ef5d7
- Update to new upstream version 2.3.3 (rhbz#1133527)
1ef5d7
1ef5d7
* Mon Jul 07 2014 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.2-1
1ef5d7
- Update to new upstream version 2.3.2 (rhbz#1116635)
1ef5d7
1ef5d7
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.1-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
1ef5d7
1ef5d7
* Wed Mar 05 2014 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.1-1
1ef5d7
- Update to new upstream version 2.3.1
1ef5d7
1ef5d7
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
1ef5d7
1ef5d7
* Sat Mar 09 2013 Fabian Affolter <mail@fabian-affolter.ch> - 2.3.0-1
1ef5d7
- Update to new upstream version 2.3.0
1ef5d7
1ef5d7
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
1ef5d7
1ef5d7
* Wed Aug 29 2012 Fabian Affolter <mail@fabian-affolter.ch> - 2.2.0-1
1ef5d7
- Update to new upstream version 2.2.0
1ef5d7
1ef5d7
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-3
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
1ef5d7
1ef5d7
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
1ef5d7
1ef5d7
* Sat Sep 10 2011 Fabian Affolter <mail@fabian-affolter.ch> - 2.1.0-1
1ef5d7
- Update to new upstream version 2.1.0
1ef5d7
1ef5d7
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.1-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
1ef5d7
1ef5d7
* Mon Aug 23 2010 Chen Lei <supercyper@163.com> - 2.0.1-1
1ef5d7
- new release 2.0.1
1ef5d7
1ef5d7
* Wed Aug 11 2010 David Malcolm <dmalcolm@redhat.com> - 2.0.0-2.final.0
1ef5d7
- recompiling .py files against Python 2.7 (rhbz#623357)
1ef5d7
1ef5d7
* Thu Jul 08 2010 Chen Lei <supercyper@163.com> - 2.0.0-1.final.0
1ef5d7
- new release 2.0.0.final.0
1ef5d7
1ef5d7
* Sun Jul 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-3
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
1ef5d7
1ef5d7
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2
1ef5d7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
1ef5d7
1ef5d7
* Thu Dec 25 2008 Alex Lancaster <alexlan[AT]fedoraproject org> - 1.2.0-1
1ef5d7
- Update to 1.2.0 to fix problems with Python 2.6 (#475903)
1ef5d7
  (currently causing broken deps with other packages)
1ef5d7
1ef5d7
* Thu Dec 18 2008 Gerard Milmeister <gemi@bluewin.ch> - 1.1.0-1
1ef5d7
- new release 1.1.0
1ef5d7
1ef5d7
* Fri Sep  5 2008 Gerard Milmeister <gemi@bluewin.ch> - 1.0.0-1.d20080826
1ef5d7
- new release 1.0.0
1ef5d7
1ef5d7
* Sun Aug  3 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98.5-1
1ef5d7
- new release 0.98.5
1ef5d7
1ef5d7
* Sun Jun  1 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98.4-2
1ef5d7
- added buildreq sed
1ef5d7
1ef5d7
* Sat May 31 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98.4-1
1ef5d7
- new release 0.98.4
1ef5d7
1ef5d7
* Sun May  4 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98.3-2
1ef5d7
- changed shebang line of scripts
1ef5d7
1ef5d7
* Sun May  4 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98.3-1
1ef5d7
- new release 0.98.3
1ef5d7
1ef5d7
* Sat Apr 19 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98.1-1
1ef5d7
- new release 0.98.1
1ef5d7
1ef5d7
* Sat Apr  5 2008 Gerard Milmeister <gemi@bluewin.ch> - 0.98-1
1ef5d7
- new release 0.98
1ef5d7
1ef5d7
* Mon May 21 2007 Gerard Milmeister <gemi@bluewin.ch> - 0.97-1
1ef5d7
- new version 0.97
1ef5d7
1ef5d7
* Thu May 10 2007 Gerard Milmeister <gemi@bluewin.ch> - 0.96.96-1
1ef5d7
- new version 0.96.96
1ef5d7
1ef5d7
* Mon Aug 28 2006 Gerard Milmeister <gemi@bluewin.ch> - 0.96.1-3
1ef5d7
- Rebuild for FE6
1ef5d7
1ef5d7
* Sat Jun 18 2005 Gerard Milmeister <gemi@bluewin.ch> - 0.96.1-1
1ef5d7
- New Version 0.96.1
1ef5d7
1ef5d7
* Thu Apr  7 2005 Michael Schwendt <mschwendt[AT]users.sf.net>
1ef5d7
- rebuilt
1ef5d7
1ef5d7
* Tue Jan 25 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> 0.96-4
1ef5d7
- Place libs in {_prefix}/lib/ and not in {libdir}; fixes x86_64 problems
1ef5d7
- Adjust minor bits to be in sync with python-spec-template