# # spec file for package pcre # # Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: pcre Version: 8.45 Release: 0 Summary: A library for Perl-compatible regular expressions License: BSD-3-Clause Group: System/Libraries URL: http://www.pcre.org/ #SVN-Clone: svn://vcs.exim.org/pcre/code/trunk #Freecode-URL: http://freecode.com/projects/pcre Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2 Source2: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2.sig Source3: %name.keyring Source4: baselibs.conf #PATCH-FIX-UPSTREAM crrodriguez@opensuse.org http://bugs.exim.org/show_bug.cgi?id=1173 Patch: pcre-8.32-visibility.patch Patch1: pcre-8.39-stack_frame_size_detection.patch Patch2: pcre-8.45-bsc1199232-unicode-property-matching.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ BuildRequires: libtool BuildRequires: pkg-config # bug437293 %ifarch ppc64 Obsoletes: pcre-64bit %endif %description The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. %package devel Summary: A library for Perl-compatible regular expressions Group: System/Libraries Requires: libpcre1 = %{version} Requires: libpcre16-0 = %{version} Requires: libpcrecpp0 = %{version} Requires: libpcreposix0 = %{version} Requires: libstdc++-devel # bug437293 %ifarch ppc64 Obsoletes: pcre-devel-64bit %endif # %description devel The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. %package devel-static Summary: A library for Perl-compatible regular expressions Group: System/Libraries Requires: pcre-devel = %version %description devel-static The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. This package contains static versions of the PCRE libraries. %package -n libpcre1 Summary: A library for Perl-compatible regular expressions Group: System/Libraries Provides: %{name} = %{version} Obsoletes: %{name} < %{version} %description -n libpcre1 The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. This PCRE library variant supports 8-bit and UTF-8 strings. (See also libpcre16.) %package -n libpcre16-0 Summary: A library for Perl-compatible regular expressions Group: System/Libraries %description -n libpcre16-0 The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. libpcre16 supports 16-bit and UTF-16 strings. %package -n libpcreposix0 Summary: A library for Perl-compatible regular expressions Group: System/Libraries %description -n libpcreposix0 The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. pcreposix provides a POSIX-compatible API to the PCRE engine. %package -n libpcrecpp0 Summary: A library for Perl-compatible regular expressions Group: System/Libraries %description -n libpcrecpp0 The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. pcrecpp provides a C++ API to the PCRE engine. %package doc Summary: A library for Perl-compatible regular expressions Group: System/Libraries %if 0%{?suse_version} >= 1120 BuildArch: noarch %endif %description doc The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. %package tools Summary: A library for Perl-compatible regular expressions Group: System/Libraries Recommends: %{name}-doc %description tools The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax and semantics as Perl 5. %prep %{?gpg_verify: %gpg_verify %{S:2}} %setup -q %patch -p1 %patch1 -p1 %patch2 -p1 %build # Available JIT archs see sljit/sljitConfig.h autoreconf -fiv %configure \ --enable-jit=auto \ --enable-static \ --with-link-size=2 \ --with-match-limit=10000000 \ --enable-newline-is-lf \ --enable-pcre16 \ --enable-utf8 \ --enable-unicode-properties %{__make} %{?_smp_mflags} V=1 %install make install DESTDIR="%buildroot" %{__mkdir_p} %{buildroot}/%{_defaultdocdir} mv %{buildroot}/usr/share/doc/pcre %{buildroot}/%{_defaultdocdir}/pcre-doc #empty dependecy_libs %{__rm} -f %{buildroot}%{_libdir}/*.la #ove pcre and pcreposix library into /lib #%{__mkdir_p} %{buildroot}/%{_lib} #for l in libpcre libpcreposix; do # ldest=$(readlink %{buildroot}/%{_libdir}/$l.so) # mv %{buildroot}%{_libdir}/$l.so.* %{buildroot}/%{_lib} # #update the symlinks for linking. # %{__ln_s} -vf /%{_lib}/$ldest %{buildroot}%{_libdir}/$l.so #done %check export LANG=POSIX %ifarch %arm make test || echo make test failed %else make test %endif %post -n libpcre1 -p /sbin/ldconfig %postun -n libpcre1 -p /sbin/ldconfig %post -n libpcre16-0 -p /sbin/ldconfig %postun -n libpcre16-0 -p /sbin/ldconfig %post -n libpcrecpp0 -p /sbin/ldconfig %postun -n libpcrecpp0 -p /sbin/ldconfig %post -n libpcreposix0 -p /sbin/ldconfig %postun -n libpcreposix0 -p /sbin/ldconfig %files -n libpcre1 %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog LICENCE NEWS README %{_libdir}/libpcre.so.* %files -n libpcre16-0 %defattr(-,root,root) %{_libdir}/libpcre16.so.* %files -n libpcrecpp0 %defattr(-,root,root) %{_libdir}/libpcrecpp.so.* %files -n libpcreposix0 %defattr(-,root,root) %{_libdir}/libpcreposix.so.* %files tools %defattr(-,root,root) %{_bindir}/pcregrep %{_bindir}/pcretest %{_mandir}/man1/pcregrep.* %{_mandir}/man1/pcretest.* %files doc %defattr(-,root,root) %doc doc/html doc/*.txt %files devel %defattr(-,root,root) %{_bindir}/pcre-config %{_includedir}/* %{_libdir}/*.so %{_libdir}/pkgconfig/libpcre.pc %{_libdir}/pkgconfig/libpcre16.pc %{_libdir}/pkgconfig/libpcrecpp.pc %{_libdir}/pkgconfig/libpcreposix.pc %{_mandir}/man1/pcre-config.* %{_mandir}/man3/*.gz %files devel-static %defattr(-,root,root) %{_libdir}/*.a %changelog