File laszip.spec of Package laszip

#
# spec file for package laszip
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2014 Ioda-Net Sàrl, Charmoille, Switzerland. Bruno Friedmann (tigerfoot)
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


#
%define         sover 3

Name:           laszip
Version:        3.1.1
Release:        0
Summary:        Compression library supporting ASPRS LAS format data
License:        LGPL-2.1+
Group:          Development/Libraries/C and C++
Url:            http://www.laszip.org/
Source0:        https://github.com/LASzip/LASzip/releases/download/%{version}/laszip-src-%{version}.tar.gz
Source1:        https://github.com/LASzip/LASzip/releases/download/%{version}/laszip-src-%{version}.tar.gz.md5
# Upstream [PATCH] Load .so dll on non-apple
Patch0:         https://github.com/LASzip/LASzip/commit/0bf1c60.patch
BuildRequires:  cmake
BuildRequires:  gcc-c++
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
A free product of rapidlasso GmbH - quickly turns bulky LAS files into
compact LAZ files without information loss. LASzip is a compression library that
was developed by Martin Isenburg for compressing ASPRS LAS format data in his
LAStools. It has been provided as an LGPL-licensed stand-alone software library
to allow other softwares that handle LAS data to read and write LASzip-compressed
data. The BSD-licensed libLAS and the LGPL-licensed LASlib can take advantage of
LASzip to read and write compressed data.

%package -n lib%{name}%{sover}
Summary:        Library files for %{name}
Group:          System/Libraries

%description -n lib%{name}%{sover}
A free product of rapidlasso GmbH - quickly turns bulky LAS files into
compact LAZ files without information loss. LASzip is a compression library that
was developed by Martin Isenburg for compressing ASPRS LAS format data in his
LAStools. It has been provided as an LGPL-licensed stand-alone software library
to allow other softwares that handle LAS data to read and write LASzip-compressed
data. The BSD-licensed libLAS and the LGPL-licensed LASlib can take advantage of
LASzip to read and write compressed data.

This package contain only the dynamic build.

%package -n lib%{name}_api%{sover}
Summary:        API library files for lib%{name}
# Packager comment are we sure this api can live alone ?
#Requires:       lib%%{name}%%{sover} = %%{version}
Group:          System/Libraries

%description -n lib%{name}_api%{sover}
API library for %{name}
This package contain only the dynamic build.

%package devel
Summary:        Development files for %{name}
Group:          Development/Libraries/C and C++
Requires:       lib%{name}%{sover} = %{version}
Requires:       lib%{name}_api%{sover} = %{version}

%description devel
Headers and development files for %{name} needed to develop
softwares that handle LAS data to read and write LASzip-compressed
data.

%prep
%setup -q -n laszip-src-%{version}
%patch0 -p1

%build
# laszip need dlopen,dlsym,dlclose
%cmake \
    -DCMAKE_C_FLAGS="%{optflags} -fno-strict-aliasing -fPIE -pie" \
    -DCMAKE_C_FLAGS_RELWITHDEBINFO="%{optflags} -fno-strict-aliasing -fPIE -pie" \
    -DCMAKE_CXX_FLAGS="%{optflags} -fno-strict-aliasing -fPIE -pie" \
    -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="%{optflags} -fno-strict-aliasing -fPIE -pie" \
    -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed -Wl,--no-undefined -Wl,-z,now -Wl,--no-as-needed -ldl"

make V=1 %{?_smp_mflags}

%install
%cmake_install
# Do not ship any static libraries or .la files
find %{buildroot} -type f \( -name '*.a' -o -name '*.la' \) -delete -print
rm -rf %{buildroot}/usr/lib/debug/

# No more available in 3?
#%%check
#make %%{?_smp_mflags} check

%post -n lib%{name}%{sover} -p /sbin/ldconfig
%postun -n lib%{name}%{sover}  -p /sbin/ldconfig

%post -n lib%{name}_api%{sover} -p /sbin/ldconfig
%postun -n lib%{name}_api%{sover}  -p /sbin/ldconfig

%files devel
%defattr(-,root,root)
%doc ChangeLog AUTHORS COPYING
%{_includedir}/%{name}_api_version.h
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/%{name}_api.h
%{_libdir}/lib%{name}.so
%{_libdir}/lib%{name}_api.so

%files -n lib%{name}%{sover}
%defattr(-,root,root)
%doc ChangeLog AUTHORS
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%license COPYING
%else
%doc COPYING
%endif
%{_libdir}/lib%{name}.so.*

%files -n lib%{name}_api%{sover}
%defattr(-,root,root)
%doc ChangeLog AUTHORS
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%license COPYING
%else
%doc COPYING
%endif
%{_libdir}/lib%{name}_api.so.*

%changelog
openSUSE Build Service is sponsored by