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

Annotation of /cauldron/pcre/pristine/SPECS/pcre.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 95199 - (hide annotations) (download)
Thu May 5 19:54:22 2011 UTC (12 years, 11 months ago) by ahmad
Original Path: cauldron/pcre/current/SPECS/pcre.spec
File size: 4771 byte(s)
- Don't ship .la
1 blino 581 %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 tv 84944 Version: 8.12
12 ahmad 95199 Release: %mkrel 2
13 blino 581 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 ahmad 95199 # don't ship .la
122     find %{buildroot} -name '*.la' -exec rm -f '{}' \;
123    
124 blino 581 %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