summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichaƂ Zimniewicz <michzimny@users.noreply.github.com>2017-03-01 22:05:06 +0100
committerGitHub <noreply@github.com>2017-03-01 22:05:06 +0100
commitb9a659504c45f5b4af4cfad0f1b3ed7fa6d49a82 (patch)
treec19108a1043cd7aafd8def3430c882b0c574f7ed
parent02bc3f36d8de9a86e67aced219057427da8cc176 (diff)
parent8dc0bb8cdb3defbcfc24cb5036436267e5196867 (diff)
Merge pull request #12 from michzimny/build-readme
Build process documentation
-rw-r--r--BUILD.md36
-rw-r--r--README.md4
2 files changed, 40 insertions, 0 deletions
diff --git a/BUILD.md b/BUILD.md
new file mode 100644
index 0000000..9e4effb
--- /dev/null
+++ b/BUILD.md
@@ -0,0 +1,36 @@
+Build instructions
+==================
+
+Prerequisites
+-------------
+
+Building `quick_lineup` relies on `pyinstaller`.
+
+You can install `pyinstaller` via PIP:
+
+```
+pip install pyinstaller
+```
+
+Build
+-----
+
+To build the binary, simply use the provided [`.spec` file](quick_lineup.spec):
+
+```
+pyinstaller quick_lineup.spec
+```
+
+The binary is compiled in the `dist` directory, while `build` directory contains intermediate files for `pyinstaller`.
+
+Known issues
+------------
+
+ * it's difficult to pin-point a specific version of `pyinstaller` which is free from all issues, as `pyinstaller` develops dynamically
+ * [pyinstaller < 3, requires manual patch] building from non-ASCII paths may be problematic or result in binaries which refuse to run
+ * [pyinstaller >= 3.2] in some specific configuration, the resulting binary may not run from a non-ASCII path (see: https://github.com/pyinstaller/pyinstaller/issues/1396)
+ * [pyinstaller >= 3.1, < 3.2] fails to overwrite its own files in `build`, the directory needs to be clean before building
+ * appending EXE version info is broken due to an upstream bug, in Python3 WinAPI bindings: (see: https://github.com/pyinstaller/pyinstaller/issues/1955)
+ * which is affected, anyway, by some antivirus software (if you're getting "Permission denied [Errno 5]" on metadata write, that may be it)
+
+Best bet is to use 3.1 and clear `build` manually between builds. 3.2 (3.2.1 in my case) works fine, but some users reported inability to run the compiled EXE (hi, Olo).
diff --git a/README.md b/README.md
index dba7b4e..6152300 100644
--- a/README.md
+++ b/README.md
@@ -34,3 +34,7 @@ python quick_lineup.py 3 2 1
```
The script will iterate pair by pair in each match. It presents the currently assigned players and let you confirm them - pressing ENTER without any input - or change - providing player names (press TAB to autocomplete).
+
+# Build process
+
+See: [BUILD.md](BUILD.md)