3 %bcond_with cg # CG for Pixel Shader support
4 %bcond_with devil # DevIL instead of builtin SOIL for image loading
5 %bcond_without jack # JACK plugin
6 %bcond_without openmp # OpenMP for multi-core parallelization
7 %bcond_with xmms # XMMS plugin (deprecated; wants libxmms.pc, which is not provided)
9 %define pkgname projectM
10 Summary: Awesome music visualizer
11 Summary(pl.UTF-8): Imponujący wizualizator muzyki
18 Source0: http://downloads.sourceforge.net/projectm/projectM-complete-%{version}-Source.tar.gz
19 # Source0-md5: debf30f7ce94ff0102f06fbb0cc4e92b
21 Patch1: pkgconfig.patch
23 Patch3: test-link.patch
24 URL: http://projectm.sourceforge.net/
25 %{?with_DevIL:BuildRequires: DevIL-devel}
26 %{?with_DevIL:BuildRequires: DevIL-ILUT-devel}
27 BuildRequires: OpenGL-devel
28 BuildRequires: QtCore-devel >= 4
29 BuildRequires: QtGui-devel >= 4
30 BuildRequires: QtOpenGL-devel >= 4
31 BuildRequires: QtXml-devel >= 4
32 BuildRequires: SDL-devel
33 %{?with_cg:BuildRequires: cg-devel}
34 BuildRequires: cmake >= 2.8.0
35 BuildRequires: desktop-file-utils
36 BuildRequires: freetype-devel >= 1:2.3.5
37 BuildRequires: ftgl-devel >= 2.1.3
38 BuildRequires: glew-devel >= 1.4.0
39 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
40 %{?with_openmp:BuildRequires: libgomp-devel}
41 BuildRequires: libstdc++-devel
42 BuildRequires: libvisual-devel >= 0.4.0
43 BuildRequires: pkgconfig
44 BuildRequires: pulseaudio-devel >= 0.9.8
45 BuildRequires: rpmbuild(macros) >= 1.605
46 %{?with_xmms:BuildRequires: xmms-devel}
47 Requires: fonts-TTF-bitstream-vera
48 Requires: ftgl-devel >= 2.1.3
49 Requires: glew-devel >= 1.4.0
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 projectM is a reimplementation of Milkdrop under OpenGL. It is an
54 awesome music visualizer. There is nothing better in the world of
57 %description -l pl.UTF-8
58 projectM jest reimplementacją projektu Milkdrop na OpenGL. Jest
59 imponującym wizualizatorem muzyki. Nie ma nic lepszego w świecie
63 Summary: Header files for projectM library
64 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM
65 Group: Development/Libraries
66 Requires: %{name} = %{epoch}:%{version}-%{release}
69 Header files for projectM library.
71 %description devel -l pl.UTF-8
72 Pliki nagłówkowe biblioteki projectM.
75 Summary: The Qt frontend to the projectM visualization library
76 Summary(pl.UTF): Graficzny interfejs Qt do biblioteki wizualizacyjnej projectM
78 Requires: %{name} = %{epoch}:%{version}-%{release}
81 projectM-qt is a GUI designed to enhance the projectM user and preset
82 writer experience. It provides a way to browse, search, rate presets
83 and setup preset playlists for jack-projectM and pulseaudio-projectM.
85 %description qt -l pl.UTF-8
86 projectM-qt to graficzny interfejs użytkownika, mający poprawić
87 doznania użytkownika oraz piszącego ustawienia projectM. Daje
88 możliwość przeglądania, wyszukiwania, ustawiania współczynników oraz
89 predefiniowanych list odtwarzania dla wtyczek jack-projectM oraz
93 Summary: Header files for projectM Qt library
94 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM Qt
95 Group: X11/Development/Libraries
96 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
97 Requires: %{name}-qt = %{epoch}:%{version}-%{release}
98 Requires: QtCore-devel >= 4
99 Requires: QtGui-devel >= 4
100 Requires: QtOpenGL-devel >= 4
101 Requires: QtXml-devel >= 4
103 %description qt-devel
104 Header files for projectM Qt library.
106 %description qt-devel -l pl.UTF-8
107 Pliki nagłówkowe biblioteki projectM Qt.
109 %package -n jack-projectM
110 Summary: The projectM visualization plugin for JACK
111 Summary(pl.UTF-8): Wtyczka wizualizacji dla JACK-a
112 License: GPLv2+ and MIT
113 Group: Applications/Multimedia
114 Requires: %{name} = %{epoch}:%{version}-%{release}
115 Requires: %{name}-qt = %{epoch}:%{version}-%{release}
117 %description -n jack-projectM
118 This package allows the use of the projectM visualization plugin
119 through any JACK compatible applications.
121 %description -n jack-projectM -l pl.UTF-8
122 Ten pakiet pozwala na używanie wtyczki wizualizacji projectM we
123 wszystkich aplikacjach wykorzystujących system dźwięku JACK.
125 %package -n pulseaudio-projectM
126 Summary: The projectM visualization plugin for pulseaudio
127 Summary(pl.UTF-8): Wtyczka wizualizacji dla pulseaudio
128 Group: Applications/Multimedia
129 Requires: %{name} = %{epoch}:%{version}-%{release}
130 Requires: %{name}-qt = %{epoch}:%{version}-%{release}
131 Requires: pulseaudio-libs >= 0.9.8
133 %description -n pulseaudio-projectM
134 This package allows the use of the projectM visualization plugin
135 through any pulseaudio compatible applications.
137 %description -n pulseaudio-projectM -l pl.UTF-8
138 Ten pakiet pozwala na używanie wtyczki wizualizacji projectM we
139 wszystkich aplikacjach wykorzystujących system dźwięku pulseaudio.
141 %package -n libvisual-projectM
142 Summary: ProjectM plugin for libvisual
143 Summary(pl.UTF-8): Wtyczka ProjectM dla libvisual
145 Requires: %{name} = %{epoch}:%{version}-%{release}
146 Requires: libvisual >= 0.4
148 %description -n libvisual-projectM
149 projectM is a reimplementation of Milkdrop under OpenGL. This is a
150 plugin for libvisual visualization library.
152 %description -n libvisual-projectM -l pl.UTF-8
153 projectM jest reimplementacją projektu Milkdrop na OpenGL. Ten pakiet
154 zawiera wtyczkę dla biblioteki wizualizacji libvisual.
157 %setup -q -n projectM-complete-%{version}-Source
167 -DCMAKE_LIB_DIR=%{_libdir} \
168 -DprojectM_FONT_MENU="/usr/share/fonts/TTF/Vera.ttf" \
169 -DprojectM_FONT_TITLE="/usr/share/fonts/TTF/VeraMono.ttf" \
170 %{?with_jack:-DINCLUDE-PROJECTM-JACK=ON} \
171 -DINCLUDE-PROJECTM-LIBVISUAL-ALSA=ON \
172 -DINCLUDE-PROJECTM-TEST=OFF \
173 %{?with_xmms:-DINCLUDE-PROJECTM-XMMS=ON} \
174 %{?with_cg:-DUSE_CG=ON} \
175 %{?with_devil:-DUSE_DEVIL=ON} \
176 %{!?with_openmp:-DUSE_OPENMP=OFF} \
181 rm -rf $RPM_BUILD_ROOT
182 %{__make} -C build install \
183 DESTDIR=$RPM_BUILD_ROOT
185 # omitted by CMakeLists.txt
186 install -d $RPM_BUILD_ROOT%{_mandir}/man1
187 cp -p src/projectM-jack/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
188 cp -p src/projectM-pulseaudio/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
191 rm -rf $RPM_BUILD_ROOT
193 %post -p /sbin/ldconfig
194 %postun -p /sbin/ldconfig
196 %post qt -p /sbin/ldconfig
197 %postun qt -p /sbin/ldconfig
200 %defattr(644,root,root,755)
201 # COPYING is just license information, not actual LGPL text
202 %doc AUTHORS.txt FAQ.txt TODO.txt src/README src/libprojectM/{COPYING,ChangeLog}
203 %attr(755,root,root) %{_libdir}/libprojectM.so.*.*
204 %attr(755,root,root) %ghost %{_libdir}/libprojectM.so.2
205 %dir %{_datadir}/%{pkgname}
206 %{_datadir}/%{pkgname}/config.inp
207 %dir %{_datadir}/%{pkgname}/presets
208 %{_datadir}/%{pkgname}/presets/*.milk
209 %{_datadir}/%{pkgname}/presets/*.prjm
210 %{_datadir}/%{pkgname}/presets/*.tga
211 %dir %{_datadir}/%{pkgname}/shaders
212 %{_datadir}/%{pkgname}/shaders/*.cg
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libprojectM.so
217 %{_includedir}/%{name}
218 %{_pkgconfigdir}/libprojectM.pc
221 %defattr(644,root,root,755)
222 %doc src/projectM-qt/ReadMe
223 %attr(755,root,root) %{_libdir}/libprojectM-qt.so.*.*
224 %attr(755,root,root) %ghost %{_libdir}/libprojectM-qt.so.1
225 %{_pixmapsdir}/prjm16-transparent.svg
228 %defattr(644,root,root,755)
229 %doc src/projectM-qt/ReadMe
230 %attr(755,root,root) %{_libdir}/libprojectM-qt.so
231 %{_includedir}/%{name}-qt
232 %{_pkgconfigdir}/libprojectM-qt.pc
235 %files -n jack-projectM
236 %defattr(644,root,root,755)
237 %attr(755,root,root) %{_bindir}/projectM-jack
238 %{_desktopdir}/projectM-jack.desktop
239 %{_mandir}/man1/projectM-jack.1*
242 %files -n pulseaudio-projectM
243 %defattr(644,root,root,755)
244 %doc src/projectM-pulseaudio/AUTHORS
245 %attr(755,root,root) %{_bindir}/projectM-pulseaudio
246 %{_desktopdir}/projectM-pulseaudio.desktop
247 %{_mandir}/man1/projectM-pulseaudio.1*
249 %files -n libvisual-projectM
250 %defattr(644,root,root,755)
251 %doc src/projectM-libvisual/{ChangeLog,AUTHORS}
252 %attr(755,root,root) %{_bindir}/projectM-libvisual-alsa
253 %attr(755,root,root) %{_libdir}/libvisual-0.4/actor/libprojectM_libvisual.so
254 %{_desktopdir}/projectM-libvisual-alsa.desktop