]> git.pld-linux.org Git - packages/pidgin.git/blame - pidgin.spec
- ver. 2.2.2
[packages/pidgin.git] / pidgin.spec
CommitLineData
9443219b 1# TODO
030b3135 2# - cleanup files; make some subpackages? move libs to proper packages
fe0e6ec9
ER
3# - nas, silc/silcclient?
4# - kerberos 4 with zephyr support?
5# - external zephyr?
6# http://packages.qa.debian.org/z/zephyr.html
727ef86d 7# - move mono related files to -libs?
3b032b40 8# - add NetworkManager support
9443219b 9#
45e7e275 10%bcond_without cap # without Contact Availability Prediction
4ccebce7 11%bcond_without dbus # without dbus (for pidgin-remote and others)
f73ea328 12%bcond_without doc # do not generate and include documentation
f973fcfb 13%bcond_without dotnet # build with mono support
4ccebce7 14%bcond_without evolution # compile without the Pidgin-Evolution plugin
f73ea328 15%bcond_without gtkspell # without gtkspell support
45e7e275 16%bcond_without meanwhile # without meanwhile support
f973fcfb 17%bcond_without sasl # disable SASL support
45e7e275 18%bcond_without text # don't build text UI
3b032b40 19%bcond_without silc # Build without SILC libraries
4d35c86f 20#
45e7e275 21%include /usr/lib/rpm/macros.perl
e932206c 22Summary: A client compatible with AOL's 'Instant Messenger'
4ccebce7 23Summary(de.UTF-8): Pidgin ist ein Instant Messenger
3569b772
ER
24Summary(ko.UTF-8): AOL 인스턴트 메신저와 호환되는 클라이언트
25Summary(pl.UTF-8): Klient kompatybilny z AOL Instant Messenger
26Summary(pt_BR.UTF-8): Um cliente para o AOL Instant Messenger (AIM)
4ccebce7 27Name: pidgin
33ff6869 28Version: 2.2.2
e188b0a3 29Release: 1
e932206c
AM
30License: GPL
31Group: Applications/Communications
4ccebce7 32Source0: http://dl.sourceforge.net/pidgin/%{name}-%{version}.tar.bz2
33ff6869 33# Source0-md5: 7c8fc5a55959b84c6e4c57a11bc0707a
d52cd671 34Patch0: %{name}-nolibs.patch
4ccebce7
AM
35Patch1: %{name}-dbus-dir.patch
36Patch2: %{name}-libgadu.patch
eb135933 37Patch3: %{name}-autoconf.patch
4ccebce7 38URL: http://www.pidgin.im/
45e7e275 39BuildRequires: GConf2-devel >= 2.16.0
d52cd671 40BuildRequires: audiofile-devel
8ee3c20e 41BuildRequires: autoconf
42BuildRequires: automake
141a6367 43BuildRequires: avahi-devel
45e7e275 44BuildRequires: bind-devel
f973fcfb 45%{?with_sasl:BuildRequires: cyrus-sasl-devel}
45e7e275 46%{?with_dbus:BuildRequires: dbus-glib-devel >= 0.71}
47%{?with_evolution:BuildRequires: evolution-data-server-devel >= 1.8.1}
48BuildRequires: gettext-autopoint
e932206c 49BuildRequires: gettext-devel
45e7e275 50BuildRequires: gnutls-devel
51BuildRequires: gstreamer-devel >= 0.10.10
52BuildRequires: gtk+2-devel >= 2:2.10.6
53%{?with_gtkspell:BuildRequires: gtkspell-devel >= 2.0.11}
54BuildRequires: intltool
45e7e275 55BuildRequires: libgadu-devel
e932206c 56BuildRequires: libtool
45e7e275 57BuildRequires: libxml2-devel >= 2.6.26
97cca156 58%{?with_meanwhile:BuildRequires: meanwhile-devel}
463bf1e0 59%{?with_dotnet:BuildRequires: mono-csharp}
727ef86d 60%{?with_dotnet:BuildRequires: mono-devel}
97cca156 61%{?with_text:BuildRequires: ncurses-ext-devel}
b1f35fc0 62BuildRequires: perl-devel
414803d3 63BuildRequires: pkgconfig
45e7e275 64BuildRequires: python-modules
f015364d 65BuildRequires: rpm-perlprov
45e7e275 66BuildRequires: rpm-pythonprov
0c1136e7 67BuildRequires: rpmbuild(macros) >= 1.177
bc7ba752 68%{?with_silc:BuildRequires: silc-toolkit-devel >= 1.1}
67cdbd4d 69BuildRequires: startup-notification-devel
887a5c0d 70BuildRequires: tcl-devel
fe0e6ec9 71BuildRequires: tk-devel
45e7e275 72%if %{with cap}
73BuildRequires: sqlite3-devel >= 3.3
74%endif
2494e3b9 75BuildRequires: xorg-lib-libSM-devel
2fe7c96b 76BuildRequires: xorg-lib-libXScrnSaver-devel
4d35c86f 77%if %{with doc}
78BuildRequires: doxygen
79BuildRequires: graphviz
80%endif
a7769b55 81%{?with_sasl:Requires(hint): cyrus-sasl-digest-md5}
97cca156 82Requires(post,preun): GConf2 >= 2.16.0
19318cb6 83Requires: %{name}-libs = %{version}-%{release}
e188b0a3 84Obsoletes: gaim
45e7e275 85Obsoletes: gaim-ui
e188b0a3 86Obsoletes: gaim-ui-gtk
e932206c
AM
87BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
88
e932206c 89%description
4ccebce7 90Pidgin allows you to talk to anyone using AOL's Instant Messenger
e932206c
AM
91service (you can sign up at http://www.aim.aol.com). It uses the TOC
92version of the AOL protocol, so your buddy list is stored on AOL's
93servers and can be retrieved from anywhere. It contains many of the
94same features as AOL's IM client while at the same time incorporating
4ccebce7 95many new features. Pidgin also contains a multiple connection feature
e932206c 96which consists of protocol plugins. These plugins allow you to use
4ccebce7 97pidgin to connect to other chat services such as Yahoo!, ICQ, MSN,
7d8896f0 98Jabber, Napster, Zephyr, IRC and Gadu-Gadu.
e932206c 99
e22fe992 100%description -l pl.UTF-8
4ccebce7 101Pidgin pozwala na rozmowy z dowolną osobą używającą usługi AOL Instant
e22fe992
JR
102Messenger (można się zarejestrować pod adresem
103http://www.aim.aol.com/). Program używa wersji TOC protokołu AOL więc
104Twoja lista kontaktów jest zapisana na serwerze AOL i może być
4ccebce7 105przesłana gdziekolwiek. Pidgin zawiera wiele udogodnień dostępnych w
19318cb6
JB
106kliencie AOL IM jak również dodaje własne. Pidgin umożliwia także
107dostęp do usług takich jak Yahoo!, ICQ, MSN, Jabber, Napster, Zephyr,
108IRC oraz Gadu-Gadu.
e932206c 109
e22fe992 110%description -l pt_BR.UTF-8
19318cb6
JB
111Pidgin é um cliente para o AOL Instant Messenger (AIM) que usa o
112serviço tik/toc da AOL. É desenvolvido ativamente e suporta muitas das
e22fe992
JR
113características do cliente da AOL, tendo uma interface similiar.
114Também oferece suporte a outros protocolos, como: ICQ, IRC, Yahoo!,
a926f806 115MSN, Jabber e Napster.
116
e22fe992 117%description -l de.UTF-8
4ccebce7 118Pidgin ist ein Instant Messenger der von Mark Spencer ursprünglich für
e22fe992
JR
119unixähnliche Systeme (GNU/Linux, BSD) geschrieben wurde, nun aber auch
120auf Microsoft Windows und Mac OS X lauffähig ist und mit vielen
49e5c2ba 121Plugins stark erweitert werden kann.
122
45e7e275 123%package libs
4ccebce7 124Summary: Pidgin client library
97cca156 125Summary(pl.UTF-8): Biblioteka klienta Pidgina
45e7e275 126Group: Libraries
579e124c 127
45e7e275 128%description libs
4ccebce7 129Pidgin client library.
579e124c 130
45e7e275 131%description libs -l pl.UTF-8
19318cb6 132Biblioteka klienta Pidgina.
579e124c 133
42f05844 134%package devel
4ccebce7 135Summary: Development files for Pidgin client library
97cca156 136Summary(pl.UTF-8): Pliki programistyczne biblioteki klienta Pidgina
15bdbbd4 137Group: Development/Libraries
19318cb6 138Requires: %{name}-libs = %{version}-%{release}
45e7e275 139Requires: gtk+2-devel >= 2:2.10.6
42f05844 140
141%description devel
19318cb6 142Development files for Pidgin.
15bdbbd4 143
e22fe992 144%description devel -l pl.UTF-8
19318cb6 145Pliki programistyczne biblioteki Pidgina.
42f05844 146
9c3e5099 147%package perl
4ccebce7 148Summary: Pidgin files for Perl scripts
97cca156 149Summary(pl.UTF-8): Pliki Pidgina dla skryptów w Perlu
975d6389 150Group: Libraries
19318cb6 151Requires: %{name} = %{version}-%{release}
544cdff1 152
9c3e5099 153%description perl
19318cb6
JB
154This package gives you ability to extend Pidgin functionality with
155Perl scripts.
544cdff1 156
e22fe992 157%description perl -l pl.UTF-8
19318cb6
JB
158Ten pakiet daje możliwość rozszerzania funkcjonalności Pidgina za
159pomocą skryptów Perla.
544cdff1 160
fe0e6ec9 161%package tcl
4ccebce7 162Summary: Pidgin files for Tcl scripts
97cca156 163Summary(pl.UTF-8): Pliki Pidgina dla skryptów w Tcl-u
fe0e6ec9 164Group: Libraries
19318cb6 165Requires: %{name} = %{version}-%{release}
fe0e6ec9
ER
166
167%description tcl
4ccebce7 168This package gives you ability to extend Pidgin functionality with Tcl
88556783
JB
169scripts.
170
e22fe992 171%description tcl -l pl.UTF-8
19318cb6
JB
172Ten pakiet daje możliwość rozszerzania funkcjonalności Pidgina za
173pomocą skryptów w Tcl-u.
fe0e6ec9 174
082aa6fa
ER
175%package plugin-evolution
176Summary: Plugin for Ximian Evolution integration
97cca156 177Summary(pl.UTF-8): Wtyczka do integracji z Evolution
975d6389 178Group: Libraries
19318cb6 179Requires: %{name} = %{version}-%{release}
887a5c0d 180
082aa6fa
ER
181%description plugin-evolution
182Provides integration with Ximian Evolution.
975d6389 183
e22fe992 184%description plugin-evolution -l pl.UTF-8
975d6389 185Wtyczka do integracji z Evolution.
887a5c0d 186
fe0e6ec9 187%package plugin-remote
4ccebce7 188Summary: Pidgin Remote Control
97cca156 189Summary(pl.UTF-8): Zdalne sterowanie Pidginem
88556783 190Group: Libraries
19318cb6 191Requires: %{name} = %{version}-%{release}
fe0e6ec9
ER
192
193%description plugin-remote
4ccebce7
AM
194This package gives Pidgin the ability to be remote-controlled through
195third-party applications or through the pidgin-remote tool.
88556783 196
e22fe992 197%description plugin-remote -l pl.UTF-8
4ccebce7
AM
198Ten pakiet daje możliwość zdalnego sterowania Pidginem przez inne
199aplikacje albo narzędzie pidgin-remote.
fe0e6ec9 200
4d35c86f 201%package doc
4ccebce7 202Summary: Pidgin documentation for developers (HTML format)
97cca156 203Summary(pl.UTF-8): Dokumentacja Pidgina dla programistów (format HTML)
975d6389 204Group: Documentation
4d35c86f 205
206%description doc
4ccebce7 207Pidgin documentation for developers (HTML format).
4d35c86f 208
e22fe992 209%description doc -l pl.UTF-8
19318cb6 210Dokumentacja Pidgina dla programistów (format HTML).
4d35c86f 211
e932206c 212%prep
4ccebce7 213%setup -q
639ca96a 214%patch0 -p1
4ccebce7 215%patch1 -p1
639ca96a 216%patch2 -p1
030b3135 217%patch3 -p1
5afe1394 218
e932206c 219%build
2b53e80b
ER
220%if %{with dotnet}
221if [ ! -f /proc/cpuinfo ]; then
222 echo >&2 "Mono requires /proc to be mounted."
223 exit 1
224fi
225%endif
226
32d1a2ee 227%{__intltoolize}
63f26c96 228%{__libtoolize}
45e7e275 229%{__aclocal} -I m4macros
2016db7a 230%{__autoheader}
4195155e 231%{__autoconf}
6407ad31 232%{__automake}
e932206c 233%configure \
4617d6f9 234 --disable-nas \
9c3e5099 235 --enable-nss=no \
f73ea328 236 --with-perl-lib=vendor \
2b53e80b 237 %{!?with_silc:--with-silc-includes=not_existent_directory} \
45e7e275 238 --%{?with_cap:en}%{!?with_cap:dis}able-cap \
f973fcfb 239 %{?with_sasl:--enable-cyrus-sasl} \
2b53e80b 240 %{?with_dbus:--enable-dbus --with-dbus-session-dir=%{_datadir}/dbus-1/services} \
45e7e275 241 %{!?with_dbus:--disable-dbus} \
4506a465 242 %{!?with_evolution:--disable-gevolution} \
45e7e275 243 %{!?with_gtkspell:--disable-gtkspell} \
727ef86d 244 %{?with_dotnet:--enable-mono} \
45e7e275 245 --%{?with_text:en}%{!?with_text:dis}able-consoleui
579e124c 246
6838cc1a 247%{__make} -j1
4d35c86f 248%{?with_doc:%{__make} docs}
d52cd671 249
e932206c
AM
250%install
251rm -rf $RPM_BUILD_ROOT
252
253%{__make} install \
d52cd671 254 DESTDIR=$RPM_BUILD_ROOT
579e124c 255
bc7ba752
SS
256rm -f $RPM_BUILD_ROOT%{_libdir}/finch/*.la
257rm -f $RPM_BUILD_ROOT%{_libdir}/gnt/*.la
4ccebce7 258rm -f $RPM_BUILD_ROOT%{_libdir}/pidgin/{,private}/*.la
bc7ba752 259rm -f $RPM_BUILD_ROOT%{_libdir}/purple-2/*.la
47059490 260rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/{ca@valencia,ca_ES@valencian,my_MM,ps}
15bdbbd4 261
45e7e275 262%find_lang %{name} --with-gnome
4ccebce7 263rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/Pidgin/{,GtkUI}/.packlist}
e188b0a3 264rm -rf $RPM_BUILD_ROOT%{_datadir}/purple/ca-certs
6cdc5a72 265
45e7e275 266%if %{with dbus}
4ccebce7 267rm $RPM_BUILD_ROOT%{_bindir}/purple-client-example
45e7e275 268%endif
e932206c
AM
269
270%clean
271rm -rf $RPM_BUILD_ROOT
272
45e7e275 273%post
030b3135 274%gconf_schema_install purple.schemas
45e7e275 275
276%preun
cac77cf5 277%gconf_schema_uninstall purple.schemas
45e7e275 278
279%post libs -p /sbin/ldconfig
280%postun libs -p /sbin/ldconfig
15bdbbd4 281
e932206c
AM
282%files -f %{name}.lang
283%defattr(644,root,root,755)
3214dcff 284%doc AUTHORS ChangeLog{,.API} HACKING NEWS PLUGIN_HOWTO README*
4ccebce7
AM
285%attr(755,root,root) %{_bindir}/pidgin
286%dir %{_libdir}/pidgin
030b3135 287%attr(755,root,root) %{_libdir}/purple-2/autoaccept.so
030b3135 288%attr(755,root,root) %{_libdir}/purple-2/buddynote.so
487076dd 289%if %{with cap}
4ccebce7 290%attr(755,root,root) %{_libdir}/pidgin/cap.so
45e7e275 291%endif
eb135933 292%if %{with dotnet}
727ef86d 293%attr(755,root,root) %{_libdir}/purple-2/*.dll
294%attr(755,root,root) %{_libdir}/purple-2/mono.so
97cca156 295%endif
4ccebce7 296%attr(755,root,root) %{_libdir}/pidgin/convcolors.so
4ccebce7
AM
297%attr(755,root,root) %{_libdir}/pidgin/extplacement.so
298%attr(755,root,root) %{_libdir}/pidgin/pidginrc.so
299%attr(755,root,root) %{_libdir}/pidgin/gestures.so
d963a01e 300%attr(755,root,root) %{_libdir}/pidgin/gtkbuddynote.so
f7a53205
JB
301%attr(755,root,root) %{_libdir}/pidgin/history.so
302%attr(755,root,root) %{_libdir}/pidgin/iconaway.so
f7a53205
JB
303%attr(755,root,root) %{_libdir}/pidgin/markerline.so
304%attr(755,root,root) %{_libdir}/pidgin/notify.so
305%attr(755,root,root) %{_libdir}/pidgin/relnot.so
306%attr(755,root,root) %{_libdir}/pidgin/spellchk.so
307%attr(755,root,root) %{_libdir}/pidgin/ticker.so
308%attr(755,root,root) %{_libdir}/pidgin/timestamp.so
309%attr(755,root,root) %{_libdir}/pidgin/timestamp_format.so
310%attr(755,root,root) %{_libdir}/pidgin/xmppconsole.so
45e7e275 311%if %{with text}
d1a9dbe6 312%attr(755,root,root) %{_bindir}/finch
030b3135 313%dir %{_libdir}/finch
030b3135 314%attr(755,root,root) %{_libdir}/finch/gntclipboard.so
315%attr(755,root,root) %{_libdir}/finch/gntgf.so
316%attr(755,root,root) %{_libdir}/finch/gnthistory.so
317%attr(755,root,root) %{_libdir}/finch/gntlastlog.so
6adb2fe2 318%dir %{_libdir}/gnt
97cca156 319%attr(755,root,root) %{_libdir}/gnt/*.so
45e7e275 320%endif
f7a53205 321%dir %{_libdir}/purple-2
d1a9dbe6 322%{?with_dbus:%attr(755,root,root) %{_libdir}/purple-2/dbus-example.so}
030b3135 323%attr(755,root,root) %{_libdir}/purple-2/idle.so
324%attr(755,root,root) %{_libdir}/purple-2/joinpart.so
325%attr(755,root,root) %{_libdir}/purple-2/libaim.so
326%attr(755,root,root) %{_libdir}/purple-2/libbonjour.so
327%attr(755,root,root) %{_libdir}/purple-2/libgg.so
328%attr(755,root,root) %{_libdir}/purple-2/libicq.so
329%attr(755,root,root) %{_libdir}/purple-2/libirc.so
330%attr(755,root,root) %{_libdir}/purple-2/libjabber.so.*
331%attr(755,root,root) %{_libdir}/purple-2/libmsn.so
bc7ba752 332%attr(755,root,root) %{_libdir}/purple-2/libmyspace.so
030b3135 333%attr(755,root,root) %{_libdir}/purple-2/libnovell.so
030b3135 334%attr(755,root,root) %{_libdir}/purple-2/liboscar.so.*
335%attr(755,root,root) %{_libdir}/purple-2/libqq.so
4f6943ad 336%{?with_meanwhile:%attr(755,root,root) %{_libdir}/purple-2/libsametime.so}
bc7ba752 337%{?with_silc:%attr(755,root,root) %{_libdir}/purple-2/libsilcpurple.so}
030b3135 338%attr(755,root,root) %{_libdir}/purple-2/libsimple.so
339%attr(755,root,root) %{_libdir}/purple-2/libxmpp.so
340%attr(755,root,root) %{_libdir}/purple-2/libyahoo.so
341%attr(755,root,root) %{_libdir}/purple-2/libzephyr.so
342%attr(755,root,root) %{_libdir}/purple-2/log_reader.so
030b3135 343%attr(755,root,root) %{_libdir}/purple-2/newline.so
030b3135 344%attr(755,root,root) %{_libdir}/purple-2/offlinemsg.so
345%attr(755,root,root) %{_libdir}/purple-2/psychic.so
030b3135 346%attr(755,root,root) %{_libdir}/purple-2/ssl-gnutls.so
347%attr(755,root,root) %{_libdir}/purple-2/ssl-nss.so
348%attr(755,root,root) %{_libdir}/purple-2/ssl.so
349%attr(755,root,root) %{_libdir}/purple-2/statenotify.so
45e7e275 350%if %{with dbus}
f7a53205
JB
351%attr(755,root,root) %{_bindir}/purple-url-handler
352%attr(755,root,root) %{_bindir}/purple-send
353%attr(755,root,root) %{_bindir}/purple-send-async
4ccebce7 354%attr(755,root,root) %{_libdir}/pidgin/musicmessaging.so
45e7e275 355%endif
030b3135 356%{_sysconfdir}/gconf/schemas/purple.schemas
47059490 357%{_datadir}/sounds/purple
45e7e275 358%{_mandir}/man?/*
579e124c 359
4ccebce7 360%{_desktopdir}/pidgin.desktop
45e7e275 361%{_pixmapsdir}/*
030b3135 362%{_iconsdir}/hicolor/*/apps/pidgin.*
45e7e275 363
364%files libs
365%defattr(644,root,root,755)
f7a53205 366%attr(755,root,root) %{_libdir}/libpurple.so.*.*.*
487076dd 367%if %{with dbus}
f7a53205
JB
368%attr(755,root,root) %{_libdir}/libpurple-client.so.*.*.*
369%endif
45e7e275 370%if %{with text}
371%attr(755,root,root) %{_libdir}/libgnt.so.*.*.*
372%endif
579e124c 373
42f05844 374%files devel
4cade4cc 375%defattr(644,root,root,755)
f7a53205 376%attr(755,root,root) %{_libdir}/libpurple.so
f7a53205 377%{_libdir}/libpurple.la
487076dd
SS
378%if %{with dbus}
379%attr(755,root,root) %{_libdir}/libpurple-client.so
f7a53205 380%{_libdir}/libpurple-client.la
487076dd 381%endif
f7a53205
JB
382%dir %{_includedir}/libpurple
383%{_includedir}/libpurple/*.h
45e7e275 384%{_aclocaldir}/*.m4
4ccebce7
AM
385%dir %{_includedir}/pidgin
386%{_includedir}/pidgin/*.h
6a03a86a 387%{_pkgconfigdir}/*
45e7e275 388%if %{with text}
389%attr(755,root,root) %{_libdir}/libgnt.so
390%{_libdir}/libgnt.la
45e7e275 391%dir %{_includedir}/gnt
030b3135 392%dir %{_includedir}/finch
45e7e275 393%{_includedir}/gnt/*.h
030b3135 394%{_includedir}/finch/*.h
45e7e275 395%endif
544cdff1 396
9c3e5099 397%files perl
398%defattr(644,root,root,755)
030b3135 399%attr(755,root,root) %{_libdir}/purple-2/perl.so
9c3e5099 400%{perl_vendorarch}/*.pm
4ccebce7 401%dir %{perl_vendorarch}/auto/Pidgin
030b3135 402%dir %{perl_vendorarch}/auto/Purple
4ccebce7 403%{perl_vendorarch}/auto/Pidgin/*.bs
030b3135 404%{perl_vendorarch}/auto/Purple/*.ix
405%{perl_vendorarch}/auto/Purple/*.bs
97cca156 406%attr(755,root,root) %{perl_vendorarch}/auto/Purple/Purple.so
d963a01e 407%{perl_vendorarch}/auto/Purple/.packlist
4ccebce7 408%attr(755,root,root) %{perl_vendorarch}/auto/Pidgin/*.so
4d35c86f 409
fe0e6ec9
ER
410%files tcl
411%defattr(644,root,root,755)
f7a53205 412%attr(755,root,root) %{_libdir}/purple-2/tcl.so
fe0e6ec9 413
9107d10f 414%if %{with evolution}
082aa6fa 415%files plugin-evolution
887a5c0d 416%defattr(644,root,root,755)
4ccebce7 417%attr(755,root,root) %{_libdir}/pidgin/gevolution.so
9107d10f 418%endif
887a5c0d 419
45e7e275 420%if %{with dbus}
fe0e6ec9
ER
421%files plugin-remote
422%defattr(644,root,root,755)
f7a53205 423%attr(755,root,root) %{_bindir}/purple-remote
45e7e275 424%endif
fe0e6ec9 425
4d35c86f 426%if %{with doc}
427%files doc
dc61e8db 428%defattr(644,root,root,755)
4d35c86f 429%doc doc/html/*.{html,png,css}
430%endif
This page took 0.109528 seconds and 4 git commands to generate.