From 15753556ba32cd065c5a91f63f340fc48f9dc5f7 Mon Sep 17 00:00:00 2001 From: Alec Leamas Date: Mar 20 2012 12:50:28 +0000 Subject: Initial commit (790628) --- diff --git a/.gitignore b/.gitignore index e69de29..0527133 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/asl_1.0.43.tgz +/adobe-source-libraries-1.0.43-7.fc16.src.rpm diff --git a/adobe-source-libraries.pc b/adobe-source-libraries.pc new file mode 100644 index 0000000..ccded20 --- /dev/null +++ b/adobe-source-libraries.pc @@ -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 diff --git a/adobe-source-libraries.spec b/adobe-source-libraries.spec new file mode 100644 index 0000000..a160bca --- /dev/null +++ b/adobe-source-libraries.spec @@ -0,0 +1,164 @@ +Name: adobe-source-libraries +Version: 1.0.43 +Release: 7%{?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 +# (all patches) +Patch0: asl-gcc.patch +Patch1: asl-fedora-build-options.patch + +BuildRequires: boost-build +BuildRequires: boost-devel +BuildRequires: doxygen +BuildRequires: tbb-devel +BuildRequires: texlive-dvips texlive-latex + +%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 + +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 + +* Tue Mar 20 2012 Alec Leamas 1.0.43-7 +- Removing remaining documentation sources, minor fixes + +* Mon Mar 19 2012 Alec Leamas 1.0.43-7 +- Removing documentation from base package (%%exclude) +- Removing .dox files from documentation + +* Mon Mar 19 2012 Alec Leamas 1.0.43-7 +- Fixing bad source URL. +- Handling empty performance/index.html +- Moving documentation. + +* Sun Mar 18 2012 Alec Leamas 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 1.0.43-5 +- Updating get-source.sh to exclude APL. + +* Fri Mar 16 2012 Alec Leamas 1.0.43-5.fc15 +- Updating get-source.sh (wrong version packed in v4) +- Comments update, renamed patch0. + +* Sun Feb 19 2012 Alec Leamas 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 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 1.0.43-2.fc15 +- Fixed linkage problems in installed package. +- Better handling of instruction set in %%prep. + +* Fri Feb 10 2012 Alec Leamas 1.0.43-1.fc15 +- Initial package diff --git a/asl-fedora-build-options.patch b/asl-fedora-build-options.patch new file mode 100644 index 0000000..a5a534d --- /dev/null +++ b/asl-fedora-build-options.patch @@ -0,0 +1,60 @@ +asl-fedora-flags + +From: Alec Leamas + +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 = + msvc:_WIN32_WINNT=0x400 + darwin:"-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" + darwin:"-Xlinker -Y -Xlinker 5" ++ gcc,release:"-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" + gcc,debug:"-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" + # gcc-4.5.0:_GLIBCXX_USE_C99_MATH_TR1 # apparent problems using this without using other tr1 libs + gcc-4.5.0:__GXX_EXPERIMENTAL_CXX0X__ +@@ -63,8 +64,6 @@ asl_requirements = + $(tbb_requirements) + . + gcc:NOMINMAX +- gcc:x86 +- gcc,multi:i486 + msvc:"-DUNICODE -D_UNICODE" + msvc-8.0:"/W3 /WX /Wp64 /Zc:wchar_t /Zc:forScope" + msvc-9.0:"/W3 /WX /Zc:wchar_t /Zc:forScope" +@@ -74,10 +73,6 @@ asl_requirements = + $(ASL_ADDITIONAL_MACROS) + BOOST_ALL_NO_LIB + darwin:"-lSystemStubs" +- multi:/boost/thread//boost_thread +- /boost/filesystem +- /boost/system +- /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 diff --git a/asl-gcc.patch b/asl-gcc.patch new file mode 100644 index 0000000..f1fed07 --- /dev/null +++ b/asl-gcc.patch @@ -0,0 +1,47 @@ +asl-gcc-4.6 + +From: Alec Leamas + +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 + #else + #include +-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 + struct make_serializable { static const serializable value; }; + + template +-const serializable make_serializable::value; ++const serializable make_serializable::value = serializable(); + + /**************************************************************************************************/ + diff --git a/sources b/sources index e69de29..ab919c2 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +eac9f3eec40ed1f41d1e4671289b5e8b asl_1.0.43.tgz +7c8489b74a3ff7b47440fda1cd6cf1bb adobe-source-libraries-1.0.43-7.fc16.src.rpm