#
# Conditional build:
-%bcond_with introspection # API introspection
-%bcond_with vala # Vala API
+%bcond_without apidocs # gi-docgen API documentation
+%bcond_without static_libs # static library
+%bcond_with mmx # MMX instructions
+%bcond_with sse # SSE instructions
+%bcond_with sse2 # SSE2 instructions in CIE,two-table,ycbcr modules, sse2-* modules
+# sse4.1, avx2, f16c are optional (in separate modules)
+# sse2 is runtime-detected, but whole files are compiled with -msse2, so it's not optional
#
-%if %{without introspection}
-%undefine with_vala
+%ifarch pentium2 pentium3 pentium4 athlon %{x8664} x32
+%define with_mmx 1
+%endif
+%ifarch pentium3 pentium4 %{x8664} x32
+%define with_sse 1
+%endif
+%ifarch pentium4 %{x8664} x32
+%define with_sse2 1
%endif
Summary: Library for pixel-format agnosticism
Summary(pl.UTF-8): Biblioteka niezależności od formatu piksela
Name: babl
-Version: 0.1.10
+Version: 0.1.108
Release: 1
License: LGPL v3+
Group: Libraries
-Source0: ftp://ftp.gimp.org/pub/babl/0.1/%{name}-%{version}.tar.bz2
-# Source0-md5: 9e1542ab5c0b12ea3af076a9a2f02d79
-Patch0: %{name}-as-needed.patch
-Patch1: %{name}-gir-fix.patch
-URL: http://www.gegl.org/babl/
-BuildRequires: autoconf >= 2.54
-BuildRequires: automake >= 1:1.11
-%{?with_introspection:BuildRequires: gobject-introspection-devel >= 0.10}
-BuildRequires: libtool >= 2:2.2
-%{?with_vala:BuildRequires: vala}
+Source0: https://download.gimp.org/pub/babl/0.1/%{name}-%{version}.tar.xz
+# Source0-md5: 749169721b551882332a64ac17735de6
+URL: https://www.gegl.org/babl/
+BuildRequires: gobject-introspection-devel >= 1.32.0
+BuildRequires: lcms2-devel >= 2.8
+BuildRequires: meson >= 0.55.0
+BuildRequires: ninja >= 1.5
+BuildRequires: pkgconfig
+BuildRequires: python3 >= 1:3
+BuildRequires: rpm-build >= 4.6
+BuildRequires: rpmbuild(macros) >= 2.029
+BuildRequires: tar >= 1:1.22
+BuildRequires: vala >= 2:0.20.0
+BuildRequires: xz
+%{?with_mmx:Requires: cpuinfo(mmx)}
+%{?with_sse:Requires: cpuinfo(sse)}
+%{?with_sse:Requires: cpuinfo(sse2)}
+Requires: lcms2 >= 2.8
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki babl
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
+Requires: lcms2-devel >= 2.8
%description devel
Header files for babl library.
Summary(pl.UTF-8): API języka Vala dla biblioteki babl
Group: Development/Libraries
Requires: %{name}-devel = %{version}-%{release}
-Requires: vala
+Requires: vala >= 2:0.20.0
+BuildArch: noarch
%description -n vala-babl
Vala API for babl library.
%description -n vala-babl -l pl.UTF-8
API języka Vala dla biblioteki babl.
+%package apidocs
+Summary: API documentation for babl library
+Summary(pl.UTF-8): Dokumentacja API biblioteki babl
+Group: Documentation
+BuildArch: noarch
+
+%description apidocs
+API documentation for babl library.
+
+%description apidocs -l pl.UTF-8
+Dokumentacja API biblioteki babl.
+
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
%build
-%{__libtoolize}
-%{__aclocal} -I m4
-%{__autoconf}
-%{__autoheader}
-%{__automake}
-%configure \
- %{?with_introspection:--enable-introspection} \
- --disable-silent-rules \
- --enable-static \
- %{!?with_vala:--without-vala}
-%{__make}
+%meson build \
+ %{!?with_static_libs:--default-library=shared} \
+ %{!?with_mmx:-Denable-mmx=false} \
+ %{!?with_sse:-Denable-sse=false} \
+ %{!?with_sse2:-Denable-sse2=false} \
+ %{!?with_apidocs:-Dgi-docgen=disabled}
+
+%ninja_build -C build
%install
rm -rf $RPM_BUILD_ROOT
-%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+%ninja_install -C build
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/babl-0.1/*.{la,a}
+%if %{with apidocs}
+install -d $RPM_BUILD_ROOT%{_gidocdir}
+%{__mv} $RPM_BUILD_ROOT%{_docdir}/babl-0.1 $RPM_BUILD_ROOT%{_gidocdir}
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc AUTHORS ChangeLog NEWS README TODO
+%doc AUTHORS MAINTAINERS NEWS TODO
+%attr(755,root,root) %{_bindir}/babl
%attr(755,root,root) %{_libdir}/libbabl-0.1.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libbabl-0.1.so.0
+%{_libdir}/girepository-1.0/Babl-0.1.typelib
%dir %{_libdir}/babl-0.1
%attr(755,root,root) %{_libdir}/babl-0.1/*.so
-%{?with_introspection:%{_libdir}/girepository-1.0/Babl-0.1.typelib}
%files devel
%defattr(644,root,root,755)
%doc docs/{*.html,*.css}
%attr(755,root,root) %{_libdir}/libbabl-0.1.so
-%{_libdir}/libbabl-0.1.la
%{_includedir}/babl-0.1
-%{?with_introspection:%{_datadir}/gir-1.0/Babl-0.1.gir}
-%{_pkgconfigdir}/babl.pc
+%{_datadir}/gir-1.0/Babl-0.1.gir
+%{_pkgconfigdir}/babl-0.1.pc
+%if %{with static_libs}
%files static
%defattr(644,root,root,755)
%{_libdir}/libbabl-0.1.a
+%endif
-%if %{with vala}
%files -n vala-babl
%defattr(644,root,root,755)
+%{_datadir}/vala/vapi/babl-0.1.deps
%{_datadir}/vala/vapi/babl-0.1.vapi
+
+%if %{with apidocs}
+%files apidocs
+%defattr(644,root,root,755)
+%{_gidocdir}/babl-0.1
%endif