From 600d5378dadf22b8517d52ac19500594bce4b66d Mon Sep 17 00:00:00 2001 From: root Date: Sun, 13 Nov 2011 23:14:59 +0000 Subject: Sun Nov 13 23:14:59 UTC 2011 --- community/performous/PKGBUILD | 19 ++-- community/performous/boost-filesystem-v3.patch | 135 +++++++++++++++++++++++++ 2 files changed, 148 insertions(+), 6 deletions(-) create mode 100644 community/performous/boost-filesystem-v3.patch (limited to 'community/performous') diff --git a/community/performous/PKGBUILD b/community/performous/PKGBUILD index ce90dd8a5..1b5652a0e 100644 --- a/community/performous/PKGBUILD +++ b/community/performous/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 55893 2011-09-24 16:49:07Z stephane $ +# $Id: PKGBUILD 58417 2011-11-12 17:18:28Z ibiru $ # Maintainer : Laurent Carlier # Contributor: Christoph Zeiler pkgname=performous pkgver=0.6.1 -pkgrel=9 +pkgrel=10 pkgdesc='A free game like "Singstar", "Rockband" or "Stepmania"' arch=('i686' 'x86_64') url="http://performous.org/" @@ -13,19 +13,26 @@ depends=('boost-libs>=1.47' 'sdl' 'jack' 'imagemagick' 'ffmpeg' 'glew>=1.7.0' 'l 'opencv' 'librsvg' 'libjpeg' 'libpng' 'cairo') makedepends=('cmake' 'pkgconfig' 'help2man' 'boost>=1.47') optdepends=('performous-freesongs: free songs for performous') -source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2) -md5sums=('451a759de77984b5a699e91107fe52e2') +source=(http://sourceforge.net/projects/$pkgname/files/$pkgname/$pkgver/Performous-$pkgver-Source.tar.bz2 + boost-filesystem-v3.patch + ffmpeg-0.8.patch::"http://performous.git.sourceforge.net/git/gitweb.cgi?p=performous/performous;a=patch;h=18449f6e56451f68b980c8359a4d1dc06f82db1a") +md5sums=('451a759de77984b5a699e91107fe52e2' + '42a8c825d80b0de16bd5752d2a80e585' + 'ff0ffa681dfaa09c4f42133a65309bf0') build() { cd ${srcdir}/Performous-${pkgver}-Source + # fix to built against boost 1.46 and later, upstream (git) now support v3 + patch -Np1 -i ../boost-filesystem-v3.patch + # fix with ffmpeg-0.8 + patch -Np1 -i ../ffmpeg-0.8.patch + mkdir -p build cd build # fix config loading with libxml++ export LDFLAGS=${LDFLAGS/-Wl,--as-needed/} - # fix to built against boost 1.46, upstream (git) now support v3 - export CXXFLAGS="${CXXFLAGS} -DBOOST_FILESYSTEM_VERSION=2" cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr .. diff --git a/community/performous/boost-filesystem-v3.patch b/community/performous/boost-filesystem-v3.patch new file mode 100644 index 000000000..22dd07213 --- /dev/null +++ b/community/performous/boost-filesystem-v3.patch @@ -0,0 +1,135 @@ +diff --git a/game/backgrounds.cc b/game/backgrounds.cc +index 7fd3cd0..cdedefb 100644 +--- a/game/backgrounds.cc ++++ b/game/backgrounds.cc +@@ -55,8 +55,13 @@ void Backgrounds::reload_internal(fs::path const& parent) { + for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) { + fs::path p = dirIt->path(); + if (fs::is_directory(p)) { reload_internal(p); continue; } ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename + std::string path = p.directory_string(); // Path without filename ++#else ++ std::string name = p.filename().string(); // File basename ++ std::string path = p.string(); // Path without filename ++#endif + path.erase(path.size() - name.size()); + if (!regex_match(name.c_str(), match, expression)) continue; + { +diff --git a/game/cache.cc b/game/cache.cc +index 69974e2..0f1edd0 100644 +--- a/game/cache.cc ++++ b/game/cache.cc +@@ -9,7 +9,11 @@ namespace cache { + fs::path constructSVGCacheFileName(fs::path const& svgfilename, double factor){ + fs::path cache_filename; + std::string const lod = (boost::format("%.2f") % factor).str(); ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string const cache_basename = svgfilename.filename() + ".cache_" + lod + ".png"; ++#else ++ std::string const cache_basename = svgfilename.filename().string() + ".cache_" + lod + ".png"; ++#endif + + if (isThemeResource(svgfilename)) { + std::string const theme_name = (config["game/theme"].s().empty() ? "default" : config["game/theme"].s()); +diff --git a/game/filemagic.hh b/game/filemagic.hh +index bf87ded..29e81fe 100644 +--- a/game/filemagic.hh ++++ b/game/filemagic.hh +@@ -71,7 +71,11 @@ namespace filemagic { + // For now, just check the extension an assume it's not lying. + + // Get file extension in lower case ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string ext = filename.extension(); ++#else ++ std::string ext = filename.extension().string(); ++#endif + // somehow this does not convert the extension to lower case: + //std::for_each(ext.begin(), ext.end(), static_cast(std::tolower)); + std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower ); +diff --git a/game/fs.cc b/game/fs.cc +index e34a784..767a7ab 100644 +--- a/game/fs.cc ++++ b/game/fs.cc +@@ -128,7 +128,11 @@ std::string getThemePath(std::string const& filename) { + + bool isThemeResource(fs::path filename){ + try { ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string themefile = getThemePath(filename.filename()); ++#else ++ std::string themefile = getThemePath(filename.filename().string()); ++#endif + return themefile == filename; + } catch (...) { return false; } + } +diff --git a/game/songparser-ini.cc b/game/songparser-ini.cc +index 38e163b..db15d79 100644 +--- a/game/songparser-ini.cc ++++ b/game/songparser-ini.cc +@@ -104,7 +104,11 @@ void SongParser::iniParseHeader() { + // Search the dir for the music files + for (boost::filesystem::directory_iterator dirIt(s.path), dirEnd; dirIt != dirEnd; ++dirIt) { + boost::filesystem::path p = dirIt->path(); ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename (notes.txt) ++#else ++ std::string name = p.filename().string(); // File basename (notes.txt) ++#endif + if (regex_match(name.c_str(), match, midifile)) { + s.midifilename = name; + } else if (regex_match(name.c_str(), match, audiofile_background)) { +diff --git a/game/songparser.cc b/game/songparser.cc +index 2b7b9b4..ac9f3f6 100644 +--- a/game/songparser.cc ++++ b/game/songparser.cc +@@ -100,7 +100,11 @@ SongParser::SongParser(Song& s): + + for (boost::filesystem::directory_iterator dirIt(s.path), dirEnd; dirIt != dirEnd; ++dirIt) { + boost::filesystem::path p = dirIt->path(); ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename ++#else ++ std::string name = p.filename().string(); // File basename ++#endif + if (m_song.cover.empty() && regex_match(name.c_str(), match, coverfile)) { + m_song.cover = name; + } else if (m_song.background.empty() && regex_match(name.c_str(), match, backgroundfile)) { +diff --git a/game/songs.cc b/game/songs.cc +index 62ab26d..afab383 100644 +--- a/game/songs.cc ++++ b/game/songs.cc +@@ -67,8 +67,13 @@ void Songs::reload_internal(fs::path const& parent) { + for (fs::directory_iterator dirIt(parent), dirEnd; m_loading && dirIt != dirEnd; ++dirIt) { + fs::path p = dirIt->path(); + if (fs::is_directory(p)) { reload_internal(p); continue; } ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string name = p.leaf(); // File basename (notes.txt) + std::string path = p.directory_string(); // Path without filename ++#else ++ std::string name = p.filename().string(); // File basename (notes.txt) ++ std::string path = p.string(); // Path without filename ++#endif + path.erase(path.size() - name.size()); + if (!regex_match(name.c_str(), match, expression)) continue; + try { +diff --git a/tools/ss_helpers.hh b/tools/ss_helpers.hh +index 58e19dc..8895d94 100644 +--- a/tools/ss_helpers.hh ++++ b/tools/ss_helpers.hh +@@ -10,7 +10,11 @@ extern "C" void xmlLogger(void* logger, char const* msg, ...) { if (logger) *(st + void enableXMLLogger(std::ostream& os = std::cerr) { xmlSetGenericErrorFunc(&os, xmlLogger); } + void disableXMLLogger() { xmlSetGenericErrorFunc(NULL, xmlLogger); } + ++#if BOOST_FILESYSTEM_VERSION < 3 + std::string filename(boost::filesystem::path const& p) { return *--p.end(); } ++#else ++std::string filename(boost::filesystem::path const& p) { return p.filename().string(); } ++#endif + + /** Fix Singstar's b0rked XML **/ + std::string xmlFix(std::vector const& data) { +-- +1.7.4.1 + -- cgit v1.2.3-54-g00ecf