Blob Blame History Raw
# spec file for php-tcpdf
#
# Copyright (c) 2013-2015 Remi Collet, Johan Cwiklinski
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#
%global dl_version %(c=%{version}; echo ${c//./_})
%global real_name  tcpdf

Name:           php-tcpdf
Summary:        PHP class for generating PDF documents and barcodes
Version:        6.2.8
Release:        1%{?dist}

URL:            http://www.tcpdf.org
License:        LGPLv3+
Group:          Development/Libraries

# Keep full version, min version lack lot of files.
Source0:        http://downloads.sourceforge.net/%{real_name}/%{real_name}_%{dl_version}.zip

BuildArch:      noarch
BuildRequires:  php-cli >= 5.3

Requires:       php(language) >= 5.3
# From phpcompatinfo report form version 6.0.057
Requires:       php-bcmath
Requires:       php-curl
Requires:       php-date
Requires:       php-gd
Requires:       php-hash
Requires:       php-mbstring
Requires:       php-mcrypt
Requires:       php-openssl
Requires:       php-pcre
Requires:       php-spl
Requires:       php-tidy
Requires:       php-xml
Requires:       php-zlib
# imagick is optionnal (and conflicts with gmagick)

Provides:       php-composer(tecnick.com/tcpdf) = %{version}

%if 0%{?rhel} == 5
Provides:       php-tcpdf = %{version}-%{release}
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%endif


%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
Group:          Development/Libraries
BuildRequires:  dejavu-lgc-sans-fonts
Requires:       %{name} = %{version}-%{release}
Requires:       dejavu-lgc-sans-fonts
%if 0%{?rhel} == 5
Provides:       php-tcpdf-dejavu-lgc-sans-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
BuildRequires:  dejavu-lgc-sans-mono-fonts
Requires:       %{name} = %{version}-%{release}
Requires:       dejavu-lgc-sans-mono-fonts
%if 0%{?rhel} == 5
Provides:       php-tcpdf-dejavu-lgc-sans-mono-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
BuildRequires:  dejavu-lgc-serif-fonts
Requires:       %{name} = %{version}-%{release}
Requires:       dejavu-lgc-serif-fonts
%if 0%{?rhel} == 5
Provides:       php-tcpdf-dejavu-lgc-serif-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
BuildRequires:  dejavu-sans-fonts
Requires:       %{name} = %{version}-%{release}
Requires:       dejavu-sans-fonts
%if 0%{?rhel} == 5
Provides:       php-tcpdf-dejavu-sans-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
BuildRequires:  dejavu-sans-mono-fonts
Requires:       %{name} = %{version}-%{release}
Requires:       dejavu-sans-mono-fonts
%if 0%{?rhel} == 5
Provides:       php-tcpdf-dejavu-sans-mono-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
BuildRequires:  dejavu-serif-fonts
Requires:       %{name} = %{version}-%{release}
Requires:       dejavu-serif-fonts
%if 0%{?rhel} == 5
Provides:       php-tcpdf-dejavu-serif-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
BuildRequires:  gnu-free-mono-fonts
Requires:       gnu-free-mono-fonts
%else
BuildRequires:  freefont
Requires:       freefont
%endif
Requires:       %{name} = %{version}-%{release}
%if 0%{?rhel} == 5
Provides:       php-tcpdf-gnu-free-mono-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
BuildRequires:  gnu-free-sans-fonts
Requires:       gnu-free-sans-fonts
%else
BuildRequires:  freefont
Requires:       freefont
%endif
Requires:       %{name} = %{version}-%{release}
%if 0%{?rhel} == 5
Provides:       php-tcpdf-gnu-free-sans-fonts = %{version}-%{release}
%endif

%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
Group:          Development/Libraries
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
BuildRequires:  gnu-free-serif-fonts
Requires:       gnu-free-serif-fonts
%else
BuildRequires:  freefont
Requires:       freefont
%endif
Requires:       %{name} = %{version}-%{release}
%if 0%{?rhel} == 5
Provides:       php-tcpdf-gnu-free-serif-fonts = %{version}-%{release}
%endif

%description gnu-free-serif-fonts
This package allow to use system GNU FreeFont serif font faces in TCPDF.


%prep
%setup -qn %{real_name}

: remove bundled fonts
rm -rf fonts/dejavu-fonts-ttf* fonts/freefont-*
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/

# Config
install -d     %{buildroot}%{_sysconfdir}/%{name}
install -m 0644 config/*.php \
               %{buildroot}%{_sysconfdir}/%{name}

# 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/dejavu/*ttf \
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 6
    /usr/share/fonts/gnu-free/*ttf \
%else
    /usr/share/fonts/freefont/*ttf \
%endif
; do
   list=$ttf${list:+,${list}}
done
php tools/tcpdf_addfont.php \
    --addcbbox \
    --flags 32 \
    --fonts $list \
    --link \
    --outpath %{buildroot}%{_datadir}/php/%{real_name}/fonts/


%files -f corefonts.lst
%doc README.TXT 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}/*

%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
%{_datadir}/php/%{real_name}/fonts/dejavuserif*

%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
* 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

* 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