File handbrake.spec of Package handbrake (Revision e25ea47641a4a27a6875ed0051be4901)
Currently displaying revision e25ea47641a4a27a6875ed0051be4901 , Show latest
204
1
#
2
# spec file for package handbrake
3
#
4
# Copyright (c) 2012 Pascal Bleser <pascal.bleser@opensuse.org>
5
# Copyright (c) 2020 B1 Systems GmbH, Vobhurg, Germany
6
#
7
# All modifications and additions to the file contributed by third parties
8
# remain the property of their copyright owners, unless otherwise agreed
9
# upon. The license for this file, and modifications and additions to the
10
# file, is the same license as for the pristine package itself (unless the
11
# license for the pristine package is not an Open Source License, in which
12
# case the license is the MIT License). An "Open Source License" is a
13
# license that conforms to the Open Source Definition (Version 1.9)
14
# published by the Open Source Initiative.
15
16
# Please submit bugfixes or comments via http://bugs.opensuse.org/
17
#
18
19
20
%ifarch x86_64
21
%bcond_with qsv
22
%endif
23
24
Name: handbrake
25
Summary: Multithreaded Video Transcoder
26
Version: 1.5.1
27
Release: 0
28
Url: http://handbrake.fr/
29
Source0: https://github.com/HandBrake/HandBrake/releases/download/%{version}/HandBrake-%{version}-source.tar.bz2
30
Source1: https://github.com/HandBrake/HandBrake/releases/download/%{version}/HandBrake-%{version}-source.tar.bz2.sig
31
Patch0: HandBrake-no-builddate.patch
32
Patch1: HandBrake-build-shared.patch
33
Patch2: HandBrake-metainfo.patch
34
Patch3: HandBrake-end-of-non-void-function.patch
35
License: GPL-2.0+
36
Group: Productivity/Multimedia/Video/Editors and Convertors
37
BuildRequires: autoconf
38
BuildRequires: automake
39
BuildRequires: cmake
40
BuildRequires: curl
41
BuildRequires: fdupes
42
BuildRequires: gcc
43
BuildRequires: gcc-c++
44
BuildRequires: intltool
45
BuildRequires: libtool
46
BuildRequires: make
47
BuildRequires: meson
48
BuildRequires: nasm
49
BuildRequires: python3
50
BuildRequires: subversion
51
BuildRequires: update-desktop-files
52
BuildRequires: wget
53
BuildRequires: glibc-devel
54
BuildRequires: libmp3lame-devel
55
BuildRequires: pkgconfig(bzip2)
56
BuildRequires: pkgconfig(dav1d)
57
BuildRequires: pkgconfig(dbus-glib-1)
58
BuildRequires: pkgconfig(dvdnav)
59
BuildRequires: pkgconfig(dvdread)
60
BuildRequires: pkgconfig(fdk-aac)
61
BuildRequires: pkgconfig(ffnvcodec)
62
BuildRequires: pkgconfig(gstreamer-1.0)
63
BuildRequires: pkgconfig(gstreamer-plugins-base-1.0)
64
BuildRequires: pkgconfig(gtk+-3.0) >= 3.10
65
BuildRequires: pkgconfig(gudev-1.0)
66
BuildRequires: pkgconfig(jansson)
67
BuildRequires: pkgconfig(libjpeg)
68
BuildRequires: pkgconfig(libass)
69
BuildRequires: pkgconfig(libavcodec) >= 58
70
BuildRequires: pkgconfig(libavfilter) >= 7
71
BuildRequires: pkgconfig(libavformat) >= 58
72
BuildRequires: pkgconfig(libavresample) >= 4
73
BuildRequires: pkgconfig(libavutil) >= 56
74
BuildRequires: pkgconfig(libbluray) >= 1.0.2
75
BuildRequires: pkgconfig(libdrm)
76
BuildRequires: pkgconfig(libmpeg2)
77
BuildRequires: pkgconfig(libswscale) >= 5
78
BuildRequires: pkgconfig(libnotify)
79
BuildRequires: pkgconfig(librsvg-2.0)
80
BuildRequires: pkgconfig(libxml-2.0)
81
BuildRequires: pkgconfig(opus)
82
BuildRequires: pkgconfig(samplerate)
83
BuildRequires: pkgconfig(speex)
84
BuildRequires: pkgconfig(theora)
85
BuildRequires: pkgconfig(vorbis)
86
BuildRequires: pkgconfig(vpx) >= 1.4
87
BuildRequires: pkgconfig(x264)
88
BuildRequires: pkgconfig(x265)
89
BuildRequires: pkgconfig(zimg)
90
%if %{with qsv}
91
BuildRequires: pkgconfig(libmfx)
92
BuildRequires: pkgconfig(libva)
93
BuildRequires: pkgconfig(vpl)
94
%endif
95
%ifnarch %{arm}
96
BuildRequires: libnuma-devel
97
%else
98
BuildRequires: Mesa-libEGL1
99
BuildRequires: Mesa-libEGL-devel
100
%endif
101
102
%description
103
HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video
104
transcoder.
105
106
%package cli
107
Summary: Multithreaded Video Transcoder
108
Group: Productivity/Multimedia/Video/Editors and Convertors
109
110
%description cli
111
HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video
112
transcoder.
113
114
This package contains a command-line interface for Handbrake.
115
116
%package gtk
117
Summary: Multithreaded Video Transcoder
118
Group: Productivity/Multimedia/Video/Editors and Convertors
119
Recommends: handbrake-gtk-lang = %{version}-%{release}
120
121
%description gtk
122
HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video
123
transcoder.
124
125
This package contains a GTK+ graphical user interface for Handbrake.
126
127
%lang_package -n handbrake-gtk
128
129
%prep
130
%setup -q -n HandBrake-%{version}
131
%patch -P 0 -p0
132
%patch -P 1 -p0
133
%if 0%{?sle_version} == 150200 && 0%{?is_opensuse}
134
%patch -P 2 -p1
135
%endif
136
%patch -P 3 -p0
137
138
%build
139
export CFLAGS="%{optflags} -fno-strict-aliasing -Wno-unused -I%{_includedir}/ffmpeg"
140
export CXXFLAGS="$CFLAGS -Wno-reorder"
141
export PATH="%{_builddir}/HandBrake-%{version}/build/contrib/bin:$PATH"
142
143
# try to remove build date from binaries... -- seife+obs@b1-systems.com
144
PKGDATE=$(date -r %{_sourcedir}/handbrake.changes +%%Y%%m%%d)
145
sed -i -e "s/@BUILD@/$PKGDATE/" make/configure.py
146
147
mkdir build
148
%configure --force \
149
--build="$PWD/build" \
150
--prefix=%{_prefix} \
151
--strip="/bin/true" \
152
--optimize=speed \
153
--enable-fdk-aac \
154
%if %{with qsv}
155
--enable-qsv \
156
%endif
157
%ifarch %{arm}
158
--disable-numa \
159
%endif
160
--enable-asm \
161
--debug=max
162
163
pushd build
164
make libhb/handbrake/project.h
165
%make_build
166
popd
167
168
%install
169
%makeinstall -C build
170
171
ln -svfb ghb %{buildroot}%{_bindir}/HandBrakeGUI
172
173
%suse_update_desktop_file -r fr.handbrake.ghb AudioVideo AudioVideoEditing
174
175
# -f because it might not be there if built without gtk...
176
rm -vf "%{buildroot}%{_datadir}/icons"/*/*.cache
177
178
%find_lang ghb
179
180
%fdupes %{buildroot}
181
182
%files cli
183
%doc NEWS.markdown THANKS.markdown
184
%license COPYING
185
%{_bindir}/HandBrakeCLI
186
187
%files gtk
188
%doc NEWS.markdown THANKS.markdown
189
%license COPYING
190
%{_bindir}/HandBrakeGUI
191
%{_bindir}/ghb
192
%{_datadir}/applications/fr.handbrake.ghb.desktop
193
%{_datadir}/icons/*/*/apps/hb-icon.*
194
%{_datadir}/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg
195
%if 0%{?sle_version} == 150200 && 0%{?is_opensuse}
196
%{_datadir}/metainfo/fr.handbrake.ghb.appdata.xml
197
%else
198
%{_datadir}/metainfo/fr.handbrake.ghb.metainfo.xml
199
%endif
200
201
%files -n handbrake-gtk-lang -f ghb.lang
202
203
%changelog
204