summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore9
-rw-r--r--Makefile4
-rw-r--r--composer.json46
-rw-r--r--php-tecnickcom-tc-lib-pdf-font-rpm.patch33
-rw-r--r--php-tecnickcom-tc-lib-pdf-font.spec171
5 files changed, 263 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..01f0400
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,9 @@
+clog
+package-*.xml
+*.tgz
+*.tar.bz2
+*.tar.gz
+*.tar.xz
+*.tar.xz.asc
+*.src.rpm
+*/*rpm
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..13af741
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,4 @@
+SRCDIR := $(shell pwd)
+NAME := $(shell basename $(SRCDIR))
+include ../../../common/Makefile
+
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..96d17df
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,46 @@
+{
+ "name": "tecnickcom/tc-lib-pdf-font",
+ "description": "PHP library containing PDF page formats and definitions",
+ "type": "library",
+ "homepage": "http://www.tecnick.com",
+ "license": "LGPL-3.0-or-later",
+ "keywords": [
+ "tc-lib-pdf-font",
+ "PDF",
+ "font",
+ "TTF",
+ "AFM",
+ "PFB",
+ "import"
+ ],
+ "authors": [
+ {
+ "name": "Nicola Asuni",
+ "email": "info@tecnick.com",
+ "role": "lead"
+ }
+ ],
+ "require": {
+ "php": ">=5.4.0",
+ "ext-json": "*",
+ "ext-pcre": "*",
+ "ext-zlib": "*",
+ "tecnickcom/tc-lib-file": "^2.0",
+ "tecnickcom/tc-lib-unicode-data": "^2.0",
+ "tecnickcom/tc-lib-pdf-encrypt": "^2.0"
+ },
+ "require-dev": {
+ "pdepend/pdepend": "2.13.0",
+ "phpmd/phpmd": "2.13.0",
+ "phpunit/phpunit": "10.1.2 || 9.6.13",
+ "squizlabs/php_codesniffer": "3.7.2"
+ },
+ "autoload": {
+ "psr-4": {
+ "Com\\Tecnick\\Pdf\\Font\\": "src"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": { "Test\\": "test" }
+ }
+}
diff --git a/php-tecnickcom-tc-lib-pdf-font-rpm.patch b/php-tecnickcom-tc-lib-pdf-font-rpm.patch
new file mode 100644
index 0000000..2ef076e
--- /dev/null
+++ b/php-tecnickcom-tc-lib-pdf-font-rpm.patch
@@ -0,0 +1,33 @@
+diff -up util/bulk_convert.php.rpm util/bulk_convert.php
+--- util/bulk_convert.php.rpm 2023-11-29 08:34:27.788544032 +0100
++++ util/bulk_convert.php 2023-11-29 08:36:54.124053746 +0100
+@@ -86,7 +86,7 @@ if (!is_writable($options['outpath'])) {
+ exit(2);
+ }
+
+-$ttfdir = __DIR__.'/vendor/tecnickcom/tc-font-mirror/';
++$ttfdir = dirname(__DIR__).'/tc-font-mirror-2.1.0/';
+ if (!is_dir($ttfdir)) {
+ fwrite(STDERR, 'ERROR: The '.$ttfdir.' directory is empty, please execute \'make build\' before this command.'."\n\n");
+ exit(3);
+@@ -98,7 +98,7 @@ fwrite(STDOUT, "\n".'>>> Converting font
+ $convert_errors = 0;
+ $convert_success = 0;
+
+-require_once (dirname(__DIR__).'/vendor/autoload.php');
++require_once (dirname(__DIR__).'/src/autoload.php');
+
+ $fontdir = array_diff(scandir($ttfdir), array('.', '..', '.git'));
+
+diff -up util/convert.php.rpm util/convert.php
+--- util/convert.php.rpm 2023-11-29 13:46:32.380588175 +0100
++++ util/convert.php 2023-11-29 13:46:34.960688370 +0100
+@@ -224,7 +224,7 @@ fwrite(STDOUT, "\n".'>>> Converting font
+ $convert_errors = 0;
+ $convert_success = 0;
+
+-require_once (dirname(dirname(__DIR__)).'/vendor/autoload.php');
++require_once ('/usr/share/php/Com/Tecnick/Pdf/Font/autoload.php');
+
+ foreach ($options['fonts'] as $font) {
+ try {
diff --git a/php-tecnickcom-tc-lib-pdf-font.spec b/php-tecnickcom-tc-lib-pdf-font.spec
new file mode 100644
index 0000000..d95b1d8
--- /dev/null
+++ b/php-tecnickcom-tc-lib-pdf-font.spec
@@ -0,0 +1,171 @@
+# remirepo/fedora spec file for php-tecnickcom-tc-lib-pdf-font
+#
+# Copyright (c) 2023 Remi Collet
+# License: CC-BY-SA-4.0
+# http://creativecommons.org/licenses/by-sa/4.0/
+#
+# Please, preserve the changelog entries
+#
+%global gh_commit f5bbbfeefb648ae87e6b9ed267cdab45c76052da
+%global gh_short %(c=%{gh_commit}; echo ${c:0:7})
+%global c_vendor tecnickcom
+%global gh_owner tecnickcom
+%global gh_project tc-lib-pdf-font
+%global php_project %{_datadir}/php/Com/Tecnick/Pdf/Font
+%global with_tests 0%{!?_without_tests:1}
+%global font_version 2.1.0
+
+Name: php-%{gh_owner}-%{gh_project}
+Version: 2.0.13
+Release: 1%{?dist}
+Summary: PHP library containing PDF page formats and definitions
+
+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
+Source1: https://github.com/tecnickcom/tc-font-mirror/archive/refs/tags/%{font_version}.tar.gz
+
+# Fix path
+Patch0: %{name}-rpm.patch
+
+BuildArch: noarch
+%if %{with_tests}
+# For tests
+%global phpunit %{_bindir}/phpunit10
+BuildRequires: phpunit10 >= 10.1.2
+BuildRequires: php(language) >= 5.4
+BuildRequires: php-json
+BuildRequires: php-pcre
+BuildRequires: php-spl
+BuildRequires: php-zlib
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-file) >= 2.0 with php-composer(%{c_vendor}/tc-lib-file) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0 with php-composer(%{c_vendor}/tc-lib-unicode-data) < 3)
+BuildRequires: (php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3)
+%else
+BuildRequires: php-%{c_vendor}-tc-lib-file < 3
+BuildRequires: php-%{c_vendor}-tc-lib-file >= 2.0
+BuildRequires: php-%{c_vendor}-tc-lib-unicode-data < 3
+BuildRequires: php-%{c_vendor}-tc-lib-unicode-data >= 2.0
+BuildRequires: php-%{c_vendor}-tc-lib-pdf-encrypt < 3
+BuildRequires: php-%{c_vendor}-tc-lib-pdf-encrypt >= 2.0
+%endif
+%endif
+BuildRequires: php-fedora-autoloader-devel
+
+# From composer.json, "require": {
+# "php": ">=5.4.0",
+# "ext-json": "*",
+# "ext-pcre": "*",
+# "ext-zlib": "*",
+# "tecnickcom/tc-lib-file": "^2.0",
+# "tecnickcom/tc-lib-unicode-data": "^2.0",
+# "tecnickcom/tc-lib-pdf-encrypt": "^2.0"
+Requires: php(language) >= 5.4
+Requires: php-json
+Requires: php-pcre
+Requires: php-spl
+Requires: php-zlib
+%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8
+Requires: (php-composer(%{c_vendor}/tc-lib-file) >= 2.0 with php-composer(%{c_vendor}/tc-lib-file) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-unicode-data) >= 2.0 with php-composer(%{c_vendor}/tc-lib-unicode-data) < 3)
+Requires: (php-composer(%{c_vendor}/tc-lib-pdf-encrypt) >= 2.0 with php-composer(%{c_vendor}/tc-lib-pdf-encrypt) < 3)
+%else
+Requires: php-%{c_vendor}-tc-lib-file < 3
+Requires: php-%{c_vendor}-tc-lib-file >= 2.0
+Requires: php-%{c_vendor}-tc-lib-unicode-data < 3
+Requires: php-%{c_vendor}-tc-lib-unicode-data >= 2.0
+Requires: php-%{c_vendor}-tc-lib-pdf-encrypt) < 3
+Requires: php-%{c_vendor}-tc-lib-pdf-encrypt) >= 2.0
+%endif
+# From phpcompatinfo report for version 2.0.8
+# 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 page formats and definitions.
+
+The initial source code has been extracted from TCPDF (http://www.tcpdf.org).
+
+
+%prep
+%setup -q -n %{gh_project}-%{gh_commit} -a 1
+%patch -P0 -p0 -b .rpm
+
+: Sanity check
+grep -q '^%{version}$' VERSION
+grep -q 'tc-font-mirror/archive/refs/tags/%{font_version}' util/composer.json
+
+
+%build
+phpab --template fedora --output src/autoload.php src
+cat << 'EOF' | tee -a src/autoload.php
+\Fedora\Autoloader\Dependencies::required([
+ '%{_datadir}/php/Com/Tecnick/File/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Unicode/Data/autoload.php',
+ '%{_datadir}/php/Com/Tecnick/Pdf/Encrypt/autoload.php',
+]);
+EOF
+
+
+%install
+mkdir -p $(dirname %{buildroot}%{php_project})
+cp -pr src %{buildroot}%{php_project}
+
+cd util
+mkdir -p %{buildroot}/%{_datadir}/%{name}
+php bulk_convert.php --outpath=%{buildroot}%{_datadir}/%{name}/
+
+install -Dpm 755 convert.php %{buildroot}%{_bindir}/%{name}-convert
+
+
+%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
+
+sed -e 's:/util/vendor/tecnickcom/tc-font-mirror/:/tc-font-mirror-2.1.0/:' -i test/*php
+
+ret=0
+for cmdarg in php php81 php82 php83; do
+ if which $cmdarg; then
+ set $cmdarg
+ cp phpunit.xml.dist phpunit.xml
+ $1 ${2:-%{phpunit}} --migrate-configuration || :
+ $1 -d memory_limit=1G ${2:-%{phpunit}} --no-coverage || ret=1
+ fi
+done
+exit $ret
+%else
+: Test suite disabled
+%endif
+
+
+%files
+# remirepo:1
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%doc composer.json
+%doc *.md
+%{php_project}
+%{_datadir}/%{name}
+%{_bindir}/%{name}-convert
+
+
+%changelog
+* Wed Nov 29 2023 Remi Collet <remi@remirepo.net> - 2.0.13-1
+- update to 2.0.13
+
+* Tue Nov 28 2023 Remi Collet <remi@remirepo.net> - 2.0.11-1
+- initial package, version 2.0.11
+