Projects
Extra
chromium-ffmpeg-extra
chromium-ffmpeg-extra.spec
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium-ffmpeg-extra.spec of Package chromium-ffmpeg-extra (Revision 19)
Currently displaying revision
19
,
Show latest
# # spec file for package chromium-ffmpeg-extra # # Copyright (c) 2021 SUSE LLC # # 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 https://bugs.opensuse.org/ # %define rname chromium # bsc#1108175 %define __provides_exclude ^lib.*\\.so.*$ %if 0%{?suse_version} > 1500 %bcond_without system_icu %bcond_with system_vpx %else %bcond_with system_icu %bcond_with system_vpx %endif %if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150200 %bcond_without system_harfbuzz %bcond_without pipewire %else %bcond_with system_harfbuzz %bcond_with pipewire %endif %ifarch %{arm} aarch64 %bcond_with swiftshader %else %bcond_without swiftshader %endif %bcond_with lto %bcond_without clang Name: chromium-ffmpeg-extra Version: 94.0.4606.81 Release: 0 Summary: Extra ffmpeg codecs for browsers based on Chromium License: BSD-3-Clause AND LGPL-2.1-or-later URL: https://www.chromium.org/ Source0: https://commondatastorage.googleapis.com/chromium-browser-official/%{rname}-%{version}.tar.xz Source1: README.SUSE Source2: https://github.com/google/highway/archive/refs/tags/0.12.2.tar.gz#/highway-0.12.2.tar.gz # Toolchain definitions Source30: master_preferences Source104: chromium-symbolic.svg # https://github.com/chromium/chromium/tree/%{version}/chrome/installer/linux/common/installer.include Source105: INSTALL.sh # Patch0: chromium-libusb_interrupt_event_handler.patch # PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059] Patch1: exclude_ymp.patch # PATCH-FIX-OPENSUSE enables reading of the master preference Patch2: chromium-master-prefs-path.patch # PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin Patch3: fix_building_widevinecdm_with_chromium.patch Patch4: chromium-buildname.patch Patch5: chromium-system-libusb.patch Patch6: gcc-enable-lto.patch # Do not use unrar code, it is non-free Patch7: chromium-norar.patch # revert location on old GCC on 15.1, 15.2 gets it right tho Patch8: no-location-leap151.patch Patch9: system-libdrm.patch Patch10: chromium-disable-parallel-gold.patch Patch11: chromium-lp151-old-drm.patch # gentoo/fedora/arch patchset Patch12: chromium-78-protobuf-RepeatedPtrField-export.patch Patch13: chromium-80-QuicStreamSendBuffer-deleted-move-constructor.patch Patch15: chromium-94-compiler.patch Patch17: chromium-86-ImageMemoryBarrierData-init.patch Patch18: chromium-86-nearby-explicit.patch Patch19: chromium-86-nearby-include.patch Patch20: chromium-86-f_seal.patch Patch21: chromium-gcc11.patch Patch25: chromium-90-fseal.patch Patch29: chromium-93-EnumTable-crash.patch Patch31: chromium-89-missing-cstring-header.patch Patch36: chromium-90-ruy-include.patch Patch40: chromium-91-java-only-allowed-in-android-builds.patch Patch44: chromium-91-libyuv-aarch64.patch Patch46: chromium-91-sql-standard-layout-type.patch Patch50: chromium-clang-nomerge.patch Patch51: chromium-glibc-2.34.patch Patch62: chromium-93-ffmpeg-4.4.patch Patch63: chromium-ffmpeg-lp152.patch Patch64: chromium-94-CustomSpaces-include.patch Patch65: chromium-94-sql-no-assert.patch Patch67: chromium-older-harfbuzz.patch Patch69: chromium-93-InkDropHost-crash.patch # Google seem not too keen on merging this but GPU accel is quite important # https://chromium-review.googlesource.com/c/chromium/src/+/532294 # https://github.com/saiarcot895/chromium-ubuntu-build/tree/master/debian/patches # Recreated from scratch to be smaller and use system the orginal switches # (default on) compared to the PR Patch100: chromium-vaapi.patch Patch101: chromium-86-fix-vaapi-on-intel.patch # PATCH-FIX-SUSE: allow prop codecs to be set with chromium branding Patch102: chromium-prop-codecs.patch BuildRequires: SDL-devel BuildRequires: bison BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: elfutils BuildRequires: fdupes BuildRequires: flex BuildRequires: gn >= 0.1807 BuildRequires: gperf BuildRequires: hicolor-icon-theme # Java used during build BuildRequires: java-openjdk-headless BuildRequires: libcap-devel BuildRequires: libdc1394 BuildRequires: libgcrypt-devel BuildRequires: libgsm-devel BuildRequires: libjpeg-devel >= 8.1 BuildRequires: libpng-devel BuildRequires: memory-constraints BuildRequires: nasm BuildRequires: ncurses-devel BuildRequires: ninja >= 1.7.2 BuildRequires: nodejs >= 8.0 BuildRequires: pam-devel BuildRequires: pkgconfig BuildRequires: python BuildRequires: python3 BuildRequires: python3-setuptools BuildRequires: snappy-devel BuildRequires: update-desktop-files BuildRequires: util-linux BuildRequires: wdiff BuildRequires: perl(Switch) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(cairo) >= 1.6 BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(dirac) >= 1.0.0 BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(expat) BuildRequires: pkgconfig(flac++) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gbm) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(hunspell) BuildRequires: pkgconfig(imlib2) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(kadm-client) BuildRequires: pkgconfig(kdb) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavformat) >= 58 BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libdc1394-2) BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libelf) BuildRequires: pkgconfig(libevent) BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libpci) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libssl) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libwebp) >= 0.4.0 BuildRequires: pkgconfig(libxml-2.0) >= 2.9.5 BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(minizip) BuildRequires: pkgconfig(nspr) >= 4.9.5 BuildRequires: pkgconfig(nss) >= 3.26 BuildRequires: pkgconfig(ogg) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(opus) >= 1.3.1 BuildRequires: pkgconfig(python3) BuildRequires: pkgconfig(re2) BuildRequires: pkgconfig(schroedinger-1.0) BuildRequires: pkgconfig(slang) BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(theora) >= 1.1 BuildRequires: pkgconfig(vdpau) BuildRequires: pkgconfig(vorbis) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcb-dri3) BuildRequires: pkgconfig(xcb-proto) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xshmfence) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) Requires: xdg-utils Requires(pre): permissions # no 32bit supported and it takes ages to build ExclusiveArch: x86_64 aarch64 riscv64 %if 0%{?suse_version} <= 1500 BuildRequires: pkgconfig(glproto) %endif %if %{with pipewire} BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: pkgconfig(libspa-0.2) %endif %if %{with system_harfbuzz} BuildRequires: pkgconfig(harfbuzz) > 2.3.0 %endif %if %{with system_icu} BuildRequires: pkgconfig(icu-i18n) >= 67.0 %endif %if %{with system_vpx} BuildRequires: pkgconfig(vpx) >= 1.8.2 %endif %if %{with clang} BuildRequires: clang BuildRequires: lld BuildRequires: llvm %else BuildRequires: binutils-gold %if %{?suse_version} > 1500 BuildRequires: gcc >= 10 BuildRequires: gcc-c++ >= 10 %else BuildRequires: gcc10 BuildRequires: gcc10-c++ %endif %endif %description This package contains proprietary codecs needed for the HTML5 (audio and video tags). %prep %ifarch aarch64 %setup -q -T -D -b2 -n highway-0.12.2 %endif %setup -q -n %{rname}-%{version} %autopatch -p1 %build %ifarch aarch64 rm -rf third_party/highway/src/* mv ../highway-0.12.2/* third_party/highway/src %endif # Fix the path to nodejs binary mkdir -p third_party/node/linux/node-linux-x64/bin ln -s %{_bindir}/node third_party/node/linux/node-linux-x64/bin/node rm buildtools/third_party/eu-strip/bin/eu-strip ln -s %{_bindir}/eu-strip buildtools/third_party/eu-strip/bin/eu-strip # python3 mkdir $HOME/bin export PYTHON=python3 ln -sfn %{_bindir}/$PYTHON $HOME/bin/python export PATH="$HOME/bin/:$PATH" # Remove bundled libs keeplibs=( base/third_party/cityhash base/third_party/double_conversion base/third_party/dynamic_annotations base/third_party/icu base/third_party/nspr base/third_party/superfasthash base/third_party/symbolize base/third_party/valgrind base/third_party/xdg_mime base/third_party/xdg_user_dirs buildtools/third_party/libc++ buildtools/third_party/libc++abi buildtools/third_party/libunwind buildtools/third_party/eu-strip chrome/third_party/mozilla_security_manager courgette/third_party net/third_party/mozilla_security_manager net/third_party/nss net/third_party/quic net/third_party/uri_template third_party/abseil-cpp third_party/angle third_party/angle/src/common/third_party/base third_party/angle/src/common/third_party/smhasher third_party/angle/src/common/third_party/xxhash third_party/angle/src/third_party/libXNVCtrl third_party/angle/src/third_party/trace_event third_party/angle/src/third_party/volk third_party/apple_apsl third_party/axe-core third_party/blink third_party/boringssl third_party/boringssl/src/third_party/fiat third_party/breakpad third_party/breakpad/breakpad/src/third_party/curl third_party/brotli third_party/catapult third_party/catapult/common/py_vulcanize/third_party/rcssmin third_party/catapult/common/py_vulcanize/third_party/rjsmin third_party/catapult/third_party/beautifulsoup4 third_party/catapult/third_party/html5lib-1.1/ third_party/catapult/third_party/html5lib-python third_party/catapult/third_party/polymer third_party/catapult/third_party/six third_party/catapult/tracing/third_party/d3 third_party/catapult/tracing/third_party/gl-matrix third_party/catapult/tracing/third_party/jpeg-js third_party/catapult/tracing/third_party/jszip third_party/catapult/tracing/third_party/mannwhitneyu third_party/catapult/tracing/third_party/oboe third_party/catapult/tracing/third_party/pako third_party/ced third_party/cld_3 third_party/closure_compiler third_party/crashpad third_party/crashpad/crashpad/third_party/lss third_party/crashpad/crashpad/third_party/zlib third_party/crc32c third_party/cros_system_api third_party/dav1d third_party/dawn third_party/dawn/third_party third_party/dawn/third_party/tint/src/ast third_party/depot_tools third_party/depot_tools/third_party/six third_party/devscripts third_party/devtools-frontend third_party/devtools-frontend/src/front_end/third_party/acorn third_party/devtools-frontend/src/front_end/third_party/axe-core third_party/devtools-frontend/src/front_end/third_party/chromium third_party/devtools-frontend/src/front_end/third_party/codemirror third_party/devtools-frontend/src/front_end/third_party/diff third_party/devtools-frontend/src/front_end/third_party/i18n third_party/devtools-frontend/src/front_end/third_party/intl-messageformat third_party/devtools-frontend/src/front_end/third_party/lighthouse third_party/devtools-frontend/src/front_end/third_party/lit-html third_party/devtools-frontend/src/front_end/third_party/lodash-isequal third_party/devtools-frontend/src/front_end/third_party/marked third_party/devtools-frontend/src/front_end/third_party/puppeteer third_party/devtools-frontend/src/front_end/third_party/wasmparser third_party/devtools-frontend/src/third_party third_party/devtools-frontend/src/test/unittests/front_end/third_party/i18n third_party/dom_distiller_js third_party/eigen3 third_party/emoji-segmenter third_party/farmhash third_party/fdlibm third_party/fft2d third_party/flatbuffers third_party/fusejs/dist third_party/gemmlowp third_party/google_input_tools third_party/google_input_tools/third_party/closure_library third_party/google_input_tools/third_party/closure_library/third_party/closure third_party/googletest third_party/harfbuzz-ng/utils third_party/highway third_party/hunspell third_party/iccjpeg third_party/inspector_protocol third_party/jinja2 third_party/jsoncpp third_party/jstemplate third_party/khronos third_party/leveldatabase third_party/libaddressinput third_party/libaom third_party/libaom/source/libaom/third_party/fastfeat third_party/libaom/source/libaom/third_party/vector third_party/libaom/source/libaom/third_party/x86inc third_party/libavif third_party/libgav1 third_party/libgifcodec third_party/libjingle third_party/libjxl third_party/libphonenumber third_party/libsecret third_party/libsrtp third_party/libsync third_party/libudev third_party/liburlpattern third_party/libva_protected_content third_party/libwebm third_party/libx11/src third_party/libxcb-keysyms/keysyms third_party/libxml/chromium third_party/libXNVCtrl third_party/libyuv third_party/libzip third_party/lottie third_party/lss third_party/lzma_sdk third_party/mako third_party/markupsafe third_party/mesa third_party/metrics_proto third_party/minigbm third_party/modp_b64 third_party/nasm third_party/nearby third_party/node third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2 third_party/one_euro_filter third_party/opencv third_party/openscreen third_party/openscreen/src/third_party/mozilla third_party/openscreen/src/third_party/tinycbor/src/src third_party/ots third_party/pdfium third_party/pdfium/third_party/agg23 third_party/pdfium/third_party/base third_party/pdfium/third_party/bigint third_party/pdfium/third_party/freetype third_party/pdfium/third_party/lcms third_party/pdfium/third_party/libopenjpeg20 third_party/pdfium/third_party/libpng16 third_party/pdfium/third_party/libtiff third_party/pdfium/third_party/skia_shared third_party/perfetto third_party/perfetto/protos/third_party/chromium third_party/pffft third_party/ply third_party/polymer third_party/private-join-and-compute third_party/private_membership third_party/protobuf third_party/protobuf/third_party/six third_party/pyjson5 third_party/qcms third_party/rnnoise third_party/ruy third_party/s2cellid third_party/securemessage third_party/shell-encryption third_party/simplejson third_party/skia third_party/skia/include/third_party/skcms/ third_party/skia/include/third_party/vulkan/ third_party/skia/third_party/skcms third_party/skia/third_party/vulkan third_party/smhasher third_party/sqlite third_party/swiftshader third_party/swiftshader/third_party/astc-encoder third_party/swiftshader/third_party/llvm-10.0 third_party/swiftshader/third_party/llvm-subzero third_party/swiftshader/third_party/marl third_party/swiftshader/third_party/SPIRV-Headers/include/spirv/unified1 third_party/swiftshader/third_party/subzero third_party/tensorflow-text third_party/tflite third_party/tflite/src/third_party/eigen3 third_party/tflite/src/third_party/fft2d third_party/tflite-support third_party/ukey2 third_party/usrsctp third_party/utf third_party/vulkan third_party/wayland third_party/web-animations-js third_party/webdriver third_party/webgpu-cts third_party/webrtc third_party/webrtc/common_audio/third_party/ooura third_party/webrtc/common_audio/third_party/spl_sqrt_floor third_party/webrtc/modules/third_party/fft third_party/webrtc/modules/third_party/g711 third_party/webrtc/modules/third_party/g722 third_party/webrtc/rtc_base/third_party/base64 third_party/webrtc/rtc_base/third_party/sigslot third_party/widevine third_party/woff2 third_party/wuffs third_party/x11proto third_party/xcbproto third_party/zlib/google third_party/zxcvbn-cpp url/third_party/mozilla v8/src/third_party/siphash v8/src/third_party/utf8-decoder v8/src/third_party/valgrind v8/third_party/inspector_protocol v8/third_party/v8/builtins ) %if !%{with system_harfbuzz} keeplibs+=( third_party/freetype third_party/harfbuzz-ng ) %endif %if !%{with system_icu} keeplibs+=( third_party/icu ) %endif keeplibs+=( third_party/ffmpeg ) %if !%{with system_vpx} keeplibs+=( third_party/libvpx third_party/libvpx/source/libvpx/third_party/x86inc ) %endif # needed due to bugs in GN keeplibs+=( third_party/speech-dispatcher third_party/usb_ids third_party/xdg-utils ) build/linux/unbundle/remove_bundled_libraries.py "${keeplibs[@]}" --do-remove # GN sets lto on its own and we need just ldflag options, not cflags %define _lto_cflags %{nil} %if %{with clang} export CC=clang export CXX=clang++ export AR=llvm-ar export NM=llvm-nm %else export AR=ar export NM=nm %if 0%{?suse_version} <= 1500 export CC=gcc-10 export CXX=g++-10 # some still call gcc/g++ ln -sfn %{_bindir}/$CC $HOME/bin/gcc ln -sfn %{_bindir}/$CXX $HOME/bin/g++ export PATH="$HOME/bin/:$PATH" %else export CC=gcc export CXX=g++ %endif %endif # REDUCE DEBUG as it gets TOO large ARCH_FLAGS="`echo %{optflags} | sed -e 's/^-g / /g' -e 's/ -g / /g' -e 's/ -g$//g'`" export CXXFLAGS="${ARCH_FLAGS} -Wno-return-type" # extra flags to reduce warnings that aren't very useful export CXXFLAGS="${CXXFLAGS} -Wno-pedantic -Wno-unused-result -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations" # ignore warnings for minor mistakes that are too common export CXXFLAGS="${CXXFLAGS} -Wno-return-type -Wno-parentheses -Wno-misleading-indentation" # ignore warnings that are not supported well until gcc 8 export CXXFLAGS="${CXXFLAGS} -Wno-attributes" # ignore warnings due to gcc bug (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84055) export CXXFLAGS="${CXXFLAGS} -Wno-ignored-attributes" # ingore new gcc 8 warnings that aren't yet handled upstream export CXXFLAGS="${CXXFLAGS} -Wno-address -Wno-dangling-else" # for wayland export CXXFLAGS="${CXXFLAGS} -I/usr/include/wayland -I/usr/include/libxkbcommon" %if %{with clang} export LDFLAGS="${LDFLAGS} -Wl,--build-id=sha1" %endif %ifarch aarch64 %if %{without clang} export CXXFLAGS="${CXXFLAGS} -flax-vector-conversions" %else %if 0%{?sle_version} == 150200 export CXXFLAGS="${CXXFLAGS} -flax-vector-conversions" %else export CXXFLAGS="${CXXFLAGS} -flax-vector-conversions=all" %endif %endif %endif %if %{without clang} export CXXFLAGS="${CXXFLAGS} -Wno-unused-but-set-variable -Wno-packed-not-aligned" %endif export CFLAGS="${CXXFLAGS}" %if %{without clang} export CXXFLAGS="${CXXFLAGS} -Wno-subobject-linkage -Wno-class-memaccess" %endif export CXXFLAGS="${CXXFLAGS} -Wno-invalid-offsetof -fpermissive" # do not eat all memory %limit_build -m 2600 %if %{with lto} && %{without clang} # reduce the threads for linking even more due to LTO eating ton of memory _link_threads=$(((%{jobs} - 2))) test "$_link_threads" -le 0 && _link_threads=1 export LDFLAGS="-flto=$_link_threads --param lto-max-streaming-parallelism=1" %endif # Set system libraries to be used gn_system_libraries=( flac fontconfig libdrm libevent libjpeg libpng libxslt libusb libwebp libxml opus re2 snappy zlib ) %if %{with system_harfbuzz} gn_system_libraries+=( harfbuzz-ng freetype ) %endif %if %{with system_icu} gn_system_libraries+=( icu ) %endif %if %{with system_vpx} gn_system_libraries+=( libvpx ) %endif build/linux/unbundle/replace_gn_files.py --system-libraries ${gn_system_libraries[@]} # Create the configuration for GN # Available options: out/Release/gn args --list out/Release/ myconf_gn="" myconf_gn+=" custom_toolchain=\"//build/toolchain/linux/unbundle:default\"" myconf_gn+=" host_toolchain=\"//build/toolchain/linux/unbundle:default\"" myconf_gn+=" use_custom_libcxx=false" %ifarch x86_64 myconf_gn+=" host_cpu=\"x64\"" %endif %ifarch riscv64 myconf_gn+=" host_cpu=\"riscv64\"" %endif myconf_gn+=" host_os=\"linux\"" myconf_gn+=" is_debug=false" myconf_gn+=" enable_nacl=false" %if %{with swiftshader} myconf_gn+=" use_swiftshader_with_subzero=true" %endif myconf_gn+=" is_component_ffmpeg=true" myconf_gn+=" use_cups=true" myconf_gn+=" use_aura=true" myconf_gn+=" symbol_level=1" myconf_gn+=" blink_symbol_level=0" myconf_gn+=" use_kerberos=true" myconf_gn+=" enable_vr=false" myconf_gn+=" optimize_webui=false" myconf_gn+=" enable_reading_list=false" myconf_gn+=" use_pulseaudio=true link_pulseaudio=true" myconf_gn+=" is_component_build=false" myconf_gn+=" use_sysroot=false" myconf_gn+=" fatal_linker_warnings=false" myconf_gn+=" use_allocator=\"partition\"" myconf_gn+=" use_allocator_shim=true" myconf_gn+=" use_partition_alloc=true" myconf_gn+=" disable_fieldtrial_testing_config=true" myconf_gn+=" use_gnome_keyring=false" myconf_gn+=" use_unofficial_version_number=false" myconf_gn+=" use_vaapi=true" myconf_gn+=" use_sysroot=false" myconf_gn+=" treat_warnings_as_errors=false" myconf_gn+=" enable_widevine=true" myconf_gn+=" use_dbus=true" myconf_gn+=" media_use_openh264=false" myconf_gn+=" rtc_use_h264=false" myconf_gn+=" use_v8_context_snapshot=true" myconf_gn+=" v8_use_external_startup_data=true" # See dependency logic in third_party/BUILD.gn %if %{with system_harfbuzz} myconf_gn+=" use_system_harfbuzz=true" myconf_gn+=" use_system_freetype=true" %endif myconf_gn+=" enable_hangout_services_extension=true" myconf_gn+=" enable_vulkan=true" %if %{with pipewire} myconf_gn+=" rtc_use_pipewire=true rtc_link_pipewire=true" myconf_gn+=" rtc_pipewire_version=\"0.3\"" %endif %if %{with clang} myconf_gn+=" is_clang=true clang_base_path=\"/usr\" clang_use_chrome_plugins=false" %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300 myconf_gn+=" use_thin_lto=true" %endif myconf_gn+=" use_lld=true" %else myconf_gn+=" is_clang=false" myconf_gn+=" use_gold=true" %endif %if %{with lto} myconf_gn+=" gcc_lto=true" %endif %if %{with system_icu} myconf_gn+=" icu_use_data_file=false" %endif # The proprietary codecs just force the chromium to say they can use it and # offload the actual computation to the ffmpeg, otherwise the chromium # won't be able to load the codec even if the library can handle it myconf_gn+=" proprietary_codecs=true" myconf_gn+=" ffmpeg_branding=\"Chrome\"" %ifarch aarch64 myconf_gn+=" host_cpu=\"arm64\"" %endif # GN does not support passing cflags: # https://bugs.chromium.org/p/chromium/issues/detail?id=642016 gn gen --args="${myconf_gn}" out/Release # bundled xcb proto for python2 export PYTHONPATH="$PWD/xcb-proto-1.14${PYTHONPATH+:}${PYTHONPATH}" ninja -v %{?_smp_mflags} -C out/Release media/ffmpeg %install install -Dm0644 out/Release/libffmpeg.so %{buildroot}%{_libdir}/%{name}/libffmpeg.so # make it available for opera too mkdir -p %{buildroot}%{_libdir}/opera/lib_extra cd %{buildroot}%{_libdir}/opera/lib_extra ln -s ../../%{name}/libffmpeg.so . %files %doc AUTHORS LICENSE %dir %{_libdir}/%{name} %{_libdir}/%{name}/libffmpeg.so %dir %{_libdir}/opera %dir %{_libdir}/opera/lib_extra %{_libdir}/opera/lib_extra/libffmpeg.so %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
.