commit: a7f5457cb09b3ad84284edaa0edea5fa67d97ca8 Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Wed Apr 6 03:01:16 2016 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Wed Apr 6 03:01:27 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a7f5457c
net-misc/mediatomb: fix builds on x32 .../mediatomb/files/mediatomb-0.12.1-time-t.patch | 56 ++++++++++++++++++++++ net-misc/mediatomb/mediatomb-0.12.1-r8.ebuild | 2 + 2 files changed, 58 insertions(+) diff --git a/net-misc/mediatomb/files/mediatomb-0.12.1-time-t.patch b/net-misc/mediatomb/files/mediatomb-0.12.1-time-t.patch new file mode 100644 index 0000000..9961b5f --- /dev/null +++ b/net-misc/mediatomb/files/mediatomb-0.12.1-time-t.patch @@ -0,0 +1,56 @@ +From 73d12ad230a4ef4694f8d58b249ec6c2804ee324 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger <[email protected]> +Date: Tue, 5 Apr 2016 22:56:27 -0400 +Subject: [PATCH] fix storage quoting with long long values + +On 32-bit systems w/64-bit time_t's (like the x32 ABI) we fail to build: +../src/storage/sql_storage.cc: In member function 'virtual void SQLStorage::autoscanUpdateLM(zmm::Ref<AutoscanDirectory>)': +../src/storage/sql_storage.cc:2139:81: error: call of overloaded 'quote(time_t)' is ambiguous + << " SET " << TQ("last_modified") << '=' << quote(adir->getPreviousLMT()) + +Handle long long types explicitly to fix that. +--- + src/storage/mysql/mysql_storage.h | 1 + + src/storage/sql_storage.h | 1 + + src/storage/sqlite3/sqlite3_storage.h | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/src/storage/mysql/mysql_storage.h b/src/storage/mysql/mysql_storage.h +index c377d76..eaec12c 100644 +--- a/src/storage/mysql/mysql_storage.h ++++ b/src/storage/mysql/mysql_storage.h +@@ -55,6 +55,7 @@ private: + virtual inline zmm::String quote(unsigned long val) { return zmm::String::from(val); } + virtual inline zmm::String quote(bool val) { return zmm::String(val ? '1' : '0'); } + virtual inline zmm::String quote(char val) { return quote(zmm::String(val)); } ++ virtual inline zmm::String quote(long long val) { return zmm::String::from(val); } + virtual zmm::Ref<SQLResult> select(const char *query, int length); + virtual int exec(const char *query, int length, bool getLastInsertId = false); + virtual void storeInternalSetting(zmm::String key, zmm::String value); +diff --git a/src/storage/sql_storage.h b/src/storage/sql_storage.h +index 833693a..bd1afc3 100644 +--- a/src/storage/sql_storage.h ++++ b/src/storage/sql_storage.h +@@ -81,6 +81,7 @@ public: + virtual zmm::String quote(unsigned long val) = 0; + virtual zmm::String quote(bool val) = 0; + virtual zmm::String quote(char val) = 0; ++ virtual zmm::String quote(long long val) = 0; + virtual zmm::Ref<SQLResult> select(const char *query, int length) = 0; + virtual int exec(const char *query, int length, bool getLastInsertId = false) = 0; + +diff --git a/src/storage/sqlite3/sqlite3_storage.h b/src/storage/sqlite3/sqlite3_storage.h +index d825bd4..be6294d 100644 +--- a/src/storage/sqlite3/sqlite3_storage.h ++++ b/src/storage/sqlite3/sqlite3_storage.h +@@ -160,6 +160,7 @@ private: + virtual inline zmm::String quote(unsigned long val) { return zmm::String::from(val); } + virtual inline zmm::String quote(bool val) { return zmm::String(val ? '1' : '0'); } + virtual inline zmm::String quote(char val) { return quote(zmm::String(val)); } ++ virtual inline zmm::String quote(long long val) { return zmm::String::from(val); } + virtual zmm::Ref<SQLResult> select(const char *query, int length); + virtual int exec(const char *query, int length, bool getLastInsertId = false); + virtual void storeInternalSetting(zmm::String key, zmm::String value); +-- +2.7.4 + diff --git a/net-misc/mediatomb/mediatomb-0.12.1-r8.ebuild b/net-misc/mediatomb/mediatomb-0.12.1-r8.ebuild index e0d4647..24df8db 100644 --- a/net-misc/mediatomb/mediatomb-0.12.1-r8.ebuild +++ b/net-misc/mediatomb/mediatomb-0.12.1-r8.ebuild @@ -95,6 +95,8 @@ src_prepare() { # Work around broken youtube support by using youtube-dl #467110 epatch "${FILESDIR}"/${P}-youtube-dl.patch + epatch "${FILESDIR}"/${P}-time-t.patch + epatch_user eautoreconf
