Compare commits

..

No commits in common. "rawhide" and "f15" have entirely different histories.

8 changed files with 380 additions and 1 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/asl_1.0.43.tgz

View file

@ -0,0 +1,8 @@
prefix=/usr
includedir=/usr/include
Name: adobe-source-libraries
Description: General purpose addon to STL and Boost.
Version: 1.0.43
Libs: -lasl_dev
Cflags: -I${includedir}/adobe

175
adobe-source-libraries.spec Normal file
View file

@ -0,0 +1,175 @@
Name: adobe-source-libraries
Version: 1.0.43
Release: 9%{?dist}
Summary: General purpose C++ libraries
Group: System Environment/Libraries
# License breakdown: http://stlab.adobe.com/licenses.html
License: MIT
URL: http://stlab.adobe.com/
Source0: http://downloads.sourceforge.net/project/adobe-source/adobe-source/%{version}/asl_%{version}.tgz
# 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
# (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
BuildRequires: doxygen
BuildRequires: tbb-devel
BuildRequires: texlive-dvips texlive-latex
# needs to match TBB
ExclusiveArch: %{ix86} x86_64 ia64
%description
ASL provides peer-reviewed and portable C++ source libraries. The
libraries are intended to be widely useful, leveraging and extending
both the C++ Standard Library and the Boost Libraries.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig
%description devel
Libraries and header files for developing applications that
use %{name}.
%package doc
Summary: Documentation
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
%description doc
API and other documentation for Adobe Source Libraries (ASL).
%prep
%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 && \
mv -f release_notes.txt.conv release_notes.txt
chmod 644 LICENSE_1_0_0.txt
sed -i 's/@optflags@/%{optflags}/g' jamroot.jam
sed -i 's/@version@/%{version}/g' %{SOURCE1}
%build
# Using static lib (relinked in next step) due to soname problems:
# https://svn.boost.org/trac/boost/ticket/2746.
bjam link=static toolset=gcc variant=release asl_dev
rm -rf tmp; mkdir tmp; cd tmp
ar x ../../built_artifacts/*/*/*/*/threading-multi/libasl_dev.a
gcc -shared -g -Wl,-soname=libasl_dev.so.%{version} -Wl,-as-needed \
*.o -o ../libasl_dev.so.%{version} \
-lboost_thread-mt -lboost_signals -lboost_filesystem
#bjam link=static toolset=gcc variant=release documentation/examples
cd ../documentation
./build_docs.pl
%install
cd documentation
rm -f build_docs.pl
find . -name *.dox -delete
rm -rf asl doxygen_support_files doxyfile performance stldoc \
structure tutorials widget_lib
# https://sourceforge.net/projects/adobe-source/forums/forum/449268/topic/5126565
[ -s performance/index.html ] || rm -f performance/index.html
mkdir -p %{buildroot}%{_datadir}/doc/%{name}-%{version}
cd ..
mv documentation %{buildroot}%{_datadir}/doc/%{name}-%{version}
mkdir -p %{buildroot}%{_libdir}/pkgconfig
cp %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig
mkdir -p %{buildroot}%{_includedir}
cp -ar adobe %{buildroot}%{_includedir}
sofile=libasl_dev.so.%{version}
mkdir -p %{buildroot}%{_libdir}
install -m 755 $sofile %{buildroot}%{_libdir}
cd %{buildroot}%{_libdir}
ln -sf $sofile ${sofile%%.*}
ln -sf $sofile ${sofile%%.*.*}
ln -sf $sofile ${sofile%%.*.*.*}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%doc LICENSE_1_0_0.txt read_me.html release_notes.txt
%{_libdir}/*.so.*
%exclude %{_datadir}/doc/%{name}-%{version}/documentation
%files devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%files doc
%doc %{_datadir}/doc/%{name}-%{version}/documentation
%changelog
* Sun Apr 1 2012 Dan Horák <dan[at]danny.cz> 1.0.43-9
- set ExclusiveArch to match TBB
* 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
* Mon Mar 19 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-7
- Removing documentation from base package (%%exclude)
- Removing .dox files from documentation
* Mon Mar 19 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-7
- Fixing bad source URL.
- Handling empty performance/index.html
- Moving documentation.
* Sun Mar 18 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-6
- Using boost-build, purging get-source.sh, related clean-up.
- Source0 refers directly to sourceforge.
* Sat Mar 17 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-5
- Updating get-source.sh to exclude APL.
* Fri Mar 16 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-5.fc15
- Updating get-source.sh (wrong version packed in v4)
- Comments update, renamed patch0.
* Sun Feb 19 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-4.fc15
- Fixing David Timms's comment #12.
- Removing unused parts of bundled boost in get-source.sh.
- Documenting boost bundling in spec file.
- Several patches removed, not required anymore.
* Thu Feb 16 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-3.fc15
- Even better handling of instruction set (removed it).
- Factored out fedora flags to new patch.
* Wed Feb 15 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-2.fc15
- Fixed linkage problems in installed package.
- Better handling of instruction set in %%prep.
* Fri Feb 10 2012 Alec Leamas <leamas@nowhere.net> 1.0.43-1.fc15
- Initial package

View file

@ -0,0 +1,60 @@
asl-fedora-flags
From: Alec Leamas <leamas.alec@gmail.com>
Fix fedora compilation flags in jamroot.jam
---
adobe_source_libraries/jamroot.jam | 26 ++++++++++----------------
1 files changed, 10 insertions(+), 16 deletions(-)
diff --git a/jamroot.jam b/adobe_source_libraries/jamroot.jam
index 8c7b593..dfd88c8 100644
--- a/jamroot.jam
+++ b/jamroot.jam
@@ -46,6 +46,7 @@ adobe_requirements =
<toolset>msvc:<define>_WIN32_WINNT=0x400
<toolset>darwin:<cxxflags>"-Werror -Wall -Wno-trigraphs -Wreturn-type -Wnon-virtual-dtor -Woverloaded-virtual -Wformat -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare"
<toolset>darwin:<linkflags>"-Xlinker -Y -Xlinker 5"
+ <toolset>gcc,<variant>release:<cxxflags>"-fPIC @optflags@ -fpermissive -Wno-long-long -Wno-strict-aliasing -Wno-trigraphs -Wnon-virtual-dtor -Woverloaded-virtual -Wunused-parameter -Wno-unused-variable -Wunknown-pragmas -Wsign-compare -Wno-parentheses"
<toolset>gcc,<variant>debug:<cxxflags>"-Werror -Wall -Wno-trigraphs -Wreturn-type -Wnon-virtual-dtor -Woverloaded-virtual -Wformat -Wmissing-braces -Wparentheses -Wswitch -Wunused-function -Wunused-label -Wunused-parameter -Wunused-variable -Wunused-value -Wunknown-pragmas -Wsign-compare -Wno-parentheses"
# <toolset>gcc-4.5.0:<define>_GLIBCXX_USE_C99_MATH_TR1 # apparent problems using this without using other tr1 libs
<toolset>gcc-4.5.0:<define>__GXX_EXPERIMENTAL_CXX0X__
@@ -63,8 +64,6 @@ asl_requirements =
$(tbb_requirements)
<include>.
<toolset>gcc:<define>NOMINMAX
- <toolset>gcc:<architecture>x86
- <toolset>gcc,<threading>multi:<instruction-set>i486
<toolset>msvc:<cxxflags>"-DUNICODE -D_UNICODE"
<toolset>msvc-8.0:<cxxflags>"/W3 /WX /Wp64 /Zc:wchar_t /Zc:forScope"
<toolset>msvc-9.0:<cxxflags>"/W3 /WX /Zc:wchar_t /Zc:forScope"
@@ -74,10 +73,6 @@ asl_requirements =
$(ASL_ADDITIONAL_MACROS)
<define>BOOST_ALL_NO_LIB
<toolset>darwin:<linkflags>"-lSystemStubs"
- <threading>multi:<library>/boost/thread//boost_thread
- <library>/boost/filesystem
- <library>/boost/system
- <library>/boost/signals
;
project
@@ -116,6 +111,7 @@ switch [ os.name ]
import os ;
+import path ;
local boost-path = [ os.environ BOOST_PATH ] ;
if $(boost-path)
{
@@ -124,8 +120,6 @@ if $(boost-path)
boost-path = [ path.make ../boost_libraries ] ;
}
-use-project /boost : $(boost-path) ;
-
lib asl
: #sources

47
asl-gcc.patch Normal file
View file

@ -0,0 +1,47 @@
asl-gcc-4.6
From: Alec Leamas <leamas.alec@gmail.com>
Fixes to for gcc 4.6 - 4.7.
---
adobe/cmath.hpp | 4 ++--
source/any_regular.cpp | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/adobe/cmath.hpp b/adobe_source_libraries/adobe/cmath.hpp
index 250a3ef..733c299 100644
--- a/adobe/cmath.hpp
+++ b/adobe/cmath.hpp
@@ -37,7 +37,7 @@ back to include math.h. This also needs to add any other C99 math.h extensions.
#define ADOBE_HAS_CPP_CMATH
#elif __GNUC__ == 4
-#if (__GNUC_MINOR__ < 6) || (!(defined(_GLIBCXX_USE_C99_MATH_TR1)))
+#if (__GNUC_MINOR__ <= 7) || (!(defined(_GLIBCXX_USE_C99_MATH_TR1)))
// at least Ubuntu 9.x, gcc 4.4.1, still falls into this case
/*
The currently supported version of GNUC has C99 extensions in math.h. But no TR1 extensions.
@@ -46,7 +46,7 @@ back to include math.h. This also needs to add any other C99 math.h extensions.
#include <cmath>
#else
#include <tr1/cmath>
-s
+
#define ADOBE_HAS_C99_STD_MATH_H
#endif
#endif
diff --git a/source/any_regular.cpp b/adobe_source_libraries/source/any_regular.cpp
index b0826ba..2f4f3fb 100644
--- a/source/any_regular.cpp
+++ b/source/any_regular.cpp
@@ -62,7 +62,7 @@ template <typename T, typename Any = void>
struct make_serializable { static const serializable<T> value; };
template <typename T, typename Any>
-const serializable<T> make_serializable<T, Any>::value;
+const serializable<T> make_serializable<T, Any>::value = serializable<T>();
/**************************************************************************************************/

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(); }

View file

@ -1 +0,0 @@
Orphaned

1
sources Normal file
View file

@ -0,0 +1 @@
eac9f3eec40ed1f41d1e4671289b5e8b asl_1.0.43.tgz