Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions SPECS/php-fpdf/php-fpdf.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: panglars <panghao.riscv@isrc.iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0

%global fpdf_dir %{_datadir}/php/fpdf

Name: php-fpdf
Version: 1.8.6
Release: %autorelease
Summary: PHP class to generate PDF files
License: MIT
URL: http://www.fpdf.org
VCS: git:https://github.com/Setasign/FPDF.git
#!RemoteAsset: sha256:7f09cdfc9ef75d53d79bb4d56fc7baefc80a9d87b38284f058fefe845dfe5414
Source: https://github.com/Setasign/FPDF/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildArch: noarch
# upstream ships a plain PHP library, no build system

BuildRequires: php

Requires: php
Requires: php-gd
Requires: php-zlib

%description
FPDF is a PHP class that generates PDF files with pure PHP, without using
the PDFlib library. It provides high-level functions for page layout, text,
images, colors, links, font handling, and page compression.

%prep
%autosetup -n FPDF-%{version}

%install
install -d -m0755 %{buildroot}%{fpdf_dir}
cp -a fpdf.php composer.json font makefont %{buildroot}%{fpdf_dir}/

%check
php -l fpdf.php

%files
%doc README.md FAQ.htm changelog.htm install.txt doc fpdf.css
%license license.txt
%dir %{_datadir}/php
%dir %{fpdf_dir}
%{fpdf_dir}/composer.json
%{fpdf_dir}/fpdf.php
%{fpdf_dir}/font/
%{fpdf_dir}/makefont/

%changelog
%autochangelog
108 changes: 106 additions & 2 deletions SPECS/php/php.spec
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: Zephyr Du <zhonghang.or@isrc.iscas.ac.cn>
# SPDX-FileContributor: panglars <panghao.riscv@isrc.iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0

Expand All @@ -24,7 +25,16 @@ BuildSystem: autotools

BuildOption(conf): --enable-re2c-cgoto
BuildOption(conf): --with-config-file-path=%{_sysconfdir}/php
BuildOption(conf): --with-config-file-scan-dir=%{_sysconfdir}/php.d
BuildOption(conf): --with-config-file-scan-dir=%{_sysconfdir}/php/conf.d
BuildOption(conf): --with-curl=shared
BuildOption(conf): --enable-gd=shared
BuildOption(conf): --with-freetype
BuildOption(conf): --with-jpeg
BuildOption(conf): --with-openssl=shared
BuildOption(conf): --enable-pcntl=shared
BuildOption(conf): --with-zip=shared
BuildOption(conf): --with-zlib=shared
BuildOption(conf): EXTENSION_DIR=%{_libdir}/php/extensions
BuildOption(build): CFLAGS="$RPM_OPT_FLAGS"
BuildOption(build): LDFLAGS="$RPM_LD_FLAGS"
BuildOption(install): PREFIX=%{_prefix}
Expand All @@ -36,11 +46,19 @@ BuildOption(check): REPORT_EXIT_STATUS=1
BuildOption(check): NO_INTERACTION=1
BuildOption(check): SKIP_ONLINE_TESTS=1
BuildOption(check): SKIP_SLOW_TESTS=1
BuildOption(check): TESTS="-r php-test-list"

BuildRequires: re2c
BuildRequires: bison
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(libjpeg)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(libzip)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(zlib)

%description
PHP is a popular general-purpose scripting language that is especially suited
Expand All @@ -54,16 +72,78 @@ Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Includes and definitions for developing with php.

%package curl
Summary: PHP libcurl integration
Requires: %{name}%{?_isa} = %{version}-%{release}

%description curl
This package provides the PHP extension for libcurl.

%package gd
Summary: PHP GD graphics extension
Requires: %{name}%{?_isa} = %{version}-%{release}

%description gd
This package provides the PHP extension for creating and manipulating images
using the GD graphics library.

%package openssl
Summary: PHP OpenSSL integration
Requires: %{name}%{?_isa} = %{version}-%{release}

%description openssl
This package provides the PHP extension for OpenSSL cryptography and TLS
stream support.

%package pcntl
Summary: PHP process control extension
Requires: %{name}%{?_isa} = %{version}-%{release}

%description pcntl
This package provides the PHP extension for Unix process control functions.

%package zip
Summary: PHP ZIP archive extension
Requires: %{name}%{?_isa} = %{version}-%{release}

%description zip
This package provides the PHP extension for reading and writing ZIP archives.

%package zlib
Summary: PHP zlib compression extension
Requires: %{name}%{?_isa} = %{version}-%{release}

%description zlib
This package provides the PHP extension for zlib compression support.

%check -p
# These tests can't run on OBS worker, disabled
find . -type f -name '*.phpt' \
! -path './ext/curl/tests/curl_setopt_ssl.phpt' \
! -path './ext/opcache/tests/bug78185.phpt' \
! -path './ext/opcache/tests/gh16979_check_file_cache_function.phpt' \
! -path './ext/openssl/tests/sni_server.phpt' \
! -path './ext/openssl/tests/sni_server_key_cert.phpt' \
! -path './ext/pcntl/tests/pcntl_cpuaffinity.phpt' \
! -path './ext/pcntl/tests/pcntl_getcpu.phpt' \
! -path './ext/pdo_pgsql/tests/transations_deprecations.phpt' \
| sort > php-test-list

%install -a
install -D -m644 "php.ini-production" "%{buildroot}/etc/php/php.ini"
install -d -m755 "%{buildroot}/etc/php/conf.d/"
for ext in curl gd openssl pcntl zip zlib; do
echo "extension=${ext}.so" > "%{buildroot}%{_sysconfdir}/php/conf.d/20-${ext}.ini"
done
rm -r %{buildroot}%{_libdir}/build

%files
%license LICENSE
%doc README.md NEWS
%license LICENSE
%{_bindir}/*
%{_datadir}/man/*
%dir %{_libdir}/php
%dir %{_libdir}/php/extensions
# main configuration file
%{_sysconfdir}/php/php.ini
# main configuration directory
Expand All @@ -73,5 +153,29 @@ rm -r %{buildroot}%{_libdir}/build
%files devel
%{_includedir}/php/*

%files curl
%config(noreplace) %{_sysconfdir}/php/conf.d/20-curl.ini
%{_libdir}/php/extensions/curl.so

%files gd
%config(noreplace) %{_sysconfdir}/php/conf.d/20-gd.ini
%{_libdir}/php/extensions/gd.so

%files openssl
%config(noreplace) %{_sysconfdir}/php/conf.d/20-openssl.ini
%{_libdir}/php/extensions/openssl.so

%files pcntl
%config(noreplace) %{_sysconfdir}/php/conf.d/20-pcntl.ini
%{_libdir}/php/extensions/pcntl.so

%files zip
%config(noreplace) %{_sysconfdir}/php/conf.d/20-zip.ini
%{_libdir}/php/extensions/zip.so

%files zlib
%config(noreplace) %{_sysconfdir}/php/conf.d/20-zlib.ini
%{_libdir}/php/extensions/zlib.so

%changelog
%autochangelog