conda / menuinst

Cross platform menu item installation
https://conda.github.io/menuinst/
BSD 3-Clause "New" or "Revised" License
33 stars 41 forks source link

Add support for Python 3.12 #164

Closed jaimergp closed 6 months ago

jaimergp commented 8 months ago

Description

Supersedes https://github.com/conda/menuinst/pull/163. Apparently the C extension on Windows does not compile for 3.12 (see issues in feedstock).

Checklist - did you ...

jaimergp commented 8 months ago

Not seeing the same errors as in the feedstock, as it compiles, but the extension does fail to run later in the tests:

            # winshortcut is a windows-only C extension! create_shortcut has this API
            # Notice args must be passed as positional, no keywords allowed!
            # winshortcut.create_shortcut(path, description, filename, arguments="",
            #                             workdir=None, iconpath=None, iconindex=0, app_id="")
>           create_shortcut(
                target_path,
                self._shortcut_filename(ext=""),
                str(path),
                " ".join(arguments),
                working_dir,
                icon,
                0,
                self._app_user_model_id(),
            )
E           SystemError: argument 1 (impossible<bad format char>)
jaimergp commented 8 months ago

Ok, that seems to work! Errors are due to activation not working because we are installing conda in a non-conventional way to bypass the cyclical dependency between conda and menuinst.

@xhochy, if you have some time, can you take a look at the code? I'm mostly pushing buttons til it works here 😂

jaimergp commented 7 months ago

Can I get a review here @conda/conda-core? It's essentially the same as https://github.com/conda/menuinst/pull/165, and it's blocking https://github.com/conda/conda/pull/13073