]> git.pld-linux.org Git - packages/mythtv.git/blob - mythtv.spec
- get it going on amd64
[packages/mythtv.git] / mythtv.spec
1 # TODO
2 # - bconds broken? (???)
3 # - what about Patch0?
4 #
5 # Specfile for MythTV
6 #
7 #  MythTV now uses a fairly intelligent cpu-detection script, so if you are
8 #  building an rpm by hand on the machine it will be used on, I encourage you
9 #  to use "--with cpu_autodetect" to let mythtv decide for you.
10 #
11 # Conditional build:
12 %bcond_with     lirc            # lirc support
13 %bcond_without  alsa            # alsa support
14 %bcond_without  oss             # oss
15 %bcond_with     opengl_vsync    # opengl vsync
16 %bcond_with     arts            # arts support
17 %bcond_with     xvmc            # xvmc support
18 %bcond_with     cpu_autodetect  # enable CPU autodetection at compile time
19 #
20 Summary:        A personal video recorder (PVR) application
21 Summary(pl):    Osobista aplikacja do nagrywania obrazu (PVR)
22 Name:           mythtv
23 Version:        0.18.1
24 #define _snap 20050326
25 Release:        0.1
26 License:        GPL v2
27 Group:          Applications/Multimedia
28 Source0:        http://www.mythtv.org/mc/%{name}-%{version}.tar.bz2
29 # Source0-md5:  e6cabf88feeaf6ae8f830d3fdf7b113d
30 Source1:        mythbackend.sysconfig
31 Source2:        mythbackend.init
32 Source3:        mythbackend.logrotate
33 Patch0:         %{name}-configure.patch
34 Patch1:         %{name}-lib64.patch
35 URL:            http://www.mythtv.org/
36 BuildRequires:  XFree86-devel
37 #BuildRequires: DirectFB-devel
38 %{?with_alsa:BuildRequires:     alsa-lib-devel}
39 %{?with_arts:BuildRequires:     arts-devel >= 13:0.9.5}
40 #BuildRequires: desktop-file-utils
41 BuildRequires:  freetype-devel >= 1:2.0.0
42 BuildRequires:  gcc-c++
43 BuildRequires:  lame-libs-devel
44 BuildRequires:  linux-libc-headers >= 7:2.6.10
45 %{?with_lirc:BuildRequires:     lirc-devel}
46 BuildRequires:  mysql-devel
47 %{?with_xvmc:BuildRequires:     nvidia-graphics-devel}
48 %{?with_opengl_vsync:BuildRequires:     nvidia-graphics-devel}
49 BuildRequires:  qmake >= 6:3.2.1-4
50 BuildRequires:  qt-devel >= 6:3.2.1-4
51 BuildRequires:  rpmbuild(macros) >= 1.213
52 BuildRequires:  sed >= 4.0
53 # ???
54 ExclusiveArch:  i386 i686 athlon %{x8664}
55 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
56
57 %description
58 MythTV implements the following PVR features, and more, with a unified
59 graphical interface:
60 - Basic 'live-tv' functionality. Pause/Fast Forward/Rewind "live" TV.
61 - Video compression using RTjpeg or MPEG-4
62 - Program listing retrieval using XMLTV
63 - Themable, semi-transparent on-screen display
64 - Electronic program guide
65 - Scheduled recording of TV programs
66 - Resolution of conflicts between scheduled recordings
67 - Basic video editing
68
69 %description -l pl
70 MythTV implementuje nastêpuj±ce mo¿liwo¶ci PVR, a nawet wiêcej, wraz z
71 ujednoliconym interfejsem graficznym:
72 - podstawowa funkcjonalno¶æ "live-tv"; pauza, szybkie przewijanie,
73   przewijanie "¿ywej" telewizji
74 - kompresja obrazu przy u¿yciu RTjpeg lub MPEG-4
75 - odczyt listy programów przy u¿yciu XMLTV
76 - pseudoprzezroczyste wy¶wietlanie na obrazie (OSD) z obs³ug± motywów
77 - elektroniczny przewodnik po programie
78 - planowane nagrywanie programów telewizyjnych
79 - rozwi±zywanie konfliktów miêdzy planowanymi nagraniami
80 - podstawowa edycja obrazu
81
82 %package backend
83 Summary:        Server component of mythtv (a PVR)
84 Summary(pl):    Czê¶æ serwerowa mythtv (PVR)
85 Group:          Applications/Multimedia
86 Requires(pre):  /bin/id
87 Requires(pre):  /usr/bin/getgid
88 Requires(pre):  /usr/sbin/groupadd
89 Requires(pre):  /usr/sbin/useradd
90 Requires(postun):       /usr/sbin/groupdel
91 Requires(postun):       /usr/sbin/userdel
92 Requires:       mythtv = %{version}-%{release}
93 Provides:       user(mythtv)
94 Provides:       group(mythtv)
95 Conflicts:      xmltv-grabbers < 0.5.34
96
97 %description backend
98 MythTV provides a unified graphical interface for recording and
99 viewing television programs. Refer to the mythtv package for more
100 information.
101
102 This package contains only the server software, which provides video
103 and audio capture and encoding services. In order to be useful, it
104 requires a mythtv-frontend installation, either on the same system or
105 one reachable via the network.
106
107 %description backend -l pl
108 MythTV dostarcza ujednolicony interfejs graficzny do nagrywania i
109 ogl±dania programów telewizyjnych. Wiêcej informacji w pakiecie
110 mythtv.
111
112 Ten pakiet zawiera tylko oprogramowanie serwerowe, udostêpniaj±ce
113 us³ugi przechwytywania i kodowania obrazu i d¼wiêku. Aby by³o
114 przydatne, wymaga instalacji mythtv-frontend - na tym samym systemie,
115 albo innym osi±galnym po sieci.
116
117 %package frontend
118 Summary:        Client component of mythtv (a PVR)
119 Summary(pl):    Czê¶æ kliencka mythtv (PVR)
120 Group:          Applications/Multimedia
121 Requires:       mythtv = %{version}-%{release}
122 Requires:       mythtv-themes = %{version}-%{release}
123 Provides:       mythtv-frontend-api = %(echo %{version} | cut -d. -f1,2)
124
125 %description frontend
126 MythTV provides a unified graphical interface for recording and
127 viewing television programs. Refer to the mythtv package for more
128 information.
129
130 This package contains only the client software, which provides a
131 front-end for playback and configuration. It requires access to a
132 mythtv-backend installation, either on the same system or one
133 reachable via the network.
134
135 %description frontend -l pl
136 MythTV dostarcza ujednolicony interfejs graficzny do nagrywania i
137 ogl±dania programów telewizyjnych. Wiêcej informacji w pakiecie
138 mythtv.
139
140 Ten pakiet zawiera tylko oprogramowanie klienckie, dostarczaj±ce
141 frontend do odtwarzania i konfiguracji. Wymaga dostêpu do instalacji
142 mythtv-backend - na tym samym systemie, albo innym osi±galnym po
143 sieci.
144
145 %package setup
146 Summary:        Setup the mythtv backend
147 Summary(pl):    Konfigurator backendu mythtv
148 Group:          Applications/Multimedia
149 Requires:       mythtv-backend = %{version}-%{release}
150 Requires:       mythtv-themes = %{version}-%{release}
151 Provides:       mythtvsetup
152
153 %description setup
154 MythTV provides a unified graphical interface for recording and
155 viewing television programs. Refer to the mythtv package for more
156 information.
157
158 This package contains only the setup software for configuring the
159 mythtv backend.
160
161 %description setup -l pl
162 MythTV dostarcza ujednolicony interfejs graficzny do nagrywania i
163 ogl±dania programów telewizyjnych. Wiêcej informacji w pakiecie
164 mythtv.
165
166 Ten pakiet zawiera tylko program do konfigurowania backendu mythtv.
167
168 %package themes
169 Summary:        Base themes for mythtv's frontend
170 Summary(pl):    Podstawowe motywy dla frontendu mythtv
171 Group:          Applications/Multimedia
172 Obsoletes:      mythtv-theme-Titivillus
173
174 %description themes
175 MythTV provides a unified graphical interface for recording and
176 viewing television programs. Refer to the mythtv package for more
177 information.
178
179 This package contains only the base themes used by the frontend and
180 mythtvsetup.
181
182 %description themes -l pl
183 MythTV dostarcza ujednolicony interfejs graficzny do nagrywania i
184 ogl±dania programów telewizyjnych. Wiêcej informacji w pakiecie
185 mythtv.
186
187 Ten pakiet zawiera tylko podstawowe motywy u¿ywane przez frontend oraz
188 mythtvsetup.
189
190 %package -n libmyth
191 Summary:        Library providing mythtv support
192 Summary(pl):    Biblioteka udostêpniaj±ca obs³ugê mythtv
193 Group:          Libraries
194 Requires:       freetype >= 1:2.0.0
195 Requires:       lame
196 Requires:       qt >= 6:3.2.1-4
197 Requires:       qt-plugin-mysql >= 6:3.2.1-4
198
199 %description -n libmyth
200 Common library code for MythTV and add-on modules (development) MythTV
201 provides a unified graphical interface for recording and viewing
202 television programs. Refer to the mythtv package for more information.
203
204 %description -n libmyth -l pl
205 Wspólny kod biblioteki dla MythTV i dodatkowych modu³ów MythTV
206 dostarczaj±cy ujednolicony interfejs graficzny do nagrywania i
207 ogl±dania programów telewizyjnych. Wiêcej informacji w pakiecie
208 mythtv.
209
210 %package -n libmyth-devel
211 Summary:        Development files for libmyth
212 Summary(pl):    Pliki nag³ówkowe libmyth
213 Group:          Development/Libraries
214 Requires:       libmyth = %{version}-%{release}
215
216 %description -n libmyth-devel
217 This package contains the header files for developing add-ons for
218 mythtv.
219
220 %description -n libmyth-devel -l pl
221 Ten pakiet zawiera pliki nag³ówkowe do tworzenia dodatków dla mythtv.
222
223 %package -n libmyth-static
224 Summary:        Static libmyth library
225 Summary(pl):    Statyczna biblioteka libmyth
226 Group:          Development/Libraries
227 Requires:       libmyth-devel = %{version}-%{release}
228
229 %description -n libmyth-static
230 Static libmyth library.
231
232 %description -n libmyth-static -l pl
233 Statyczna biblioteka libmyth.
234
235 %prep
236 %setup -q
237 #%patch0 -p1
238 %patch1 -p1
239
240 %build
241 export QTDIR="%{_prefix}"
242 export QMAKESPEC="linux-g++"
243 #export CFLAGS="%{rpmcflags} -fomit-frame-pointer"
244
245 # BTW: this is not autoconf configure
246 %configure \
247     --compile-type=%{?debug:debug}%{!?debug:release} \
248     --disable-audio-jack \
249     --enable-dvb --dvb-path=%{_includedir} \
250         --extra-cflags="%{rpmcflags} -fomit-frame-pointer" \
251         --extra-cxxflags="%{rpmcxxflags} -fomit-frame-pointer" \
252 %if %{with cpu_autodetect}
253     %ifarch i386 i686
254                 --cpu=i386 --tune=pentium4 --enable-mmx \
255     %endif
256     %ifarch athlon
257         --arch=athlon \
258     %endif
259     %ifarch %{x8664}
260         --arch=x86_64 \
261     %endif
262 %endif
263         --%{?with_arts:en}%{!?with_arts:dis}able-audio-arts \
264         --%{?with_alsa:en}%{!?with_alsa:dis}able-audio-alsa \
265         --%{?with_oss:en}%{!?with_oss:dis}able-audio-oss \
266         --%{?with_opengl_vsync:en}%{!?with_openvl_vsync:dis}able-opengl-vsync \
267         --%{?with_lirc:en}%{!?with_lirc:dis}able-lirc \
268         %{?with_xvmc:--enable-xvmc --enable-xvmc-vld} \
269         %{!?with_xvmc:--disable-xvmc --disable-xvmc-vld} \
270 #  --disable-joystick-menu \
271 #  --disable-firewire \
272 #  --disable-ivtv \
273 #  --enable-dvb-eit \
274 #  --disable-x11            disable X11 support
275 #  --disable-xrandr         disable X11 resolution switching
276 #  --disable-xv             disable XVideo   (X11 video output accel.)
277 #  --enable-directfb        enable DirectFB  (Linux non-X11 video)
278 #  --enable-directx         enable DirectX   (Microsoft video)
279
280 #sed -i -e 's:OPTFLAGS=.*:OPTFLAGS=%{rpmcflags} -Wno-switch:g' config.mak
281 # dunno. the configure doesn't take --prefix...
282 sed -i -e 's:PREFIX =.*:PREFIX = %{_prefix}:g' settings.pro
283
284 # lib64 hack
285 echo "LIBDIR=%{_libdir}" >> settings.pro
286
287 # MythTV doesn't support parallel builds
288 #qmake -o Makefile mythtv.pro \
289 #    QMAKE_CXX="%{__cxx}" \
290 #    QMAKE_LINK="%{__cxx}" \
291 #    QMAKE_CXXFLAGS_RELEASE="%{rpmcflags}"
292
293 qmake mythtv.pro
294
295 %{__make} qmake
296
297 %install
298 rm -rf $RPM_BUILD_ROOT
299 install -d $RPM_BUILD_ROOT
300
301 export QTDIR="%{_prefix}"
302 %{__make} install \
303         INSTALL_ROOT=$RPM_BUILD_ROOT
304
305 # Install the files that we added on top of mythtv's own stuff
306 install -pD %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/mythbackend
307 install -pD %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/mythbackend
308 install -pD %{SOURCE3} $RPM_BUILD_ROOT/etc/logrotate.d/mythbackend
309
310 # Desktop entries
311 #mkdir -p %{buildroot}%{_datadir}/pixmaps
312 #mkdir -p %{buildroot}%{_datadir}/applications
313 #for file in %{desktop_applications}; do
314 #  install -p %{_sourcedir}/$file.png %{buildroot}%{_datadir}/pixmaps/$file.png
315 #  desktop-file-install --vendor %{desktop_vendor} \
316 #    --dir %{buildroot}%{_datadir}/applications    \
317 #    --add-category X-Red-Hat-Extra                \
318 #    --add-category Application                    \
319 #    --add-category AudioVideo                     \
320 #    %{_sourcedir}/$file.desktop
321 #done
322
323 # Various utility directories that we want rpm to keep track of mythtv ownership
324 install -d $RPM_BUILD_ROOT/var/lib/mythtv
325 install -d $RPM_BUILD_ROOT/var/lib/cache/mythtv
326 install -d $RPM_BUILD_ROOT%{_localstatedir}/log/mythtv
327 install -d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
328 install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
329 install -d $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig
330
331 # Create the plugins directory, so rpm can know mythtv owns it
332 install -d $RPM_BUILD_ROOT%{_libdir}/mythtv/plugins
333
334 # Install settings.pro so people can see the build options we used
335 install -pD settings.pro $RPM_BUILD_ROOT%{_datadir}/mythtv/build/settings.pro
336
337 %clean
338 rm -rf $RPM_BUILD_ROOT
339
340 %pre backend
341 %groupadd -g 149 %{name}
342 %useradd -u 149 -d /usr/share/empty -g %{name} -c "MythTV User" %{name}
343
344 %postun backend
345 if [ "$1" = "0" ]; then
346         %userremove %{name}
347         %groupremove %{name}
348 fi
349
350 %post   -n libmyth -p /sbin/ldconfig
351 %postun -n libmyth -p /sbin/ldconfig
352
353 %files
354 %defattr(644,root,root,755)
355 %doc README* UPGRADING AUTHORS COPYING FAQ
356 %doc database keys.txt
357 %doc docs contrib configfiles
358
359 %files backend
360 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_bindir}/mythbackend
362 %attr(755,root,root) %{_bindir}/mythfilldatabase
363 %attr(755,root,root) %{_bindir}/mythjobqueue
364 %attr(755,mythtv,mythtv) %dir /var/lib/mythtv
365 %attr(755,mythtv,mythtv) %dir /var/lib/cache/mythtv
366 %attr(754,root,root) /etc/rc.d/init.d/mythbackend
367 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/mythbackend
368 %config /etc/logrotate.d/mythbackend
369 %attr(755,mythtv,mythtv) %dir %{_localstatedir}/log/mythtv
370
371 %files frontend
372 %defattr(644,root,root,755)
373 %dir %{_datadir}/mythtv
374 %dir %{_libdir}/mythtv
375 %{_datadir}/mythtv/*.xml
376 %attr(755,root,root) %{_bindir}/mythfrontend
377 %attr(755,root,root) %{_bindir}/mythtv
378 %attr(755,root,root) %{_bindir}/mythepg
379 %attr(755,root,root) %{_bindir}/mythprogfind
380 %attr(755,root,root) %{_bindir}/mythcommflag
381 %attr(755,root,root) %{_bindir}/mythtranscode
382 %attr(755,root,root) %{_bindir}/mythtvosd
383 %{_libdir}/mythtv/filters
384 %{_libdir}/mythtv/plugins
385 %{_datadir}/mythtv/*.ttf
386 %{_datadir}/mythtv/i18n
387 #%{_datadir}/applications/*myth*.desktop
388 #%{_datadir}/pixmaps/myth*.png
389
390 %files setup
391 %defattr(644,root,root,755)
392 %attr(755,root,root) %{_bindir}/mythtv-setup
393
394 %files themes
395 %defattr(644,root,root,755)
396 %{_datadir}/mythtv/themes
397
398 %files -n libmyth
399 %defattr(644,root,root,755)
400 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
401
402 %files -n libmyth-devel
403 %defattr(644,root,root,755)
404 %attr(755,root,root) %{_libdir}/*.so
405 %{_includedir}/*
406 %dir %{_datadir}/mythtv/build
407 %{_datadir}/mythtv/build/settings.pro
408
409 %files -n libmyth-static
410 %defattr(644,root,root,755)
411 %{_libdir}/lib*.a
This page took 0.048872 seconds and 3 git commands to generate.