163 lines
4.7 KiB
RPMSpec
163 lines
4.7 KiB
RPMSpec
# This is stable release:
|
|
#%%global rcversion RC1
|
|
Name: pcre2
|
|
Version: 10.10
|
|
Release: %{?rcversion:0.}2%{?rcversion:.%rcversion}%{?dist}.1
|
|
%global myversion %{version}%{?rcversion:-%rcversion}
|
|
Summary: Perl-compatible regular expression library
|
|
Group: System Environment/Libraries
|
|
# The library: BSD
|
|
# pcre2test (linked to GNU readline): BSD (linked to GPLv3+)
|
|
# autotools: GPLv3+ with exception
|
|
License: BSD
|
|
URL: http://www.pcre.org/
|
|
Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2
|
|
# Do no set RPATH if libdir is not /usr/lib
|
|
Patch0: pcre2-10.10-Fix-multilib.patch
|
|
Patch1: 0001-Fix-ARM64-SP-alignment-issue-in-JIT.patch
|
|
|
|
# New libtool to get rid of RPATH and to use distribution autotools
|
|
BuildRequires: autoconf
|
|
BuildRequires: automake
|
|
BuildRequires: glibc-headers
|
|
BuildRequires: libtool
|
|
BuildRequires: readline-devel
|
|
|
|
%description
|
|
PCRE2 is a re-working of the original PCRE (Perl-compatible regular
|
|
expression) library to provide an entirely new API.
|
|
|
|
PCRE2 is written in C, and it has its own API. There are three sets of
|
|
functions, one for the 8-bit library, which processes strings of bytes, one
|
|
for the 16-bit library, which processes strings of 16-bit values, and one for
|
|
the 32-bit library, which processes strings of 32-bit values. There are no C++
|
|
wrappers.
|
|
|
|
The distribution does contain a set of C wrapper functions for the 8-bit
|
|
library that are based on the POSIX regular expression API (see the pcre2posix
|
|
man page). These can be found in a library called libpcre2posix. Note that
|
|
this just provides a POSIX calling interface to PCRE2; the regular expressions
|
|
themselves still follow Perl syntax and semantics. The POSIX API is
|
|
restricted, and does not give full access to all of PCRE2's facilities.
|
|
|
|
|
|
%package devel
|
|
Summary: Development files for %{name}
|
|
Group: Development/Libraries
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
Requires: glibc-headers
|
|
|
|
%description devel
|
|
Development files (headers, libraries for dynamic linking, documentation)
|
|
for %{name}. The header file for the POSIX-style functions is called
|
|
pcre2posix.h.
|
|
|
|
%package static
|
|
Summary: Static library for %{name}
|
|
Group: Development/Libraries
|
|
Requires: %{name}-devel%{_isa} = %{version}-%{release}
|
|
|
|
%description static
|
|
Library for static linking for %{name}.
|
|
|
|
%package tools
|
|
Summary: Auxiliary utilities for %{name}
|
|
# pcre2test (linked to GNU readline): BSD (linked to GPLv3+)
|
|
License: BSD and GPLv3+
|
|
Group: Development/Tools
|
|
Requires: %{name}%{_isa} = %{version}-%{release}
|
|
|
|
%description tools
|
|
Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test.
|
|
|
|
%prep
|
|
%setup -q -n %{name}-%{myversion}
|
|
%patch0 -p1
|
|
%patch1 -p1
|
|
# Because of multilib patch
|
|
libtoolize --copy --force && autoreconf -vif
|
|
|
|
%build
|
|
# There is a strict-aliasing problem on PPC64, bug #881232
|
|
%ifarch ppc64
|
|
%global optflags %{optflags} -fno-strict-aliasing
|
|
%endif
|
|
%configure \
|
|
%ifarch s390 s390x sparc64 sparcv9
|
|
--disable-jit \
|
|
--disable-pcre2grep-jit \
|
|
%else
|
|
--enable-jit \
|
|
--enable-pcre2grep-jit \
|
|
%endif
|
|
--disable-bsr-anycrlf \
|
|
--disable-coverage \
|
|
--disable-ebcdic \
|
|
--enable-newline-is-lf \
|
|
--enable-pcre2-8 \
|
|
--enable-pcre2-16 \
|
|
--enable-pcre2-32 \
|
|
--disable-pcre2test-libedit \
|
|
--enable-pcre2test-libreadline \
|
|
--disable-pcre2grep-libbz2 \
|
|
--disable-pcre2grep-libz \
|
|
--disable-rebuild-chartables \
|
|
--enable-shared \
|
|
--enable-stack-for-recursion \
|
|
--enable-static \
|
|
--enable-unicode \
|
|
--disable-valgrind
|
|
make %{?_smp_mflags}
|
|
|
|
%install
|
|
make install DESTDIR=$RPM_BUILD_ROOT
|
|
# Get rid of unneeded *.la files
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
|
# These are handled by %%doc in %%files
|
|
rm -rf $RPM_BUILD_ROOT%{_docdir}/pcre2
|
|
|
|
%check
|
|
make %{?_smp_mflags} check VERBOSE=yes
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
%postun -p /sbin/ldconfig
|
|
|
|
%files
|
|
%{_libdir}/*.so.*
|
|
%{!?_licensedir:%global license %%doc}
|
|
%license COPYING LICENCE
|
|
%doc AUTHORS ChangeLog NEWS README
|
|
|
|
%files devel
|
|
%{_libdir}/*.so
|
|
%{_libdir}/pkgconfig/*
|
|
%{_includedir}/*.h
|
|
%{_mandir}/man1/pcre2-config.*
|
|
%{_mandir}/man3/*
|
|
%{_bindir}/pcre2-config
|
|
%doc doc/*.txt doc/html
|
|
%doc HACKING ./src/pcre2demo.c
|
|
|
|
%files static
|
|
%{_libdir}/*.a
|
|
%{!?_licensedir:%global license %%doc}
|
|
%license COPYING LICENCE
|
|
|
|
%files tools
|
|
%{_bindir}/pcre2grep
|
|
%{_bindir}/pcre2test
|
|
%{_mandir}/man1/pcre2grep.*
|
|
%{_mandir}/man1/pcre2test.*
|
|
|
|
%changelog
|
|
* Fri May 29 2015 Marcin Juszkiewicz <mjuszkiewicz@redhat.com> - 10.10-2.1
|
|
- Backport fix for AArch64
|
|
|
|
* Tue May 05 2015 Petr Pisar <ppisar@redhat.com> - 10.10-2
|
|
- Package pcre2demo.c as a documentation for pcre2-devel
|
|
|
|
* Fri Mar 13 2015 Petr Pisar <ppisar@redhat.com> - 10.10-1
|
|
- PCRE2 library packaged
|
|
|