Blob Blame History Raw
Name:                   fish
Version:                2.2.0
Release:                7%{?dist}
Summary:                A friendly interactive shell

Group:                  System Environment/Shells
License:                GPLv2
URL:                    http://fishshell.com/
Source0:                http://fishshell.com/files/%{version}/fish-%{version}.tar.gz

%if 0%{?rhel}
Patch0:                 fish-use-usrbinpython34.patch
%else
Patch0:                 fish-use-usrbinpython3.patch
%endif

# Pull request #2393, hopefully fixing #2392 / rhbz #1263052
Patch1:                 pr-2393-1.patch
Patch2:                 pr-2393-2.patch

%if 0%{?rhel}
BuildRequires:          python34-devel
%global __python %{__python34}
%else
BuildRequires:          python3-devel
%global __python %{__python3}
%endif

BuildRequires:          ncurses-devel gettext groff doxygen

%description
fish is a fully-equipped command line shell (like bash or zsh) that is
smart and user-friendly. fish supports powerful features like syntax
highlighting, autosuggestions, and tab completions that just work, with
nothing to learn or configure.


%prep
%setup -q
%patch0 -p1
%patch1 -p2
%patch2 -p2

# This is unused.  If we fiddle with Python versions, its presence will
# be confusing.
rm create_wajig_completions.py


%build
%if 0%{?rhel}
%configure --docdir=%{_docdir}/%{name}
%else
%configure --docdir=%{_pkgdocdir}
%endif
make %{?_smp_mflags} all fish_tests


%install
%make_install

# Fish has magical manpages (visible from inside fish) that live in
# /usr/share/fish/man/man1.  Compress them (rpm won't do it automatically).
gzip %{buildroot}%{_datadir}/fish/man/man1/*.1

%find_lang %{name}

# Fish has what appears to be a useless pkgconfig file
rm %{buildroot}/usr/share/pkgconfig/fish.pc

# Install docs from tarball root
%if 0%{?rhel}
cp README.md %{buildroot}%{_docdir}/%{name}
cp CONTRIBUTING.md %{buildroot}%{_docdir}/%{name}
%else
cp README.md %{buildroot}%{_pkgdocdir}
cp CONTRIBUTING.md %{buildroot}%{_pkgdocdir}
%endif

%check

# fish_tests is somewhat sensitive to the contents of the filesystem.
# If imake is installed, then fish_tests will fail.  This shouldn't be
# a problem under mock, though.
#
# See: https://github.com/fish-shell/fish-shell/issues/2322
./fish_tests


%post
# Add fish to the list of allowed shells in /etc/shells
if [ "$1" = 1 ]; then
  if ! [ -f "%{_sysconfdir}/shells" ] || ! grep -q '^%{_bindir}/fish$' "%{_sysconfdir}/shells"; then
    echo '%{_bindir}/fish' >>"%{_sysconfdir}/shells"
  fi
fi


%postun
# Remove fish from the list of allowed shells in /etc/shells
if [ "$1" = 0 ]; then
  sed -i -e '\#^%{_bindir}/fish$#d' "%{_sysconfdir}/shells"
fi


%files -f %{name}.lang
%{_mandir}/man1/*.1*
%{_bindir}/*
%config(noreplace) %{_sysconfdir}/fish
%{_datadir}/fish/

%if 0%{?rhel}
%{_docdir}/%{name}
%else
%{_pkgdocdir}
%endif

%changelog
* Sat Jan 02 2016 Oliver Haessler <oliver@redhat.com> - 2.2.0-7
- included patch directly into the spec file
- added new patch for using python3.4 on EPEL 7

* Mon Dec 21 2015 Oliver Haessler <oliver@redhat.com> - 2.2.0-6
- added new patch for EL7 build

* Tue Nov 10 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-5
- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5

* Thu Sep 24 2015 Andy Lutomirski <luto@mit.edu> - 2.2.0-4
- Hopefully fix rhbz #1263052 / upstream #2393

* Thu Aug 20 2015 Andy Lutomirski <luto@mit.edu> - 2.2.0-3
- Re-enable tests

* Wed Aug 19 2015 Andy Lutomirski <luto@mit.edu> - 2.2.0-2
- Fix docs on newer RPM

* Wed Aug 19 2015 Andy Lutomirski <luto@mit.edu> - 2.0.0-1
- Bump to 2.2.0
- Drop most Fedora patches
- Disable tests (broken upstream)
- Adapt to new tarball contents
- Drop Python 2 support (we will only target F22 and newer)

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 2.1.1-4
- Rebuilt for GCC 5 C++11 ABI change

* Wed Dec 17 2014 Andy Lutomirski <luto@mit.edu> - 2.1.1-3
- For Fedora 22+, use Python 3

* Sun Dec 14 2014 Andy Lutomirski <luto@mit.edu> - 2.1.1-2
- Backport grep.fish fixes (rhbz #1173924)

* Mon Sep 29 2014 Andy Lutomirski <luto@mit.edu> - 2.1.1-1
- Update to 2.1.1

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Tue Aug 12 2014 Andy Lutomirski <luto@mit.edu> - 2.1.0-11
- Improve fixes for CVE-2014-2905 and CVE-2014-2914

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Mon Apr 28 2014 Andy Lutomirski <luto@mit.edu> - 2.1.0-9
- Fix CVE-2014-2914

* Mon Apr 28 2014 Andy Lutomirski <luto@mit.edu> - 2.1.0-8
- Fix build failure

* Mon Apr 28 2014 Andy Lutomirski <luto@mit.edu> - 2.1.0-7
- Fix CVE-2014-2905
- Fix CVE-2014-2906

* Fri Dec 20 2013 Andy Lutomirski <luto@mit.edu> - 2.1.0-6
- Switch back to Python 2

* Fri Dec 20 2013 Andy Lutomirski <luto@mit.edu> - 2.1.0-5
- Add BR: python3 (for __pycache__)
- Remove --without-xsel: fish dropped it in favor of a runtime check

* Fri Dec 13 2013 Andy Lutomirski <luto@mit.edu> - 2.1.0-4
- Stop looking in /usr/local (#1185 upstream)
- Link with CXXFLAGS (#1062 upstream)
- Use /usr/bin/python3 in scripts intead of /usr/bin/env
- Add fish_tests to the build process
- Split up the %%doc lines

* Wed Dec 11 2013 Andy Lutomirski <luto@mit.edu> - 2.1.0-3
- Use %%make_install instead of make install DESTDIR=...
- Removed rm -rf %%{buildroot}
- Added Requires: python

* Tue Dec 10 2013 Andy Lutomirski <luto@mit.edu> - 2.1.0-2
- Drop 'help' patch
- Misc cleanups

* Mon Dec 9 2013 Andy Lutomirski <luto@mit.edu> - 2.1.0-1
- Update to 2.1.0 and update a lot of the specfile
- Fix bogus changelog dates
- Add a patch to make 'help' work on F19 (upstream #1065)

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.23.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Jul 03 2009 Lorenzo Villani <lvillani@binaryhelix.net> - 1.23.1-3
- Pass --without-xsel to configure, if you want xsel install its package instead
- Fix file list
- Drop unneeded BuildRequires

* Fri Jul 03 2009 Lorenzo Villani <lvillani@binaryhelix.net> - 1.23.1-2
- rebuilt

* Fri Jul 03 2009 Lorenzo Villani <lvillani@binaryhelix.net> - 1.23.1-1
- 1.23.1
- Fix bz #472613

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.23.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Sep 15 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.23.0-6
- cleanups
- define ARG_MAX properly so it compiles

* Mon Jul 07 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.23.0-5
- fix conditional comparison

* Sun Jul 06 2008 Oliver Falk <oliver@linux-kernel.at> - 1.23.0-4
- Rebuild

* Wed May 21 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 1.23.0-3
- fix license tag

* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.23.0-2
- Autorebuild for GCC 4.3

* Mon Jan 14 2008 Oliver Falk <oliver@linux-kernel.at> - 1.23.0-1
- Update to fix #208780
- Remove openfix patch, included upstream now

* Wed Oct 31 2007 Oliver Falk <oliver@linux-kernel.at> - 1.22.3-5
- Fix glibc's open check, by providing mode, instead of working
  around...

* Wed Oct 31 2007 Oliver Falk <oliver@linux-kernel.at> - 1.22.3-4
- Update URL; Fixes bz#359451

* Thu Aug 16 2007 Oliver Falk <oliver@linux-kernel.at> - 1.22.3-3
- Workaround glibc's open check
- Problem reported upstream; Should be fixed there

* Tue Aug 07 2007 Oliver Falk <oliver@linux-kernel.at> - 1.22.3-2
- Fix BR autoconf

* Tue Aug 07 2007 Oliver Falk <oliver@linux-kernel.at> - 1.22.3-1
- Update; Bug #236868
- Add missing doxygen BR

* Fri Aug 4 2006 Axel Liljencrantz<axel@liljencrantz.se> 1.21.10-4
- Add better translation finding code from fedora spec to main spec. Thank you to Michael Schwendt.
- Add missing dependency libXext-devel.
- Remove one nesting level from dependency checking code.

* Tue Aug 1 2006 Axel Liljencrantz<axel@liljencrantz.se> 1.21.10-1
- Improved the dependency check for X headers. Thank you to Michael Schwendt for pointers on how to do this

* Mon Jul 31 2006 Axel Liljencrantz<axel@liljencrantz.se> 1.21.10-1
- Fixed spelling and punctuation as a per patch from Paul Howarth
- Fixed dependencies as per patch from Paul Howarth

* Tue Nov 29 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.17.0-0
- 1.17.0

* Sat Sep 24 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.14.0-0
- 1.14.0

* Mon Sep 12 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.13.4-0
- 1.13.4

* Wed Sep 07 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.13.3-0
- 1.13.3

* Tue Sep 06 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.13.2-0
- 1.13.2

* Tue Aug 30 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.13.1-0
- 1.13.1

* Sun Aug 28 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.13.0-0
- 1.13.0

* Sat Aug 13 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.13.0-0
- Add completions subdirectory

* Thu Jul 28 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.12.1-0
- 1.12.1

* Fri Jul 15 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.12.0-1
- 1.12.0

* Thu Jun 30 2005 Michael Schwendt <mschwendt@users.sf.net> 1.11.1-9
- Set CFLAGS the proper way

* Thu Jun 30 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.11.1-8
- Fix revision number in changelog

* Wed Jun 29 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.11.1-7
- Send post-script output to /dev/null

* Wed Jun 29 2005 Axel Liljencrantz <axel@liljencrantz.se> 1.11.1-6
- Add changelog section to spec file
- Add macros to source tags
- Add smp_mflags to 'make all'
- Fix typo in post install scriptlet test
- Set CFLAGS from spec file