##
##  ncurses.spec -- OpenPKG RPM Specification
##  Copyright (c) 2000-2003 Cable & Wireless Deutschland GmbH
##  Copyright (c) 2000-2003 The OpenPKG Project <http://www.openpkg.org/>
##  Copyright (c) 2000-2003 Ralf S. Engelschall <rse@engelschall.com>
##
##  Permission to use, copy, modify, and distribute this software for
##  any purpose with or without fee is hereby granted, provided that
##  the above copyright notice and this permission notice appear in all
##  copies.
##
##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
##  SUCH DAMAGE.
##

%define       V_base    5.3
%define       V_patch1  20021019
%define       V_patch2  20021026
%define       V_patch3  20021102
%define       V_patch4  20021109
%define       V_patch5  20021116
%define       V_patch6  20021123
%define       V_patch7  20021206
%define       V_patch8  20021214
%define       V_patch9  20021221
%define       V_patch10 20021228
%define       V_patch11 20021231
%define       V_patchL  %{V_patch11}
%define       V_patches 11

#   package information
Name:         ncurses
Summary:      Terminal Capability and Display Library
URL:          http://www.gnu.org/software/ncurses/
Vendor:       Free Software Foundation
Packager:     The OpenPKG Project
Distribution: OpenPKG [BASE]
Group:        Terminal
License:      GPL
Version:      %{V_base}.%{V_patchL}
Release:      20030103

#   list of sources
Source0:      ftp://invisible-island.net/ncurses/ncurses-%{V_base}.tar.gz
Patch1:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch1}.patch.gz
Patch2:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch2}.patch.gz
Patch3:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch3}.patch.gz
Patch4:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch4}.patch.gz
Patch5:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch5}.patch.gz
Patch6:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch6}.patch.gz
Patch7:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch7}.patch.gz
Patch8:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch8}.patch.gz
Patch9:       ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch9}.patch.gz
Patch10:      ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch10}.patch.gz
Patch11:      ftp://invisible-island.net/ncurses/%{V_base}/ncurses-%{V_base}-%{V_patch11}.patch.gz

#   build information
Prefix:       %{l_prefix}
BuildRoot:    %{l_buildroot}
BuildPreReq:  OpenPKG, openpkg >= 20020206
PreReq:       OpenPKG, openpkg >= 20020206
AutoReq:      no
AutoReqProv:  no

%description
    NCurses is the GNU re-implementation of the popular Curses
    terminal screen handling library.

%prep
    %setup -q -n ncurses-%{V_base}
    for patch in \
        %{expand:%(i=1; while [ $i -le %{V_patches} ]; do shtool echo -n " %%{PATCH$i}"; i=`expr $i + 1`; done)}
    do
        %{l_gzip} -d -c $patch | %{l_patch} -p1 || true
    done

%build
    CC="%{l_cc}" \
    CFLAGS="%{l_cflags}" \
    ./configure \
        --prefix=%{l_prefix} \
        --includedir=%{l_prefix}/include/ncurses \
        --datadir=%{l_prefix}/share/ncurses \
        --enable-hashmap \
        --enable-safe-sprintf \
        --without-debug \
        --with-manpage-format=normal \
        --disable-getcap-cache \
        --without-cxx-binding \
        --without-cxx \
        --enable-termcap \
        --disable-overwrite
    %{l_make} %{l_mflags}

%install
    rm -rf $RPM_BUILD_ROOT
    %{l_shtool} subst -e "s;ln -s;ln;g" man/edit_man.sh
    %{l_make} %{l_mflags} install DESTDIR=$RPM_BUILD_ROOT
    ( cd $RPM_BUILD_ROOT%{l_prefix}/man
      for dir in man1 man3; do
          cd $dir
          for file in *.[13][a-z]*; do
              if [ ".$file" = ".*.[13][a-z]*" ]; then
                  break
              fi
              eval `echo "$file" | sed -e 's;^\(.*\.[13]\)[a-z]*$;base=\1;'`
              mv $file ncurses_$base
          done
          cd ..
      done
    )
    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* 2> /dev/null || true
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std}

%files -f files

%clean
    rm -rf $RPM_BUILD_ROOT

