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