--- a/patches/01-fix-path-shlib.diff Thu Jul 17 18:00:30 2008 +0200
+++ b/patches/01-fix-path-shlib.diff Thu Jul 17 18:21:43 2008 +0200
@@ -1,19 +1,20 @@
---- tortoisehg-0.4.0~rc2/hggtk/shlib.py 2008-05-29 00:37:24.000000000 -0400
-+++ tortoisehg-test/hggtk/shlib.py 2008-05-28 13:42:21.000000000 -0400
+diff --git a/hggtk/shlib.py b/hggtk/shlib.py
+--- a/hggtk/shlib.py
++++ b/hggtk/shlib.py
@@ -135,15 +135,7 @@
- # The context menu should set this variable
- var = os.environ.get('THG_ICON_PATH', None)
- paths = var and [ var ] or []
-- try:
-- # Else try relative paths from hggtk, the repository layout
-- dir = os.path.dirname(__file__)
-- paths.append(os.path.join(dir, '..', 'icons'))
-- # ... or the source installer layout
-- paths.append(os.path.join(dir, '..', '..', '..',
-- 'share', 'tortoisehg', 'icons'))
-- except NameError: # __file__ is not always available
-- pass
-+ paths.append('/usr/share/pixmaps/tortoisehg/icons')
- for p in paths:
- path = os.path.join(p, 'tortoise', icon)
- if os.path.isfile(path):
+ # The context menu should set this variable
+ var = os.environ.get('THG_ICON_PATH', None)
+ paths = var and [ var ] or []
+- try:
+- # Else try relative paths from hggtk, the repository layout
+- dir = os.path.dirname(__file__)
+- paths.append(os.path.join(dir, '..', 'icons'))
+- # ... or the source installer layout
+- paths.append(os.path.join(dir, '..', '..', '..',
+- 'share', 'tortoisehg', 'icons'))
+- except NameError: # __file__ is not always available
+- pass
++ paths.append('/usr/share/pixmaps/tortoisehg/icons')
+ for p in paths:
+ path = os.path.join(p, 'tortoise', icon)
+ if os.path.isfile(path):
--- a/patches/02-fix-setup-for-linux.diff Thu Jul 17 18:00:30 2008 +0200
+++ b/patches/02-fix-setup-for-linux.diff Thu Jul 17 18:21:43 2008 +0200
@@ -1,151 +1,144 @@
---- a/setup.py 2008-05-30 00:29:56.000000000 -0400
-+++ b/setup.py 2008-05-30 00:29:25.000000000 -0400
-@@ -7,17 +7,25 @@
-
- import time
- import sys
- import os
-+from distutils.core import setup
-+
-+_description = 'Graphical interface for Mercurial VCS'
-+_scripts = []
-+_packages = []
-+_data_files = []
-+_extra = {}
-+_options = {}
-
--# non-Win32 platforms doesn't require setup
--if os.name != 'nt':
-- sys.stderr.write("abort: %s is for Win32 platforms only" % sys.argv[0])
-- sys.exit(1)
-+if os.name == 'nt':
-+ _description = 'Windows shell extension for Mercurial VCS'
-+ _packages = ['tortoise', 'hggtk', 'hggtk.vis', 'hggtk.iniparse']
-+ _data_files = [(root, [os.path.join(root, file_) for file_ in files])
-+ for root, dirs, files in os.walk('icons')]
-
--# ModuleFinder can't handle runtime changes to __path__, but win32com uses them
-+ # ModuleFinder can't handle runtime changes to __path__, but win32com uses them
-
--try:
- # if this doesn't work, try import modulefinder
- import py2exe.mf as modulefinder
- import win32com
- for p in win32com.__path__[1:]:
-@@ -26,50 +34,57 @@
- __import__(extra)
- m = sys.modules[extra]
- for p in m.__path__[1:]:
- modulefinder.AddPackagePath(extra, p)
--except ImportError:
-- # no build path setup, no worries.
-- pass
-
--from distutils.core import setup
--import py2exe
--
--_data_files = []
--extra = {}
--hgextmods = []
-+ try:
-+ import py2exe
-+ except ImportError:
-+ pass
-+
-+ hgextmods = []
-+
-+ if 'py2exe' in sys.argv:
-+ # FIXME: quick hack to include installed hg extensions in py2exe binary
-+ import hgext
-+ hgextdir = os.path.dirname(hgext.__file__)
-+ hgextmods = set(["hgext." + os.path.splitext(f)[0]
-+ for f in os.listdir(hgextdir)])
-+ _data_files = [(root, [os.path.join(root, file_) for file_ in files])
-+ for root, dirs, files in os.walk('icons')]
-+ extra['windows'] = [
-+ {"script":"hgproc.py",
-+ "icon_resources": [(1, "icons/tortoise/hg.ico")]},
-+ {"script":"hggtk/tracelog.py",
-+ "icon_resources": [(1, "icons/tortoise/python.ico")]}
-+ ]
-+ extra['com_server'] = ["tortoisehg"]
-+ extra['console'] = ["contrib/hg"]
-+
-+ _options = {
-+ "py2exe" : {
-+ # Don't pull in all this MFC stuff used by the makepy UI.
-+ "excludes" : "pywin,pywin.dialogs,pywin.dialogs.list",
-+ # add library files to support PyGtk-based dialogs/windows
-+ # Note:
-+ # after py2exe build, copy GTK's etc and lib directories into
-+ # the dist directory created by py2exe.
-+ # also needed is the GTK's share/themes (as dist/share/themes),
-+ # for dialogs to display in MS-Windows XP theme.
-+ "includes" : "pango,atk,pangocairo,cairo,gobject," + ",".join(hgextmods),
-+ }
-+ }
-+ _extra['options'] = _options
-+
-+else: # non-NT; assume Unixish
-+
-+ _scripts = ['contrib/hgtk']
-+ _packages = ['hggtk', 'hggtk.vis', 'hggtk.iniparse']
-+ _data_files = [(os.path.join('share/pixmaps/tortoisehg', root),
-+ [os.path.join(root, file_) for file_ in files])
-+ for root, dirs, files in os.walk('icons')]
-+ _data_files += [('lib/nautilus/extensions-2.0/python', ['contrib/nautilus-thg.py'])]
-
--if 'py2exe' in sys.argv:
-- # FIXME: quick hack to include installed hg extensions in py2exe binary
-- import hgext
-- hgextdir = os.path.dirname(hgext.__file__)
-- hgextmods = set(["hgext." + os.path.splitext(f)[0]
-- for f in os.listdir(hgextdir)])
-- _data_files = [(root, [os.path.join(root, file_) for file_ in files])
-- for root, dirs, files in os.walk('icons')]
-- extra['windows'] = [
-- {"script":"hgproc.py",
-- "icon_resources": [(1, "icons/tortoise/hg.ico")]},
-- {"script":"hggtk/tracelog.py",
-- "icon_resources": [(1, "icons/tortoise/python.ico")]}
-- ]
-- extra['com_server'] = ["tortoisehg"]
-- extra['console'] = ["contrib/hg"]
--
--opts = {
-- "py2exe" : {
-- # Don't pull in all this MFC stuff used by the makepy UI.
-- "excludes" : "pywin,pywin.dialogs,pywin.dialogs.list",
--
-- # add library files to support PyGtk-based dialogs/windows
-- # Note:
-- # after py2exe build, copy GTK's etc and lib directories into
-- # the dist directory created by py2exe.
-- # also needed is the GTK's share/themes (as dist/share/themes),
-- # for dialogs to display in MS-Windows XP theme.
-- "includes" : "pango,atk,pangocairo,cairo,gobject," + ",".join(hgextmods),
-- }
--}
-
- # specify version string, otherwise 'hg identify' will be used:
- version = ''
-
-@@ -79,12 +94,12 @@
- setup(name="TortoiseHg",
- version=tortoise.version.get_version(),
- author='TK Soh',
- author_email='teekaysoh@gmail.com',
-- url='http://tortoisehg.sourceforge.net',
-- description='Windows shell extension for Mercurial VCS',
-+ url='http://tortoisehg.sourceforge.net/',
-+ description=_description,
- license='GNU GPL2',
-- packages=['tortoise', 'hggtk', 'hggtk.vis', 'hggtk.iniparse'],
-- data_files = _data_files,
-- options=opts,
-- **extra
-+ scripts=_scripts,
-+ packages=_packages,
-+ data_files=_data_files,
-+ **_extra
- )
+diff --git a/setup.py b/setup.py
+--- a/setup.py
++++ b/setup.py
+@@ -8,15 +8,23 @@
+ import time
+ import sys
+ import os
++from distutils.core import setup
+
+-# non-Win32 platforms doesn't require setup
+-if os.name != 'nt':
+- sys.stderr.write("abort: %s is for Win32 platforms only" % sys.argv[0])
+- sys.exit(1)
++_description = 'Graphical interface for Mercurial VCS'
++_scripts = []
++_packages = []
++_data_files = []
++_extra = {}
++_options = {}
+
+-# ModuleFinder can't handle runtime changes to __path__, but win32com uses them
++if os.name == 'nt':
++ _description = 'Windows shell extension for Mercurial VCS'
++ _packages = ['tortoise', 'hggtk', 'hggtk.vis', 'hggtk.iniparse']
++ _data_files = [(root, [os.path.join(root, file_) for file_ in files])
++ for root, dirs, files in os.walk('icons')]
+
+-try:
++ # ModuleFinder can't handle runtime changes to __path__, but win32com uses them
++
+ # if this doesn't work, try import modulefinder
+ import py2exe.mf as modulefinder
+ import win32com
+@@ -27,48 +35,55 @@
+ m = sys.modules[extra]
+ for p in m.__path__[1:]:
+ modulefinder.AddPackagePath(extra, p)
+-except ImportError:
+- # no build path setup, no worries.
+- pass
+
+-from distutils.core import setup
+-import py2exe
++ try:
++ import py2exe
++ except ImportError:
++ pass
+
+-_data_files = []
+-extra = {}
+-hgextmods = []
++ hgextmods = []
+
+-if 'py2exe' in sys.argv:
+- # FIXME: quick hack to include installed hg extensions in py2exe binary
+- import hgext
+- hgextdir = os.path.dirname(hgext.__file__)
+- hgextmods = set(["hgext." + os.path.splitext(f)[0]
+- for f in os.listdir(hgextdir)])
+- _data_files = [(root, [os.path.join(root, file_) for file_ in files])
+- for root, dirs, files in os.walk('icons')]
+- extra['windows'] = [
+- {"script":"hgproc.py",
+- "icon_resources": [(1, "icons/tortoise/hg.ico")]},
+- {"script":"hggtk/tracelog.py",
+- "icon_resources": [(1, "icons/tortoise/python.ico")]}
+- ]
+- extra['com_server'] = ["tortoisehg"]
+- extra['console'] = ["contrib/hg"]
++ if 'py2exe' in sys.argv:
++ # FIXME: quick hack to include installed hg extensions in py2exe binary
++ import hgext
++ hgextdir = os.path.dirname(hgext.__file__)
++ hgextmods = set(["hgext." + os.path.splitext(f)[0]
++ for f in os.listdir(hgextdir)])
++ _data_files = [(root, [os.path.join(root, file_) for file_ in files])
++ for root, dirs, files in os.walk('icons')]
++ extra['windows'] = [
++ {"script":"hgproc.py",
++ "icon_resources": [(1, "icons/tortoise/hg.ico")]},
++ {"script":"hggtk/tracelog.py",
++ "icon_resources": [(1, "icons/tortoise/python.ico")]}
++ ]
++ extra['com_server'] = ["tortoisehg"]
++ extra['console'] = ["contrib/hg"]
+
+-opts = {
+- "py2exe" : {
+- # Don't pull in all this MFC stuff used by the makepy UI.
+- "excludes" : "pywin,pywin.dialogs,pywin.dialogs.list",
++ _options = {
++ "py2exe" : {
++ # Don't pull in all this MFC stuff used by the makepy UI.
++ "excludes" : "pywin,pywin.dialogs,pywin.dialogs.list",
++ # add library files to support PyGtk-based dialogs/windows
++ # Note:
++ # after py2exe build, copy GTK's etc and lib directories into
++ # the dist directory created by py2exe.
++ # also needed is the GTK's share/themes (as dist/share/themes),
++ # for dialogs to display in MS-Windows XP theme.
++ "includes" : "pango,atk,pangocairo,cairo,gobject," + ",".join(hgextmods),
++ }
++ }
++ _extra['options'] = _options
+
+- # add library files to support PyGtk-based dialogs/windows
+- # Note:
+- # after py2exe build, copy GTK's etc and lib directories into
+- # the dist directory created by py2exe.
+- # also needed is the GTK's share/themes (as dist/share/themes),
+- # for dialogs to display in MS-Windows XP theme.
+- "includes" : "pango,atk,pangocairo,cairo,gobject," + ",".join(hgextmods),
+- }
+-}
++else: # non-NT; assume Unixish
++
++ _scripts = ['contrib/hgtk']
++ _packages = ['hggtk', 'hggtk.vis', 'hggtk.iniparse']
++ _data_files = [(os.path.join('share/pixmaps/tortoisehg', root),
++ [os.path.join(root, file_) for file_ in files])
++ for root, dirs, files in os.walk('icons')]
++ _data_files += [('lib/nautilus/extensions-2.0/python', ['contrib/nautilus-thg.py'])]
++
+
+ # specify version string, otherwise 'hg identify' will be used:
+ version = ''
+@@ -80,11 +95,11 @@
+ version=tortoise.version.get_version(),
+ author='TK Soh',
+ author_email='teekaysoh@gmail.com',
+- url='http://tortoisehg.sourceforge.net',
+- description='Windows shell extension for Mercurial VCS',
++ url='http://tortoisehg.sourceforge.net/',
++ description=_description,
+ license='GNU GPL2',
+- packages=['tortoise', 'hggtk', 'hggtk.vis', 'hggtk.iniparse'],
+- data_files = _data_files,
+- options=opts,
+- **extra
++ scripts=_scripts,
++ packages=_packages,
++ data_files=_data_files,
++ **_extra
+ )