]> git.pld-linux.org Git - packages/obs-studio.git/blob - obs-studio.spec
0768523270e257ff8d187e2190ce0e9b162e4359
[packages/obs-studio.git] / obs-studio.spec
1 Summary:        OBS Studio - live streaming and screen recording software
2 Summary(pl.UTF-8):      OBS Studio - oprogramowanie do przesyłania strumieni na żywo i nagrywania ekranu
3 Name:           obs-studio
4 Version:        29.1.3
5 Release:        1
6 License:        GPL v2+
7 %define         obs_vst_gitref  8ad3f64e702ac4f1799b209a511620eb1d096a01
8 Group:          X11/Applications/Multimedia
9 #Source0Download: https://github.com/obsproject/obs-studio/releases
10 Source0:        https://github.com/jp9000/obs-studio/archive/%{version}/%{name}-%{version}.tar.gz
11 # Source0-md5:  5597636f9c66342566f47d68aa4c6693
12 Patch0:         disable-missing-plugins.patch
13 Patch1:         size_t.patch
14 Patch2:         x32.patch
15 URL:            https://obsproject.com/
16 BuildRequires:  ImageMagick-devel
17 BuildRequires:  OpenGL-GLX-devel
18 BuildRequires:  Qt6Core-devel
19 BuildRequires:  Qt6Gui-devel
20 BuildRequires:  Qt6Network-devel
21 BuildRequires:  Qt6Svg-devel
22 BuildRequires:  Qt6Widgets-devel
23 BuildRequires:  Qt6Xml-devel
24 BuildRequires:  alsa-lib-devel
25 BuildRequires:  cmake >= 2.8.12
26 BuildRequires:  curl-devel
27 BuildRequires:  dbus-devel
28 BuildRequires:  fdk-aac-devel
29 # avcodec avfilter avdevice avutil swscale avformat swresample
30 BuildRequires:  ffmpeg-devel
31 BuildRequires:  fontconfig-devel
32 BuildRequires:  freetype-devel >= 2
33 BuildRequires:  jack-audio-connection-kit-devel
34 BuildRequires:  jansson-devel >= 2.5
35 BuildRequires:  libv4l-devel
36 BuildRequires:  libxcb-devel
37 %ifnarch x32
38 BuildRequires:  luajit-devel
39 %endif
40 BuildRequires:  libstdc++-devel >= 6:4.7
41 BuildRequires:  libx264-devel
42 BuildRequires:  mbedtls-devel
43 BuildRequires:  pipewire-devel
44 BuildRequires:  pkgconfig
45 BuildRequires:  pulseaudio-devel
46 BuildRequires:  python3-devel >= 1:3.2
47 BuildRequires:  qt5-build >= 5
48 BuildRequires:  qt5-qmake >= 5
49 BuildRequires:  rpmbuild(macros) >= 1.583
50 BuildRequires:  speexdsp-devel
51 BuildRequires:  swig-python >= 2
52 BuildRequires:  udev-devel
53 BuildRequires:  vlc-devel
54 BuildRequires:  xorg-lib-libX11-devel
55 BuildRequires:  zlib-devel
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %define         _noautoprovfiles        %{_libdir}/obs-plugins
59
60 # symbols from libm confuse the checker
61 %define         skip_post_check_so      libobs.so.*
62
63 %description
64 OBS Studio is software designed for capturing, compositing, encoding,
65 recording, and streaming video content, efficiently.
66
67 %description -l pl.UTF-8
68 OBS Studio to oprogramowanie służące do wydajnego przechwytywania,
69 składania, kodowania, nagrywania i przesyłania treści wideo.
70
71 %package devel
72 Summary:        Header files for OBS Studio
73 Summary(pl.UTF-8):      Pliki nagłówkowe OBS Studio
74 Group:          Development/Libraries
75 Requires:       %{name} = %{version}-%{release}
76
77 %description devel
78 Header files for OBS Studio.
79
80 %description devel -l pl.UTF-8
81 Pliki nagłówkowe OBS Studio.
82
83 %prep
84 %setup -q
85 %patch0 -p1
86 %patch1 -p1
87 %ifarch x32
88 %patch2 -p1
89 %endif
90
91 %build
92 install -d build
93 cd build
94
95 export OBS_MULTIARCH_SUFFIX="%(echo "%{_lib}" | sed -e 's/^lib//')"
96 %cmake .. \
97         -DCMAKE_INSTALL_BINDIR:PATH=bin \
98         -DCMAKE_INSTALL_SBINDIR:PATH=sbin \
99         -DCMAKE_INSTALL_LIBEXECDIR:PATH=libexec \
100         -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
101         -DCMAKE_INSTALL_SHAREDSTATEDIRPATH:PATH=/var/lib \
102         -DCMAKE_INSTALL_LOCALSTATEDIRPATH:PATH=/var \
103         -DCMAKE_INSTALL_INCLUDEDIR:PATH=include \
104         -DCMAKE_INSTALL_DATAROOTDIR:PATH=share \
105         -DCMAKE_INSTALL_DATADIR:PATH=share \
106         -DCMAKE_INSTALL_INFODIR:PATH=share/info \
107         -DCMAKE_INSTALL_LOCALEDIR:PATH=share/locale \
108         -DCMAKE_INSTALL_MANDIR:PATH=share/man \
109         -DCMAKE_INSTALL_DOCDIR:PATH=share/doc \
110         -DSYSCONF_INSTALL_DIR:PATH=/etc \
111         -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib} \
112         -DCMAKE_BUILD_TYPE=RelWithDebInfo \
113         -DUNIX_STRUCTURE=1 \
114         -DCMAKE_SKIP_RPATH=1 \
115         -DOBS_VERSION_OVERRIDE=%{version} \
116         -DENABLE_AJA=OFF \
117 %ifarch x32
118         -DENABLE_SCRIPTING_LUA=OFF \
119 %endif
120         -DBUILD_BROWSER=OFF
121
122 %{__make}
123
124 %install
125 rm -rf $RPM_BUILD_ROOT
126
127 %{__make} -C build install/fast \
128         DESTDIR=$RPM_BUILD_ROOT
129
130 builddir="$(pwd)"
131
132 cd $RPM_BUILD_ROOT
133 reldatadir="$(echo %{_datadir} | sed -e 's,^/,,')"
134 for f in $reldatadir/obs/obs-studio/locale/??*-??*.ini $reldatadir/obs/obs-plugins/*/locale/??*-??*.ini ; do
135         locale="$(basename "$f" .ini | tr - _)"
136         case "$locale" in
137           en_US)
138                 loctag=""
139                 ;;
140           pt_BR|zh_CN|zh_TW)
141                 loctag="%lang($locale) "
142                 ;;
143           *)
144                 # this rule covers also conversion of bogus Serbian codes to "sr": "sr_CS" (actually sr_RS@latin), "sr_SP" (actually sr_RS, cyrillic)
145                 loctag="%lang(${locale%_??}) "
146                 ;;
147         esac
148         echo "${loctag}/$f"
149 done > "$builddir/%{name}.lang"
150
151 # dir guard
152 %{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/{decklink-captions,decklink-output-ui}/.keepme
153 %{__rm} $RPM_BUILD_ROOT%{_datadir}/obs/obs-plugins/linux-pipewire/.gitkeep
154
155 %clean
156 rm -rf $RPM_BUILD_ROOT
157
158 %post   -p /sbin/ldconfig
159 %postun -p /sbin/ldconfig
160
161 %files -f %{name}.lang
162 %defattr(644,root,root,755)
163 %doc AUTHORS README.rst
164 %attr(755,root,root) %{_bindir}/obs
165 %attr(755,root,root) %{_bindir}/obs-ffmpeg-mux
166 %attr(755,root,root) %{_libdir}/libobs-frontend-api.so.29
167 %attr(755,root,root) %ghost %{_libdir}/libobs-frontend-api.so.0
168 %attr(755,root,root) %{_libdir}/libobs-opengl.so.29
169 %attr(755,root,root) %ghost %{_libdir}/libobs-opengl.so.1
170 %attr(755,root,root) %{_libdir}/libobs.so.29
171 %attr(755,root,root) %ghost %{_libdir}/libobs.so.0
172 %attr(755,root,root) %{_libdir}/libobs-scripting.so.29
173 %attr(755,root,root) %ghost %{_libdir}/libobs-scripting.so.1
174
175 %dir %{_libdir}/obs-plugins
176 %attr(755,root,root) %{_libdir}/obs-plugins/decklink-captions.so
177 %attr(755,root,root) %{_libdir}/obs-plugins/decklink-output-ui.so
178 %attr(755,root,root) %{_libdir}/obs-plugins/decklink.so
179 %attr(755,root,root) %{_libdir}/obs-plugins/frontend-tools.so
180 %attr(755,root,root) %{_libdir}/obs-plugins/image-source.so
181 %attr(755,root,root) %{_libdir}/obs-plugins/linux-alsa.so
182 %attr(755,root,root) %{_libdir}/obs-plugins/linux-capture.so
183 %attr(755,root,root) %{_libdir}/obs-plugins/linux-pipewire.so
184 %attr(755,root,root) %{_libdir}/obs-plugins/linux-pulseaudio.so
185 %attr(755,root,root) %{_libdir}/obs-plugins/linux-v4l2.so
186 %attr(755,root,root) %{_libdir}/obs-plugins/obs-ffmpeg.so
187 %attr(755,root,root) %{_libdir}/obs-plugins/obs-filters.so
188 %attr(755,root,root) %{_libdir}/obs-plugins/obs-outputs.so
189 %attr(755,root,root) %{_libdir}/obs-plugins/obs-transitions.so
190 %attr(755,root,root) %{_libdir}/obs-plugins/obs-vst.so
191 %attr(755,root,root) %{_libdir}/obs-plugins/obs-x264.so
192 %attr(755,root,root) %{_libdir}/obs-plugins/rtmp-services.so
193 %attr(755,root,root) %{_libdir}/obs-plugins/text-freetype2.so
194 %attr(755,root,root) %{_libdir}/obs-plugins/vlc-video.so
195 %dir %{_libdir}/obs-scripting
196 %ifnarch x32
197 %attr(755,root,root) %{_libdir}/obs-scripting/obslua.so
198 %endif
199 %attr(755,root,root) %{_libdir}/obs-scripting/_obspython.so
200 %attr(755,root,root) %{_libdir}/obs-scripting/obspython.py
201
202 %{_datadir}/metainfo/com.obsproject.Studio.appdata.xml
203 %{_desktopdir}/com.obsproject.Studio.desktop
204 %{_iconsdir}/hicolor/*x*/apps/com.obsproject.Studio.png
205 %{_iconsdir}/hicolor/scalable/apps/com.obsproject.Studio.svg
206
207 %dir %{_datadir}/obs
208 %{_datadir}/obs/libobs
209 %dir %{_datadir}/obs/obs-plugins
210 %dir %{_datadir}/obs/obs-studio
211 %{_datadir}/obs/obs-studio/OBSPublicRSAKey.pem
212 %{_datadir}/obs/obs-studio/authors
213 %{_datadir}/obs/obs-studio/images
214 %{_datadir}/obs/obs-studio/license
215 %dir %{_datadir}/obs/obs-studio/locale
216 %{_datadir}/obs/obs-studio/themes
217 %{_datadir}/obs/obs-studio/locale.ini
218
219 %dir %{_datadir}/obs/obs-plugins/decklink
220 %dir %{_datadir}/obs/obs-plugins/decklink/locale
221
222 %dir %{_datadir}/obs/obs-plugins/frontend-tools
223 %dir %{_datadir}/obs/obs-plugins/frontend-tools/locale
224 %dir %{_datadir}/obs/obs-plugins/frontend-tools/scripts
225 %{_datadir}/obs/obs-plugins/frontend-tools/scripts/*.lua
226 %{_datadir}/obs/obs-plugins/frontend-tools/scripts/*.py
227 %{_datadir}/obs/obs-plugins/frontend-tools/scripts/clock-source
228
229 %dir %{_datadir}/obs/obs-plugins/image-source
230 %dir %{_datadir}/obs/obs-plugins/image-source/locale
231
232 %dir %{_datadir}/obs/obs-plugins/linux-alsa
233 %dir %{_datadir}/obs/obs-plugins/linux-alsa/locale
234
235 %dir %{_datadir}/obs/obs-plugins/linux-capture
236 %dir %{_datadir}/obs/obs-plugins/linux-capture/locale
237
238 %dir %{_datadir}/obs/obs-plugins/linux-pipewire
239 %dir %{_datadir}/obs/obs-plugins/linux-pipewire/locale
240
241 %dir %{_datadir}/obs/obs-plugins/linux-pulseaudio
242 %dir %{_datadir}/obs/obs-plugins/linux-pulseaudio/locale
243
244 %dir %{_datadir}/obs/obs-plugins/linux-v4l2
245 %dir %{_datadir}/obs/obs-plugins/linux-v4l2/locale
246
247 %dir %{_datadir}/obs/obs-plugins/obs-ffmpeg
248 %dir %{_datadir}/obs/obs-plugins/obs-ffmpeg/locale
249
250 %dir %{_datadir}/obs/obs-plugins/obs-filters
251 %{_datadir}/obs/obs-plugins/obs-filters/*.effect
252 %{_datadir}/obs/obs-plugins/obs-filters/LUTs
253 %dir %{_datadir}/obs/obs-plugins/obs-filters/locale
254
255 %dir %{_datadir}/obs/obs-plugins/obs-outputs
256 %dir %{_datadir}/obs/obs-plugins/obs-outputs/locale
257
258 %dir %{_datadir}/obs/obs-plugins/obs-transitions
259 %{_datadir}/obs/obs-plugins/obs-transitions/*.effect
260 %{_datadir}/obs/obs-plugins/obs-transitions/luma_wipes
261 %dir %{_datadir}/obs/obs-plugins/obs-transitions/locale
262
263 %dir %{_datadir}/obs/obs-plugins/obs-vst
264 %dir %{_datadir}/obs/obs-plugins/obs-vst/locale
265
266 %dir %{_datadir}/obs/obs-plugins/obs-x264
267 %dir %{_datadir}/obs/obs-plugins/obs-x264/locale
268
269 %dir %{_datadir}/obs/obs-plugins/rtmp-services
270 %{_datadir}/obs/obs-plugins/rtmp-services/*.json
271 %dir %{_datadir}/obs/obs-plugins/rtmp-services/schema
272 %{_datadir}/obs/obs-plugins/rtmp-services/schema/*.json
273 %dir %{_datadir}/obs/obs-plugins/rtmp-services/locale
274
275 %dir %{_datadir}/obs/obs-plugins/text-freetype2
276 %{_datadir}/obs/obs-plugins/text-freetype2/*.effect
277 %dir %{_datadir}/obs/obs-plugins/text-freetype2/locale
278
279 %dir %{_datadir}/obs/obs-plugins/vlc-video
280 %dir %{_datadir}/obs/obs-plugins/vlc-video/locale
281
282 %files devel
283 %defattr(644,root,root,755)
284 %attr(755,root,root) %{_libdir}/libobs.so
285 %attr(755,root,root) %{_libdir}/libobs-frontend-api.so
286 %attr(755,root,root) %{_libdir}/libobs-opengl.so
287 %attr(755,root,root) %{_libdir}/libobs-scripting.so
288 %{_includedir}/obs
289 %{_pkgconfigdir}/libobs.pc
290 %{_libdir}/cmake/libobs
291 %{_libdir}/cmake/obs-frontend-api
This page took 0.231528 seconds and 2 git commands to generate.