Add doxygen dependency.
[shibboleth/cpp-xmltooling.git] / xmltooling.spec.in
1 Name:           xmltooling
2 Version:        @-VERSION-@
3 Release:        1
4 Summary:    OpenSAML XMLTooling library
5 Group:          System Environment/Libraries
6 Vendor:         Internet2
7 License:        Apache 2.0
8 URL:            http://www.opensaml.org/
9 Source:     %{name}-%{version}.tar.gz
10 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
11 %if 0%{?suse_version} > 1030
12 BuildRequires:  libXerces-c-devel >= 2.8.0
13 BuildRequires:  libxml-security-c-devel >= 1.4.0
14 %{?_with_log4cpp:BuildRequires: liblog4cpp-devel >= 1.0}
15 %{!?_with_log4cpp:BuildRequires: liblog4shib-devel}
16 %else
17 BuildRequires:  xerces%{?xercesver}-c-devel >= 2.8.0
18 BuildRequires:  xml-security-c-devel >= 1.4.0
19 %{?_with_log4cpp:BuildRequires: log4cpp-devel >= 1.0}
20 %{!?_with_log4cpp:BuildRequires: log4shib-devel}
21 %endif
22 BuildRequires:  gcc-c++, openssl-devel, curl-devel >= 7.10.6
23 %{!?_without_doxygen:BuildRequires: doxygen}
24
25 %if "%{_vendor}" == "suse"
26 %define pkgdocdir %{_docdir}/%{name}
27 %else
28 %define pkgdocdir %{_docdir}/%{name}-%{version}
29 %endif
30
31 %description
32 The XMLTooling library contains generic XML parsing and processing
33 classes based on the Xerces-C DOM. It adds more powerful facilities
34 for declaring element- and type-specific API and implementation
35 classes to add value around the DOM, as well as signing and encryption
36 support.
37
38 %if 0%{?suse_version} > 1030
39 %package -n libxmltooling12
40 Summary:    OpenSAML XMLTooling library
41 Group:      Development/Libraries
42 Provides:   xmltooling = %{version}
43
44 %description -n libxmltooling12
45 The XMLTooling library contains generic XML parsing and processing
46 classes based on the Xerces-C DOM. It adds more powerful facilities
47 for declaring element- and type-specific API and implementation
48 classes to add value around the DOM, as well as signing and encryption
49 support.
50
51 This package contains just the shared library.
52 %endif
53
54 %if 0%{?suse_version} > 1030
55 %package -n libxmltooling-devel
56 Requires: libxmltooling12 = %version
57 %else
58 %package devel
59 Requires: %name = %version
60 %endif
61 Summary: XMLTooling development Headers
62 Group: Development/Libraries
63 %if 0%{?suse_version} > 1030
64 Requires: libXerces-c-devel >= 2.8.0
65 Requires: libxml-security-c-devel >= 1.4.0
66 %{?_with_log4cpp:Requires: liblog4cpp-devel >= 1.0}
67 %{!?_with_log4cpp:Requires: liblog4shib-devel}
68 %else
69 Requires: xerces%{?xercesver}-c-devel >= 2.8.0
70 Requires: xml-security-c-devel >= 1.4.0
71 %{?_with_log4cpp:Requires: log4cpp-devel >= 1.0}
72 %{!?_with_log4cpp:Requires: log4shib-devel}
73 %endif
74 Requires: openssl-devel, curl-devel >= 7.10.6
75
76 %if 0%{?suse_version} > 1030
77 %description -n libxmltooling-devel
78 Requires: libxmltooling12 = %version
79 %else
80 %description devel
81 %endif
82 The XMLTooling library contains generic XML parsing and processing
83 classes based on the Xerces-C DOM. It adds more powerful facilities
84 for declaring element- and type-specific API and implementation
85 classes to add value around the DOM, as well as signing and encryption
86 support.
87
88 This package includes files needed for development with xmltooling.
89
90 %prep
91 %setup -q
92
93 %build
94 %configure %{?xmltooling_options}
95 %{__make}
96
97 %install
98 %{__make} install DESTDIR=$RPM_BUILD_ROOT pkgdocdir=%{pkgdocdir}
99 # Don't package unit tester if present.
100 %{__rm} -f $RPM_BUILD_ROOT/%{_bindir}/xmltoolingtest
101
102 %check
103 %{__make} check
104
105 %clean
106 [ "$RPM_BUILD_ROOT" != "/" ] && %{__rm} -rf $RPM_BUILD_ROOT
107
108 %ifnos solaris2.8 solaris2.9 solaris2.10
109 %if 0%{?suse_version} > 1030
110 %post -n libxmltooling12 -p /sbin/ldconfig
111 %else
112 %post -p /sbin/ldconfig
113 %endif
114 %endif
115
116 %ifnos solaris2.8 solaris2.9 solaris2.10
117 %if 0%{?suse_version} > 1030
118 %postun -n libxmltooling12 -p /sbin/ldconfig
119 %else
120 %postun -p /sbin/ldconfig
121 %endif
122 %endif
123
124 %if 0%{?suse_version} > 1030
125 %files -n libxmltooling12
126 %else
127 %files
128 %endif
129 %defattr(-,root,root,-)
130 %{_libdir}/libxmltooling.so.*
131 %{_libdir}/libxmltooling-lite.so.*
132 %dir %{_datadir}/xml/xmltooling
133 %{_datadir}/xml/xmltooling
134
135 %if 0%{?suse_version} > 1030
136 %files -n libxmltooling-devel
137 %else
138 %files devel
139 %endif
140 %defattr(-,root,root,-)
141 %{_includedir}/*
142 %{_libdir}/*.so
143 %doc %{pkgdocdir}
144
145 %changelog
146 * Thu Aug 6 2009  Scott Cantor  <cantor.2@osu.edu>  - 1.2.1-1
147 - SuSE conventions
148 - Stop packaging unit tester
149
150 * Wed Dec 3 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.2-1
151 - Bumping for minor update.
152 - Fixing SuSE Xerces dependency name.
153
154 * Tue Jul 1 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.1-1
155 - Bumping for minor update.
156
157 * Mon Mar 17 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.0-6
158 - Official release.
159
160 * Fri Jan 18 2008  Scott Cantor  <cantor.2@osu.edu>  - 1.0-5
161 - Release candidate 1.
162
163 * Thu Nov 08 2007  Scott Cantor  <cantor.2@osu.edu>  - 1.0-4
164 - Second public beta.
165
166 * Thu Aug 16 2007  Scott Cantor  <cantor.2@osu.edu>  - 1.0-3
167 - First public beta.
168
169 * Fri Jul 13 2007  Scott Cantor  <cantor.2@osu.edu>  - 1.0-2
170 - Second alpha.
171
172 * Wed Apr 12 2006  Scott Cantor  <cantor.2@osu.edu>  - 1.0-1
173 - First SPEC file based on various versions in existence.