openresty-pcre/openresty-pcre.spec
yangchenguang bfdfd40b96 Add loongarch64 and riscv64 build failed
Signed-off-by: yangchenguang <yangchenguang@kylinsec.com.cn>
(cherry picked from commit 17dff8cb690eeca0d0350a994a49095651e2863b)
2023-09-21 19:20:06 +08:00

151 lines
3.7 KiB
RPMSpec

Name: openresty-pcre
Version: 8.44
Release: 3
Summary: Perl-compatible regular expression library for OpenResty
Group: System Environment/Libraries
License: BSD
URL: http://www.pcre.org/
Source0: https://ftp.pcre.org/pub/pcre/pcre-%{version}.tar.bz2
Patch99: 0099-copy-dir.sh.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: ccache, libtool, gcc, binutils
AutoReqProv: no
%define pcre_prefix /usr/local/openresty/pcre
%define pcre_prefix_asan /usr/local/openresty-asan/pcre
%description
Perl-compatible regular expression library for use by OpenResty ONLY
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description devel
Development files for Perl-compatible regular expression library for use by OpenResty ONLY
%package asan
Summary: Clang AddressSanitizer version of the Perl-compatible regular expression library for OpenResty
Group: System Environment/Libraries
BuildRequires: libasan, ccache, libtool, clang, compiler-rt
AutoReqProv: no
%description asan
Perl-compatible regular expression library for use by OpenResty ONLY.
This is the clang AddressSanitizer version.
%package asan-devel
Summary: Development files for openresty-pcre-asan
Group: Development/Libraries
Requires: openresty-pcre-asan = %{version}-%{release}
%description asan-devel
Development files for Perl-compatible regular expression library for use by OpenResty ONLY.
This is the clang AddressSanitizer version.
%prep
%setup -q -n pcre-%{version}
%patch99 -p1
%ifarch loongarch64 riscv64
%_update_config_guess
%_update_config_sub
%endif
%build
bash ./copy-dir.sh
export CC="ccache gcc -fdiagnostics-color=always"
./configure \
--prefix=%{pcre_prefix} \
--libdir=%{pcre_prefix}/lib \
--disable-cpp \
%ifnarch loongarch64 riscv64
--enable-jit \
%endif
--enable-utf \
--enable-unicode-properties
make %{?_smp_mflags} V=1
cd asan
export CC="ccache gcc -fdiagnostics-color=always"
./configure \
--prefix=%{pcre_prefix_asan} \
--libdir=%{pcre_prefix_asan}/lib \
--disable-cpp \
%ifnarch loongarch64 riscv64
--enable-jit \
%endif
--enable-utf \
--enable-unicode-properties
make %{?_smp_mflags} V=1
cd -
%install
make install DESTDIR=%{buildroot}
rm -rf %{buildroot}/%{pcre_prefix}/bin
rm -rf %{buildroot}/%{pcre_prefix}/share
rm -f %{buildroot}/%{pcre_prefix}/lib/*.la
rm -f %{buildroot}/%{pcre_prefix}/lib/*pcrecpp*
rm -f %{buildroot}/%{pcre_prefix}/lib/*pcreposix*
rm -rf %{buildroot}/%{pcre_prefix}/lib/pkgconfig
cd asan
make install DESTDIR=%{buildroot}
rm -rf %{buildroot}/%{pcre_prefix_asan}/bin
rm -rf %{buildroot}/%{pcre_prefix_asan}/share
rm -f %{buildroot}/%{pcre_prefix_asan}/lib/*.la
rm -f %{buildroot}/%{pcre_prefix_asan}/lib/*pcrecpp*
rm -f %{buildroot}/%{pcre_prefix_asan}/lib/*pcreposix*
rm -rf %{buildroot}/%{pcre_prefix_asan}/lib/pkgconfig
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{pcre_prefix}/lib/*.so*
%files devel
%defattr(-,root,root,-)
%{pcre_prefix}/lib/*.a
%{pcre_prefix}/include/*.h
%files asan
%defattr(-,root,root,-)
%{pcre_prefix_asan}/lib/*.so*
%files asan-devel
%defattr(-,root,root,-)
%{pcre_prefix_asan}/lib/*.a
%{pcre_prefix_asan}/include/*.h
%changelog
* Mon Aug 14 2023 yangchenguang <yangchenguang@kylinsec.com.cn> - 8.44-3
- Fix loongarch64 and riscv64 build failed
* Thu Mar 24 2022 wulei <wulei80@huawei.com> - 8.44-2
- Delete {?dist}
* Thu Jul 22 2021 Fu Changjie <fu_changjie@qq.com> 8.42-1
- Package init with openresty-pcre 8.42, without disable asan