- new
authorJakub Bogusz <qboosh@pld-linux.org>
Wed, 20 Feb 2013 20:22:47 +0000 (21:22 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Wed, 20 Feb 2013 20:22:47 +0000 (21:22 +0100)
- system-boost patch to build with system boost libraries
- c++ patch to fix C++ violations prohibited by gcc 4.6+

framewave-c++.patch [new file with mode: 0644]
framewave-system-boost.patch [new file with mode: 0644]
framewave.spec [new file with mode: 0644]

diff --git a/framewave-c++.patch b/framewave-c++.patch
new file mode 100644 (file)
index 0000000..7308442
--- /dev/null
@@ -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 (file)
index 0000000..5f210b2
--- /dev/null
@@ -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\r
+ pthConstCPP  = join(oRoot.dctFwVars['pthProjectRoot'], 'common', 'src', 'Constants.cpp')\r
\r
+-if oRoot.dctFwVars['thread'] == 'pthread' :\r
+-      pthBoostBase = join(oRoot.dctFwVars['pthProjectRoot'], '..', 'sdk', 'boost_1_34_0', 'libs', 'thread', 'src')\r
+-      lstExtraBaseCPPs = [     pthConstCPP ,\r
+-              join(pthBoostBase,'barrier.cpp'),       \\r
+-              join(pthBoostBase,'condition.cpp'),     \\r
+-              join(pthBoostBase,'exceptions.cpp'),    \\r
+-              join(pthBoostBase,'mutex.cpp'),         \\r
+-              join(pthBoostBase,'once.cpp'),          \\r
+-              join(pthBoostBase,'thread.cpp'),        \\r
+-              join(pthBoostBase,'tss_dll.cpp'),       \\r
+-              join(pthBoostBase,'tss_hooks.cpp'),     \\r
+-              join(pthBoostBase,'tss_pe.cpp'),        \\r
+-              join(pthBoostBase,'xtime.cpp')          ]\r
+-else:\r
+-      lstExtraBaseCPPs = [ pthConstCPP ]\r
++lstExtraBaseCPPs = [ pthConstCPP ]\r
\r
+ # Project script essentially starts here\r
+-fwBase      = fwProject(oRoot, 'fwBase')\r
++fwBase      = fwProject(oRoot, 'fwBase', LIBS=['boost_thread', 'boost_system'])\r
\r
+-setupIncludePaths(fwBase.oEnv, join('sdk', 'boost_1_34_0'), dontRecurse=1)\r
+ oLib_fwBase = fwBase.initBuildObjects(lstExtraCPPs=lstExtraBaseCPPs)\r
\r
+ Return("oLib_fwBase")\r
diff --git a/framewave.spec b/framewave.spec
new file mode 100644 (file)
index 0000000..73a361a
--- /dev/null
@@ -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
This page took 0.085957 seconds and 4 git commands to generate.