]>
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 |
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 | |
729cd339 | 33 | URL: http://projectm.sourceforge.net/ |
7b020ff1 JB |
34 | BuildRequires: OpenGL-devel |
35 | BuildRequires: cmake >= 2.6.0 | |
36 | BuildRequires: freetype-devel >= 2.0 | |
a37d40a9 | 37 | BuildRequires: ftgl-devel >= 2.1.3 |
7b020ff1 | 38 | BuildRequires: gcc-c++ >= 6:4.2 |
77f5004b | 39 | BuildRequires: glew-devel |
7b020ff1 JB |
40 | BuildRequires: libgomp-devel |
41 | BuildRequires: libstdc++-devel | |
79f740dd | 42 | BuildRequires: pkgconfig |
a7d135ee | 43 | BuildRequires: rpmbuild(macros) >= 1.577 |
7b127198 ER |
44 | BuildRequires: sed >= 4.0 |
45 | Requires: fonts-TTF-bitstream-vera | |
b3a82913 | 46 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
47 | ||
f5c4e739 ER |
48 | # cmake (or cmake rules) are broken, mixes .a (objects) with libs (-l) |
49 | %define filterout_ld -Wl,--as-needed | |
50 | ||
b3a82913 | 51 | %description |
52 | projectM is a reimplementation of Milkdrop under OpenGL. It is an | |
53 | awesome music visualizer. There is nothing better in the world of | |
54 | Unix. | |
55 | ||
77f5004b | 56 | %description -l pl.UTF-8 |
0d2ffbdb | 57 | projectM jest reimplementacją projektu Milkdrop na OpenGL. Jest |
58 | imponującym wizualizatorem muzyki. Nie ma nic lepszego w świecie | |
59 | uniksa. | |
60 | ||
b3a82913 | 61 | %package devel |
62 | Summary: Header files for projectM library | |
63 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM | |
64 | Group: Development/Libraries | |
93c14781 | 65 | Requires: %{name} = %{epoch}:%{version}-%{release} |
b3a82913 | 66 | |
67 | %description devel | |
68 | Header files for projectM library. | |
69 | ||
70 | %description devel -l pl.UTF-8 | |
71 | Pliki nagłówkowe biblioteki projectM. | |
72 | ||
73 | %package static | |
74 | Summary: Static projectM library | |
75 | Summary(pl.UTF-8): Statyczna biblioteka projectM | |
76 | Group: Development/Libraries | |
93c14781 | 77 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
b3a82913 | 78 | |
79 | %description static | |
80 | Static projectM library. | |
81 | ||
82 | %description static -l pl.UTF-8 | |
83 | Statyczna biblioteka projectM. | |
84 | ||
85 | %prep | |
7b127198 ER |
86 | %setup -q -n projectM-%{version}-Source |
87 | %undos config.inp.in | |
79f740dd | 88 | %patch0 -p1 |
a37d40a9 AG |
89 | %patch1 -p1 |
90 | %patch2 -p1 | |
f5c4e739 | 91 | %patch3 -p1 |
10672d0a | 92 | %patch4 -p1 |
a7d135ee ER |
93 | %patch5 -p0 |
94 | %patch6 -p0 | |
95 | %patch7 -p0 | |
b3a82913 | 96 | |
97 | %build | |
a7d135ee ER |
98 | install -d build |
99 | cd build | |
79f740dd | 100 | %cmake \ |
10672d0a | 101 | -DCMAKE_LIB_DIR=%{_libdir} \ |
a37d40a9 | 102 | -DBUILD_PROJECTM_STATIC=yes \ |
a7d135ee | 103 | ../ |
77f5004b | 104 | %{__make} |
b3a82913 | 105 | |
106 | %install | |
107 | rm -rf $RPM_BUILD_ROOT | |
a7d135ee | 108 | %{__make} -C build install \ |
b3a82913 | 109 | DESTDIR=$RPM_BUILD_ROOT |
110 | ||
111 | %clean | |
112 | rm -rf $RPM_BUILD_ROOT | |
113 | ||
114 | %post -p /sbin/ldconfig | |
115 | %postun -p /sbin/ldconfig | |
116 | ||
117 | %files | |
118 | %defattr(644,root,root,755) | |
7b020ff1 JB |
119 | # COPYING is just license information, not actual LGPL text |
120 | %doc COPYING ChangeLog | |
216b1c50 | 121 | %attr(755,root,root) %{_libdir}/libprojectM.so.*.* |
7b127198 ER |
122 | %attr(755,root,root) %ghost %{_libdir}/libprojectM.so.2 |
123 | %dir %{_datadir}/%{pkgname} | |
124 | %{_datadir}/%{pkgname}/config.inp | |
125 | %dir %{_datadir}/%{pkgname}/presets | |
126 | %{_datadir}/%{pkgname}/presets/*.milk | |
127 | %{_datadir}/%{pkgname}/presets/*.prjm | |
128 | %{_datadir}/%{pkgname}/presets/*.tga | |
129 | %dir %{_datadir}/%{pkgname}/shaders | |
130 | %{_datadir}/%{pkgname}/shaders/*.cg | |
b3a82913 | 131 | |
132 | %files devel | |
133 | %defattr(644,root,root,755) | |
216b1c50 | 134 | %attr(755,root,root) %{_libdir}/libprojectM.so |
79f740dd | 135 | %{_includedir}/%{name} |
b3a82913 | 136 | %{_pkgconfigdir}/libprojectM.pc |
137 | ||
138 | %files static | |
139 | %defattr(644,root,root,755) | |
140 | %{_libdir}/libprojectM.a |