# remirepo spec file for php-pecl-recode # # Copyright (c) 2019-2023 Remi Collet # License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %{?scl:%scl_package php-pecl-recode} %bcond_without tests # https://github.com/php/pecl-text-recode/commits/master %global gh_commit 3e049a6b3a5138c6bad444cd29393b3150958c64 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner php %global gh_project pecl-text-recode %global gh_date 20190723 %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global pecl_name recode %global upver 1.0.0 %global uplower DEV # After 20-xml %global ini_name 30-%{pecl_name}.ini %global sources %{gh_project}-%{gh_commit} %global _configure ../%{sources}/configure Summary: A module for PHP applications for using the recode library Name: %{?scl_prefix}php-pecl-%{pecl_name} Version: %{upver}%{?uplower:~%{uplower}}%{?gh_date:.%{gh_date}} Release: 9%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: PHP-3.01 URL: https://pecl.php.net/package/%{pecl_name} Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{upver}-%{gh_short}.tar.gz BuildRequires: make BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel >= 7.4 BuildRequires: %{?scl_prefix}php-pear BuildRequires: recode-devel BuildRequires: gdb Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} # Set epoch so provides is > 0:7.3 Obsoletes: %{?scl_prefix}php-%{pecl_name} < 7.4.1 Provides: %{?scl_prefix}php-%{pecl_name} = 1:%{version} Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = 1:%{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} %description This module contains an interface to the GNU Recode library. The GNU Recode library converts files between various coded character sets and surface encodings. When this cannot be achieved exactly, it may get rid of the offending characters or fall back on approximations. The library recognises or produces nearly 150 different character sets and is able to convert files between almost any pair. Most RFC 1345 character sets are supported. This extension which was previously part of the PHP distribution. This package is only provided for legacy applications. 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} # Check version as upstream often forget to update this extver=$(sed -n '/#define PHP_RECODE_VERSION/{s/.* "//;s/".*$//;p}' php_recode.h) if test "x${extver}" != "x%{upver}%{?rcver}%{?gh_date:-dev}"; then : Error: Upstream RECODE version is ${extver}, expecting %{upver}%{?rcver}%{?gh_date:-dev}. exit 1 fi cd .. # Create configuration file cat << 'EOF' | tee %{ini_name} ; Enable "%{pecl_name}" extension module extension=%{pecl_name} EOF mkdir NTS %if %{with_zts} mkdir ZTS %endif %build %{?dtsenable} peclconf() { %configure \ --with-recode \ --with-php-config=$1 } cd %{sources} %{__phpize} cd ../NTS peclconf %{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS peclconf %{__ztsphpconfig} make %{?_smp_mflags} %endif %install %{?dtsenable} # Install the NTS stuff make -C NTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} # Install the ZTS stuff %if %{with_zts} make -C ZTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif %check cd %{sources} : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' %if %{with_zts} : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' %endif %if %{with tests} %if 0%{?fedora} >= 32 || 0%{?rhel} >= 9 : ignore test failing with recode 3.7 rm tests/001.phpt %endif : Run 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 %{!?_licensedir:%global license %%doc} %license %{sources}/LICENSE %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so %if %{with_zts} %{php_ztsextdir}/%{pecl_name}.so %config(noreplace) %{php_ztsinidir}/%{ini_name} %endif %changelog * Fri Sep 1 2023 Remi Collet - 1.0.0~DEV.20190723-9 - build out of sources tree * Thu Aug 24 2023 Remi Collet - 1.0.0~DEV.20190723-8 - F39 build * Tue Sep 13 2022 Remi Collet - 1.0.0~DEV.20190723-6 - EL-9 build * Wed Feb 19 2020 Remi Collet - 1.0.0~DEV.20190723-5 - ignore 1 test failing with recode 3.7 * Mon Feb 03 2020 Remi Collet - 1.0.0~DEV.20190723-4 - fix obsolete * Tue Sep 03 2019 Remi Collet - 1.0.0~DEV.20190723-3 - rebuild for 7.4.0RC1 * Tue Jul 23 2019 Remi Collet - 1.0.0~DEV.20190723-2 - rebuild for 7.4.0beta1 * Fri Jul 12 2019 Remi Collet - 1.0.0~DEV.20190712-1 - initial package, version 1.0.0-dev