Summary: Friendly interactive shell Name: fish Version: @RPMVERSION@ Release: 0.%{?dist} License: GPL-2.0 Group: System/Shells URL: https://fishshell.com/ Source0: %{name}_@VERSION@.orig.tar.gz BuildRequires: ncurses-devel gettext gcc-c++ autoconf %if 0%{?rhel_version} && 0%{?rhel_version} && 0%{?rhel_version} < 800 BuildRequires: cmake3 %else BuildRequires: cmake %endif %if 0%{?opensuse_bs} && 0%{?rhel_version} && 0%{?rhel_version} < 700 BuildRequires: gcc48 gcc48-c++ %endif %if 0%{?is_opensuse} || 0%{?fedora} BuildRequires: pcre2-devel %endif BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: bc Requires: python Requires: man %description fish is a shell geared towards interactive use. Its features are focused on user friendliness and discoverability. The language syntax is simple but incompatible with other shell languages. %prep %setup -q -n %{name}-@VERSION@ %build %if 0%{?opensuse_bs} && 0%{?rhel_version} && 0%{?rhel_version} < 700 export CC=gcc48 export CXX=g++48 EXTRA_CMAKE_FLAGS="-DCURSES_EXTRA_LIBRARY=tinfo" %if 0%{?rhel} < 6 # i686 required for atomic instructions; default is i386 export CXXFLAGS="$CXXFLAGS -march=i686" %endif %endif # CMake macros on OpenSUSE and Fedora define the wrong sysconfdir arguments %if 0%{?rhel_version} && 0%{?rhel_version} < 800 %cmake3 -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} $EXTRA_CMAKE_FLAGS %else %cmake -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} $EXTRA_CMAKE_FLAGS %endif %if 0%{?make_jobs:1} %make_jobs %else make %{?_smp_mflags} %endif %install %if 0%{?cmake_install:1} %cmake_install %else %make_install %endif %find_lang %{name} %clean rm -rf $RPM_BUILD_ROOT %post # Add fish to the list of allowed shells in /etc/shells if ! grep %{_bindir}/fish %{_sysconfdir}/shells >/dev/null; then echo %{_bindir}/fish >>%{_sysconfdir}/shells fi %postun # Remove fish from the list of allowed shells in /etc/shells if [ "$1" = 0 ]; then grep -v %{_bindir}/fish %{_sysconfdir}/shells >%{_sysconfdir}/fish.tmp mv %{_sysconfdir}/fish.tmp %{_sysconfdir}/shells fi %files -f %{name}.lang %defattr(-,root,root,-) # The documentation directory %docdir %{_datadir}/doc/fish/ %{_datadir}/doc/fish/ # man files %{_mandir}/man1/* %docdir %{_datadir}/fish/man/man1/ %{_datadir}/fish/man/man1/ # The program binaries %attr(0755,root,root) %{_bindir}/* # Configuration files %dir %{_sysconfdir}/fish/ %config(noreplace) %{_sysconfdir}/fish/config.fish # Support files %{_datadir}/fish/ # pkgconfig %{_datadir}/pkgconfig/fish.pc