Adding patch2, support for bombono-dvd

This commit is contained in:
Alec Leamas 2012-03-29 00:09:43 +02:00
commit da7ddb4e6a
2 changed files with 96 additions and 2 deletions

View file

@ -1,6 +1,6 @@
Name: adobe-source-libraries
Version: 1.0.43
Release: 7%{?dist}
Release: 8%{?dist}
Summary: General purpose C++ libraries
Group: System Environment/Libraries
# License breakdown: http://stlab.adobe.com/licenses.html
@ -11,9 +11,11 @@ Source0: http://downloads.sourceforge.net/project/adobe-source/adobe-sour
# pkg-config(1) configuration file, part of packaging.
Source1: adobe-source-libraries.pc
# https://sourceforge.net/tracker/?func=detail&aid=3487687&group_id=132417&atid=724218
# (all patches)
# (pathch0, patch1)
Patch0: asl-gcc.patch
Patch1: asl-fedora-build-options.patch
# https://svn.boost.org/trac/boost/ticket/4647
Patch2: asl-no-concept-check1043.patch
BuildRequires: boost-build
BuildRequires: boost-devel
@ -49,6 +51,7 @@ API and other documentation for Adobe Source Libraries (ASL).
%setup -qn source_release
%patch0 -p1
%patch1 -p1
%patch2 -p1
find . \( -name *.hpp -o -name *.jpg \) -executable -exec chmod 644 {} \;
iconv -f iso8859-1 -t utf-8 release_notes.txt > release_notes.txt.conv && \
@ -123,6 +126,9 @@ ln -sf $sofile ${sofile%%.*.*.*}
%changelog
* Wed Mar 28 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-8
- Adding Patch2: Relaxing certain tests to fit bombono-dvd
* Tue Mar 20 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-7
- Removing remaining documentation sources, minor fixes

View file

@ -0,0 +1,88 @@
diff -Naur source_release_orig/adobe/any_iterator.hpp source_release/adobe/any_iterator.hpp
--- source_release_orig/adobe/any_iterator.hpp 2010-11-08 21:18:19.000000000 +0300
+++ source_release/adobe/any_iterator.hpp 2012-03-28 16:59:42.000000000 +0400
@@ -47,7 +47,10 @@
{
typedef typename optimized_storage_type<I, poly_iterator_interface<V, R, D> >::type base_t;
+// this is too restrictive check; need to make appropriate one
+#ifndef NO_ASL_AI_CONCEPT_CHECK
BOOST_CLASS_REQUIRE(I, boost, ForwardIteratorConcept);
+#endif
type(const I& x) : base_t (x)
{ }
@@ -133,7 +136,9 @@
{
typedef typename optimized_storage_type<I, any_bidirectional_iterator_interface<V, R, D> >::type base_t;
+#ifndef NO_ASL_AI_CONCEPT_CHECK
BOOST_CLASS_REQUIRE(I, boost, BidirectionalIteratorConcept);
+#endif
type(const I& x)
: base_t(x) {}
@@ -235,7 +240,9 @@
{
typedef typename optimized_storage_type<I, any_random_access_iterator_interface<V, R, D> >::type base_t;
+#ifndef NO_ASL_AI_CONCEPT_CHECK
BOOST_CLASS_REQUIRE(I, boost, RandomAccessIteratorConcept);
+#endif
type(const I& x)
: base_t(x) {}
diff -Naur source_release_orig/adobe/poly.hpp source_release/adobe/poly.hpp
--- source_release_orig/adobe/poly.hpp 2010-11-08 21:18:20.000000000 +0300
+++ source_release/adobe/poly.hpp 2012-03-28 17:01:40.000000000 +0400
@@ -70,8 +70,10 @@
virtual const void* cast() const = 0;
virtual const std::type_info& type_info() const = 0;
+#ifndef NO_ASL_AI_CONCEPT_CHECK
// Precondition of assignment: this->type_info() == x.type_info()
virtual void assign(const poly_copyable_interface& x) = 0;
+#endif
// Precondition of exchange: this->type_info() == x.type_info()
virtual void exchange(poly_copyable_interface& x) = 0;
@@ -107,9 +109,11 @@
~poly_state_remote()
{ delete value_ptr_m; }
+#ifndef NO_ASL_AI_CONCEPT_CHECK
// Precondition : this->type_info() == x.type_info()
void assign(const poly_copyable_interface& x)
{ *value_ptr_m = *static_cast<const poly_state_remote&>(x).value_ptr_m; }
+#endif
const std::type_info& type_info() const
{ return typeid(value_type); }
@@ -144,9 +148,11 @@
explicit poly_state_local(value_type x)
: value_m(adobe::move(x)) { }
+#ifndef NO_ASL_AI_CONCEPT_CHECK
// Precondition : this->type_info() == x.type_info()
void assign(const poly_copyable_interface& x)
{ value_m = static_cast<const poly_state_local&>(x).value_m; }
+#endif
const std::type_info& type_info() const
{ return typeid(value_type); }
@@ -342,6 +348,7 @@
return true;
}
+#ifndef NO_ASL_AI_CONCEPT_CHECK
template <typename T> poly_base& assign(const T& x)
{
if (type_info() == typeid(T))
@@ -364,6 +371,7 @@
interface_ref().~interface_type();
x.interface_ref().clone(storage());
}
+#endif
const interface_type* operator->() const
{ return &interface_ref(); }