##
##  minicom.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.
##

#   package information
Name:         minicom
Summary:      Serial Line Terminal Program
URL:          http://www.netsonic.fi/~walker/minicom.html
Vendor:       Jukka Lahtinen
Packager:     The OpenPKG Project
Distribution: OpenPKG [BASE]
Group:        Communication
License:      BSD
Version:      2.00.0
Release:      20021111

#   list of sources
Source0:      http://www.netsonic.fi/~walker/minicom-%{version}.src.tar.gz
Source1:      getopt.c
Source2:      getopt.h

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

%description
    Minicom is a terminal program for serial line communications.

%prep
    %setup -q

    #   patch sources to use a stand-alone glibc getopt_long
    #   and make sure the commands are really linked against it.
    cp %{SOURCE getopt.c} lib/getopt_long.c
    cp %{SOURCE getopt.h} lib/
    %{l_shtool} subst \
        -e 's;^\(minicom_LDADD = @INTLLIBS@\);\1 $(LDADD);' \
        -e 's;^\(runscript_LDADD = @INTLLIBS@\);\1 $(LDADD);' \
        src/Makefile.in

%build
    #   determine default serial device
    device="/dev/modem"
    case "%{l_target}" in
        *-freebsd* ) device=/dev/cuaa0 ;;
        *-linux*   ) device=/dev/ttyS0 ;;
        *-solaris* ) device=/dev/cua/a ;;
    esac

    #   configure sources
    CC="%{l_cc}" \
    CFLAGS="%{l_cflags -O}" \
    ./configure \
        --prefix=%{l_prefix} \
        --sysconfdir=%{l_prefix}/etc/minicom \
        --enable-dfl-port=$device \
        --disable-nls

    #   build programs
    %{l_make} %{l_mflags -O}

%install
    rm -rf $RPM_BUILD_ROOT

    #   pre-create installation area
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/bin \
        $RPM_BUILD_ROOT%{l_prefix}/man/man1 \
        $RPM_BUILD_ROOT%{l_prefix}/etc/minicom \
        $RPM_BUILD_ROOT%{l_prefix}/share/minicom

    #   install programs
    %{l_make} %{l_mflags} install \
        prefix=$RPM_BUILD_ROOT%{l_prefix} \
        exec_prefix=$RPM_BUILD_ROOT%{l_prefix}

    #   add configuration files
    %{l_shtool} install -c -m 644 \
        -e 's;^ALL;#ALL;' \
        doc/minicom.users $RPM_BUILD_ROOT%{l_prefix}/etc/minicom/
    echo "root" >>$RPM_BUILD_ROOT%{l_prefix}/etc/minicom/minicom.users
    %{l_shtool} install -c -m 644 \
        doc/minirc.dfl $RPM_BUILD_ROOT%{l_prefix}/etc/minicom/

    #   strip binaries
    strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true

    #   determine installation files
    attr="4755,uucp,%{l_mgrp}"
    case "%{l_target}" in
        *-freebsd* ) attr="6755,uucp,dialer" ;;
        *-linux*   ) attr="2755,%{l_musr},`ls -l /dev/ttyS0 | awk '{print $4;}'`" ;;
        *-solaris* ) attr="4755,uucp,%{l_mgrp}" ;;
    esac
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
        %{l_files_std} \
        "%attr($attr) %{l_prefix}/bin/minicom"

%files -f files

%clean
    rm -rf $RPM_BUILD_ROOT

