Blob Blame History Raw
Summary:                A friendly interactive shell
Name:                   fish

Version:                1.23.0
Release:                2%{?dist}

License:                GPL
Group:                  System Environment/Shells
URL:                    http://fishshell.org/

Source0:                http://roo.no-ip.org/%{name}/files/%{version}/%{name}-%{version}.tar.bz2

BuildRoot:              %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:          ncurses-devel gettext groff doxygen
BuildRequires:          autoconf


# Locate correct build time-dependencies for providing X headers
%if 0%{?fedora} >= 5

# Modern Fedora version, has modular X.org
BuildRequires:          xorg-x11-proto-devel libX11-devel libXt-devel libXext-devel

%endif

%if 0%{?fedora} < 5
%if 0%{?fedora} >= 3

# Semi-old Fedora version, has non-modular X.org
BuildRequires:          xorg-x11-devel

%endif
%endif

%if 0%{?fedora}
%if 0%{?fedora} < 3

# Ancient Fedora version, has XFree86
BuildRequires:          XFree86-devel

%endif
%else

# The %fedora variable has not been correctly defined, or this is is
# not a Fedora system, try guessing BuildRequires by looking at the
# directory structure
%define xinclude /usr%(if [ -d /usr/X11R6/include ]; then echo /X11R6; fi)/include
BuildRequires:          %{xinclude}/X11/StringDefs.h, %{xinclude}/X11/Xlib.h
BuildRequires:          %{xinclude}/X11/Intrinsic.h,  %{xinclude}/X11/Xatom.h

%endif


%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


%build
# The docdir argument is to make the name of the cosumantation
# directory 'fish-VERSION', instead of the default, which is simply
# 'fish'.
%configure docdir=%_datadir/doc/%{name}-%{version}
make %{?_smp_mflags}




%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR="$RPM_BUILD_ROOT" 

# Find translation files
%find_lang %{name}.\*

# In case...
mv $RPM_BUILD_ROOT%_datadir/fish/man/*.1 $RPM_BUILD_ROOT%_mandir/man1/


%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
%doc %_datadir/doc/%{name}-%{version}

# man files
%_mandir/man1/*.1*
%exclude %_mandir/man1/count*
%exclude %_mandir/man1/alias*
%exclude %_mandir/man1/bg*
%exclude %_mandir/man1/bind*
%exclude %_mandir/man1/break*
%exclude %_mandir/man1/builtin*
%exclude %_mandir/man1/cd*
%exclude %_mandir/man1/command*
%exclude %_mandir/man1/complete*
%exclude %_mandir/man1/continue*
%exclude %_mandir/man1/dirs*
%exclude %_mandir/man1/eval*
%exclude %_mandir/man1/exec*
%exclude %_mandir/man1/exit*
%exclude %_mandir/man1/fg*
%exclude %_mandir/man1/help*
%exclude %_mandir/man1/jobs*
%exclude %_mandir/man1/popd*
%exclude %_mandir/man1/pushd*
%exclude %_mandir/man1/read*
%exclude %_mandir/man1/return*
%exclude %_mandir/man1/set*
%exclude %_mandir/man1/source*
%exclude %_mandir/man1/trap*
%exclude %_mandir/man1/type*
%exclude %_mandir/man1/ulimit*
%exclude %_mandir/man1/umask*

# The program binaries
%attr(0755,root,root) %_bindir/fish
%attr(0755,root,root) %_bindir/fishd
%attr(0755,root,root) %_bindir/fish_pager
%attr(0755,root,root) %_bindir/fish_indent
%attr(0755,root,root) %_bindir/xsel
%attr(0755,root,root) %_bindir/set_color
%attr(0755,root,root) %_bindir/mimedb

# Configuration files
%config %_sysconfdir/fish
#%config %_sysconfdir/fish_inputrc
#%dir %_sysconfdir/fish.d
#%config %_sysconfdir/fish.d/fish_*.fish

# Non-configuration initialization files
%dir %_datadir/fish
%_datadir/fish/config*.fish

# Program specific tab-completions
%dir %_datadir/fish/completions
%_datadir/fish/completions/*.fish

# Dynamically loaded shellscript functions
%dir %_datadir/fish/functions
%_datadir/fish/functions/*.fish


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

* Fri Jun 06 2008 Oliver Falk <oliver@linux-kernel.at>	- 1.23.0-1.1
- Rebuild

* 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

* Fri 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