File libcdoc.spec of Package libcdoc
Name: libcdoc
Version: 0.1.8
Release: 1
Summary: A library to read and write CDoc2 encrypted containers
License: LGPL-2.1
URL: https://github.com/open-eid/libcdoc/
Source0: libcdoc.tar.gz
Patch0: doxygen.patch
BuildRequires: cmake
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(libssl)
BuildRequires: libxml2-devel
BuildRequires: zlib-devel
BuildRequires: flatbuffers-devel
BuildRequires: doxygen
BuildRequires: swig
BuildRequires: java-sdk >= 17
%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%{?suse_version} < 1600 && 0%{?sle_version}
BuildRequires: gcc13
BuildRequires: gcc13-c++
%endif
%description
A library to read and write CDoc2 encrypted containers CDoc container format is specified at https://open-eid.github.io/CDOC2/1.1/
%package devel
Summary: Libcdoc library devel files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Devel files for libcdoc library
%package java
Summary: Libcdoc library java files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: java >= 17
%description java
Libcdoc java library
%package csharp
Summary: Libcdoc library c# files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
%description csharp
Libcdoc c# library
%package java-devel
Summary: Libcdoc library devel java files
Group: Development/Libraries/C and C++
Requires: %{name}-java = %{version}-%{release}
BuildArch: noarch
%description java-devel
Devel files for libcdoc java library
%package csharp-devel
Summary: Libcdoc library devel java files
Group: Development/Libraries/C and C++
Requires: %{name}-csharp = %{version}-%{release}
BuildArch: noarch
%description csharp-devel
Devel files for libcdoc java library
%package doc
Summary: Libcdoc library documentation files
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
BuildArch: noarch
%description doc
Documentation files for libcdoc library
%prep
%if 0%{?suse_version} < 1600 && 0%{?suse_version}
export CC=/usr/bin/gcc-13
export CXX=/usr/bin/g++-13
%endif
%setup -q -n %{name}
%autopatch -p1
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=SWIG_EXECUTABLE-NOTFOUND \
-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}/%{name}
make install DESTDIR=%{buildroot}
cd %{buildroot}/%{_libdir}
%files
%defattr(-,root,root,-)
%{_bindir}/*
%{_libdir}/%{name}.so
%{_libdir}/%{name}.so.*
%files doc
%doc
%dir %{_datadir}/doc/libcdoc
%{_datadir}/doc/libcdoc/*
%files java
%defattr(-,root,root,-)
%{_libdir}/%{name}_java.so
%dir %{_datadir}/libcdoc
%{_datadir}/libcdoc/*
%files csharp
%defattr(-,root,root,-)
%{_libdir}/%{name}_csharp.so
%files devel
%defattr(-,root,root,-)
%dir %{_includedir}/cdoc
%{_includedir}/cdoc/*
%{_libdir}/cmake/*
%files java-devel
%defattr(-,root,root,-)
%dir %{_includedir}/ee
%dir %{_includedir}/ee/ria
%dir %{_includedir}/ee/ria/cdoc
%{_includedir}/ee/*
%files csharp-devel
%defattr(-,root,root,-)
%dir %{_includedir}/cdoc_csharp
%{_includedir}/cdoc_csharp/*
%check
%changelog
* Fri May 23 2025 Ülo Parri <yltsparri@gmail.com> 0.1.8
- first build no changes
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig