Package Details: ewmh_m2m 1.1.3-1

Git Clone URL: https://aur.archlinux.org/ewmh_m2m.git (read-only, click to copy)
Package Base: ewmh_m2m
Description: An EWMH-compliant move to monitor utility
Upstream URL: https://github.com/AlexisBRENON/ewmh_m2m
Licenses: MIT
Submitter: wayfarer
Maintainer: None
Last Packager: wayfarer
Votes: 0
Popularity: 0.000000
First Submitted: 2020-07-04 03:26 (UTC)
Last Updated: 2020-07-04 03:26 (UTC)

Required by (0)

Sources (1)

Latest Comments

wayfarer commented on 2021-05-24 15:53 (UTC)

I've been using the pypi version (workaround #1 in my previous comment) instead of this package since it broke due to pinned python package versions. I'm switching window managers from xfce to i3, which means I won't be using this package anymore. Since I never got around to fixing it while using xfce, I'm going to abandon the package for now. If someone in the future wishes to fix this package, I recommend you file an issue with upstream and suggest either removing the version pinning or releasing a version with updated package pins.

wayfarer commented on 2020-07-30 05:56 (UTC) (edited on 2020-07-30 06:01 (UTC) by wayfarer)

Hi wtfred, sorry for taking so long to respond.

This line:

pkg_resources.ContextualVersionConflict: (xcffib 0.10.0 (/usr/lib/python3.8/site-packages), Requirement.parse('xcffib==0.8.1'), {'ewmh-m2m'})

is complaining that the code needs xcffib version 0.8.1, but version 0.10.0 is installed. Dependencies are usually listed in setup.cfg or setup.py for python projects which use setuptools. Checking the upstream's setup.cfg (https://github.com/AlexisBRENON/ewmh_m2m/blob/master/setup.cfg), I see that the author has pinned specific versions as requirements (note the use of "=="). In the PKGBUILD for this package you can see that I simply listed python-xcffib as a requirement for the arch package and did not pin a specific version. This was fine until 0.8.1 was no longer the latest version of python-xcffib.

Unfortunately, pinning AUR packages doesn't work the same way as pinning python packages does, so to really fix this package I'll need to talk with upstream or ask the AUR forums if there's a recommended workaround. This might take me a bit of time with my busy schedule.

For now, you should be able to get ewmh_m2m to work on your system via 1 of 2 ways:

  1. Uninstall this package, python-xcffib, and python-xpybutil. Then run pip install ewmh_m2m .

  2. Manually download the tar.gz specified in the "source=" array of the PKGBUILD, modify the dependencies listed in setup.cfg, then either point the "source=" array at your local modified tar.gz or build a wheel distribution archive as specified here https://packaging.python.org/tutorials/packaging-projects/ .

Hope this helps and was informative!

wtfred commented on 2020-07-23 08:13 (UTC) (edited on 2020-07-23 08:14 (UTC) by wtfred)

Hello, i just tried your package, and got a python error: i'm not fluent in python, but from what i get it's a version conflict with xcffib

$ move-to-monitor --help
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 582, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 899, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 790, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (xcffib 0.10.0 (/usr/lib/python3.8/site-packages), Requirement.parse('xcffib==0.8.1'), {'ewmh-m2m'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/move-to-monitor", line 33, in <module>
    sys.exit(load_entry_point('ewmh-m2m==0.0.post0.dev1+gab7914f', 'console_scripts', 'move-to-monitor')())
  File "/usr/bin/move-to-monitor", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.8/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/usr/lib/python3.8/site-packages/ewmh_m2m/__init__.py", line 2, in <module>
    from pkg_resources import get_distribution, DistributionNotFound
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3257, in <module>
    def _initialize_master_working_set():
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3240, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3269, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 584, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 597, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 785, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'xcffib==0.8.1' distribution was not found and is required by ewmh-m2m