the Fink project is an effort to port
popular Unix programs to Mac OS X
Info3: <<
# Info3 packaging is temporary, just to support comments in depends fields
Package: pidgin
Version: 2.10.4
Revision: 2
# Architecture: powerpc, i386
Maintainer: David Fang
Source: mirror:sourceforge:%n/%n-%v.tar.bz2
Source-MD5: 264f9ae89742b8ee168306b85d2fb51e
License: GPL
Homepage: http://www.pidgin.im/
Description: Multi-protocol instant messenger client
BuildDepends: <<
# aspell-dev (>= 0.60.4-1001),
atk1 (>= 1.20.0-1),
cairo (>= 1.8.8-3),
cyrus-sasl2-dev,
db51-aes | db51,
dbus-glib1.2-dev,
dbus1.3-dev,
# enchant1-dev,
# expat1,
farsight2 (>= 0.0.9),
fink (>= 0.24.12-1),
fontconfig2-dev (>= 2.8.0-4),
freetype219 (>= 2.3.12-1),
gconf2-dev,
gettext-bin,
gettext-tools,
glib2-dev (>= 2.14.0-1),
glitz,
gnutls26 (>= 2.2.2-3),
gstreamer-0.10-dev (>= 0.10.17-1),
gst-plugins-base-0.10-dev,
gtk+2-dev (>= 2.12.8-1),
gtkspell2-dev (>= 2.0.11-1004),
intltool40,
# libao2,
libavahi-client3-dev,
libavahi-common3-dev,
libavahi-glib1-dev,
# libavahi-core7-dev,
libgettext8-dev,
# libgpg-error,
# libgcrypt,
libiconv-dev,
libidn,
libncurses5,
# libpng14,
libproxy1,
# libtasn1-3,
libxml2 (>= 2.6.30-1),
nspr.0d,
pango1-xft2-ft219-dev (>= 1.18.4-4),
# pixman (>= 0.11.0-1),
pkgconfig (>= 0.23-1),
python27,
silc-toolkit,
# sqlite3-dev,
# system-openssl-dev,
# tcltk-dev,
x11-dev
# xft2-dev
<<
Depends: <<
%N-shlibs (= %v-%r),
# aspell-shlibs (>= 0.60.4-1001),
gconf2,
gstreamer-0.10-shlibs (>= 0.10.17-1),
gtkspell2-shlibs (>= 2.0.11-1004)
<<
BuildConflicts: <<
tcltk-dev
<<
# rely on recursive Depends from pidgin-shlibs
PatchFile: %n.patch
PatchFile-MD5: fa7fd5d31293d8fee491909adb1f4fa5
DocFiles: <<
AUTHORS COPYING COPYRIGHT ChangeLog HACKING INSTALL
NEWS PLUGIN_HOWTO README
doc/*.txt
<<
# --with-perl-lib confuses the build somehow?
# TODO: re-enable perl
ConfigureParams: <<
--mandir=%p/share/man \
--disable-schemas-install \
--disable-perl \
--disable-meanwhile \
--disable-nm \
--disable-screensaver \
--enable-dbus \
--enable-cyrus-sasl \
--enable-gnutls \
--enable-doxygen \
--enable-dot \
--enable-sm \
-C \
--disable-dependency-tracking \
--with-x \
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib \
--with-nspr-includes=%p/include/nspr --with-nspr-libs=%p/lib \
PKG_CONFIG_PATH="%p/lib/fontconfig2/lib/pkgconfig:$PKG_CONFIG_PATH"
<<
# --enable-farsight detected by default, is noe --enable-farstream
# SetCFLAGS: -Os -g
# needed to build consistently regardless of Tcl/Tk -- dmacks
SetCPPFLAGS: -I%p/include -I/usr/X11R6/include
UseMaxBuildJobs: true
CompileScript: <<
#!/bin/sh -ev
# additional patching of configure: to fix validation-failure on .la files
# patch could also apply to configure.ac
mv configure configure.bkp1
sed -e '/LIBS=/s|-framework |-Wl,-framework,|g' \
-e '/eval.*TCL_LIB_SPEC=/a\
TCL_LIB_SPEC=`echo "$TCL_LIB_SPEC" | sed "s/-framework /-Wl,-framework,/g"`' \
-e '/eval.*TK_LIB_SPEC=/a\
TK_LIB_SPEC=`echo "$TK_LIB_SPEC" | sed "s/-framework /-Wl,-framework,/g"`' \
-e '/SM_LIBS.*libpath_add/s|-lICE|& -lX11|' \
configure.bkp1 > configure
chmod +x configure
mkdir build
cd build
PYTHON=%p/bin/python2.7 pythonpath=%p/bin/python2.7 ../configure %c
# hack HAVE_X11 because configure failed to find x11.pc
mv config.h config.h.bkp
sed '/HAVE_X11/s|.*|#define HAVE_X11 1|' config.h.bkp > config.h
make
<<
InfoTest: <<
TestScript: <<
#!/bin/sh -ev
cd build
make -k check || exit 2
fink-package-precedence --prohibit-bdep=pidgin-dev,finch-dev,libpurple .
<<
TestDepends: check, fink-package-precedence
TestConfigureParams: --enable-dependency-tracking
TestSuiteSize: small
<<
InstallScript: <<
#!/bin/sh -ev
cd build
# will need this when we re-enable perl:
# force man pages to install into prefix/share/man
# There must be a proper way to do this with Makefile.PL...
if test -f libpurple/plugins/perl/common/Makefile
then
cd libpurple/plugins/perl
# this Makefile is not produced until *after* make is run:
hackfile=common/Makefile
mv $hackfile $hackfile.orig
sed -e '/^INSTALLVENDORMAN3DIR/s|man/|share/man/|' \
-e '/^INSTALLSITEMAN3DIR/s|man/|share/man/|' \
$hackfile.orig > $hackfile
cd ../../..
cd pidgin/plugins/perl
# this Makefile is not produced until *after* make is run:
hackfile=common/Makefile
mv $hackfile $hackfile.orig
sed -e '/^INSTALLVENDORMAN3DIR/s|man/|share/man/|' \
-e '/^INSTALLSITEMAN3DIR/s|man/|share/man/|' \
$hackfile.orig > $hackfile
cd ../../..
fi
# end if test -f .../common/Makefile
make DESTDIR=%d install
mkdir -p %i/share/podfiles
if test -d %i/System/Library/Perl
then
mv %i/System/Library/Perl/5.8.*/darwin-thread-multi-2level/perllocal.pod \
%i/share/podfiles/perllocal.%n.pod
rm -rf %i/System
elif test -d %i/lib/perl5-core
then
mv %i/lib/perl5-core/5.8.*/darwin-thread-multi-2level/perllocal.pod \
%i/share/podfiles/perllocal.%n.pod
rm -rf %i/lib/perl5-core
else
echo "perllocal.pod not found, skipping."
fi
# conflicts with png files provided by pidgin-facebookchat
rm -f %i/share/pixmaps/pidgin/protocols/*/facebook.png
# Fink:Packaging:pkg-config prefers %p/share/pkgconfig over lib, move *.pc?
pushd %i/lib/purple-2
for f in *.la
do sed -i.orig -e '/^inherited_linker_flags/s|=.*|=|' $f
done
rm -f *.orig
popd
<<
ConfFiles: %p/etc/gconf/schemas/purple.schemas
PostInstScript: <<
if test configure = "$1"
then
echo "Manually installing schemas..."
schemadir=%p/etc/gconf/schemas
export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
gconftool-2 --makefile-install-rule $schemadir/purple.schemas
fi
<<
# UpdatePOD: Yes
SplitOff: <<
Package: finch
Depends: <<
finch-shlibs (= %v-%r)
<<
# rely on recursive Depends from finch-shlibs
Description: Text-only instant messenger client from pidgin.
Files: <<
bin/finch
share/man/man1/finch.1
<<
<<
SplitOff2: <<
Package: finch-shlibs
Depends: <<
libpurple-shlibs (= %v-%r),
finch-shlibs (= %v-%r),
libncurses5-shlibs,
python27-shlibs
<<
Description: Shared libraries for finch, text-only instant messenger.
Files: <<
lib/libgnt.*.dylib
lib/finch/*.so
lib/gnt/*.so
<<
Shlibs: <<
%p/lib/libgnt.0.dylib 1.0.0 %n (>= 2.2.0-1)
<<
<<
SplitOff3: <<
Package: finch-dev
Description: Development headers for finch and gnt.
BuildDependsOnly: True
Depends: finch-shlibs (= %v-%r)
DocFiles: COPYING
Files: <<
include/gnt
include/finch
lib/finch/*.la
lib/gnt/*.la
lib/libgnt.la
lib/pkgconfig/gnt.pc
<<
<<
SplitOff4: <<
Package: libpurple-shlibs
Description: Shared libraries for libpurple, IM protocol library.
DocFiles: COPYING
Depends: <<
cyrus-sasl2-shlibs,
db51-aes-shlibs | db51-shlibs,
dbus-glib1.2-shlibs,
dbus1.3-shlibs,
farsight2-shlibs (>= 0.0.9),
glib2-shlibs (>= 2.14.0-1),
gnutls26-shlibs (>= 2.2.2-3),
gstreamer-0.10-shlibs,
gst-plugins-base-0.10-shlibs,
libavahi-client3-shlibs,
libavahi-common3-shlibs,
libavahi-glib1-shlibs,
# libavahi-core7-shlibs,
libgettext8-shlibs,
# libgpg-error-shlibs,
libiconv,
libidn-shlibs,
libproxy1-shlibs,
# libtasn1-3-shlibs,
libxml2-shlibs (>= 2.6.30-1),
nspr.0d-shlibs,
silc-toolkit-shlibs
<<
Files: <<
lib/purple-2/*.so
lib/purple-2/*.*.dylib
lib/libpurple.*.dylib
share/purple/ca-certs
share/sounds/purple
<<
Shlibs: <<
%p/lib/libpurple.0.dylib 11.0.0 %n (>= 2.10.0-1)
%p/lib/purple-2/libjabber.0.dylib 1.0.0 %n (>= 2.2.0-1)
%p/lib/purple-2/liboscar.0.dylib 1.0.0 %n (>= 2.2.0-1)
%p/lib/purple-2/libymsg.0.dylib 1.0.0 %n (>= 2.6.0-1)
<<
PostInstScript: <<
mkdir -p %p/var/lib/dbus
%p/share/dbus/dbus-uuidgen --ensure
<<
DescPackaging: <<
Data support files have been moved here, including security certificates
and sounds because the finch client now supports sound.
<<
<<
SplitOff5: <<
Package: libpurple
Description: Development files for libpurple, IM protocol library.
BuildDependsOnly: True
DocFiles: COPYING
Depends: libpurple-shlibs (= %v-%r)
Files: <<
include/libpurple
lib/libpurple.dylib
lib/purple-2/*.la
lib/purple-2/*.dylib
lib/pkgconfig/purple.pc
share/aclocal
<<
# Files: share/man/man3/Purple.3pm
<<
SplitOff6: <<
Package: %N-shlibs
Description: Shared libraries and plug-ins for pidgin.
DocFiles: COPYING
Depends: <<
libpurple-shlibs (= %v-%r),
pidgin-shlibs (= %v-%r),
atk1-shlibs (>= 1.20.0-1),
cairo-shlibs (>= 1.6-1),
# expat1-shlibs,
fontconfig2-shlibs (>= 2.4.1-1),
freetype219-shlibs (>= 2.3.5-1),
# glitz-shlibs,
gtk+2-shlibs (>= 2.12.0-1),
# libpng14-shlibs,
pango1-xft2-ft219-shlibs (>= 1.20.5-1),
# pixman-shlibs (>= 0.11.0-1),
x11
<<
Files: <<
lib/*.*.dylib
lib/pidgin/*.so
<<
Shlibs: <<
%p/lib/libpurple-client.0.dylib 11.0.0 %n (>= 2.10.0-1)
<<
DescPackaging: <<
Are these private shared libraries?
NOTE: libpurple-client does not actually depend on libpurple.
<<
<<
SplitOff7: <<
Package: %N-dev
Description: Development package for pidgin.
DocFiles: COPYING
BuildDependsOnly: True
Depends: %N-shlibs (= %v-%r)
Files: <<
include/pidgin
lib/*.dylib
lib/*.la
lib/pidgin/*.la
lib/pkgconfig/pidgin.pc
<<
# no static libraries
<<
DescPort: <<
Yes, I'm aware of Adium for OS X, based on libpurple.
I wanted to package this for finch.
No darwin-specific modifications needed apart from package file structure.
<<
DescDetail: <<
Pidgin is a chat program which lets you log in to accounts on multiple
chat networks simultaneously.
Pidgin is a portable, multi-protocol instant messenger client descended from
the former gaim project.
Pidgin is compatible with the following chat networks out of the box:
AIM, ICQ, Google Talk, Jabber/XMPP, MSN Messenger, Yahoo!, Bonjour,
Gadu-Gadu, IRC, Novell GroupWise Messenger, QQ, Lotus Sametime, SILC,
SIMPLE, MXit, MySpaceIM, and Zephyr. It can support many more with plugins.
Pidgin can log in to multiple accounts on multiple IM networks simultaneously.
This means that you can be chatting with friends on AIM,
talking to a friend on Yahoo Messenger, and sitting in an IRC channel
all at the same time.
Pidgin supports many features of the various networks,
such as file transfer, away messages, and typing notification.
It also goes beyond that and provides many unique features.
A few popular features are Buddy Pounces, which give the ability to
notify you, send a message, play a sound, or run a program when a
specific buddy goes away, signs online, or returns from idle;
and plugins, consisting of text replacement, a buddy ticker,
extended message notification, iconify on away, spell checking,
tabbed conversations, and more.
[from http://pidgin.im/about/]
<<
DescPackaging: <<
Building this package results in splitoffs: pidgin{,-dev,-shlibs},
libpurple{,-shlibs}, and finch{,-dev,-shlibs}.
System's tcl/tk (8.4) seems good enough, no need for fink's.
Need to run `dbus-uuidgen' --ensure to guarantee that
%p/var/lib/dbus/machine-id exists.
cyrus-sasl2, gstreamer seem optional (added).
avahi (replaces howl) is for bonjour (Rendezvous protocol).
gnutls26-shlibs already depends on
libgcrypt-shlibs, libtasn1-3-shlibs, libgpg-error-shlibs,
but we retain their build-deps on -dev.
We elect to depend on GNU TLS for SSL support because
OpenSSL is not supported due to license incompatibility (BSD vs. GPL),
see http://developer.pidgin.im/wiki/FAQssl.
TODO: --enable-perl: perl has been disabled until we figure out how to
package the files in a perl-version-independent manner (perlmod?).
TODO: split-off perl modules?
2.10.2-1: bump to python27, available on all supported platforms at this time.
bump to gnutls28
2.10.4-2: trimmed bdeps: xft2-dev, cleaned up PKGCONFIG paths
farsight is replaced with farstream project, but still builds with farsight
bdep:glitz is only for .pc file, needed by gtk+2, but not actually linked.
<<
DescUsage: <<
'pidgin' launches the GUI client, 'finch' launches the text-console
client. finch may not receive all keyboard commands if your window manager
(X11, Aqua, ...) intercepts certain control sequences or key modifiers.
Might need run-time variable DISPLAY localhost:0 for pidgin for 10.4.
Sound: for 10.4, I recommend installing 'sndplay' and setting the
preferences to play sounds with Command 'sndplay'.
For 10.5, 10.6 and beyond, I recommend using the built-in command-line
sound player, 'afplay'.
<<
<<
--- pidgin-2.7.0-orig/libpurple/protocols/bonjour/jabber.c 2007-12-06 04:31:53.000000000 -0500
+++ pidgin-2.7.0/libpurple/protocols/bonjour/jabber.c 2007-12-06 04:32:02.000000000 -0500
@@ -20,9 +20,9 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
*/
#ifndef _WIN32
+#include
#include
#include
-#include
#include
#include
#else
--- pidgin-2.7.0-orig/finch/libgnt/gntwm.c 2008-03-01 20:42:32.000000000 -0500
+++ pidgin-2.7.0/finch/libgnt/gntwm.c 2008-03-01 21:02:17.000000000 -0500
@@ -31,6 +31,12 @@
#endif
#endif
+/*
+ Don't know why this is avoided when using Python (above),
+ but definition is needed for
+ */
+#define _XOPEN_SOURCE_EXTENDED
+
#include
#include
#include
--- pidgin-2.7.0-orig/configure 2008-03-27 00:49:16.000000000 -0400
+++ pidgin-2.7.0/configure 2008-03-27 00:52:49.000000000 -0400
@@ -13179,6 +13179,7 @@
+if false ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fink" >&5
$as_echo_n "checking for fink... " >&6; }
if test -d /sw; then
@@ -13190,6 +13191,7 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
$as_echo "not found" >&6; }
fi
+fi
;;
*)
;;
--- pidgin-2.7.0-orig/po/POTFILES.in 2009-06-21 21:34:25.000000000 -0700
+++ pidgin-2.7.0/po/POTFILES.in 2009-06-21 21:35:36.000000000 -0700
@@ -176,6 +176,7 @@
libpurple/protocols/yahoo/libyahoo.c
libpurple/protocols/yahoo/libyahoojp.c
libpurple/protocols/yahoo/libymsg.c
+libpurple/protocols/yahoo/util.c
libpurple/protocols/yahoo/yahoo_aliases.c
libpurple/protocols/yahoo/yahoo_doodle.c
libpurple/protocols/yahoo/yahoo_filexfer.c