mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Use cross compilation for extdev
This commit is contained in:
parent
ef9e669ef9
commit
39f5192c99
@ -238,13 +238,15 @@ class ExtDev(Command):
|
|||||||
def run(self, opts):
|
def run(self, opts):
|
||||||
which, ext = opts.cli_args[:2]
|
which, ext = opts.cli_args[:2]
|
||||||
cmd = opts.cli_args[2:] or ['calibre-debug', '--test-build']
|
cmd = opts.cli_args[2:] or ['calibre-debug', '--test-build']
|
||||||
bitness = '64' if which == 'windows' else ''
|
|
||||||
ext_dir = build_only(which, bitness, ext)
|
|
||||||
if which == 'windows':
|
if which == 'windows':
|
||||||
|
subprocess.check_call([sys.executable, 'setup.py', 'build', '--cross-compile-extensions=windows', '--only=winspeech'])
|
||||||
|
src = 'src/calibre/plugins/winspeech.cross-windows-x64.pyd'
|
||||||
host = 'win'
|
host = 'win'
|
||||||
path = '/cygdrive/c/Program Files/Calibre2/app/bin/{}.pyd'
|
path = '/cygdrive/c/Program Files/Calibre2/app/bin/{}.pyd'
|
||||||
bin_dir = '/cygdrive/c/Program Files/Calibre2'
|
bin_dir = '/cygdrive/c/Program Files/Calibre2'
|
||||||
elif which == 'macos':
|
elif which == 'macos':
|
||||||
|
ext_dir = build_only(which, '', ext)
|
||||||
|
src = os.path.join(ext_dir, os.path.basename(path))
|
||||||
print(
|
print(
|
||||||
"\n\n\x1b[33;1mWARNING: This does not work on macOS, unless you use un-signed builds with ",
|
"\n\n\x1b[33;1mWARNING: This does not work on macOS, unless you use un-signed builds with ",
|
||||||
' ./update-on-ox develop\x1b[m',
|
' ./update-on-ox develop\x1b[m',
|
||||||
@ -252,6 +254,8 @@ class ExtDev(Command):
|
|||||||
host = 'ox'
|
host = 'ox'
|
||||||
path = '/Applications/calibre.app/Contents/Frameworks/plugins/{}.so'
|
path = '/Applications/calibre.app/Contents/Frameworks/plugins/{}.so'
|
||||||
bin_dir = '/Applications/calibre.app/Contents/MacOS'
|
bin_dir = '/Applications/calibre.app/Contents/MacOS'
|
||||||
|
else:
|
||||||
|
raise SystemExit(f'Unknown OS {which}')
|
||||||
control_path = os.path.expanduser('~/.ssh/extdev-master-%C')
|
control_path = os.path.expanduser('~/.ssh/extdev-master-%C')
|
||||||
if subprocess.Popen([
|
if subprocess.Popen([
|
||||||
'ssh', '-o', 'ControlMaster=auto', '-o', 'ControlPath=' + control_path, '-o', 'ControlPersist=yes', host,
|
'ssh', '-o', 'ControlMaster=auto', '-o', 'ControlPath=' + control_path, '-o', 'ControlPersist=yes', host,
|
||||||
@ -260,7 +264,6 @@ class ExtDev(Command):
|
|||||||
raise SystemExit(1)
|
raise SystemExit(1)
|
||||||
try:
|
try:
|
||||||
path = path.format(ext)
|
path = path.format(ext)
|
||||||
src = os.path.join(ext_dir, os.path.basename(path))
|
|
||||||
subprocess.check_call(['ssh', '-S', control_path, host, 'chmod', '+wx', f'"{path}"'])
|
subprocess.check_call(['ssh', '-S', control_path, host, 'chmod', '+wx', f'"{path}"'])
|
||||||
with open(src, 'rb') as f:
|
with open(src, 'rb') as f:
|
||||||
p = subprocess.Popen(['ssh', '-S', control_path, host, f'cat - > "{path}"'], stdin=subprocess.PIPE)
|
p = subprocess.Popen(['ssh', '-S', control_path, host, f'cat - > "{path}"'], stdin=subprocess.PIPE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user