summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--php-pecl-seassnowflake.spec74
1 files changed, 38 insertions, 36 deletions
diff --git a/php-pecl-seassnowflake.spec b/php-pecl-seassnowflake.spec
index e1018eb..13ad7a6 100644
--- a/php-pecl-seassnowflake.spec
+++ b/php-pecl-seassnowflake.spec
@@ -1,31 +1,31 @@
# remirepo spec file for php-pecl-seassnowflake
#
-# Copyright (c) 2021-2022 Remi Collet
-# License: CC-BY-SA
+# Copyright (c) 2021-2023 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}
-%scl_package php-pecl-seassnowflake
-%else
-%global _root_libdir %{_libdir}
-%endif
-%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
-%global proj_name SeasSnowflake
-%global pecl_name SeasSnowflake
-%global rpm_name seassnowflake
-%global with_tests 0%{!?_without_tests:1}
-%global ini_name 40-%{pecl_name}.ini
+%{?scl:%scl_package php-pecl-seassnowflake}
+
+%bcond_without tests
+
+%global with_zts 0%{!?_without_zts:%{?__ztsphp:1}}
+%global proj_name SeasSnowflake
+%global pecl_name SeasSnowflake
+%global rpm_name seassnowflake
+%global ini_name 40-%{pecl_name}.ini
+%global sources %{proj_name}-%{version}
+%global _configure ../%{sources}/configure
Summary: PHP Extension for Distributed unique ID generator
Name: %{?scl_prefix}php-pecl-%{rpm_name}
Version: 1.0.0
-Release: 3%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
-License: PHP
+Release: 4%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+License: PHP-3.01
URL: https://pecl.php.net/package/%{proj_name}
-Source0: https://pecl.php.net/get/%{proj_name}-%{version}.tgz
+Source0: https://pecl.php.net/get/%{sources}.tgz
Patch0: https://patch-diff.githubusercontent.com/raw/SeasX/SeasSnowflake/pull/3.patch
Patch1: https://patch-diff.githubusercontent.com/raw/SeasX/SeasSnowflake/pull/5.patch
@@ -40,7 +40,6 @@ 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}
@@ -59,19 +58,18 @@ Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSIO
%prep
%setup -q -c
-mv %{proj_name}-%{version} 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
+cd %{sources}
find . -type f -exec chmod -x {} \;
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch -P0 -p1
+%patch -P1 -p1
+%patch -P2 -p1
+%patch -P3 -p1
: Sanity check, really often broken
extver=$(sed -n '/#define PHP_SEASSNOWFLAKE_VERSION /{s/.* "//;s/".*$//;p}' php_SeasSnowflake.h)
@@ -81,9 +79,9 @@ if test "x${extver}" != "x%{version}"; 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
@@ -96,19 +94,20 @@ EOF
%build
%{?dtsenable}
-cd NTS
-%{_bindir}/phpize
+cd %{sources}
+%{__phpize}
+
+cd ../NTS
%configure \
--enable-SeasSnowflake \
- --with-php-config=%{_bindir}/php-config
+ --with-php-config=%{__phpconfig}
make %{?_smp_mflags}
%if %{with_zts}
cd ../ZTS
-%{_bindir}/zts-phpize
%configure \
--enable-SeasSnowflake \
- --with-php-config=%{_bindir}/zts-php-config
+ --with-php-config=%{__ztsphpconfig}
make %{?_smp_mflags}
%endif
@@ -132,27 +131,27 @@ 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
-# No useful test in tests directory
+cd %{sources}
-cd NTS
: Minimal load test for NTS extension
%{__php} --no-php-ini \
--define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \
--modules | grep -i '^%{pecl_name}$'
+%if %{with tests}
: Upstream test suite for NTS extension
TEST_PHP_EXECUTABLE=%{__php} \
-TEST_PHP_ARGS="-n -d extension=$PWD/modules/%{pecl_name}.so" \
+TEST_PHP_ARGS="-n -d extension=$PWD/../NTS/modules/%{pecl_name}.so" \
REPORT_EXIT_STATUS=1 \
%{__php} -n run-tests.php -q --show-diff
+%endif
%if %{with_zts}
-cd ../ZTS
: Minimal load test for ZTS extension
%{__ztsphp} --no-php-ini \
--define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \
@@ -182,7 +181,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}
@@ -195,6 +194,9 @@ fi
%changelog
+* Fri Sep 1 2023 Remi Collet <remi@remirepo.net> - 1.0.0-4
+- build out of sources tree
+
* Thu Sep 15 2022 Remi Collet <remi@remirepo.net> - 1.0.0-3
- add patch for PHP 8.2 from
https://github.com/SeasX/SeasSnowflake/pull/9