Blob Blame History Raw
%global snapdate 20131001
%global commit d90ea2b2d01b27a7adf0501f644a7782e50362fe
%global shortcommit %(c=%{commit}; echo ${c:0:7})

Name:           gumbo-parser
Version:        1.0
Release:        0.2.%{snapdate}git%{shortcommit}%{?dist}
Summary:        A HTML5 parser

License:        ASL 2.0
URL:            https://github.com/google/gumbo-parser

Source0:        https://github.com/google/gumbo-parser/archive/%{commit}/gumbo-parser-1.0-%{snapdate}git%{shortcommit}.tar.gz
# Fix up Doxyfile
Patch1:         0001-Doxygen-tweaks.patch
# Autotool generated sources
Patch2:         0002-Autotool-generated-sources.patch

# For the tests
BuildRequires: gtest-devel

# For the docs
BuildRequires: doxygen

# For the python bindings
BuildRequires: python3-setuptools
BuildRequires: python3-devel

%description
Gumbo is an implementation of the HTML5 parsing algorithm implemented as
a pure C99 library with no outside dependencies. It's designed to serve
as a building block for other tools and libraries such as linters,
validators, templating languages, and refactoring and analysis tools.

%package        devel
Summary:        Development files for %{name}
Requires:       %{name}%{?_isa} = %{version}-%{release}

%description    devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package	python
Summary:        Python bindings to %{name}
Requires:       %{name} = %{version}-%{release}
BuildArch:      noarch

%description	python
Python bindings to %{name}.

%prep
%setup -q -n %{name}-%{commit}
%patch1 -p1

# Package has autotools compatibility issues
# Use prebuilt autotool generated sources
%patch2 -p1
# Fix up permissions
chmod +x config.guess config.sub configure \
depcomp install-sh missing test-driver
# Fix up timestamps
touch -r aclocal.m4 configure m4/*.m4 Makefile.in

# Doxygen standard footers are not multilib-compliant
# Create a custom one.
doxygen -w html footer.html /dev/null /dev/null
sed -i -e 's,\$generatedby,Generated on $date for $projectname by,' footer.html

# Update Doxyfile
doxygen -u Doxyfile


%build
%configure --disable-static --disable-silent-rules --docdir=%{_pkgdocdir}
make %{?_smp_mflags}

# Build doxgen docs
doxygen Doxyfile

# python bindings
%{__python3} setup.py build

%check
make check

%install
%make_install
find $RPM_BUILD_ROOT -name '*.la' -exec rm -f {} ';'

install -m 755 -d ${RPM_BUILD_ROOT}%{_mandir}/man3
install -m 644 docs/man/man3/*.3 ${RPM_BUILD_ROOT}%{_mandir}/man3

install -m 755 -d ${RPM_BUILD_ROOT}%{_pkgdocdir}
cp -r docs/html ${RPM_BUILD_ROOT}%{_pkgdocdir}
install -m 644 {COPYING,*.md} ${RPM_BUILD_ROOT}%{_pkgdocdir}

# python bindings
%{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig


%files
%doc %{_pkgdocdir}/COPYING
%exclude %{_pkgdocdir}/html
%exclude %{_pkgdocdir}/*.md
%{_libdir}/*.so.*

%files devel
%doc %{_pkgdocdir}/html
%doc %{_pkgdocdir}/*.md
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/gumbo.pc
%{_mandir}/man3/*.3*

%files python
%{python3_sitelib}/*

%changelog
* Thu Oct 17 2013 Ralf Cors├ępius <corsepiu@fedoraproject.org> - 1.0-0.2.20131001gitd90ea2b
- Update tarball.
- Add autotool genered source-files.
- Fix up doxygen support/Work-around doxygen regressions.
- Reflect review feedback.
- Merge main package docs and *devel-docs into common subdir.
- Enforce python3.

* Fri Aug 16 2013 Ralf Cors├ępius <corsepiu@fedoraproject.org> - 1.0-0.1.20130816git88ee911
- Initial Fedora package.