From patchwork Wed Apr 22 02:39:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: D8471: packaging: remove pyoxidizer.bzl from packaging directory From: phabricator X-Patchwork-Id: 46198 Message-Id: To: Phabricator Cc: mercurial-devel@mercurial-scm.org Date: Wed, 22 Apr 2020 02:39:34 +0000 indygreg created this revision. Herald added a reviewer: hg-reviewers. Herald added a subscriber: mercurial-patches. REVISION SUMMARY We have another version in rust/hgcli that is more modern and is already associated with our Rust CLI project. REPOSITORY rHG Mercurial BRANCH stable REVISION DETAIL https://phab.mercurial-scm.org/D8471 AFFECTED FILES contrib/packaging/pyoxidizer.bzl CHANGE DETAILS To: indygreg, #hg-reviewers Cc: mercurial-patches, mercurial-devel diff --git a/contrib/packaging/pyoxidizer.bzl b/contrib/packaging/pyoxidizer.bzl deleted file mode 100644 --- a/contrib/packaging/pyoxidizer.bzl +++ /dev/null @@ -1,60 +0,0 @@ -# Instructions: -# -# 1. cargo install --version 0.5.0 pyoxidizer -# 2. cd /path/to/hg -# 3. pyoxidizer build --path contrib/packaging [--release] -# 4. Run build/pyoxidizer///app/hg -# -# If you need to build again, you need to remove the build/lib.* and -# build/temp.* directories, otherwise PyOxidizer fails to pick up C -# extensions. This is a bug in PyOxidizer. - -ROOT = CWD + "/../.." - -set_build_path(ROOT + "/build/pyoxidizer") - -def make_exe(): - dist = default_python_distribution() - - code = "import hgdemandimport; hgdemandimport.enable(); from mercurial import dispatch; dispatch.run()" - - config = PythonInterpreterConfig( - raw_allocator = "system", - run_eval = code, - # We want to let the user load extensions from the file system - filesystem_importer = True, - # We need this to make resourceutil happy, since it looks for sys.frozen. - sys_frozen = True, - legacy_windows_stdio = True, - ) - - exe = dist.to_python_executable( - name = "hg", - config = config, - ) - - # Use setup.py install to build Mercurial and collect Python resources to - # embed in the executable. - resources = dist.setup_py_install(ROOT) - exe.add_python_resources(resources) - - return exe - -def make_install(exe): - m = FileManifest() - - # `hg` goes in root directory. - m.add_python_resource(".", exe) - - templates = glob( - include=[ROOT + "/mercurial/templates/**/*"], - strip_prefix = ROOT + "/mercurial/", - ) - m.add_manifest(templates) - - return m - -register_target("exe", make_exe) -register_target("app", make_install, depends = ["exe"], default = True) - -resolve_targets()