1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
%if 0%{?rhel} && 0%{?rhel} <= 7
%global meson_python_flags -Dwith_py2=true
%global build_python2 1
%else
%global meson_python_flags -Dwith_py2=false
%global build_python2 0
%endif
%global upstream_name libmodulemd
%if (0%{?rhel} && 0%{?rhel} <= 7)
%global v2_suffix 2
%endif
# Rawhide builds currently fail when building with LTO
%define _lto_cflags %{nil}
Name: %{upstream_name}%{?v2_suffix}
Version: 0.0.0
Release: 0
Summary: Module metadata manipulation library
License: MIT
URL: https://github.com/fedora-modularity/libmodulemd
Source0: %{url}/releases/download/%{upstream_name}-%{version}/modulemd-%{version}.tar.xz
BuildRequires: meson >= 0.55
BuildRequires: pkgconfig
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(yaml-0.1)
BuildRequires: pkgconfig(gtk-doc)
BuildRequires: glib2-doc
BuildRequires: rpm-devel
%if %{build_python2}
BuildRequires: python2-devel
BuildRequires: python-gobject-base
%endif
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python%{python3_pkgversion}-gobject-base
# Patches
%description
C Library for manipulating module metadata files.
See https://github.com/fedora-modularity/libmodulemd/blob/main/README.md for
more details.
%if %{build_python2}
%package -n python2-%{name}
Summary: Python 2 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python-gobject-base
Requires: python-six
%description -n python2-%{name}
Python 2 bindings for %{name}
%endif
%package -n python%{python3_pkgversion}-%{name}
Summary: Python 3 bindings for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: python%{python3_pkgversion}-gobject-base
%if (0%{?rhel} && 0%{?rhel} <= 7)
# The py3_dist macro on EPEL 7 doesn't work right at the moment
Requires: python3.6dist(six)
%else
Requires: %{py3_dist six}
%endif
%description -n python%{python3_pkgversion}-%{name}
Python %{python3_pkgversion} bindings for %{name}
%package devel
Summary: Development files for libmodulemd
Requires: %{name}%{?_isa} = %{version}-%{release}
%if (0%{?rhel} && 0%{?rhel} <= 7)
Conflicts: libmodulemd1-devel
Conflicts: libmodulemd-devel
%endif
%description devel
Development files for libmodulemd.
%prep
%autosetup -p1 -n modulemd-%{version}
%build
%meson %{meson_python_flags}
%meson_build
%check
export LC_CTYPE=C.utf8
# Don't run tests on ARM for now. There are problems with
# performance on the builders and often these time out.
%ifnarch %{arm} aarch64
# The tests sometimes time out in CI, so give them a little extra time
%{__meson} test -C %{_vpath_builddir} %{?_smp_mesonflags} --print-errorlogs -t 5
%endif
%install
%meson_install
%if ( 0%{?rhel} && 0%{?rhel} <= 7)
# Don't conflict with modulemd-validator from 1.x included in the official
# RHEL 7 repos
mv %{buildroot}%{_bindir}/modulemd-validator \
%{buildroot}%{_bindir}/modulemd-validator%{?v2_suffix}
mv %{buildroot}%{_mandir}/man1/modulemd-validator.1 \
%{buildroot}%{_mandir}/man1/modulemd-validator%{?v2_suffix}.1
%endif
%ldconfig_scriptlets
%files
%license COPYING
%doc NEWS README.md
%{_bindir}/modulemd-validator%{?v2_suffix}
%{_mandir}/man1/modulemd-validator%{?v2_suffix}.1*
%{_libdir}/%{upstream_name}.so.2*
%dir %{_libdir}/girepository-1.0
%{_libdir}/girepository-1.0/Modulemd-2.0.typelib
%files devel
%{_libdir}/%{upstream_name}.so
%{_libdir}/pkgconfig/modulemd-2.0.pc
%{_includedir}/modulemd-2.0/
%dir %{_datadir}/gir-1.0
%{_datadir}/gir-1.0/Modulemd-2.0.gir
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/modulemd-2.0/
%if %{build_python2}
%files -n python2-%{name}
%{python2_sitearch}/gi/overrides/
%endif
%files -n python%{python3_pkgversion}-%{name}
%{python3_sitearch}/gi/overrides/
%changelog
|