On Tue, Oct 19, 2021 at 09:41:00AM +0200, Stefan Hagen wrote: > Thomas Frohwein wrote: > > Hi, > > > > This is a port of steamctl, a python application for managing Steam > > apps, that is mostly games. I am sending this in the hope to replace > > games/depotdownloader - the latter is written in .NET and recently > > has been using .NET Framework 5.0 features that prevent running or > > (ms)building newer versions with our mono and msbuild ports. Without > > updates, depotdownloader is becoming useless, as the Steam API for > > authentication and downloading keeps changing, see [1] for a recent > > example. > > > > The HOMEPAGE of steamctl contains a list of commands. You can get help > > on any of them with `-h` or `--help`. Here 2 examples of how I made use > > of it for testing: > > > > $ steamctl authenticator add <account> # log in to your Steam account > > $ steamctl depot download -os linux64 -a 259000 -o /path/to/targetdir/ > > > > The authenticator requires confirming 2FA (via email and SMS in my > > case). > > > > You need to know the app ID (`-a`) of the game you want to download. > > This is generally easy to find with the games' store page: > > https://store.steampowered.com/app/413150/Stardew_Valley/ => app ID is > > 413150 > > > > The port is a straightforward pypi fetch. As this is much simpler than > > the whole mess around .NET, I hope to remove or at least mark BROKEN > > the depotdownloader port once this is in. > > > > ok? > > You missed adding RUN_DEPENDS. > > I found these: > RUN_DEPENDS = devel/py-appdirs${MODPY_FLAVOR} \ > devel/py-argcomplete${MODPY_FLAVOR} \ > www/py-requests${MODPY_FLAVOR} > > But now I'm stuck on: > ModuleNotFoundError: No module named 'steam' [...]
You're of course right. I got it first via pip and didn't realize that my ports build took its dependencies from the pip repo. For the actual python port, a couple of dependencies are needed for py-steam that is the central dependency for steamctl. I've gathered the dependencies from my own notes when something didn't run and from looking through various 'requir*.txt' scattered in different places of those python distfiles. With those and my pip modules cleared out, steamctl works (again). There are 6 to start with to lay the groundwork for py-steam and steamctl: devel/py-arrow was previously removed [1]; now reinstating devel/py-gevent-eventemitter games/py-vpk to work with Valve pack files games/py-vdf to work with Valve's VDF text format graphics/py-pyqrcode (this one has optional dep on pypng) security/py-pycryptodomex confusing, but different from py-cryptodome Tarballs for all 6 attached. Offering the Quirks.pm diff below to reinstate py3-arrow. comments? oks? [1] https://marc.info/?l=openbsd-ports-cvs&m=158592526005870&w=2 Index: files/Quirks.pm =================================================================== RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v retrieving revision 1.1346 diff -u -p -r1.1346 Quirks.pm --- files/Quirks.pm 26 Nov 2021 12:56:53 -0000 1.1346 +++ files/Quirks.pm 26 Nov 2021 23:28:55 -0000 @@ -1080,7 +1080,6 @@ setup_obsolete_reason( 6 => 'nap', 5 => 'qucs', 1 => 'py-arrow', - 1 => 'py3-arrow', 1 => 'py-chai', 1 => 'py3-chai', 1 => 'py-binaryornot',
py-arrow.tgz
Description: Binary data
py-gevent-eventemitter.tgz
Description: Binary data
py-pycryptodomex.tgz
Description: Binary data
py-pyqrcode.tgz
Description: Binary data
py-vdf.tgz
Description: Binary data
py-vpk.tgz
Description: Binary data