diff options
-rw-r--r-- | PHPINFO | 2 | ||||
-rw-r--r-- | REFLECTION | 14 | ||||
-rw-r--r-- | fann-php81.patch | 60 | ||||
-rw-r--r-- | php-pecl-fann.spec | 129 |
4 files changed, 75 insertions, 130 deletions
@@ -2,5 +2,5 @@ fann FANN support => enabled -FANN version => 1.2.0RC1 +FANN version => 1.2.0 FANN library version => 2.2 @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #119 fann version 1.2.0RC1 ] { +Extension [ <persistent> extension #68 fann version 1.2.0 ] { - Constants [51] { Constant [ string FANN_VERSION ] { 2.2 } @@ -61,7 +61,7 @@ Extension [ <persistent> extension #119 fann version 1.2.0RC1 ] { Parameter #0 [ <required> $num_layers ] Parameter #1 [ <required> $num_neurons1 ] Parameter #2 [ <required> $num_neurons2 ] - Parameter #3 [ <optional> $... ] + Parameter #3 [ <optional> $... = <default> ] } } Function [ <internal:fann> function fann_create_standard_array ] { @@ -78,7 +78,7 @@ Extension [ <persistent> extension #119 fann version 1.2.0RC1 ] { Parameter #1 [ <required> $num_layers ] Parameter #2 [ <required> $num_neurons1 ] Parameter #3 [ <required> $num_neurons2 ] - Parameter #4 [ <optional> $... ] + Parameter #4 [ <optional> $... = <default> ] } } Function [ <internal:fann> function fann_create_sparse_array ] { @@ -95,7 +95,7 @@ Extension [ <persistent> extension #119 fann version 1.2.0RC1 ] { Parameter #0 [ <required> $num_layers ] Parameter #1 [ <required> $num_neurons1 ] Parameter #2 [ <required> $num_neurons2 ] - Parameter #3 [ <optional> $... ] + Parameter #3 [ <optional> $... = <default> ] } } Function [ <internal:fann> function fann_create_shortcut_array ] { @@ -1043,9 +1043,9 @@ Extension [ <persistent> extension #119 fann version 1.2.0RC1 ] { } - Properties [3] { - Property [ <default> public $from_neuron ] - Property [ <default> public $to_neuron ] - Property [ <default> public $weight ] + Property [ public $from_neuron = 0 ] + Property [ public $to_neuron = 0 ] + Property [ public $weight = 0.0 ] } - Methods [5] { diff --git a/fann-php81.patch b/fann-php81.patch deleted file mode 100644 index 735289d..0000000 --- a/fann-php81.patch +++ /dev/null @@ -1,60 +0,0 @@ -From a4b927a0f9e7dce9d0b002e559c314b45acf46ff Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Thu, 10 Jun 2021 16:17:26 +0200 -Subject: [PATCH] add PHPC_PHP_STAT helper - ---- - phpc.h | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/phpc.h b/phpc.h -index 9206105..8e7211f 100644 ---- a/phpc/phpc.h -+++ b/phpc/phpc.h -@@ -1595,5 +1595,16 @@ typedef const char phpc_stream_opener_char_t; - php_stream_locate_url_wrapper(_path, (char **) _path_for_open, _options TSRMLS_CC) - #endif - -+#if (PHP_MAJOR_VERSION == 8 && PHP_MINOR_VERSION >= 1) || (PHP_MAJOR_VERSION > 8) -+#define PHPC_PHP_STAT(filename, filename_length, type, return_value) do { \ -+ zend_string *str = zend_string_init(filename, filename_length, 0); \ -+ php_stat(str, type, return_value); \ -+ zend_string_release(str); \ -+ } while (0) -+ -+#else -+#define PHPC_PHP_STAT php_stat -+#endif -+ - #endif /* PHPC_H */ - -From 79111c0b9504d18f4c9b70c2a6b6ed9eadc5047d Mon Sep 17 00:00:00 2001 -From: Remi Collet <remi@remirepo.net> -Date: Thu, 10 Jun 2021 16:18:23 +0200 -Subject: [PATCH] Use PHPC_PHP_STAT helper - ---- - fann.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/fann.c b/fann.c -index 68dd96b..d0c0d84 100644 ---- a/fann.c -+++ b/fann.c -@@ -1189,13 +1189,13 @@ static char *php_fann_get_path_for_open(char *path, phpc_str_size_t path_len, in - char *path_for_open; - - if (read) { -- php_stat(path, (php_stat_len) path_len, FS_IS_R, &retval TSRMLS_CC); -+ PHPC_PHP_STAT(path, (php_stat_len) path_len, FS_IS_R, &retval TSRMLS_CC); - } else { -- php_stat(path, (php_stat_len) path_len, FS_IS_W, &retval TSRMLS_CC); -+ PHPC_PHP_STAT(path, (php_stat_len) path_len, FS_IS_W, &retval TSRMLS_CC); - if (PHP_FANN_PATH_FORBIDDEN(retval)) { - char *dirname = estrndup(path, path_len); - size_t dirname_len = php_dirname(dirname, (size_t) path_len); -- php_stat(dirname, (php_stat_len) dirname_len, FS_IS_W, &retval TSRMLS_CC); -+ PHPC_PHP_STAT(dirname, (php_stat_len) dirname_len, FS_IS_W, &retval TSRMLS_CC); - efree(dirname); - } - } diff --git a/php-pecl-fann.spec b/php-pecl-fann.spec index 8772bae..18d4c10 100644 --- a/php-pecl-fann.spec +++ b/php-pecl-fann.spec @@ -3,20 +3,25 @@ # # Fedora spec file for php-pecl-fann # -# Copyright (c) 2013-2021 Remi Collet -# License: CC-BY-SA +# Copyright (c) 2013-2024 Remi Collet +# License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # -%if 0%{?scl:1} -%global sub_prefix %{scl_prefix} -%scl_package php-pecl-fann -%endif + +%{?scl:%scl_package php-pecl-fann} + +# For PHP < 5.6 and EPEL-9 +%{!?__phpize: %global __phpize %{_bindir}/phpize} +%{!?__ztsphpize: %global __ztsphpize %{_bindir}/zts-phpize} +%{!?__phpconfig: %global __phpconfig %{_bindir}/php-config} +%{!?__ztsphpconfig:%global __ztsphpconfig %{_bindir}/zts-php-config} + +%bcond_without tests %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global pecl_name fann -%global with_tests %{?_without_tests:0}%{!?_without_tests:1} %if "%{php_version}" < "5.6" %global ini_name %{pecl_name}.ini %else @@ -24,17 +29,17 @@ %endif %global upstream_version 1.2.0 -%global upstream_prever RC1 +#global upstream_prever RC2 +%global sources %{pecl_name}-%{upstream_version}%{?upstream_prever} +%global _configure ../%{sources}/configure Summary: Wrapper for FANN Library -Name: %{?sub_prefix}php-pecl-%{pecl_name} +Name: %{?scl_prefix}php-pecl-%{pecl_name} Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release: 2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} -License: PHP +Release: 1%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +License: PHP-3.01 URL: https://pecl.php.net/package/%{pecl_name} -Source0: https://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz - -Patch0: %{pecl_name}-php81.patch +Source0: https://pecl.php.net/get/%{sources}.tgz BuildRequires: make BuildRequires: %{?dtsprefix}gcc @@ -44,55 +49,31 @@ BuildRequires: %{?scl_prefix}php-pear Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} -%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} 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} -%if "%{?scl_prefix}" != "%{?sub_prefix}" -Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} -%endif - -%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -# Other third party repo stuff -%if "%{php_version}" > "7.3" -Obsoletes: php73-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "7.4" -Obsoletes: php74-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "8.0" -Obsoletes: php80-pecl-%{pecl_name} <= %{version} -%endif -%if "%{php_version}" > "8.1" -Obsoletes: php81-pecl-%{pecl_name} <= %{version} -%endif -%endif %description This package provides a PHP binding for FANN (Fast Artificial Neural Network) Library. -Documentation: http://php.net/fann +Documentation: https://php.net/fann 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 -q -c -mv %{pecl_name}-%{upstream_version}%{?upstream_prever} NTS # Don't install tests sed -e 's/role="test"/role="src"/' \ %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ -i package.xml -cd NTS -%patch0 -p1 - +cd %{sources} # Sanity check, really often broken extver=$(sed -n '/#define PHP_FANN_VERSION/{s/.* "//;s/".*$//;p}' php_fann.h) if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then @@ -101,9 +82,9 @@ if test "x${extver}" != "x%{upstream_version}%{?upstream_prever}"; then fi cd .. +mkdir NTS %if %{with_zts} -# Duplicate source tree for NTS / ZTS build -cp -pr NTS ZTS +mkdir ZTS %endif # Create configuration file @@ -116,17 +97,18 @@ EOF %build %{?dtsenable} -cd NTS -%{_bindir}/phpize +cd %{sources} +%{__phpize} + +cd ../NTS %configure \ - --with-php-config=%{_bindir}/php-config + --with-php-config=%{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS -%{_bindir}/zts-phpize %configure \ - --with-php-config=%{_bindir}/zts-php-config + --with-php-config=%{__ztsphpconfig} make %{?_smp_mflags} %endif @@ -150,40 +132,43 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} # Documentation for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') -do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %check -cd NTS +cd %{sources} + : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} + --modules | grep '^%{pecl_name}$' + +%if %{with tests} +OPTS="-q --show-diff" +%if "%{php_version}" >= "8" +OPTS="$OPTS %{?_smp_mflags}" +%endif -%if %{with_tests} : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{__php} \ -TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ -NO_INTERACTION=1 \ +TEST_PHP_ARGS="-n -d extension=$PWD/../NTS/modules/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ -%{__php} -n run-tests.php --show-diff +%{__php} -n run-tests.php $OPTS %endif %if %{with_zts} -cd ../ZTS : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ - --modules | grep %{pecl_name} + --modules | grep '^%{pecl_name}$' -%if %{with_tests} +%if %{with tests} : Upstream test suite for ZTS extension -TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \ -TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \ -NO_INTERACTION=1 \ +TEST_PHP_EXECUTABLE=%{__ztsphp} \ +TEST_PHP_ARGS="-n -d extension=$PWD/../ZTS/modules/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ -%{_bindir}/zts-php -n run-tests.php --show-diff +%{__ztsphp} -n run-tests.php $OPTS %endif %endif @@ -210,7 +195,7 @@ fi %files %doc %{pecl_docdir}/%{pecl_name} -%{?_licensedir:%license NTS/LICENSE} +%{?_licensedir:%license %{sources}/LICENSE} %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} @@ -223,6 +208,26 @@ fi %changelog +* Thu Feb 22 2024 Remi Collet <remi@remirepo.net> - 1.2.0-1 +- update to 1.2.0 +- run tests in parallel + +* Wed Aug 30 2023 Remi Collet <remi@remirepo.net> - 1.2.0~RC2-4 +- rebuild for PHP 8.3.0RC1 + +* Thu Jul 13 2023 Remi Collet <remi@remirepo.net> - 1.2.0~RC2-3 +- build out of sources tree + +* Thu Sep 8 2022 Remi Collet <remi@remirepo.net> - 1.2.0~RC2-2 +- spec cleanup + +* Mon Jan 3 2022 Remi Collet <remi@remirepo.net> - 1.2.0~RC2-1 +- update to 1.2.0RC2 +- drop patches merged upstream + +* Wed Sep 01 2021 Remi Collet <remi@remirepo.net> - 1.2.0~RC1-3 +- rebuild for 8.1.0RC1 + * Thu Jun 10 2021 Remi Collet <remi@remirepo.net> - 1.2.0~RC1-2 - add patch for PHP 8.1 from https://github.com/bukka/phpc/pull/2 |