Summary: Library providing support for "XML Signature" and "XML Encryption" standards
Name: xmlsec1
Version: 1.3.0
Release: 1%{?_dist_release}
Group: system
Vendor: Project Vine
Distribution: Vine Linux

License: MIT
URL: https://www.aleksey.com/xmlsec/
Source: https://www.aleksey.com/xmlsec/download/xmlsec1-%{version}.tar.gz

BuildRoot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: libxml2-devel >= 2.6.0
BuildRequires: libxslt-devel >= 1.1.0
BuildRequires: openssl-devel >= 0.9.6
BuildRequires: libgcrypt-devel >= 1.4.0
BuildRequires: gnutls-devel >= 1.0.20
BuildRequires: nss-devel >= 3.2
BuildRequires: nspr-devel
BuildRequires: libtool-ltdl-devel
# extra build deps needed for autoreconf after above patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: gettext-devel
BuildRequires: libtool

%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". 


%package devel 
Summary: Libraries, includes, etc. to develop applications with XML Digital Signatures and XML Encryption support.
Group: programming
Requires: xmlsec1 = %{version}-%{release}
Requires: libxml2-devel >= 2.6.0
Requires: libxslt-devel >= 1.1.0
Requires: openssl-devel >= 0.9.6
Requires: zlib-devel 
Requires: pkgconfig

%description devel
Libraries, includes, etc. you can use to develop applications with XML Digital 
Signatures and XML Encryption support.

%package openssl
Summary: OpenSSL crypto plugin for XML Security Library
Group: system
Requires: xmlsec1 = %{version}-%{release}

%description openssl
OpenSSL plugin for XML Security Library provides OpenSSL based crypto services
for the xmlsec library


%package openssl-devel
Summary: OpenSSL crypto plugin for XML Security Library
Group: programming
Requires: xmlsec1-devel = %{version}-%{release}
Requires: xmlsec1-openssl = %{version}-%{release}

%description openssl-devel
Libraries, includes, etc. for developing XML Security applications with OpenSSL


%package gcrypt
Summary: GCrypt crypto plugin for XML Security Library
Group: system
Requires: xmlsec1 = %{version}-%{release}

%description gcrypt
GCrypt plugin for XML Security Library provides GCrypt based crypto services
for the xmlsec library.


%package gcrypt-devel
Summary: GCrypt crypto plugin for XML Security Library
Group: programming
Requires: xmlsec1-devel = %{version}-%{release}
Requires: xmlsec1-gnutls-devel = %{version}-%{release}

%description gcrypt-devel
Libraries, includes, etc. for developing XML Security applications with GCrypt.


%package gnutls
Summary: GNUTls crypto plugin for XML Security Library
Group: system
Requires: xmlsec1 = %{version}-%{release}

%description gnutls
GNUTls plugin for XML Security Library provides GNUTls based crypto services
for the xmlsec library


%package gnutls-devel
Summary: GNUTls crypto plugin for XML Security Library
Group: programming
Requires: xmlsec1 = %{version}
Requires: xmlsec1-devel = %{version}
Requires: xmlsec1-openssl = %{version}
Requires: libgcrypt-devel >= 1.2.0
Requires: gnutls-devel >= 1.0.20

%description gnutls-devel
Libraries, includes, etc. for developing XML Security applications with GNUTls


%package nss
Summary: NSS crypto plugin for XML Security Library
Group: system
Requires: xmlsec1 = %{version}-%{release}

%description nss
NSS plugin for XML Security Library provides NSS based crypto services
for the xmlsec library


%package nss-devel
Summary: NSS crypto plugin for XML Security Library
Group: programming
Requires: xmlsec1-devel = %{version}-%{release}
Requires: xmlsec1-nss = %{version}-%{release}
Requires: nss-devel >= 3.2
Requires: nspr-devel

%description nss-devel
Libraries, includes, etc. for developing XML Security applications with NSS


%debug_package


%prep
%autosetup -p1


%build
autoreconf -if
%configure --enable-silent-rules --disable-static

sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make

# positively ugly but only sane way to get around #192756
sed 's+/lib64+/$archlib+g' < xmlsec1-config | sed 's+/lib+/$archlib+g' | sed 's+ -DXMLSEC_NO_SIZE_T++' > xmlsec1-config.$$ && mv xmlsec1-config.$$ xmlsec1-config


%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT/usr/include/xmlsec1
mkdir -p $RPM_BUILD_ROOT%{_libdir}
mkdir -p $RPM_BUILD_ROOT/usr/man/man1

make install DESTDIR=$RPM_BUILD_ROOT
#make prefix=$RPM_BUILD_ROOT%{prefix} mandir=$RPM_BUILD_ROOT%{_mandir} install
rm -fv $RPM_BUILD_ROOT%{_libdir}/*.la
#rm -fv $RPM_BUILD_ROOT%{_libdir}/*.a

rm -rf docs-to-install
mkdir -p docs-to-install
cp -pr $RPM_BUILD_ROOT%{_datadir}/doc/xmlsec1/* docs-to-install
rm -rf $RPM_BUILD_ROOT%{_datadir}/doc/xmlsec1


%clean
rm -fr %{buildroot}


%files 
%defattr(-, root, root)
%license Copyright
%doc AUTHORS ChangeLog NEWS README
%doc %{_mandir}/man1/xmlsec1.1*
%{_libdir}/libxmlsec1.so.*
%{_bindir}/xmlsec1

%files devel
%defattr(-, root, root)  
%{_bindir}/xmlsec1-config
%{_includedir}/xmlsec1
%exclude %{_includedir}/xmlsec1/xmlsec/gcrypt
%exclude %{_includedir}/xmlsec1/xmlsec/gnutls
%exclude %{_includedir}/xmlsec1/xmlsec/nss
%exclude %{_includedir}/xmlsec1/xmlsec/openssl
%{_libdir}/libxmlsec1.so
%{_libdir}/pkgconfig/xmlsec1.pc
%{_libdir}/xmlsec1Conf.sh
%{_datadir}/aclocal/*.m4
%license Copyright
%doc AUTHORS HACKING ChangeLog NEWS README
%doc docs-to-install/*
%doc %{_mandir}/man1/xmlsec1-config.1*

%files openssl
%defattr(-, root, root)  
%{_libdir}/libxmlsec1-openssl.so
%{_libdir}/libxmlsec1-openssl.so.*

%files openssl-devel
%defattr(-, root, root)  
%{_includedir}/xmlsec1/xmlsec/openssl
%{_libdir}/pkgconfig/xmlsec1-openssl.pc

%files gcrypt
%defattr(-, root, root, -)
%{_libdir}/libxmlsec1-gcrypt.so
%{_libdir}/libxmlsec1-gcrypt.so.*

%files gcrypt-devel
%defattr(-, root, root, -)
%{_includedir}/xmlsec1/xmlsec/gcrypt
%{_libdir}/pkgconfig/xmlsec1-gcrypt.pc

%files gnutls
%defattr(-, root, root)  
%{_libdir}/libxmlsec1-gnutls.so
%{_libdir}/libxmlsec1-gnutls.so.*

%files gnutls-devel
%defattr(-, root, root)  
%{_includedir}/xmlsec1/xmlsec/gnutls
%{_libdir}/pkgconfig/xmlsec1-gnutls.pc

%files nss
%defattr(-, root, root)  
%{_libdir}/libxmlsec1-nss.so
%{_libdir}/libxmlsec1-nss.so.*

%files nss-devel
%defattr(-, root, root)  
%{_includedir}/xmlsec1/xmlsec/nss
%{_libdir}/pkgconfig/xmlsec1-nss.pc


%changelog
* Thu Apr 13 2023 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.3.0-1
- new upstream release.

* Tue Nov 29 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.37-1
- new upstream release.

* Wed Nov 02 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.36-1
- new upstream release.

* Wed Oct 26 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.35-1
- new upstream release.

* Sat Oct 16 2021 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.32-1
- new upstream release.
- built with openssl-3.0.0.
- dropped ldconfig scriptlets.

* Mon Mar 09 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.29-1
- new upstream release.

* Wed Dec 05 2018 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.27-1
- new upstream release.

* Mon May  9 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.22-1
- new upstream release.

* Wed Dec 30 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.20-3
- rebuilt with gnutls-3.4.x.

* Fri Jul  3 2015 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 1.2.20-2
- fixed %%files.

* Sat Nov  1 2014 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 1.2.20-1
- new upstream release
- moved gcrypt to System Environment/Libraries Group

* Sat Jan 29 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 1.2.16-1
- new upstream release
- add BuildRequires: libtool-ltdl-devel
- add -gcrypt,-gcrypt-devel package

* Fri Jul 24 2009 Satoshi IWAMOTO <satoshi.iwamoto@nifty.ne.jp> 1.2.12-1
- new upstream release with security fix (CVE-2009-0217)
- remove *.a files

* Sat Jan 24 2009 Ryoichi INAGAKI <ryo1@bc.wakwak.com> 1.2.11-2
- rebuilt with gnutls-2.6.3

* Wed Jul 30 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.11-1
- new upstream release

* Fri May 18 2007 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2.9-0vl1
- initial build for Vine Linux

* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1.2.9-8.1
- rebuild

* Wed Jun 14 2006 Tomas Mraz <tmraz@redhat.com> - 1.2.9-8
- rebuilt with new gnutls

* Thu Jun  8 2006 Daniel Veillard <veillard@redhat.com> - 1.2.9-7
- oops libxmlsec1.la was still there, should fix #171410 and #154142

* Thu Jun  8 2006 Daniel Veillard <veillard@redhat.com> - 1.2.9-6
- Ugly patch and sed based changes to work around #192756 xmlsec1-config
  multilib problem

* Wed Jun  7 2006 Jeremy Katz <katzj@redhat.com> - 1.2.9-5
- move .so symlinks to -devel subpackage

* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 1.2.9-4.2
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 1.2.9-4.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Thu Dec 15 2005 Christopher Aillon <caillon@redhat.com> 1.2.9-4
- NSS has been split out of the mozilla package, so require that now
  and update separate_nspr.patch to account for the new NSS as well

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Wed Nov 23 2005 Tomas Mraz <tmraz@redhat.com> 1.2.9-3
- rebuilt due to gnutls library revision
* Wed Nov  9 2005 <veillard@redhat.com> 1.2.9-2
- rebuilt due to openssl library revision
* Tue Sep 20 2005 <veillard@redhat.com> 1.2.9-1
- update from upstream, release done in July
- apparently nss is now available on ppc64
* Mon Aug  8 2005 <veillard@redhat.com> 1.2.8-3
- rebuilt with new gnutls
- nspr has been split to a separate package
* Fri Jul  8 2005 Daniel Veillard <veillard@redhat.com> 1.2.8-2
- Enabling the mozilla-nss crypto backend
* Fri Jul  8 2005 Daniel Veillard <veillard@redhat.com> 1.2.8-1
- update from upstream, needed for openoffice
* Tue Mar  8 2005 Daniel Veillard <veillard@redhat.com> 1.2.7-4
- rebuilt with gcc4
* Wed Feb 23 2005 Daniel Veillard <veillard@redhat.com> 1.2.7-1
- Upstream release of 1.2.7, mostly bug fixes plus new functions
  to GetKeys from simple store and X509 handling.
* Wed Feb  9 2005 Daniel Veillard <veillard@redhat.com> 1.2.6-4
- Adding support for GNUTls crypto backend
* Wed Sep  1 2004 Daniel Veillard <veillard@redhat.com> 1.2.6-3
- adding missing ldconfig calls
* Thu Aug 26 2004 Daniel Veillard <veillard@redhat.com> 1.2.6-2
- updated with upstream release from Aleksey
* Mon Jun 21 2004 Daniel Veillard <veillard@redhat.com> 1.2.5-2
- rebuilt
* Mon Apr 19 2004 Daniel Veillard <veillard@redhat.com> 1.2.5-1
- updated with upstream release from Aleksey
* Wed Feb 11 2004 Daniel Veillard <veillard@redhat.com> 1.2.4-1
- updated with upstream release from Aleksey
* Tue Jan  6 2004 Daniel Veillard <veillard@redhat.com> 1.2.3-1
- updated with upstream release from Aleksey
* Wed Nov 12 2003 Daniel Veillard <veillard@redhat.com> 1.2.2-1
- updated with upstream release from Aleksey, specific patches should
  have been integrated now.
* Thu Nov  6 2003 Daniel Veillard <veillard@redhat.com> 1.2.1-1
- initial packaging based on the upstream one and libxml2 one.
- desactivated mozilla-nss due to detection/architecture problems
