From 4e979c588067d1fc09e1748d6e8f599303d26949 Mon Sep 17 00:00:00 2001 From: link2xt Date: Sun, 22 Oct 2023 17:49:03 +0000 Subject: [PATCH] build: make source package for deltachat-rpc-server install fixed version --- scripts/wheel-rpc-server.py | 104 ++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/scripts/wheel-rpc-server.py b/scripts/wheel-rpc-server.py index 636884b38..b3b9b6f03 100755 --- a/scripts/wheel-rpc-server.py +++ b/scripts/wheel-rpc-server.py @@ -16,57 +16,6 @@ Summary: Delta Chat JSON-RPC server """ -SETUP_PY = """ -import sys -from setuptools import setup, find_packages -from distutils.cmd import Command -from setuptools.command.install import install -from setuptools.command.build import build -import subprocess -import platform -import tempfile -from zipfile import ZipFile -from pathlib import Path -import shutil - - -class BuildCommand(build): - def run(self): - tmpdir = tempfile.mkdtemp() - subprocess.run( - [ - sys.executable, - "-m", - "pip", - "download", - "--no-input", - "--timeout", - "1000", - "--platform", - "musllinux_1_1_" + platform.machine(), - "--only-binary=:all:", - "deltachat-rpc-server", - ], - cwd=tmpdir, - ) - - wheel_path = next(Path(tmpdir).glob("*.whl")) - with ZipFile(wheel_path, "r") as wheel: - exe_path = wheel.extract("deltachat_rpc_server/deltachat-rpc-server", "src") - Path(exe_path).chmod(0o700) - wheel.extract("deltachat_rpc_server/__init__.py", "src") - - shutil.rmtree(tmpdir) - return super().run() - - -setup( - cmdclass={"build": BuildCommand}, - package_data={"deltachat_rpc_server": ["deltachat-rpc-server"]}, -) -""" - - def build_source_package(version): filename = f"dist/deltachat-rpc-server-{version}.tar.gz" @@ -94,7 +43,58 @@ version = "{version}" deltachat-rpc-server = "deltachat_rpc_server:main" """, ) - pack("setup.py", SETUP_PY) + pack( + "setup.py", + f""" +import sys +from setuptools import setup, find_packages +from distutils.cmd import Command +from setuptools.command.install import install +from setuptools.command.build import build +import subprocess +import platform +import tempfile +from zipfile import ZipFile +from pathlib import Path +import shutil + + +class BuildCommand(build): + def run(self): + tmpdir = tempfile.mkdtemp() + subprocess.run( + [ + sys.executable, + "-m", + "pip", + "download", + "--no-input", + "--timeout", + "1000", + "--platform", + "musllinux_1_1_" + platform.machine(), + "--only-binary=:all:", + "deltachat-rpc-server=={version}", + ], + cwd=tmpdir, + ) + + wheel_path = next(Path(tmpdir).glob("*.whl")) + with ZipFile(wheel_path, "r") as wheel: + exe_path = wheel.extract("deltachat_rpc_server/deltachat-rpc-server", "src") + Path(exe_path).chmod(0o700) + wheel.extract("deltachat_rpc_server/__init__.py", "src") + + shutil.rmtree(tmpdir) + return super().run() + + +setup( + cmdclass={{"build": BuildCommand}}, + package_data={{"deltachat_rpc_server": ["deltachat-rpc-server"]}}, +) +""", + ) pack("src/deltachat_rpc_server/__init__.py", "")