Пакет tidy: Specfile

%define ver 171125
%define EVR %{?epoch:%epoch:}%version-%release
%define sover 5
%define libtidy lib%name%sover

Name: tidy
Version: 5.6.0
Release: alt2.20%ver
Epoch: 20171125

Summary: HTML Tidy helps keep webpages clean
License: W3C
Group: Text tools

Url: http://www.html-tidy.org/
# repacked https://github.com/htacg/tidy-html5/archive/refs/tags/%version.tar.gz
Source0: %name.tgz
Packager: Michael Shigorin <mike@altlinux.org>

Summary(ru_RU.UTF-8): HTML Tidy помогает чистить web-страницы
Summary(uk_UA.UTF-8): HTML Tidy допомагає чистити web-сторінки

BuildRequires(pre): rpm-macros-cmake
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: xsltproc

Requires: %libtidy = %EVR

%description
When editing HTML it's easy to make mistakes. Wouldn't it be nice
if there was a simple way to fix these mistakes automatically and
tidy up sloppy editing into nicely layed out markup? Well now
there is! Dave Raggett's HTML TIDY is a free utility for doing
just that. It also works great on the atrociously hard to read
markup generated by specialized HTML editors and conversion
tools, and can help you identify where you need to pay further
attention on making your pages more accessible to people with
disabilities.

Tidy is able to fix up a wide range of problems and to bring to
your attention things that you need to work on yourself. Each
item found is listed with the line number and column so that you
can see where the problem lies in your markup. Tidy won't
generate a cleaned up version when there are problems that it
can't be sure of how to handle. These are logged as "errors"
rather than "warnings".

%description -l ru_RU.UTF-8
При редактировании HTML легко ошибиться.  Правда, было бы
неплохо, чтобы существовал простой путь автоматического
исправления таких ошибок и подчистки несуразного текста до
аккуратной разметки?  Теперь он есть!  Свободная утилита HTML
TIDY от Dave Ragett занимается именно этим.  Также способствует
обработке особенно нечитабельной разметки из-под
специализированных редакторов HTML и утилит конвертирования;
может помочь найти места, требующие внимания для повышения
доступности информации.

Tidy может справиться со многими проблемами и привлечь внимание
к тому, что лучше исправить вручную.  Каждая обнаруженная проблема
выдается с номером строки и колонкой, чтоб было проще ее найти.
Tidy не будет создавать обработанную версию, пока остаются
проблемы, исправить которые автоматически не выходит --
они отмечаются как "ошибки", а не "замечания".

%description -l uk_UA.UTF-8
При редагуванні HTML легко помилитися.  Дійсно, було б непогано,
якщо б існував простий шлях автоматичного виправлення таких
помилок та підчистки незграбного тексту до чемної розмітки?
Тепер він є!  Вільна утиліта HTML TIDY від Dave Ragett займається
саме цим.  Також сприяє обробці особливо нездатної до читання
розмітки з-під спеціалізованих редакторів HTML та утиліт
конвертування; може допомогти знайти місця, що потребують на
додаткову увагу для підвищення досяжності інформації.

Tidy може впоратися із багатьма проблемами та пригорнути увагу
до того, що краще виправити вручну.  Кожна знайдена помилка
видається із номером рядку та колонкою, щоб її було легше знайти.
Tidy не буде створювати оброблену версію, доки залишаються
проблеми, виправити які автоматично не виходить -- вони
відмічаються як "помилки" замість "попереджень".

%package -n %libtidy
Summary: Shared libraries for %name
Group: System/Libraries

%description -n %libtidy
Shared libraries for %name

%package -n lib%name-devel
Summary: Header files and libraries for %name development
Group: Development/C
Requires: %libtidy = %EVR

%description -n lib%name-devel
Header files and libraries for %name development

%if_enabled static
%package -n lib%name-devel-static
Summary: Static libraries for %name development
Group: Development/C
Requires: lib%name-devel = %EVR

%description -n lib%name-devel-static
Static libraries for %name development
%endif

%prep
%setup -n %name
# strip UTF8 BOM (lcc chokes otherwise)
find -name '*.c' -o -name '*.h' | xargs sed -ri 's,^\xEF\xBB\xBF,,'

%build
%cmake \
  -DCMAKE_BUILD_TYPE:STRING=Release
  #

%cmake_build

%install
%cmake_install

# compat symlinks for header renames
# until apps are adapted for the new api
ln -s tidybuffio.h %buildroot%_includedir/buffio.h
ln -s tidyplatform.h %buildroot%_includedir/platform.h

%if_enabled static
%else
rm %buildroot%_libdir/*.a
%endif

%files
%doc README
%_bindir/*
%_man1dir/*

%files -n %libtidy
%_libdir/lib%name.so.%sover
%_libdir/lib%name.so.%sover.*

%files -n lib%name-devel
%_includedir/*
%_libdir/*.so
%_pkgconfigdir/%name.pc

%if_enabled static
%files -n lib%name-devel-static
%_libdir/*.a
%endif

%changelog
* Tue Oct 19 2021 Nikolay Burykin <bne@altlinux.org> 20171125:5.6.0-alt2.20171125
- changed license "W3C license" to "W3C" (according to common-license)
- changed source name from tidy_src_release to tidy

* Fri Aug 06 2021 Nikolay Burykin <bne@altlinux.org> 20171125:5.6.0-alt1.20171125
- update to 5.6

* Wed Apr 28 2021 Arseny Maslennikov <arseny@altlinux.org> 20171110:5.4-alt3.20170301.1
- NMU: spec: adapted to new cmake macros.

* Sat Mar 30 2019 Michael Shigorin <mike@altlinux.org> 20171110:5.4-alt3.20170301
- fix build on e2k (strip UTF8 BOM)

* Wed Nov 15 2017 Oleg Solovyov <mcpain@altlinux.org> 20171110:5.4-alt2.20170301
- include compatibility headers

* Fri Nov 10 2017 Oleg Solovyov <mcpain@altlinux.org> 20171110:5.4-alt1.20170301
- update to 5.4

* Tue May 22 2012 Michael Shigorin <mike@altlinux.org> 20120522:0.99-alt11.20051026
- clarified interpackage dependencies regarding Epoch:
  to be more strict (thanks led@ for spotting this)

* Tue Oct 11 2011 Alexey Tourbin <at@altlinux.ru> 20060420:0.99-alt10.20051026
- rebuilt for debuginfo

* Fri Nov 26 2010 Michael Shigorin <mike@altlinux.org> 20060420:0.99-alt9.20051026
- rebuilt for set versions
- don't leave static library if not requested

* Sat Dec 06 2008 Michael Shigorin <mike@altlinux.org> 20060420:0.99-alt8.20051026
- added Packager:
- minor spec cleanup

* Thu Dec 04 2008 Michael Shigorin <mike@altlinux.org> 20060420:0.99-alt7.20051026
- applied repocop patch

* Thu Apr 20 2006 Michael Shigorin <mike@altlinux.org> 20060420:0.99-alt6.20051026
- added strict library requires (#9437), thanks icesik@

* Fri Mar 31 2006 Michael Shigorin <mike@altlinux.org> 20060331:0.99-alt5.20051026
- updated: src 051026, docs 051020
- resurrected missing man_page.txt from older docs tarball

* Sat Apr 30 2005 Michael Shigorin <mike@altlinux.ru> 20050430:0.99-alt4.20031101
- #6756 (interpackage requires for devel ones)

* Tue Dec 23 2003 Michael Shigorin <mike@altlinux.ru> 20031223:0.99-alt3_20031101
- 20031101
- removed *.la
- don't build static library by default

* Mon Oct 06 2003 Michael Shigorin <mike@altlinux.ru> 20031006:0.99-alt2_20031002
- 20031002

* Wed Aug 20 2003 Michael Shigorin <mike@altlinux.ru> 20030820:0.99-alt1_20030815
- 20030815
- fix upon broken 20030801-alt2's /usr/bin/tidy (ouch!)
- spec update/cleanup (also looking at Fedora one)
- libification
- since library API version appears to be 0.99, that will be the
  %%version; Epoch added to support transition.

* Fri Aug 15 2003 Michael Shigorin <mike@altlinux.ru> 20030801-alt2
- cleaned up for Sisyphus

* Fri Aug 08 2003 Michael Bykov <michael@michael.rsuh.ru> 20030801-alt1
- tidy.sf.net [changelog entry by mike@]

* Mon Oct 28 2002 Michael Shigorin <mike@altlinux.ru> 20000804-alt1
- rebuilt with gcc 3.2

* Sat May 25 2002 Michael Shigorin <mike@altlinux.ru> 4aug00-alt0.1
- built for ALT Linux