diff options
| author | Remi Collet <remi@remirepo.net> | 2026-04-07 09:42:39 +0200 |
|---|---|---|
| committer | Remi Collet <remi@php.net> | 2026-04-07 09:42:39 +0200 |
| commit | 57736b7956f5b47a65cf754f4117258302213919 (patch) | |
| tree | c8b5e58c34645b3a42b217f56cc39fc256de9166 | |
| parent | bbb0af734a567659116562330791e6960c001f05 (diff) | |
re-license spec file to CECILL-2.1
add pie virtual provides
drop pear/pecl dependency
sources from github
| -rw-r--r-- | PHPINFO | 2 | ||||
| -rw-r--r-- | REFLECTION | 8 | ||||
| -rw-r--r-- | composer.json | 19 | ||||
| -rw-r--r-- | php-pecl-xdiff.spec | 149 |
4 files changed, 83 insertions, 95 deletions
@@ -2,5 +2,5 @@ xdiff xdiff support => enabled -extension version => 2.1.1 +extension version => 2.2.0 libxdiff version => LibXDiff v0.23 by Davide Libenzi <davide@xmailserver.org> @@ -1,9 +1,9 @@ -Extension [ <persistent> extension #120 xdiff version 2.1.1 ] { +Extension [ <persistent> extension #132 xdiff version 2.2.0 ] { - Constants [3] { - Constant [ int XDIFF_PATCH_NORMAL ] { 45 } - Constant [ int XDIFF_PATCH_REVERSE ] { 43 } - Constant [ int XDIFF_PATCH_IGNORESPACE ] { 256 } + Constant [ <persistent> int XDIFF_PATCH_NORMAL ] { 45 } + Constant [ <persistent> int XDIFF_PATCH_REVERSE ] { 43 } + Constant [ <persistent> int XDIFF_PATCH_IGNORESPACE ] { 256 } } - Functions { diff --git a/composer.json b/composer.json new file mode 100644 index 0000000..2ac2c15 --- /dev/null +++ b/composer.json @@ -0,0 +1,19 @@ +{ + "name": "pecl/xdiff", + "type": "php-ext", + "license": "PHP-3.01", + "description": "File differences/patches.", + "require": { + "php": ">=7.0.0" + }, + "php-ext": { + "extension-name": "xdiff", + "configure-options": [ + { + "name": "with-xdiff", + "description": "libxdiff library installation dir", + "needs-value": false + } + ] + } +} diff --git a/php-pecl-xdiff.spec b/php-pecl-xdiff.spec index 01f0f1e..717de13 100644 --- a/php-pecl-xdiff.spec +++ b/php-pecl-xdiff.spec @@ -1,49 +1,61 @@ # remirepo spec file for php-pecl-xdiff # -# Copyright (c) 2016-2022 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText: Copyright 2016-2026 Remi Collet +# SPDX-License-Identifier: CECILL-2.1 +# http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt # # Please, preserve the changelog entries # -# we don't want -z defs linker flag -%undefine _strict_symbol_defs_build - -%if 0%{?scl:1} -%scl_package php-pecl-xdiff -%endif +%{?scl:%scl_package php-pecl-xdiff} %global pecl_name xdiff %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global ini_name 40-%{pecl_name}.ini +%global pie_vend pecl +%global pie_proj %{pecl_name} +%global _configure ../configure +# Github forge +%global gh_vend php +%global gh_proj pecl-text-%{pecl_name} +%global forgeurl https://github.com/%{gh_vend}/%{gh_proj} +%global tag %{version} + +# See http://www.xmailserver.org/xdiff-lib.html %global libxdiff_version 0.23 + Name: %{?scl_prefix}php-pecl-%{pecl_name} -Version: 2.1.1 -Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} Summary: File differences/patches # libxdiff is LGPLv2+, xdiff extension is PHP -License: PHP and LGPLv2+ -URL: https://pecl.php.net/package/%{pecl_name} -Source0: https://pecl.php.net/get/%{pecl_name}-%{version}.tgz +License: PHP-3.01 AND LGPL-2.0-or-later +Version: 2.2.0 +Release: 1%{?dist} +%forgemeta +URL: %{forgeurl} +Source0: %{forgesource} # bundles the lib, as libxdiff from spot is not compatible Source1: http://www.xmailserver.org/libxdiff-%{libxdiff_version}.tar.gz Source2: config.m4 BuildRequires: make BuildRequires: %{?dtsprefix}gcc -BuildRequires: %{?scl_prefix}php-devel >= 7 -BuildRequires: %{?scl_prefix}php-pear +BuildRequires: %{?scl_prefix}php-devel >= 7.0 Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} Provides: bundled(libxdiff) = %{libxdiff_version} -Provides: %{?scl_prefix}php-%{pecl_name} = %{version} -Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} -Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +# Extension +Provides: %{?scl_prefix}php-%{pecl_name} = %{version} +Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} +# PECL +Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} +Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} +# PIE +Provides: %{?scl_prefix}php-pie(%{pie_vend}/%{pie_proj}) = %{version} +Provides: %{?scl_prefix}php-%{pie_vend}-%{pie_proj} = %{version} + %description This extension creates and applies patches to both text and binary files. @@ -54,100 +66,60 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO %prep -%setup -q -c -a1 -mv %{pecl_name}-%{version} NTS +%setup -q -n %{gh_proj}-%{version} -a1 # Bundles libxdiff -mv libxdiff-%{libxdiff_version}/xdiff NTS/libxdiff -sed -e 's/PACKAGE_VERSION/"%{libxdiff_version}"/' -i NTS/libxdiff/xversion.c -cp -p %{SOURCE2} NTS/config.m4 +mv libxdiff-%{libxdiff_version}/xdiff libxdiff +sed -e 's/PACKAGE_VERSION/"%{libxdiff_version}"/' -i libxdiff/xversion.c +cp -p %{SOURCE2} config.m4 cp -p libxdiff-%{libxdiff_version}/COPYING libxdiff_COPYING -# Don't install/register tests -sed -e 's/role="test"/role="src"/' \ - %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ - -i package.xml - -cd NTS # Sanity check, really often broken extver=$(sed -n '/#define PHP_XDIFF_VERSION/{s/.* "//;s/".*$//;p}' php_xdiff.h) if test "x${extver}" != "x%{version}"; then : Error: Upstream extension version is ${extver}, expecting %{version}. exit 1 fi -cd .. cat >%{ini_name} << 'EOF' ; Enable %{pecl_name} extension module extension=%{pecl_name}.so EOF -%if %{with_zts} -# duplicate for ZTS build -cp -pr NTS ZTS -%endif +mkdir NTS ZTS %build %{?dtsenable} +%{__phpize} +[ -f Makefile.global ] && GLOBAL=Makefile.global || GLOBAL=build/Makefile.global +sed -e 's/INSTALL_ROOT/DESTDIR/' -i $GLOBAL + cd NTS -%{_bindir}/phpize -%configure --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} +%configure --with-php-config=%{__phpconfig} +%make_build %if %{with_zts} cd ../ZTS -%{_bindir}/zts-phpize -%configure --with-php-config=%{_bindir}/zts-php-config -make %{?_smp_mflags} +%configure --with-php-config=%{__ztsphpconfig} +%make_build %endif %install %{?dtsenable} -make install -C NTS INSTALL_ROOT=%{buildroot} +%make_install -C NTS # Drop in the bit of configuration install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} -# Install XML package description -install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml - %if %{with_zts} -make install -C ZTS INSTALL_ROOT=%{buildroot} +%make_install -C ZTS install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif -# Documentation -i=libxdiff_COPYING -%{!?_licensedir:install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i} -cd NTS -for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i -done - - -%if 0%{?fedora} < 24 && 0%{?rhel} < 8 -# when pear installed alone, after us -%triggerin -- %{?scl_prefix}php-pear -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -# posttrans as pear can be installed after us -%posttrans -if [ -x %{__pecl} ] ; then - %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : -fi - -%postun -if [ $1 -eq 0 -a -x %{__pecl} ] ; then - %{pecl_uninstall} %{pecl_name} >/dev/null || : -fi -%endif - %check : Minimal load test for NTS extension @@ -156,8 +128,7 @@ fi --modules | grep '^%{pecl_name}$' : Upstream test suite for NTS extension -cd NTS -TEST_PHP_EXECUTABLE=%{_bindir}/php \ +TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ @@ -168,23 +139,14 @@ REPORT_EXIT_STATUS=1 \ %{__ztsphp} -n \ -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' - -: Upstream test suite for ZTS extension -cd ../NTS -TEST_PHP_EXECUTABLE=%{__ztsphp} \ -TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so" \ -NO_INTERACTION=1 \ -REPORT_EXIT_STATUS=1 \ -%{__ztsphp} -n run-tests.php - %endif %files -%{?_licensedir:%license NTS/LICENSE} -%{?_licensedir:%license libxdiff_COPYING} -%doc %{pecl_docdir}/%{pecl_name} -%{pecl_xmldir}/%{name}.xml +%license LICENSE +%license libxdiff_COPYING +%doc composer.json +%doc *.md %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so @@ -196,6 +158,13 @@ REPORT_EXIT_STATUS=1 \ %changelog +* Tue Apr 7 2026 Remi Collet <remi@remirepo.net> - 2.2.0-1 +- update to 2.2.0 +- re-license spec file to CECILL-2.1 +- add pie virtual provides +- drop pear/pecl dependency +- sources from github + * Wed Aug 30 2023 Remi Collet <remi@remirepo.net> - 2.1.1-3 - rebuild for PHP 8.3.0RC1 |
