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',

Attachment: py-arrow.tgz
Description: Binary data

Attachment: py-gevent-eventemitter.tgz
Description: Binary data

Attachment: py-pycryptodomex.tgz
Description: Binary data

Attachment: py-pyqrcode.tgz
Description: Binary data

Attachment: py-vdf.tgz
Description: Binary data

Attachment: py-vpk.tgz
Description: Binary data

Reply via email to