|
|
edb3efc |
%global so_version 1
|
|
|
17e4ff0 |
%global apiver 1.0
|
|
|
d57126b |
|
|
|
d221d0f |
# “Let mm-common-get copy some files to untracked/”, i.e., replace scripts from
|
|
|
d221d0f |
# the tarball with those from mm-common. This is (potentially) required if
|
|
|
d221d0f |
# building an autotools-generated tarball with meson, or vice versa.
|
|
|
5c91e1d |
%bcond maintainer_mode 1
|
|
Rick L. Vinyard, Jr |
311a0e6 |
|
|
|
b89cf86 |
# Doxygen HTML help is not suitable for packaging due to a minified JavaScript
|
|
|
b89cf86 |
# bundle inserted by Doxygen itself. See discussion at
|
|
|
b89cf86 |
# https://bugzilla.redhat.com/show_bug.cgi?id=2006555.
|
|
|
b89cf86 |
#
|
|
|
a660469 |
# We can enable the Doxygen PDF documentation as a substitute.
|
|
|
0b72d19 |
#
|
|
|
0b72d19 |
# We still generate the HTML documentation, but strip out all the JavaScript
|
|
|
0b72d19 |
# that causes policy issues. This degrades it in the browser, but is sufficient
|
|
|
0b72d19 |
# to keep the Devhelp documentation working.
|
|
|
5c91e1d |
%bcond doc_pdf 1
|
|
|
b89cf86 |
|
|
|
e80e153 |
Name: cairomm
|
|
|
d5cb165 |
Summary: C++ API for the cairo graphics library
|
|
|
ebbbfa3 |
Version: 1.14.4
|
|
|
ebbbfa3 |
Release: %autorelease
|
|
|
d5cb165 |
|
|
|
0a24349 |
URL: https://www.cairographics.org
|
|
|
dbbbd7e |
License: LGPL-2.0-or-later
|
|
|
d5cb165 |
|
|
|
f1ece3e |
%global src_base https://www.cairographics.org/releases
|
|
|
77b9996 |
Source0: %{src_base}/cairomm-%{version}.tar.xz
|
|
|
57b8492 |
# No keyring with authorized GPG signing keys is published
|
|
|
57b8492 |
# (https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/331), but we
|
|
|
57b8492 |
# are able to verify the signature using the key for Kjell Ahlstedt from
|
|
|
508e556 |
# https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/290.
|
|
|
57b8492 |
Source1: %{src_base}/cairomm-%{version}.tar.xz.asc
|
|
|
508e556 |
Source2: https://gitlab.freedesktop.org/freedesktop/freedesktop/uploads/0ac64e9582659f70a719d59fb02cd037/gpg_key.pub
|
|
|
508e556 |
|
|
|
508e556 |
BuildRequires: gnupg2
|
|
|
d5cb165 |
|
|
|
c0cfa69 |
BuildRequires: gcc-c++
|
|
|
d221d0f |
BuildRequires: meson
|
|
|
d5cb165 |
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(sigc++-2.0)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(fontconfig)
|
|
|
83d3ed9 |
|
|
|
83d3ed9 |
# Everything mentioned in data/cairomm*.pc.in, except the Quartz and Win32
|
|
|
83d3ed9 |
# libraries that do not apply to this platform:
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-ft)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-pdf)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-png)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-ps)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-svg)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-xlib)
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(cairo-xlib-xrender)
|
|
|
83d3ed9 |
|
|
|
83d3ed9 |
%if %{with maintainer_mode}
|
|
|
d221d0f |
# mm-common-get
|
|
|
966054d |
BuildRequires: mm-common >= 1.0.4
|
|
|
83d3ed9 |
%endif
|
|
|
83d3ed9 |
|
|
|
ba7b0d0 |
BuildRequires: doxygen
|
|
|
d221d0f |
# dot
|
|
|
d221d0f |
BuildRequires: graphviz
|
|
|
d221d0f |
# xsltproc
|
|
|
d221d0f |
BuildRequires: libxslt
|
|
|
83d3ed9 |
BuildRequires: pkgconfig(mm-common-libstdc++)
|
|
|
b89cf86 |
%if %{with doc_pdf}
|
|
|
b89cf86 |
BuildRequires: doxygen-latex
|
|
|
b89cf86 |
BuildRequires: make
|
|
|
b89cf86 |
%endif
|
|
|
d221d0f |
|
|
|
d221d0f |
# For tests:
|
|
|
d221d0f |
BuildRequires: boost-devel
|
|
|
d221d0f |
|
|
|
ce4f146 |
# Based on discussion in
|
|
|
ce4f146 |
# https://src.fedoraproject.org/rpms/pangomm/pull-request/2, cairomm will
|
|
|
ce4f146 |
# continue to provide API/ABI version 1.0 indefinitely, with the cairomm1.16
|
|
|
ce4f146 |
# package providing the new 1.16 API/ABI series. This virtual Provides is
|
|
|
ce4f146 |
# therefore no longer required, as dependent packages requiring the 1.0 API/ABI
|
|
|
ce4f146 |
# may safely require cairomm and its subpackages.
|
|
|
77b9996 |
Provides: cairomm%{apiver}%{?_isa} = %{version}-%{release}
|
|
|
ba7b0d0 |
|
|
|
4b007a6 |
%description
|
|
|
4b007a6 |
This library provides a C++ interface to cairo.
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
508e556 |
The API/ABI version series is %{apiver}.
|
|
|
508e556 |
|
|
|
d5cb165 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%package devel
|
|
|
77b9996 |
Summary: Development files for cairomm
|
|
|
77b9996 |
Requires: cairomm%{?_isa} = %{version}-%{release}
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
77b9996 |
Provides: cairomm%{apiver}-devel%{?_isa} = %{version}-%{release}
|
|
|
9ee2ea9 |
|
|
|
4b007a6 |
%description devel
|
|
|
77b9996 |
The cairomm-devel package contains libraries and header files for developing
|
|
|
77b9996 |
applications that use cairomm.
|
|
Rick L. Vinyard, Jr |
9eca487 |
|
|
|
508e556 |
The API/ABI version series is %{apiver}.
|
|
|
508e556 |
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
06d96df |
%package doc
|
|
|
77b9996 |
Summary: Documentation for cairomm
|
|
|
948e04f |
|
|
|
06d96df |
BuildArch: noarch
|
|
|
77b9996 |
|
|
|
77b9996 |
Provides: cairomm%{apiver}-doc = %{version}-%{release}
|
|
|
9ee2ea9 |
|
|
|
4b007a6 |
%description doc
|
|
|
b89cf86 |
Documentation for cairomm can be viewed through the devhelp documentation
|
|
|
b89cf86 |
browser.
|
|
Rick L. Vinyard, Jr |
2454e90 |
|
|
|
508e556 |
The API/ABI version series is %{apiver}.
|
|
|
508e556 |
|
|
Rick L. Vinyard, Jr |
2454e90 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%prep
|
|
|
57b8492 |
%{gpgverify} \
|
|
Björn Persson |
338b584 |
--keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
|
|
57b8492 |
|
|
|
508e556 |
%autosetup
|
|
|
ebbbfa3 |
# Fix stray executable bit:
|
|
|
ebbbfa3 |
chmod -v a-x NEWS
|
|
|
ebbbfa3 |
|
|
|
041b27b |
# We must remove the jQuery/jQueryUI bundle with precompiled/minified/bundled
|
|
|
041b27b |
# JavaScript that is in untracked/docs/reference/html/jquery.js, since such
|
|
|
041b27b |
# sources are banned in Fedora. (Note also that the bundled JavaScript had a
|
|
|
041b27b |
# different license.) We also remove the tag file, which triggers a rebuild of
|
|
|
041b27b |
# the documentation. While we are at it, we might as well rebuild the devhelp
|
|
|
0b72d19 |
# XML too. Note that we will still install the HTML documentation, since the
|
|
|
0b72d19 |
# devhelp XML requires it, but we will strip out the JavaScript, which will
|
|
|
0b72d19 |
# degrade the documentation in a web browser.
|
|
|
17e4ff0 |
rm -rf untracked/docs/reference/html
|
|
|
77b9996 |
rm untracked/docs/reference/cairomm-%{apiver}.tag \
|
|
|
77b9996 |
untracked/docs/reference/cairomm-%{apiver}.devhelp2
|
|
|
b89cf86 |
%if %{with doc_pdf}
|
|
|
a660469 |
# We enable the Doxygen PDF documentation as a substitute. We must
|
|
|
b89cf86 |
# enable GENERATE_LATEX and LATEX_BATCHMODE; the rest are precautionary and
|
|
|
b89cf86 |
# should already be set as we like them.
|
|
|
b89cf86 |
sed -r -i \
|
|
|
b89cf86 |
-e "s/^([[:blank:]]*(GENERATE_LATEX|LATEX_BATCHMODE|USE_PDFLATEX|\
|
|
|
b89cf86 |
PDF_HYPERLINKS)[[:blank:]]*=[[:blank:]]*)NO[[:blank:]]*/\1YES/" \
|
|
|
b89cf86 |
-e "s/^([[:blank:]]*(LATEX_TIMESTAMP)\
|
|
|
b89cf86 |
[[:blank:]]*=[[:blank:]]*)YES[[:blank:]]*/\1NO/" \
|
|
|
b89cf86 |
docs/reference/Doxyfile.in
|
|
|
b89cf86 |
%endif
|
|
|
d5cb165 |
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%build
|
|
|
d221d0f |
%meson \
|
|
|
d221d0f |
-Dmaintainer-mode=%{?with_maintainer_mode:true}%{?!with_maintainer_mode:false} \
|
|
|
d221d0f |
-Dbuild-documentation=true \
|
|
|
d221d0f |
-Dbuild-examples=false \
|
|
|
d221d0f |
-Dbuild-tests=true \
|
|
|
d221d0f |
-Dboost-shared=true \
|
|
|
d221d0f |
-Dwarnings=max
|
|
|
d221d0f |
%meson_build
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
b89cf86 |
%if %{with doc_pdf}
|
|
|
b89cf86 |
%make_build -C '%{_vpath_builddir}/docs/reference/latex'
|
|
|
b89cf86 |
%endif
|
|
|
b89cf86 |
|
|
|
d5cb165 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%install
|
|
|
d221d0f |
%meson_install
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
77b9996 |
install -t %{buildroot}%{_docdir}/cairomm-%{apiver} -m 0644 -p \
|
|
|
ebbbfa3 |
AUTHORS ChangeLog MAINTAINERS NEWS README.md
|
|
|
77b9996 |
cp -rp examples %{buildroot}%{_docdir}/cairomm-%{apiver}/
|
|
|
b25d344 |
|
|
|
0b72d19 |
# Strip out bundled and/or pre-minified JavaScript; this degrades the browser
|
|
|
0b72d19 |
# experience, but the HTML is still usable for devhelp.
|
|
|
0b72d19 |
find '%{buildroot}%{_docdir}/cairomm-%{apiver}/reference/html' \
|
|
|
0b72d19 |
-type f \( -name '*.js' -o -name '*.js.*' \) -print -delete
|
|
|
b89cf86 |
%if %{with doc_pdf}
|
|
|
cd53c4a |
install '%{_vpath_builddir}/docs/reference/latex/refman.pdf' -p -m 0644 \
|
|
|
cd53c4a |
'%{buildroot}%{_docdir}/cairomm-%{apiver}/reference/cairomm-%{apiver}.pdf'
|
|
|
b89cf86 |
%endif
|
|
|
948e04f |
|
|
|
d5cb165 |
|
|
|
d221d0f |
%check
|
|
|
d221d0f |
%meson_test
|
|
|
01a08b7 |
|
|
|
01a08b7 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%files
|
|
|
2b7df01 |
%license COPYING
|
|
|
a740f58 |
%{_libdir}/libcairomm-%{apiver}.so.%{so_version}{,.*}
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
d5cb165 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%files devel
|
|
|
b46cb2e |
%{_includedir}/cairomm-%{apiver}/
|
|
|
77b9996 |
%{_libdir}/libcairomm-%{apiver}.so
|
|
|
77b9996 |
%{_libdir}/pkgconfig/cairomm-%{apiver}.pc
|
|
|
77b9996 |
%{_libdir}/pkgconfig/cairomm-*-%{apiver}.pc
|
|
|
b46cb2e |
%{_libdir}/cairomm-%{apiver}/
|
|
Rick L. Vinyard, Jr |
69db439 |
|
|
|
d5cb165 |
|
|
Rick L. Vinyard, Jr |
2454e90 |
%files doc
|
|
|
5263eff |
%license COPYING
|
|
|
0b72d19 |
# Note: JavaScript has been removed from HTML reference manual, degrading the
|
|
|
0b72d19 |
# browser experience. It is still needed for Devhelp support.
|
|
|
b46cb2e |
%doc %{_docdir}/cairomm-%{apiver}/
|
|
|
71a644b |
%doc %{_datadir}/devhelp/
|
|
Rick L. Vinyard, Jr |
2454e90 |
|
|
|
d5cb165 |
|
|
Rick L. Vinyard, Jr |
69db439 |
%changelog
|
|
|
8f2f85c |
%autochangelog
|