c09aa71633e6c27dbd2b4ee8e40b3e91b2df5240
[packages/framewave.git] / framewave.spec
1 #
2 # Conditional build:
3 %bcond_without  static_libs     # don't build static libraries
4 #
5 Summary:        Framewave - set of popular image and signal processing routines
6 Summary(pl.UTF-8):      Framewave - zestaw popularnych funkcji do przetwarzania obrazu i sygnału
7 Name:           framewave
8 Version:        1.3.1
9 Release:        12
10 License:        Apache v2.0
11 Group:          Libraries
12 Source0:        http://downloads.sourceforge.net/framewave/FRAMEWAVE_%{version}_SRC.tar.gz
13 # Source0-md5:  86a28ebfbfd70be06ab54d0d8b17ebd7
14 Patch0:         %{name}-system-boost.patch
15 Patch1:         %{name}-c++.patch
16 Patch2:         no-forced-arch-bits.patch
17 Patch3:         %{name}-templates.patch
18 Patch4:         %{name}-warnings.patch
19 Patch5:         %{name}-cpuid.patch
20 URL:            http://framewave.sourceforge.net/
21 BuildRequires:  boost-devel >= 1.34
22 BuildRequires:  libstdc++-devel
23 BuildRequires:  rpmbuild(macros) >= 1.385
24 BuildRequires:  scons
25 BuildRequires:  sed >= 4.0
26 ExclusiveArch:  %{ix86} %{x8664} x32
27 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
28
29 %description
30 Framewave(TM) is a collection of low-level software routines for x86
31 processors. Framewave (FW) is designed to aid and accelerate
32 application development, debugging, and optimization. Framewave
33 function capabilities extend from simple arithmetic operations to
34 rich, complex domain specific tasks, such as image, video, and signal
35 processing.
36
37 %description -l pl.UTF-8
38 Framewave(TM) to zestaw niskopoziomowych procedur dla procesorów x86.
39 Biblioteki zostały zaprojektowane tak, aby wspomóc i przyspieszyć
40 tworzenie aplikacji, diagnostykę i optymalizację. Możliwości funkcji
41 Framewave obejmują obszar od prostych operacji arytmetycznych po
42 złożone zadania specyficzne dla dziedziny, takie jak przetwarzanie
43 obrazu statycznego i ruchomego oraz sygnału.
44
45 %package devel
46 Summary:        Header files for Framewave libraries
47 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek Framewave
48 Group:          Development/Libraries
49 Requires:       %{name} = %{version}-%{release}
50
51 %description devel
52 Header files for Framewave libraries.
53
54 %description devel -l pl.UTF-8
55 Pliki nagłówkowe bibliotek Framewave.
56
57 %package static
58 Summary:        Static Framewave libraries
59 Summary(pl.UTF-8):      Statyczne biblioteki Framewave
60 Group:          Development/Libraries
61 Requires:       %{name}-devel = %{version}-%{release}
62
63 %description static
64 Static Framewave libraries.
65
66 %description static -l pl.UTF-8
67 Statyczne biblioteki Framewave.
68
69 %prep
70 %setup -q -n FRAMEWAVE_%{version}_SRC
71 %patch0 -p1
72 %patch1 -p1
73 %patch2 -p1
74 %patch3 -p1
75 %patch4 -p1
76 %patch5 -p1
77
78 # kill precompiled binaries
79 %{__rm} BuildTools/bin/FwHeaderConvert_*
80
81 %{__sed} -i -e "s/'-O2'/'%{rpmcxxflags}'/" BuildTools/buildscripts/fwflags_gcc.py
82
83 %build
84 cd Framewave
85 mkdir -p build/{include,tmp,bin}
86 for kind in shared %{?with_static_libs:static} ; do
87 %scons \
88 %ifarch %{x8664} x32
89         bitness=64 \
90 %else
91         bitness=32 \
92 %endif
93         libtype=$kind \
94         variant=release
95 done
96
97 %install
98 rm -rf $RPM_BUILD_ROOT
99 install -d $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
100
101 cp -p Framewave/build/include/*.h $RPM_BUILD_ROOT%{_includedir}
102 install Framewave/build/bin/release_shared_*/lib*.so.*.*.* $RPM_BUILD_ROOT%{_libdir}
103 /sbin/ldconfig -n $RPM_BUILD_ROOT%{_libdir}
104 for f in $RPM_BUILD_ROOT%{_libdir}/lib*.so.*.*.* ; do
105         ln -sf $(basename $f) $(echo $f | sed -e 's/[.0-9]*$//')
106 done
107 %if %{with static_libs}
108 install Framewave/build/bin/release_static_*/lib*.a $RPM_BUILD_ROOT%{_libdir}
109 %endif
110
111 %clean
112 rm -rf $RPM_BUILD_ROOT
113
114 %post   -p /sbin/ldconfig
115 %postun -p /sbin/ldconfig
116
117 %files
118 %defattr(644,root,root,755)
119 %doc License.txt README
120 %attr(755,root,root) %{_libdir}/libfwBase.so.*.*.*
121 %attr(755,root,root) %ghost %{_libdir}/libfwBase.so.1
122 %attr(755,root,root) %{_libdir}/libfwImage.so.*.*.*
123 %attr(755,root,root) %ghost %{_libdir}/libfwImage.so.1
124 %attr(755,root,root) %{_libdir}/libfwJPEG.so.*.*.*
125 %attr(755,root,root) %ghost %{_libdir}/libfwJPEG.so.1
126 %attr(755,root,root) %{_libdir}/libfwSignal.so.*.*.*
127 %attr(755,root,root) %ghost %{_libdir}/libfwSignal.so.1
128 %attr(755,root,root) %{_libdir}/libfwVideo.so.*.*.*
129 %attr(755,root,root) %ghost %{_libdir}/libfwVideo.so.1
130
131 %files devel
132 %defattr(644,root,root,755)
133 %doc Framewave/doc/*.h
134 %attr(755,root,root) %{_libdir}/libfwBase.so
135 %attr(755,root,root) %{_libdir}/libfwImage.so
136 %attr(755,root,root) %{_libdir}/libfwJPEG.so
137 %attr(755,root,root) %{_libdir}/libfwSignal.so
138 %attr(755,root,root) %{_libdir}/libfwVideo.so
139 %{_includedir}/fwBase.h
140 %{_includedir}/fwImage.h
141 %{_includedir}/fwImage_sol.h
142 %{_includedir}/fwJPEG.h
143 %{_includedir}/fwSignal.h
144 %{_includedir}/fwVideo.h
145
146 %if %{with static_libs}
147 %files static
148 %defattr(644,root,root,755)
149 %{_libdir}/libfwBase.a
150 %{_libdir}/libfwImage.a
151 %{_libdir}/libfwJPEG.a
152 %{_libdir}/libfwSignal.a
153 %{_libdir}/libfwVideo.a
154 %endif
This page took 0.099692 seconds and 2 git commands to generate.