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