summaryrefslogtreecommitdiffstats
path: root/uwsgi-plugin-php.spec
blob: b5790712464ee2ba5fde7fa84ea839876f8368b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# remirepo/fedora spec file for uwsgi-plugin-php
#
# Copyright (c) 2017-2020 Remi Collet
# License: CC-BY-SA
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
#

%global project uwsgi
%undefine _debugsource_packages

# Disable RPATH check
%global __arch_install_post /bin/true
%global __brp_check_rpaths  /bin/true

# Disable auto-provides (php_plugin.so is not a library)
AutoProv: 0

%if 0%{?scl:1}
%scl_package %{project}-plugin-php
AutoReq: 0
# ensure correct dependencies
Requires: %{scl_prefix}php-cli
Requires: %{scl_prefix}php-embedded
%else
%global _root_libdir  %{_libdir}
%endif

Name:          %{?scl_prefix}%{project}-plugin-php
Version:       2.0.20
Release:       2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
Summary:       uWSGI - Plugin for PHP support
License:       GPLv2 with exceptions
URL:           http://projects.unbit.it/uwsgi

Source0:       http://projects.unbit.it/downloads/%{project}-%{version}.tar.gz

# https://github.com/unbit/uwsgi/issues/2283
Patch1:        uwsgi_fix_php8.patch
# https://github.com/unbit/uwsgi/issues/2356
Patch2:        uwsgi_fix_php_arginfo.patch
# https://github.com/unbit/uwsgi/issues/2394
Patch3:        uwsgi_fix_php81.patch

BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel >= 7.0
BuildRequires: %{?scl_prefix}php-embedded
BuildRequires: %{project}-devel = %{version}
BuildRequires: bzip2-devel
BuildRequires: libxml2-devel
BuildRequires: libedit-devel
BuildRequires: libcap-devel
BuildRequires: ncurses-devel
BuildRequires: openssl-devel
BuildRequires: pcre-devel
BuildRequires: zlib-devel
BuildRequires: python2
# workaround (missing from php-embedded)
BuildRequires: libargon2-devel

Requires:      %{project}-plugin-common = %{version}

%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel}
# Other third party repo stuff
Obsoletes:     %{project}-plugin-php56u <= %{version}
Obsoletes:     %{project}-plugin-php70u <= %{version}
%if "%{php_version}" > "7.1"
Obsoletes:     %{project}-plugin-php71u <= %{version}
%endif
%if "%{php_version}" > "7.2"
Obsoletes:     %{project}-plugin-php72u <= %{version}
%endif
%if "%{php_version}" > "7.3"
Obsoletes:     %{project}-plugin-php73 <= %{version}
%endif
%if "%{php_version}" > "7.4"
Obsoletes:     %{project}-plugin-php74 <= %{version}
%endif
%if "%{php_version}" > "8.0"
Obsoletes:     %{project}-plugin-php80 <= %{version}
%endif
%if "%{php_version}" > "8.1"
Obsoletes:     %{project}-plugin-php81 <= %{version}
%endif
%endif


%description
This package contains the PHP plugin for uWSGI,
designed to work with %{project} in %{?fedora:Fedora}%{?rhel:EPEL} repository.

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 -qn %{project}-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1

# Fix makefile
sed -e 's:/lib:/%{_lib}:' -i plugins/php/uwsgiplugin.py


%build
# for php-config PATH (mandatory for SCL)
export UWSGICONFIG_PHPDIR=%{_prefix}

# for RPATH
export UWSGICONFIG_PHPLIBDIR=%{_libdir}

python2 uwsgiconfig.py --verbose --plugin plugins/php default %{?scl}


%install
install -Dpm 755 %{?scl}%{!?scl:php}_plugin.so %{buildroot}%{_root_libdir}/%{project}/%{?scl}%{!?scl:php}_plugin.so


%files
%{!?_licensedir:%global license %%doc}
%license LICENSE
%{_root_libdir}/uwsgi/%{?scl}%{!?scl:php}_plugin.so


%changelog
* Thu Jun  9 2022 Remi Collet <remi@remirepo.net> - 2.0.20-2
- add upstream patch for PHP 8.1

* Mon Feb 14 2022 Remi Collet <remi@remirepo.net> - 2.0.20-1
- update to 2.0.20

* Thu May 14 2020 Remi Collet <remi@remirepo.net> - 2.0.18-8
- Patching PHP plugin for 7.4

* Tue Sep 03 2019 Remi Collet <remi@remirepo.net> - 2.0.18-2
- rebuild for 7.4.0RC1

* Fri Aug 23 2019 Remi Collet <remi@remirepo.net> - 2.0.18-1
- update to 2.0.18

* Thu Aug 16 2018 Remi Collet <remi@remirepo.net> - 2.0.17.1-2
- rebuild for 7.3.0beta2 new ABI

* Mon Jul 23 2018 Remi Collet <remi@remirepo.net> - 2.0.17.1-1
- update to 2.0.17.1

* Wed Jul 18 2018 Remi Collet <remi@remirepo.net> - 2.0.16-2
- rebuild for 7.3.0alpha4 new ABI

* Tue Mar 20 2018 Remi Collet <remi@remirepo.net> - 2.0.16-1
- update to 2.0.16

* Tue Feb 27 2018 Remi Collet <remi@remirepo.net> - 2.0.15-3
- fix PHP 7.2 build

* Wed Aug 30 2017 Remi Collet <remi@remirepo.net> - 2.0.15-2
- fix F27 build

* Wed Jun 21 2017 Remi Collet <remi@remirepo.net> - 2.0.15-1
- initial package