File lasso.spec of Package lasso

#
# spec file for package lasso
#
# Copyright (c) 2025 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.8.2
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:         https://dev.entrouvert.org/lasso/lasso-%{version}.tar.gz
# PATCH-FIX-OPENSUSE lasso-automake-1.17-support.patch -- Fix builds with automake 1.17
Patch1:         lasso-automake-1.17-support.patch
# PATCH-FIX-UPSTREAM lasso-fix-implicit-declarations.patch -- Fix implicit declarations
Patch2:         lasso-fix-implicit-declarations.patch
# PATCH-FIX-UPSTREAM lasso-libxml2-2.12-support.patch -- Fix builds with libxml2 2.12
Patch3:         lasso-libxml2-2.12-support.patch
# PATCH-FIX-UPSTREAM lasso-2.8.2-python_313.patch -- https://dev.entrouvert.org/issues/92106
Patch4:         lasso-2.8.2-python_313.patch
# PATCH-FIX-OPENSUSE fix_shebangs.patch mcepl@suse.com
# fix incorrect shebangs to be #!/usr/bin/python3
Patch5:         fix_shebangs.patch
# PATCH-FIX-UPSTREAM remove-six.patch mcepl@suse.com
# from https://git.entrouvert.org/entrouvert/lasso/pulls/19
# remove dependency on the Python six module
Patch6:         remove-six.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  check-devel
BuildRequires:  gtk-doc
BuildRequires:  libtool
BuildRequires:  libtool-ltdl-devel
BuildRequires:  pkgconfig(glib-2.0)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(openssl)
# The Lasso build system requires python, especially the binding generators
BuildRequires:  python3
BuildRequires:  python3-devel
BuildRequires:  python3-lxml
BuildRequires:  python3-setuptools
BuildRequires:  python3-six
BuildRequires:  swig
BuildRequires:  pkgconfig(xmlsec1) >= 1.2.25
BuildRequires:  pkgconfig(xmlsec1-openssl) >= 1.2.25
BuildRequires:  pkgconfig(zlib)
%if %{with_wsf}
BuildRequires:  pkgconfig(cyrus-sasl)
%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

%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

%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_build CFLAGS="%{optflags}"

%check
%make_build 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