equal
deleted
inserted
replaced
66 cwd=str(source_dir), |
66 cwd=str(source_dir), |
67 check=True, |
67 check=True, |
68 ) |
68 ) |
69 |
69 |
70 |
70 |
71 def create_pyoxidizer_install_layout( |
71 def run_pyoxidizer( |
72 source_dir: pathlib.Path, |
72 source_dir: pathlib.Path, build_dir: pathlib.Path, target_triple: str, |
73 build_dir: pathlib.Path, |
73 ) -> pathlib.Path: |
74 out_dir: pathlib.Path, |
74 """Run `pyoxidizer` in an environment with access to build dependencies. |
75 target_triple: str, |
|
76 ): |
|
77 """Build Mercurial with PyOxidizer and copy additional files into place. |
|
78 |
75 |
79 After successful completion, ``out_dir`` contains files constituting a |
76 Returns the output directory that pyoxidizer would have used for build |
80 Mercurial install. |
77 artifacts. Actual build artifacts are likely in a sub-directory with the |
|
78 name of the pyoxidizer build target that was built. |
81 """ |
79 """ |
82 # We need to make gettext binaries available for compiling i18n files. |
80 # We need to make gettext binaries available for compiling i18n files. |
83 gettext_pkg, gettext_entry = download_entry('gettext', build_dir) |
81 gettext_pkg, gettext_entry = download_entry('gettext', build_dir) |
84 gettext_dep_pkg = download_entry('gettext-dep', build_dir)[0] |
82 gettext_dep_pkg = download_entry('gettext-dep', build_dir)[0] |
85 |
83 |
105 "--target-triple", |
103 "--target-triple", |
106 target_triple, |
104 target_triple, |
107 ] |
105 ] |
108 |
106 |
109 subprocess.run(args, env=env, check=True) |
107 subprocess.run(args, env=env, check=True) |
|
108 |
|
109 return source_dir / "build" / "pyoxidizer" / target_triple / "release" |
|
110 |
|
111 |
|
112 def create_pyoxidizer_install_layout( |
|
113 source_dir: pathlib.Path, |
|
114 build_dir: pathlib.Path, |
|
115 out_dir: pathlib.Path, |
|
116 target_triple: str, |
|
117 ): |
|
118 """Build Mercurial with PyOxidizer and copy additional files into place. |
|
119 |
|
120 After successful completion, ``out_dir`` contains files constituting a |
|
121 Mercurial install. |
|
122 """ |
|
123 |
|
124 run_pyoxidizer(source_dir, build_dir, target_triple) |
110 |
125 |
111 if "windows" in target_triple: |
126 if "windows" in target_triple: |
112 target = "app_windows" |
127 target = "app_windows" |
113 else: |
128 else: |
114 target = "app_posix" |
129 target = "app_posix" |