nextcast/README.md

82 lines
2.0 KiB
Markdown

# NextCast
With `nix-shell`:
```shell
export PYTHONPATH="$${PYTHONPATH:-}:src"
nix-shell --run './src/nextcast/app_resume_playback.py'
nix-shell --run './src/nextcast/app_play_episode.py'
```
With `apk` (on Alpine or PostmarketOS):
```shell
sudo apk add mpv libmediainfo ncurses
sudo apk add py3-pip
python3 -m venv venv
. venv/bin/activate
pip install -r requirements.txt
```
```shell
. venv/bin/activate
export PYTHONPATH="$${PYTHONPATH:-}:src"
./src/nextcast/app_resume_playback.py
./src/nextcast/app_play_episode.py
```
## Alpine Packaging
### simple-term-menu
```shell
pmbootstrap newapkbuild -f py3-simple-term-menu
cp simple-term-menu/Alpine/APKGBUILD ~/.local/var/pmbootstrap/cache_git/pmaports/main/py3-simple-term-menu/APKBUILD
pmbootstrap apkbuild_parse py3-simple-term-menu
pmbootstrap checksum py3-simple-term-menu
pmbootstrap build --arch aarch64 py3-simple-term-menu
```
Sideload:
```shell
pmbootstrap sideload --host yodaEnchilada --user yoda --arch aarch64 --install-key py3-simple-term-menu
```
### nextcast
```shell
pmbootstrap newapkbuild py3-nextcast -f -y -l MIT -u https://git.privacy1st.de/langfingaz/nextcast
cat ~/.local/var/pmbootstrap/cache_git/pmaports/main/py3-nextcast/APKBUILD
```
```shell
cp Alpine/APKGBUILD ~/.local/var/pmbootstrap/cache_git/pmaports/main/py3-nextcast/APKBUILD
pmbootstrap apkbuild_parse py3-nextcast
pmbootstrap checksum py3-nextcast
pmbootstrap build --arch aarch64 py3-nextcast
#=> build x86_64/py3-nextcast-0.0.4-r1.apk
```
```shell
pmbootstrap shutdown
```
```shell
ls ~/.local/var/pmbootstrap/packages/edge/x86_64/py3-nextcast-0.0.4-r1.apk
ls ~/.local/var/pmbootstrap/packages/edge/x86_64/py3-nextcast-pyc-0.0.4-r1.apk
```
Sideload to your postmarketOS phone:
* https://wiki.postmarketos.org/wiki/Installing_packages_on_a_running_phone#pmbootstrap_sideload
```shell
pmbootstrap sideload --host yodaEnchilada --user yoda --arch aarch64 --install-key py3-nextcast
```
## TODOs
- [ ] If action refers unknown episode/podcast, create it.
- [ ] Executable to update local list of podcasts and episodes.