]> git.pld-linux.org Git - packages/flixengine.git/blame_incremental - flixengine.spec
- create packages for bindings
[packages/flixengine.git] / flixengine.spec
... / ...
CommitLineData
1#
2# Conditional build:
3%bcond_without autodeps # don't BR packages needed only for resolving deps
4%bcond_with tests # perform "make test". needs running flixd on localhost
5#
6%include /usr/lib/rpm/macros.perl
7Summary: On2 Flix Engine
8Name: flixengine
9Version: 8.0.7.0
10Release: 0.5
11License: not distributable
12Group: Applications
13# download demo from http://flix.on2.com/demos/
14Source0: %{name}linuxdemo.tar.gz
15# Source0-md5: ea7d3a0efaf08611aad9374259015d71
16NoSource: 0
17URL: http://www.on2.com/developer/flix-engine-sdk
18%if %{with autodeps}
19BuildRequires: ffmpeg-libs
20BuildRequires: lame-libs
21%endif
22BuildRequires: bash
23BuildRequires: jre
24BuildRequires: perl-base
25BuildRequires: php-devel
26BuildRequires: python
27BuildRequires: rpm-perlprov >= 4.1-13
28Requires: %{name}-libs = %{version}-%{release}
29ExclusiveArch: %{ix86}
30BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
31
32%define _libexecdir %{_prefix}/libexec
33%define extensionsdir %(php-config --extension-dir 2>/dev/null)
34
35%description
36The On2 Flix Engine provides many of the Flash 8 video encoding
37features of our industry leading On2 Flix Pro video encoder in a
38powerful software SDK.
39
40The Engine enables you to add the power and efficiency of Flash video
41with On2 VP6 encoding to your intranet, website and other server-based
42applications, preserve alpha channel in the video output, and much
43more.
44
45The major feature of the On2 Flix Engine 8 is support for Adobe Flash
468 video with the On2 VP6 codec and FLV video output that can be played
47directly in the Flash Player, streamed through the Adobe Flash Media
48Server, or imported into Flash Studio. The new FLV output also is
49fully compliant with FLV format metadata and Adobe Flash Player
50standards.
51
52%package libs
53Summary: Shared libraries for On2 Flix Engine
54Group: Libraries
55
56%description libs
57Shared libraries for On2 Flix Engine.
58
59%package devel
60Summary: Header files for On2 Flix Engine library
61Group: Development/Libraries
62
63%description devel
64Header files for On2 Flix Engine library.
65
66%package -n java-flixengine
67Summary: Java bindings for On2 Flix Engine
68Group: Libraries
69Requires: %{name}-libs = %{version}-%{release}
70
71%description -n java-flixengine
72Java bindings for On2 Flix Engine.
73
74%package -n perl-flixengine
75Summary: Perl bindings for On2 Flix Engine
76Group: Libraries
77Requires: %{name}-libs = %{version}-%{release}
78
79%description -n perl-flixengine
80Perl bindings for On2 Flix Engine.
81
82%package -n php-flixengine
83Summary: PHP bindings for On2 Flix Engine
84Group: Libraries
85Requires: %{name}-libs = %{version}-%{release}
86
87%description -n php-flixengine
88PHP bindings for On2 Flix Engine.
89
90%package -n python-flixengine
91Summary: Python bindings for On2 Flix Engine
92Group: Libraries
93Requires: %{name}-libs = %{version}-%{release}
94
95%description -n python-flixengine
96Python bindings for On2 Flix Engine.
97
98%prep
99%setup -q -n flix-engine-installer-linux-%{version}_DEMO
100bin=flix-engine-installer-linux-%{version}_DEMO.bin
101tar=flix-engine-linux-%{version}_DEMO.tar.gz
102
103OFFSET=$( awk -F= '/OFFSET=/{print $2; exit}' $bin)
104dd bs=8 if=$bin of=$tar skip=$OFFSET
105%{__tar} zxf $tar
106
107%{__sed} -ne '/## FUNCTIONS common/,/## END - common function/p' $bin > functions.sh
108cat <<'EOF' > install.sh
109#!/bin/bash
110export VERSION=%{version}_DEMO
111export FLIXENGINEDEMO=1
112export nullout=/dev/null
113export tempdir=%{_builddir}/flix-engine-installer-linux-%{version}_DEMO
114
115. $(dirname "$0")/functions.sh
116cd .flix-engine-installation-files
117
118export -f getinput inset ynanswer
119./install.sh "$@"
120EOF
121chmod +x install.sh
122
123cd .flix-engine-installation-files
124%{__sed} -i -e '
125# force installing initscript into buildroot without detection
126s,^initchk$,inittype=sysv1; INITDIR=$RPM_BUILD_ROOT/etc/rc.d/init.d,
127
128# cls is annoying
129s,clear 2>\$nullout,#&,
130
131# we want to install examples, but not compile them in install
132# and somewhy --no-compile didn not work, had to specify also --no-modules,
133# which made no modules installed either, chicken-egg problem.
134s,COMPILEMODULES=y,COMPILEMODULES=n,
135s,INSTALLEDPERLFILES="n",INSTALLEDPERLFILES="y",
136s,INSTALLEDPHPFILES="n",INSTALLEDPHPFILES="y",
137s,INSTALLEDPYTHONFILES="n",INSTALLEDPYTHONFILES="y",
138s,INSTALLEDFLIXLIBRARIES="n",INSTALLEDFLIXLIBRARIES="y",
139s,INSTALLEDJAVAFILES="n",INSTALLEDJAVAFILES="y",
140
141' install.sh
142
143%build
144cd .flix-engine-installation-files
145
146ln -snf flixhdrs flixengine2
147export C_INCLUDE_PATH=$(pwd)
148
149ldconfig -n flixlibs
150export LD_LIBRARY_PATH=$(pwd)/flixlibs
151export LIBRARY_PATH=$(pwd)/flixlibs
152
153# PHP
154%{__make} -C flixphp \
155 CC="%{__cc}" \
156 -f target.mk \
157
158# Perl
159cd flixperl
160%{__perl} Makefile.PL \
161 INSTALLDIRS=vendor
162%{__make} \
163 CC="%{__cc}" \
164 OPTIMIZE="%{rpmcflags}"
165%{?with_tests:%{__make} test}
166cd ..
167
168# Python
169cd flixpython
170%{__python} setup.py build
171cd ..
172
173# Java
174%{__make} -C flixjava \
175 CC="%{__cc}" \
176 -f target.mk
177
178%install
179rm -rf $RPM_BUILD_ROOT
180install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
181
182./install.sh \
183 --prefix=$RPM_BUILD_ROOT%{_prefix} \
184 --mandir=$RPM_BUILD_ROOT%{_mandir} \
185 --flixsamples=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
186 --pidfile=$RPM_BUILD_ROOT/var/run/flixd.pid \
187 --authdir=$RPM_BUILD_ROOT/var/lib/on2 \
188 --just-install \
189 --offline \
190 --yesireadtheon2license \
191 --no-compile \
192 --no-modules \
193 --no-init \
194 --noprereqlibs
195
196# install bindings
197cd .flix-engine-installation-files
198# PHP
199%{__make} -C flixphp \
200 install \
201 PHPINST=$RPM_BUILD_ROOT%{extensionsdir} \
202 -f target.mk
203
204# Perl
205cd flixperl
206%{__make} pure_install \
207 DESTDIR=$RPM_BUILD_ROOT
208rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/On2/flixengine2/.packlist
209cd ..
210
211# Python
212cd flixpython
213%{__python} setup.py install \
214 --optimize=2 \
215 --root=$RPM_BUILD_ROOT
216%py_postclean
217cd ..
218
219# Java
220%{__make} -C flixjava \
221 SOINST=$RPM_BUILD_ROOT%{_libdir} \
222 JARINST=$RPM_BUILD_ROOT%{_javadir} \
223 install \
224 -f target.mk
225
226# symlink without buildroot
227ln -snf %{_prefix}/src/flixmodules/flixjava/doc $RPM_BUILD_ROOT%{_docdir}/on2/flixengine/javadoc
228
229# do not put hardware fingerprint to rpm package
230> $RPM_BUILD_ROOT/var/lib/on2/hostinfo
231
232# use poldek -e
233rm -f $RPM_BUILD_ROOT%{_sbindir}/flix-engine-uninstall.sh
234
235%clean
236rm -rf $RPM_BUILD_ROOT
237
238%post libs -p /sbin/ldconfig
239%postun libs -p /sbin/ldconfig
240
241%post
242if [ ! -s /var/lib/on2/hostinfo ]; then
243 %{_sbindir}/on2_host_info > /var/lib/on2/hostinfo
244fi
245
246%files
247%defattr(644,root,root,755)
248%doc %{_docdir}/on2
249%attr(755,root,root) %{_sbindir}/flixd
250%attr(755,root,root) %{_sbindir}/lget
251%attr(755,root,root) %{_sbindir}/on2_host_info
252%attr(754,root,root) /etc/rc.d/init.d/flixengine
253%{_mandir}/man8/flixd.8*
254%dir /var/lib/on2
255%config(noreplace) %verify(not md5 mtime size) /var/lib/on2/hostinfo
256%{_libexecdir}/on2/flixengine/mencoder
257
258%files libs
259%defattr(644,root,root,755)
260%attr(755,root,root) %{_libdir}/libflixengine2.so.*.*
261%attr(755,root,root) %{_libdir}/libflixengine2_core.so.*.*
262
263%files devel
264%defattr(644,root,root,755)
265%attr(755,root,root) %{_libdir}/libflixengine2.so
266%attr(755,root,root) %{_libdir}/libflixengine2_core.so
267%{_includedir}/flixengine2
268
269%dir %{_examplesdir}/%{name}-%{version}
270%{_examplesdir}/%{name}-%{version}/c
271%{_examplesdir}/%{name}-%{version}/java
272%{_examplesdir}/%{name}-%{version}/perl
273%{_examplesdir}/%{name}-%{version}/php
274%{_examplesdir}/%{name}-%{version}/python
275
276%files -n java-flixengine
277%defattr(644,root,root,755)
278%{_libdir}/libflixengine2_jni.so
279%{_javadir}/flixengine2.jar
280
281%files -n perl-flixengine
282%defattr(644,root,root,755)
283%dir %{perl_vendorarch}/On2
284%{perl_vendorarch}/On2/flixengine2.pm
285%dir %{perl_vendorarch}/auto/On2
286%dir %{perl_vendorarch}/auto/On2/flixengine2
287%{perl_vendorarch}/auto/On2/flixengine2/flixengine2.bs
288%attr(755,root,root) %{perl_vendorarch}/auto/On2/flixengine2/flixengine2.so
289
290%files -n php-flixengine
291%defattr(644,root,root,755)
292%{extensionsdir}/flixengine2.so
293%{_libdir}/flixengine2.php
294
295%files -n python-flixengine
296%defattr(644,root,root,755)
297%{py_sitedir}/_flixengine2.so
298%{py_sitedir}/flixengine2.pyc
299%{py_sitedir}/flixengine2.pyo
This page took 0.071443 seconds and 4 git commands to generate.