]>
Commit | Line | Data |
---|---|---|
df91effe JB |
1 | # |
2 | # Conditional build: | |
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) | |
8 | ||
7b127198 | 9 | %define pkgname projectM |
b3a82913 | 10 | Summary: Awesome music visualizer |
11 | Summary(pl.UTF-8): Imponujący wizualizator muzyki | |
79f740dd | 12 | Name: libprojectM |
53385283 | 13 | Version: 2.1.0 |
0f3096f4 | 14 | Release: 3 |
470af845 | 15 | Epoch: 1 |
7b020ff1 | 16 | License: LGPL v2.1+ |
b3a82913 | 17 | Group: Libraries |
08c2ceb3 | 18 | Source0: http://downloads.sourceforge.net/projectm/projectM-complete-%{version}-Source.tar.gz |
53385283 JR |
19 | # Source0-md5: debf30f7ce94ff0102f06fbb0cc4e92b |
20 | Patch0: paths.patch | |
21 | Patch1: pkgconfig.patch | |
22 | Patch2: c++14.patch | |
23 | Patch3: test-link.patch | |
729cd339 | 24 | URL: http://projectm.sourceforge.net/ |
df91effe JB |
25 | %{?with_DevIL:BuildRequires: DevIL-devel} |
26 | %{?with_DevIL:BuildRequires: DevIL-ILUT-devel} | |
7b020ff1 | 27 | BuildRequires: OpenGL-devel |
df91effe JB |
28 | BuildRequires: QtCore-devel >= 4 |
29 | BuildRequires: QtGui-devel >= 4 | |
30 | BuildRequires: QtOpenGL-devel >= 4 | |
31 | BuildRequires: QtXml-devel >= 4 | |
45737e80 | 32 | BuildRequires: SDL-devel |
df91effe JB |
33 | %{?with_cg:BuildRequires: cg-devel} |
34 | BuildRequires: cmake >= 2.8.0 | |
08c2ceb3 | 35 | BuildRequires: desktop-file-utils |
df91effe | 36 | BuildRequires: freetype-devel >= 1:2.3.5 |
a37d40a9 | 37 | BuildRequires: ftgl-devel >= 2.1.3 |
df91effe JB |
38 | BuildRequires: glew-devel >= 1.4.0 |
39 | %{?with_jack:BuildRequires: jack-audio-connection-kit-devel} | |
40 | %{?with_openmp:BuildRequires: libgomp-devel} | |
7b020ff1 | 41 | BuildRequires: libstdc++-devel |
df91effe | 42 | BuildRequires: libvisual-devel >= 0.4.0 |
79f740dd | 43 | BuildRequires: pkgconfig |
df91effe JB |
44 | BuildRequires: pulseaudio-devel >= 0.9.8 |
45 | BuildRequires: rpmbuild(macros) >= 1.605 | |
46 | %{?with_xmms:BuildRequires: xmms-devel} | |
7b127198 | 47 | Requires: fonts-TTF-bitstream-vera |
df91effe JB |
48 | Requires: ftgl-devel >= 2.1.3 |
49 | Requires: glew-devel >= 1.4.0 | |
b3a82913 | 50 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
51 | ||
52 | %description | |
53 | projectM is a reimplementation of Milkdrop under OpenGL. It is an | |
54 | awesome music visualizer. There is nothing better in the world of | |
55 | Unix. | |
56 | ||
77f5004b | 57 | %description -l pl.UTF-8 |
0d2ffbdb | 58 | projectM jest reimplementacją projektu Milkdrop na OpenGL. Jest |
59 | imponującym wizualizatorem muzyki. Nie ma nic lepszego w świecie | |
60 | uniksa. | |
61 | ||
b3a82913 | 62 | %package devel |
63 | Summary: Header files for projectM library | |
64 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM | |
65 | Group: Development/Libraries | |
93c14781 | 66 | Requires: %{name} = %{epoch}:%{version}-%{release} |
b3a82913 | 67 | |
68 | %description devel | |
69 | Header files for projectM library. | |
70 | ||
71 | %description devel -l pl.UTF-8 | |
72 | Pliki nagłówkowe biblioteki projectM. | |
73 | ||
08c2ceb3 | 74 | %package qt |
df91effe JB |
75 | Summary: The Qt frontend to the projectM visualization library |
76 | Summary(pl.UTF): Graficzny interfejs Qt do biblioteki wizualizacyjnej projectM | |
77 | Group: X11/Libraries | |
08c2ceb3 JR |
78 | Requires: %{name} = %{epoch}:%{version}-%{release} |
79 | ||
80 | %description qt | |
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. | |
84 | ||
df91effe JB |
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 | |
90 | pulseaudio-projectM. | |
91 | ||
08c2ceb3 | 92 | %package qt-devel |
df91effe JB |
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} | |
08c2ceb3 | 97 | Requires: %{name}-qt = %{epoch}:%{version}-%{release} |
df91effe JB |
98 | Requires: QtCore-devel >= 4 |
99 | Requires: QtGui-devel >= 4 | |
100 | Requires: QtOpenGL-devel >= 4 | |
101 | Requires: QtXml-devel >= 4 | |
08c2ceb3 JR |
102 | |
103 | %description qt-devel | |
df91effe | 104 | Header files for projectM Qt library. |
08c2ceb3 JR |
105 | |
106 | %description qt-devel -l pl.UTF-8 | |
df91effe | 107 | Pliki nagłówkowe biblioteki projectM Qt. |
08c2ceb3 JR |
108 | |
109 | %package -n jack-projectM | |
df91effe JB |
110 | Summary: The projectM visualization plugin for JACK |
111 | Summary(pl.UTF-8): Wtyczka wizualizacji dla JACK-a | |
08c2ceb3 JR |
112 | License: GPLv2+ and MIT |
113 | Group: Applications/Multimedia | |
df91effe JB |
114 | Requires: %{name} = %{epoch}:%{version}-%{release} |
115 | Requires: %{name}-qt = %{epoch}:%{version}-%{release} | |
08c2ceb3 JR |
116 | |
117 | %description -n jack-projectM | |
118 | This package allows the use of the projectM visualization plugin | |
119 | through any JACK compatible applications. | |
120 | ||
df91effe JB |
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. | |
124 | ||
08c2ceb3 JR |
125 | %package -n pulseaudio-projectM |
126 | Summary: The projectM visualization plugin for pulseaudio | |
df91effe | 127 | Summary(pl.UTF-8): Wtyczka wizualizacji dla pulseaudio |
08c2ceb3 | 128 | Group: Applications/Multimedia |
df91effe JB |
129 | Requires: %{name} = %{epoch}:%{version}-%{release} |
130 | Requires: %{name}-qt = %{epoch}:%{version}-%{release} | |
131 | Requires: pulseaudio-libs >= 0.9.8 | |
08c2ceb3 JR |
132 | |
133 | %description -n pulseaudio-projectM | |
134 | This package allows the use of the projectM visualization plugin | |
135 | through any pulseaudio compatible applications. | |
136 | ||
df91effe JB |
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. | |
140 | ||
45737e80 JR |
141 | %package -n libvisual-projectM |
142 | Summary: ProjectM plugin for libvisual | |
143 | Summary(pl.UTF-8): Wtyczka ProjectM dla libvisual | |
144 | Group: Libraries | |
145 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
df91effe | 146 | Requires: libvisual >= 0.4 |
45737e80 JR |
147 | |
148 | %description -n libvisual-projectM | |
149 | projectM is a reimplementation of Milkdrop under OpenGL. This is a | |
150 | plugin for libvisual visualization library. | |
151 | ||
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. | |
155 | ||
b3a82913 | 156 | %prep |
53385283 | 157 | %setup -q -n projectM-complete-%{version}-Source |
79f740dd | 158 | %patch0 -p1 |
a37d40a9 AG |
159 | %patch1 -p1 |
160 | %patch2 -p1 | |
f5c4e739 | 161 | %patch3 -p1 |
b3a82913 | 162 | |
163 | %build | |
a7d135ee ER |
164 | install -d build |
165 | cd build | |
79f740dd | 166 | %cmake \ |
10672d0a | 167 | -DCMAKE_LIB_DIR=%{_libdir} \ |
53385283 JR |
168 | -DprojectM_FONT_MENU="/usr/share/fonts/TTF/Vera.ttf" \ |
169 | -DprojectM_FONT_TITLE="/usr/share/fonts/TTF/VeraMono.ttf" \ | |
df91effe | 170 | %{?with_jack:-DINCLUDE-PROJECTM-JACK=ON} \ |
08c2ceb3 | 171 | -DINCLUDE-PROJECTM-LIBVISUAL-ALSA=ON \ |
df91effe JB |
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} \ | |
177 | .. | |
77f5004b | 178 | %{__make} |
b3a82913 | 179 | |
180 | %install | |
181 | rm -rf $RPM_BUILD_ROOT | |
a7d135ee | 182 | %{__make} -C build install \ |
b3a82913 | 183 | DESTDIR=$RPM_BUILD_ROOT |
184 | ||
df91effe JB |
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 | |
189 | ||
b3a82913 | 190 | %clean |
191 | rm -rf $RPM_BUILD_ROOT | |
192 | ||
df91effe JB |
193 | %post -p /sbin/ldconfig |
194 | %postun -p /sbin/ldconfig | |
08c2ceb3 | 195 | |
df91effe JB |
196 | %post qt -p /sbin/ldconfig |
197 | %postun qt -p /sbin/ldconfig | |
b3a82913 | 198 | |
199 | %files | |
200 | %defattr(644,root,root,755) | |
7b020ff1 | 201 | # COPYING is just license information, not actual LGPL text |
df91effe | 202 | %doc AUTHORS.txt FAQ.txt TODO.txt src/README src/libprojectM/{COPYING,ChangeLog} |
216b1c50 | 203 | %attr(755,root,root) %{_libdir}/libprojectM.so.*.* |
7b127198 ER |
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 | |
b3a82913 | 213 | |
214 | %files devel | |
215 | %defattr(644,root,root,755) | |
216b1c50 | 216 | %attr(755,root,root) %{_libdir}/libprojectM.so |
79f740dd | 217 | %{_includedir}/%{name} |
b3a82913 | 218 | %{_pkgconfigdir}/libprojectM.pc |
45737e80 | 219 | |
08c2ceb3 JR |
220 | %files qt |
221 | %defattr(644,root,root,755) | |
df91effe | 222 | %doc src/projectM-qt/ReadMe |
08c2ceb3 JR |
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 | |
226 | ||
227 | %files qt-devel | |
228 | %defattr(644,root,root,755) | |
229 | %doc src/projectM-qt/ReadMe | |
df91effe | 230 | %attr(755,root,root) %{_libdir}/libprojectM-qt.so |
08c2ceb3 | 231 | %{_includedir}/%{name}-qt |
08c2ceb3 JR |
232 | %{_pkgconfigdir}/libprojectM-qt.pc |
233 | ||
df91effe | 234 | %if %{with jack} |
08c2ceb3 JR |
235 | %files -n jack-projectM |
236 | %defattr(644,root,root,755) | |
237 | %attr(755,root,root) %{_bindir}/projectM-jack | |
238 | %{_desktopdir}/projectM-jack.desktop | |
df91effe JB |
239 | %{_mandir}/man1/projectM-jack.1* |
240 | %endif | |
08c2ceb3 JR |
241 | |
242 | %files -n pulseaudio-projectM | |
243 | %defattr(644,root,root,755) | |
df91effe | 244 | %doc src/projectM-pulseaudio/AUTHORS |
08c2ceb3 JR |
245 | %attr(755,root,root) %{_bindir}/projectM-pulseaudio |
246 | %{_desktopdir}/projectM-pulseaudio.desktop | |
df91effe | 247 | %{_mandir}/man1/projectM-pulseaudio.1* |
08c2ceb3 | 248 | |
45737e80 JR |
249 | %files -n libvisual-projectM |
250 | %defattr(644,root,root,755) | |
08c2ceb3 JR |
251 | %doc src/projectM-libvisual/{ChangeLog,AUTHORS} |
252 | %attr(755,root,root) %{_bindir}/projectM-libvisual-alsa | |
45737e80 | 253 | %attr(755,root,root) %{_libdir}/libvisual-0.4/actor/libprojectM_libvisual.so |
08c2ceb3 | 254 | %{_desktopdir}/projectM-libvisual-alsa.desktop |