pidgin/pidgin

file isExecutable
Use LT_LIB_M to determine if we need to link to the math library and link Pidgin to the X11 libraries

Gentoo ran into an issue with the gold linker without -lm. The original patch
and work came from Justin Lechner. https://bugs.gentoo.org/386079

Gentoo also ran into an issue with X11_LIBS not being added to pidgin. This
should already be implicit everywhere except for homebrew which patches X11
out of their build. Original patch/work came from and. https://bugs.gentoo.org/500762

Testing Done:
Installed and ran locally.

Reviewed at https://reviews.imfreedom.org/r/608/
#!/bin/bash -eu
# This uses bash for the <() syntax.
# TODO: Is there a way we can ignore files with only fuzzy-string changes?
# These are the languages which are maintained in Transifex.
transifex_languages=$(ls *.po | cut -d. -f1 | xargs echo)
if ! which tx > /dev/null
then
cat >&2 << EOF
You must install the Transifex command-line client:
http://docs.transifex.com/client/setup/
EOF
exit 1
fi
cat << EOF
This script assumes your working tree is clean, at least in the po directory.
It pulls the translations from Transifex, works out what has changed, and
COMMITS intltool-update changes without prompting. It then leaves the
remaining changes for manual review and committing.
Ctrl-C now to abort...
EOF
sleep 10
if [ -d po ]
then
cd po
fi
changed_files=
commitable_files=
for i in $transifex_languages
do
if [ -e $i.po ]
then
cp $i.po $i.po.original
XGETTEXT_ARGS=--no-location intltool-update $i
cp $i.po $i.po.cleaned
fi
tx pull -f -l $i
XGETTEXT_ARGS=--no-location intltool-update $i
if [ -e $i.po.cleaned ]
then
if cmp -s <(grep ^msg $i.po.cleaned) <(grep ^msg $i.po)
then
# There were no actual changes.
mv $i.po.original $i.po
else
# There were changes.
mv $i.po $i.po.transifex
changed_files="$changed_files $i.po"
if cmp -s <(grep ^msg $i.po.original) <(grep ^msg $i.po.cleaned)
then
# The cleaning produced no actual changes; undo the cleaning.
mv $i.po.original $i.po
else
# The cleaning produced changes; leave it for committing.
mv $i.po.cleaned $i.po
commitable_files="$commitable_files $i.po"
fi
fi
fi
rm -f $i.po.original $i.po.cleaned
done
# Commit cleaned versions of the changed files.
if [ -n "$commitable_files" ]
then
hg commit -u "Pidgin Translators <translators@pidgin.im>" \
-m "Clean changed translations" $commitable_files
fi
# Leave the cleaned Transifex versions in place, ready for committing.
for i in $changed_files
do
mv $i.transifex $i
done