]> git.pld-linux.org Git - SPECS.git/blob - libprojectM.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / libprojectM.spec
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
9 %define         pkgname projectM
10 Summary:        Awesome music visualizer
11 Summary(pl.UTF-8):      Imponujący wizualizator muzyki
12 Name:           libprojectM
13 Version:        2.1.0
14 Release:        3
15 Epoch:          1
16 License:        LGPL v2.1+
17 Group:          Libraries
18 Source0:        http://downloads.sourceforge.net/projectm/projectM-complete-%{version}-Source.tar.gz
19 # Source0-md5:  debf30f7ce94ff0102f06fbb0cc4e92b
20 Patch0:         paths.patch
21 Patch1:         pkgconfig.patch
22 Patch2:         c++14.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)
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
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
60 uniksa.
61
62 %package devel
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}
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
74 %package qt
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
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
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
92 %package qt-devel
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
102
103 %description qt-devel
104 Header files for projectM Qt library.
105
106 %description qt-devel -l pl.UTF-8
107 Pliki nagłówkowe biblioteki projectM Qt.
108
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}
116
117 %description -n jack-projectM
118 This package allows the use of the projectM visualization plugin
119 through any JACK compatible applications.
120
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
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
132
133 %description -n pulseaudio-projectM
134 This package allows the use of the projectM visualization plugin
135 through any pulseaudio compatible applications.
136
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
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}
146 Requires:       libvisual >= 0.4
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
156 %prep
157 %setup -q -n projectM-complete-%{version}-Source
158 %patch0 -p1
159 %patch1 -p1
160 %patch2 -p1
161 %patch3 -p1
162
163 %build
164 install -d build
165 cd build
166 %cmake \
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} \
177         ..
178 %{__make}
179
180 %install
181 rm -rf $RPM_BUILD_ROOT
182 %{__make} -C build install \
183         DESTDIR=$RPM_BUILD_ROOT
184
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
190 %clean
191 rm -rf $RPM_BUILD_ROOT
192
193 %post   -p /sbin/ldconfig
194 %postun -p /sbin/ldconfig
195
196 %post   qt -p /sbin/ldconfig
197 %postun qt -p /sbin/ldconfig
198
199 %files
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
213
214 %files devel
215 %defattr(644,root,root,755)
216 %attr(755,root,root) %{_libdir}/libprojectM.so
217 %{_includedir}/%{name}
218 %{_pkgconfigdir}/libprojectM.pc
219
220 %files qt
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
226
227 %files qt-devel
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
233
234 %if %{with jack}
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*
240 %endif
241
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*
248
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
This page took 0.63141 seconds and 3 git commands to generate.