Mercurial > pidgin.yaz
view gaim.spec.in @ 9417:9f6a28af7164
[gaim-migrate @ 10232]
" IDLETRACK.DLL uses Windows hooks to record the last
time the user pressed a key or moved the mouse.
Windows hooks are a bit unfriendly in that they force
the hook DLL into every process - so IDLETRACK.DLL
gets added to every process after Gaim runs. This can
mean that IDLETRACK.DLL doesn't get unloaded when
Gaim stops, which causes a warning about being unable
to write to IDLETRACK.DLL if you then upgrade Gaim.
Further, hooking is a common tactic employed by key
loggers. If the user has a program installed that checks
for global hooks then it will warn the user that Gaim may
contain a key logger.
From Windows 2000 onwards Microsoft introduced an
API function called GetLastInputInfo that returns the
timer tick at the point that the user last pressed a key
or moved the mouse. I have changed idletrack.c so that
it will try to use this if it can, which avoids all the
ugliness of having to use hooks, but it will fall back to
using hooks if the function isn't present.
This patch changes all three exported functions in
idletrack.c.
In wgaim_set_idlehooks it checks to see if
GetLastInputInfo is present. If it is then the address of
the function is recorded and no hooks are set. If it isn't
then we're running on an old verison of Windows and the
hooks are set as per current behaviour.
In wgaim_remove_idlehooks the module handle taken for
USER32.DLL by wgaim_set_idlehooks is released.
In wgaim_get_lastactive the GetLastInputInfo function
is called, if present. If it isn't present then the hooks will
have run and the shared memory they write to will be
read as per current behaviour. Both methods end up
getting the timer tick of the last user activity, which is
returned as per current behaviour." --Andrew Whewell
committer: Tailor Script <tailor@pidgin.im>
author | Luke Schierer <lschiere@pidgin.im> |
---|---|
date | Sun, 27 Jun 2004 22:29:53 +0000 |
parents | ecd93503a5c9 |
children | a3e3c71d995a |
line wrap: on
line source
Summary: A Gtk+ based multiprotocol instant messaging client Name: @PACKAGE@ Version: @VERSION@ Release: 0 Epoch: 1 License: GPL Group: Applications/Internet URL: http://gaim.sourceforge.net/ Packager: %{packager} Source: %{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root %if "%{_vendor}" == "MandrakeSoft" Requires: gtk+2.0 >= 2.0.0, libnss3 BuildRequires: libao-devel, libgtk+2.0_0-devel, gtkspell-devel, libtool, audiofile-devel, pkgconfig, libnss3-devel, perl-devel Provides: libgaim-remote0 %else Requires: gtk2 >= 2.0.0, mozilla-nss, gtkspell, audiofile, libao BuildRequires: libao-devel, gtk2-devel, gtkspell-devel, libtool, audiofile-devel, pkgconfig, mozilla-nss-devel %endif %{?_with_silc:BuildRequires: libsilc-devel} %if %{?_with_silc:1}%{!?_with_silc:0} %package silc Summary: SILC (Secure Internet Live Conferencing) plugin for Gaim Group: Applications/Internet Requires: gaim = 1:%{version} %endif %package devel Summary: Development headers, documentation, and libraries for Gaim. Group: Applications/Internet Requires: gaim = %{epoch}:%{version} %description Gaim allows you to talk to anyone using a variety of messaging protocols, including AIM (Oscar and TOC), ICQ, IRC, Yahoo!, MSN Messenger, Jabber, Gadu-Gadu, Napster, and Zephyr. These protocols are implemented using a modular, easy to use design. To use a protocol, just add an account using the account editor. Gaim supports many common features of other clients, as well as many unique features, such as perl scripting, TCL scripting and C plugins. Gaim is NOT affiliated with or endorsed by America Online, Inc., Microsoft Corporation, Yahoo! Inc., or ICQ Inc. %if %{?_with_silc:1}%{!?_with_silc:0} %description silc SILC (Secure Internet Live Conferencing) plugin for Gaim %endif %description devel The gaim-devel package contains the header files, developer documentation, and libraries required for development of gaim scripts and plugins. %prep %setup %build CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%{_prefix} \ --bindir=%{_bindir} \ --datadir=%{_datadir} \ --includedir=%{_includedir} \ --libdir=%{_libdir} \ --mandir=%{_mandir} \ --sysconfdir=%{_sysconfdir} \ --with-perl-lib=%{buildroot}%{_prefix} \ %{?_with_silc:--with-silc-includes=%{_includedir}/silc} \ %{?_with_silc:--with-silc-libs=%{_libdir}/silc} make %{?_smp_mflags} %install rm -rf %{buildroot} make prefix=%{buildroot}%{_prefix} bindir=%{buildroot}%{_bindir} \ datadir=%{buildroot}%{_datadir} includedir=%{buildroot}%{_includedir} \ libdir=%{buildroot}%{_libdir} mandir=%{buildroot}%{_mandir} \ sysconfdir=%{buildroot}%{_sysconfdir} \ install rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/*/*/perllocal.pod rm -f $RPM_BUILD_ROOT%{_libdir}/gaim/*.la find $RPM_BUILD_ROOT%{_libdir}/gaim -type f -print | \ sed "s@^$RPM_BUILD_ROOT@@g" | \ grep -v libsilcgaim.so > %{name}-%{version}-coreplugins %clean rm -rf %{buildroot} %files -f %{name}-%{version}-coreplugins %defattr(-, root, root) %doc doc/the_penguin.txt doc/CREDITS NEWS COPYING AUTHORS COPYRIGHT %doc README ChangeLog %doc %{_mandir}/man1/* %doc %{_mandir}/man3*/* %dir %{_libdir}/gaim %attr(755, root, root) %{_libdir}/libgaim-remote.so.* %attr(755, root, root) %{_libdir}/perl5 %{_bindir}/* %{_datadir}/locale/*/*/* %{_datadir}/pixmaps/* %dir %{_datadir}/sounds/gaim %{_datadir}/sounds/gaim/* %{_datadir}/applications/* %if %{?_with_silc:1}%{!?_with_silc:0} %files silc %defattr(-, root, root) %{_libdir}/gaim/libsilcgaim.* %endif %files devel %defattr(-, root, root) %doc plugins/HOWTO %doc HACKING PROGRAMMING_NOTES %attr(755, root, root) %{_libdir}/libgaim-remote.so %attr(755, root, root) %{_libdir}/libgaim-remote.la %dir %{_includedir}/gaim %{_includedir}/gaim/*.h %{_libdir}/pkgconfig/gaim.pc %changelog * Thu Jun 24 2004 Mark Doliner <thekingant@users.sourceforge.net> - Add --with silc rebuild option for compiling a separate gaim-silc RPM containing the silc protocol plugin (Stu Tomlinson). * Wed Jun 23 2004 Ethan Blanton <eblanton@cs.ohiou.edu> - Moved gaim headers and a pkgconfig configuration file into the gaim-devel RPM (Stu Tomlinson). * Thu Jan 15 2004 Ethan Blanton <eblanton@cs.ohiou.edu> - Removed the manual strip command, as it seems to be unwarranted if the necessary programs are properly installed. (For me, this was elfutils.) * Sun Jul 20 2003 Bjoern Voigt <bjoern@cs.tu-berlin.de> - Added pkgconfig build dependency. - if "%{_vendor}" != "MandrakeSoft" now also works with rpm 3.x. - Added Gaim-specific directories to list of Gaim's files. * Wed Jul 16 2003 Ethan Blanton <eblanton@cs.ohiou.edu> - Complete spec file rewrite to take advantage of "new" RPM features and make things prettier. - Use system-supplied %%{_prefix}, %%{_datadir}, etc. rather than attempt to define our own.