|
|
|
@ -1,261 +1,93 @@
|
|
|
|
|
%global so_version 1
|
|
|
|
|
%global apiver 1.0
|
|
|
|
|
|
|
|
|
|
# “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
|
|
|
|
|
%global cairo_version 1.10.0
|
|
|
|
|
%global libsigc_version 2.5.1
|
|
|
|
|
|
|
|
|
|
Name: cairomm
|
|
|
|
|
Summary: C++ API for the cairo graphics library
|
|
|
|
|
Version: 1.14.2
|
|
|
|
|
Release: 10%{?dist}
|
|
|
|
|
|
|
|
|
|
URL: https://www.cairographics.org
|
|
|
|
|
Name: cairomm
|
|
|
|
|
Version: 1.12.0
|
|
|
|
|
Release: 8%{?dist}
|
|
|
|
|
URL: http://www.cairographics.org
|
|
|
|
|
License: LGPLv2+
|
|
|
|
|
|
|
|
|
|
%global src_base https://www.cairographics.org/releases
|
|
|
|
|
Source0: %{src_base}/%{name}-%{version}.tar.xz
|
|
|
|
|
# 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
|
|
|
|
|
# https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/290.
|
|
|
|
|
Source1: %{src_base}/cairomm-%{version}.tar.xz.asc
|
|
|
|
|
Source2: https://gitlab.freedesktop.org/freedesktop/freedesktop/uploads/0ac64e9582659f70a719d59fb02cd037/gpg_key.pub
|
|
|
|
|
|
|
|
|
|
BuildRequires: gnupg2
|
|
|
|
|
|
|
|
|
|
BuildRequires: gcc-c++
|
|
|
|
|
BuildRequires: meson
|
|
|
|
|
|
|
|
|
|
BuildRequires: pkgconfig(cairo)
|
|
|
|
|
BuildRequires: pkgconfig(sigc++-2.0)
|
|
|
|
|
BuildRequires: pkgconfig(fontconfig)
|
|
|
|
|
|
|
|
|
|
# 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)
|
|
|
|
|
|
|
|
|
|
%if %{with maintainer_mode}
|
|
|
|
|
# mm-common-get
|
|
|
|
|
BuildRequires: mm-common
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
Group: System Environment/Libraries
|
|
|
|
|
Source: http://www.cairographics.org/releases/%{name}-%{version}.tar.gz
|
|
|
|
|
BuildRequires: cairo-devel >= %{cairo_version}
|
|
|
|
|
BuildRequires: libsigc++20-devel >= %{libsigc_version}
|
|
|
|
|
BuildRequires: perl-interpreter
|
|
|
|
|
BuildRequires: perl(Getopt::Long)
|
|
|
|
|
BuildRequires: doxygen
|
|
|
|
|
# dot
|
|
|
|
|
BuildRequires: graphviz
|
|
|
|
|
# xsltproc
|
|
|
|
|
BuildRequires: libxslt
|
|
|
|
|
BuildRequires: pkgconfig(mm-common-libstdc++)
|
|
|
|
|
|
|
|
|
|
# For tests:
|
|
|
|
|
BuildRequires: boost-devel
|
|
|
|
|
|
|
|
|
|
# Based on discussion in
|
|
|
|
|
# https://src.fedoraproject.org/rpms/pangomm/pull-request/2, cairomm will
|
|
|
|
|
# continue to provide API/ABI version 1.0 indefinitely, with the cairomm1.16
|
|
|
|
|
# package providing the new 1.16 API/ABI series. This virtual Provides is
|
|
|
|
|
# therefore no longer required, as dependent packages requiring the 1.0 API/ABI
|
|
|
|
|
# may safely require cairomm and its subpackages.
|
|
|
|
|
Provides: %{name}%{apiver}%{?_isa} = %{version}-%{release}
|
|
|
|
|
BuildRequires: pkgconfig
|
|
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
This library provides a C++ interface to cairo.
|
|
|
|
|
|
|
|
|
|
The API/ABI version series is %{apiver}.
|
|
|
|
|
Requires: cairo%{?_isa} >= %{cairo_version}
|
|
|
|
|
Requires: libsigc++20%{?_isa} >= %{libsigc_version}
|
|
|
|
|
|
|
|
|
|
%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.
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
|
Summary: Development files for %{name}
|
|
|
|
|
Summary: Headers for developing programs that will use %{name}
|
|
|
|
|
Group: Development/Libraries
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
Provides: %{name}%{apiver}-devel%{?_isa} = %{version}-%{release}
|
|
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
|
The %{name}-devel package contains libraries and header files for developing
|
|
|
|
|
applications that use %{name}.
|
|
|
|
|
|
|
|
|
|
The API/ABI version series is %{apiver}.
|
|
|
|
|
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 package contains the libraries and header files needed for
|
|
|
|
|
developing %{name} applications.
|
|
|
|
|
|
|
|
|
|
%package doc
|
|
|
|
|
Summary: Documentation for %{name}
|
|
|
|
|
Summary: Developer's documentation for the cairomm library
|
|
|
|
|
Group: Documentation
|
|
|
|
|
BuildArch: noarch
|
|
|
|
|
Requires: libstdc++-docs
|
|
|
|
|
Requires: %{name} = %{version}-%{release}
|
|
|
|
|
Requires: libsigc++20-doc
|
|
|
|
|
|
|
|
|
|
Provides: %{name}%{apiver}-doc = %{version}-%{release}
|
|
|
|
|
%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 API/ABI version series is %{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
|
|
|
|
|
# Import developer’s public GPG key to a keyring that we can use for signature
|
|
|
|
|
# verification.
|
|
|
|
|
workdir="$(mktemp --directory)"
|
|
|
|
|
gpg2 --homedir="${workdir}" --yes --import '%{SOURCE2}'
|
|
|
|
|
gpg2 --homedir="${workdir}" --export --export-options export-minimal \
|
|
|
|
|
> %{name}.gpg
|
|
|
|
|
rm -rf "${workdir}"
|
|
|
|
|
|
|
|
|
|
%{gpgverify} \
|
|
|
|
|
--keyring='%{name}.gpg' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
|
|
|
|
|
|
|
|
|
%autosetup
|
|
|
|
|
# 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/%{name}-%{apiver}.tag \
|
|
|
|
|
untracked/docs/reference/%{name}-%{apiver}.devhelp2
|
|
|
|
|
|
|
|
|
|
%setup -q
|
|
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
|
|
%configure --disable-static
|
|
|
|
|
make %{?_smp_mflags}
|
|
|
|
|
|
|
|
|
|
%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}/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%check
|
|
|
|
|
%meson_test
|
|
|
|
|
%make_install
|
|
|
|
|
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
|
|
|
|
|
|
|
|
|
|
%ldconfig_scriptlets
|
|
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license COPYING
|
|
|
|
|
%{_libdir}/lib%{name}-%{apiver}.so.%{so_version}
|
|
|
|
|
%{_libdir}/lib%{name}-%{apiver}.so.%{so_version}.*
|
|
|
|
|
|
|
|
|
|
%doc AUTHORS README NEWS
|
|
|
|
|
%{_libdir}/lib*.so.*
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
%doc ChangeLog
|
|
|
|
|
%{_includedir}/%{name}-%{apiver}
|
|
|
|
|
%{_libdir}/lib%{name}-%{apiver}.so
|
|
|
|
|
%{_libdir}/pkgconfig/%{name}-%{apiver}.pc
|
|
|
|
|
%{_libdir}/pkgconfig/%{name}-*-%{apiver}.pc
|
|
|
|
|
%{_libdir}/*.so
|
|
|
|
|
%{_libdir}/pkgconfig/*
|
|
|
|
|
%{_libdir}/%{name}-%{apiver}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%files doc
|
|
|
|
|
%license COPYING
|
|
|
|
|
%doc %{_datadir}/doc/%{name}-%{apiver}/
|
|
|
|
|
%doc %{_datadir}/devhelp/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.14.2-10
|
|
|
|
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
|
|
|
|
Related: rhbz#1991688
|
|
|
|
|
|
|
|
|
|
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.14.2-9
|
|
|
|
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
|
|
|
|
|
|
|
|
* Sat Feb 20 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-8
|
|
|
|
|
- Verify source with new strong signatures from upstream
|
|
|
|
|
|
|
|
|
|
* Thu Feb 18 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-7
|
|
|
|
|
- Working (but weak, dependent on SHA1) source signature verification
|
|
|
|
|
- Added API/ABI version to descriptions
|
|
|
|
|
|
|
|
|
|
* Wed Feb 17 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-6
|
|
|
|
|
- Fix typo %%{_?isa} for %%{?_isa} in virtual Provides
|
|
|
|
|
- Tidy up BR’s, including dropping make
|
|
|
|
|
|
|
|
|
|
* Mon Feb 15 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-5
|
|
|
|
|
- Update comments based on the new plan for the version 1.16 API/ABI
|
|
|
|
|
|
|
|
|
|
* Thu Feb 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.14.2-4
|
|
|
|
|
- Prepare for future upgrade to API/ABI version 1.16 by introducing virtual
|
|
|
|
|
Provides for a name for API/ABI version 1.0: cairomm1.0. This will be the name
|
|
|
|
|
of a future package that continues to provide API/ABI version 1.0 after the
|
|
|
|
|
upgrade.
|
|
|
|
|
|
|
|
|
|
* 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
|
|
|
|
|
- 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 <releng@fedoraproject.org> - 1.12.0-14
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-13
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-12
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-11
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-10
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-9
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
|
|
|
|
|
|
|
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-8
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
|
|
|
|
* Thu Oct 15 2020 Tomas Popela <tpopela@redhat.com> - 1.12.0-8
|
|
|
|
|
- Rebuild for the annobin fixes
|
|
|
|
|
- Resolves: rhbz#1703971
|
|
|
|
|
|
|
|
|
|
* Sun Feb 04 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.12.0-7
|
|
|
|
|
- Switch to %%ldconfig_scriptlets
|
|
|
|
@ -408,7 +240,7 @@ cp -rp examples %{buildroot}%{_datadir}/doc/%{name}-%{apiver}/
|
|
|
|
|
|
|
|
|
|
* Sun Mar 5 2006 Rick L Vinyard Jr <rvinyard@cs.nmsu.edu> - 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 <rvinyard@cs.nmsu.edu> - 0.5.0-9
|
|
|
|
|
- Removed requires since BuildRequires is present
|
|
|
|
|