2021-02-17 16:24:00 +00:00
|
|
|
|
%global so_version 1
|
|
|
|
|
%global apiver 1.16
|
|
|
|
|
|
|
|
|
|
# “Let mm-common-get copy some files to untracked/”, i.e., replace scripts from
|
|
|
|
|
# the tarball with those from mm-common. This is (potentially) required if
|
|
|
|
|
# building an autotools-generated tarball with meson, or vice versa.
|
|
|
|
|
%bcond_without maintainer_mode
|
|
|
|
|
|
|
|
|
|
Name: cairomm%{apiver}
|
|
|
|
|
Summary: C++ API for the cairo graphics library
|
2021-05-20 15:54:06 +00:00
|
|
|
|
Version: 1.16.1
|
2021-07-20 19:03:05 +00:00
|
|
|
|
Release: %autorelease
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
URL: https://www.cairographics.org
|
|
|
|
|
License: LGPLv2+
|
|
|
|
|
|
|
|
|
|
%global src_base https://www.cairographics.org/releases
|
|
|
|
|
Source0: %{src_base}/cairomm-%{version}.tar.xz
|
2021-02-20 13:47:25 +00:00
|
|
|
|
# No keyring with authorized GPG signing keys is published
|
|
|
|
|
# (https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/331), but we
|
|
|
|
|
# are able to verify the signature using the key for Kjell Ahlstedt from
|
2021-02-17 19:42:28 +00:00
|
|
|
|
# https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/290.
|
2021-02-20 13:47:25 +00:00
|
|
|
|
Source1: %{src_base}/cairomm-%{version}.tar.xz.asc
|
2021-02-17 19:42:28 +00:00
|
|
|
|
Source2: https://gitlab.freedesktop.org/freedesktop/freedesktop/uploads/0ac64e9582659f70a719d59fb02cd037/gpg_key.pub
|
|
|
|
|
|
|
|
|
|
BuildRequires: gnupg2
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
BuildRequires: gcc-c++
|
|
|
|
|
BuildRequires: meson
|
|
|
|
|
|
|
|
|
|
BuildRequires: pkgconfig(cairo)
|
|
|
|
|
BuildRequires: pkgconfig(sigc++-3.0)
|
|
|
|
|
BuildRequires: pkgconfig(fontconfig)
|
|
|
|
|
|
2021-02-17 19:42:28 +00:00
|
|
|
|
# Everything mentioned in data/cairomm*.pc.in, except the Quartz and Win32
|
|
|
|
|
# libraries that do not apply to this platform:
|
|
|
|
|
BuildRequires: pkgconfig(cairo-ft)
|
|
|
|
|
BuildRequires: pkgconfig(cairo-pdf)
|
|
|
|
|
BuildRequires: pkgconfig(cairo-png)
|
|
|
|
|
BuildRequires: pkgconfig(cairo-ps)
|
|
|
|
|
BuildRequires: pkgconfig(cairo-svg)
|
|
|
|
|
BuildRequires: pkgconfig(cairo-xlib)
|
|
|
|
|
BuildRequires: pkgconfig(cairo-xlib-xrender)
|
|
|
|
|
|
2021-02-17 16:24:00 +00:00
|
|
|
|
%if %{with maintainer_mode}
|
|
|
|
|
# mm-common-get
|
|
|
|
|
BuildRequires: mm-common
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
BuildRequires: perl-interpreter
|
|
|
|
|
BuildRequires: perl(Getopt::Long)
|
|
|
|
|
BuildRequires: doxygen
|
2021-09-26 16:30:15 +00:00
|
|
|
|
BuildRequires: web-assets-devel
|
2021-02-17 16:24:00 +00:00
|
|
|
|
# dot
|
|
|
|
|
BuildRequires: graphviz
|
|
|
|
|
# xsltproc
|
|
|
|
|
BuildRequires: libxslt
|
2021-02-17 19:42:28 +00:00
|
|
|
|
BuildRequires: pkgconfig(mm-common-libstdc++)
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
# For tests:
|
|
|
|
|
BuildRequires: boost-devel
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
This library provides a C++ interface to cairo.
|
|
|
|
|
|
|
|
|
|
The API/ABI version series is %{apiver}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package devel
|
2021-09-26 16:26:02 +00:00
|
|
|
|
Summary: Development files for cairomm%{apiver}
|
|
|
|
|
Requires: cairomm%{apiver}%{?_isa} = %{version}-%{release}
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
%description devel
|
2021-09-26 16:26:02 +00:00
|
|
|
|
The cairomm%{apiver}-devel package contains libraries and header files for
|
|
|
|
|
developing applications that use cairomm%{apiver}.
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
The API/ABI version series is %{apiver}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%package doc
|
2021-09-26 16:26:02 +00:00
|
|
|
|
Summary: Documentation for cairomm%{apiver}
|
2021-09-26 16:30:15 +00:00
|
|
|
|
# The documentation is licensed LGPLv2, same as the base package, except that
|
|
|
|
|
# several files inserted by Doxygen are MIT-licensed:
|
|
|
|
|
# - %%{_docdir}/cairomm-%%{apiver}/reference/html/dynsections.js
|
|
|
|
|
# - %%{_docdir}/cairomm-%%{apiver}/reference/html/menu.js
|
|
|
|
|
# - %%{_docdir}/cairomm-%%{apiver}/reference/html/menudata.js
|
|
|
|
|
License: LGPLv2 and MIT
|
|
|
|
|
|
2021-02-17 16:24:00 +00:00
|
|
|
|
BuildArch: noarch
|
2021-09-26 16:30:15 +00:00
|
|
|
|
|
2021-02-17 16:24:00 +00:00
|
|
|
|
Requires: libstdc++-docs
|
|
|
|
|
Requires: libsigc++20-doc
|
|
|
|
|
|
2021-09-26 16:30:15 +00:00
|
|
|
|
Requires: js-jquery
|
|
|
|
|
# We do not treat the Doxygen-generated JavaScript files as bundled libraries,
|
|
|
|
|
# but as generated helper code that may potentially vary from project to
|
|
|
|
|
# project based on the settings in the Doxyfile.
|
|
|
|
|
|
2021-02-17 16:24:00 +00:00
|
|
|
|
%description doc
|
2021-09-26 16:26:02 +00:00
|
|
|
|
Documentation for cairomm%{apiver} can be viewed either through the devhelp
|
2021-02-17 16:24:00 +00:00
|
|
|
|
documentation browser or through a web browser at
|
2021-09-26 16:26:56 +00:00
|
|
|
|
%{_docdir}/cairomm%{apiver}-%{apiver}/.
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
The API/ABI version series is %{apiver}.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%prep
|
2021-02-20 13:47:25 +00:00
|
|
|
|
# Import developer’s public GPG key to a keyring that we can use for signature
|
|
|
|
|
# verification.
|
2021-02-17 19:42:28 +00:00
|
|
|
|
workdir="$(mktemp --directory)"
|
2021-02-20 13:47:25 +00:00
|
|
|
|
gpg2 --homedir="${workdir}" --yes --import '%{SOURCE2}'
|
|
|
|
|
gpg2 --homedir="${workdir}" --export --export-options export-minimal \
|
2021-09-26 16:26:02 +00:00
|
|
|
|
> cairomm%{apiver}.gpg
|
2021-02-17 19:42:28 +00:00
|
|
|
|
rm -rf "${workdir}"
|
|
|
|
|
|
2021-02-20 13:47:25 +00:00
|
|
|
|
%{gpgverify} \
|
2021-09-26 16:26:02 +00:00
|
|
|
|
--keyring='cairomm%{apiver}.gpg' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
2021-02-20 13:47:25 +00:00
|
|
|
|
|
2021-02-17 16:24:00 +00:00
|
|
|
|
%autosetup -n cairomm-%{version}
|
|
|
|
|
# We must remove the jQuery/jQueryUI bundle with precompiled/minified/bundled
|
|
|
|
|
# JavaScript that is in untracked/docs/reference/html/jquery.js, since such
|
|
|
|
|
# sources are banned in Fedora. (Note also that the bundled JavaScript had a
|
|
|
|
|
# different license.) We also remove the tag file, which triggers a rebuild of
|
|
|
|
|
# the documentation. While we are at it, we might as well rebuild the devhelp
|
|
|
|
|
# XML too.
|
|
|
|
|
rm -rf untracked/docs/reference/html
|
|
|
|
|
rm untracked/docs/reference/cairomm-%{apiver}.tag \
|
|
|
|
|
untracked/docs/reference/cairomm-%{apiver}.devhelp2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%meson \
|
|
|
|
|
-Dmaintainer-mode=%{?with_maintainer_mode:true}%{?!with_maintainer_mode:false} \
|
|
|
|
|
-Dbuild-documentation=true \
|
|
|
|
|
-Dbuild-examples=false \
|
|
|
|
|
-Dbuild-tests=true \
|
|
|
|
|
-Dboost-shared=true \
|
|
|
|
|
-Dwarnings=max
|
|
|
|
|
%meson_build
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%meson_install
|
|
|
|
|
|
2021-09-26 16:26:56 +00:00
|
|
|
|
install -t %{buildroot}%{_docdir}/cairomm-%{apiver} -m 0644 -p \
|
2021-02-17 16:24:00 +00:00
|
|
|
|
AUTHORS ChangeLog MAINTAINERS NEWS README
|
2021-09-26 16:26:56 +00:00
|
|
|
|
cp -rp examples %{buildroot}%{_docdir}/cairomm-%{apiver}/
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
2021-09-26 16:30:15 +00:00
|
|
|
|
# Unbundle jquery inserted by Doxygen
|
|
|
|
|
ln -svf '%{_jsdir}/jquery/3/jquery.js' \
|
|
|
|
|
'%{buildroot}%{_docdir}/cairomm-%{apiver}/reference/html/'
|
|
|
|
|
|
2021-02-17 16:24:00 +00:00
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
%meson_test
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license COPYING
|
|
|
|
|
%{_libdir}/libcairomm-%{apiver}.so.%{so_version}
|
|
|
|
|
%{_libdir}/libcairomm-%{apiver}.so.%{so_version}.*
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
%{_includedir}/cairomm-%{apiver}
|
|
|
|
|
%{_libdir}/libcairomm-%{apiver}.so
|
|
|
|
|
%{_libdir}/pkgconfig/cairomm-%{apiver}.pc
|
|
|
|
|
%{_libdir}/pkgconfig/cairomm-*-%{apiver}.pc
|
|
|
|
|
%{_libdir}/cairomm-%{apiver}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files doc
|
|
|
|
|
%license COPYING
|
2021-09-26 16:26:56 +00:00
|
|
|
|
%doc %{_docdir}/cairomm-%{apiver}/
|
2021-02-17 16:24:00 +00:00
|
|
|
|
%doc %{_datadir}/devhelp/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
2021-07-20 19:03:05 +00:00
|
|
|
|
%autochangelog
|