# remirepo/fedora spec file for php-tecnickcom-tc-lib-pdf-graph
#
# SPDX-FileCopyrightText:  Copyright 2016-2025 Remi Collet
# SPDX-License-Identifier: CECILL-2.1
# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
#
# Please, preserve the changelog entries
#
%global gh_commit    0622c56a257c78e165052bd8d138547268f80e3d
%global gh_short     %(c=%{gh_commit}; echo ${c:0:7})
%global c_vendor     tecnickcom
%global gh_owner     tecnickcom
%global gh_project   tc-lib-pdf-graph
%global php_project  %{_datadir}/php/Com/Tecnick/Pdf/Graph
%global with_tests   0%{!?_without_tests:1}

Name:           php-%{gh_owner}-%{gh_project}
Version:        2.2.8
Release:        1%{?dist}
Summary:        PHP library containing PDF graphic and geometric methods

License:        LGPL-3.0-or-later
URL:            https://github.com/%{gh_owner}/%{gh_project}
Source0:        https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{name}-%{version}-%{?gh_short}.tar.gz

BuildArch:      noarch
%if %{with_tests}
# For tests
%global phpunit %{_bindir}/phpunit10
BuildRequires:  phpunit10 >= 10.5.40
BuildRequires:  php(language) >= 8.1
BuildRequires: (php-composer(%{c_vendor}/tc-lib-color)       >= 2.2     with php-composer(%{c_vendor}/tc-lib-color)       < 3)
BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1     with php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3)
%endif
BuildRequires:  php-fedora-autoloader-devel

# From composer.json, "require": {
#    "php": ">=8.1"
#    "ext-zlib": "*",
#    "tecnickcom/tc-lib-color": "^2.2",
#    "tecnickcom/tc-lib-pdf-encrypt": "^2.1"
Requires:       php(language) >= 8.1
Requires:       php-zlib
Requires:      (php-composer(%{c_vendor}/tc-lib-color)       >= 2.2     with php-composer(%{c_vendor}/tc-lib-color)       < 3)
Requires:      (php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.1     with php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3)
# From phpcompatinfo report for version 1.4.2
# none
Requires:       php-composer(fedora/autoloader)

# Composer
Provides:       php-composer(%{c_vendor}/%{gh_project}) = %{version}
# Upstream package name
Provides:       php-%{gh_project} = %{version}


%description
PHP library containing PDF graphic and geometric methods.

The initial source code has been extracted from TCPDF (http://www.tcpdf.org).


%prep
%setup -q -n %{gh_project}-%{gh_commit}

: Sanity check
grep -q '^%{version}$' VERSION


%build
phpab --template fedora --output src/autoload.php src
cat << 'EOF' | tee -a src/autoload.php
\Fedora\Autoloader\Dependencies::required([
    '%{_datadir}/php/Com/Tecnick/Color/autoload.php',
    '%{_datadir}/php/Com/Tecnick/Pdf/Encrypt/autoload.php',
]);
EOF


%install
mkdir -p   $(dirname %{buildroot}%{php_project})
cp -pr src %{buildroot}%{php_project}


%check
%if %{with_tests}
mkdir vendor
cat << 'EOF' | tee vendor/autoload.php
<?php
require '%{buildroot}%{php_project}/autoload.php';
\Fedora\Autoloader\Autoload::addPsr4('Test\\', dirname(__DIR__) . '/test');
EOF

ret=0
for cmdarg in php php81 php82 php83 php84; do
   if which $cmdarg; then
      set $cmdarg
      cp phpunit.xml.dist phpunit.xml
      $1 ${2:-%{phpunit}} --migrate-configuration || :
      $1 ${2:-%{phpunit}} --no-coverage || ret=1
   fi
done
exit $ret
%else
: Test suite disabled
%endif


%files
%license LICENSE
%doc composer.json
%doc *.md
%{php_project}


%changelog
* Tue Apr 29 2025 Remi Collet <remi@remirepo.net> - 2.2.8-1
- update to 2.2.8 (no change)

* Fri Feb  7 2025 Remi Collet <remi@remirepo.net> - 2.2.7-1
- update to 2.2.7 (no change)

* Fri Dec 27 2024 Remi Collet <remi@remirepo.net> - 2.2.6-1
- update to 2.2.6
- raise dependency on PHP 8.1

* Mon Dec 23 2024 Remi Collet <remi@remirepo.net> - 2.2.5-1
- update to 2.2.5 (no change)
- re-license spec file to CECILL-2.1

* Mon Nov 25 2024 Remi Collet <remi@remirepo.net> - 2.2.4-1
- update to 2.2.4 (no change)

* Mon Oct 28 2024 Remi Collet <remi@remirepo.net> - 2.2.3-1
- update to 2.2.3 (no change)

* Mon Sep  9 2024 Remi Collet <remi@remirepo.net> - 2.2.2-1
- update to 2.2.2

* Thu Aug 29 2024 Remi Collet <remi@remirepo.net> - 2.2.0-1
- update to 2.2.0

* Mon Aug 19 2024 Remi Collet <remi@remirepo.net> - 2.1.1-1
- update to 2.1.1
- raise dependency on tc-lib-color 2.2

* Fri Apr 12 2024 Remi Collet <remi@remirepo.net> - 2.0.12-1
- update to 2.0.12

* Wed Nov 29 2023 Remi Collet <remi@remirepo.net> - 2.0.11-2
- raise dependency on tc-lib-pdf-encrypt 2.1

* Wed Nov 29 2023 Remi Collet <remi@remirepo.net> - 2.0.11-1
- update to 2.0.11 (no change)

* Tue Nov 28 2023 Remi Collet <remi@remirepo.net> - 2.0.9-1
- update to 2.0.9 (no change)

* Thu Nov 23 2023 Remi Collet <remi@remirepo.net> - 2.0.8-1
- update to 2.0.8

* Wed Nov 22 2023 Remi Collet <remi@remirepo.net> - 2.0.7-1
- update to 2.0.7
- raise dependency on PHP 8
- raise dependency on tc-lib-color 2.0
- raise dependency on tc-lib-pdf-encrypt 2.0

* Mon Oct 23 2023 Remi Collet <remi@remirepo.net> - 1.7.23-1
- update to 1.7.23 (no change)

* Thu Oct 12 2023 Remi Collet <remi@remirepo.net> - 1.7.21-1
- update to 1.7.21

* Tue Oct 10 2023 Remi Collet <remi@remirepo.net> - 1.7.16-1
- update to 1.7.16

* Tue Oct 10 2023 Remi Collet <remi@remirepo.net> - 1.7.13-1
- update to 1.7.13

* Fri Sep  8 2023 Remi Collet <remi@remirepo.net> - 1.7.12-1
- update to 1.7.12 (no change)

* Wed May 24 2023 Remi Collet <remi@remirepo.net> - 1.7.8-1
- update to 1.7.8 (no change)

* Fri May  5 2023 Remi Collet <remi@remirepo.net> - 1.7.7-1
- update to 1.7.7 (no change)

* Thu May  4 2023 Remi Collet <remi@remirepo.net> - 1.7.6-1
- update to 1.7.6 (no change)

* Wed May  3 2023 Remi Collet <remi@remirepo.net> - 1.7.4-1
- update to 1.7.4 (no change)

* Mon Jan  2 2023 Remi Collet <remi@remirepo.net> - 1.7.3-1
- update to 1.7.3

* Thu Dec 22 2022 Remi Collet <remi@remirepo.net> - 1.5.12-1
- update to 1.5.12 (no change)

* Tue Jun 14 2022 Remi Collet <remi@remirepo.net> - 1.5.8-1
- update to 1.5.8 (no change)

* Mon Jan  3 2022 Remi Collet <remi@remirepo.net> - 1.5.6-1
- update to 1.5.6

* Mon Feb  8 2021 Remi Collet <remi@remirepo.net> - 1.5.3-1
- update to 1.5.3 (no change)

* Mon Dec 21 2020 Remi Collet <remi@remirepo.net> - 1.5.0-1
- update to 1.5.0
- switch to classmap autoloader

* Fri Jan  3 2020 Remi Collet <remi@remirepo.net> - 1.4.11-1
- update to 1.4.11 (no change)

* Fri Sep 20 2019 Remi Collet <remi@remirepo.net> - 1.4.9-1
- update to 1.4.9

* Mon Jun 25 2018 Remi Collet <remi@remirepo.net> - 1.4.8-1
- update to 1.4.8 (no change)

* Mon May 14 2018 Remi Collet <remi@remirepo.net> - 1.4.7-1
- update to 1.4.7 (no change)
- switch to phpunit7
- use range dependencies

* Tue Jan  2 2018 Remi Collet <remi@remirepo.net> - 1.4.5-1
- Update to 1.4.5 (no change)

* Sun Feb 12 2017 Remi Collet <remi@remirepo.net> - 1.4.4-1
- update to 1.4.4 (no change)

* Mon Feb  6 2017 Remi Collet <remi@remirepo.net> - 1.4.3-1
- update to 1.4.3 (no change)

* Tue Sep 27 2016 Remi Collet <remi@fedoraproject.org> - 1.4.2-1
- update to 1.4.2

* Fri Sep  2 2016 Remi Collet <remi@fedoraproject.org> - 1.4.1-1
- update to 1.4.1
- raise dependency on tecnickcom/tc-lib-color >= 1.12.1
- add dependency on tecnickcom/tc-lib-pdf-encrypt

* Tue Jun 14 2016 Remi Collet <remi@fedoraproject.org> - 1.1.0-1
- update to 1.1.0 (no change)

* Fri Mar  4 2016 Remi Collet <remi@fedoraproject.org> - 1.0.2-1
- update to 1.0.2 (no change)

* Fri Jan 15 2016 Remi Collet <remi@fedoraproject.org> - 1.0.1-1
- initial package, version 1.0.1