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
openSUSE Build Service is sponsored by