Group :: Sistema/Bibliotecas
RPM: libharfbuzz
Main Changelog Spec Patches Sources Download Gear Bugs e FR Repocop
%def_disable snapshot
%define _name harfbuzz
%define ver_major 8.2
%def_with graphite2
%def_with icu
%def_with cairo
%def_with gobject
%def_enable introspection
%def_enable docs
%def_disable experimental_api
%ifnarch armh
%def_enable check
%endif
Name: lib%_name
Version: %ver_major.0
Release: alt1
Summary: HarfBuzz is an OpenType text shaping engine
Group: System/Libraries
License: MIT
Url: http://harfbuzz.org/
%if_disabled snapshot
Source: https://github.com/%_name/%_name/archive/%version/%_name-%version.tar.gz
%else
Vcs: https://github.com/harfbuzz/harfbuzz.git
Source: %_name-%version.tar
%endif
BuildRequires(pre): rpm-macros-meson rpm-build-python3 rpm-build-gir
BuildRequires: meson gcc-c++ glib2-devel libfreetype-devel libcairo-devel
%{?_enable_introspection:BuildRequires: gobject-introspection-devel}
%{?_with_graphite2:BuildRequires: libgraphite2-devel}
%{?_with_icu:BuildRequires: libicu-devel}
%{?_enable_docs:BuildRequires: gtk-doc}
%{?_enable_check:BuildRequires: python3-test fonttools}
%description
HarfBuzz is an implementation of the OpenType Layout engine.
This package provides shared HarfBuzz library.
%package icu
Summary: Shared HarfBuzz library with ICU support.
Group: System/Libraries
Requires: %name = %EVR
%description icu
HarfBuzz is an implementation of the OpenType Layout engine.
This package provides shared HarfBuzz library with ICU support.
%package cairo
Summary: Shared HarfBuzz library with Cairo support.
Group: System/Libraries
Requires: %name = %EVR
%description cairo
HarfBuzz is an implementation of the OpenType Layout engine.
This package provides shared HarfBuzz library with Cairo support.
%package gobject
Summary: GObject bindings for %name
Group: System/Libraries
Requires: %name = %EVR
%description gobject
This package contains functionality to make HarfBuzz library
integrate well with the GObject object system used by GNOME.
%package devel
Summary: Development files for %name
Group: Development/C++
Requires: %name = %EVR
%{?_with_icu:Requires: %name-icu = %EVR}
%{?_with_cairo:Requires: %name-cairo = %EVR}
%{?_with_gobject:Requires: %name-gobject = %EVR}
%description devel
The %name-devel package contains files for developing applications that
use HarfBuzz library.
%package devel-doc
Summary: Development documentation for Pango
Group: Development/Documentation
Conflicts: %name < %version-%release
BuildArch: noarch
%description devel-doc
HarfBuzz is an implementation of the OpenType Layout engine.
This package contains development documentation for HarfBuzz.
%package utils
Summary: Utilities from HarfBuzz project
Group: Development/Tools
Requires: %name = %EVR
%description utils
The %name-utils package provides utilities from %name package.
%package gir
Summary: GObject introspection data for the HarfBuzz library
Group: System/Libraries
Requires: %name-gobject = %EVR
%description gir
GObject introspection data for the HarfBuzz library
%package gir-devel
Summary: GObject introspection devel data for the HarfBuzz library
Group: Development/Other
BuildArch: noarch
Requires: %name-gir = %EVR
Requires: %name-devel = %EVR
%description gir-devel
GObject introspection devel data for the HarfBuzz library
%prep
%setup -n %_name-%version
%build
%meson \
-Dglib=enabled \
-Dfreetype=enabled \
%{?_without_icu:-Dicu=disabled} \
%{?_without_cairo:-Dcairo=disabled} \
%{?_with_graphite2:-Dgraphite2=enabled} \
%{?_enable_gobject:-Dgobject=enabled} \
%{?_enable_introspection:-Dintrospection=enabled} \
%{?_disable_docs:-Ddocs=disabled} \
%{?_enable_experimental_api:-Dexperimental_api=true}
%nil
%meson_build
%install
%meson_install
%check
%__meson_test -t 4
%files
%_libdir/%name.so.*
%_libdir/%name-subset.so.*
%if_with icu
%files icu
%_libdir/%name-icu.so.*
%endif
%if_with cairo
%files cairo
%_libdir/%name-cairo.so.*
%endif
%if_with gobject
%files gobject
%_libdir/%name-gobject.so.*
%endif
%files devel
%_includedir/%_name/
%_libdir/%name.so
%_libdir/%name-subset.so
%_pkgconfigdir/%_name.pc
%_pkgconfigdir/%_name-subset.pc
%{?_with_icu:
%_libdir/%name-icu.so
%_pkgconfigdir/%_name-icu.pc}
%{?_with_cairo:
%_libdir/%name-cairo.so
%_pkgconfigdir/%_name-cairo.pc}
%_libdir/cmake/%_name/
%doc NEWS AUTHORS COPYING README
%if_with gobject
%_libdir/%name-gobject.so
%_pkgconfigdir/%_name-gobject.pc
%endif
%if_enabled docs
%files devel-doc
%_datadir/gtk-doc/html/*
%endif
%files utils
%_bindir/hb-info
%_bindir/hb-view
%_bindir/hb-ot-shape-closure
%_bindir/hb-shape
%_bindir/hb-subset
%if_enabled introspection
%files gir
%_typelibdir/*.typelib
%files gir-devel
%_girdir/*.gir
%endif
%changelog
…
Todas as alterações você pod ver aqui
%define _name harfbuzz
%define ver_major 8.2
%def_with graphite2
%def_with icu
%def_with cairo
%def_with gobject
%def_enable introspection
%def_enable docs
%def_disable experimental_api
%ifnarch armh
%def_enable check
%endif
Name: lib%_name
Version: %ver_major.0
Release: alt1
Summary: HarfBuzz is an OpenType text shaping engine
Group: System/Libraries
License: MIT
Url: http://harfbuzz.org/
%if_disabled snapshot
Source: https://github.com/%_name/%_name/archive/%version/%_name-%version.tar.gz
%else
Vcs: https://github.com/harfbuzz/harfbuzz.git
Source: %_name-%version.tar
%endif
BuildRequires(pre): rpm-macros-meson rpm-build-python3 rpm-build-gir
BuildRequires: meson gcc-c++ glib2-devel libfreetype-devel libcairo-devel
%{?_enable_introspection:BuildRequires: gobject-introspection-devel}
%{?_with_graphite2:BuildRequires: libgraphite2-devel}
%{?_with_icu:BuildRequires: libicu-devel}
%{?_enable_docs:BuildRequires: gtk-doc}
%{?_enable_check:BuildRequires: python3-test fonttools}
%description
HarfBuzz is an implementation of the OpenType Layout engine.
This package provides shared HarfBuzz library.
%package icu
Summary: Shared HarfBuzz library with ICU support.
Group: System/Libraries
Requires: %name = %EVR
%description icu
HarfBuzz is an implementation of the OpenType Layout engine.
This package provides shared HarfBuzz library with ICU support.
%package cairo
Summary: Shared HarfBuzz library with Cairo support.
Group: System/Libraries
Requires: %name = %EVR
%description cairo
HarfBuzz is an implementation of the OpenType Layout engine.
This package provides shared HarfBuzz library with Cairo support.
%package gobject
Summary: GObject bindings for %name
Group: System/Libraries
Requires: %name = %EVR
%description gobject
This package contains functionality to make HarfBuzz library
integrate well with the GObject object system used by GNOME.
%package devel
Summary: Development files for %name
Group: Development/C++
Requires: %name = %EVR
%{?_with_icu:Requires: %name-icu = %EVR}
%{?_with_cairo:Requires: %name-cairo = %EVR}
%{?_with_gobject:Requires: %name-gobject = %EVR}
%description devel
The %name-devel package contains files for developing applications that
use HarfBuzz library.
%package devel-doc
Summary: Development documentation for Pango
Group: Development/Documentation
Conflicts: %name < %version-%release
BuildArch: noarch
%description devel-doc
HarfBuzz is an implementation of the OpenType Layout engine.
This package contains development documentation for HarfBuzz.
%package utils
Summary: Utilities from HarfBuzz project
Group: Development/Tools
Requires: %name = %EVR
%description utils
The %name-utils package provides utilities from %name package.
%package gir
Summary: GObject introspection data for the HarfBuzz library
Group: System/Libraries
Requires: %name-gobject = %EVR
%description gir
GObject introspection data for the HarfBuzz library
%package gir-devel
Summary: GObject introspection devel data for the HarfBuzz library
Group: Development/Other
BuildArch: noarch
Requires: %name-gir = %EVR
Requires: %name-devel = %EVR
%description gir-devel
GObject introspection devel data for the HarfBuzz library
%prep
%setup -n %_name-%version
%build
%meson \
-Dglib=enabled \
-Dfreetype=enabled \
%{?_without_icu:-Dicu=disabled} \
%{?_without_cairo:-Dcairo=disabled} \
%{?_with_graphite2:-Dgraphite2=enabled} \
%{?_enable_gobject:-Dgobject=enabled} \
%{?_enable_introspection:-Dintrospection=enabled} \
%{?_disable_docs:-Ddocs=disabled} \
%{?_enable_experimental_api:-Dexperimental_api=true}
%nil
%meson_build
%install
%meson_install
%check
%__meson_test -t 4
%files
%_libdir/%name.so.*
%_libdir/%name-subset.so.*
%if_with icu
%files icu
%_libdir/%name-icu.so.*
%endif
%if_with cairo
%files cairo
%_libdir/%name-cairo.so.*
%endif
%if_with gobject
%files gobject
%_libdir/%name-gobject.so.*
%endif
%files devel
%_includedir/%_name/
%_libdir/%name.so
%_libdir/%name-subset.so
%_pkgconfigdir/%_name.pc
%_pkgconfigdir/%_name-subset.pc
%{?_with_icu:
%_libdir/%name-icu.so
%_pkgconfigdir/%_name-icu.pc}
%{?_with_cairo:
%_libdir/%name-cairo.so
%_pkgconfigdir/%_name-cairo.pc}
%_libdir/cmake/%_name/
%doc NEWS AUTHORS COPYING README
%if_with gobject
%_libdir/%name-gobject.so
%_pkgconfigdir/%_name-gobject.pc
%endif
%if_enabled docs
%files devel-doc
%_datadir/gtk-doc/html/*
%endif
%files utils
%_bindir/hb-info
%_bindir/hb-view
%_bindir/hb-ot-shape-closure
%_bindir/hb-shape
%_bindir/hb-subset
%if_enabled introspection
%files gir
%_typelibdir/*.typelib
%files gir-devel
%_girdir/*.gir
%endif
%changelog
…
Todas as alterações você pod ver aqui