File libdigidocpp.spec of Package libdigidocpp
Name: libdigidocpp
Version: 4.3.0
Release: 1%{?dist}
Summary: Library is for creating, signing and verification digitally signed documents
Group: System/Libraries
License: LGPL-2.1
URL: https://github.com/open-eid/libdigidocpp
Source0: libdigidocpp-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}
BuildRequires: vim
BuildRequires: cmake
BuildRequires: pkgconfig(libssl)
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: pkgconfig(xmlsec1-openssl)
BuildRequires: doxygen
BuildRequires: swig
BuildRequires: python3
%if 0%{?suse_version} >= 1600
BuildRequires: python313-setuptools
%else
%if 0%{?suse_version} > 0
BuildRequires: python311-setuptools
%else
BuildRequires: python3-setuptools
%endif
%endif
BuildRequires: pkgconfig(python3)
%if 0%{?sle_version} && 0%{?sle_version} <= 150500 && 0%{?is_opensuse}
BuildRequires: libxalan-c-devel
%endif
%if 0%{?sle_version} == 150600 && 0%{?is_opensuse}
BuildRequires: gcc13
BuildRequires: gcc13-c++
%endif
%if 0%{?suse_version}
BuildRequires: libxerces-c-devel
BuildRequires: libxml-security-c-devel
BuildRequires: libxml2-devel
BuildRequires: liblzma5
%else
%if 0%{?fedora}
BuildRequires: pkgconfig(xerces-c)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: libtool-ltdl-devel
%else
BuildRequires: vim-common
BuildRequires: lib64xml2-devel
BuildRequires: lib64lzma5
%endif
%endif
%if 0%{?fedora} > 42
BuildRequires: libicu
%endif
BuildRequires: java-sdk >= 17
%if 0%{?mageia} > 9
%define debug_package %{nil}
%endif
%define dir_name libdigidocpp-%{version}
%description
Libdigidocpp library offers creating, signing and verification of
digitally signed documents, according to XAdES and XML-DSIG standards.
Documentation http://open-eid.github.io/libdigidocpp
%package devel
Summary: Libdigidocpp library devel files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Devel files for Libdigidocpp library
%package java
Summary: Libdigidocpp library java files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: java >= 17
%description java
Libdigidocpp java library
%package csharp
Summary: Libdigidocpp library c# files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
%description csharp
Libdigidocpp c# library
%package python
Summary: Libdigidocpp library python files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
%description python
Libdigidocpp python library
%package java-devel
Summary: Libdigidocpp library devel java files
Group: Development/Libraries/C and C++
Requires: %{name}-java = %{version}-%{release}
BuildArch: noarch
%description java-devel
Devel files for libdigidocpp java library
%package csharp-devel
Summary: Libdigidocpp library devel java files
Group: Development/Libraries/C and C++
Requires: %{name}-csharp = %{version}-%{release}
BuildArch: noarch
%description csharp-devel
Devel files for libdigidocpp java library
%package doc
Summary: Libdigidocpp library documentation files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation files for libdigidocpp library
%prep
%if 0%{?sle_version} > 0 && 0%{?sle_version} <= 150600 && 0%{?sle_version}
export CC=/usr/bin/gcc-13
export CXX=/usr/bin/g++-13
%endif
%if 0%{?sle_version} <= 150500 && 0%{?sle_version}
export CC=/usr/bin/gcc-12
export CXX=/usr/bin/g++-12
%endif
%setup -q -n %{dir_name}
export CFLAGS=-fpermissive
export CXXFLAGS=-fpermissive
cmake . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DSWIG_EXECUTABLE=/usr/bin/swig \
-DCMAKE_SKIP_RPATH=TRUE \
-DCMAKE_C_FLAGS:STRING="-fPIE" \
-DCMAKE_CXX_FLAGS:STRING="-fPIE" \
-DCMAKE_LD_FLAGS:STRING="-pie" \
-DCMAKE_EXE_LINKER_FLAGS="-pie" \
-DCMAKE_CXX_STANDARD=20
%build
make
%install
rm -rf %{buildroot}
cd %{_builddir}/%{dir_name}
make install DESTDIR=%{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_libdir}/%{name}.so.*
%config(noreplace) %{_sysconfdir}/*
%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/digidocpp/
%{_includedir}/digidocpp/*
%{_libdir}/%{name}.so
%{_libdir}/pkgconfig/*
%dir %{_libdir}/cmake/libdigidocpp
%{_libdir}/cmake/libdigidocpp/*
%files doc
%doc
%if 0%{?suse_version} || 0%{?fedora}
%{_mandir}/man1/digidoc-tool.1.gz
%else
%{_mandir}/man1/digidoc-tool.1.xz
%endif
%dir %{_datadir}/doc/libdigidocpp
%{_datadir}/doc/libdigidocpp/*
%files java
%defattr(-,root,root,-)
%{_libdir}/libdigidoc_java.so
%dir %{_datadir}/digidocpp
%{_datadir}/digidocpp/digidocpp.jar
%files csharp
%defattr(-,root,root,-)
%{_libdir}/libdigidoc_csharp.so
%files python
%defattr(-,root,root,-)
%if 0%{?mageia} == 9
/usr/lib/python3.10/site-packages/__pycache__/digidoc.cpython-310.*
/usr/lib/debug/usr/lib/python3.10/site-packages/_digidoc_*
%endif
/usr/lib/python3.*/site-packages/_digidoc_python.so
/usr/lib/python3.*/site-packages/digidoc.py
%files java-devel
%defattr(-,root,root,-)
%dir %{_includedir}/ee
%{_includedir}/ee/*
%files csharp-devel
%defattr(-,root,root,-)
%dir %{_includedir}/digidocpp_csharp
%{_includedir}/digidocpp_csharp/*
%check
%changelog
* Wed Nov 12 2025 Ülo Parri <yltsparri@gmail.com> 4.3.0
- Version 4.3.0
* Fri Aug 22 2025 Ülo Parri <yltsparri@gmail.com> 4.2.1
- Version 4.2.1
* Sun Jun 22 2025 Ülo Parri <yltsparri@gmail.com> 4.2.0
- Version 4.2.0
* Sat May 24 2025 Ülo Parri <yltsparri@gmail.com> 4.1.0
- Python, java and c# devel packages
* Sun Jan 05 2025 Ülo Parri <yltsparri@gmail.com> 4.1.0
- Version 4.1.0
* Sat Oct 26 2024 Ülo Parri <yltsparri@gmail.com> 4.0.0
- Update BuildRequires
* Tue Oct 08 2024 Ülo Parri <yltsparri@gmail.com> 4.0.0
- Version 4.0.0
* Fri Apr 19 2024 Ülo Parri <yltsparri@gmail.com> 3.17.1
- Version 3.17.1
* Fri Dec 29 2023 Ülo Parri <yltsparri@gmail.com> 3.16.0
- Initial Fedora build
* Mon Dec 25 2023 Ülo Parri <yltsparri@gmail.com> 3.16.0
- Initial Mageia 9 build
* Sun Aug 20 2023 Ülo Parri <yltsparri@gmail.com> 3.16.0
- Version 3.16.0
* Wed Apr 26 2023 Ülo Parri <yltsparri@gmail.com> 3.15.0
- Version 3.15.0
* Sun Jan 15 2023 Ülo Parri <yltsparri@gmail.com> 3.14.12
- Version 3.14.12
* Mon Dec 26 2022 Ülo Parri <yltsparri@gmail.com> 3.14.11
- Version 3.14.11
* Thu Jul 21 2022 Ülo Parri <yltsparri@gmail.com> 3.14.10
- Version 3.14.10
* Sun Mar 20 2022 Ülo Parri <yltsparri@gmail.com> 3.14.8
- Version 3.14.8
* Wed Jul 28 2021 Ülo Parri <yltsparri@gmail.com> 3.14.7
- Version 3.14.7
* Mon Apr 26 2021 Ülo Parri <yltsparri@gmail.com> 3.14.6
- Version 3.14.6
* Fri Feb 26 2021 Ülo Parri <yltsparri@gmail.com> 3.14.5
- Version 3.14.5
* Sun Oct 11 2020 Ülo Parri <yltsparri@gmail.com> 3.14.4
- Version 3.14.4
* Tue Jun 23 2020 Ülo Parri <yltsparri@gmail.com> 3.14.3
- Version 3.14.3
* Fri Jan 31 2020 Ülo Parri <yltsparri@gmail.com> 3.14.2
- Version 3.14.2
* Wed Nov 6 2019 Ülo Parri <yltsparri@gmail.com> 3.14.1
- Version 3.14.1
* Mon Aug 26 2019 Ülo Parri <yltsparri@gmail.com> 3.14.0
- Version 3.14.0
* Fri Apr 05 2019 Ülo Parri <yltsparri@gmail.com> 3.13.9
- Version 3.13.9
* Tue Dec 11 2018 Ülo Parri <yltsparri@gmail.com> 3.13.8
- Version 3.13.8
* Wed Oct 24 2018 Ülo Parri <yltsparri@gmail.com> 3.13.7
- Version 3.13.7
* Tue Jun 12 2018 Ülo Parri <yltsparri@gmail.com> 3.13.6
- Version 3.13.6
* Thu Apr 26 2018 Ülo Parri <yltsparri@gmail.com> 3.13.5
- Version 3.13.5
* Mon Feb 26 2018 Ülo Parri <yltsparri@gmail.com> 3.13.4
- Version 3.13.4
* Wed Jan 10 2018 Ülo Parri <yltsparri@gmail.com> 3.13.3
- Version 3.13.3
* Wed Jan 10 2018 Ülo Parri <yltsparri@gmail.com> 3.13.2
- Use openssl 1.1
* Tue Oct 24 2017 Ülo Parri <yltsparri@gmail.com> 3.13.2
- Version 3.13.2
* Sat Jun 17 2017 Ülo Parri <yltsparri@gmail.com> 3.13.1
- Version 3.13.1
* Thu Jun 08 2017 Ülo Parri <yltsparri@gmail.com> 3.13.0
- Version 3.13.0
* Sun May 28 2017 Ülo Parri <yltsparri@gmail.com> 3.10.2
- Version 3.10.2
* Fri Aug 13 2010 RIA <info@ria.ee> 1.0-1
- first build no changes
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig