[packages/framewave] - new - system-boost patch to build with system boost libraries - c++ patch to fix C++ violations pr

qboosh qboosh at pld-linux.org
Wed Feb 20 21:22:43 CET 2013


commit 7a3dd3afc52de2131208c74b94aa90f46f48c85b
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Wed Feb 20 21:22:47 2013 +0100

    - new
    - system-boost patch to build with system boost libraries
    - c++ patch to fix C++ violations prohibited by gcc 4.6+

 framewave-c++.patch          |  22 +++++++
 framewave-system-boost.patch |  31 +++++++++
 framewave.spec               | 146 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 199 insertions(+)
---
diff --git a/framewave.spec b/framewave.spec
new file mode 100644
index 0000000..73a361a
--- /dev/null
+++ b/framewave.spec
@@ -0,0 +1,146 @@
+#
+# Conditional build:
+%bcond_without	static_libs	# don't build static libraries
+#
+Summary:	Framewave - set of popular image and signal processing routines
+Summary(pl.UTF-8):	Framewave - zestaw popularnych funkcji do przetwarzania obrazu i sygnału
+Name:		framewave
+Version:	1.3.1
+Release:	1
+License:	Apache v2.0
+Group:		Libraries
+Source0:	http://downloads.sourceforge.net/framewave/FRAMEWAVE_%{version}_SRC.tar.gz
+# Source0-md5:	86a28ebfbfd70be06ab54d0d8b17ebd7
+Patch0:		%{name}-system-boost.patch
+Patch1:		%{name}-c++.patch
+URL:		http://framewave.sourceforge.net/
+BuildRequires:	boost-devel >= 1.34
+BuildRequires:	libstdc++-devel
+BuildRequires:	rpmbuild(macros) >= 1.385
+BuildRequires:	scons
+BuildRequires:	sed >= 4.0
+ExclusiveArch:	%{ix86} %{x8664}
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+Framewave(TM) is a collection of low-level software routines for x86
+processors. Framewave (FW) is designed to aid and accelerate
+application development, debugging, and optimization. Framewave
+function capabilities extend from simple arithmetic operations to
+rich, complex domain specific tasks, such as image, video, and signal
+processing.
+
+%description -l pl.UTF-8
+Framewave(TM) to zestaw niskopoziomowych procedur dla procesorów x86.
+Biblioteki zostały zaprojektowane tak, aby wspomóc i przyspieszyć
+tworzenie aplikacji, diagnostykę i optymalizację. Możliwości funkcji
+Framewave obejmują obszar od prostych operacji arytmetycznych po
+złożone zadania specyficzne dla dziedziny, takie jak przetwarzanie
+obrazu statycznego i ruchomego oraz sygnału.
+
+%package devel
+Summary:	Header files for Framewave libraries
+Summary(pl.UTF-8):	Pliki nagłówkowe bibliotek Framewave
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+Header files for Framewave libraries.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek Framewave.
+
+%package static
+Summary:	Static Framewave libraries
+Summary(pl.UTF-8):	Statyczne biblioteki Framewave
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static Framewave libraries.
+
+%description static -l pl.UTF-8
+Statyczne biblioteki Framewave.
+
+%prep
+%setup -q -n FRAMEWAVE_%{version}_SRC
+%patch0 -p1
+%patch1 -p1
+
+# kill precompiled binaries
+%{__rm} BuildTools/bin/FwHeaderConvert_*
+
+%{__sed} -i -e "s/'-O2'/'%{rpmcxxflags}'/" BuildTools/buildscripts/fwflags_gcc.py
+
+%build
+cd Framewave
+mkdir -p build/{include,tmp,bin}
+for kind in shared %{?with_static_libs:static} ; do
+%scons \
+%ifarch %{x8664}
+	bitness=64 \
+%else
+	bitness=32 \
+%endif
+	libtype=$kind \
+	variant=release
+done
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
+
+cp -p Framewave/build/include/*.h $RPM_BUILD_ROOT%{_includedir}
+install Framewave/build/bin/release_shared_*/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
+/sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
+for f in $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.*.* ; do
+	ln -sf $(basename $f) $(echo $f | sed -e 's/[.0-9]*$//')
+done
+%if %{with static_libs}
+install Framewave/build/bin/release_static_*/lib*.a $RPM_BUILD_ROOT%{_libdir}
+%endif
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc License.txt README
+%attr(755,root,root) %{_libdir}/libfwBase.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfwBase.so.1
+%attr(755,root,root) %{_libdir}/libfwImage.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfwImage.so.1
+%attr(755,root,root) %{_libdir}/libfwJPEG.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfwJPEG.so.1
+%attr(755,root,root) %{_libdir}/libfwSignal.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfwSignal.so.1
+%attr(755,root,root) %{_libdir}/libfwVideo.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libfwVideo.so.1
+
+%files devel
+%defattr(644,root,root,755)
+%doc Framewave/doc/*.h
+%attr(755,root,root) %{_libdir}/libfwBase.so
+%attr(755,root,root) %{_libdir}/libfwImage.so
+%attr(755,root,root) %{_libdir}/libfwJPEG.so
+%attr(755,root,root) %{_libdir}/libfwSignal.so
+%attr(755,root,root) %{_libdir}/libfwVideo.so
+%{_includedir}/fwBase.h
+%{_includedir}/fwImage.h
+%{_includedir}/fwImage_sol.h
+%{_includedir}/fwJPEG.h
+%{_includedir}/fwSignal.h
+%{_includedir}/fwVideo.h
+
+%if %{with static_libs}
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libfwBase.a
+%{_libdir}/libfwImage.a
+%{_libdir}/libfwJPEG.a
+%{_libdir}/libfwSignal.a
+%{_libdir}/libfwVideo.a
+%endif
diff --git a/framewave-c++.patch b/framewave-c++.patch
new file mode 100644
index 0000000..7308442
--- /dev/null
+++ b/framewave-c++.patch
@@ -0,0 +1,22 @@
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/fe.h.orig	2009-07-09 11:15:40.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/fe.h	2013-02-20 17:25:54.537266158 +0100
+@@ -1302,7 +1302,7 @@
+    {
+    protected:
+       // Algorithm instance
+-      mutable FE &fe;                                                                 
++      FE &fe;                                                                 
+       const U32 width;   
+       const S32 s1Step, s2Step, s3Step,s4Step; 
+       const S32 d1Step,d2Step,d3Step,d4Step;
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/fex.h.orig	2009-07-09 11:15:40.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/common/include/fex.h	2013-02-20 17:34:16.300578433 +0100
+@@ -119,7 +119,7 @@
+    class B0St
+    {
+    protected:
+-      mutable FE &fe;                                               // Algorithm instance
++      FE &fe;                                               // Algorithm instance
+       const U32 width;   
+       const S32 s1Step, s2Step, s3Step,s4Step; 
+       U32 threads;   
diff --git a/framewave-system-boost.patch b/framewave-system-boost.patch
new file mode 100644
index 0000000..5f210b2
--- /dev/null
+++ b/framewave-system-boost.patch
@@ -0,0 +1,31 @@
+--- FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwBase/fwBase.sconscript.orig	2009-07-09 11:15:36.000000000 +0200
++++ FRAMEWAVE_1.3.1_SRC/Framewave/domain/fwBase/fwBase.sconscript	2013-02-20 16:19:45.120766072 +0100
+@@ -17,26 +17,11 @@
+ # Setup the path to the constatnts source file
+ pthConstCPP  = join(oRoot.dctFwVars['pthProjectRoot'], 'common', 'src', 'Constants.cpp')
+ 
+-if oRoot.dctFwVars['thread'] == 'pthread' :
+-	pthBoostBase = join(oRoot.dctFwVars['pthProjectRoot'], '..', 'sdk', 'boost_1_34_0', 'libs', 'thread', 'src')
+-	lstExtraBaseCPPs = [     pthConstCPP ,
+-		join(pthBoostBase,'barrier.cpp'),       \
+-		join(pthBoostBase,'condition.cpp'),     \
+-		join(pthBoostBase,'exceptions.cpp'),    \
+-		join(pthBoostBase,'mutex.cpp'),         \
+-		join(pthBoostBase,'once.cpp'),          \
+-		join(pthBoostBase,'thread.cpp'),        \
+-		join(pthBoostBase,'tss_dll.cpp'),       \
+-		join(pthBoostBase,'tss_hooks.cpp'),     \
+-		join(pthBoostBase,'tss_pe.cpp'),        \
+-		join(pthBoostBase,'xtime.cpp')          ]
+-else:
+-	lstExtraBaseCPPs = [ pthConstCPP ]
++lstExtraBaseCPPs = [ pthConstCPP ]
+ 
+ # Project script essentially starts here
+-fwBase      = fwProject(oRoot, 'fwBase')
++fwBase      = fwProject(oRoot, 'fwBase', LIBS=['boost_thread', 'boost_system'])
+ 
+-setupIncludePaths(fwBase.oEnv, join('sdk', 'boost_1_34_0'), dontRecurse=1)
+ oLib_fwBase = fwBase.initBuildObjects(lstExtraCPPs=lstExtraBaseCPPs)
+ 
+ Return("oLib_fwBase")
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/framewave.git/commitdiff/7a3dd3afc52de2131208c74b94aa90f46f48c85b



More information about the pld-cvs-commit mailing list