/[packages]/cauldron/gtk+3.0/current/SPECS/gtk+3.0.spec
ViewVC logotype

Contents of /cauldron/gtk+3.0/current/SPECS/gtk+3.0.spec

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.30