]> git.pld-linux.org Git - packages/STLport.git/commitdiff
This commit was manufactured by cvs2git to create branch 'AC-branch'.
authorcvs2git <feedback@pld-linux.org>
Thu, 18 Jan 2007 16:56:43 +0000 (16:56 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Cherrypick from master 2007-01-18 16:56:43 UTC Marcin Banasiak <marcin.banasiak@gmail.com> '- package all symlinks (needed by rpm 4.4.7)':
    STLport-endianness.patch -> 1.4
    STLport-gcc420.patch -> 1.1
    STLport-gcc420_dirty_hack.patch -> 1.1
    STLport.spec -> 1.72

STLport-endianness.patch [new file with mode: 0644]
STLport-gcc420.patch [new file with mode: 0644]
STLport-gcc420_dirty_hack.patch [new file with mode: 0644]
STLport.spec [new file with mode: 0644]

diff --git a/STLport-endianness.patch b/STLport-endianness.patch
new file mode 100644 (file)
index 0000000..588046f
--- /dev/null
@@ -0,0 +1,21 @@
+--- STLport/stlport/stl/config/features.h.orig 2005-10-09 17:21:35.000000000 +0200
++++ STLport/stlport/stl/config/features.h      2005-11-09 09:28:38.949726000 +0100
+@@ -173,15 +173,15 @@
+ #endif
+ #if !defined (_STLP_BIG_ENDIAN) && !defined (_STLP_LITTLE_ENDIAN)
+-#  if defined (_MIPSEB) || defined (__sparc) || defined (_AIX) || \
++#  if defined (_MIPSEB) || defined (__sparc__) || defined (_AIX) || \
+       defined (__hpux) || defined (macintosh) || defined (_MAC)
+ #    define _STLP_BIG_ENDIAN 1
+ #  elif defined (__i386) || defined (_M_IX86) || defined (_M_ARM) || \
+         defined (__amd64__) || defined (_M_AMD64) || defined (__x86_64__) || \
+         defined (__alpha__)
+ #    define _STLP_LITTLE_ENDIAN 1
+-#  elif defined (__ia64__)
+-    /* itanium allows both settings (for instance via gcc -mbig-endian) - hence a seperate check is required */
++#  elif defined (__ia64__) || defined (__powerpc__)
++    /* itanium and powerpc allow both settings (for instance via gcc -mbig-endian) - hence a seperate check is required */
+ #    if defined (__BIG_ENDIAN__)
+ #      define _STLP_BIG_ENDIAN 1
+ #    else
diff --git a/STLport-gcc420.patch b/STLport-gcc420.patch
new file mode 100644 (file)
index 0000000..89f30ed
--- /dev/null
@@ -0,0 +1,23 @@
+--- STLport-5.1.0/stlport/stl/type_manips.h.orig       2006-12-16 20:00:24.000000000 +0000
++++ STLport-5.1.0/stlport/stl/type_manips.h    2006-12-16 20:02:52.000000000 +0000
+@@ -38,15 +38,18 @@
+  * in gcc 3.x it in bits/type_traits.h that included only from headers
+  * that not included from STLport; in gcc 4.x it defined in
+  * bits/cpp_type_traits.h, that included well... from cmath for example
++ * in gcc-4.2.0-200612 it was moved to std namespace
+  *
+  * libstdc++ v3,       __GLIBCXX__ 20050519 (3.4.4) use variant 1,
+  * libstdc++ v3,       __GLIBCXX__ 20060306 (3.4.6) use variant 1,
+  * while libstdc++ v3, __GLIBCXX__ 20050921 (4.0.2) use variant 2,
+- *                     __GLIBCXX__ 20060524 (4.1.1) use variant 2
++ *                     __GLIBCXX__ 20060524 (4.1.1) use variant 2,
++ *                     __GLIBCXX__ 20061119 (4.2.0) use variant 2,
++ *                     __GLIBCXX__ 20061206 (4.2.0) use variant 1
+  * muddle in libstdc++ versions...
+  *
+  */
+-# if defined (__GNUC__) && (__GNUC__ > 3)
++# if defined (__GNUC__) && (__GNUC__ > 3) && defined (__GNUC_MINOR__) && (__GNUC_MINOR__ < 2)
+ using ::__true_type;
+ using ::__false_type;
+ # else
diff --git a/STLport-gcc420_dirty_hack.patch b/STLport-gcc420_dirty_hack.patch
new file mode 100644 (file)
index 0000000..7828519
--- /dev/null
@@ -0,0 +1,203 @@
+--- STLport-5.1.0/stlport/ext/type_traits.h.orig       1970-01-01 00:00:00.000000000 +0000
++++ STLport-5.1.0/stlport/ext/type_traits.h    2006-12-18 12:56:32.000000000 +0000
+@@ -0,0 +1,200 @@
++// -*- C++ -*-
++
++// Copyright (C) 2005, 2006 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library.  This library is free
++// software; you can redistribute it and/or modify it under the terms
++// of the GNU General Public License as published by the Free Software
++// Foundation; either version 2, or (at your option) any later
++// version.
++
++// This library is distributed in the hope that it will be useful, but
++// WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++// General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING.  If not, write to the Free
++// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
++// USA.
++
++// As a special exception, you may use this file as part of a free
++// software library without restriction.  Specifically, if other files
++// instantiate templates or use macros or inline functions from this
++// file, or you compile this file and link it with other files to
++// produce an executable, this file does not by itself cause the
++// resulting executable to be covered by the GNU General Public
++// License.  This exception does not however invalidate any other
++// reasons why the executable file might be covered by the GNU General
++// Public License.
++
++/** @file ext/type_traits.h
++ *  This file is a GNU extension to the Standard C++ Library.
++ */
++
++#ifndef _EXT_TYPE_TRAITS
++#define _EXT_TYPE_TRAITS 1
++
++#pragma GCC system_header
++
++#include <cstddef>
++#include <utility>
++#include <limits>
++#include <iosfwd> // std::streamsize
++#include <bits/cpp_type_traits.h>
++
++_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
++
++  // Define a nested type if some predicate holds.
++  template<bool, typename>
++    struct __enable_if 
++    { };
++
++  template<typename _Tp>
++    struct __enable_if<true, _Tp>
++    { typedef _Tp __type; };
++
++
++  // Conditional expression for types. If true, first, if false, second.
++  template<bool _Cond, typename _Iftrue, typename _Iffalse>
++    struct __conditional_type
++    { typedef _Iftrue __type; };
++
++  template<typename _Iftrue, typename _Iffalse>
++    struct __conditional_type<false, _Iftrue, _Iffalse>
++    { typedef _Iffalse __type; };
++
++
++  // Given an integral builtin type, return the corresponding unsigned type.
++  template<typename _Tp>
++    struct __add_unsigned
++    { 
++    private:
++      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
++      
++    public:
++      typedef typename __if_type::__type __type; 
++    };
++
++  template<>
++    struct __add_unsigned<char>
++    { typedef unsigned char __type; };
++
++  template<>
++    struct __add_unsigned<signed char>
++    { typedef unsigned char __type; };
++
++  template<>
++    struct __add_unsigned<short>
++    { typedef unsigned short __type; };
++
++  template<>
++    struct __add_unsigned<int>
++    { typedef unsigned int __type; };
++
++  template<>
++    struct __add_unsigned<long>
++    { typedef unsigned long __type; };
++
++  template<>
++    struct __add_unsigned<long long>
++    { typedef unsigned long long __type; };
++
++  // Declare but don't define.
++  template<>
++    struct __add_unsigned<bool>;
++
++  template<>
++    struct __add_unsigned<wchar_t>;
++
++
++  // Given an integral builtin type, return the corresponding signed type.
++  template<typename _Tp>
++    struct __remove_unsigned
++    { 
++    private:
++      typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
++      
++    public:
++      typedef typename __if_type::__type __type; 
++    };
++
++  template<>
++    struct __remove_unsigned<char>
++    { typedef signed char __type; };
++
++  template<>
++    struct __remove_unsigned<unsigned char>
++    { typedef signed char __type; };
++
++  template<>
++    struct __remove_unsigned<unsigned short>
++    { typedef short __type; };
++
++  template<>
++    struct __remove_unsigned<unsigned int>
++    { typedef int __type; };
++
++  template<>
++    struct __remove_unsigned<unsigned long>
++    { typedef long __type; };
++
++  template<>
++    struct __remove_unsigned<unsigned long long>
++    { typedef long long __type; };
++
++  // Declare but don't define.
++  template<>
++    struct __remove_unsigned<bool>;
++
++  template<>
++    struct __remove_unsigned<wchar_t>;
++
++
++  // Compile time constants for builtin types.
++  // Sadly std::numeric_limits member functions cannot be used for this.
++#define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0)
++#define __glibcxx_digits(_Tp) \
++  (sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp))
++
++#define __glibcxx_min(_Tp) \
++  (__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0)
++
++#define __glibcxx_max(_Tp) \
++  (__glibcxx_signed(_Tp) ? ((_Tp)1 << __glibcxx_digits(_Tp)) - 1 : ~(_Tp)0)
++
++  template<typename _Value>
++    struct __numeric_traits_integer
++    {
++      // Only integers for initialization of member constant.
++      static const _Value __min = __glibcxx_min(_Value);
++      static const _Value __max = __glibcxx_max(_Value);
++    };
++
++  template<typename _Value>
++    const _Value __numeric_traits_integer<_Value>::__min;
++
++  template<typename _Value>
++    const _Value __numeric_traits_integer<_Value>::__max;
++
++  template<typename _Value>
++    struct __numeric_traits_floating
++    {
++      // Only floating point types. See N1822. 
++      static const _STLP_STD::streamsize __max_digits10 =
++      2 + _STLP_STD::numeric_limits<_Value>::digits * 3010/10000;
++    };
++
++  template<typename _Value>
++    const _STLP_STD::streamsize __numeric_traits_floating<_Value>::__max_digits10;
++
++  template<typename _Value>
++    struct __numeric_traits 
++    : public __conditional_type<std::__is_integer<_Value>::__value,
++                              __numeric_traits_integer<_Value>,
++                              __numeric_traits_floating<_Value> >::__type
++    { };
++
++_GLIBCXX_END_NAMESPACE
++
++#endif 
diff --git a/STLport.spec b/STLport.spec
new file mode 100644 (file)
index 0000000..510422a
--- /dev/null
@@ -0,0 +1,107 @@
+Summary:       C++ standard library
+Summary(pl):   Biblioteki standardowe C++
+Name:          STLport
+Version:       5.1.0
+Release:       2
+Epoch:         2
+License:       distributable (see README.gz)
+Group:         Libraries
+Source0:       http://dl.sourceforge.net/stlport/%{name}-%{version}.tar.bz2
+# Source0-md5: dcf079313e7e0d7870307b74b658bb81
+Patch0:                %{name}-endianness.patch
+Patch1:                %{name}-gcc420_dirty_hack.patch
+Patch2:                %{name}-gcc420.patch
+URL:           http://stlport.sourceforge.net/
+BuildRequires: libstdc++-devel >= 5:3.3.2
+BuildRequires: sed >= 4.0
+%requires_eq   libstdc++
+BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+STLport is a multiplatform implementation of C++ Standard Template
+Library based on SGI STL. It's used by e.g. OpenOffice.
+
+%description -l pl
+STLport to wieloplatformowa implementacja standardowej biblioteki
+szablonów (Standard Template Library) C++ oparta na SGI STL. Jest
+u¿ywana m.in. przez OpenOffice.
+
+%package devel
+Summary:       STLport heades files, documentation
+Summary(pl):   Pliki nag³ówkowe i dokumentacja do STLport
+Group:         Development/Libraries
+Requires:      %{name} = %{epoch}:%{version}-%{release}
+
+%description devel
+Header files and development documentation for STLport.
+
+%description devel -l pl
+Pliki nag³ówkowe i dokumentacja dla STLport.
+
+%package static
+Summary:       Static STLport libraries
+Summary(pl):   Biblioteki statyczne do STLport
+Group:         Development/Libraries
+Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+
+%description static
+Static STLport libraries.
+
+%description static -l pl
+Biblioteki statyczne do STLport.
+
+%prep
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+sed -i -e 's/= -O2$/= %{rpmcflags}/' build/Makefiles/gmake/gcc.mak
+
+%build
+%{__make} -C build/lib -f gcc.mak \
+       release-shared \
+       release-static \
+       CC="%{__cc}" \
+       CXX="%{__cxx}"
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_includedir}
+
+%{__make} -C build/lib -f gcc.mak \
+       install-release-shared \
+       install-release-static \
+       INSTALL_BIN_DIR=$RPM_BUILD_ROOT%{_bindir} \
+       INSTALL_LIB_DIR=$RPM_BUILD_ROOT%{_libdir}
+
+cp -a stlport $RPM_BUILD_ROOT%{_includedir}
+rm -rf $RPM_BUILD_ROOT%{_includedir}/stlport/BC50
+
+# libstlport.so.5 is removed by ldconfig or *something*, so make .so point to real soname
+ln -sf $(cd $RPM_BUILD_ROOT%{_libdir}; echo libstlport.so.*.*.*) \
+       $RPM_BUILD_ROOT%{_libdir}/libstlport.so
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post  -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README
+%attr(755,root,root) %{_libdir}/libstlport.so.*.*
+# libstlport.so points to this one instead of soname or real lib name
+# to be fixed if nothing tries to dlopen this one (nothing should!)
+%attr(755,root,root) %{_libdir}/libstlport.so.?
+
+%files devel
+%defattr(644,root,root,755)
+%doc doc/{FAQ,*.txt}
+%attr(755,root,root) %{_libdir}/libstlport.so
+%{_includedir}/stlport
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libstlport.a
This page took 0.062896 seconds and 4 git commands to generate.