# # spec file for package lzo # # Copyright (c) 2023 SUSE LLC # # 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 https://bugs.opensuse.org/ # %define library_package liblzo2-2 Name: lzo Version: 2.10 Release: 0 Summary: A Real-Time Data Compression Library License: GPL-2.0-or-later Group: Development/Libraries/C and C++ URL: https://www.oberhumer.com/opensource/lzo/ Source: https://www.oberhumer.com/opensource/%{name}/download/%{name}-%{version}.tar.gz Source2: baselibs.conf Patch1: https://src.fedoraproject.org/rpms/lzo/raw/main/f/lzo-2.08-rhbz1309225.patch BuildRequires: gcc-c++ BuildRequires: pkgconfig %{?suse_build_hwcaps_libs} %description LZO is a portable lossless data compression library written in ANSI C. Decompression requires no memory. LZO is suitable for data compression and decompression in real-time. This means it favors speed over compression ratio. %package -n %{library_package} Summary: A Real-Time Data Compression Library Group: System/Libraries Provides: lzo = %{version}-%{release} Obsoletes: lzo < %{version} %description -n %{library_package} LZO is a portable lossless data compression library written in ANSI C. Decompression requires no memory. LZO is suitable for data compression and decompression in real-time. This means it favors speed over compression ratio. %package devel Summary: Development files for lzo Group: Development/Languages/C and C++ Requires: %{library_package} = %{version} %description devel LZO is a portable lossless data compression library written in ANSI C. Decompression requires no memory. LZO is suitable for data de-/compression in real-time. This means it favours speed over compression ratio. %package devel-static Summary: Development files for lzo Group: Development/Languages/C and C++ Requires: lzo-devel = %{version} Provides: lzo-devel:%{_libdir}/liblzo.a %description devel-static LZO is a portable lossless data compression library written in ANSI C. Decompression requires no memory. LZO is suitable for data de-/compression in real-time. This means it favours speed over compression ratio. %prep %setup -q %patch1 -p1 %build %global _lto_cflags %{_lto_cflags} -ffat-lto-objects export CFLAGS="%{optflags} -fvisibility=hidden" %configure --enable-shared \ --enable-static \ --disable-silent-rules \ --docdir=%{_docdir}/%{name}-devel #On windows, the build system defines __LZO_EXPORT1 to # __attribute__((dllexport))) which we can abuse to make #use of GCC visibility. ;-) #see http://gcc.gnu.org/wiki/Visibility #If you remove this, you must disable -fvisibility=hidden in CFLAGS! echo '#define __LZO_EXPORT1 __attribute__ ((visibility ("default")))' >> config.h make %{?_smp_mflags} %check make %{?_smp_mflags} check test %install %make_install rm -v %{buildroot}%{_libdir}/liblzo2.la rm -v %{buildroot}%{_docdir}/%{name}-devel/COPYING %post -n %{library_package} -p /sbin/ldconfig %postun -n %{library_package} -p /sbin/ldconfig %files -n %{library_package} %license COPYING %{_libdir}/liblzo2.so.* %files devel %doc AUTHORS BUGS NEWS README THANKS %doc doc/* util/* %{_libdir}/liblzo2.so %{_includedir}/lzo %{_libdir}/pkgconfig/lzo2.pc %files devel-static %{_libdir}/liblzo2.a %changelog