# remirepo spec file for php-pecl-interbase # # 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 # # we don't want -z defs linker flag %undefine _strict_symbol_defs_build %if 0%{?scl:1} %global sub_prefix %{scl_prefix} %scl_package php-pecl-interbase %else %global _root_bindir %{_bindir} %global _root_libexecdir %{_libexecdir} %endif # https://github.com/php/pecl-database-interbase/commits/master %global gh_commit 05049db61daf4bac6ca7d02591a86284644cde90 %global gh_short %(c=%{gh_commit}; echo ${c:0:7}) %global gh_owner php %global gh_project pecl-database-interbase %global gh_date 20190523 %global with_zts 0%{?_with_zts:%{?__ztsphp:1}} %global pecl_name interbase %global with_tests 0%{?_with_tests:1} %global upver 1.0.0 %global uplower DEV %global ini_name 20-%{pecl_name}.ini Summary: InterBase/FireBird extension Name: %{?sub_prefix}php-pecl-%{pecl_name} Version: %{upver}%{?uplower:~%{uplower}}%{?gh_date:.%{gh_date}} Release: 6%{?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: firebird-devel Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} # ensure php-interbase pull both extensions as in previous version Requires: %{?scl_prefix}php-pdo-firebird%{?_isa} # Set epoch so provides is > 0:7.3 Obsoletes: %{?scl_prefix}php-%{pecl_name} < 7.4.0 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} %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 %description The php-interbase package contains a dynamic shared object that will add database support through Interbase/Firebird to PHP. InterBase is the name of the closed-source variant of this RDBMS that was developed by Borland/Inprise. Firebird is a commercially independent project of C and C++ programmers, technical advisors and supporters developing and enhancing a multi-platform relational database management system based on the source code released by Inprise Corp (now known as Borland Software Corp) under the InterBase Public License. This extension which was previously part of the PHP distribution. 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 mv %{gh_project}-%{gh_commit} NTS cd NTS # Check version as upstream often forget to update this extver=$(sed -n '/#define PHP_INTERBASE_VERSION/{s/.* "//;s/".*$//;p}' php_interbase.h) if test "x${extver}" != "x%{upver}%{?rcver}%{?gh_date:-dev}"; then : Error: Upstream INTERBASE version is ${extver}, expecting %{upver}%{?rcver}%{?gh_date:-dev}. exit 1 fi cd .. # Create configuration file cat << 'EOF' | tee %{ini_name} ; Enable "%{summary}" module extension=%{pecl_name} ; Allow or prevent persistent links. ;ibase.allow_persistent = 1 ; Maximum number of persistent links. -1 means no limit. ;ibase.max_persistent = -1 ; Maximum number of links (persistent + non-persistent). -1 means no limit. ;ibase.max_links = -1 ; Default database name for ibase_connect(). ;ibase.default_db = ; Default username for ibase_connect(). ;ibase.default_user = ; Default password for ibase_connect(). ;ibase.default_password = ; Default charset for ibase_connect(). ;ibase.default_charset = ; Default timestamp format. ;ibase.timestampformat = "%%Y-%%m-%%d %%H:%%M:%%S" ; Default date format. ;ibase.dateformat = "%%Y-%%m-%%d" ; Default time format. ;ibase.timeformat = "%%H:%%M:%%S" EOF %if %{with_zts} # duplicate for ZTS build cp -pr NTS ZTS %endif %build %{?dtsenable} export PHP_RPATH=no peclconf() { %configure \ --with-interbase \ --with-php-config=$1 } cd NTS %{_bindir}/phpize peclconf %{_bindir}/php-config make %{?_smp_mflags} %if %{with_zts} cd ../ZTS %{_bindir}/zts-phpize peclconf %{_bindir}/zts-php-config 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 NTS : Minimal load test for NTS extension %{_bindir}/php --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' %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}$' %endif %if %{with_tests} cd ../NTS : Run upstream test suite TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension=%{buildroot}%{php_extdir}/%{pecl_name}.so" \ NO_INTERACTION=1 \ REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php -q --show-diff %endif %files %{!?_licensedir:%global license %%doc} %license NTS/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 * Thu Aug 24 2023 Remi Collet - 1.0.0~DEV.20190523-6 - F39 build * Wed Aug 19 2020 Remi Collet - 1.0.0~DEV.20190523-5 - F33 build * Tue Sep 03 2019 Remi Collet - 1.0.0~DEV.20190523-4 - rebuild for 7.4.0RC1 * Tue Jul 23 2019 Remi Collet - 1.0.0~DEV.20190523-3 - rebuild for 7.4.0beta1 * Wed May 29 2019 Remi Collet - 1.0.0~DEV.20190523-2 - rebuild * Thu May 23 2019 Remi Collet - 1.0.0~DEV.20190523-1 - initial package, version 1.0.0-dev