From 821245a48bb98a0b8c07be4f1027efd796e0bcd3 Mon Sep 17 00:00:00 2001 From: DistroBaker Date: Thu, 11 Feb 2021 17:00:16 +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#83a300a58383820f053c489914da6ed01a028a15 --- cairomm.rpmlintrc | 4 ++ cairomm.spec | 131 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 95 insertions(+), 40 deletions(-) create mode 100644 cairomm.rpmlintrc diff --git a/cairomm.rpmlintrc b/cairomm.rpmlintrc new file mode 100644 index 0000000..4be171f --- /dev/null +++ b/cairomm.rpmlintrc @@ -0,0 +1,4 @@ +# Explicit dependencies among documentation packages are indeed reasonable +addFilter(r' explicit-lib-dependency .*-doc[s]?$') +# All of the documentation is in the -doc subpackage, of course! +addFilter(r' no-documentation$') diff --git a/cairomm.spec b/cairomm.spec index 4faed32..ff58127 100644 --- a/cairomm.spec +++ b/cairomm.spec @@ -1,89 +1,140 @@ +%global so_version 1 %global apiver 1.0 -%global cairo_version 1.10.0 -%global libsigc_version 2.5.1 +%bcond_without autoreconf -Summary: C++ API for the cairo graphics library Name: cairomm +Summary: C++ API for the cairo graphics library Version: 1.12.0 -Release: 14%{?dist} +Release: 15%{?dist} + URL: http://www.cairographics.org License: LGPLv2+ -Source: http://www.cairographics.org/releases/%{name}-%{version}.tar.gz + +Source0: http://www.cairographics.org/releases/%{name}-%{version}.tar.gz + BuildRequires: gcc-c++ -BuildRequires: cairo-devel >= %{cairo_version} -BuildRequires: libsigc++20-devel >= %{libsigc_version} +BuildRequires: make +BuildRequires: pkgconfig + +%if %{with autoreconf} +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: autoconf-archive +%endif +BuildRequires: mm-common + +BuildRequires: cairo-devel +BuildRequires: libsigc++20-devel + BuildRequires: perl-interpreter BuildRequires: perl(Getopt::Long) -BuildRequires: pkgconfig -BuildRequires: make -Requires: cairo%{?_isa} >= %{cairo_version} -Requires: libsigc++20%{?_isa} >= %{libsigc_version} +BuildRequires: doxygen %description -Cairomm is the C++ API for the cairo graphics library. It offers all the power -of cairo with an interface familiar to C++ developers, including use of the -Standard Template Library where it makes sense. +This library provides a C++ interface to cairo. + %package devel -Summary: Headers for developing programs that will use %{name} +Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} %description devel -Cairomm is the C++ API for the cairo graphics library. It offers all the power -of cairo with an interface familiar to C++ developers, including use of the -Standard Template Library where it makes sense. +The %{name}-devel package contains libraries and header files for developing +applications that use %{name}. -This package contains the libraries and header files needed for -developing %{name} applications. %package doc -Summary: Developer's documentation for the cairomm library +Summary: Documentation for %{name} BuildArch: noarch -Requires: %{name} = %{version}-%{release} +Requires: libstdc++-docs Requires: libsigc++20-doc -%description doc -This package contains developer's documentation for the cairomm -library. Cairomm is the C++ API for the cairo graphics library. +%description doc +Documentation for %{name} can be viewed either through the devhelp +documentation browser or through a web browser at +%{_datadir}/doc/%{name}-%{apiver}/. -The documentation can be viewed either through the devhelp -documentation browser or through a web browser. - -If using a web browser the documentation is installed in the gtk-doc -hierarchy and can be found at /usr/share/doc/cairomm-1.0 %prep -%setup -q +%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 + %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 %{?_smp_mflags} +%make_build + %install %make_install -find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' +find %{buildroot} -type f -name '*.la' -print -delete + +install -t %{buildroot}%{_datadir}/doc/%{name}-%{apiver} -m 0644 -p \ + AUTHORS ChangeLog MAINTAINERS NEWS README + + +# Currently, we cannot run the tests because they require a static boost-test +# library. -%ldconfig_scriptlets %files %license COPYING -%doc AUTHORS README NEWS -%{_libdir}/lib*.so.* +%{_libdir}/lib%{name}-%{apiver}.so.%{so_version} +%{_libdir}/lib%{name}-%{apiver}.so.%{so_version}.* + %files devel -%doc ChangeLog %{_includedir}/%{name}-%{apiver} -%{_libdir}/*.so -%{_libdir}/pkgconfig/* +%{_libdir}/lib%{name}-%{apiver}.so +%{_libdir}/pkgconfig/%{name}-%{apiver}.pc +%{_libdir}/pkgconfig/%{name}-*-%{apiver}.pc %{_libdir}/%{name}-%{apiver} + %files doc +%license COPYING %doc %{_datadir}/doc/%{name}-%{apiver}/ %doc %{_datadir}/devhelp/ + %changelog +* Thu Feb 11 2021 Benjamin A. Beasley - 1.12.0-15 +- Spec file style tweaks +- Macro-ize documentation path in description +- Simplified summaries and descriptions +- Use make macros (https://src.fedoraproject.org/rpms/cairomm/pull-request/1) +- Drop obsolete %%ldconfig_scriptlets macro +- Much stricter file globs, including so-version +- Stop requiring the base package from the -doc package +- Migrate top-level text file documentation to the -doc subpackage +- BR mm-common; at minimum, this lets us find tags for libstdc++ documentation; + require libstdc++-docs from the -doc subpackage, since we are now able to + find the tag file in configure +- Remove bundled jQuery/jQueryUI from prebuilt documentation, and rebuild the + documentation ourselves +- Add a note explaining why we cannot run the tests +- Drop explicit/manual lib Requires on cairo/libsigc++20 +- Drop version requirements in BRs +- Rebuild autotools-generated files + * Tue Jan 26 2021 Fedora Release Engineering - 1.12.0-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild @@ -256,7 +307,7 @@ find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';' * Sun Mar 5 2006 Rick L Vinyard Jr - 0.5.0-10 - Removed duplicate Group tag in devel -- Disabled docs till they're fixed upstream +- Disabled docs till they're fixed upstream * Sun Mar 5 2006 Rick L Vinyard Jr - 0.5.0-9 - Removed requires since BuildRequires is present