##
##  stunnel.spec -- OpenPKG RPM Package Specification
##  Copyright (c) 2000-2025 OpenPKG Project <http://openpkg.org/>
##
##  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:         stunnel
Summary:      SSL/TLS Tunneling Tool
URL:          http://www.stunnel.org/
Vendor:       Michal Trojnara
Packager:     OpenPKG Project
Distribution: OpenPKG Community
Class:        BASE
Group:        SSL
License:      GPL
Version:      5.75
Release:      20250526

#   package options
%option       with_fsl  yes
%option       with_wrap no

#   list of sources
Source0:      https://www.stunnel.org/downloads/stunnel-%{version}.tar.gz
Source1:      stunnel.pem
Source2:      rc.stunnel
Source3:      fsl.stunnel
Source4:      stunnel.conf
Patch0:       stunnel.patch

#   build information
BuildPreReq:  OpenPKG, openpkg >= 20160101, gcc, make
PreReq:       OpenPKG, openpkg >= 20160101
BuildPreReq:  openssl
PreReq:       openssl
%if "%{with_fsl}" == "yes"
BuildPreReq:  fsl
PreReq:       fsl
%endif
%if "%{with_wrap}" == "yes"
BuildPreReq:  tcpwrappers
PreReq:       tcpwrappers
%endif

%description
    The Stunnel program is designed to work as SSL encryption wrapper
    between remote client and local (inetd-startable) or remote server.
    The concept is that having non-SSL aware daemons running on your
    system you can easily setup them to communicate with clients over
    secure SSL channel. Stunnel can be used to add SSL functionality
    to commonly used inetd daemons like POP-2, POP-3 and IMAP servers
    without any changes in the programs' code.

%track
    prog stunnel = {
        version   = %{version}
        url       = https://www.stunnel.org/downloads.html
        regex     = stunnel-(\d+\.\d+(\.\d+)?)\.tar\.gz
    }

%prep
    %setup -q
    %patch -p0

%build
    CC="%{l_cc}" \
    CFLAGS="%{l_cflags -O}" \
    LDFLAGS="%{l_fsl_ldflags}" \
    LIBS="%{l_fsl_libs}" \
    ./configure \
        --prefix=%{l_prefix} \
        --bindir=%{l_prefix}/sbin \
        --mandir=%{l_prefix}/man \
        --with-ssl=%{l_prefix} \
        --with-threads=fork \
        --disable-ipv6 \
%if "%{with_wrap}" != "yes"
        --disable-libwrap \
%endif
        --disable-shared
    %{l_make} %{l_mflags -O}

%install
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/var/stunnel
    %{l_shtool} subst \
        -e 's;uname | grep SunOS;false;g' \
        tools/Makefile
    %{l_make} %{l_mflags} install \
        AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" </dev/null
    rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib
    rm -rf $RPM_BUILD_ROOT%{l_prefix}/var/lib
    rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc
    rm -f $RPM_BUILD_ROOT%{l_prefix}/man/man8/stunnel.*.8
    rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/stunnel/stunnel.conf-sample
    %{l_shtool} install -c -m 644 %{l_value -s -a} \
        %{SOURCE stunnel.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/stunnel/
    %{l_shtool} install -c -m 600 \
        %{SOURCE stunnel.pem} $RPM_BUILD_ROOT%{l_prefix}/etc/stunnel/
    strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true

    #   install run-command script
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
    %{l_shtool} install -c -m 755 %{l_value -s -a} \
        %{SOURCE rc.stunnel} \
        $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/

    #   install OSSP fsl configuration
    %{l_shtool} mkdir -f -p -m 755 \
        $RPM_BUILD_ROOT%{l_prefix}/etc/fsl
    %{l_shtool} install -c -m 644 %{l_value -s -a} \
        %{SOURCE fsl.stunnel} \
        $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/

    #   determine installation files
    %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
        %{l_files_std} \
        '%config %{l_prefix}/etc/stunnel/stunnel.*' \
        '%config %{l_prefix}/etc/fsl/fsl.stunnel' \
        '%attr(755,%{l_nusr},%{l_ngrp}) %{l_prefix}/var/stunnel'

%files -f files

%clean

