%define major 1 %define libname %mklibname xmlsec1_ %{major} %define devname %mklibname xmlsec1 -d %define libname_gcrypt %mklibname xmlsec1-gcrypt %{major} %define libname_gnutls %mklibname xmlsec1-gnutls %{major} %define libname_nss %mklibname xmlsec1-nss %{major} %define libname_openssl %mklibname xmlsec1-openssl %{major} #%global optflags %(echo %{optflags} | sed -e 's/-Wnull-dereference//g' -e 's/-Wformat-overflow=2//g') Summary: Library providing support for "XML Signature" and "XML Encryption" Name: xmlsec1 Version: 1.3.7 Release: 1 License: MIT Group: System/Libraries URL: https://www.aleksey.com/xmlsec Source0: %{url}/download/%{name}-%{version}.tar.gz Patch1: xmlsec1-1.2.16-linkage.patch BuildRequires: libtool-devel BuildRequires: pkgconfig(gnutls) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(nss) >= 3.59 #BuildRequires: pkgconfig(openssl) #BuildRequires: openssl-devel #BuildRequires: openssl #BuildRequires: openssl1.1-devel #BuildRequires: openssl1.1 BuildRequires: pkgconfig(openssl3.3) %description XML Security Library is a C library based on LibXML2 and OpenSSL. The library was created with a goal to support major XML security standards "XML Digital Signature" and "XML Encryption". %files %doc README.md Copyright COPYING docs/*.html docs/images/* docs/api/*.html docs/api/*.png docs/api/images/* %{_bindir}/xmlsec1 %{_mandir}/man1/xmlsec1.1* #---------------------------------------------------------------------------- %package -n %{libname} Summary: Library providing support for "XML Signature" and "XML Encryption" Group: System/Libraries Obsoletes: %{_lib}xmlsec1-1 < 1.2.16 %description -n %{libname} XML Security Library is a C library based on LibXML2 and OpenSSL. The library was created with a goal to support major XML security standards "XML Digital Signature" and "XML Encryption". %files -n %{libname} %{_libdir}/libxmlsec1.so.%{major}* #---------------------------------------------------------------------------- %package -n %{libname_gcrypt} Summary: Gcrypt crypto plugin for XML Security Library Group: System/Libraries %description -n %{libname_gcrypt} gcrypt plugin for XML Security Library provides gcrypt based crypto services for the xmlsec library. %files -n %{libname_gcrypt} %{_libdir}/libxmlsec1-gcrypt.so.%{major}* #---------------------------------------------------------------------------- %package -n %{libname_gnutls} Summary: Gnutls crypto plugin for XML Security Library Group: System/Libraries %description -n %{libname_gnutls} gnutls plugin for XML Security Library provides gnutls based crypto services for the xmlsec library. %files -n %{libname_gnutls} %{_libdir}/libxmlsec1-gnutls.so.%{major}* #---------------------------------------------------------------------------- %package -n %{libname_nss} Summary: NSS crypto plugin for XML Security Library Group: System/Libraries %description -n %{libname_nss} NSS plugin for XML Security Library provides NSS based crypto services for the xmlsec library. %files -n %{libname_nss} %{_libdir}/libxmlsec1-nss.so.%{major}* #---------------------------------------------------------------------------- %package -n %{libname_openssl} Summary: OpenSSL crypto plugin for XML Security Library Group: System/Libraries %description -n %{libname_openssl} OpenSSL plugin for XML Security Library provides OpenSSL based crypto services for the xmlsec library. %files -n %{libname_openssl} %{_libdir}/libxmlsec1-openssl.so.%{major}* #---------------------------------------------------------------------------- %package -n %{devname} Summary: Libraries to develop applications with XML security Group: Development/C Requires: %{libname} = %{EVRD} Requires: %{libname_gcrypt} = %{EVRD} Requires: %{libname_gnutls} = %{EVRD} Requires: %{libname_nss} = %{EVRD} Requires: %{libname_openssl} = %{EVRD} Provides: %{name}-devel = %{EVRD} Obsoletes: %{_lib}xmlsec1-gnutls-devel < 1.2.16 Obsoletes: %{_lib}xmlsec1-nss-devel < 1.2.16 Obsoletes: %{_lib}xmlsec1-openssl-devel < 1.2.16 %description -n %{devname} Libraries you can use to develop applications with XML security standarts. %files -n %{devname} %doc README.md Copyright COPYING %{_bindir}/xmlsec1-config %{_includedir}/xmlsec1 %{_datadir}/aclocal/xmlsec1.m4 %{_libdir}/*.so %{_libdir}/pkgconfig/*.pc %{_libdir}/xmlsec1Conf.sh %{_mandir}/man1/xmlsec1-config.1* #---------------------------------------------------------------------------- %prep %setup -q sed -i 's/-Wnull-dereference//g;s/-Wformat-overflow=2//g' ./configure %build #export OPENSSL_LIBS="-L/opt/openssl1.1/lib" #export OPENSSL_CFLAGS="-L/opt/openssl1.1/lib" #export LIBS="/opt/openssl1.1/lib/ $LIBS" export LD_LIBRARY_PATH=/opt/openssl3.3/lib:${LD_LIBRARY_PATH} %configure \ --disable-static \ --enable-gost \ --enable-gost2012 \ --with-gnutls \ --enable-openssl3-engines \ --with-openssl=/opt/openssl1.1 \ LIBS="${LIBS} -L/opt/openssl1.1/lib" %make_build %install %make_install