Github messages for voidlinux
 help / color / mirror / Atom feed
* [ISSUE] alot requires mailcap library which was removed in Python-3.13
@ 2025-01-23  4:20 Vinfall
  2025-01-24 16:37 ` ahesford
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Vinfall @ 2025-01-23  4:20 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 6025 bytes --]

New issue by Vinfall on void-packages repository

https://github.com/void-linux/void-packages/issues/54086

Description:
### Is this a new report?

Yes

### System Info

Void 6.12.10_1 x86_64 GenuineIntel uptodate rrFFFFFFFFFFFFFFFFF

### Package(s) Affected

alot-0.10_2

### Does a report exist for this bug with the project's home (upstream) and/or another distro?

Yes, reported as https://github.com/pazz/alot/issues/1632 and fixed in https://github.com/pazz/alot/pull/1684 (unreleased).

### Expected behaviour

Running `alot` successfully.

### Actual behaviour

```python
$ alot
Traceback (most recent call last):
  File "/sbin/alot", line 33, in <module>
    sys.exit(load_entry_point('alot==0.10', 'console_scripts', 'alot')())
             ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/sbin/alot", line 25, in importlib_load_entry_point
    return next(matches).load()
           ~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/importlib/metadata/__init__.py", line 179, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/lib/python3.13/site-packages/alot/__main__.py", line 10, in <module>
    from alot.settings.const import settings
  File "/usr/lib/python3.13/site-packages/alot/settings/const.py", line 4, in <module>
    from .manager import SettingsManager
  File "/usr/lib/python3.13/site-packages/alot/settings/manager.py", line 7, in <module>
    import mailcap
ModuleNotFoundError: No module named 'mailcap'
```

### Steps to reproduce

```sh
xi alot
alot
```

Possible solutions:
- Use upstream patch/Update alot to 0.12, did not work as the patch is not included and I can't even build it.

<details><summary>Build log</summary>
<p>

```sh
=> alot-0.11_1: running do_build ...
* Getting build dependencies for wheel...
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
    main()
    ~~~~^^
  File "/usr/lib/python3.13/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main
    json_out["return_val"] = hook(**hook_input["kwargs"])
                             ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
    return hook(config_settings)
  File "/usr/lib/python3.13/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/build_meta.py", line 304, in _get_build_requires
    self.run_setup()
    ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/setuptools/build_meta.py", line 320, in run_setup
    exec(code, locals())
    ~~~~^^^^^^^^^^^^^^^^
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.13/site-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 148, in setup
    _setup_distribution = dist = klass(attrs)
                                 ~~~~~^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/dist.py", line 319, in __init__
    _Distribution.__init__(self, dist_attrs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 290, in __init__
    self.finalize_options()
    ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/setuptools/dist.py", line 681, in finalize_options
    ep(self)
    ~~^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_integration/setuptools.py", line 123, in infer_version
    _assign_version(dist, config)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_integration/setuptools.py", line 58, in _assign_version
    _version_missing(config)
    ~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_get_version_impl.py", line 117, in _version_missing
    raise LookupError(
    ...<8 lines>...
    )
LookupError: setuptools-scm was unable to detect version for /builddir/alot-0.11.

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
=> ERROR: alot-0.11_1: do_build: 'python3 -m build --no-isolation --wheel ${make_build_args} ${make_build_target}' exited with 1                                                                                                                            
=> ERROR:   in do_build() at common/build-style/python3-pep517.sh:17
```

</p>
</details> 

The package does not exist on PyPI (there is one, but it's deprecated) and `git+https` not working when fetching tarballs, I'm not sure how to continue.

- Package mailcap from python-deadlib](https://github.com/youknowone/python-deadlib), but I'm not sure if Void allows that.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
@ 2025-01-24 16:37 ` ahesford
  2025-01-25  2:26 ` Vinfall
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ahesford @ 2025-01-24 16:37 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 258 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2612944189

Comment:
You should be fetching the PyPI tarball, not an archive from Github. That will probably satisfy `setuptools_scm`.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
  2025-01-24 16:37 ` ahesford
@ 2025-01-25  2:26 ` Vinfall
  2025-01-25  2:27 ` Vinfall
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Vinfall @ 2025-01-25  2:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 332 bytes --]

New comment by Vinfall on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2613732240

Comment:
Their PyPI version is outdated for years (0.7.0 released in 2018 v.s. GitHub latest 0.11 released in 2024) and lower than current version Void packaged (0.10). I don't think it would work.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
  2025-01-24 16:37 ` ahesford
  2025-01-25  2:26 ` Vinfall
@ 2025-01-25  2:27 ` Vinfall
  2025-01-25  4:53 ` ahesford
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Vinfall @ 2025-01-25  2:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 384 bytes --]

New comment by Vinfall on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2613732240

Comment:
Their PyPI version is outdated for years (0.7.0 released in 2018 v.s. GitHub latest 0.11 released in 2024) and lower than current version Void packaged (0.10). I don't think it would work, and even if it works, it's essentially a downgrade.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
                   ` (2 preceding siblings ...)
  2025-01-25  2:27 ` Vinfall
@ 2025-01-25  4:53 ` ahesford
  2025-01-25 10:11 ` Vinfall
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: ahesford @ 2025-01-25  4:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 504 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2613780388

Comment:
Sorry, I missed the part about PyPI not having up-to-date tarballs.

In general, I don't think we should be packaging redistributions of removed stdlib modules. It papers over the real problem, which is people ignoring Python deprecations for years. We've made a couple of exceptions, but those usually satisfy deficiencies in a large number of Void packages.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
                   ` (3 preceding siblings ...)
  2025-01-25  4:53 ` ahesford
@ 2025-01-25 10:11 ` Vinfall
  2025-01-25 13:19 ` ahesford
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Vinfall @ 2025-01-25 10:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 330 bytes --]

New comment by Vinfall on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2613913414

Comment:
I see, this is not qualified for an exception IMO.

I can wait for a new upstream release and would revisit this once I have enough motivation to fix alot/afew/notmuch issues altogether.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
                   ` (4 preceding siblings ...)
  2025-01-25 10:11 ` Vinfall
@ 2025-01-25 13:19 ` ahesford
  2025-01-26 12:23 ` [ISSUE] [CLOSED] " Vinfall
  2025-01-26 12:23 ` Vinfall
  7 siblings, 0 replies; 9+ messages in thread
From: ahesford @ 2025-01-25 13:19 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 375 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2613964360

Comment:
As a workaround, create a virtual environment with `--system-site-packages`, install the dead `mailcap` in the environment, and you should be able to run even our packaged version as long as you start it with the venv interpreter.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [ISSUE] [CLOSED] alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
                   ` (5 preceding siblings ...)
  2025-01-25 13:19 ` ahesford
@ 2025-01-26 12:23 ` Vinfall
  2025-01-26 12:23 ` Vinfall
  7 siblings, 0 replies; 9+ messages in thread
From: Vinfall @ 2025-01-26 12:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 7335 bytes --]

Closed issue by Vinfall on void-packages repository

https://github.com/void-linux/void-packages/issues/54086

Description:
### Is this a new report?

Yes

### System Info

Void 6.12.10_1 x86_64 GenuineIntel uptodate rrFFFFFFFFFFFFFFFFF

### Package(s) Affected

alot-0.10_2

### Does a report exist for this bug with the project's home (upstream) and/or another distro?

Yes, reported as https://github.com/pazz/alot/issues/1632 and fixed in https://github.com/pazz/alot/pull/1684 (unreleased).

### Expected behaviour

Running `alot` successfully.

### Actual behaviour

```python
$ alot
Traceback (most recent call last):
  File "/sbin/alot", line 33, in <module>
    sys.exit(load_entry_point('alot==0.10', 'console_scripts', 'alot')())
             ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/sbin/alot", line 25, in importlib_load_entry_point
    return next(matches).load()
           ~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/importlib/metadata/__init__.py", line 179, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.13/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/usr/lib/python3.13/site-packages/alot/__main__.py", line 10, in <module>
    from alot.settings.const import settings
  File "/usr/lib/python3.13/site-packages/alot/settings/const.py", line 4, in <module>
    from .manager import SettingsManager
  File "/usr/lib/python3.13/site-packages/alot/settings/manager.py", line 7, in <module>
    import mailcap
ModuleNotFoundError: No module named 'mailcap'
```

### Steps to reproduce

```sh
xi alot
alot
```

Possible solutions:
- Use upstream patch/Update alot to 0.11, did not work as the patch is not included and I can't even build it.

<details><summary>Build log</summary>
<p>

```sh
=> alot-0.11_1: running do_build ...
* Getting build dependencies for wheel...
Traceback (most recent call last):
  File "/usr/lib/python3.13/site-packages/pyproject_hooks/_in_process/_in_process.py", line 389, in <module>
    main()
    ~~~~^^
  File "/usr/lib/python3.13/site-packages/pyproject_hooks/_in_process/_in_process.py", line 373, in main
    json_out["return_val"] = hook(**hook_input["kwargs"])
                             ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/pyproject_hooks/_in_process/_in_process.py", line 143, in get_requires_for_build_wheel
    return hook(config_settings)
  File "/usr/lib/python3.13/site-packages/setuptools/build_meta.py", line 334, in get_requires_for_build_wheel
    return self._get_build_requires(config_settings, requirements=[])
           ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/build_meta.py", line 304, in _get_build_requires
    self.run_setup()
    ~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/setuptools/build_meta.py", line 320, in run_setup
    exec(code, locals())
    ~~~~^^^^^^^^^^^^^^^^
  File "<string>", line 1, in <module>
  File "/usr/lib/python3.13/site-packages/setuptools/__init__.py", line 117, in setup
    return distutils.core.setup(**attrs)
           ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/core.py", line 148, in setup
    _setup_distribution = dist = klass(attrs)
                                 ~~~~~^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/dist.py", line 319, in __init__
    _Distribution.__init__(self, dist_attrs)
    ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools/_distutils/dist.py", line 290, in __init__
    self.finalize_options()
    ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/site-packages/setuptools/dist.py", line 681, in finalize_options
    ep(self)
    ~~^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_integration/setuptools.py", line 123, in infer_version
    _assign_version(dist, config)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_integration/setuptools.py", line 58, in _assign_version
    _version_missing(config)
    ~~~~~~~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/site-packages/setuptools_scm/_get_version_impl.py", line 117, in _version_missing
    raise LookupError(
    ...<8 lines>...
    )
LookupError: setuptools-scm was unable to detect version for /builddir/alot-0.11.

Make sure you're either building from a fully intact git repository or PyPI tarballs. Most other sources (such as GitHub's tarballs, a git checkout without the .git folder) don't contain the necessary metadata and will not work.

For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj

ERROR Backend subprocess exited when trying to invoke get_requires_for_build_wheel
=> ERROR: alot-0.11_1: do_build: 'python3 -m build --no-isolation --wheel ${make_build_args} ${make_build_target}' exited with 1                                                                                                                            
=> ERROR:   in do_build() at common/build-style/python3-pep517.sh:17
```

</p>
</details> 

<details><summary>Template patch</summary>
<p>

```diff
--- a/srcpkgs/alot/template
+++ b/srcpkgs/alot/template
@@ -1,18 +1,19 @@
 # Template file for 'alot'
 pkgname=alot
-version=0.10
-revision=2
-build_style=python3-module
-hostmakedepends="python3-setuptools python3-Sphinx python3-notmuch2 python3-cffi"
-depends="python3-setuptools python3-Twisted python3-notmuch2 python3-configobj
- gpgme-python3 python3-magic python3-urwidtrees"
+version=0.11
+revision=1
+build_style=python3-pep517
+hostmakedepends="python3-wheel python3-setuptools_scm python3-Sphinx
+ python3-notmuch2 python3-cffi git"
+depends="python3-Twisted python3-notmuch2 python3-configobj gpgme-python3
+ python3-magic python3-urwidtrees"
 checkdepends="$depends gnupg2 procps-ng python3-pytest"
 short_desc="Terminal-based mail user agent based on the notmuch mail indexer"
 maintainer="Felix Van der Jeugt <felix.vanderjeugt@posteo.net>"
 license="GPL-3.0-or-later"
 homepage="https://github.com/pazz/alot"
 distfiles="https://github.com/pazz/${pkgname}/archive/${version}.tar.gz"
-checksum=71f382aa751fb90fde1a06a0a4ba43628ee6aa6d41b5cd53c8701fd7c5ab6e6e
+checksum=4b82a38af65bea84719c40a01f4c1edc759263f7a752e1f1b3457e72ef7b0a2d
 
 do_check() {
 	pytest3 -k 'not test_no_spawn_no_stdin_attached'
-- 
2.48.1
```

</p>
</details> 

The package does not exist on PyPI (there is one, but it's deprecated) and `git+https` not working when fetching tarballs, I'm not sure how to continue.

- Package mailcap from [python-deadlib](https://github.com/youknowone/python-deadlib), but I'm not sure if Void allows that.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: alot requires mailcap library which was removed in Python-3.13
  2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
                   ` (6 preceding siblings ...)
  2025-01-26 12:23 ` [ISSUE] [CLOSED] " Vinfall
@ 2025-01-26 12:23 ` Vinfall
  7 siblings, 0 replies; 9+ messages in thread
From: Vinfall @ 2025-01-26 12:23 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 306 bytes --]

New comment by Vinfall on void-packages repository

https://github.com/void-linux/void-packages/issues/54086#issuecomment-2614377248

Comment:
Never mind, I took the chance and switched to [meli](https://git.meli-email.org/meli/meli.git) instead. While this is not solved, I'm no longer affected. Closing.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-01-26 12:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-01-23  4:20 [ISSUE] alot requires mailcap library which was removed in Python-3.13 Vinfall
2025-01-24 16:37 ` ahesford
2025-01-25  2:26 ` Vinfall
2025-01-25  2:27 ` Vinfall
2025-01-25  4:53 ` ahesford
2025-01-25 10:11 ` Vinfall
2025-01-25 13:19 ` ahesford
2025-01-26 12:23 ` [ISSUE] [CLOSED] " Vinfall
2025-01-26 12:23 ` Vinfall

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).