Blob Blame History Raw
Name:		htmldoc
Version:	1.8.28
Release:	6%{?dist}
Summary:	Converter from HTML into indexed HTML, PostScript, or PDF

# GPLv2 with OpenSSL exception
License:	GPLv2 with exceptions
URL:		http://www.htmldoc.org/
Source0: 	http://www.msweet.org/files/project1/htmldoc-%{version}-source.tar.bz2

# fix desktop icon (http://www.htmldoc.org/str.php?L169)
Patch0: 	htmldoc-1.8.27-desktop-icon.patch
# fix build, errno/EINVAL undefined
Patch1: 	htmldoc-1.8.28-errno.patch
# use Fedora system fonts (http://www.htmldoc.org/str.php?L196)
Patch2: 	htmldoc-1.8.27-system-fonts.patch
# fix MAKEFLAGS usage
Patch3:         htmldoc-1.8.28-Makefile.patch
# backport fix for  CVE-2019-19630
Patch4:         htmldoc-1.8.28-CVE-2019-19630.patch

# FIXME, build currently fails if clang is present
BuildConflicts: clang
BuildRequires:	gnutls-devel libgcrypt-devel
BuildRequires:	libjpeg-devel libpng-devel zlib-devel
BuildRequires:	fltk-devel libXpm-devel desktop-file-utils
BuildRequires:	fontpackages-devel
BuildRequires:	dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts
BuildRequires:	urw-base35-fonts-legacy
BuildRequires:	ttf2pt1 t1utils

Requires:	dejavu-sans-fonts dejavu-sans-mono-fonts dejavu-serif-fonts
Requires:	urw-base35-fonts-legacy
Requires:	ttf2pt1 t1utils


%description
HTMLDOC converts HTML source files into indexed HTML, PostScript, or
Portable Document Format (PDF) files that can be viewed online or
printed. With no options a HTML document is produced on stdout.

The second form of HTMLDOC reads HTML source from stdin, which allows
you to use HTMLDOC as a filter.

The third form of HTMLDOC launches a graphical interface that allows
you to change options and generate documents interactively.


%prep
%setup -q

# fix up hardcoded documentation path
sed -i 's/\(\$prefix\/share\/doc\/htmldoc\)/\1-%{version}/g' configure

# hack to disable silent build
sed -i 's|^.SILENT:|#.SILENT:|g' Makedefs.in

%patch0 -p1 -b .desktop-icon
%patch1 -p1 -b .errno

%patch2 -p1 -b .system-fonts
%patch3 -p1 -b .Makefile
%patch4 -p1 -b .CVE-2019-19630

pushd fonts
rm -fv *.pfa *.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n022003l.afm Courier.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n022004l.afm Courier-Bold.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n022024l.afm Courier-BoldOblique.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n022024l.pfb Courier-BoldOblique.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n022004l.pfb Courier-Bold.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n022023l.afm Courier-Oblique.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n022023l.pfb Courier-Oblique.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n022003l.pfb Courier.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/d050000l.afm Dingbats.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/d050000l.pfb Dingbats.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n019003l.afm Helvetica.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n019004l.afm Helvetica-Bold.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n019024l.afm Helvetica-BoldOblique.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n019024l.pfb Helvetica-BoldOblique.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n019004l.pfb Helvetica-Bold.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n019023l.afm Helvetica-Oblique.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n019023l.pfb Helvetica-Oblique.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n019003l.pfb Helvetica.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/s050000l.afm Symbol.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/s050000l.pfb Symbol.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n021004l.afm Times-Bold.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n021024l.afm Times-BoldItalic.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n021024l.pfb Times-BoldItalic.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n021004l.pfb Times-Bold.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n021023l.afm Times-Italic.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n021023l.pfb Times-Italic.pfb
ln -s %{_datadir}/X11/fonts/urw-fonts/n021003l.afm Times-Roman.afm
ln -s %{_datadir}/X11/fonts/urw-fonts/n021003l.pfb Times-Roman.pfb
ln -s %{_fontbasedir}/dejavu/DejaVuSans-BoldOblique.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSans-Bold.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSansMono-BoldOblique.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSansMono-Bold.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSansMono-Oblique.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSansMono.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSans-Oblique.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSans.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSerif-BoldItalic.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSerif-Bold.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSerif-Italic.ttf
ln -s %{_fontbasedir}/dejavu/DejaVuSerif.ttf
popd


%build
%configure \
  OPTIM="$CFLAGS"

# hack to fix fltk-related linking
sed -i -e 's|-lfltk_images|-lfltk_images -lfltk|g' Makedefs

%make_build


%install
make install  \
  prefix=${RPM_BUILD_ROOT}%{_prefix}\
  mandir=${RPM_BUILD_ROOT}%{_mandir}\
  bindir=${RPM_BUILD_ROOT}%{_bindir}\
  datadir=${RPM_BUILD_ROOT}%{_datadir}

# kill thing which we get later in the right place with %doc
rm -rf ${RPM_BUILD_ROOT}%{_docdir}/htmldoc

# install icons
for s in 16 24 32 48 64 96 128; do 			\
	install -d ${RPM_BUILD_ROOT}%{_datadir}/icons/hicolor/${s}x${s}/apps; \
	cp -a desktop/htmldoc-$s.png 			\
	${RPM_BUILD_ROOT}%{_datadir}/icons/hicolor/${s}x${s}/apps/htmldoc.png;\
done

# install MIME
install -p -m644 -D \
	desktop/htmldoc.xml \
	${RPM_BUILD_ROOT}%{_datadir}/mime/packages/htmldoc.xml

# desktop file
desktop-file-install \
	--dir ${RPM_BUILD_ROOT}%{_datadir}/applications		\
	--remove-category=X-Red-Hat-Base			\
	--add-mime-type=application/vnd.htmldoc-book		\
	desktop/htmldoc.desktop


%post
touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
touch --no-create %{_datadir}/mime/packages &> /dev/null || :

%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
update-desktop-database -q &> /dev/null ||:
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :

%postun
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &> /dev/null || :
gtk-update-icon-cache %{_datadir}/icons/hicolor &> /dev/null || :
update-desktop-database -q &> /dev/null ||:
touch --no-create %{_datadir}/mime/packages &> /dev/null || :
update-mime-database %{?fedora:-n} %{_datadir}/mime &> /dev/null || :
fi

%files
%doc doc/intro.html doc/c-relnotes.html doc/htmldoc.{html,pdf,ps} doc/help.html
%doc CHANGES.txt README.txt
%license COPYING.txt
%{_datadir}/htmldoc
%{_datadir}/applications/*
%{_mandir}/man1/*
%{_bindir}/htmldoc
%{_datadir}/icons/hicolor/*/apps/*
%{_datadir}/mime/packages/htmldoc.xml


%changelog
* Tue Dec 17 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.8.28-6
- backport fix for CVE-2019-19630 (#1783941)

* Mon Oct 21 2019 Rex Dieter <rdieter@fedoraproject.org> 1.8.28-5
- fix build, use urw-base35-fonts-legacy (#1756521)
- .spec cleanup, use %%make_build %%license

* Sat Aug 09 2014 Rex Dieter <rdieter@fedoraproject.org> 1.8.28-4
- fixdso.patch no longer needed

* Sat Aug 09 2014 Rex Dieter <rdieter@fedoraproject.org> 1.8.28-3
- optimize/update scriptlets

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.28-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Wed May 14 2014 Rex Dieter <rdieter@fedoraproject.org> 1.8.28-1
- htmldoc-1.8.28

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Wed Apr 24 2013 Jon Ciesla <limburgher@gmail.com> - 1.8.27-24
- Drop desktop vendor tag.

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 1.8.27-22
- rebuild due to "jpeg8-ABI" feature drop

* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 1.8.27-21
- rebuild against new libjpeg

* Sat Sep  1 2012 Daniel Drake <dsd@laptop.org> - 1.8.27-20
- fix libpng-1.5 patch to not corrupt images

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Fri Jan 13 2012 Rex Dieter <rdieter@fedoraproject.org> 1.8.27-18
- fix build against libpng-1.5

* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild

* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 1.8.27-16
- Rebuild for new libpng

* Tue Jun 14 2011 Peter Robinson <pbrobinson@gmail.com> - 1.8.27-15
- Fix DSO linking so htmldoc actually compiles and works - RHBZ 631135 and others

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Aug 21 2009 Tomas Mraz <tmraz@redhat.com> - 1.8.27-13
- rebuilt with new openssl

* Thu Aug 13 2009 Adam Goode <adam@spicenitz.org> - 1.8.27-12
- Fix limitation of -D_FORTIFY_SOURCE=2 (#511520)
- Fix scanf overflows (#512513)

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.8.27-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Tue Feb 10 2009 Adam Goode <adam@spicenitz.org> - 1.8.27-9
- Patch to specify Dingbats as a standard PS and PDF font
- Use system fonts to conform to new font guidelines (#477397)

* Fri Jan 16 2009 Tomas Mraz <tmraz@redhat.com> - 1.8.27-8
- rebuild with new openssl

* Sat Aug 30 2008 Adam Goode <adam@spicenitz.org> - 1.8.27-7
- RPM 4.6 fix for patch tag

* Sat Feb  9 2008 Adam Goode <adam@spicenitz.org> - 1.8.27-6
- GCC 4.3 mass rebuild

* Wed Dec  5 2007 Adam Goode <adam@spicenitz.org> - 1.8.27-5
- Fix desktop file validation

* Wed Dec 05 2007 Release Engineering <rel-eng at fedoraproject dot org> - 1.8.27-4
 - Rebuild for deps

* Wed Aug 22 2007 Adam Goode <adam@spicenitz.org> - 1.8.27-3
- Update license tag
- Rebuild for buildid

* Sat May  5 2007 Adam Goode <adam@spicenitz.org> - 1.8.27-2
- Remove X-Fedora

* Thu Aug 31 2006 Adam Goode <adam@spicenitz.org> - 1.8.27-1.1
- Mass rebuild

* Wed Aug  2 2006 Adam Goode <adam@spicenitz.org> - 1.8.27-1
- New upstream release

* Wed May 31 2006 Adam Goode <adam@spicenitz.org> - 1.8.26-4
- Fix hardcoded documentation path in configure
- Add help.html to documentation

* Mon May 29 2006 Adam Goode <adam@spicenitz.org> - 1.8.26-3
- Use upstream desktop file
- Install icons
- Install mime XML file
- Eliminate strange spaces in description

* Sat May 27 2006 Adam Goode <adam@spicenitz.org> - 1.8.26-2
- Add downloadable source

* Thu May 25 2006 Adam Goode <adam@spicenitz.org> - 1.8.26-1
- New upstream release
- Rebuild for FC5

* Mon Oct 24 2005 Thomas Chung <tchung@fedoranews.org> 1.8.24-1
- Rebuild for FC4

* Tue Feb 22 2005 Thomas Chung <tchung@fedoranews.org> 1.8.24-0
- Initial RPM build for FC3