Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

media-video/mpv: version bump to 0.14.0, revision bump to 0.11.0-r1, update live #544

Merged
merged 44 commits into from Dec 28, 2015
Merged

media-video/mpv: version bump to 0.14.0, revision bump to 0.11.0-r1, update live #544

merged 44 commits into from Dec 28, 2015

Conversation

Coacher
Copy link
Contributor

@Coacher Coacher commented Dec 28, 2015

Fix bugs: 565618, 565646, 562394, 568018, 564656.

Based on and supersedes PRs #318 and #511.

This is the updated version of PR #511 that includes changes proposed by @mgorny.
I don't want to force push to my previous PR as GitHub sometimes loses line comments this way.

CC @maksbotan, @yngwin, @mgorny, @idella.

@Coacher
Copy link
Contributor Author

Coacher commented Dec 28, 2015

A package USE mask is required for media-video/mpv test on alpha arch prior to merging this one. QA checks are expected to fail because of this.

Please also see #511 (comment)

Update: the required package USE mask was added in https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e4c4518b1dac59f91fc97d7c104140669de007ed

@Coacher
Copy link
Contributor Author

Coacher commented Dec 28, 2015

@gentoo-repo-qa-bot
Copy link
Collaborator

😞 The QA check for this pull request has found the following issues:

New issues:
https://qa-reports.gentoo.org/output/gentoo-ci/c365629/output.html#media-video/mpv

@monsieurp
Copy link
Member

@gentoo/video @gentoo/proxy-maint

@monsieurp monsieurp added bugfix help wanted The submitter explicitly needs help moving the PR forward. Please help if you can. assigned PR successfully assigned to the package maintainer(s). labels Dec 28, 2015
@Coacher
Copy link
Contributor Author

Coacher commented Dec 28, 2015

@perfinion re #511 (comment)

I've just tried and added media-video/mpv test USE mask in my overlay. FEATURES='test' emerge -pv mpv command does not enable test USE. Test suite will fail miserably though ofc.

Update: unfortunately RESTRICT does not work on per-arch basis since arches are added via USE_EXPAND and portage processes RESTRICT before adding USE_EXPAND to active USE.
See: https://gitweb.gentoo.org/proj/portage.git/tree/pym/portage/package/ebuild/config.py#n1660 and below.

Package-Manager: portage-2.2.24
We have only one live ebuild and no less than one versioned ebuild.
Thus make the versioned case be the first to preserve the flow of
reading in most cases.

Package-Manager: portage-2.2.24
This helps to avoid confusion that waf sources are the only ones being
fetched.

Suggested by mgorny in PR #511.

Also use a shorter fetch URL for waf sources.

Package-Manager: portage-2.2.24
Package-Manager: portage-2.2.24
This was originally submitted by Vindex17 in PR #318.

This is the proper place if we will need to die early (we will).

Package-Manager: portage-2.2.24
Package-Manager: portage-2.2.24
This way user is also informed after the build that he may lose some
functionality with libav.

Suggested by mgorny in PR #511.

Package-Manager: portage-2.2.24
Package-Manager: portage-2.2.24
This was originally submitted by Vindex17 in PR #318.

Local cdio USE has the same meaning for mpv as global cdda USE. It looks
like it was copied from mplayer ebuild where it made sense, because
mplayer could support both cdparanoia and cdio-paranoia at the time. On
the other hand, current mpv only supports cdio-paranoia.

Package-Manager: portage-2.2.24
Upstream requires only libcdio-cdparanoia for CDDA support.

Package-Manager: portage-2.2.24
This was originally submitted by Vindex17 in PR #318.

Gentoo-Bug: 565618

Package-Manager: portage-2.2.24
These packages are pulled by the corresponding libs already.

Package-Manager: portage-2.2.24
We have the standard way to enable documentation build in Gentoo and
this way is global doc USE.

Package-Manager: portage-2.2.24
This was originally submitted by Vindex17 in PR #318.

This makes DEPEND/RDEPEND setup simple and readable.

Package-Manager: portage-2.2.24
This USE enables archive support via libarchive.

Package-Manager: portage-2.2.24
Package-Manager: portage-2.2.24
mpv has a small, but working test suite. It requires dev-util/cmocka,
which is missing ~alpha keyword atm. Thus a package USE mask is needed.

See bug 569558 for dev-util/cmocka KEYWORDREQ.

Package-Manager: portage-2.2.24
Package-Manager: portage-2.2.24
Similar idea was submitted by Vindex17 in PR #318.

Though libsdl2 is listed under audio outputs in configure script,
it actually handles both audio and video outputs. Thus video and sound
USE flags should be enabled for libsdl2. We also want X or wayland USE
flag enabled for libsdl2, so mpv can create a window to render in.

Package-Manager: portage-2.2.24
This eases USE reviews during version bumps.

Package-Manager: portage-2.2.24
Similar idea was submitted by Vindex17 in PR #318.

This includes static build and APIs from MacOS and Windows.

Package-Manager: portage-2.2.24
Add missing uchardet USE flag to avoid automagic dependency on uchardet
wrt bug 565646.

Gentoo-Bug: 565646

Package-Manager: portage-2.2.24
enca and libguess are used only for subtitles charset discovery.
Minor wording improvements for vf-dlopen and jpeg USE flags.

Package-Manager: portage-2.2.24
The first libdvdread-4.x version that entered the tree was 4.1.3, so
from the Portage point of view this is ditto. However, mpv configure
script requires libdvdread '>=4.1.0'. Unless someone wants to include
this lengthy explanation why these two versions mismatch in the ebuild,
adjust libdvdread version in dependency.

Package-Manager: portage-2.2.24
mpv uses libass to render subtitles and enca to detect subtitle
encoding. For mpv to support enca, mpv does not need to have
libass[enca]. This helps to avoid problems with >=libass-0.13.0,
which dropped 'enca' USE.

Also enable harfbuzz USE to support subtitles for complex languages.

See [0] as a reference for both of the above.

[0]: https://github.com/mpv-player/mpv/blob/master/DOCS/man/options.rst

Gentoo-Bug: 562394

Package-Manager: portage-2.2.24
This is stated in Wayland docs and mpv configure script.

Package-Manager: portage-2.2.24
Currently 'opengl' USE stands for 'anything that draws using OpenGL
API', and 'egl' USE stands for 'EGL for X11'. Notice these are not
complementary.

Thus, for example, on Wayland one should use 'mpv[wayland,opengl,-egl]',
which is a bit counterintuitive, since Wayland (compositor) uses EGL
only. Also one cannot disable GLX support, but leave EGL on X11, because
of USE flags interdependencies.

Both X11 and Wayland use OpenGL API to do drawing, but historically the
first one was native OpenGL in X11 aka GLX and later came EGL in X11 and
Wayland. However, now there is a tendency to prefer EGL to not bind
oneself to X11.

There is no global 'egl' USE atm, but the logic of local 'egl' USEs
across the tree is 'not bind oneself to GLX'. On Linux there is no need
to repeat that drawing is done using OpenGL API even when EGL comes to
play.

Taking all of the above into account more sane and expected meaning
should be given to 'opengl' and 'egl' USE flags.

After this change 'opengl' USE stands for 'OpenGL in X11 aka GLX' and
'egl' USE stands for 'any EGL-based output'. Notice these are now
complementary.

Package-Manager: portage-2.2.24
Package-Manager: portage-2.2.24
This helps to visualize what lines belong to IUSE variable.

Suggested by mgorny in PR #511.

Package-Manager: portage-2.2.24
Suggested by mgorny in PR #511.

Package-Manager: portage-2.2.24
This requires a small upstream patch to fix include in tests.

Package-Manager: portage-2.2.24
VAAPI in mpv is now available for Wayland and for EGL and GLX on X11 as
opposed to GLX only before. A newer libva version is required, though.

Package-Manager: portage-2.2.24
VAAPI + EGL combo requires Thread Local Storage C++11 feature or
GNU __thread extension. Add the corresponding check for sanity.

See also mpv-player/mpv#2631

Package-Manager: portage-2.2.24
This was originally submitted by Vindex17 in PR #318.

Gentoo-Bug: 568018

Package-Manager: portage-2.2.24
This allows to use EGL on top of a DRM device bypassing window
server/compositor.

Package-Manager: portage-2.2.24
mesa dependency is already pulled by default since 'X' and 'opengl' USE
flags are enabled by default. All current mesa versions in tree already
have 'egl' USE enabled by default, so no extra adjustment is needed for
users.

Thus enabling it by default will give users a wider range of options.

Package-Manager: portage-2.2.24
Gentoo-Bug: 564656

Package-Manager: portage-2.2.24
This was originally submitted by Vindex17 in PR #318.

Package-Manager: portage-2.2.24
@Coacher
Copy link
Contributor Author

Coacher commented Dec 28, 2015

Rebased on top of changes mentioned above made by idella4 and repushed.

@gentoo-bot gentoo-bot merged commit 4e74fdb into gentoo:master Dec 28, 2015
gentoo-bot pushed a commit that referenced this pull request Dec 28, 2015
@Coacher Coacher deleted the mpv-refactor-take-2 branch December 29, 2015 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned PR successfully assigned to the package maintainer(s). help wanted The submitter explicitly needs help moving the PR forward. Please help if you can.
Projects
None yet
4 participants