]>
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 |
033a7123 | 19 | Release: 10 |
470af845 | 20 | Epoch: 1 |
7b020ff1 | 21 | License: LGPL v2.1+ |
b3a82913 | 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 | |
1c758b24 | 33 | Patch8: freetype.patch |
729cd339 | 34 | URL: http://projectm.sourceforge.net/ |
7b020ff1 JB |
35 | BuildRequires: OpenGL-devel |
36 | BuildRequires: cmake >= 2.6.0 | |
37 | BuildRequires: freetype-devel >= 2.0 | |
a37d40a9 | 38 | BuildRequires: ftgl-devel >= 2.1.3 |
7b020ff1 | 39 | BuildRequires: gcc-c++ >= 6:4.2 |
77f5004b | 40 | BuildRequires: glew-devel |
7b020ff1 JB |
41 | BuildRequires: libgomp-devel |
42 | BuildRequires: libstdc++-devel | |
79f740dd | 43 | BuildRequires: pkgconfig |
a7d135ee | 44 | BuildRequires: rpmbuild(macros) >= 1.577 |
7b127198 ER |
45 | BuildRequires: sed >= 4.0 |
46 | Requires: fonts-TTF-bitstream-vera | |
b3a82913 | 47 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
48 | ||
f5c4e739 ER |
49 | # cmake (or cmake rules) are broken, mixes .a (objects) with libs (-l) |
50 | %define filterout_ld -Wl,--as-needed | |
51 | ||
b3a82913 | 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 | ||
74 | %package static | |
75 | Summary: Static projectM library | |
76 | Summary(pl.UTF-8): Statyczna biblioteka projectM | |
77 | Group: Development/Libraries | |
93c14781 | 78 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
b3a82913 | 79 | |
80 | %description static | |
81 | Static projectM library. | |
82 | ||
83 | %description static -l pl.UTF-8 | |
84 | Statyczna biblioteka projectM. | |
85 | ||
86 | %prep | |
7b127198 ER |
87 | %setup -q -n projectM-%{version}-Source |
88 | %undos config.inp.in | |
79f740dd | 89 | %patch0 -p1 |
a37d40a9 AG |
90 | %patch1 -p1 |
91 | %patch2 -p1 | |
f5c4e739 | 92 | %patch3 -p1 |
10672d0a | 93 | %patch4 -p1 |
a7d135ee ER |
94 | %patch5 -p0 |
95 | %patch6 -p0 | |
96 | %patch7 -p0 | |
1c758b24 | 97 | %patch8 -p1 |
b3a82913 | 98 | |
99 | %build | |
a7d135ee ER |
100 | install -d build |
101 | cd build | |
79f740dd | 102 | %cmake \ |
10672d0a | 103 | -DCMAKE_LIB_DIR=%{_libdir} \ |
a37d40a9 | 104 | -DBUILD_PROJECTM_STATIC=yes \ |
a7d135ee | 105 | ../ |
77f5004b | 106 | %{__make} |
b3a82913 | 107 | |
108 | %install | |
109 | rm -rf $RPM_BUILD_ROOT | |
a7d135ee | 110 | %{__make} -C build install \ |
b3a82913 | 111 | DESTDIR=$RPM_BUILD_ROOT |
112 | ||
113 | %clean | |
114 | rm -rf $RPM_BUILD_ROOT | |
115 | ||
116 | %post -p /sbin/ldconfig | |
117 | %postun -p /sbin/ldconfig | |
118 | ||
119 | %files | |
120 | %defattr(644,root,root,755) | |
7b020ff1 JB |
121 | # COPYING is just license information, not actual LGPL text |
122 | %doc COPYING ChangeLog | |
216b1c50 | 123 | %attr(755,root,root) %{_libdir}/libprojectM.so.*.* |
7b127198 ER |
124 | %attr(755,root,root) %ghost %{_libdir}/libprojectM.so.2 |
125 | %dir %{_datadir}/%{pkgname} | |
126 | %{_datadir}/%{pkgname}/config.inp | |
127 | %dir %{_datadir}/%{pkgname}/presets | |
128 | %{_datadir}/%{pkgname}/presets/*.milk | |
129 | %{_datadir}/%{pkgname}/presets/*.prjm | |
130 | %{_datadir}/%{pkgname}/presets/*.tga | |
131 | %dir %{_datadir}/%{pkgname}/shaders | |
132 | %{_datadir}/%{pkgname}/shaders/*.cg | |
b3a82913 | 133 | |
134 | %files devel | |
135 | %defattr(644,root,root,755) | |
216b1c50 | 136 | %attr(755,root,root) %{_libdir}/libprojectM.so |
79f740dd | 137 | %{_includedir}/%{name} |
b3a82913 | 138 | %{_pkgconfigdir}/libprojectM.pc |
139 | ||
140 | %files static | |
141 | %defattr(644,root,root,755) | |
142 | %{_libdir}/libprojectM.a |