/contrib/tortoisehg.spec

https://bitbucket.org/tortoisehg/hgtk/ · Unknown · 99 lines · 77 code · 22 blank · 0 comment · 0 complexity · 0d9ff9d481869e97f7ae689af4352910 MD5 · raw file

  1. %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
  2. # Pure python package
  3. %define debug_package %{nil}
  4. Name: tortoisehg
  5. Version: hg
  6. Release: hg
  7. Summary: Mercurial GUI command line tool thg
  8. Group: Development/Tools
  9. License: GPLv2
  10. # Few files are under the more permissive GPLv2+
  11. URL: http://tortoisehg.org
  12. Source0: %{name}-%{version}.tar.gz
  13. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  14. # This package should be noarch, but we can't do it because the nautilus
  15. # subpackage has to be arch-specific (because of lib64)
  16. # BuildArch: noarch
  17. BuildRequires: python, python-devel, gettext, python-sphinx
  18. BuildRequires: PyQt4-devel
  19. Requires: python >= 2.4, python-iniparse, mercurial >= 1.6
  20. # gconf needs at util/shlib.py for browse_url(url).
  21. Requires: gnome-python2-gconf
  22. Requires: PyQt4 >= 4.6, qscintilla-python
  23. %description
  24. This package contains the thg command line tool which provides a
  25. graphical user interface to the Mercurial distributed revision control system.
  26. %package nautilus
  27. Summary: Mercurial GUI plugin to Nautilus file manager
  28. Group: Development/Tools
  29. Requires: %{name} = %{version}-%{release}, nautilus-python
  30. %description nautilus
  31. This package contains the TortoiseHg Gnome/Nautilus extension,
  32. which makes the Mercurial distributed revision control
  33. system available in the file manager with a graphical interface.
  34. %prep
  35. %setup -q
  36. # Fedora Nautilus python extensions lives in lib64 on x86_64 (https://bugzilla.redhat.com/show_bug.cgi?id=509633) ...
  37. %{__sed} -i "s,lib/nautilus,%{_lib}/nautilus,g" setup.py
  38. cat > tortoisehg/util/config.py << EOT
  39. bin_path = "%{_bindir}"
  40. license_path = "%{_docdir}/%{name}-%{version}/COPYING.txt"
  41. locale_path = "%{_datadir}/locale"
  42. icon_path = "%{_datadir}/pixmaps/tortoisehg/icons"
  43. nofork = True
  44. EOT
  45. %build
  46. %{__python} setup.py build
  47. (cd doc && make html)
  48. rm -f doc/build/html/.buildinfo
  49. %install
  50. rm -rf $RPM_BUILD_ROOT
  51. %{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
  52. install -m 644 -D contrib/_hgtk $RPM_BUILD_ROOT/%{_datadir}/zsh/site-functions/_hgtk
  53. mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
  54. install contrib/mergetools.rc $RPM_BUILD_ROOT%{_sysconfdir}/mercurial/hgrc.d/thgmergetools.rc
  55. ln -s tortoisehg/icons/svg/thg_logo.svg %{buildroot}%{_datadir}/pixmaps/%{name}_logo.svg
  56. desktop-file-install --dir=%{buildroot}%{_datadir}/applications contrib/%{name}.desktop
  57. %find_lang %{name}
  58. %clean
  59. rm -rf $RPM_BUILD_ROOT
  60. %files -f %{name}.lang
  61. %defattr(-,root,root,-)
  62. %doc COPYING.txt doc/build/html/
  63. %{_bindir}/thg
  64. %{python_sitelib}/tortoisehg/
  65. %{python_sitelib}/tortoisehg-*.egg-info
  66. %{_datadir}/pixmaps/tortoisehg/
  67. %{_datadir}/pixmaps/%{name}_logo.svg
  68. %{_datadir}/applications/%{name}.desktop
  69. # /usr/share/zsh/site-functions/ is owned by zsh package which we don't want to
  70. # require. We also don't want to create a sub-package just for this dependency.
  71. # Instead we just claim ownership of the zsh top folder ...
  72. %{_datadir}/zsh
  73. %config(noreplace) %{_sysconfdir}/mercurial/hgrc.d/thgmergetools.rc
  74. %files nautilus
  75. %defattr(-,root,root,-)
  76. %{_libdir}/nautilus/extensions-2.0/python/nautilus-thg.py*
  77. %changelog