Merged update from upstream sources

This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/cairomm.git#a2b0401289815414f14d2e4b368b57d196aac2e1
This commit is contained in:
DistroBaker 2021-02-11 20:01:13 +00:00
parent 821245a48b
commit 6e9e479d4c
3 changed files with 100 additions and 37 deletions

11
.gitignore vendored
View File

@ -2,3 +2,14 @@ cairomm-1.9.1.tar.gz
/cairomm-1.9.8.tar.gz
/cairomm-1.10.0.tar.gz
/cairomm-1.12.0.tar.gz
/cairomm-1.12.0.tar.gz.sha1
/cairomm-1.12.0.tar.gz.sha1.asc
/cairomm-1.12.2.tar.gz
/cairomm-1.12.2.tar.gz.sha1
/cairomm-1.12.2.tar.gz.sha1.asc
/cairomm-1.16.0.tar.xz
/cairomm-1.16.0.tar.xz.sha1
/cairomm-1.16.0.tar.xz.sha1.asc
/cairomm-1.14.2.tar.xz
/cairomm-1.14.2.tar.xz.sha1
/cairomm-1.14.2.tar.xz.sha1.asc

View File

@ -1,37 +1,62 @@
%global so_version 1
%global apiver 1.0
%bcond_without autoreconf
# “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
Summary: C++ API for the cairo graphics library
Version: 1.12.0
Release: 15%{?dist}
Version: 1.14.2
Release: 3%{?dist}
URL: http://www.cairographics.org
URL: https://www.cairographics.org
License: LGPLv2+
Source0: http://www.cairographics.org/releases/%{name}-%{version}.tar.gz
%global src_base https://www.cairographics.org/releases
Source0: %{src_base}/%{name}-%{version}.tar.xz
# We cannot verify GPG signatures at this time because there is no published
# keychain or keyserver to get the signing key. (Additionally, the signature is
# over a cryptographically-weak SHA1 checksum.) See
# https://gitlab.freedesktop.org/cairo/cairomm/-/issues/25.
Source1: %{src_base}/%{name}-%{version}.tar.xz.sha1
Source2: %{src_base}/%{name}-%{version}.tar.xz.sha1.asc
# Source3 reserved for future GPG keyring
# https://gitlab.freedesktop.org/cairo/cairomm/-/issues/25
# BuildRequires: gnupg2
BuildRequires: gcc-c++
BuildRequires: make
BuildRequires: pkgconfig
%if %{with autoreconf}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool
BuildRequires: autoconf-archive
%endif
BuildRequires: meson
# mm-common-get
BuildRequires: mm-common
BuildRequires: cairo-devel
BuildRequires: libsigc++20-devel
BuildRequires: perl-interpreter
BuildRequires: perl(Getopt::Long)
BuildRequires: doxygen
# dot
BuildRequires: graphviz
# xsltproc
BuildRequires: libxslt
# For tests:
BuildRequires: boost-devel
BuildRequires: fontconfig
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)
BuildRequires: pkgconfig(mm-common-libstdc++)
BuildRequires: pkgconfig(sigc++-2.0)
%description
This library provides a C++ interface to cairo.
@ -59,40 +84,46 @@ documentation browser or through a web browser at
%prep
# https://gitlab.freedesktop.org/cairo/cairomm/-/issues/25
pushd "$(dirname %{SOURCE1})"
sha1sum -c "$(basename %{SOURCE1})"
popd
# %%{gpgverify} --keyring='%%{SOURCE3}' --signature='%%{SOURCE2}' \
# --data='%%{SOURCE1}'
%setup -q
# We must remove the jQuery/jQueryUI bundle with precompiled/minified/bundled
# JavaScript that is in 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 docs/reference/html
rm docs/reference/%{name}-%{apiver}.tag \
docs/reference/%{name}-%{apiver}.devhelp2
# 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/%{name}-%{apiver}.tag \
untracked/docs/reference/%{name}-%{apiver}.devhelp2
%build
%if %{with autoreconf}
# Update obsolete Boost m4 macros
cp -vp %{_datadir}/aclocal/ax_boost_base.m4 \
%{_datadir}/aclocal/ax_boost_unit_test_framework.m4 \
build/
NOCONFIGURE=1 ./autogen.sh
%endif
%configure --disable-static
%make_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
%make_install
%meson_install
find %{buildroot} -type f -name '*.la' -print -delete
install -t %{buildroot}%{_datadir}/doc/%{name}-%{apiver} -m 0644 -p \
AUTHORS ChangeLog MAINTAINERS NEWS README
cp -rp examples %{buildroot}%{_datadir}/doc/%{name}-%{apiver}/
# Currently, we cannot run the tests because they require a static boost-test
# library.
%check
%meson_test
%files
@ -116,6 +147,25 @@ install -t %{buildroot}%{_datadir}/doc/%{name}-%{apiver} -m 0644 -p \
%changelog
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-3
- Switch from autotools to meson; enable the tests, since the meson build system
permits us to use a shared boost library
- Install examples in the -doc subpackage
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-2
- Restore removal of pre-built documentation with its minified JS bundle
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-1
- Update to 1.14.2; this adds new APIs, but is ABI-backwards-compatible
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.12.2-1
- Update to 1.12.2
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.12.0-16
- Switch URLs from HTTP to HTTPS
- Rough out code to verify source tarball signatures, and document why we
cannot yet do so
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.12.0-15
- Spec file style tweaks
- Macro-ize documentation path in description

View File

@ -1 +1,3 @@
481501be65bcc34a605d6bc0f57a0023 cairomm-1.12.0.tar.gz
SHA512 (cairomm-1.14.2.tar.xz) = aef374fca25ad22770407e36512046b266d71ebeccd47fb629cfbf2f67783aa314bb335b972088a88d98417a4774d6f144cd2769c452f8aa23770eae08dca592
SHA512 (cairomm-1.14.2.tar.xz.sha1) = 045fcd7380a2c63866edd10539a1daae6f36a22614b9fffaad60ea32a82b0ca221ba56596edf357d820cfe0880513ef61cb8bd34077e73bb94e51981b826bfd2
SHA512 (cairomm-1.14.2.tar.xz.sha1.asc) = 992f2ab7be68ce7570ba49efa40cc12cc2d2ed13983127892f1335401a184f3cb35e1a4b422d7ff0d234a0085bbc0dac9c84f183133f40ac47e668fb6d21f3c6