File lasso.spec of Package lasso

#
# spec file for package lasso
#
# Copyright (c) 2020 SUSE LLC
# Copyright (c) 2019 Red Hat, Inc., Raleigh, North Carolina, United States of America.
# Copyright (c) 2020 Neal Gompa <ngompa13@gmail.com>.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%global with_wsf 0
# None of these extra bindings are working or wanted right now...
%global configure_args --disable-java --disable-perl --enable-php5=no
%global somajor 3
%global libname lib%{name}%{somajor}
%global devname lib%{name}-devel
%if %{with_wsf}
  %global configure_args %{configure_args} --enable-wsf --with-sasl2=%{_prefix}/sasl2
%endif
Name:           lasso
Version:        2.6.1
Release:        0
Summary:        Liberty Alliance Single Sign On
License:        GPL-2.0-or-later
Group:          Development/Libraries/C and C++
URL:            https://lasso.entrouvert.org/
Source:         http://dev.entrouvert.org/lasso/lasso-%{version}.tar.gz
Patch0:         fix-CVE-2021-28091.patch
Patch1:         fix-bsc-1205335.patch
# Backports from upstream (from Fedora)
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  check-devel
BuildRequires:  glib2-devel
BuildRequires:  gtk-doc
BuildRequires:  libtool
BuildRequires:  libtool-ltdl-devel
BuildRequires:  libxml2-devel
BuildRequires:  openssl-devel
# The Lasso build system requires python, especially the binding generators
BuildRequires:  python3
BuildRequires:  python3-devel
BuildRequires:  python3-lxml
BuildRequires:  python3-six
BuildRequires:  swig
BuildRequires:  xmlsec1-devel >= 1.2.25
BuildRequires:  xmlsec1-openssl-devel >= 1.2.25
BuildRequires:  zlib-devel
%if %{with_wsf}
BuildRequires:  cyrus-sasl-devel
%endif

%description
Lasso is a library that implements the Liberty Alliance Single Sign On
standards, including the SAML and SAML2 specifications. It allows to handle
the whole life-cycle of SAML based Federations, and provides bindings
for multiple languages.

%package -n %{libname}
Summary:        Lasso runtime libraries
Group:          System/Libraries
# libraries are autodetected, the xmlsec1 binary seems not needed.
#Requires:      xmlsec1 >= 1.2.25-4


%description -n %{libname}
This package contains the runtime libraries for lasso (Liberty Alliance Single Sign On).

%package -n %{devname}
Summary:        Lasso development headers and documentation
Group:          Development/Libraries/C and C++
Requires:       %{libname}%{?_isa} = %{version}-%{release}

%description -n %{devname}
This package contains the header files, static libraries and development
documentation for Lasso.

%package -n python3-%{name}
Summary:        Liberty Alliance Single Sign On (lasso) Python bindings
Group:          Development/Libraries/Python
Requires:       %{libname}%{?_isa} = %{version}-%{release}
Requires:       python3

%description -n python3-%{name}
Python language bindings for the lasso (Liberty Alliance Single Sign On)
library.

%prep
%autosetup -p1

# Remove any python script shebang lines (unless they refer to python3)
sed -i -E -e '/^#![[:blank:]]*(\/usr\/bin\/env[[:blank:]]+python[^3]?\>)|(\/usr\/bin\/python[^3]?\>)/d' \
  `grep -r -l -E '^#![[:blank:]]*(%{_bindir}/python[^3]?)|(%{_bindir}/env[[:blank:]]+python[^3]?)' *`

%build
%if 0%{?suse_version} && 0%{?suse_version} < 1550
# Try to fix build on Leap 15.1...
export LC_ALL="C.UTF-8"
export LANG="C.UTF-8"
%endif

./autogen.sh

%configure %{configure_args} --with-python=python3
make %{?_smp_mflags} CFLAGS="%{optflags}"

%check
make %{?_smp_mflags} check

%install
#install -m 755 -d %%{buildroot}%%{_datadir}/gtk-doc/html

make install exec_prefix=%{_prefix} DESTDIR=%{buildroot}
find %{buildroot} -type f -regex ".*\(.la\|.a\)" -delete -print

# Remove bogus doc files
rm -fr %{buildroot}%{_datadir}/doc/%{name}

%post -n %{libname} -p /sbin/ldconfig
%postun -n %{libname} -p /sbin/ldconfig

%files -n %{libname}
%doc AUTHORS NEWS README
%license COPYING
%{_libdir}/liblasso.so.%{somajor}*
%{_libdir}/liblasso.so.%{somajor}.*

%files -n %{devname}
%{_libdir}/liblasso.so
%{_libdir}/pkgconfig/lasso.pc
%{_includedir}/%{name}

%files -n python3-%{name}
%{python3_sitearch}/lasso.py*
%{python3_sitearch}/_lasso.so

%changelog
openSUSE Build Service is sponsored by