Files
haikuports/dev-vcs/git_cola/patches/git_cola-3.12.0.patchset
2023-04-15 22:04:51 -06:00

277 lines
9.1 KiB
Plaintext

From 523b7ad575ac01df6b72a8e3e883ebd6da317aeb Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Thu, 27 Jan 2022 10:32:49 -0700
Subject: adjust settings paths for Haiku
diff --git a/cola/gitcfg.py b/cola/gitcfg.py
index af12a70..d317fca 100644
--- a/cola/gitcfg.py
+++ b/cola/gitcfg.py
@@ -21,6 +21,7 @@ _USER_CONFIG = core.expanduser(join('~', '.gitconfig'))
_USER_XDG_CONFIG = core.expanduser(
join(core.getenv('XDG_CONFIG_HOME', join('~', '.config')), 'git', 'config')
)
+_USER_HAIKU_CONFIG = '/boot/home/config/settings/git/config'
def create(context):
@@ -34,6 +35,7 @@ def _stat_info(git):
('system', '/etc/gitconfig'),
('user', _USER_XDG_CONFIG),
('user', _USER_CONFIG),
+ ('user', _USER_HAIKU_CONFIG),
]
config = git.git_path('config')
if config:
@@ -54,6 +56,7 @@ def _cache_key(git):
'/etc/gitconfig',
_USER_XDG_CONFIG,
_USER_CONFIG,
+ _USER_HAIKU_CONFIG,
]
config = git.git_path('config')
if config:
diff --git a/cola/resources.py b/cola/resources.py
index e8a74f1..ac3faa2 100644
--- a/cola/resources.py
+++ b/cola/resources.py
@@ -15,6 +15,7 @@ _modpath = core.abspath(core.realpath(__file__))
if (
os.path.join('share', 'git-cola', 'lib') in _modpath
or os.path.join('site-packages', 'cola') in _modpath
+ or utils.is_haiku()
):
# this is the release tree
# __file__ = '$prefix/share/git-cola/lib/cola/__file__.py'
@@ -111,7 +112,10 @@ def icon_dir(theme):
def config_home(*args):
- config = core.getenv(
- 'XDG_CONFIG_HOME', os.path.join(core.expanduser('~'), '.config')
- )
+ if utils.is_haiku():
+ config = '/boot/home/config/settings'
+ else:
+ config = core.getenv(
+ 'XDG_CONFIG_HOME', os.path.join(core.expanduser('~'), '.config')
+ )
return os.path.join(config, 'git-cola', *args)
diff --git a/cola/utils.py b/cola/utils.py
index 1c97084..8144757 100644
--- a/cola/utils.py
+++ b/cola/utils.py
@@ -312,6 +312,11 @@ def is_win32():
return sys.platform == 'win32' or sys.platform == 'cygwin'
+def is_haiku():
+ """Return True on Haiku"""
+ return sys.platform.startswith('haiku')
+
+
def expandpath(path):
"""Expand ~user/ and environment $variables"""
path = os.path.expandvars(path)
--
2.30.2
From 92791f2cf1d210a6f0641e8fbd6ede4a0f2acd9f Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Thu, 27 Jan 2022 10:33:47 -0700
Subject: adjust Terminal and open commands on Haiku
diff --git a/cola/cmds.py b/cola/cmds.py
index 68a38d3..6a06ae1 100644
--- a/cola/cmds.py
+++ b/cola/cmds.py
@@ -1670,7 +1670,7 @@ class OpenDefaultApp(ContextCommand):
def __init__(self, context, filenames):
super(OpenDefaultApp, self).__init__(context)
- if utils.is_darwin():
+ if utils.is_darwin() or utils.is_haiku():
launcher = 'open'
else:
launcher = 'xdg-open'
diff --git a/cola/gitcfg.py b/cola/gitcfg.py
index d317fca..566358e 100644
--- a/cola/gitcfg.py
+++ b/cola/gitcfg.py
@@ -473,6 +473,8 @@ class GitConfig(observable.Observable):
if os.path.isfile(candidate):
return candidate
return None
+ elif utils.is_haiku():
+ return 'Terminal -w'
else:
candidates = ('xfce4-terminal', 'konsole', 'gnome-terminal')
for basename in candidates:
--
2.30.2
From 2e2b0b6f4b42bb8dde1c5c2faf0ecf3fef79db2d Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Thu, 27 Jan 2022 10:35:20 -0700
Subject: path adjustments for building as a Haiku package
diff --git a/bin/git-cola b/bin/git-cola
index 15098fe..100cea9 100755
--- a/bin/git-cola
+++ b/bin/git-cola
@@ -26,6 +26,7 @@ def setup_environment():
prefix = os.path.dirname(os.path.dirname(os.path.realpath(abspath)))
install_lib = os.path.join(prefix, str('share'), str('git-cola'), str('lib'))
win_pkgs = os.path.join(prefix, str('pkgs'))
+ haiku_pkg = os.path.join(prefix, str('data'), str('git-cola'), str('lib'))
# Use the private modules from share/git-cola/lib when they exist.
# It is assumed that that our modules to be present in sys.path through python's
# site-packages directory when the private modules do not exist.
@@ -33,6 +34,8 @@ def setup_environment():
sys.path.insert(1, install_lib)
elif os.path.exists(win_pkgs):
sys.path.insert(1, win_pkgs)
+ elif os.path.exists(haiku_pkg):
+ sys.path.insert(1, haiku_pkg)
if __name__ == '__main__':
diff --git a/bin/git-cola-sequence-editor b/bin/git-cola-sequence-editor
index c4155da..fb6b5db 100755
--- a/bin/git-cola-sequence-editor
+++ b/bin/git-cola-sequence-editor
@@ -26,6 +26,7 @@ def setup_environment():
prefix = os.path.dirname(os.path.dirname(os.path.realpath(abspath)))
install_lib = os.path.join(prefix, str('share'), str('git-cola'), str('lib'))
win_pkgs = os.path.join(prefix, str('pkgs'))
+ haiku_pkg = os.path.join(prefix, str('data'), str('git-cola'), str('lib'))
# Use the private modules from share/git-cola/lib when they exist.
# It is assumed that that our modules to be present in sys.path through python's
# site-packages directory when the private modules do not exist.
@@ -33,6 +34,8 @@ def setup_environment():
sys.path.insert(1, install_lib)
elif os.path.exists(win_pkgs):
sys.path.insert(1, win_pkgs)
+ elif os.path.exists(haiku_pkg):
+ sys.path.insert(1, haiku_pkg)
if __name__ == '__main__':
diff --git a/bin/git-dag b/bin/git-dag
index c96880e..3ef54e1 100755
--- a/bin/git-dag
+++ b/bin/git-dag
@@ -26,6 +26,7 @@ def setup_environment():
prefix = os.path.dirname(os.path.dirname(os.path.realpath(abspath)))
install_lib = os.path.join(prefix, str('share'), str('git-cola'), str('lib'))
win_pkgs = os.path.join(prefix, str('pkgs'))
+ haiku_pkg = os.path.join(prefix, str('data'), str('git-cola'), str('lib'))
# Use the private modules from share/git-cola/lib when they exist.
# It is assumed that that our modules to be present in sys.path through python's
# site-packages directory when the private modules do not exist.
@@ -33,6 +34,8 @@ def setup_environment():
sys.path.insert(1, install_lib)
elif os.path.exists(win_pkgs):
sys.path.insert(1, win_pkgs)
+ elif os.path.exists(haiku_pkg):
+ sys.path.insert(1, haiku_pkg)
if __name__ == '__main__':
diff --git a/cola/resources.py b/cola/resources.py
index ac3faa2..68f0fa7 100644
--- a/cola/resources.py
+++ b/cola/resources.py
@@ -6,6 +6,7 @@ import webbrowser
from . import core
from . import compat
+from . import utils
# Default git-cola icon theme
@@ -58,7 +59,10 @@ def command(name):
def doc(*args):
"""Return a path relative to cola's /usr/share/doc/ directory"""
- return os.path.join(_prefix, 'share', 'doc', 'git-cola', *args)
+ if utils.is_haiku():
+ return os.path.join(_prefix, 'documentation', 'packages', 'git_cola', *args)
+ else:
+ return os.path.join(_prefix, 'share', 'doc', 'git-cola', *args)
def html_docs():
@@ -80,7 +84,10 @@ def show_html_docs():
def share(*args):
"""Return a path relative to cola's /usr/share/ directory"""
- return prefix('share', 'git-cola', *args)
+ if utils.is_haiku():
+ return prefix('data', 'git-cola', *args)
+ else:
+ return prefix('share', 'git-cola', *args)
def icon_dir(theme):
diff --git a/setup.py b/setup.py
index b8d8c39..e218f37 100755
--- a/setup.py
+++ b/setup.py
@@ -135,7 +135,10 @@ def _package(package, subdirs=None):
def _lib_path(*dirs):
- return os.path.join('share', 'git-cola', 'lib', *dirs)
+ if sys.platform.startswith('haiku'):
+ return os.path.join('data', 'git-cola', 'lib', *dirs)
+ else:
+ return os.path.join('share', 'git-cola', 'lib', *dirs)
def _app_path(dirname, entry):
--
2.30.2
From e187bd2386755b710aa71a916c471f75e5d63083 Mon Sep 17 00:00:00 2001
From: Chris Roberts <cpr420@gmail.com>
Date: Thu, 27 Jan 2022 10:35:51 -0700
Subject: fullscreen windows are annoying
diff --git a/cola/widgets/main.py b/cola/widgets/main.py
index a3b1dc8..109e4eb 100644
--- a/cola/widgets/main.py
+++ b/cola/widgets/main.py
@@ -873,7 +873,7 @@ class MainView(standard.MainWindow):
def set_initial_size(self):
# Default size; this is thrown out when save/restore is used
width, height = qtutils.desktop_size()
- self.resize((width * 3) // 4, height)
+ self.resize((width * 3) // 4, (height * 3) // 4)
self.statuswidget.set_initial_size()
self.commiteditor.set_initial_size()
diff --git a/cola/widgets/standard.py b/cola/widgets/standard.py
index d15ca23..0667627 100644
--- a/cola/widgets/standard.py
+++ b/cola/widgets/standard.py
@@ -46,6 +46,8 @@ class WidgetMixin(object):
height = desktop.height()
if utils.is_darwin():
self.resize(width, height)
+ elif utils.is_haiku():
+ self.resize((width * 3) // 4, (height * 3) // 4)
else:
shown = self.isVisible()
# earlier show() fools Windows focus stealing prevention. the main
--
2.30.2