]>
Commit | Line | Data |
---|---|---|
f5c4e739 ER |
1 | # TODO |
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 | |
6 | # | |
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}) | |
9 | # | |
10 | # NativePresetFactory/CMakeLists.txt has: | |
11 | # TARGET_LINK_LIBRARIES(NativePresetFactory Renderer m) | |
12 | # which mixes .a between -l for dl | |
13 | ||
7b127198 | 14 | %define pkgname projectM |
b3a82913 | 15 | Summary: Awesome music visualizer |
16 | Summary(pl.UTF-8): Imponujący wizualizator muzyki | |
79f740dd | 17 | Name: libprojectM |
7b127198 | 18 | Version: 2.0.1 |
e8180738 | 19 | Release: 6 |
470af845 | 20 | Epoch: 1 |
b3a82913 | 21 | License: LGPL |
22 | Group: Libraries | |
7b127198 ER |
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 | |
f5c4e739 | 28 | Patch3: as-needed.patch |
10672d0a | 29 | Patch4: %{name}-pkgconfig.patch |
a7d135ee ER |
30 | Patch5: 01-change-texture-size.patch |
31 | Patch6: 04-change-preset-duration.patch | |
32 | Patch7: 06-fix-numeric-locale.patch | |
729cd339 | 33 | URL: http://projectm.sourceforge.net/ |
79f740dd | 34 | BuildRequires: cmake |
a37d40a9 | 35 | BuildRequires: ftgl-devel >= 2.1.3 |
77f5004b | 36 | BuildRequires: glew-devel |
79f740dd | 37 | BuildRequires: pkgconfig |
a7d135ee | 38 | BuildRequires: rpmbuild(macros) >= 1.577 |
7b127198 ER |
39 | BuildRequires: sed >= 4.0 |
40 | Requires: fonts-TTF-bitstream-vera | |
b3a82913 | 41 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
42 | ||
f5c4e739 ER |
43 | # cmake (or cmake rules) are broken, mixes .a (objects) with libs (-l) |
44 | %define filterout_ld -Wl,--as-needed | |
45 | ||
b3a82913 | 46 | %description |
47 | projectM is a reimplementation of Milkdrop under OpenGL. It is an | |
48 | awesome music visualizer. There is nothing better in the world of | |
49 | Unix. | |
50 | ||
77f5004b | 51 | %description -l pl.UTF-8 |
0d2ffbdb | 52 | projectM jest reimplementacją projektu Milkdrop na OpenGL. Jest |
53 | imponującym wizualizatorem muzyki. Nie ma nic lepszego w świecie | |
54 | uniksa. | |
55 | ||
b3a82913 | 56 | %package devel |
57 | Summary: Header files for projectM library | |
58 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM | |
59 | Group: Development/Libraries | |
93c14781 | 60 | Requires: %{name} = %{epoch}:%{version}-%{release} |
b3a82913 | 61 | |
62 | %description devel | |
63 | Header files for projectM library. | |
64 | ||
65 | %description devel -l pl.UTF-8 | |
66 | Pliki nagłówkowe biblioteki projectM. | |
67 | ||
68 | %package static | |
69 | Summary: Static projectM library | |
70 | Summary(pl.UTF-8): Statyczna biblioteka projectM | |
71 | Group: Development/Libraries | |
93c14781 | 72 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
b3a82913 | 73 | |
74 | %description static | |
75 | Static projectM library. | |
76 | ||
77 | %description static -l pl.UTF-8 | |
78 | Statyczna biblioteka projectM. | |
79 | ||
80 | %prep | |
7b127198 ER |
81 | %setup -q -n projectM-%{version}-Source |
82 | %undos config.inp.in | |
79f740dd | 83 | %patch0 -p1 |
a37d40a9 AG |
84 | %patch1 -p1 |
85 | %patch2 -p1 | |
f5c4e739 | 86 | %patch3 -p1 |
10672d0a | 87 | %patch4 -p1 |
a7d135ee ER |
88 | %patch5 -p0 |
89 | %patch6 -p0 | |
90 | %patch7 -p0 | |
b3a82913 | 91 | |
92 | %build | |
a7d135ee ER |
93 | install -d build |
94 | cd build | |
79f740dd | 95 | %cmake \ |
10672d0a | 96 | -DCMAKE_LIB_DIR=%{_libdir} \ |
a37d40a9 | 97 | -DBUILD_PROJECTM_STATIC=yes \ |
a7d135ee | 98 | ../ |
77f5004b | 99 | %{__make} |
b3a82913 | 100 | |
101 | %install | |
102 | rm -rf $RPM_BUILD_ROOT | |
a7d135ee | 103 | %{__make} -C build install \ |
b3a82913 | 104 | DESTDIR=$RPM_BUILD_ROOT |
105 | ||
106 | %clean | |
107 | rm -rf $RPM_BUILD_ROOT | |
108 | ||
109 | %post -p /sbin/ldconfig | |
110 | %postun -p /sbin/ldconfig | |
111 | ||
112 | %files | |
113 | %defattr(644,root,root,755) | |
114 | %doc ChangeLog | |
216b1c50 | 115 | %attr(755,root,root) %{_libdir}/libprojectM.so.*.* |
7b127198 ER |
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 | |
b3a82913 | 125 | |
126 | %files devel | |
127 | %defattr(644,root,root,755) | |
216b1c50 | 128 | %attr(755,root,root) %{_libdir}/libprojectM.so |
79f740dd | 129 | %{_includedir}/%{name} |
b3a82913 | 130 | %{_pkgconfigdir}/libprojectM.pc |
131 | ||
132 | %files static | |
133 | %defattr(644,root,root,755) | |
134 | %{_libdir}/libprojectM.a |