SHA256
1
0
forked from pool/fish
fish/fish.spec
Simon Lees d8bac6e08c Accepting request 962059 from home:pgajdos
- version update to 3.4.0
  * fish’s command substitution syntax has been extended: $(cmd) now
    has the same meaning as (cmd) but it can be used inside double
    quotes, to prevent line splitting of the results (#159)
  * Complementing the prompt command in 3.3.0, fish_config gained
    a theme subcommand to show and pick from the sample themes
    (meaning color schemes) directly in the terminal, instead of
    having to open a Web browser.
  * set and read learned a new option, --function, to set a variable
    in the function’s top scope. This should be a more familiar way
    of scoping variables and avoids issues with --local, which is
    actually block-scoped (#565, #8145)
  * string pad now excludes escape sequences like colors that fish
    knows about, and a new --visible flag to string length makes
    it use that kind of visible width. This is useful to get the
    number of terminal cells an already colored string would occupy,
    like in a prompt. (#8182, #7784, #4012)
  * Performance improvements to globbing, especially on systems
    using glibc. In some cases (large directories with files with
    many numbers in the names) this almost halves the time taken
    to expand the glob.
  * Autosuggestions can now be turned off by setting
    $fish_autosuggestion_enabled to 0, and (almost) all highlighting
    can be turned off by choosing the new “None” theme. The exception
    is necessary colors, like those which distinguish autosuggestions
    from the actual command line. (#8376)
  * The fish_git_prompt function, which is included in the default
    prompts, now overrides git to avoid running commands set by
    per-repository configuration. This avoids a potential security
    issue in some circumstances, and has been assigned CVE-2022-20001

OBS-URL: https://build.opensuse.org/request/show/962059
OBS-URL: https://build.opensuse.org/package/show/shells/fish?expand=0&rev=68
2022-03-16 11:07:42 +00:00

104 lines
3.0 KiB
RPMSpec

#
# spec file for package fish
#
# Copyright (c) 2022 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: fish
Version: 3.4.0
Release: 0
Summary: The "friendly interactive shell"
License: GPL-2.0-only
Group: System/Shells
URL: https://fishshell.com/
Source: https://github.com/fish-shell/fish-shell/releases/download/%{version}/fish-%{version}.tar.xz
Source1: https://github.com/fish-shell/fish-shell/releases/download/%{version}/fish-%{version}.tar.xz.asc
BuildRequires: cmake
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: gettext
BuildRequires: groff
BuildRequires: ncurses-devel
BuildRequires: pcre2-devel >= 10.21
BuildRequires: pkgconfig
BuildRequires: update-desktop-files
Requires: bc
Requires: man
Recommends: terminfo
%description
fish is a command line shell.
It is geared towards interactive use and its features are focused on user
friendlieness and discoverability. The language syntax is simple but
incompatible with other shell languages.
%package devel
Summary: Devel files for the fish shell
Group: Development/Libraries/C and C++
%description devel
This package contains development files for the fish shell.
%prep
%setup -q
# fix E: env-script-interpreter
find share/tools -type f -name *.py -exec sed -i -r '1s|^#!%{_bindir}/env |#!%{_bindir}/|' {} +
%build
%cmake \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir}
%install
%cmake_install
%find_lang %{name}
rm %{buildroot}/%{_datadir}/doc/fish/.buildinfo
%suse_update_desktop_file -G "Command-line interpreter" fish TerminalEmulator
%post
# Add fish to the list of allowed shells in /etc/shells
if ! grep -q '^%{_bindir}/%{name}$' %{_sysconfdir}/shells; then
echo %{_bindir}/%{name} >>%{_sysconfdir}/shells
fi
%postun
# Remove fish from the list of allowed shells in /etc/shells
if [ "$1" = 0 ]; then
grep -v '^%{_bindir}/%{name}$' %{_sysconfdir}/shells >%{_sysconfdir}/%{name}.tmp
mv %{_sysconfdir}/%{name}.tmp %{_sysconfdir}/shells
fi
%files -f %{name}.lang
%dir %{_sysconfdir}/fish
%config(noreplace) %{_sysconfdir}/%{name}/*
%{_bindir}/fish
%{_bindir}/fish_indent
%{_bindir}/fish_key_reader
%{_datadir}/doc/%{name}
%{_datadir}/%{name}
%{_mandir}/man1/*.1%{?ext_man}
%{_datadir}/applications/fish.desktop
%{_datadir}/pixmaps/fish.png
%files devel
%{_datadir}/pkgconfig/fish.pc
%changelog