diff options
Diffstat (limited to 'php-kjdev-bzip3.spec')
-rw-r--r-- | php-kjdev-bzip3.spec | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/php-kjdev-bzip3.spec b/php-kjdev-bzip3.spec new file mode 100644 index 0000000..9e06497 --- /dev/null +++ b/php-kjdev-bzip3.spec @@ -0,0 +1,155 @@ +# remirepo spec file for php-kjdev-bzip3 +# +# SPDX-FileCopyrightText: Copyright 2025 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt +# +# Please, preserve the changelog entries +# +%if 0%{?scl:1} +%scl_package php-kjdev-bzip3 +%else +%global pkg_name %{name} +%endif + +%bcond_without tests +%if 0%{?rhel} == 10 +%bcond_with libbzip3 +%else +%bcond_without libbzip3 +%endif + +%global gh_commit 29f20d70e9eef8839b97b98584f8db92306275f6 +%global gh_short %(c=%{gh_commit}; echo ${c:0:7}) +%global gh_owner kjdev +%global gh_project php-ext-bzip3 +%global pecl_name bzip3 +%global pie_vend kjdev +%global pie_proj bzip3 +%global ini_name 40-%{pecl_name}.ini + +%global upstream_version 0.1.0 +%global upstream_prever rc +%global sources %{gh_project}-%{gh_commit} + + +Summary: Bzip3 extension for PHP +Name: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} +Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} +Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +%if %{with libbzip3} +License: MIT +%else +License: MIT AND LGPL-3.0-or-later +%endif +URL: https://github.com/%{gh_owner}/%{gh_project} +Source0: %{pkg_name}-%{upstream_version}%{?upstream_prever}-%{gh_short}.tgz +# retrieve a recursive git snapshot with submodule +Source1: makesrc.sh + +BuildRequires: make +BuildRequires: gcc +BuildRequires: %{?scl_prefix}php-devel >= 8.1 +%if %{with libbzip3} +BuildRequires: pkgconfig(bzip3) +%else +Provides: bundled(libbzip3) = 1.5.1 +%endif + +Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} +Requires: %{?scl_prefix}php(api) = %{php_core_api} + +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version} + + +%description +This extension allows bzip3, a compression/decompression library. + +Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. + + +%prep +%setup -qc + +cd %{sources} +%if %{with libbz3} +# Use the system library +rm -r lib +%else +cp -r lib/LICENSE LICENSE.libbzip3 +%endif + +# Sanity check, really often broken +extver=$(sed -n '/#define PHP_BZIP3_EXT_VERSION/{s/.* "//;s/".*$//;p}' php_bzip3.h) +if test "x${extver}" != "x%{upstream_version}"; then + : Error: Upstream extension version is ${extver}, expecting %{version}. + exit 1 +fi +cd .. + +# Drop in the bit of configuration +cat << 'EOF' | tee %{ini_name} +; Enable '%{summary}' extension module +extension = %{pecl_name}.so +EOF + + +%build +cd %{sources} +%{__phpize} +sed -e 's/INSTALL_ROOT/DESTDIR/' -i build/Makefile.global + +%configure \ + --with-php-config=%{__phpconfig} \ +%if %{with libbzip3} + --with-libbzip3 \ +%endif + --with-libdir=%{_lib} \ + --enable-bzip3 + +%make_build + + +%install +cd %{sources} + +: Install the extension +%make_install +install -D -m 644 ../%{ini_name} %{buildroot}%{php_inidir}/%{ini_name} + + +%check +cd %{sources} + +: Minimal load test +%{__php} --no-php-ini \ + --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ + --modules | grep '^%{pecl_name}$' + +%if %{with tests} +: Upstream test suite +TEST_PHP_EXECUTABLE=%{__php} \ +TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ +REPORT_EXIT_STATUS=1 \ +%{__php} -n run-tests.php -q --show-diff +%endif + + +%files +#license %%{sources}/LICENSE +%if %{without libbzip3} +%license %{sources}/LICENSE.libbzip3 +%endif +%doc %{sources}/composer.json +%doc %{sources}/README.md + +%config(noreplace) %{php_inidir}/%{ini_name} +%{php_extdir}/%{pecl_name}.so + + +%changelog +* Thu Apr 10 2025 Remi Collet <remi@remirepo.net> - 0.1.0~rc-1 +- new package, version 0.1.0rc1 +- open https://github.com/kjdev/php-ext-bzip3/issues/2 add LICENSE file |