# remirepo/Fedora spec file for php-tcpdf
#
# Copyright (c) 2013-2020 Remi Collet, Johan Cwiklinski
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
# see https://github.com/tecnickcom/TCPDF/releases
%global gh_commit 19a535eaa7fb1c1cac499109deeb1a7a201b4549
%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
%global gh_owner tecnickcom
%global gh_project TCPDF
%global real_name tcpdf
Name: php-tcpdf
Summary: PHP class for generating PDF documents and barcodes
Version: 6.3.5
Release: 2%{?dist}
URL: http://www.tcpdf.org
License: LGPLv3
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{?gh_short}.tar.gz
# Disable opcache cahing for font metadata which may consume up to 90MB
Source1: %{name}.blacklist
BuildArch: noarch
BuildRequires: php-cli
BuildRequires: php-fedora-autoloader-devel
Requires: php(language) >= 5.3
# From phpcompatinfo report form version 6.3.0
Requires: php-bcmath
Requires: php-curl
Requires: php-date
Requires: php-gd
Requires: php-hash
Requires: php-json
Requires: php-mbstring
Requires: php-openssl
Requires: php-pcre
Requires: php-posix
Requires: php-tidy
Requires: php-xml
Requires: php-zlib
# mcrypt is optionnal and openssl is preferred
%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
# imagick is optionnal (and conflicts with gmagick)
Recommends: php-imagick
%endif
# Autoloader
Requires: php-composer(fedora/autoloader)
# Old name for compatibility
Provides: php-composer(tecnick.com/tcpdf) = %{version}
# New name
Provides: php-composer(tecnickcom/tcpdf) = %{version}
%description
PHP class for generating PDF documents.
* no external libraries are required for the basic functions;
* all standard page formats, custom page formats, custom margins and units
of measure;
* UTF-8 Unicode and Right-To-Left languages;
* TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;
* font subsetting;
* methods to publish some XHTML + CSS code, Javascript and Forms;
* images, graphic (geometric figures) and transformation methods;
* supports JPEG, PNG and SVG images natively, all images supported by GD
(GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported
via ImagMagick (http: www.imagemagick.org/www/formats.html)
* 1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93,
USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits
UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET,
RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code),
KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode,
USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS,
Datamatrix ECC200, QR-Code, PDF417;
* ICC Color Profiles, Grayscale, RGB, CMYK, Spot Colors and Transparencies;
* automatic page header and footer management;
* document encryption up to 256 bit and digital signature certifications;
* transactions to UNDO commands;
* PDF annotations, including links, text and file attachments;
* text rendering modes (fill, stroke and clipping);
* multiple columns mode;
* no-write page regions;
* bookmarks and table of content;
* text hyphenation;
* text stretching and spacing (tracking/kerning);
* automatic page break, line break and text alignments including justification;
* automatic page numbering and page groups;
* move and delete pages;
* page compression (requires php-zlib extension);
* XOBject templates;
* PDF/A-1b (ISO 19005-1:2005) support.
By default, TCPDF uses the GD library which is know as slower than ImageMagick
solution. You can optionally install php-pecl-imagick; TCPDF will use it.
%package dejavu-lgc-sans-fonts
Summary: DejaVu LGC sans-serif fonts for tcpdf
BuildRequires: dejavu-lgc-sans-fonts
Requires: %{name} = %{version}-%{release}
Requires: dejavu-lgc-sans-fonts
%description dejavu-lgc-sans-fonts
This package allow to use system DejaVu LGC sans-serif variable-width
font faces in TCPDF.
%package dejavu-lgc-sans-mono-fonts
Summary: DejaVu LGC mono-spaced fonts for tcpdf
BuildRequires: dejavu-lgc-sans-mono-fonts
Requires: %{name} = %{version}-%{release}
Requires: dejavu-lgc-sans-mono-fonts
%description dejavu-lgc-sans-mono-fonts
This package allow to use system DejaVu LGC sans-serif mono-spaced
font faces in TCPDF.
%package dejavu-lgc-serif-fonts
Summary: DejaVu LGC serif fonts for tcpdf
BuildRequires: dejavu-lgc-serif-fonts
Requires: %{name} = %{version}-%{release}
Requires: dejavu-lgc-serif-fonts
%description dejavu-lgc-serif-fonts
This package allow to use system DejaVu LGC serif variable-width
font faces in TCPDF.
%package dejavu-sans-fonts
Summary: DejaVu sans-serif fonts for tcpdf
BuildRequires: dejavu-sans-fonts
Requires: %{name} = %{version}-%{release}
Requires: dejavu-sans-fonts
%description dejavu-sans-fonts
This package allow to use system DejaVu sans-serif variable-width
font faces in TCPDF.
%package dejavu-sans-mono-fonts
Summary: DejaVu mono-spaced fonts for tcpdf
BuildRequires: dejavu-sans-mono-fonts
Requires: %{name} = %{version}-%{release}
Requires: dejavu-sans-mono-fonts
%description dejavu-sans-mono-fonts
This package allow to use system DejaVu sans-serif mono-spaced
font faces in TCPDF.
%package dejavu-serif-fonts
Summary: DejaVu serif fonts for tcpdf
BuildRequires: dejavu-serif-fonts
Requires: %{name} = %{version}-%{release}
Requires: dejavu-serif-fonts
%description dejavu-serif-fonts
This package allow to use system DejaVu serif variable-width
font faces in TCPDF.
%package gnu-free-mono-fonts
Summary: GNU FreeFonts mono-spaced for tcpdf
BuildRequires: gnu-free-mono-fonts
Requires: gnu-free-mono-fonts
Requires: %{name} = %{version}-%{release}
%description gnu-free-mono-fonts
This package allow to use system GNU FreeFonts mono-spaced font faces in TCPDF.
%package gnu-free-sans-fonts
Summary: GNU FreeFonts sans-serif for tcpdf
BuildRequires: gnu-free-sans-fonts
Requires: gnu-free-sans-fonts
Requires: %{name} = %{version}-%{release}
%description gnu-free-sans-fonts
This package allow to use system GNU FreeFont sans-serif font faces in TCPDF.
%package gnu-free-serif-fonts
Summary: GNU FreeFonts serif for tcpdf
BuildRequires: gnu-free-serif-fonts
Requires: gnu-free-serif-fonts
Requires: %{name} = %{version}-%{release}
%description gnu-free-serif-fonts
This package allow to use system GNU FreeFont serif font faces in TCPDF.
%prep
%setup -q -n %{gh_project}-%{gh_commit}
: remove bundled fonts
rm -rf fonts/dejavu-fonts-ttf* fonts/freefont-* fonts/ae_fonts_*
for fic in fonts/*.z
do
rm -f $fic ${fic/.z/.php}
done
ls fonts | sed -e 's|^|%{_datadir}/php/%{real_name}/fonts/|' >corefonts.lst
%build
: empty build section, nothing required
%install
: Library
install -d %{buildroot}%{_datadir}/php/%{real_name}
cp -a *.php %{buildroot}%{_datadir}/php/%{real_name}/
cp -a include %{buildroot}%{_datadir}/php/%{real_name}/
cp -a fonts %{buildroot}%{_datadir}/php/%{real_name}/
install -d %{buildroot}%{_datadir}/php/%{real_name}/images
install -m 0644 examples/images/_blank.png \
%{buildroot}%{_datadir}/php/%{real_name}/images/
: Autoloader
php -d memory_limit=2G\
%{_bindir}/phpab \
--template fedora \
--output %{buildroot}%{_datadir}/php/%{real_name}/autoload.php \
%{buildroot}%{_datadir}/php/%{real_name}
: Configuration
install -d %{buildroot}%{_sysconfdir}/%{name}
install -m 0644 config/*.php \
%{buildroot}%{_sysconfdir}/%{name}
install -Dpm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/php.d/opcache-%{name}.blacklist
install -Dpm 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/php-zts.d/opcache-%{name}.blacklist
: Tools
install -d %{buildroot}%{_bindir}
install -m 0755 tools/%{real_name}_addfont.php \
%{buildroot}%{_bindir}/%{real_name}_addfont
# Fonts
list=""
for ttf in \
/usr/share/fonts/dejav*/*ttf \
/usr/share/fonts/gnu-free/*ttf \
; do
list=$ttf${list:+,${list}}
done
php -d memory_limit=1G tools/tcpdf_addfont.php \
--addcbbox \
--flags 32 \
--fonts $list \
--link \
--outpath %{buildroot}%{_datadir}/php/%{real_name}/fonts/
ls %{buildroot}%{_datadir}/php/%{real_name}/fonts/dejavuserif* |
sed -e 's:^%{buildroot}::' | tee dejavu-serif.lst
if [ -f %{buildroot}%{_datadir}/php/%{real_name}/fonts/dejavumathtexgyre ]; then
ls %{buildroot}%{_datadir}/php/%{real_name}/fonts/dejavumathtexgyre* |
sed -e 's:^%{buildroot}::' | tee -a dejavu-serif.lst
fi
%check
php -r 'require "%{buildroot}%{_datadir}/php/%{real_name}/autoload.php";
printf("%{name} version %s\n", $ver=TCPDF_STATIC::getTCPDFVersion());
exit ($ver === "%{version}" ? 0 : 1);
'
%files -f corefonts.lst
%doc README.md CHANGELOG.TXT examples
%doc composer.json
%{!?_licensedir:%global license %%doc}
%license LICENSE.TXT
%{_bindir}/%{real_name}_addfont
%dir %{_datadir}/php/%{real_name}
%dir %{_datadir}/php/%{real_name}/fonts
%{_datadir}/php/%{real_name}/include
%{_datadir}/php/%{real_name}/images
%{_datadir}/php/%{real_name}/*php
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/*
%config(noreplace) %{_sysconfdir}/php.d/opcache-%{name}.blacklist
%config(noreplace) %{_sysconfdir}/php-zts.d/opcache-%{name}.blacklist
%files dejavu-lgc-sans-fonts
%{_datadir}/php/%{real_name}/fonts/dejavulgcsans*
%exclude %{_datadir}/php/%{real_name}/fonts/dejavulgcsansmono*
%files dejavu-lgc-sans-mono-fonts
%{_datadir}/php/%{real_name}/fonts/dejavulgcsansmono*
%files dejavu-lgc-serif-fonts
%{_datadir}/php/%{real_name}/fonts/dejavulgcserif*
%files dejavu-sans-fonts
%{_datadir}/php/%{real_name}/fonts/dejavusans*
%exclude %{_datadir}/php/%{real_name}/fonts/dejavusansmono*
%files dejavu-sans-mono-fonts
%{_datadir}/php/%{real_name}/fonts/dejavusansmono*
%files dejavu-serif-fonts -f dejavu-serif.lst
%files gnu-free-mono-fonts
%{_datadir}/php/%{real_name}/fonts/freemono*
%files gnu-free-sans-fonts
%{_datadir}/php/%{real_name}/fonts/freesans*
%files gnu-free-serif-fonts
%{_datadir}/php/%{real_name}/fonts/freeserif*
%changelog
* Wed Aug 12 2020 Remi Collet <remi@remirepo.net> - 6.3.5-2
- fix dejavu fonts path, FTBFS #1865226
- add DejaVuMathTeXGyre.ttf
* Fri Feb 14 2020 Remi Collet <remi@remirepo.net> - 6.3.5-1
- update to 6.3.5
* Wed Feb 12 2020 Remi Collet <remi@remirepo.net> - 6.3.4-1
- update to 6.3.4
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 6.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Sep 20 2019 Remi Collet <remi@remirepo.net> - 6.3.2-1
- update to 6.3.2
* Fri Sep 20 2019 Remi Collet <remi@remirepo.net> - 6.3.1-1
- update to 6.3.1
- drop patch merged upstream
* Fri Sep 13 2019 Remi Collet <remi@remirepo.net> - 6.2.26-4
- add patch for 7.4 from
https://github.com/tecnickcom/TCPDF/pull/134
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.26-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.26-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Wed Oct 17 2018 Remi Collet <remi@remirepo.net> - 6.2.26-1
- update to 6.2.26
* Mon Sep 24 2018 Remi Collet <remi@remirepo.net> - 6.2.25-1
- update to 6.2.25
* Sat Sep 15 2018 Remi Collet <remi@remirepo.net> - 6.2.22-1
- update to 6.2.22
* Fri Sep 14 2018 Remi Collet <remi@remirepo.net> - 6.2.21-1
- update to 6.2.21
* Fri Sep 14 2018 Remi Collet <remi@remirepo.net> - 6.2.19-1
- update to 6.2.19
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Tue Mar 6 2018 Remi Collet <remi@remirepo.net> - 6.2.17-1
- update to 6.2.17
* Tue Feb 20 2018 Remi Collet <remi@remirepo.net> - 6.2.16-1
- Update to 6.2.16
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.13-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Dec 21 2017 Remi Collet <remi@fedoraproject.org> - 6.2.13-4
- add patch for PHP 7.2 from
https://github.com/tecnickcom/TCPDF/pull/74/files
- disable opcache caching for fonts
* Thu Jul 27 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.13-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Jan 9 2017 Remi Collet <remi@fedoraproject.org> - 6.2.13-1
- update to 6.2.13
- add classmap autoloader using fedora/autoloader
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.12-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sun Sep 13 2015 Remi Collet <remi@fedoraproject.org> - 6.2.12-1
- update to 6.2.12
- provide php-composer(tecnickcom/tcpdf)
* Thu Sep 10 2015 Remi Collet <remi@fedoraproject.org> - 6.2.11-1
- update to 6.2.11
- fix PNGs with alpha #1261649
* Wed Jul 29 2015 Remi Collet <remi@fedoraproject.org> - 6.2.10-1
- update to 6.2.10
- sources from github (instead of sourceforge)
- drop dependency on php-mcrypt
* Sat Jun 27 2015 Remi Collet <remi@fedoraproject.org> - 6.2.9-1
- update to 6.2.9
* Thu Jun 18 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.2.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu Apr 30 2015 Remi Collet <remi@fedoraproject.org> - 6.2.8-1
- update to 6.2.8
* Tue Jan 13 2015 Remi Collet <remi@fedoraproject.org> - 6.2.4-1
- update to 6.2.4
* Wed Dec 10 2014 Remi Collet <remi@fedoraproject.org> - 6.1.1-1
- update to 6.1.1
* Mon Nov 10 2014 Remi Collet <remi@fedoraproject.org> - 6.0.098-1
- update to 6.0.098
* Sun Oct 5 2014 Remi Collet <remi@fedoraproject.org> - 6.0.095-1
- update to 6.0.095
* Thu Oct 2 2014 Remi Collet <remi@fedoraproject.org> - 6.0.094-1
- update to 6.0.094
* Wed Sep 17 2014 Robert Scheck <robert@fedoraproject.org> - 6.0.091-2
- buildrequire php-cli >= 5.3 (#1121745)
- added provides for php-* if package is used on EL-5 (#1121745)
- corrected inter-package dependencies (Remi Collet)
* Fri Aug 15 2014 Remi Collet <remi@fedoraproject.org> - 6.0.091-1
- update to 6.0.091
- provide php-composer(tecnick.com/tcpdf)
* Thu Jul 17 2014 Remi Collet <remi@fedoraproject.org> - 6.0.089-1
- update to 6.0.089
* Mon Jun 23 2014 Remi Collet <remi@fedoraproject.org> - 6.0.086-1
- update to 6.0.086
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.082-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Remi Collet <remi@fedoraproject.org> - 6.0.082-1
- update to 6.0.082
- include cbbox metrics in fonts metadata
* Mon Apr 28 2014 Remi Collet <remi@fedoraproject.org> - 6.0.072-1
- update to 6.0.072
* Tue Apr 8 2014 Remi Collet <remi@fedoraproject.org> - 6.0.064-1
- update to 6.0.064
* Tue Feb 4 2014 Remi Collet <remi@fedoraproject.org> - 6.0.059-1
- update to 6.0.059
* Sun Jan 5 2014 Remi Collet <remi@fedoraproject.org> - 6.0.053-1
- update to 6.0.053
* Thu Nov 28 2013 Remi Collet <remi@fedoraproject.org> - 6.0.049-1
- update to 6.0.049
- fix but with same PNG image included twice, #1035392
* Thu Nov 21 2013 Remi Collet <remi@fedoraproject.org> - 6.0.047-1
- update to 6.0.047
* Sun Oct 27 2013 Remi Collet <remi@fedoraproject.org> - 6.0.042-1
- update to 6.0.042
* Sat Sep 28 2013 Remi Collet <remi@fedoraproject.org> - 6.0.035-1
- update to 6.0.035
* Thu Sep 19 2013 Remi Collet <remi@fedoraproject.org> - 6.0.031-1
- update to 6.0.031
* Mon Sep 2 2013 Johan Cwiklinski <johan AT x-tnd DOT be> - 6.0.024-1
- update to 6.0.024
* Tue Aug 6 2013 Remi Collet <remi@fedoraproject.org> - 6.0.023-1
- update to 6.0.023
* Sun Aug 04 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.0.020-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Sat Jul 6 2013 Johan Cwiklinski <johan AT x-tnd DOT be> - 6.0.020-1
- update to 6.0.020
* Sat Jun 1 2013 Remi Collet <remi@fedoraproject.org> - 6.0.018-1
- update to 6.0.018
- barcode examples now works out of the box
* Sat May 18 2013 Remi Collet <remi@fedoraproject.org> - 6.0.017-2
- split fonts, 1 subpackage per font package
- spec cleanups
* Sat May 18 2013 Remi Collet <remi@fedoraproject.org> - 6.0.017-1
- update to 6.0.017
* Thu May 16 2013 Remi Collet <remi@fedoraproject.org> - 6.0.016-1
- update to 6.0.016
- add /usr/share/php/tcpdf/images dir
* Wed May 15 2013 Remi Collet <remi@fedoraproject.org> - 6.0.015-1
- update to 6.0.015
- clean spec (upstream changes for packaging)
- drop .php suffix from tools
* Tue May 14 2013 Remi Collet <remi@fedoraproject.org> - 6.0.014-1
- update to 6.0.014
- drop patch merged upstream
* Mon May 13 2013 Remi Collet <remi@fedoraproject.org> - 6.0.013-2
- split fonts in sub-packages
* Mon May 13 2013 Remi Collet <remi@fedoraproject.org> - 6.0.013-1
- update to 6.0.013
- use available system TTF fonts
* Sun May 12 2013 Johan Cwiklinski <johan AT x-tnd DOT be> - 6.0.012-3
- Fix README.cache file permissions
* Fri May 10 2013 Remi Collet <remi@fedoraproject.org> - 6.0.012-2
- improve cache ownership, on folder per web server
- drop bundled fonts
* Thu May 09 2013 Johan Cwiklinski <johan AT x-tnd DOT be> - 6.0.012-1
- Initial packaging