taglib: Fix building 1.9.1 on gcc4

Sadly it seems it won't build with gcc2 anymore. Started patching,
but now it wants a bitset<>::to_string().
This commit is contained in:
François Revol
2014-08-16 00:51:37 +02:00
parent e751fa468b
commit de3b57938c
3 changed files with 76 additions and 13 deletions

View File

@@ -0,0 +1,33 @@
From 8908d52f9a172d2f9f043efbe96cc1f729cfd8db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= <revol@free.fr>
Date: Fri, 15 Aug 2014 23:32:38 +0200
Subject: [PATCH] Drop FORCE from install dir variables
Why the hell force users to install to places that only fit
a specific OS? No need to use CMake then...
---
CMakeLists.txt | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 317ffa1..e0b86b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -26,10 +26,10 @@ set(TESTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tests/")
## the following are directories where stuff will be installed to
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)")
-set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries" FORCE)
-set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)" FORCE)
-set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
-set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix" FORCE)
+set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries")
+set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The subdirectory to the binaries prefix (default prefix/bin)")
+set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})")
+set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "The subdirectory to the header prefix")
if(APPLE)
option(BUILD_FRAMEWORK "Build an OS X framework" OFF)
--
1.8.3.4

View File

@@ -0,0 +1,24 @@
diff --git a/taglib/toolkit/tstring.cpp b/taglib/toolkit/tstring.cpp
index 75a9833..8ba30d2 100644
--- a/taglib/toolkit/tstring.cpp
+++ b/taglib/toolkit/tstring.cpp
@@ -38,6 +38,7 @@
#include <iostream>
#include <cstdio>
#include <cstring>
+#include <cwchar>
#ifdef HAVE_STD_CODECVT
# include <codecvt>
@@ -198,9 +199,9 @@ String::String(const std::string &s, Type t)
: d(new StringPrivate())
{
if(t == Latin1)
- copyFromLatin1(&s[0], s.length());
+ copyFromLatin1(s.data(), s.length());
else if(t == String::UTF8)
- copyFromUTF8(&s[0], s.length());
+ copyFromUTF8(s.data(), s.length());
else {
debug("String::String() -- A std::string should not contain UTF16.");
}

View File

@@ -11,48 +11,54 @@ LICENSE="GNU LGPL v2
"
REVISION="1"
ARCHITECTURES="!x86 !x86_64"
SECONDARY_ARCHITECTURES="!x86"
ARCHITECTURES="x86 !x86_64"
if [ $effectiveTargetArchitecture != x86_gcc2 ]; then
# x86_gcc2 is fine as primary target architecture as long as we're building
# for a different secondary architecture.
ARCHITECTURES="$ARCHITECTURES x86_gcc2"
fi
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
taglib$secondaryArchSuffix = $portVersion
cmd:taglib_config
cmd:taglib_config$secondaryArchSuffix
lib:libtag$secondaryArchSuffix = 1.9.1 compat >= 1.9
lib:libtag_c$secondaryArchSuffix = 0.0.0 compat >= 0
"
REQUIRES="
haiku$secondaryArchSuffix >= $haikuVersion
lib:libz
lib:libstdc++$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libz
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel >= $haikuVersion
cmd:gcc$secondaryArchSuffix
cmd:cmake$secondaryArchSuffix
cmd:cmake
cmd:make
"
PATCHES="taglib-1.9.1.patchset"
BUILD()
{
cmake . -DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-DBIN_INSTALL_DIR=$binDir \
-DLIB_INSTALL_DIR=$developLibDir
cmake -DCMAKE_INSTALL_PREFIX:PATH=$prefix \
-DBIN_INSTALL_DIR:PATH=$binDir \
-DLIB_INSTALL_DIR:PATH=$libDir \
-DINCLUDE_INSTALL_DIR:PATH=$includeDir \
.
make
}
#-DINCLUDE_INSTALL_DIR=$developDir/headers \
INSTALL()
{
make install
mkdir -p $developDir/headers
mv $prefix/include/taglib $developDir/headers
prepareInstalledDevelLibs \
libtag \
libtag_c