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 | 167 | 
4 files changed, 79 insertions, 164 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..7a60d1b 100644 --- a/php-pecl-fann.spec +++ b/php-pecl-fann.spec @@ -3,38 +3,33 @@  #  # Fedora spec file for php-pecl-fann  # -# Copyright (c) 2013-2021 Remi Collet -# License: CC-BY-SA -# http://creativecommons.org/licenses/by-sa/4.0/ +# SPDX-FileCopyrightText:  Copyright 2013-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} -%global sub_prefix %{scl_prefix} -%scl_package       php-pecl-fann -%endif + +%{?scl:%scl_package php-pecl-fann} + +%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  %global ini_name   40-%{pecl_name}.ini -%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:        3%{?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 +39,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"/' } \ +    -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 +72,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,25 +87,28 @@ EOF  %build  %{?dtsenable} -cd NTS -%{_bindir}/phpize +cd %{sources} +%{__phpize} +[ -f Makefile.global ] && GLOBAL=Makefile.global || GLOBAL=build/Makefile.global +sed -e 's/INSTALL_ROOT/DESTDIR/' -i $GLOBAL + +cd ../NTS  %configure \ -    --with-php-config=%{_bindir}/php-config -make %{?_smp_mflags} +    --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} +    --with-php-config=%{__ztsphpconfig} +%make_build  %endif  %install  %{?dtsenable} -make -C NTS install INSTALL_ROOT=%{buildroot} +%make_install -C NTS  # install config file  install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} @@ -143,74 +117,49 @@ install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name}  install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml  %if %{with_zts} -make -C ZTS install INSTALL_ROOT=%{buildroot} +%make_install -C ZTS  install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name}  %endif  # 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} - -%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 \ -REPORT_EXIT_STATUS=1 \ -%{_bindir}/zts-php -n run-tests.php --show-diff -%endif -%endif - - -%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 +    --modules | grep '^%{pecl_name}$'  %endif  %files  %doc %{pecl_docdir}/%{pecl_name} -%{?_licensedir:%license NTS/LICENSE} +%license %{sources}/LICENSE  %{pecl_xmldir}/%{name}.xml  %config(noreplace) %{php_inidir}/%{ini_name} @@ -223,6 +172,32 @@ fi  %changelog +* Thu Sep 25 2025 Remi Collet <remi@remirepo.net> - 1.2.0-3 +- rebuild for PHP 8.5.0RC1 + +* Wed Jul 30 2025 Remi Collet <remi@remirepo.net> - 1.2.0-2 +- rebuild for 8.5.0alpha3 + +* 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 | 
