forked from pool/python-ipython
Compare commits
16 Commits
Author | SHA256 | Date | |
---|---|---|---|
8331d44461 | |||
57807aeb62 | |||
b1e95704d3 | |||
|
be3dba283b | ||
|
b2273414d4 | ||
d0ef9cd785 | |||
65fb801ec9 | |||
9bad49e163 | |||
5ac5384589 | |||
cb0d3f0014 | |||
43037ed451 | |||
27b72487e1 | |||
449ed34548 | |||
a6c0e87f1d | |||
2b6f031ac0 | |||
37d88e26cd |
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0b99a2dc9f15fd68692e898e5568725c6d49c527d36a9fb5960ffbdeaa82ff7e
|
|
||||||
size 5494984
|
|
3
ipython-8.37.0.tar.gz
Normal file
3
ipython-8.37.0.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:ca815841e1a41a1e6b73a0b08f3038af9b2252564d01fc405356d34033012216
|
||||||
|
size 5606088
|
81
pytest-warnings.patch
Normal file
81
pytest-warnings.patch
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
From 9dc9414beec774e0857d655299231fb8e311d9b8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: M Bussonnier <bussonniermatthias@gmail.com>
|
||||||
|
Date: Sat, 22 Feb 2025 19:51:26 +0100
|
||||||
|
Subject: [PATCH] Fix a number of pytest warnings
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/conftest.py | 13 -------------
|
||||||
|
tests/test_embed.py | 2 +-
|
||||||
|
tests/test_interactiveshell.py | 4 +---
|
||||||
|
tests/test_magic.py | 5 +++++
|
||||||
|
tests/test_run.py | 6 +++---
|
||||||
|
5 files changed, 10 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
|
Index: ipython-8.37.0/IPython/conftest.py
|
||||||
|
===================================================================
|
||||||
|
--- ipython-8.37.0.orig/IPython/conftest.py
|
||||||
|
+++ ipython-8.37.0/IPython/conftest.py
|
||||||
|
@@ -14,19 +14,6 @@ pytest.register_assert_rewrite("IPython.
|
||||||
|
from .testing import tools
|
||||||
|
|
||||||
|
|
||||||
|
-def pytest_collection_modifyitems(items):
|
||||||
|
- """This function is automatically run by pytest passing all collected test
|
||||||
|
- functions.
|
||||||
|
-
|
||||||
|
- We use it to add asyncio marker to all async tests and assert we don't use
|
||||||
|
- test functions that are async generators which wouldn't make sense.
|
||||||
|
- """
|
||||||
|
- for item in items:
|
||||||
|
- if inspect.iscoroutinefunction(item.obj):
|
||||||
|
- item.add_marker("asyncio")
|
||||||
|
- assert not inspect.isasyncgenfunction(item.obj)
|
||||||
|
-
|
||||||
|
-
|
||||||
|
def get_ipython():
|
||||||
|
from .terminal.interactiveshell import TerminalInteractiveShell
|
||||||
|
if TerminalInteractiveShell._instance:
|
||||||
|
Index: ipython-8.37.0/IPython/core/tests/test_magic.py
|
||||||
|
===================================================================
|
||||||
|
--- ipython-8.37.0.orig/IPython/core/tests/test_magic.py
|
||||||
|
+++ ipython-8.37.0/IPython/core/tests/test_magic.py
|
||||||
|
@@ -1198,6 +1198,7 @@ def test_script_out_err():
|
||||||
|
assert ip.user_ns["error"].strip() == "hello"
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.asyncio
|
||||||
|
async def test_script_bg_out():
|
||||||
|
ip = get_ipython()
|
||||||
|
ip.run_cell_magic("script", f"--bg --out output {sys.executable}", "print('hi')")
|
||||||
|
@@ -1205,6 +1206,7 @@ async def test_script_bg_out():
|
||||||
|
assert ip.user_ns["output"].at_eof()
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.asyncio
|
||||||
|
async def test_script_bg_err():
|
||||||
|
ip = get_ipython()
|
||||||
|
ip.run_cell_magic(
|
||||||
|
@@ -1216,6 +1218,7 @@ async def test_script_bg_err():
|
||||||
|
assert ip.user_ns["error"].at_eof()
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.asyncio
|
||||||
|
async def test_script_bg_out_err():
|
||||||
|
ip = get_ipython()
|
||||||
|
ip.run_cell_magic(
|
||||||
|
@@ -1235,6 +1238,7 @@ async def test_script_bg_out_err():
|
||||||
|
assert ip.user_ns["error"].at_eof()
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.asyncio
|
||||||
|
async def test_script_bg_proc():
|
||||||
|
ip = get_ipython()
|
||||||
|
ip.run_cell_magic(
|
||||||
|
@@ -1269,6 +1273,7 @@ def test_script_defaults():
|
||||||
|
assert cmd in ip.magics_manager.magics["cell"]
|
||||||
|
|
||||||
|
|
||||||
|
+@pytest.mark.asyncio
|
||||||
|
async def test_script_streams_continiously(capsys):
|
||||||
|
ip = get_ipython()
|
||||||
|
# Windows is slow to start up a thread on CI
|
@@ -1,3 +1,80 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 4 09:29:55 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Add upstream pytest-warnings.patch to fix tests with pytest 8.4+
|
||||||
|
- tests actually use pytest-asyncio, otherwise they break even with
|
||||||
|
the patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 17 20:38:14 UTC 2025 - Dirk Müller <dmueller@suse.com>
|
||||||
|
|
||||||
|
- switch to pytest-trio
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Jun 20 12:10:38 UTC 2025 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Update to 8.37
|
||||||
|
* Fixes an error were a warning about virtualenvs was incorrectly triggered.
|
||||||
|
* Fixes an issue on Python 3.12+ with post mortem debugging.
|
||||||
|
* Fixes a bug where magics were ignoring SIGINT
|
||||||
|
* Fixes an issue where magics would not display all subprocess output.
|
||||||
|
* Fixed auto-suggestion on Prompt Toolkit < 3.0.49
|
||||||
|
* Fixed Python 3.13 compatibility of local_ns
|
||||||
|
* Improved Qt object management and performance
|
||||||
|
* Better documentation and configurability of LLM completions
|
||||||
|
* Fixed right arrow incorrectly accepting invisible auto-suggestions
|
||||||
|
* Fixed Qt backend crash
|
||||||
|
* Fixed tab-completion of global variables in lines with a dot when jedi is off
|
||||||
|
* Fixed LLM request number always being set to zero and removed spurious logging
|
||||||
|
* Passes current input history to LLMs
|
||||||
|
* Fixed interruption of %%time and %%debug magics
|
||||||
|
* Removed spurious empty lines from prefix passed to LLM, and separated part
|
||||||
|
after cursor into the suffix
|
||||||
|
* Eliminate startup delay when LLM completion provider is configured
|
||||||
|
* Fix attribute completion for expressions with comparison operators
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 28 13:13:39 UTC 2025 - Yunus Acar <yunus.acar@suse.com>
|
||||||
|
|
||||||
|
- Update to 8.31
|
||||||
|
* #14594 Fix completion in tuples, where the completion was suggesting
|
||||||
|
tuples methods instead of methods and attributes of the current element.
|
||||||
|
* #14598 Fix pdb issue with Python 3.13.1, this fix is not perfect
|
||||||
|
(see #14620) but should be sufficient for now.
|
||||||
|
- Drop py3131.patch as it is included in 8.31
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Dec 10 11:41:49 UTC 2024 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
|
- Update to 8.30
|
||||||
|
* improve the documentatation for custom IPython formatters, and how
|
||||||
|
you can register formatters for custom mime types.
|
||||||
|
* fix a bug in which commands that were not assigned a shortcut could
|
||||||
|
not be assigned one.
|
||||||
|
* fix a bug in which a single / on an empty line would not be an error.
|
||||||
|
This is due to the autocall behavior that we are thinking of deprecating.
|
||||||
|
- Add py3131.patch to fix behaviour with Python 3.13.1
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Nov 17 14:50:16 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
|
- Update to 8.29
|
||||||
|
* Misc Python 3.13 compatibility #14536, #14559
|
||||||
|
* Add a uv line magic #14537
|
||||||
|
* Add support for WEBP to IPython.display.Image. #14526
|
||||||
|
* And many more bugfixes and quality of life improvements.
|
||||||
|
- IPython 8.28
|
||||||
|
* #14480 AssertionError: assert _xterm_term_title_saved in WSL
|
||||||
|
It is unclear why the terminal title is not saved in WSL, if
|
||||||
|
you've WSL experience we'd love your feedback and help to not
|
||||||
|
just ignore an error
|
||||||
|
* #14510 Fix use of pyside6 >= 6.7.0
|
||||||
|
* #14518 Make values public (_tb_highlight & _tb_highlight_style)
|
||||||
|
* #14515 Use environment variable to identify conda / mamba
|
||||||
|
- Remove deprecated %suse_update_desktop_file
|
||||||
|
* https://en.opensuse.org/openSUSE:Update-desktop-files_deprecation
|
||||||
|
* nothing relevant to upstream
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Aug 30 10:10:52 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
Fri Aug 30 10:10:52 UTC 2024 - Ben Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
@@ -351,11 +428,11 @@ Tue Jan 3 14:26:56 UTC 2023 - Ben Greiner <code@bnavigator.de>
|
|||||||
Tue Jan 3 14:03:46 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
Tue Jan 3 14:03:46 UTC 2023 - Markéta Machová <mmachova@suse.com>
|
||||||
|
|
||||||
- Update to 8.8.0
|
- Update to 8.8.0
|
||||||
* replace the greedy completer and improve completion, in particular
|
* replace the greedy completer and improve completion, in particular
|
||||||
for dictionary keys
|
for dictionary keys
|
||||||
* adds py.typed to setup.cfg to make sure it is bundled in wheels
|
* adds py.typed to setup.cfg to make sure it is bundled in wheels
|
||||||
* implements tab completions for IPython options in the shell when
|
* implements tab completions for IPython options in the shell when
|
||||||
using argcomplete
|
using argcomplete
|
||||||
* makes the inspector class of InteractiveShell configurable
|
* makes the inspector class of InteractiveShell configurable
|
||||||
* makes tests compatible with Pygments >= 2.14
|
* makes tests compatible with Pygments >= 2.14
|
||||||
* more changes, see upstream 8.8.0 milestone
|
* more changes, see upstream 8.8.0 milestone
|
||||||
@@ -767,8 +844,8 @@ Mon Feb 1 23:25:34 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
|||||||
* Support for PyQt5 >= 5.11 PR #12715
|
* Support for PyQt5 >= 5.11 PR #12715
|
||||||
* %reset remove imports more agressively PR #12718
|
* %reset remove imports more agressively PR #12718
|
||||||
* fix the %conda magic PR #12739
|
* fix the %conda magic PR #12739
|
||||||
* compatibility with Jedi 0.18, and bump minimum Jedi version.
|
* compatibility with Jedi 0.18, and bump minimum Jedi version.
|
||||||
PR #12793
|
PR #12793
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Dec 10 20:14:51 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
Thu Dec 10 20:14:51 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
@@ -920,11 +997,11 @@ Sat May 2 14:44:45 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
|||||||
|
|
||||||
- Update to version 7.14.0
|
- Update to version 7.14.0
|
||||||
IPython 7.14 is a minor release that fix a couple of bugs and prepare
|
IPython 7.14 is a minor release that fix a couple of bugs and prepare
|
||||||
compatibility with new or future versions of some libraries.
|
compatibility with new or future versions of some libraries.
|
||||||
* Fix compatibility with Sphinx 3+
|
* Fix compatibility with Sphinx 3+
|
||||||
gh#ipython/ipython#12235
|
gh#ipython/ipython#12235
|
||||||
* Remove deprecated matplotlib parameter usage, compatibility with
|
* Remove deprecated matplotlib parameter usage, compatibility with
|
||||||
matplotlib3.3+
|
matplotlib3.3+
|
||||||
gh#ipython/ipython#12250
|
gh#ipython/ipython#12250
|
||||||
* set ``.py`` extension when editing current buffer in vi/emacs.
|
* set ``.py`` extension when editing current buffer in vi/emacs.
|
||||||
gh#ipython/ipython#12167
|
gh#ipython/ipython#12167
|
||||||
@@ -933,14 +1010,14 @@ Sat May 2 14:44:45 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
|||||||
* add extra options to the ``Video`` Rich objects
|
* add extra options to the ``Video`` Rich objects
|
||||||
gh#ipython/ipython#12212
|
gh#ipython/ipython#12212
|
||||||
* add pretty-printing to ``SimpleNamespace``
|
* add pretty-printing to ``SimpleNamespace``
|
||||||
gh#ipython/ipython#12230
|
gh#ipython/ipython#12230
|
||||||
- add opensuse-disable-net-test.patch to disable network access
|
- add opensuse-disable-net-test.patch to disable network access
|
||||||
during new test_embed_svg_url
|
during new test_embed_svg_url
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Mar 19 11:38:34 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
Thu Mar 19 11:38:34 UTC 2020 - Benjamin Greiner <code@bnavigator.de>
|
||||||
|
|
||||||
- update dep version of python-prompt_toolkit
|
- update dep version of python-prompt_toolkit
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Mar 3 14:29:15 UTC 2020 - Todd R <toddrme2178@gmail.com>
|
Tue Mar 3 14:29:15 UTC 2020 - Todd R <toddrme2178@gmail.com>
|
||||||
@@ -1194,7 +1271,7 @@ Tue Oct 16 01:17:20 UTC 2018 - Todd R <toddrme2178@gmail.com>
|
|||||||
* The %%script (as well as %%bash, %%ruby, ... ) cell magics
|
* The %%script (as well as %%bash, %%ruby, ... ) cell magics
|
||||||
now raise by default if the return code of the given code is
|
now raise by default if the return code of the given code is
|
||||||
non-zero (thus halting execution of further cells in a
|
non-zero (thus halting execution of further cells in a
|
||||||
notebook). The behavior can be disable by passing the
|
notebook). The behavior can be disable by passing the
|
||||||
--no-raise-error flag.
|
--no-raise-error flag.
|
||||||
- Add fix_test_history.patch
|
- Add fix_test_history.patch
|
||||||
Fixes failure in test_history.py for sqlite >= 3.25
|
Fixes failure in test_history.py for sqlite >= 3.25
|
||||||
@@ -1225,7 +1302,7 @@ Fri May 18 18:51:12 UTC 2018 - toddrme2178@gmail.com
|
|||||||
|
|
||||||
- Update to version 6.4.0
|
- Update to version 6.4.0
|
||||||
* Fix display object not emitting metadata :ghpull:`11106`
|
* Fix display object not emitting metadata :ghpull:`11106`
|
||||||
* Comments failing Jedi test :ghpull:`11110`
|
* Comments failing Jedi test :ghpull:`11110`
|
||||||
- Remove upstream-included disable_jedi_in_tests.patch
|
- Remove upstream-included disable_jedi_in_tests.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
@@ -1333,9 +1410,9 @@ Wed Sep 6 21:33:36 UTC 2017 - toddrme2178@gmail.com
|
|||||||
* ``display()`` can now return a display id to update display areas.
|
* ``display()`` can now return a display id to update display areas.
|
||||||
- Update to version 6.0.0
|
- Update to version 6.0.0
|
||||||
* A major improvement in the completion machinery which is now capable of
|
* A major improvement in the completion machinery which is now capable of
|
||||||
completing non-executed code.
|
completing non-executed code.
|
||||||
* stop compatibility with Python 2, which is still supported on the bugfix
|
* stop compatibility with Python 2, which is still supported on the bugfix
|
||||||
only 5.x branch.
|
only 5.x branch.
|
||||||
* Configurable TerminalInteractiveShell, readline interface
|
* Configurable TerminalInteractiveShell, readline interface
|
||||||
* The :cellmagic:`capture` magic can now capture the result of a cell (from
|
* The :cellmagic:`capture` magic can now capture the result of a cell (from
|
||||||
an expression on the last line), as well as printed and displayed output.
|
an expression on the last line), as well as printed and displayed output.
|
||||||
@@ -1360,10 +1437,10 @@ Fri Aug 11 13:34:20 UTC 2017 - toddrme2178@gmail.com
|
|||||||
* ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
|
* ``_mp_main_`` is not reloaded which fixes issues with multiprocessing.
|
||||||
:ghpull:`10523`
|
:ghpull:`10523`
|
||||||
* Use user colorscheme in Pdb as well :ghpull:`10479`
|
* Use user colorscheme in Pdb as well :ghpull:`10479`
|
||||||
* Faster shutdown. :ghpull:`10408`
|
* Faster shutdown. :ghpull:`10408`
|
||||||
* Fix a crash in reverse search. :ghpull:`10371`
|
* Fix a crash in reverse search. :ghpull:`10371`
|
||||||
* added ``Completer.backslash_combining_completions`` boolean option to
|
* added ``Completer.backslash_combining_completions`` boolean option to
|
||||||
deactivate backslash-tab completion that may conflict with windows path.
|
deactivate backslash-tab completion that may conflict with windows path.
|
||||||
- Fix building on platforms without icoutils
|
- Fix building on platforms without icoutils
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-ipython
|
# spec file for package python-ipython
|
||||||
#
|
#
|
||||||
# Copyright (c) 2024 SUSE LLC
|
# Copyright (c) 2025 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -33,13 +33,15 @@
|
|||||||
%bcond_with localtest
|
%bcond_with localtest
|
||||||
%{?sle15_python_module_pythons}
|
%{?sle15_python_module_pythons}
|
||||||
Name: python-ipython%{psuffix}
|
Name: python-ipython%{psuffix}
|
||||||
Version: 8.27.0
|
Version: 8.37.0
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Rich architecture for interactive computing with Python
|
Summary: Rich architecture for interactive computing with Python
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
URL: https://github.com/ipython/ipython
|
URL: https://github.com/ipython/ipython
|
||||||
Source: https://files.pythonhosted.org/packages/source/i/ipython/ipython-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/i/ipython/ipython-%{version}.tar.gz
|
||||||
Source1: https://raw.githubusercontent.com/jupyter/qtconsole/4.0.0/qtconsole/resources/icon/JupyterConsole.svg
|
Source1: https://raw.githubusercontent.com/jupyter/qtconsole/4.0.0/qtconsole/resources/icon/JupyterConsole.svg
|
||||||
|
# PATCH-FIX-UPSTREAM https://github.com/ipython/ipython/commit/9dc9414beec774e0857d655299231fb8e311d9b8 Fix a number of pytest warnings
|
||||||
|
Patch0: pytest-warnings.patch
|
||||||
BuildRequires: %{python_module base >= 3.10}
|
BuildRequires: %{python_module base >= 3.10}
|
||||||
BuildRequires: %{python_module pip}
|
BuildRequires: %{python_module pip}
|
||||||
BuildRequires: %{python_module setuptools >= 61.2}
|
BuildRequires: %{python_module setuptools >= 61.2}
|
||||||
@@ -100,7 +102,6 @@ BuildRequires: %{python_module nbformat}
|
|||||||
%if !%{with test}
|
%if !%{with test}
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
BuildRequires: hicolor-icon-theme
|
BuildRequires: hicolor-icon-theme
|
||||||
BuildRequires: update-desktop-files
|
|
||||||
%if %{with libalternatives}
|
%if %{with libalternatives}
|
||||||
BuildRequires: alts
|
BuildRequires: alts
|
||||||
Requires: alts
|
Requires: alts
|
||||||
@@ -184,10 +185,17 @@ for x in 16 24 32 48 256 ; do
|
|||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Modify and install .desktop file
|
%{python_expand # Modify and install .desktop file
|
||||||
%{python_expand cp examples/IPython\ Kernel/ipython.desktop ipython-%{$python_bin_suffix}.desktop
|
f=ipython-%{$python_bin_suffix}.desktop
|
||||||
desktop-file-edit --set-comment="Enhanced interactive Python %{$python_bin_suffix} shell" --set-name="ipython %{$python_bin_suffix}" --set-generic-name="IPython %{$python_bin_suffix}" --set-key="Exec" --set-value="ipython-%{$python_bin_suffix}" --set-icon="IPython-%{$python_bin_suffix}" ipython-%{$python_bin_suffix}.desktop
|
cp examples/IPython\ Kernel/ipython.desktop $f
|
||||||
%suse_update_desktop_file -i -r ipython-%{$python_bin_suffix} "System;TerminalEmulator;"
|
desktop-file-edit \
|
||||||
|
--set-comment="Enhanced interactive Python %{$python_bin_suffix} shell" \
|
||||||
|
--set-name="ipython %{$python_bin_suffix}" \
|
||||||
|
--set-generic-name="IPython %{$python_bin_suffix}" \
|
||||||
|
--set-key="Exec" --set-value="ipython-%{$python_bin_suffix}" \
|
||||||
|
--set-icon="IPython-%{$python_bin_suffix}" \
|
||||||
|
$f
|
||||||
|
desktop-file-install $f
|
||||||
}
|
}
|
||||||
|
|
||||||
%{python_expand # These can be run stand-alone, so make them executable rather than removing shebang
|
%{python_expand # These can be run stand-alone, so make them executable rather than removing shebang
|
||||||
|
Reference in New Issue
Block a user