From 00d32b0938eebfa45f0543cae655abf5233eb99c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 12 Jul 2012 00:04:35 +0000 Subject: Thu Jul 12 00:04:34 UTC 2012 --- community-staging/0ad/PKGBUILD | 45 + community-staging/0ad/boost-1.50.patch | 39 + community-staging/cegui/PKGBUILD | 51 + .../cegui/cegui-0.7.6-python-detection.patch | 11 + community-staging/gource/PKGBUILD | 30 + community-staging/mapnik/PKGBUILD | 42 + community-staging/mapnik/mapnik.install | 11 + ...r-mongodb-2.0.4-Ignore-fork-and-logpath-w.patch | 38 + ...r-mongodb-2.0.4-Don-t-check-proc-pid-exe-.patch | 43 + community-staging/mongodb/PKGBUILD | 73 + community-staging/mongodb/boost-1.50.patch | 245 + community-staging/mongodb/mongodb.conf | 8 + community-staging/mongodb/mongodb.install | 32 + community-staging/mongodb/mongodb.rc | 39 + community-staging/wesnoth/PKGBUILD | 56 + community-staging/wesnoth/boost_foreach.patch | 11890 +++++++++++++++++++ community-staging/wesnoth/wesnoth.install | 9 + community-staging/wesnoth/wesnoth.tmpfiles.conf | 1 + community-staging/wesnoth/wesnothd.rc.d | 40 + community-staging/wt/PKGBUILD | 57 + 20 files changed, 12760 insertions(+) create mode 100644 community-staging/0ad/PKGBUILD create mode 100644 community-staging/0ad/boost-1.50.patch create mode 100644 community-staging/cegui/PKGBUILD create mode 100644 community-staging/cegui/cegui-0.7.6-python-detection.patch create mode 100644 community-staging/gource/PKGBUILD create mode 100644 community-staging/mapnik/PKGBUILD create mode 100644 community-staging/mapnik/mapnik.install create mode 100644 community-staging/mongodb/0001-Backport-for-mongodb-2.0.4-Ignore-fork-and-logpath-w.patch create mode 100644 community-staging/mongodb/0002-Backport-for-mongodb-2.0.4-Don-t-check-proc-pid-exe-.patch create mode 100644 community-staging/mongodb/PKGBUILD create mode 100644 community-staging/mongodb/boost-1.50.patch create mode 100644 community-staging/mongodb/mongodb.conf create mode 100644 community-staging/mongodb/mongodb.install create mode 100644 community-staging/mongodb/mongodb.rc create mode 100644 community-staging/wesnoth/PKGBUILD create mode 100644 community-staging/wesnoth/boost_foreach.patch create mode 100644 community-staging/wesnoth/wesnoth.install create mode 100644 community-staging/wesnoth/wesnoth.tmpfiles.conf create mode 100755 community-staging/wesnoth/wesnothd.rc.d create mode 100644 community-staging/wt/PKGBUILD (limited to 'community-staging') diff --git a/community-staging/0ad/PKGBUILD b/community-staging/0ad/PKGBUILD new file mode 100644 index 000000000..6b2a83894 --- /dev/null +++ b/community-staging/0ad/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Sven-Hendrik Haase +# Contributor: t3ddy +# Contributor: Adrián Chaves Fernández (Gallaecio) +pkgname=0ad +pkgver=a10 +_pkgver=r11863-alpha +pkgrel=3 +pkgdesc="Cross-platform, 3D and historically-based real-time strategy game" +arch=('i686' 'x86_64') +url="http://wildfiregames.com/0ad" +license=('GPL2' 'CCPL') +depends=('binutils' 'boost-libs' 'curl' 'enet>=1.3' 'gamin' 'libogg' 'libpng' 'libvorbis' 'libxml2' 'openal' 'openexr' 'python2' 'sdl' 'wxgtk' 'zip' 'zlib' 'libgl' '0ad-data') +makedepends=('boost' 'cmake' 'mesa') +source=("http://releases.wildfiregames.com/$pkgname-$_pkgver-unix-build.tar.xz" + "boost-1.50.patch") +md5sums=('f42a2e18515cbcd48b99f0ea3796b3a4' + '570724341102e23730de2f70d3a1b97c') + +build() { + cd "$srcdir/$pkgname-$_pkgver/build/workspaces" + + sed -i 's/unix_names = { "boost_filesystem-mt", "boost_system-mt" },/unix_names = { "boost_filesystem", "boost_system" },/g' "${srcdir}/${pkgname}-${_pkgver}/build/premake/extern_libs4.lua" + sed -i 's/unix_names = { "boost_signals-mt" },/unix_names = { "boost_signals" },/g' "${srcdir}/${pkgname}-${_pkgver}/build/premake/extern_libs4.lua" + patch -d ../.. -Np1 < $srcdir/boost-1.50.patch + + ./update-workspaces.sh \ + --with-system-enet \ + --bindir=/usr/bin \ + --libdir=/usr/lib \ + --datadir=/usr/share/${pkgname}/data + + cd "$srcdir/$pkgname-$_pkgver/build/workspaces/gcc" + + make CONFIG=Release +} + +package() { + install -d ${pkgdir}/usr/{bin,lib} + install -Dm755 ${srcdir}/${pkgname}-${_pkgver}/binaries/system/pyrogenesis ${pkgdir}/usr/bin + install -Dm755 ${srcdir}/${pkgname}-${_pkgver}/binaries/system/*.so{,.1.0} ${pkgdir}/usr/lib + + install -Dm755 "${srcdir}/${pkgname}-${_pkgver}/build/resources/${pkgname}.sh" "${pkgdir}/usr/bin/${pkgname}" + install -Dm644 "${srcdir}/$pkgname-$_pkgver/build/resources/${pkgname}.desktop" "${pkgdir}/usr/share/applications/${pkgname}.desktop" + install -Dm644 "${srcdir}/$pkgname-$_pkgver/build/resources/${pkgname}.png" "${pkgdir}/usr/share/pixmaps/${pkgname}.png" +} diff --git a/community-staging/0ad/boost-1.50.patch b/community-staging/0ad/boost-1.50.patch new file mode 100644 index 000000000..26ebd3e96 --- /dev/null +++ b/community-staging/0ad/boost-1.50.patch @@ -0,0 +1,39 @@ +diff -ru 0ad-r11863-alpha/source/graphics/TextureManager.cpp 0ad-r11863-alpha-patched/source/graphics/TextureManager.cpp +--- 0ad-r11863-alpha/source/graphics/TextureManager.cpp 2012-02-19 04:30:59.000000000 +0100 ++++ 0ad-r11863-alpha-patched/source/graphics/TextureManager.cpp 2012-07-10 21:00:52.753251312 +0200 +@@ -425,9 +425,9 @@ + CTextureConverter::SettingsFile* f = GetSettingsFile(settingsPath); + if (f) + files.push_back(f); +- p = p / *it; ++ p = p / it->wstring(); + } +- return m_TextureConverter.ComputeSettings(srcPath.leaf(), files); ++ return m_TextureConverter.ComputeSettings(srcPath.leaf().wstring(), files); + } + + /** +diff -ru 0ad-r11863-alpha/source/lib/pch/pch_boost.h 0ad-r11863-alpha-patched/source/lib/pch/pch_boost.h +--- 0ad-r11863-alpha/source/lib/pch/pch_boost.h 2012-02-16 19:01:10.000000000 +0100 ++++ 0ad-r11863-alpha-patched/source/lib/pch/pch_boost.h 2012-07-10 19:51:38.413009623 +0200 +@@ -25,7 +25,7 @@ + + // the following boost libraries have been included in TR1 and are + // thus deemed usable: +-#define BOOST_FILESYSTEM_VERSION 2 ++#define BOOST_FILESYSTEM_VERSION 3 + #include + namespace fs = boost::filesystem; + #include +diff -ru 0ad-r11863-alpha/source/simulation2/components/ICmpAIManager.cpp 0ad-r11863-alpha-patched/source/simulation2/components/ICmpAIManager.cpp +--- 0ad-r11863-alpha/source/simulation2/components/ICmpAIManager.cpp 2011-05-25 12:39:13.000000000 +0200 ++++ 0ad-r11863-alpha-patched/source/simulation2/components/ICmpAIManager.cpp 2012-07-10 20:55:52.523233843 +0200 +@@ -53,7 +53,7 @@ + fs::wpath components = pathname.string(); + fs::wpath::iterator it = components.begin(); + std::advance(it, 2); +- std::wstring dirname = *it; ++ std::wstring dirname = it->wstring(); + + CScriptValRooted ai; + self->m_ScriptInterface.Eval("({})", ai); diff --git a/community-staging/cegui/PKGBUILD b/community-staging/cegui/PKGBUILD new file mode 100644 index 000000000..b76a4e5e7 --- /dev/null +++ b/community-staging/cegui/PKGBUILD @@ -0,0 +1,51 @@ +# $Id: PKGBUILD 73583 2012-07-10 18:04:30Z svenstaro $ +# Maintainer: Sven-Hendrik Haase +# Contributor: Juergen Hoetzel +# Contributor: William Rea , +# Contributor: Bjorn Lindeijer + +pkgname=cegui +pkgver=0.7.6 +pkgrel=4 +pkgdesc="A free library providing windowing and widgets for graphics APIs/engines" +arch=('i686' 'x86_64') +url="http://crayzedsgui.sourceforge.net" +#options=('!libtool') +license=("MIT") +depends=('pcre' 'glew' 'expat' 'freetype2' 'libxml2' 'devil' 'freeglut' 'lua' 'silly') +makedepends=('python2' 'doxygen' 'ogre' 'irrlicht' 'gtk2' 'boost' 'graphviz') +optdepends=("python2: python bindings" + "ogre: ogre module" + "irrlicht: irrlicht module") +options=(!libtool) +source=(http://downloads.sourceforge.net/crayzedsgui/CEGUI-$pkgver.tar.gz + cegui-0.7.6-python-detection.patch) +md5sums=('7ddb5145dc94fb7daf9aea1d30a6ffa3' + '4600775f78b7349621a8a314ade8c902') + +build() { + cd $srcdir/CEGUI-${pkgver} + + patch -Np0 < $srcdir/cegui-0.7.6-python-detection.patch + + ./bootstrap + + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --enable-null-renderer \ + --with-gtk2 + + make +} + +package() { + cd $srcdir/CEGUI-${pkgver} + + make DESTDIR=${pkgdir} install + + cd doc/doxygen && doxygen + cd .. && make DESTDIR=${pkgdir} install-html + + install -Dm644 COPYING ${pkgdir}/usr/share/licenses/$pkgname/LICENSE +} + diff --git a/community-staging/cegui/cegui-0.7.6-python-detection.patch b/community-staging/cegui/cegui-0.7.6-python-detection.patch new file mode 100644 index 000000000..e14cd812e --- /dev/null +++ b/community-staging/cegui/cegui-0.7.6-python-detection.patch @@ -0,0 +1,11 @@ +--- acinclude.m4.original 2012-01-24 10:42:16.066632295 +0100 ++++ acinclude.m4 2012-01-24 10:43:15.800274030 +0100 +@@ -1411,7 +1411,7 @@ + if test x$ax_python_bin != x; then + AC_CHECK_LIB($ax_python_bin, main, ax_python_lib=$ax_python_bin, ax_python_lib=no) + AC_CHECK_HEADER([$ax_python_bin/Python.h], +- [[ax_python_header=`locate $ax_python_bin/Python.h | sed -e s,/Python.h,,`]], ++ [[ax_python_header="/usr/include/$ax_python_bin"]], + ax_python_header=no) + if test x$ax_python_lib != xno; then + if test x$ax_python_header != xno; then diff --git a/community-staging/gource/PKGBUILD b/community-staging/gource/PKGBUILD new file mode 100644 index 000000000..b88231769 --- /dev/null +++ b/community-staging/gource/PKGBUILD @@ -0,0 +1,30 @@ +# $Id: PKGBUILD 73569 2012-07-10 05:52:13Z svenstaro $ +# Maintainer: Sven-Hendrik Haase +# Contributor: Jose Valecillos +# Contributor: Olivier Ramonat +pkgname=gource +pkgver=0.38 +pkgrel=2 +pkgdesc="software version control visualization" +license=(GPL3) +arch=(i686 x86_64) +url=http://code.google.com/p/gource/ +depends=('ftgl' 'sdl' 'sdl_image' 'pcre' 'glew' 'boost-libs') +makedepends=('boost' 'glm') +source=(http://gource.googlecode.com/files/$pkgname-$pkgver.tar.gz) +md5sums=('6584241879dbb6dfaecc6ae6b58ad38c') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + sed -i "s/filesystem3/filesystem/g" src/logmill.cpp + ./configure --prefix=/usr + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + make DESTDIR=$pkgdir install +} +# vim: ts=2:sw=2 et: diff --git a/community-staging/mapnik/PKGBUILD b/community-staging/mapnik/PKGBUILD new file mode 100644 index 000000000..c7af04e67 --- /dev/null +++ b/community-staging/mapnik/PKGBUILD @@ -0,0 +1,42 @@ +# $Id: PKGBUILD 73589 2012-07-10 21:24:11Z spupykin $ +# Maintainer: Sergej Pupykin +# Contributor: David Dent +# Contributor: orbisvicis + +pkgname=mapnik +pkgver=2.0.1 +pkgrel=1 +pkgdesc="Free Toolkit for developing mapping applications. Above all Mapnik is about rendering beautiful maps" +arch=('i686' 'x86_64') +url="http://mapnik.org/" +license=('LGPL') +depends=('boost-libs' 'icu' 'libpng' 'libjpeg' 'libtiff' 'freetype2' + 'libxml2' 'python2' 'proj' 'cairo' 'cairomm' 'pycairo' + 'postgresql-libs' 'postgis' 'gdal' 'curl' 'libltdl') +optdepends=('libxslt: Web Map Service' + 'python2-lxml: Web Map Service' + 'python-imaging: Web Map Service' + 'python-nose: Web Map Service' + 'apache: Web Map Service' + 'mod_fastcgi: Web Map Service - or:' + 'mod_fcgid: Web Map Service - or:' + 'mod_wsgi: Web Map Service') +makedepends=('scons' 'boost') +install="mapnik.install" +source=("https://github.com/downloads/mapnik/mapnik/mapnik-v$pkgver.tar.bz2") +md5sums=('e3dd09991340e2568b99f46bac34b0a8') + +build() { + cd "$srcdir/$pkgname-v$pkgver" + sed -i 's|lib64|lib|g' SConstruct + scons configure \ + PREFIX="/usr" \ + INPUT_PLUGINS=all \ + DESTDIR="$pkgdir" + scons +} + +package(){ + cd "$srcdir/$pkgname-v$pkgver" + scons install +} diff --git a/community-staging/mapnik/mapnik.install b/community-staging/mapnik/mapnik.install new file mode 100644 index 000000000..46f265d5b --- /dev/null +++ b/community-staging/mapnik/mapnik.install @@ -0,0 +1,11 @@ +post_install() { + /sbin/ldconfig +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} diff --git a/community-staging/mongodb/0001-Backport-for-mongodb-2.0.4-Ignore-fork-and-logpath-w.patch b/community-staging/mongodb/0001-Backport-for-mongodb-2.0.4-Ignore-fork-and-logpath-w.patch new file mode 100644 index 000000000..40dd48b42 --- /dev/null +++ b/community-staging/mongodb/0001-Backport-for-mongodb-2.0.4-Ignore-fork-and-logpath-w.patch @@ -0,0 +1,38 @@ +From 3f6b2390102ea9d808c7075b5aaeec743b7d104e Mon Sep 17 00:00:00 2001 +From: Thomas Dziedzic +Date: Tue, 10 Apr 2012 19:30:35 -0500 +Subject: [PATCH 1/2] Backport for mongodb 2.0.4 "Ignore --fork and --logpath + when using --shutdown SERVER-5186 SERVER-5187" + +https://github.com/mongodb/mongo/commit/fa2e2ef95c5c934eef63fff4b98d5eb060c5653923 + +Backported in preparation for backporting the fix for https://jira.mongodb.org/browse/SERVER-5358 +--- + db/cmdline.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/db/cmdline.cpp b/db/cmdline.cpp +index fd759a7..346a9ae 100644 +--- a/db/cmdline.cpp ++++ b/db/cmdline.cpp +@@ -239,7 +239,7 @@ namespace mongo { + cmdLine.noUnixSocket = true; + } + +- if (params.count("fork")) { ++ if (params.count("fork") && !params.count("shutdown")) { + if ( ! params.count( "logpath" ) ) { + cout << "--fork has to be used with --logpath" << endl; + ::exit(-1); +@@ -304,7 +304,7 @@ namespace mongo { + } + + #endif +- if (params.count("logpath")) { ++ if (params.count("logpath") && !params.count("shutdown")) { + if ( logpath.size() == 0 ) + logpath = params["logpath"].as(); + uassert( 10033 , "logpath has to be non-zero" , logpath.size() ); +-- +1.7.10 + diff --git a/community-staging/mongodb/0002-Backport-for-mongodb-2.0.4-Don-t-check-proc-pid-exe-.patch b/community-staging/mongodb/0002-Backport-for-mongodb-2.0.4-Don-t-check-proc-pid-exe-.patch new file mode 100644 index 000000000..aff066450 --- /dev/null +++ b/community-staging/mongodb/0002-Backport-for-mongodb-2.0.4-Don-t-check-proc-pid-exe-.patch @@ -0,0 +1,43 @@ +From 77f78f64c192572e6eb956b0fe28ecd975ff6461 Mon Sep 17 00:00:00 2001 +From: Thomas Dziedzic +Date: Tue, 10 Apr 2012 19:38:58 -0500 +Subject: [PATCH 2/2] Backport for mongodb 2.0.4 "Don't check /proc/pid/exe in + --shutdown SERVER-5358" + +Backported to fix https://jira.mongodb.org/browse/SERVER-5358 + +https://github.com/mongodb/mongo/commit/c28d97d1a14a36ffc056bfd9ba7262b0a1509b5b +--- + db/db.cpp | 16 ---------------- + 1 file changed, 16 deletions(-) + +diff --git a/db/db.cpp b/db/db.cpp +index b1d1db8..0a21f4d 100644 +--- a/db/db.cpp ++++ b/db/db.cpp +@@ -989,22 +989,6 @@ int main(int argc, char* argv[]) { + procPath = (str::stream() << "/proc/" << pid); + if (!boost::filesystem::exists(procPath)) + failed = true; +- +- string exePath = procPath + "/exe"; +- if (boost::filesystem::exists(exePath)){ +- char buf[256]; +- int ret = readlink(exePath.c_str(), buf, sizeof(buf)-1); +- buf[ret] = '\0'; // readlink doesn't terminate string +- if (ret == -1) { +- int e = errno; +- cerr << "Error resolving " << exePath << ": " << errnoWithDescription(e); +- failed = true; +- } +- else if (!endsWith(buf, "mongod")){ +- cerr << "Process " << pid << " is running " << buf << " not mongod" << endl; +- ::exit(-1); +- } +- } + } + catch (const std::exception& e){ + cerr << "Error reading pid from lock file [" << name << "]: " << e.what() << endl; +-- +1.7.10 + diff --git a/community-staging/mongodb/PKGBUILD b/community-staging/mongodb/PKGBUILD new file mode 100644 index 000000000..455b73938 --- /dev/null +++ b/community-staging/mongodb/PKGBUILD @@ -0,0 +1,73 @@ +# $Id: PKGBUILD 73593 2012-07-11 01:17:31Z svenstaro $ +# Maintainer: Sven-Hendrik Haase +# Contributor: Thomas Dziedzic < gostrc at gmail > +# Contributor: Mathias Stearn +# Contributor: Alec Thomas + +pkgname=mongodb +pkgver=2.0.6 +pkgrel=2 +pkgdesc='A high-performance, open source, schema-free document-oriented database' +arch=('i686' 'x86_64') +url='http://www.mongodb.org' +license=('AGPL3') +depends=('boost-libs') +makedepends=('scons' 'boost') +#checkdepends=('python2-pymongo') +optdepends=('libpcap: needed for mongosniff') +backup=('etc/mongodb.conf') +install="mongodb.install" +source=("http://downloads.mongodb.org/src/mongodb-src-r${pkgver}.tar.gz" + 'mongodb.rc' + 'mongodb.conf' + 'boost-1.50.patch') +md5sums=('b3b32fecdcbe8e8068ec2989be9d2da4' + '9c67e00f4626ad761a8f7d4e037a54d7' + '4839fe1d638187ca3226e8267b947318' + '5d22fd2c0ae869218488cd7c0dbc3903') + +build() { + export SCONSFLAGS="$MAKEFLAGS" + + cd mongodb-src-r${pkgver} + + patch -Np1 -i ${srcdir}/boost-1.50.patch + + scons \ + all \ + --full +} + +<= 104500 ) +- boost::filesystem::path::default_name_check( boost::filesystem2::no_check ); +-#else +- boost::filesystem::path::default_name_check( boost::filesystem::no_check ); +-#endif + + { + unsigned x = 0x12345678; +@@ -976,7 +971,7 @@ + if (params.count("shutdown")){ + bool failed = false; + +- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string(); ++ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string(); + if ( !boost::filesystem::exists( name ) || boost::filesystem::file_size( name ) == 0 ) + failed = true; + +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/dur.cpp mongodb-src-r2.0.6-patched/db/dur.cpp +--- mongodb-src-r2.0.6/db/dur.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/db/dur.cpp 2012-07-10 21:56:28.866778732 +0200 +@@ -692,7 +692,7 @@ + + bool samePartition = true; + try { +- const string dbpathDir = boost::filesystem::path(dbpath).native_directory_string(); ++ const string dbpathDir = boost::filesystem::path(dbpath).string(); + samePartition = onSamePartition(getJournalDir().string(), dbpathDir); + } + catch(...) { +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/dur_journal.cpp mongodb-src-r2.0.6-patched/db/dur_journal.cpp +--- mongodb-src-r2.0.6/db/dur_journal.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/db/dur_journal.cpp 2012-07-10 22:04:18.583472723 +0200 +@@ -169,7 +169,7 @@ + for ( boost::filesystem::directory_iterator i( getJournalDir() ); + i != boost::filesystem::directory_iterator(); + ++i ) { +- string fileName = boost::filesystem::path(*i).leaf(); ++ string fileName = boost::filesystem::path(*i).leaf().string(); + if( str::startsWith(fileName, "j._") ) + return true; + } +@@ -185,7 +185,7 @@ + for ( boost::filesystem::directory_iterator i( getJournalDir() ); + i != boost::filesystem::directory_iterator(); + ++i ) { +- string fileName = boost::filesystem::path(*i).leaf(); ++ string fileName = boost::filesystem::path(*i).leaf().string(); + if( str::startsWith(fileName, "j._") ) { + try { + removeOldJournalFile(*i); +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/dur_recover.cpp mongodb-src-r2.0.6-patched/db/dur_recover.cpp +--- mongodb-src-r2.0.6/db/dur_recover.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/db/dur_recover.cpp 2012-07-10 22:02:18.226799055 +0200 +@@ -71,7 +71,7 @@ + i != filesystem::directory_iterator(); + ++i ) { + filesystem::path filepath = *i; +- string fileName = filesystem::path(*i).leaf(); ++ string fileName = filesystem::path(*i).leaf().string(); + if( str::startsWith(fileName, "j._") ) { + unsigned u = str::toUnsigned( str::after(fileName, '_') ); + if( m.count(u) ) { +@@ -84,7 +84,7 @@ + if( i != m.begin() && m.count(i->first - 1) == 0 ) { + uasserted(13532, + str::stream() << "unexpected file in journal directory " << dir.string() +- << " : " << filesystem::path(i->second).leaf() << " : can't find its preceeding file"); ++ << " : " << filesystem::path(i->second).leaf().string() << " : can't find its preceeding file"); + } + files.push_back(i->second); + } +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/instance.cpp mongodb-src-r2.0.6-patched/db/instance.cpp +--- mongodb-src-r2.0.6/db/instance.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/db/instance.cpp 2012-07-10 22:08:55.213488817 +0200 +@@ -645,13 +645,13 @@ + i != boost::filesystem::directory_iterator(); ++i ) { + if ( directoryperdb ) { + boost::filesystem::path p = *i; +- string dbName = p.leaf(); ++ string dbName = p.leaf().string(); + p /= ( dbName + ".ns" ); + if ( MMF::exists( p ) ) + names.push_back( dbName ); + } + else { +- string fileName = boost::filesystem::path(*i).leaf(); ++ string fileName = boost::filesystem::path(*i).leaf().string(); + if ( fileName.length() > 3 && fileName.substr( fileName.length() - 3, 3 ) == ".ns" ) + names.push_back( fileName.substr( 0, fileName.length() - 3 ) ); + } +@@ -893,7 +893,7 @@ + } + + void acquirePathLock(bool doingRepair) { +- string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).native_file_string(); ++ string name = ( boost::filesystem::path( dbpath ) / "mongod.lock" ).string(); + + bool oldFile = false; + +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/db/pdfile.cpp mongodb-src-r2.0.6-patched/db/pdfile.cpp +--- mongodb-src-r2.0.6/db/pdfile.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/db/pdfile.cpp 2012-07-10 22:11:44.103498643 +0200 +@@ -1987,7 +1987,7 @@ + virtual bool apply( const Path &p ) { + if ( !boost::filesystem::exists( p ) ) + return false; +- boostRenameWrapper( p, newPath_ / ( p.leaf() + ".bak" ) ); ++ boostRenameWrapper( p, newPath_ / ( p.leaf().string() + ".bak" ) ); + return true; + } + virtual const char * op() const { +@@ -2093,7 +2093,7 @@ + uniqueReservedPath( ( preserveClonedFilesOnFailure || backupOriginalFiles ) ? + "backup" : "$tmp" ); + BOOST_CHECK_EXCEPTION( boost::filesystem::create_directory( reservedPath ) ); +- string reservedPathString = reservedPath.native_directory_string(); ++ string reservedPathString = reservedPath.string(); + + bool res; + { +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/dbtests/framework.cpp mongodb-src-r2.0.6-patched/dbtests/framework.cpp +--- mongodb-src-r2.0.6/dbtests/framework.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/dbtests/framework.cpp 2012-07-10 22:29:20.610226773 +0200 +@@ -281,7 +281,7 @@ + boost::filesystem::create_directory(p); + } + +- string dbpathString = p.native_directory_string(); ++ string dbpathString = p.string(); + dbpath = dbpathString.c_str(); + + cmdLine.prealloc = false; +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/pch.h mongodb-src-r2.0.6-patched/pch.h +--- mongodb-src-r2.0.6/pch.h 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/pch.h 2012-07-10 21:35:57.133373738 +0200 +@@ -79,7 +79,7 @@ + //#include + #include "boost/thread/once.hpp" + //#include +-#define BOOST_FILESYSTEM_VERSION 2 ++#define BOOST_FILESYSTEM_VERSION 3 + #include + #include + #include +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/shell/shell_utils.cpp mongodb-src-r2.0.6-patched/shell/shell_utils.cpp +--- mongodb-src-r2.0.6/shell/shell_utils.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/shell/shell_utils.cpp 2012-07-10 22:38:58.443593723 +0200 +@@ -388,7 +388,7 @@ + #endif + } + +- argv_.push_back( programPath.native_file_string() ); ++ argv_.push_back( programPath.string() ); + + port_ = -1; + +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/tools/restore.cpp mongodb-src-r2.0.6-patched/tools/restore.cpp +--- mongodb-src-r2.0.6/tools/restore.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/tools/restore.cpp 2012-07-10 22:45:00.046948094 +0200 +@@ -131,7 +131,7 @@ + log(2) << "drillDown: " << root.string() << endl; + + // skip hidden files and directories +- if (root.leaf()[0] == '.' && root.leaf() != ".") ++ if (root.leaf().string()[0] == '.' && root.leaf().string() != ".") + return; + + if ( is_directory( root ) ) { +@@ -210,7 +210,7 @@ + ns += "." + _coll; + } + else { +- string l = root.leaf(); ++ string l = root.leaf().string(); + l = l.substr( 0 , l.find_last_of( "." ) ); + ns += "." + l; + } +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/tools/tool.cpp mongodb-src-r2.0.6-patched/tools/tool.cpp +--- mongodb-src-r2.0.6/tools/tool.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/tools/tool.cpp 2012-07-10 22:23:53.356874403 +0200 +@@ -113,12 +113,6 @@ + // we want durability to be disabled. + cmdLine.dur = false; + +-#if( BOOST_VERSION >= 104500 ) +- boost::filesystem::path::default_name_check( boost::filesystem2::no_check ); +-#else +- boost::filesystem::path::default_name_check( boost::filesystem::no_check ); +-#endif +- + _name = argv[0]; + + /* using the same style as db.cpp */ +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/util/background.cpp mongodb-src-r2.0.6-patched/util/background.cpp +--- mongodb-src-r2.0.6/util/background.cpp 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/util/background.cpp 2012-07-10 21:47:40.420081320 +0200 +@@ -89,7 +89,7 @@ + if ( msTimeOut ) { + // add msTimeOut millisecond to current time + boost::xtime xt; +- boost::xtime_get( &xt, boost::TIME_UTC ); ++ boost::xtime_get( &xt, boost::TIME_UTC_ ); + + unsigned long long ns = msTimeOut * 1000000ULL; // milli to nano + if ( xt.nsec + ns < 1000000000 ) { +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/util/concurrency/mutex.h mongodb-src-r2.0.6-patched/util/concurrency/mutex.h +--- mongodb-src-r2.0.6/util/concurrency/mutex.h 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/util/concurrency/mutex.h 2012-07-10 21:45:51.333408307 +0200 +@@ -29,7 +29,7 @@ + + inline boost::xtime incxtimemillis( long long s ) { + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + xt.sec += (int)( s / 1000 ); + xt.nsec += (int)(( s % 1000 ) * 1000000); + if ( xt.nsec >= 1000000000 ) { +diff -ru '--exclude=mongo_vstudio.cpp' mongodb-src-r2.0.6/util/queue.h mongodb-src-r2.0.6-patched/util/queue.h +--- mongodb-src-r2.0.6/util/queue.h 2012-06-04 15:42:54.000000000 +0200 ++++ mongodb-src-r2.0.6-patched/util/queue.h 2012-07-10 22:14:00.243506560 +0200 +@@ -82,7 +82,7 @@ + Timer timer; + + boost::xtime xt; +- boost::xtime_get(&xt, boost::TIME_UTC); ++ boost::xtime_get(&xt, boost::TIME_UTC_); + xt.sec += maxSecondsToWait; + + scoped_lock l( _lock ); diff --git a/community-staging/mongodb/mongodb.conf b/community-staging/mongodb/mongodb.conf new file mode 100644 index 000000000..c5272b7f2 --- /dev/null +++ b/community-staging/mongodb/mongodb.conf @@ -0,0 +1,8 @@ +# See http://www.mongodb.org/display/DOCS/File+Based+Configuration for format details +# Run mongod --help to see a list of options + +bind_ip = 127.0.0.1 +quiet = true +dbpath = /var/lib/mongodb +logpath = /var/log/mongodb/mongod.log +logappend = true diff --git a/community-staging/mongodb/mongodb.install b/community-staging/mongodb/mongodb.install new file mode 100644 index 000000000..2ea94553c --- /dev/null +++ b/community-staging/mongodb/mongodb.install @@ -0,0 +1,32 @@ +# vim: syntax=sh + +post_install() { + useradd -r -g daemon -d /var/lib/mongodb -s /bin/bash mongodb + chown -R mongodb:daemon /var/lib/mongodb + chown -R mongodb:daemon /var/log/mongodb + + if [ "$(uname -m)" != "x86_64" ] + then + echo '==> Warning: the 32 bit version of MongoDB is limited to about 2GB of data.' + echo '==> See http://blog.mongodb.org/post/137788967/32-bit-limitations' + fi +} + +post_upgrade() { + chown -R mongodb:daemon /var/lib/mongodb + chown -R mongodb:daemon /var/log/mongodb + + if [ "$(vercmp $2 1.8.2-3)" -lt 0 ] + then + # have to fix my fudge up in 1.8.2-2 and 1.8.2-3 + # added july 5th, 2011 + usermod -s /bin/bash mongodb >& /dev/null + echo 'The dbpath has changed from /var/state/mongodb to /var/lib/mongodb' + echo 'Make sure you move your data files to the new dbpath before you start/restart mongodb' + echo 'The logpath has changed from /var/log/mongod to /var/log/mongodb/mongod.log' + fi +} + +pre_remove() { + userdel mongodb +} diff --git a/community-staging/mongodb/mongodb.rc b/community-staging/mongodb/mongodb.rc new file mode 100644 index 000000000..30f2bbf79 --- /dev/null +++ b/community-staging/mongodb/mongodb.rc @@ -0,0 +1,39 @@ +#!/bin/bash +# vim: syntax=sh + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof /usr/bin/mongod) +case "$1" in + start) + stat_busy "Starting mongodb" + [ -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --fork" > /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon mongodb + stat_done + fi + ;; + stop) + stat_busy "Stopping mongodb" + [ ! -z "$PID" ] && /bin/su mongodb -c "/usr/bin/mongod --config /etc/mongodb.conf --shutdown" &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon mongodb + while [ ! -z "$(pidof /usr/bin/mongod)" ]; do + sleep 1; + done + stat_done + fi + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-staging/wesnoth/PKGBUILD b/community-staging/wesnoth/PKGBUILD new file mode 100644 index 000000000..33a660c7b --- /dev/null +++ b/community-staging/wesnoth/PKGBUILD @@ -0,0 +1,56 @@ +# $Id: PKGBUILD 73579 2012-07-10 15:22:42Z svenstaro $ +# Maintainer: Sven-Hendrik Haase +# Contributor: Jan de Groot +# Contributor: Tobias Powalowski +# Contributor: Jacobo Arvelo +# Contributor: Douglas Soares de Andrade + +pkgname=wesnoth +pkgver=1.10.3 +pkgrel=2 +pkgdesc="A turn-based strategy game on a fantasy world" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.wesnoth.org/" +depends=('sdl_ttf' 'sdl_net' 'sdl_mixer' 'sdl_image' 'fribidi' 'boost-libs' 'pango' 'lua' "wesnoth-data" 'dbus-core' 'python2') +makedepends=('boost' 'cmake') +install=wesnoth.install +options=(!emptydirs) +source=(http://downloads.sourceforge.net/sourceforge/$pkgname/$pkgname-$pkgver.tar.bz2 + wesnoth.tmpfiles.conf + wesnothd.rc.d + boost_foreach.patch) +md5sums=('b25354c71d58f82c2c60cc12c6f09c36' + 'b8122f5054e3895c9c054e87460869dc' + '85659b47d22dfdf4e4d046556973fc3e' + '07e78c6ece06ed10119fc57ebc16ea9d') + +build() { + cd "$srcdir/$pkgname-$pkgver" + + patch -Np0 < $srcdir/boost_foreach.patch + + mkdir build && cd build + cmake .. \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_OMP=ON \ + -DENABLE_TOOLS=ON \ + -DMANDIR=share/man \ + -DFIFO_DIR=/var/run/wesnothd + make +} + +package() { + cd "$srcdir/$pkgname-$pkgver" + + cd build + make DESTDIR="$pkgdir" install + + rm -r $pkgdir/usr/share/applications + rm -r $pkgdir/usr/share/doc + rm -r $pkgdir/usr/share/pixmaps + rm -r $pkgdir/usr/share/wesnoth + + install -Dm644 "$srcdir/wesnoth.tmpfiles.conf" "$pkgdir/usr/lib/tmpfiles.d/wesnoth.conf" + install -Dm755 "$srcdir/wesnothd.rc.d" "$pkgdir/etc/rc.d/wesnothd" +} diff --git a/community-staging/wesnoth/boost_foreach.patch b/community-staging/wesnoth/boost_foreach.patch new file mode 100644 index 000000000..95b98828e --- /dev/null +++ b/community-staging/wesnoth/boost_foreach.patch @@ -0,0 +1,11890 @@ +------------------------------------------------------------------------ +r54625 | loonycyborg | 2012-07-08 16:26:21 +0200 (So, 08 Jul 2012) | 5 lines + +Backport r54604: Use BOOST_FOREACH directly instead of #define foreach BOOST_FOREACH + +The define is extremely unreliable, will break compile with boost >= +1.50 and upstream can't fix issues with it, see +https://svn.boost.org/trac/boost/ticket/6131 + +Index: src/foreach.hpp (deleted) +=================================================================== +Index: src/scripting/lua.cpp +=================================================================== +--- src/scripting/lua.cpp (revision 54624) ++++ src/scripting/lua.cpp (revision 54625) +@@ -39,7 +39,6 @@ + #include "ai/manager.hpp" + #include "attack_prediction.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" + #include "gamestatus.hpp" +@@ -77,6 +76,8 @@ + #include "scripting/debug_lua.hpp" + #endif + ++#include ++ + static lg::log_domain log_scripting_lua("scripting/lua"); + #define LOG_LUA LOG_STREAM(info, log_scripting_lua) + #define ERR_LUA LOG_STREAM(err, log_scripting_lua) +@@ -87,7 +88,7 @@ + void extract_preload_scripts(config const &game_config) + { + preload_scripts.clear(); +- foreach (config const &cfg, game_config.child_range("lua")) { ++ BOOST_FOREACH(config const &cfg, game_config.child_range("lua")) { + preload_scripts.push_back(cfg); + } + preload_config = game_config.child("game_config"); +@@ -254,7 +255,7 @@ + return; + + int k = 1; +- foreach (const config::any_child &ch, cfg.all_children_range()) ++ BOOST_FOREACH(const config::any_child &ch, cfg.all_children_range()) + { + lua_createtable(L, 2, 0); + lua_pushstring(L, ch.key.c_str()); +@@ -264,7 +265,7 @@ + lua_rawseti(L, -2, 2); + lua_rawseti(L, -2, k++); + } +- foreach (const config::attribute &attr, cfg.attribute_range()) ++ BOOST_FOREACH(const config::attribute &attr, cfg.attribute_range()) + { + luaW_pushscalar(L, attr.second); + lua_setfield(L, -2, attr.first.c_str()); +@@ -534,7 +535,7 @@ + { + if (ptr) return ptr; + if (side) { +- foreach (unit &u, (*resources::teams)[side - 1].recall_list()) { ++ BOOST_FOREACH(unit &u, (*resources::teams)[side - 1].recall_list()) { + if (u.underlying_id() == uid) return &u; + } + return NULL; +@@ -710,7 +711,7 @@ + if (shallow_literal || strcmp(m, "__shallow_parsed") == 0) + { + lua_newtable(L); +- foreach (const config::attribute &a, v->get_config().attribute_range()) { ++ BOOST_FOREACH(const config::attribute &a, v->get_config().attribute_range()) { + if (shallow_literal) + luaW_pushscalar(L, a.second); + else +@@ -813,7 +814,7 @@ + const std::vector& vector = accessor; \ + lua_createtable(L, vector.size(), 0); \ + int i = 1; \ +- foreach (const std::string& s, vector) { \ ++ BOOST_FOREACH(const std::string& s, vector) { \ + lua_pushstring(L, s.c_str()); \ + lua_rawseti(L, -2, i); \ + ++i; \ +@@ -1292,9 +1293,9 @@ + lua_rawget(L, LUA_REGISTRYINDEX); + lua_newtable(L); + int i = 1, s = 1; +- foreach (team &t, *resources::teams) ++ BOOST_FOREACH(team &t, *resources::teams) + { +- foreach (unit &u, t.recall_list()) ++ BOOST_FOREACH(unit &u, t.recall_list()) + { + if (!filter.null()) { + scoped_recall_unit auto_store("this_unit", +@@ -1560,7 +1561,7 @@ + std::set const &recruits = t.recruits(); + lua_createtable(L, recruits.size(), 0); + int i = 1; +- foreach (std::string const &r, t.recruits()) { ++ BOOST_FOREACH(std::string const &r, t.recruits()) { + lua_pushstring(L, r.c_str()); + lua_rawseti(L, -2, i++); + } +@@ -3130,7 +3131,7 @@ + + lua_createtable(L, res.size(), 0); + int i = 1; +- foreach (map_location const &loc, res) ++ BOOST_FOREACH(map_location const &loc, res) + { + lua_createtable(L, 2, 0); + lua_pushinteger(L, loc.x + 1); +@@ -3227,7 +3228,7 @@ + lua_rawget(L, LUA_REGISTRYINDEX); + lua_createtable(L, sides.size(), 0); + unsigned index = 1; +- foreach(int side, sides) { ++ BOOST_FOREACH(int side, sides) { + // Create a full userdata containing a pointer to the team. + team** t = static_cast(lua_newuserdata(L, sizeof(team*))); + *t = &((*resources::teams)[side - 1]); +@@ -3247,7 +3248,7 @@ + static int intf_get_traits(lua_State* L) + { + lua_newtable(L); +- foreach(const config& trait, unit_types.traits()) { ++ BOOST_FOREACH(const config& trait, unit_types.traits()) { + const std::string& id = trait["id"]; + //It seems the engine does nowhere check the id field for emptyness or duplicates + //(also not later on). +@@ -3767,7 +3768,7 @@ + , static_cast(const_cast(&gettypeKey))); + lua_rawget(L, LUA_REGISTRYINDEX); + lua_newtable(L); +- foreach (const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) + { + lua_createtable(L, 0, 1); + lua_pushstring(L, ut.first.c_str()); +@@ -3786,7 +3787,7 @@ + lua_rawget(L, LUA_REGISTRYINDEX); + const race_map& races = unit_types.races(); + lua_createtable(L, 0, races.size()); +- foreach(const race_map::value_type &race, races) ++ BOOST_FOREACH(const race_map::value_type &race, races) + { + lua_createtable(L, 0, 1); + char const* id = race.first.c_str(); +@@ -3801,10 +3802,10 @@ + + // Execute the preload scripts. + game_config::load_config(preload_config); +- foreach (const config &cfg, preload_scripts) { ++ BOOST_FOREACH(const config &cfg, preload_scripts) { + execute(cfg["code"].str().c_str(), 0, 0); + } +- foreach (const config &cfg, level_.child_range("lua")) { ++ BOOST_FOREACH(const config &cfg, level_.child_range("lua")) { + execute(cfg["code"].str().c_str(), 0, 0); + } + +@@ -3822,7 +3823,7 @@ + + static bool is_handled_file_tag(const std::string &s) + { +- foreach (char const *t, handled_file_tags) { ++ BOOST_FOREACH(char const *t, handled_file_tags) { + if (s == t) return true; + } + return false; +@@ -3841,7 +3842,7 @@ + + lua_newtable(L); + int k = 1; +- foreach (const config::any_child &v, level_.all_children_range()) ++ BOOST_FOREACH(const config::any_child &v, level_.all_children_range()) + { + if (is_handled_file_tag(v.key)) continue; + lua_createtable(L, 2, 0); +@@ -3861,7 +3862,7 @@ + */ + void LuaKernel::save_game(config &cfg) + { +- foreach (const config &v, level_.child_range("lua")) { ++ BOOST_FOREACH(const config &v, level_.child_range("lua")) { + cfg.add_child("lua", v); + } + +Index: src/dialogs.cpp +=================================================================== +--- src/dialogs.cpp (revision 54624) ++++ src/dialogs.cpp (revision 54625) +@@ -22,7 +22,6 @@ + + #include "actions.hpp" + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_events.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" +@@ -49,6 +48,7 @@ + #include "gui/dialogs/game_save.hpp" + #include "gui/dialogs/transient_message.hpp" + ++#include + + //#ifdef _WIN32 + //#include "locale.h" +@@ -95,7 +95,7 @@ + } + + bool always_display = false; +- foreach (const config &mod, u->get_modification_advances()) ++ BOOST_FOREACH(const config &mod, u->get_modification_advances()) + { + if (mod["always_display"].to_bool()) always_display = true; + sample_units.push_back(::get_advanced_unit(*u, u->type_id())); +@@ -1009,7 +1009,7 @@ + } + + //FIXME: This probably must be move into a unit_type function +- foreach (const config &tr, t->possible_traits()) ++ BOOST_FOREACH(const config &tr, t->possible_traits()) + { + if (tr["availability"] != "musthave") continue; + std::string gender_string = (!t->genders().empty() && t->genders().front()== unit_race::FEMALE) ? "female_name" : "male_name"; +@@ -1038,7 +1038,7 @@ + // Check if AMLA color is needed + // FIXME: not sure if it's fully accurate (but not very important for unit_type) + // xp_color also need a simpler function for doing this +- foreach (const config &adv, t->modification_advancements()) ++ BOOST_FOREACH(const config &adv, t->modification_advancements()) + { + if (!adv["strict_amla"].to_bool() || !t->can_advance()) { + det.xp_color = "<170,0,255>"; // from unit::xp_color() +Index: src/menu_events.cpp +=================================================================== +--- src/menu_events.cpp (revision 54624) ++++ src/menu_events.cpp (revision 54625) +@@ -27,7 +27,6 @@ + #include "dialogs.hpp" + #include "formatter.hpp" + #include "filechooser.hpp" +-#include "foreach.hpp" + #include "game_end_exceptions.hpp" + #include "game_events.hpp" + #include "game_preferences.hpp" +@@ -66,6 +65,7 @@ + #include "widgets/combo.hpp" + + #include ++#include + + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) +@@ -863,7 +863,7 @@ + + + DBG_WB <<"menu_handler::recall: Contents of wb-modified recall list:\n"; +- foreach(const unit* unit, recall_list_team) ++ BOOST_FOREACH(const unit* unit, recall_list_team) + { + DBG_WB << unit->name() << " [" << unit->id() <<"]\n"; + } +@@ -896,7 +896,7 @@ + options.push_back(heading.str()); + options_to_filter.push_back(options.back()); + +- foreach (const unit* u, recall_list_team) ++ BOOST_FOREACH(const unit* u, recall_list_team) + { + std::stringstream option, option_to_filter; + std::string name = u->name(); +@@ -933,7 +933,7 @@ + option_to_filter << u->type_name() << " " << name << " " << u->level(); + + option << COLUMN_SEPARATOR; +- foreach (const t_string& trait, u->trait_names()) { ++ BOOST_FOREACH(const t_string& trait, u->trait_names()) { + option << trait << '\n'; + option_to_filter << " " << trait; + } +@@ -1540,7 +1540,7 @@ + _("Type"); + options.push_back(heading); + +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + { + std::stringstream row; + +@@ -2047,7 +2047,7 @@ + std::vector get_commands_list() const + { + std::vector res; +- foreach(typename command_map::value_type i, command_map_) { ++ BOOST_FOREACH(typename command_map::value_type i, command_map_) { + res.push_back(i.first); + } + return res; +@@ -2638,7 +2638,7 @@ + + if (const config &alias_list = preferences::get_alias()) + { +- foreach (const config::attribute &a, alias_list.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &a, alias_list.attribute_range()) { + register_alias(a.second, a.first); + } + } +@@ -3241,7 +3241,7 @@ + tile->rebuild_cache(tod_id, &tile_logs); + + int order = 1; +- foreach(const terrain_builder::tile::log_details det, tile_logs) { ++ BOOST_FOREACH(const terrain_builder::tile::log_details det, tile_logs) { + const terrain_builder::tile::rule_image_rand& ri = *det.first; + const terrain_builder::rule_image_variant& variant = *det.second; + +@@ -3356,7 +3356,7 @@ + void console_handler::do_choose_level() { + std::vector options; + int next = 0, nb = 0; +- foreach (const config &sc, menu_handler_.game_config_.child_range("scenario")) ++ BOOST_FOREACH(const config &sc, menu_handler_.game_config_.child_range("scenario")) + { + const std::string &id = sc["id"]; + options.push_back(id); +@@ -3367,7 +3367,7 @@ + // find scenarios of multiplayer campaigns + // (assumes that scenarios are ordered properly in the game_config) + std::string& scenario = menu_handler_.gamestate_.mp_settings().mp_scenario; +- foreach (const config &mp, menu_handler_.game_config_.child_range("multiplayer")) ++ BOOST_FOREACH(const config &mp, menu_handler_.game_config_.child_range("multiplayer")) + { + if (mp["id"] == scenario) + { +@@ -3596,7 +3596,7 @@ + } + }*/ + void console_handler::do_discover() { +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) { + preferences::encountered_units().insert(i.second.id()); + } + } +Index: src/multiplayer_wait.cpp +=================================================================== +--- src/multiplayer_wait.cpp (revision 54624) ++++ src/multiplayer_wait.cpp (revision 54625) +@@ -16,7 +16,6 @@ + #include "global.hpp" + + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "game_preferences.hpp" + #include "gui/dialogs/transient_message.hpp" +@@ -30,6 +29,8 @@ + #include "wml_separators.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + static lg::log_domain log_network("network"); + #define DBG_NW LOG_STREAM(debug, log_network) + #define LOG_NW LOG_STREAM(info, log_network) +@@ -222,7 +223,7 @@ + //available side. + const config *side_choice = NULL; + int side_num = -1, nb_sides = 0; +- foreach (const config &sd, level_.child_range("side")) ++ BOOST_FOREACH(const config &sd, level_.child_range("side")) + { + if (sd["controller"] == "reserved" && sd["current_player"] == preferences::login()) + { +@@ -275,7 +276,7 @@ + color = game_config::color_info(color_str).index() - 1; + + std::vector leader_sides; +- foreach (const config &side, possible_sides) { ++ BOOST_FOREACH(const config &side, possible_sides) { + leader_sides.push_back(&side); + } + +@@ -287,7 +288,7 @@ + } + + std::vector choices; +- foreach (const config *s, leader_sides) ++ BOOST_FOREACH(const config *s, leader_sides) + { + const config &side = *s; + const std::string &name = side["name"]; +@@ -442,7 +443,7 @@ + std::vector details; + std::vector playerlist; + +- foreach (const config &sd, level_.child_range("side")) ++ BOOST_FOREACH(const config &sd, level_.child_range("side")) + { + if (!sd["allow_player"].to_bool(true)) { + continue; +@@ -458,7 +459,7 @@ + // Hack: if there is a unit which can recruit, use it as a + // leader. Necessary to display leader information when loading + // saves. +- foreach (const config &side_unit, sd.child_range("unit")) ++ BOOST_FOREACH(const config &side_unit, sd.child_range("unit")) + { + if (side_unit["canrecruit"].to_bool()) { + leader_type = side_unit["type"].str(); +Index: src/serialization/schema_validator.cpp +=================================================================== +--- src/serialization/schema_validator.cpp (revision 54624) ++++ src/serialization/schema_validator.cpp (revision 54625) +@@ -17,12 +17,13 @@ + + + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "log.hpp" + #include "serialization/preprocessor.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace schema_validation{ + + static lg::log_domain log_validation("validation"); +@@ -143,14 +144,14 @@ + } catch(config::error&) { + return false; + } +- foreach (const config &g, cfg.child_range("wml_schema")) { +- foreach (const config &schema, g.child_range("tag")) { ++ BOOST_FOREACH(const config &g, cfg.child_range("wml_schema")) { ++ BOOST_FOREACH(const config &schema, g.child_range("tag")) { + if (schema["name"].str() == "root"){ + //@NOTE Don't know, maybe merging of roots needed. + root_ = class_tag (schema); + } + } +- foreach (const config &type, g.child_range("type")) { ++ BOOST_FOREACH(const config &type, g.child_range("type")) { + try{ + types_[type["name"].str()] = boost::regex( type["value"].str()); + } +Index: src/serialization/preprocessor.cpp +=================================================================== +--- src/serialization/preprocessor.cpp (revision 54624) ++++ src/serialization/preprocessor.cpp (revision 54625) +@@ -23,7 +23,6 @@ + + #include "config.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "game_config.hpp" + #include "log.hpp" + #include "wesconfig.h" +@@ -34,6 +33,8 @@ + #include "util.hpp" + #include "version.hpp" + ++#include ++ + #include + + static lg::log_domain log_config("config"); +@@ -64,7 +65,7 @@ + int n = 0; + s >> std::hex >> n; + +- foreach(const t_file_number_map::value_type& p, file_number_map){ ++ BOOST_FOREACH(const t_file_number_map::value_type& p, file_number_map){ + if(p.second == n) + return p.first; + } +@@ -142,7 +143,7 @@ + writer.write_key_val("linenum", lexical_cast(linenum)); + writer.write_key_val("location", get_location(location)); + +- foreach (const std::string &arg, arguments) ++ BOOST_FOREACH(const std::string &arg, arguments) + write_argument(writer, arg); + + writer.close_child(key); +@@ -160,7 +161,7 @@ + linenum = cfg["linenum"]; + location = cfg["location"].str(); + +- foreach (const config &arg, cfg.child_range("argument")) ++ BOOST_FOREACH(const config &arg, cfg.child_range("argument")) + read_argument(arg); + } + +@@ -1157,14 +1158,14 @@ + get_files_in_dir(res_name, &files, &dirs, ENTIRE_FILE_PATH, SKIP_MEDIA_DIR, DO_REORDER); + + // subdirectories +- foreach(const std::string& dir, dirs) ++ BOOST_FOREACH(const std::string& dir, dirs) + { + LOG_PREPROC<<"processing sub-dir: "< + +@@ -40,6 +39,7 @@ + #include + #include + #include ++#include + + static lg::log_domain log_config("config"); + #define ERR_CF LOG_STREAM(err, log_config) +@@ -343,7 +343,7 @@ + { + i18n_symbols["pos"] = ::lineno_string(lineno); + std::string result = _(error_string); +- foreach(utils::string_map::value_type& var, i18n_symbols) ++ BOOST_FOREACH(utils::string_map::value_type& var, i18n_symbols) + boost::algorithm::replace_all(result, std::string("$") + var.first, std::string(var.second)); + return result; + } +@@ -503,11 +503,11 @@ + if (tab > max_recursion_levels) + throw config::error("Too many recursion levels in config write"); + +- foreach (const config::attribute &i, cfg.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, cfg.attribute_range()) { + write_key_val(out, i.first, i.second, tab, textdomain); + } + +- foreach (const config::any_child &item, cfg.all_children_range()) ++ BOOST_FOREACH(const config::any_child &item, cfg.all_children_range()) + { + write_open_child(out, item.key, tab); + write_internal(item.cfg, out, textdomain, tab + 1); +Index: src/game_controller_abstract.cpp +=================================================================== +--- src/game_controller_abstract.cpp (revision 54624) ++++ src/game_controller_abstract.cpp (revision 54625) +@@ -15,7 +15,6 @@ + + #include "game_controller_abstract.hpp" + +-#include "foreach.hpp" + #include "game_display.hpp" + #include "gettext.hpp" + #include "hotkeys.hpp" +@@ -24,6 +23,8 @@ + + #include "preferences.hpp" + ++#include ++ + #include + + game_controller_abstract::game_controller_abstract(const commandline_options &cmdline_opts) : +@@ -80,7 +81,7 @@ + language_def locale; + if(cmdline_opts_.language) { + std::vector langs = get_languages(); +- foreach(const language_def & def, langs) { ++ BOOST_FOREACH(const language_def & def, langs) { + if(def.localename == *cmdline_opts_.language) { + locale = def; + break; +Index: src/terrain.cpp +=================================================================== +--- src/terrain.cpp (revision 54624) ++++ src/terrain.cpp (revision 54625) +@@ -15,13 +15,14 @@ + + #include "global.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "log.hpp" + #include "serialization/string_utils.hpp" + #include "terrain.hpp" + #include "util.hpp" + ++#include ++ + #include + + static lg::log_domain log_config("config"); +@@ -284,7 +285,7 @@ + t_translation::t_list& terrain_list, + std::map& letter_to_terrain) + { +- foreach (const config &t, cfgs) ++ BOOST_FOREACH(const config &t, cfgs) + { + terrain_type terrain(t); + DBG_G << "create_terrain_maps: " << terrain.number() << " " +@@ -301,9 +302,9 @@ + std::vector eg2 = utils::split(terrain.editor_group()); + std::set egs; + bool clean_merge = true; +- foreach(std::string& t, eg1) ++ BOOST_FOREACH(std::string& t, eg1) + clean_merge &= egs.insert(t).second; +- foreach(std::string& t, eg2) ++ BOOST_FOREACH(std::string& t, eg2) + clean_merge &= egs.insert(t).second; + + std::string joined = utils::join(egs); +Index: src/config.cpp +=================================================================== +--- src/config.cpp (revision 54624) ++++ src/config.cpp (revision 54625) +@@ -22,7 +22,6 @@ + #include "global.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "serialization/string_utils.hpp" + #include "util.hpp" +@@ -31,6 +30,7 @@ + #include + #include + #include ++#include + + static lg::log_domain log_config("config"); + #define ERR_CF LOG_STREAM(err, log_config) +@@ -255,7 +255,7 @@ + { + check_valid(cfg); + +- foreach (const any_child &value, cfg.all_children_range()) { ++ BOOST_FOREACH(const any_child &value, cfg.all_children_range()) { + add_child(value.key, value.cfg); + } + } +@@ -263,7 +263,7 @@ + void config::append(const config &cfg) + { + append_children(cfg); +- foreach (const attribute &v, cfg.values) { ++ BOOST_FOREACH(const attribute &v, cfg.values) { + values[v.first] = v.second; + } + } +@@ -275,7 +275,7 @@ + if (child_count(key) < 2) return; + + config merged_children; +- foreach (const config &cfg, child_range(key)) { ++ BOOST_FOREACH(const config &cfg, child_range(key)) { + merged_children.append(cfg); + } + +@@ -291,7 +291,7 @@ + + typedef std::map config_map; + config_map merged_children_map; +- foreach (const config &cfg, child_range(key)) { ++ BOOST_FOREACH(const config &cfg, child_range(key)) { + const std::string &value = cfg[attribute]; + config_map::iterator m = merged_children_map.find(value); + if ( m!=merged_children_map.end() ) { +@@ -302,7 +302,7 @@ + } + + clear_children(key); +- foreach (const config_map::value_type &i, merged_children_map) { ++ BOOST_FOREACH(const config_map::value_type &i, merged_children_map) { + add_child(key,i.second); + } + } +@@ -459,7 +459,7 @@ + ordered_children.erase(std::remove_if(ordered_children.begin(), + ordered_children.end(), remove_ordered(i)), ordered_children.end()); + +- foreach (config *c, i->second) { ++ BOOST_FOREACH(config *c, i->second) { + delete c; + } + +@@ -495,7 +495,7 @@ + + values.erase(key); + +- foreach (const any_child &value, all_children_range()) { ++ BOOST_FOREACH(const any_child &value, all_children_range()) { + const_cast(&value.cfg)->recursive_clear_value(key); + } + } +@@ -506,7 +506,7 @@ + /* Find the position with the correct index and decrement all the + indices in the ordering that are above this index. */ + unsigned found = 0; +- foreach (child_pos &p, ordered_children) ++ BOOST_FOREACH(child_pos &p, ordered_children) + { + if (p.pos != pos) continue; + if (p.index == index) +@@ -590,7 +590,7 @@ + check_valid(cfg); + + assert(this != &cfg); +- foreach (const attribute &v, cfg.values) { ++ BOOST_FOREACH(const attribute &v, cfg.values) { + values[v.first] = v.second; + } + } +@@ -860,21 +860,21 @@ + if (track) values[diff_track_attribute] = "modified"; + + if (const config &inserts = diff.child("insert")) { +- foreach (const attribute &v, inserts.attribute_range()) { ++ BOOST_FOREACH(const attribute &v, inserts.attribute_range()) { + values[v.first] = v.second; + } + } + + if (const config &deletes = diff.child("delete")) { +- foreach (const attribute &v, deletes.attribute_range()) { ++ BOOST_FOREACH(const attribute &v, deletes.attribute_range()) { + values.erase(v.first); + } + } + +- foreach (const config &i, diff.child_range("change_child")) ++ BOOST_FOREACH(const config &i, diff.child_range("change_child")) + { + const size_t index = lexical_cast(i["index"].str()); +- foreach (const any_child &item, i.all_children_range()) ++ BOOST_FOREACH(const any_child &item, i.all_children_range()) + { + if (item.key.empty()) { + continue; +@@ -889,19 +889,19 @@ + } + } + +- foreach (const config &i, diff.child_range("insert_child")) ++ BOOST_FOREACH(const config &i, diff.child_range("insert_child")) + { + const size_t index = lexical_cast(i["index"].str()); +- foreach (const any_child &item, i.all_children_range()) { ++ BOOST_FOREACH(const any_child &item, i.all_children_range()) { + config& inserted = add_child_at(item.key, item.cfg, index); + if (track) inserted[diff_track_attribute] = "new"; + } + } + +- foreach (const config &i, diff.child_range("delete_child")) ++ BOOST_FOREACH(const config &i, diff.child_range("delete_child")) + { + const size_t index = lexical_cast(i["index"].str()); +- foreach (const any_child &item, i.all_children_range()) { ++ BOOST_FOREACH(const any_child &item, i.all_children_range()) { + if (!track) { + remove_child(item.key, index); + } else { +@@ -918,18 +918,18 @@ + void config::clear_diff_track(const config& diff) + { + remove_attribute(diff_track_attribute); +- foreach (const config &i, diff.child_range("delete_child")) ++ BOOST_FOREACH(const config &i, diff.child_range("delete_child")) + { + const size_t index = lexical_cast(i["index"].str()); +- foreach (const any_child &item, i.all_children_range()) { ++ BOOST_FOREACH(const any_child &item, i.all_children_range()) { + remove_child(item.key, index); + } + } + +- foreach (const config &i, diff.child_range("change_child")) ++ BOOST_FOREACH(const config &i, diff.child_range("change_child")) + { + const size_t index = lexical_cast(i["index"].str()); +- foreach (const any_child &item, i.all_children_range()) ++ BOOST_FOREACH(const any_child &item, i.all_children_range()) + { + if (item.key.empty()) { + continue; +@@ -943,7 +943,7 @@ + itor->second[index]->clear_diff_track(item.cfg); + } + } +- foreach (const any_child &value, all_children_range()) { ++ BOOST_FOREACH(const any_child &value, all_children_range()) { + const_cast(&value.cfg)->remove_attribute(diff_track_attribute); + } + } +@@ -984,20 +984,20 @@ + { + check_valid(filter); + +- foreach (const attribute &i, filter.attribute_range()) ++ BOOST_FOREACH(const attribute &i, filter.attribute_range()) + { + const attribute_value *v = get(i.first); + if (!v || *v != i.second) return false; + } + +- foreach (const any_child &i, filter.all_children_range()) ++ BOOST_FOREACH(const any_child &i, filter.all_children_range()) + { + if (i.key == "not") { + if (matches(i.cfg)) return false; + continue; + } + bool found = false; +- foreach (const config &j, child_range(i.key)) { ++ BOOST_FOREACH(const config &j, child_range(i.key)) { + if (j.matches(i.cfg)) { + found = true; + break; +@@ -1021,11 +1021,11 @@ + { + static int i = 0; + i++; +- foreach (const config::attribute &val, cfg.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &val, cfg.attribute_range()) { + for (int j = 0; j < i-1; j++){ outstream << char(9); } + outstream << val.first << " = " << val.second << '\n'; + } +- foreach (const config::any_child &child, cfg.all_children_range()) ++ BOOST_FOREACH(const config::any_child &child, cfg.all_children_range()) + { + for (int j = 0; j < i - 1; ++j) outstream << char(9); + outstream << "[" << child.key << "]\n"; +@@ -1054,7 +1054,7 @@ + hash_str[hash_length] = 0; + + i = 0; +- foreach (const attribute &val, values) ++ BOOST_FOREACH(const attribute &val, values) + { + for (c = val.first.begin(); c != val.first.end(); ++c) { + hash_str[i] ^= *c; +@@ -1067,10 +1067,10 @@ + } + } + +- foreach (const any_child &ch, all_children_range()) ++ BOOST_FOREACH(const any_child &ch, all_children_range()) + { + std::string child_hash = ch.cfg.hash(); +- foreach (char c, child_hash) { ++ BOOST_FOREACH(char c, child_hash) { + hash_str[i] ^= c; + ++i; + if(i == hash_length) { +Index: src/soundsource.cpp +=================================================================== +--- src/soundsource.cpp (revision 54624) ++++ src/soundsource.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + + #include "display.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "serialization/string_utils.hpp" + #include "sound.hpp" +Index: src/sound.cpp +=================================================================== +--- src/sound.cpp (revision 54624) ++++ src/sound.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "config.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "log.hpp" + #include "serialization/string_utils.hpp" +@@ -27,6 +26,8 @@ + + #include "SDL_mixer.h" + ++#include ++ + #include + + static lg::log_domain log_audio("audio"); +@@ -596,7 +597,7 @@ + return; + + // If current track no longer on playlist, change it. +- foreach (const music_track &m, current_track_list) { ++ BOOST_FOREACH(const music_track &m, current_track_list) { + if (current_track == m) + return; + } +@@ -614,7 +615,7 @@ + { + // First entry clears playlist, others append to it. + bool append = false; +- foreach (music_track &m, current_track_list) { ++ BOOST_FOREACH(music_track &m, current_track_list) { + m.write(snapshot, append); + append = true; + } +Index: src/game_preferences.cpp +=================================================================== +--- src/game_preferences.cpp (revision 54624) ++++ src/game_preferences.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #define GETTEXT_DOMAIN "wesnoth-lib" + +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" + #include "gamestatus.hpp" +@@ -31,6 +30,8 @@ + #include "unit_map.hpp" + #include "wml_exception.hpp" + ++#include ++ + static lg::log_domain log_config("config"); + #define ERR_CFG LOG_STREAM(err , log_config) + +@@ -112,9 +113,9 @@ + message = foobar + [/line] + */ +- foreach (const config::any_child &h, history.all_children_range()) ++ BOOST_FOREACH(const config::any_child &h, history.all_children_range()) + { +- foreach (const config &l, h.cfg.child_range("line")) { ++ BOOST_FOREACH(const config &l, h.cfg.child_range("line")) { + history_map[h.key].push_back(l["message"]); + } + } +@@ -142,10 +143,10 @@ + */ + config history; + typedef std::pair > hack; +- foreach(const hack& history_id, history_map) { ++ BOOST_FOREACH(const hack& history_id, history_map) { + + config history_id_cfg; // [history_id] +- foreach(const std::string& line, history_id.second) { ++ BOOST_FOREACH(const std::string& line, history_id.second) { + config cfg; // [line] + + cfg["message"] = line; +@@ -314,7 +315,7 @@ + std::vector &game_servers = game_config::server_list; + VALIDATE(!game_servers.empty(), _("No server has been defined.")); + pref_servers.insert(pref_servers.begin(), game_servers.begin(), game_servers.end()); +- foreach (const config &server, get_prefs()->child_range("server")) { ++ BOOST_FOREACH(const config &server, get_prefs()->child_range("server")) { + game_config::server_info sinf; + sinf.name = server["name"].str(); + sinf.address = server["address"].str(); +@@ -945,8 +946,8 @@ + } + + void encounter_recallable_units(std::vector& teams){ +- foreach(const team& t, teams) { +- foreach(const unit& u, t.recall_list()) { ++ BOOST_FOREACH(const team& t, teams) { ++ BOOST_FOREACH(const unit& u, t.recall_list()) { + encountered_units_set.insert(u.type_id()); + } + } +Index: src/map_label.cpp +=================================================================== +--- src/map_label.cpp (revision 54624) ++++ src/map_label.cpp (revision 54625) +@@ -16,12 +16,13 @@ + #include "global.hpp" + + #include "display.hpp" +-#include "foreach.hpp" + #include "gamestatus.hpp" + #include "map_label.hpp" + #include "resources.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + //our definition of map labels being obscured is if the tile is obscured, + //or the tile below is obscured. This is because in the case where the tile + //itself is visible, but the tile below is obscured, the bottom half of the +@@ -59,7 +60,7 @@ + { + clear_all(); + +- foreach (const config &i, cfg.child_range("label")) ++ BOOST_FOREACH(const config &i, cfg.child_range("label")) + { + const map_location loc(i, resources::state_of_game); + terrain_label *label = new terrain_label(*this, i); +@@ -222,7 +223,7 @@ + + void map_labels::clear_all() + { +- foreach (team_label_map::value_type &m, labels_) ++ BOOST_FOREACH(team_label_map::value_type &m, labels_) + { + clear_map(m.second, true); + } +@@ -231,9 +232,9 @@ + + void map_labels::recalculate_labels() + { +- foreach (team_label_map::value_type &m, labels_) ++ BOOST_FOREACH(team_label_map::value_type &m, labels_) + { +- foreach (label_map::value_type &l, m.second) ++ BOOST_FOREACH(label_map::value_type &l, m.second) + { + l.second->recalculate(); + } +@@ -249,9 +250,9 @@ + + void map_labels::recalculate_shroud() + { +- foreach (team_label_map::value_type &m, labels_) ++ BOOST_FOREACH(team_label_map::value_type &m, labels_) + { +- foreach (label_map::value_type &l, m.second) ++ BOOST_FOREACH(label_map::value_type &l, m.second) + { + l.second->calculate_shroud(); + } +Index: src/actions.cpp +=================================================================== +--- src/actions.cpp (revision 54624) ++++ src/actions.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "actions.hpp" + + #include "attack_prediction.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_events.hpp" + #include "game_preferences.hpp" +@@ -40,6 +39,7 @@ + #include "whiteboard/manager.hpp" + + #include ++#include + + static lg::log_domain log_engine("engine"); + #define DBG_NG LOG_STREAM(debug, log_engine) +@@ -206,7 +206,7 @@ + placements.push_back("map"); + placements.push_back("recall"); + +- foreach(std::string place, placements) { ++ BOOST_FOREACH(std::string place, placements) { + map_location loc; + bool pass((place == "leader_passable") || (place == "map_passable")); + +@@ -417,7 +417,7 @@ + leader_in_place= true; + else continue; + +- foreach (const unit& recall_unit, recall_list) ++ BOOST_FOREACH(const unit& recall_unit, recall_list) + { + //Only units which match the leaders recall filter are valid. + scoped_recall_unit this_unit("this_unit", t.save_id(), &recall_unit - &recall_list[0]); +@@ -435,7 +435,7 @@ + } + + if (!(recall_loc_is_castle && leader_in_place)) { +- foreach (const unit &recall, recall_list) ++ BOOST_FOREACH(const unit &recall, recall_list) + { + result.push_back(&recall); + } +@@ -546,7 +546,7 @@ + + bool can_recruit_unit = is_on_team_list; + if (!can_recruit_unit) { +- foreach (const std::string &recruitable, leader->recruits()) { ++ BOOST_FOREACH(const std::string &recruitable, leader->recruits()) { + if (recruitable == unit_type) { + can_recruit_unit = true; + break; +@@ -1925,7 +1925,7 @@ + // Simple algorithm: no maximum number of patients per healer. + void reset_resting(unit_map& units, int side) + { +- foreach (unit &u, units) { ++ BOOST_FOREACH(unit &u, units) { + if (u.side() == side) + u.set_resting(true); + } +@@ -1946,7 +1946,7 @@ + std::list l; + + // We look for all allied units, then we see if our healer is near them. +- foreach (unit &u, units) { ++ BOOST_FOREACH(unit &u, units) { + + if (u.get_state("unhealable") || u.incapacitated()) + continue; +@@ -2307,7 +2307,7 @@ + } + + pathfind::paths p(*resources::game_map, *resources::units, loc, *resources::teams, true, false, tm, 0, false, true); +- foreach (const pathfind::paths::step &dest, p.destinations) { ++ BOOST_FOREACH(const pathfind::paths::step &dest, p.destinations) { + clear_shroud_loc(tm, dest.curr, &cleared_locations); + } + +@@ -2350,7 +2350,7 @@ + + tm.refog(); + +- foreach (unit &u, *resources::units) ++ BOOST_FOREACH(unit &u, *resources::units) + { + if (u.side() == side) { + const unit_movement_resetter move_resetter(u); +@@ -2372,7 +2372,7 @@ + + bool result = false; + +- foreach (unit &u, *resources::units) ++ BOOST_FOREACH(unit &u, *resources::units) + { + if (u.side() == side) { + const unit_movement_resetter move_resetter(u); +@@ -2435,7 +2435,7 @@ + + std::set known_units; + if(check_shroud) { +- foreach (const unit &u, units) { ++ BOOST_FOREACH(const unit &u, units) { + if (!tm->fogged(u.get_location())) { + known_units.insert(u.get_location()); + tm->see(u.side() - 1); +@@ -2860,7 +2860,7 @@ + */ + + std::set known_units; +- foreach (const unit &u, units) { ++ BOOST_FOREACH(const unit &u, units) { + if (!tm.fogged(u.get_location())) { + known_units.insert(u.get_location()); + } +Index: src/font.cpp +=================================================================== +--- src/font.cpp (revision 54624) ++++ src/font.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "config.hpp" + #include "filesystem.hpp" + #include "font.hpp" +-#include "foreach.hpp" + #include "game_config.hpp" + #include "log.hpp" + #include "marked-up_text.hpp" +@@ -32,6 +31,8 @@ + #include "serialization/preprocessor.hpp" + #include "serialization/string_utils.hpp" + ++#include ++ + #include + #include + #include +@@ -355,10 +356,10 @@ + #endif + + #if CAIRO_HAS_WIN32_FONT +- foreach(const std::string& path, get_binary_paths("fonts")) { ++ BOOST_FOREACH(const std::string& path, get_binary_paths("fonts")) { + std::vector files; + get_files_in_dir(path, &files, NULL, ENTIRE_FILE_PATH); +- foreach(const std::string& file, files) ++ BOOST_FOREACH(const std::string& file, files) + if(file.substr(file.length() - 4) == ".ttf" || file.substr(file.length() - 4) == ".ttc") + AddFontResource(file.c_str()); + } +@@ -372,10 +373,10 @@ + #endif + + #if CAIRO_HAS_WIN32_FONT +- foreach(const std::string& path, get_binary_paths("fonts")) { ++ BOOST_FOREACH(const std::string& path, get_binary_paths("fonts")) { + std::vector files; + get_files_in_dir(path, &files, NULL, ENTIRE_FILE_PATH); +- foreach(const std::string& file, files) ++ BOOST_FOREACH(const std::string& file, files) + if(file.substr(file.length() - 4) == ".ttf" || file.substr(file.length() - 4) == ".ttc") + RemoveFontResource(file.c_str()); + } +@@ -425,7 +426,7 @@ + const subset_id subset = font_names.size(); + font_names.push_back(itor->name); + +- foreach (const subset_descriptor::range &cp_range, itor->present_codepoints) { ++ BOOST_FOREACH(const subset_descriptor::range &cp_range, itor->present_codepoints) { + char_blocks.insert(cp_range.first, cp_range.second, subset); + } + } +@@ -582,7 +583,7 @@ + w_ = 0; + h_ = 0; + +- foreach (text_chunk const &chunk, chunks_) ++ BOOST_FOREACH(text_chunk const &chunk, chunks_) + { + TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_)); + if(ttfont == NULL) +@@ -628,7 +629,7 @@ + if(width() > max_text_line_width) + return surfs_; + +- foreach (text_chunk const &chunk, chunks_) ++ BOOST_FOREACH(text_chunk const &chunk, chunks_) + { + TTF_Font* ttfont = get_font(font_id(chunk.subset, font_size_)); + if (ttfont == NULL) +@@ -1261,7 +1262,7 @@ + return false; + + std::set known_fonts; +- foreach (const config &font, fonts_config.child_range("font")) { ++ BOOST_FOREACH(const config &font, fonts_config.child_range("font")) { + known_fonts.insert(font["name"]); + } + +Index: src/unit_animation.cpp +=================================================================== +--- src/unit_animation.cpp (revision 54624) ++++ src/unit_animation.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "unit_animation.hpp" + +-#include "foreach.hpp" + #include "game_display.hpp" + #include "halo.hpp" + #include "map.hpp" +@@ -26,6 +25,8 @@ + #include "resources.hpp" + #include "play_controller.hpp" + ++#include ++ + #include + + struct tag_name_manager { +@@ -78,7 +79,7 @@ + config merge() const + { + config result = attributes; +- foreach (const config::all_children_iterator &i, children) ++ BOOST_FOREACH(const config::all_children_iterator &i, children) + result.add_child(i->key, i->cfg); + return result; + } +@@ -99,7 +100,7 @@ + animation_cursor(const config &cfg, animation_cursor *p): + itors(cfg.all_children_range()), branches(p->branches), parent(p) + { +- foreach (animation_branch &ab, branches) ++ BOOST_FOREACH(animation_branch &ab, branches) + ab.attributes.merge_attributes(cfg); + } + }; +@@ -122,7 +123,7 @@ + if (ac.itors.first->key != "if") + { + // Append current config object to all the branches in scope. +- foreach (animation_branch &ab, ac.branches) { ++ BOOST_FOREACH(animation_branch &ab, ac.branches) { + ab.children.push_back(ac.itors.first); + } + ++ac.itors.first; +@@ -154,7 +155,7 @@ + static animation_branches prepare_animation(const config &cfg, const std::string &animation_tag) + { + animation_branches expanded_animations; +- foreach (const config &anim, cfg.child_range(animation_tag)) { ++ BOOST_FOREACH(const config &anim, cfg.child_range(animation_tag)) { + prepare_single_animation(anim, expanded_animations); + } + return expanded_animations; +@@ -207,7 +208,7 @@ + overlaped_hex_() + { + // if(!cfg["debug"].empty()) printf("DEBUG WML: FINAL\n%s\n\n",cfg.debug().c_str()); +- foreach (const config::any_child &fr, cfg.all_children_range()) ++ BOOST_FOREACH(const config::any_child &fr, cfg.all_children_range()) + { + if (fr.key == frame_string) continue; + if (fr.key.find("_frame", fr.key.size() - 6) == std::string::npos) continue; +@@ -221,11 +222,11 @@ + const map_location::DIRECTION d = map_location::parse_direction(*i); + directions_.push_back(d); + } +- foreach (const config &filter, cfg.child_range("filter")) { ++ BOOST_FOREACH(const config &filter, cfg.child_range("filter")) { + unit_filter_.push_back(filter); + } + +- foreach (const config &filter, cfg.child_range("filter_second")) { ++ BOOST_FOREACH(const config &filter, cfg.child_range("filter_second")) { + secondary_unit_filter_.push_back(filter); + } + +@@ -253,10 +254,10 @@ + for(value2=value2_str.begin() ; value2 != value2_str.end() ; ++value2) { + value2_.push_back(atoi(value2->c_str())); + } +- foreach (const config &filter, cfg.child_range("filter_attack")) { ++ BOOST_FOREACH(const config &filter, cfg.child_range("filter_attack")) { + primary_attack_filter_.push_back(filter); + } +- foreach (const config &filter, cfg.child_range("filter_second_attack")) { ++ BOOST_FOREACH(const config &filter, cfg.child_range("filter_second_attack")) { + secondary_attack_filter_.push_back(filter); + } + play_offscreen_ = cfg["offscreen"].to_bool(true); +@@ -487,7 +488,7 @@ + display::tdrawing_layer layer = display::LAYER_UNIT_DEFAULT, + bool offscreen = true) + { +- foreach (const animation_branch &ab, prepare_animation(cfg, tag_name)) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, tag_name)) + { + config anim = ab.merge(); + anim["apply_to"] = apply_to; +@@ -503,7 +504,7 @@ + + void unit_animation::add_anims( std::vector & animations, const config & cfg) + { +- foreach (const animation_branch &ab, prepare_animation(cfg, "animation")) { ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "animation")) { + animations.push_back(unit_animation(ab.merge())); + } + +@@ -519,7 +520,7 @@ + add_simple_anim(animations, cfg, "levelin_anim", "levelin"); + add_simple_anim(animations, cfg, "levelout_anim", "levelout"); + +- foreach (const animation_branch &ab, prepare_animation(cfg, "standing_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "standing_anim")) + { + config anim = ab.merge(); + anim["apply_to"] = "default"; +@@ -528,7 +529,7 @@ + if (anim["offscreen"].empty()) anim["offscreen"] = false; + animations.push_back(unit_animation(anim)); + } +- foreach (const animation_branch &ab, prepare_animation(cfg, "standing_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "standing_anim")) + { + config anim = ab.merge(); + anim["apply_to"] = "standing"; +@@ -537,7 +538,7 @@ + if (anim["offscreen"].empty()) anim["offscreen"] = false; + animations.push_back(unit_animation(anim)); + } +- foreach (const animation_branch &ab, prepare_animation(cfg, "healing_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "healing_anim")) + { + config anim = ab.merge(); + anim["apply_to"] = "healing"; +@@ -546,7 +547,7 @@ + animations.push_back(unit_animation(anim)); + } + +- foreach (const animation_branch &ab, prepare_animation(cfg, "healed_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "healed_anim")) + { + config anim = ab.merge(); + anim["apply_to"] = "healed"; +@@ -558,7 +559,7 @@ + animations.back().sub_anims_["_healed_sound"].add_frame(1,frame_builder().sound("heal.wav"),true); + } + +- foreach (const animation_branch &ab, prepare_animation(cfg, "poison_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "poison_anim")) + { + config anim = ab.merge(); + anim["apply_to"] ="poisoned"; +@@ -572,7 +573,7 @@ + + add_simple_anim(animations, cfg, "pre_movement_anim", "pre_movement", display::LAYER_UNIT_MOVE_DEFAULT); + +- foreach (const animation_branch &ab, prepare_animation(cfg, "movement_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "movement_anim")) + { + config anim = ab.merge(); + if (anim["offset"].empty()) { +@@ -585,7 +586,7 @@ + + add_simple_anim(animations, cfg, "post_movement_anim", "post_movement", display::LAYER_UNIT_MOVE_DEFAULT); + +- foreach (const animation_branch &ab, prepare_animation(cfg, "defend")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "defend")) + { + config anim = ab.merge(); + anim["apply_to"] = "defend"; +@@ -607,7 +608,7 @@ + else + { + std::vector v = utils::split(anim["hits"]); +- foreach (const std::string &hit_type, v) ++ BOOST_FOREACH(const std::string &hit_type, v) + { + config tmp = anim; + tmp["hits"] = hit_type; +@@ -625,7 +626,7 @@ + add_simple_anim(animations, cfg, "draw_weapon_anim", "draw_wepaon", display::LAYER_UNIT_MOVE_DEFAULT); + add_simple_anim(animations, cfg, "sheath_weapon_anim", "sheath_wepaon", display::LAYER_UNIT_MOVE_DEFAULT); + +- foreach (const animation_branch &ab, prepare_animation(cfg, "attack_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "attack_anim")) + { + config anim = ab.merge(); + anim["apply_to"] = "attack"; +@@ -646,7 +647,7 @@ + animations.push_back(unit_animation(anim)); + } + +- foreach (const animation_branch &ab, prepare_animation(cfg, "death")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "death")) + { + config anim = ab.merge(); + anim["apply_to"] = "death"; +@@ -663,7 +664,7 @@ + + add_simple_anim(animations, cfg, "victory_anim", "victory"); + +- foreach (const animation_branch &ab, prepare_animation(cfg, "extra_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "extra_anim")) + { + config anim = ab.merge(); + anim["apply_to"] = anim["flag"]; +@@ -671,7 +672,7 @@ + animations.push_back(unit_animation(anim)); + } + +- foreach (const animation_branch &ab, prepare_animation(cfg, "teleport_anim")) ++ BOOST_FOREACH(const animation_branch &ab, prepare_animation(cfg, "teleport_anim")) + { + config anim = ab.merge(); + if (anim["layer"].empty()) anim["layer"] = default_layer; +@@ -742,14 +743,14 @@ + config::const_child_itors range = cfg.child_range(frame_string+"frame"); + starting_frame_time_=INT_MAX; + if(cfg[frame_string+"start_time"].empty() &&range.first != range.second) { +- foreach (const config &frame, range) { ++ BOOST_FOREACH(const config &frame, range) { + starting_frame_time_ = std::min(starting_frame_time_, frame["begin"].to_int()); + } + } else { + starting_frame_time_ = cfg[frame_string+"start_time"]; + } + +- foreach (const config &frame, range) ++ BOOST_FOREACH(const config &frame, range) + { + unit_frame tmp_frame(frame); + add_frame(tmp_frame.duration(),tmp_frame,!tmp_frame.does_not_change()); +Index: src/storyscreen/render.cpp +=================================================================== +--- src/storyscreen/render.cpp (revision 54624) ++++ src/storyscreen/render.cpp (revision 54625) +@@ -22,7 +22,6 @@ + + #include "global.hpp" + #include "asserts.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "storyscreen/part.hpp" + #include "storyscreen/render.hpp" +@@ -34,6 +33,8 @@ + #include "text.hpp" + #include "video.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + #define WARN_NG LOG_STREAM(warn, log_engine) +@@ -167,7 +168,7 @@ + void part_ui::prepare_floating_images() + { + // Build floating image surfaces +- foreach(const floating_image& fi, p_.get_floating_images()) { ++ BOOST_FOREACH(const floating_image& fi, p_.get_floating_images()) { + imgs_.push_back( fi.get_render_input(scale_factor_, base_rect_) ); + } + } +@@ -190,7 +191,7 @@ + last_key_ = true; + + size_t fi_n = 0; +- foreach(floating_image::render_input& ri, imgs_) { ++ BOOST_FOREACH(floating_image::render_input& ri, imgs_) { + const floating_image& fi = p_.get_floating_images()[fi_n]; + + if(!ri.image.null()) { +Index: src/storyscreen/interface.cpp +=================================================================== +--- src/storyscreen/interface.cpp (revision 54624) ++++ src/storyscreen/interface.cpp (revision 54625) +@@ -19,7 +19,6 @@ + */ + + #include "global.hpp" +-#include "foreach.hpp" + #include "variable.hpp" + + #include "storyscreen/interface.hpp" +Index: src/storyscreen/controller.cpp +=================================================================== +--- src/storyscreen/controller.cpp (revision 54624) ++++ src/storyscreen/controller.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "storyscreen/render.hpp" + + #include "asserts.hpp" +-#include "foreach.hpp" + #include "variable.hpp" + + #include "display.hpp" +@@ -37,6 +36,8 @@ + #include "resources.hpp" + #include "widgets/button.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + #define LOG_NG LOG_STREAM(info, log_engine) +@@ -138,7 +139,7 @@ + // caching the scaled backgrounds can take over a decent amount of memory. + #ifndef LOW_MEM + std::vector< render_pointer_type > uis_; +- foreach(part_pointer_type p, parts_) { ++ BOOST_FOREACH(part_pointer_type p, parts_) { + ASSERT_LOG( p != NULL, "Ouch: hit NULL storyscreen part in collection" ); + render_pointer_type const rpt(new part_ui(*p, disp_, next_button, back_button, play_button)); + uis_.push_back(rpt); +Index: src/storyscreen/part.cpp +=================================================================== +--- src/storyscreen/part.cpp (revision 54624) ++++ src/storyscreen/part.cpp (revision 54625) +@@ -20,7 +20,6 @@ + + #include "global.hpp" + #include "asserts.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "resources.hpp" + #include "storyscreen/part.hpp" +Index: src/game.cpp +=================================================================== +--- src/game.cpp (revision 54624) ++++ src/game.cpp (revision 54625) +@@ -40,6 +40,7 @@ + #include + #include + ++#include + #include + #include + +@@ -218,7 +219,7 @@ + int read = 0; + + // use static preproc_define::read_pair(config) to make a object +- foreach ( const config::any_child &value, cfg.all_children_range() ) { ++ BOOST_FOREACH( const config::any_child &value, cfg.all_children_range() ) { + const preproc_map::value_type def = preproc_define::read_pair( value.cfg ); + input_macros[def.first] = def.second; + ++read; +@@ -245,7 +246,7 @@ + if ( cmdline_opts.preprocess_defines ) { + + // add the specified defines +- foreach ( const std::string &define, *cmdline_opts.preprocess_defines ) { ++ BOOST_FOREACH( const std::string &define, *cmdline_opts.preprocess_defines ) { + if (define.empty()){ + std::cerr << "empty define supplied\n"; + continue; +@@ -452,7 +453,7 @@ + const config &cfg = game->game_config().child("titlescreen_music"); + if (cfg) { + sound::play_music_repeatedly(game_config::title_music); +- foreach (const config &i, cfg.child_range("music")) { ++ BOOST_FOREACH(const config &i, cfg.child_range("music")) { + sound::play_music_config(i); + } + sound::commit_music_changes(); +Index: src/playsingle_controller.cpp +=================================================================== +--- src/playsingle_controller.cpp (revision 54624) ++++ src/playsingle_controller.cpp (revision 54625) +@@ -27,7 +27,6 @@ + #include "ai/game_info.hpp" + #include "ai/testing.hpp" + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_end_exceptions.hpp" + #include "game_events.hpp" + #include "game_preferences.hpp" +@@ -48,6 +47,8 @@ + #include "whiteboard/manager.hpp" + #include "util.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + #define LOG_NG LOG_STREAM(info, log_engine) +@@ -324,7 +325,7 @@ + LOG_NG << "in playsingle_controller::play_scenario()...\n"; + + // Start music. +- foreach (const config &m, level_.child_range("music")) { ++ BOOST_FOREACH(const config &m, level_.child_range("music")) { + sound::play_music_config(m); + } + sound::commit_music_changes(); +@@ -336,7 +337,7 @@ + + // Read sound sources + assert(soundsources_manager_ != NULL); +- foreach (const config &s, level_.child_range("sound_source")) { ++ BOOST_FOREACH(const config &s, level_.child_range("sound_source")) { + soundsource::sourcespec spec(s); + soundsources_manager_->add(spec); + } +@@ -906,14 +907,14 @@ + new_side["previous_recruits"] = can_recruit_str; + LOG_NG << "stored side in snapshot:\n" << new_side["save_id"] << std::endl; + //add the units of the recall list +- foreach(const unit& u, i->recall_list()) { ++ BOOST_FOREACH(const unit& u, i->recall_list()) { + config& new_unit = new_side.add_child("unit"); + u.write(new_unit); + } + } + } + //add any players from starting_pos that do not have a team in the current scenario +- foreach (const config &player_cfg, gamestate_.starting_pos.child_range("player")) { ++ BOOST_FOREACH(const config &player_cfg, gamestate_.starting_pos.child_range("player")) { + if (side_ids.count(player_cfg["save_id"]) == 0) { + LOG_NG << "stored inactive side in snapshot:\n" << player_cfg["save_id"] << std::endl; + gamestate_.snapshot.add_child("side", player_cfg); +@@ -938,7 +939,7 @@ + } + + int persistent_teams = 0; +- foreach (const team &t, teams_) { ++ BOOST_FOREACH(const team &t, teams_) { + if (t.persistent()) ++persistent_teams; + } + +@@ -953,7 +954,7 @@ + int turns_left = std::max(0, tod_manager_.number_of_turns() - turn()); + int finishing_bonus = (end_level.gold_bonus && turns_left > -1) ? + finishing_bonus_per_turn * turns_left : 0; +- foreach (const team &t, teams_) ++ BOOST_FOREACH(const team &t, teams_) + { + if (!t.persistent()) continue; + int carryover_gold = div100rounded((t.gold() + finishing_bonus) * end_level.carryover_percentage); +Index: src/controller_base.cpp +=================================================================== +--- src/controller_base.cpp (revision 54624) ++++ src/controller_base.cpp (revision 54625) +@@ -18,11 +18,12 @@ + + #include "dialogs.hpp" + #include "display.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "log.hpp" + #include "mouse_handler_base.hpp" + ++#include ++ + static lg::log_domain log_display("display"); + #define ERR_DP LOG_STREAM(err, log_display) + +@@ -144,7 +145,7 @@ + int dx = 0, dy = 0; + int scroll_threshold = (preferences::mouse_scroll_enabled()) + ? preferences::mouse_scroll_threshold() : 0; +- foreach (const theme::menu& m, get_display().get_theme().menus()) { ++ BOOST_FOREACH(const theme::menu& m, get_display().get_theme().menus()) { + if (point_in_rect(mousex, mousey, m.get_location())) { + scroll_threshold = 0; + } +Index: src/gamestatus.cpp +=================================================================== +--- src/gamestatus.cpp (revision 54624) ++++ src/gamestatus.cpp (revision 54625) +@@ -24,7 +24,6 @@ + #include "gamestatus.hpp" + + #include "actions.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "log.hpp" + #include "game_preferences.hpp" +@@ -42,6 +41,7 @@ + #include "whiteboard/side_actions.hpp" + + #include ++#include + + #ifndef _MSC_VER + #include +@@ -178,9 +178,9 @@ + tags.push_back("side"); + tags.push_back("player"); //merge [player] tags for backwards compatibility of saves + +- foreach (const std::string& side_tag, tags) ++ BOOST_FOREACH(const std::string& side_tag, tags) + { +- foreach (config &carryover_side, source->child_range(side_tag)) ++ BOOST_FOREACH(config &carryover_side, source->child_range(side_tag)) + { + config *scenario_side = NULL; + +@@ -226,13 +226,13 @@ + (*scenario_side)["color"] = carryover_side["color"]; + + //add recallable units +- foreach (const config &u, carryover_side.child_range("unit")) { ++ BOOST_FOREACH(const config &u, carryover_side.child_range("unit")) { + scenario_side->add_child("unit", u); + } + } + } + } else { +- foreach(const config &snapshot_side, source->child_range("side")) { ++ BOOST_FOREACH(const config &snapshot_side, source->child_range("side")) { + //take all side tags and add them as players (assuming they only contain carryover information) + cfg.add_child("player", snapshot_side); + } +@@ -306,7 +306,7 @@ + //See also playcampaign::play_game, where after finishing the scenario the replay + //will be saved. + if(!starting_pos.empty()) { +- foreach (const config &p, cfg.child_range("player")) { ++ BOOST_FOREACH(const config &p, cfg.child_range("player")) { + config& cfg_player = starting_pos.add_child("player"); + cfg_player.merge_with(p); + } +@@ -400,7 +400,7 @@ + std::string leader; + std::string leader_image; + +- //foreach (const config &p, cfg_save.child_range("player")) ++ //BOOST_FOREACH(const config &p, cfg_save.child_range("player")) + //{ + // if (utils::string_bool(p["canrecruit"], false)) { + // leader = p["save_id"]; +@@ -413,7 +413,7 @@ + //{ + if (const config &snapshot = *(has_snapshot ? &cfg_snapshot : &cfg_replay_start)) + { +- foreach (const config &side, snapshot.child_range("side")) ++ BOOST_FOREACH(const config &side, snapshot.child_range("side")) + { + if (side["controller"] != "human") { + continue; +@@ -430,7 +430,7 @@ + break; + } + +- foreach (const config &u, side.child_range("unit")) ++ BOOST_FOREACH(const config &u, side.child_range("unit")) + { + if (u["canrecruit"].to_bool()) { + leader = u["id"].str(); +@@ -794,7 +794,7 @@ + // can be recruited for the player, add them. + if (!player_cfg_) return; + if (const config::attribute_value *v = player_cfg_->get("previous_recruits")) { +- foreach (const std::string &rec, utils::split(*v)) { ++ BOOST_FOREACH(const std::string &rec, utils::split(*v)) { + DBG_NG_TC << "adding previous recruit: " << rec << '\n'; + t_->add_recruit(rec); + } +@@ -857,7 +857,7 @@ + if (!side_cfg_["no_leader"].to_bool() && side_cfg_["controller"] != "null") { + handle_leader(side_cfg_); + } +- foreach (const config &l, side_cfg_.child_range("leader")) { ++ BOOST_FOREACH(const config &l, side_cfg_.child_range("leader")) { + handle_leader(l); + } + } +@@ -871,13 +871,13 @@ + //only relevant in start-of-scenario saves, that's why !shapshot + //units that are in '[scenario][side]' are 'first' + //for create-or-recall semantics to work: for each unit with non-empty id, unconditionally put OTHER, later, units with same id directly to recall list, not including them in unit_configs_ +- foreach(const config &u, (*player_cfg_).child_range("unit")) { ++ BOOST_FOREACH(const config &u, (*player_cfg_).child_range("unit")) { + handle_unit(u,"player_cfg"); + } + + } else { + //units in [side] +- foreach (const config &su, side_cfg_.child_range("unit")) { ++ BOOST_FOREACH(const config &su, side_cfg_.child_range("unit")) { + handle_unit(su, "side_cfg"); + } + } +@@ -902,7 +902,7 @@ + "allow_changes", "faction_name", "user_description", "faction" }; + + log_step("place units"); +- foreach (const config *u, unit_configs_) { ++ BOOST_FOREACH(const config *u, unit_configs_) { + unit_creator uc(*t_,map_.starting_position(side_)); + uc + .allow_add_to_recall(true) +@@ -913,7 +913,7 @@ + .allow_show(false); + + config cfg = *u; +- foreach (const char *attr, side_attrs) { ++ BOOST_FOREACH(const char *attr, side_attrs) { + cfg.remove_attribute(attr); + } + uc.add_unit(cfg); +@@ -953,7 +953,7 @@ + void game_state::set_menu_items(const config::const_child_itors &menu_items) + { + clear_wmi(wml_menu_items); +- foreach (const config &item, menu_items) ++ BOOST_FOREACH(const config &item, menu_items) + { + std::string id = item["id"]; + wml_menu_item*& mref = wml_menu_items[id]; +Index: src/log.cpp +=================================================================== +--- src/log.cpp (revision 54624) ++++ src/log.cpp (revision 54625) +@@ -25,8 +25,9 @@ + #include "SDL.h" + + #include "log.hpp" +-#include "foreach.hpp" + ++#include ++ + #include + #include + #include +@@ -88,11 +89,11 @@ + { + std::string::size_type s = name.size(); + if (name == "all") { +- foreach (logd &l, *domains) { ++ BOOST_FOREACH(logd &l, *domains) { + l.second = severity; + } + } else if (s > 2 && name.compare(s - 2, 2, "/*") == 0) { +- foreach (logd &l, *domains) { ++ BOOST_FOREACH(logd &l, *domains) { + if (l.first.compare(0, s - 1, name, 0, s - 1) == 0) + l.second = severity; + } +@@ -108,7 +109,7 @@ + std::string list_logdomains(const std::string& filter) + { + std::ostringstream res; +- foreach (logd &l, *domains) { ++ BOOST_FOREACH(logd &l, *domains) { + if(l.first.find(filter) != std::string::npos) + res << l.first << "\n"; + } +Index: src/replay_controller.cpp +=================================================================== +--- src/replay_controller.cpp (revision 54624) ++++ src/replay_controller.cpp (revision 54625) +@@ -16,7 +16,6 @@ + + #include "global.hpp" + +-#include "foreach.hpp" + #include "game_end_exceptions.hpp" + #include "game_events.hpp" + #include "gettext.hpp" +@@ -27,6 +26,8 @@ + #include "resources.hpp" + #include "savegame.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define DBG_NG LOG_STREAM(debug, log_engine) + +@@ -417,7 +418,7 @@ + finish_side_turn(); + + // This is necessary for replays in order to show possible movements. +- foreach (unit &u, units_) { ++ BOOST_FOREACH(unit &u, units_) { + if (u.side() != player_number_) { + u.new_turn(); + } +Index: src/multiplayer_ui.cpp +=================================================================== +--- src/multiplayer_ui.cpp (revision 54624) ++++ src/multiplayer_ui.cpp (revision 54625) +@@ -16,7 +16,6 @@ + #include "global.hpp" + + #include "construct_dialog.hpp" +-#include "foreach.hpp" + #include "gamestatus.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" +@@ -33,6 +32,8 @@ + #include "wml_separators.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define LOG_NG LOG_STREAM(info, log_engine) + #define ERR_NG LOG_STREAM(err, log_engine) +@@ -163,9 +164,9 @@ + state.starting_pos.child_range("side"); + config::const_child_itors level_sides = level.child_range("side"); + +- foreach (config &side, saved_sides) ++ BOOST_FOREACH(config &side, saved_sides) + { +- foreach (const config &lside, level_sides) ++ BOOST_FOREACH(const config &lside, level_sides) + { + if (side["side"] == lside["side"] && + (side["current_player"] != lside["current_player"] || +@@ -599,7 +600,7 @@ + if (const config &ms = c.child("members")) { + std::stringstream ss; + ss << "Room " << c["room"].str() << " members: "; +- foreach (const config& m, ms.child_range("member")) { ++ BOOST_FOREACH(const config& m, ms.child_range("member")) { + ss << m["name"] << " "; + } + chat_.add_message(time(NULL), "server", ss.str()); +@@ -608,7 +609,7 @@ + if (const config &rs = c.child("rooms")) { + std::stringstream ss; + ss << "Rooms: "; +- foreach (const config& r, rs.child_range("room")) { ++ BOOST_FOREACH(const config& r, rs.child_range("room")) { + ss << r["name"].str() << "(" << r["size"].str() << ") "; + } + chat_.add_message(time(NULL), "server", ss.str()); +@@ -706,7 +707,7 @@ + { + std::list u_list; + +- foreach (const config &user, gamelist_.child_range("user")) ++ BOOST_FOREACH(const config &user, gamelist_.child_range("user")) + { + user_info u_elem; + u_elem.name = user["name"].str(); +@@ -848,12 +849,12 @@ + } + + int res = -1, index = 0, best_score = 0; +- foreach (const config *faction, fl) ++ BOOST_FOREACH(const config *faction, fl) + { + int faction_score = 0; + std::vector recruit = utils::split((*faction)[search_field]); +- foreach (const std::string &search, find) { +- foreach (const std::string &r, recruit) { ++ BOOST_FOREACH(const std::string &search, find) { ++ BOOST_FOREACH(const std::string &r, recruit) { + if (r == search) { + ++faction_score; + break; +Index: src/display.cpp +=================================================================== +--- src/display.cpp (revision 54624) ++++ src/display.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "builder.hpp" + #include "cursor.hpp" + #include "display.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" + #include "halo.hpp" +@@ -41,6 +40,8 @@ + + #include "SDL_image.h" + ++#include ++ + #ifdef __SUNPRO_CC + // GCC doesn't have hypot in cmath so include it for Sun Studio + #include +@@ -629,7 +630,7 @@ + // now get the surfaces + std::vector res; + +- foreach(std::string& name, names) { ++ BOOST_FOREACH(std::string& name, names) { + const surface surf(image::get_image(name, image_type)); + if (surf) + res.push_back(surf); +@@ -828,8 +829,8 @@ + * layergroup > location > layer > 'tblit' > surface + */ + +- foreach(const tblit &blit, drawing_buffer_) { +- foreach(const surface& surf, blit.surf()) { ++ BOOST_FOREACH(const tblit &blit, drawing_buffer_) { ++ BOOST_FOREACH(const surface& surf, blit.surf()) { + // Note that dstrect can be changed by sdl_blit + // and so a new instance should be initialized + // to pass to each call to sdl_blit. +@@ -1903,7 +1904,7 @@ + int ticks3 = SDL_GetTicks(); + LOG_DP << "invalidate and draw: " << (ticks3 - ticks2) << " and " << (ticks2 - ticks1) << "\n"; + +- foreach (boost::function f, redraw_observers_) { ++ BOOST_FOREACH(boost::function f, redraw_observers_) { + f(*this); + } + +@@ -1992,7 +1993,7 @@ + SDL_Rect clip_rect = get_clip_rect(); + surface screen = get_screen_surface(); + clip_rect_setter set_clip_rect(screen, &clip_rect); +- foreach (const map_location& loc, invalidated_) { ++ BOOST_FOREACH(const map_location& loc, invalidated_) { + int xpos = get_location_x(loc); + int ypos = get_location_y(loc); + +@@ -2058,7 +2059,7 @@ + // Paint arrows + arrows_map_t::const_iterator arrows_in_hex = arrows_map_.find(loc); + if(arrows_in_hex != arrows_map_.end()) { +- foreach(arrow* const a, arrows_in_hex->second) { ++ BOOST_FOREACH(arrow* const a, arrows_in_hex->second) { + a->draw_hex(loc); + } + } +@@ -2388,7 +2389,7 @@ + if(invalidateAll_) + return false; + bool ret = false; +- foreach (const map_location& loc, locs) { ++ BOOST_FOREACH(const map_location& loc, locs) { + #ifdef _OPENMP + #pragma omp critical(invalidated_) + #endif //_OPENMP +@@ -2438,7 +2439,7 @@ + return false; + + bool result = false; +- foreach (const map_location &loc, hexes_under_rect(rect)) { ++ BOOST_FOREACH(const map_location &loc, hexes_under_rect(rect)) { + result |= invalidate(loc); + } + return result; +@@ -2450,7 +2451,7 @@ + animate_map_ = preferences::animate_map(); + if (!animate_map_) return; + +- foreach (const map_location &loc, get_visible_hexes()) ++ BOOST_FOREACH(const map_location &loc, get_visible_hexes()) + { + if (shrouded(loc)) continue; + if (builder_->update_animation(loc)) { +@@ -2464,7 +2465,7 @@ + void display::add_arrow(arrow& arrow) + { + const arrow_path_t & arrow_path = arrow.get_path(); +- foreach (const map_location& loc, arrow_path) ++ BOOST_FOREACH(const map_location& loc, arrow_path) + { + arrows_map_[loc].push_back(&arrow); + } +@@ -2473,7 +2474,7 @@ + void display::remove_arrow(arrow& arrow) + { + const arrow_path_t & arrow_path = arrow.get_path(); +- foreach (const map_location& loc, arrow_path) ++ BOOST_FOREACH(const map_location& loc, arrow_path) + { + arrows_map_[loc].remove(&arrow); + } +@@ -2482,12 +2483,12 @@ + void display::update_arrow(arrow & arrow) + { + const arrow_path_t & previous_path = arrow.get_previous_path(); +- foreach (const map_location& loc, previous_path) ++ BOOST_FOREACH(const map_location& loc, previous_path) + { + arrows_map_[loc].remove(&arrow); + } + const arrow_path_t & arrow_path = arrow.get_path(); +- foreach (const map_location& loc, arrow_path) ++ BOOST_FOREACH(const map_location& loc, arrow_path) + { + arrows_map_[loc].push_back(&arrow); + } +Index: src/about.cpp +=================================================================== +--- src/about.cpp (revision 54624) ++++ src/about.cpp (revision 54625) +@@ -22,10 +22,11 @@ + + #include "construct_dialog.hpp" + #include "display.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "marked-up_text.hpp" + ++#include ++ + /** + * @namespace about + * Display credits %about all contributors. +@@ -52,7 +53,7 @@ + } + + std::vector lines = utils::split(c["text"], '\n'); +- foreach (std::string &line, lines) ++ BOOST_FOREACH(std::string &line, lines) + { + if (line.size() > 1 && line[0] == '+') + line = "+ " + line.substr(1); +@@ -67,7 +68,7 @@ + } + } + +- foreach (const config &entry, c.child_range("entry")) { ++ BOOST_FOREACH(const config &entry, c.child_range("entry")) { + res.push_back("- "+ entry["name"].str()); + } + } +@@ -80,7 +81,7 @@ + config::child_itors about_entries = about_list.child_range("about"); + + if (!campaign.empty()) { +- foreach (const config &about, about_entries) { ++ BOOST_FOREACH(const config &about, about_entries) { + // just finished a particular campaign + if (campaign == about["id"]) { + add_lines(res, about); +@@ -88,7 +89,7 @@ + } + } + +- foreach (const config &about, about_entries) { ++ BOOST_FOREACH(const config &about, about_entries) { + add_lines(res, about); + } + +@@ -101,7 +102,7 @@ + images.clear(); + images_default = ""; + +- foreach (const config &about, cfg.child_range("about")) ++ BOOST_FOREACH(const config &about, cfg.child_range("about")) + { + about_list.add_child("about", about); + const std::string &im = about["images"]; +@@ -114,7 +115,7 @@ + } + } + +- foreach (const config &campaign, cfg.child_range("campaign")) ++ BOOST_FOREACH(const config &campaign, cfg.child_range("campaign")) + { + config::const_child_itors abouts = campaign.child_range("about"); + if (abouts.first == abouts.second) continue; +@@ -126,7 +127,7 @@ + temp["id"] = id; + std::string campaign_images; + +- foreach (const config &about, abouts) ++ BOOST_FOREACH(const config &about, abouts) + { + const std::string &subtitle = about["title"]; + if (!subtitle.empty()) +@@ -139,12 +140,12 @@ + text << '\n'; + } + +- foreach (const std::string &line, utils::split(about["text"], '\n')) ++ BOOST_FOREACH(const std::string &line, utils::split(about["text"], '\n')) + { + text << " " << line << '\n'; + } + +- foreach (const config &entry, about.child_range("entry")) ++ BOOST_FOREACH(const config &entry, about.child_range("entry")) + { + text << " " << entry["name"] << '\n'; + } +Index: src/arrow.cpp +=================================================================== +--- src/arrow.cpp (revision 54624) ++++ src/arrow.cpp (revision 54625) +@@ -20,11 +20,12 @@ + + #include "arrow.hpp" + +-#include "foreach.hpp" + #include "game_display.hpp" + #include "log.hpp" + #include "resources.hpp" + ++#include ++ + static lg::log_domain log_arrows("arrows"); + #define ERR_ARR LOG_STREAM(err, log_arrows) + #define WRN_ARR LOG_STREAM(warn, log_arrows) +@@ -293,7 +294,7 @@ + { + if(!SCREEN) return; + +- foreach(map_location const& loc, path) ++ BOOST_FOREACH(map_location const& loc, path) + { + SCREEN->invalidate(loc); + } +Index: src/game_display.cpp +=================================================================== +--- src/game_display.cpp (revision 54624) ++++ src/game_display.cpp (revision 54625) +@@ -34,7 +34,6 @@ + Growl_Delegate growl_obj; + #endif + +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "halo.hpp" + #include "log.hpp" +@@ -47,6 +46,8 @@ + #include "sound.hpp" + #include "whiteboard/manager.hpp" + ++#include ++ + static lg::log_domain log_display("display"); + #define ERR_DP LOG_STREAM(err, log_display) + #define LOG_DP LOG_STREAM(info, log_display) +@@ -297,7 +298,7 @@ + halo::unrender(invalidated_); + display::draw_invalidated(); + +- foreach(unit* temp_unit, fake_units_) { ++ BOOST_FOREACH(unit* temp_unit, fake_units_) { + const map_location& loc = temp_unit->get_location(); + exclusive_unit_draw_requests_t::iterator request = exclusive_unit_draw_requests_.find(loc); + if (invalidated_.find(loc) != invalidated_.end() +@@ -305,7 +306,7 @@ + temp_unit->redraw_unit(); + } + +- foreach (const map_location& loc, invalidated_) { ++ BOOST_FOREACH(const map_location& loc, invalidated_) { + unit_map::iterator u_it = units_.find(loc); + exclusive_unit_draw_requests_t::iterator request = exclusive_unit_draw_requests_.find(loc); + if (u_it != units_.end() +@@ -451,7 +452,7 @@ + + // We display the unit the mouse is over if it is over a unit, + // otherwise we display the unit that is selected. +- foreach (const std::string &name, reports::report_list()) { ++ BOOST_FOREACH(const std::string &name, reports::report_list()) { + draw_report(name); + } + invalidateGameStatus_ = false; +@@ -744,7 +745,7 @@ + void game_display::highlight_another_reach(const pathfind::paths &paths_list) + { + // Fold endpoints of routes into reachability map. +- foreach (const pathfind::paths::step &dest, paths_list.destinations) { ++ BOOST_FOREACH(const pathfind::paths::step &dest, paths_list.destinations) { + reach_map_[dest.curr]++; + } + reach_map_changed_ = true; +@@ -897,17 +898,17 @@ + void game_display::invalidate_animations() + { + display::invalidate_animations(); +- foreach (unit& u, units_) { ++ BOOST_FOREACH(unit& u, units_) { + u.refresh(); + } +- foreach(unit* temp_unit, fake_units_) { ++ BOOST_FOREACH(unit* temp_unit, fake_units_) { + temp_unit->refresh(); + } + std::vector unit_list; +- foreach (unit &u, units_) { ++ BOOST_FOREACH(unit &u, units_) { + unit_list.push_back(&u); + } +- foreach (unit *u, fake_units_) { ++ BOOST_FOREACH(unit *u, fake_units_) { + unit_list.push_back(u); + } + bool new_inval; +@@ -1079,7 +1080,7 @@ + { + const team& curr_team = teams_[playing_team()]; + const team& prev_team = teams_[playing_team()-1 < teams_.size() ? playing_team()-1 : teams_.size()-1]; +- foreach (const game_display::overlay_map::value_type i, overlays_) { ++ BOOST_FOREACH(const game_display::overlay_map::value_type i, overlays_) { + const overlay& ov = i.second; + if (!ov.team_name.empty() && + ((ov.team_name.find(curr_team.team_name()) + 1) != 0) != +@@ -1485,7 +1486,7 @@ + } + } + +- foreach (const chat_message &cm, chat_messages_) { ++ BOOST_FOREACH(const chat_message &cm, chat_messages_) { + font::move_floating_label(cm.speaker_handle, 0, - movement); + font::move_floating_label(cm.handle, 0, - movement); + } +Index: src/formula_function.cpp +=================================================================== +--- src/formula_function.cpp (revision 54624) ++++ src/formula_function.cpp (revision 54625) +@@ -16,14 +16,14 @@ + #include "global.hpp" + + +-//#include "foreach.hpp" + #include "callable_objects.hpp" +-#include "foreach.hpp" + #include "formula_debugger.hpp" + #include "formula_function.hpp" + #include "game_display.hpp" + #include "log.hpp" + ++#include ++ + #ifdef HAVE_VISUAL_LEAK_DETECTOR + #include "vld.h" + #endif +@@ -46,7 +46,7 @@ + s << get_name(); + s << '('; + bool first_arg = true; +- foreach(expression_ptr a , args()) { ++ BOOST_FOREACH(expression_ptr a , args()) { + if (!first_arg) { + s << ','; + } else { +@@ -451,7 +451,7 @@ + + std::string result; + +- foreach(expression_ptr arg, args()) { ++ BOOST_FOREACH(expression_ptr arg, args()) { + result += arg->evaluate(variables, fdb).string_cast(); + } + +Index: src/unit_map.cpp +=================================================================== +--- src/unit_map.cpp (revision 54624) ++++ src/unit_map.cpp (revision 54625) +@@ -17,13 +17,14 @@ + /** @file */ + + #include "unit_id.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "unit.hpp" + + #include + #include "unit_map.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + #define WRN_NG LOG_STREAM(warn, log_engine) +@@ -444,7 +445,7 @@ + { + assert(u); + +- foreach(const unit_pod& item, ilist_) { ++ BOOST_FOREACH(const unit_pod& item, ilist_) { + if(item.unit == u) { + return true; + } +Index: src/pathfind/teleport.cpp +=================================================================== +--- src/pathfind/teleport.cpp (revision 54624) ++++ src/pathfind/teleport.cpp (revision 54625) +@@ -19,7 +19,7 @@ + #include "log.hpp" + #include "resources.hpp" + +-#include "foreach.hpp" ++#include + + static lg::log_domain log_engine("engine"); + #define ERR_PF LOG_STREAM(err, log_engine) +@@ -108,16 +108,16 @@ + , targets_() + { + +- foreach(const teleport_group& group, groups) { ++ BOOST_FOREACH(const teleport_group& group, groups) { + + teleport_pair locations; + group.get_teleport_pair(locations, u, ignore_units); + if (!see_all && !group.always_visible() && viewing_team.is_enemy(u.side())) { + teleport_pair filter_locs; +- foreach(const map_location &loc, locations.first) ++ BOOST_FOREACH(const map_location &loc, locations.first) + if(!viewing_team.fogged(loc)) + filter_locs.first.insert(loc); +- foreach(const map_location &loc, locations.second) ++ BOOST_FOREACH(const map_location &loc, locations.second) + if(!viewing_team.fogged(loc)) + filter_locs.second.insert(loc); + locations.first.swap(filter_locs.first); +Index: src/pathfind/astarsearch.cpp +=================================================================== +--- src/pathfind/astarsearch.cpp (revision 54624) ++++ src/pathfind/astarsearch.cpp (revision 54625) +@@ -20,7 +20,6 @@ + #include "map.hpp" + #include "pathfind/pathfind.hpp" + #include "pathfind/teleport.hpp" +-#include "foreach.hpp" + + #include + #include +Index: src/pathfind/pathfind.cpp +=================================================================== +--- src/pathfind/pathfind.cpp (revision 54624) ++++ src/pathfind/pathfind.cpp (revision 54625) +@@ -24,7 +24,6 @@ + #include "pathfind/pathfind.hpp" + #include "pathfind/teleport.hpp" + +-#include "foreach.hpp" + #include "game_display.hpp" + #include "gettext.hpp" + #include "log.hpp" +@@ -35,6 +34,8 @@ + #include "unit_map.hpp" + #include "wml_exception.hpp" + ++#include ++ + #include + #include + #include +@@ -59,7 +60,7 @@ + std::set tiles_checking; + tiles_checking.swap(pending_tiles_to_check); + //Iterate over all the hexes we need to check +- foreach (const map_location &loc, tiles_checking) ++ BOOST_FOREACH(const map_location &loc, tiles_checking) + { + //If this area is not a castle but should, skip it. + if (vacancy == pathfind::VACANT_CASTLE && !map.is_castle(loc)) continue; +@@ -76,7 +77,7 @@ + if (units.find(loc) == units.end() && !pass_check_and_unreachable) return loc; + map_location adjs[6]; + get_adjacent_tiles(loc,adjs); +- foreach (const map_location &loc, adjs) ++ BOOST_FOREACH(const map_location &loc, adjs) + { + if (!map.on_board(loc)) continue; + // Add the tile to be checked if it hasn't already been and +Index: src/time_of_day.cpp +=================================================================== +--- src/time_of_day.cpp (revision 54624) ++++ src/time_of_day.cpp (revision 54625) +@@ -16,9 +16,9 @@ + /** @file */ + + #include "config.hpp" +-#include "foreach.hpp" + #include "time_of_day.hpp" + ++#include + + std::ostream &operator<<(std::ostream &s, const tod_color& c){ + s << c.r << "," << c.g << "," << c.b; +@@ -62,7 +62,7 @@ + + void time_of_day::parse_times(const config& cfg, std::vector& normal_times) + { +- foreach (const config &t, cfg.child_range("time")) { ++ BOOST_FOREACH(const config &t, cfg.child_range("time")) { + normal_times.push_back(time_of_day(t)); + } + +Index: src/persist_manager.cpp +=================================================================== +--- src/persist_manager.cpp (revision 54624) ++++ src/persist_manager.cpp (revision 54625) +@@ -16,7 +16,7 @@ + #include "persist_context.hpp" + #include "persist_manager.hpp" + +-#include "foreach.hpp" ++#include + + persist_context &persist_manager::get_context(const std::string &ns) + { +@@ -36,7 +36,7 @@ + bool persist_manager::start_transaction() { + if (in_transaction_) return false; + bool result = true; +- foreach (context_map::reference ctx, contexts_){ ++ BOOST_FOREACH(context_map::reference ctx, contexts_){ + result &= ctx.second->start_transaction(); + } + in_transaction_ = true; +@@ -46,7 +46,7 @@ + bool persist_manager::end_transaction() { + if (!in_transaction_) return false; + bool result = true; +- foreach (context_map::reference ctx, contexts_){ ++ BOOST_FOREACH(context_map::reference ctx, contexts_){ + result &= ctx.second->end_transaction(); + } + in_transaction_ = !result; +@@ -56,7 +56,7 @@ + bool persist_manager::cancel_transaction() { + if (!in_transaction_) return false; + bool result = true; +- foreach (context_map::reference ctx, contexts_){ ++ BOOST_FOREACH(context_map::reference ctx, contexts_){ + result &= ctx.second->cancel_transaction(); + } + in_transaction_ = false; +Index: src/side_filter.cpp +=================================================================== +--- src/side_filter.cpp (revision 54624) ++++ src/side_filter.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "global.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "resources.hpp" + #include "side_filter.hpp" +@@ -26,6 +25,8 @@ + #include "team.hpp" + #include "serialization/string_utils.hpp" + ++#include ++ + static lg::log_domain log_engine_sf("engine/side_filter"); + #define ERR_NG LOG_STREAM(err, log_engine_sf) + +@@ -61,7 +62,7 @@ + { + //@todo: replace with better implementation + std::vector result; +- foreach (const team &t, *resources::teams) { ++ BOOST_FOREACH(const team &t, *resources::teams) { + if (match(t)) { + result.push_back(t.side()); + } +@@ -109,7 +110,7 @@ + else { + const std::vector& these_team_names = utils::split(this_team_name); + bool search_futile = true; +- foreach(const std::string& this_single_team_name, these_team_names) { ++ BOOST_FOREACH(const std::string& this_single_team_name, these_team_names) { + if(this_single_team_name == that_team_name) { + search_futile = false; + break; +@@ -123,7 +124,7 @@ + if(cfg_.has_child("has_unit")) { + const vconfig& unit_filter = cfg_.child("has_unit"); + bool found = false; +- foreach (unit &u, *resources::units) { ++ BOOST_FOREACH(unit &u, *resources::units) { + if (u.side() != t.side()) { + continue; + } +@@ -134,7 +135,7 @@ + } + if(!found && unit_filter["search_recall_list"].to_bool(false)) { + const std::vector& recall_list = t.recall_list(); +- foreach(const unit& u, recall_list) { ++ BOOST_FOREACH(const unit& u, recall_list) { + scoped_recall_unit this_unit("this_unit", t.save_id(), &u - &recall_list[0]); + if(u.matches_filter(unit_filter, u.get_location(), flat_)) { + found = true; +@@ -152,7 +153,7 @@ + side_filter s_filter(enemy_of); + const std::vector& teams = s_filter.get_teams(); + if(teams.empty()) return false; +- foreach(const int side, teams) { ++ BOOST_FOREACH(const int side, teams) { + if(!(*resources::teams)[side - 1].is_enemy(t.side())) + return false; + } +@@ -163,7 +164,7 @@ + side_filter s_filter(allied_with); + const std::vector& teams = s_filter.get_teams(); + if(teams.empty()) return false; +- foreach(const int side, teams) { ++ BOOST_FOREACH(const int side, teams) { + if((*resources::teams)[side - 1].is_enemy(t.side())) + return false; + } +Index: src/theme.cpp +=================================================================== +--- src/theme.cpp (revision 54624) ++++ src/theme.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "global.hpp" + + #include "font.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "hotkeys.hpp" + #include "log.hpp" +@@ -26,6 +25,7 @@ + #include "theme.hpp" + #include "wml_exception.hpp" + ++#include + + static lg::log_domain log_display("display"); + #define DBG_DP LOG_STREAM(debug, log_display) +@@ -162,7 +162,7 @@ + { + std::vector res_cfgs_; + // resolve all the partialresolutions +- foreach (const config &part, top_cfg.child_range("partialresolution")) ++ BOOST_FOREACH(const config &part, top_cfg.child_range("partialresolution")) + { + // follow the inheritance hierarchy and push all the nodes on the stack + std::vector parent_stack(1, &part); +@@ -182,11 +182,11 @@ + while (!parent_stack.empty()) { + //override attributes + res_cfgs_.back().merge_attributes(*parent_stack.back()); +- foreach (const config &rm, parent_stack.back()->child_range("remove")) { ++ BOOST_FOREACH(const config &rm, parent_stack.back()->child_range("remove")) { + find_ref(rm["id"], res_cfgs_.back(), true); + } + +- foreach (const config &chg, parent_stack.back()->child_range("change")) ++ BOOST_FOREACH(const config &chg, parent_stack.back()->child_range("change")) + { + config &target = find_ref(chg["id"], res_cfgs_.back()); + target.merge_attributes(chg); +@@ -195,7 +195,7 @@ + // cannot add [status] sub-elements, but who cares + if (const config &c = parent_stack.back()->child("add")) + { +- foreach (const config::any_child &j, c.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &j, c.all_children_range()) { + res_cfgs_.back().add_child(j.key, j.cfg); + } + } +@@ -204,7 +204,7 @@ + } + } + // Add all the resolutions +- foreach (const config &res, top_cfg.child_range("resolution")) { ++ BOOST_FOREACH(const config &res, top_cfg.child_range("resolution")) { + dst_cfg.add_child("resolution", res); + } + // Add all the resolved resolutions +@@ -217,7 +217,7 @@ + static void do_resolve_rects(const config& cfg, config& resolved_config, config* resol_cfg = NULL) { + + // recursively resolve children +- foreach (const config::any_child &value, cfg.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &value, cfg.all_children_range()) { + config &childcfg = resolved_config.add_child(value.key); + do_resolve_rects(value.cfg, childcfg, + value.key == "resolution" ? &childcfg : resol_cfg); +@@ -549,7 +549,7 @@ + + int current_rating = 1000000; + const config *current = NULL; +- foreach (const config &i, cfg_.child_range("resolution")) ++ BOOST_FOREACH(const config &i, cfg_.child_range("resolution")) + { + int width = i["width"]; + int height = i["height"]; +@@ -611,7 +611,7 @@ + + if (const config &status_cfg = cfg.child("status")) + { +- foreach (const config::any_child &i, status_cfg.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &i, status_cfg.all_children_range()) { + status_.insert(std::pair(i.key, status_item(i.cfg))); + } + if (const config &unit_image_cfg = status_cfg.child("unit_image")) { +@@ -621,19 +621,19 @@ + } + } + +- foreach (const config &p, cfg.child_range("panel")) { ++ BOOST_FOREACH(const config &p, cfg.child_range("panel")) { + panel new_panel(p); + set_object_location(new_panel, p["rect"], p["ref"]); + panels_.push_back(new_panel); + } + +- foreach (const config &lb, cfg.child_range("label")) { ++ BOOST_FOREACH(const config &lb, cfg.child_range("label")) { + label new_label(lb); + set_object_location(new_label, lb["rect"], lb["ref"]); + labels_.push_back(new_label); + } + +- foreach (const config &m, cfg.child_range("menu")) ++ BOOST_FOREACH(const config &m, cfg.child_range("menu")) + { + menu new_menu(m); + DBG_DP << "adding menu: " << (new_menu.is_context() ? "is context" : "not context") << "\n"; +@@ -699,7 +699,7 @@ + } + + // Change existing theme objects. +- foreach (const config &c, cfg.child_range("change")) ++ BOOST_FOREACH(const config &c, cfg.child_range("change")) + { + std::string id = c["id"]; + std::string ref_id = c["ref"]; +@@ -709,12 +709,12 @@ + } + + // Add new theme objects. +- foreach (const config &c, cfg.child_range("add")) { ++ BOOST_FOREACH(const config &c, cfg.child_range("add")) { + add_object(c); + } + + // Remove existent theme objects. +- foreach (const config &c, cfg.child_range("remove")) { ++ BOOST_FOREACH(const config &c, cfg.child_range("remove")) { + remove_object(c["id"]); + } + +@@ -758,7 +758,7 @@ + if (!cfg) + return; + +- foreach (const config &thm, cfg->child_range("theme")) ++ BOOST_FOREACH(const config &thm, cfg->child_range("theme")) + { + std::string thm_name = thm["name"]; + if (!thm["hidden"].to_bool(false)) +@@ -778,7 +778,7 @@ + + const theme::menu *theme::get_menu_item(const std::string &key) const + { +- foreach (const theme::menu &m, menus_) { ++ BOOST_FOREACH(const theme::menu &m, menus_) { + if (m.get_id() == key) return &m; + } + return NULL; +Index: src/addon/manager.cpp +=================================================================== +--- src/addon/manager.cpp (revision 54624) ++++ src/addon/manager.cpp (revision 54625) +@@ -19,7 +19,6 @@ + #include "addon/manager.hpp" + #include "dialogs.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "formatter.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" +@@ -41,6 +40,8 @@ + #include "wml_separators.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + static lg::log_domain log_config("config"); + #define ERR_CFG LOG_STREAM(err , log_config) + #define LOG_CFG LOG_STREAM(info, log_config) +@@ -321,11 +322,11 @@ + + make_directory(dir); + +- foreach (const config &d, cfg.child_range("dir")) { ++ BOOST_FOREACH(const config &d, cfg.child_range("dir")) { + unarchive_dir(dir, d); + } + +- foreach (const config &f, cfg.child_range("file")) { ++ BOOST_FOREACH(const config &f, cfg.child_range("file")) { + unarchive_file(dir, f); + } + } +@@ -701,7 +702,7 @@ + std::string missing = ""; + size_t count_missing = 0; + +- foreach(const std::string& i, dependencies) { ++ BOOST_FOREACH(const std::string& i, dependencies) { + if (std::find(installed.begin(), installed.end(), i) == installed.end()) { + missing += "\n" + i; + ++count_missing; +@@ -717,7 +718,7 @@ + std::vector< std::string > unsafe_matches; + std::ostringstream unsafe_list; + std::map remote_version_map; +- foreach (const config &remote_addon, remote_addons_list) ++ BOOST_FOREACH(const config &remote_addon, remote_addons_list) + { + const std::string& name = remote_addon["name"]; + if (std::find(dependencies.begin(), dependencies.end(), name) != dependencies.end()) { +@@ -837,7 +838,7 @@ + if(!result) { + assert(failed_titles.empty() == false); + std::string failed_titles_list_fmt; +- foreach(const std::string& entry, failed_titles) { ++ BOOST_FOREACH(const std::string& entry, failed_titles) { + failed_titles_list_fmt += '\n'; + failed_titles_list_fmt += entry; + } +@@ -870,7 +871,7 @@ + std::vector safe_local_versions; + std::vector unsafe_local_versions; + std::map remote_version_map; +- foreach (const config &remote_addon, remote_addons_list) ++ BOOST_FOREACH(const config &remote_addon, remote_addons_list) + { + const std::string& name = remote_addon["name"]; + const std::string& version = remote_addon["version"]; +@@ -1065,7 +1066,7 @@ + if(!result) { + assert(failed_titles.empty() == false); + std::string failed_titles_list_fmt; +- foreach(const std::string& entry, failed_titles) { ++ BOOST_FOREACH(const std::string& entry, failed_titles) { + failed_titles_list_fmt += '\n'; + failed_titles_list_fmt += entry; + } +@@ -1090,7 +1091,7 @@ + const std::string& addon, + const std::vector& own_addons) + { +- foreach(const std::string& current_own_addon, own_addons) { ++ BOOST_FOREACH(const std::string& current_own_addon, own_addons) { + if(current_own_addon == addon) { + utils::string_map symbols; + symbols["addon"] = addon; +@@ -1171,7 +1172,7 @@ + + std::vector< addon_info > infos; + +- foreach(const config &c, addon_cfgs) ++ BOOST_FOREACH(const config &c, addon_cfgs) + { + const std::string& name = c["name"]; + const std::string& downloads = c["downloads"].str(); +@@ -1254,13 +1255,13 @@ + infos.push_back(inf); + } + +- foreach(const std::string& pub, publish_options) { ++ BOOST_FOREACH(const std::string& pub, publish_options) { + static const std::string publish_icon = "icons/icon-addon-publish.png"; + const std::string text = _("Publish add-on: ") + get_addon_name(pub); + options.push_back(IMAGE_PREFIX + publish_icon + COLUMN_SEPARATOR + font::GOOD_TEXT + text); + options_to_filter.push_back(text); + } +- foreach(const std::string& del, delete_options) { ++ BOOST_FOREACH(const std::string& del, delete_options) { + static const std::string delete_icon = "icons/icon-addon-delete.png"; + const std::string text = _("Delete add-on: ") + get_addon_name(del); + options.push_back(IMAGE_PREFIX + delete_icon + COLUMN_SEPARATOR + font::BAD_TEXT + text); +@@ -1408,7 +1409,7 @@ + + remove_names.clear(); + +- foreach(const std::string& id, remove_ids) { ++ BOOST_FOREACH(const std::string& id, remove_ids) { + remove_names.push_back(get_addon_name(id)); + } + +@@ -1425,7 +1426,7 @@ + + std::vector failed_names, skipped_names, succeeded_names; + +- foreach(const std::string& id, remove_ids) { ++ BOOST_FOREACH(const std::string& id, remove_ids) { + const std::string& name = get_addon_name(id); + + if(have_addon_pbl_info(id) || have_addon_in_vcs_tree(id)) { +@@ -1531,12 +1532,12 @@ + } + static const std::string parentd = get_addon_campaigns_dir(); + std::vector addon_info_files; +- foreach(std::string const& dir, addons) ++ BOOST_FOREACH(std::string const& dir, addons) + addon_info_files.push_back(parentd+"/"+dir+"/_info.cfg"); + + size_t i = 0; + +- foreach(std::string const& info_file, addon_info_files) { ++ BOOST_FOREACH(std::string const& info_file, addon_info_files) { + assert(i < addons.size()); + + std::string const& addon = addons[i]; +Index: src/addon/validation.cpp +=================================================================== +--- src/addon/validation.cpp (revision 54624) ++++ src/addon/validation.cpp (revision 54625) +@@ -17,8 +17,9 @@ + #include "global.hpp" + #include "addon/validation.hpp" + #include "config.hpp" +-#include "foreach.hpp" + ++#include ++ + #include + + const unsigned short default_campaignd_port = 15002; +@@ -44,10 +45,10 @@ + + bool check_names_legal(const config& dir) + { +- foreach (const config &path, dir.child_range("file")) { ++ BOOST_FOREACH(const config &path, dir.child_range("file")) { + if (!addon_name_legal(path["name"])) return false; + } +- foreach (const config &path, dir.child_range("dir")) { ++ BOOST_FOREACH(const config &path, dir.child_range("dir")) { + if (!addon_name_legal(path["name"])) return false; + if (!check_names_legal(path)) return false; + } +Index: src/mapgen.cpp +=================================================================== +--- src/mapgen.cpp (revision 54624) ++++ src/mapgen.cpp (revision 54625) +@@ -20,7 +20,6 @@ + + #include "global.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "language.hpp" + #include "log.hpp" +@@ -34,6 +33,7 @@ + #include "formula_string_utils.hpp" + #include "SDL.h" + ++#include + + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) +@@ -777,7 +777,7 @@ + + std::vector height_conversion; + +- foreach (const config &h, cfg.child_range("height")) { ++ BOOST_FOREACH(const config &h, cfg.child_range("height")) { + height_conversion.push_back(terrain_height_mapper(h)); + } + +@@ -912,7 +912,7 @@ + LOG_NG << (SDL_GetTicks() - ticks) << "\n"; ticks = SDL_GetTicks(); + + std::vector converters; +- foreach (const config &cv, cfg.child_range("convert")) { ++ BOOST_FOREACH(const config &cv, cfg.child_range("convert")) { + converters.push_back(terrain_converter(cv)); + } + +Index: src/cavegen.cpp +=================================================================== +--- src/cavegen.cpp (revision 54624) ++++ src/cavegen.cpp (revision 54625) +@@ -21,13 +21,14 @@ + #include "global.hpp" + + #include "cavegen.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "map.hpp" + #include "pathfind/pathfind.hpp" + #include "serialization/string_utils.hpp" + #include "util.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define LOG_NG LOG_STREAM(info, log_engine) + +@@ -147,7 +148,7 @@ + + void cave_map_generator::generate_chambers() + { +- foreach (const config &ch, cfg_.child_range("chamber")) ++ BOOST_FOREACH(const config &ch, cfg_.child_range("chamber")) + { + // If there is only a chance of the chamber appearing, deal with that here. + if (ch.has_attribute("chance") && (rand() % 100) < ch["chance"].to_int()) { +@@ -195,7 +196,7 @@ + + chambers_.push_back(new_chamber); + +- foreach (const config &p, ch.child_range("passage")) ++ BOOST_FOREACH(const config &p, ch.child_range("passage")) + { + const std::string &dst = p["destination"]; + +@@ -220,7 +221,7 @@ + if (c.items == NULL || c.locs.empty()) return; + + size_t index = 0; +- foreach (const config::any_child &it, c.items->all_children_range()) ++ BOOST_FOREACH(const config::any_child &it, c.items->all_children_range()) + { + config cfg = it.cfg; + config &filter = cfg.child("filter"); +Index: src/ai/lua/core.cpp +=================================================================== +--- src/ai/lua/core.cpp (revision 54624) ++++ src/ai/lua/core.cpp (revision 54625) +@@ -34,7 +34,6 @@ + #include "../../actions.hpp" + #include "../../attack_prediction.hpp" + #include "../../filesystem.hpp" +-#include "../../foreach.hpp" + #include "../../game_display.hpp" + #include "../../gamestatus.hpp" + #include "../../log.hpp" +Index: src/ai/default/attack.cpp +=================================================================== +--- src/ai/default/attack.cpp (revision 54624) ++++ src/ai/default/attack.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "../manager.hpp" + + #include "../../attack_prediction.hpp" +-#include "foreach.hpp" + #include "../../game_config.hpp" + #include "../../log.hpp" + #include "../../map.hpp" +Index: src/ai/default/contexts.cpp +=================================================================== +--- src/ai/default/contexts.cpp (revision 54624) ++++ src/ai/default/contexts.cpp (revision 54625) +@@ -22,7 +22,6 @@ + #include "contexts.hpp" + + #include "../../actions.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../map.hpp" + #include "../../resources.hpp" +Index: src/ai/default/ai.cpp +=================================================================== +--- src/ai/default/ai.cpp (revision 54624) ++++ src/ai/default/ai.cpp (revision 54625) +@@ -26,7 +26,6 @@ + + #include "../../array.hpp" + #include "../../dialogs.hpp" +-#include "../../foreach.hpp" + #include "../../game_end_exceptions.hpp" + #include "../../game_events.hpp" + #include "../../game_preferences.hpp" +@@ -41,6 +40,8 @@ + + #include "../../pathfind/pathfind.hpp" + ++#include ++ + #include + #include + #include +@@ -144,7 +145,7 @@ + + void ai_default_recruitment_stage::on_create() { + stage::on_create(); +- foreach (const config &c, cfg_.child_range("limit")) { ++ BOOST_FOREACH(const config &c, cfg_.child_range("limit")) { + if (c.has_attribute("type") && c.has_attribute("max") ) { + maximum_counts_.insert(std::make_pair(c["type"],lexical_cast_default(c["max"],0))); + } +@@ -193,7 +194,7 @@ + bool found = false; + // Find an available unit that can be recruited, + // matches the desired usage type, and comes in under budget. +- foreach (const std::string &name, current_team().recruits()) ++ BOOST_FOREACH(const std::string &name, current_team().recruits()) + { + const unit_type *ut = unit_types.find(name); + if (!ut) continue; +@@ -435,7 +436,7 @@ + + team &enemy_team = (*resources::teams)[j->side() - 1]; + const std::set &recruits = enemy_team.recruits(); +- foreach (const std::string &rec, recruits) { ++ BOOST_FOREACH(const std::string &rec, recruits) { + get_combat_score_vs(ut,rec,score,weighting,0,0); + } + continue; +@@ -677,7 +678,7 @@ + double best_combat_score_of_advancement = 0; + bool best_combat_score_of_advancement_found = false; + int best_cost = recall_cost; +- foreach (const std::string &i, u.advances_to()) { ++ BOOST_FOREACH(const std::string &i, u.advances_to()) { + const unit_type *ut = unit_types.find(i); + if (!ut) { + continue; +Index: src/ai/configuration.cpp +=================================================================== +--- src/ai/configuration.cpp (revision 54624) ++++ src/ai/configuration.cpp (revision 54625) +@@ -22,12 +22,13 @@ + #include "configuration.hpp" + + #include "../filesystem.hpp" +-#include "../foreach.hpp" + #include "../log.hpp" + #include "../serialization/parser.hpp" + #include "../serialization/preprocessor.hpp" + #include "../team.hpp" + ++#include ++ + #include + + namespace ai { +@@ -93,7 +94,7 @@ + } + + +- foreach (const config &ai_configuration, ais.child_range("ai")) { ++ BOOST_FOREACH(const config &ai_configuration, ais.child_range("ai")) { + const std::string &id = ai_configuration["id"]; + if (id.empty()){ + +@@ -118,7 +119,7 @@ + void configuration::add_era_ai_from_config(const config &era) + { + era_ai_configurations_.clear(); +- foreach (const config &ai_configuration, era.child_range("ai")) { ++ BOOST_FOREACH(const config &ai_configuration, era.child_range("ai")) { + const std::string &id = ai_configuration["id"]; + if (id.empty()){ + +@@ -196,7 +197,7 @@ + config aspect_config; + aspect_config["id"] = id; + +- foreach (const config &aiparam, cfg.child_range("ai")) { ++ BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) { + const config &_aspect = aiparam.find_child("aspect","id",id); + if (_aspect) { + aspect_config.append(_aspect); +@@ -216,7 +217,7 @@ + if (aspect_was_attribute) { + facet_config["value"] = aiparam[id]; + } else { +- foreach (const config &value, aiparam.child_range(id)) { ++ BOOST_FOREACH(const config &value, aiparam.child_range(id)) { + facet_config.add_child("value",value); + } + } +@@ -242,7 +243,7 @@ + + //leave only the [ai] children + cfg = config(); +- foreach (const config &aiparam, original_cfg.child_range("ai")) { ++ BOOST_FOREACH(const config &aiparam, original_cfg.child_range("ai")) { + cfg.add_child("ai",aiparam); + } + +@@ -264,7 +265,7 @@ + + //find version + int version = 10600; +- foreach (const config &aiparam, cfg.child_range("ai")) { ++ BOOST_FOREACH(const config &aiparam, cfg.child_range("ai")) { + if (const config::attribute_value *a = aiparam.get("version")){ + int v = a->to_int(version); + if (version ++ + static lg::log_domain log_ai("ai/general"); + #define DBG_AI LOG_STREAM(debug, log_ai) + #define LOG_AI LOG_STREAM(info, log_ai) +@@ -223,19 +225,19 @@ + + void readonly_context_impl::on_readonly_context_create() { + //init the composite ai engines +- foreach(const config &cfg_element, cfg_.child_range("engine")){ ++ BOOST_FOREACH(const config &cfg_element, cfg_.child_range("engine")){ + engine::parse_engine_from_config(*this,cfg_element,std::back_inserter(engines_)); + } + + // init the composite ai aspects +- foreach(const config &cfg_element, cfg_.child_range("aspect")){ ++ BOOST_FOREACH(const config &cfg_element, cfg_.child_range("aspect")){ + std::vector aspects; + engine::parse_aspect_from_config(*this,cfg_element,cfg_element["id"],std::back_inserter(aspects)); + add_aspects(aspects); + } + + // init the composite ai goals +- foreach(const config &cfg_element, cfg_.child_range("goal")){ ++ BOOST_FOREACH(const config &cfg_element, cfg_.child_range("goal")){ + engine::parse_goal_from_config(*this,cfg_element,std::back_inserter(get_goals())); + } + } +@@ -255,13 +257,13 @@ + config readonly_context_impl::to_readonly_context_config() const + { + config cfg; +- foreach(const engine_ptr e, engines_) { ++ BOOST_FOREACH(const engine_ptr e, engines_) { + cfg.add_child("engine",e->to_config()); + } +- foreach(const aspect_map::value_type a, aspects_) { ++ BOOST_FOREACH(const aspect_map::value_type a, aspects_) { + cfg.add_child("aspect",a.second->to_config()); + } +- foreach(const goal_ptr g, goals_) { ++ BOOST_FOREACH(const goal_ptr g, goals_) { + cfg.add_child("goal",g->to_config()); + } + return cfg; +@@ -366,7 +368,7 @@ + } + + for(std::map::iterator m = res.begin(); m != res.end(); ++m) { +- foreach (const pathfind::paths::step &dest, m->second.destinations) ++ BOOST_FOREACH(const pathfind::paths::step &dest, m->second.destinations) + { + const map_location& src = m->first; + const map_location& dst = dest.curr; +@@ -406,7 +408,7 @@ + + void readonly_context_impl::add_aspects(std::vector< aspect_ptr > &aspects ) + { +- foreach (aspect_ptr a, aspects) { ++ BOOST_FOREACH(aspect_ptr a, aspects) { + const std::string id = a->get_id(); + known_aspect_map::iterator i = known_aspects_.find(id); + if (i != known_aspects_.end()) { +@@ -1024,7 +1026,7 @@ + // The 0.5 power avoids underestimating too much the damage of a wounded unit. + int hp = int(sqrt(double(un.hitpoints()) / un.max_hitpoints()) * 1000); + int most_damage = 0; +- foreach (const attack_type &att, un.attacks()) ++ BOOST_FOREACH(const attack_type &att, un.attacks()) + { + int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); + if (damage > most_damage) { +@@ -1112,7 +1114,7 @@ + map_location const* best_occupied_keep = &map_location::null_location; + double move_left_at_best_occupied_keep = 0.0; + +- foreach (const pathfind::paths::step &dest, leader_paths.destinations) ++ BOOST_FOREACH(const pathfind::paths::step &dest, leader_paths.destinations) + { + const map_location &loc = dest.curr; + if (keeps().find(loc)!=keeps().end()){ +Index: src/ai/manager.cpp +=================================================================== +--- src/ai/manager.cpp (revision 54624) ++++ src/ai/manager.cpp (revision 54625) +@@ -27,13 +27,14 @@ + #include "registry.hpp" + #include "../game_events.hpp" + #include "../game_preferences.hpp" +-#include "../foreach.hpp" + #include "../log.hpp" + #include "../replay.hpp" + #include "../serialization/string_utils.hpp" + #include "../statistics.hpp" + #include "composite/component.hpp" + ++#include ++ + #include + #include + #include +@@ -89,7 +90,7 @@ + + if (this->ai_) { + ai_->on_create(); +- foreach (config &mod_ai, cfg_.child_range("modify_ai")) { ++ BOOST_FOREACH(config &mod_ai, cfg_.child_range("modify_ai")) { + if (!mod_ai.has_attribute("side")) { + mod_ai["side"] = side; + } +@@ -149,8 +150,8 @@ + cfg_.merge_children_by_attribute("aspect","id"); + } else { + // else run 'add_facet' command on each [aspect][facet] +- foreach (const config &cfg_a, cfg.child_range("aspect")) { +- foreach (const config &cfg_f, cfg_a.child_range("facet")) { ++ BOOST_FOREACH(const config &cfg_a, cfg.child_range("aspect")) { ++ BOOST_FOREACH(const config &cfg_f, cfg_a.child_range("facet")) { + readonly_context_->add_facet(cfg_a["id"],cfg_f); + } + } +Index: src/ai/composite/component.cpp +=================================================================== +--- src/ai/composite/component.cpp (revision 54624) ++++ src/ai/composite/component.cpp (revision 54625) +@@ -23,12 +23,12 @@ + #include "property_handler.hpp" + #include "../../config.hpp" + #include "../../log.hpp" +-#include "../../foreach.hpp" + + #include "../formula/ai.hpp" + + #include + #include ++#include + + namespace pathfind { + +@@ -125,7 +125,7 @@ + std::vector component::get_children_types() + { + std::vector types; +- foreach (property_handler_map::value_type &ph, property_handlers_) { ++ BOOST_FOREACH(property_handler_map::value_type &ph, property_handlers_) { + types.push_back(ph.first); + } + return types; +@@ -241,9 +241,9 @@ + + s << offset_str << type<<"["<get_id() <<"] "<get_engine()<<" "<get_name()<< std::endl; + +- foreach (std::string t, t_list) { ++ BOOST_FOREACH(std::string t, t_list) { + std::vector c_list = root->get_children(t); +- foreach (component *c, c_list) { ++ BOOST_FOREACH(component *c, c_list) { + print_component(c,t,s,offset+1); + } + } +Index: src/ai/composite/stage.cpp +=================================================================== +--- src/ai/composite/stage.cpp (revision 54624) ++++ src/ai/composite/stage.cpp (revision 54625) +@@ -22,7 +22,6 @@ + #include "engine.hpp" + #include "stage.hpp" + #include "../contexts.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../resources.hpp" + #include "../../tod_manager.hpp" +Index: src/ai/composite/engine.cpp +=================================================================== +--- src/ai/composite/engine.cpp (revision 54624) ++++ src/ai/composite/engine.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "engine.hpp" + #include "contexts.hpp" + +-#include "../../foreach.hpp" + #include "../../log.hpp" + + namespace ai { +Index: src/ai/composite/engine_default.cpp +=================================================================== +--- src/ai/composite/engine_default.cpp (revision 54624) ++++ src/ai/composite/engine_default.cpp (revision 54625) +@@ -24,7 +24,6 @@ + #include "engine_default.hpp" + #include "rca.hpp" + #include "stage.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + + namespace ai { +Index: src/ai/composite/goal.cpp +=================================================================== +--- src/ai/composite/goal.cpp (revision 54624) ++++ src/ai/composite/goal.cpp (revision 54625) +@@ -24,7 +24,6 @@ + #include "../../log.hpp" + #include "../lua/lua_object.hpp" + #include "../../gamestatus.hpp" +-#include "../../foreach.hpp" + #include "../../resources.hpp" + #include "../../scripting/lua.hpp" + #include "../../terrain_filter.hpp" +@@ -34,6 +33,7 @@ + #include "../../variable.hpp" + + #include ++#include + + namespace ai { + +@@ -128,7 +128,7 @@ + if (!criteria) return; + + //find the enemy leaders and explicit targets +- foreach (const unit &u, *resources::units) { ++ BOOST_FOREACH(const unit &u, *resources::units) { + if (u.matches_filter(vconfig(criteria), u.get_location())) { + LOG_AI_GOAL << "found explicit target unit at ... " << u.get_location() << " with value: " << value() << "\n"; + *target_list = target(u.get_location(), value(), target::EXPLICIT); +@@ -173,7 +173,7 @@ + + std::set items; + filter_ptr_->get_locations(items); +- foreach (const map_location &loc, items) ++ BOOST_FOREACH(const map_location &loc, items) + { + LOG_AI_GOAL << "found explicit target location ... " << loc << " with value: " << value() << std::endl; + *target_list = target(loc, value(), target::EXPLICIT); +@@ -252,7 +252,7 @@ + + std::set items; + if (protect_unit_) { +- foreach (const unit &u, units) ++ BOOST_FOREACH(const unit &u, units) + { + if (protect_only_own_unit_ && u.side() != get_side()) { + continue; +@@ -268,9 +268,9 @@ + } + DBG_AI_GOAL << "side " << get_side() << ": seaching for threats in "+goal_type+" goal" << std::endl; + // Look for directions to protect a specific location or specific unit. +- foreach (const map_location &loc, items) ++ BOOST_FOREACH(const map_location &loc, items) + { +- foreach (const unit &u, units) ++ BOOST_FOREACH(const unit &u, units) + { + int distance = distance_between(u.get_location(), loc); + if (current_team().is_enemy(u.side()) && distance < radius_ && +@@ -325,7 +325,7 @@ + handler_->handle(c, true, l_obj); + std::vector < target > targets = *(l_obj->get()); + +- foreach (target tg, targets) ++ BOOST_FOREACH(target tg, targets) + { + *target_list = tg; + } +Index: src/ai/composite/engine_fai.cpp +=================================================================== +--- src/ai/composite/engine_fai.cpp (revision 54624) ++++ src/ai/composite/engine_fai.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "../formula/candidates.hpp" + #include "../formula/stage_side_formulas.hpp" + #include "../formula/stage_unit_formulas.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + + namespace ai { +Index: src/ai/composite/aspect.hpp +=================================================================== +--- src/ai/composite/aspect.hpp (revision 54624) ++++ src/ai/composite/aspect.hpp (revision 54625) +@@ -265,7 +265,7 @@ + , facets_() + , default_() + { +- foreach (const config &cfg_element, this->cfg_.child_range("facet") ){ ++ BOOST_FOREACH(const config &cfg_element, this->cfg_.child_range("facet") ){ + add_facet(-1,cfg_element); + } + +@@ -291,7 +291,7 @@ + { + std::vector facets_base; + engine::parse_aspect_from_config(*this,cfg,this->get_id(),std::back_inserter(facets_base)); +- foreach (aspect_ptr a, facets_base ){ ++ BOOST_FOREACH(aspect_ptr a, facets_base ){ + typename aspect_type::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect > (a); + facets.push_back(b); + } +@@ -301,7 +301,7 @@ + virtual void recalculate() const + { + ///@todo 1.9 optimize in case of an aspect which returns variant +- foreach (const typename aspect_type::typesafe_ptr &f, make_pair(facets_.rbegin(),facets_.rend())) { ++ BOOST_FOREACH(const typename aspect_type::typesafe_ptr &f, make_pair(facets_.rbegin(),facets_.rend())) { + if (f->active()) { + this->value_ = boost::shared_ptr(f->get_ptr()); + this->valid_ = true; +@@ -316,7 +316,7 @@ + virtual config to_config() const + { + config cfg = aspect::to_config(); +- foreach (const typename aspect_type::typesafe_ptr f, facets_) { ++ BOOST_FOREACH(const typename aspect_type::typesafe_ptr f, facets_) { + cfg.add_child("facet",f->to_config()); + } + if (default_) { +@@ -334,7 +334,7 @@ + std::vector< aspect_ptr > facets; + engine::parse_aspect_from_config(*this,cfg,this->get_id(),std::back_inserter(facets)); + int j=0; +- foreach (aspect_ptr a, facets ){ ++ BOOST_FOREACH(aspect_ptr a, facets ){ + typename aspect_type::typesafe_ptr b = boost::dynamic_pointer_cast< typesafe_aspect > (a); + facets_.insert(facets_.begin()+pos+j,b); + j++; +Index: src/ai/composite/property_handler.hpp +=================================================================== +--- src/ai/composite/property_handler.hpp (revision 54624) ++++ src/ai/composite/property_handler.hpp (revision 54625) +@@ -23,9 +23,9 @@ + #define AI_COMPOSITE_PROPERTY_HANDLER_HPP_INCLUDED + + #include ++#include + + #include "config.hpp" +-#include "foreach.hpp" + #include "ai/composite/component.hpp" + + namespace ai{ +@@ -134,7 +134,7 @@ + std::vector handle_get_children() + { + std::vector children; +- foreach (t_ptr v, values_) { ++ BOOST_FOREACH(t_ptr v, values_) { + children.push_back(&*v); + } + return children; +@@ -149,7 +149,7 @@ + t_ptr_vector values; + factory_(values,cfg); + int j=0; +- foreach (t_ptr b, values ){ ++ BOOST_FOREACH(t_ptr b, values ){ + values_.insert(values_.begin()+pos+j,b); + j++; + } +@@ -200,7 +200,7 @@ + //* is a special case - 'delete all facets' + if (child.id == "*") { + bool b = false; +- foreach(typename aspect_map::value_type a, aspects_) { ++ BOOST_FOREACH(typename aspect_map::value_type a, aspects_) { + b |= a.second->delete_all_facets(); + } + return b; +@@ -212,7 +212,7 @@ + std::vector handle_get_children() + { + std::vector children; +- foreach(typename aspect_map::value_type a, aspects_) { ++ BOOST_FOREACH(typename aspect_map::value_type a, aspects_) { + children.push_back(&*a.second); + } + return children; +Index: src/ai/composite/ai.cpp +=================================================================== +--- src/ai/composite/ai.cpp (revision 54624) ++++ src/ai/composite/ai.cpp (revision 54625) +@@ -27,11 +27,11 @@ + #include "stage.hpp" + #include "../manager.hpp" + #include "../../actions.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + + #include + #include ++#include + + namespace ai { + +@@ -60,7 +60,7 @@ + cfg_["id"]<<"]"< stages; + create_stage(stages,cfg); + int j=0; +- foreach (stage_ptr b, stages ){ ++ BOOST_FOREACH(stage_ptr b, stages ){ + stages_.push_back(b); + j++; + } +@@ -128,7 +128,7 @@ + std::vector< goal_ptr > goals; + create_goal(goals,cfg); + int j=0; +- foreach (goal_ptr b, goals ){ ++ BOOST_FOREACH(goal_ptr b, goals ){ + get_goals().push_back(b); + j++; + } +@@ -137,7 +137,7 @@ + + + void ai_composite::play_turn(){ +- foreach(stage_ptr &s, stages_){ ++ BOOST_FOREACH(stage_ptr &s, stages_){ + s->play_stage(); + } + } +@@ -206,7 +206,7 @@ + config cfg; + + //serialize the composite ai stages +- foreach(const stage_ptr &s, stages_){ ++ BOOST_FOREACH(const stage_ptr &s, stages_){ + cfg.add_child("stage",s->to_config()); + } + +Index: src/ai/formula/candidates.cpp +=================================================================== +--- src/ai/formula/candidates.cpp (revision 54624) ++++ src/ai/formula/candidates.cpp (revision 54625) +@@ -19,10 +19,11 @@ + + #include "ai.hpp" + #include "candidates.hpp" +-#include "foreach.hpp" + #include "../../log.hpp" + #include "../../resources.hpp" + ++#include ++ + static lg::log_domain log_formula_ai("ai/engine/fai"); + #define ERR_AI LOG_STREAM(err, log_formula_ai) + +@@ -32,7 +33,7 @@ + void candidate_action_manager::load_config(const config& cfg, ai::formula_ai* ai, function_symbol_table* function_table) + { + // register candidate actions +- foreach (const config &rc_action, cfg.child_range("register_candidate_action")) ++ BOOST_FOREACH(const config &rc_action, cfg.child_range("register_candidate_action")) + { + candidate_action_ptr new_ca = load_candidate_action_from_config(rc_action,ai,function_table); + +@@ -67,7 +68,7 @@ + { + evaluated_candidate_actions_.clear(); + +- foreach(candidate_action_ptr cm, candidate_actions_) ++ BOOST_FOREACH(candidate_action_ptr cm, candidate_actions_) + { + cm->evaluate(ai, units); + evaluated_candidate_actions_.insert(cm); +@@ -116,7 +117,7 @@ + const config & filter_params = cfg.child("filter"); + + if( filter_params ) { +- foreach( const config::attribute filter_param, filter_params.attribute_range() ) ++ BOOST_FOREACH( const config::attribute filter_param, filter_params.attribute_range() ) + { + game_logic::const_formula_ptr filter_formula( + new game_logic::formula(filter_param.second, function_table)); +Index: src/ai/formula/stage_side_formulas.cpp +=================================================================== +--- src/ai/formula/stage_side_formulas.cpp (revision 54624) ++++ src/ai/formula/stage_side_formulas.cpp (revision 54625) +@@ -22,7 +22,6 @@ + #include "stage_side_formulas.hpp" + #include "ai.hpp" + +-#include "../../foreach.hpp" + #include "../../formula.hpp" + #include "../../formula_function.hpp" + #include "../../log.hpp" +Index: src/ai/formula/ai.cpp +=================================================================== +--- src/ai/formula/ai.cpp (revision 54624) ++++ src/ai/formula/ai.cpp (revision 54625) +@@ -32,7 +32,6 @@ + + #include "../../callable_objects.hpp" + #include "../../game_display.hpp" +-#include "../../foreach.hpp" + #include "../../formula_debugger.hpp" + #include "../../log.hpp" + #include "../../menu_events.hpp" +@@ -42,6 +41,8 @@ + #include "../../tod_manager.hpp" + #include "../../pathfind/pathfind.hpp" + ++#include ++ + static lg::log_domain log_formula_ai("ai/engine/fai"); + #define DBG_AI LOG_STREAM(debug, log_formula_ai) + #define LOG_AI LOG_STREAM(info, log_formula_ai) +@@ -548,7 +549,7 @@ + variant villages_from_set(const Container& villages, + const std::set* exclude=NULL) { + std::vector vars; +- foreach(const map_location& loc, villages) { ++ BOOST_FOREACH(const map_location& loc, villages) { + if(exclude && exclude->count(loc)) { + continue; + } +@@ -617,7 +618,7 @@ + { + const std::vector &rp = get_recruitment_pattern(); + std::vector vars; +- foreach (const std::string &i, rp) { ++ BOOST_FOREACH(const std::string &i, rp) { + vars.push_back(variant(i)); + } + return variant(&vars); +@@ -751,7 +752,7 @@ + std::vector v; + tmp.push_back( v ); + } +- foreach (const unit &u, units) { ++ BOOST_FOREACH(const unit &u, units) { + tmp[u.side() - 1].push_back(variant(new unit_callable(u))); + } + for( size_t i = 0; i + + static lg::log_domain log_formula_ai("ai/engine/fai"); + #define LOG_AI LOG_STREAM(info, log_formula_ai) +@@ -355,7 +355,7 @@ + if( scores[current_side][i] > 98 ) + continue; + +- foreach( int side , enemies) { ++ BOOST_FOREACH( int side , enemies) { + int diff = scores[current_side][i] - scores[side][i]; + if ( diff > enemy_tollerancy) { + valid = false; +@@ -365,7 +365,7 @@ + } + + if( valid ) { +- foreach( int side , allies) { ++ BOOST_FOREACH( int side , allies) { + if ( scores[current_side][i] - scores[side][i] > ally_tollerancy ) { + valid = false; + break; +@@ -563,7 +563,7 @@ + visited_locs.erase(starting_loc); + + std::vector res; +- foreach( const map_location& ml, visited_locs) { ++ BOOST_FOREACH( const map_location& ml, visited_locs) { + res.push_back( variant(new location_callable( ml ) ) ); + } + +@@ -841,7 +841,7 @@ + ai::attack_analysis* analysis = convert_variant(attack); + //unit_map units_with_moves(*resources::units); + //typedef std::pair mv; +- //foreach (const mv &m, analysis->movements) { ++ //BOOST_FOREACH(const mv &m, analysis->movements) { + // units_with_moves.move(m.first, m.second); + //} + +@@ -1629,7 +1629,7 @@ + + std::vector attacks = attacker.attacks(); + +- foreach(const attack_type &attack, attacks) { ++ BOOST_FOREACH(const attack_type &attack, attacks) { + const int dmg = round_damage(attack.damage(), defender.damage_from(attack), 100) * attack.num_attacks(); + if (attack.range() == "melee") { + highest_melee_damage = std::max(highest_melee_damage, dmg); +Index: src/ai/testing/ca_testing_move_to_targets.cpp +=================================================================== +--- src/ai/testing/ca_testing_move_to_targets.cpp (revision 54624) ++++ src/ai/testing/ca_testing_move_to_targets.cpp (revision 54625) +@@ -22,7 +22,6 @@ + + #include "../composite/ai.hpp" + #include "../actions.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../map.hpp" + #include "../../resources.hpp" +Index: src/ai/testing/ca_testing_recruitment.cpp +=================================================================== +--- src/ai/testing/ca_testing_recruitment.cpp (revision 54624) ++++ src/ai/testing/ca_testing_recruitment.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "../composite/rca.hpp" + #include "../composite/stage.hpp" + #include "../../gamestatus.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../map.hpp" + #include "../../resources.hpp" +@@ -33,6 +32,7 @@ + #include "../../wml_exception.hpp" + #include "../../pathfind/pathfind.hpp" + ++#include + + #include + #include +@@ -206,7 +206,7 @@ + int get_current_qty(const std::string &name) const + { + int counter = 0; +- foreach(unit &un, *resources::units){ ++ BOOST_FOREACH(unit &un, *resources::units){ + if(un.side() == side() && un.type_id() == name) // @todo: is type_id good? + { + counter++; +@@ -345,7 +345,7 @@ + const int hitpoints_const = 100; + double score = 0; + double total_weight = 0; +- foreach(const unit &enemy_unit, *resources::units) ++ BOOST_FOREACH(const unit &enemy_unit, *resources::units) + { + if(enemy_unit.can_recruit() || !t.is_enemy(enemy_unit.side())) + { +@@ -358,13 +358,13 @@ + + score += compare_unit_types(info, *enemy_info) * weight; + } +- foreach(fake_team &enemy_team, fake_teams) ++ BOOST_FOREACH(fake_team &enemy_team, fake_teams) + { + if(!t.is_enemy(enemy_team.side())) + { + continue; + } +- foreach(const potential_recruit &enemy_unit, enemy_team.extra_units()) ++ BOOST_FOREACH(const potential_recruit &enemy_unit, enemy_team.extra_units()) + { + const unit_type *enemy_info = enemy_unit.type(); + VALIDATE(enemy_info, "Unknown unit type : " + enemy_unit.id() + " while updating recruit quality."); +@@ -386,7 +386,7 @@ + + /*static void update_recruit_qualities(fake_team &t, std::vector &fake_teams) + { +- foreach ( potential_recruit &recruit, t.recruit_list() ) ++ BOOST_FOREACH( potential_recruit &recruit, t.recruit_list() ) + { + double score = get_unit_quality(*recruit.type(),t,fake_teams); + recruit.set_quality(score); +@@ -425,11 +425,11 @@ + } + + std::map current_units; +- foreach (const potential_recruit &i, t.extra_units()) ++ BOOST_FOREACH(const potential_recruit &i, t.extra_units()) + { + current_units[(i.id())]++; + } +- foreach (const unit &i, *resources::units) ++ BOOST_FOREACH(const unit &i, *resources::units) + { + if (i.side()==t.side()) + { +@@ -440,7 +440,7 @@ + double max_quality = recruit_list[0].quality(); + int max_cost = recruit_list[0].cost(); + std::vector sorted = std::vector(); +- foreach(const potential_recruit &i, recruit_list) ++ BOOST_FOREACH(const potential_recruit &i, recruit_list) + { + if(i.cost() > max_cost) + { +@@ -457,7 +457,7 @@ + potential_recruit_sorter sorter(max_cost, max_quality, quality_factor); + std::sort(sorted.begin(), sorted.end(), sorter); + int recruited = 0; +- foreach(const potential_recruit *i, sorted) ++ BOOST_FOREACH(const potential_recruit *i, sorted) + { + if(recruited < max_units_to_recruit) + { +@@ -488,7 +488,7 @@ + static void ai_choose_recruits(fake_team &t, int max_units_to_recruit, double quality_factor, bool counter_recruit) + { + std::vector recruits = ai_choose_best_recruits(t, max_units_to_recruit, quality_factor, counter_recruit); +- foreach(potential_recruit &i, recruits) { ++ BOOST_FOREACH(potential_recruit &i, recruits) { + t.fake_recruit(i); + } + +@@ -554,7 +554,7 @@ + //DBG_AI << "start of get_recruit_qualities" << std::endl; + typedef std::map > unit_map; + unit_map enemies; +- foreach(unit &un, *resources::units){ ++ BOOST_FOREACH(unit &un, *resources::units){ + if(t.is_enemy(un.side()) && !un.can_recruit()){ + enemies[un.type()].push_back( + static_cast(un.hitpoints()) +@@ -562,10 +562,10 @@ + } + } + DBG_AI << "before extra_units of fake_teams: enemies.size() = " << enemies.size() << std::endl; +- foreach(fake_team &tmp_t, fake_teams) ++ BOOST_FOREACH(fake_team &tmp_t, fake_teams) + { + if (t.is_enemy(tmp_t.side())) { +- foreach(potential_recruit &rec, tmp_t.extra_units()) ++ BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()) + { + enemies[rec.type()].push_back(1.0); + } +@@ -573,10 +573,10 @@ + } + DBG_AI << "after extra_units of fake_teams: enemies.size() = " << enemies.size() << std::endl; + +- foreach(potential_recruit &rec, recruit_list) { ++ BOOST_FOREACH(potential_recruit &rec, recruit_list) { + double score = 0; + double weighting = 0; +- foreach(unit_map::value_type &enemy, enemies) { ++ BOOST_FOREACH(unit_map::value_type &enemy, enemies) { + double hitpoints_sum = std::accumulate(enemy.second.begin(),enemy.second.end(),0); + score += compare_unit_types(*rec.type(), *enemy.first) * hitpoints_sum; + weighting += hitpoints_sum; +@@ -621,14 +621,14 @@ + { + std::vector defenders; + std::vector enemies; +- foreach(unit &un, *resources::units) ++ BOOST_FOREACH(unit &un, *resources::units) + { + if(t.is_enemy(un.side())) + { + // const unit_type &enemy_type = *un.type(); + //enemy_pair_type *pair = new enemy_pair_type(new unit_data(un.id(), un.type())); + enemy_pair_type *pair = new enemy_pair_type(un.type()); +- foreach(unit &defender, *resources::units) ++ BOOST_FOREACH(unit &defender, *resources::units) + { + if(!t.is_enemy(defender.side())){ + //int score = compare_unit_types(*defender.type(), enemy_type); +@@ -639,9 +639,9 @@ + //} + } + } +- foreach(fake_team &tmp_t, fake_teams){ ++ BOOST_FOREACH(fake_team &tmp_t, fake_teams){ + if(!t.is_enemy(tmp_t.side())){ +- foreach(potential_recruit &rec, tmp_t.extra_units()){ ++ BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()){ + // int score = compare_unit_types(*rec.type(), enemy_type); + // if(score >= 0){ + //pair->add_defender(new unit_data(rec.id(), rec.type())); +@@ -657,7 +657,7 @@ + //const unit_type &defender_type = *un.type(); + //defender_pair_type *pair = new defender_pair_type(new unit_data(un.id(), un.type())); + defender_pair_type *pair = new defender_pair_type(un.type()); +- foreach(unit &enemy, *resources::units) ++ BOOST_FOREACH(unit &enemy, *resources::units) + { + //int score = compare_unit_types(defender_type, *enemy.type()); + //if(score >= 0) +@@ -666,9 +666,9 @@ + pair->add_enemy(enemy.type()); + //} + } +- foreach(fake_team &tmp_t, fake_teams){ ++ BOOST_FOREACH(fake_team &tmp_t, fake_teams){ + if(t.is_enemy(tmp_t.side())){ +- foreach(potential_recruit &rec, tmp_t.extra_units()){ ++ BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()){ + //int score = compare_unit_types(defender_type, *rec.type()); + //if(score >= 0){ + //pair->add_enemy(new unit_data(rec.id(), rec.type())); +@@ -680,14 +680,14 @@ + defenders.push_back(pair); + } + } +- foreach(fake_team &tmp_t, fake_teams) ++ BOOST_FOREACH(fake_team &tmp_t, fake_teams) + { +- foreach(potential_recruit &rec, tmp_t.extra_units()){ ++ BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()){ + if(t.is_enemy(tmp_t.side())){ + //const unit_type &enemy_type = *rec.type(); + //enemy_pair_type *pair = new enemy_pair_type(new unit_data(rec.id(), rec.type())); + enemy_pair_type *pair = new enemy_pair_type(rec.type()); +- foreach(unit &defender, *resources::units){ ++ BOOST_FOREACH(unit &defender, *resources::units){ + if(t.is_enemy(defender.side())){ + continue; + } +@@ -698,11 +698,11 @@ + //} + } + //HIER +- foreach(fake_team &sub_t, fake_teams){ ++ BOOST_FOREACH(fake_team &sub_t, fake_teams){ + if(t.is_enemy(sub_t.side())){ + continue; + } +- foreach(potential_recruit &sub_rec, sub_t.extra_units()){ ++ BOOST_FOREACH(potential_recruit &sub_rec, sub_t.extra_units()){ + //int score = compare_unit_types(*sub_rec.type(), enemy_type); + //if(score >= 0){ + //pair->add_defender(new unit_data(sub_rec.id(), sub_rec.type())); +@@ -715,7 +715,7 @@ + //const unit_type &defender_type = *rec.type(); + //defender_pair_type *pair = new defender_pair_type(new unit_data(rec.id(), rec.type())); + defender_pair_type *pair = new defender_pair_type(rec.type()); +- foreach(unit &enemy, *resources::units) ++ BOOST_FOREACH(unit &enemy, *resources::units) + { + if(!t.is_enemy(enemy.side())){ + continue; +@@ -726,11 +726,11 @@ + pair->add_enemy(rec.type()); + // } + } +- foreach(fake_team &sub_t, fake_teams){ ++ BOOST_FOREACH(fake_team &sub_t, fake_teams){ + if(!t.is_enemy(sub_t.side())){ + continue; + } +- foreach(potential_recruit &sub_rec, sub_t.extra_units()){ ++ BOOST_FOREACH(potential_recruit &sub_rec, sub_t.extra_units()){ + // int score = compare_unit_types(defender_type, *sub_rec.type()); + // if(score >= 0){ + //pair->add_enemy(new unit_data(sub_rec.id(), sub_rec.type())); +@@ -744,17 +744,17 @@ + } + double min_score = 0; + double max_score = 0; +- foreach(enemy_pair_type *pair, enemies) ++ BOOST_FOREACH(enemy_pair_type *pair, enemies) + { + // if(pair->defenders.size() == 0) + // { + // pair->score = -10000; + // }else{ +- //foreach(unit_data *defender, pair->defenders) +- foreach(unit_type *defender, pair->defenders) ++ //BOOST_FOREACH(unit_data *defender, pair->defenders) ++ BOOST_FOREACH(unit_type *defender, pair->defenders) + { + unsigned int defender_enemies = 0; +- foreach(defender_pair_type *defender_p, defenders) ++ BOOST_FOREACH(defender_pair_type *defender_p, defenders) + { + //if(defender->id == defender_p->defender->id){ + if(defender->type_name()() == defender_p->defender->type_name()){ +@@ -778,7 +778,7 @@ + } + double score = 0; + score -= max_score - min_score; +- foreach(enemy_pair_type *pair, enemies) ++ BOOST_FOREACH(enemy_pair_type *pair, enemies) + { + score += pair->score; + } +@@ -798,16 +798,16 @@ + typedef std::map > unit_map; + unit_map enemies; + unit_map defenders; +- foreach(unit &un, *resources::units){ ++ BOOST_FOREACH(unit &un, *resources::units){ + if(t.is_enemy(un.side())){ + enemies[un.type()].push_back((double)un.hitpoints() / (double)un.max_hitpoints()); + }else{ + defenders[un.type()].push_back(un.hitpoints() / un.max_hitpoints()); + } + } +- foreach(fake_team &tmp_t, fake_teams) ++ BOOST_FOREACH(fake_team &tmp_t, fake_teams) + { +- foreach(potential_recruit &rec, tmp_t.extra_units()) ++ BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()) + { + if(t.is_enemy(tmp_t.side())){ + enemies[rec.type()].push_back(1.0); +@@ -817,13 +817,13 @@ + } + } + double result = 0; +- foreach(unit_map::value_type &defender, defenders) ++ BOOST_FOREACH(unit_map::value_type &defender, defenders) + { + double defenders_score = 0; +- foreach(unit_map::value_type &enemy, enemies) ++ BOOST_FOREACH(unit_map::value_type &enemy, enemies) + { + double hitpoints_sum = 0; +- foreach(double i, enemy.second) ++ BOOST_FOREACH(double i, enemy.second) + { + hitpoints_sum += i; + } +@@ -831,7 +831,7 @@ + + } + double hitpoints_sum = 0; +- foreach(double i, defender.second) ++ BOOST_FOREACH(double i, defender.second) + { + hitpoints_sum += i; + } +@@ -842,7 +842,7 @@ + return result; + // vector defenders; + // vector enemies; +-// //foreach(unit &un, *resources::units) ++// //BOOST_FOREACH(unit &un, *resources::units) + // //{ + // // if(t.is_enemy(un.side())) + // // { +@@ -851,14 +851,14 @@ + // // defenders.push_back(un.id()); + // // } + // //} +-// foreach(unit &un, *resources::units) ++// BOOST_FOREACH(unit &un, *resources::units) + // { + // if(t.is_enemy(un.side())) + // { + // const unit_type &enemy_type = un.type(); + // enemy_pair pair; + // pair.enemy = new unit_data(un.id(), enemy_type); +-// foreach(unit &defender, *resources::units) ++// BOOST_FOREACH(unit &defender, *resources::units) + // { + // int score = compare_unit_types(defender.type(), enemy_type); + // if(score >= 0) +@@ -873,7 +873,7 @@ + // const unit_type &defender_type = un.type(); + // defender_pair pair; + // pair.defender = new unit_data(defender.id(), defender_type); +-// foreach(unit &enemy, *resources::units) ++// BOOST_FOREACH(unit &enemy, *resources::units) + // { + // int score = compare_unit_types(defender_type, enemy.type()); + // if(score >= 0) +@@ -885,10 +885,10 @@ + // enemies.push_back(pair); + // } + // } +-// foreach(fake_team &tmp_t, fake_teams) ++// BOOST_FOREACH(fake_team &tmp_t, fake_teams) + // { + // if(t.is_enemy(tmp_t.side())){ +-// foreach(potential_recruit &rec, tmp_t.extra_units()) ++// BOOST_FOREACH(potential_recruit &rec, tmp_t.extra_units()) + // { + // + // } +@@ -898,7 +898,7 @@ + // + // } + // //std::vector no_defense_enemies; +-// foreach(enemy_pair &pair, enemies) ++// BOOST_FOREACH(enemy_pair &pair, enemies) + // { + // if(pair.defenders.size() == 0) + // { +@@ -906,11 +906,11 @@ + // + // pair.score = 0; + // }else{ +-// foreach(unit_data &defender, pair.defenders) ++// BOOST_FOREACH(unit_data &defender, pair.defenders) + // { + // //unit_type &defender = defender_data.type; + // unsigned int defender_enemies = 0; +-// foreach(defender_pair &defender_p, defenders) ++// BOOST_FOREACH(defender_pair &defender_p, defenders) + // { + // if(defender.id == defender_p.defender.id){ + // defender_enemies = defender_p.enemies.size(); +@@ -924,7 +924,7 @@ + // } + // //enemy_pair *worst_pair = &enemies[0]; + // double total_score = 0; +-// foreach(enemy_pair &pair, enemies) ++// BOOST_FOREACH(enemy_pair &pair, enemies) + // { + // total_score += pair.score; + // } +@@ -936,7 +936,7 @@ + // //unit &worst_def_unit; + // vector defenders; + // vector enemies; +-// /*foreach(unit &un, *resources::units) ++// /*BOOST_FOREACH(unit &un, *resources::units) + // { + // if(t.is_enemy(un.side())) + // { +@@ -945,14 +945,14 @@ + // defenders.push_back(un.id()); + // } + // }*/ +-// foreach(unit &un, *resources::units) ++// BOOST_FOREACH(unit &un, *resources::units) + // { + // if(t.is_enemy(un.side())) + // { + // const unit_type &enemy_type = un.type(); + // enemy_pair pair; + // pair.enemy = un; +-// foreach(unit &defender, *resources::units) ++// BOOST_FOREACH(unit &defender, *resources::units) + // { + // int score = compare_unit_types(defender.type(), enemy_type); + // if(score >= 0) +@@ -967,7 +967,7 @@ + // const unit_type &defender_type = un.type(); + // defender_pair pair; + // pair.defender = un; +-// foreach(unit &enemy, *resources::units) ++// BOOST_FOREACH(unit &enemy, *resources::units) + // { + // int score = compare_unit_types(defender_type, enemy.type()); + // if(score >= 0) +@@ -980,7 +980,7 @@ + // } + // } + // //std::vector no_defense_enemies; +-// foreach(enemy_pair &pair, enemies) ++// BOOST_FOREACH(enemy_pair &pair, enemies) + // { + // if(pair.defenders.size() == 0) + // { +@@ -988,10 +988,10 @@ + // return pair.enemy; + // //pair.score = 0; + // }else{ +-// foreach(unit &defender, pair.defenders) ++// BOOST_FOREACH(unit &defender, pair.defenders) + // { + // unsigned int defender_enemies = 0; +-// foreach(defender_pair &defender_p, defenders) ++// BOOST_FOREACH(defender_pair &defender_p, defenders) + // { + // if(defender.id() == defender_p.defender.id()){ + // defender_enemies = defender_p.enemies.size(); +@@ -1004,7 +1004,7 @@ + // } + // } + // enemy_pair *worst_pair = &enemies[0]; +-// foreach(enemy_pair &pair, enemies) ++// BOOST_FOREACH(enemy_pair &pair, enemies) + // { + // if(pair.score < worst_pair.score) + // { +@@ -1039,16 +1039,16 @@ + for(int recruited_amount = 0; recruited_amount < max_units_to_recruit; recruited_amount++) + { + +- foreach(fake_team &t, fake_teams) ++ BOOST_FOREACH(fake_team &t, fake_teams) + { + t.reset(); + } + + std::vector ai_recruit_list = ai_t->recruit_list(); + +- foreach(potential_recruit &recruit_type, ai_recruit_list) ++ BOOST_FOREACH(potential_recruit &recruit_type, ai_recruit_list) + { +- foreach(fake_team &t, fake_teams) ++ BOOST_FOREACH(fake_team &t, fake_teams) + { + t.reset(); + } +@@ -1063,7 +1063,7 @@ + } + LOG_AI << "Pretend that we recruited: " << recruit_type.id() << std::endl; + ai_t->fake_recruit(recruit_type); +- foreach(fake_team &t, fake_teams) ++ BOOST_FOREACH(fake_team &t, fake_teams) + { + if(ai_t->side() == t.side()) + { +Index: src/ai/testing/ca_global_fallback.cpp +=================================================================== +--- src/ai/testing/ca_global_fallback.cpp (revision 54624) ++++ src/ai/testing/ca_global_fallback.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "../actions.hpp" + + #include "../../game_display.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../map.hpp" + #include "../../map_label.hpp" +@@ -36,6 +35,7 @@ + #include "../../terrain_filter.hpp" + #include "../../tod_manager.hpp" + ++#include + + namespace ai { + +@@ -89,7 +89,7 @@ + LOG_AI << "start" << std::endl; + const int ticks = SDL_GetTicks(); + double res_sum = 0; +- foreach( unit &u, *resources::units) ++ BOOST_FOREACH( unit &u, *resources::units) + { + if (u.side()!=get_side()) + { +Index: src/ai/testing/stage_fallback.cpp +=================================================================== +--- src/ai/testing/stage_fallback.cpp (revision 54624) ++++ src/ai/testing/stage_fallback.cpp (revision 54625) +@@ -23,7 +23,6 @@ + #include "../configuration.hpp" + #include "../manager.hpp" + #include "../composite/ai.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + + namespace ai { +Index: src/ai/testing/ca.cpp +=================================================================== +--- src/ai/testing/ca.cpp (revision 54624) ++++ src/ai/testing/ca.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "../composite/rca.hpp" + #include "../composite/stage.hpp" + #include "../../gamestatus.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../map.hpp" + #include "../../resources.hpp" +@@ -33,6 +32,7 @@ + #include "../../wml_exception.hpp" + #include "../../pathfind/pathfind.hpp" + ++#include + + #include + +@@ -306,7 +306,7 @@ + bool found = false; + // Find an available unit that can be recruited, + // matches the desired usage type, and comes in under budget. +- foreach (const std::string &name, current_team().recruits()) ++ BOOST_FOREACH(const std::string &name, current_team().recruits()) + { + const unit_type *ut = unit_types.find(name); + if (!ut) continue; +@@ -686,7 +686,7 @@ + possible_moves.insert(std::pair(leader->get_location(), leader_paths)); + + map_location loc; +- foreach (const map_location &l, route.steps) ++ BOOST_FOREACH(const map_location &l, route.steps) + { + if (leader_paths.destinations.contains(l) && + power_projection(l, get_enemy_dstsrc()) < leader->hitpoints() * max_risk) +@@ -779,7 +779,7 @@ + // The leader can't move to his keep, try to move to the closest location + // to the keep where there are no enemies in range. + int current_distance = distance_between(leader->get_location(), keep); +- foreach (const pathfind::paths::step &dest, leader_paths.destinations) ++ BOOST_FOREACH(const pathfind::paths::step &dest, leader_paths.destinations) + { + if (!units_.find(dest.curr).valid()){ + const int new_distance = distance_between(dest.curr,keep); +@@ -1728,12 +1728,12 @@ + }*/ + //int leader_adj_count = 0; + std::vector leaders_adj_v; +- foreach(unit_map::const_iterator leader, leaders){ ++ BOOST_FOREACH(unit_map::const_iterator leader, leaders){ + map_location tmp_leader_adj[6]; + get_adjacent_tiles(leader->get_location(), tmp_leader_adj); +- foreach(map_location &loc, tmp_leader_adj){ ++ BOOST_FOREACH(map_location &loc, tmp_leader_adj){ + bool found = false; +- foreach(map_location &new_loc, leaders_adj_v){ ++ BOOST_FOREACH(map_location &new_loc, leaders_adj_v){ + if(new_loc == loc){ + found = true; + break; +@@ -1974,7 +1974,7 @@ + } + std::vector ai_leaders = resources::units->find_leaders(get_side()); + bool allied_leaders_available = false; +- foreach(team &tmp_team, *resources::teams){ ++ BOOST_FOREACH(team &tmp_team, *resources::teams){ + if(!current_team().is_enemy(tmp_team.side())){ + std::vector allied_leaders = resources::units->find_leaders(get_side()); + if (!allied_leaders.empty()){ +@@ -2001,7 +2001,7 @@ + calculate_moves(*resources::units, possible_moves, friends_srcdst, friends_dstsrc, false, true); + + //check for each ai leader if he should move away from his keep +- foreach(unit_map::unit_iterator &ai_leader, ai_leaders){ ++ BOOST_FOREACH(unit_map::unit_iterator &ai_leader, ai_leaders){ + //only if leader is on a keep + if (!resources::game_map->is_keep(ai_leader->get_location())) { + continue; +@@ -2059,7 +2059,7 @@ + } + ai_leader->remove_movement_ai(); + } +- foreach(unit_map::unit_iterator &leader, ai_leaders){ ++ BOOST_FOREACH(unit_map::unit_iterator &leader, ai_leaders){ + leader->remove_movement_ai(); + } + //ERR_AI_TESTING_AI_DEFAULT << get_name() << ": evaluate - not yet implemented" << std::endl; +Index: src/ai/testing/stage_rca.cpp +=================================================================== +--- src/ai/testing/stage_rca.cpp (revision 54624) ++++ src/ai/testing/stage_rca.cpp (revision 54625) +@@ -25,10 +25,10 @@ + #include "../composite/engine.hpp" + #include "../composite/property_handler.hpp" + #include "../gamestate_observer.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + + #include ++#include + + namespace ai { + +@@ -49,7 +49,7 @@ + void candidate_action_evaluation_loop::on_create() + { + //init the candidate actions +- foreach(const config &cfg_element, cfg_.child_range("candidate_action")){ ++ BOOST_FOREACH(const config &cfg_element, cfg_.child_range("candidate_action")){ + engine::parse_candidate_action_from_config(*this,cfg_element,back_inserter(candidate_actions_)); + } + +@@ -69,7 +69,7 @@ + config candidate_action_evaluation_loop::to_config() const + { + config cfg = stage::to_config(); +- foreach(candidate_action_ptr ca, candidate_actions_){ ++ BOOST_FOREACH(candidate_action_ptr ca, candidate_actions_){ + cfg.add_child("candidate_action",ca->to_config()); + } + return cfg; +@@ -88,7 +88,7 @@ + { + LOG_AI_TESTING_RCA_DEFAULT << "Starting candidate action evaluation loop for side "<< get_side() << std::endl; + +- foreach(candidate_action_ptr ca, candidate_actions_){ ++ BOOST_FOREACH(candidate_action_ptr ca, candidate_actions_){ + ca->enable(); + } + +@@ -103,7 +103,7 @@ + candidate_action_ptr best_ptr; + + //Evaluation +- foreach(candidate_action_ptr ca_ptr, candidate_actions_){ ++ BOOST_FOREACH(candidate_action_ptr ca_ptr, candidate_actions_){ + if (!ca_ptr->is_enabled()){ + DBG_AI_TESTING_RCA_DEFAULT << "Skipping disabled candidate action: "<< *ca_ptr << std::endl; + continue; +Index: src/ai/testing/aspect_attacks.cpp +=================================================================== +--- src/ai/testing/aspect_attacks.cpp (revision 54624) ++++ src/ai/testing/aspect_attacks.cpp (revision 54625) +@@ -22,7 +22,6 @@ + + #include "../manager.hpp" + #include "../../actions.hpp" +-#include "../../foreach.hpp" + #include "../../log.hpp" + #include "../../map.hpp" + #include "../../team.hpp" +@@ -31,6 +30,8 @@ + #include "../../unit.hpp" + #include "../../pathfind/pathfind.hpp" + ++#include ++ + namespace ai { + + namespace testing_ai_default { +@@ -468,7 +469,7 @@ + // The 0.5 power avoids underestimating too much the damage of a wounded unit. + int hp = int(sqrt(double(un.hitpoints()) / un.max_hitpoints()) * 1000); + int most_damage = 0; +- foreach (const attack_type &att, un.attacks()) ++ BOOST_FOREACH(const attack_type &att, un.attacks()) + { + int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); + if (damage > most_damage) { +@@ -572,7 +573,7 @@ + // The 0.5 power avoids underestimating too much the damage of a wounded unit. + int hp = int(sqrt(double(un.hitpoints()) / un.max_hitpoints()) * 1000); + int most_damage = 0; +- foreach (const attack_type &att, un.attacks()) ++ BOOST_FOREACH(const attack_type &att, un.attacks()) + { + int damage = att.damage() * att.num_attacks() * (100 + tod_modifier); + if (damage > most_damage) { +Index: src/play_controller.cpp +=================================================================== +--- src/play_controller.cpp (revision 54624) ++++ src/play_controller.cpp (revision 54625) +@@ -21,7 +21,6 @@ + + #include "play_controller.hpp" + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_events.hpp" + #include "gettext.hpp" + #include "halo.hpp" +@@ -46,6 +45,8 @@ + #include "whiteboard/manager.hpp" + #include "scripting/lua.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define LOG_NG LOG_STREAM(info, log_engine) + #define DBG_NG LOG_STREAM(debug, log_engine) +@@ -173,7 +174,7 @@ + place_sides_in_preferred_locations(); + } + +- foreach (const config &t, level_.child_range("time_area")) { ++ BOOST_FOREACH(const config &t, level_.child_range("time_area")) { + tod_manager_.add_time_area(t); + } + +@@ -192,7 +193,7 @@ + std::vector team_builders; + + int team_num = 0; +- foreach (const config &side, level_.child_range("side")) ++ BOOST_FOREACH(const config &side, level_.child_range("side")) + { + std::string save_id = get_unique_saveid(side, seen_save_ids); + seen_save_ids.insert(save_id); +@@ -212,7 +213,7 @@ + team_builders.push_back(tb_ptr); + } + +- foreach (team_builder_ptr tb_ptr, team_builders) ++ BOOST_FOREACH(team_builder_ptr tb_ptr, team_builders) + { + gamestate_.build_team_stage_two(tb_ptr); + } +@@ -337,7 +338,7 @@ + int num_pos = map_.num_valid_starting_positions(); + + int side_num = 1; +- foreach (const config &side, level_.child_range("side")) ++ BOOST_FOREACH(const config &side, level_.child_range("side")) + { + for(int p = 1; p <= num_pos; ++p) { + const map_location& pos = map_.starting_position(p); +@@ -703,7 +704,7 @@ + } + + // Write terrain_graphics data in snapshot, too +- foreach (const config &tg, level_.child_range("terrain_graphics")) { ++ BOOST_FOREACH(const config &tg, level_.child_range("terrain_graphics")) { + cfg.add_child("terrain_graphics", tg); + } + +@@ -914,7 +915,7 @@ + switch(mode) { + case gui::TEXTBOX_SEARCH: + { +- foreach (const unit &u, units_){ ++ BOOST_FOREACH(const unit &u, units_){ + const map_location& loc = u.get_location(); + if(!gui_->fogged(loc) && + !(teams_[gui_->viewing_team()].is_enemy(u.side()) && u.invisible(loc))) +@@ -931,13 +932,13 @@ + } + case gui::TEXTBOX_MESSAGE: + { +- foreach(const team& t, teams_) { ++ BOOST_FOREACH(const team& t, teams_) { + if(!t.is_empty()) + dictionary.insert(t.current_player()); + } + + // Add observers +- foreach(const std::string& o, gui_->observers()){ ++ BOOST_FOREACH(const std::string& o, gui_->observers()){ + dictionary.insert(o); + } + //Exclude own nick from tab-completion. +@@ -1341,7 +1342,7 @@ + + if (non_interactive()) { + std::cout << "winner: "; +- foreach (unsigned l, seen_leaders) { ++ BOOST_FOREACH(unsigned l, seen_leaders) { + std::string ai = ai::manager::get_active_ai_identifier_for_side(l); + if (ai.empty()) ai = "default ai"; + std::cout << l << " (using " << ai << ") "; +Index: src/unit_abilities.cpp +=================================================================== +--- src/unit_abilities.cpp (revision 54624) ++++ src/unit_abilities.cpp (revision 54625) +@@ -18,7 +18,6 @@ + * Manage unit-abilities, like heal, cure, and weapon_specials. + */ + +-#include "foreach.hpp" + #include "gamestatus.hpp" + #include "log.hpp" + #include "resources.hpp" +@@ -27,6 +26,8 @@ + #include "team.hpp" + #include "unit_abilities.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + +@@ -124,7 +125,7 @@ + { + if (const config &abilities = cfg_.child("abilities")) + { +- foreach (const config &i, abilities.child_range(ability)) { ++ BOOST_FOREACH(const config &i, abilities.child_range(ability)) { + if (ability_active(ability, i, loc) && + ability_affects_self(ability, i, loc)) + return true; +@@ -141,7 +142,7 @@ + const config &adj_abilities = it->cfg_.child("abilities"); + if (!adj_abilities) + continue; +- foreach (const config &j, adj_abilities.child_range(ability)) { ++ BOOST_FOREACH(const config &j, adj_abilities.child_range(ability)) { + if (unit_abilities::affects_side(j, teams_manager::get_teams(), side(), it->side()) && + it->ability_active(ability, j, adjacent[i]) && + ability_affects_adjacent(ability, j, i, loc)) +@@ -158,7 +159,7 @@ + + if (const config &abilities = cfg_.child("abilities")) + { +- foreach (const config &i, abilities.child_range(ability)) { ++ BOOST_FOREACH(const config &i, abilities.child_range(ability)) { + if (ability_active(ability, i, loc) && + ability_affects_self(ability, i, loc)) + res.cfgs.push_back(std::pair(&i, loc)); +@@ -175,7 +176,7 @@ + const config &adj_abilities = it->cfg_.child("abilities"); + if (!adj_abilities) + continue; +- foreach (const config &j, adj_abilities.child_range(ability)) { ++ BOOST_FOREACH(const config &j, adj_abilities.child_range(ability)) { + if (unit_abilities::affects_side(j, teams_manager::get_teams(), side(), it->side()) && + it->ability_active(ability, j, adjacent[i]) && + ability_affects_adjacent(ability, j, i, loc)) +@@ -193,7 +194,7 @@ + + const config &abilities = cfg_.child("abilities"); + if (!abilities) return res; +- foreach (const config::any_child &ab, abilities.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) { + std::string const &id = ab.cfg["id"]; + if (!id.empty()) + res.push_back(id); +@@ -208,7 +209,7 @@ + const config &abilities = cfg_.child("abilities"); + if (!abilities) return res; + +- foreach (const config::any_child &ab, abilities.all_children_range()) ++ BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) + { + if (force_active || ability_active(ab.key, ab.cfg, loc_)) + { +@@ -265,9 +266,9 @@ + get_adjacent_tiles(loc,adjacent); + const unit_map& units = *resources::units; + +- foreach (const config &i, cfg.child_range("filter_adjacent")) ++ BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent")) + { +- foreach (const std::string &j, utils::split(i["adjacent"])) ++ BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) + { + map_location::DIRECTION index = + map_location::parse_direction(j); +@@ -282,9 +283,9 @@ + } + } + +- foreach (const config &i, cfg.child_range("filter_adjacent_location")) ++ BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent_location")) + { +- foreach (const std::string &j, utils::split(i["adjacent"])) ++ BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) + { + map_location::DIRECTION index = map_location::parse_direction(j); + if (index == map_location::NDIRECTIONS) { +@@ -310,7 +311,7 @@ + + assert(dir >=0 && dir <= 5); + static const std::string adjacent_names[6] = {"n","ne","se","s","sw","nw"}; +- foreach (const config &i, cfg.child_range("affect_adjacent")) ++ BOOST_FOREACH(const config &i, cfg.child_range("affect_adjacent")) + { + std::vector dirs = utils::split(i["adjacent"]); + if(std::find(dirs.begin(),dirs.end(),adjacent_names[dir]) != dirs.end()) { +@@ -366,7 +367,7 @@ + int flat = 0; + int stack = 0; + typedef std::pair pt; +- foreach (pt const &p, cfgs) ++ BOOST_FOREACH(pt const &p, cfgs) + { + int value = (*p.first)[key].to_int(def); + if ((*p.first)["cumulative"].to_bool()) { +@@ -398,7 +399,7 @@ + int flat = 0; + int stack = 0; + typedef std::pair pt; +- foreach (pt const &p, cfgs) ++ BOOST_FOREACH(pt const &p, cfgs) + { + int value = (*p.first)[key].to_int(def); + if ((*p.first)["cumulative"].to_bool()) { +@@ -448,7 +449,7 @@ + namespace { + bool get_special_children(std::vector& result, const config& parent, + const std::string& id, bool just_peeking=false) { +- foreach (const config::any_child &sp, parent.all_children_range()) ++ BOOST_FOREACH(const config::any_child &sp, parent.all_children_range()) + { + if (sp.key == id || sp.cfg["id"] == id) { + if(just_peeking) { +@@ -495,7 +496,7 @@ + unit_ability_list res; + if (const config &specials = cfg_.child("specials")) + { +- foreach (const config &i, specials.child_range(special)) { ++ BOOST_FOREACH(const config &i, specials.child_range(special)) { + if (special_active(i, true)) + res.cfgs.push_back(std::pair + (&i, attacker_ ? aloc_ : dloc_)); +@@ -504,7 +505,7 @@ + if (!other_attack_) return res; + if (const config &specials = other_attack_->cfg_.child("specials")) + { +- foreach (const config &i, specials.child_range(special)) { ++ BOOST_FOREACH(const config &i, specials.child_range(special)) { + if (other_attack_->special_active(i, false)) + res.cfgs.push_back(std::pair + (&i, attacker_ ? dloc_ : aloc_)); +@@ -519,7 +520,7 @@ + const config &specials = cfg_.child("specials"); + if (!specials) return res; + +- foreach (const config::any_child &sp, specials.all_children_range()) ++ BOOST_FOREACH(const config::any_child &sp, specials.all_children_range()) + { + if (force || special_active(sp.cfg, true)) { + const t_string &name = sp.cfg["name"]; +@@ -544,7 +545,7 @@ + const config &specials = cfg_.child("specials"); + if (!specials) return res; + +- foreach (const config::any_child &sp, specials.all_children_range()) ++ BOOST_FOREACH(const config::any_child &sp, specials.all_children_range()) + { + char const *s = force || special_active(sp.cfg, true) ? + "name" : "name_inactive"; +@@ -679,9 +680,9 @@ + get_adjacent_tiles(dloc_,adjacent); + } + +- foreach (const config &i, cfg.child_range("filter_adjacent")) ++ BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent")) + { +- foreach (const std::string &j, utils::split(i["adjacent"])) ++ BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) + { + map_location::DIRECTION index = + map_location::parse_direction(j); +@@ -694,9 +695,9 @@ + } + } + +- foreach (const config &i, cfg.child_range("filter_adjacent_location")) ++ BOOST_FOREACH(const config &i, cfg.child_range("filter_adjacent_location")) + { +- foreach (const std::string &j, utils::split(i["adjacent"])) ++ BOOST_FOREACH(const std::string &j, utils::split(i["adjacent"])) + { + map_location::DIRECTION index = + map_location::parse_direction(j); +Index: src/video.cpp +=================================================================== +--- src/video.cpp (revision 54624) ++++ src/video.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "global.hpp" + + #include "font.hpp" +-#include "foreach.hpp" + #include "image.hpp" + #include "log.hpp" + #include "preferences.hpp" +@@ -29,6 +28,8 @@ + #include "sdl_utils.hpp" + #include "video.hpp" + ++#include ++ + #include + #include + #include +@@ -105,7 +106,7 @@ + { + events.clear(); + +- foreach (SDL_Rect const &rect, update_rects) { ++ BOOST_FOREACH(SDL_Rect const &rect, update_rects) { + events.push_back(event(rect, true)); + events.push_back(event(rect, false)); + } +@@ -354,7 +355,7 @@ + int CVideo::bppForMode( int x, int y, int flags) + { + int test_values[3] = {getBpp(), 32, 16}; +- foreach(int &bpp, test_values) { ++ BOOST_FOREACH(int &bpp, test_values) { + if(modePossible(x, y, bpp, flags) > 0) { + return bpp; + } +Index: src/tools/schema/tag.cpp +=================================================================== +--- src/tools/schema/tag.cpp (revision 54624) ++++ src/tools/schema/tag.cpp (revision 54625) +@@ -21,7 +21,9 @@ + #include "tools/schema/tag.hpp" + + #include "config.hpp" +-#include "foreach.hpp" ++ ++#include ++ + namespace schema_validation{ + + /*WIKI +@@ -81,15 +83,15 @@ + if (cfg.has_attribute("super")){ + super_ = cfg["super"].str(); + } +- foreach (const config &child, cfg.child_range("tag")) { ++ BOOST_FOREACH(const config &child, cfg.child_range("tag")) { + class_tag child_tag (child); + add_tag(child_tag); + } +- foreach (const config &child, cfg.child_range("key")) { ++ BOOST_FOREACH(const config &child, cfg.child_range("key")) { + class_key child_key (child); + add_key(child_key); + } +- foreach (const config &link, cfg.child_range("link")) { ++ BOOST_FOREACH(const config &link, cfg.child_range("link")) { + std::string link_name = link["name"].str(); + add_link(link_name); + } +Index: src/tools/exploder_cutter.cpp +=================================================================== +--- src/tools/exploder_cutter.cpp (revision 54624) ++++ src/tools/exploder_cutter.cpp (revision 54625) +@@ -15,12 +15,13 @@ + + #include "exploder_cutter.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "serialization/parser.hpp" + #include "serialization/preprocessor.hpp" + #include "serialization/string_utils.hpp" + #include "SDL_image.h" + ++#include ++ + #include + + cutter::cutter() +@@ -48,7 +49,7 @@ + + void cutter::load_masks(const config& conf) + { +- foreach (const config &m, conf.child_range("mask")) ++ BOOST_FOREACH(const config &m, conf.child_range("mask")) + { + const std::string name = m["name"]; + const std::string image = get_mask_dir() + "/" + std::string(m["image"]); +@@ -94,7 +95,7 @@ + { + surface_map res; + +- foreach (const config &part, conf.child_range("part")) { ++ BOOST_FOREACH(const config &part, conf.child_range("part")) { + add_sub_image(surf, res, &part); + } + +Index: src/builder.cpp +=================================================================== +--- src/builder.cpp (revision 54624) ++++ src/builder.cpp (revision 54625) +@@ -20,13 +20,14 @@ + + #include "builder.hpp" + +-#include "foreach.hpp" + #include "loadscreen.hpp" + #include "log.hpp" + #include "map.hpp" + #include "serialization/string_utils.hpp" + #include "image.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + #define WRN_NG LOG_STREAM(warn, log_engine) +@@ -65,12 +66,12 @@ + sorted_images = true; + } + +- foreach(const rule_image_rand& ri, images){ ++ BOOST_FOREACH(const rule_image_rand& ri, images){ + bool is_background = ri->is_background(); + + imagelist& img_list = is_background ? images_background : images_foreground; + +- foreach(const rule_image_variant& variant, ri->variants){ ++ BOOST_FOREACH(const rule_image_variant& variant, ri->variants){ + if(!variant.tods.empty() && variant.tods.find(tod) == variant.tods.end()) + continue; + +@@ -250,12 +251,12 @@ + + tile& btile = tile_map_[loc]; + +- foreach(animated& a, btile.images_background) { ++ BOOST_FOREACH(animated& a, btile.images_background) { + if(a.need_update()) + changed = true; + a.update_last_draw_time(); + } +- foreach(animated& a, btile.images_foreground) { ++ BOOST_FOREACH(animated& a, btile.images_foreground) { + if(a.need_update()) + changed = true; + a.update_last_draw_time(); +@@ -326,7 +327,7 @@ + } + std::vector vars = utils::split(variations, ';', 0); + +- foreach(const std::string& v, vars){ ++ BOOST_FOREACH(const std::string& v, vars){ + res.push_back(base); + std::string::size_type pos = 0; + while ((pos = res.back().find("@V", pos)) != std::string::npos) { +@@ -345,21 +346,21 @@ + + // Parse images and animations data + // If one is not valid, return false. +- foreach(terrain_constraint &constraint, rule.constraints) ++ BOOST_FOREACH(terrain_constraint &constraint, rule.constraints) + { +- foreach(rule_image& ri, constraint.images) ++ BOOST_FOREACH(rule_image& ri, constraint.images) + { +- foreach(rule_image_variant& variant, ri.variants) ++ BOOST_FOREACH(rule_image_variant& variant, ri.variants) + { + + std::vector var_strings = get_variations(variant.image_string, variant.variations); +- foreach(const std::string& var, var_strings) ++ BOOST_FOREACH(const std::string& var, var_strings) + { + /** @todo improve this, 99% of terrains are not animated. */ + std::vector frames = utils::parenthetical_split(var,','); + animated res; + +- foreach(const std::string& frame, frames) ++ BOOST_FOREACH(const std::string& frame, frames) + { + const std::vector items = utils::split(frame, ':'); + const std::string& str = items.front(); +@@ -499,7 +500,7 @@ + void terrain_builder::replace_rotate_tokens(rule_image &image, int angle, + const std::vector &replacement) + { +- foreach(rule_image_variant& variant, image.variants) { ++ BOOST_FOREACH(rule_image_variant& variant, image.variants) { + replace_rotate_tokens(variant, angle, replacement); + } + } +@@ -507,7 +508,7 @@ + void terrain_builder::replace_rotate_tokens(rule_imagelist &list, int angle, + const std::vector &replacement) + { +- foreach (rule_image &img, list) { ++ BOOST_FOREACH(rule_image &img, list) { + replace_rotate_tokens(img, angle, replacement); + } + } +@@ -515,16 +516,16 @@ + void terrain_builder::replace_rotate_tokens(building_rule &rule, int angle, + const std::vector &replacement) + { +- foreach (terrain_constraint &cons, rule.constraints) ++ BOOST_FOREACH(terrain_constraint &cons, rule.constraints) + { + // Transforms attributes +- foreach (std::string &flag, cons.set_flag) { ++ BOOST_FOREACH(std::string &flag, cons.set_flag) { + replace_rotate_tokens(flag, angle, replacement); + } +- foreach (std::string &flag, cons.no_flag) { ++ BOOST_FOREACH(std::string &flag, cons.no_flag) { + replace_rotate_tokens(flag, angle, replacement); + } +- foreach (std::string &flag, cons.has_flag) { ++ BOOST_FOREACH(std::string &flag, cons.has_flag) { + replace_rotate_tokens(flag, angle, replacement); + } + replace_rotate_tokens(cons.images, angle, replacement); +@@ -541,7 +542,7 @@ + return; + } + +- foreach (terrain_constraint &cons, ret.constraints) { ++ BOOST_FOREACH(terrain_constraint &cons, ret.constraints) { + rotate(cons, angle); + } + +@@ -549,7 +550,7 @@ + int minx = INT_MAX; + int miny = INT_MAX; + +- foreach (const terrain_constraint &cons, ret.constraints) { ++ BOOST_FOREACH(const terrain_constraint &cons, ret.constraints) { + minx = std::min(cons.loc.x, minx); + miny = std::min(2 * cons.loc.y + (cons.loc.x & 1), miny); + } +@@ -559,7 +560,7 @@ + if(!(miny & 1) && (minx & 1) && (minx > 0)) + miny -= 2; + +- foreach (terrain_constraint &cons, ret.constraints) { ++ BOOST_FOREACH(terrain_constraint &cons, ret.constraints) { + cons.loc.legacy_sum_assign(map_location(-minx, -((miny - 1) / 2))); + } + +@@ -581,7 +582,7 @@ + + void terrain_builder::add_images_from_config(rule_imagelist& images, const config &cfg, bool global, int dx, int dy) + { +- foreach (const config &img, cfg.child_range("image")) ++ BOOST_FOREACH(const config &img, cfg.child_range("image")) + { + int layer = img["layer"]; + +@@ -606,7 +607,7 @@ + images.push_back(rule_image(layer, basex - dx, basey - dy, global, center_x, center_y)); + + // Adds the other variants of the image +- foreach (const config &variant, img.child_range("variant")) ++ BOOST_FOREACH(const config &variant, img.child_range("variant")) + { + const std::string &name = variant["name"]; + const std::string &variations = img["variations"]; +@@ -631,7 +632,7 @@ + const t_translation::t_match& type, const config& global_images) + { + terrain_constraint *cons = NULL; +- foreach (terrain_constraint &c, constraints) { ++ BOOST_FOREACH(terrain_constraint &c, constraints) { + if (c.loc == loc) { + cons = &c; + break; +@@ -769,7 +770,7 @@ + log_scope("terrain_builder::parse_config"); + + // Parses the list of building rules (BRs) +- foreach (const config &br, cfg.child_range("terrain_graphics")) ++ BOOST_FOREACH(const config &br, cfg.child_range("terrain_graphics")) + { + building_rule pbr; // Parsed Building rule + pbr.local = local; +@@ -788,7 +789,7 @@ + parse_mapstring(br["map"], pbr, anchors, br); + + // Parses the terrain constraints (TCs) +- foreach (const config &tc, br.child_range("tile")) ++ BOOST_FOREACH(const config &tc, br.child_range("tile")) + { + // Adds the terrain constraint to the current built terrain's list + // of terrain constraints, if it does not exist. +@@ -831,7 +832,7 @@ + const std::vector global_has_flag = utils::split(br["has_flag"]); + const std::vector global_set_no_flag = utils::split(br["set_no_flag"]); + +- foreach (terrain_constraint &constraint, pbr.constraints) ++ BOOST_FOREACH(terrain_constraint &constraint, pbr.constraints) + { + constraint.set_flag.insert(constraint.set_flag.end(), + global_set_flag.begin(), global_set_flag.end()); +@@ -925,7 +926,7 @@ + } + } + +- foreach (const terrain_constraint &cons, rule.constraints) ++ BOOST_FOREACH(const terrain_constraint &cons, rule.constraints) + { + // Translated location + const map_location tloc = loc.legacy_sum(cons.loc); +@@ -943,13 +944,13 @@ + + const std::set &flags = tile_map_[tloc].flags; + +- foreach (const std::string &s, cons.no_flag) { ++ BOOST_FOREACH(const std::string &s, cons.no_flag) { + // If a flag listed in "no_flag" is present, the rule does not match + if (flags.find(s) != flags.end()) { + return false; + } + } +- foreach (const std::string &s, cons.has_flag) { ++ BOOST_FOREACH(const std::string &s, cons.has_flag) { + // If a flag listed in "has_flag" is not present, this rule does not match + if (flags.find(s) == flags.end()) { + return false; +@@ -964,7 +965,7 @@ + { + unsigned int rand_seed = get_noise(loc, rule.get_hash()); + +- foreach (const terrain_constraint &constraint, rule.constraints) ++ BOOST_FOREACH(const terrain_constraint &constraint, rule.constraints) + { + const map_location tloc = loc.legacy_sum(constraint.loc); + if(!tile_map_.on_map(tloc)) { +@@ -973,12 +974,12 @@ + + tile& btile = tile_map_[tloc]; + +- foreach (const rule_image &img, constraint.images) { ++ BOOST_FOREACH(const rule_image &img, constraint.images) { + btile.images.push_back(tile::rule_image_rand(&img, rand_seed)); + } + + // Sets flags +- foreach (const std::string &flag, constraint.set_flag) { ++ BOOST_FOREACH(const std::string &flag, constraint.set_flag) { + btile.flags.insert(flag); + } + +@@ -1001,9 +1002,9 @@ + if(hash_ != DUMMY_HASH) + return hash_; + +- foreach(const terrain_constraint &constraint, constraints) { +- foreach(const rule_image& ri, constraint.images) { +- foreach(const rule_image_variant& variant, ri.variants) { ++ BOOST_FOREACH(const terrain_constraint &constraint, constraints) { ++ BOOST_FOREACH(const rule_image& ri, constraint.images) { ++ BOOST_FOREACH(const rule_image_variant& variant, ri.variants) { + // we will often hash the same string, but that seems fast enough + hash_ += hash_str(variant.image_string); + } +@@ -1031,7 +1032,7 @@ + } + } + +- foreach (const building_rule &rule, building_rules_) ++ BOOST_FOREACH(const building_rule &rule, building_rules_) + { + // Find the constraint that contains the less terrain of all terrain rules. + // We will keep a track of the matching terrains of this constraint +@@ -1040,7 +1041,7 @@ + t_translation::t_list min_types; + const terrain_constraint *min_constraint = NULL; + +- foreach (const terrain_constraint &constraint, rule.constraints) ++ BOOST_FOREACH(const terrain_constraint &constraint, rule.constraints) + { + const t_translation::t_match& match = constraint.terrain_types_match; + t_translation::t_list matching_types; +Index: src/game_config.cpp +=================================================================== +--- src/game_config.cpp (revision 54624) ++++ src/game_config.cpp (revision 54625) +@@ -18,7 +18,6 @@ + + #include "color_range.hpp" + #include "config.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "log.hpp" + #include "util.hpp" +@@ -29,6 +28,8 @@ + #include "revision.hpp" + #endif /* HAVE_REVISION */ + ++#include ++ + static lg::log_domain log_engine("engine"); + #define DBG_NG LOG_STREAM(debug, log_engine) + #define ERR_NG LOG_STREAM(err, log_engine) +@@ -259,7 +260,7 @@ + } + + server_list.clear(); +- foreach (const config &server, v.child_range("server")) ++ BOOST_FOREACH(const config &server, v.child_range("server")) + { + server_info sinf; + sinf.name = server["name"].str(); +@@ -270,7 +271,7 @@ + + void add_color_info(const config &v) + { +- foreach (const config &teamC, v.child_range("color_range")) ++ BOOST_FOREACH(const config &teamC, v.child_range("color_range")) + { + const config::attribute_value *a1 = teamC.get("id"), + *a2 = teamC.get("rgb"); +@@ -304,9 +305,9 @@ + DBG_NG << str.str() << '\n'; + } + +- foreach (const config &cp, v.child_range("color_palette")) ++ BOOST_FOREACH(const config &cp, v.child_range("color_palette")) + { +- foreach (const config::attribute &rgb, cp.attribute_range()) ++ BOOST_FOREACH(const config::attribute &rgb, cp.attribute_range()) + { + std::vector temp; + if(!string2rgb(rgb.second, temp)) { +Index: src/whiteboard/recall.cpp +=================================================================== +--- src/whiteboard/recall.cpp (revision 54624) ++++ src/whiteboard/recall.cpp (revision 54625) +@@ -24,7 +24,6 @@ + #include "utility.hpp" + #include "visitor.hpp" + +-#include "foreach.hpp" + #include "game_display.hpp" + #include "menu_events.hpp" + #include "play_controller.hpp" +@@ -32,6 +31,8 @@ + #include "team.hpp" + #include "unit.hpp" + ++#include ++ + namespace wb + { + +@@ -71,7 +72,7 @@ + { + // Construct and validate temp_unit_ + size_t underlying_id = cfg["temp_unit_"]; +- foreach(unit const& recall_unit, resources::teams->at(team_index()).recall_list()) ++ BOOST_FOREACH(unit const& recall_unit, resources::teams->at(team_index()).recall_list()) + { + if(recall_unit.underlying_id()==underlying_id) + { +Index: src/whiteboard/utility.cpp +=================================================================== +--- src/whiteboard/utility.cpp (revision 54624) ++++ src/whiteboard/utility.cpp (revision 54625) +@@ -22,7 +22,6 @@ + #include "manager.hpp" + + #include "actions.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "map.hpp" + #include "play_controller.hpp" +@@ -30,6 +29,8 @@ + #include "team.hpp" + #include "unit.hpp" + ++#include ++ + namespace wb { + + size_t viewer_team() +@@ -60,7 +61,7 @@ + { + assert(leader.can_recruit()); + assert(resources::game_map->is_keep(leader.get_location())); +- foreach(unit const& unit, *resources::units) ++ BOOST_FOREACH(unit const& unit, *resources::units) + { + if (unit.can_recruit() && + resources::game_map->is_keep(unit.get_location()) && +@@ -83,7 +84,7 @@ + if(!map.is_castle(hex)) + return NULL; + +- foreach(unit& u, *resources::units) ++ BOOST_FOREACH(unit& u, *resources::units) + if(u.can_recruit() + && u.side() == static_cast(team_index+1) + && can_recruit_on(map,u.get_location(),hex)) +@@ -124,7 +125,7 @@ + + int result = 0; + gamemap const& map = *resources::game_map; +- foreach(map_location const& loc, std::make_pair(path.begin()+1,path.end())) ++ BOOST_FOREACH(map_location const& loc, std::make_pair(path.begin()+1,path.end())) + result += u.movement_cost(map[loc]); + return result; + } +@@ -149,7 +150,7 @@ + + bool has_actions() + { +- foreach(team& t, *resources::teams) ++ BOOST_FOREACH(team& t, *resources::teams) + if (!t.get_side_actions()->empty()) + return true; + +Index: src/whiteboard/visitor.hpp +=================================================================== +--- src/whiteboard/visitor.hpp (revision 54624) ++++ src/whiteboard/visitor.hpp (revision 54625) +@@ -33,11 +33,11 @@ + #include "action.hpp" + #include "side_actions.hpp" + +-#include "foreach.hpp" + #include "play_controller.hpp" + #include "resources.hpp" + + #include ++#include + + namespace wb + { +@@ -81,7 +81,7 @@ + + //Determine how many turns' worth of plans there are + size_t max_turns = 0; +- foreach(team& t, *resources::teams) ++ BOOST_FOREACH(team& t, *resources::teams) + max_turns = std::max(max_turns,t.get_side_actions()->num_turns()); + + size_t const current_team = resources::controller->current_side() - 1; +Index: src/whiteboard/side_actions.cpp +=================================================================== +--- src/whiteboard/side_actions.cpp (revision 54624) ++++ src/whiteboard/side_actions.cpp (revision 54625) +@@ -31,12 +31,13 @@ + #include "validate_visitor.hpp" + + #include "actions.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_end_exceptions.hpp" + #include "map.hpp" + #include "resources.hpp" + ++#include ++ + #include + #include + +@@ -48,13 +49,13 @@ + { + s << "Content of side_actions:"; + int turn = 1; +- foreach(action_queue const& turn_queue, side_actions.actions()) ++ BOOST_FOREACH(action_queue const& turn_queue, side_actions.actions()) + { + s << "\n Turn " << turn; + ++turn; + + int count = 1; +- foreach(action_ptr const& action, turn_queue) ++ BOOST_FOREACH(action_ptr const& action, turn_queue) + { + s << "\n (" << count << ") " << action; + ++count; +@@ -114,7 +115,7 @@ + main_number = index; + } + +- foreach(weak_action_ptr action, highlighter->get_secondary_highlights()) ++ BOOST_FOREACH(weak_action_ptr action, highlighter->get_secondary_highlights()) + { + if (action.lock() == *it) + { +@@ -199,7 +200,7 @@ + size_t side_actions::size() const + { + size_t result = 0; +- foreach(action_queue const& queue, actions_) ++ BOOST_FOREACH(action_queue const& queue, actions_) + result += queue.size(); + return result; + } +@@ -234,7 +235,7 @@ + return; + } + +- foreach(action_ptr act, *this) ++ BOOST_FOREACH(action_ptr act, *this) + act->hide(); + } + void side_actions::show() +@@ -244,7 +245,7 @@ + + hidden_ = false; + +- foreach(action_ptr act, *this) ++ BOOST_FOREACH(action_ptr act, *this) + act->show(); + } + +@@ -507,7 +508,7 @@ + size_t side_actions::count_actions_of(unit const* unit) + { + size_t count = 0; +- foreach(action_ptr action, *this) ++ BOOST_FOREACH(action_ptr action, *this) + { + if (action->get_unit() == unit) + { +@@ -783,7 +784,7 @@ + else if(type=="refresh") + { + safe_clear(); +- foreach(net_cmd const& sub_cmd, cmd.child_range("net_cmd")) ++ BOOST_FOREACH(net_cmd const& sub_cmd, cmd.child_range("net_cmd")) + execute_net_cmd(sub_cmd); + } + else +@@ -890,7 +891,7 @@ + + //find units who still have plans for turn 0 (i.e. were too lazy to finish their jobs) + std::set lazy_units; +- foreach(action_ptr const& act, iter_turn(0)) ++ BOOST_FOREACH(action_ptr const& act, iter_turn(0)) + { + unit const* u = act->get_unit(); + if(u) +@@ -913,7 +914,7 @@ + } + + //push any remaining first-turn plans into the second turn +- foreach(action_ptr act, actions_.front()) ++ BOOST_FOREACH(action_ptr act, actions_.front()) + actions_[1].push_front(act); + actions_.front().clear(); + +Index: src/whiteboard/move.cpp +=================================================================== +--- src/whiteboard/move.cpp (revision 54624) ++++ src/whiteboard/move.cpp (revision 54625) +@@ -26,7 +26,6 @@ + + #include "arrow.hpp" + #include "config.hpp" +-#include "foreach.hpp" + #include "game_end_exceptions.hpp" + #include "mouse_events.hpp" + #include "play_controller.hpp" +@@ -37,6 +36,8 @@ + #include "unit_display.hpp" + #include "unit_map.hpp" + ++#include ++ + namespace wb { + + std::ostream& operator<<(std::ostream &s, move_ptr move) +@@ -108,10 +109,10 @@ + if(!route_cfg) + throw action::ctor_err("move: Invalid route_"); + route_->move_cost = route_cfg["move_cost"]; +- foreach(config const& loc_cfg, route_cfg.child_range("step")) { ++ BOOST_FOREACH(config const& loc_cfg, route_cfg.child_range("step")) { + route_->steps.push_back(map_location(loc_cfg["x"],loc_cfg["y"])); + } +- foreach(config const& mark_cfg, route_cfg.child_range("mark")) { ++ BOOST_FOREACH(config const& mark_cfg, route_cfg.child_range("mark")) { + route_->marks[map_location(mark_cfg["x"],mark_cfg["y"])] + = pathfind::marked_route::mark(mark_cfg["turns"],mark_cfg["zoc"],mark_cfg["capture"],mark_cfg["invisible"]); + } +@@ -470,7 +471,7 @@ + //Serialize route_ + config route_cfg; + route_cfg["move_cost"]=route_->move_cost; +- foreach(map_location const& loc, route_->steps) ++ BOOST_FOREACH(map_location const& loc, route_->steps) + { + config loc_cfg; + loc_cfg["x"]=loc.x; +@@ -478,7 +479,7 @@ + route_cfg.add_child("step",loc_cfg); + } + typedef std::pair pair_loc_mark; +- foreach(pair_loc_mark const& item, route_->marks) ++ BOOST_FOREACH(pair_loc_mark const& item, route_->marks) + { + config mark_cfg; + mark_cfg["x"]=item.first.x; +Index: src/whiteboard/validate_visitor.cpp +=================================================================== +--- src/whiteboard/validate_visitor.cpp (revision 54624) ++++ src/whiteboard/validate_visitor.cpp (revision 54625) +@@ -28,12 +28,13 @@ + #include "utility.hpp" + + #include "arrow.hpp" +-#include "foreach.hpp" + #include "pathfind/pathfind.hpp" + #include "play_controller.hpp" + #include "resources.hpp" + #include "team.hpp" + ++#include ++ + namespace wb + { + +@@ -60,7 +61,7 @@ + { + int side_actions_size_before = viewer_actions_.size(); + LOG_WB << "Erasing " << actions_to_erase_.size() << " invalid actions.\n"; +- foreach(action_ptr action, actions_to_erase_) ++ BOOST_FOREACH(action_ptr action, actions_to_erase_) + { + viewer_actions_.remove_action(viewer_actions_.get_position_of(action), false); + } +Index: src/whiteboard/manager.cpp +=================================================================== +--- src/whiteboard/manager.cpp (revision 54624) ++++ src/whiteboard/manager.cpp (revision 54625) +@@ -32,7 +32,6 @@ + #include "actions.hpp" + #include "arrow.hpp" + #include "chat_events.hpp" +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" +@@ -47,6 +46,8 @@ + #include "unit_display.hpp" + + #include ++#include ++ + #include + + namespace wb { +@@ -268,7 +269,7 @@ + } + + //Look for planned recruits that depend on this leader +- foreach(action_const_ptr action, *viewer_actions()) ++ BOOST_FOREACH(action_const_ptr action, *viewer_actions()) + { + recruit_const_ptr recruit = boost::dynamic_pointer_cast(action); + recall_const_ptr recall = boost::dynamic_pointer_cast(action); +@@ -332,7 +333,7 @@ + + static void hide_all_plans() + { +- foreach(team& t, *resources::teams) ++ BOOST_FOREACH(team& t, *resources::teams) + t.get_side_actions()->hide(); + } + +@@ -344,7 +345,7 @@ + hide_all_plans(); + else //< normal circumstance + { +- foreach(team& t, *resources::teams) ++ BOOST_FOREACH(team& t, *resources::teams) + { + //make sure only appropriate teams are hidden + if(!t.is_network_human()) +@@ -498,7 +499,7 @@ + if (can_modify_game_state() && has_actions()) + { + units_owning_moves_ = move_owners_finder().get_units_owning_moves(); +- foreach(size_t unit_id, units_owning_moves_) ++ BOOST_FOREACH(size_t unit_id, units_owning_moves_) + { + unit_map::iterator unit_iter = resources::units->find(unit_id); + assert(unit_iter.valid()); +@@ -509,7 +510,7 @@ + + void manager::post_draw() + { +- foreach(size_t unit_id, units_owning_moves_) ++ BOOST_FOREACH(size_t unit_id, units_owning_moves_) + { + unit_map::iterator unit_iter = resources::units->find(unit_id); + if (unit_iter.valid()) { +@@ -558,7 +559,7 @@ + + //Info about the action numbers to be displayed on screen. + side_actions::numbers_t numbers; +- foreach(team& t, *resources::teams) ++ BOOST_FOREACH(team& t, *resources::teams) + { + side_actions& sa = *t.get_side_actions(); + if(!sa.hidden()) +@@ -571,7 +572,7 @@ + + void manager::on_mouseover_change(const map_location& hex) + { +- foreach(map_location const& hex, hidden_unit_hexes_) ++ BOOST_FOREACH(map_location const& hex, hidden_unit_hexes_) + resources::screen->remove_exclusive_draw(hex); + hidden_unit_hexes_.clear(); + +@@ -636,7 +637,7 @@ + LOG_WB << "Received wb data (" << count << ").\n"; + + team& team_from = resources::teams->at(wb_cfg["side"]-1); +- foreach(side_actions::net_cmd const& cmd, wb_cfg.child_range("net_cmd")) ++ BOOST_FOREACH(side_actions::net_cmd const& cmd, wb_cfg.child_range("net_cmd")) + team_from.get_side_actions()->execute_net_cmd(cmd); + } + } +@@ -1138,7 +1139,7 @@ + options.push_back(_("HIDE ALL allies’ plans")); + + //populate list of networked allies +- foreach(team &t, *resources::teams) ++ BOOST_FOREACH(team &t, *resources::teams) + { + //Exclude enemies, AIs, and local players + if(t.is_enemy(v_side) || !t.is_network()) +@@ -1164,11 +1165,11 @@ + switch(selection) + { + case 0: +- foreach(team* t, allies) ++ BOOST_FOREACH(team* t, allies) + team_plans_hidden_[t->side()-1]=false; + break; + case 1: +- foreach(team* t, allies) ++ BOOST_FOREACH(team* t, allies) + team_plans_hidden_[t->side()-1]=true; + break; + default: +Index: src/whiteboard/suppose_dead.cpp +=================================================================== +--- src/whiteboard/suppose_dead.cpp (revision 54624) ++++ src/whiteboard/suppose_dead.cpp (revision 54625) +@@ -26,7 +26,6 @@ + + #include "arrow.hpp" + #include "config.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_end_exceptions.hpp" + #include "mouse_events.hpp" +Index: src/whiteboard/mapbuilder.cpp +=================================================================== +--- src/whiteboard/mapbuilder.cpp (revision 54624) ++++ src/whiteboard/mapbuilder.cpp (revision 54625) +@@ -24,12 +24,13 @@ + #include "side_actions.hpp" + #include "utility.hpp" + +-#include "foreach.hpp" + #include "play_controller.hpp" + #include "resources.hpp" + #include "unit.hpp" + #include "unit_map.hpp" + ++#include ++ + namespace wb + { + +@@ -51,14 +52,14 @@ + + void mapbuilder::pre_build() + { +- foreach(team& t, *resources::teams) ++ BOOST_FOREACH(team& t, *resources::teams) + { + //Reset spent gold to zero, it'll be recalculated during the map building + t.get_side_actions()->reset_gold_spent(); + } + + int current_side = resources::controller->current_side(); +- foreach(unit& u, *resources::units) ++ BOOST_FOREACH(unit& u, *resources::units) + { + bool on_current_side = (u.side() == current_side); + +Index: src/whiteboard/highlight_visitor.cpp +=================================================================== +--- src/whiteboard/highlight_visitor.cpp (revision 54624) ++++ src/whiteboard/highlight_visitor.cpp (revision 54625) +@@ -29,11 +29,12 @@ + #include "suppose_dead.hpp" + + #include "arrow.hpp" +-#include "foreach.hpp" + #include "play_controller.hpp" + #include "resources.hpp" + #include "unit_map.hpp" + ++#include ++ + namespace wb + { + +@@ -147,7 +148,7 @@ + { + //Highlight secondary highlights + mode_ = HIGHLIGHT_SECONDARY; +- foreach(weak_action_ptr weak, secondary_highlights_) ++ BOOST_FOREACH(weak_action_ptr weak, secondary_highlights_) + { + if (action_ptr action = weak.lock()) + { +@@ -169,7 +170,7 @@ + + //unhighlight secondary highlights + mode_ = UNHIGHLIGHT_SECONDARY; +- foreach(weak_action_ptr weak, secondary_highlights_) ++ BOOST_FOREACH(weak_action_ptr weak, secondary_highlights_) + { + if (action_ptr action = weak.lock()) + { +@@ -178,7 +179,7 @@ + } + + //unhide other units if needed +- foreach(map_location hex, exclusive_display_hexes_) ++ BOOST_FOREACH(map_location hex, exclusive_display_hexes_) + { + resources::screen->remove_exclusive_draw(hex); + } +Index: src/language.cpp +=================================================================== +--- src/language.cpp (revision 54624) ++++ src/language.cpp (revision 54625) +@@ -16,7 +16,6 @@ + #include "global.hpp" + + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "language.hpp" + #include "log.hpp" +@@ -27,6 +26,7 @@ + #include + #include + #include ++#include + + #ifdef _WIN32 + #include +@@ -101,7 +101,7 @@ + known_languages.push_back( + language_def("", t_string(N_("System default language"), "wesnoth"), "ltr", "", "A")); + +- foreach (const config &lang, cfg.child_range("locale")) ++ BOOST_FOREACH(const config &lang, cfg.child_range("locale")) + { + known_languages.push_back( + language_def(lang["locale"], lang["name"], lang["dir"], +@@ -226,9 +226,9 @@ + std::cerr << "No [language] block found\n"; + return false; + } +- foreach (const config &lang, languages_) { ++ BOOST_FOREACH(const config &lang, languages_) { + DBG_G << "[language]\n"; +- foreach (const config::attribute &j, lang.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &j, lang.attribute_range()) { + DBG_G << j.first << "=\"" << j.second << "\"\n"; + strings_[j.first] = j.second; + } +@@ -283,7 +283,7 @@ + + void init_textdomains(const config& cfg) + { +- foreach (const config &t, cfg.child_range("textdomain")) ++ BOOST_FOREACH(const config &t, cfg.child_range("textdomain")) + { + const std::string &name = t["name"]; + const std::string &path = t["path"]; +@@ -307,7 +307,7 @@ + bool init_strings(const config& cfg) + { + languages_.clear(); +- foreach(const config &l, cfg.child_range("language")) { ++ BOOST_FOREACH(const config &l, cfg.child_range("language")) { + languages_.push_back(l); + } + return load_strings(true); +Index: src/multiplayer_lobby.cpp +=================================================================== +--- src/multiplayer_lobby.cpp (revision 54624) ++++ src/multiplayer_lobby.cpp (revision 54625) +@@ -20,7 +20,6 @@ + #include "global.hpp" + + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "lobby_preferences.hpp" + #include "map_exception.hpp" +@@ -34,6 +33,8 @@ + #include "wml_exception.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + static lg::log_domain log_config("config"); + #define ERR_CF LOG_STREAM(err, log_config) + +@@ -424,7 +425,7 @@ + + games_.clear(); + +- foreach (const config &game, cfg.child("gamelist").child_range("game")) ++ BOOST_FOREACH(const config &game, cfg.child("gamelist").child_range("game")) + { + bool verified = true; + games_.push_back(game_item()); +@@ -502,7 +503,7 @@ + if (map_hashes_ && !games_.back().reloaded) { + std::string hash = game["hash"]; + bool hash_found = false; +- foreach (const config::attribute &i, map_hashes_.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, map_hashes_.attribute_range()) { + if (i.first == game["mp_scenario"] && i.second == hash) { + hash_found = true; + break; +@@ -639,7 +640,7 @@ + + if(preferences::fi_friends_in_game()) { + bool found_friend = false; +- foreach(const config &user, cfg.child_range("user")) { ++ BOOST_FOREACH(const config &user, cfg.child_range("user")) { + if(preferences::is_friend(user["name"]) && user["game_id"] == i.id) { + found_friend = true; + break; +@@ -650,7 +651,7 @@ + + if(!preferences::fi_text().empty()) { + bool found_match = true; +- foreach(const std::string& search_string, utils::split(preferences::fi_text(), ' ', utils::STRIP_SPACES)) { ++ BOOST_FOREACH(const std::string& search_string, utils::split(preferences::fi_text(), ' ', utils::STRIP_SPACES)) { + if(std::search(i.map_info.begin(), i.map_info.end(), search_string.begin(), search_string.end(), chars_equal_insensitive) == i.map_info.end() && + std::search(i.name.begin(), i.name.end(), search_string.begin(), search_string.end(), chars_equal_insensitive) == i.name.end()) { + found_match = false; +Index: src/reports.cpp +=================================================================== +--- src/reports.cpp (revision 54624) ++++ src/reports.cpp (revision 54625) +@@ -20,7 +20,6 @@ + #include "editor/editor_controller.hpp" + #include "editor/editor_palettes.hpp" + #include "font.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" +@@ -36,6 +35,7 @@ + #include "unit.hpp" + #include "whiteboard/manager.hpp" + ++#include + + #include + #include +@@ -260,7 +260,7 @@ + if (!u) return report(); + config res; + typedef std::pair pair_string; +- foreach(const pair_string &ps, u->amla_icons()) { ++ BOOST_FOREACH(const pair_string &ps, u->amla_icons()) { + add_image(res, ps.first, ps.second); + } + return res; +@@ -395,7 +395,7 @@ + + bool att_def_diff = false; + map_location displayed_unit_hex = resources::screen->displayed_unit_hex(); +- foreach (const utils::string_map::value_type &resist, u->get_base_resistances()) ++ BOOST_FOREACH(const utils::string_map::value_type &resist, u->get_base_resistances()) + { + std::ostringstream line; + line << gettext(resist.first.c_str()) << ": "; +@@ -415,7 +415,7 @@ + if (att_def_diff) + tooltip << _("(Att / Def)"); + tooltip << '\n'; +- foreach (const std::string &line, resistances_table) { ++ BOOST_FOREACH(const std::string &line, resistances_table) { + tooltip << line; + } + return text_report(str.str(), tooltip.str()); +@@ -458,7 +458,7 @@ + if (!u) return report(); + config res; + typedef std::pair pair_string; +- foreach (const pair_string &ps, u->advancement_icons()) { ++ BOOST_FOREACH(const pair_string &ps, u->advancement_icons()) { + add_image(res, ps.first, ps.second); + } + return res; +@@ -497,7 +497,7 @@ + bool revert = false; + if (underlyings.size() != 1 || underlyings.front() != terrain) + { +- foreach (const t_translation::t_terrain &t, underlyings) ++ BOOST_FOREACH(const t_translation::t_terrain &t, underlyings) + { + if (t == t_translation::MINUS) { + revert = true; +@@ -641,7 +641,7 @@ + std::set seen_types; + const team &unit_team = (*resources::teams)[u->side() - 1]; + const team &viewing_team = (*resources::teams)[resources::screen->viewing_team()]; +- foreach(const unit &enemy, *resources::units) ++ BOOST_FOREACH(const unit &enemy, *resources::units) + { + if (!unit_team.is_enemy(enemy.side())) + continue; +@@ -662,7 +662,7 @@ + damage_multiplier += tod_bonus; + + typedef std::pair > resist_units; +- foreach (const resist_units &resist, resistances) { ++ BOOST_FOREACH(const resist_units &resist, resistances) { + int damage = round_damage(base_damage, damage_multiplier * resist.first, damage_divisor); + tooltip << "" << damage << " " + << "(" << utils::signed_percent(resist.first-100) << ") : " +@@ -755,7 +755,7 @@ + } + } + +- foreach(const battle_context& weapon, weapons) { ++ BOOST_FOREACH(const battle_context& weapon, weapons) { + + // Predict the battle outcome. + combatant attacker_combatant(weapon.get_attacker_stats()); +@@ -869,7 +869,7 @@ + map_location displayed_unit_hex = resources::screen->displayed_unit_hex(); + config res; + +- foreach (const attack_type &at, u->attacks()) ++ BOOST_FOREACH(const attack_type &at, u->attacks()) + { + attack_info(at, res, u, displayed_unit_hex); + } +@@ -1023,7 +1023,7 @@ + str << td.villages << '/'; + if (viewing_team.uses_shroud()) { + int unshrouded_villages = 0; +- foreach (const map_location &loc, resources::game_map->villages()) { ++ BOOST_FOREACH(const map_location &loc, resources::game_map->villages()) { + if (!viewing_team.shrouded(loc)) + ++unshrouded_villages; + } +@@ -1178,7 +1178,7 @@ + + std::ostringstream str; + str << _("Observers:") << '\n'; +- foreach (const std::string &obs, observers) { ++ BOOST_FOREACH(const std::string &obs, observers) { + str << obs << '\n'; + } + return image_report(game_config::images::observer, str.str()); +@@ -1250,7 +1250,7 @@ + + void reports::reset_generators() + { +- foreach (dynamic_report_generators::value_type &rg, dynamic_generators) { ++ BOOST_FOREACH(dynamic_report_generators::value_type &rg, dynamic_generators) { + delete rg.second; + } + dynamic_generators.clear(); +@@ -1283,10 +1283,10 @@ + const std::set &reports::report_list() + { + if (!all_reports.empty()) return all_reports; +- foreach (const static_report_generators::value_type &v, static_generators) { ++ BOOST_FOREACH(const static_report_generators::value_type &v, static_generators) { + all_reports.insert(v.first); + } +- foreach (const dynamic_report_generators::value_type &v, dynamic_generators) { ++ BOOST_FOREACH(const dynamic_report_generators::value_type &v, dynamic_generators) { + all_reports.insert(v.first); + } + return all_reports; +Index: src/playmp_controller.cpp +=================================================================== +--- src/playmp_controller.cpp (revision 54624) ++++ src/playmp_controller.cpp (revision 54625) +@@ -17,7 +17,7 @@ + #include "playmp_controller.hpp" + + #include "dialogs.hpp" +-#include "foreach.hpp" ++ + #include "game_end_exceptions.hpp" + #include "gettext.hpp" + #include "log.hpp" +@@ -29,6 +29,8 @@ + #include "formula_string_utils.hpp" + #include "whiteboard/manager.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define LOG_NG LOG_STREAM(info, log_engine) + +@@ -326,7 +328,7 @@ + // stay stuck in linger state when the *next* scenario is over. + gamestate_.classification().completion = "running"; + // End all unit moves +- foreach (unit &u, units_) { ++ BOOST_FOREACH(unit &u, units_) { + u.set_user_end_turn(true); + } + //current_team().set_countdown_time(0); +Index: src/tests/gui/test_gui2.cpp +=================================================================== +--- src/tests/gui/test_gui2.cpp (revision 54624) ++++ src/tests/gui/test_gui2.cpp (revision 54625) +@@ -20,7 +20,6 @@ + + #include "config_cache.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "formula_debugger.hpp" + #include "gettext.hpp" + #include "game_config.hpp" +@@ -66,6 +65,7 @@ + #include "wml_exception.hpp" + + #include ++#include + + #include + +@@ -139,7 +139,7 @@ + template + void test_resolutions(const tresolution_list& resolutions) + { +- foreach(const tresolution& resolution, resolutions) { ++ BOOST_FOREACH(const tresolution& resolution, resolutions) { + video().make_test_fake(resolution.first, resolution.second); + + boost::scoped_ptr dlg(twrapper::create()); +@@ -178,7 +178,7 @@ + { + bool interact = false; + for(int i = 0; i < 2; ++i) { +- foreach(const tresolution& resolution, resolutions) { ++ BOOST_FOREACH(const tresolution& resolution, resolutions) { + video().make_test_fake(resolution.first, resolution.second); + + boost::scoped_ptr dlg(twrapper::create()); +@@ -225,7 +225,7 @@ + void test_tip_resolutions(const tresolution_list& resolutions + , const std::string& id) + { +- foreach(const tresolution& resolution, resolutions) { ++ BOOST_FOREACH(const tresolution& resolution, resolutions) { + video().make_test_fake(resolution.first, resolution.second); + + std::vector& list = +@@ -416,7 +416,7 @@ + + // Test size() instead of empty() to get the number of offenders + BOOST_CHECK_EQUAL(list.size(), 0); +- foreach(const std::string& id, list) { ++ BOOST_FOREACH(const std::string& id, list) { + std::cerr << "Window '" << id << "' registered but not tested.\n"; + } + } +@@ -638,7 +638,7 @@ + BOOST_REQUIRE_MESSAGE(result, "Failed to create a dialog."); + + std::vector map_generators; +- foreach (const config &i, main_config.child_range("multiplayer")) { ++ BOOST_FOREACH(const config &i, main_config.child_range("multiplayer")) { + if(i["map_generation"] == "default") { + const config &generator_cfg = i.child("generator"); + if (generator_cfg) { +@@ -694,7 +694,7 @@ + BOOST_REQUIRE_MESSAGE(cfg, "No editor time-of-day defined"); + + std::vector tods; +- foreach (const config &i, cfg.child_range("time")) { ++ BOOST_FOREACH(const config &i, cfg.child_range("time")) { + tods.push_back(time_of_day(i)); + } + return new gui2::teditor_settings(NULL, tods); +Index: src/filesystem.cpp +=================================================================== +--- src/filesystem.cpp (revision 54624) ++++ src/filesystem.cpp (revision 54625) +@@ -56,7 +56,6 @@ + + #include "config.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "game_config.hpp" + #include "game_preferences.hpp" + #include "log.hpp" +@@ -65,6 +64,8 @@ + #include "serialization/string_utils.hpp" + #include "version.hpp" + ++#include ++ + static lg::log_domain log_filesystem("filesystem"); + #define DBG_FS LOG_STREAM(debug, log_filesystem) + #define LOG_FS LOG_STREAM(info, log_filesystem) +@@ -1010,7 +1011,7 @@ + cleanup(); + init_binary_paths(); + +- foreach (const config &bp, cfg.child_range("binary_path")) ++ BOOST_FOREACH(const config &bp, cfg.child_range("binary_path")) + { + std::string path = bp["path"].str(); + if (path.find("..") != std::string::npos) { +@@ -1057,7 +1058,7 @@ + + init_binary_paths(); + +- foreach (const std::string &path, binary_paths) ++ BOOST_FOREACH(const std::string &path, binary_paths) + { + res.push_back(get_user_data_dir() + "/" + path + type + "/"); + +@@ -1098,7 +1099,7 @@ + return std::string(); + } + +- foreach (const std::string &path, get_binary_paths(type)) ++ BOOST_FOREACH(const std::string &path, get_binary_paths(type)) + { + const std::string file = path + filename; + DBG_FS << " checking '" << path << "'\n"; +@@ -1126,7 +1127,7 @@ + return std::string(); + } + +- foreach (const std::string &path, get_binary_paths(type)) ++ BOOST_FOREACH(const std::string &path, get_binary_paths(type)) + { + const std::string file = path + filename; + DBG_FS << " checking '" << path << "'\n"; +@@ -1291,7 +1292,7 @@ + p4 << drive; + #endif + +- foreach (const std::string &s, components) ++ BOOST_FOREACH(const std::string &s, components) + { + p4 << '/' << s; + } +Index: src/help.cpp +=================================================================== +--- src/help.cpp (revision 54624) ++++ src/help.cpp (revision 54625) +@@ -27,7 +27,6 @@ + #include "about.hpp" + #include "display.hpp" + #include "exceptions.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" + #include "gui/dialogs/transient_message.hpp" +@@ -40,6 +39,8 @@ + #include "wml_separators.hpp" + #include "serialization/parser.hpp" + ++#include ++ + #include + + static lg::log_domain log_display("display"); +@@ -793,7 +794,7 @@ + // opening the help browser in the default manner. + config hidden_toplevel; + std::stringstream ss; +- foreach (const config §ion, help_config->child_range("section")) ++ BOOST_FOREACH(const config §ion, help_config->child_range("section")) + { + const std::string id = section["id"]; + if (find_section(toplevel, id) == NULL) { +@@ -810,7 +811,7 @@ + } + hidden_toplevel["sections"] = ss.str(); + ss.str(""); +- foreach (const config &topic, help_config->child_range("topic")) ++ BOOST_FOREACH(const config &topic, help_config->child_range("topic")) + { + const std::string id = topic["id"]; + if (find_topic(toplevel, id) == NULL) { +@@ -861,7 +862,7 @@ + } + } + +- foreach (const config §ion, cfg.child_range("section")) ++ BOOST_FOREACH(const config §ion, cfg.child_range("section")) + { + const std::vector sections_refd + = utils::quoted_split(section["sections"]); +@@ -885,7 +886,7 @@ + } + } + +- foreach (const config §ion, cfg.child_range("section")) ++ BOOST_FOREACH(const config §ion, cfg.child_range("section")) + { + const std::vector topics_refd + = utils::quoted_split(section["topics"]); +@@ -1103,7 +1104,7 @@ + std::map special_description; + std::map > special_units; + +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + { + const unit_type &type = i.second; + // Only show the weapon special if we find it on a unit that +@@ -1171,7 +1172,7 @@ + // should have a full description, if so, add this units abilities + // for display. We do not want to show abilities that the user has + // not encountered yet. +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + { + const unit_type &type = i.second; + if (description_type(type) == FULL_DESCRIPTION) { +@@ -1244,7 +1245,7 @@ + const config& era = game_cfg->child("era"); + if (era) { + std::vector faction_links; +- foreach (const config &f, era.child_range("multiplayer_side")) { ++ BOOST_FOREACH(const config &f, era.child_range("multiplayer_side")) { + const std::string& id = f["id"]; + if (id == "Random") + continue; +@@ -1260,7 +1261,7 @@ + text << "
text='" << _("Leaders:") << "'
" << "\n"; + const std::vector leaders = + make_unit_links_list( utils::split(f["leader"]), true ); +- foreach (const std::string &link, leaders) { ++ BOOST_FOREACH(const std::string &link, leaders) { + text << link << "\n"; + } + +@@ -1269,7 +1270,7 @@ + text << "
text='" << _("Recruits:") << "'
" << "\n"; + const std::vector recruits = + make_unit_links_list( utils::split(f["recruit"]), true ); +- foreach (const std::string &link, recruits) { ++ BOOST_FOREACH(const std::string &link, recruits) { + text << link << "\n"; + } + +@@ -1291,7 +1292,7 @@ + text << "
text='" << _("Factions:") << "'
" << "\n"; + + std::sort(faction_links.begin(), faction_links.end()); +- foreach (const std::string &link, faction_links) { ++ BOOST_FOREACH(const std::string &link, faction_links) { + text << link << "\n"; + } + +@@ -1366,7 +1367,7 @@ + reverse ? type_.advances_from() : type_.advances_to(); + bool first = true; + +- foreach (const std::string &adv, adv_units) ++ BOOST_FOREACH(const std::string &adv, adv_units) + { + const unit_type *type = unit_types.find(adv); + if (!type || type->hide_help()) continue; +@@ -1676,7 +1677,7 @@ + std::vector make_unit_links_list(const std::vector& type_id_list, bool ordered) + { + std::vector links_list; +- foreach (const std::string &type_id, type_id_list) { ++ BOOST_FOREACH(const std::string &type_id, type_id_list) { + std::string unit_link = make_unit_link(type_id); + if (!unit_link.empty()) + links_list.push_back(unit_link); +@@ -1693,7 +1694,7 @@ + std::set races; + std::set visible_races; + +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + { + const unit_type &type = i.second; + UNIT_DESCRIPTION_TYPE desc_type = description_type(type); +@@ -1736,7 +1737,7 @@ + std::set race_units; + std::set race_topics; + +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + { + const unit_type &type = i.second; + +@@ -1768,7 +1769,7 @@ + race_name = r->plural_name(); + race_description = r->description(); + // if (description.empty()) description = _("No description Available"); +- foreach (const config &additional_topic, r->additional_topics()) ++ BOOST_FOREACH(const config &additional_topic, r->additional_topics()) + { + std::string id = additional_topic["id"]; + std::string title = additional_topic["title"]; +Index: src/savegame.cpp +=================================================================== +--- src/savegame.cpp (revision 54624) ++++ src/savegame.cpp (revision 54625) +@@ -17,7 +17,6 @@ + #include "savegame.hpp" + + #include "dialogs.hpp" //FIXME: get rid of this as soon as the two remaining dialogs are moved to gui2 +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_end_exceptions.hpp" + #include "game_preferences.hpp" +@@ -40,6 +39,8 @@ + #include "unit_id.hpp" + #include "version.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define LOG_SAVE LOG_STREAM(info, log_engine) + #define ERR_SAVE LOG_STREAM(err, log_engine) +@@ -913,7 +914,7 @@ + bool shrouded = false; + + const config& snapshot = has_snapshot ? gamestate_.snapshot : gamestate_.starting_pos; +- foreach (const config &side, snapshot.child_range("side")) ++ BOOST_FOREACH(const config &side, snapshot.child_range("side")) + { + if (side["controller"] != "human") { + continue; +@@ -922,7 +923,7 @@ + shrouded = true; + } + +- foreach (const config &u, side.child_range("unit")) ++ BOOST_FOREACH(const config &u, side.child_range("unit")) + { + if (u["canrecruit"].to_bool()) { + leader = u["id"].str(); +@@ -960,7 +961,7 @@ + // if there is no scenario information in the starting pos, add the (persistent) sides from the snapshot + // else do nothing, as persistence information was already added at the end of the previous scenario + if (gamestate().starting_pos["id"].empty()) { +- foreach(const config &snapshot_side, gamestate().snapshot.child_range("side")) { ++ BOOST_FOREACH(const config &snapshot_side, gamestate().snapshot.child_range("side")) { + //add all side tags (assuming they only contain carryover information) + gamestate().starting_pos.add_child("side", snapshot_side); + } +Index: src/replay.cpp +=================================================================== +--- src/replay.cpp (revision 54624) ++++ src/replay.cpp (revision 54625) +@@ -23,7 +23,6 @@ + #include "global.hpp" + + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_end_exceptions.hpp" + #include "game_events.hpp" +@@ -41,6 +40,7 @@ + #include "whiteboard/manager.hpp" + + #include ++#include + + static lg::log_domain log_replay("replay"); + #define DBG_REPLAY LOG_STREAM(debug, log_replay) +@@ -67,7 +67,7 @@ + << nunits << " according to data source. " << units.size() << " locally\n"; + + std::set locs; +- foreach (const config &u, cfg.child_range("unit")) ++ BOOST_FOREACH(const config &u, cfg.child_range("unit")) + { + const map_location loc(u, resources::state_of_game); + locs.insert(loc); +@@ -88,7 +88,7 @@ + errbuf.clear(); + } + +- foreach (const config &un, cfg.child_range("unit")) ++ BOOST_FOREACH(const config &un, cfg.child_range("unit")) + { + const map_location loc(un, resources::state_of_game); + const unit_map::const_iterator u = units.find(loc); +@@ -560,7 +560,7 @@ + const map_location &src = steps.front(); + const map_location &dst = steps.back(); + +- foreach (const async_cmd &ac, async_cmds) ++ BOOST_FOREACH(const async_cmd &ac, async_cmds) + { + if (config &async_child = ac.cfg->child("rename")) { + map_location aloc(async_child, resources::state_of_game); +@@ -576,7 +576,7 @@ + // A unit is being un-recruited or un-recalled. + // Remove unsynced commands that would act on that unit. + map_location src(*chld, resources::state_of_game); +- foreach (const async_cmd &ac, async_cmds) ++ BOOST_FOREACH(const async_cmd &ac, async_cmds) + { + if (config &async_child = ac.cfg->child("rename")) + { +@@ -680,7 +680,7 @@ + + void replay::add_config(const config& cfg, MARK_SENT mark) + { +- foreach (const config &cmd, cfg.child_range("command")) ++ BOOST_FOREACH(const config &cmd, cfg.child_range("command")) + { + config &cfg = cfg_.add_child("command", cmd); + if (cfg.child("speak")) +@@ -730,7 +730,7 @@ + if(! game_config::mp_debug) { + return; + } +- foreach (const config &ch, cfg.child_range("checksum")) ++ BOOST_FOREACH(const config &ch, cfg.child_range("checksum")) + { + map_location loc(ch, resources::state_of_game); + unit_map::const_iterator u = resources::units->find(loc); +@@ -1151,7 +1151,7 @@ + } + else if (const config &child = cfg->child("fire_event")) + { +- foreach (const config &v, child.child_range("set_variable")) { ++ BOOST_FOREACH(const config &v, child.child_range("set_variable")) { + resources::state_of_game->set_variable(v["name"], v["value"]); + } + const std::string &event = child["raise"]; +Index: src/game_preferences_display.cpp +=================================================================== +--- src/game_preferences_display.cpp (revision 54624) ++++ src/game_preferences_display.cpp (revision 54625) +@@ -19,7 +19,6 @@ + #include "display.hpp" + #include "filesystem.hpp" + #include "filechooser.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" + #include "gui/dialogs/simple_item_selector.hpp" +@@ -30,6 +29,7 @@ + #include "widgets/slider.hpp" + #include "formula_string_utils.hpp" + ++#include + + namespace preferences { + +@@ -1071,7 +1071,7 @@ + void preferences_dialog::set_advanced_menu() + { + std::vector advanced_items; +- foreach (const config &adv, adv_preferences_cfg_) ++ BOOST_FOREACH(const config &adv, adv_preferences_cfg_) + { + std::ostringstream str; + std::string field = preferences::get(adv["field"]); +@@ -1096,7 +1096,7 @@ + { + adv_preferences_cfg_.clear(); + +- foreach(const config& adv, game_cfg_.child_range("advanced_preference")) { ++ BOOST_FOREACH(const config& adv, game_cfg_.child_range("advanced_preference")) { + adv_preferences_cfg_.push_back(adv); + } + +Index: src/image.cpp +=================================================================== +--- src/image.cpp (revision 54624) ++++ src/image.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "color_range.hpp" + #include "config.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "game_config.hpp" + #include "image.hpp" + #include "image_modifications.hpp" +@@ -36,6 +35,7 @@ + #include "SDL_image.h" + + #include ++#include + + #include + #include +@@ -376,7 +376,7 @@ + std::string trackpath = get_binary_file_location("", "l10n-track"); + std::string contents = read_file(trackpath); + std::vector lines = utils::split(contents, '\n'); +- foreach (const std::string &line, lines) { ++ BOOST_FOREACH(const std::string &line, lines) { + size_t p1 = line.find(fsep); + if (p1 == std::string::npos) + continue; +@@ -423,7 +423,7 @@ + // add en_US with lowest priority, since the message above will + // not have it when translated. + langs.push_back("en_US"); +- foreach (const std::string &lang, langs) { ++ BOOST_FOREACH(const std::string &lang, langs) { + std::string loc_file = dir + "l10n" + "/" + lang + "/" + loc_base; + if (file_exists(loc_file) && localized_file_uptodate(loc_file)) { + return loc_file; +Index: src/team.cpp +=================================================================== +--- src/team.cpp (revision 54624) ++++ src/team.cpp (revision 54625) +@@ -21,13 +21,14 @@ + #include "team.hpp" + + #include "ai/manager.hpp" +-#include "foreach.hpp" + #include "game_events.hpp" + #include "gamestatus.hpp" + #include "resources.hpp" + #include "game_preferences.hpp" + #include "whiteboard/side_actions.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define DBG_NG LOG_STREAM(debug, log_engine) + #define LOG_NG LOG_STREAM(info, log_engine) +@@ -318,7 +319,7 @@ + // Was it correct? + + // Load in the villages the side controls at the start +- foreach (const config &v, cfg.child_range("village")) ++ BOOST_FOREACH(const config &v, cfg.child_range("village")) + { + map_location loc(v, resources::state_of_game); + if (map.is_village(loc)) { +@@ -397,7 +398,7 @@ + return info_.minimum_recruit_price; + }else{ + int min = 20; +- foreach(std::string recruit, info_.can_recruit){ ++ BOOST_FOREACH(std::string recruit, info_.can_recruit){ + const unit_type *ut = unit_types.find(recruit); + if(!ut) + continue; +@@ -605,7 +606,7 @@ + return true; + } + +- foreach (const team &t, *teams) { ++ BOOST_FOREACH(const team &t, *teams) { + if (t.is_human()) + return false; + } +Index: src/config_cache.cpp +=================================================================== +--- src/config_cache.cpp (revision 54624) ++++ src/config_cache.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "config_cache.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "game_config.hpp" + #include "game_display.hpp" +@@ -29,6 +28,7 @@ + #include "serialization/parser.hpp" + #include "version.hpp" + ++#include + #include + + static lg::log_domain log_cache("cache"); +@@ -113,7 +113,7 @@ + config_writer writer(*stream, gzip, game_config::cache_compression_level); + + // write all defines to stream +- foreach (const preproc_map::value_type &define, defines_map) { ++ BOOST_FOREACH(const preproc_map::value_type &define, defines_map) { + define.second.write(writer, define.first); + } + } +@@ -262,7 +262,7 @@ + + // use static preproc_define::read_pair(config) to make a object + // and pass that object config_cache_transaction::insert_to_active method +- foreach (const config::any_child &value, cfg.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &value, cfg.all_children_range()) { + config_cache_transaction::instance().insert_to_active( + preproc_define::read_pair(value.cfg)); + } +@@ -271,7 +271,7 @@ + void config_cache::read_defines_queue() + { + const config_cache_transaction::filenames& files = config_cache_transaction::instance().get_define_files(); +- foreach (const std::string &path, files) { ++ BOOST_FOREACH(const std::string &path, files) { + read_defines_file(path); + } + } +@@ -394,7 +394,7 @@ + std::insert_iterator(temp,temp.begin()), + &compare_define); + +- foreach (const preproc_map::value_type &def, temp) { ++ BOOST_FOREACH(const preproc_map::value_type &def, temp) { + insert_to_active(def); + } + +Index: src/game_events.cpp +=================================================================== +--- src/game_events.cpp (revision 54624) ++++ src/game_events.cpp (revision 54625) +@@ -23,7 +23,6 @@ + #include "actions.hpp" + #include "ai/manager.hpp" + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_events.hpp" + #include "game_preferences.hpp" +@@ -60,6 +59,8 @@ + #include + #include + ++#include ++ + static lg::log_domain log_engine("engine"); + #define DBG_NG LOG_STREAM(debug, log_engine) + #define LOG_NG LOG_STREAM(info, log_engine) +@@ -341,7 +342,7 @@ + std::vector > counts = (*u).has_attribute("count") + ? utils::parse_ranges((*u)["count"]) : default_counts; + int match_count = 0; +- foreach (const unit &i, *resources::units) ++ BOOST_FOREACH(const unit &i, *resources::units) + { + if(i.hitpoints() > 0 && unit_matches_filter(i, *u)) { + ++match_count; +@@ -396,7 +397,7 @@ + const vconfig::child_list& variables = cond.get_children("variable"); + backwards_compat = backwards_compat && variables.empty(); + +- foreach (const vconfig &values, variables) ++ BOOST_FOREACH(const vconfig &values, variables) + { + const std::string name = values["name"]; + config::attribute_value value = resources::state_of_game->get_variable_const(name); +@@ -589,7 +590,7 @@ + const std::vector& handlers, + const std::string& msg) { + +- foreach(const game_events::event_handler& h, handlers){ ++ BOOST_FOREACH(const game_events::event_handler& h, handlers){ + const config& cfg = h.get_config(); + ss << "name=" << cfg["name"] << ", with id=" << cfg["id"] << "; "; + } +@@ -603,7 +604,7 @@ + std::stringstream ss; + log_handler(ss, active_, "active"); + log_handler(ss, insert_buffer_, "insert buffered"); +- foreach(const std::string& h, remove_buffer_){ ++ BOOST_FOREACH(const std::string& h, remove_buffer_){ + ss << "id=" << h << "; "; + } + DBG_EH << "remove buffered handlers are now " << ss.str() << "\n"; +@@ -631,7 +632,7 @@ + const config & cfg = new_handler.get_config(); + std::string id = cfg["id"]; + if(!id.empty()) { +- foreach( game_events::event_handler const & eh, active_) { ++ BOOST_FOREACH( game_events::event_handler const & eh, active_) { + config const & temp_config( eh.get_config()); + if(id == temp_config["id"]) { + DBG_EH << "ignoring event handler for name=" << cfg["name"] << +@@ -698,12 +699,12 @@ + return; + + // Commit any event removals +- foreach(std::string const & i , remove_buffer_ ){ ++ BOOST_FOREACH(std::string const & i , remove_buffer_ ){ + remove_event_handler( i ); } + remove_buffer_.clear(); + + // Commit any spawned events-within-events +- foreach( game_events::event_handler const & i , insert_buffer_ ){ ++ BOOST_FOREACH( game_events::event_handler const & i , insert_buffer_ ){ + add_event_handler( i ); } + insert_buffer_.clear(); + +@@ -735,7 +736,7 @@ + std::vector sides = game_events::get_sides_vector(cfg); + size_t index; + +- foreach (const int &side_num, sides) ++ BOOST_FOREACH(const int &side_num, sides) + { + index = side_num - 1; + team &t = (*resources::teams)[index]; +@@ -744,7 +745,7 @@ + filter.restrict_size(game_config::max_loop); + filter.get_locations(locs, true); + +- foreach (map_location const &loc, locs) ++ BOOST_FOREACH(map_location const &loc, locs) + { + if (remove) { + t.clear_shroud(loc); +@@ -774,7 +775,7 @@ + const bool remove = utils::string_bool(cfg["remove"], false); + if (remove) { + const std::vector ids = utils::split(cfg["id"]); +- foreach(const std::string &id, ids) { ++ BOOST_FOREACH(const std::string &id, ids) { + resources::tunnels->remove(id); + } + } else if (cfg.get_children("source").empty() || +@@ -941,7 +942,7 @@ + WML_HANDLER_FUNCTION(modify_ai, /*event_info*/, cfg) + { + std::vector sides = game_events::get_sides_vector(cfg); +- foreach (const int &side_num, sides) ++ BOOST_FOREACH(const int &side_num, sides) + { + ai::manager::modify_active_ai_for_side(side_num,cfg.get_parsed_config()); + } +@@ -967,7 +968,7 @@ + std::vector sides = game_events::get_sides_vector(cfg); + size_t team_index; + +- foreach (const int &side_num, sides) ++ BOOST_FOREACH(const int &side_num, sides) + { + team_index = side_num - 1; + LOG_NG << "modifying side: " << side_num << "\n"; +@@ -1212,7 +1213,7 @@ + + size_t longest_path = 0; + +- foreach(const vconfig& config, unit_cfgs) { ++ BOOST_FOREACH(const vconfig& config, unit_cfgs) { + const std::vector xvals = utils::split(config["x"]); + const std::vector yvals = utils::split(config["y"]); + int skip_steps = config["skip_steps"]; +@@ -1461,7 +1462,7 @@ + + variable_info vi(array_name, true, variable_info::TYPE_ARRAY); + bool first = true; +- foreach (const config &cfg, vi.as_array()) ++ BOOST_FOREACH(const config &cfg, vi.as_array()) + { + std::string current_string = cfg[key_name]; + if (remove_empty && current_string.empty()) continue; +@@ -1589,7 +1590,7 @@ + dest.vars->merge_with(data); + } + } else if(mode == "insert" || dest.explicit_index) { +- foreach (const config &child, data.child_range(dest.key)) ++ BOOST_FOREACH(const config &child, data.child_range(dest.key)) + { + dest.vars->add_child_at(dest.key, child, dest.index++); + } +@@ -1619,7 +1620,7 @@ + item["type"] = *ti; + } + unit_map::iterator itor; +- foreach (unit &u, *resources::units) { ++ BOOST_FOREACH(unit &u, *resources::units) { + if (game_events::unit_matches_filter(u, filter)) { + u.set_role(cfg["role"]); + found = true; +@@ -1632,7 +1633,7 @@ + std::set player_ids; + std::vector sides = utils::split(cfg["side"]); + const bool has_any_sides = !sides.empty(); +- foreach(std::string const& side_str, sides) { ++ BOOST_FOREACH(std::string const& side_str, sides) { + size_t side_num = lexical_cast_default(side_str,0); + if(side_num > 0 && side_num <= resources::teams->size()) { + player_ids.insert((resources::teams->begin() + (side_num - 1))->save_id()); +@@ -1699,7 +1700,7 @@ + game_map->set_terrain(loc, new_t); + screen_needs_rebuild = true; + +- foreach (const t_translation::t_terrain &ut, game_map->underlying_union_terrain(loc)) { ++ BOOST_FOREACH(const t_translation::t_terrain &ut, game_map->underlying_union_terrain(loc)) { + preferences::encountered_terrains().insert(ut); + } + } +@@ -1820,7 +1821,7 @@ + const map_location cfg_loc = cfg_to_loc(cfg); + + //TODO fendrin: comment this monster +- foreach (unit_map::const_unit_iterator leader, leaders) { ++ BOOST_FOREACH(unit_map::const_unit_iterator leader, leaders) { + DBG_NG << "...considering " + leader->id() + " as the recalling leader...\n"; + map_location loc = cfg_loc; + if ( (leader_filter.null() || leader->matches_filter(leader_filter, leader->get_location())) && +@@ -1879,7 +1880,7 @@ + + map_location loc; + if(!filter.null()) { +- foreach (const unit &u, *resources::units) { ++ BOOST_FOREACH(const unit &u, *resources::units) { + if (game_events::unit_matches_filter(u, filter)) { + loc = u.get_location(); + break; +@@ -1926,7 +1927,7 @@ + } + } + +- foreach (const vconfig &cmd, cfg.get_children(command_type)) { ++ BOOST_FOREACH(const vconfig &cmd, cfg.get_children(command_type)) { + handle_event_commands(event_info, cmd); + } + } +@@ -2029,13 +2030,13 @@ + std::vector dead_men_walking; + // unit_map::iterator uit(resources::units->begin()), uend(resources::units->end()); + // for(;uit!=uend; ++uit){ +- foreach(unit & u, *resources::units){ ++ BOOST_FOREACH(unit & u, *resources::units){ + if(game_events::unit_matches_filter(u, cfg)){ + dead_men_walking.push_back(&u); + } + } + +- foreach(unit * un, dead_men_walking) { ++ BOOST_FOREACH(unit * un, dead_men_walking) { + map_location loc(un->get_location()); + bool fire_event = false; + game_events::entity_location death_loc(*un); +@@ -2429,7 +2430,7 @@ + + if (clear_shroud_bool) { + side_filter filter(cfg); +- foreach(const int side, filter.get_teams()){ ++ BOOST_FOREACH(const int side, filter.get_teams()){ + clear_shroud(side); + } + screen.recalculate_minimap(); +@@ -2466,7 +2467,7 @@ + const vconfig healers_filter = cfg.child("filter_second"); + std::vector healers; + if (!healers_filter.null()) { +- foreach (unit& u, *units) { ++ BOOST_FOREACH(unit& u, *units) { + if (game_events::unit_matches_filter(u, healers_filter) && u.has_ability_type("heals")) { + healers.push_back(&u); + } +@@ -2835,7 +2836,7 @@ + return; + } + +- foreach (const vconfig &cmd, option_events[option_chosen]) { ++ BOOST_FOREACH(const vconfig &cmd, option_events[option_chosen]) { + handle_event_commands(event_info, cmd); + } + } +@@ -2858,7 +2859,7 @@ + if(remove) { + const std::vector id_list = + utils::split(ids, ',', utils::STRIP_SPACES | utils::REMOVE_EMPTY); +- foreach(const std::string& id, id_list) { ++ BOOST_FOREACH(const std::string& id, id_list) { + resources::tod_manager->remove_time_area(id); + LOG_NG << "event WML removed time_area '" << id << "'\n"; + } +@@ -2997,7 +2998,7 @@ + if(is_empty_command) { + mref->command.add_child("allow_undo"); + } +- foreach(game_events::event_handler& hand, event_handlers) { ++ BOOST_FOREACH(game_events::event_handler& hand, event_handlers) { + if(hand.is_menu_item() && hand.matches_name(mref->name)) { + LOG_NG << "changing command for " << mref->name << " to:\n" << *wcc.second; + hand = game_events::event_handler(mref->command, true); +@@ -3029,14 +3030,14 @@ + vconfig filters(handler.get_config()); + + +- foreach (const vconfig &condition, filters.get_children("filter_condition")) ++ BOOST_FOREACH(const vconfig &condition, filters.get_children("filter_condition")) + { + if (!game_events::conditional_passed(condition)) { + return false; + } + } + +- foreach (const vconfig &f, filters.get_children("filter")) ++ BOOST_FOREACH(const vconfig &f, filters.get_children("filter")) + { + if (unit1 == units->end() || !game_events::unit_matches_filter(*unit1, f)) { + return false; +@@ -3046,7 +3047,7 @@ + } + } + +- foreach (const vconfig &f, filters.get_children("filter_side")) ++ BOOST_FOREACH(const vconfig &f, filters.get_children("filter_side")) + { + side_filter ssf(f); + const int current_side = resources::controller->current_side(); +@@ -3055,7 +3056,7 @@ + + vconfig::child_list special_filters = filters.get_children("filter_attack"); + bool special_matches = special_filters.empty(); +- foreach (const vconfig &f, special_filters) ++ BOOST_FOREACH(const vconfig &f, special_filters) + { + if (unit1 != units->end() && game_events::matches_special_filter(ev.data.child("first"), f)) { + special_matches = true; +@@ -3068,7 +3069,7 @@ + return false; + } + +- foreach (const vconfig &f, filters.get_children("filter_second")) ++ BOOST_FOREACH(const vconfig &f, filters.get_children("filter_second")) + { + if (unit2 == units->end() || !game_events::unit_matches_filter(*unit2, f)) { + return false; +@@ -3080,7 +3081,7 @@ + + special_filters = filters.get_children("filter_second_attack"); + special_matches = special_filters.empty(); +- foreach (const vconfig &f, special_filters) ++ BOOST_FOREACH(const vconfig &f, special_filters) + { + if (unit2 != units->end() && game_events::matches_special_filter(ev.data.child("second"), f)) { + special_matches = true; +@@ -3275,17 +3276,17 @@ + : variable_manager() + { + assert(!manager_running); +- foreach (const config &ev, cfg.child_range("event")) { ++ BOOST_FOREACH(const config &ev, cfg.child_range("event")) { + event_handlers.add_event_handler(game_events::event_handler(ev)); + } +- foreach (const std::string &id, utils::split(cfg["unit_wml_ids"])) { ++ BOOST_FOREACH(const std::string &id, utils::split(cfg["unit_wml_ids"])) { + unit_wml_ids.insert(id); + } + + resources::lua_kernel = new LuaKernel(cfg); + manager_running = true; + +- foreach (static_wml_action_map::value_type &action, static_wml_actions) { ++ BOOST_FOREACH(static_wml_action_map::value_type &action, static_wml_actions) { + resources::lua_kernel->set_wml_action(action.first, action.second); + } + +@@ -3298,7 +3299,7 @@ + } + int wmi_count = 0; + typedef std::pair item; +- foreach (const item &itor, resources::state_of_game->wml_menu_items) { ++ BOOST_FOREACH(const item &itor, resources::state_of_game->wml_menu_items) { + if (!itor.second->command.empty()) { + event_handlers.add_event_handler(game_events::event_handler(itor.second->command, true)); + } +@@ -3312,7 +3313,7 @@ + void write_events(config& cfg) + { + assert(manager_running); +- foreach (const game_events::event_handler &eh, event_handlers) { ++ BOOST_FOREACH(const game_events::event_handler &eh, event_handlers) { + if (eh.disabled() || eh.is_menu_item()) continue; + cfg.add_child("event", eh.get_config()); + } +@@ -3385,7 +3386,7 @@ + if(std::find(unit_wml_ids.begin(),unit_wml_ids.end(),type) != unit_wml_ids.end()) return; + unit_wml_ids.insert(type); + } +- foreach (const config &new_ev, cfgs) { ++ BOOST_FOREACH(const config &new_ev, cfgs) { + if(type.empty() && new_ev["id"].empty()) + { + WRN_NG << "attempt to add an [event] with empty id=, ignoring \n"; +@@ -3427,7 +3428,7 @@ + + if(!lg::debug.dont_log("event_handler")) { + std::stringstream ss; +- foreach(const game_events::queued_event& ev, events_queue) { ++ BOOST_FOREACH(const game_events::queued_event& ev, events_queue) { + ss << "name=" << ev.name << "; "; + } + DBG_EH << "processing queued events: " << ss.str() << "\n"; +@@ -3454,7 +3455,7 @@ + + bool init_event_vars = true; + +- foreach(game_events::event_handler& handler, event_handlers) { ++ BOOST_FOREACH(game_events::event_handler& handler, event_handlers) { + if(!handler.matches_name(event_name)) + continue; + // Set the variables for the event +Index: src/formula_tokenizer.cpp +=================================================================== +--- src/formula_tokenizer.cpp (revision 54624) ++++ src/formula_tokenizer.cpp (revision 54625) +@@ -13,7 +13,6 @@ + + #include + +-#include "foreach.hpp" + #include "formula_tokenizer.hpp" + + namespace formula_tokenizer +Index: src/playcampaign.cpp +=================================================================== +--- src/playcampaign.cpp (revision 54624) ++++ src/playcampaign.cpp (revision 54625) +@@ -21,7 +21,6 @@ + + #include "global.hpp" + +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gui/dialogs/message.hpp" + #include "gui/dialogs/transient_message.hpp" +@@ -41,6 +40,8 @@ + #include "wml_exception.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + #define LOG_G LOG_STREAM(info, lg::general) + + static lg::log_domain log_engine("engine"); +@@ -260,7 +261,7 @@ + controller_map controllers; + + if(io_type == IO_SERVER) { +- foreach (config &side, const_cast(scenario)->child_range("side")) ++ BOOST_FOREACH(config &side, const_cast(scenario)->child_range("side")) + { + if (side["current_player"] == preferences::login()) { + side["controller"] = preferences::client_type(); +@@ -280,7 +281,7 @@ + scenario = &starting_pos; + } + +- foreach (config &side, starting_pos.child_range("side")) ++ BOOST_FOREACH(config &side, starting_pos.child_range("side")) + { + if (side["current_player"] == preferences::login()) { + side["controller"] = preferences::client_type(); +@@ -474,7 +475,7 @@ + + if(io_type == IO_SERVER && scenario != NULL) { + // Tweaks sides to adapt controllers and descriptions. +- foreach (config &side, starting_pos.child_range("side")) ++ BOOST_FOREACH(config &side, starting_pos.child_range("side")) + { + std::string id = side["save_id"]; + if(id.empty()) { +@@ -547,7 +548,7 @@ + next_cfg.add_child("replay_start", gamestate.starting_pos); + //move side information from gamestate into the config that is sent to the other clients + next_cfg.clear_children("side"); +- foreach (config& side, gamestate.starting_pos.child_range("side")) ++ BOOST_FOREACH(config& side, gamestate.starting_pos.child_range("side")) + next_cfg.add_child("side", side); + + network::send_data(cfg, 0); +Index: src/multiplayer.cpp +=================================================================== +--- src/multiplayer.cpp (revision 54624) ++++ src/multiplayer.cpp (revision 54625) +@@ -40,6 +40,7 @@ + #include "unit_id.hpp" + + #include ++#include + + static lg::log_domain log_network("network"); + #define LOG_NW LOG_STREAM(info, log_network) +@@ -573,7 +574,7 @@ + while (true) { + const config &cfg = game_config.child("lobby_music"); + if (cfg) { +- foreach (const config &i, cfg.child_range("music")) { ++ BOOST_FOREACH(const config &i, cfg.child_range("music")) { + sound::play_music_config(i); + } + sound::commit_music_changes(); +Index: src/terrain_filter.cpp +=================================================================== +--- src/terrain_filter.cpp (revision 54624) ++++ src/terrain_filter.cpp (revision 54625) +@@ -19,7 +19,6 @@ + + #include "actions.hpp" + #include "config.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "map.hpp" + #include "resources.hpp" +@@ -27,6 +26,8 @@ + #include "tod_manager.hpp" + #include "variable.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) + +@@ -129,7 +130,7 @@ + } + } else { + bool found = false; +- foreach (const config &cfg, vi.as_array()) { ++ BOOST_FOREACH(const config &cfg, vi.as_array()) { + if (map_location(cfg, NULL) == loc) { + found = true; + break; +@@ -358,7 +359,7 @@ + } + } else { + std::set findin_locs; +- foreach (const config &cfg, vi.as_array()) { ++ BOOST_FOREACH(const config &cfg, vi.as_array()) { + map_location test_loc(cfg, NULL); + if (xy_set.count(test_loc)) { + findin_locs.insert(test_loc); +Index: src/playturn.cpp +=================================================================== +--- src/playturn.cpp (revision 54624) ++++ src/playturn.cpp (revision 54625) +@@ -16,7 +16,6 @@ + #include "playturn.hpp" + + #include "construct_dialog.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_end_exceptions.hpp" + #include "game_preferences.hpp" +@@ -31,6 +30,8 @@ + #include "formula_string_utils.hpp" + #include "play_controller.hpp" + ++#include ++ + #include + + static lg::log_domain log_network("network"); +@@ -124,11 +125,11 @@ + preferences::message_bell()); + } + +- foreach (const config &ob, cfg.child_range("observer")) { ++ BOOST_FOREACH(const config &ob, cfg.child_range("observer")) { + resources::screen->add_observer(ob["name"]); + } + +- foreach (const config &ob, cfg.child_range("observer_quit")) { ++ BOOST_FOREACH(const config &ob, cfg.child_range("observer_quit")) { + resources::screen->remove_observer(ob["name"]); + } + +@@ -147,7 +148,7 @@ + const config& change = cfg.child_or_empty("change_controller"); + const std::string& side_drop = cfg["side_drop"].str(); + +- foreach (const config &t, turns) ++ BOOST_FOREACH(const config &t, turns) + { + handle_turn(turn_end, t, skip_replay, backlog); + } +@@ -240,7 +241,7 @@ + options.push_back(_("Abort game")); + + //get all observers in as options to transfer control +- foreach (const std::string &ob, resources::screen->observers()) ++ BOOST_FOREACH(const std::string &ob, resources::screen->observers()) + { + t_vars["player"] = ob; + options.push_back(vgettext("Replace with $player", t_vars)); +@@ -248,7 +249,7 @@ + } + + //get all allies in as options to transfer control +- foreach (team &t, *resources::teams) ++ BOOST_FOREACH(team &t, *resources::teams) + { + if (!t.is_enemy(side) && !t.is_human() && !t.is_ai() && !t.is_empty() + && t.current_player() != tm.current_player()) +Index: src/tod_manager.cpp +=================================================================== +--- src/tod_manager.cpp (revision 54624) ++++ src/tod_manager.cpp (revision 54625) +@@ -12,7 +12,6 @@ + See the COPYING file for more details. + */ + +-#include "foreach.hpp" + #include "tod_manager.hpp" + #include "wml_exception.hpp" + #include "gettext.hpp" +@@ -25,6 +24,8 @@ + #include "unit.hpp" + #include "unit_abilities.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define LOG_NG LOG_STREAM(info, log_engine) + +@@ -279,7 +280,7 @@ + void tod_manager::set_new_current_times(const int new_current_turn_number) + { + currentTime_ = calculate_current_time(times_.size(), new_current_turn_number, currentTime_); +- foreach(area_time_of_day& area, areas_) { ++ BOOST_FOREACH(area_time_of_day& area, areas_) { + area.currentTime = calculate_current_time( + area.times.size(), + new_current_turn_number, +Index: src/multiplayer_create.cpp +=================================================================== +--- src/multiplayer_create.cpp (revision 54624) ++++ src/multiplayer_create.cpp (revision 54625) +@@ -20,7 +20,6 @@ + + #include "global.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" +@@ -40,6 +39,8 @@ + #include "wml_separators.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + static lg::log_domain log_config("config"); + #define ERR_CF LOG_STREAM(err, log_config) + +@@ -127,7 +128,7 @@ + + // Standard maps + i = 0; +- foreach (const config &j, cfg.child_range("multiplayer")) ++ BOOST_FOREACH(const config &j, cfg.child_range("multiplayer")) + { + if (j["allow_new_game"].to_bool(true)) + { +@@ -217,7 +218,7 @@ + + // The possible eras to play + std::vector eras; +- foreach (const config &er, cfg.child_range("era")) { ++ BOOST_FOREACH(const config &er, cfg.child_range("era")) { + eras.push_back(er["name"]); + } + if(eras.empty()) { +@@ -547,7 +548,7 @@ + } + + int nsides = 0; +- foreach (const config &k, parameters_.scenario_data.child_range("side")) { ++ BOOST_FOREACH(const config &k, parameters_.scenario_data.child_range("side")) { + if (k["allow_player"].to_bool(true)) ++nsides; + } + +Index: src/commandline_options.cpp +=================================================================== +--- src/commandline_options.cpp (revision 54624) ++++ src/commandline_options.cpp (revision 54625) +@@ -14,12 +14,12 @@ + */ + + #include "commandline_options.hpp" +-#include "foreach.hpp" + #include "serialization/string_utils.hpp" + #include "util.hpp" + #include "lua/llimits.h" + + #include ++#include + + namespace po = boost::program_options; + +@@ -374,7 +374,7 @@ + void commandline_options::parse_log_domains_(const std::string &domains_string, const int severity) + { + const std::vector domains = utils::split(domains_string, ','); +- foreach (const std::string& domain, domains) ++ BOOST_FOREACH(const std::string& domain, domains) + { + if (!log) + log = std::vector >(); +@@ -396,7 +396,7 @@ + { + std::vector > vec; + boost::tuple elem; +- foreach(const std::string &s, strings) ++ BOOST_FOREACH(const std::string &s, strings) + { + const std::vector tokens = utils::split(s, separator); + if (tokens.size()!=2) +@@ -415,7 +415,7 @@ + { + std::vector > vec; + boost::tuple elem; +- foreach(const std::string &s, strings) ++ BOOST_FOREACH(const std::string &s, strings) + { + const std::vector tokens = utils::split(s, separator); + if (tokens.size()!=3) +Index: src/gui/dialogs/editor_set_starting_position.cpp +=================================================================== +--- src/gui/dialogs/editor_set_starting_position.cpp (revision 54624) ++++ src/gui/dialogs/editor_set_starting_position.cpp (revision 54625) +@@ -17,7 +17,7 @@ + + #include "gui/dialogs/editor_set_starting_position.hpp" + +-#include "foreach.hpp" ++#include + #include "formatter.hpp" + #include "formula_string_utils.hpp" + #include "gettext.hpp" +Index: src/gui/dialogs/gamestate_inspector.cpp +=================================================================== +--- src/gui/dialogs/gamestate_inspector.cpp (revision 54624) ++++ src/gui/dialogs/gamestate_inspector.cpp (revision 54625) +@@ -27,7 +27,6 @@ + #include "gui/widgets/settings.hpp" + #include "gui/widgets/window.hpp" + +-#include "../../foreach.hpp" + #include "../../gamestatus.hpp" + #include "../../resources.hpp" + #include "../../team.hpp" +@@ -36,6 +35,7 @@ + #include + #include + #include ++#include + + namespace gui2 { + +@@ -189,11 +189,11 @@ + ? resources::state_of_game->get_variables() + : config(); + +- foreach( const config::attribute &a, vars.attribute_range()) { ++ BOOST_FOREACH( const config::attribute &a, vars.attribute_range()) { + model_.add_row_to_stuff_list(a.first,a.first); + } + +- foreach( const config::any_child &c, vars.all_children_range()) { ++ BOOST_FOREACH( const config::any_child &c, vars.all_children_range()) { + model_.add_row_to_stuff_list("["+c.key+"]","["+c.key+"]"); + } + +@@ -214,7 +214,7 @@ + ? resources::state_of_game->get_variables() + : config(); + +- foreach( const config::attribute &a, vars.attribute_range()) { ++ BOOST_FOREACH( const config::attribute &a, vars.attribute_range()) { + if (selected==i) { + model_.set_inspect_window_text(a.second); + return; +@@ -222,7 +222,7 @@ + i++; + } + +- foreach( const config::any_child &c, vars.all_children_range()) { ++ BOOST_FOREACH( const config::any_child &c, vars.all_children_range()) { + if (selected==i) { + model_.set_inspect_window_text(c.cfg.debug()); + return; +@@ -268,7 +268,7 @@ + << '/' << i->max_experience() << " xp; " + << i->hitpoints() << '/' << i->max_hitpoints() + << " hp; "; +- foreach (const std::string &str, i->get_traits_list()) { ++ BOOST_FOREACH(const std::string &str, i->get_traits_list()) { + s << str <<" "; + } + +@@ -371,9 +371,9 @@ + : std::vector(); + + std::stringstream s; +- foreach (const unit &u, recall_list) { ++ BOOST_FOREACH(const unit &u, recall_list) { + s << "id=["<(); + + config c; +- foreach (const unit &u, recall_list) { ++ BOOST_FOREACH(const unit &u, recall_list) { + config c_unit; + u.write(c_unit); + c.add_child("unit",c_unit); +@@ -423,7 +423,7 @@ + << i->max_experience() << " xp; " + << i->hitpoints() << '/' + << i->max_hitpoints()<<" hp.\n"; +- foreach (const std::string &str, i->get_traits_list() ) { ++ BOOST_FOREACH(const std::string &str, i->get_traits_list() ) { + s << "\t" << str<< std::endl; + } + s << std::endl << std::endl; +@@ -457,7 +457,7 @@ + boost::shared_ptr(new variable_mode_controller("variables",model_))); + sm_controllers_.push_back( + boost::shared_ptr(new unit_mode_controller("units",model_))); +- //foreach team ++ //BOOST_FOREACHteam + int sides = resources::teams + ? static_cast((*resources::teams).size()) + : 0; +@@ -481,7 +481,7 @@ + void show_stuff_types_list() + { + model_.clear_stuff_types_list(); +- foreach (boost::shared_ptr sm_controller, sm_controllers_ ) { ++ BOOST_FOREACH(boost::shared_ptr sm_controller, sm_controllers_ ) { + model_.add_row_to_stuff_types_list(sm_controller->name(),sm_controller->name()); + } + } +Index: src/gui/dialogs/unit_attack.cpp +=================================================================== +--- src/gui/dialogs/unit_attack.cpp (revision 54624) ++++ src/gui/dialogs/unit_attack.cpp (revision 54625) +@@ -27,6 +27,8 @@ + #include "gui/widgets/window.hpp" + #include "unit.hpp" + ++#include ++ + namespace gui2 { + + /*WIKI +@@ -106,7 +108,7 @@ + const config empty; + attack_type no_weapon(empty); + +- foreach(const battle_context& weapon, weapons) { ++ BOOST_FOREACH(const battle_context& weapon, weapons) { + const battle_context_unit_stats& attacker = + weapon.get_attacker_stats(); + +Index: src/gui/dialogs/data_manage.cpp +=================================================================== +--- src/gui/dialogs/data_manage.cpp (revision 54624) ++++ src/gui/dialogs/data_manage.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/data_manage.hpp" + +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "game_config.hpp" + #include "game_preferences.hpp" +@@ -43,6 +42,7 @@ + + #include + #include ++#include + + namespace gui2 { + +@@ -101,7 +101,7 @@ + tlistbox& list = find_widget(&window, "persist_list", false); + list.clear(); + +- foreach(const savegame::save_info game, games) { ++ BOOST_FOREACH(const savegame::save_info game, games) { + std::map data; + string_map item; + +@@ -142,7 +142,7 @@ + find_widget(*it, "filename", false); + + bool found = false; +- foreach (const std::string& word, words){ ++ BOOST_FOREACH(const std::string& word, words){ + found = std::search(filename_label.label().str().begin() + , filename_label.label().str().end() + , word.begin(), word.end() +Index: src/gui/dialogs/dialog.cpp +=================================================================== +--- src/gui/dialogs/dialog.cpp (revision 54624) ++++ src/gui/dialogs/dialog.cpp (revision 54625) +@@ -17,16 +17,17 @@ + + #include "gui/dialogs/dialog.hpp" + +-#include "foreach.hpp" + #include "gui/dialogs/field.hpp" + #include "gui/widgets/integer_selector.hpp" + #include "video.hpp" + ++#include ++ + namespace gui2 { + + tdialog::~tdialog() + { +- foreach(tfield_* field, fields_) { ++ BOOST_FOREACH(tfield_* field, fields_) { + delete field; + } + } +@@ -193,7 +194,7 @@ + + void tdialog::init_fields(twindow& window) + { +- foreach(tfield_* field, fields_) { ++ BOOST_FOREACH(tfield_* field, fields_) { + field->attach_to_window(window); + field->widget_init(window); + } +@@ -207,7 +208,7 @@ + + void tdialog::finalize_fields(twindow& window, const bool save_fields) + { +- foreach(tfield_* field, fields_) { ++ BOOST_FOREACH(tfield_* field, fields_) { + if(save_fields) { + field->widget_finalize(window); + } +Index: src/gui/dialogs/debug_clock.cpp +=================================================================== +--- src/gui/dialogs/debug_clock.cpp (revision 54624) ++++ src/gui/dialogs/debug_clock.cpp (revision 54625) +@@ -24,6 +24,7 @@ + #include "gui/widgets/progress_bar.hpp" + + #include ++#include + + #include + +@@ -153,7 +154,7 @@ + } + + if(clock_) { +- foreach(tcanvas& canvas, clock_->canvas()) { ++ BOOST_FOREACH(tcanvas& canvas, clock_->canvas()) { + canvas.set_variable("hour", variant(hour_stamp)); + canvas.set_variable("minute", variant(minute_stamp)); + canvas.set_variable("second", variant(second_stamp)); +Index: src/gui/dialogs/wml_message.cpp +=================================================================== +--- src/gui/dialogs/wml_message.cpp (revision 54624) ++++ src/gui/dialogs/wml_message.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/wml_message.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/old_markup.hpp" + #include "gui/widgets/button.hpp" + #include "gui/widgets/label.hpp" +Index: src/gui/dialogs/simple_item_selector.cpp +=================================================================== +--- src/gui/dialogs/simple_item_selector.cpp (revision 54624) ++++ src/gui/dialogs/simple_item_selector.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/simple_item_selector.hpp" + +-#include "foreach.hpp" + #include "gui/widgets/button.hpp" + #include "gui/widgets/label.hpp" + #ifdef GUI2_EXPERIMENTAL_LISTBOX +@@ -28,6 +27,8 @@ + #include "gui/widgets/settings.hpp" + #include "gui/widgets/window.hpp" + ++#include ++ + namespace gui2 { + + /*WIKI +@@ -79,7 +80,7 @@ + tlistbox& list = find_widget(&window, "listbox", false); + window.keyboard_capture(&list); + +- foreach(const tsimple_item_selector::item_type& it, items_) { ++ BOOST_FOREACH(const tsimple_item_selector::item_type& it, items_) { + std::map data; + string_map column; + +Index: src/gui/dialogs/game_load.cpp +=================================================================== +--- src/gui/dialogs/game_load.cpp (revision 54624) ++++ src/gui/dialogs/game_load.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/game_load.hpp" + +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "gettext.hpp" + #include "game_config.hpp" +@@ -43,6 +42,7 @@ + + #include + #include ++#include + + namespace gui2 { + +@@ -151,7 +151,7 @@ + tlistbox& list = find_widget(&window, "savegame_list", false); + list.clear(); + +- foreach(const savegame::save_info game, games) { ++ BOOST_FOREACH(const savegame::save_info game, games) { + std::map data; + string_map item; + +@@ -193,7 +193,7 @@ + find_widget(*it, "filename", false); + + bool found = false; +- foreach (const std::string& word, words){ ++ BOOST_FOREACH(const std::string& word, words){ + found = std::search(filename_label.label().str().begin() + , filename_label.label().str().end() + , word.begin(), word.end() +Index: src/gui/dialogs/lobby_main.cpp +=================================================================== +--- src/gui/dialogs/lobby_main.cpp (revision 54624) ++++ src/gui/dialogs/lobby_main.cpp (revision 54625) +@@ -38,7 +38,6 @@ + #include "gui/widgets/toggle_panel.hpp" + #include "gui/widgets/tree_view_node.hpp" + +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" +@@ -50,6 +49,7 @@ + #include "sound.hpp" + + #include ++#include + + static lg::log_domain log_network("network"); + #define DBG_NW LOG_STREAM(debug, log_network) +@@ -499,14 +499,14 @@ + void modify_grid_with_data(tgrid* grid, const std::map& map) + { + typedef std::map strstrmap; +- foreach (const strstrmap::value_type v, map) { ++ BOOST_FOREACH(const strstrmap::value_type v, map) { + const std::string& key = v.first; + const string_map& strmap = v.second; + twidget* w = grid->find(key, false); + if (w == NULL) continue; + tcontrol* c = dynamic_cast(w); + if (c == NULL) continue; +- foreach (const string_map::value_type& vv, strmap) { ++ BOOST_FOREACH(const string_map::value_type& vv, strmap) { + if (vv.first == "label") { + c->set_label(vv.second); + } else if (vv.first == "tooltip") { +@@ -816,7 +816,7 @@ + player_list_.other_games.tree->clear(); + player_list_.other_rooms.tree->clear(); + +- foreach (user_info* userptr, lobby_info_.users_sorted()) ++ BOOST_FOREACH(user_info* userptr, lobby_info_.users_sorted()) + { + user_info& user = *userptr; + tsub_player_list* target_list(NULL); +@@ -1093,7 +1093,7 @@ + + tlobby_chat_window* tlobby_main::search_create_window(const std::string& name, bool whisper, bool open_new) + { +- foreach (tlobby_chat_window& t, open_windows_) { ++ BOOST_FOREACH(tlobby_chat_window& t, open_windows_) { + if (t.name == name && t.whisper == whisper) return &t; + } + if (open_new) { +@@ -1477,7 +1477,7 @@ + //TODO: this should really open a nice join room dialog instead + std::stringstream ss; + ss << "Rooms:"; +- foreach (const config& r, rooms.child_range("room")) { ++ BOOST_FOREACH(const config& r, rooms.child_range("room")) { + ss << " " << r["name"]; + } + add_active_window_message("server", ss.str()); +@@ -1667,7 +1667,7 @@ + const std::vector& match_infos = lobby_info_.users(); + std::vector matches; + +- foreach(const user_info& ui, match_infos) { ++ BOOST_FOREACH(const user_info& ui, match_infos) { + if(ui.name != preferences::login()) { + matches.push_back(ui.name); + } +@@ -1694,7 +1694,7 @@ + { + lobby_info_.clear_game_filter(); + +- foreach (const std::string& s, utils::split(filter_text_->get_value(), ' ')) { ++ BOOST_FOREACH(const std::string& s, utils::split(filter_text_->get_value(), ' ')) { + lobby_info_.add_game_filter(new game_filter_general_string_part(s)); + } + //TODO: make changing friend/ignore lists trigger a refresh +Index: src/gui/dialogs/campaign_difficulty.cpp +=================================================================== +--- src/gui/dialogs/campaign_difficulty.cpp (revision 54624) ++++ src/gui/dialogs/campaign_difficulty.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/campaign_difficulty.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/old_markup.hpp" + #ifdef GUI2_EXPERIMENTAL_LISTBOX + #include "gui/widgets/list.hpp" +@@ -27,6 +26,8 @@ + #include "gui/widgets/settings.hpp" + #include "gui/widgets/window.hpp" + ++#include ++ + namespace gui2 { + + /*WIKI +@@ -65,7 +66,7 @@ + tcampaign_difficulty::tcampaign_difficulty(const std::vector& items) + : index_(-1), items_() + { +- foreach(const std::string& it, items) { ++ BOOST_FOREACH(const std::string& it, items) { + items_.push_back(tlegacy_menu_item(it)); + } + } +@@ -77,7 +78,7 @@ + + std::map data; + +- foreach(const tlegacy_menu_item& item, items_) { ++ BOOST_FOREACH(const tlegacy_menu_item& item, items_) { + if(item.is_default()) { + index_ = list.get_item_count(); + } +Index: src/gui/dialogs/unit_create.cpp +=================================================================== +--- src/gui/dialogs/unit_create.cpp (revision 54624) ++++ src/gui/dialogs/unit_create.cpp (revision 54625) +@@ -27,9 +27,10 @@ + #include "gui/widgets/settings.hpp" + #include "gui/widgets/toggle_button.hpp" + #include "gui/widgets/window.hpp" +-#include "foreach.hpp" + #include "unit_types.hpp" + ++#include ++ + namespace { + static std::string last_chosen_type_id = ""; + static unit_race::GENDER last_gender = unit_race::MALE; +@@ -109,7 +110,7 @@ + + std::vector< std::string > type_labels, race_labels; + +- foreach (const unit_type_data::unit_type_map::value_type &i, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &i, unit_types.types()) + { + unit_types.find(i.first, unit_type::HELP_INDEX); + +Index: src/gui/dialogs/formula_debugger.cpp +=================================================================== +--- src/gui/dialogs/formula_debugger.cpp (revision 54624) ++++ src/gui/dialogs/formula_debugger.cpp (revision 54625) +@@ -21,10 +21,10 @@ + #include "gui/widgets/button.hpp" + #include "gui/widgets/settings.hpp" + #include "gui/widgets/window.hpp" +-#include "../../foreach.hpp" + #include "../../formula_debugger.hpp" + + #include ++#include + + namespace gui2 { + +@@ -73,7 +73,7 @@ + std::stringstream stack_text; + std::string indent = " "; + int c = 0; +- foreach (const game_logic::debug_info &i, fdb_.get_call_stack()) { ++ BOOST_FOREACH(const game_logic::debug_info &i, fdb_.get_call_stack()) { + for(int d = 0; d < c; ++d) { + stack_text << indent; + } +@@ -92,7 +92,7 @@ + &window, "execution", false, true); + + std::stringstream execution_text; +- foreach (const game_logic::debug_info &i, fdb_.get_execution_trace()) { ++ BOOST_FOREACH(const game_logic::debug_info &i, fdb_.get_execution_trace()) { + for(int d = 0; d < i.level(); ++d) { + execution_text << indent; + } +Index: src/gui/dialogs/title_screen.cpp +=================================================================== +--- src/gui/dialogs/title_screen.cpp (revision 54624) ++++ src/gui/dialogs/title_screen.cpp (revision 54625) +@@ -35,6 +35,7 @@ + #include "preferences_display.hpp" + + #include ++#include + + #include + +@@ -306,7 +307,7 @@ + WRN_CF << "There are not tips of day available.\n"; + } + +- foreach(const ttip& tip, tips) { ++ BOOST_FOREACH(const ttip& tip, tips) { + + string_map widget; + std::map page; +Index: src/gui/dialogs/addon_list.cpp +=================================================================== +--- src/gui/dialogs/addon_list.cpp (revision 54624) ++++ src/gui/dialogs/addon_list.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/addon_list.hpp" + +-#include "foreach.hpp" + #ifdef GUI2_EXPERIMENTAL_LISTBOX + #include "gui/widgets/list.hpp" + #else +@@ -26,6 +25,8 @@ + #include "gui/widgets/settings.hpp" + #include "gui/widgets/window.hpp" + ++#include ++ + namespace gui2 { + + /*WIKI +@@ -70,7 +71,7 @@ + * @todo do we really want to keep the length limit for the various + * items? + */ +- foreach(const config &c, cfg_.child_range("campaign")) { ++ BOOST_FOREACH(const config &c, cfg_.child_range("campaign")) { + std::map data; + string_map item; + +Index: src/gui/dialogs/campaign_selection.cpp +=================================================================== +--- src/gui/dialogs/campaign_selection.cpp (revision 54624) ++++ src/gui/dialogs/campaign_selection.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/campaign_selection.hpp" + +-#include "foreach.hpp" + #include "gui/dialogs/helper.hpp" + #include "gui/widgets/image.hpp" + #ifdef GUI2_EXPERIMENTAL_LISTBOX +@@ -34,6 +33,7 @@ + #include "serialization/string_utils.hpp" + + #include ++#include + + namespace gui2 { + +@@ -140,7 +140,7 @@ + &window, "campaign_details", false); + + unsigned id = 0; +- foreach(const config &campaign, campaigns_) { ++ BOOST_FOREACH(const config &campaign, campaigns_) { + + /*** Add tree item ***/ + tree_group_field["label"] = campaign["icon"]; +@@ -206,7 +206,7 @@ + tmulti_page& multi_page = find_widget( + &window, "campaign_details", false); + +- foreach (const config &c, campaigns_) { ++ BOOST_FOREACH(const config &c, campaigns_) { + + /*** Add list item ***/ + string_map list_item; +Index: src/gui/dialogs/mp_connect.cpp +=================================================================== +--- src/gui/dialogs/mp_connect.cpp (revision 54624) ++++ src/gui/dialogs/mp_connect.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/mp_connect.hpp" + +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gui/dialogs/field.hpp" + #include "gui/widgets/button.hpp" +@@ -30,6 +29,7 @@ + #include "video.hpp" + + #include ++#include + + namespace gui2 { + +@@ -90,7 +90,7 @@ + const std::vector& + pref_servers = preferences::server_list(); + +- foreach(const game_config::server_info& server, pref_servers) { ++ BOOST_FOREACH(const game_config::server_info& server, pref_servers) { + + std::map data; + string_map item; +Index: src/gui/dialogs/language_selection.cpp +=================================================================== +--- src/gui/dialogs/language_selection.cpp (revision 54624) ++++ src/gui/dialogs/language_selection.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/language_selection.hpp" + +-#include "foreach.hpp" + #ifdef GUI2_EXPERIMENTAL_LISTBOX + #include "gui/widgets/list.hpp" + #else +@@ -28,6 +27,8 @@ + #include "language.hpp" + #include "preferences.hpp" + ++#include ++ + namespace gui2 { + + /*WIKI +@@ -65,7 +66,7 @@ + + const std::vector& languages = get_languages(); + const language_def& current_language = get_language(); +- foreach(const language_def& lang, languages) { ++ BOOST_FOREACH(const language_def& lang, languages) { + string_map item; + item.insert(std::make_pair("label", lang.language)); + +Index: src/gui/dialogs/mp_create_game.cpp +=================================================================== +--- src/gui/dialogs/mp_create_game.cpp (revision 54624) ++++ src/gui/dialogs/mp_create_game.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/mp_create_game.hpp" + +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" + #include "gui/dialogs/field.hpp" +@@ -35,6 +34,7 @@ + #ifdef GUI2_EXPERIMENTAL_LISTBOX + #include + #endif ++#include + namespace gui2 { + + REGISTER_DIALOG(mp_create_game) +@@ -101,7 +101,7 @@ + std::vector maps; + get_files_in_dir(get_user_data_dir() + "/editor/maps", &maps, NULL, FILE_NAME_ONLY); + +- foreach(const std::string& map, maps) { ++ BOOST_FOREACH(const std::string& map, maps) { + std::map item; + item.insert(std::make_pair("label", map)); + list->add_row(item); +@@ -110,7 +110,7 @@ + + // Standard maps + int i = 0; +- foreach (const config &map, cfg_.child_range("multiplayer")) ++ BOOST_FOREACH(const config &map, cfg_.child_range("multiplayer")) + { + if (map["allow_new_game"].to_bool(true)) { + string_map item; +Index: src/gui/dialogs/network_transmission.cpp +=================================================================== +--- src/gui/dialogs/network_transmission.cpp (revision 54624) ++++ src/gui/dialogs/network_transmission.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/network_transmission.hpp" + +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "gettext.hpp" + #include "gui/widgets/button.hpp" +Index: src/gui/dialogs/addon/description.cpp +=================================================================== +--- src/gui/dialogs/addon/description.cpp (revision 54624) ++++ src/gui/dialogs/addon/description.cpp (revision 54625) +@@ -17,14 +17,15 @@ + + #include "gui/dialogs/addon/description.hpp" + +-#include "foreach.hpp" + #include "gui/widgets/settings.hpp" + #include "language.hpp" + ++#include ++ + namespace { + std::string langcode_to_string(const std::string& lcode) + { +- foreach(const language_def& ld, get_languages()) { ++ BOOST_FOREACH(const language_def& ld, get_languages()) { + if(ld.localename == lcode || ld.localename.substr(0, 2) == lcode) { + return ld.language; + } +@@ -90,7 +91,7 @@ + + std::string languages; + +- foreach(const std::string& lc, addon.translations) { ++ BOOST_FOREACH(const std::string& lc, addon.translations) { + const std::string& langlabel = langcode_to_string(lc); + if(!langlabel.empty()) { + if(!languages.empty()) { +Index: src/gui/dialogs/addon/uninstall_list.cpp +=================================================================== +--- src/gui/dialogs/addon/uninstall_list.cpp (revision 54624) ++++ src/gui/dialogs/addon/uninstall_list.cpp (revision 54625) +@@ -15,7 +15,6 @@ + + #include "gui/dialogs/addon/uninstall_list.hpp" + +-#include "foreach.hpp" + #include "gui/widgets/grid.hpp" + #ifdef GUI2_EXPERIMENTAL_LISTBOX + #include "gui/widgets/list.hpp" +@@ -26,6 +25,8 @@ + #include "gui/widgets/toggle_button.hpp" + #include "gui/widgets/window.hpp" + ++#include ++ + #include + + namespace { +@@ -50,7 +51,7 @@ + this->names_.clear(); + this->selections_.clear(); + +- foreach(const std::string& id, this->ids_) { ++ BOOST_FOREACH(const std::string& id, this->ids_) { + this->names_.push_back(make_addon_name(id)); + this->selections_[id] = false; + +@@ -87,7 +88,7 @@ + std::vector retv; + + typedef std::map selections_map_type; +- foreach(const selections_map_type::value_type& entry, this->selections_) { ++ BOOST_FOREACH(const selections_map_type::value_type& entry, this->selections_) { + if(entry.second) { + retv.push_back(entry.first); + } +Index: src/gui/dialogs/chat_log.cpp +=================================================================== +--- src/gui/dialogs/chat_log.cpp (revision 54624) ++++ src/gui/dialogs/chat_log.cpp (revision 54625) +@@ -28,7 +28,6 @@ + #include "gui/widgets/window.hpp" + #include "gui/widgets/slider.hpp" + +-#include "../../foreach.hpp" + #include "../../gamestatus.hpp" + #include "../../log.hpp" + #include "../../resources.hpp" +@@ -38,6 +37,7 @@ + #include + #include + #include ++#include + + static lg::log_domain log_chat_log("chat_log"); + #define DBG_CHAT_LOG LOG_STREAM(debug, log_chat_log) +@@ -113,7 +113,7 @@ + std::stringstream str; + LOG_CHAT_LOG << "entering tchat_log::model::add_row_to_chat_message_list\n"; + if (first + #include + #include +-#include ++#include + + static lg::log_domain log_gui("gui/dialogs/mp_change_control"); + #define ERR_GUI LOG_STREAM(err, log_gui) +@@ -184,7 +184,7 @@ + + int i = 0; // because we need to know which row contains the controlling player + +- foreach (const std::string &nick, nicks) ++ BOOST_FOREACH(const std::string &nick, nicks) + { + if (side_number_ <= static_cast(resources::teams->size()) && + resources::teams->at(side_number_-1).current_player() == nick) +Index: src/gui/dialogs/message.cpp +=================================================================== +--- src/gui/dialogs/message.cpp (revision 54624) ++++ src/gui/dialogs/message.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/message.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/widgets/button.hpp" + #include "gui/widgets/image.hpp" +@@ -26,6 +25,8 @@ + #include "gui/widgets/window.hpp" + #include "log.hpp" + ++#include ++ + namespace gui2 { + + REGISTER_DIALOG(message) +@@ -97,7 +98,7 @@ + + void tmessage::post_show(twindow& /*window*/) + { +- foreach(tbutton_status& button_status, buttons_) { ++ BOOST_FOREACH(tbutton_status& button_status, buttons_) { + button_status.button = NULL; + } + } +Index: src/gui/dialogs/lobby/lobby_data.cpp +=================================================================== +--- src/gui/dialogs/lobby/lobby_data.cpp (revision 54624) ++++ src/gui/dialogs/lobby/lobby_data.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "config.hpp" + #include "game_preferences.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "gettext.hpp" + #include "network.hpp" +@@ -27,6 +26,8 @@ + #include "map_exception.hpp" + #include "wml_exception.hpp" + ++#include ++ + #include + + static lg::log_domain log_config("config"); +@@ -89,7 +90,7 @@ + void room_info::process_room_members(const config& data) + { + members_.clear(); +- foreach (const config& m, data.child_range("member")) { ++ BOOST_FOREACH(const config& m, data.child_range("member")) { + members_.insert(m["name"]); + } + } +@@ -254,7 +255,7 @@ + if (const config& hashes = game_config.child("multiplayer_hashes")) { + std::string hash = game["hash"]; + bool hash_found = false; +- foreach (const config::attribute &i, hashes.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, hashes.attribute_range()) { + if (i.first == game["mp_scenario"] && i.second == hash) { + hash_found = true; + break; +@@ -357,7 +358,7 @@ + + game_filter_stack::~game_filter_stack() + { +- foreach (game_filter_base* f, filters_) { ++ BOOST_FOREACH(game_filter_base* f, filters_) { + delete f; + } + } +@@ -369,7 +370,7 @@ + + void game_filter_stack::clear() + { +- foreach (game_filter_base* f, filters_) { ++ BOOST_FOREACH(game_filter_base* f, filters_) { + delete f; + } + filters_.clear(); +@@ -377,7 +378,7 @@ + + bool game_filter_and_stack::match(const game_info &game) const + { +- foreach (game_filter_base* f, filters_) { ++ BOOST_FOREACH(game_filter_base* f, filters_) { + if (!f->match(game)) return false; + } + return true; +Index: src/gui/dialogs/lobby/lobby_info.cpp +=================================================================== +--- src/gui/dialogs/lobby/lobby_info.cpp (revision 54624) ++++ src/gui/dialogs/lobby/lobby_info.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "config.hpp" + #include "game_preferences.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "gettext.hpp" + #include "network.hpp" +@@ -27,6 +26,8 @@ + #include "map_exception.hpp" + #include "wml_exception.hpp" + ++#include ++ + #include + + static lg::log_domain log_config("config"); +@@ -66,7 +67,7 @@ + + void lobby_info::delete_games() + { +- foreach (const game_info_map::value_type& v, games_by_id_) { ++ BOOST_FOREACH(const game_info_map::value_type& v, games_by_id_) { + delete v.second; + } + } +@@ -76,7 +77,7 @@ + std::string dump_games_map(const lobby_info::game_info_map& games) + { + std::stringstream ss; +- foreach (const lobby_info::game_info_map::value_type& v, games) { ++ BOOST_FOREACH(const lobby_info::game_info_map::value_type& v, games) { + const game_info& game = *v.second; + ss << "G" << game.id << "(" << game.name << ") " << game.display_status_string() << " "; + } +@@ -87,7 +88,7 @@ + std::string dump_games_config(const config& gamelist) + { + std::stringstream ss; +- foreach (const config& c, gamelist.child_range("game")) { ++ BOOST_FOREACH(const config& c, gamelist.child_range("game")) { + ss << "g" << c["id"] << "(" << c["name"] << ") " << c[config::diff_track_attribute] << " "; + } + ss << "\n"; +@@ -103,7 +104,7 @@ + gamelist_initialized_ = true; + delete_games(); + games_by_id_.clear(); +- foreach (const config& c, gamelist_.child("gamelist").child_range("game")) { ++ BOOST_FOREACH(const config& c, gamelist_.child("gamelist").child_range("game")) { + game_info* game = new game_info(c, game_config_); + games_by_id_[game->id] = game; + } +@@ -180,10 +181,10 @@ + { + SCOPE_LB; + users_.clear(); +- foreach (const config& c, gamelist_.child_range("user")) { ++ BOOST_FOREACH(const config& c, gamelist_.child_range("user")) { + users_.push_back(user_info(c)); + } +- foreach (user_info& ui, users_) { ++ BOOST_FOREACH(user_info& ui, users_) { + if (ui.game_id != 0) { + game_info* g = get_game_by_id(ui.game_id); + if (g == NULL) { +@@ -235,7 +236,7 @@ + + room_info* lobby_info::get_room(const std::string &name) + { +- foreach (room_info& r, rooms_) { ++ BOOST_FOREACH(room_info& r, rooms_) { + if (r.name() == name) return &r; + } + return NULL; +@@ -243,7 +244,7 @@ + + const room_info* lobby_info::get_room(const std::string &name) const + { +- foreach (const room_info& r, rooms_) { ++ BOOST_FOREACH(const room_info& r, rooms_) { + if (r.name() == name) return &r; + } + return NULL; +@@ -301,7 +302,7 @@ + games_filtered_.clear(); + games_visibility_.clear(); + games_.clear(); +- foreach (const game_info_map::value_type& v, games_by_id_) { ++ BOOST_FOREACH(const game_info_map::value_type& v, games_by_id_) { + games_.push_back(v.second); + } + } +@@ -310,7 +311,7 @@ + { + games_filtered_.clear(); + games_visibility_.clear(); +- foreach (game_info* g, games_) { ++ BOOST_FOREACH(game_info* g, games_) { + game_info& gi = *g; + bool show = game_filter_.match(gi); + if (game_filter_invert_) { +@@ -325,7 +326,7 @@ + + void lobby_info::update_user_statuses(int game_id, const room_info *room) + { +- foreach (user_info& user, users_) { ++ BOOST_FOREACH(user_info& user, users_) { + user.update_state(game_id, room); + } + } +@@ -365,7 +366,7 @@ + void lobby_info::sort_users(bool by_name, bool by_relation) + { + users_sorted_.clear(); +- foreach (user_info& u, users_) { ++ BOOST_FOREACH(user_info& u, users_) { + users_sorted_.push_back(&u); + } + if (by_name) { +Index: src/gui/dialogs/game_save.cpp +=================================================================== +--- src/gui/dialogs/game_save.cpp (revision 54624) ++++ src/gui/dialogs/game_save.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/dialogs/game_save.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/dialogs/field.hpp" + #include "gui/widgets/button.hpp" +Index: src/gui/widgets/settings.cpp +=================================================================== +--- src/gui/widgets/settings.cpp (revision 54624) ++++ src/gui/widgets/settings.cpp (revision 54625) +@@ -25,7 +25,6 @@ + #include "asserts.hpp" + #include "config_cache.hpp" + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/tips.hpp" +@@ -35,6 +34,8 @@ + #include "serialization/schema_validator.hpp" + #include "formula_string_utils.hpp" + ++#include ++ + namespace gui2 { + + bool new_widgets = false; +@@ -283,12 +284,12 @@ + , const config& + , const char *key)> > thack; + +- foreach(thack& widget_type, registred_widget_type()) { ++ BOOST_FOREACH(thack& widget_type, registred_widget_type()) { + widget_type.second(*this, widget_type.first, cfg, NULL); + } + + /***** Window types *****/ +- foreach (const config &w, cfg.child_range("window")) { ++ BOOST_FOREACH(const config &w, cfg.child_range("window")) { + std::pair child; + child.first = child.second.read(w); + window_types.insert(child); +@@ -423,7 +424,7 @@ + const std::string& definition_type + , const std::vector& definitions) + { +- foreach(const tcontrol_definition_ptr& def, definitions) { ++ BOOST_FOREACH(const tcontrol_definition_ptr& def, definitions) { + + // We assume all definitions are unique if not we would leak memory. + assert(control_definition[definition_type].find(def->id) +@@ -497,7 +498,7 @@ + ERR_GUI_P << e.message; + } + // Parse guis +- foreach (const config &g, cfg.child_range("gui")) { ++ BOOST_FOREACH(const config &g, cfg.child_range("gui")) { + std::pair child; + child.first = child.second.read(g); + guis.insert(child); +Index: src/gui/widgets/window.cpp +=================================================================== +--- src/gui/widgets/window.cpp (revision 54624) ++++ src/gui/widgets/window.cpp (revision 54625) +@@ -23,7 +23,6 @@ + #include "gui/widgets/window_private.hpp" + + #include "font.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "gettext.hpp" + #include "log.hpp" +@@ -44,6 +43,7 @@ + #include "video.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -716,7 +716,7 @@ + return; + } + +- foreach(std::vector& item, dirty_list_) { ++ BOOST_FOREACH(std::vector& item, dirty_list_) { + + assert(!item.empty()); + +@@ -1047,12 +1047,12 @@ + { + // evaluate the group sizes + typedef std::pair hack; +- foreach(hack& linked_size, linked_size_) { ++ BOOST_FOREACH(hack& linked_size, linked_size_) { + + tpoint max_size(0, 0); + + // Determine the maximum size. +- foreach(twidget* widget, linked_size.second.widgets) { ++ BOOST_FOREACH(twidget* widget, linked_size.second.widgets) { + + const tpoint size = widget->get_best_size(); + +@@ -1065,7 +1065,7 @@ + } + + // Set the maximum size. +- foreach(twidget* widget, linked_size.second.widgets) { ++ BOOST_FOREACH(twidget* widget, linked_size.second.widgets) { + + tpoint size = widget->get_best_size(); + +Index: src/gui/widgets/stacked_widget.cpp +=================================================================== +--- src/gui/widgets/stacked_widget.cpp (revision 54624) ++++ src/gui/widgets/stacked_widget.cpp (revision 54625) +@@ -17,13 +17,13 @@ + + #include "gui/widgets/stacked_widget.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/widget_definition/stacked_widget.hpp" + #include "gui/auxiliary/window_builder/stacked_widget.hpp" + #include "gui/widgets/settings.hpp" + #include "gui/widgets/generator.hpp" + + #include ++#include + + namespace gui2 { + +@@ -83,7 +83,7 @@ + { + assert(generator_); + string_map empty_data; +- foreach(const tbuilder_grid_const_ptr& builder, widget_builder) { ++ BOOST_FOREACH(const tbuilder_grid_const_ptr& builder, widget_builder) { + generator_->create_item(-1, builder, empty_data, NULL); + } + swap_grid(NULL, &grid(), generator_, "_content_grid"); +Index: src/gui/widgets/text_box.cpp +=================================================================== +--- src/gui/widgets/text_box.cpp (revision 54624) ++++ src/gui/widgets/text_box.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "gui/widgets/text_box.hpp" + + #include "font.hpp" +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/text_box.hpp" + #include "gui/auxiliary/window_builder/text_box.hpp" +@@ -27,6 +26,7 @@ + #include "game_preferences.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -162,7 +162,7 @@ + const int max_width = get_text_maximum_width(); + const int max_height = get_text_maximum_height(); + +- foreach(tcanvas& tmp, canvas()) { ++ BOOST_FOREACH(tcanvas& tmp, canvas()) { + + tmp.set_variable("text", variant(get_value())); + tmp.set_variable("text_x_offset", variant(text_x_offset_)); +@@ -260,7 +260,7 @@ + + // Since this variable doesn't change set it here instead of in + // update_canvas(). +- foreach(tcanvas& tmp, canvas()) { ++ BOOST_FOREACH(tcanvas& tmp, canvas()) { + tmp.set_variable("text_font_height", variant(text_height_)); + } + +Index: src/gui/widgets/toggle_panel.cpp +=================================================================== +--- src/gui/widgets/toggle_panel.cpp (revision 54624) ++++ src/gui/widgets/toggle_panel.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/widgets/toggle_panel.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/toggle_panel.hpp" + #include "gui/auxiliary/window_builder/toggle_panel.hpp" +@@ -26,6 +25,7 @@ + #include "sound.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -72,7 +72,7 @@ + { + // typedef boost problem work around. + typedef std::pair hack ; +- foreach(const hack& item, data) { ++ BOOST_FOREACH(const hack& item, data) { + tcontrol* control = dynamic_cast(find(item.first, false)); + if(control) { + control->set_members(item.second); +Index: src/gui/widgets/tree_view_node.cpp +=================================================================== +--- src/gui/widgets/tree_view_node.cpp (revision 54624) ++++ src/gui/widgets/tree_view_node.cpp (revision 54625) +@@ -24,6 +24,7 @@ + #include "gui/widgets/tree_view.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER \ + get_control_type() + " [" + tree_view().id() + "] " + __func__ +@@ -48,7 +49,7 @@ + grid_.set_parent(this); + set_parent(&parent_tree_view); + if(id != "root") { +- foreach(const tnode_definition& node_definition, node_definitions_) { ++ BOOST_FOREACH(const tnode_definition& node_definition, node_definitions_) { + if(node_definition.id == id) { + node_definition.builder->build(&grid_); + init_grid(&grid_, data); +@@ -217,7 +218,7 @@ + int height_reduction = 0; + + if(!is_folded()) { +- foreach(const ttree_view_node& node, children_) { ++ BOOST_FOREACH(const ttree_view_node& node, children_) { + height_reduction += node.get_current_size().y; + } + } +@@ -300,7 +301,7 @@ + return; + } + +- foreach(ttree_view_node& node, children_) { ++ BOOST_FOREACH(ttree_view_node& node, children_) { + std::vector child_call_stack = call_stack; + node.impl_populate_dirty_list(caller, child_call_stack); + } +@@ -455,7 +456,7 @@ + } + + DBG_GUI_L << LOG_HEADER << " set children.\n"; +- foreach(ttree_view_node& node, children_) { ++ BOOST_FOREACH(ttree_view_node& node, children_) { + origin.y += node.place(indention_step_size, origin, width); + } + +@@ -477,7 +478,7 @@ + return; + } + +- foreach(ttree_view_node& node, children_) { ++ BOOST_FOREACH(ttree_view_node& node, children_) { + node.set_visible_area(area); + } + } +@@ -490,7 +491,7 @@ + return; + } + +- foreach(ttree_view_node& node, children_) { ++ BOOST_FOREACH(ttree_view_node& node, children_) { + node.impl_draw_children(frame_buffer); + } + } +Index: src/gui/widgets/settings.hpp +=================================================================== +--- src/gui/widgets/settings.hpp (revision 54624) ++++ src/gui/widgets/settings.hpp (revision 54625) +@@ -24,6 +24,7 @@ + #include "gui/auxiliary/widget_definition/window.hpp" + + #include ++#include + + #include + #include +@@ -124,7 +125,7 @@ + { + std::vector definitions; + +- foreach(const config& definition ++ BOOST_FOREACH(const config& definition + , cfg.child_range(key ? key : definition_type + "_definition")) { + + definitions.push_back(new T(definition)); +Index: src/gui/widgets/slider.cpp +=================================================================== +--- src/gui/widgets/slider.cpp (revision 54624) ++++ src/gui/widgets/slider.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/widgets/slider.hpp" + +-#include "foreach.hpp" + #include "formatter.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/slider.hpp" +@@ -27,6 +26,7 @@ + #include "sound.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -232,7 +232,7 @@ + // Inherited. + tscrollbar_::update_canvas(); + +- foreach(tcanvas& tmp, canvas()) { ++ BOOST_FOREACH(tcanvas& tmp, canvas()) { + tmp.set_variable("text", variant(get_value_label())); + } + } +Index: src/gui/widgets/scrollbar.cpp +=================================================================== +--- src/gui/widgets/scrollbar.cpp (revision 54624) ++++ src/gui/widgets/scrollbar.cpp (revision 54625) +@@ -17,11 +17,11 @@ + + #include "gui/widgets/scrollbar.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/widgets/window.hpp" // Needed for invalidate_layout() + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -132,7 +132,7 @@ + + void tscrollbar_::update_canvas() { + +- foreach(tcanvas& tmp, canvas()) { ++ BOOST_FOREACH(tcanvas& tmp, canvas()) { + tmp.set_variable("positioner_offset", variant(positioner_offset_)); + tmp.set_variable("positioner_length", variant(positioner_length_)); + } +@@ -287,7 +287,7 @@ + void tscrollbar_::load_config_extra() + { + // These values won't change so set them here. +- foreach(tcanvas& tmp, canvas()) { ++ BOOST_FOREACH(tcanvas& tmp, canvas()) { + tmp.set_variable("offset_before", variant(offset_before())); + tmp.set_variable("offset_after", variant(offset_after())); + } +Index: src/gui/widgets/grid_private.hpp +=================================================================== +--- src/gui/widgets/grid_private.hpp (revision 54624) ++++ src/gui/widgets/grid_private.hpp (revision 54625) +@@ -33,7 +33,7 @@ + + #include "gui/widgets/grid.hpp" + +-#include "foreach.hpp" ++#include + + namespace gui2 { + +@@ -56,7 +56,7 @@ + const tpoint& coordinate, const bool must_be_active) + { + typedef typename tconst_duplicator::type hack; +- foreach(hack& child, grid.children_) { ++ BOOST_FOREACH(hack& child, grid.children_) { + + W* widget = child.widget(); + if(!widget) { +@@ -91,7 +91,7 @@ + } + + typedef typename tconst_duplicator::type hack; +- foreach(hack& child, grid.children_) { ++ BOOST_FOREACH(hack& child, grid.children_) { + + widget = child.widget(); + if(!widget) { +Index: src/gui/widgets/grid.cpp +=================================================================== +--- src/gui/widgets/grid.cpp (revision 54624) ++++ src/gui/widgets/grid.cpp (revision 54625) +@@ -21,6 +21,8 @@ + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/layout_exception.hpp" + ++#include ++ + #include + + #define LOG_SCOPE_HEADER "tgrid [" + id() + "] " + __func__ +@@ -48,7 +50,7 @@ + { + // Delete the children in this destructor since resizing a vector copies the + // children and thus frees the child prematurely. +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + delete child.widget(); + } + } +@@ -99,7 +101,7 @@ + { + assert(widget); + +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + if(child.id() != id) { + + if(recurse) { +@@ -145,7 +147,7 @@ + + void tgrid::remove_child(const std::string& id, const bool find_all) + { +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + if(child.id() == id) { + delete child.widget(); +@@ -160,7 +162,7 @@ + + void tgrid::set_active(const bool active) + { +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + twidget* widget = child.widget(); + if(!widget) { +@@ -186,7 +188,7 @@ + twidget::layout_init(full_initialization); + + // Clear child caches. +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + child.layout_init(full_initialization); + +@@ -426,7 +428,7 @@ + + bool tgrid::can_wrap() const + { +- foreach(const tchild& child, children_) { ++ BOOST_FOREACH(const tchild& child, children_) { + if(child.can_wrap()) { + return true; + } +@@ -485,7 +487,7 @@ + + if(w_size == 0) { + // If all sizes are 0 reset them to 1 +- foreach(unsigned& val, col_grow_factor_) { ++ BOOST_FOREACH(unsigned& val, col_grow_factor_) { + val = 1; + } + w_size = cols_; +@@ -516,7 +518,7 @@ + + if(h_size == 0) { + // If all sizes are 0 reset them to 1 +- foreach(unsigned& val, row_grow_factor_) { ++ BOOST_FOREACH(unsigned& val, row_grow_factor_) { + val = 1; + } + h_size = rows_; +@@ -551,7 +553,7 @@ + // Inherited. + twidget::set_origin(origin); + +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + twidget* widget = child.widget(); + assert(widget); +@@ -567,7 +569,7 @@ + // Inherited. + twidget::set_visible_area(area); + +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + twidget* widget = child.widget(); + assert(widget); +@@ -578,7 +580,7 @@ + + void tgrid::layout_children() + { +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + assert(child.widget()); + child.widget()->layout_children(); + } +@@ -589,7 +591,7 @@ + { + assert(!call_stack.empty() && call_stack.back() == this); + +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + assert(child.widget()); + +@@ -627,7 +629,7 @@ + + bool tgrid::has_widget(const twidget* widget) const + { +- foreach(const tchild& child, children_) { ++ BOOST_FOREACH(const tchild& child, children_) { + if(child.widget() == widget) { + return true; + } +@@ -641,7 +643,7 @@ + return false; + } + +- foreach(const tchild& child, children_) { ++ BOOST_FOREACH(const tchild& child, children_) { + const twidget* widget = child.widget(); + assert(widget); + +@@ -936,7 +938,7 @@ + assert(get_visible() == twidget::VISIBLE); + set_dirty(false); + +- foreach(tchild& child, children_) { ++ BOOST_FOREACH(tchild& child, children_) { + + twidget* widget = child.widget(); + assert(widget); +Index: src/gui/widgets/toggle_button.cpp +=================================================================== +--- src/gui/widgets/toggle_button.cpp (revision 54624) ++++ src/gui/widgets/toggle_button.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/widgets/toggle_button.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/toggle_button.hpp" + #include "gui/auxiliary/window_builder/toggle_button.hpp" +@@ -26,6 +25,7 @@ + #include "sound.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -89,7 +89,7 @@ + + // set icon in canvases + std::vector& canvases = tcontrol::canvas(); +- foreach(tcanvas& canvas, canvases) { ++ BOOST_FOREACH(tcanvas& canvas, canvases) { + canvas.set_variable("icon", variant(icon_name_)); + } + +Index: src/gui/widgets/control.cpp +=================================================================== +--- src/gui/widgets/control.cpp (revision 54624) ++++ src/gui/widgets/control.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "control.hpp" + + #include "font.hpp" +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "gui/auxiliary/iterator/walker_widget.hpp" + #include "gui/auxiliary/log.hpp" +@@ -29,6 +28,7 @@ + #include "marked-up_text.hpp" + + #include ++#include + + #include + +@@ -211,7 +211,7 @@ + void tcontrol::place(const tpoint& origin, const tpoint& size) + { + // resize canvasses +- foreach(tcanvas& canvas, canvas_) { ++ BOOST_FOREACH(tcanvas& canvas, canvas_) { + canvas.set_width(size.x); + canvas.set_height(size.y); + } +@@ -297,7 +297,7 @@ + const int max_height = get_text_maximum_height(); + + // set label in canvases +- foreach(tcanvas& canvas, canvas_) { ++ BOOST_FOREACH(tcanvas& canvas, canvas_) { + canvas.set_variable("text", variant(label_)); + canvas.set_variable("text_markup", variant(use_markup_)); + canvas.set_variable("text_alignment" +Index: src/gui/widgets/scrollbar_container.cpp +=================================================================== +--- src/gui/widgets/scrollbar_container.cpp (revision 54624) ++++ src/gui/widgets/scrollbar_container.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/widgets/scrollbar_container_private.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/layout_exception.hpp" + #include "gui/widgets/clickable.hpp" +@@ -25,6 +24,7 @@ + #include "gui/widgets/window.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -692,7 +692,7 @@ + + /***** Setup the scrollbar buttons *****/ + typedef std::pair hack; +- foreach(const hack& item, scroll_lookup()) { ++ BOOST_FOREACH(const hack& item, scroll_lookup()) { + + // Vertical. + tclickable_* button = find_widget( +@@ -838,7 +838,7 @@ + { + if(true) { /** @todo scrollbar visibility. */ + /***** set scroll up button status *****/ +- foreach(const std::string& name, button_up_names) { ++ BOOST_FOREACH(const std::string& name, button_up_names) { + tcontrol* button = find_widget( + vertical_scrollbar_grid_, name, false, false); + +@@ -848,7 +848,7 @@ + } + + /***** set scroll down status *****/ +- foreach(const std::string& name, button_down_names) { ++ BOOST_FOREACH(const std::string& name, button_down_names) { + tcontrol* button = find_widget( + vertical_scrollbar_grid_, name, false, false); + +@@ -864,7 +864,7 @@ + + if(true) { /** @todo scrollbar visibility. */ + /***** Set scroll left button status *****/ +- foreach(const std::string& name, button_up_names) { ++ BOOST_FOREACH(const std::string& name, button_up_names) { + tcontrol* button = find_widget( + horizontal_scrollbar_grid_, name, false, false); + +@@ -874,7 +874,7 @@ + } + + /***** Set scroll right button status *****/ +- foreach(const std::string& name, button_down_names) { ++ BOOST_FOREACH(const std::string& name, button_down_names) { + tcontrol* button = find_widget( + horizontal_scrollbar_grid_, name, false, false); + +Index: src/gui/widgets/generator_private.hpp +=================================================================== +--- src/gui/widgets/generator_private.hpp (revision 54624) ++++ src/gui/widgets/generator_private.hpp (revision 54625) +@@ -19,12 +19,13 @@ + #include "gui/widgets/generator.hpp" + + #include "asserts.hpp" +-#include "foreach.hpp" + #include "gui/widgets/grid.hpp" + #include "gui/widgets/selectable.hpp" + #include "gui/widgets/toggle_button.hpp" + #include "gui/widgets/toggle_panel.hpp" + ++#include ++ + namespace gui2 { + + /** +@@ -584,7 +585,7 @@ + /** Inherited from tgenerator_. */ + void clear() + { +- foreach(titem* item, items_) { ++ BOOST_FOREACH(titem* item, items_) { + delete item; + } + selected_item_count_ = 0; +@@ -750,7 +751,7 @@ + /** Inherited from tgenerator_. */ + void layout_init(const bool full_initialization) + { +- foreach(titem* item, items_) { ++ BOOST_FOREACH(titem* item, items_) { + if(item->grid.get_visible() != twidget::INVISIBLE && item->shown) { + item->grid.layout_init(full_initialization); + } +@@ -804,7 +805,7 @@ + { + assert(this->get_visible() == twidget::VISIBLE); + +- foreach(titem* item, items_) { ++ BOOST_FOREACH(titem* item, items_) { + if(item->grid.get_visible() == twidget::VISIBLE && item->shown) { + item->grid.draw_children(frame_buffer); + } +@@ -815,7 +816,7 @@ + void child_populate_dirty_list(twindow& caller, + const std::vector& call_stack) + { +- foreach(titem* item, items_) { ++ BOOST_FOREACH(titem* item, items_) { + std::vector child_call_stack = call_stack; + item->grid.populate_dirty_list(caller, child_call_stack); + } +@@ -838,7 +839,7 @@ + /** Inherited from widget. */ + bool disable_click_dismiss() const + { +- foreach(titem* item, items_) { ++ BOOST_FOREACH(titem* item, items_) { + if(item->grid.disable_click_dismiss()) { + return true; + } +@@ -974,7 +975,7 @@ + void (*callback)(twidget*)) + { + int i = index; +- foreach(const T& item_data, data) { ++ BOOST_FOREACH(const T& item_data, data) { + create_item(i, list_builder, item_data, callback); + if(i != -1) { + ++i; +Index: src/gui/widgets/generator.cpp +=================================================================== +--- src/gui/widgets/generator.cpp (revision 54624) ++++ src/gui/widgets/generator.cpp (revision 54625) +@@ -19,6 +19,8 @@ + + #include "gui/widgets/window.hpp" + ++#include ++ + namespace gui2 { + + namespace policy { +@@ -678,7 +680,7 @@ + assert(!callback); + + typedef std::pair hack; +- foreach(const hack& item, data) { ++ BOOST_FOREACH(const hack& item, data) { + if(item.first.empty()) { + for(unsigned row = 0; row < grid->get_rows(); ++row) { + for(unsigned col = 0; col < grid->get_cols(); ++col) { +Index: src/gui/widgets/progress_bar.cpp +=================================================================== +--- src/gui/widgets/progress_bar.cpp (revision 54624) ++++ src/gui/widgets/progress_bar.cpp (revision 54625) +@@ -23,6 +23,7 @@ + #include "gui/widgets/settings.hpp" + + #include ++#include + + #define LOG_SCOPE_HEADER get_control_type() + " [" + id() + "] " + __func__ + #define LOG_HEADER LOG_SCOPE_HEADER + ':' +@@ -38,7 +39,7 @@ + if(percentage_ != percentage) { + percentage_ = percentage; + +- foreach(tcanvas& c, canvas()) { ++ BOOST_FOREACH(tcanvas& c, canvas()) { + c.set_variable("percentage", variant(percentage)); + } + +Index: src/gui/auxiliary/widget_definition.hpp +=================================================================== +--- src/gui/auxiliary/widget_definition.hpp (revision 54624) ++++ src/gui/auxiliary/widget_definition.hpp (revision 54625) +@@ -17,9 +17,10 @@ + #define GUI_AUXILIARY_WIDGET_DEFINITION_HPP_INCLUDED + + #include "config.hpp" +-#include "foreach.hpp" + #include "gui/auxiliary/canvas.hpp" + ++#include ++ + namespace gui2 { + + /** +@@ -98,7 +99,7 @@ + void load_resolutions(const config &cfg) + { + config::const_child_itors itors = cfg.child_range("resolution"); +- foreach(const config &resolution, itors) { ++ BOOST_FOREACH(const config &resolution, itors) { + resolutions.push_back(new T(resolution)); + } + } +Index: src/gui/auxiliary/event/dispatcher.cpp +=================================================================== +--- src/gui/auxiliary/event/dispatcher.cpp (revision 54624) ++++ src/gui/auxiliary/event/dispatcher.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/auxiliary/event/dispatcher_private.hpp" + +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + + namespace gui2 { +Index: src/gui/auxiliary/event/handler.cpp +=================================================================== +--- src/gui/auxiliary/event/handler.cpp (revision 54624) ++++ src/gui/auxiliary/event/handler.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "gui/auxiliary/event/handler.hpp" + + #include "clipboard.hpp" +-#include "foreach.hpp" + #include "gui/auxiliary/event/dispatcher.hpp" + #include "gui/auxiliary/timer.hpp" + #include "gui/auxiliary/log.hpp" +@@ -28,6 +27,8 @@ + #include "hotkeys.hpp" + #include "video.hpp" + ++#include ++ + #include + + /** +@@ -429,7 +430,7 @@ + } + + /***** Set proper state for the other dispatchers. *****/ +- foreach(tdispatcher* dispatcher, dispatchers_) { ++ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { + dynamic_cast(*dispatcher).set_dirty(); + } + +@@ -448,7 +449,7 @@ + + void thandler::activate() + { +- foreach(tdispatcher* dispatcher, dispatchers_) { ++ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { + dispatcher->fire(SDL_ACTIVATE + , dynamic_cast(*dispatcher) + , NULL); +@@ -472,7 +473,7 @@ + * + * For now we use a hack, but would be nice to rewrite it for 1.9/1.11. + */ +- foreach(tdispatcher* dispatcher, dispatchers_) { ++ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { + if(!first) { + /* + * This leaves glitches on window borders if the window beneath it +@@ -503,7 +504,7 @@ + { + DBG_GUI_E << "Firing: " << SDL_VIDEO_RESIZE << ".\n"; + +- foreach(tdispatcher* dispatcher, dispatchers_) { ++ BOOST_FOREACH(tdispatcher* dispatcher, dispatchers_) { + dispatcher->fire(SDL_VIDEO_RESIZE + , dynamic_cast(*dispatcher) + , new_size); +Index: src/gui/auxiliary/canvas.cpp +=================================================================== +--- src/gui/auxiliary/canvas.cpp (revision 54624) ++++ src/gui/auxiliary/canvas.cpp (revision 54625) +@@ -24,7 +24,6 @@ + + #include "config.hpp" + #include "../../image.hpp" +-#include "foreach.hpp" + #include "formatter.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/formula.hpp" +@@ -33,6 +32,8 @@ + #include "../../text.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace { +@@ -1455,7 +1456,7 @@ + log_scope2(log_gui_parse, "Canvas: parsing config."); + shapes_.clear(); + +- foreach(const config::any_child& shape, cfg.all_children_range()) { ++ BOOST_FOREACH(const config::any_child& shape, cfg.all_children_range()) { + const std::string &type = shape.key; + const config &data = shape.cfg; + +@@ -1474,7 +1475,7 @@ + } else if(type == "pre_commit") { + + /* note this should get split if more preprocessing is used. */ +- foreach(const config::any_child& function, ++ BOOST_FOREACH(const config::any_child& function, + data.all_children_range()) { + + if(function.key == "blur") { +Index: src/gui/auxiliary/window_builder.cpp +=================================================================== +--- src/gui/auxiliary/window_builder.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "gui/auxiliary/window_builder_private.hpp" + + #include "asserts.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/window_builder/helper.hpp" +@@ -43,6 +42,7 @@ + #include "formula_string_utils.hpp" + + #include ++#include + + namespace gui2 { + +@@ -67,7 +67,7 @@ + std::string + , boost::function > + thack; +- foreach(const thack& item, builder_widget_lookup()) { ++ BOOST_FOREACH(const thack& item, builder_widget_lookup()) { + if(item.first == "window" || item.first == "tooltip") { + continue; + } +@@ -153,7 +153,7 @@ + , definition->helptip); + assert(window); + +- foreach(const twindow_builder::tresolution::tlinked_group& lg, ++ BOOST_FOREACH(const twindow_builder::tresolution::tlinked_group& lg, + definition->linked_groups) { + + if(window->has_linked_size_group(lg.id)) { +@@ -238,7 +238,7 @@ + + config::const_child_itors cfgs = cfg.child_range("resolution"); + VALIDATE(cfgs.first != cfgs.second, _("No resolution defined.")); +- foreach (const config &i, cfgs) { ++ BOOST_FOREACH(const config &i, cfgs) { + resolutions.push_back(tresolution(i)); + } + +@@ -386,7 +386,7 @@ + definition = "default"; + } + +- foreach (const config &lg, cfg.child_range("linked_group")) { ++ BOOST_FOREACH(const config &lg, cfg.child_range("linked_group")) { + tlinked_group linked_group; + linked_group.id = lg["id"].str(); + linked_group.fixed_width = lg["fixed_width"].to_bool(); +@@ -501,13 +501,13 @@ + */ + log_scope2(log_gui_parse, "Window builder: parsing a grid"); + +- foreach (const config &row, cfg.child_range("row")) ++ BOOST_FOREACH(const config &row, cfg.child_range("row")) + { + unsigned col = 0; + + row_grow_factor.push_back(row["grow_factor"]); + +- foreach (const config &c, row.child_range("column")) ++ BOOST_FOREACH(const config &c, row.child_range("column")) + { + flags.push_back(implementation::read_flags(c)); + border_size.push_back(c["border_size"]); +Index: src/gui/auxiliary/tips.cpp +=================================================================== +--- src/gui/auxiliary/tips.cpp (revision 54624) ++++ src/gui/auxiliary/tips.cpp (revision 54625) +@@ -18,10 +18,11 @@ + #include "gui/auxiliary/tips.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "serialization/string_utils.hpp" + ++#include ++ + namespace gui2 { + + ttip::ttip(const t_string& text +@@ -39,7 +40,7 @@ + { + std::vector result; + +- foreach(const config &tip, cfg.child_range("tip")) { ++ BOOST_FOREACH(const config &tip, cfg.child_range("tip")) { + result.push_back(ttip(tip["text"] + , tip["source"] + , tip["encountered_units"])); +@@ -54,11 +55,11 @@ + + const std::set& units = preferences::encountered_units(); + +- foreach(const ttip& tip, tips) { ++ BOOST_FOREACH(const ttip& tip, tips) { + if(tip.unit_filter_.empty()) { + result.push_back(tip); + } else { +- foreach(const std::string& unit, tip.unit_filter_) { ++ BOOST_FOREACH(const std::string& unit, tip.unit_filter_) { + if(units.find(unit) != units.end()) { + result.push_back(tip); + break; +Index: src/gui/auxiliary/notifier.hpp +=================================================================== +--- src/gui/auxiliary/notifier.hpp (revision 54624) ++++ src/gui/auxiliary/notifier.hpp (revision 54625) +@@ -16,10 +16,10 @@ + #ifndef GUI_WIDGETS_AUXILIARY_NOTIFIER_HPP_INCLUDED + #define GUI_WIDGETS_AUXILIARY_NOTIFIER_HPP_INCLUDED + +-#include "foreach.hpp" +- + #include "gui/auxiliary/notifiee.hpp" + ++#include ++ + #include + #include + +@@ -47,7 +47,7 @@ + ~tnotifier() + { + typedef std::pair* const, tfunctor> thack; +- foreach(thack& item, notifiees_) { ++ BOOST_FOREACH(thack& item, notifiees_) { + assert(item.first); + assert((*item.first).notifier_ == this); + +Index: src/gui/auxiliary/window_builder/helper.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/helper.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/helper.cpp (revision 54625) +@@ -18,11 +18,12 @@ + #include "gui/auxiliary/window_builder/helper.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/widgets/grid.hpp" + #include "gui/widgets/window.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -60,7 +61,7 @@ + unsigned get_border(const std::vector& border) + { + unsigned result = 0; +- foreach (const std::string& s, border) { ++ BOOST_FOREACH(const std::string& s, border) { + if (s == "all") { + return tgrid::BORDER_ALL; + } else if (s == "top") { +Index: src/gui/auxiliary/window_builder/stacked_widget.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/stacked_widget.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/stacked_widget.cpp (revision 54625) +@@ -18,13 +18,14 @@ + #include "gui/auxiliary/window_builder/stacked_widget.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/stacked_widget.hpp" + #include "gui/widgets/stacked_widget.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -35,7 +36,7 @@ + { + const config &s = cfg.child("stack"); + VALIDATE(s, _("No stack defined.")); +- foreach(const config &layer, s.child_range("layer")) { ++ BOOST_FOREACH(const config &layer, s.child_range("layer")) { + stack.push_back(new tbuilder_grid(layer)); + } + } +Index: src/gui/auxiliary/window_builder/slider.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/slider.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/slider.cpp (revision 54625) +@@ -18,12 +18,13 @@ + #include "gui/auxiliary/window_builder/slider.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/widgets/slider.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -44,7 +45,7 @@ + return; + } + +- foreach(const config& label, labels.child_range("value")) { ++ BOOST_FOREACH(const config& label, labels.child_range("value")) { + value_labels_.push_back(label["label"]); + } + } +Index: src/gui/auxiliary/window_builder/horizontal_listbox.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/horizontal_listbox.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/horizontal_listbox.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/auxiliary/window_builder/horizontal_listbox.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/listbox.hpp" +@@ -29,6 +28,8 @@ + #endif + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -53,12 +54,12 @@ + const config &data = cfg.child("list_data"); + if (!data) return; + +- foreach(const config &row, data.child_range("row")) { ++ BOOST_FOREACH(const config &row, data.child_range("row")) { + unsigned col = 0; + +- foreach(const config &c, row.child_range("column")) { ++ BOOST_FOREACH(const config &c, row.child_range("column")) { + list_data.push_back(string_map()); +- foreach (const config::attribute &i, c.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, c.attribute_range()) { + list_data.back()[i.first] = i.second; + } + ++col; +Index: src/gui/auxiliary/window_builder/listbox.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/listbox.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/listbox.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/auxiliary/window_builder/listbox.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/listbox.hpp" +@@ -30,6 +29,8 @@ + #include "gui/widgets/settings.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -66,12 +67,12 @@ + return; + } + +- foreach(const config& row, data.child_range("row")) { ++ BOOST_FOREACH(const config& row, data.child_range("row")) { + unsigned col = 0; + +- foreach(const config& c, row.child_range("column")) { ++ BOOST_FOREACH(const config& c, row.child_range("column")) { + list_data.push_back(string_map()); +- foreach(const config::attribute& i, c.attribute_range()) { ++ BOOST_FOREACH(const config::attribute& i, c.attribute_range()) { + list_data.back()[i.first] = i.second; + } + ++col; +Index: src/gui/auxiliary/window_builder/multi_page.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/multi_page.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/multi_page.cpp (revision 54625) +@@ -18,13 +18,14 @@ + #include "gui/auxiliary/window_builder/multi_page.hpp" + + #include "config.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/multi_page.hpp" + #include "gui/widgets/multi_page.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -46,12 +47,12 @@ + return; + } + +- foreach(const config &row, d.child_range("row")) { ++ BOOST_FOREACH(const config &row, d.child_range("row")) { + unsigned col = 0; + +- foreach(const config &column, row.child_range("column")) { ++ BOOST_FOREACH(const config &column, row.child_range("column")) { + data.push_back(string_map()); +- foreach(const config::attribute &i, column.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, column.attribute_range()) { + data.back()[i.first] = i.second; + } + ++col; +Index: src/gui/auxiliary/window_builder/tree_view.cpp +=================================================================== +--- src/gui/auxiliary/window_builder/tree_view.cpp (revision 54624) ++++ src/gui/auxiliary/window_builder/tree_view.cpp (revision 54625) +@@ -17,7 +17,6 @@ + + #include "gui/auxiliary/window_builder/tree_view.hpp" + +-#include "foreach.hpp" + #include "gettext.hpp" + #include "gui/auxiliary/log.hpp" + #include "gui/auxiliary/widget_definition/tree_view.hpp" +@@ -25,6 +24,8 @@ + #include "gui/widgets/tree_view.hpp" + #include "wml_exception.hpp" + ++#include ++ + namespace gui2 { + + namespace implementation { +@@ -39,7 +40,7 @@ + , nodes() + { + +- foreach(const config &node, cfg.child_range("node")) { ++ BOOST_FOREACH(const config &node, cfg.child_range("node")) { + nodes.push_back(tnode(node)); + } + +Index: src/unit_types.cpp +=================================================================== +--- src/unit_types.cpp (revision 54624) ++++ src/unit_types.cpp (revision 54625) +@@ -22,13 +22,13 @@ + + #include "unit_types.hpp" + +-#include "foreach.hpp" + #include "game_config.hpp" + #include "gettext.hpp" + #include "loadscreen.hpp" + #include "log.hpp" + #include "map.hpp" + ++#include + + static lg::log_domain log_config("config"); + #define ERR_CF LOG_STREAM(err, log_config) +@@ -156,7 +156,7 @@ + if (config &specials = cfg_.child("specials")) + { + config new_specials; +- foreach (const config::any_child &vp, specials.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &vp, specials.all_children_range()) { + std::vector::const_iterator found_id = + std::find(dsl.begin(), dsl.end(), vp.cfg["id"]); + if (found_id == dsl.end()) { +@@ -174,7 +174,7 @@ + cfg_.clear_children("specials"); + } + config &new_specials = cfg_.child_or_add("specials"); +- foreach (const config::any_child &value, set_specials.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &value, set_specials.all_children_range()) { + new_specials.add_child(value.key, value.cfg); + } + } +@@ -345,7 +345,7 @@ + + if (const config &resistance = cfg_.child("resistance")) + { +- foreach (const config::attribute &i, resistance.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, resistance.attribute_range()) { + res[i.first] = i.second; + } + } +@@ -666,11 +666,11 @@ + movementType_ = unit_movement_type(cfg); + alpha_ = ftofxp(1.0); + +- foreach (const config &t, traits) ++ BOOST_FOREACH(const config &t, traits) + { + possibleTraits_.add_child("trait", t); + } +- foreach (config &var_cfg, cfg.child_range("variation")) ++ BOOST_FOREACH(config &var_cfg, cfg.child_range("variation")) + { + if (var_cfg["inherit"].to_bool()) { + config nvar_cfg(cfg); +@@ -710,7 +710,7 @@ + if (cfg["ignore_race_traits"].to_bool()) { + possibleTraits_.clear(); + } else { +- foreach (const config &t, race_->additional_traits()) ++ BOOST_FOREACH(const config &t, race_->additional_traits()) + { + if (alignment_ != NEUTRAL || t["id"] != "fearless") + possibleTraits_.add_child("trait", t); +@@ -722,7 +722,7 @@ + } + + // Insert any traits that are just for this unit type +- foreach (const config &trait, cfg.child_range("trait")) ++ BOOST_FOREACH(const config &trait, cfg.child_range("trait")) + { + possibleTraits_.add_child("trait", trait); + } +@@ -750,7 +750,7 @@ + game_config::add_color_info(cfg); + + +- foreach (const config &portrait, cfg_.child_range("portrait")) { ++ BOOST_FOREACH(const config &portrait, cfg_.child_range("portrait")) { + portraits_.push_back(tportrait(portrait)); + } + +@@ -807,7 +807,7 @@ + + if (const config &abil_cfg = cfg.child("abilities")) + { +- foreach (const config::any_child &ab, abil_cfg.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, abil_cfg.all_children_range()) { + const config::attribute_value &name = ab.cfg["name"]; + if (!name.empty()) { + abilities_.push_back(name.t_str()); +@@ -816,15 +816,15 @@ + } + } + +- foreach (const config &adv, cfg.child_range("advancement")) ++ BOOST_FOREACH(const config &adv, cfg.child_range("advancement")) + { +- foreach (const config &effect, adv.child_range("effect")) ++ BOOST_FOREACH(const config &effect, adv.child_range("effect")) + { + const config &abil_cfg = effect.child("abilities"); + if (!abil_cfg || effect["apply_to"] != "new_ability") { + continue; + } +- foreach (const config::any_child &ab, abil_cfg.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, abil_cfg.all_children_range()) { + const config::attribute_value &name = ab.cfg["name"]; + if (!name.empty()) { + adv_abilities_.push_back(name.t_str()); +@@ -934,7 +934,7 @@ + std::vector unit_type::attacks() const + { + std::vector res; +- foreach (const config &att, cfg_.child_range("attack")) { ++ BOOST_FOREACH(const config &att, cfg_.child_range("attack")) { + res.push_back(attack_type(att)); + } + +@@ -990,7 +990,7 @@ + { + if (const config &abil = cfg_.child("abilities")) + { +- foreach (const config::any_child &ab, abil.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, abil.all_children_range()) { + if (ab.cfg["id"] == ability) + return true; + } +@@ -1005,7 +1005,7 @@ + const config &abilities = cfg_.child("abilities"); + if (!abilities) return res; + +- foreach (const config::any_child &ab, abilities.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, abilities.all_children_range()) { + const std::string &id = ab.cfg["id"]; + if (!id.empty()) + res.push_back(id); +@@ -1077,7 +1077,7 @@ + if (!ut) + return; + +- foreach(const std::string& adv, ut->advances_to()) { ++ BOOST_FOREACH(const std::string& adv, ut->advances_to()) { + if (tree.insert(adv).second) { + // insertion succeed, expand the new type + advancement_tree_internal(adv, tree); +@@ -1098,9 +1098,9 @@ + unit_types.build_all(unit_type::HELP_INDEX); + + std::vector adv_from; +- foreach (const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) ++ BOOST_FOREACH(const unit_type_data::unit_type_map::value_type &ut, unit_types.types()) + { +- foreach(const std::string& adv, ut.second.advances_to()) { ++ BOOST_FOREACH(const std::string& adv, ut.second.advances_to()) { + if (adv == id_) + adv_from.push_back(ut.second.id()); + } +@@ -1127,7 +1127,7 @@ + clear(); + set_unit_config(cfg); + +- foreach (const config &mt, cfg.child_range("movetype")) ++ BOOST_FOREACH(const config &mt, cfg.child_range("movetype")) + { + const unit_movement_type move_type(mt); + movement_types_.insert( +@@ -1135,14 +1135,14 @@ + loadscreen::increment_progress(); + } + +- foreach (const config &r, cfg.child_range("race")) ++ BOOST_FOREACH(const config &r, cfg.child_range("race")) + { + const unit_race race(r); + races_.insert(std::pair(race.id(),race)); + loadscreen::increment_progress(); + } + +- foreach (config &ut, cfg.child_range("unit_type")) ++ BOOST_FOREACH(config &ut, cfg.child_range("unit_type")) + { + std::string id = ut["id"]; + if (const config &bu = ut.child("base_unit")) +@@ -1195,7 +1195,7 @@ + + void unit_type_data::check_types(const std::vector& types) const + { +- foreach(const std::string& type, types) { ++ BOOST_FOREACH(const std::string& type, types) { + if(!find(type)) throw game::game_error("unknown unit type: " + type); + } + } +@@ -1279,7 +1279,7 @@ + + std::vector trees = utils::split(cfg["type_adv_tree"]); + hide_help_type_.back().insert(trees.begin(), trees.end()); +- foreach(const std::string& t_id, trees) { ++ BOOST_FOREACH(const std::string& t_id, trees) { + unit_type_map::iterator ut = types_.find(t_id); + if (ut != types_.end()) { + std::set adv_tree = ut->second.advancement_tree(); +@@ -1310,7 +1310,7 @@ + { + const config& cfg = to_unit.get_cfg(); + +- foreach (const config &af, cfg.child_range("advancefrom")) ++ BOOST_FOREACH(const config &af, cfg.child_range("advancefrom")) + { + const std::string &from = af["unit"]; + int xp = af["experience"]; +@@ -1349,12 +1349,12 @@ + // status gets changed. In the unlikely event it gets changed + // multiple times, we want to try to do it in the same order + // that unit::apply_modifications does things. +- foreach (const config &mod, possible_traits()) ++ BOOST_FOREACH(const config &mod, possible_traits()) + { + if (mod["availability"] != "musthave") + continue; + +- foreach (const config &effect, mod.child_range("effect")) ++ BOOST_FOREACH(const config &effect, mod.child_range("effect")) + { + // See if the effect only applies to + // certain unit types But don't worry +Index: src/game_controller.cpp +=================================================================== +--- src/game_controller.cpp (revision 54624) ++++ src/game_controller.cpp (revision 54625) +@@ -50,6 +50,8 @@ + #include "statistics.hpp" + #include "wml_exception.hpp" + ++#include ++ + static lg::log_domain log_config("config"); + #define ERR_CONFIG LOG_STREAM(err, log_config) + #define WRN_CONFIG LOG_STREAM(warn, log_config) +@@ -478,7 +480,7 @@ + } + + int side_num = 1; +- foreach (config &s, level.child_range("side")) ++ BOOST_FOREACH(config &s, level.child_range("side")) + { + std::map::const_iterator type = side_types.find(side_num), + controller = side_controllers.find(side_num), +@@ -507,7 +509,7 @@ + faction_excepts.clear(); + } + unsigned j = 0; +- foreach (const config &faction, era_cfg.child_range("multiplayer_side")) ++ BOOST_FOREACH(const config &faction, era_cfg.child_range("multiplayer_side")) + { + if (faction["random_faction"].to_bool()) continue; + const std::string &faction_id = faction["id"]; +@@ -673,7 +675,7 @@ + } + + if(state_.classification().campaign_type == "multiplayer") { +- foreach (config &side, state_.snapshot.child_range("side")) ++ BOOST_FOREACH(config &side, state_.snapshot.child_range("side")) + { + if (side["controller"] == "network") + side["controller"] = "human"; +@@ -683,10 +685,10 @@ + } + + if (load.cancel_orders()) { +- foreach (config &side, state_.snapshot.child_range("side")) ++ BOOST_FOREACH(config &side, state_.snapshot.child_range("side")) + { + if (side["controller"] != "human") continue; +- foreach (config &unit, side.child_range("unit")) ++ BOOST_FOREACH(config &unit, side.child_range("unit")) + { + unit["goto_x"] = -999; + unit["goto_y"] = -999; +@@ -710,7 +712,7 @@ + + void game_controller::mark_completed_campaigns(std::vector &campaigns) + { +- foreach (config &campaign, campaigns) { ++ BOOST_FOREACH(config &campaign, campaigns) { + campaign["completed"] = preferences::is_campaign_completed(campaign["id"]); + } + } +@@ -1218,7 +1220,7 @@ + game_config_.splice_children(core_terrain_rules, "terrain_graphics"); + + config& hashes = game_config_.add_child("multiplayer_hashes"); +- foreach (const config &ch, game_config_.child_range("multiplayer")) { ++ BOOST_FOREACH(const config &ch, game_config_.child_range("multiplayer")) { + hashes[ch["id"]] = ch.hash(); + } + +Index: src/unit.cpp +=================================================================== +--- src/unit.cpp (revision 54624) ++++ src/unit.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "unit.hpp" + + #include "callable_objects.hpp" +-#include "foreach.hpp" + #include "formula.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" +@@ -38,6 +37,7 @@ + #include "side_filter.hpp" + #include "play_controller.hpp" + ++#include + static lg::log_domain log_unit("unit"); + #define DBG_UT LOG_STREAM(debug, log_unit) + #define LOG_UT LOG_STREAM(info, log_unit) +@@ -288,7 +288,7 @@ + filter_recall_ = filter_recall.get_config(); + + const vconfig::child_list& events = vcfg->get_children("event"); +- foreach(const vconfig& e, events) { ++ BOOST_FOREACH(const vconfig& e, events) { + events_.add_child("event", e.get_config()); + } + } +@@ -296,7 +296,7 @@ + { + filter_recall_ = cfg.child_or_empty("filter_recall"); + +- foreach(const config& unit_event, cfg.child_range("event")) { ++ BOOST_FOREACH(const config& unit_event, cfg.child_range("event")) { + events_.add_child("event", unit_event); + } + } +@@ -375,7 +375,7 @@ + formula_vars_ = new game_logic::map_formula_callable; + + variant var; +- foreach (const config::attribute &i, ai_vars.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, ai_vars.attribute_range()) { + var.serialize_from_string(i.second); + formula_vars_->add(i.first, var); + } +@@ -432,7 +432,7 @@ + + if (const config &status_flags = cfg.child("status")) + { +- foreach (const config::attribute &st, status_flags.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &st, status_flags.attribute_range()) { + if (st.first == "healable") { + ///@deprecated 1.9.2 'healable' instead of 'unhealable' + ERR_UT << "Usage of 'healable' is deprecated, use 'unhealable' instead, " +@@ -449,7 +449,7 @@ + } + + // Remove animations from private cfg, they're not needed there now +- foreach(const std::string& tag_name, unit_animation::all_tag_names()) { ++ BOOST_FOREACH(const std::string& tag_name, unit_animation::all_tag_names()) { + cfg_.clear_children(tag_name); + } + +@@ -518,7 +518,7 @@ + "canrecruit", "extra_recruit", "x", "y", "placement", + // Useless attributes created when saving units to WML: + "flag_rgb", "language_name" }; +- foreach (const char *attr, internalized_attrs) { ++ BOOST_FOREACH(const char *attr, internalized_attrs) { + input_cfg.remove_attribute(attr); + cfg_.remove_attribute(attr); + } +@@ -526,11 +526,11 @@ + static char const *raw_attrs[] = { "description", "halo", + "profile", "small_profile", "upkeep", "usage", "ellipse", + "image", "image_icon", "random_traits", "generate_name" }; +- foreach (const char *attr, raw_attrs) { ++ BOOST_FOREACH(const char *attr, raw_attrs) { + input_cfg.remove_attribute(attr); + } + +- foreach (const config::attribute &attr, input_cfg.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &attr, input_cfg.attribute_range()) { + if (attr.first == "do_not_list") continue; + WRN_UT << "Unknown attribute '" << attr.first << "' discarded.\n"; + } +@@ -715,12 +715,12 @@ + config::const_child_itors current_traits = modifications_.child_range("trait"); + std::vector candidate_traits; + +- foreach (const config &t, type->possible_traits()) ++ BOOST_FOREACH(const config &t, type->possible_traits()) + { + // Skip the trait if the unit already has it. + const std::string &tid = t["id"]; + bool already = false; +- foreach (const config &mod, current_traits) ++ BOOST_FOREACH(const config &mod, current_traits) + { + if (mod["id"] == tid) { + already = true; +@@ -767,7 +767,7 @@ + { + std::vector res; + +- foreach (const config &mod, modifications_.child_range("trait")) ++ BOOST_FOREACH(const config &mod, modifications_.child_range("trait")) + { + std::string const &id = mod["id"]; + if (!id.empty()) +@@ -797,7 +797,7 @@ + config new_cfg; + static char const *persistent_attrs[] = { "upkeep", "ellipse", + "image", "image_icon", "usage", "random_traits", "generate_name" }; +- foreach (const char *attr, persistent_attrs) { ++ BOOST_FOREACH(const char *attr, persistent_attrs) { + if (const config::attribute_value *v = old_cfg.get(attr)) { + new_cfg[attr] = *v; + } +@@ -813,7 +813,7 @@ + static char const *unit_type_attrs[] = { "movement", "movement_type", + "die_sound", "flies", "inherit", "variation_name", + "ignore_race_traits", "hide_help" }; +- foreach (const char *attr, unit_type_attrs) { ++ BOOST_FOREACH(const char *attr, unit_type_attrs) { + new_cfg.remove_attribute(attr); + } + +@@ -1020,7 +1020,7 @@ + const std::vector unit::advances_to_translated() const + { + std::vector result; +- foreach (std::string type_id, advances_to_) ++ BOOST_FOREACH(std::string type_id, advances_to_) + { + const unit_type *type = unit_types.find(type_id); + if (type) +@@ -1120,7 +1120,7 @@ + const std::map unit::get_states() const + { + std::map all_states; +- foreach (std::string const &s, states_) { ++ BOOST_FOREACH(std::string const &s, states_) { + all_states[s] = "yes"; + } + for (std::map::const_iterator i = known_boolean_state_names_.begin(), +@@ -1195,7 +1195,7 @@ + { + if (const config &abil = cfg_.child("abilities")) + { +- foreach (const config::any_child &ab, abil.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, abil.all_children_range()) { + if (ab.cfg["id"] == ability) + return true; + } +@@ -2197,7 +2197,7 @@ + if (const config &resistance = cfg_.child("resistance")) + { + utils::string_map res; +- foreach (const config::attribute &i, resistance.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, resistance.attribute_range()) { + res[i.first] = i.second; + } + return res; +@@ -2222,7 +2222,7 @@ + { + std::ostringstream tooltip; + const std::string &image = game_config::images::level; +- foreach (const std::string &s, advances_to()) ++ BOOST_FOREACH(const std::string &s, advances_to()) + { + if (!s.empty()) + tooltip << s << '\n'; +@@ -2230,7 +2230,7 @@ + temp[image] = tooltip.str(); + } + +- foreach (const config &adv, get_modification_advances()) ++ BOOST_FOREACH(const config &adv, get_modification_advances()) + { + const std::string &image = adv["image"]; + if (image.empty()) continue; +@@ -2248,7 +2248,7 @@ + std::vector > temp; + std::pair icon; // + +- foreach (const config &adv, get_modification_advances()) ++ BOOST_FOREACH(const config &adv, get_modification_advances()) + { + icon.first = adv["icon"].str(); + icon.second = adv["description"].str(); +@@ -2265,7 +2265,7 @@ + std::vector unit::get_modification_advances() const + { + std::vector res; +- foreach (const config &adv, modification_advancements()) ++ BOOST_FOREACH(const config &adv, modification_advancements()) + { + if (adv["strict_amla"].to_bool() && !advances_to_.empty()) + continue; +@@ -2283,7 +2283,7 @@ + std::unique_copy(temp.begin(), temp.end(), std::back_inserter(uniq)); + + bool requirements_done = true; +- foreach (const std::string &s, uniq) ++ BOOST_FOREACH(const std::string &s, uniq) + { + int required_num = std::count(temp.begin(), temp.end(), s); + int mod_num = modification_count("advance", s); +@@ -2302,7 +2302,7 @@ + size_t unit::modification_count(const std::string& type, const std::string& id) const + { + size_t res = 0; +- foreach (const config &item, modifications_.child_range(type)) { ++ BOOST_FOREACH(const config &item, modifications_.child_range(type)) { + if (item["id"] == id) { + ++res; + } +@@ -2314,7 +2314,7 @@ + /** Helper function for add_modifications */ + static void mod_mdr_merge(config& dst, const config& mod, bool delta) + { +- foreach (const config::attribute &i, mod.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, mod.attribute_range()) { + int v = 0; + if (delta) v = dst[i.first]; + dst[i.first] = v + i.second.to_int(); +@@ -2336,7 +2336,7 @@ + } + config last_effect; + std::vector effects_description; +- foreach (const config &effect, mod.child_range("effect")) ++ BOOST_FOREACH(const config &effect, mod.child_range("effect")) + { + // See if the effect only applies to certain unit types + const std::string &type_filter = effect["unit_type"]; +@@ -2524,7 +2524,7 @@ + config &def = cfg_.child_or_add("defense"); + if (const config &ap = effect.child("defense")) { + bool replace = effect["replace"].to_bool(); +- foreach (const config::attribute &i, ap.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, ap.attribute_range()) { + int v = i.second.to_int(); + config::attribute_value &dst = def[i.first]; + if (!replace) { +@@ -2551,7 +2551,7 @@ + config &ab = cfg_.child_or_add("abilities"); + if (const config &ab_effect = effect.child("abilities")) { + config to_append; +- foreach (const config::any_child &ab, ab_effect.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, ab_effect.all_children_range()) { + if(!has_ability_by_id(ab.cfg["id"])) { + to_append.add_child(ab.key, ab.cfg); + } +@@ -2560,7 +2560,7 @@ + } + } else if (apply_to == "remove_ability") { + if (const config &ab_effect = effect.child("abilities")) { +- foreach (const config::any_child &ab, ab_effect.all_children_range()) { ++ BOOST_FOREACH(const config::any_child &ab, ab_effect.all_children_range()) { + remove_ability_by_id(ab.cfg["id"]); + } + } +@@ -2749,7 +2749,7 @@ + + for(size_t i = 0; i != NumModificationTypes; ++i) { + const std::string& mod = ModificationTypes[i]; +- foreach (const config &m, modifications_.child_range(mod)) { ++ BOOST_FOREACH(const config &m, modifications_.child_range(mod)) { + log_scope("add mod"); + add_modification(ModificationTypes[i], m, true); + } +@@ -2779,7 +2779,7 @@ + bool is_inv = !get_state(STATE_UNCOVERED) && get_ability_bool(hides,loc); + if(is_inv){ + const std::vector& teams = *resources::teams; +- foreach (const unit &u, *resources::units) ++ BOOST_FOREACH(const unit &u, *resources::units) + { + const map_location &u_loc = u.get_location(); + if (teams[side_-1].is_enemy(u.side()) && tiles_adjacent(loc, u_loc)) { +@@ -2881,7 +2881,7 @@ + int side_units(int side) + { + int res = 0; +- foreach (const unit &u, *resources::units) { ++ BOOST_FOREACH(const unit &u, *resources::units) { + if (u.side() == side) ++res; + } + return res; +@@ -2890,7 +2890,7 @@ + int side_units_cost(int side) + { + int res = 0; +- foreach (const unit &u, *resources::units) { ++ BOOST_FOREACH(const unit &u, *resources::units) { + if (u.side() == side) res += u.cost(); + } + return res; +@@ -2899,7 +2899,7 @@ + int side_upkeep(int side) + { + int res = 0; +- foreach (const unit &u, *resources::units) { ++ BOOST_FOREACH(const unit &u, *resources::units) { + if (u.side() == side) res += u.upkeep(); + } + return res; +@@ -3029,7 +3029,7 @@ + const tportrait* unit::portrait( + const unsigned size, const tportrait::tside side) const + { +- foreach(const tportrait& portrait, (type()->portraits())) { ++ BOOST_FOREACH(const tportrait& portrait, (type()->portraits())) { + if(portrait.size == size + && (side == portrait.side || portrait.side == tportrait::BOTH)) { + +@@ -3107,20 +3107,20 @@ + "number", + ""}; + +- foreach (const config &att, unit_config.child_range("attack")) ++ BOOST_FOREACH(const config &att, unit_config.child_range("attack")) + { + config& child = wcfg.add_child("attack"); + for (int i = 0; !attack_keys[i].empty(); ++i) { + child[attack_keys[i]] = att[attack_keys[i]]; + } +- foreach (const config &spec, att.child_range("specials")) { ++ BOOST_FOREACH(const config &spec, att.child_range("specials")) { + config& child_spec = child.add_child("specials", spec); + child_spec.recursive_clear_value("description"); + } + + } + +- foreach (const config &abi, unit_config.child_range("abilities")) ++ BOOST_FOREACH(const config &abi, unit_config.child_range("abilities")) + { + config& child = wcfg.add_child("abilities", abi); + child.recursive_clear_value("description"); +@@ -3129,7 +3129,7 @@ + child.recursive_clear_value("name_inactive"); + } + +- foreach (const config &trait, unit_config.child_range("trait")) ++ BOOST_FOREACH(const config &trait, unit_config.child_range("trait")) + { + config& child = wcfg.add_child("trait", trait); + child.recursive_clear_value("description"); +@@ -3142,7 +3142,7 @@ + + for (int i = 0; !child_keys[i].empty(); ++i) + { +- foreach (const config &c, unit_config.child_range(child_keys[i])) { ++ BOOST_FOREACH(const config &c, unit_config.child_range(child_keys[i])) { + wcfg.add_child(child_keys[i], c); + } + } +Index: src/campaign_server/campaign_server.cpp +=================================================================== +--- src/campaign_server/campaign_server.cpp (revision 54624) ++++ src/campaign_server/campaign_server.cpp (revision 54625) +@@ -21,7 +21,6 @@ + */ + + #include "filesystem.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "network_worker.hpp" + #include "serialization/binary_or_text.hpp" +@@ -35,6 +34,7 @@ + + #include + ++#include + #include + + // the fork execute is unix specific only tested on Linux quite sure it won't +@@ -202,7 +202,7 @@ + + void find_translations(const config& cfg, config& campaign) + { +- foreach (const config &dir, cfg.child_range("dir")) ++ BOOST_FOREACH(const config &dir, cfg.child_range("dir")) + { + if (dir["name"] == "LC_MESSAGES") { + config &language = campaign.add_child("translation"); +@@ -249,7 +249,7 @@ + LOG_CS << "Encoding all stored addons. Number of addons: " + << std::distance(camps.first, camps.second) << '\n'; + +- foreach (const config &cm, camps) ++ BOOST_FOREACH(const config &cm, camps) + { + LOG_CS << "Encoding " << cm["name"] << '\n'; + std::string filename = cm["filename"], newfilename = filename + ".new"; +@@ -345,7 +345,7 @@ + } catch(bad_lexical_cast) {} + + std::string name = req["name"], lang = req["language"]; +- foreach (const config &i, campaigns().child_range("campaign")) ++ BOOST_FOREACH(const config &i, campaigns().child_range("campaign")) + { + if (!name.empty() && name != i["name"]) continue; + std::string tm = i["timestamp"]; +@@ -353,7 +353,7 @@ + if (after_flag && (tm.empty() || lexical_cast_default(tm, 0) <= after)) continue; + if (!lang.empty()) { + bool found = false; +- foreach (const config &j, i.child_range("translation")) { ++ BOOST_FOREACH(const config &j, i.child_range("translation")) { + if (j["language"] == lang) { + found = true; + break; +@@ -364,7 +364,7 @@ + campaign_list.add_child("campaign", i); + } + +- foreach (config &j, campaign_list.child_range("campaign")) { ++ BOOST_FOREACH(config &j, campaign_list.child_range("campaign")) { + j["passphrase"] = t_string(); + j["upload_ip"] = t_string(); + j["email"] = t_string(); +@@ -402,7 +402,7 @@ + std::string lc_name(name.size(), ' '); + std::transform(name.begin(), name.end(), lc_name.begin(), tolower); + config *campaign = NULL; +- foreach (config &c, campaigns().child_range("campaign")) { ++ BOOST_FOREACH(config &c, campaigns().child_range("campaign")) { + if (utils::lowercase(c["name"]) == lc_name) { + campaign = &c; + break; +Index: src/image_modifications.cpp +=================================================================== +--- src/image_modifications.cpp (revision 54624) ++++ src/image_modifications.cpp (revision 54625) +@@ -15,13 +15,14 @@ + + #include "color_range.hpp" + #include "config.hpp" +-#include "foreach.hpp" + #include "game_config.hpp" + #include "image.hpp" + #include "image_modifications.hpp" + #include "log.hpp" + #include "serialization/string_utils.hpp" + ++#include ++ + #include + + #define GETTEXT_DOMAIN "wesnoth-lib" +@@ -99,7 +100,7 @@ + { + modification_queue mods; + +- foreach(const std::string& encoded_mod, ++ BOOST_FOREACH(const std::string& encoded_mod, + utils::parenthetical_split(encoded_mods, '~')) { + modification* mod = decode_modification(encoded_mod); + +Index: src/statistics.cpp +=================================================================== +--- src/statistics.cpp (revision 54624) ++++ src/statistics.cpp (revision 54625) +@@ -20,12 +20,13 @@ + + #include "global.hpp" + #include "statistics.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "serialization/binary_or_text.hpp" + #include "unit.hpp" + #include "util.hpp" + ++#include ++ + static lg::log_domain log_engine("engine"); + #define DBG_NG LOG_STREAM(debug, log_engine) + +@@ -57,7 +58,7 @@ + team_stats(), + scenario_name(cfg["scenario"]) + { +- foreach (const config &team, cfg.child_range("team")) { ++ BOOST_FOREACH(const config &team, cfg.child_range("team")) { + team_stats[team["save_id"]] = stats(team); + } + } +@@ -121,7 +122,7 @@ + static stats::str_int_map read_str_int_map(const config& cfg) + { + stats::str_int_map m; +- foreach (const config::attribute &i, cfg.attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, cfg.attribute_range()) { + m[i.first] = i.second; + } + +@@ -159,7 +160,7 @@ + static stats::battle_result_map read_battle_result_map(const config& cfg) + { + stats::battle_result_map m; +- foreach (const config &i, cfg.child_range("sequence")) ++ BOOST_FOREACH(const config &i, cfg.child_range("sequence")) + { + config item = i; + int key = item["_num"]; +@@ -612,7 +613,7 @@ + fresh_stats(); + mid_scenario = cfg["mid_scenario"].to_bool(); + +- foreach (const config &s, cfg.child_range("scenario")) { ++ BOOST_FOREACH(const config &s, cfg.child_range("scenario")) { + master_stats.push_back(scenario_stats(s)); + } + } +Index: src/tooltips.cpp +=================================================================== +--- src/tooltips.cpp (revision 54624) ++++ src/tooltips.cpp (revision 54625) +@@ -17,13 +17,14 @@ + #include "tooltips.hpp" + + #include "font.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "help.hpp" + #include "marked-up_text.hpp" + #include "resources.hpp" + #include "video.hpp" + ++#include ++ + namespace { + + CVideo* video_ = NULL; +@@ -172,7 +173,7 @@ + + bool click(int mousex, int mousey) + { +- foreach(tooltip tip, tips) { ++ BOOST_FOREACH(tooltip tip, tips) { + if(!tip.action.empty() && point_in_rect(mousex, mousey, tip.rect)) { + display* disp = resources::screen; + help::show_help(*disp, tip.action); +Index: src/server/ban.cpp +=================================================================== +--- src/server/ban.cpp (revision 54624) ++++ src/server/ban.cpp (revision 54625) +@@ -14,7 +14,6 @@ + */ + + #include "config.hpp" +-#include "foreach.hpp" + #include "log.hpp" + #include "filesystem.hpp" + #include "serialization/parser.hpp" +@@ -24,7 +23,7 @@ + + #include "ban.hpp" + +- ++#include + #include + + namespace wesnothd { +@@ -260,7 +259,7 @@ + scoped_istream ban_file = istream_file(filename_); + read_gz(cfg, *ban_file); + +- foreach (const config &b, cfg.child_range("ban")) ++ BOOST_FOREACH(const config &b, cfg.child_range("ban")) + { + try { + banned_ptr new_ban(new banned(b)); +@@ -276,7 +275,7 @@ + // load deleted too + if (const config &cfg_del = cfg.child("deleted")) + { +- foreach (const config &b, cfg_del.child_range("ban")) ++ BOOST_FOREACH(const config &b, cfg_del.child_range("ban")) + { + try { + banned_ptr new_ban(new banned(b)); +@@ -680,7 +679,7 @@ + void ban_manager::load_config(const config& cfg) + { + ban_times_.clear(); +- foreach (const config &bt, cfg.child_range("ban_time")) { ++ BOOST_FOREACH(const config &bt, cfg.child_range("ban_time")) { + time_t duration = 0; + if (parse_time(bt["time"], &duration)) { + ban_times_.insert(default_ban_times::value_type(bt["name"], duration)); +Index: src/server/server.cpp +=================================================================== +--- src/server/server.cpp (revision 54624) ++++ src/server/server.cpp (revision 54625) +@@ -23,7 +23,6 @@ + #include "../global.hpp" + + #include "../config.hpp" +-#include "../foreach.hpp" + #include "../game_config.hpp" + #include "../log.hpp" + #include "../map.hpp" // gamemap::MAX_PLAYERS +@@ -54,6 +53,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -556,15 +556,15 @@ + } + + redirected_versions_.clear(); +- foreach (const config &redirect, cfg_.child_range("redirect")) { +- foreach (const std::string &version, utils::split(redirect["version"])) { ++ BOOST_FOREACH(const config &redirect, cfg_.child_range("redirect")) { ++ BOOST_FOREACH(const std::string &version, utils::split(redirect["version"])) { + redirected_versions_[version] = redirect; + } + } + + proxy_versions_.clear(); +- foreach (const config &proxy, cfg_.child_range("proxy")) { +- foreach (const std::string &version, utils::split(proxy["version"])) { ++ BOOST_FOREACH(const config &proxy, cfg_.child_range("proxy")) { ++ BOOST_FOREACH(const std::string &version, utils::split(proxy["version"])) { + proxy_versions_[version] = proxy; + } + } +@@ -704,7 +704,7 @@ + simple_wml::document ping( strstr.str().c_str(), + simple_wml::INIT_COMPRESSED ); + simple_wml::string_span s = ping.output_compressed(); +- foreach (network::connection sock, ghost_players_) { ++ BOOST_FOREACH(network::connection sock, ghost_players_) { + if (!lg::debug.dont_log(log_server)) { + wesnothd::player_map::const_iterator i = players_.find(sock); + if (i != players_.end()) { +@@ -720,7 +720,7 @@ + // Only a single thread should be accessing this + // Erase before we copy - speeds inserts + ghost_players_.clear(); +- foreach (const wesnothd::player_map::value_type v, players_) { ++ BOOST_FOREACH(const wesnothd::player_map::value_type v, players_) { + ghost_players_.insert(v.first); + } + last_ping_ = now; +Index: src/server/room_manager.cpp +=================================================================== +--- src/server/room_manager.cpp (revision 54624) ++++ src/server/room_manager.cpp (revision 54625) +@@ -21,9 +21,10 @@ + #include "../serialization/string_utils.hpp" + #include "../util.hpp" + #include "../filesystem.hpp" +-#include "../foreach.hpp" + #include "../log.hpp" + ++#include ++ + static lg::log_domain log_server_lobby("server/lobby"); + #define ERR_LOBBY LOG_STREAM(err, log_server_lobby) + #define WRN_LOBBY LOG_STREAM(warn, log_server_lobby) +@@ -58,7 +59,7 @@ + // this assumes the server is shutting down, so there's no need to + // send the actual room-quit messages to clients + write_rooms(); +- foreach (t_rooms_by_name_::value_type i, rooms_by_name_) { ++ BOOST_FOREACH(t_rooms_by_name_::value_type i, rooms_by_name_) { + delete i.second; + } + } +@@ -97,7 +98,7 @@ + read(cfg, *file); + } + +- foreach (const config &c, cfg.child_range("room")) { ++ BOOST_FOREACH(const config &c, cfg.child_range("room")) { + room* r(new room(c)); + if (room_exists(r->name())) { + ERR_LOBBY << "Duplicate room ignored in stored rooms: " +@@ -122,7 +123,7 @@ + if (filename_.empty()) return; + LOG_LOBBY << "Writing rooms to " << filename_ << "\n"; + config cfg; +- foreach (const t_rooms_by_name_::value_type& v, rooms_by_name_) { ++ BOOST_FOREACH(const t_rooms_by_name_::value_type& v, rooms_by_name_) { + const room& r = *v.second; + if (r.persistent()) { + config& c = cfg.add_child("room"); +@@ -211,7 +212,7 @@ + + void room_manager::enter_lobby(const wesnothd::game &game) + { +- foreach (network::connection player, game.all_game_users()) { ++ BOOST_FOREACH(network::connection player, game.all_game_users()) { + enter_lobby(player); + } + } +@@ -225,7 +226,7 @@ + store_player_rooms(player); + t_rooms_by_player_::iterator i = rooms_by_player_.find(player); + if (i != rooms_by_player_.end()) { +- foreach (room* r, i->second) { ++ BOOST_FOREACH(room* r, i->second) { + r->remove_player(player); + } + } +@@ -244,7 +245,7 @@ + lobby_->remove_player(player); + t_rooms_by_player_::iterator i = rooms_by_player_.find(player); + if (i != rooms_by_player_.end()) { +- foreach (room* r, i->second) { ++ BOOST_FOREACH(room* r, i->second) { + r->remove_player(player); + } + } +@@ -315,7 +316,7 @@ + t_player_stored_rooms_::iterator it = + player_stored_rooms_.insert(std::make_pair(player, std::set())).first; + std::set& store = it->second; +- foreach (room* r, i->second) { ++ BOOST_FOREACH(room* r, i->second) { + store.insert(r->name()); + } + } +@@ -337,7 +338,7 @@ + simple_wml::document doc; + simple_wml::node& join_msg = doc.root().add_child("room_join"); + join_msg.set_attr_dup("player", user->second.name().c_str()); +- foreach (const std::string& room_name, it->second) { ++ BOOST_FOREACH(const std::string& room_name, it->second) { + room* r = get_create_room(room_name, user->first); + if (r == NULL) { + LOG_LOBBY << "Player " << user->second.name() << " unable to rejoin room " << room_name << "\n"; +@@ -528,7 +529,7 @@ + void room_manager::fill_room_list(simple_wml::node& root) + { + simple_wml::node& rooms = root.add_child("rooms"); +- foreach (const t_rooms_by_name_::value_type& tr, rooms_by_name_) { ++ BOOST_FOREACH(const t_rooms_by_name_::value_type& tr, rooms_by_name_) { + const room& r = *tr.second; + simple_wml::node& room = rooms.add_child("room"); + room.set_attr_dup("name", r.name().c_str()); +@@ -539,7 +540,7 @@ + void room_manager::fill_member_list(const room* room, simple_wml::node& root) + { + simple_wml::node& members = root.add_child("members"); +- foreach (network::connection m, room->members()) { ++ BOOST_FOREACH(network::connection m, room->members()) { + simple_wml::node& member = members.add_child("member"); + player_map::const_iterator mi = all_players_.find(m); + if (mi != all_players_.end()) { +Index: src/variable.cpp +=================================================================== +--- src/variable.cpp (revision 54624) ++++ src/variable.cpp (revision 54625) +@@ -24,7 +24,6 @@ + + #include "variable.hpp" + +-#include "foreach.hpp" + #include "formula_string_utils.hpp" + #include "gamestatus.hpp" + #include "log.hpp" +@@ -34,6 +33,7 @@ + #include "team.hpp" + + #include ++#include + + static lg::log_domain log_engine("engine"); + #define LOG_NG LOG_STREAM(info, log_engine) +@@ -233,11 +233,11 @@ + { + config res; + +- foreach (const config::attribute &i, cfg_->attribute_range()) { ++ BOOST_FOREACH(const config::attribute &i, cfg_->attribute_range()) { + res[i.first] = expand(i.first); + } + +- foreach (const config::any_child &child, cfg_->all_children_range()) ++ BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) + { + if (child.key == "insert_tag") { + vconfig insert_cfg(child.cfg); +@@ -283,7 +283,7 @@ + { + vconfig::child_list res; + +- foreach (const config::any_child &child, cfg_->all_children_range()) ++ BOOST_FOREACH(const config::any_child &child, cfg_->all_children_range()) + { + if (child.key == key) { + res.push_back(vconfig(&child.cfg, cache_key_)); +@@ -319,7 +319,7 @@ + if (const config &natural = cfg_->child(key)) { + return vconfig(&natural, cache_key_); + } +- foreach (const config &ins, cfg_->child_range("insert_tag")) ++ BOOST_FOREACH(const config &ins, cfg_->child_range("insert_tag")) + { + vconfig insert_cfg(ins); + if(insert_cfg["name"] == key) { +@@ -339,7 +339,7 @@ + if (cfg_->child(key)) { + return true; + } +- foreach (const config &ins, cfg_->child_range("insert_tag")) ++ BOOST_FOREACH(const config &ins, cfg_->child_range("insert_tag")) + { + vconfig insert_cfg(ins); + if(insert_cfg["name"] == key) { +@@ -475,7 +475,7 @@ + + config &scoped_wml_variable::store(const config &var_value) + { +- foreach (const config &i, repos->get_variables().child_range(var_name_)) { ++ BOOST_FOREACH(const config &i, repos->get_variables().child_range(var_name_)) { + previous_val_.add_child(var_name_, i); + } + repos->clear_variable_cfg(var_name_); +@@ -489,7 +489,7 @@ + { + if(activated_) { + repos->clear_variable_cfg(var_name_); +- foreach (const config &i, previous_val_.child_range(var_name_)) { ++ BOOST_FOREACH(const config &i, previous_val_.child_range(var_name_)) { + repos->add_variable_cfg(var_name_, i); + } + LOG_NG << "scoped_wml_variable: var_name \"" << var_name_ << "\" has been reverted.\n"; +Index: src/preferences_display.cpp +=================================================================== +--- src/preferences_display.cpp (revision 54624) ++++ src/preferences_display.cpp (revision 54625) +@@ -25,7 +25,6 @@ + + #include "construct_dialog.hpp" + #include "display.hpp" +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" + #include "gui/dialogs/simple_item_selector.hpp" +@@ -35,6 +34,8 @@ + #include "marked-up_text.hpp" + #include "wml_separators.hpp" + ++#include ++ + namespace preferences { + + display* disp = NULL; +@@ -82,7 +83,7 @@ + bpp = video.modePossible(resolution.first, resolution.second, + DefaultBPP, video_flags, true); + +- foreach (const res_t &res, res_list) ++ BOOST_FOREACH(const res_t &res, res_list) + { + if (bpp != 0) break; + std::cerr << "Video mode " << resolution.first << 'x' +Index: src/hotkeys.cpp +=================================================================== +--- src/hotkeys.cpp (revision 54624) ++++ src/hotkeys.cpp (revision 54625) +@@ -19,7 +19,6 @@ + + #include "construct_dialog.hpp" + #include "display.hpp" +-#include "foreach.hpp" + #include "hotkeys.hpp" + #include "game_end_exceptions.hpp" + #include "game_preferences.hpp" +@@ -33,6 +32,8 @@ + #include "wesconfig.h" + #include "wml_separators.hpp" + ++#include ++ + static lg::log_domain log_config("config"); + #define ERR_G LOG_STREAM(err, lg::general) + #define LOG_G LOG_STREAM(info, lg::general) +@@ -609,7 +610,7 @@ + + void load_hotkeys(const config& cfg) + { +- foreach (const config &hk, cfg.child_range(hotkey_tag_name)) ++ BOOST_FOREACH(const config &hk, cfg.child_range(hotkey_tag_name)) + { + hotkey_item& h = get_hotkey(hk["command"]); + if(h.get_id() != HOTKEY_NULL) { +Index: src/unit_display.cpp +=================================================================== +--- src/unit_display.cpp (revision 54624) ++++ src/unit_display.cpp (revision 54625) +@@ -18,7 +18,6 @@ + #include "global.hpp" + #include "unit_display.hpp" + +-#include "foreach.hpp" + #include "game_preferences.hpp" + #include "game_events.hpp" + #include "log.hpp" +@@ -26,6 +25,7 @@ + #include "resources.hpp" + #include "terrain_filter.hpp" + ++#include + + #define LOG_DP LOG_STREAM(info, display) + +@@ -472,7 +472,7 @@ + disp->display_unit_hex(healed_loc); + unit_animator animator; + +- foreach (unit *h, healers) { ++ BOOST_FOREACH(unit *h, healers) { + h->set_facing(h->get_location().get_relative_dir(healed_loc)); + animator.add_animation(h, "healing", h->get_location(), + healed_loc, healing); +Index: src/editor/map_fragment.cpp +=================================================================== +--- src/editor/map_fragment.cpp (revision 54624) ++++ src/editor/map_fragment.cpp (revision 54625) +@@ -16,9 +16,10 @@ + + #include "map_fragment.hpp" + +-#include "../foreach.hpp" + #include "util.hpp" + ++#include ++ + namespace editor { + + map_fragment::map_fragment() +@@ -44,7 +45,7 @@ + + void map_fragment::add_tiles(const gamemap& map, const std::set& locs) + { +- foreach (const map_location& loc, locs) { ++ BOOST_FOREACH(const map_location& loc, locs) { + add_tile(map, loc); + } + } +@@ -57,7 +58,7 @@ + std::set map_fragment::get_offset_area(const map_location& loc) const + { + std::set result; +- foreach (const tile_info& i, items_) { ++ BOOST_FOREACH(const tile_info& i, items_) { + result.insert(i.offset.vector_sum(loc)); + } + return result; +@@ -65,14 +66,14 @@ + + void map_fragment::paste_into(gamemap& map, const map_location& loc) const + { +- foreach (const tile_info& i, items_) { ++ BOOST_FOREACH(const tile_info& i, items_) { + map.set_terrain(i.offset.vector_sum(loc), i.terrain); + } + } + + void map_fragment::shift(const map_location& offset) + { +- foreach (tile_info& ti, items_) { ++ BOOST_FOREACH(tile_info& ti, items_) { + ti.offset.vector_sum_assign(offset); + } + } +@@ -80,7 +81,7 @@ + map_location map_fragment::center_of_mass() const + { + map_location sum(0, 0); +- foreach (const tile_info& ti, items_) { ++ BOOST_FOREACH(const tile_info& ti, items_) { + sum.vector_sum_assign(ti.offset); + } + sum.x /= static_cast(items_.size()); +@@ -92,7 +93,7 @@ + { + shift(center_of_mass().vector_negation()); + area_.clear(); +- foreach (tile_info& ti, items_) { ++ BOOST_FOREACH(tile_info& ti, items_) { + area_.insert(ti.offset); + } + } +@@ -100,7 +101,7 @@ + void map_fragment::rotate_60_cw() + { + area_.clear(); +- foreach (tile_info& ti, items_) { ++ BOOST_FOREACH(tile_info& ti, items_) { + map_location l(0,0); + int x = ti.offset.x; + int y = ti.offset.y; +@@ -120,7 +121,7 @@ + void map_fragment::rotate_60_ccw() + { + area_.clear(); +- foreach (tile_info& ti, items_) { ++ BOOST_FOREACH(tile_info& ti, items_) { + map_location l(0,0); + int x = ti.offset.x; + int y = ti.offset.y; +@@ -139,7 +140,7 @@ + + void map_fragment::flip_horizontal() + { +- foreach (tile_info& ti, items_) { ++ BOOST_FOREACH(tile_info& ti, items_) { + ti.offset.x = -ti.offset.x; + } + center_by_mass(); +@@ -147,7 +148,7 @@ + + void map_fragment::flip_vertical() + { +- foreach (tile_info& ti, items_) { ++ BOOST_FOREACH(tile_info& ti, items_) { + ti.offset.y = -ti.offset.y; + if (ti.offset.x % 2) { + ti.offset.y--; +@@ -166,11 +167,11 @@ + { + std::stringstream ss; + ss << "MF: "; +- foreach (const tile_info& ti, items_) { ++ BOOST_FOREACH(const tile_info& ti, items_) { + ss << "(" << ti.offset << ")"; + } + ss << " -- "; +- foreach (const map_location& loc, area_) { ++ BOOST_FOREACH(const map_location& loc, area_) { + ss << "(" << loc << ")"; + } + return ss.str(); +Index: src/editor/action.cpp +=================================================================== +--- src/editor/action.cpp (revision 54624) ++++ src/editor/action.cpp (revision 54625) +@@ -21,10 +21,10 @@ + + #include "editor/action.hpp" + #include "editor/map_context.hpp" +-#include "foreach.hpp" + #include "gettext.hpp" + #include "util.hpp" + ++#include + namespace editor { + + int editor_action::next_id_ = 1; +@@ -75,25 +75,25 @@ + editor_action_chain::editor_action_chain(const editor::editor_action_chain &other) + : editor_action(), actions_() + { +- foreach (editor_action* a, other.actions_) { ++ BOOST_FOREACH(editor_action* a, other.actions_) { + actions_.push_back(a->clone()); + } + } + editor_action_chain& editor_action_chain::operator=(const editor_action_chain& other) + { + if (this == &other) return *this; +- foreach (editor_action* a, actions_) { ++ BOOST_FOREACH(editor_action* a, actions_) { + delete a; + } + actions_.clear(); +- foreach (editor_action* a, other.actions_) { ++ BOOST_FOREACH(editor_action* a, other.actions_) { + actions_.push_back(a->clone()); + } + return *this; + } + editor_action_chain::~editor_action_chain() + { +- foreach (editor_action* a, actions_) { ++ BOOST_FOREACH(editor_action* a, actions_) { + delete a; + } + } +@@ -103,7 +103,7 @@ + } + int editor_action_chain::action_count() const { + int count = 0; +- foreach (const editor_action* a, actions_) { ++ BOOST_FOREACH(const editor_action* a, actions_) { + if (a) { + count += a->action_count(); + } +@@ -133,7 +133,7 @@ + } + editor_action_chain* editor_action_chain::perform(map_context& mc) const { + util::unique_ptr undo(new editor_action_chain()); +- foreach (editor_action* a, actions_) { ++ BOOST_FOREACH(editor_action* a, actions_) { + if (a != NULL) { + undo->append_action(a->perform(mc)); + } +@@ -143,7 +143,7 @@ + } + void editor_action_chain::perform_without_undo(map_context& mc) const + { +- foreach (editor_action* a, actions_) { ++ BOOST_FOREACH(editor_action* a, actions_) { + if (a != NULL) { + a->perform_without_undo(mc); + } +@@ -257,7 +257,7 @@ + } + void editor_action_select::extend(const editor_map& map, const std::set& locs) + { +- foreach (const map_location& loc, locs) { ++ BOOST_FOREACH(const map_location& loc, locs) { + LOG_ED << "Checking " << loc << "\n"; + if (map.in_selection(loc)) { + LOG_ED << "Extending by " << loc << "\n"; +@@ -268,7 +268,7 @@ + editor_action* editor_action_select::perform(map_context& mc) const + { + std::set undo_locs; +- foreach (const map_location& loc, area_) { ++ BOOST_FOREACH(const map_location& loc, area_) { + if (!mc.get_map().in_selection(loc)) { + undo_locs.insert(loc); + mc.add_changed_location(loc); +@@ -279,7 +279,7 @@ + } + void editor_action_select::perform_without_undo(map_context& mc) const + { +- foreach (const map_location& loc, area_) { ++ BOOST_FOREACH(const map_location& loc, area_) { + mc.get_map().add_to_selection(loc); + mc.add_changed_location(loc); + } +@@ -291,7 +291,7 @@ + } + void editor_action_deselect::extend(const editor_map& map, const std::set& locs) + { +- foreach (const map_location& loc, locs) { ++ BOOST_FOREACH(const map_location& loc, locs) { + LOG_ED << "Checking " << loc << "\n"; + if (!map.in_selection(loc)) { + LOG_ED << "Extending by " << loc << "\n"; +@@ -302,7 +302,7 @@ + editor_action* editor_action_deselect::perform(map_context& mc) const + { + std::set undo_locs; +- foreach (const map_location& loc, area_) { ++ BOOST_FOREACH(const map_location& loc, area_) { + if (mc.get_map().in_selection(loc)) { + undo_locs.insert(loc); + mc.add_changed_location(loc); +@@ -313,7 +313,7 @@ + } + void editor_action_deselect::perform_without_undo(map_context& mc) const + { +- foreach (const map_location& loc, area_) { ++ BOOST_FOREACH(const map_location& loc, area_) { + mc.get_map().remove_from_selection(loc); + mc.add_changed_location(loc); + } +Index: src/editor/map_context.cpp +=================================================================== +--- src/editor/map_context.cpp (revision 54624) ++++ src/editor/map_context.cpp (revision 54625) +@@ -19,7 +19,6 @@ + + #include "../display.hpp" + #include "../filesystem.hpp" +-#include "../foreach.hpp" + #include "../gettext.hpp" + #include "../map_exception.hpp" + #include "../map_label.hpp" +@@ -28,6 +27,7 @@ + #include "formula_string_utils.hpp" + + #include ++#include + + + namespace editor { +@@ -146,7 +146,7 @@ + if (!one_layer_only) { + terrain = map_.get_terrain_info(terrain).terrain_with_default_base(); + } +- foreach (const map_location& loc, locs) { ++ BOOST_FOREACH(const map_location& loc, locs) { + draw_terrain_actual(terrain, loc, one_layer_only); + } + } +@@ -374,7 +374,7 @@ + + void map_context::clear_stack(action_stack& stack) + { +- foreach (editor_action* a, stack) { ++ BOOST_FOREACH(editor_action* a, stack) { + delete a; + } + stack.clear(); +Index: src/editor/brush.cpp +=================================================================== +--- src/editor/brush.cpp (revision 54624) ++++ src/editor/brush.cpp (revision 54625) +@@ -17,9 +17,10 @@ + #include "brush.hpp" + #include "editor_common.hpp" + +-#include "../foreach.hpp" + #include "../pathutils.hpp" + ++#include ++ + namespace editor { + + /*WIKI +@@ -74,11 +75,11 @@ + if (radius > 0) { + std::vector in_radius; + get_tiles_in_radius(map_location(0, 0), radius, in_radius); +- foreach (map_location& loc, in_radius) { ++ BOOST_FOREACH(map_location& loc, in_radius) { + add_relative_location(loc.x, loc.y); + } + } +- foreach (const config &relative, cfg.child_range("relative")) ++ BOOST_FOREACH(const config &relative, cfg.child_range("relative")) + { + int x = relative["x"]; + int y = relative["y"]; +@@ -97,7 +98,7 @@ + std::set brush::project(const map_location& hotspot) const + { + std::set result; +- foreach (const map_location& relative, relative_tiles_) { ++ BOOST_FOREACH(const map_location& relative, relative_tiles_) { + result.insert(relative.vector_sum(hotspot)); + } + return result; +Index: src/editor/editor_map.cpp +=================================================================== +--- src/editor/editor_map.cpp (revision 54624) ++++ src/editor/editor_map.cpp (revision 54625) +@@ -20,12 +20,12 @@ + + #include "../display.hpp" + #include "../filesystem.hpp" +-#include "../foreach.hpp" + #include "../gettext.hpp" + #include "../map_exception.hpp" + #include "../map_label.hpp" + #include "../wml_exception.hpp" + ++#include + + namespace editor { + +@@ -111,7 +111,7 @@ + ++errors; + } + } +- foreach (const map_location& loc, selection_) { ++ BOOST_FOREACH(const map_location& loc, selection_) { + if (!on_board_with_border(loc)) { + ERR_ED << "Off-map tile in selection: " << loc << "\n"; + } +Index: src/editor/editor_palettes.cpp +=================================================================== +--- src/editor/editor_palettes.cpp (revision 54624) ++++ src/editor/editor_palettes.cpp (revision 54625) +@@ -23,13 +23,14 @@ + #include "editor_common.hpp" + #include "editor_palettes.hpp" + +-#include "../foreach.hpp" + #include "../gettext.hpp" + #include "../serialization/string_utils.hpp" + #include "../sound.hpp" + #include "../tooltips.hpp" + #include "../marked-up_text.hpp" + ++#include ++ + namespace { + static std::string selected_terrain; + } +@@ -84,7 +85,7 @@ + + // Get the available groups and add them to the structure + std::set group_names; +- foreach (const config &g, cfg.child_range("editor_group")) ++ BOOST_FOREACH(const config &g, cfg.child_range("editor_group")) + { + if (group_names.find(g["id"]) == group_names.end()) { + terrain_groups_.push_back(terrain_group(g, gui)); +@@ -97,14 +98,14 @@ + } + } + std::map id_to_group; +- foreach (terrain_group& tg, terrain_groups_) { ++ BOOST_FOREACH(terrain_group& tg, terrain_groups_) { + id_to_group.insert(std::make_pair(tg.id, &tg)); + } + // The rest of the code assumes this is a valid pointer + assert(checked_group_btn_ != 0); + + // add the groups for all terrains to the map +- foreach (const t_translation::t_terrain& t, terrains_) { ++ BOOST_FOREACH(const t_translation::t_terrain& t, terrains_) { + const terrain_type& t_info = map().get_terrain_info(t); + DBG_ED << "Palette: processing terrain " << t_info.name() + << "(editor name: '" << t_info.editor_name() << "') " +@@ -119,7 +120,7 @@ + // add the terrain to the requested groups + const std::vector& keys = utils::split(t_info.editor_group()); + bool core = false; +- foreach (const std::string& k, keys) { ++ BOOST_FOREACH(const std::string& k, keys) { + terrain_map_[k].push_back(t); + nmax_terrains_ = std::max(nmax_terrains_, terrain_map_[k].size()); + std::map::iterator i = id_to_group.find(k); +@@ -380,7 +381,7 @@ + scroll_down(); + } + +- foreach (terrain_group& g, terrain_groups_) { ++ BOOST_FOREACH(terrain_group& g, terrain_groups_) { + if (g.button.pressed()) { + checked_group_btn_ = &g.button; + set_group(g.id); +@@ -388,7 +389,7 @@ + } + } + +- foreach (terrain_group& g, terrain_groups_) { ++ BOOST_FOREACH(terrain_group& g, terrain_groups_) { + if (&g.button == checked_group_btn_) { + g.button.set_check(true); + } else { +Index: src/editor/editor_controller.cpp +=================================================================== +--- src/editor/editor_controller.cpp (revision 54624) ++++ src/editor/editor_controller.cpp (revision 54625) +@@ -32,7 +32,6 @@ + #include "../clipboard.hpp" + #include "../filechooser.hpp" + #include "../filesystem.hpp" +-#include "../foreach.hpp" + #include "../game_preferences.hpp" + #include "../gettext.hpp" + #include "../map_create.hpp" +@@ -44,6 +43,7 @@ + #include "formula_string_utils.hpp" + + #include ++#include + + namespace { + static std::vector saved_windows_; +@@ -135,7 +135,7 @@ + image::set_color_adjustment(preferences::editor::tod_r(), preferences::editor::tod_g(), preferences::editor::tod_b()); + theme& theme = gui().get_theme(); + const theme::menu* default_tool_menu = NULL; +- foreach (const theme::menu& m, theme.menus()) { ++ BOOST_FOREACH(const theme::menu& m, theme.menus()) { + if (m.get_id() == "draw_button_editor") { + default_tool_menu = &m; + break; +@@ -173,7 +173,7 @@ + + void editor_controller::init_brushes(const config& game_config) + { +- foreach (const config &i, game_config.child_range("brush")) { ++ BOOST_FOREACH(const config &i, game_config.child_range("brush")) { + brushes_.push_back(brush(i)); + } + if (brushes_.empty()) { +@@ -196,7 +196,7 @@ + new mouse_action_starting_position(key_))); + mouse_actions_.insert(std::make_pair(hotkey::HOTKEY_EDITOR_PASTE, + new mouse_action_paste(clipboard_, key_))); +- foreach (const theme::menu& menu, gui().get_theme().menus()) { ++ BOOST_FOREACH(const theme::menu& menu, gui().get_theme().menus()) { + if (menu.items().size() == 1) { + hotkey::HOTKEY_COMMAND hk = hotkey::get_hotkey(menu.items().front()).get_id(); + mouse_action_map::iterator i = mouse_actions_.find(hk); +@@ -205,7 +205,7 @@ + } + } + } +- foreach (const config &c, game_config.child_range("editor_tool_hint")) { ++ BOOST_FOREACH(const config &c, game_config.child_range("editor_tool_hint")) { + mouse_action_map::iterator i = + mouse_actions_.find(hotkey::get_hotkey(c["id"]).get_id()); + if (i != mouse_actions_.end()) { +@@ -216,7 +216,7 @@ + + void editor_controller::init_map_generators(const config& game_config) + { +- foreach (const config &i, game_config.child_range("multiplayer")) ++ BOOST_FOREACH(const config &i, game_config.child_range("multiplayer")) + { + if (i["map_generation"] == "default") { + const config &generator_cfg = i.child("generator"); +@@ -238,7 +238,7 @@ + ERR_ED << "No editor time-of-day defined\n"; + return; + } +- foreach (const config &i, cfg.child_range("time")) { ++ BOOST_FOREACH(const config &i, cfg.child_range("time")) { + tods_.push_back(time_of_day(i)); + } + } +@@ -250,7 +250,7 @@ + ERR_ED << "No editor music defined\n"; + return; + } +- foreach (const config &i, cfg.child_range("music")) { ++ BOOST_FOREACH(const config &i, cfg.child_range("music")) { + sound::play_music_config(i); + } + sound::commit_music_changes(); +@@ -265,13 +265,13 @@ + + editor_controller::~editor_controller() + { +- foreach (const mouse_action_map::value_type a, mouse_actions_) { ++ BOOST_FOREACH(const mouse_action_map::value_type a, mouse_actions_) { + delete a.second; + } +- foreach (map_generator* m, map_generators_) { ++ BOOST_FOREACH(map_generator* m, map_generators_) { + delete m; + } +- foreach (map_context* mc, map_contexts_) { ++ BOOST_FOREACH(map_context* mc, map_contexts_) { + delete mc; + } + } +@@ -303,7 +303,7 @@ + void editor_controller::quit_confirm(EXIT_STATUS mode) + { + std::vector modified; +- foreach (map_context* mc, map_contexts_) { ++ BOOST_FOREACH(map_context* mc, map_contexts_) { + if (mc->modified()) { + if (!mc->get_filename().empty()) { + modified.push_back(mc->get_filename()); +@@ -319,7 +319,7 @@ + message = _("Do you really want to quit? Changes in the map since the last save will be lost."); + } else { + message = _("Do you really want to quit? The following maps were modified and all changes since the last save will be lost:"); +- foreach (std::string& str, modified) { ++ BOOST_FOREACH(std::string& str, modified) { + message += "\n" + str; + } + } +@@ -342,7 +342,7 @@ + map_context* mc = new map_context(editor_map(game_config_, 44, 33, t_translation::GRASS_LAND)); + add_map_context(mc); + } else { +- foreach(const std::string& filename, saved_windows_) { ++ BOOST_FOREACH(const std::string& filename, saved_windows_) { + map_context* mc = new map_context(game_config_, filename); + add_map_context(mc); + } +@@ -796,7 +796,7 @@ + get_map_context().set_needs_terrain_rebuild(false); + gui().invalidate_all(); + } else { +- foreach (const map_location& loc, changed_locs) { ++ BOOST_FOREACH(const map_location& loc, changed_locs) { + gui().rebuild_terrain(loc); + } + gui().invalidate(changed_locs); +@@ -1290,7 +1290,7 @@ + + void editor_controller::redraw_toolbar() + { +- foreach (mouse_action_map::value_type a, mouse_actions_) { ++ BOOST_FOREACH(mouse_action_map::value_type a, mouse_actions_) { + if (a.second->toolbar_button() != NULL) { + SDL_Rect r = a.second->toolbar_button()->location(gui().screen_area()); + SDL_Rect outline = create_rect(r.x - 2, r.y - 2, r.h + 4, r.w + 4); +Index: src/formula.cpp +=================================================================== +--- src/formula.cpp (revision 54624) ++++ src/formula.cpp (revision 54625) +@@ -17,11 +17,12 @@ + #include + #include + +-#include "foreach.hpp" + #include "formula_callable.hpp" + #include "formula_function.hpp" + #include "map_utils.hpp" + ++#include ++ + namespace game_logic + { + +@@ -117,7 +118,7 @@ + std::stringstream s; + s << '['; + bool first_item = true; +- foreach(expression_ptr a , items_) { ++ BOOST_FOREACH(expression_ptr a , items_) { + if (!first_item) { + s << ','; + } else { +@@ -468,7 +469,7 @@ + std::stringstream s; + s << "{where:("; + s << body_->str(); +- foreach (const expr_table::value_type &a, *clauses_) { ++ BOOST_FOREACH(const expr_table::value_type &a, *clauses_) { + s << ", [" << a.first << "] -> ["<< a.second->str()<<"]"; + } + s << ")}"; +Index: src/mouse_events.cpp +=================================================================== +--- src/mouse_events.cpp (revision 54624) ++++ src/mouse_events.cpp (revision 54625) +@@ -21,7 +21,6 @@ + #include "actions.hpp" + #include "attack_prediction_display.hpp" + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_end_exceptions.hpp" + #include "game_events.hpp" + #include "gettext.hpp" +@@ -45,6 +44,7 @@ + #include "whiteboard/manager.hpp" + + #include ++#include + + static lg::log_domain log_engine("engine"); + #define ERR_NG LOG_STREAM(err, log_engine) +@@ -1048,7 +1048,7 @@ + + map_location adj[6]; + get_adjacent_tiles(loc, adj); +- foreach (const map_location &aloc, adj) { ++ BOOST_FOREACH(const map_location &aloc, adj) { + unit_map::const_iterator i = find_unit(aloc); + if (i != units_.end() && uteam.is_enemy(i->side())) + res.insert(aloc); +@@ -1063,7 +1063,7 @@ + + map_location adj[6]; + get_adjacent_tiles(u->get_location(), adj); +- foreach (const map_location &loc, adj) ++ BOOST_FOREACH(const map_location &loc, adj) + { + if (!map_.on_board(loc)) continue; + unit_map::const_iterator i = units_.find(loc); +Index: src/multiplayer_connect.cpp +=================================================================== +--- src/multiplayer_connect.cpp (revision 54624) ++++ src/multiplayer_connect.cpp (revision 54625) +@@ -23,7 +23,6 @@ + + #include "ai/configuration.hpp" + #include "dialogs.hpp" +-#include "foreach.hpp" + #include "game_display.hpp" + #include "game_preferences.hpp" + #include "gettext.hpp" +@@ -39,6 +38,7 @@ + #include "wml_exception.hpp" + + #include ++#include + + static lg::log_domain log_network("network"); + #define LOG_NW LOG_STREAM(info, log_network) +@@ -189,7 +189,7 @@ + // Hack: if there is a unit which can recruit, use it as a leader. + // Necessary to display leader information when loading saves. + std::string leader_type; +- foreach (const config &side_unit, cfg.child_range("unit")) ++ BOOST_FOREACH(const config &side_unit, cfg.child_range("unit")) + { + if (side_unit["canrecruit"].to_bool()) { + leader_type = side_unit["type"].str(); +@@ -539,7 +539,7 @@ + std::vector &ais_list = parent_->ai_algorithms_; + std::vector ais; + int i = 0; +- foreach (const ai::description *desc, ais_list){ ++ BOOST_FOREACH(const ai::description *desc, ais_list){ + ais.push_back(desc->text); + if (desc->id==ai_algorithm_){ + sel = i; +@@ -557,7 +557,7 @@ + void connect::side::update_faction_combo() + { + std::vector factions; +- foreach (const config *faction, parent_->era_sides_) ++ BOOST_FOREACH(const config *faction, parent_->era_sides_) + { + const std::string& name = (*faction)["name"]; + const std::string& icon = (*faction)["image"]; +@@ -724,7 +724,7 @@ + static char const *attrs[] = { "side", "controller", "id", + "team_name", "user_team_name", "color", "colour", "gold", + "income", "allow_changes" }; +- foreach (const char *attr, attrs) { ++ BOOST_FOREACH(const char *attr, attrs) { + trimmed.remove_attribute(attr); + } + +@@ -827,8 +827,8 @@ + { + std::map children; + +- foreach(const std::string& children_to_swap, get_children_to_swap()) +- foreach(const config& child, cfg_.child_range(children_to_swap)) ++ BOOST_FOREACH(const std::string& children_to_swap, get_children_to_swap()) ++ BOOST_FOREACH(const config& child, cfg_.child_range(children_to_swap)) + children.insert(std::pair(children_to_swap, child)); + + return children; +@@ -836,12 +836,12 @@ + + void connect::side::set_side_children(std::map children) + { +- foreach(const std::string& children_to_remove, get_children_to_swap()) ++ BOOST_FOREACH(const std::string& children_to_remove, get_children_to_swap()) + cfg_.clear_children(children_to_remove); + + std::pair child_map; + +- foreach(child_map, children) ++ BOOST_FOREACH(child_map, children) + cfg_.add_child(child_map.first, child_map.second); + } + +@@ -920,7 +920,7 @@ + // Builds the list of sides eligible for choice (nonrandom factions) + std::vector nonrandom_sides; + int num = -1; +- foreach (const config *i, parent_->era_sides_) ++ BOOST_FOREACH(const config *i, parent_->era_sides_) + { + ++num; + if (!(*i)["random_faction"].to_bool()) { +@@ -1524,7 +1524,7 @@ + player_types_.push_back(_("Computer Player")); + player_types_.push_back(_("Empty")); + +- foreach (const config *faction, era_sides_) { ++ BOOST_FOREACH(const config *faction, era_sides_) { + player_factions_.push_back((*faction)["name"]); + } + +@@ -1539,7 +1539,7 @@ + // Teams + if(params_.use_map_settings) { + int side_num = 1; +- foreach (config &side, sides) ++ BOOST_FOREACH(config &side, sides) + { + config::attribute_value &team_name = side["team_name"]; + config::attribute_value &user_team_name = side["user_team_name"]; +@@ -1566,7 +1566,7 @@ + } else { + std::vector map_team_names; + int _side_num = 1; +- foreach (config &side, sides) ++ BOOST_FOREACH(config &side, sides) + { + const std::string side_num = lexical_cast(_side_num); + config::attribute_value &team_name = side["team_name"]; +@@ -1599,7 +1599,7 @@ + + // Populates "sides_" from the level configuration + int index = 0; +- foreach (const config &s, sides) { ++ BOOST_FOREACH(const config &s, sides) { + sides_.push_back(side(*this, s, index++)); + } + int offset=0; +@@ -1683,7 +1683,7 @@ + else + { + era_sides_.clear(); +- foreach (const config &e, era_cfg.child_range("multiplayer_side")) { ++ BOOST_FOREACH(const config &e, era_cfg.child_range("multiplayer_side")) { + era_sides_.push_back(&e); + } + level_.add_child("era", era_cfg); +@@ -1789,7 +1789,7 @@ + * creative in what is used in multiplayer [1] so use a simpler test now. + * [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=568029 + */ +- foreach(const side& s, sides_) { ++ BOOST_FOREACH(const side& s, sides_) { + if(s.get_controller() != CNTR_EMPTY) { + if(s.allow_player()) { + return true; + +------------------------------------------------------------------------ diff --git a/community-staging/wesnoth/wesnoth.install b/community-staging/wesnoth/wesnoth.install new file mode 100644 index 000000000..4f1e419ae --- /dev/null +++ b/community-staging/wesnoth/wesnoth.install @@ -0,0 +1,9 @@ +# arg 1: the new package version +post_install() { +cat << EOF +Note: +==> If you experience sound problems try setting your SDL_AUDIODRIVER environment variable to "dma" +==> eg. export SDL_AUDIODRIVER="dma" ; wesnoth +==> If "dma" doesn't work,other options are: dsp,alsa,artsc,esd,nas try to find the right output. +EOF +} diff --git a/community-staging/wesnoth/wesnoth.tmpfiles.conf b/community-staging/wesnoth/wesnoth.tmpfiles.conf new file mode 100644 index 000000000..3ec0f6013 --- /dev/null +++ b/community-staging/wesnoth/wesnoth.tmpfiles.conf @@ -0,0 +1 @@ +D /run/wesnothd 0700 root root - diff --git a/community-staging/wesnoth/wesnothd.rc.d b/community-staging/wesnoth/wesnothd.rc.d new file mode 100755 index 000000000..95e312b7b --- /dev/null +++ b/community-staging/wesnoth/wesnothd.rc.d @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof -o %PPID /usr/bin/wesnothd) + +case "$1" in + start) + stat_busy "Starting Wesnoth Server Daemon" + [[ -d /var/run/wesnothd ]] || mkdir /var/run/wesnothd + [ -z "$PID" ] && /usr/bin/wesnothd -d &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + PID=$(pidof -o %PPID /usr/bin/wesnothd) + echo $PID > /var/run/wesnotd/pid + add_daemon wesnothd + stat_done + fi + ;; + stop) + stat_busy "Stopping Wesnoth Server Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon wesnothd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community-staging/wt/PKGBUILD b/community-staging/wt/PKGBUILD new file mode 100644 index 000000000..f6a9365c4 --- /dev/null +++ b/community-staging/wt/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 73575 2012-07-10 14:02:36Z svenstaro $ +# Maintainer: Sergej Pupykin +# Maintainer: Sven-Hendrik Haase +# Contributor: Denis Martinez + +pkgname=wt +pkgver=3.2.2rc1 +_pkgver=3.2.2-rc1 +pkgrel=1 +pkgdesc="a C++ library and application server for developing and deploying web applications" +arch=('i686' 'x86_64') +url="http://www.webtoolkit.eu/" +license=('GPL') +depends=('boost-libs>=1.36') +makedepends=('boost>=1.36' 'cmake>=2.8' + 'postgresql-libs' 'zlib' 'fcgi' 'sqlite' 'libharu' 'graphicsmagick' 'pango' 'mysql++' 'qt') +optdepends=('openssl: for SSL support in built-in webserver' + 'zlib: for compression in HTTP protocol' + 'fcgi: for FastCGI support' + 'postgresql-libs: for PostgreSQL Dbo support' + 'sqlite: for Sqlite Dbo support' + 'libharu: for PDF generation (WPdfImage)' + 'graphicsmagick: for raster image support (WRasterImage)' + 'pango: for advanced font rendering (WRasterImage)' + 'mysql++: for the hangman example' + 'qt: for the Wt/Qt interopability example (wtwithqt)') +backup=('etc/wt/wt_config.xml') +source=(http://downloads.sourceforge.net/witty/$pkgname-${_pkgver}.tar.gz) +md5sums=('4709f48c65eceb862da693f122ccca59') + +build() { + cd ${srcdir}/${pkgname}-${_pkgver} + sed -i "s/<< s /<< *s /g" src/Wt/Ext/DataStore.C + + mkdir -p build + cd build + cmake \ + -DCONNECTOR_HTTP=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_EXE_LINKER_FLAGS="-lboost_random" \ + -DWEBUSER=http \ + -DWEBGROUP=http \ + -DUSE_SYSTEM_SQLITE3=ON \ + -DINSTALL_EXAMPLES=ON \ + .. + make +} + +package() { + cd ${srcdir}/${pkgname}-${_pkgver}/build + make DESTDIR=${pkgdir} install + + mkdir -p ${pkgdir}/usr/share/cmake-2.8/Modules + mv ${pkgdir}/usr/cmake/FindWt.cmake ${pkgdir}/usr/share/cmake-2.8/Modules/ + rm -r ${pkgdir}/usr/cmake + rm -rf $pkgdir/var/run +} -- cgit v1.2.3-54-g00ecf From 2a74527ad522ac7c1d467688eee81a7a3f895031 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 13 Jul 2012 00:01:54 +0000 Subject: Fri Jul 13 00:01:54 UTC 2012 --- community-staging/gnash/PKGBUILD | 25 ++++--- .../gnash/gnash-0.8.10-boost-1.50.patch | 12 ++++ community-staging/gpsdrive/PKGBUILD | 64 +++++++++++++++++ community-staging/gpsdrive/gpsdrive.install | 4 ++ community/ioping/PKGBUILD | 26 +++++++ community/qupzilla/PKGBUILD | 6 +- extra/libreoffice/PKGBUILD | 71 ++++++++++-------- extra/libreoffice/PKGBUILD.36 | 83 +++++++++++++--------- extra/mkvtoolnix/PKGBUILD | 6 +- extra/swig/PKGBUILD | 19 +++-- extra/swig/pyint_fromsize_t.diff | 18 +++++ extra/swig/upstream_r13128.diff | 73 +++++++++++++++++++ extra/telepathy-qt/PKGBUILD | 12 ++-- kde-unstable/kactivities/PKGBUILD | 6 +- kde-unstable/kdeaccessibility-jovie/PKGBUILD | 6 +- kde-unstable/kdeaccessibility-kaccessible/PKGBUILD | 6 +- kde-unstable/kdeaccessibility-kmag/PKGBUILD | 6 +- kde-unstable/kdeaccessibility-kmousetool/PKGBUILD | 6 +- kde-unstable/kdeaccessibility-kmouth/PKGBUILD | 6 +- kde-unstable/kdeadmin/PKGBUILD | 6 +- kde-unstable/kdeartwork/PKGBUILD | 6 +- kde-unstable/kdebase-konsole/PKGBUILD | 6 +- kde-unstable/kdebase-runtime/PKGBUILD | 6 +- kde-unstable/kdebase-workspace/PKGBUILD | 8 +-- kde-unstable/kdebase/PKGBUILD | 6 +- kde-unstable/kdebindings-kimono/PKGBUILD | 6 +- kde-unstable/kdebindings-korundum/PKGBUILD | 6 +- kde-unstable/kdebindings-kross/PKGBUILD | 6 +- kde-unstable/kdebindings-perlkde/PKGBUILD | 6 +- kde-unstable/kdebindings-perlqt/PKGBUILD | 6 +- kde-unstable/kdebindings-python/PKGBUILD | 8 +-- kde-unstable/kdebindings-qtruby/PKGBUILD | 6 +- kde-unstable/kdebindings-qyoto/PKGBUILD | 6 +- kde-unstable/kdebindings-smokegen/PKGBUILD | 6 +- kde-unstable/kdebindings-smokekde/PKGBUILD | 6 +- kde-unstable/kdebindings-smokeqt/PKGBUILD | 6 +- kde-unstable/kdeedu-analitza/PKGBUILD | 6 +- kde-unstable/kdeedu-blinken/PKGBUILD | 6 +- kde-unstable/kdeedu-cantor/PKGBUILD | 6 +- kde-unstable/kdeedu-kalgebra/PKGBUILD | 6 +- kde-unstable/kdeedu-kalzium/PKGBUILD | 6 +- kde-unstable/kdeedu-kanagram/PKGBUILD | 6 +- kde-unstable/kdeedu-kbruch/PKGBUILD | 6 +- kde-unstable/kdeedu-kgeography/PKGBUILD | 6 +- kde-unstable/kdeedu-khangman/PKGBUILD | 6 +- kde-unstable/kdeedu-kig/PKGBUILD | 6 +- kde-unstable/kdeedu-kiten/PKGBUILD | 6 +- kde-unstable/kdeedu-klettres/PKGBUILD | 6 +- kde-unstable/kdeedu-kmplot/PKGBUILD | 6 +- kde-unstable/kdeedu-kstars/PKGBUILD | 6 +- kde-unstable/kdeedu-ktouch/PKGBUILD | 6 +- kde-unstable/kdeedu-kturtle/PKGBUILD | 6 +- kde-unstable/kdeedu-kwordquiz/PKGBUILD | 6 +- kde-unstable/kdeedu-marble/PKGBUILD | 6 +- kde-unstable/kdeedu-pairs/PKGBUILD | 6 +- kde-unstable/kdeedu-parley/PKGBUILD | 6 +- kde-unstable/kdeedu-rocs/PKGBUILD | 6 +- kde-unstable/kdeedu-step/PKGBUILD | 6 +- kde-unstable/kdegames/PKGBUILD | 6 +- kde-unstable/kdegraphics-gwenview/PKGBUILD | 6 +- kde-unstable/kdegraphics-kamera/PKGBUILD | 6 +- kde-unstable/kdegraphics-kcolorchooser/PKGBUILD | 6 +- kde-unstable/kdegraphics-kgamma/PKGBUILD | 6 +- kde-unstable/kdegraphics-kolourpaint/PKGBUILD | 6 +- kde-unstable/kdegraphics-kruler/PKGBUILD | 6 +- kde-unstable/kdegraphics-ksaneplugin/PKGBUILD | 6 +- kde-unstable/kdegraphics-ksnapshot/PKGBUILD | 6 +- kde-unstable/kdegraphics-mobipocket/PKGBUILD | 6 +- kde-unstable/kdegraphics-okular/PKGBUILD | 6 +- kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD | 6 +- kde-unstable/kdegraphics-svgpart/PKGBUILD | 6 +- kde-unstable/kdegraphics-thumbnailers/PKGBUILD | 6 +- kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD | 6 +- kde-unstable/kdemultimedia-dragonplayer/PKGBUILD | 6 +- kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD | 8 +-- kde-unstable/kdemultimedia-juk/PKGBUILD | 6 +- kde-unstable/kdemultimedia-kmix/PKGBUILD | 6 +- kde-unstable/kdemultimedia-kscd/PKGBUILD | 6 +- kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD | 6 +- kde-unstable/kdenetwork/PKGBUILD | 6 +- kde-unstable/kdepim-runtime/PKGBUILD | 6 +- kde-unstable/kdepim/PKGBUILD | 6 +- kde-unstable/kdepimlibs/PKGBUILD | 6 +- kde-unstable/kdeplasma-addons/PKGBUILD | 6 +- kde-unstable/kdesdk-kate/PKGBUILD | 6 +- kde-unstable/kdesdk/PKGBUILD | 6 +- kde-unstable/kdetoys/PKGBUILD | 6 +- kde-unstable/kdeutils-filelight/PKGBUILD | 6 +- kde-unstable/kdeutils-kcalc/PKGBUILD | 6 +- kde-unstable/kdeutils-kcharselect/PKGBUILD | 6 +- kde-unstable/kdeutils-kdf/PKGBUILD | 6 +- kde-unstable/kdeutils-kfloppy/PKGBUILD | 6 +- kde-unstable/kdeutils-kgpg/PKGBUILD | 6 +- kde-unstable/kdeutils-kremotecontrol/PKGBUILD | 4 +- kde-unstable/kdeutils-ktimer/PKGBUILD | 6 +- kde-unstable/kdeutils-kwallet/PKGBUILD | 6 +- kde-unstable/kdeutils-superkaramba/PKGBUILD | 6 +- kde-unstable/kdeutils-sweeper/PKGBUILD | 6 +- kde-unstable/kdewebdev/PKGBUILD | 6 +- kde-unstable/libkcddb/PKGBUILD | 6 +- kde-unstable/libkcompactdisc/PKGBUILD | 6 +- kde-unstable/libkdcraw/PKGBUILD | 6 +- kde-unstable/libkdeedu/PKGBUILD | 6 +- kde-unstable/libkexiv2/PKGBUILD | 6 +- kde-unstable/libkipi/PKGBUILD | 4 +- kde-unstable/libksane/PKGBUILD | 6 +- kde-unstable/nepomuk-core/PKGBUILD | 6 +- staging/mkvtoolnix/PKGBUILD | 6 +- testing/binutils/PKGBUILD | 5 +- testing/gpm/PKGBUILD | 41 +++++++++++ testing/gpm/gpm | 41 +++++++++++ testing/gpm/gpm.conf.d | 4 ++ testing/gpm/gpm.install | 16 +++++ testing/gpm/gpm.service | 9 +++ testing/gpm/gpm.sh | 3 + testing/pkg-config/PKGBUILD | 34 +++++++++ testing/procps-ng/PKGBUILD | 35 +++++++++ testing/procps-ng/sysctl.conf | 46 ++++++++++++ testing/util-linux/PKGBUILD | 10 +-- testing/util-linux/util-linux.install | 8 +++ 120 files changed, 858 insertions(+), 385 deletions(-) create mode 100644 community-staging/gnash/gnash-0.8.10-boost-1.50.patch create mode 100644 community-staging/gpsdrive/PKGBUILD create mode 100644 community-staging/gpsdrive/gpsdrive.install create mode 100644 community/ioping/PKGBUILD create mode 100644 extra/swig/pyint_fromsize_t.diff create mode 100644 extra/swig/upstream_r13128.diff create mode 100644 testing/gpm/PKGBUILD create mode 100755 testing/gpm/gpm create mode 100644 testing/gpm/gpm.conf.d create mode 100644 testing/gpm/gpm.install create mode 100644 testing/gpm/gpm.service create mode 100755 testing/gpm/gpm.sh create mode 100644 testing/pkg-config/PKGBUILD create mode 100644 testing/procps-ng/PKGBUILD create mode 100644 testing/procps-ng/sysctl.conf create mode 100644 testing/util-linux/util-linux.install (limited to 'community-staging') diff --git a/community-staging/gnash/PKGBUILD b/community-staging/gnash/PKGBUILD index ef02d4658..3ef2282bb 100644 --- a/community-staging/gnash/PKGBUILD +++ b/community-staging/gnash/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 71943 2012-06-03 22:41:22Z heftig $ +# $Id: PKGBUILD 73602 2012-07-11 09:20:26Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) pkgbase=gnash pkgname=(gnash-common gnash-gtk) pkgver=0.8.10 -pkgrel=3 +pkgrel=4 arch=(i686 x86_64) url="http://www.gnu.org/software/gnash/" license=(GPL3) @@ -15,16 +15,21 @@ makedepends=(curl giflib libldap sdl agg libjpeg libpng libtool mesa pkgconfig boost) options=(!libtool !emptydirs) source=(http://ftp.gnu.org/gnu/gnash/${pkgver}/gnash-${pkgver}.tar.bz2 - nodebug.patch) + nodebug.patch gnash-0.8.10-boost-1.50.patch) sha256sums=('9625072e45df92baa2c28fc9999d4e2deb66bc827530baedfad2e4e2292d1224' - '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551') + '0ebb104a7632af997c7e6b268755949fa0c1eea5e32015b95a22d63d0e431551' + 'ac3e7dbcb2ea30b8a263168462e739aa07706e0e3cdc672410a42a4357dbf54c') build() { - cd "$srcdir/gnash-$pkgver" + cd gnash-$pkgver # Disable very, very verbose debugging (gigabytes of logs) - patch -Np1 -i "$srcdir/nodebug.patch" + patch -Np1 -i ../nodebug.patch + # Link to libboost_system.so + patch -Np1 -i ../gnash-0.8.10-boost-1.50.patch + + ./autogen.sh ./configure \ --prefix=/usr \ --sysconfdir=/etc \ @@ -48,7 +53,7 @@ package_gnash-common() { boost-libs) backup=(etc/gnashrc etc/gnashthumbnailrc) - cd "$srcdir/gnash-$pkgver" + cd gnash-$pkgver make GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1 DESTDIR="$pkgdir" install @@ -69,9 +74,9 @@ package_gnash-gtk() { install=gnash-gtk.install backup=(etc/gnashpluginrc) - mv "$srcdir"/gtk/* "$pkgdir" - - cd "$srcdir/gnash-$pkgver" + mv gtk/* "$pkgdir" + + cd gnash-$pkgver make DESTDIR="$pkgdir" install-plugin install -m755 -d "$pkgdir/usr/share/gconf/schemas" diff --git a/community-staging/gnash/gnash-0.8.10-boost-1.50.patch b/community-staging/gnash/gnash-0.8.10-boost-1.50.patch new file mode 100644 index 000000000..a422ce932 --- /dev/null +++ b/community-staging/gnash/gnash-0.8.10-boost-1.50.patch @@ -0,0 +1,12 @@ +diff -u -r gnash-0.8.10/macros/boost.m4 gnash-0.8.10-boost1.50/macros/boost.m4 +--- gnash-0.8.10/macros/boost.m4 2012-01-19 20:17:49.000000000 +0100 ++++ gnash-0.8.10-boost-1.50/macros/boost.m4 2012-07-11 10:56:11.089137186 +0200 +@@ -37,7 +37,7 @@ + boost_headers="detail/lightweight_mutex.hpp thread/thread.hpp multi_index_container.hpp multi_index/key_extractors.hpp thread/mutex.hpp program_options/options_description.hpp iostreams/stream.hpp" + dnl this is a list of *required* libraries. If any of these are missing, this + dnl test will return a failure, and Gnash won't build. +- boost_libs="thread program_options iostreams" ++ boost_libs="thread program_options iostreams system" + + dnl this is a list of *recommended* libraries. If any of these are missing, this + dnl test will return a warning, and Gnash will build, but testing won't work. diff --git a/community-staging/gpsdrive/PKGBUILD b/community-staging/gpsdrive/PKGBUILD new file mode 100644 index 000000000..e299cc3be --- /dev/null +++ b/community-staging/gpsdrive/PKGBUILD @@ -0,0 +1,64 @@ +# $Id: PKGBUILD 73599 2012-07-11 07:49:53Z spupykin $ +# Maintainer: Sergej Pupykin +# Contributor: Tom Newsom +# Maintainer: damir + +pkgname=gpsdrive +pkgver=2.11 +_pkgver=20120711 +pkgrel=13 +pkgdesc="A car (bike, ship, plane) navigation system" +arch=("i686" "x86_64") +url="http://www.gpsdrive.de/" +license=('GPL2') +depends=('gtk2' 'gpsd' 'libxml2' 'curl' 'python2' 'boost-libs' 'gdal' 'mapnik' 'postgresql-libs' 'openstreetmap-map-icons-svn' + 'perl-date-manip' 'perl-timedate' 'perl-dbi' 'perl-file-slurp' 'perl-www-mechanize' 'perl-libwww' 'perl-uri' + 'perl-text-query' 'perl-www-curl' 'perl-xml-parser' 'perl-xml-simple' 'perl-xml-twig' 'perl-xml-writer') +makedepends=('cmake>=2.4.4' 'boost' 'cfitsio') +install="gpsdrive.install" +#source=("http://www.gpsdrive.de/packages/${pkgname}-${pkgver}.tar.gz") +source=("http://arch.p5n.pp.ru/~sergej/dl/2012/${pkgname}-${_pkgver}.tar.xz") +md5sums=('48fe20e111c10d0826d9f05746c9cf74') + +build() { + cd "$srcdir" + + # python2 fix + for file in $(find . -name '*.py' -print); do + sed -i 's_#!/usr/bin/python_#!/usr/bin/python2_' $file + sed -i 's_#!/usr/bin/env python_#!/usr/bin/env python2_' $file + done + + rm -rf build + mkdir build + cd build + + sed -i 's|GdkGC \*kontext_map;|extern GdkGC *kontext_map;|' $srcdir/gpsdrive-${_pkgver}/src/gpsdrive.c + + export CFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CPPFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export CXXFLAGS=-I/usr/include/gdk-pixbuf-2.0/ + export LDFLAGS="`pkg-config --libs gtk+-2.0 gmodule-2.0` -lboost_system -lboost_thread" + + # see DefineOptions.cmake for a list of common options and defaults + # cmake -L for a more in-depth listing + cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="/usr" \ + -DWITH_SCRIPTS=ON \ + -DWITH_MAPNIK=ON \ + -DWITH_POSTGIS=ON \ + -DWITH_GDAL=ON \ + -DWITH_BASEMAPS=ON \ + -DWITH_FRIENDSD=ON \ + -DWITH_KISMET=ON \ + -DWITH_NAVIGATION=ON \ + -DWITH_SPEECH=OFF \ + -DWITH_DBUS=OFF \ + -DLIBGPS_OLD=OFF \ + "$srcdir/gpsdrive-${_pkgver}" + make +} + +package() { + cd "$srcdir/build" + make DESTDIR="$pkgdir" install +} diff --git a/community-staging/gpsdrive/gpsdrive.install b/community-staging/gpsdrive/gpsdrive.install new file mode 100644 index 000000000..8ea63912e --- /dev/null +++ b/community-staging/gpsdrive/gpsdrive.install @@ -0,0 +1,4 @@ +post_install() { + echo "Don't forget to generate geoinfo.db with geoinfo.pl script" + echo "Also you can check http://wiki.archlinux.org/index.php/GpsDrive" +} diff --git a/community/ioping/PKGBUILD b/community/ioping/PKGBUILD new file mode 100644 index 000000000..7485789ef --- /dev/null +++ b/community/ioping/PKGBUILD @@ -0,0 +1,26 @@ +# $Id: PKGBUILD 73606 2012-07-11 14:58:41Z seblu $ +# Maintainer: Sébastien Luttringer +# Contributor: Kovivchak Evgen + +pkgname=ioping +pkgver=0.6 +pkgrel=1 +pkgdesc='Simple disk I/0 latency measuring tool' +arch=('i686' 'x86_64') +license=('GPL3') +url='http://ioping.googlecode.com' +depends=('glibc') +source=("http://ioping.googlecode.com/files/$pkgname-$pkgver.tar.gz") +md5sums=('f96b382a6517c7eac744291b04b928b1') + +build() { + cd $pkgname-$pkgver + make PREFIX=/usr +} + +package() { + cd $pkgname-$pkgver + make PREFIX="$pkgdir/usr" install +} + +# vim:set ts=2 sw=2 et: diff --git a/community/qupzilla/PKGBUILD b/community/qupzilla/PKGBUILD index 0e19921fc..c08e08664 100644 --- a/community/qupzilla/PKGBUILD +++ b/community/qupzilla/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 71945 2012-06-03 23:57:58Z speps $ +# $Id: PKGBUILD 73609 2012-07-11 23:14:36Z speps $ # Maintainer: speps _name=QupZilla pkgname=qupzilla -pkgver=1.2.0 +pkgver=1.3.0 pkgrel=1 pkgdesc="Cross-platform QtWebKit browser" arch=(i686 x86_64) @@ -12,7 +12,7 @@ license=('GPL3') depends=('qtwebkit' 'gtk-update-icon-cache') install="$pkgname.install" source=("https://github.com/$_name/$pkgname/tarball/v$pkgver") -md5sums=('fc689dcda60a45d7b1aed32ecb851c1a') +md5sums=('c7c1a84a8838496717f67e7be268ddf9') build() { cd "$srcdir/$_name-$pkgname-"* diff --git a/extra/libreoffice/PKGBUILD b/extra/libreoffice/PKGBUILD index 8e2755bfa..099f64e0c 100644 --- a/extra/libreoffice/PKGBUILD +++ b/extra/libreoffice/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162357 2012-06-25 18:51:18Z foutrelis $ +# $Id: PKGBUILD 163246 2012-07-11 20:12:36Z andyrtr $ # Maintainer: AndyRTR pkgbase="libreoffice" @@ -21,15 +21,17 @@ pkgname=('libreoffice-common' 'libreoffice-extension-report-builder' 'libreoffice-scripting-beanshell' 'libreoffice-scripting-javascript' - 'libreoffice-extension-scripting-python') # svn up -r 142692 (last one with all extensions built -_LOver=3.5.4.2 -pkgver=3.5.4 -pkgrel=2 + 'libreoffice-extension-scripting-python' + 'libreoffice-extension-wiki-publisher' + 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built +_LOver=3.5.5.3 +pkgver=3.5.5 +pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') url="http://www.libreoffice.org/" makedepends=( # makedepends - 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'hsqldb-java' 'boost' + 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'hsqldb-java' # 'boost' 'apache-ant' 'gperf' 'poppler>=0.20.1' 'kdelibs' 'gconf' 'cppunit' 'beanshell' 'vigra' 'lucene' 'junit' 'libmythes' 'libwpg' 'imagemagick' 'mesa' 'gstreamer0.10-base' 'java-environment' 'postgresql-libs' @@ -49,8 +51,8 @@ _mirror="http://download.documentfoundation.org/libreoffice/src/${pkgver}" _additional_source_url="http://dev-www.libreoffice.org/src" source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz ${_additional_source_url}/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz - ${_additional_source_url}/2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2 -# ${_additional_source_url}/90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2 + ${_additional_source_url}/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 + ${_additional_source_url}/a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -81,9 +83,9 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz smp_buildfix.diff::http://cgit.freedesktop.org/libreoffice/core/patch/?id=cf23f57ae6bb7af689a45e0a850c3c2f67a8f810 fix_broken_hebrew_wordwrapping.diff libreoffice-common.sh libreoffice-common.csh) -noextract=(2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2 -# 90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2 +noextract=(a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz + f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip @@ -110,11 +112,12 @@ noextract=(2fa6028324347860e684e75310818d43-libvisio-0.0.16.tar.bz2 ace6ab49184e329db254e454a010f56d-libxml-1.1.7.zip db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip) -md5sums=('61afc900785dd7d071b96d9ab0af46f3' - 'd2e7414a60eacafef45fbc4bc1a8ccb3' - '545d1608da2cc736be5c8bf941adbbfb' +md5sums=('ccb80344ae1ac546b3a6b6d85f3ae26a' + '09153713133bddc49af99bd76129e929' + 'c2e66522b8adf0b3fb5789e295129ba9' '18f577b374d60b3c760a3a3350407632' - '2fa6028324347860e684e75310818d43' + 'f02578f5218f217a9f20e9c30e119c6a' + 'a9a1db27688bad49418667b434d29c1f' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' '798b2ffdc8bcfe7bca2cf92b62caf685' @@ -218,6 +221,8 @@ build() { --enable-odk\ --enable-ext-scripting-beanshell \ --enable-ext-scripting-javascript \ + --enable-ext-wiki-publisher \ + --enable-ext-nlpsolver \ --disable-ext-mysql-connector \ --with-system-mysql \ --enable-librsvg=system \ @@ -246,7 +251,7 @@ build() { --without-system-mozilla \ --without-system-mozilla-headers \ --with-ant-home="/usr/share/java/apache-ant"\ - --with-system-boost\ + --without-system-boost\ --with-system-cairo\ --with-system-libs\ --with-system-mythes\ @@ -259,20 +264,8 @@ build() { --with-java-target-version=1.5 \ $EXTRAOPTS -# --disable-ext-lightproof \ - - -#--with-install-dirname="${pkgbase}" -# --enable-cairo\ -# --with-system-libtextcat \ -# --with-external-libtextcat-data \ #--enable-split-opt-features Split file lists for some optional features, .e.g. pyuno, testtool -#--with-servlet-api-jar=JARFILE -# see http://qa.openoffice.org/issues/show_bug.cgi?id=110136 -# --with-system-saxon\ -# --with-saxon-jar=/usr/share/java/saxon/saxon9he.jar\ - touch src.downloaded #./download make @@ -352,7 +345,7 @@ package_libreoffice-common() { } package_libreoffice-base() { - pkgdesc="GUI Spreadsheet Applicationdatabase front-end for LibreOffice. Allows creation and management of databases through a GUI." + pkgdesc="GUI database front-end for LibreOffice. Allows creation and management of databases through a GUI." install=libreoffice-base.install depends=('libreoffice-common' 'hsqldb-java') optdepends=('libreoffice-postgresql-connector') @@ -701,3 +694,25 @@ package_libreoffice-extension-scripting-python() { install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/script-provider-for-python.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-python } + +package_libreoffice-extension-wiki-publisher() { + + pkgdesc="This extension enables you to create Wiki articles on MediaWiki servers without having to know the syntax of the MediaWiki markup language" + #arch=('any') + depends=('libreoffice-common' 'java-environment') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions + unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher +} + +package_libreoffice-extension-nlpsolver() { + + pkgdesc="This extension integrates into Calc and offers new Solver engines to use for optimizing nonlinear programming models" + #arch=('any') + depends=('libreoffice-common' 'java-environment') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions + unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver +} diff --git a/extra/libreoffice/PKGBUILD.36 b/extra/libreoffice/PKGBUILD.36 index 6a3d0fe0d..b5dc0bee1 100644 --- a/extra/libreoffice/PKGBUILD.36 +++ b/extra/libreoffice/PKGBUILD.36 @@ -21,9 +21,11 @@ pkgname=('libreoffice-common' 'libreoffice-extension-report-builder' 'libreoffice-scripting-beanshell' 'libreoffice-scripting-javascript' - 'libreoffice-extension-scripting-python') # svn up -r 142692 (last one with all extensions built -_LOver=3.6.0.0.beta2 -pkgver=3.6.0beta2 + 'libreoffice-extension-scripting-python' + 'libreoffice-extension-wiki-publisher' + 'libreoffice-extension-nlpsolver') # svn up -r 142692 (last one with all extensions built +_LOver=3.6.0.0.beta3 +pkgver=3.6.0beta3 pkgrel=1 arch=('i686' 'x86_64') license=('LGPL3') @@ -32,7 +34,7 @@ makedepends=( # makedepends 'sane' 'perl-archive-zip' 'zip' 'unzip' 'unixodbc' 'hsqldb-java' 'boost' 'apache-ant' 'gperf' 'poppler>=0.18.0' 'kdelibs' 'gconf' 'cppunit' 'beanshell' 'vigra' 'clucene' 'junit' 'libmythes' 'libwpg' 'imagemagick' - 'mesa' 'gstreamer0.10-base' 'java-environment' 'postgresql-libs' 'doxygen' + 'mesa' 'gstreamer0.10-base' 'java-environment' 'postgresql-libs' 'doxygen' 'clucene' #'saxon' - currently broken # the runtime dependencies "curl>=7.20.0" "hunspell>=1.2.8" "python2>=2.7" 'libwpd>=0.9.2' 'libwps' 'libxaw' "neon>=0.28.6" @@ -50,8 +52,8 @@ _additional_source_url="http://dev-www.libreoffice.org/src" _additional_source_url2="http://dev-www.libreoffice.org/extern" source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz ${_additional_source_url}/18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz - ${_additional_source_url}/48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz - ${_additional_source_url}/90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2 + ${_additional_source_url}/f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 + ${_additional_source_url}/a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2 ${_additional_source_url}/1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz ${_additional_source_url}/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip ${_additional_source_url}/798b2ffdc8bcfe7bca2cf92b62caf685-rhino1_5R5.zip @@ -76,14 +78,14 @@ source=(${_mirror}/${pkgbase}-{core,help,translations}-${_LOver}.tar.xz ${_additional_source_url}/ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip ${_additional_source_url}/0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2 ${_additional_source_url}/6097739c841f671cb21332b9cc593ae7-libexttextcat-3.3.1.tar.bz2 - ${_additional_source_url}/ce31ac7b92cb5e66459f67213bbb6168-libcmis-0.2.2.tar.gz + ${_additional_source_url}/0d2dcdfbf28d6208751b33057f5361f0-libcmis-0.2.3.tar.gz ${_additional_source_url}/ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2 ${_additional_source_url2}/185d60944ea767075d27247c3162b3bc-unowinreg.dll buildfix.diff libreoffice-common.sh libreoffice-common.csh) -noextract=(90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2 +noextract=(a9a1db27688bad49418667b434d29c1f-libvisio-0.0.18.tar.bz2 18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz - 48d647fbd8ef8889e5a7f422c1bfda94-clucene-core-2.3.3.4.tar.gz + f02578f5218f217a9f20e9c30e119c6a-boost_1_44_0.tar.bz2 185d60944ea767075d27247c3162b3bc-unowinreg.dll 0ff7d225d087793c8c2c680d77aac3e7-mdds_0.5.3.tar.bz2 ada24d37d8d638b3d8a9985e80bc2978-source-9.0.0.7-bj.zip @@ -91,7 +93,7 @@ noextract=(90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2 1f24ab1d39f4a51faf22244c94a6203f-xmlsec1-1.2.14.tar.gz fdb27bfe2dbe2e7b57ae194d9bf36bab-SampleICC-1.3.2.tar.gz 6097739c841f671cb21332b9cc593ae7-libexttextcat-3.3.1.tar.bz2 - ce31ac7b92cb5e66459f67213bbb6168-libcmis-0.2.2.tar.gz + 0d2dcdfbf28d6208751b33057f5361f0-libcmis-0.2.3.tar.gz 35c94d2df8893241173de1d16b6034c0-swingExSrc.zip 2a177023f9ea8ec8bd00837605c5df1b-jakarta-tomcat-5.0.30-src.tar.gz a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip @@ -111,12 +113,12 @@ noextract=(90010e213dd25648e70f0cc12f8fed55-libvisio-0.0.17.tar.bz2 db60e4fde8dd6d6807523deb71ee34dc-liblayout-0.2.10.zip ce5a1def34578b75959ac31210f031f6-libcdr-0.0.8.tar.bz2 ba2930200c9f019c2d93a8c88c651a0f-flow-engine-0.9.4.zip) -md5sums=('97183afb02576d5542a1eda3f29f9517' - '3368bc1adfa9e7d6d6f3ce2cee9e164e' - '7191e46a3f48ad7a7d5a21e985790e6a' +md5sums=('2f471473f405a373e8d9ca5870d3861d' + '0db44b0cc908fe4288d40d3869137d76' + '4b2f46f015c1112f9b65f9ed8ba409b6' '18f577b374d60b3c760a3a3350407632' - '48d647fbd8ef8889e5a7f422c1bfda94' - '90010e213dd25648e70f0cc12f8fed55' + 'f02578f5218f217a9f20e9c30e119c6a' + 'a9a1db27688bad49418667b434d29c1f' '1f24ab1d39f4a51faf22244c94a6203f' '35c94d2df8893241173de1d16b6034c0' '798b2ffdc8bcfe7bca2cf92b62caf685' @@ -141,7 +143,7 @@ md5sums=('97183afb02576d5542a1eda3f29f9517' 'ba2930200c9f019c2d93a8c88c651a0f' '0ff7d225d087793c8c2c680d77aac3e7' '6097739c841f671cb21332b9cc593ae7' - 'ce31ac7b92cb5e66459f67213bbb6168' + '0d2dcdfbf28d6208751b33057f5361f0' 'ce5a1def34578b75959ac31210f031f6' '185d60944ea767075d27247c3162b3bc' '234e91ac65945ce1ab1e3839780e90f7' @@ -180,12 +182,12 @@ build() { # python2 fix export PYTHON=python2 - autoconf -f + #autoconf -f # non-SMP test build - export MAKEFLAGS="-j1" + #export MAKEFLAGS="-j1" #./configure --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \ -# touch autogen.lastrun + ./autogen.sh --with-build-version="${_LOver} ArchLinux build-${pkgrel}" --with-vendor="ArchLinux" \ --with-unix-wrapper="libreoffice" \ --enable-split-app-modules \ @@ -210,6 +212,8 @@ build() { --enable-odk\ --enable-ext-scripting-beanshell \ --enable-ext-scripting-javascript \ + --enable-ext-wiki-publisher \ + --enable-ext-nlpsolver \ --disable-ext-mysql-connector \ --with-system-mysql \ --enable-librsvg=system \ @@ -240,31 +244,20 @@ build() { --without-system-mozilla \ --without-system-mozilla-headers \ --with-ant-home="/usr/share/apache-ant"\ - --with-system-boost\ + --without-system-boost\ --with-system-cairo\ --with-system-libs\ --with-system-mythes\ --with-system-headers\ --with-system-hsqldb \ --with-alloc=system\ - --without-system-clucene\ + --with-system-clucene\ + --without-system-servlet-api \ --with-java-target-version=1.5 \ $EXTRAOPTS -# --disable-ext-lightproof \ - - -#--with-install-dirname="${pkgbase}" -# --enable-cairo\ -# --with-system-libtextcat \ -# --with-external-libtextcat-data \ #--enable-split-opt-features Split file lists for some optional features, .e.g. pyuno, testtool -#--with-servlet-api-jar=JARFILE -# see http://qa.openoffice.org/issues/show_bug.cgi?id=110136 -# --with-system-saxon\ -# --with-saxon-jar=/usr/share/java/saxon/saxon9he.jar\ - touch src.downloaded #./download make @@ -349,7 +342,7 @@ package_libreoffice-common() { } package_libreoffice-base() { - pkgdesc="GUI Spreadsheet Applicationdatabase front-end for LibreOffice. Allows creation and management of databases through a GUI." + pkgdesc="GUI database front-end for LibreOffice. Allows creation and management of databases through a GUI." install=libreoffice-base.install depends=('libreoffice-common' 'hsqldb-java') optdepends=('libreoffice-postgresql-connector') @@ -698,3 +691,25 @@ package_libreoffice-extension-scripting-python() { install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/script-provider-for-python.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/script-provider-for-python } + +package_libreoffice-extension-wiki-publisher() { + + pkgdesc="This extension enables you to create Wiki articles on MediaWiki servers without having to know the syntax of the MediaWiki markup language" + #arch=('any') + depends=('libreoffice-common' 'java-environment') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions + unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/wiki-publisher.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/wiki-publisher +} + +package_libreoffice-extension-nlpsolver() { + + pkgdesc="This extension integrates into Calc and offers new Solver engines to use for optimizing nonlinear programming models" + #arch=('any') + depends=('libreoffice-common' 'java-environment') + groups=('libreoffice-extensions') + + install -dm755 ${pkgdir}/usr/lib/libreoffice/share/extensions + unzip -q ${srcdir}/libreoffice-core-$_LOver/solver/unxlng*/bin/nlpsolver.oxt -d ${pkgdir}/usr/lib/libreoffice/share/extensions/nlpsolver +} diff --git a/extra/mkvtoolnix/PKGBUILD b/extra/mkvtoolnix/PKGBUILD index a513693e7..c79db4501 100644 --- a/extra/mkvtoolnix/PKGBUILD +++ b/extra/mkvtoolnix/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 160008 2012-05-27 23:45:07Z giovanni $ +# $Id: PKGBUILD 163223 2012-07-11 09:07:08Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: xduugu pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk') -pkgver=5.6.0 +pkgver=5.7.0 pkgrel=1 arch=('i686' 'x86_64') license=('GPL') @@ -12,7 +12,7 @@ url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk' 'boost-libs' 'lzo2' 'xdg-utils' 'boost' 'ruby') source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2") -md5sums=('53e96b613752913da800dcde7b65cf6d') +md5sums=('99ea44be570412dadafe4ccaee0cfe6e') build() { cd "${srcdir}/${pkgbase}-${pkgver}" diff --git a/extra/swig/PKGBUILD b/extra/swig/PKGBUILD index d1658694a..e7f999488 100644 --- a/extra/swig/PKGBUILD +++ b/extra/swig/PKGBUILD @@ -1,20 +1,31 @@ -# $Id: PKGBUILD 161852 2012-06-15 16:11:26Z stephane $ +# $Id: PKGBUILD 163234 2012-07-11 16:22:59Z stephane $ # Maintainer: Stéphane Gaudreault # Contributor: Tom Newsom pkgname=swig pkgver=2.0.7 -pkgrel=1 +pkgrel=2 pkgdesc="Generate scripting interfaces to C/C++ code" arch=('i686' 'x86_64') url="http://www.swig.org/" license=('custom') depends=('zlib' 'pcre') -source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz) -sha1sums=('307020fb6437092e32c9c1bd9af8bccb1645b529') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz + pyint_fromsize_t.diff + upstream_r13128.diff) +sha1sums=('307020fb6437092e32c9c1bd9af8bccb1645b529' + '59ee179b57920d255c58afe45632b896e40b5b7d' + '8f0c5ae6a46c22606cc88c649bfd0a31f061a963') build() { cd "${srcdir}/${pkgname}-${pkgver}" + + # FS#30624 + patch -Np1 -i ../pyint_fromsize_t.diff + + # Fix call to Swig_name_decl + patch -Np1 -i ../upstream_r13128.diff + ./configure --prefix=/usr make } diff --git a/extra/swig/pyint_fromsize_t.diff b/extra/swig/pyint_fromsize_t.diff new file mode 100644 index 000000000..1c7727ae2 --- /dev/null +++ b/extra/swig/pyint_fromsize_t.diff @@ -0,0 +1,18 @@ +Description: Py3k: Map PyInt_FromSize_t to PyLong_FromSize_t + The latest SWIG version introduced a usage of PyInt_FromSize_t, but + does not define a compatibility macro for Python 3k as for the other + PyInt_... functions. This patch adds that macro. + +Author: Torsten Landschoff + + +--- swig2.0-2.0.7.orig/Lib/python/pyhead.swg ++++ swig2.0-2.0.7/Lib/python/pyhead.swg +@@ -5,6 +5,7 @@ + #define PyInt_Check(x) PyLong_Check(x) + #define PyInt_AsLong(x) PyLong_AsLong(x) + #define PyInt_FromLong(x) PyLong_FromLong(x) ++#define PyInt_FromSize_t(x) PyLong_FromSize_t(x) + #define PyString_Check(name) PyBytes_Check(name) + #define PyString_FromString(x) PyUnicode_FromString(x) + #define PyString_Format(fmt, args) PyUnicode_Format(fmt, args) diff --git a/extra/swig/upstream_r13128.diff b/extra/swig/upstream_r13128.diff new file mode 100644 index 000000000..d7d74d7e5 --- /dev/null +++ b/extra/swig/upstream_r13128.diff @@ -0,0 +1,73 @@ +From: Klaus Kämpf +Subject: Fix call to Swig_name_decl (upstream ID 3530078) + +Origin: upstream, http://swig.svn.sourceforge.net/viewvc/swig?view=revision&revision=13128 +Bug: http://sourceforge.net/tracker/?func=detail&aid=3530078&group_id=1645&atid=101645 +Bug-Debian: http://bugs.debian.org/675196 +--- + Examples/test-suite/errors/expected.log | 26 +++++++++++++------------- + Source/Modules/lang.cxx | 4 ++-- + 2 files changed, 15 insertions(+), 15 deletions(-) + +--- a/Source/Modules/lang.cxx ++++ b/Source/Modules/lang.cxx +@@ -2623,7 +2623,7 @@ int Language::constructorDeclaration(Nod + Delete(expected_name_resolved); + } + if (illegal_name) { +- Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(name)); ++ Swig_warning(WARN_LANG_RETURN_TYPE, input_file, line_number, "Function %s must have a return type. Ignored.\n", Swig_name_decl(n)); + Swig_restore(n); + return SWIG_NOWRAP; + } +@@ -2760,7 +2760,7 @@ int Language::destructorDeclaration(Node + } + + if (illegal_name) { +- Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(name)); ++ Swig_warning(WARN_LANG_ILLEGAL_DESTRUCTOR, input_file, line_number, "Illegal destructor name %s. Ignored.\n", Swig_name_decl(n)); + Swig_restore(n); + Delete(expected_name); + return SWIG_NOWRAP; +--- a/Examples/test-suite/errors/expected.log ++++ b/Examples/test-suite/errors/expected.log +@@ -227,17 +227,17 @@ cpp_extend_destructors.i:87: Warning 302 + cpp_extend_destructors.i:85: Warning 302: previous definition of '~JStruct'. + cpp_extend_destructors.i:100: Warning 302: Identifier '~LStruct' redefined (ignored), + cpp_extend_destructors.i:98: Warning 302: previous definition of '~LStruct'. +-cpp_extend_destructors.i:24: Warning 521: Illegal destructor name ~NOT_CStruct. Ignored. +-cpp_extend_destructors.i:30: Warning 521: Illegal destructor name ~NOT_DStruct. Ignored. +-cpp_extend_destructors.i:44: Warning 521: Illegal destructor name ~NOT_EStruct. Ignored. +-cpp_extend_destructors.i:50: Warning 521: Illegal destructor name ~NOT_FStruct. Ignored. +-cpp_extend_destructors.i:65: Warning 521: Illegal destructor name ~NOT_GStruct. Ignored. +-cpp_extend_destructors.i:72: Warning 521: Illegal destructor name ~NOT_HStruct. Ignored. +-cpp_extend_destructors.i:81: Warning 521: Illegal destructor name ~NOT_IStruct. Ignored. +-cpp_extend_destructors.i:86: Warning 521: Illegal destructor name ~NOT_JStruct. Ignored. +-cpp_extend_destructors.i:92: Warning 521: Illegal destructor name ~NOT_KStruct. Ignored. +-cpp_extend_destructors.i:99: Warning 521: Illegal destructor name ~NOT_LStruct< int >. Ignored. +-cpp_extend_destructors.i:99: Warning 521: Illegal destructor name ~NOT_LStruct< short >. Ignored. ++cpp_extend_destructors.i:24: Warning 521: Illegal destructor name CStruct::~NOT_CStruct(). Ignored. ++cpp_extend_destructors.i:30: Warning 521: Illegal destructor name DStruct::~NOT_DStruct(). Ignored. ++cpp_extend_destructors.i:44: Warning 521: Illegal destructor name EStruct::~NOT_EStruct(). Ignored. ++cpp_extend_destructors.i:50: Warning 521: Illegal destructor name FStruct::~NOT_FStruct(). Ignored. ++cpp_extend_destructors.i:65: Warning 521: Illegal destructor name GStruct::~NOT_GStruct(). Ignored. ++cpp_extend_destructors.i:72: Warning 521: Illegal destructor name HStruct::~NOT_HStruct(). Ignored. ++cpp_extend_destructors.i:81: Warning 521: Illegal destructor name IStruct::~NOT_IStruct(). Ignored. ++cpp_extend_destructors.i:86: Warning 521: Illegal destructor name JStruct::~NOT_JStruct(). Ignored. ++cpp_extend_destructors.i:92: Warning 521: Illegal destructor name KStruct::~NOT_KStruct(). Ignored. ++cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct< int >::~NOT_LStruct(). Ignored. ++cpp_extend_destructors.i:99: Warning 521: Illegal destructor name LStruct< short >::~NOT_LStruct(). Ignored. + + :::::::::::::::::::::::::::::::: cpp_extend_redefine.i ::::::::::::::::::::::::::::::::::: + cpp_extend_redefine.i:9: Warning 302: Identifier 'bar' redefined by %extend (ignored), +@@ -312,8 +312,8 @@ cpp_nested.i:12: Warning 325: Nested cla + cpp_no_access.i:3: Warning 319: No access specifier given for base class 'foo' (ignored). + + :::::::::::::::::::::::::::::::: cpp_no_return_type.i ::::::::::::::::::::::::::::::::::: +-cpp_no_return_type.i:6: Warning 504: Function R must have a return type. Ignored. +-cpp_no_return_type.i:10: Warning 504: Function UU must have a return type. Ignored. ++cpp_no_return_type.i:6: Warning 504: Function S::R() must have a return type. Ignored. ++cpp_no_return_type.i:10: Warning 504: Function U::UU() must have a return type. Ignored. + + :::::::::::::::::::::::::::::::: cpp_nobase.i ::::::::::::::::::::::::::::::::::: + cpp_nobase.i:3: Warning 401: Nothing known about base class 'Bar'. Ignored. diff --git a/extra/telepathy-qt/PKGBUILD b/extra/telepathy-qt/PKGBUILD index 18ffc0fba..ab037ef5b 100644 --- a/extra/telepathy-qt/PKGBUILD +++ b/extra/telepathy-qt/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 156982 2012-04-23 09:10:33Z ibiru $ +# $Id: PKGBUILD 163229 2012-07-11 13:09:39Z andrea $ # Maintainer: Ionut Biru # Maintainer: Andrea Scarpino pkgname=telepathy-qt -pkgver=0.9.1 +pkgver=0.9.2 pkgrel=1 pkgdesc="A library for Qt-based Telepathy clients" arch=('i686' 'x86_64') @@ -15,15 +15,11 @@ makedepends=('libxslt' 'python2' 'cmake' 'doxygen') conflicts=('telepathy-qt4') replaces=('telepathy-qt4') provides=('telepathy-qt4') -source=("http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz" - 'gcc47.patch') -md5sums=('e0e6c1a987bbeae44c778344a2cc9d80' - '32aa8eb06c76cb03af5ced27a674ebfb') +source=("http://telepathy.freedesktop.org/releases/${pkgname}/${pkgname}-${pkgver}.tar.gz") +md5sums=('e49df0c6d19bbac622209d0f87f0d1b2') build() { cd "$srcdir" - patch -Np0 -i gcc47.patch - mkdir build cd build cmake ../${pkgname}-${pkgver} \ diff --git a/kde-unstable/kactivities/PKGBUILD b/kde-unstable/kactivities/PKGBUILD index 0b93deedd..b543a3568 100644 --- a/kde-unstable/kactivities/PKGBUILD +++ b/kde-unstable/kactivities/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162547 2012-06-27 12:52:39Z andrea $ +# $Id: PKGBUILD 163353 2012-07-11 21:54:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kactivities -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='API for using and interacting with the Activity Manager' @@ -11,7 +11,7 @@ license=('GPL' 'FDL') depends=('kdelibs') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('681157b54742cfccc5b77a71054dbe397863304b') +sha1sums=('46ceae20db381c0e4de77f46246ff0db6fdd43a4') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeaccessibility-jovie/PKGBUILD b/kde-unstable/kdeaccessibility-jovie/PKGBUILD index 9c13028af..5f172c1ab 100644 --- a/kde-unstable/kdeaccessibility-jovie/PKGBUILD +++ b/kde-unstable/kdeaccessibility-jovie/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162571 2012-06-27 13:08:22Z andrea $ +# $Id: PKGBUILD 163377 2012-07-11 22:11:15Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeaccessibility-jovie -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='A text to speech application' @@ -14,7 +14,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdeaccessibility-kttsd') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/jovie-${pkgver}.tar.xz") -sha1sums=('c979886f9c240de02c1906bb0eed85e94ef20cf4') +sha1sums=('ac2759c78ba1ed0a10bf71e65a3b12fea3fb8cf6') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD b/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD index eada4e8ad..16552c3e0 100644 --- a/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD +++ b/kde-unstable/kdeaccessibility-kaccessible/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162572 2012-06-27 13:08:52Z andrea $ +# $Id: PKGBUILD 163379 2012-07-11 22:11:47Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeaccessibility-kaccessible -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='Provides accessibility services like focus tracking and a screenreader' @@ -12,7 +12,7 @@ groups=('kde' 'kdeaccessibility') depends=('kdelibs' 'speech-dispatcher') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/kaccessible-${pkgver}.tar.xz") -sha1sums=('d213142697ba9c8e7d062e4fd479d46ba0d98d90') +sha1sums=('ad70cb9c3d11a4cc3881d689ec7329585a725e60') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeaccessibility-kmag/PKGBUILD b/kde-unstable/kdeaccessibility-kmag/PKGBUILD index aa7fe70d0..f2e3fbbfa 100644 --- a/kde-unstable/kdeaccessibility-kmag/PKGBUILD +++ b/kde-unstable/kdeaccessibility-kmag/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162573 2012-06-27 13:09:23Z andrea $ +# $Id: PKGBUILD 163380 2012-07-11 22:12:16Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeaccessibility-kmag -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='Screen Magnifier' @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kmag-${pkgver}.tar.xz") -sha1sums=('8e62bf64dd0499dc5e2bb91623dbd9ea41c8dde1') +sha1sums=('fc25e930cdd1c9b03553a2fb6923ead410793c6a') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD b/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD index 6a7d5f98e..440defdc9 100644 --- a/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD +++ b/kde-unstable/kdeaccessibility-kmousetool/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162574 2012-06-27 13:09:50Z andrea $ +# $Id: PKGBUILD 163381 2012-07-11 22:12:44Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeaccessibility-kmousetool -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='Clicks the mouse for you, reducing the effects of RSI' @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kmousetool-${pkgver}.tar.xz") -sha1sums=('96bfecd0e7359e622bb336d7b20a24446a013379') +sha1sums=('c5f413aeb0ff01d574e66bc310c8b074dd952cf5') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeaccessibility-kmouth/PKGBUILD b/kde-unstable/kdeaccessibility-kmouth/PKGBUILD index 228cb60d2..d1cfc7f6a 100644 --- a/kde-unstable/kdeaccessibility-kmouth/PKGBUILD +++ b/kde-unstable/kdeaccessibility-kmouth/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162575 2012-06-27 13:10:16Z andrea $ +# $Id: PKGBUILD 163382 2012-07-11 22:13:13Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeaccessibility-kmouth -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') pkgdesc='Speech Synthesizer Frontend' @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kmouth-${pkgver}.tar.xz") -sha1sums=('5dc66f0b762584b9e595ae84c1bc1e861f9a8c29') +sha1sums=('1d553d6c2a0fac255a21616b8b0fe87348862adf') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeadmin/PKGBUILD b/kde-unstable/kdeadmin/PKGBUILD index 7ec94acb3..81b160ffe 100644 --- a/kde-unstable/kdeadmin/PKGBUILD +++ b/kde-unstable/kdeadmin/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162576 2012-06-27 13:10:49Z andrea $ +# $Id: PKGBUILD 163383 2012-07-11 22:13:48Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -7,7 +7,7 @@ pkgname=('kdeadmin-kcron' 'kdeadmin-ksystemlog' 'kdeadmin-kuser' 'kdeadmin-system-config-printer-kde') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -16,7 +16,7 @@ groups=('kde' 'kdeadmin') makedepends=('cmake' 'automoc4' 'kdebindings-python2' 'system-config-printer-common') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" 'syslog-path.patch') -sha1sums=('f1a1fcb8595c41eb636fb6163de5caf08a089445' +sha1sums=('f118b707c2f1d0d64ee321992f14da9e3b5518f9' '20095ce6e0f3e5b6800a7c6e52de6fddba62c031') build() { diff --git a/kde-unstable/kdeartwork/PKGBUILD b/kde-unstable/kdeartwork/PKGBUILD index 0e08b32bd..a5879c577 100644 --- a/kde-unstable/kdeartwork/PKGBUILD +++ b/kde-unstable/kdeartwork/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162577 2012-06-27 13:11:26Z andrea $ +# $Id: PKGBUILD 163384 2012-07-11 22:14:25Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -13,7 +13,7 @@ pkgname=('kdeartwork-aurorae' 'kdeartwork-styles' 'kdeartwork-wallpapers' 'kdeartwork-weatherwallpapers') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -22,7 +22,7 @@ groups=('kde' 'kdeartwork') makedepends=('cmake' 'automoc4' 'xscreensaver' 'eigen' 'kdebase-workspace' 'libkexiv2') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('e511aad4e8aef12ed4b660cae11159ade834ad8d') +sha1sums=('b8f2d992b5aa8b54300df27d180f33db849cf708') build() { cd $srcdir diff --git a/kde-unstable/kdebase-konsole/PKGBUILD b/kde-unstable/kdebase-konsole/PKGBUILD index 5d6963415..a8c8be804 100644 --- a/kde-unstable/kdebase-konsole/PKGBUILD +++ b/kde-unstable/kdebase-konsole/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162578 2012-06-27 13:16:12Z andrea $ +# $Id: PKGBUILD 163385 2012-07-11 22:19:58Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebase-konsole -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://kde.org/applications/system/konsole/' @@ -12,7 +12,7 @@ groups=('kde' 'kdebase') depends=('kdebase-runtime' 'kdebase-lib') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/konsole-${pkgver}.tar.xz") -sha1sums=('1f6d8719fa9c82f3239e3ceb2c1e40f05fc835a0') +sha1sums=('f644fbe162d1f852396898f11ae52765da356ecb') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebase-runtime/PKGBUILD b/kde-unstable/kdebase-runtime/PKGBUILD index f56cbc41c..10909a591 100644 --- a/kde-unstable/kdebase-runtime/PKGBUILD +++ b/kde-unstable/kdebase-runtime/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162548 2012-06-27 12:53:06Z andrea $ +# $Id: PKGBUILD 163354 2012-07-11 21:54:44Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz pkgname=kdebase-runtime -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Plugins and applications necessary for the running of KDE applications" arch=('i686' 'x86_64') @@ -17,7 +17,7 @@ optdepends=('htdig: to build the search index in khelpcenter' 'gdb: drkonq crash handler') install="${pkgname}.install" source=("http://download.kde.org/unstable/${pkgver}/src/kde-runtime-${pkgver}.tar.xz") -sha1sums=('3337f5ae6e2cd18e444a71b32875b7a39097b507') +sha1sums=('5eff74a293c9adf8e76fb45f5a085726c083c179') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebase-workspace/PKGBUILD b/kde-unstable/kdebase-workspace/PKGBUILD index 6b764f957..b4b4a6f3f 100644 --- a/kde-unstable/kdebase-workspace/PKGBUILD +++ b/kde-unstable/kdebase-workspace/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 162981 2012-07-04 16:13:26Z andrea $ +# $Id: PKGBUILD 163366 2012-07-11 22:03:30Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz pkgname=kdebase-workspace _pkgname=kde-workspace -pkgver=4.8.95 -pkgrel=2 +pkgver=4.8.97 +pkgrel=1 pkgdesc="Provides the interface and basic tools for the KDE workspace" arch=('i686' 'x86_64') url='https://projects.kde.org/projects/kde/kde-workspace' @@ -30,7 +30,7 @@ options=('emptydirs') source=("http://download.kde.org/unstable/${pkgver}/src/${_pkgname}-${pkgver}.tar.xz" 'kdm' 'kde.pam' 'kde-np.pam' 'kscreensaver.pam' 'kdm.service' 'fixpath.patch' 'terminate-server.patch' 'kdm-xinitrd.patch') -sha1sums=('460b8889c225114b5b0ed84a05ea82e851bfd6cf' +sha1sums=('c02cab54df42b1452c183a1234405cfd6df18be7' '5db3a245201bd4a50e65aa2ef583cf5490e4f646' '712a90999bd429883dcef5dcaf288aace332ced8' 'b321b5e613b60231330e606fdf1e124646148388' diff --git a/kde-unstable/kdebase/PKGBUILD b/kde-unstable/kdebase/PKGBUILD index 36d9ea684..8e937bfab 100644 --- a/kde-unstable/kdebase/PKGBUILD +++ b/kde-unstable/kdebase/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162561 2012-06-27 13:02:48Z andrea $ +# $Id: PKGBUILD 163367 2012-07-11 22:05:12Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -12,7 +12,7 @@ pkgname=('kdebase-dolphin' 'kdebase-konqueror' 'kdebase-lib' 'kdebase-plasma') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -20,7 +20,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdebase') makedepends=('kdelibs' 'cmake' 'automoc4' 'tidyhtml') source=("http://download.kde.org/unstable/${pkgver}/src/kde-baseapps-${pkgver}.tar.xz") -sha1sums=('35558eee1acdb796985b245cf3630a41dc7eb145') +sha1sums=('acaff6f33648b3c39d9af402d24c9197e8b179e4') build() { cd ${srcdir} diff --git a/kde-unstable/kdebindings-kimono/PKGBUILD b/kde-unstable/kdebindings-kimono/PKGBUILD index c778ea771..2f27cf6c8 100644 --- a/kde-unstable/kdebindings-kimono/PKGBUILD +++ b/kde-unstable/kdebindings-kimono/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162579 2012-06-27 13:16:42Z andrea $ +# $Id: PKGBUILD 163386 2012-07-11 22:20:40Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-kimono -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc=".NET/Mono bindings for the KDE libraries" url="https://projects.kde.org/projects/kde/kdebindings/csharp/kimono" @@ -13,7 +13,7 @@ depends=('kdebindings-qyoto' 'kdebindings-smokekde') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'boost' 'kdepimlibs') conflicts=('kdebindings-csharp') source=("http://download.kde.org/unstable/${pkgver}/src/kimono-${pkgver}.tar.xz") -sha1sums=('3acb4568a0d66fcc6246a728945bf2eb63fd4db9') +sha1sums=('e2f5d0a97364fc74844bfb5c443008502f82b9d0') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-korundum/PKGBUILD b/kde-unstable/kdebindings-korundum/PKGBUILD index 15eccbdac..20167d978 100644 --- a/kde-unstable/kdebindings-korundum/PKGBUILD +++ b/kde-unstable/kdebindings-korundum/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162580 2012-06-27 13:17:11Z andrea $ +# $Id: PKGBUILD 163387 2012-07-11 22:21:19Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-korundum -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Ruby bindings for libraries created by the KDE community" url="https://projects.kde.org/projects/kde/kdebindings/ruby/korundum" @@ -16,7 +16,7 @@ conflicts=('kdebindings-ruby') options=('!makeflags') source=("http://download.kde.org/unstable/${pkgver}/src/korundum-${pkgver}.tar.xz" 'ruby19.patch') -sha1sums=('10d25abd06c81a4bda3335ced345014fa5cb8e2b' +sha1sums=('432655321eefb8b3635c03c55e02175163340131' '73299f56a891d8a5475ac07dd485619859312f70') build() { diff --git a/kde-unstable/kdebindings-kross/PKGBUILD b/kde-unstable/kdebindings-kross/PKGBUILD index ae8f9331a..534231c19 100644 --- a/kde-unstable/kdebindings-kross/PKGBUILD +++ b/kde-unstable/kdebindings-kross/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 162581 2012-06-27 13:17:43Z andrea $ +# $Id: PKGBUILD 163388 2012-07-11 22:21:58Z andrea $ # Maintainer: Andrea Scarpino pkgbase=kdebindings-kross pkgname=('kdebindings-kross-python' # 'kdebindings-kross-ruby' 'kdebindings-kross-java') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 url="https://projects.kde.org/projects/kde/kdebindings/kross-interpreters" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kdebindings') makedepends=('kdelibs' 'cmake' 'automoc4' 'python2' 'java-environment') source=("http://download.kde.org/unstable/${pkgver}/src/kross-interpreters-${pkgver}.tar.xz") -sha1sums=('533e2149ca31cb501cc1d9400c42511ed31c3abb') +sha1sums=('ab041689b0e1386997f5dc062eb791c17ed5987b') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-perlkde/PKGBUILD b/kde-unstable/kdebindings-perlkde/PKGBUILD index a88460753..cb985645e 100644 --- a/kde-unstable/kdebindings-perlkde/PKGBUILD +++ b/kde-unstable/kdebindings-perlkde/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162582 2012-06-27 13:18:12Z andrea $ +# $Id: PKGBUILD 163389 2012-07-11 22:22:32Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-perlkde -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Perl bindings for the KDE libraries" url="https://projects.kde.org/projects/kde/kdebindings/perl/perlkde" @@ -13,7 +13,7 @@ depends=('kdebindings-perlqt' 'kdebindings-smokekde') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen' 'kdepimlibs' 'kdegraphics-okular' 'kdesdk-kate') source=("http://download.kde.org/unstable/${pkgver}/src/perlkde-${pkgver}.tar.xz") -sha1sums=('bd7a711808c14df81e6a3e4d3198a88936a9a086') +sha1sums=('e0577df7a98bb4c7e7c3be3cb124ff1553a76f85') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-perlqt/PKGBUILD b/kde-unstable/kdebindings-perlqt/PKGBUILD index 68cabcff2..86d5ca06d 100644 --- a/kde-unstable/kdebindings-perlqt/PKGBUILD +++ b/kde-unstable/kdebindings-perlqt/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162555 2012-06-27 12:57:37Z andrea $ +# $Id: PKGBUILD 163361 2012-07-11 21:59:30Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-perlqt -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Perl bindings for the Qt libraries" url="https://projects.kde.org/projects/kde/kdebindings/perl/perlqt" @@ -12,7 +12,7 @@ groups=('kdebindings') depends=('kdebindings-smokeqt' 'perl-list-moreutils') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') source=("http://download.kde.org/unstable/${pkgver}/src/perlqt-${pkgver}.tar.xz") -sha1sums=('4eb3f12bde0b1a0bc1bc07ec9c11fb057e8ce9bc') +sha1sums=('387afb6746d55fa4d63ee5885e91cd12b6161f5e') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-python/PKGBUILD b/kde-unstable/kdebindings-python/PKGBUILD index 46bcfd05a..a809c8ea5 100644 --- a/kde-unstable/kdebindings-python/PKGBUILD +++ b/kde-unstable/kdebindings-python/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 162688 2012-06-28 07:00:06Z andrea $ +# $Id: PKGBUILD 163362 2012-07-11 22:00:05Z andrea $ # Maintainer: Andrea Scarpino pkgbase=kdebindings-python pkgname=('kdebindings-python' 'kdebindings-python2') -pkgver=4.8.95 -pkgrel=2 +pkgver=4.8.97 +pkgrel=1 url='https://projects.kde.org/projects/kde/kdebindings/pykde4' arch=('i686' 'x86_64') license=('GPL' 'LGPL' 'FDL') @@ -13,7 +13,7 @@ groups=('kdebindings') makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'python2-pyqt' 'pyqt' 'qscintilla' 'python2-sip' 'python-sip') source=("http://download.kde.org/unstable/${pkgver}/src/pykde4-${pkgver}.tar.xz") -sha1sums=('e0b674d266f679d9dc36b28bff46767cba97f280') +sha1sums=('734f97218bb867bd36ac9d25bac89c5d8b0b60cd') build() { export PYTHONDONTWRITEBYTECODE="TRUE" diff --git a/kde-unstable/kdebindings-qtruby/PKGBUILD b/kde-unstable/kdebindings-qtruby/PKGBUILD index c0f68fce1..c4924890d 100644 --- a/kde-unstable/kdebindings-qtruby/PKGBUILD +++ b/kde-unstable/kdebindings-qtruby/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162558 2012-06-27 12:59:30Z andrea $ +# $Id: PKGBUILD 163364 2012-07-11 22:01:31Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-qtruby -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Ruby bindings for the Qt libraries" url="https://projects.kde.org/projects/kde/kdebindings/ruby/qtruby" @@ -13,7 +13,7 @@ depends=('kdebindings-smokeqt' 'ruby') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') conflicts=('kdebindings-ruby') source=("http://download.kde.org/unstable/${pkgver}/src/qtruby-${pkgver}.tar.xz") -sha1sums=('2a336acd84308fbbb54c8d63da54c136edc7c8a7') +sha1sums=('9b553519fcc65348d2c2c87bb36fb2c74490f058') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-qyoto/PKGBUILD b/kde-unstable/kdebindings-qyoto/PKGBUILD index f8330636c..97a252a9d 100644 --- a/kde-unstable/kdebindings-qyoto/PKGBUILD +++ b/kde-unstable/kdebindings-qyoto/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162557 2012-06-27 12:58:56Z andrea $ +# $Id: PKGBUILD 163363 2012-07-11 22:00:57Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-qyoto -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc=".NET/Mono bindings for the Qt libraries" url="https://projects.kde.org/projects/kde/kdebindings/csharp/qyoto" @@ -13,7 +13,7 @@ depends=('kdebindings-smokeqt' 'mono') makedepends=('cmake' 'automoc4' 'kdebindings-smokegen') conflicts=('kdebindings-csharp') source=("http://download.kde.org/unstable/${pkgver}/src/qyoto-${pkgver}.tar.xz") -sha1sums=('6760d580bc3fd8ee3dff377f1b72aae2d93a6a77') +sha1sums=('6c5699a81e5ed76a808e4ca08844cfa49e92df7f') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-smokegen/PKGBUILD b/kde-unstable/kdebindings-smokegen/PKGBUILD index 471ffe151..7bb8876a2 100644 --- a/kde-unstable/kdebindings-smokegen/PKGBUILD +++ b/kde-unstable/kdebindings-smokegen/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162550 2012-06-27 12:54:28Z andrea $ +# $Id: PKGBUILD 163356 2012-07-11 21:56:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-smokegen -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A general purpose C++ parser with a plugin infrastructure" url="https://projects.kde.org/projects/kde/kdebindings/smoke/smokegen" @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') conflicts=('kdebindings-smoke') source=("http://download.kde.org/unstable/${pkgver}/src/smokegen-${pkgver}.tar.xz") -sha1sums=('e0d26ff3d58848b01800779d4777aca86c10d31d') +sha1sums=('8348e0f3b7bb5acbb6646e6c08dbdf5d17fa32dc') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-smokekde/PKGBUILD b/kde-unstable/kdebindings-smokekde/PKGBUILD index 0d4664876..f371c0128 100644 --- a/kde-unstable/kdebindings-smokekde/PKGBUILD +++ b/kde-unstable/kdebindings-smokekde/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162554 2012-06-27 12:57:03Z andrea $ +# $Id: PKGBUILD 163360 2012-07-11 21:58:54Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-smokekde -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Language independent library for KDE bindings" url="https://projects.kde.org/projects/kde/kdebindings/smoke/smokekde" @@ -16,7 +16,7 @@ optdepends=('kdesdk-kate: Kate bindings' 'kdegraphics-okular: Okular bindings') conflicts=('kdebindings-smoke') source=("http://download.kde.org/unstable/${pkgver}/src/smokekde-${pkgver}.tar.xz") -sha1sums=('0bee4ca382834d1d4a88c14a6a810c1f974155f6') +sha1sums=('04961b5a81728393995bc40e31a777012774078f') build() { cd "${srcdir}" diff --git a/kde-unstable/kdebindings-smokeqt/PKGBUILD b/kde-unstable/kdebindings-smokeqt/PKGBUILD index 8f968140a..10493000d 100644 --- a/kde-unstable/kdebindings-smokeqt/PKGBUILD +++ b/kde-unstable/kdebindings-smokeqt/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162551 2012-06-27 12:55:00Z andrea $ +# $Id: PKGBUILD 163357 2012-07-11 21:56:46Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdebindings-smokeqt -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Language independent library for Qt bindings" url="https://projects.kde.org/projects/kde/kdebindings/smoke/smokeqt" @@ -13,7 +13,7 @@ depends=('kdebindings-smokegen' 'qimageblitz' 'qscintilla') makedepends=('cmake' 'automoc4') conflicts=('kdebindings-smoke') source=("http://download.kde.org/unstable/${pkgver}/src/smokeqt-${pkgver}.tar.xz") -sha1sums=('3a94b897c74b99be55050ffeff53b1354fcc400e') +sha1sums=('bec234f07c2f2c126bc73b163fc5f4052954d228') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-analitza/PKGBUILD b/kde-unstable/kdeedu-analitza/PKGBUILD index f5429b937..dd3411c3d 100644 --- a/kde-unstable/kdeedu-analitza/PKGBUILD +++ b/kde-unstable/kdeedu-analitza/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162568 2012-06-27 13:06:51Z andrea $ +# $Id: PKGBUILD 163374 2012-07-11 22:09:42Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-analitza -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A library to add mathematical features to your program" url="https://projects.kde.org/projects/kde/kdeedu/analitza" @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/analitza-${pkgver}.tar.xz") -sha1sums=('21666a0120ec71d2096970440e46f1516f19ea62') +sha1sums=('8a91b68ed179c0f36c40aaddb54fa5b90bd6684f') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-blinken/PKGBUILD b/kde-unstable/kdeedu-blinken/PKGBUILD index 8b1c30dc5..9b74693f3 100644 --- a/kde-unstable/kdeedu-blinken/PKGBUILD +++ b/kde-unstable/kdeedu-blinken/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162583 2012-06-27 13:18:38Z andrea $ +# $Id: PKGBUILD 163390 2012-07-11 22:23:02Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-blinken -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Memory Enhancement Game" url="http://kde.org/applications/education/blinken/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/blinken-${pkgver}.tar.xz") -sha1sums=('c55c39d8659431d96e96be288b08abe03c35ff19') +sha1sums=('e7af7ad460cf160590c0401b865c49042bfd1bf8') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-cantor/PKGBUILD b/kde-unstable/kdeedu-cantor/PKGBUILD index c6b7651b2..1765eb4f9 100644 --- a/kde-unstable/kdeedu-cantor/PKGBUILD +++ b/kde-unstable/kdeedu-cantor/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162584 2012-06-27 13:19:08Z andrea $ +# $Id: PKGBUILD 163391 2012-07-11 22:23:40Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-cantor -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="KDE Frontend to Mathematical Software" url="http://kde.org/applications/education/cantor/" @@ -16,7 +16,7 @@ optdepends=('maxima: Maxima backend' 'r: R backend') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/cantor-${pkgver}.tar.xz") -sha1sums=('6931d2027caaaff77f32658b2c033f8123e1c994') +sha1sums=('8e5ef8d42a71c3e7f8cbeae69de707e3580cb40c') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kalgebra/PKGBUILD b/kde-unstable/kdeedu-kalgebra/PKGBUILD index b11818fa7..747b155fe 100644 --- a/kde-unstable/kdeedu-kalgebra/PKGBUILD +++ b/kde-unstable/kdeedu-kalgebra/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162585 2012-06-27 13:19:43Z andrea $ +# $Id: PKGBUILD 163392 2012-07-11 22:24:15Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kalgebra -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Graph Calculator" url="http://kde.org/applications/education/kalgebra/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libkdeedu' 'kdeedu-analitza') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kalgebra-${pkgver}.tar.xz") -sha1sums=('da21d2d35f9e46871527d4abc22aa78a0f275863') +sha1sums=('af8f692dcc58992e464acf39882eb069b615f1df') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kalzium/PKGBUILD b/kde-unstable/kdeedu-kalzium/PKGBUILD index 48a0d9e9b..f7aae5983 100644 --- a/kde-unstable/kdeedu-kalzium/PKGBUILD +++ b/kde-unstable/kdeedu-kalzium/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162586 2012-06-27 13:20:11Z andrea $ +# $Id: PKGBUILD 163393 2012-07-11 22:24:51Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kalzium -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Periodic Table of Elements" url="http://kde.org/applications/education/kalzium/" @@ -13,7 +13,7 @@ depends=('kdelibs' 'avogadro' 'ocaml' 'facile') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kalzium-${pkgver}.tar.xz") -sha1sums=('dae1ce57f929a545dce1064bcdd11404e25ac688') +sha1sums=('c8e8989eb4bbf943d1183a55a45df074d5b68f17') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kanagram/PKGBUILD b/kde-unstable/kdeedu-kanagram/PKGBUILD index dd714011b..79f9ab144 100644 --- a/kde-unstable/kdeedu-kanagram/PKGBUILD +++ b/kde-unstable/kdeedu-kanagram/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162587 2012-06-27 13:20:49Z andrea $ +# $Id: PKGBUILD 163394 2012-07-11 22:25:36Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kanagram -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Letter Order Game" url="http://kde.org/applications/education/kanagram/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kanagram-${pkgver}.tar.xz") -sha1sums=('afc181dcb6684420d028661b0885a23947475854') +sha1sums=('4ae7de38749d23cb8aebbd351d0205ecd0315045') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kbruch/PKGBUILD b/kde-unstable/kdeedu-kbruch/PKGBUILD index 2871625d1..0545776cf 100644 --- a/kde-unstable/kdeedu-kbruch/PKGBUILD +++ b/kde-unstable/kdeedu-kbruch/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162588 2012-06-27 13:21:18Z andrea $ +# $Id: PKGBUILD 163395 2012-07-11 22:26:07Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kbruch -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Exercise Fractions" url="http://kde.org/applications/education/kbruch/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kbruch-${pkgver}.tar.xz") -sha1sums=('29901160e135b6c970ab8ef745307a14182d560c') +sha1sums=('4970be77ae5a9d059f5bf6aa94dbc120cf2312a5') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kgeography/PKGBUILD b/kde-unstable/kdeedu-kgeography/PKGBUILD index 7e5ee16f6..3439d6ff4 100644 --- a/kde-unstable/kdeedu-kgeography/PKGBUILD +++ b/kde-unstable/kdeedu-kgeography/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162589 2012-06-27 13:21:47Z andrea $ +# $Id: PKGBUILD 163396 2012-07-11 22:26:40Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kgeography -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Geography Trainer" url="http://kde.org/applications/education/kgeography/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kgeography-${pkgver}.tar.xz") -sha1sums=('939ae363cea92721c23a9dfbf4c952fff9a978b8') +sha1sums=('77042de18753c2663de65e224337a91591a4b98e') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-khangman/PKGBUILD b/kde-unstable/kdeedu-khangman/PKGBUILD index 3011668bc..677f5660f 100644 --- a/kde-unstable/kdeedu-khangman/PKGBUILD +++ b/kde-unstable/kdeedu-khangman/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162590 2012-06-27 13:22:27Z andrea $ +# $Id: PKGBUILD 163398 2012-07-11 22:27:25Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-khangman -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Hangman Game" url="http://kde.org/applications/education/khangman/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/khangman-${pkgver}.tar.xz") -sha1sums=('e6bb2e51cf9ee6333f84207c1a0f41a179faf8c0') +sha1sums=('e242517e4f57e24086161cb1d4428b9852cbe8d6') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kig/PKGBUILD b/kde-unstable/kdeedu-kig/PKGBUILD index c66b84d62..00e3cdec8 100644 --- a/kde-unstable/kdeedu-kig/PKGBUILD +++ b/kde-unstable/kdeedu-kig/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162591 2012-06-27 13:23:00Z andrea $ +# $Id: PKGBUILD 163399 2012-07-11 22:28:00Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kig -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Interactive Geometry" url="http://kde.org/applications/education/kig/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kig-${pkgver}.tar.xz") -sha1sums=('afd895d7a1ca1d9570d7c27ab20f98bf1aea3d57') +sha1sums=('c365608497df374d7ea0f31271cead02ffe2de89') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kiten/PKGBUILD b/kde-unstable/kdeedu-kiten/PKGBUILD index c12e22cdc..9e253581d 100644 --- a/kde-unstable/kdeedu-kiten/PKGBUILD +++ b/kde-unstable/kdeedu-kiten/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162592 2012-06-27 13:23:38Z andrea $ +# $Id: PKGBUILD 163400 2012-07-11 22:28:35Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kiten -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Japanese Reference/Study Tool" url="http://kde.org/applications/education/kiten/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kiten-${pkgver}.tar.xz") -sha1sums=('c8a127a407296232fbc27c1d45220f1f1fbe2684') +sha1sums=('2b7061fd8f8c88acb6c0a9e05a514083165418e1') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-klettres/PKGBUILD b/kde-unstable/kdeedu-klettres/PKGBUILD index 4e26e090f..fd8a23026 100644 --- a/kde-unstable/kdeedu-klettres/PKGBUILD +++ b/kde-unstable/kdeedu-klettres/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162593 2012-06-27 13:24:29Z andrea $ +# $Id: PKGBUILD 163401 2012-07-11 22:29:34Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-klettres -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Learn The Alphabet" url="http://kde.org/applications/education/klettres/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/klettres-${pkgver}.tar.xz") -sha1sums=('4b5799abb659c2fee1e82781a6296841d650d4d6') +sha1sums=('d2af187dde78d992e55d0bc9bab31e9fee9bc300') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kmplot/PKGBUILD b/kde-unstable/kdeedu-kmplot/PKGBUILD index 071e04321..3b3af3eee 100644 --- a/kde-unstable/kdeedu-kmplot/PKGBUILD +++ b/kde-unstable/kdeedu-kmplot/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162594 2012-06-27 13:25:08Z andrea $ +# $Id: PKGBUILD 163402 2012-07-11 22:30:13Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kmplot -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Mathematical Function Plotter" url="http://kde.org/applications/education/kmplot/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kmplot-${pkgver}.tar.xz") -sha1sums=('19f3075d5b2026c6226cc816ab9880d64ba2e455') +sha1sums=('a13fcad49de1fb6583d86aa4d17d2330112f0c22') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kstars/PKGBUILD b/kde-unstable/kdeedu-kstars/PKGBUILD index 65cae3b5b..9a6a79619 100644 --- a/kde-unstable/kdeedu-kstars/PKGBUILD +++ b/kde-unstable/kdeedu-kstars/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162595 2012-06-27 13:25:42Z andrea $ +# $Id: PKGBUILD 163403 2012-07-11 22:30:45Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kstars -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Desktop Planetarium" url="http://kde.org/applications/education/kstars/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libindi') makedepends=('cmake' 'automoc4' 'eigen') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kstars-${pkgver}.tar.xz") -sha1sums=('71b2d1a6e662f36094bc9d65fd896e1d4342e334') +sha1sums=('faf9b9701dadb2cd2458757c5f03861752eaadb5') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-ktouch/PKGBUILD b/kde-unstable/kdeedu-ktouch/PKGBUILD index cf511386e..968a99a6d 100644 --- a/kde-unstable/kdeedu-ktouch/PKGBUILD +++ b/kde-unstable/kdeedu-ktouch/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162596 2012-06-27 13:26:39Z andrea $ +# $Id: PKGBUILD 163404 2012-07-11 22:31:45Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-ktouch -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Touch Typing Tutor" url="http://kde.org/applications/education/ktouch/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/ktouch-${pkgver}.tar.xz") -sha1sums=('8508cb5be8cad22fe78952f57c6c26e3ab6b04e1') +sha1sums=('fa545d6159f41e699b56f7a75afb980a781f169a') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kturtle/PKGBUILD b/kde-unstable/kdeedu-kturtle/PKGBUILD index 08e8e4169..00a7ce616 100644 --- a/kde-unstable/kdeedu-kturtle/PKGBUILD +++ b/kde-unstable/kdeedu-kturtle/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162597 2012-06-27 13:27:14Z andrea $ +# $Id: PKGBUILD 163405 2012-07-11 22:32:24Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kturtle -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Educational Programming Environment" url="http://kde.org/applications/education/kturtle/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kturtle-${pkgver}.tar.xz") -sha1sums=('c390050248bed85215d07bc4d5c2c27195603fbd') +sha1sums=('59b192b9fd31568d63d6192c038530fe009f303f') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-kwordquiz/PKGBUILD b/kde-unstable/kdeedu-kwordquiz/PKGBUILD index 3646f58eb..3af343adc 100644 --- a/kde-unstable/kdeedu-kwordquiz/PKGBUILD +++ b/kde-unstable/kdeedu-kwordquiz/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162598 2012-06-27 13:27:43Z andrea $ +# $Id: PKGBUILD 163406 2012-07-11 22:32:59Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-kwordquiz -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Flash Card Trainer" url="http://kde.org/applications/education/kwordquiz/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kwordquiz-${pkgver}.tar.xz") -sha1sums=('73f8815178c06fb7e7e7a4058afe87d41cb5bf37') +sha1sums=('659448fd9ad9bd22aed74e42a297e62346d94d38') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-marble/PKGBUILD b/kde-unstable/kdeedu-marble/PKGBUILD index 845cdd85c..5309a7f26 100644 --- a/kde-unstable/kdeedu-marble/PKGBUILD +++ b/kde-unstable/kdeedu-marble/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162563 2012-06-27 13:03:51Z andrea $ +# $Id: PKGBUILD 163369 2012-07-11 22:06:26Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-marble -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Desktop Globe" url="http://kde.org/applications/education/marble/" @@ -14,7 +14,7 @@ makedepends=('cmake' 'automoc4' 'gpsd') optdepends=('gpsd: gps support') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/marble-${pkgver}.tar.xz") -sha1sums=('621fd58567c43f73fdb0ae3b078efa9e8e9eb56e') +sha1sums=('218cb42ccb8946ee1bb8f35b770e0f8b7c9b5ebb') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-pairs/PKGBUILD b/kde-unstable/kdeedu-pairs/PKGBUILD index 0336900db..3939aa675 100644 --- a/kde-unstable/kdeedu-pairs/PKGBUILD +++ b/kde-unstable/kdeedu-pairs/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162599 2012-06-27 13:28:15Z andrea $ +# $Id: PKGBUILD 163407 2012-07-11 22:33:37Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-pairs -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A memory and pairs game for KDE" url="https://projects.kde.org/projects/kde/kdeedu/pairs" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/pairs-${pkgver}.tar.xz") -sha1sums=('e9346f591293266274aeda0c5b9a241a8c1d4c5c') +sha1sums=('2247f515a1392507d7cf65e2f78ad002972b1e09') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-parley/PKGBUILD b/kde-unstable/kdeedu-parley/PKGBUILD index 1ce5bf554..645948c6c 100644 --- a/kde-unstable/kdeedu-parley/PKGBUILD +++ b/kde-unstable/kdeedu-parley/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162600 2012-06-27 13:28:52Z andrea $ +# $Id: PKGBUILD 163408 2012-07-11 22:34:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-parley -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Vocabulary Trainer" url="http://kde.org/applications/education/parley/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libkdeedu') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/parley-${pkgver}.tar.xz") -sha1sums=('08ca3278bfe8a911cb1974fd12837da9a95d6416') +sha1sums=('f8486ed259820621926c66b93dfd0d288b0dd05e') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeedu-rocs/PKGBUILD b/kde-unstable/kdeedu-rocs/PKGBUILD index 856cb26f8..d3a83827e 100644 --- a/kde-unstable/kdeedu-rocs/PKGBUILD +++ b/kde-unstable/kdeedu-rocs/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162601 2012-06-27 13:29:35Z andrea $ +# $Id: PKGBUILD 163409 2012-07-11 22:34:58Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-rocs -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Rocs Graph Theory" url="http://kde.org/applications/education/rocs/" @@ -12,7 +12,7 @@ groups=('kde' 'kdeedu') depends=('kdebase-runtime') makedepends=('cmake' 'automoc4' 'boost') source=("http://download.kde.org/unstable/${pkgver}/src/rocs-${pkgver}.tar.xz") -sha1sums=('051b1b0c3bf0a844248d157b44a1a5fa0e1b41a6') +sha1sums=('15daf5a0becd09f2de96e74753a632de905c09e7') options=('!makeflags') build() { diff --git a/kde-unstable/kdeedu-step/PKGBUILD b/kde-unstable/kdeedu-step/PKGBUILD index d22c24932..6d5b6157e 100644 --- a/kde-unstable/kdeedu-step/PKGBUILD +++ b/kde-unstable/kdeedu-step/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162602 2012-06-27 13:30:09Z andrea $ +# $Id: PKGBUILD 163410 2012-07-11 22:35:31Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeedu-step -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Interactive Physical Simulator" url="http://kde.org/applications/education/step/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libqalculate' 'gsl') makedepends=('cmake' 'automoc4' 'eigen') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/step-${pkgver}.tar.xz") -sha1sums=('56782292a440f6dcfda9364ac994646f8f38f5d5') +sha1sums=('444eebae0e493fe1bea39530e432365fbd8f231c') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegames/PKGBUILD b/kde-unstable/kdegames/PKGBUILD index 4b31802cb..899278af8 100644 --- a/kde-unstable/kdegames/PKGBUILD +++ b/kde-unstable/kdegames/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162603 2012-06-27 13:31:34Z andrea $ +# $Id: PKGBUILD 163411 2012-07-11 22:37:02Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -43,7 +43,7 @@ pkgname=('kdegames-bomber' 'kdegames-libkmahjongg' 'kdegames-lskat' 'kdegames-palapeli') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -52,7 +52,7 @@ groups=('kde' 'kdegames') makedepends=('cmake' 'automoc4' 'twisted' 'kdebindings-python2' 'openal') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('0b42423fa219d1592a0590d86c24fc02582aabd7') +sha1sums=('81a28078640a69e36412722a43be03ebb6224ea1') build() { cd $srcdir diff --git a/kde-unstable/kdegraphics-gwenview/PKGBUILD b/kde-unstable/kdegraphics-gwenview/PKGBUILD index a1276a591..14677cd94 100644 --- a/kde-unstable/kdegraphics-gwenview/PKGBUILD +++ b/kde-unstable/kdegraphics-gwenview/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162604 2012-06-27 13:33:48Z andrea $ +# $Id: PKGBUILD 163412 2012-07-11 22:39:36Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-gwenview -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A fast and easy to use image viewer for KDE" url="http://kde.org/applications/graphics/gwenview/" @@ -14,7 +14,7 @@ makedepends=('cmake' 'automoc4') optdepends=('kipi-plugins: extra plugins to share photos') install=$pkgname.install source=("http://download.kde.org/unstable/${pkgver}/src/gwenview-${pkgver}.tar.xz") -sha1sums=('253b4d7aa3daa46bb49bcdb3308cecf4bd45c073') +sha1sums=('5368a49cfe73f4f7cd650f6aac838f4640d9a563') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-kamera/PKGBUILD b/kde-unstable/kdegraphics-kamera/PKGBUILD index e3fabc2ec..f62047080 100644 --- a/kde-unstable/kdegraphics-kamera/PKGBUILD +++ b/kde-unstable/kdegraphics-kamera/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162605 2012-06-27 13:34:24Z andrea $ +# $Id: PKGBUILD 163413 2012-07-11 22:40:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-kamera -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Configure Kamera" url="http://kde.org/applications/graphics/kamera/" @@ -12,7 +12,7 @@ groups=('kde' 'kdegraphics') depends=('kdebase-runtime' 'gphoto2') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/kamera-${pkgver}.tar.xz") -sha1sums=('d1ff14f499952b17b8a6fdeb6976329d7ec6b368') +sha1sums=('f7896c41672035d4750af6c5fc57a548888b40e1') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD index 2c48e42cd..63db23105 100644 --- a/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD +++ b/kde-unstable/kdegraphics-kcolorchooser/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162606 2012-06-27 13:34:54Z andrea $ +# $Id: PKGBUILD 163414 2012-07-11 22:40:42Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-kcolorchooser -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Color Chooser" url="http://kde.org/applications/graphics/kcolorchooser/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kcolorchooser-${pkgver}.tar.xz") -sha1sums=('69cbf6a3308d002b600a27b07929773252e97606') +sha1sums=('7bf1ec5487e79f38a95a5d3752a756360be1cacb') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-kgamma/PKGBUILD b/kde-unstable/kdegraphics-kgamma/PKGBUILD index c9a0598f7..7cefa36b6 100644 --- a/kde-unstable/kdegraphics-kgamma/PKGBUILD +++ b/kde-unstable/kdegraphics-kgamma/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162607 2012-06-27 13:35:22Z andrea $ +# $Id: PKGBUILD 163415 2012-07-11 22:41:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-kgamma -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A monitor calibration tool" url="http://kde.org/applications/graphics/kgamma/" @@ -15,7 +15,7 @@ groups=('kde' 'kdegraphics') depends=('kdebase-runtime' 'libxxf86vm') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/kgamma-${pkgver}.tar.xz") -sha1sums=('a3f3bad239b010b363d961fe7aff2a210bad2102') +sha1sums=('baa1b40d4e9c89946879697bd63111e94349295d') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-kolourpaint/PKGBUILD b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD index 65443e78a..7a9af390b 100644 --- a/kde-unstable/kdegraphics-kolourpaint/PKGBUILD +++ b/kde-unstable/kdegraphics-kolourpaint/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162608 2012-06-27 13:35:48Z andrea $ +# $Id: PKGBUILD 163416 2012-07-11 22:41:42Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-kolourpaint -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Paint Program" url="http://kde.org/applications/graphics/kolourpaint/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'qimageblitz') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kolourpaint-${pkgver}.tar.xz") -sha1sums=('e1d82356f80f50860614a2903391ef5551a9125f') +sha1sums=('de14aab1473a886cdd77170e4d8db34413a4be1c') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-kruler/PKGBUILD b/kde-unstable/kdegraphics-kruler/PKGBUILD index 4e681b515..5d3238119 100644 --- a/kde-unstable/kdegraphics-kruler/PKGBUILD +++ b/kde-unstable/kdegraphics-kruler/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162609 2012-06-27 13:36:18Z andrea $ +# $Id: PKGBUILD 163417 2012-07-11 22:42:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-kruler -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Screen Ruler" url="http://kde.org/applications/graphics/kruler/" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kruler-${pkgver}.tar.xz") -sha1sums=('1b7dc38c4834fda53d984f7a760f9f9f9fc668ac') +sha1sums=('88f8b63297466fd719c195df23d55363ba272db5') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD index d122994d2..b8cfcef16 100644 --- a/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD +++ b/kde-unstable/kdegraphics-ksaneplugin/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162610 2012-06-27 13:36:47Z andrea $ +# $Id: PKGBUILD 163418 2012-07-11 22:42:46Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-ksaneplugin -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A scan plugin that implements the scanning" url="https://projects.kde.org/projects/kde/kdegraphics/ksaneplugin" @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') source=("http://download.kde.org/unstable/${pkgver}/src/ksaneplugin-${pkgver}.tar.xz") -sha1sums=('c77a2a588901845f4c91b101ad6169f94a45a938') +sha1sums=('919e9b34de57c13c67c919efb5b8dd95adf6cbac') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-ksnapshot/PKGBUILD b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD index decc23759..437d2d039 100644 --- a/kde-unstable/kdegraphics-ksnapshot/PKGBUILD +++ b/kde-unstable/kdegraphics-ksnapshot/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162611 2012-06-27 13:37:13Z andrea $ +# $Id: PKGBUILD 163419 2012-07-11 22:43:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-ksnapshot -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Screen Capture Program" url="http://kde.org/applications/graphics/ksnapshot/" @@ -14,7 +14,7 @@ makedepends=('cmake' 'automoc4') optdepends=('kipi-plugins') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/ksnapshot-${pkgver}.tar.xz") -sha1sums=('ae27d8f92f8f95f1fe23269922247bdce8c935a3') +sha1sums=('5416d6a1415b41cd71c302ace7332ab22a048f1d') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-mobipocket/PKGBUILD b/kde-unstable/kdegraphics-mobipocket/PKGBUILD index 098b34d52..18738698b 100644 --- a/kde-unstable/kdegraphics-mobipocket/PKGBUILD +++ b/kde-unstable/kdegraphics-mobipocket/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162612 2012-06-27 13:37:41Z andrea $ +# $Id: PKGBUILD 163420 2012-07-11 22:43:44Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-mobipocket -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A collection of plugins to handle mobipocket files" url="https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-mobipocket" @@ -15,7 +15,7 @@ replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('1c0f7491849097417a61730047a4c6b6a70f1a8c') +sha1sums=('31ecdd38e977fa2b222646ce4fbdf5975eece5f8') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-okular/PKGBUILD b/kde-unstable/kdegraphics-okular/PKGBUILD index 2384277b2..e73479add 100644 --- a/kde-unstable/kdegraphics-okular/PKGBUILD +++ b/kde-unstable/kdegraphics-okular/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162552 2012-06-27 12:55:36Z andrea $ +# $Id: PKGBUILD 163358 2012-07-11 21:57:24Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-okular -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Document Viewer' arch=('i686' 'x86_64') @@ -15,7 +15,7 @@ makedepends=('cmake' 'automoc4') optdepends=('kdegraphics-mobipocket: mobipocket support') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/okular-${pkgver}.tar.xz") -sha1sums=('5c01107a9ec9a521999e4236283277f814d139de') +sha1sums=('a31da767627783ee4d27e4a9bf2bacd893fcb467') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD index 2b5232f87..08fb84924 100644 --- a/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD +++ b/kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162613 2012-06-27 13:38:10Z andrea $ +# $Id: PKGBUILD 163421 2012-07-11 22:44:15Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-strigi-analyzer -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Strigi analyzers for various graphics file formats" url="https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-strigi-analyzer" @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('669af472c013a36bb3d83da280dc9636e105b145') +sha1sums=('cbd7f9de4b00060af7774f817a5dc0c2312a3953') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-svgpart/PKGBUILD b/kde-unstable/kdegraphics-svgpart/PKGBUILD index 9071cd5af..d5e825b67 100644 --- a/kde-unstable/kdegraphics-svgpart/PKGBUILD +++ b/kde-unstable/kdegraphics-svgpart/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162614 2012-06-27 13:38:39Z andrea $ +# $Id: PKGBUILD 163422 2012-07-11 22:44:48Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-svgpart -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A KPart for viewving SVGs" url="https://projects.kde.org/projects/kde/kdegraphics/svgpart" @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') source=("http://download.kde.org/unstable/${pkgver}/src/svgpart-${pkgver}.tar.xz") -sha1sums=('b746419776ee3c5dbd956de86bb6417675771114') +sha1sums=('7a3f8d2b63c54487ffb7d47a2b62275a5530d2ae') build() { cd "${srcdir}" diff --git a/kde-unstable/kdegraphics-thumbnailers/PKGBUILD b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD index d5c78e9bc..3243643ea 100644 --- a/kde-unstable/kdegraphics-thumbnailers/PKGBUILD +++ b/kde-unstable/kdegraphics-thumbnailers/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162615 2012-06-27 13:39:13Z andrea $ +# $Id: PKGBUILD 163423 2012-07-11 22:45:19Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdegraphics-thumbnailers -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Thumbnailers for various graphics file formats" url="https://projects.kde.org/projects/kde/kdegraphics/kdegraphics-thumbnailers" @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('037aeff675ef40e5118421473ac6abaa4833e075') +sha1sums=('c5dc4b4a658fd268f9b0ec0895ccf4b2100cac3e') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD b/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD index 821c73e41..3ae3db243 100644 --- a/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD +++ b/kde-unstable/kdemultimedia-audiocd-kio/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162616 2012-06-27 13:39:42Z andrea $ +# $Id: PKGBUILD 163424 2012-07-11 22:45:50Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-audiocd-kio -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Kioslave for accessing audio CDs" url='https://projects.kde.org/projects/kde/kdemultimedia/audiocd-kio' @@ -14,7 +14,7 @@ groups=('kdemultimedia') replaces=('kdemultimedia-kioslave') conflicts=('kdemultimedia-kioslave') source=("http://download.kde.org/unstable/${pkgver}/src/audiocd-kio-${pkgver}.tar.xz") -sha1sums=('7178d74a90a9257e5386f6f9eba4e5b675296e48') +sha1sums=('fc4dd691c5f51c79f019ab7f1a0f60aa56da2c6f') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD b/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD index fc74248f5..c4d62dfb7 100644 --- a/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD +++ b/kde-unstable/kdemultimedia-dragonplayer/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162617 2012-06-27 13:40:08Z andrea $ +# $Id: PKGBUILD 163425 2012-07-11 22:46:19Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-dragonplayer -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A multimedia player where the focus is on simplicity, instead of features" @@ -13,7 +13,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install="${pkgname}.install" source=("http://download.kde.org/unstable/${pkgver}/src/dragon-${pkgver}.tar.xz") -sha1sums=('c0b7befb13112114e463d4fa6c2fc1953ef9235e') +sha1sums=('f1d2eab7228e7cd31d9dd5a4f26ff86965bcac86') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD b/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD index be19ed91b..f331884b4 100644 --- a/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD +++ b/kde-unstable/kdemultimedia-ffmpegthumbs/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 163051 2012-07-06 15:16:15Z andrea $ +# $Id: PKGBUILD 163426 2012-07-11 22:46:52Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-ffmpegthumbs -pkgver=4.8.95 -pkgrel=2 +pkgver=4.8.97 +pkgrel=1 pkgdesc='FFmpeg-based thumbnail creator for video files' url='https://projects.kde.org/projects/kde/kdemultimedia/ffmpegthumbs' arch=('i686' 'x86_64') @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdelibs' 'ffmpeg') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/ffmpegthumbs-${pkgver}.tar.xz") -sha1sums=('e4546523cd1335833b47d9cedb479fa8a9296fe8') +sha1sums=('fbbafd3dd018f13f8cf61466312a4db6a229cf22') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-juk/PKGBUILD b/kde-unstable/kdemultimedia-juk/PKGBUILD index e83df3491..b64752b84 100644 --- a/kde-unstable/kdemultimedia-juk/PKGBUILD +++ b/kde-unstable/kdemultimedia-juk/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162619 2012-06-27 13:41:03Z andrea $ +# $Id: PKGBUILD 163427 2012-07-11 22:47:20Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-juk -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='A jukebox, tagger and music collection manager' url='http://kde.org/applications/multimedia/juk/' @@ -12,7 +12,7 @@ depends=('kdebase-runtime' 'taglib') makedepends=('cmake' 'automoc4') install="${pkgname}.install" source=("http://download.kde.org/unstable/${pkgver}/src/juk-${pkgver}.tar.xz") -sha1sums=('94cdd8493f7751d2f69729aa735e68bc9b06be1f') +sha1sums=('71b418afd6d19188d87b8c6d70d3e88cf69dc7c8') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-kmix/PKGBUILD b/kde-unstable/kdemultimedia-kmix/PKGBUILD index 2b21b5dd3..4ccf1c243 100644 --- a/kde-unstable/kdemultimedia-kmix/PKGBUILD +++ b/kde-unstable/kdemultimedia-kmix/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162620 2012-06-27 13:41:32Z andrea $ +# $Id: PKGBUILD 163428 2012-07-11 22:47:50Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-kmix -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="KDE volume control program" url='http://kde.org/applications/multimedia/kmix/' @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') install="${pkgname}.install" source=("http://download.kde.org/unstable/${pkgver}/src/kmix-${pkgver}.tar.xz") -sha1sums=('ddd0f8723f20c1e847302d4ea69b585abf4b7698') +sha1sums=('1da4c0ce895ed39dd25e6da1c6c85671536a8391') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-kscd/PKGBUILD b/kde-unstable/kdemultimedia-kscd/PKGBUILD index 572a9ce76..4fe6eb01d 100644 --- a/kde-unstable/kdemultimedia-kscd/PKGBUILD +++ b/kde-unstable/kdemultimedia-kscd/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162621 2012-06-27 13:41:59Z andrea $ +# $Id: PKGBUILD 163429 2012-07-11 22:48:20Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-kscd -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="KDE CD player" url='http://kde.org/applications/multimedia/kscd/' @@ -12,7 +12,7 @@ depends=('kdebase-runtime' 'libkcddb' 'libkcompactdisc' 'libmusicbrainz3') makedepends=('cmake' 'automoc4') install="${pkgname}.install" source=("http://download.kde.org/unstable/${pkgver}/src/kscd-${pkgver}.tar.xz") -sha1sums=('a7664847d85aa1b673de207dcf27d899fd8b02c2') +sha1sums=('7ce062b170ff3e3e299b24ca618ac11243afd05a') build() { cd "${srcdir}" diff --git a/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD b/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD index 6f2b75d7d..532230b02 100644 --- a/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD +++ b/kde-unstable/kdemultimedia-mplayerthumbs/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162622 2012-06-27 13:42:28Z andrea $ +# $Id: PKGBUILD 163430 2012-07-11 22:48:51Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdemultimedia-mplayerthumbs -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="MPlayer based thumbnail generator for video files" url='https://projects.kde.org/projects/kde/kdemultimedia/mplayerthumbs' @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdebase-runtime' 'mplayer') makedepends=('cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/mplayerthumbs-${pkgver}.tar.xz") -sha1sums=('5d426085810a799b152d4559f162e46cb71d1e53') +sha1sums=('293f54e6edcca03859abfdc717139693455cd16e') build() { cd "${srcdir}" diff --git a/kde-unstable/kdenetwork/PKGBUILD b/kde-unstable/kdenetwork/PKGBUILD index 426845d0c..3efbc378f 100644 --- a/kde-unstable/kdenetwork/PKGBUILD +++ b/kde-unstable/kdenetwork/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162623 2012-06-27 13:43:11Z andrea $ +# $Id: PKGBUILD 163431 2012-07-11 22:49:42Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -10,7 +10,7 @@ pkgname=('kdenetwork-filesharing' 'kdenetwork-kppp' 'kdenetwork-krdc' 'kdenetwork-krfb') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -21,7 +21,7 @@ makedepends=('cmake' 'automoc4' 'boost' 'speex' 'ortp' 'libotr' 'ppp' 'v4l-utils' 'libidn' 'qimageblitz' 'libxdamage' 'libgadu' 'libmsn' 'libktorrent' 'libmms' 'mediastreamer' 'telepathy-qt') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('adfddee2dbca233a37c68d132d09f889af956f60') +sha1sums=('e273b9cb322f9f978a48e687637dbc03601ac71e') build() { cd "${srcdir}" diff --git a/kde-unstable/kdepim-runtime/PKGBUILD b/kde-unstable/kdepim-runtime/PKGBUILD index 62b65fd72..e8b07d13c 100644 --- a/kde-unstable/kdepim-runtime/PKGBUILD +++ b/kde-unstable/kdepim-runtime/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162549 2012-06-27 12:53:52Z andrea $ +# $Id: PKGBUILD 163355 2012-07-11 21:55:34Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz pkgname=kdepim-runtime -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Extends the functionality of kdepim' arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('kdebase-runtime' 'libkgapi') makedepends=('cmake' 'automoc4' 'boost') install="${pkgname}.install" source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('dead714849ef22580abcfcf72ccb469517a45715') +sha1sums=('c31f09b734e558f0c8e279270058ec0cc62fed3c') build() { cd "${srcdir}" diff --git a/kde-unstable/kdepim/PKGBUILD b/kde-unstable/kdepim/PKGBUILD index c825ba2b7..b0ff65f79 100644 --- a/kde-unstable/kdepim/PKGBUILD +++ b/kde-unstable/kdepim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162624 2012-06-27 13:44:31Z andrea $ +# $Id: PKGBUILD 163432 2012-07-11 22:51:03Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -19,7 +19,7 @@ pkgname=('kdepim-akonadiconsole' 'kdepim-kresources' 'kdepim-ktimetracker' 'kdepim-libkdepim') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://pim.kde.org' @@ -28,7 +28,7 @@ groups=('kde' 'kdepim') makedepends=('cmake' 'automoc4' 'boost' 'kdepim-runtime' 'libxss' 'pilot-link' 'kde-agent') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('b47cfec970608c516a4620235da8ad825c20c9b1') +sha1sums=('9bd4594ec3151f3cfb6a45d6163405bde4d8b178') build() { cd "${srcdir}" diff --git a/kde-unstable/kdepimlibs/PKGBUILD b/kde-unstable/kdepimlibs/PKGBUILD index 0e4720b95..46accd73a 100644 --- a/kde-unstable/kdepimlibs/PKGBUILD +++ b/kde-unstable/kdepimlibs/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 162544 2012-06-27 12:46:34Z andrea $ +# $Id: PKGBUILD 163445 2012-07-11 23:00:10Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz pkgname=kdepimlibs -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="KDE PIM Libraries" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ depends=('kdelibs' 'gpgme' 'akonadi' 'libical' 'prison') makedepends=('cmake' 'automoc4' 'boost' 'cyrus-sasl') install='kdepimlibs.install' source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('224fe4bb1a5eb6f51dd96e70259ee5bfb60d03ac') +sha1sums=('5d8cfed6f902b101a78372ff1b4220dc21a65ed0') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeplasma-addons/PKGBUILD b/kde-unstable/kdeplasma-addons/PKGBUILD index 83103fa5f..2dff87e44 100644 --- a/kde-unstable/kdeplasma-addons/PKGBUILD +++ b/kde-unstable/kdeplasma-addons/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162625 2012-06-27 13:45:42Z andrea $ +# $Id: PKGBUILD 163433 2012-07-11 22:52:14Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -77,7 +77,7 @@ pkgname=('kdeplasma-addons-applets-bball' 'kdeplasma-addons-wallpapers-potd' 'kdeplasma-addons-wallpapers-virus' 'kdeplasma-addons-wallpapers-weather') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -86,7 +86,7 @@ groups=('kde' 'kdeplasma-addons') makedepends=('cmake' 'automoc4' 'kdebase-workspace' 'kdeedu-marble' 'eigen' 'scim' 'qwt' 'boost' 'libkexiv2' 'ibus' 'qoauth' 'qjson') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('4b8d7f7111e8d77dd60d21b8da634b3d44199724') +sha1sums=('b56299d2197c3b6007454644361671cd7157ba30') build() { cd "${srcdir}" diff --git a/kde-unstable/kdesdk-kate/PKGBUILD b/kde-unstable/kdesdk-kate/PKGBUILD index b6851802e..8634e0431 100644 --- a/kde-unstable/kdesdk-kate/PKGBUILD +++ b/kde-unstable/kdesdk-kate/PKGBUILD @@ -1,18 +1,18 @@ -# $Id: PKGBUILD 162553 2012-06-27 12:56:27Z andrea $ +# $Id: PKGBUILD 163359 2012-07-11 21:58:15Z andrea $ # Maintainer: Andrea Scarpino pkgbase=kdesdk-kate pkgname=('kdebase-katepart' 'kdebase-kwrite' 'kdesdk-kate') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') license=('GPL' 'LGPL' 'FDL') makedepends=('kdelibs ''cmake' 'automoc4') source=("http://download.kde.org/unstable/${pkgver}/src/kate-${pkgver}.tar.xz" 'pkgbuild-syntax-highlight.patch') -sha1sums=('14dae5c5bf0b9a32a0be27c2b9e1e5f34fec8d43' +sha1sums=('2f5481aff6802057ce2b46c6d421c8f5657926b3' '0a928253bd2077f0264d96a6c8823c69c47b6a8d') build() { diff --git a/kde-unstable/kdesdk/PKGBUILD b/kde-unstable/kdesdk/PKGBUILD index bec1110bc..3d53a1b69 100644 --- a/kde-unstable/kdesdk/PKGBUILD +++ b/kde-unstable/kdesdk/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162626 2012-06-27 13:47:06Z andrea $ +# $Id: PKGBUILD 163434 2012-07-11 22:53:41Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -20,7 +20,7 @@ pkgname=('kdesdk-cervisia' 'kdesdk-scripts' 'kdesdk-strigi-analyzer' 'kdesdk-umbrello') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -30,7 +30,7 @@ makedepends=('cmake' 'automoc4' 'boost' 'subversion' 'antlr2' 'kdepimlibs' 'kdebase-lib') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz" 'fix-python2-path.patch') -sha1sums=('9c460d25106089bed6a5f2e8d4697422c270cb16' +sha1sums=('8711677da32d29a38ed96bd9066d5521ea18c37d' '923cabd7a877cf9a68efeb24fbf3d5827e1d949e') build() { diff --git a/kde-unstable/kdetoys/PKGBUILD b/kde-unstable/kdetoys/PKGBUILD index a7b37a60e..4acc20375 100644 --- a/kde-unstable/kdetoys/PKGBUILD +++ b/kde-unstable/kdetoys/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162627 2012-06-27 13:47:51Z andrea $ +# $Id: PKGBUILD 163435 2012-07-11 22:54:28Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -6,7 +6,7 @@ pkgbase=kdetoys pkgname=('kdetoys-amor' 'kdetoys-kteatime' 'kdetoys-ktux') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -14,7 +14,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdetoys') makedepends=('cmake' 'automoc4' 'kdebase-workspace') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('d45ac37b5476a421d83d7b24f8c5476ed9cf85c1') +sha1sums=('2ca542d74ff1ef7317a2bc43712fd323efc7fc37') build() { cd $srcdir diff --git a/kde-unstable/kdeutils-filelight/PKGBUILD b/kde-unstable/kdeutils-filelight/PKGBUILD index 8735f4172..43adbc851 100644 --- a/kde-unstable/kdeutils-filelight/PKGBUILD +++ b/kde-unstable/kdeutils-filelight/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162629 2012-06-27 13:48:46Z andrea $ +# $Id: PKGBUILD 163437 2012-07-11 22:55:34Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-filelight -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='View disk usage information' url='http://kde.org/applications/utilities/filelight' @@ -15,7 +15,7 @@ replaces=('filelight') conflicts=('filelight') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/filelight-${pkgver}.tar.xz") -sha1sums=('d572a5f64650ad8be09ab032aace0943fbdfcb2f') +sha1sums=('750f96517538f7d299b4dc0dea903e63742e7c49') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kcalc/PKGBUILD b/kde-unstable/kdeutils-kcalc/PKGBUILD index d71910ffe..f30501f66 100644 --- a/kde-unstable/kdeutils-kcalc/PKGBUILD +++ b/kde-unstable/kdeutils-kcalc/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162630 2012-06-27 13:49:15Z andrea $ +# $Id: PKGBUILD 163438 2012-07-11 22:56:09Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-kcalc -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Scientific Calculator' url='http://kde.org/applications/utilities/kcalc/' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kcalc-${pkgver}.tar.xz") -sha1sums=('5ce3fcd0150ca63e184bdef8b9ed562c81360811') +sha1sums=('d9d83233755e705aa385ec5a39abfafb80922001') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kcharselect/PKGBUILD b/kde-unstable/kdeutils-kcharselect/PKGBUILD index 39c13e496..c86c084ce 100644 --- a/kde-unstable/kdeutils-kcharselect/PKGBUILD +++ b/kde-unstable/kdeutils-kcharselect/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162631 2012-06-27 13:49:45Z andrea $ +# $Id: PKGBUILD 163439 2012-07-11 22:56:50Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-kcharselect -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Character Selector' url="http://kde.org/applications/utilities/kcharselect/" @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') source=("http://download.kde.org/unstable/${pkgver}/src/kcharselect-${pkgver}.tar.xz") -sha1sums=('d0104407fd10629ac43f89de41bb55bd0f97d1d8') +sha1sums=('58c4877499e1233076cbca884fdfdd8a04d37ca2') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kdf/PKGBUILD b/kde-unstable/kdeutils-kdf/PKGBUILD index d92e22f66..696ad7817 100644 --- a/kde-unstable/kdeutils-kdf/PKGBUILD +++ b/kde-unstable/kdeutils-kdf/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162632 2012-06-27 13:50:11Z andrea $ +# $Id: PKGBUILD 163440 2012-07-11 22:57:22Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-kdf -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 url="http://kde.org/applications/system/kdiskfree/" arch=('i686' 'x86_64') @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kdf-${pkgver}.tar.xz") -sha1sums=('f7907f8c85fbf3113c0e38128daf518d345f7986') +sha1sums=('f84341b0a6400570802960fffd7bf618282e2604') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kfloppy/PKGBUILD b/kde-unstable/kdeutils-kfloppy/PKGBUILD index a71d8a705..5b16954f2 100644 --- a/kde-unstable/kdeutils-kfloppy/PKGBUILD +++ b/kde-unstable/kdeutils-kfloppy/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162633 2012-06-27 13:50:38Z andrea $ +# $Id: PKGBUILD 163441 2012-07-11 22:57:51Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-kfloppy -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Floppy Formatter' url='http://kde.org/applications/utilities/kfloppy/' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kfloppy-${pkgver}.tar.xz") -sha1sums=('2f97331fe311960c3320a9f70b8a414ffe92ef60') +sha1sums=('a21e3fc298d7015be965208bec5667ad17a54667') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kgpg/PKGBUILD b/kde-unstable/kdeutils-kgpg/PKGBUILD index 6cdedf899..2eea9e911 100644 --- a/kde-unstable/kdeutils-kgpg/PKGBUILD +++ b/kde-unstable/kdeutils-kgpg/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162634 2012-06-27 13:51:05Z andrea $ +# $Id: PKGBUILD 163442 2012-07-11 22:58:19Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-kgpg -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='A GnuPG frontend' url='http://kde.org/applications/utilities/kgpg/' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kgpg-${pkgver}.tar.xz") -sha1sums=('1c322b93b204ff831f69cb5379ea6ea93dc2df62') +sha1sums=('871381198bdf229ce4e2c4f619ba81babc97a415') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kremotecontrol/PKGBUILD b/kde-unstable/kdeutils-kremotecontrol/PKGBUILD index 7faf5abd8..43f2853ee 100644 --- a/kde-unstable/kdeutils-kremotecontrol/PKGBUILD +++ b/kde-unstable/kdeutils-kremotecontrol/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Andrea Scarpino pkgname=kdeutils-kremotecontrol -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Configure your remote controls for use with applications' url='http://kde.org/applications/utilities/kremotecontrol/' @@ -15,7 +15,7 @@ replaces=('kdeutils-kdelirc') conflicts=('kdeutils-kdelirc') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kremotecontrol-${pkgver}.tar.xz") -sha1sums=('fa04e1d5f1a54aac9938db3e8c8f386890a2390a') +sha1sums=('5892208920d3466eb29b7b91db768729dca45db2') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-ktimer/PKGBUILD b/kde-unstable/kdeutils-ktimer/PKGBUILD index 00b657673..7aeff44fb 100644 --- a/kde-unstable/kdeutils-ktimer/PKGBUILD +++ b/kde-unstable/kdeutils-ktimer/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162636 2012-06-27 13:52:09Z andrea $ +# $Id: PKGBUILD 163450 2012-07-11 23:03:35Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-ktimer -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Countdown Launcher' url='http://kde.org/applications/utilities/ktimer/' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/ktimer-${pkgver}.tar.xz") -sha1sums=('a6db8c773d5cfc2462b859ad8a553cd28755287a') +sha1sums=('a4e2a19f5dcd342d039b8a5c95372f13a668640f') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-kwallet/PKGBUILD b/kde-unstable/kdeutils-kwallet/PKGBUILD index f85f1c3c5..5e1b6577d 100644 --- a/kde-unstable/kdeutils-kwallet/PKGBUILD +++ b/kde-unstable/kdeutils-kwallet/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162637 2012-06-27 13:52:35Z andrea $ +# $Id: PKGBUILD 163451 2012-07-11 23:04:04Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-kwallet -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='Wallet Management Tool' url='http://kde.org/applications/system/kwalletmanager/' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/kwallet-${pkgver}.tar.xz") -sha1sums=('ccc20f1052b7f5c9016f23a8b45a837ddc677335') +sha1sums=('601d3fee7551767329aa65a833c22253b49c57f1') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-superkaramba/PKGBUILD b/kde-unstable/kdeutils-superkaramba/PKGBUILD index a7e0259ab..c123c1bd4 100644 --- a/kde-unstable/kdeutils-superkaramba/PKGBUILD +++ b/kde-unstable/kdeutils-superkaramba/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162639 2012-06-27 13:53:21Z andrea $ +# $Id: PKGBUILD 163453 2012-07-11 23:04:54Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-superkaramba -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='An engine for cool desktop eyecandy' url='http://kde.org/applications/utilities/superkaramba/' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/superkaramba-${pkgver}.tar.xz") -sha1sums=('01bf61bfaae69590cc77b650ea9640db883b8acc') +sha1sums=('dd5d13f9ee4708afd1202a0f24e0dd2d6d4161a7') build() { cd "${srcdir}" diff --git a/kde-unstable/kdeutils-sweeper/PKGBUILD b/kde-unstable/kdeutils-sweeper/PKGBUILD index 520d5950e..c1009b65c 100644 --- a/kde-unstable/kdeutils-sweeper/PKGBUILD +++ b/kde-unstable/kdeutils-sweeper/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162640 2012-06-27 13:53:51Z andrea $ +# $Id: PKGBUILD 163454 2012-07-11 23:05:27Z andrea $ # Maintainer: Andrea Scarpino pkgname=kdeutils-sweeper -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc='System Cleaner' url='http://kde.org/applications/utilities/sweeper' @@ -12,7 +12,7 @@ depends=('kdebase-runtime') makedepends=('cmake' 'automoc4') groups=('kde' 'kdeutils') source=("http://download.kde.org/unstable/${pkgver}/src/sweeper-${pkgver}.tar.xz") -sha1sums=('2f56dd4dd9a13936e1c658dd0021ce0d7ff207db') +sha1sums=('2a6a8dd0301e6a95d02091a3021906af031630bd') build() { cd "${srcdir}" diff --git a/kde-unstable/kdewebdev/PKGBUILD b/kde-unstable/kdewebdev/PKGBUILD index 232b2ae52..7584025fe 100644 --- a/kde-unstable/kdewebdev/PKGBUILD +++ b/kde-unstable/kdewebdev/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162641 2012-06-27 13:54:24Z andrea $ +# $Id: PKGBUILD 163455 2012-07-11 23:06:02Z andrea $ # Maintainer: Andrea Scarpino # Contributor: Pierre Schmitz @@ -7,7 +7,7 @@ pkgname=('kdewebdev-kfilereplace' 'kdewebdev-kimagemapeditor' 'kdewebdev-klinkstatus' 'kdewebdev-kommander') -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 arch=('i686' 'x86_64') url='http://www.kde.org' @@ -15,7 +15,7 @@ license=('GPL' 'LGPL' 'FDL') groups=('kde' 'kdewebdev') makedepends=('cmake' 'automoc4' 'ruby' 'tidyhtml' 'kdepimlibs' 'boost') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.xz") -sha1sums=('b358eba78851139d2c015fea602aed070568b26a') +sha1sums=('9c1f13cc5dd0c089509e04756bc72eb5aed437fe') build() { cd $srcdir diff --git a/kde-unstable/libkcddb/PKGBUILD b/kde-unstable/libkcddb/PKGBUILD index e1ebf4102..334a772ac 100644 --- a/kde-unstable/libkcddb/PKGBUILD +++ b/kde-unstable/libkcddb/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162569 2012-06-27 13:07:21Z andrea $ +# $Id: PKGBUILD 163375 2012-07-11 22:10:14Z andrea $ # Maintainer: Andrea Scarpino pkgname=libkcddb -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="KDE CDDB library" url='https://projects.kde.org/projects/kde/kdemultimedia/libkcddb' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdemultimedia-kioslave') conflicts=('kdemultimedia-kioslave') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('48be5e7df49e830b0908621a1be7a54cd3bc7c3a') +sha1sums=('5ca224e3debf8d48358d32c69bce488753ba47c2') build() { cd "${srcdir}" diff --git a/kde-unstable/libkcompactdisc/PKGBUILD b/kde-unstable/libkcompactdisc/PKGBUILD index e47febcfb..937f8cd18 100644 --- a/kde-unstable/libkcompactdisc/PKGBUILD +++ b/kde-unstable/libkcompactdisc/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162570 2012-06-27 13:07:55Z andrea $ +# $Id: PKGBUILD 163376 2012-07-11 22:10:46Z andrea $ # Maintainer: Andrea Scarpino pkgname=libkcompactdisc -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A library for interfacing with CDs" url='https://projects.kde.org/projects/kde/kdemultimedia/libkcompactdisc' @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdemultimedia-kioslave') conflicts=('kdemultimedia-kioslave') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('6820663a15ee6a668db3ca11cd678c2ca8525426') +sha1sums=('9e5acb7c8017f3ed0698a633683ef0c30d258312') build() { cd "${srcdir}" diff --git a/kde-unstable/libkdcraw/PKGBUILD b/kde-unstable/libkdcraw/PKGBUILD index bb8185096..c809bec6a 100644 --- a/kde-unstable/libkdcraw/PKGBUILD +++ b/kde-unstable/libkdcraw/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162564 2012-06-27 13:04:52Z andrea $ +# $Id: PKGBUILD 163370 2012-07-11 22:07:38Z andrea $ # Maintainer: Andrea Scarpino pkgname=libkdcraw -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A C++ interface used to decode RAW picture" url="https://projects.kde.org/projects/kde/kdegraphics/libs/libkdcraw" @@ -14,7 +14,7 @@ replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('f75867e177fb7dd292d38155afcee651a28832c0') +sha1sums=('2e64db1b96b48e2f52baa1e66d8914b75640602c') build() { cd "${srcdir}" diff --git a/kde-unstable/libkdeedu/PKGBUILD b/kde-unstable/libkdeedu/PKGBUILD index 8e07a9a0e..9e720d5d0 100644 --- a/kde-unstable/libkdeedu/PKGBUILD +++ b/kde-unstable/libkdeedu/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162562 2012-06-27 13:03:24Z andrea $ +# $Id: PKGBUILD 163368 2012-07-11 22:05:50Z andrea $ # Maintainer: Andrea Scarpino pkgname=libkdeedu -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Libraries used by KDE Education applications" url="https://projects.kde.org/projects/kde/kdeedu/libkdeedu" @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') install=${pkgname}.install replaces=('kdeedu-libkdeedu' 'kdeedu-data') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('55d37b387f972dc68d5f416c83d4522d03a5bea6') +sha1sums=('65e9a0054eac02b0232b647a82d9a4f72a0644a2') build() { cd "${srcdir}" diff --git a/kde-unstable/libkexiv2/PKGBUILD b/kde-unstable/libkexiv2/PKGBUILD index 3418e8db7..3f0bafca5 100644 --- a/kde-unstable/libkexiv2/PKGBUILD +++ b/kde-unstable/libkexiv2/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162565 2012-06-27 13:05:28Z andrea $ +# $Id: PKGBUILD 163371 2012-07-11 22:08:13Z andrea $ # Maintainer: Andrea Scarpino pkgname=libkexiv2 -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="A library to manipulate pictures metadata" url="https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2" @@ -13,7 +13,7 @@ makedepends=('cmake' 'automoc4') replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('769453952634967ee8fc987b2bec226b2e9c2c66') +sha1sums=('6d93848eae11495ced6a93891b8f1e09310237ce') build() { cd "${srcdir}" diff --git a/kde-unstable/libkipi/PKGBUILD b/kde-unstable/libkipi/PKGBUILD index 0575888fe..018c37b20 100644 --- a/kde-unstable/libkipi/PKGBUILD +++ b/kde-unstable/libkipi/PKGBUILD @@ -2,7 +2,7 @@ # Maintainer: Andrea Scarpino pkgname=libkipi -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="An interface to use kipi-plugins from a KDE application" url="https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi" @@ -14,7 +14,7 @@ replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('b81bb608fad6d906579539b3cdddec72e1727baa') +sha1sums=('bce6a8783f36db958890f5b162441a7f550e1a6a') build() { cd "${srcdir}" diff --git a/kde-unstable/libksane/PKGBUILD b/kde-unstable/libksane/PKGBUILD index e472f9aaf..d38bcbf41 100644 --- a/kde-unstable/libksane/PKGBUILD +++ b/kde-unstable/libksane/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162567 2012-06-27 13:06:22Z andrea $ +# $Id: PKGBUILD 163373 2012-07-11 22:09:10Z andrea $ # Maintainer: Andrea Scarpino pkgname=libksane -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="An image scanning library" url="https://projects.kde.org/projects/kde/kdegraphics/libs/libksane" @@ -14,7 +14,7 @@ replaces=('kdegraphics-libs') conflicts=('kdegraphics-libs') install=${pkgname}.install source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('25e023081c77cd7ba82c0e8ae449378164aec7b2') +sha1sums=('221dd7e63335f23682e61ab6c3cde471ad06282d') build() { cd "${srcdir}" diff --git a/kde-unstable/nepomuk-core/PKGBUILD b/kde-unstable/nepomuk-core/PKGBUILD index b5bc286b1..044556063 100644 --- a/kde-unstable/nepomuk-core/PKGBUILD +++ b/kde-unstable/nepomuk-core/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 162546 2012-06-27 12:52:08Z andrea $ +# $Id: PKGBUILD 163352 2012-07-11 21:53:39Z andrea $ # Maintainer: Andrea Scarpino pkgname=nepomuk-core -pkgver=4.8.95 +pkgver=4.8.97 pkgrel=1 pkgdesc="Contains the central Nepomuk services like file indexing, file system monitoring, query, storage, client libraries" url="https://projects.kde.org/projects/kde/kdelibs/nepomuk-core" @@ -11,7 +11,7 @@ license=('GPL' 'LGPL' 'FDL') depends=('kdelibs') makedepends=('cmake' 'automoc4' 'doxygen') source=("http://download.kde.org/unstable/${pkgver}/src/${pkgname}-${pkgver}.tar.xz") -sha1sums=('4c1653adff9104afdd9297d735b3b90f8060d3ba') +sha1sums=('6d456fd2de9daa8b97c730346b7377b8df265e56') build() { cd "${srcdir}" diff --git a/staging/mkvtoolnix/PKGBUILD b/staging/mkvtoolnix/PKGBUILD index 614c404aa..48bd96863 100644 --- a/staging/mkvtoolnix/PKGBUILD +++ b/staging/mkvtoolnix/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 163139 2012-07-08 09:22:06Z giovanni $ +# $Id: PKGBUILD 163225 2012-07-11 10:08:56Z giovanni $ # Maintainer: Giovanni Scafora # Contributor: xduugu pkgbase=mkvtoolnix pkgname=('mkvtoolnix-cli' 'mkvtoolnix-gtk') -pkgver=5.6.0 +pkgver=5.7.0 pkgrel=2 arch=('i686' 'x86_64') license=('GPL') @@ -12,7 +12,7 @@ url="http://www.bunkus.org/videotools/mkvtoolnix/index.html" makedepends=('libmatroska' 'flac' 'libvorbis' 'file' 'wxgtk' 'boost-libs' 'lzo2' 'xdg-utils' 'boost' 'ruby') source=("http://www.bunkus.org/videotools/${pkgbase}/sources/${pkgbase}-${pkgver}.tar.bz2") -md5sums=('53e96b613752913da800dcde7b65cf6d') +md5sums=('99ea44be570412dadafe4ccaee0cfe6e') build() { cd "${srcdir}/${pkgbase}-${pkgver}" diff --git a/testing/binutils/PKGBUILD b/testing/binutils/PKGBUILD index 79b1e53ab..0804c5a02 100644 --- a/testing/binutils/PKGBUILD +++ b/testing/binutils/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 162939 2012-07-04 01:12:41Z allan $ +# $Id: PKGBUILD 163227 2012-07-11 12:24:16Z allan $ # Maintainer: Allan McRae # toolchain build order: linux-api-headers->glibc->binutils->gcc->binutils->glibc pkgname=binutils pkgver=2.22 -pkgrel=8 +pkgrel=9 _date=20120323 pkgdesc="A set of programs to assemble and manipulate binary and object files" arch=('i686' 'x86_64') @@ -36,6 +36,7 @@ build() { [[ $CARCH == "x86_64" ]] && CONFIGFLAG="--enable-64-bit-bfd --disable-multilib" ${srcdir}/binutils/configure --prefix=/usr \ + --with-lib-path=/usr/lib:/usr/local/lib \ --enable-ld=default --enable-gold \ --enable-plugins --enable-threads \ --enable-shared $CONFIGFLAG diff --git a/testing/gpm/PKGBUILD b/testing/gpm/PKGBUILD new file mode 100644 index 000000000..3293e1ccc --- /dev/null +++ b/testing/gpm/PKGBUILD @@ -0,0 +1,41 @@ +# $Id: PKGBUILD 163459 2012-07-12 01:32:54Z eric $ +# Maintainer: Eric Bélanger + +pkgname=gpm +pkgver=1.20.6 +pkgrel=10 +pkgdesc="A mouse server for the console and xterm" +arch=('i686' 'x86_64') +url="http://www.nico.schottelius.org/software/gpm/" +license=('GPL') +depends=('ncurses' 'bash') +backup=('etc/conf.d/gpm') +options=('!makeflags') +install=gpm.install +source=(http://www.nico.schottelius.org/software/gpm/archives/${pkgname}-${pkgver}.tar.lzma \ + gpm gpm.conf.d gpm.sh gpm.service) +sha1sums=('4677da0eb2f1910a5a744bbefa08fea82e0dca0c' + '19e1feb1493373512a77801699df012d186336ea' + '4c31cb7dd51cee4d16d3f7a8956e6d87fac1ad86' + '88fe5ff10916c68a87abc8418a56eb0073f69fa9' + '20b92360f0ad38a2032fcae37bdbd01b31e43f77') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + ./configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + install -D -m755 ../gpm "${pkgdir}/etc/rc.d/gpm" + install -D -m644 ../gpm.conf.d "${pkgdir}/etc/conf.d/gpm" + install -D -m755 ../gpm.sh "${pkgdir}/etc/profile.d/gpm.sh" + install -D -m644 ../gpm.service "${pkgdir}/usr/lib/systemd/system/gpm.service" + +# library fixes + cd "${pkgdir}/usr/lib/" + ln -s libgpm.so.2.* libgpm.so + chmod 755 "${pkgdir}"/usr/lib/libgpm.so.* +} diff --git a/testing/gpm/gpm b/testing/gpm/gpm new file mode 100755 index 000000000..7b5213dd7 --- /dev/null +++ b/testing/gpm/gpm @@ -0,0 +1,41 @@ +#!/bin/bash + +# source application-specific settings +GPM_ARGS= +[ -f /etc/conf.d/gpm ] && . /etc/conf.d/gpm + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=$(pidof -o %PPID /usr/sbin/gpm) +case "$1" in + start) + stat_busy "Starting GPM Daemon" + [ -z "$PID" ] && /usr/sbin/gpm ${GPM_ARGS} + PID=$(pidof -o %PPID /usr/sbin/gpm) + if [ -z "$PID" ]; then + stat_fail + else + add_daemon gpm + stat_done + fi + ;; + stop) + stat_busy "Stopping GPM Daemon" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon gpm + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/gpm/gpm.conf.d b/testing/gpm/gpm.conf.d new file mode 100644 index 000000000..ab43bb7eb --- /dev/null +++ b/testing/gpm/gpm.conf.d @@ -0,0 +1,4 @@ +# +# Parameters to be passed to gpm +# +GPM_ARGS="-m /dev/input/mice -t imps2" diff --git a/testing/gpm/gpm.install b/testing/gpm/gpm.install new file mode 100644 index 000000000..2a1519a6c --- /dev/null +++ b/testing/gpm/gpm.install @@ -0,0 +1,16 @@ +infodir=/usr/share/info +file=gpm.info.gz + +post_install() { + [ -x usr/bin/install-info ] || return 0 + install-info $infodir/$file $infodir/dir 2> /dev/null +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + install-info --delete $infodir/$file $infodir/dir 2> /dev/null +} diff --git a/testing/gpm/gpm.service b/testing/gpm/gpm.service new file mode 100644 index 000000000..59e837d80 --- /dev/null +++ b/testing/gpm/gpm.service @@ -0,0 +1,9 @@ +[Unit] +Description=Virtual console mouse server + +[Service] +Type=forking +ExecStart=/usr/sbin/gpm -m /dev/input/mice -t imps2 + +[Install] +WantedBy=multi-user.target diff --git a/testing/gpm/gpm.sh b/testing/gpm/gpm.sh new file mode 100755 index 000000000..af35a5f33 --- /dev/null +++ b/testing/gpm/gpm.sh @@ -0,0 +1,3 @@ +case $( /usr/bin/tty ) in + /dev/tty[0-9]*) [ -n "$(pgrep gpm)" ] && /usr/bin/disable-paste ;; +esac diff --git a/testing/pkg-config/PKGBUILD b/testing/pkg-config/PKGBUILD new file mode 100644 index 000000000..fb1f82bf7 --- /dev/null +++ b/testing/pkg-config/PKGBUILD @@ -0,0 +1,34 @@ +# $Id: PKGBUILD 163231 2012-07-11 13:10:57Z allan $ +# Maintainer: Allan McRae +# Committer: Judd Vinet + +pkgname=pkg-config +pkgver=0.27 +pkgrel=1 +pkgdesc="A system for managing library compile/link flags" +arch=('i686' 'x86_64') +url="http://pkgconfig.freedesktop.org/wiki/" +license=('GPL') +groups=('base-devel') +depends=('glib2') +provides=("pkgconfig=${pkgver}") +conflicts=('pkgconfig') +replaces=('pkgconfig') +source=(http://pkgconfig.freedesktop.org/releases/${pkgname}-${pkgver}.tar.gz) +md5sums=('3a4c9feab14b6719afd8904945d9b4e4') + +build() { + cd ${srcdir}/${pkgname}-${pkgver} + ./configure --prefix=/usr + make +} + +check() { + cd ${srcdir}/${pkgname}-${pkgver} + make check +} + +package() { + cd ${srcdir}/${pkgname}-${pkgver} + make DESTDIR=${pkgdir} install +} diff --git a/testing/procps-ng/PKGBUILD b/testing/procps-ng/PKGBUILD new file mode 100644 index 000000000..9f3395472 --- /dev/null +++ b/testing/procps-ng/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 163236 2012-07-11 17:53:04Z eric $ +# Maintainer: Eric Bélanger + +pkgname=procps-ng +pkgver=3.3.3 +pkgrel=3 +pkgdesc="Utilities for monitoring your system and processes on your system" +arch=('i686' 'x86_64') +url="http://gitorious.org/procps" +license=('GPL' 'LGPL') +groups=('base') +depends=('ncurses') +conflicts=('procps') +provides=('procps') +replaces=('procps') +backup=('etc/sysctl.conf') +options=('!libtool') +source=(procps-ng-${pkgver}.tar.gz::http://gitorious.org/procps/procps/archive-tarball/v${pkgver} + sysctl.conf) +sha1sums=('e78a098f1a3c06722155800cc5cfa0c865af03c0' + 'efb6cdc17ee39be8433ae9c8e9bb02d1f47eeefc') + +build() { + cd "${srcdir}/procps-procps" + echo ${pkgver} > .tarball-version + ./autogen.sh + ./configure --exec-prefix=/ --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib + make +} + +package() { + cd "${srcdir}/procps-procps" + make DESTDIR="${pkgdir}" install + install -D -m644 "${srcdir}/sysctl.conf" "${pkgdir}/etc/sysctl.conf" +} diff --git a/testing/procps-ng/sysctl.conf b/testing/procps-ng/sysctl.conf new file mode 100644 index 000000000..baddd90a6 --- /dev/null +++ b/testing/procps-ng/sysctl.conf @@ -0,0 +1,46 @@ +# /etc/sysctl.conf - Configuration file for setting system variables +# See sysctl.conf (5) for information. + +# you can have the CD-ROM close when you use it, and open +# when you are done. +#dev.cdrom.autoeject = 1 +#dev.cdrom.autoclose = 1 + +# protection from the SYN flood attack +net.ipv4.tcp_syncookies = 1 + +# see the evil packets in your log files +#net.ipv4.conf.all.log_martians = 1 + +# if not functioning as a router, there is no need to accept redirects or source routes +#net.ipv4.conf.all.accept_redirects = 0 +#net.ipv4.conf.all.accept_source_route = 0 +#net.ipv6.conf.all.accept_redirects = 0 +#net.ipv6.conf.all.accept_source_route = 0 + +# Disable packet forwarding +net.ipv4.ip_forward = 0 +net.ipv6.conf.all.forwarding = 0 + +# Enable IPv6 Privacy Extensions +net.ipv6.conf.default.use_tempaddr = 2 +net.ipv6.conf.all.use_tempaddr = 2 + +# sets the port range used for outgoing connections +#net.ipv4.ip_local_port_range = 32768 61000 + +# Swapping too much or not enough? Disks spinning up when you'd +# rather they didn't? Tweak these. +#vm.vfs_cache_pressure = 100 +#vm.laptop_mode = 0 +#vm.swappiness = 60 + +#kernel.printk_ratelimit_burst = 10 +#kernel.printk_ratelimit = 5 +#kernel.panic_on_oops = 0 + +# Reboot 600 seconds after a panic +#kernel.panic = 600 + +# Disable SysRq key (note: console security issues) +kernel.sysrq = 0 diff --git a/testing/util-linux/PKGBUILD b/testing/util-linux/PKGBUILD index 977fba7a2..2dc698974 100644 --- a/testing/util-linux/PKGBUILD +++ b/testing/util-linux/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 162814 2012-06-30 21:27:56Z tomegun $ +# $Id: PKGBUILD 163397 2012-07-11 22:26:49Z tomegun $ # Maintainer: Tom Gundersen # Contributor: judd pkgname=util-linux pkgver=2.21.2 -pkgrel=3 +pkgrel=4 pkgdesc="Miscellaneous system utilities for Linux" url="http://www.kernel.org/pub/linux/utils/util-linux/" arch=('i686' 'x86_64') @@ -18,13 +18,11 @@ source=(ftp://ftp.kernel.org/pub/linux/utils/${pkgname}/v2.21/${pkgname}-${pkgve pam-login pam-common) backup=(etc/pam.d/chfn etc/pam.d/chsh etc/pam.d/login) +install=util-linux.install build() { cd "${srcdir}/${pkgname}-${pkgver}" - # hardware clock - sed -e 's%etc/adjtime%var/lib/hwclock/adjtime%' -i include/pathnames.h - ./configure --prefix=/usr \ --libdir=/usr/lib \ --enable-fs-paths-extra=/usr/bin:/usr/sbin \ @@ -48,8 +46,6 @@ package() { cd "${pkgdir}" - install -dm755 var/lib/hwclock - # broken tool, going away in next major release, so just remove it now rm "${pkgdir}"/usr/{bin/chkdupexe,share/man/man1/chkdupexe.1} diff --git a/testing/util-linux/util-linux.install b/testing/util-linux/util-linux.install new file mode 100644 index 000000000..fa27d4555 --- /dev/null +++ b/testing/util-linux/util-linux.install @@ -0,0 +1,8 @@ +post_upgrade() { + if [ "$(vercmp $2 2.21.2-4)" -lt 0 ]; then + if [ -f /var/lib/hwclock/adjtime ]; then + mv /var/lib/hwclock/adjtime /etc/adjtime + fi + rmdir /var/lib/hwclock + fi +} -- cgit v1.2.3-54-g00ecf