From 391b1d76492353d4c3d4f96eb510bad703dca5c3 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 10 Apr 2025 08:11:07 +0200 Subject: new package, version 0.1.0rc1 open https://github.com/kjdev/php-ext-bzip3/issues/2 add LICENSE file --- .gitignore | 9 +++ Makefile | 4 ++ PHPINFO | 6 ++ REFLECTION | 19 +++++++ makesrc.sh | 29 ++++++++++ php-kjdev-bzip3.spec | 155 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 222 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 PHPINFO create mode 100644 REFLECTION create mode 100755 makesrc.sh create mode 100644 php-kjdev-bzip3.spec 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..91b0fd5 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../common/Makefile + diff --git a/PHPINFO b/PHPINFO new file mode 100644 index 0000000..7ca7040 --- /dev/null +++ b/PHPINFO @@ -0,0 +1,6 @@ + +bzip3 + +Bzip3 support => enabled +Extension Version => 0.1.0 +Library Version => 1.4.0 diff --git a/REFLECTION b/REFLECTION new file mode 100644 index 0000000..7e4b2d4 --- /dev/null +++ b/REFLECTION @@ -0,0 +1,19 @@ +Extension [ extension #72 bzip3 version 0.1.0 ] { + + - Functions { + Function [ function Bzip3\compress ] { + + - Parameters [2] { + Parameter #0 [ $data ] + Parameter #1 [ $block_size = ] + } + } + Function [ function Bzip3\uncompress ] { + + - Parameters [1] { + Parameter #0 [ $data ] + } + } + } +} + diff --git a/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..5246a95 --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +NAME=$(basename $PWD) +OWNER=$(sed -n '/^%global gh_owner/{s/.* //;p}' $NAME.spec) +PROJECT=$(sed -n '/^%global gh_project/{s/.* //;p}' $NAME.spec) +VER1=$(sed -n '/^%global upstream_version/{s/.* //;p}' $NAME.spec) +VER2=$(sed -n '/^%global upstream_prever/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global gh_commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} +VERSION=${VER1}${VER2} + +echo -e "\nCreate git snapshot\nName=$NAME, Owner=$OWNER, Project=$PROJECT, Version=$VERSION\n" + +echo "Cloning..." +rm -rf $PROJECT-$COMMIT +git clone --recursive https://github.com/$OWNER/$PROJECT.git $PROJECT-$COMMIT + +echo "Getting commit..." +pushd $PROJECT-$COMMIT +git checkout $COMMIT +popd + +echo "Archiving..." +tar czf $NAME-$VERSION-$SHORT.tgz --exclude .git $PROJECT-$COMMIT + +echo "Cleaning..." +rm -rf $PROJECT-$COMMIT + +echo "Done." 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 - 0.1.0~rc-1 +- new package, version 0.1.0rc1 +- open https://github.com/kjdev/php-ext-bzip3/issues/2 add LICENSE file -- cgit