diff options
author | Tiziano Müller <dev-zero@gentoo.org> | 2008-04-30 18:54:27 +0000 |
---|---|---|
committer | Tiziano Müller <dev-zero@gentoo.org> | 2008-04-30 18:54:27 +0000 |
commit | 07955918a6315582055925e41fd5b9d73923940b (patch) | |
tree | 56f7d29661309603b7b59758b228529fd78c491d /dev-libs | |
parent | Stable on alpha, bug #219728 (diff) | |
download | historical-07955918a6315582055925e41fd5b9d73923940b.tar.gz historical-07955918a6315582055925e41fd5b9d73923940b.tar.bz2 historical-07955918a6315582055925e41fd5b9d73923940b.zip |
Version bump (including a lot fixes, thanks to Peter Alfredsen and Debian, bug #219457).
Package-Manager: portage-2.1.5_rc6
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/STLport/ChangeLog | 15 | ||||
-rw-r--r-- | dev-libs/STLport/Manifest | 11 | ||||
-rw-r--r-- | dev-libs/STLport/STLport-5.1.5.ebuild | 130 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-alpha.patch | 21 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-bashism.patch | 38 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-cxx_use_c99.patch | 49 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-fix-warnings.patch | 96 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-gcc-4.3.patch | 40 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-hppa.patch | 24 | ||||
-rw-r--r-- | dev-libs/STLport/files/STLport-5.1.5-portability-hack.patch | 26 |
10 files changed, 447 insertions, 3 deletions
diff --git a/dev-libs/STLport/ChangeLog b/dev-libs/STLport/ChangeLog index 06021181bb1e..2292bb435a02 100644 --- a/dev-libs/STLport/ChangeLog +++ b/dev-libs/STLport/ChangeLog @@ -1,6 +1,17 @@ # ChangeLog for dev-libs/STLport -# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-libs/STLport/ChangeLog,v 1.64 2007/09/25 20:22:27 dev-zero Exp $ +# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/STLport/ChangeLog,v 1.65 2008/04/30 18:54:27 dev-zero Exp $ + +*STLport-5.1.5 (30 Apr 2008) + + 30 Apr 2008; Tiziano Müller <dev-zero@gentoo.org> + +files/STLport-5.1.5-alpha.patch, +files/STLport-5.1.5-bashism.patch, + +files/STLport-5.1.5-cxx_use_c99.patch, + +files/STLport-5.1.5-fix-warnings.patch, + +files/STLport-5.1.5-gcc-4.3.patch, +files/STLport-5.1.5-hppa.patch, + +files/STLport-5.1.5-portability-hack.patch, +STLport-5.1.5.ebuild: + Version bump (including a lot fixes, thanks to Peter Alfredsen and Debian, + bug #219457). *STLport-5.1.3 (25 Sep 2007) diff --git a/dev-libs/STLport/Manifest b/dev-libs/STLport/Manifest index a5179783ade5..e4efe0b200d4 100644 --- a/dev-libs/STLport/Manifest +++ b/dev-libs/STLport/Manifest @@ -1,8 +1,17 @@ AUX STLport-5.1.2-fix_bashism.patch 3380 RMD160 e75b86bf16d688a702fe23be781f8d903226f8cd SHA1 0e78e50dae1801abece7088cb6cfc491c0947312 SHA256 b32e22a987679c849bbe7998ab819ba789ba4543dcc6c611897dfb178553dbdb AUX STLport-5.1.2-wrong_russian_currency_name.patch 1050 RMD160 66bd42c7d7ee7a14a6be3f69a057162d5f8abacc SHA1 2f0e3291cb538c66531c2a7e037ca245a170b61c SHA256 07658cdd06c472fb6fa84254517db48931662fcd26f0bc56d41687fe9f8c115c +AUX STLport-5.1.5-alpha.patch 840 RMD160 de220df85c3ff598cb5c91452bca34bfe2b7f302 SHA1 d598db0da8db80b640545998a317e93c98e5e301 SHA256 2c7fd337165a301e50111a8d5305d6ec3c74b73940b1598d66ab703cebc633e4 +AUX STLport-5.1.5-bashism.patch 2210 RMD160 6db5caa622725378aa73c2942a72a8d5c125f908 SHA1 2c3e0153fc61aafddce7d8d13579ba4a80d5bc9d SHA256 5626718d9698300577bbecbef88f9c7e30d5e59797f01925c4e8bf1093275a78 +AUX STLport-5.1.5-cxx_use_c99.patch 1387 RMD160 e372afafa212ff6ff016cdef950303c32802976d SHA1 064a178eb7b43a48c1dc01a627505e89efc6a1a4 SHA256 d68ce2e9a19e3d86f6a96f8c5424f502814550a5086dbe8d99db12cdad8975bb +AUX STLport-5.1.5-fix-warnings.patch 4193 RMD160 d80618eb1cfb592117a106b7a04a1576de590a18 SHA1 109069f90181db7ef5b5169ed8cb49c98b5e982f SHA256 dfb1efe35f045779301c2b72a9d5d43a23081ac801f5767c3b2022e4a660e689 +AUX STLport-5.1.5-gcc-4.3.patch 1100 RMD160 75658abd5c083351e82aba5d4aa26757f3b66ebd SHA1 d6165ad989183ffdeb8748f214f5f7ea4ca7fc6c SHA256 df5f98b6548e9300b08cd599498bd46aa6b9bc8ed5015b9394bb050aef9979b9 +AUX STLport-5.1.5-hppa.patch 1222 RMD160 6bd77741f7a00b56b477b9dcc62ae997eebe6147 SHA1 b0468151c03337e97d273a61ad454c88498ce40f SHA256 95aebbae47356fe94068a6834a8e28c278e1c06e3e01ba581f8c615d9154a862 +AUX STLport-5.1.5-portability-hack.patch 693 RMD160 1336764fa42f7707238887c0eabbd519162bc1c1 SHA1 f9b55367cb17a34b5200ef765b6c22a3a72d584a SHA256 532eb37422adbe4b141487d0b14bf6e4f0ba87250c8ca44aa34578f4180b42a8 DIST STLport-5.1.2.tar.bz2 675633 RMD160 c3fd1af92d270179c6cf07a09a0e6e13173dc875 SHA1 35294b85ed95b93720325490259642d4128c657b SHA256 6f6189d4233e4195a45b3e3a3d5504fd0c66b44c6217549702e8440419e28d84 DIST STLport-5.1.3.tar.bz2 679697 RMD160 7e0b484849039893717caaeb9f5cdd35e7798267 SHA1 37c2174a8884e8c83c7378901031ccaf9a29cd6b SHA256 08ecdec9fccd5e629af9cf5b5ce88e3476e8caf396aa390520e0cc18bc9fd5b4 +DIST STLport-5.1.5.tar.bz2 682914 RMD160 bc24cbba247821a9b94fbc7cdf8d2b421bcc6afb SHA1 0c8b188fe74162998aea17ad689397adf99b2d93 SHA256 2470ca40adc89750c69affffde8a9e6ab6a03f4e3c93640067089f99e76f6dc5 EBUILD STLport-5.1.2.ebuild 2598 RMD160 7cfacdf5377851591067c4d43c9f1833f746a162 SHA1 d2ab7b731084ea9b4c5eca59c50339cd36c82123 SHA256 40dd640cd154a7312a13bccbecde3d5828793d5cba71b80e36276aec861a1858 EBUILD STLport-5.1.3.ebuild 2794 RMD160 eb8a8798049d856ba0073001e9ba1aafe0299ba4 SHA1 b91428fbf46840659f3d9c638aedfcd8b61e570c SHA256 47b89010813f8d5c8a98da249a761f969b572c3d240e45260d6ba13ae4fffc32 -MISC ChangeLog 9294 RMD160 ecf0ce5554285f1d36a724ea0e46fc12a09de994 SHA1 74c82443a83794b08f89c32785f432534af4d6ba SHA256 3fbad4d152afa60d6e5ea78a88b4ccda9326e34d5198a830952df4e450525910 +EBUILD STLport-5.1.5.ebuild 3462 RMD160 7d68dfdb2d11bc64909428f6380cd591bace54c6 SHA1 0e1d3893fe35d4c2879bedf93d8f02dd0bcf9e64 SHA256 636a0a12ff805e285548138bca2f3684ea8d104b1974b0520f51531663b39b10 +MISC ChangeLog 9769 RMD160 25fbd75ae73e52473493899a28d8ff24dfd297fc SHA1 3001a4daf0b28c0409b663ab2b6271b9d28d70d5 SHA256 560881e05f4cc0eb9f8a9c018e3ea45202605fc0aab1a708fb452b0b39e191f9 MISC metadata.xml 156 RMD160 537178ef5a820896e97475fb9aded47d50474bef SHA1 2a4ef4879b918a28132d21cd6d1bbaa2a30dccde SHA256 0e8490f9c62cb74e5894b52f643a02de0024d97dbfebad43082dce6bcb39555f diff --git a/dev-libs/STLport/STLport-5.1.5.ebuild b/dev-libs/STLport/STLport-5.1.5.ebuild new file mode 100644 index 000000000000..34adffbe91b2 --- /dev/null +++ b/dev-libs/STLport/STLport-5.1.5.ebuild @@ -0,0 +1,130 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-libs/STLport/STLport-5.1.5.ebuild,v 1.1 2008/04/30 18:54:27 dev-zero Exp $ + +inherit eutils versionator eutils toolchain-funcs multilib flag-o-matic + +KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86" + +DESCRIPTION="C++ STL library" +HOMEPAGE="http://stlport.sourceforge.net/" +SRC_URI="mirror://sourceforge/stlport/${P}.tar.bz2" +LICENSE="as-is" +SLOT="0" +IUSE="boost" + +DEPEND="boost? ( dev-libs/boost )" +RDEPEND="${RDEPEND}" + +src_unpack() { + unpack ${A} + cd "${S}" + + #Debian bug 356570 http://bugs.debian.org/356570 + #Gentoo bug 183060 http://bugs.gentoo.org/183060 + #Debian bug 443234 http://bugs.debian.org/443234 + #Debian bug 389316 http://bugs.debian.org/389316 + #Debian bug 384247 http://bugs.debian.org/384247 + #Debian bug 465395 http://bugs.debian.org/465395 + #Debian bug 468063 http://bugs.debian.org/468063 + epatch "${FILESDIR}/${P}-portability-hack.patch" \ + "${FILESDIR}/${P}-bashism.patch" \ + "${FILESDIR}/${P}-cxx_use_c99.patch" \ + "${FILESDIR}/${P}-hppa.patch" \ + "${FILESDIR}/${P}-alpha.patch" \ + "${FILESDIR}/${P}-fix-warnings.patch" \ + "${FILESDIR}/${P}-gcc-4.3.patch" + + sed -i \ + -e 's/\(OPT += \)-O2/\1/' \ + build/Makefiles/gmake/*cc.mak \ + || die "sed opts failed" + + # CXX_VERSION on gentoo has ( )s in them, they need to be quoted. + + sed -i \ + -e 's/echo ${CXX_VERSION}/echo "${CXX_VERSION}"/' \ + build/Makefiles/gmake/*.mak \ + || die "sed CXX_VERSION failed" + + # We have to add this to host.h to make sure + # that dependencies of STLport use the same settings + cat <<- EOF >> stlport/stl/config/host.h + #define _STLP_NATIVE_INCLUDE_PATH ../g++-v$(gcc-major-version) + /* use pthreads for threading */ + #define _PTHREADS + /* enable largefile support */ + #define _FILE_OFFSET_BITS 64 + #define _LARGEFILE_SOURCE + #define _LARGEFILE64_SOURCE + EOF +} + +src_compile() { + + sed -i \ + -e "s|\(CC :=\) gcc|\1 $(tc-getCC)|" \ + -e "s|\(CXX :=\) c++|\1 $(tc-getCXX)|" \ + -e "s|^\(CFLAGS = \)|\1 ${CFLAGS} |" \ + -e "s|^\(CCFLAGS = \)|\1 ${CFLAGS} |" \ + -e "s|^\(CPPFLAGS = \)|\1 ${CPPFLAGS} |" \ + build/Makefiles/gmake/gcc.mak || die "sed failed" + + local myconf + if use boost ; then + myconf="${myconf} --with-boost=/usr/include" + sed -i \ + -e 'N;N;N;s:/\**\n\(#define _STLP_USE_BOOST_SUPPORT 1\)*\n\*/:\1:' \ + stlport/stl/config/user_config.h + fi + + cd "${S}/build/lib" + + # It's not an autoconf script + ./configure \ + ${myconf} \ + --with-extra-cxxflags="${CXXFLAGS}" || die "configure failed" + + cd "${S}" + + cat <<- EOF >> build/Makefiles/config.mak + CFLAGS := ${CFLAGS} + EOF + + local targets + targets="all-shared all-static" + + # The build-system is broken in respect to parallel builds, bug #161881 + emake \ + -j1 \ + -C build/lib \ + -f gcc.mak \ + depend ${targets} || die "Compile failed" + +} + +src_install() { + emake -C build/lib -f gcc.mak install + dolib.so lib/* + + emake -C build/lib -f gcc.mak install-static + dolib.a lib/*.a + + insinto /usr/include + doins -r stlport + + dodoc README etc/ChangeLog* etc/*.txt doc/* +} + +src_test() { + cd "${S}/build" + + sed -i \ + -e "1aLDFLAGS := -L${S}/build/lib/obj/gcc/so -L${S}/build/lib/obj/gcc/so_g -L${S}/build/lib/obj/gcc/so_stlg" \ + test/unit/gcc.mak || die "sed failed" + + emake -j1 -C test/unit -f gcc.mak || die "emake tests failed" + + export LD_LIBRARY_PATH="./lib/obj/gcc/so_stlg" + ./test/unit/obj/gcc/so_stlg/stl_unit_test || die "unit tests failed" +} diff --git a/dev-libs/STLport/files/STLport-5.1.5-alpha.patch b/dev-libs/STLport/files/STLport-5.1.5-alpha.patch new file mode 100644 index 000000000000..93cfbf334747 --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-alpha.patch @@ -0,0 +1,21 @@ +--- stlport5.1.orig/stlport/stl/_cwchar.h ++++ stlport5.1/stlport/stl/_cwchar.h +@@ -105,18 +105,6 @@ + # define WCHAR_MAX ((wchar_t)~0) + # endif + # endif +-# if defined (__GNUC__) && defined (__alpha__) +-/* Definition of WCHAR_MIN and MAX are wrong for alpha platform +- * as gcc consider wchar_t as an unsigned type. Static assertion are +- * here to check that a future alpha SDK or a future gcc won't change the +- * situation making this workaround useless. +- */ +-_STLP_STATIC_ASSERT(((wchar_t)-1 > 0) && (WCHAR_MIN < 0)) +-# undef WCHAR_MIN +-# define WCHAR_MIN 0 +-# undef WCHAR_MAX +-# define WCHAR_MAX ((wchar_t)~0) +-# endif + # if defined(__HP_aCC) && (__HP_aCC >= 60000) + /* Starting with B.11.31, HP-UX/ia64 provides C99-compliant definitions + * of WCHAR_MIN/MAX macros without having to define diff --git a/dev-libs/STLport/files/STLport-5.1.5-bashism.patch b/dev-libs/STLport/files/STLport-5.1.5-bashism.patch new file mode 100644 index 000000000000..23abf2f3ab64 --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-bashism.patch @@ -0,0 +1,38 @@ +--- STLport-5.1.5.orig/build/Makefiles/gmake/lib/gcc.mak ++++ STLport-5.1.5/build/Makefiles/gmake/lib/gcc.mak +@@ -89,9 +89,9 @@ + # Include whole language support archive (libsupc++.a) into libstlport: + # all C++ issues are in libstlport now. + ifeq ($(OSNAME),linux) +-START_OBJ := $(shell for o in crt{i,beginS}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) ++START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + #START_A_OBJ := $(shell for o in crt{i,beginT}.o; do ${CXX} -print-file-name=$$o; done) +-END_OBJ := $(shell for o in crt{endS,n}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) ++END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm + endif + ifeq ($(OSNAME),openbsd) +@@ -107,8 +107,8 @@ + STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -l${PTHR} -lc -lm + endif + ifeq ($(OSNAME),netbsd) +-START_OBJ := $(shell for o in crt{i,beginS}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) +-END_OBJ := $(shell for o in crt{endS,n}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) ++START_OBJ := $(shell for o in crti.o crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) ++END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm + endif + ifeq ($(OSNAME),sunos) +--- STLport-5.1.5.orig/build/Makefiles/gmake/app/gcc.mak ++++ STLport-5.1.5/build/Makefiles/gmake/app/gcc.mak +@@ -104,8 +104,8 @@ + endif + + ifeq ($(OSNAME),linux) +-START_OBJ := $(shell for o in crt{1,i,begin}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) +-END_OBJ := $(shell for o in crt{end,n}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) ++START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) ++END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm + endif + ifeq ($(OSNAME),openbsd) diff --git a/dev-libs/STLport/files/STLport-5.1.5-cxx_use_c99.patch b/dev-libs/STLport/files/STLport-5.1.5-cxx_use_c99.patch new file mode 100644 index 000000000000..68fa98b9737d --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-cxx_use_c99.patch @@ -0,0 +1,49 @@ +--- STLport-5.1.5.orig/stlport/stl/_cstdlib.h ++++ STLport-5.1.5/stlport/stl/_cstdlib.h +@@ -16,12 +16,27 @@ + #ifndef _STLP_INTERNAL_CSTDLIB + #define _STLP_INTERNAL_CSTDLIB + ++/* Work around inconsistent definition of _GLIBCXX_USE_C99 across arches; on ++ * these arches std::llabs is therefore not available. ++ * ++ * See http://bugs.debian.org/443234 ++ */ ++#ifndef _GLIBCXX_USE_C99 ++#define _GLIBCXX_USE_C99 1 ++#define _HACK_CXX_USE_C99 1 ++#endif ++ + #if defined (_STLP_USE_NEW_C_HEADERS) + # include _STLP_NATIVE_CPP_C_HEADER(cstdlib) + #else + # include <stdlib.h> + #endif + ++#ifdef _HACK_CXX_USE_C99 ++#undef _GLIBCXX_USE_C99 ++#undef _HACK_CXX_USE_C99 ++#endif ++ + #if defined (__BORLANDC__) + /* Borland process.h header do not bring anything here and is just included + * in order to avoid inclusion later. This header cannot be included later +--- STLport-5.1.5.orig/stlport/stl/_cmath.h ++++ STLport-5.1.5/stlport/stl/_cmath.h +@@ -21,7 +21,16 @@ + * so cstdlib has to be included first. + */ + #if defined (__GNUC__) && defined (_STLP_USE_NEW_C_HEADERS) ++/* See http://bugs.debian.org/443234 */ ++# ifndef _GLIBCXX_USE_C99 ++# define _GLIBCXX_USE_C99 1 ++# define _HACK_CXX_USE_C99 1 ++# endif + # include _STLP_NATIVE_CPP_C_HEADER(cstdlib) ++# ifdef _HACK_CXX_USE_C99 ++# undef _GLIBCXX_USE_C99 ++# undef _HACK_CXX_USE_C99 ++# endif + #endif + + #if defined (_STLP_USE_NEW_C_HEADERS) diff --git a/dev-libs/STLport/files/STLport-5.1.5-fix-warnings.patch b/dev-libs/STLport/files/STLport-5.1.5-fix-warnings.patch new file mode 100644 index 000000000000..fc155482f53f --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-fix-warnings.patch @@ -0,0 +1,96 @@ +--- STLport-5.1.5.orig/stlport/stl/_num_put.c ++++ STLport-5.1.5/stlport/stl/_num_put.c +@@ -158,7 +158,7 @@ + //casting numeric_limits<ptrdiff_t>::max to streamsize only works is ptrdiff_t is signed or streamsize representation + //is larger than ptrdiff_t one. + _STLP_STATIC_ASSERT((sizeof(streamsize) > sizeof(ptrdiff_t)) || +- (sizeof(streamsize) == sizeof(ptrdiff_t)) && numeric_limits<ptrdiff_t>::is_signed) ++ ((sizeof(streamsize) == sizeof(ptrdiff_t)) && numeric_limits<ptrdiff_t>::is_signed)) + ptrdiff_t __pad = __STATIC_CAST(ptrdiff_t, (min) (__STATIC_CAST(streamsize, (numeric_limits<ptrdiff_t>::max)()), + __STATIC_CAST(streamsize, __wid - __len))); + ios_base::fmtflags __dir = __flg & ios_base::adjustfield; +--- STLport-5.1.5.orig/stlport/stl/_istream.c ++++ STLport-5.1.5/stlport/stl/_istream.c +@@ -647,7 +647,7 @@ + //casting numeric_limits<ptrdiff_t>::max to streamsize only works is ptrdiff_t is signed or streamsize representation + //is larger than ptrdiff_t one. + _STLP_STATIC_ASSERT((sizeof(streamsize) > sizeof(ptrdiff_t)) || +- (sizeof(streamsize) == sizeof(ptrdiff_t)) && numeric_limits<ptrdiff_t>::is_signed) ++ ((sizeof(streamsize) == sizeof(ptrdiff_t)) && numeric_limits<ptrdiff_t>::is_signed)) + ptrdiff_t __request = __STATIC_CAST(ptrdiff_t, (min) (__STATIC_CAST(streamsize, (numeric_limits<ptrdiff_t>::max)()), _Num - __n)); + + const _CharT* __p = __scan_delim(__first, __last); +--- STLport-5.1.5.orig/stlport/stl/_locale.h ++++ STLport-5.1.5/stlport/stl/_locale.h +@@ -308,11 +308,11 @@ + #endif + + template <class _Facet> +-bool _HasFacet(const locale& __loc, const _Facet* __facet) _STLP_NOTHROW ++bool _HasFacet(const locale& __loc, const _Facet*) _STLP_NOTHROW + { return (__loc._M_get_facet(_Facet::id) != 0); } + + template <class _Facet> +-_Facet* _UseFacet(const locale& __loc, const _Facet* __facet) ++_Facet* _UseFacet(const locale& __loc, const _Facet*) + { return __STATIC_CAST(_Facet*, __loc._M_use_facet(_Facet::id)); } + + _STLP_END_NAMESPACE +--- STLport-5.1.5.orig/stlport/stl/_algo.c ++++ STLport-5.1.5/stlport/stl/_algo.c +@@ -1342,7 +1342,7 @@ + template <class _ForwardIter, class _Tp, + class _Compare1, class _Compare2, class _Distance> + _ForwardIter __upper_bound(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, +- _Compare1 __comp1, _Compare2 __comp2, _Distance*) { ++ _Compare1 _STLP_VERBOSE_PARAM(__comp1), _Compare2 __comp2, _Distance*) { + _Distance __len = distance(__first, __last); + _Distance __half; + +--- STLport-5.1.5.orig/stlport/stl/_algobase.c ++++ STLport-5.1.5/stlport/stl/_algobase.c +@@ -371,7 +371,7 @@ + + template <class _ForwardIter, class _Tp, class _Compare1, class _Compare2, class _Distance> + _ForwardIter __lower_bound(_ForwardIter __first, _ForwardIter __last, const _Tp& __val, +- _Compare1 __comp1, _Compare2 __comp2, _Distance*) { ++ _Compare1 __comp1, _Compare2 _STLP_VERBOSE_PARAM(__comp2), _Distance*) { + _Distance __len = distance(__first, __last); + _Distance __half; + _ForwardIter __middle; +--- STLport-5.1.5.orig/stlport/stl/config/features.h ++++ STLport-5.1.5/stlport/stl/config/features.h +@@ -415,6 +415,7 @@ + + #if !defined (_STLP_DEBUG) + # define _STLP_VERBOSE_ASSERT(expr,diagnostic) ++# define _STLP_VERBOSE_PARAM(param) + # define _STLP_DEBUG_CHECK(expr) + # define _STLP_DEBUG_DO(expr) + #endif +--- STLport-5.1.5.orig/stlport/stl/debug/_debug.h ++++ STLport-5.1.5/stlport/stl/debug/_debug.h +@@ -184,6 +184,7 @@ + } + # endif + ++# define _STLP_VERBOSE_PARAM(param) param + # define _STLP_DEBUG_CHECK(expr) _STLP_ASSERT(expr) + # define _STLP_DEBUG_DO(expr) expr; + +--- STLport-5.1.5.orig/src/strstream.cpp ++++ STLport-5.1.5/src/strstream.cpp +@@ -266,11 +266,12 @@ + } + + void strstreambuf::_M_free(char* p) { +- if (p) ++ if (p) { + if (_M_free_fun) + _M_free_fun(p); + else + delete[] p; ++ } + } + + void strstreambuf::_M_setup(char* get, char* put, streamsize n) { diff --git a/dev-libs/STLport/files/STLport-5.1.5-gcc-4.3.patch b/dev-libs/STLport/files/STLport-5.1.5-gcc-4.3.patch new file mode 100644 index 000000000000..270890f80de9 --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-gcc-4.3.patch @@ -0,0 +1,40 @@ +--- STLport-5.1.5.orig/build/Makefiles/gmake/gcc.mak ++++ STLport-5.1.5/build/Makefiles/gmake/gcc.mak +@@ -29,6 +29,11 @@ + CXX_VERSION := $(shell ${CXX} --version | grep GCC | awk '{ print $$3; }') + + ifeq ($(CXX_VERSION),) ++# Current g++-4.3 ++CXX_VERSION := $(shell ${CXX} --version | grep '^g++' | awk '{ print $$4; }') ++endif ++ ++ifeq ($(CXX_VERSION),) + # 2.95 report only version + CXX_VERSION := $(shell ${CXX} --version) + endif +--- STLport-5.1.5.orig/stlport/limits.h ++++ STLport-5.1.5/stlport/limits.h +@@ -24,7 +24,11 @@ + struct _exception; + #endif + +-#include _STLP_NATIVE_C_HEADER(limits.h) ++#if defined (_STLP_HAS_INCLUDE_NEXT) ++# include_next <limits.h> ++#else ++# include _STLP_NATIVE_C_HEADER(limits.h) ++#endif + + #if (_STLP_OUTERMOST_HEADER_ID == 0x201) + # if ! defined (_STLP_DONT_POP_HEADER_ID) +--- STLport-5.1.5.orig/stlport/stl/config/_gcc.h ++++ STLport-5.1.5/stlport/stl/config/_gcc.h +@@ -4,6 +4,8 @@ + + #define _STLP_COMPILER "gcc" + ++#define _STLP_HAS_INCLUDE_NEXT 1 ++ + /* Systems having GLIBC installed have different traits */ + #if defined (__linux__) + # ifndef _STLP_USE_GLIBC diff --git a/dev-libs/STLport/files/STLport-5.1.5-hppa.patch b/dev-libs/STLport/files/STLport-5.1.5-hppa.patch new file mode 100644 index 000000000000..57e6ef7791cf --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-hppa.patch @@ -0,0 +1,24 @@ +--- STLport-5.1.5.orig/build/Makefiles/gmake/lib/gcc.mak ++++ STLport-5.1.5/build/Makefiles/gmake/lib/gcc.mak +@@ -93,6 +93,9 @@ + #START_A_OBJ := $(shell for o in crt{i,beginT}.o; do ${CXX} -print-file-name=$$o; done) + END_OBJ := $(shell for o in crtendS.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + STDLIBS := -Wl,--whole-archive -lsupc++ ${_LGCC_EH} -Wl,--no-whole-archive ${_LGCC_S} -lpthread -lc -lm ++ifneq (,$(findstring $(M_ARCH),hppa parisc64 parisc)) ++STDLIBS += -lgcc ++endif + endif + ifeq ($(OSNAME),openbsd) + START_OBJ := $(shell for o in crtbeginS.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) +--- STLport-5.1.5.orig/build/Makefiles/gmake/app/gcc.mak ++++ STLport-5.1.5/build/Makefiles/gmake/app/gcc.mak +@@ -107,6 +107,9 @@ + START_OBJ := $(shell for o in crt1.o crti.o crtbegin.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + END_OBJ := $(shell for o in crtend.o crtn.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) + STDLIBS = ${STLPORT_LIB} ${_LGCC_S} -lpthread -lc -lm ++ifneq (,$(findstring $(M_ARCH),hppa parisc64 parisc)) ++STDLIBS += -lgcc ++endif + endif + ifeq ($(OSNAME),openbsd) + START_OBJ := $(shell for o in crt{0,begin}.o; do ${CXX} ${CXXFLAGS} -print-file-name=$$o; done) diff --git a/dev-libs/STLport/files/STLport-5.1.5-portability-hack.patch b/dev-libs/STLport/files/STLport-5.1.5-portability-hack.patch new file mode 100644 index 000000000000..70b978dd596f --- /dev/null +++ b/dev-libs/STLport/files/STLport-5.1.5-portability-hack.patch @@ -0,0 +1,26 @@ +--- STLport-5.1.5.orig/stlport/stl/config/_gcc.h ++++ STLport-5.1.5/stlport/stl/config/_gcc.h +@@ -459,3 +459,23 @@ + # define _STLP_STATIC_TEMPLATE_DATA 1 + #endif + ++/* Ugly hack here ; we pull in GNU libc <bits/mathdef.h> to find out whether ++ * this platform has `long double' type. It solves #356570. ++ * ++ * THIS IS BAD BECAUSE WE POLLUTE THE GLOBAL NAMESPACE. ++ */ ++#ifdef __GLIBC__ ++# if !defined(_MATH_H) ++# define _HACK_UNDEF_MATH_H ++# define _MATH_H ++# endif ++# include <bits/mathdef.h> ++# if defined(__NO_LONG_DOUBLE_MATH) ++# define _STLP_NO_LONG_DOUBLE ++# endif ++# if defined(_HACK_UNDEF_MATH_H) ++# undef _HACK_UNDEF_MATH_H ++# undef _MATH_H ++# endif ++#endif ++ |