Pidgin will fail to compile if GTK has been compiled with aqua and without X, because Pidgin looks for gdk/gdkx.h functionality, when it doesn't exist. I've fixed it up locally in my own ebuild, so I want to submit the fixes here. They are probably not clean, but they're as clean as I could get them to be with my limited ebuild knowledge. This was tested on a Gentoo Prefix'ed system, but it's a generic enough solution to fit here. I'll attach patches in a moment. Reproducible: Always Steps to Reproduce: $ emerge --info Portage 2.2.00.13683-prefix (prefix/darwin/macos/10.5/x86, gcc-4.2.1, unavailable, 9.7.1 i386) ================================================================= System uname: Darwin-9.7.1-i386-32bit Timestamp of tree: Sun, 28 Jun 2009 15:22:06 +0000 distcc 2.18.5-Apple.1 i386-apple-darwin9.0 (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 4.0_p24 dev-lang/python: 2.6.2-r01.1 dev-python/pycrypto: 2.0.1-r8 sys-devel/autoconf: 2.63-r01.1 sys-devel/automake: 1.9.6-r2, 1.10.2-r00.1, 1.11 sys-devel/gcc-config: 1.4.1-r00.2 sys-devel/libtool: 2.2.6a-r00.1 ACCEPT_KEYWORDS="~x86-macos" CBUILD="i686-apple-darwin9" CFLAGS="-O2 -pipe -march=nocona -msse4.1" CHOST="i686-apple-darwin9" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-O2 -pipe -march=nocona -msse4.1" DISTDIR="/Users/jacob/Library/Gentoo_x86/usr/portage/distfiles" EPREFIX="/Users/jacob/Library/Gentoo_x86" FEATURES="assume-digests collision-protect distlocks fixpackages nostrip parallel-fetch preserve-libs protect-owned sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LANG="en_US.UTF-8" LDFLAGS="" MAKEOPTS="-j3" PKGDIR="/Users/jacob/Library/Gentoo_x86/usr/portage/packages" PORTAGE_CONFIGROOT="/Users/jacob/Library/Gentoo_x86/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/Users/jacob/Library/Gentoo_x86/var/tmp" PORTDIR="/Users/jacob/Library/Gentoo_x86/usr/portage" PORTDIR_OVERLAY="/Users/jacob/Library/Gentoo_x86/usr/local/portage" SYNC="rsync://rsync.prefix.freens.org/gentoo-portage-prefix" USE="a52 aac aqua bash-completion cjk coreaudio cracklib divx fac midi mmx mmxext ncurses objc objc++ prefix readline sse sse2 ssl theora unicode x86-macos xulrunner xvid zlib" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="Darwin" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 195989 [details, diff] gtkdocklet-quartz.diff This is the heart of the solution. Since we lose X support and gain "aqua"/quartz, the implementation needs to change too. As far as I could tell, this patch has Pidgin using a more generic GTK icon system so that it works on more than one OS. This patch is pretty much a direct copy from macports: http://trac.macports.org/browser/trunk/dports/net/pidgin/files/gtkdocklet-quartz.diff
Created attachment 195991 [details, diff] pidgin-2.5.7.ebuild.diff I'm attaching an ebuild patch that adds a new USE flag called "aqua". When aqua is turned on, it essentially moves any dependencies on gdkx to the parts the above patch provides. This is probably nowhere near the cleanness what you guys would want it to be, but it works, and demonstrates the essence of what the fix is.
I'm CC'ing prefix@gentoo.org for this bug report because this pretty much only occurs in a Prefix'ed environment, so I think this bug would be of some interest to them. If I'm wrong, feel free to un-CC. :)
prefix territory
Created attachment 201570 [details, diff] pidgin-2.5.7.ebuild.diff This is a better ebuild that actually builds Pidgin correctly. It works on my ~x86-macos machine now.
Created attachment 201572 [details, diff] pidgin-2.5.7.ebuild.diff Reviewing the patch, I see that my overlay got out of sync with prefix, which got a fix of its own to an issue I didn't know existed. I've updated the patch. Also, I discovered that pidgin-2.5.7 is very specific about which versions of certain things like libtools, as is 2.5.8, so I've had to specify them here. That's in this patch, which I forgot to mention before.
Created attachment 201715 [details, diff] pidgin-2.5.7.ebuild.diff Fixed some Q/A issues, and removed unnecessary patch lines that would've had to be cleaned out.
thanks, I committed this to 2.5.8
(In reply to comment #8) > thanks, I committed this to 2.5.8 > Does it apply to 2.5.9 in gx86, not in prefix atm?
we'll have to find out