From 724a31d4ab502bac3cb5c1805d29c0668c1d4260 Mon Sep 17 00:00:00 2001 From: knotteye Date: Mon, 19 Apr 2021 18:11:21 -0600 Subject: [PATCH] Better windows build system using pynsist. Add recipe for installer, update docs, ignore the output directory, and add a patch that needs to prepend plchat.py before building. --- .gitignore | 3 ++- README.md | 5 ++--- installer.cfg | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ windows.patch | 9 +++++++++ 4 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 installer.cfg create mode 100644 windows.patch diff --git a/.gitignore b/.gitignore index 8febc9e..326263f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ __pycache__ plchat.build -dist \ No newline at end of file +dist +build \ No newline at end of file diff --git a/README.md b/README.md index 8e3ec78..5203eec 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,9 @@ Run the binary or `python plchat.py`. Log in to your account on the fediverse an Installation instructions for PlChat. If you are looking to package this program or build from source, skip to Building From Source or Packaging down below. ### Windows -Download and install [python 3.8.9](https://www.python.org/downloads/windows/) from the python.org and the [k-lite codec pack](https://www.codecguide.com/download_kl.htm). The basic version with default options should work fine. +Download and install the [k-lite codec pack](https://www.codecguide.com/download_kl.htm). The basic version with default options should work fine. -Download the latest plchat_windows.zip from https://git.waldn.net/git/knotteye/plchat/releases extract the zip file. Run setup.bat, and keep the setup-log file if something does not work. Run plchat.exe and log in! -No guarantees on Windows 7, but windows 8 and 10 should work fine. +Download the latest plchat_windows.zip from https://git.waldn.net/git/knotteye/plchat/releases extract the zip file. Run the installer. ### Linux A prepackaged deb file is provided in https://git.waldn.net/git/knotteye/plchat/releases as well as a compiled binary for amd64 linux. diff --git a/installer.cfg b/installer.cfg new file mode 100644 index 0000000..d8409ee --- /dev/null +++ b/installer.cfg @@ -0,0 +1,54 @@ +[Application] +name=PlChat +version=1.0.1 +script=plchat.py +icon=fedi.ico +license_file=LICENSE +console=false + +[Python] +version=3.8.9 +include_msvcrt=true + +[Include] +pypi_wheels = PyQt5==5.15.2 + PyQt5-sip==12.8.1 + appdirs==1.4.4 + keyring==23.0.1 + python-magic-bin==0.4.14 + notify-py==0.3.1 + python-dateutil==2.8.1 + requests==2.25.1 + urllib3==1.26.4 + websockets==8.1 + importlib-metadata==3.10.1 + certifi==2020.12.5 + chardet==4.0.0 + colorama==0.4.4 + idna==2.10 + importlib-metadata==3.10.1 + loguru==0.5.3 + pywin32-ctypes==0.2.0 + requests-download==0.1.2 + six==1.15.0 + urllib3==1.26.4 + websockets==8.1 + win32-setctime==1.0.3 + yarg==0.1.9 + zipp==3.4.1 + +files = COPYING + LICENSE + README.md + send.svg + unread.svg + fedi.svg + fedi.ico + +packages= audiowidget + misc + monkeypatch + plchat + pleroma + timeconvert + videowidget \ No newline at end of file diff --git a/windows.patch b/windows.patch new file mode 100644 index 0000000..b77e45b --- /dev/null +++ b/windows.patch @@ -0,0 +1,9 @@ +#!python3.8 +import sys, os +import site + +scriptdir, script = os.path.split(os.path.abspath(__file__)) +pkgdir = os.path.join(scriptdir, 'pkgs') +# Ensure .pth files in pkgdir are handled properly +site.addsitedir(pkgdir) +sys.path.insert(0, pkgdir) \ No newline at end of file