File bomi.spec of Package Bomi
#
# spec file for package bomi
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, 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/
#
Name: bomi
Version: 0.9.11
Release: 79.4
Summary: Powerful and easy-to-use multimedia player
# MPL.txt is for libchardet which is in a separate package.
License: GPL-2.0+ and BSD-3-Clause
Group: Productivity/Multimedia/Sound/Players
Url: https://bomi-player.github.io/
#Source: https://github.com/xylosper/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source: %{name}-%{version}_vdpau.tar.gz
#Source: bomi-master.tar.gz
# PATCH-FIX-UPSTREAM bomi-compilation-fix.patch sor.alexei@meowr.ru -- Fix bomi compilation.
Patch0: %{name}-compilation-fix.patch
# PATCH-FIX-UPSTREAM bomi-mpv-ffmpeg-3.0.patch sor.alexei@meowr.ru -- Fix MPV build with FFmpeg 3.0.
Patch1: %{name}-mpv-fix-ffmpeg-3.0.patch
Patch2: bomi-builddate.patch
Patch3: qml_internal_types.patch
#Patch4: upgrade_waf.patch
Patch5: fix_compilation_error_from_ffmpeg_change.patch
BuildRequires: fdupes
BuildRequires: hicolor-icon-theme
BuildRequires: libqt5-linguist
BuildRequires: pkgconfig
BuildRequires: libvdpau-devel libva-vdpau-driver
BuildRequires: linux-glibc-devel
# waf is written in Python 2.x.
BuildRequires: python
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(Qt5Core) >= 5.2
BuildRequires: pkgconfig(Qt5DBus) >= 5.2
BuildRequires: pkgconfig(Qt5Gui) >= 5.2
BuildRequires: pkgconfig(Qt5Network) >= 5.2
BuildRequires: pkgconfig(Qt5Quick) >= 5.2
BuildRequires: pkgconfig(Qt5Sql) >= 5.2
BuildRequires: pkgconfig(Qt5Svg) >= 5.2
BuildRequires: pkgconfig(Qt5Widgets) >= 5.2
BuildRequires: pkgconfig(Qt5X11Extras) >= 5.2
BuildRequires: pkgconfig(Qt5Xml) >= 5.2
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(bzip2)
BuildRequires: pkgconfig(chardet)
BuildRequires: pkgconfig(dvdnav)
BuildRequires: pkgconfig(dvdread)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(jack)
BuildRequires: pkgconfig(libass) >= 0.12.1
BuildRequires: pkgconfig(libavcodec) >= 57.107.100
BuildRequires: pkgconfig(libavfilter) >= 6.107.100
BuildRequires: pkgconfig(libavformat) >= 57.83.100
BuildRequires: pkgconfig(libavutil) >= 55.78.100
BuildRequires: pkgconfig(libbluray)
BuildRequires: pkgconfig(libcdio)
BuildRequires: pkgconfig(libcdio_cdda)
BuildRequires: pkgconfig(libcdio_paranoia)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libswresample) >= 2.9.100
BuildRequires: pkgconfig(libswscale) >= 4.8.100
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libva)
BuildRequires: pkgconfig(libva-glx)
BuildRequires: pkgconfig(libva-x11)
BuildRequires: pkgconfig(smbclient)
BuildRequires: pkgconfig(vdpau)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-randr)
BuildRequires: pkgconfig(xcb-screensaver)
BuildRequires: pkgconfig(xcb-xtest)
# Wayland
BuildRequires: pkgconfig(libva-wayland)
BuildRequires: pkgconfig(wayland-egl)
#
Requires: libqt5-qtquickcontrols
# Streaming support for Dailymotion, YouTube, etc.
Recommends: youtube-dl
%if 0%{?suse_version} > 1320
BuildRequires: gcc-c++
%else
%if 0%{?sle_version} == 120200
# Leap 42.2
BuildRequires: gcc6-c++
%else
# Leap 42.3+ / SLE12SP3Backports
BuildRequires: gcc10-c++
%endif
%endif
%description
bomi is a themable Qt-based multimedia player based on the MPV
video backend which is aimed for easy usage but also provides
various powerful features and convenience functions.
%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
#%patch4 -p1
%patch5 -p1
%build
mkdir dummy
pushd $_
tee svg_dummy.pro <<_EOF_
SOURCES = main.cpp
QT += svg
QMAKE_CFLAGS += \$(EXTRA_CFLAGS)
QMAKE_CXXFLAGS += \$(EXTRA_CXXFLAGS)
TEMPLATE = app
target.path += %{_libexecdir}/%{name}/bin
INSTALLS += target
_EOF_
tee main.cpp <<_EOF_
#include <QtSvg>
int main(void)
{
QSvgGenerator svg;
return 0;
}
_EOF_
qmake-qt5
make EXTRA_CXXFLAGS='%{optflags}'
readelf -Wa svg_dummy | grep NEED
popd
export CFLAGS="%{optflags}"
export CXXFLAGS="%{optflags}"
CC=gcc
test -x "$(type -p gcc-5)" && CC=gcc-5
test -x "$(type -p gcc-6)" && CC=gcc-6
test -x "$(type -p gcc-7)" && CC=gcc-7
./configure \
--release \
--cc=${CC} \
%{?jobs:--parallel=%{jobs}} \
--prefix=%{_prefix} \
--actiondir=%{_datadir}/solid/actions
make %{?_smp_mflags}
%install
pushd dummy
make \
STRIP=true \
INSTALL_ROOT='%{buildroot}' \
install
popd
make DEST_DIR=%{buildroot} install
%fdupes %{buildroot}%{_datadir}
%post
%desktop_database_post
%icon_theme_cache_post
%postun
%desktop_database_postun
%icon_theme_cache_postun
%files
%defattr(-,root,root)
%doc CHANGES.txt COPYING.txt CREDITS.txt GPL.txt README.md
%{_bindir}/%{name}
%{_libexecdir}/%{name}
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%{_mandir}/man?/%{name}.?%{?ext_man}
%dir %{_datadir}/solid/
%dir %{_datadir}/solid/actions/
%{_datadir}/solid/actions/*
%{_datadir}/bash-completion/completions/%{name}
%changelog
* Fri May 4 2018 olaf@aepfle.de
- Use ffmpeg3 versions of pkgconfig(libav*)
* Wed Jan 31 2018 olaf@aepfle.de
- Adjust usage of gccN-c++ for Leap42 and SLE12
* Tue Jun 6 2017 olaf@aepfle.de
- Adjust usage of gccN-c++ for Leap42 and SLE12
* Sat Feb 11 2017 olaf@aepfle.de
- Remove timestamp from binaries with bomi-builddate.patch
* Fri Jan 20 2017 olaf@aepfle.de
- Add dummy to pull in libQt5Svg.so
* Fri Jan 20 2017 olaf@aepfle.de
- Require libqt5-qtquickcontrols to get "QtQuick.Controls.Styles"
* Wed Jan 18 2017 olaf@aepfle.de
- Use gcc5 in SLE_12
* Wed Jun 29 2016 sor.alexei@meowr.ru
- Add bomi-mpv-ffmpeg-3.0.patch: fix MPV build with FFmpeg 3.0.
- Unforce FFmpeg 2.8.
* Sat Jun 25 2016 sor.alexei@meowr.ru
- Update bomi-compilation-fix.patch.
* Wed Feb 17 2016 olaf@aepfle.de
- Force ffmpeg 2.8.
* Thu Nov 12 2015 aloisio@gmx.com
- Fixed Leap 42.x build.
* Fri Jul 3 2015 sor.alexei@meowr.ru
- Use g++ for openSUSE later than 13.2.
* Thu May 21 2015 sor.alexei@meowr.ru
- Update to 0.9.11:
* New: save button for log viewer.
* New: dynamic range option for volume and use exponential scale by default.
* Fix: backport fix for wasting CPU.
* Fix: workaround for weird behavior of mouse event.
* Fix: add 'Ignore' for FPS in youtube-dl options.
* Fix: parse \N and \h properly for .srt.
* Fix: compile error if vdpau or vaapi are disabled.
* Fix: make URL edit get focus when URL dialog open.
* Fix: ignore SIGPIPE to prevent termination on reconnection for streaming.
* Fix: wrong icon of play/pause button for metro skin.
* Fix: enforce to update video renderer when window gets visible.
* Fix: ignore invalid URL for mime data.
* Fix: albumart image for mpris wasn't exported properly.
* Sat May 2 2015 sor.alexei@meowr.ru
- Update to 0.9.10:
* New: 'Open > From Clipboard' to open URL from clipboard data.
* New: 'Play > Streaming' Format to select YouTube format.
* New: options to select default format for youtube-dl script.
* New: option to save persitent data in application folder.
* New: crop functionality for video clip maker.
* New: options to configure preview size in Theme tab in
preferences.
* New: add playlist name filter for open/append file menus.
* New: handle cue sheet as playlist.
* Fix: prefer webm & small resolution format for preview.
* Fix: YouTube Live streaming didn't work.
* Fix: turn on OpenGL debugger when --debug option given.
* Fix: don't blend subtitle FBO when no subtitle exist.
* Fix: render video frame in scene graph thread.
* Fix: apply color matrix only if required.
* Fix: fps spin box wasn't enabled for Constant framerate.
* Fix: use original size FBO for bilinear scaler.
* Fix: codec options in video clip maker were not saved
properly.
* Fix: wrong termination of yle-dl before end of playback.
* Fix: disable resuming playbak/preview for yle-dl streaming.
* Fix: 'Video > Crop' was broken.
* Fix: some color picker buttons had wrong size in preferences
dialog.
* Fix: video preview was broken for disc playback.
* Fix: wrong name filter for playlist file.
* Fix: support fine-resolution wheels or touchpad.
* Fix: add extensions .ape, .it, .xm for audio files.
* Fix: add missing '.mod' extension for audio files.
* Fix: 'pause when hidden' was always applied all files.
* Fix: set maximum duration for animtion to show current playing
item in playlist.
- Remove waf source: bundled upstream.
* Sun Apr 26 2015 sor.alexei@meowr.ru
- Update to 0.9.9:
* New: Play > Seek > Previous Playback (#134)
* Fix: duplicated internal subtitle handling causes high CPU usage.
* Fix: crop paddings added by VDPAU for non-standard res. videos.
* Fix: Start/End time filters in subtitle viewer didn't follow
system palette.
* Fix: seeking in subtitle viewer was broken when captions are
filtered.
* Fix: 'Scroll to current time' in subtitle viewer was broken.
* Fix: wrong intial state for 'Show start/end time' in
Subtitle Viewer.
* Fix: adjust column widths for Start and End automatically in
Subtitle Viewer.
* Fix: wrong time text width for native skin.
* Sat Apr 25 2015 sor.alexei@meowr.ru
- Update to 0.9.8:
* New: Video > Quality Preset.
* New: Video > Rotate.
* New: Video > Interpolator (Downscale).
* New: Video > Make Vide Clip.
* Fix: wrong bitrate values for decoder.
* Fix: wrong window size hint when aspect ratio adjusted.
* Fix: display proper duration for DASH formats from YouTube.
* Fix: deadlock on execution when 'Unmute when volume adjusted'
enabled.
* Fix: keep session connected with opensubtitles.org.
* Fix: send mpris:artUrl metadata for MPRIS.
* Sun Apr 19 2015 sor.alexei@meowr.ru
- Update to 0.9.7:
* New: cache file related options in cache tab of preferences.
* New: implement display of cached state in demuxer in seek bar.
* New: internal title bar for frameless mode.
* New: visualization for audio.
* New: --set-subtitle option for command line to set subtitle
file.
* New: show history/playlist by clicking left/right edge.
* New: new option to unmute when volume adjusted.
* New: compact mode for Tethys skin.
* New: hide history/playlist by clicking empty space.
* New: skin 'metro' – Windows Modern UI style.
* New: Enter Fullscreen/Exit Fullscreen menu.
* Mod: use soft clipping by default.
* Fix: fit window size to rendering size when using window size
menu.
* Fix: wrong calculation of texture coordinate for video frame.
* Fix: prevent too high amplification by normalizer on start of
playback.
* Fix: don't reset normalizer history on seeking.
* Fix: set page step of radius slider to 1 in advanced
interpolation dialog.
* Fix: wrong path for open file from command line when launched
bomi not in PATH.
* Fix: don't hide history/playlist while scrollbar pressed.
* Fix: reduce delay for initial display of Preferences dialog
drastically.
* Fix: checking GL_RGBA16 for FBO texture format did not work.
* Fix: reduce width of playlist to fit to item name not location.
* Fix: do not disturb playback on loading skin.
* Fix: hide controls when cursor is located in history/playlist.
* Fix: adjust y-position of preview automatically.
* Fix: raise z-order of TimeSlider to prevent preview bein.
obstructed.
* Fix: metadata wasn't exposured to MPRIS.
* Fix: don't display preview when video is not available.
* Sun Apr 12 2015 sor.alexei@meowr.ru
- Update to 0.9.6:
* New: file name template for quick snapshot.
* New: 'Append Folder' for playlist.
* New: 'Open Folder' can open subfolders recursively.
* New: new default skin 'Tethys' designed by Kotus Works.
* New: 'Find by Name' and 'Find by Info' for find subtitles.
* New: starmark to indicate favorite/persistent item for history.
* New: 'Tool > Playlist > Regenerate' menu to regerate playlist.
* New: make TimeDuration interactive to display msec/remaining
time.
* New: 'Freya' skin by varlesh.
* New: 'Prefer external files to interanl tracks' option for
subtitle autoselction.
* New: options to show media title in name column of history.
* New: 'Show preview when mouse over seek bar' option in
preferences.
* New: 'Ask video quality' option for youtube-dl streaming in
preferences.
* New: 'Show hidden controls whenever mouse moved' option in
preferences.
* New: 'Video > Texture Format'.
* Mod: don't display zero hours(0:) in time texts.
* Mod: refine history/playlist design by Kotus Works.
* Fix: prompt message box when clearing history.
* Fix: failed to resolve skin path when launched in remote path.
* Fix: keep snapped state on edge on window size set by menu.
* Fix: don't resync on playback speed changed.
* Fix: channel manipulation options weren't restored.
* Fix: wrong volume value for MPRIS v2 interface.
* Fix: embedded albumart wasn't displayed on initail playback.
* Fix: display album art as 'Album Art' instead of 'Video Track'.
* Fix: audio file with albumart was recognized as video (#283).
* Fix: use GL_RGBA16 for fbo if supported by default.
* Fix: enable 'High Quality Upscaling' only if GL_RGBA16 fbo
supported.
* Fix: unsigned 8bit integer format for audio was disabled.
* Fix: alert if snapshot file is not wriable instead of silent
fail.
* Fix: sort playlist by full path not file name.
* Fix: wrong restoration for position of floating panel in skin.
* Thu Mar 26 2015 sor.alexei@meowr.ru
- Update to 0.9.5 (changes since 0.9.3):
* New: support millisecond precision for timeout to hide cursor.
* New: make windows size menus configurable.
* New: configure options --disable-vaapi, --disable-vdpau.
* New: improve audio volume normalizer.
* New: support some non-standard m3u playlist.
* New: restore previous window size for initial fullscreen state.
* New: selections for methods to disable screensaver.
* New: split overriding choices for ASS style into text
style/position/scale.
* Mod: drop mpg123 decoder.
* Mod: drop ICU dependency.
* Fix: Ok/Apply button wasn't enabled when channel manipulation
changed into default.
* Fix: some controls in 'Mouse cursor' group was always disabled.
* Fix: reduce file size of pref.json.
* Fix: don't hide floating controls while mouse hovering.
* Fix: tempo scaler was always turned on.
* Fix: media name in extended m3u wasn't displayed.
* Fix: wrong track name display in on-screen message.
* Fix: display track number when track title and language are
unavailable.
* Fix: subtitle downloader always indicated 50%% after
downloading is done.
* Fix: remove duplicated encodings.
* Fix: determine playlist from URL by mime type.
* Fix: volume slider of GaN skin didn't show the volume level.
* Fix: 'Select Next' for sub track didn't work properly.
* Fix: wrong video coordinate on toggling 'Window > Remove Frame'.
* Fix: remove margin around internal subtitle.
* Fix: ensure internal widget fit to window on initialization.
* Fix: save snapshot in separated thread to prevent interface
frozen.
* Fix: snapshot without subtitle didn't work.
* Fix: set LC_MESSAGES=C instead of LANG to test qmake/lrelease
version.
- Add bomi-compilation-fix.patch
* Sat Mar 7 2015 sor.alexei@meowr.ru
- Update to 0.9.3:
* New: display used encoding for subtitle file track in playinfo.
* New: '--dump-api-tree' and '--dump-action-list' command line
options.
* New: JSON-RPC interface.
* New: current deinterlacing method in playinfo.
* New: options to set general font and fixed-width font.
* New: 'Window > Remove Frame' for frameless(borderless) window.
* New: 'Subtitle > Subtitle Sync > Bring Previous/Next Subtitle'
menu.
* New: allow to map actions for left/right button click.
* New: ask username and password on permission denied for smb://.
* New: 'Subtitle > Subtitle Scale' menu to adjust font scale
during playback.
* New: 'Subtitle > Override ASS Style' menu.
* New: options to specify authentication info for samba.
* New: configurable step for 'move screen position'.
* New: 'Video > Zoom' menu.
* New: colour adjustment for RGB channel.
* New: video colour editor dialog.
* New: new skin 'air.'
* New: 'Est. Frame Number' item in playback information.
* New: aspect ratio is adjustable now.
* New: enable smbclient support(smb:// protocol).
* New: caption filter in subtitle viewer.
* New: checkbox to display time in milliseconds.
* New: language filter list for subtitle find dialog.
* New: reconstruct encoding list.
* New: reload file with specific encoding.
* New: seek by double clicking caption in subtitle viewer.
* New: accept non-media type URL by drag-and-drop.
* Mod: don't capitalize items in playinfo.
* Mod: drop LinearBlend and Median deinterlacer.
* Mod: drop libpostproc dependency.
* Mod: drop external command support to disable screensaver.
* Fix: prefer cp1250 to iso-8859-2 for autodetection.
* Fix: deselecting internal subtitle didn't work.
* Fix: wrong H/W Acc. state in playinfo.
* Fix: request _NET_WM_MOVERESIZE to window manager for
move-by-drag.
* Fix: unset pressed button on button released.
* Fix: display all selected subtitles in playinfo.
* Fix: Bob/LinearBob/CubicBob supports all pixel format now.
* Fix: top and bottom pixels was blinking with
Bob/LinearBob/CubicBob.
* Fix: subtitle position menu worked in opposite way.
* Fix: subtitle alignment wasn't kept after position changed.
* Fix: rename Input/Output/Renderer -> Decoder/Filter/Output.
* Fix: display package-bitrate for decoder input in playinfo.
* Fix: synchronize display order of menu in preference with
context menu.
* Fix: don't display logo during changing current media.
* Fix: don't display property OSD on intialization of new
playback.
* Fix: potential crash on changing subtitles.
* Fix: potential crash when parsing SAMI subtitles.
* Fix: crash on exiting while dialogs are open.
* Fix: subtitle viewer didn't work if it was open before start
playback.
* Fix: crash on reloading subtitle during subtitle viewer is
open.
* Fix: don't draw subtitles in snapshot when hidden.
* Fix: popup an error message for error on loading skin.
* Fix: disable IME on main window.
* Fix: pixel format mismatch which causes crash or deinterlacing
disabled.
* Fix: disc title wasn't restored.
* Fix: prevent interference from other applications using
PulseAudio.
* Fix: keep horizontal scroll bar position on auto scroll in
subtitle viewer.
* Fix: currupted font for current caption in subtitle viewer.
* Fix: prevent bad interfere from MPRIS and QML TimeSlider.
* Fix: save and restore states of subtitle find dialog and
subtitle viewer.
* Fix: show history/playlist after 200ms timeout when mouse
hovers on edge.
* Fix: keep 'default' shortcuts for unchanged shortcuts of
actions.
* Fix: display full URL for non-media type URL.
* Fix: display media name provided by youtube-dl.
* Fix: Ok/Apply wasn't activated for hwacc codec change.
* Thu Feb 12 2015 sor.alexei@meowr.ru
- Update to 0.9.2:
* New: new skin 'native' which supports native look & feel.
* New: display time on mouse position changed over time slider.
* Fix: chapter marker was not visible in GaN.
* Fix: some menu checked state was not restored on start up.
* Fix: set current window style when preferences opended.
* Fix: restore maximized state from fullscreen.
* Fix: bring back compatibility for C++14 compiler with non C++14
libstdc++.
* Fix: memory leak in reply for async request.
* Fix: crash on deselecting subtitle.
* Fix: couldn't select tracks in paused state.
* Fix: restore maximized/fullscreen state on start up.
* Fix: show Close button instead of Cancel in preferences dialog.
* Wed Feb 11 2015 sor.alexei@meowr.ru
- Update to 0.9.1:
* New: new default skin 'Ardis' designed by Kotus work.
* New: new skin 'Numix' by varlesh.
* New: new skin 'one'.
* New: 'Audio > Equalizer' in menu.
* New: 'Video > Interpolator/Chroma Upscaler > Advanced...'
for advanced settings.
* New: 'Video > Motion Interpolation' and related options.
* New: 'Play > State' menu to display current playing state.
* New: 'Play > Seek > To the Beginning' in menu.
* New: 'Play > Seek > Next Black Frame' menu.
* New: 'Tool > Log Viewer' in menu.
* New: journald logging support.
* New: option to select logging level for journald, stdout,
stderr, external file.
* New: option to specify file name format or use temporary file
for downloaded subtitles.
* New: option to use precise seeking in 'General > Play' tab of
preferences.
* New: option to ignore playback resume switching item in
playlist.
* New: use xcb_screensaver_suspend to disable screensaver.
* New: SubRip subtitle parser works more tolerantly.
* New: show playlist/history when mouse hovers on the right/left edge.
* New: external audio file support.
* New: open DVD by drag-and-drop of 'VIDEO_TS' folder.
* New: open folder by drag-and-drop.
* Fix: workaround for gray-out issue within Plasma 5.
* Fix: couldn't click disc menu.
* Fix: flush after requet XCB_SCREEN_SAVER_RESET.
* Fix: crash on audio format change.
* Fix: crash on reconstruction of audio filter chain during
playback.
* Fix: set screensaver interval for xcb.
* Fix: set audio client name for PulseAudio.
* Fix: sort generated playlists numerically.
* Fix: implement loopStatus for Mpris.
* Fix: enable 'Ok' and 'Apply' button in preferences only if
options changed.
* Fix: keep current row after list modified in SimpleListWidget.
* Fix: wrong disabling condition of Up/Down button in language
priorities.
* Fix: reserve state on reloading(e.g., applying preferences).
* Fix: check subtitle file format instead of file extension.
* Fix: closing window didn't work in full screen mode.
* Fix: aspect ratio and crop ratio didn't apply immediately.
* Fix: Auto-exit and Auto-shutdown didn't work.
* Fix: video colour wasn't restored on executed.
* Fix: don't mix channels for identical input & output channel
layouts.
* Fix: handle percent encoding in URL more properly.
* Fix: missing extension for ifo video file.
* Fix: wrong playlist position on initial state.
* Sun Feb 8 2015 sor.alexei@meowr.ru
- Initial package.