1 |
%define major 8 |
2 |
%define pangomajor 0 |
3 |
%define gi_major 1.0 |
4 |
|
5 |
%define libname %mklibname %{name} %{major} |
6 |
%define libname_pango %mklibname %{name}-pango %{pangomajor} |
7 |
%define develname %mklibname -d %{name} |
8 |
%define girname %mklibname %{name}-gir %{gi_major} |
9 |
%define girname_pango %mklibname %{name}-pango-gir %{gi_major} |
10 |
|
11 |
%define url_ver %(echo %{version}|cut -d. -f1,2) |
12 |
|
13 |
Name: cogl |
14 |
Version: 1.9.8 |
15 |
Release: %mkrel 1 |
16 |
Summary: A library for using 3D graphics hardware to draw pretty pictures |
17 |
Group: System/Libraries |
18 |
License: LGPLv2+ |
19 |
URL: http://www.clutter-project.org/ |
20 |
Source0: http://download.gnome.org/sources/%{name}/%{url_ver}/%{name}-%{version}.tar.xz |
21 |
Patch0: cogl-1.7.6-linkage.patch |
22 |
BuildRequires: pkgconfig(gl) |
23 |
BuildRequires: pkgconfig(x11) |
24 |
BuildRequires: pkgconfig(xext) |
25 |
BuildRequires: pkgconfig(xfixes) >= 3 |
26 |
BuildRequires: pkgconfig(xdamage) |
27 |
BuildRequires: pkgconfig(xcomposite) >= 0.4 |
28 |
BuildRequires: pkgconfig(gobject-2.0) >= 2.28.0 |
29 |
BuildRequires: pkgconfig(gmodule-no-export-2.0) |
30 |
BuildRequires: pkgconfig(gdk-pixbuf-2.0) |
31 |
BuildRequires: pkgconfig(cairo) >= 1.10 |
32 |
BuildRequires: pkgconfig(pangocairo) >= 1.20 |
33 |
BuildRequires: pkgconfig(gobject-introspection-1.0) |
34 |
BuildRequires: pkgconfig(gtk-doc) |
35 |
|
36 |
%description |
37 |
Cogl is a small open source library for using 3D graphics hardware to draw |
38 |
pretty pictures. The API departs from the flat state machine style of |
39 |
OpenGL and is designed to make it easy to write orthogonal components that |
40 |
can render without stepping on each others toes. |
41 |
|
42 |
As well aiming for a nice API, we think having a single library as opposed |
43 |
to an API specification like OpenGL has a few advantages too; like being |
44 |
able to paper over the inconsistencies/bugs of different OpenGL |
45 |
implementations in a centralized place, not to mention the myriad of OpenGL |
46 |
extensions. It also means we are in a better position to provide utility |
47 |
APIs that help software developers since they only need to be implemented |
48 |
once and there is no risk of inconsistency between implementations. |
49 |
|
50 |
Having other backends, besides OpenGL, such as drm, Gallium or D3D are |
51 |
options we are interested in for the future. |
52 |
|
53 |
#-------------------------------------------------------------------- |
54 |
|
55 |
%package i18n |
56 |
Summary: Translations for %{name} |
57 |
Group: System/Internationalization |
58 |
Obsoletes: %{name} < 1.9.2 |
59 |
BuildArch: noarch |
60 |
|
61 |
%description i18n |
62 |
This contains the translation data for %{name}. |
63 |
|
64 |
%files i18n -f %{name}.lang |
65 |
%defattr(-,root,root,-) |
66 |
|
67 |
#-------------------------------------------------------------------- |
68 |
|
69 |
%package -n %{libname} |
70 |
Summary: A library for using 3D graphics hardware to draw pretty pictures |
71 |
Group: System/Libraries |
72 |
Requires: %{name}-i18n |
73 |
|
74 |
%description -n %{libname} |
75 |
Cogl is a small open source library for using 3D graphics hardware to draw |
76 |
pretty pictures. The API departs from the flat state machine style of |
77 |
OpenGL and is designed to make it easy to write orthogonal components that |
78 |
can render without stepping on each others toes. |
79 |
|
80 |
As well aiming for a nice API, we think having a single library as opposed |
81 |
to an API specification like OpenGL has a few advantages too; like being |
82 |
able to paper over the inconsistencies/bugs of different OpenGL |
83 |
implementations in a centralized place, not to mention the myriad of OpenGL |
84 |
extensions. It also means we are in a better position to provide utility |
85 |
APIs that help software developers since they only need to be implemented |
86 |
once and there is no risk of inconsistency between implementations. |
87 |
|
88 |
Having other backends, besides OpenGL, such as drm, Gallium or D3D are |
89 |
options we are interested in for the future. |
90 |
|
91 |
%files -n %{libname} |
92 |
%defattr(-, root, root) |
93 |
%{_libdir}/libcogl.so.%{major}* |
94 |
|
95 |
#-------------------------------------------------------------------- |
96 |
|
97 |
%package -n %{libname_pango} |
98 |
Summary: A library for using 3D graphics hardware to draw pretty pictures |
99 |
Group: System/Libraries |
100 |
Requires: %{name}-i18n |
101 |
|
102 |
%description -n %{libname_pango} |
103 |
Cogl is a small open source library for using 3D graphics hardware to draw |
104 |
pretty pictures. The API departs from the flat state machine style of |
105 |
OpenGL and is designed to make it easy to write orthogonal components that |
106 |
can render without stepping on each others toes. |
107 |
|
108 |
As well aiming for a nice API, we think having a single library as opposed |
109 |
to an API specification like OpenGL has a few advantages too; like being |
110 |
able to paper over the inconsistencies/bugs of different OpenGL |
111 |
implementations in a centralized place, not to mention the myriad of OpenGL |
112 |
extensions. It also means we are in a better position to provide utility |
113 |
APIs that help software developers since they only need to be implemented |
114 |
once and there is no risk of inconsistency between implementations. |
115 |
|
116 |
Having other backends, besides OpenGL, such as drm, Gallium or D3D are |
117 |
options we are interested in for the future. |
118 |
|
119 |
%files -n %{libname_pango} |
120 |
%defattr(-, root, root) |
121 |
%{_libdir}/libcogl-pango.so.%{pangomajor}* |
122 |
|
123 |
#-------------------------------------------------------------------- |
124 |
|
125 |
%package -n %{girname} |
126 |
Summary: GObject Introspection interface description for %{name} |
127 |
Group: System/Libraries |
128 |
Requires: %{libname} = %{version}-%{release} |
129 |
Conflicts: %{mklibname %{name}-gir 0.0} < %{version} |
130 |
Conflicts: %{mklibname clutter 1.0 0} < 1.7.2 |
131 |
|
132 |
%description -n %{girname} |
133 |
GObject Introspection interface description for %{name}. |
134 |
|
135 |
%files -n %{girname} |
136 |
%defattr(-, root, root) |
137 |
%{_libdir}/girepository-1.0/Cogl-%{gi_major}.typelib |
138 |
|
139 |
#-------------------------------------------------------------------- |
140 |
|
141 |
%package -n %{girname_pango} |
142 |
Summary: GObject Introspection interface description for %{name}-pango |
143 |
Group: System/Libraries |
144 |
Requires: %{libname_pango} = %{version}-%{release} |
145 |
Conflicts: %{_lib}cogl-gir0.0 < %{version} |
146 |
|
147 |
%description -n %{girname_pango} |
148 |
GObject Introspection interface description for %{name}-pango. |
149 |
|
150 |
%files -n %{girname_pango} |
151 |
%defattr(-, root, root) |
152 |
%{_libdir}/girepository-1.0/CoglPango-%{gi_major}.typelib |
153 |
|
154 |
#-------------------------------------------------------------------- |
155 |
|
156 |
%package -n %{develname} |
157 |
Summary: %{name} development environment |
158 |
Group: Development/C |
159 |
Provides: %{name}-devel = %{version}-%{release} |
160 |
Provides: lib%{name}-devel = %{version}-%{release} |
161 |
Requires: %{libname_pango} = %{version}-%{release} |
162 |
Requires: %{libname} = %{version}-%{release} |
163 |
Requires: pkgconfig(gl) |
164 |
Conflicts: %{mklibname -d clutter 1.0} <= 1.6.16 |
165 |
|
166 |
%description -n %{develname} |
167 |
Header files and libraries for building and developing apps with %{name}. |
168 |
|
169 |
%files -n %{develname} |
170 |
%defattr(-, root, root) |
171 |
%doc NEWS README ChangeLog |
172 |
%{_includedir}/cogl |
173 |
%{_libdir}/libcogl*.so |
174 |
%{_libdir}/pkgconfig/*.pc |
175 |
%{_datadir}/gir-1.0/Cogl*-%{gi_major}.gir |
176 |
|
177 |
#-------------------------------------------------------------------- |
178 |
|
179 |
%package doc |
180 |
Summary: Documentation for %{name} |
181 |
Group: Books/Other |
182 |
Requires: %{develname} = %{version}-%{release} |
183 |
BuildArch: noarch |
184 |
|
185 |
%description doc |
186 |
This package contains documentation for %{name}. |
187 |
|
188 |
%files doc |
189 |
%defattr(-, root, root) |
190 |
%{_datadir}/gtk-doc/html/cogl |
191 |
%{_datadir}/gtk-doc/html/cogl-2.0-experimental |
192 |
|
193 |
#-------------------------------------------------------------------- |
194 |
|
195 |
%prep |
196 |
%setup -q |
197 |
%patch0 -p1 -b .linkage |
198 |
|
199 |
%build |
200 |
CFLAGS="%{optflags} -fPIC" |
201 |
|
202 |
%configure2_5x \ |
203 |
--enable-cairo=yes \ |
204 |
--enable-gdk-pixbuf=yes \ |
205 |
--enable-cogl-pango=yes \ |
206 |
--enable-glx=yes \ |
207 |
--enable-gtk-doc \ |
208 |
--enable-introspection=yes \ |
209 |
--enable-examples-install=no |
210 |
|
211 |
%make |
212 |
|
213 |
%install |
214 |
%makeinstall_std |
215 |
|
216 |
#Remove examples |
217 |
rm -rf %{buildroot}%{_datadir}/%{name}/examples-data/ |
218 |
|
219 |
#Remove libtool archives. |
220 |
find %{buildroot} -name "*.la" -delete |
221 |
|
222 |
%find_lang %{name} |