/[packages]/cauldron/pcre/current/SPECS/pcre.spec
ViewVC logotype

Contents of /cauldron/pcre/current/SPECS/pcre.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 95199 - (show annotations) (download)
Thu May 5 19:54:22 2011 UTC (12 years, 10 months ago) by ahmad
File size: 4771 byte(s)
- Don't ship .la
1 %define major 0
2 %define pcreposix_major 1
3 %define libname_orig lib%{name}
4 %define libname %mklibname pcre %{major}
5 %define develname %mklibname -d pcre
6
7 %define build_pcreposix_compat 1
8
9 Summary: Perl-compatible regular expression library
10 Name: pcre
11 Version: 8.12
12 Release: %mkrel 2
13 License: BSD-Style
14 Group: File tools
15 URL: http://www.pcre.org/
16 Source0: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2
17 Source1: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%name-%version.tar.bz2.sig
18 Requires: %{libname} = %{version}-%{release}
19 BuildRequires: automake
20 Patch1: pcre-0.6.5-fix-detect-into-kdelibs.patch
21 Patch2: pcre-linkage_fix.diff
22 Patch3: pcre-7.8-format_not_a_string_literal_and_no_format_arguments.diff
23 # from debian:
24 Patch4: pcre-pcreposix-glibc-conflict.patch
25
26 %description
27 PCRE has its own native API, but a set of "wrapper" functions that are based on
28 the POSIX API are also supplied in the library libpcreposix. Note that this
29 just provides a POSIX calling interface to PCRE: the regular expressions
30 themselves still follow Perl syntax and semantics.
31 This package contains a grep variant based on the PCRE library.
32
33 %package -n %{libname}
34 Group: System/Libraries
35 Summary: Perl-compatible regular expression library
36 Provides: %{libname_orig} = %{version}-%{release}
37 Conflicts: pcre <= 4.0
38
39 %description -n %{libname}
40 PCRE has its own native API, but a set of "wrapper" functions that are based on
41 the POSIX API are also supplied in the library libpcreposix. Note that this
42 just provides a POSIX calling interface to PCRE: the regular expressions
43 themselves still follow Perl syntax and semantics. The header file
44 for the POSIX-style functions is called pcreposix.h. The official POSIX name is
45 regex.h, but I didn't want to risk possible problems with existing files of
46 that name by distributing it that way. To use it with an existing program that
47 uses the POSIX API, it will have to be renamed or pointed at by a link.
48
49 %package -n %{develname}
50 Group: Development/C
51 Summary: Headers and static lib for pcre development
52 Requires: %{libname} = %{version}-%{release}
53 Provides: %{libname_orig}-devel = %{version}-%{release}
54 Provides: %{name}-devel = %{version}-%{release}
55 Obsoletes: %mklibname pcre 0 -d
56 Conflicts: pcre <= 4.0
57
58 %description -n %{develname}
59 Install this package if you want do compile applications using the pcre
60 library.
61
62 %prep
63
64 %setup -q
65 %patch1 -p1 -b .detect_into_kdelibs
66 %patch2 -p0
67 #%patch3 -p0 -b .format_not_a_string_literal_and_no_format_arguments
68
69
70 %if %{build_pcreposix_compat}
71 # pcre-pcreposix-glibc-conflict patch below breaks compatibility,
72 # create a libpcreposix.so.0 without the patch
73 cp -a . ../pcre-with-pcreposix_compat && mv ../pcre-with-pcreposix_compat .
74 %endif
75 %patch4 -p1 -b .symbol-conflict
76
77 %build
78 %if %{build_pcreposix_compat}
79 dirs="pcre-with-pcreposix_compat ."
80 %else
81 dirs="."
82 %endif
83 for i in $dirs; do
84 cd $i
85 mkdir -p m4
86 autoreconf -fis
87 %configure2_5x --enable-utf8 --enable-unicode-properties
88 %make
89 cd -
90 done
91
92 %check
93 export LC_ALL=C
94 # Tests, patch out actual pcre_study_size in expected results
95 #echo 'int main() { printf("%d", sizeof(pcre_study_data)); return 0; }' | \
96 #%{__cc} -xc - -include "pcre_internal.h" -I. -o study_size
97 #STUDY_SIZE=`./study_size`
98 #perl -pi -e "s,(Study size\s+=\s+)\d+,\${1}$STUDY_SIZE," testdata/testoutput*
99 make check
100
101 %install
102 rm -rf $RPM_BUILD_ROOT
103 %if %{build_pcreposix_compat}
104 %makeinstall_std -C pcre-with-pcreposix_compat
105 %endif
106 %makeinstall_std
107
108 %multiarch_binaries $RPM_BUILD_ROOT%{_bindir}/pcre-config
109
110 mkdir -p $RPM_BUILD_ROOT/%_lib
111 mv $RPM_BUILD_ROOT/%_libdir/lib%{name}.so.%{major}.* $RPM_BUILD_ROOT/%_lib
112 cd $RPM_BUILD_ROOT/%_libdir
113 ln -s ../../%_lib/lib%{name}.so.%{major}.* .
114
115 # Remove unwanted files
116 rm -f $RPM_BUILD_ROOT/%_docdir/pcre/{AUTHORS,ChangeLog,COPYING,LICENCE,NEWS}
117 rm -f $RPM_BUILD_ROOT/%_docdir/pcre/{pcre-config.txt,pcre.txt,pcregrep.txt}
118 rm -f $RPM_BUILD_ROOT/%_docdir/pcre/{pcretest.txt,README}
119 rm -rf $RPM_BUILD_ROOT/%_docdir/pcre/html
120
121 # don't ship .la
122 find %{buildroot} -name '*.la' -exec rm -f '{}' \;
123
124 %clean
125 rm -rf $RPM_BUILD_ROOT
126
127 %files
128 %defattr(-,root,root)
129
130 %_mandir/man1/pcregrep.1*
131 %_mandir/man1/pcretest.1*
132 %_bindir/pcregrep
133 %_bindir/pcretest
134
135
136 #
137 %files -n %{libname}
138 %defattr(-,root,root)
139 %doc AUTHORS COPYING LICENCE NEWS README
140
141 /%_lib/lib*.so.%{major}*
142 %_libdir/lib*.so.%{major}*
143 %_libdir/libpcreposix.so.%{pcreposix_major}*
144
145
146 #
147 %files -n %{develname}
148 %defattr(-,root,root)
149 %doc doc/html
150 %doc ChangeLog
151
152 %_libdir/lib*.a
153 %_libdir/lib*.so
154 %_includedir/*.h
155 %_libdir/pkgconfig/libpcre.pc
156 %_libdir/pkgconfig/libpcrecpp.pc
157 %_libdir/pkgconfig/libpcreposix.pc
158
159 %_bindir/pcre-config
160 %multiarch %{multiarch_bindir}/pcre-config
161
162 %_mandir/man1/pcre-config.1*
163 %_mandir/man3/*.3*
164
165

  ViewVC Help
Powered by ViewVC 1.1.30