15
0
forked from pool/python-i3ipc

- Convert to pip-based build

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-i3ipc?expand=0&rev=14
This commit is contained in:
2025-05-28 11:45:36 +00:00
committed by Git OBS Bridge
commit 0cb800ac0d
5 changed files with 176 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
.osc

3
i3ipc-2.2.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:54af180fac6e3e16c65747884ae4479f0df034c45ed02523f8300f98c99eb29e
size 51760

61
python-i3ipc.changes Normal file
View File

@@ -0,0 +1,61 @@
-------------------------------------------------------------------
Wed May 28 11:44:55 UTC 2025 - Markéta Machová <mmachova@suse.com>
- Convert to pip-based build
-------------------------------------------------------------------
Fri Mar 4 08:27:56 UTC 2022 - pgajdos@suse.com
- disable flaky test_detailed_window_event (stucks on obs for x86_64)
-------------------------------------------------------------------
Thu Sep 23 09:48:08 UTC 2021 - Matej Cepl <mcepl@suse.com>
- Mark example scripts as non-executable
-------------------------------------------------------------------
Sun Mar 7 12:17:37 UTC 2021 - Atri Bhattacharya <badshah400@gmail.com>
- Fix Requires: python-<module> instead of %{python <module>} so
that python38-<foo> does not pull in python36-<dependency>.
-------------------------------------------------------------------
Mon Apr 6 07:38:48 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 2.2.1:
* includes sway comatibility enhancements (#98) and other bugfixes.
* Make the sway INPUT event subscribable (#127).
* Remove the enum-compat dependency (#128).
* Add examples and docs to MANIFEST.in (#132).
* Add sway-specific fields to OutputReply (#137).
* Add find_by_pid() method for sway (#142).
* Add side properties to Gaps object (#143).
* Add ipc_data attribute to objects (8947b9f).
* Add all known sway properties (e6c7f1b).
* Fix scratchpad for sway (f11e729).
* Bug: fix crash after reload then restart (#148).
-------------------------------------------------------------------
Tue Mar 31 10:50:37 UTC 2020 - Michael Vetter <mvetter@suse.com>
- Update to 2.1.1:
* Regression: emit detailed events correctly (#126)
* Regression: null values in replies should be python None (#123)
* Add the sway input event (#122)
* Raise handler exceptions from Connection.main() (#125)
-------------------------------------------------------------------
Sat Oct 19 12:01:34 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
- Drop unnecessary dependency on python-devel
- Remove dependency on enum-compat, using python2-enum34 instead
- Add examples to docs
- Fix fdupes and tidy spec
- Activate test suite, with a few tests deselected due to
test runner environment
- Update to v1.7.1, last release supporting Python 2.7
-------------------------------------------------------------------
Sun Feb 24 12:50:43 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
- Initial release 1.6.0

88
python-i3ipc.spec Normal file
View File

@@ -0,0 +1,88 @@
#
# spec file for package python-i3ipc
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: python-i3ipc
# Before upgrading, verify compatibility with bumblebee-status module title
Version: 2.2.1
Release: 0
Summary: Python library for i3 WM extensions
License: BSD-3-Clause
Group: Development/Languages/Python
URL: https://github.com/altdesktop/i3ipc-python
Source0: https://github.com/altdesktop/i3ipc-python/archive/v%{version}.tar.gz#/i3ipc-%{version}.tar.gz
BuildRequires: %{python_module asyncio}
BuildRequires: %{python_module pip}
BuildRequires: %{python_module pytest}
# for tests we need i3 at build time
BuildRequires: %{python_module python-xlib}
BuildRequires: %{python_module setuptools}
BuildRequires: %{python_module wheel}
BuildRequires: fdupes
BuildRequires: i3
BuildRequires: python-rpm-macros
BuildRequires: xvfb-run
Requires: python-python-xlib
BuildArch: noarch
%python_subpackages
%description
python-i3ipc is a Python library for controlling the i3 window manager which
aims to be used by scripts and applications which interact with the window
manager like status line generators, notification daemons and pagers.
This library uses i3s interprocess communication, which is the interface
that i3 WM uses to receive commands from client applications such as i3-msg. It
also features a publish/subscribe mechanism for notifying interested parties of
window manager events.
%prep
%setup -q -n i3ipc-python-%{version}
sed -i "s/'enum-compat'//" setup.py
# Remove shebang which is not needed (that script cannot be executed
# standalone).
sed -i '/^#!\/usr\/bin\/env.*/d' examples/*.py examples/i3-focus/*.py
# Examples shouldn't be executable
find examples/ -name \*.py -exec chmod -x '{}' \;
%build
%pyproject_wheel
%install
%pyproject_install
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
# test_shutdown_event_reconnect always fails
# test_restart fails on openSUSE/SLE 15
# test_window_event is intermittent
# test_detailed_window_event stucks in obs, not with the local build (https://github.com/altdesktop/i3ipc-python/issues/192)
%{python_expand export PYTHONPATH=%{buildroot}%{$python_sitelib}
xvfb-run --server-args "-screen 0 1920x1080x24" \
$python -m pytest -k 'not (test_shutdown_event_reconnect or test_restart or test_window_event or test_detailed_window_event)'
}
%files %{python_files}
%license LICENSE
%doc README.rst CHANGELOG.md docs/*.rst
%doc examples/
%{python_sitelib}/i3ipc
%{python_sitelib}/i3ipc-%{version}*-info
%changelog