159 lines
4.9 KiB
Diff
159 lines
4.9 KiB
Diff
From 272024b9370380a538417004d478ef594bd0703c Mon Sep 17 00:00:00 2001
|
|
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
|
Date: Sun, 1 Mar 2020 17:33:12 +0000
|
|
Subject: [PATCH 1/4] meson_vapi_link.py: Don't reset the cwd
|
|
|
|
We're exiting anyway so it's unnecessary.
|
|
---
|
|
meson_vapi_link.py | 6 +-----
|
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
|
|
|
diff --git a/meson_vapi_link.py b/meson_vapi_link.py
|
|
index eb64fd6..5b33063 100644
|
|
--- a/meson_vapi_link.py
|
|
+++ b/meson_vapi_link.py
|
|
@@ -5,18 +5,14 @@ import subprocess
|
|
import sys
|
|
|
|
vapidir = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], sys.argv[1], 'vala', 'vapi')
|
|
+os.chdir(vapidir)
|
|
|
|
# FIXME: meson will not track the creation of these files
|
|
# https://github.com/mesonbuild/meson/blob/master/mesonbuild/scripts/uninstall.py#L39
|
|
old = 'ggit-1.0'
|
|
new = 'libgit2-glib-1.0'
|
|
|
|
-wd = os.getcwd()
|
|
-os.chdir(vapidir)
|
|
-
|
|
for ext in ['vapi', 'deps']:
|
|
src = os.path.join('{}.{}'.format(new, ext))
|
|
dest = os.path.join('{}.{}'.format(old, ext))
|
|
subprocess.call(['ln', '-s', '-f', src, dest])
|
|
-
|
|
-os.chdir(wd)
|
|
--
|
|
2.24.1
|
|
|
|
|
|
From f49f3f5a6cc20f54cdd9001f64912ca4d018ffec Mon Sep 17 00:00:00 2001
|
|
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
|
Date: Sun, 1 Mar 2020 17:33:12 +0000
|
|
Subject: [PATCH 2/4] meson_vapi_link.py: Remove unnecessary os.path.join
|
|
|
|
We only have one argument, so it does nothing.
|
|
---
|
|
meson_vapi_link.py | 4 ++--
|
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/meson_vapi_link.py b/meson_vapi_link.py
|
|
index 5b33063..58e0f6b 100644
|
|
--- a/meson_vapi_link.py
|
|
+++ b/meson_vapi_link.py
|
|
@@ -13,6 +13,6 @@ old = 'ggit-1.0'
|
|
new = 'libgit2-glib-1.0'
|
|
|
|
for ext in ['vapi', 'deps']:
|
|
- src = os.path.join('{}.{}'.format(new, ext))
|
|
- dest = os.path.join('{}.{}'.format(old, ext))
|
|
+ src = '{}.{}'.format(new, ext)
|
|
+ dest = '{}.{}'.format(old, ext)
|
|
subprocess.call(['ln', '-s', '-f', src, dest])
|
|
--
|
|
2.24.1
|
|
|
|
|
|
From 170e1c31dad2208e3ce659628efdbf0623ebbda7 Mon Sep 17 00:00:00 2001
|
|
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
|
Date: Sun, 1 Mar 2020 17:33:12 +0000
|
|
Subject: [PATCH 3/4] meson_vapi_link.py: Improve calculation of vapidir
|
|
|
|
The script gets the *absolute* datadir passed as its argument. This
|
|
means os.path.join will throw away the MESON_INSTALL_DESTDIR_PREFIX,
|
|
breaking the symlinking when DESTDIR is set.
|
|
|
|
Also handle the case where the datadir is not inside the prefix by
|
|
prepending the destdir ourselves. We make the datadir relative to the
|
|
root by stripping the drive letter (if any) and the initial separator.
|
|
---
|
|
meson.build | 2 +-
|
|
meson_vapi_link.py | 9 ++++++++-
|
|
2 files changed, 9 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/meson.build b/meson.build
|
|
index 3a423b3..6d314b5 100644
|
|
--- a/meson.build
|
|
+++ b/meson.build
|
|
@@ -135,7 +135,7 @@ if enable_vapi
|
|
assert(enable_gir, 'vapi support was requested, but introspection support is mandatory.')
|
|
assert(add_languages('vala', required: false), 'vapi support was requested, but vala not found.')
|
|
|
|
- meson.add_install_script('meson_vapi_link.py', get_option('datadir'))
|
|
+ meson.add_install_script('meson_vapi_link.py', libgit2_glib_datadir)
|
|
endif
|
|
|
|
# Check for libgit2 ssh support
|
|
diff --git a/meson_vapi_link.py b/meson_vapi_link.py
|
|
index 58e0f6b..d7fc729 100644
|
|
--- a/meson_vapi_link.py
|
|
+++ b/meson_vapi_link.py
|
|
@@ -4,7 +4,14 @@ import os
|
|
import subprocess
|
|
import sys
|
|
|
|
-vapidir = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], sys.argv[1], 'vala', 'vapi')
|
|
+datadir = sys.argv[1]
|
|
+
|
|
+destdir = os.environ.get('DESTDIR')
|
|
+if destdir:
|
|
+ datadir = os.path.splitdrive(datadir)[1].lstrip(os.path.sep)
|
|
+ datadir = os.path.join(destdir, datadir)
|
|
+
|
|
+vapidir = os.path.join(datadir, 'vala', 'vapi')
|
|
os.chdir(vapidir)
|
|
|
|
# FIXME: meson will not track the creation of these files
|
|
--
|
|
2.24.1
|
|
|
|
|
|
From 29db98df0f65519bbcc9827253b0849ce7fb741c Mon Sep 17 00:00:00 2001
|
|
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
|
Date: Sun, 1 Mar 2020 17:33:12 +0000
|
|
Subject: [PATCH 4/4] meson_vapi_link.py: Use python's own utils instead of
|
|
calling 'ln'
|
|
|
|
Replace the use of 'ln' with os.symlink. Since subprocess.call does not
|
|
raise any exception when the called process fails, this script likely
|
|
silently did nothing on Windows. Instead, fall back to using shutil.copy
|
|
to copy instead of symlinking.
|
|
---
|
|
meson_vapi_link.py | 7 +++++--
|
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/meson_vapi_link.py b/meson_vapi_link.py
|
|
index d7fc729..db1e4e8 100644
|
|
--- a/meson_vapi_link.py
|
|
+++ b/meson_vapi_link.py
|
|
@@ -1,7 +1,7 @@
|
|
#!/usr/bin/env python3
|
|
|
|
import os
|
|
-import subprocess
|
|
+import shutil
|
|
import sys
|
|
|
|
datadir = sys.argv[1]
|
|
@@ -22,4 +22,7 @@ new = 'libgit2-glib-1.0'
|
|
for ext in ['vapi', 'deps']:
|
|
src = '{}.{}'.format(new, ext)
|
|
dest = '{}.{}'.format(old, ext)
|
|
- subprocess.call(['ln', '-s', '-f', src, dest])
|
|
+ try:
|
|
+ os.symlink(src, dest)
|
|
+ except OSError:
|
|
+ shutil.copy(src, dest)
|
|
--
|
|
2.24.1
|
|
|