]>
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 |
53385283 JR |
18 | Version: 2.1.0 |
19 | Release: 0.1 | |
470af845 | 20 | Epoch: 1 |
7b020ff1 | 21 | License: LGPL v2.1+ |
b3a82913 | 22 | Group: Libraries |
53385283 JR |
23 | Source0: http://downloads.sourceforge.net/project/projectm/%{version}/projectM-complete-%{version}-Source.tar.gz |
24 | # Source0-md5: debf30f7ce94ff0102f06fbb0cc4e92b | |
25 | Patch0: paths.patch | |
26 | Patch1: pkgconfig.patch | |
27 | Patch2: c++14.patch | |
28 | Patch3: test-link.patch | |
729cd339 | 29 | URL: http://projectm.sourceforge.net/ |
7b020ff1 JB |
30 | BuildRequires: OpenGL-devel |
31 | BuildRequires: cmake >= 2.6.0 | |
32 | BuildRequires: freetype-devel >= 2.0 | |
a37d40a9 | 33 | BuildRequires: ftgl-devel >= 2.1.3 |
7b020ff1 | 34 | BuildRequires: gcc-c++ >= 6:4.2 |
77f5004b | 35 | BuildRequires: glew-devel |
7b020ff1 JB |
36 | BuildRequires: libgomp-devel |
37 | BuildRequires: libstdc++-devel | |
79f740dd | 38 | BuildRequires: pkgconfig |
a7d135ee | 39 | BuildRequires: rpmbuild(macros) >= 1.577 |
7b127198 ER |
40 | BuildRequires: sed >= 4.0 |
41 | Requires: fonts-TTF-bitstream-vera | |
b3a82913 | 42 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
43 | ||
f5c4e739 ER |
44 | # cmake (or cmake rules) are broken, mixes .a (objects) with libs (-l) |
45 | %define filterout_ld -Wl,--as-needed | |
46 | ||
b3a82913 | 47 | %description |
48 | projectM is a reimplementation of Milkdrop under OpenGL. It is an | |
49 | awesome music visualizer. There is nothing better in the world of | |
50 | Unix. | |
51 | ||
77f5004b | 52 | %description -l pl.UTF-8 |
0d2ffbdb | 53 | projectM jest reimplementacją projektu Milkdrop na OpenGL. Jest |
54 | imponującym wizualizatorem muzyki. Nie ma nic lepszego w świecie | |
55 | uniksa. | |
56 | ||
b3a82913 | 57 | %package devel |
58 | Summary: Header files for projectM library | |
59 | Summary(pl.UTF-8): Pliki nagłówkowe biblioteki projectM | |
60 | Group: Development/Libraries | |
93c14781 | 61 | Requires: %{name} = %{epoch}:%{version}-%{release} |
b3a82913 | 62 | |
63 | %description devel | |
64 | Header files for projectM library. | |
65 | ||
66 | %description devel -l pl.UTF-8 | |
67 | Pliki nagłówkowe biblioteki projectM. | |
68 | ||
b3a82913 | 69 | %prep |
53385283 | 70 | %setup -q -n projectM-complete-%{version}-Source |
79f740dd | 71 | %patch0 -p1 |
a37d40a9 AG |
72 | %patch1 -p1 |
73 | %patch2 -p1 | |
f5c4e739 | 74 | %patch3 -p1 |
b3a82913 | 75 | |
76 | %build | |
a7d135ee ER |
77 | install -d build |
78 | cd build | |
79f740dd | 79 | %cmake \ |
10672d0a | 80 | -DCMAKE_LIB_DIR=%{_libdir} \ |
53385283 JR |
81 | -DprojectM_FONT_MENU="/usr/share/fonts/TTF/Vera.ttf" \ |
82 | -DprojectM_FONT_TITLE="/usr/share/fonts/TTF/VeraMono.ttf" \ | |
a7d135ee | 83 | ../ |
77f5004b | 84 | %{__make} |
b3a82913 | 85 | |
86 | %install | |
87 | rm -rf $RPM_BUILD_ROOT | |
a7d135ee | 88 | %{__make} -C build install \ |
b3a82913 | 89 | DESTDIR=$RPM_BUILD_ROOT |
90 | ||
91 | %clean | |
92 | rm -rf $RPM_BUILD_ROOT | |
93 | ||
94 | %post -p /sbin/ldconfig | |
95 | %postun -p /sbin/ldconfig | |
96 | ||
97 | %files | |
98 | %defattr(644,root,root,755) | |
7b020ff1 | 99 | # COPYING is just license information, not actual LGPL text |
53385283 | 100 | %doc src/libprojectM/{COPYING,ChangeLog} |
216b1c50 | 101 | %attr(755,root,root) %{_libdir}/libprojectM.so.*.* |
7b127198 ER |
102 | %attr(755,root,root) %ghost %{_libdir}/libprojectM.so.2 |
103 | %dir %{_datadir}/%{pkgname} | |
104 | %{_datadir}/%{pkgname}/config.inp | |
105 | %dir %{_datadir}/%{pkgname}/presets | |
106 | %{_datadir}/%{pkgname}/presets/*.milk | |
107 | %{_datadir}/%{pkgname}/presets/*.prjm | |
108 | %{_datadir}/%{pkgname}/presets/*.tga | |
109 | %dir %{_datadir}/%{pkgname}/shaders | |
110 | %{_datadir}/%{pkgname}/shaders/*.cg | |
b3a82913 | 111 | |
112 | %files devel | |
113 | %defattr(644,root,root,755) | |
216b1c50 | 114 | %attr(755,root,root) %{_libdir}/libprojectM.so |
79f740dd | 115 | %{_includedir}/%{name} |
b3a82913 | 116 | %{_pkgconfigdir}/libprojectM.pc |