summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PHPINFO2
-rw-r--r--REFLECTION8
-rw-r--r--composer.json19
-rw-r--r--php-pecl-xdiff.spec149
4 files changed, 83 insertions, 95 deletions
diff --git a/PHPINFO b/PHPINFO
index f97f45c..49d9b35 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -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>
diff --git a/REFLECTION b/REFLECTION
index 38e8e13..042cd31 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -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