2 # - cmake is borken and adds objects (static libs) in the middle of lists (Renderer/libRenderer.a):
3 # Linking CXX shared library libprojectM.so
4 # /usr/bin/cmake -E cmake_link_script CMakeFiles/projectM-shared.dir/link.txt --verbose=1
5 # /usr/bin/ccache i686-pld-linux-g++ -fPIC -O2 -fno-strict-aliasing -fwrapv -march=i686 -mtune=pentium4 -gdwarf-3 -g2 -fopenmp -Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc -shared -Wl,-soname,libprojectM.so.2 -o libprojectM.so.2.0.1 CMakeFiles/projectM-shared.dir/projectM.cpp.o CMakeFiles/projectM-shared.dir/PCM.cpp.o CMakeFiles/projectM-shared.dir/Preset.cpp.o CMakeFiles/projectM-shared.dir/fftsg.cpp.o CMakeFiles/projectM-shared.dir/KeyHandler.cpp.o CMakeFiles/projectM-shared.dir/timer.cpp.o CMakeFiles/projectM-shared.dir/wipemalloc.cpp.o CMakeFiles/projectM-shared.dir/PresetLoader.cpp.o CMakeFiles/projectM-shared.dir/PresetChooser.cpp.o CMakeFiles/projectM-shared.dir/PipelineMerger.cpp.o CMakeFiles/projectM-shared.dir/ConfigFile.cpp.o CMakeFiles/projectM-shared.dir/TimeKeeper.cpp.o CMakeFiles/projectM-shared.dir/PresetFactory.cpp.o CMakeFiles/projectM-shared.dir/PresetFactoryManager.cpp.o Renderer/libRenderer.a NativePresetFactory/libNativePresetFactory.a MilkdropPresetFactory/libMilkdropPresetFactory.a -lGLEW -lftgl -lfreetype -lGLU -lGL -lSM -lICE -lX11 -lXext Renderer/libRenderer.a -lm
7 # CMakeLists.txt having:
8 # TARGET_LINK_LIBRARIES(projectM-shared ${PRESET_FACTORY_LINK_TARGETS} ${GLEW_LINK_TARGETS} m dl ${FTGL_LINK_TARGETS} ${OPENGL_LIBRARIES} ${IMAGE_LINK_TARGETS} ${CG_LINK_TARGETS})
10 # NativePresetFactory/CMakeLists.txt has:
11 # TARGET_LINK_LIBRARIES(NativePresetFactory Renderer m)
12 # which mixes .a between -l for dl
14 %define pkgname projectM
15 Summary: Awesome music visualizer
16 Summary(pl.UTF-8): Imponujący wizualizator muzyki
23 Source0: http://downloads.sourceforge.net/project/projectm/%{version}/projectM-%{version}-Source.tar.gz
24 # Source0-md5: f8bf795878cdbbef54784cf2390b4c89
25 Patch0: %{name}-soname.patch
26 Patch1: %{name}-fonts.patch
27 Patch2: %{name}-static.patch
28 Patch3: as-needed.patch
29 Patch4: %{name}-pkgconfig.patch
30 Patch5: 01-change-texture-size.patch
31 Patch6: 04-change-preset-duration.patch
32 Patch7: 06-fix-numeric-locale.patch
33 URL: http://projectm.sourceforge.net/
35 BuildRequires: ftgl-devel >= 2.1.3
36 BuildRequires: glew-devel
37 BuildRequires: pkgconfig
38 BuildRequires: rpmbuild(macros) >= 1.577
39 BuildRequires: sed >= 4.0
40 Requires: fonts-TTF-bitstream-vera
41 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 # cmake (or cmake rules) are broken, mixes .a (objects) with libs (-l)
44 %define filterout_ld -Wl,--as-needed
47 projectM is a reimplementation of Milkdrop under OpenGL. It is an
48 awesome music visualizer. There is nothing better in the world of
51 %description -l pl.UTF-8
52 projectM jest reimplementacją projektu Milkdrop na OpenGL. Jest
53 imponującym wizualizatorem muzyki. Nie ma nic lepszego w świecie
57 Summary: Header files for projectM library
58 Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM
59 Group: Development/Libraries
60 Requires: %{name} = %{epoch}:%{version}-%{release}
63 Header files for projectM library.
65 %description devel -l pl.UTF-8
66 Pliki nagłówkowe biblioteki projectM.
69 Summary: Static projectM library
70 Summary(pl.UTF-8): Statyczna biblioteka projectM
71 Group: Development/Libraries
72 Requires: %{name}-devel = %{epoch}:%{version}-%{release}
75 Static projectM library.
77 %description static -l pl.UTF-8
78 Statyczna biblioteka projectM.
81 %setup -q -n projectM-%{version}-Source
96 -DCMAKE_LIB_DIR=%{_libdir} \
97 -DBUILD_PROJECTM_STATIC=yes \
102 rm -rf $RPM_BUILD_ROOT
103 %{__make} -C build install \
104 DESTDIR=$RPM_BUILD_ROOT
107 rm -rf $RPM_BUILD_ROOT
109 %post -p /sbin/ldconfig
110 %postun -p /sbin/ldconfig
113 %defattr(644,root,root,755)
115 %attr(755,root,root) %{_libdir}/libprojectM.so.*.*
116 %attr(755,root,root) %ghost %{_libdir}/libprojectM.so.2
117 %dir %{_datadir}/%{pkgname}
118 %{_datadir}/%{pkgname}/config.inp
119 %dir %{_datadir}/%{pkgname}/presets
120 %{_datadir}/%{pkgname}/presets/*.milk
121 %{_datadir}/%{pkgname}/presets/*.prjm
122 %{_datadir}/%{pkgname}/presets/*.tga
123 %dir %{_datadir}/%{pkgname}/shaders
124 %{_datadir}/%{pkgname}/shaders/*.cg
127 %defattr(644,root,root,755)
128 %attr(755,root,root) %{_libdir}/libprojectM.so
129 %{_includedir}/%{name}
130 %{_pkgconfigdir}/libprojectM.pc
133 %defattr(644,root,root,755)
134 %{_libdir}/libprojectM.a