Projects
home:frispete
HandBrake
HandBrake.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File HandBrake.spec of Package HandBrake
# # spec file for package HandBrake # # Copyright (c) 2012 Pascal Bleser <pascal.bleser@opensuse.org> # Copyright (c) 2014 B1 Systems GmbH, Vobhurg, Germany # Copyright (c) 2019-2022 LISA GmbH, Bingen, Germany # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %ifarch x86_64 %bcond_without qsv %endif Name: HandBrake Summary: Multithreaded Video Transcoder Version: 1.6.0 Release: 0 Url: http://handbrake.fr/ Source0: %{name}-%{version}.tar.xz Source1: download.tar.xz Source2: pre_checkin.sh Source3: version.txt Patch0: HandBrake-end-of-non-void-function.patch License: GPL-2.0+ Group: Productivity/Multimedia/Video/Editors and Convertors BuildRequires: autoconf BuildRequires: automake BuildRequires: cmake BuildRequires: curl BuildRequires: fdupes BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: intltool BuildRequires: libtool BuildRequires: make BuildRequires: meson BuildRequires: nasm BuildRequires: python3 BuildRequires: subversion BuildRequires: update-desktop-files BuildRequires: wget BuildRequires: glibc-devel BuildRequires: libmp3lame-devel BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(dvdnav) BuildRequires: pkgconfig(dvdread) BuildRequires: pkgconfig(ffnvcodec) BuildRequires: pkgconfig(gstreamer-1.0) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) BuildRequires: pkgconfig(gtk+-3.0) >= 3.10 BuildRequires: pkgconfig(gudev-1.0) BuildRequires: pkgconfig(jansson) BuildRequires: pkgconfig(libass) BuildRequires: pkgconfig(libbluray) >= 1.0.2 BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(liblzma) BuildRequires: pkgconfig(libnotify) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(samplerate) BuildRequires: pkgconfig(speex) BuildRequires: pkgconfig(theora) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(vpx) >= 1.4 BuildRequires: pkgconfig(webkit2gtk-4.0) BuildRequires: pkgconfig(x264) %if %{with qsv} BuildRequires: pkgconfig(libmfx) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(vpl) %endif %ifnarch %{arm} BuildRequires: libnuma-devel %else BuildRequires: Mesa-libEGL1 BuildRequires: Mesa-libEGL-devel %endif %description HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video transcoder. %package cli Summary: Multithreaded Video Transcoder Group: Productivity/Multimedia/Video/Editors and Convertors Provides: handbrake-cli = %{version} Obsoletes: handbrake-cli < %{version} %description cli HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video transcoder. This package contains a command-line interface for Handbrake. %package gtk Summary: Multithreaded Video Transcoder Group: Productivity/Multimedia/Video/Editors and Convertors Recommends: %{name}-gtk-lang = %{version}-%{release} Provides: handbrake-gtk = %{version} Obsoletes: handbrake-gtk < %{version} %description gtk HandBrake is an open-source, GPL-licensed, multiplatform, multithreaded video transcoder. This package contains a GTK+ graphical user interface for Handbrake. %lang_package -n %{name}-gtk %prep %setup -q -n %{name}-%{version} -a 1 %patch0 -p0 cp -vp %{SOURCE3} . # disable contrib parts, that we provide externally # beware: avoid omitting libs, if ghb uses patched versions (ffmpeg) # or does build them in specific ways (x265) for lib in libbluray libdvdnav libdvdread do sed -i "/MODULES.*$lib/d" make/include/main.defs rm -rf contrib/$lib done # remove stray build folder rm -rf build %build # the contrib libraries doesn't like LTO bindings %define _lto_cflags %{nil} export CFLAGS="%{optflags} -fno-strict-aliasing -Wno-unused" export CXXFLAGS="$CFLAGS -Wno-reorder" export PATH="%{_builddir}/%{name}-%{version}/build/contrib/bin:$PATH" ./configure \ --prefix=%{_prefix} \ --optimize=speed \ --enable-fdk-aac \ --enable-x265 \ --enable-nvenc \ %if %{with qsv} --enable-qsv \ %endif %ifarch %{arm} --enable-numa \ %endif --debug=max \ --launch-jobs=$(nproc) # don't redefine _FORTIFY_SOURCE; we define _FORTIFY_SOURCE=3 via CFLAGS already sed -i 's: -D_FORTIFY_SOURCE=2::g' make/include/gcc.defs pushd build make -j$(nproc) popd %install %makeinstall -C build ln -sfvb ghb %{buildroot}%{_bindir}/HandBrakeGUI %suse_update_desktop_file -r fr.handbrake.ghb AudioVideo AudioVideoEditing # -f because it might not be there if built without gtk... rm -vf "%{buildroot}%{_datadir}/icons"/*/*.cache %find_lang ghb %fdupes %{buildroot} %files cli %defattr(-,root,root) %license COPYING %doc *.markdown *.md %{_bindir}/HandBrakeCLI %files gtk %defattr(-,root,root) %license COPYING %doc *.markdown *.md %{_bindir}/HandBrakeGUI %{_bindir}/ghb %{_datadir}/applications/fr.handbrake.ghb.desktop %{_datadir}/icons/*/*/apps/hb-icon.* %{_datadir}/icons/hicolor/scalable/apps/fr.handbrake.ghb.svg %{_datadir}/metainfo/fr.handbrake.ghb.metainfo.xml %files -n %{name}-gtk-lang -f ghb.lang %changelog
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.