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