3 %bcond_without autodeps # don't BR packages needed only for resolving deps
4 %bcond_without python # do not build Python bindings
5 %bcond_without java # do not build Java bindings
6 %bcond_with tests # perform "make test". needs running flixd on localhost
13 %include /usr/lib/rpm/macros.perl
14 Summary: On2 Flix Engine
15 Summary(pl): Silnik On2 Flix
19 License: not distributable
21 # download demo from http://flix.on2.com/demos/
22 Source0: %{name}linuxdemo.tar.gz
23 # NoSource0-md5: fb7cc89ce2689d3c43434291620cfd0f
26 Patch0: %{name}-libdir.patch
27 Patch1: %{name}-phploader.patch
28 URL: http://www.on2.com/developer/flix-engine-sdk
30 %{?with_java:BuildRequires: jre}
31 BuildRequires: perl-base
32 BuildRequires: php-devel
33 %{?with_python:BuildRequires: python}
34 BuildRequires: rpm-perlprov >= 4.1-13
35 BuildRequires: rpmbuild(macros) >= 1.344
37 BuildRequires: ffmpeg-libs
38 BuildRequires: lame-libs
40 Requires(post,preun): /sbin/chkconfig
41 Requires(postun): /usr/sbin/groupdel
42 Requires(postun): /usr/sbin/userdel
43 Requires(pre): /bin/id
44 Requires(pre): /usr/bin/getgid
45 Requires(pre): /usr/sbin/groupadd
46 Requires(pre): /usr/sbin/useradd
49 Provides: group(flixd)
51 ExclusiveArch: %{ix86} %{x8664}
52 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 The On2 Flix Engine provides many of the Flash 8 video encoding
56 features of our industry leading On2 Flix Pro video encoder in a
57 powerful software SDK.
59 The Engine enables you to add the power and efficiency of Flash video
60 with On2 VP6 encoding to your intranet, website and other server-based
61 applications, preserve alpha channel in the video output, and much
64 The major feature of the On2 Flix Engine 8 is support for Adobe Flash
65 8 video with the On2 VP6 codec and FLV video output that can be played
66 directly in the Flash Player, streamed through the Adobe Flash Media
67 Server, or imported into Flash Studio. The new FLV output also is
68 fully compliant with FLV format metadata and Adobe Flash Player
72 Silnik On2 Flix Engine udostêpnia wiele spo¶ród mo¿liwo¶ci kodowania
73 filmów Flash 8 wiod±cego kodera On2 Flix Pro w postaci potê¿nego SDK.
75 Silnik pozwala wykorzystywaæ mo¿liwo¶ci i wydajno¶æ filmów Flash z
76 kodowaniem On2 VP6 w intranecie, na stronie WWW i w innych
77 zastosowaniach serwerowych, z zachowaniem kana³u alpha na wyj¶ciu
78 obrazu i innymi opcjami.
80 G³ówn± cech± silnika On2 Flix Engine 8 jest obs³uga filmów Adobe Flash
81 8 z kodekiem On2 VP6 oraz wyj¶ciem obrazu FLV, które mo¿na odtwarzaæ
82 bezpo¶rednio w odtwarzaczu Flash, przekazywaæ strumieniem poprzez
83 Adobe Flash Media Server lub importowaæ do Flash Studio. Nowe wyj¶cie
84 FLV jest tak¿e w pe³ni zgodne z formatem metadanych FLV i standardami
88 Summary: Shared libraries for On2 Flix Engine
89 Summary(pl): Biblioteki wspó³dzielone silnika On2 Flix
93 Shared libraries for On2 Flix Engine.
95 %description libs -l pl
96 Biblioteki wspó³dzielone silnika On2 Flix.
99 Summary: Header files for On2 Flix Engine library
100 Summary(pl): Pliki nag³ówkowe biblioteki silnika On2 Flix
101 Group: Development/Libraries
104 Header files for On2 Flix Engine library.
106 %description devel -l pl
107 Pliki nag³ówkowe biblioteki silnika On2 Flix.
109 %package -n java-flixengine
110 Summary: Java bindings for On2 Flix Engine
111 Summary(pl): Wi±zania Javy dla silnika On2 Flix
113 Requires: %{name}-libs = %{version}-%{release}
115 %description -n java-flixengine
116 Java bindings for On2 Flix Engine.
118 %description -n java-flixengine -l pl
119 Wi±zania Javy dla silnika On2 Flix.
121 %package -n perl-flixengine
122 Summary: Perl bindings for On2 Flix Engine
123 Summary(pl): Wi±zania perla dla silnika On2 Flix
125 Requires: %{name}-libs = %{version}-%{release}
127 %description -n perl-flixengine
128 Perl bindings for On2 Flix Engine.
130 %description -n perl-flixengine -l pl
131 Wi±zania perla dla silnika On2 Flix.
133 %package -n php-flixengine
134 Summary: PHP bindings for On2 Flix Engine
135 Summary(pl): Wi±zania PHP dla silnika On2 Flix
136 %{?requires_php_extension}
138 Requires: %{name}-libs = %{version}-%{release}
139 Requires: php-common >= 4:5.0.4
141 %description -n php-flixengine
142 PHP bindings for On2 Flix Engine.
144 %description -n php-flixengine -l pl
145 Wi±zania PHP dla silnika On2 Flix.
147 %package -n python-flixengine
148 Summary: Python bindings for On2 Flix Engine
149 Summary(pl): Wi±zania Pythona dla silnika On2 Flix
151 Requires: %{name}-libs = %{version}-%{release}
153 %description -n python-flixengine
154 Python bindings for On2 Flix Engine.
156 %description -n python-flixengine -l pl
157 Wi±zania Pythona dla silnika On2 Flix.
160 Summary: HTML Documentation for On2 Flix Engine
164 HTML Documentation for On2 Flix Engine
167 %setup -q -n flix-engine-installer-linux-%{version}_DEMO
168 bin=flix-engine-installer-linux-%{version}_DEMO.bin
169 tar=flix-engine-linux-%{version}_DEMO.tar.gz
171 OFFSET=$( awk -F= '/OFFSET=/{print $2; exit}' $bin)
172 dd bs=8 if=$bin of=$tar skip=$OFFSET
178 %{__sed} -ne '/## FUNCTIONS common/,/## END - common function/p' $bin > functions.sh
179 cat <<'EOF' > install.sh
181 export VERSION=%{version}_DEMO
182 export FLIXENGINEDEMO=1
183 export nullout=/dev/null
184 export tempdir=%{_builddir}/flix-engine-installer-linux-%{version}_DEMO
186 . $(dirname "$0")/functions.sh
187 cd .flix-engine-installation-files
189 export -f getinput inset ynanswer
194 cd .flix-engine-installation-files
196 # force installing initscript into buildroot without detection
197 s,^initchk$,inittype=sysv1; INITDIR=$RPM_BUILD_ROOT/etc/rc.d/init.d,
200 s,clear 2>\$nullout,#&,
202 # we want to install examples, but not compile them in install
203 # and somewhy --no-compile didn not work, had to specify also --no-modules,
204 # which made no modules installed either, chicken-egg problem.
205 s,COMPILEMODULES=y,COMPILEMODULES=n,
206 s,INSTALLEDPERLFILES="n",INSTALLEDPERLFILES="y",
207 s,INSTALLEDPHPFILES="n",INSTALLEDPHPFILES="y",
208 s,INSTALLEDPYTHONFILES="n",INSTALLEDPYTHONFILES="y",
209 s,INSTALLEDFLIXLIBRARIES="n",INSTALLEDFLIXLIBRARIES="y",
210 s,INSTALLEDJAVAFILES="n",INSTALLEDJAVAFILES="y",
215 cd .flix-engine-installation-files
217 ln -snf flixhdrs flixengine2
218 export C_INCLUDE_PATH=$(pwd)
221 export LD_LIBRARY_PATH=$(pwd)/testing/lib64
222 ldconfig -n testing/lib64
224 export LD_LIBRARY_PATH=$(pwd)/flixlibs
227 export LIBRARY_PATH=$LD_LIBRARY_PATH
230 %{__make} -C flixphp \
236 %{__perl} Makefile.PL \
240 OPTIMIZE="%{rpmcflags}"
241 %{?with_tests:%{__make} test}
246 %{__python} setup.py build
251 %{__make} -C flixjava \
257 rm -rf $RPM_BUILD_ROOT
260 --prefix=$RPM_BUILD_ROOT%{_prefix} \
261 --mandir=$RPM_BUILD_ROOT%{_mandir} \
262 --mencoderbin=$RPM_BUILD_ROOT%{_bindir} \
263 --flixsamples=$RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version} \
264 --pidfile=$RPM_BUILD_ROOT/var/run/flixd/flixd.pid \
265 --authdir=$RPM_BUILD_ROOT/var/lib/on2 \
268 --yesireadtheon2license \
274 install -D %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/flixd
276 cd .flix-engine-installation-files
280 %{__make} -C flixphp \
282 PHPINST=%{php_extensiondir} \
283 DESTDIR=$RPM_BUILD_ROOT \
285 install -d $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
286 cat <<'EOF' > $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d/flixengine.ini
287 ; Enable flixengine extension module
288 extension=flixengine2.so
293 %{__make} pure_install \
294 DESTDIR=$RPM_BUILD_ROOT
295 rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/On2/flixengine2/.packlist
300 %{__python} setup.py install \
302 --root=$RPM_BUILD_ROOT
307 rm -f $RPM_BUILD_ROOT%{_docdir}/on2/flixengine/javadoc
309 %{__make} -C flixjava \
310 SOINST=$RPM_BUILD_ROOT%{_libdir} \
311 JARINST=$RPM_BUILD_ROOT%{_javadir} \
315 # symlink without buildroot
316 ln -snf %{_prefix}/src/flixmodules/flixjava/doc $RPM_BUILD_ROOT%{_docdir}/on2/flixengine/javadoc
320 cp -a testing/lib64/libflixengine2.so* $RPM_BUILD_ROOT%{_libdir}
323 # avoid collision from mplayer package
324 mv $RPM_BUILD_ROOT%{_bindir}/mencoder{,-flixengine}
326 # do not put hardware fingerprint to rpm package
327 > $RPM_BUILD_ROOT/var/lib/on2/hostinfo
328 touch $RPM_BUILD_ROOT/var/lib/on2/flixengine.lic
329 install -d $RPM_BUILD_ROOT/var/run/flixd
330 install -d $RPM_BUILD_ROOT/var/log
331 touch $RPM_BUILD_ROOT/var/log/flixd.log
334 rm -f $RPM_BUILD_ROOT%{_sbindir}/flix-engine-uninstall.sh
337 rm -rf $RPM_BUILD_ROOT
340 %groupadd -g 179 flixd
341 %useradd -u 179 -g flixd -c "On2 Flixd" flixd
344 /sbin/chkconfig --add flixd
345 if [ ! -f /var/log/flixd.log ]; then
346 touch /var/log/flixd.log
347 chown root:flixd /var/log/flixd.log
348 chmod 660 /var/log/flixd.log
350 if [ ! -s /var/lib/on2/hostinfo ]; then
351 %{_sbindir}/on2_host_info > /var/lib/on2/hostinfo
352 %banner -e %{name} <<EOF
353 To register your copy of flixd invoke:
354 # %{_sbindir}/lget -u '<username>' -s '<serial>' -i /var/lib/on2/hostinfo -o /var/lib/on2/on2product.lic -a 'On2FlixEngine/%{version}_DEMO (%(uname -o))'
357 %service flixd restart
360 if [ "$1" = "0" ]; then
361 %service -q flixd stop
362 /sbin/chkconfig --del flixd
366 if [ "$1" = "0" ]; then
371 %post libs -p /sbin/ldconfig
372 %postun libs -p /sbin/ldconfig
374 %post -n php-flixengine
375 %php_webserver_restart
377 %postun -n php-flixengine
378 if [ "$1" = 0 ]; then
379 %php_webserver_restart
383 %defattr(644,root,root,755)
385 %{?with_java:%exclude %{_docdir}/on2/flixengine/javadoc}
386 %attr(755,root,root) %{_sbindir}/flixd
387 %attr(755,root,root) %{_sbindir}/lget
388 %attr(755,root,root) %{_sbindir}/on2_host_info
389 %attr(754,root,root) /etc/rc.d/init.d/flixd
390 %{_mandir}/man8/flixd.8*
392 %dir %attr(771,root,flixd) /var/run/flixd
393 %ghost %attr(660,root,flixd) /var/log/flixd.log
394 %attr(640,root,flixd) %config(noreplace) %verify(not md5 mtime size) /var/lib/on2/hostinfo
395 %attr(640,root,flixd) %config(noreplace) %verify(not md5 mtime size) /var/lib/on2/flixengine.lic
396 %attr(755,root,root) %{_bindir}/mencoder-flixengine
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_prefix}/lib/libflixengine2.so.*.*
401 %attr(755,root,root) %{_prefix}/lib/libflixengine2_core.so.*.*
403 %attr(755,root,root) %{_libdir}/libflixengine2.so.*.*
405 %dir %{_examplesdir}/%{name}-%{version}
408 %defattr(644,root,root,755)
409 %attr(755,root,root) %{_prefix}/lib/libflixengine2.so
410 %attr(755,root,root) %{_prefix}/lib/libflixengine2_core.so
412 %attr(755,root,root) %{_libdir}/libflixengine2.so
414 %{_includedir}/flixengine2
415 %{_examplesdir}/%{name}-%{version}/c
418 %files -n java-flixengine
419 %defattr(644,root,root,755)
420 %doc %{_docdir}/on2/flixengine/javadoc
421 %attr(755,root,root) %{_libdir}/libflixengine2_jni.so
422 %{_javadir}/flixengine2.jar
423 %{_examplesdir}/%{name}-%{version}/java
426 %files -n perl-flixengine
427 %defattr(644,root,root,755)
428 %dir %{perl_vendorarch}/On2
429 %{perl_vendorarch}/On2/flixengine2.pm
430 %dir %{perl_vendorarch}/auto/On2
431 %dir %{perl_vendorarch}/auto/On2/flixengine2
432 %{perl_vendorarch}/auto/On2/flixengine2/flixengine2.bs
433 %attr(755,root,root) %{perl_vendorarch}/auto/On2/flixengine2/flixengine2.so
434 %{_examplesdir}/%{name}-%{version}/perl
436 %files -n php-flixengine
437 %defattr(644,root,root,755)
438 %config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/flixengine.ini
439 %attr(755,root,root) %{php_extensiondir}/flixengine2.so
440 %{_prefix}/lib/flixengine2.php
441 %{_examplesdir}/%{name}-%{version}/php
444 %files -n python-flixengine
445 %defattr(644,root,root,755)
446 %attr(755,root,root) %{py_sitedir}/_flixengine2.so
447 %{py_sitedir}/flixengine2.pyc
448 %{py_sitedir}/flixengine2.pyo
449 %{_examplesdir}/%{name}-%{version}/python
453 %defattr(644,root,root,755)