File freetype.spec of Package freetype

%define realname freetype
%define realver  2-14-0
%define srcext   tar.bz2

%define so_ver   6
%define gen      2

# Common info
%if 0%{?suse_version}
Name:          lib%{realname}%{?so_ver}
%else
Name:          %{realname}
%endif
Version:       %(tr -- - . <<< %{realver})
Release:       wiz%{?extraver:0.}1%{?dist}
License:       BSD-3-Clause or GPL-2.0
Group:         System/Libraries
URL:           http://freetype.org/
Summary:       A free, high-quality, and portable font engine

# Install-time parameters
Provides:      freetype%{?gen} libfreetype%{?gen}
%if ! 0%{?suse_version}
Provides:      lib%{realname}%{?so_ver}
%endif

# Build-time parameters
BuildRequires: meson >= 0.55.0
BuildRequires: ninja
BuildRequires: pkg-config
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libbrotlidec)
%if 0%{?suse_version}
BuildRequires: libbz2-devel
%else
BuildRequires: bzip2-devel
%endif
Source:         https://gitlab.freedesktop.org/freetype/freetype/-/archive/VER-%{realver}/%{realname}-VER-%{realver}.%{srcext}

%description
FreeType is a software font engine that is designed to be small, efficient,
highly customizable, and portable while capable of producing high-quality
output (glyph images). It can be used in graphics libraries, display servers,
font conversion tools, text image generation tools, and many other
products as well.

%package -n freetype%{?suse_version:%{?gen}}-devel
Group:         Development/Languages/C and C++
Summary:       Development files for %{name}
Requires:      %{name} = %{version}-%{release}
Provides:      libfreetype%{?suse_version:%{?gen}}-devel libfreetype%{?so_ver}-devel

%description -n freetype%{?suse_version:%{?gen}}-devel
Files needed for development with use of %{name}

# Preparation step (unpackung and patching if necessary)
%prep
%setup -q -n %{realname}-VER-%{realver}%{?extraver}
grep -F '/* #define FT_CONFIG_OPTION' devel/ftoption.h

%build
_CFLAGS='%{optflags}'
_LDFLAGS='-Wl,--strip-all -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro'
meson setup build \
 --buildtype=release \
 --optimization=2 \
 --strip \
 \
 --prefix=%{_prefix} \
 --libdir=%{_libdir} \
 --default-library=shared \
 \
 -Dzlib=system \
 \
 -Db_lto=true \
 -Db_ndebug=if-release \
 -Dc_args="$_CFLAGS" \
 -Dc_link_args="$_LDFLAGS"
ninja -v -C build %{?_smp_mflags}

%install
DESTDIR=%{buildroot} ninja -C build install

%files
%defattr(-,root,root)
%license LICENSE.TXT docs/GPLv2.TXT
%doc docs/FTL.TXT docs/CHANGES
%{_libdir}/*.so.%{?so_ver}*

# Development stuff
%files -n freetype%{?suse_version:%{?gen}}-devel
%defattr(-,root,root)
%license LICENSE.TXT docs/GPLv2.TXT
%doc docs/FTL.TXT
%doc docs/formats.txt docs/raster.txt
%{_libdir}/pkgconfig/*.pc
%dir %{_datadir}/aclocal/
%{_datadir}/aclocal/freetype2.m4
%dir %{_includedir}/freetype%{?gen}/freetype/config/
%dir %{_includedir}/freetype%{?gen}/freetype/
%dir %{_includedir}/freetype%{?gen}/
%{_includedir}/freetype%{?gen}/freetype/config/*.h
%{_includedir}/freetype%{?gen}/freetype/*.h
%{_includedir}/freetype%{?gen}/*.h
%{_libdir}/*.so

%post   -p /sbin/ldconfig
%postun -p /sbin/ldconfig

%changelog
openSUSE Build Service is sponsored by