summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/add_pie_compile_option.patch20
-rw-r--r--packaging/baselibs.conf5
-rw-r--r--packaging/pcre.manifest5
-rw-r--r--packaging/pcre.spec181
4 files changed, 211 insertions, 0 deletions
diff --git a/packaging/add_pie_compile_option.patch b/packaging/add_pie_compile_option.patch
new file mode 100644
index 0000000..b0a99a9
--- /dev/null
+++ b/packaging/add_pie_compile_option.patch
@@ -0,0 +1,20 @@
+diff --git a/Makefile.am b/Makefile.am
+index 22b6947..52518d9 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -494,6 +494,7 @@ bin_PROGRAMS += pcretest
+ pcretest_SOURCES = pcretest.c
+ pcretest_CFLAGS = $(AM_CFLAGS)
+ pcretest_LDADD = $(LIBREADLINE)
++pcretest_LDFLAGS = -pie
+ if WITH_PCRE8
+ pcretest_SOURCES += pcre_printint.c
+ pcretest_LDADD += libpcre.la libpcreposix.la
+@@ -522,6 +523,7 @@ pcregrep_SOURCES = pcregrep.c
+ pcregrep_CFLAGS = $(AM_CFLAGS)
+ pcregrep_LDADD = $(LIBZ) $(LIBBZ2)
+ pcregrep_LDADD += libpcre.la libpcreposix.la
++pcregrep_LDFLAGS = -pie
+ if WITH_GCOV
+ pcregrep_CFLAGS += $(GCOV_CFLAGS)
+ pcregrep_LDADD += $(GCOV_LIBS)
diff --git a/packaging/baselibs.conf b/packaging/baselibs.conf
new file mode 100644
index 0000000..2e18f05
--- /dev/null
+++ b/packaging/baselibs.conf
@@ -0,0 +1,5 @@
+libpcre
+libpcreposix
+libpcrecpp
+ provides "pcre-<targettype> = <version>"
+ obsoletes "pcre-<targettype> <= <version>"
diff --git a/packaging/pcre.manifest b/packaging/pcre.manifest
new file mode 100644
index 0000000..017d22d
--- /dev/null
+++ b/packaging/pcre.manifest
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+ <domain name="_"/>
+ </request>
+</manifest>
diff --git a/packaging/pcre.spec b/packaging/pcre.spec
new file mode 100644
index 0000000..86e99d7
--- /dev/null
+++ b/packaging/pcre.spec
@@ -0,0 +1,181 @@
+%define keepstatic 1
+Name: pcre
+Version: 8.44
+Release: 0
+License: BSD-2.0
+Summary: A library for Perl-compatible regular expressions
+Url: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
+Group: System/Libraries
+Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{name}-%{version}.tar.bz2
+Source2: baselibs.conf
+Source10: add_pie_compile_option.patch
+Source1001: pcre.manifest
+BuildRequires: gcc-c++
+BuildRequires: libtool
+BuildRequires: pkg-config
+
+%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: libpcre = %{version}
+Requires: libpcrecpp = %{version}
+Requires: libpcreposix = %{version}
+Requires: libstdc++-devel
+
+%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 libpcre
+Summary: A library for Perl-compatible regular expressions
+Group: System/Libraries
+Provides: %{name} = %{version}
+Obsoletes: %{name} < %{version}
+
+%description -n libpcre
+The PCRE library is a set of functions that implement regular
+expression pattern matching using the same syntax and semantics
+as Perl 5.
+
+%package -n libpcreposix
+Summary: A library for Perl-compatible regular expressions
+Group: System/Libraries
+
+%description -n libpcreposix
+The PCRE library is a set of functions that implement regular
+expression pattern matching using the same syntax and semantics
+as Perl 5.
+
+%package -n libpcrecpp
+Summary: A library for Perl-compatible regular expressions
+Group: System/Libraries
+
+%description -n libpcrecpp
+The PCRE library is a set of functions that implement regular
+expression pattern matching using the same syntax and semantics
+as Perl 5.
+
+%package doc
+Summary: A library for Perl-compatible regular expressions
+Group: System/Libraries
+BuildArch: noarch
+
+%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
+
+%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
+%setup -q
+cp %{SOURCE1001} .
+%{__patch} -p1 < %{SOURCE10}
+
+%build
+export CFLAGS="${CFLAGS} -fPIC"
+
+# Available JIT archs see sljit/sljitConfig.h
+autoreconf -fiv
+%configure \
+%ifarch %ix86 x86_64 %arm ppc ppc64 mips
+ --enable-jit \
+%endif
+ --enable-static \
+ --with-link-size=2 \
+ --with-match-limit=10000000 \
+ --enable-newline-is-lf \
+ --enable-utf8 \
+ --enable-unicode-properties
+make %{?_smp_mflags}
+
+
+# %check
+# export LANG=POSIX
+# make check || exit 0
+
+%install
+%make_install
+mkdir -p %{buildroot}/%{_defaultdocdir}
+mv %{buildroot}/usr/share/doc/pcre %{buildroot}/%{_defaultdocdir}/pcre-doc
+rm -f %{buildroot}%{_libdir}/*.la
+
+
+%post -n libpcre -p /sbin/ldconfig
+
+%postun -n libpcre -p /sbin/ldconfig
+
+%post -n libpcrecpp -p /sbin/ldconfig
+
+%postun -n libpcrecpp -p /sbin/ldconfig
+
+%post -n libpcreposix -p /sbin/ldconfig
+
+%postun -n libpcreposix -p /sbin/ldconfig
+
+%files -n libpcre
+%manifest %{name}.manifest
+%license LICENCE
+%{_libdir}/libpcre.so.*
+
+%files -n libpcrecpp
+%manifest %{name}.manifest
+%license LICENCE
+%{_libdir}/libpcrecpp.so.*
+
+%files -n libpcreposix
+%manifest %{name}.manifest
+%license LICENCE
+%{_libdir}/libpcreposix.so.*
+
+%files tools
+%manifest %{name}.manifest
+%license LICENCE
+%{_bindir}/pcregrep
+%{_bindir}/pcretest
+%{_mandir}/man1/pcregrep.*
+%{_mandir}/man1/pcretest.*
+
+%files doc
+%manifest %{name}.manifest
+%doc doc/html doc/*.txt AUTHORS COPYING ChangeLog LICENCE README NEWS
+
+%files devel
+%manifest %{name}.manifest
+%{_bindir}/pcre-config
+%{_includedir}/*
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/libpcre.pc
+%{_libdir}/pkgconfig/libpcrecpp.pc
+%{_libdir}/pkgconfig/libpcreposix.pc
+%{_mandir}/man1/pcre-config.*
+%{_mandir}/man3/*.gz
+
+%files devel-static
+%manifest %{name}.manifest
+%{_libdir}/*.a
+