From 6e9e479d4ce9e60d131b215fc5b5b76975cb9144 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Thu, 11 Feb 2021 20:01:13 +0000 Subject: [PATCH] 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 --- .gitignore | 11 +++++ cairomm.spec | 122 ++++++++++++++++++++++++++++++++++++--------------- sources | 4 +- 3 files changed, 100 insertions(+), 37 deletions(-) diff --git a/.gitignore b/.gitignore index 7e3fe24..f235235 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/cairomm.spec b/cairomm.spec index ff58127..b6f7132 100644 --- a/cairomm.spec +++ b/cairomm.spec @@ -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 - 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 - 1.14.2-2 +- Restore removal of pre-built documentation with its minified JS bundle + +* Thu Feb 11 2021 Benjamin A. Beasley - 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 - 1.12.2-1 +- Update to 1.12.2 + +* Thu Feb 11 2021 Benjamin A. Beasley - 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 - 1.12.0-15 - Spec file style tweaks - Macro-ize documentation path in description diff --git a/sources b/sources index 19f4153..b4ebc36 100644 --- a/sources +++ b/sources @@ -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