40f7648
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
40f7648
6fb3ece
Summary: A fast, lightweight distributed source control management system 
6fb3ece
Name: mercurial
89568dc
Version: 1.0.2
2398d91
Release: 2%{?dist}
a5e984e
License: GPLv2
6fb3ece
Group: Development/Tools
6fb3ece
URL: http://www.selenic.com/mercurial/
b8965f8
Source0: http://www.selenic.com/mercurial/release/%{name}-%{version}.tar.gz
acbeb96
Source1: mercurial-site-start.el
6fb3ece
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
737f9ff
BuildRequires: python python-devel asciidoc xmlto
737f9ff
BuildRequires: emacs emacs-el pkgconfig
a5e984e
Requires: python
Seth Vidal 3d2fa8c
Provides: hg = %{version}-%{release}
6fb3ece
6fb3ece
%description
a5e984e
Mercurial is a fast, lightweight source control management system designed
6fb3ece
for efficient handling of very large distributed projects.
a5e984e
acbeb96
Quick start: http://www.selenic.com/mercurial/wiki/index.cgi/QuickStart
acbeb96
Tutorial: http://www.selenic.com/mercurial/wiki/index.cgi/Tutorial
acbeb96
Extensions: http://www.selenic.com/mercurial/wiki/index.cgi/CategoryExtension
acbeb96
9a7d4f7
%define pkg mercurial
9a7d4f7
#%define pkgname Foo
9a7d4f7
9a7d4f7
# If the emacs-el package has installed a pkgconfig file, use that to determine
9a7d4f7
# install locations and Emacs version at build time, otherwise set defaults.
9a7d4f7
%if %($(pkg-config emacs) ; echo $?)
9a7d4f7
%define emacs_version 22.1
9a7d4f7
%define emacs_lispdir %{_datadir}/emacs/site-lisp
9a7d4f7
%define emacs_startdir %{_datadir}/emacs/site-lisp/site-start.d
9a7d4f7
%else
737f9ff
%define emacs_version %{expand:%(pkg-config emacs --modversion)}
737f9ff
%define emacs_lispdir %{expand:%(pkg-config emacs --variable sitepkglispdir)}
737f9ff
%define emacs_startdir %{expand:%(pkg-config emacs --variable sitestartdir)}
9a7d4f7
%endif
9a7d4f7
9a7d4f7
%package -n emacs-%{pkg}
b8965f8
Summary:	Mercurial version control system support for Emacs
b8965f8
Group:		Applications/Editors
b8965f8
Requires:	hg = %{version}-%{release}, emacs-common
9a7d4f7
Requires:       emacs(bin) >= %{emacs_version}
9a7d4f7
Obsoletes:	%{pkg}-emacs
9a7d4f7
9a7d4f7
%description -n emacs-%{pkg}
9a7d4f7
Contains byte compiled elisp packages for %{pkg}.
9a7d4f7
To get started: start emacs, load hg-mode with M-x hg-mode, and show 
9a7d4f7
help with C-c h h
9a7d4f7
9a7d4f7
%package -n emacs-%{pkg}-el
9a7d4f7
Summary:        Elisp source files for %{pkg} under GNU Emacs
9a7d4f7
Group:          Applications/Editors
9a7d4f7
Requires:       emacs-%{pkg} = %{version}-%{release}
9a7d4f7
9a7d4f7
%description -n emacs-%{pkg}-el
9a7d4f7
This package contains the elisp source files for %{pkg} under GNU Emacs. You
9a7d4f7
do not need to install this package to run %{pkg}. Install the emacs-%{pkg}
9a7d4f7
package to use %{pkg} with GNU Emacs.
9a7d4f7
b8965f8
%package hgk
b8965f8
Summary:	Hgk interface for mercurial
b8965f8
Group:		Development/Tools
b8965f8
Requires:	hg = %{version}-%{release}, tk
b8965f8
9a7d4f7
b8965f8
%description hgk
acbeb96
A Mercurial extension for displaying the change history graphically
acbeb96
using Tcl/Tk.  Displays branches and merges in an easily
acbeb96
understandable way and shows diffs for each revision.  Based on
acbeb96
gitk for the git SCM.
acbeb96
9ac5c78
Adds the "hg view" command.  See 
9ac5c78
http://www.selenic.com/mercurial/wiki/index.cgi/UsingHgk for more
acbeb96
documentation.
b8965f8
6fb3ece
%prep
6fb3ece
%setup -q
6fb3ece
6fb3ece
%build
a5e984e
make all
c68158f
6fb3ece
%install
311ca42
rm -rf $RPM_BUILD_ROOT
2398d91
%{__python} setup.py install -O1 --root $RPM_BUILD_ROOT --prefix %{_prefix} --record=%{name}.files
a5e984e
make install-doc DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir}
a5e984e
9a7d4f7
grep -v 'hgk.py*' < %{name}.files > %{name}-base.files
9a7d4f7
grep 'hgk.py*' < %{name}.files > %{name}-hgk.files
9a7d4f7
9ac5c78
install -D contrib/hgk       $RPM_BUILD_ROOT%{_libexecdir}/mercurial/hgk
a5e984e
install contrib/convert-repo $RPM_BUILD_ROOT%{_bindir}/mercurial-convert-repo
a5e984e
install contrib/hg-ssh       $RPM_BUILD_ROOT%{_bindir}
a5e984e
install contrib/git-viz/{hg-viz,git-rev-tree} $RPM_BUILD_ROOT%{_bindir}
a5e984e
a5e984e
bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
a5e984e
mkdir -p $bash_completion_dir
a5e984e
install -m 644 contrib/bash_completion $bash_completion_dir/mercurial.sh
a5e984e
a5e984e
zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
a5e984e
mkdir -p $zsh_completion_dir
a5e984e
install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial
a5e984e
9a7d4f7
mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir}
40f7648
9a7d4f7
pushd contrib
9a7d4f7
for file in mercurial.el mq.el; do
9a7d4f7
  emacs -batch -l mercurial.el --no-site-file -f batch-byte-compile $file
5633abc
  install -p -m 644 $file ${file}c $RPM_BUILD_ROOT%{emacs_lispdir}
9a7d4f7
  rm ${file}c
9a7d4f7
done
9a7d4f7
popd
9a7d4f7
9a7d4f7
9a7d4f7
07872ac
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
6fb3ece
9a7d4f7
mkdir -p $RPM_BUILD_ROOT%{emacs_startdir} && install -m644 %SOURCE1 $RPM_BUILD_ROOT%{emacs_startdir}
9a7d4f7
9a7d4f7
cat >hgk.rc <
9a7d4f7
[extensions]
9a7d4f7
# enable hgk extension ('hg help' shows 'view' as a command)
9a7d4f7
hgk=
9ac5c78
9ac5c78
[hgk]
9ac5c78
path=%{_libexecdir}/mercurial/hgk
9a7d4f7
EOF
9a7d4f7
install hgk.rc $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
9a7d4f7
a4f5383
install contrib/mergetools.hgrc $RPM_BUILD_ROOT%{_sysconfdir}/mercurial/hgrc.d/mergetools.rc
5576441
6fb3ece
%clean
6fb3ece
rm -rf $RPM_BUILD_ROOT
6fb3ece
9a7d4f7
%files -f %{name}-base.files
6fb3ece
%defattr(-,root,root,-)
acbeb96
%doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html doc/ja *.cgi contrib/*.fcgi
a5e984e
%doc %attr(644,root,root) %{_mandir}/man?/hg*.gz
9a7d4f7
%doc %attr(644,root,root) contrib/*.svg contrib/sample.hgrc
a5e984e
%{_sysconfdir}/bash_completion.d/mercurial.sh
a5e984e
%{_datadir}/zsh/site-functions/_mercurial
a5e984e
%{_bindir}/hg-ssh
a5e984e
%{_bindir}/hg-viz
a5e984e
%{_bindir}/git-rev-tree
a5e984e
%{_bindir}/mercurial-convert-repo
fddf18a
%dir %{_sysconfdir}/mercurial
b98f0b8
%dir %{_sysconfdir}/mercurial/hgrc.d
3b078a1
%{_sysconfdir}/mercurial/hgrc.d/mergetools.rc
40f7648
%dir %{python_sitearch}/mercurial
40f7648
%dir %{python_sitearch}/hgext
9a7d4f7
9a7d4f7
%files -n emacs-%{pkg}
9a7d4f7
%{emacs_lispdir}/*.elc
9a7d4f7
%{emacs_startdir}/*.el
6fb3ece
9a7d4f7
%files -n emacs-%{pkg}-el
9a7d4f7
%{emacs_lispdir}/*.el
b8965f8
9a7d4f7
%files hgk -f %{name}-hgk.files
9ac5c78
%{_libexecdir}/mercurial/
9a7d4f7
%{_sysconfdir}/mercurial/hgrc.d/hgk.rc
b8965f8
737f9ff
#%%check
2398d91
#cd tests && %{__python} run-tests.py
b8965f8
6fb3ece
%changelog
2398d91
* Thu Aug 28 2008 Neal Becker <ndbecker2@gmail.com> - 1.0.2-2
2398d91
- Use macro for python executable
2398d91
89568dc
* Fri Aug 15 2008 Neal Becker <ndbecker2@gmail.com> - 1.0.2-1
89568dc
- Update to 1.0.2
89568dc
737f9ff
* Sun Jun 15 2008 Neal Becker <ndbecker2@gmail.com> - 1.0.1-4
737f9ff
- Bitten by expansion of commented out macro (again)
737f9ff
737f9ff
* Sun Jun 15 2008 Neal Becker <ndbecker2@gmail.com> - 1.0.1-3
737f9ff
- Add BR pkgconfig
737f9ff
737f9ff
* Sun Jun 15 2008 Neal Becker <ndbecker2@gmail.com> - 1.0.1-2
737f9ff
- Update to 1.0.1
737f9ff
- Fix emacs_version, etc macros (need expand)
737f9ff
- Remove patch0
737f9ff
737f9ff
* Mon Jun  2 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-15
737f9ff
- Bump release tag
737f9ff
3b078a1
* Thu Apr 17 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-14
3b078a1
- Oops, fix %%files due to last change
3b078a1
a4f5383
* Wed Apr 16 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-13
a4f5383
- install mergetools.hgrc as mergetools.rc
a4f5383
40f7648
* Sat Apr 12 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-12
40f7648
- Remove xemacs pkg - this is moved to xemacs-extras
40f7648
- Own %{python_sitearch}/{mercurial,hgext} dirs
40f7648
5633abc
* Thu Apr 10 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-11
5633abc
- Use install -p to install .el{c} files
5633abc
- Don't (load mercurial) by default.
5633abc
9ac5c78
* Wed Apr  9 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-10
9ac5c78
- Patch to hgk from Mads Kiilerich <mads@kiilerich.com>
9ac5c78
9a7d4f7
* Tue Apr  8 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-9
9a7d4f7
- Add '-l mercurial.el' for emacs also
9a7d4f7
9a7d4f7
* Tue Apr  8 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-8
9a7d4f7
- BR xemacs-packages-extra
9a7d4f7
9a7d4f7
* Tue Apr  8 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-7
9a7d4f7
- Various fixes
9a7d4f7
9a7d4f7
* Tue Apr  8 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-6
9a7d4f7
- fix to comply with emacs packaging guidelines
9a7d4f7
9a7d4f7
* Thu Mar 27 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-5
9a7d4f7
- Move hgk-related py files to hgk
9a7d4f7
- Put mergetools.hgrc in /etc/mercurial/hgrc.d
9a7d4f7
- Add hgk.rc and put in /etc/mercurial/hgrc.d
9a7d4f7
acbeb96
* Wed Mar 26 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-4
acbeb96
- Rename mercurial-site-start -> mercurial-site-start.el
acbeb96
acbeb96
* Wed Mar 26 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-3
acbeb96
- Incorprate suggestions from hopper@omnifarious.org
acbeb96
5576441
* Wed Mar 26 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-2
5576441
- Add site-start
5576441
b8965f8
* Tue Mar 25 2008 Neal Becker <ndbecker2@gmail.com> - 1.0-1
b8965f8
- Update to 1.0
b8965f8
- Disable check for now - 1 test fails
b8965f8
- Move emacs to separate package
b8965f8
- Add check
b8965f8
b8965f8
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.9.5-7
b8965f8
- Autorebuild for GCC 4.3
b8965f8
311ca42
* Fri Nov  9 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.5-6
311ca42
- rpmlint fixes
311ca42
b98f0b8
* Fri Nov  9 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.5-5
b98f0b8
- /etc/mercurial/hgrc.d missing
b98f0b8
07872ac
* Fri Nov  9 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.5-3
07872ac
- Fix to last change
07872ac
fddf18a
* Fri Nov  9 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.5-2
fddf18a
- mkdir /etc/mercurial/hgrc.d for plugins
fddf18a
fc1635e
* Tue Oct 23 2007  <ndbecker2@gmail.com> - 0.9.5-2
fc1635e
- Bump tag to fix confusion
fc1635e
a5e984e
* Mon Oct 15 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.5-1
a5e984e
- Sync with spec file from mercurial
a5e984e
4ff07a4
* Sat Sep 22 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-8
4ff07a4
- Just cp contrib tree.
4ff07a4
- Revert install -O2
4ff07a4
c606469
* Thu Sep 20 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-7
c606469
- Change setup.py install to -O2 to get bytecompile on EL-4
c606469
204edc7
* Thu Sep 20 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-6
204edc7
- Revert last change.
204edc7
fc904f4
* Thu Sep 20 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-5
311ca42
- Use {ghost} on contrib, otherwise EL-4 build fails
fc904f4
c9cb06a
* Thu Sep 20 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-4
311ca42
- remove {_datadir}/contrib stuff for now
c9cb06a
18b9e19
* Thu Sep 20 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-3
18b9e19
- Fix mercurial-install-contrib.patch (/usr/share/mercurial->/usr/share/mercurial/contrib)
18b9e19
18b9e19
* Wed Aug 29 2007 Jonathan Shapiro <shap@eros-os.com> - 0.9.4-2
18b9e19
- update to 0.9.4-2
18b9e19
- install contrib directory
18b9e19
- set up required path for hgk
18b9e19
- install man5 man pages
18b9e19
445b47d
* Thu Aug 23 2007 Neal Becker <ndbecker2@gmail.com> - 0.9.4-1
445b47d
- update to 0.9.4
445b47d
5ef1bff
* Wed Jan  3 2007 Jeremy Katz <katzj@redhat.com> - 0.9.3-1
5ef1bff
- update to 0.9.3
5ef1bff
- remove asciidoc files now that we have them as manpages
5ef1bff
6bb94ce
* Mon Dec 11 2006 Jeremy Katz <katzj@redhat.com> - 0.9.2-1
6bb94ce
- update to 0.9.2
6bb94ce
3323263
* Mon Aug 28 2006 Jeremy Katz <katzj@redhat.com> - 0.9.1-2
3323263
- rebuild
3323263
f3015ae
* Tue Jul 25 2006 Jeremy Katz <katzj@redhat.com> - 0.9.1-1
f3015ae
- update to 0.9.1
f3015ae
Mihai Ibanescu f585cd2
* Fri May 12 2006 Mihai Ibanescu <misa@redhat.com> - 0.9-1
Mihai Ibanescu f585cd2
- update to 0.9
Mihai Ibanescu f585cd2
c68158f
* Mon Apr 10 2006 Jeremy Katz <katzj@redhat.com> - 0.8.1-1
c68158f
- update to 0.8.1
c68158f
- add man pages (#188144)
c68158f
3628ae8
* Fri Mar 17 2006 Jeremy Katz <katzj@redhat.com> - 0.8-3
3628ae8
- rebuild
3628ae8
df17dbf
* Fri Feb 17 2006 Jeremy Katz <katzj@redhat.com> - 0.8-2
df17dbf
- rebuild
df17dbf
d0b24d2
* Mon Jan 30 2006 Jeremy Katz <katzj@redhat.com> - 0.8-1
d0b24d2
- update to 0.8
d0b24d2
e329f72
* Thu Sep 22 2005 Jeremy Katz <katzj@redhat.com> 
e329f72
- add contributors to %%doc
e329f72
3899d86
* Tue Sep 20 2005 Jeremy Katz <katzj@redhat.com> - 0.7
3899d86
- update to 0.7
3899d86
a63102f
* Mon Aug 22 2005 Jeremy Katz <katzj@redhat.com> - 0.6c
a63102f
- update to 0.6c
a63102f
019530e
* Tue Jul 12 2005 Jeremy Katz <katzj@redhat.com> - 0.6b
019530e
- update to new upstream 0.6b
019530e
6fb3ece
* Fri Jul  1 2005 Jeremy Katz <katzj@redhat.com> - 0.6-1
6fb3ece
- Initial build.
6fb3ece