1 |
saispo |
93254 |
# enable_gtkdoc: Toggle if gtk-doc files should be rebuilt. |
2 |
|
|
# 0 = no |
3 |
|
|
# 1 = yes |
4 |
|
|
%define enable_gtkdoc 0 |
5 |
|
|
|
6 |
|
|
# enable_bootstrap: Toggle if bootstrapping package |
7 |
|
|
# 0 = no |
8 |
|
|
# 1 = yes |
9 |
wally |
118053 |
%define enable_bootstrap 0 |
10 |
saispo |
93254 |
|
11 |
|
|
# enable_tests: Run test suite in build |
12 |
|
|
# 0 = no |
13 |
|
|
# 1 = yes |
14 |
|
|
%define enable_tests 0 |
15 |
|
|
|
16 |
|
|
%{?_without_gtkdoc: %{expand: %%define enable_gtkdoc 0}} |
17 |
|
|
%{?_without_bootstrap: %{expand: %%define enable_bootstrap 0}} |
18 |
|
|
%{?_without_tests: %{expand: %%define enable_tests 0}} |
19 |
|
|
|
20 |
|
|
%{?_with_gtkdoc: %{expand: %%define enable_gtkdoc 1}} |
21 |
|
|
%{?_with_bootstrap: %{expand: %%define enable_bootstrap 1}} |
22 |
|
|
%{?_with_tests: %{expand: %%define enable_tests 1}} |
23 |
|
|
|
24 |
|
|
|
25 |
|
|
# required version of various libraries |
26 |
|
|
%define req_glib_version 2.28.0 |
27 |
|
|
%define req_pango_version 1.24.0 |
28 |
|
|
%define req_atk_version 1.30 |
29 |
|
|
%define req_cairo_version 1.10.0 |
30 |
|
|
%define req_gdk_pixbuf_version 2.22.0 |
31 |
|
|
|
32 |
|
|
%define pkgname gtk+ |
33 |
|
|
%define api 3 |
34 |
|
|
%define api_version 3.0 |
35 |
|
|
%define binary_version 3.0.0 |
36 |
|
|
%define lib_major 0 |
37 |
|
|
%define libname %mklibname %{pkgname} %{api} %{lib_major} |
38 |
|
|
%define develname %mklibname -d %pkgname %api_version |
39 |
|
|
|
40 |
|
|
%define gail_major 0 |
41 |
|
|
%define gail_libname %mklibname gail %{api} %gail_major |
42 |
|
|
%define gaildevelname %mklibname -d gail %api_version |
43 |
|
|
|
44 |
|
|
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs |
45 |
|
|
Name: %{pkgname}%{api_version} |
46 |
wally |
118053 |
Version: 3.1.6 |
47 |
|
|
Release: %mkrel 1 |
48 |
saispo |
93254 |
License: LGPLv2+ |
49 |
|
|
Group: System/Libraries |
50 |
dmorgan |
101505 |
Source0: http://ftp.gnome.org/pub/GNOME/sources/%pkgname/%{pkgname}-%{version}.tar.xz |
51 |
|
|
Source1: im-cedilla.conf |
52 |
|
|
# use oxygen gtk3 theme by default if available |
53 |
|
|
Patch12: gtk+-defaulttheme.patch |
54 |
saispo |
93254 |
URL: http://www.gtk.org |
55 |
|
|
Requires: common-licenses |
56 |
|
|
BuildRequires: gettext-devel |
57 |
|
|
BuildRequires: libglib2-devel >= %{req_glib_version} |
58 |
|
|
BuildRequires: libatk1.0-devel >= %{req_atk_version} |
59 |
|
|
BuildRequires: cairo-devel >= %{req_cairo_version} |
60 |
|
|
BuildRequires: pango-devel >= %{req_pango_version} |
61 |
|
|
BuildRequires: libgdk_pixbuf2.0-devel >= %req_gdk_pixbuf_version |
62 |
|
|
BuildRequires: gobject-introspection-devel >= 0.10.1 |
63 |
|
|
BuildRequires: cups-devel |
64 |
|
|
BuildRequires: libx11-devel |
65 |
|
|
BuildRequires: libxrandr-devel |
66 |
|
|
BuildRequires: libxrender-devel |
67 |
|
|
BuildRequires: libxcursor-devel |
68 |
|
|
BuildRequires: libxfixes-devel |
69 |
|
|
BuildRequires: libxinerama-devel |
70 |
|
|
BuildRequires: libxcomposite-devel |
71 |
|
|
BuildRequires: libxdamage-devel |
72 |
|
|
BuildRequires: libxi-devel |
73 |
|
|
#gw needed for gtk-update-icon-cache in gtk+3.0 3.0.9 |
74 |
|
|
BuildRequires: gtk+2.0 |
75 |
|
|
%if %enable_tests |
76 |
ahmad |
111269 |
BuildRequires: x11-server-xvfb |
77 |
saispo |
93254 |
%endif |
78 |
|
|
%if %enable_gtkdoc |
79 |
ahmad |
111269 |
BuildRequires: gtk-doc >= 0.9 |
80 |
|
|
BuildRequires: sgml-tools |
81 |
|
|
BuildRequires: texinfo |
82 |
saispo |
93254 |
%endif |
83 |
|
|
# gw tests will fail without this |
84 |
|
|
BuildRequires: fonts-ttf-dejavu |
85 |
|
|
%if !%{enable_bootstrap} |
86 |
ahmad |
111269 |
Suggests: xdg-user-dirs-gtk |
87 |
|
|
Suggests: oxygen-gtk3 |
88 |
saispo |
93254 |
%endif |
89 |
ahmad |
111268 |
Requires: %{libname} = %{version} |
90 |
saispo |
93254 |
Obsoletes: gtk-engines3 < 3.0.0 |
91 |
|
|
Provides: %{pkgname}%{api} = %{version}-%{release} |
92 |
|
|
|
93 |
|
|
%description |
94 |
|
|
The gtk+ package contains the GIMP ToolKit (GTK+), a library for creating |
95 |
|
|
graphical user interfaces for the X Window System. GTK+ was originally |
96 |
|
|
written for the GIMP (GNU Image Manipulation Program) image processing |
97 |
|
|
program, but is now used by several other programs as well. |
98 |
|
|
|
99 |
|
|
If you are planning on using the GIMP or another program that uses GTK+, |
100 |
|
|
you'll need to have the gtk+ package installed. |
101 |
|
|
|
102 |
dmorgan |
101505 |
%files -f gtk30.lang |
103 |
|
|
%defattr(-, root, root) |
104 |
|
|
%doc README |
105 |
ahmad |
105931 |
%{_bindir}/gtk-query-immodules-%{api_version}-* |
106 |
dmorgan |
101505 |
%_mandir/man1/gtk-query-immodules-%{api_version}.1* |
107 |
|
|
%{_datadir}/themes |
108 |
|
|
%{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml |
109 |
|
|
%dir %{_sysconfdir}/gtk-%{api_version} |
110 |
|
|
%config(noreplace) %{_sysconfdir}/gtk-%{api_version}/im-multipress.conf |
111 |
|
|
%{_sysconfdir}/X11/xinit/xinput.d/im-cedilla.conf |
112 |
|
|
|
113 |
|
|
#-------------------------------------------------------------------- |
114 |
|
|
|
115 |
saispo |
93254 |
%package -n %{libname} |
116 |
|
|
Summary: %{summary} |
117 |
|
|
Group: %{group} |
118 |
|
|
Provides: lib%{pkgname}%{api} = %{version}-%{release} |
119 |
|
|
Provides: lib%{name} = %{version}-%{release} |
120 |
|
|
Obsoletes: %{_lib}gtk+3.0_0 < 3.0.0 |
121 |
|
|
Obsoletes: %{_lib}gtk+-x11-3.0_0 < 3.0.0 |
122 |
|
|
Obsoletes: %{_lib}gtk-engines3 < 3.0.0 |
123 |
ahmad |
111269 |
Requires: libglib2.0 >= %{req_glib_version} |
124 |
|
|
Requires: libpango1.0 >= %{req_pango_version} |
125 |
|
|
Requires: libatk1.0 >= %{req_atk_version} |
126 |
cjw |
103472 |
Requires: gtk+3.0 = %{version}-%{release} |
127 |
ahmad |
111553 |
Requires(pre): gtk+3.0 = %{version}-%{release} |
128 |
saispo |
93254 |
|
129 |
|
|
%description -n %{libname} |
130 |
|
|
This package contains the library needed to run programs dynamically |
131 |
|
|
linked with gtk+. |
132 |
|
|
|
133 |
dmorgan |
101505 |
%post -n %{libname} |
134 |
|
|
if [ "$1" = "2" ]; then |
135 |
|
|
if [ -f %{_sysconfdir}/gtk-%{api_version}/gtk.immodules ]; then |
136 |
|
|
rm -f %{_sysconfdir}/gtk-%{api_version}/gtk.immodules |
137 |
|
|
fi |
138 |
|
|
fi |
139 |
|
|
gtk-query-immodules-3.0-%{__isa_bits} --update-cache |
140 |
|
|
|
141 |
|
|
%files -n %{libname} |
142 |
|
|
%defattr(-, root, root) |
143 |
|
|
%doc README |
144 |
|
|
%ghost %verify (not md5 mtime size) %_libdir/gtk-%{api_version}/3.0.0/immodules.cache |
145 |
|
|
%dir %{_libdir}/gtk-%{api_version} |
146 |
|
|
%dir %{_libdir}/gtk-%{api_version}/modules |
147 |
|
|
%dir %{_libdir}/gtk-%{api_version}/%{binary_version} |
148 |
|
|
%dir %{_libdir}/gtk-%{api_version}/%{binary_version}/immodules |
149 |
|
|
%{_libdir}/gtk-%{api_version}/%{binary_version}/immodules/*.so |
150 |
|
|
%dir %{_libdir}/gtk-%{api_version}/%{binary_version}/printbackends |
151 |
|
|
%{_libdir}/gtk-%{api_version}/%{binary_version}/printbackends/*.so |
152 |
|
|
%{_libdir}/libgtk-3.so.%{lib_major} |
153 |
|
|
%{_libdir}/libgtk-3.so.%{lib_major}.* |
154 |
|
|
%{_libdir}/libgdk-3.so.%{lib_major} |
155 |
|
|
%{_libdir}/libgdk-3.so.%{lib_major}.* |
156 |
|
|
%_libdir/girepository-1.0/Gdk-%{api_version}.typelib |
157 |
|
|
%_libdir/girepository-1.0/GdkX11-%{api_version}.typelib |
158 |
|
|
%_libdir/girepository-1.0/Gtk-%{api_version}.typelib |
159 |
|
|
|
160 |
|
|
#-------------------------------------------------------------------- |
161 |
|
|
|
162 |
saispo |
93254 |
%package -n %{develname} |
163 |
|
|
Summary: Development files for GTK+ (GIMP ToolKit) applications |
164 |
|
|
Group: Development/GNOME and GTK+ |
165 |
|
|
Provides: %{pkgname}%{api}-devel = %{version}-%{release} |
166 |
|
|
Provides: lib%{pkgname}%{api}-devel = %{version}-%{release} |
167 |
|
|
Provides: lib%{pkgname}%{api_version}-devel = %{version}-%{release} |
168 |
|
|
Provides: lib%{pkgname}-x11-%{api_version}-devel = %{version}-%{release} |
169 |
|
|
Provides: %{name}-devel = %{version}-%{release} |
170 |
|
|
Requires: %{libname} = %{version} |
171 |
|
|
Requires: libgdk_pixbuf2.0-devel >= %req_gdk_pixbuf_version |
172 |
|
|
Requires: libatk1.0-devel >= %{req_atk_version} |
173 |
|
|
Requires: libpango1.0-devel >= %{req_pango_version} |
174 |
|
|
|
175 |
|
|
%description -n %{develname} |
176 |
|
|
The libgtk+-devel package contains the static libraries and header files |
177 |
|
|
needed for developing GTK+ (GIMP ToolKit) applications. The libgtk+-devel |
178 |
|
|
package contains GDK (the General Drawing Kit, which simplifies the interface |
179 |
|
|
for writing GTK+ widgets and using GTK+ widgets in applications), and GTK+ |
180 |
|
|
(the widget set). |
181 |
|
|
|
182 |
dmorgan |
101505 |
%files -n %{develname} |
183 |
|
|
%defattr(-, root, root) |
184 |
|
|
%doc docs/*.txt AUTHORS ChangeLog NEWS* README* |
185 |
|
|
%doc %{_datadir}/gtk-doc/html/gdk3 |
186 |
|
|
%doc %{_datadir}/gtk-doc/html/gtk3 |
187 |
|
|
%{_bindir}/gtk3-demo |
188 |
|
|
%{_datadir}/aclocal/* |
189 |
|
|
%{_datadir}/gtk-%{api_version} |
190 |
|
|
%{_includedir}/gtk-%{api_version} |
191 |
|
|
%{_libdir}/libgtk-%{api}.so |
192 |
|
|
%{_libdir}/libgtk-%{api}.la |
193 |
|
|
%{_libdir}/libgdk-%{api}.so |
194 |
|
|
%{_libdir}/libgdk-%{api}.la |
195 |
|
|
%{_libdir}/pkgconfig/gdk-*%{api_version}.pc |
196 |
|
|
%{_libdir}/pkgconfig/gtk+-*%{api_version}.pc |
197 |
|
|
%_datadir/gir-1.0/Gdk-%{api_version}.gir |
198 |
|
|
%_datadir/gir-1.0/GdkX11-%{api_version}.gir |
199 |
|
|
%_datadir/gir-1.0/Gtk-%{api_version}.gir |
200 |
|
|
|
201 |
|
|
#-------------------------------------------------------------------- |
202 |
|
|
|
203 |
saispo |
93254 |
%package -n %{gail_libname} |
204 |
|
|
Summary: GNOME Accessibility Implementation Library |
205 |
|
|
Group: System/Libraries |
206 |
|
|
Provides: libgail = %{version}-%{release} |
207 |
|
|
Obsoletes: %{_lib}gail3.0_0 < 3.0.0 |
208 |
|
|
|
209 |
|
|
%description -n %{gail_libname} |
210 |
|
|
Gail is the GNOME Accessibility Implementation Library |
211 |
|
|
|
212 |
dmorgan |
101505 |
%files -n %gail_libname |
213 |
|
|
%defattr(-,root,root) |
214 |
|
|
%{_libdir}/libgailutil-%{api}.so.%{gail_major}* |
215 |
|
|
%{_libdir}/gtk-%{api_version}/modules/libferret.so |
216 |
|
|
%{_libdir}/gtk-%{api_version}/modules/libgail.so |
217 |
|
|
|
218 |
|
|
#-------------------------------------------------------------------- |
219 |
|
|
|
220 |
saispo |
93254 |
%package -n %gaildevelname |
221 |
|
|
Summary: Static libraries, include files for GAIL |
222 |
|
|
Group: Development/GNOME and GTK+ |
223 |
|
|
Provides: libgail-%{api_version}-devel = %{version}-%{release} |
224 |
|
|
Requires: %{gail_libname} = %{version} |
225 |
|
|
|
226 |
|
|
%description -n %gaildevelname |
227 |
|
|
Gail is the GNOME Accessibility Implementation Library |
228 |
|
|
|
229 |
dmorgan |
101505 |
%files -n %gaildevelname |
230 |
|
|
%defattr(-,root,root) |
231 |
|
|
%{_datadir}/gtk-doc/html/gail-libgail-util3 |
232 |
|
|
%{_libdir}/libgailutil-%{api}.so |
233 |
|
|
%{_includedir}/gail-%{api_version} |
234 |
|
|
%{_libdir}/pkgconfig/gail-%{api_version}.pc |
235 |
|
|
|
236 |
|
|
#-------------------------------------------------------------------- |
237 |
|
|
|
238 |
saispo |
93254 |
%prep |
239 |
|
|
%setup -qn %{pkgname}-%{version} |
240 |
wally |
118053 |
%if !%{enable_bootstrap} |
241 |
|
|
%patch12 -p0 -b .defaulttheme |
242 |
|
|
%endif |
243 |
saispo |
93254 |
|
244 |
|
|
%build |
245 |
|
|
|
246 |
dmorgan |
101505 |
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi; |
247 |
wally |
118053 |
%configure2_5x $CONFIGFLAGS \ |
248 |
dmorgan |
101505 |
--enable-gtk2-dependency \ |
249 |
|
|
--enable-xkb \ |
250 |
|
|
--enable-xinerama \ |
251 |
|
|
--enable-xinput \ |
252 |
|
|
--enable-xrandr \ |
253 |
|
|
--enable-xfixes \ |
254 |
|
|
--enable-xcomposite \ |
255 |
|
|
--enable-xdamage \ |
256 |
|
|
--enable-x11-backend \ |
257 |
|
|
) |
258 |
saispo |
93254 |
|
259 |
dmorgan |
101505 |
# fight unused direct deps |
260 |
|
|
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool |
261 |
saispo |
93254 |
|
262 |
|
|
%make |
263 |
|
|
|
264 |
|
|
%check |
265 |
|
|
%if %enable_tests |
266 |
|
|
XDISPLAY=$(i=1; while [ -f /tmp/.X$i-lock ]; do i=$(($i+1)); done; echo $i) |
267 |
|
|
%{_bindir}/Xvfb :$XDISPLAY & |
268 |
|
|
export DISPLAY=:$XDISPLAY |
269 |
|
|
make check |
270 |
|
|
kill $(cat /tmp/.X$XDISPLAY-lock) ||: |
271 |
|
|
%endif |
272 |
|
|
|
273 |
|
|
%install |
274 |
|
|
rm -rf $RPM_BUILD_ROOT |
275 |
|
|
|
276 |
|
|
%makeinstall_std RUN_QUERY_IMMODULES_TEST=false RUN_QUERY_LOADER_TEST=false |
277 |
|
|
|
278 |
|
|
touch $RPM_BUILD_ROOT%_libdir/gtk-%{api_version}/%{binary_version}/immodules.cache |
279 |
|
|
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/modules |
280 |
|
|
|
281 |
dmorgan |
101505 |
(cd $RPM_BUILD_ROOT%{_bindir} |
282 |
|
|
mv gtk-query-immodules-3.0 gtk-query-immodules-3.0-%{__isa_bits} |
283 |
|
|
) |
284 |
saispo |
93254 |
|
285 |
dmorgan |
101505 |
# Input method frameworks want this |
286 |
|
|
install -D %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/X11/xinit/xinput.d/im-cedilla.conf |
287 |
saispo |
93254 |
%{find_lang} gtk30 gtk30 gtk30-properties |
288 |
|
|
|
289 |
|
|
#remove not packaged files |
290 |
|
|
rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}/immodules/*.la \ |
291 |
|
|
$RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}/loaders/*.la \ |
292 |
|
|
$RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}/engines/*.la \ |
293 |
|
|
$RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/%{binary_version}/printbackends/*.la \ |
294 |
|
|
$RPM_BUILD_ROOT%{_libdir}/gtk-%{api_version}/modules/*.la \ |
295 |
|
|
$RPM_BUILD_ROOT%_mandir/man1/gtk-update-icon-cache.1* |
296 |
dmorgan |
102517 |
rm -f $RPM_BUILD_ROOT%{_libdir}/libgailutil-%{api}.la |
297 |
saispo |
93254 |
|
298 |
|
|
%clean |
299 |
|
|
rm -rf $RPM_BUILD_ROOT |