2014-05-15 03:48:37 +04:00
|
|
|
%global emacs_lispdir %{_datadir}/emacs/site-lisp
|
2014-05-15 03:50:11 +04:00
|
|
|
|
|
|
|
%define withpython %{nil}
|
|
|
|
|
|
|
|
%if "%{?withpython}"
|
|
|
|
|
|
|
|
%global pythonver %{withpython}
|
|
|
|
%global pythonname Python-%{withpython}
|
2014-11-02 18:39:02 +03:00
|
|
|
%global docutilsname docutils-0.12
|
2014-10-18 23:48:38 +04:00
|
|
|
%global docutilsmd5 4622263b62c5c771c03502afa3157768
|
2014-05-15 03:50:11 +04:00
|
|
|
%global pythonhg python-hg
|
2015-04-15 06:44:03 +03:00
|
|
|
%global hgpyprefix /opt/%{pythonhg}
|
2014-05-15 03:50:11 +04:00
|
|
|
# byte compilation will fail on some some Python /test/ files
|
|
|
|
%global _python_bytecompile_errors_terminate_build 0
|
|
|
|
|
|
|
|
%else
|
|
|
|
|
2014-05-15 03:48:37 +04:00
|
|
|
%global pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))')
|
|
|
|
|
2014-05-15 03:50:11 +04:00
|
|
|
%endif
|
|
|
|
|
2010-08-27 01:11:03 +04:00
|
|
|
Summary: A fast, lightweight Source Control Management system
|
2005-06-25 10:44:51 +04:00
|
|
|
Name: mercurial
|
2006-12-11 02:41:07 +03:00
|
|
|
Version: snapshot
|
2006-03-12 17:11:11 +03:00
|
|
|
Release: 0
|
2010-01-20 07:20:08 +03:00
|
|
|
License: GPLv2+
|
2005-06-25 10:44:51 +04:00
|
|
|
Group: Development/Tools
|
2015-09-30 23:43:49 +03:00
|
|
|
URL: https://mercurial-scm.org/
|
2014-05-20 06:07:58 +04:00
|
|
|
Source0: %{name}-%{version}-%{release}.tar.gz
|
2014-05-15 03:50:11 +04:00
|
|
|
%if "%{?withpython}"
|
|
|
|
Source1: %{pythonname}.tgz
|
|
|
|
Source2: %{docutilsname}.tar.gz
|
|
|
|
%endif
|
2008-11-23 20:17:02 +03:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
2005-06-25 10:44:51 +04:00
|
|
|
|
2014-05-15 03:50:11 +04:00
|
|
|
BuildRequires: make, gcc, gettext
|
|
|
|
%if "%{?withpython}"
|
|
|
|
BuildRequires: readline-devel, openssl-devel, ncurses-devel, zlib-devel, bzip2-devel
|
|
|
|
%else
|
2017-05-03 02:19:04 +03:00
|
|
|
BuildRequires: python >= 2.7, python-devel, python-docutils >= 0.5
|
|
|
|
Requires: python >= 2.7
|
2014-05-15 03:50:11 +04:00
|
|
|
%endif
|
2010-01-06 05:27:15 +03:00
|
|
|
# The hgk extension uses the wish tcl interpreter, but we don't enforce it
|
|
|
|
#Requires: tk
|
2007-01-21 13:59:23 +03:00
|
|
|
|
2005-06-25 10:44:51 +04:00
|
|
|
%description
|
|
|
|
Mercurial is a fast, lightweight source control management system designed
|
|
|
|
for efficient handling of very large distributed projects.
|
|
|
|
|
|
|
|
%prep
|
2014-05-15 03:50:11 +04:00
|
|
|
|
|
|
|
%if "%{?withpython}"
|
|
|
|
%setup -q -n mercurial-%{version}-%{release} -a1 -a2
|
|
|
|
# despite the comments in cgi.py, we do this to prevent rpmdeps from picking /usr/local/bin/python up
|
|
|
|
sed -i '1c#! /usr/bin/env python' %{pythonname}/Lib/cgi.py
|
|
|
|
%else
|
2014-05-20 06:07:58 +04:00
|
|
|
%setup -q -n mercurial-%{version}-%{release}
|
2014-05-15 03:50:11 +04:00
|
|
|
%endif
|
2005-06-25 10:44:51 +04:00
|
|
|
|
|
|
|
%build
|
2014-05-15 03:50:11 +04:00
|
|
|
|
|
|
|
%if "%{?withpython}"
|
|
|
|
|
|
|
|
PYPATH=$PWD/%{pythonname}
|
|
|
|
cd $PYPATH
|
|
|
|
./configure --prefix=%{hgpyprefix}
|
|
|
|
make all %{?_smp_mflags}
|
|
|
|
cd -
|
|
|
|
|
|
|
|
cd %{docutilsname}
|
|
|
|
LD_LIBRARY_PATH=$PYPATH $PYPATH/python setup.py build
|
|
|
|
cd -
|
|
|
|
|
|
|
|
# verify Python environment
|
|
|
|
LD_LIBRARY_PATH=$PYPATH PYTHONPATH=$PWD/%{docutilsname} $PYPATH/python -c 'import sys, zlib, bz2, ssl, curses, readline'
|
|
|
|
|
|
|
|
# set environment for make
|
|
|
|
export PATH=$PYPATH:$PATH
|
|
|
|
export LD_LIBRARY_PATH=$PYPATH
|
|
|
|
export CFLAGS="-L $PYPATH"
|
|
|
|
export PYTHONPATH=$PWD/%{docutilsname}
|
|
|
|
|
|
|
|
%endif
|
|
|
|
|
2007-06-30 04:21:22 +04:00
|
|
|
make all
|
2017-07-27 17:09:26 +03:00
|
|
|
make -C contrib/chg
|
2005-06-25 10:44:51 +04:00
|
|
|
|
|
|
|
%install
|
2008-11-23 20:17:02 +03:00
|
|
|
rm -rf $RPM_BUILD_ROOT
|
2014-05-15 03:50:11 +04:00
|
|
|
|
|
|
|
%if "%{?withpython}"
|
|
|
|
|
|
|
|
PYPATH=$PWD/%{pythonname}
|
|
|
|
cd $PYPATH
|
|
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
|
|
|
# these .a are not necessary and they are readonly and strip fails - kill them!
|
|
|
|
rm -f %{buildroot}%{hgpyprefix}/lib/{,python2.*/config}/libpython2.*.a
|
|
|
|
cd -
|
|
|
|
|
|
|
|
cd %{docutilsname}
|
|
|
|
LD_LIBRARY_PATH=$PYPATH $PYPATH/python setup.py install --root="$RPM_BUILD_ROOT"
|
|
|
|
cd -
|
|
|
|
|
|
|
|
PATH=$PYPATH:$PATH LD_LIBRARY_PATH=$PYPATH make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{hgpyprefix} MANDIR=%{_mandir}
|
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_bindir}
|
|
|
|
( cd $RPM_BUILD_ROOT%{_bindir}/ && ln -s ../..%{hgpyprefix}/bin/hg . )
|
|
|
|
( cd $RPM_BUILD_ROOT%{_bindir}/ && ln -s ../..%{hgpyprefix}/bin/python2.? %{pythonhg} )
|
|
|
|
|
|
|
|
%else
|
|
|
|
|
2010-04-19 13:31:19 +04:00
|
|
|
make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} MANDIR=%{_mandir}
|
2007-06-30 04:21:22 +04:00
|
|
|
|
2014-05-15 03:50:11 +04:00
|
|
|
%endif
|
|
|
|
|
2017-07-27 17:09:26 +03:00
|
|
|
install -m 755 contrib/chg/chg $RPM_BUILD_ROOT%{_bindir}/
|
2014-05-20 05:57:21 +04:00
|
|
|
install -m 755 contrib/hgk $RPM_BUILD_ROOT%{_bindir}/
|
|
|
|
install -m 755 contrib/hg-ssh $RPM_BUILD_ROOT%{_bindir}/
|
2007-06-03 17:40:56 +04:00
|
|
|
|
|
|
|
bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
|
|
|
|
mkdir -p $bash_completion_dir
|
2009-06-24 05:05:01 +04:00
|
|
|
install -m 644 contrib/bash_completion $bash_completion_dir/mercurial.sh
|
2007-06-03 17:40:56 +04:00
|
|
|
|
|
|
|
zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
|
|
|
|
mkdir -p $zsh_completion_dir
|
2009-06-24 05:05:01 +04:00
|
|
|
install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial
|
2007-06-03 17:40:56 +04:00
|
|
|
|
2009-06-24 05:05:01 +04:00
|
|
|
mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir}
|
2014-05-20 05:57:21 +04:00
|
|
|
install -m 644 contrib/mercurial.el $RPM_BUILD_ROOT%{emacs_lispdir}/
|
|
|
|
install -m 644 contrib/mq.el $RPM_BUILD_ROOT%{emacs_lispdir}/
|
2009-06-24 05:05:01 +04:00
|
|
|
|
|
|
|
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
|
2005-06-25 10:44:51 +04:00
|
|
|
|
|
|
|
%clean
|
2005-07-02 02:03:42 +04:00
|
|
|
rm -rf $RPM_BUILD_ROOT
|
2005-06-25 10:44:51 +04:00
|
|
|
|
2005-07-02 02:03:42 +04:00
|
|
|
%files
|
|
|
|
%defattr(-,root,root,-)
|
2010-03-13 18:19:28 +03:00
|
|
|
%doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html *.cgi contrib/*.fcgi
|
2010-01-06 05:27:15 +03:00
|
|
|
%doc %attr(644,root,root) %{_mandir}/man?/hg*
|
2014-09-03 01:10:08 +04:00
|
|
|
%doc %attr(644,root,root) contrib/*.svg
|
2010-08-27 01:11:03 +04:00
|
|
|
%dir %{_datadir}/zsh/
|
|
|
|
%dir %{_datadir}/zsh/site-functions/
|
2007-06-03 17:40:56 +04:00
|
|
|
%{_datadir}/zsh/site-functions/_mercurial
|
2010-08-27 01:11:03 +04:00
|
|
|
%dir %{_datadir}/emacs/site-lisp/
|
2007-06-03 17:40:56 +04:00
|
|
|
%{_datadir}/emacs/site-lisp/mercurial.el
|
2010-01-06 05:27:15 +03:00
|
|
|
%{_datadir}/emacs/site-lisp/mq.el
|
2005-07-02 02:03:42 +04:00
|
|
|
%{_bindir}/hg
|
2017-07-27 17:09:26 +03:00
|
|
|
%{_bindir}/chg
|
2007-06-03 17:40:56 +04:00
|
|
|
%{_bindir}/hgk
|
|
|
|
%{_bindir}/hg-ssh
|
2009-06-24 05:05:01 +04:00
|
|
|
%dir %{_sysconfdir}/bash_completion.d/
|
2010-08-27 01:11:03 +04:00
|
|
|
%config(noreplace) %{_sysconfdir}/bash_completion.d/mercurial.sh
|
2009-06-24 05:05:01 +04:00
|
|
|
%dir %{_sysconfdir}/mercurial
|
|
|
|
%dir %{_sysconfdir}/mercurial/hgrc.d
|
2014-05-15 03:50:11 +04:00
|
|
|
%if "%{?withpython}"
|
|
|
|
%{_bindir}/%{pythonhg}
|
|
|
|
%{hgpyprefix}
|
|
|
|
%else
|
2009-06-20 18:06:54 +04:00
|
|
|
%{_libdir}/python%{pythonver}/site-packages/%{name}-*-py%{pythonver}.egg-info
|
2009-06-24 05:05:01 +04:00
|
|
|
%{_libdir}/python%{pythonver}/site-packages/%{name}
|
|
|
|
%{_libdir}/python%{pythonver}/site-packages/hgext
|
2016-03-23 06:53:11 +03:00
|
|
|
%{_libdir}/python%{pythonver}/site-packages/hgext3rd
|
2017-06-11 21:23:56 +03:00
|
|
|
%{_libdir}/python%{pythonver}/site-packages/hgdemandimport
|
2014-05-15 03:50:11 +04:00
|
|
|
%endif
|