Warning: file_exists(): open_basedir restriction in effect. File(/srv/http/vhosts/aur.archlinux.org/public/web/locale//en/LC_MESSAGES/aurweb.mo) is not within the allowed path(s): (/srv/http/vhosts/aur-dev.archlinux.org/:/etc/aurweb/) in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/streams.php on line 90
AUR (en) - mpv-git

Notice: Undefined variable: name in /srv/http/vhosts/aur-dev.archlinux.org/public/web/lib/pkgfuncs.inc.php on line 248

Package Details: mpv-git 43403.g5700da4-1

Git Clone URL: https://aur-dev.archlinux.org/mpv-git.git (read-only)
Package Base: mpv-git
Description: Video player based on MPlayer/mplayer2 (git version)
Upstream URL: https://mpv.io
Keywords: media player video
Licenses: GPL
Conflicts: mpv
Provides: mpv
Submitter: rpolzer
Maintainer: qmega
Last Packager: qmega
Votes: 161
Popularity: 1.235312
First Submitted: 2012-12-04 09:21
Last Updated: 2016-06-16 04:15

Required by (57)

Sources (2)

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 ... Next › Last »

WorMzy commented on 2015-01-24 12:30

It shouldn't need a <commit-id> (just called <commit> in the man page), --tags replaces it:

Pretend as if all the refs in refs/tags are listed on the command line as <commit>. If
<pattern> is given, limit tags to ones matching given shell glob. If pattern lacks ?,
*, or [, /* at the end is implied.

polyzen commented on 2015-01-24 03:14

The command in _curtag needs a commit-id https://ptpb.pw/QQ6G

qmega commented on 2015-01-19 06:02

Ah, yeah, sorry about that. My script didn't like it if the binary was linked against untracked libraries. I had meant to fix that the next time I worked on the script, but haven't gotten around to it yet. Implemented a sloppy fix for now.

rezad commented on 2015-01-18 22:33

i get some error with the last step of package creation

error: No package owns /usr/lib/libGL.so.1
error: No package owns /usr/lib/libEGL.so.1
Traceback (most recent call last):
File "/media/shared/apps/usr/tmp/makepkg/mpv-git/src/find-deps.py", line 25, in <module>
['pacman', '--query', '--owns', '--quiet'] + list(libs)

Ram-Z commented on 2015-01-07 23:41

Ah yes true, `objdump` only lists the filename. For what it's worth, I wrote a bash script a while back which does almost the same using `objdump`:
Unfortunately it depends on mlocate, which might not be installed on every system. I hadn't thought of using ldconfig, thanks for the tip.

Yeah, I thought of the whole dependencies thing after commenting, so it does actually have a purpose beyond pleasing namcap. If it works it's probably fine for an AUR pkg, even if ugly.

Although split pkgs can have a separate depends, it is still static. I was talking about dynamically generating the array during execution being dirty.

qmega commented on 2015-01-07 09:03

Hmm, yeah, objdump is probably a better idea. Then I wouldn't need to special-case fakeroot, and might avoid similar problems in the future. The reason I used ldd was mainly out of laziness, because it gives you the actual path so you don't have to hunt down the files. I could get the mapping from ldconfig and use that, but on a 64-bit machine that includes 32-bit libs with the same name. I can probably figure something out, but I won't have much computer access for the next few days, so it's unlikely I'll get a chance to work on it until the weekend or so. In the mean time, any suggestions are welcome.

As for the value of the whole thing, it certainly is a dirty hack, but having accurate dependencies is not just about making namcap happy. I don't know if you're familiar with mpv's build process, but the basic gist is that it links against any optional dependencies it finds on the system (and there are quite a few). For example, I personally use libbs2b, but I'm guessing most people don't. If that isn't included in the depends for my mpv package, then pacman would let me remove it without a second thought, but that would render my current build of mpv unable to run. It would also let me install the same package on another machine where it wouldn't work; one of the jobs of a package manager is to automatically install dependencies in cases like that. On the other hand, I don't want to try to add every possible optional feature as a hard depend, because then everyone would have to either dig through the (long) list every time they build, or install a bunch of packages they don't need. As for modifying depends in package(), I think that's reliable/supported because it's used for split packages.

Still, I know it's ugly, and I don't really like it either, but it was the only semi-reasonable solution I could think of; no static set of depends will be right for everyone. If anyone has a better way to address this problem, I'd love to hear it. Or, if everyone hates this, I can drop it, but then we'll be back where we started (which was not a great place, IMO).

In any case, thanks @Ram-Z for taking the time to look at / comment on it.

Ram-Z commented on 2015-01-06 23:39

You might want to use `objdump -p | sed -n 's/NEEDED\s*//p'` to only pick up on actual dependencies instead of the recursive `ldd`. (or whatever python equivalent to extract the lib from the NEEDED line)

But to be honest, I don't think that this is a good solution, it's pretty dirty and hacky to modify the depend array during makepkg. And for what?! Make namcap happy?! Not worth it IMHO, but, hey, that's just me and I don't even use Arch. So whatever.

qmega commented on 2015-01-01 04:21

Added experimental dependency detection. The built package should now better reflect what the mpv inside actually links against. It seems to be working pretty well so far, but please let me know if it gets something wrong. The only issue I'm currently having on my system is that it pulls in mesa unnecessarily, which I think has to do with some provides mess; I don't have time to look into it at the moment.

Any feedback appreciated.

qmega commented on 2014-12-31 00:22

portaudio was removed upstream yesterday. I've updated for that.

As for the dependencies, that's happening because the configure script automatically picks up whatever it finds on your system; see the warning at the top of the PKGBUILD. xdg-utils is needed for the install script, but namcap doesn't know that. As for the lua stuff, the configure is probably picking up lua51 and building against that, and so it doesn't link against 5.2, which the lua package provides.

I've been thinking about writing something to update dependencies in package() or something... I'll get around to it eventually.

haawda commented on 2014-12-30 22:30

And, some dependencies seem to have changed:

haawda@frege mpv-git]$ namcap ~/repo/mpv-git-0.7.2_2822_g628f1dc-1-x86_64.pkg.tar.xz
mpv-git E: Dependency libcaca detected and not included (libraries ['usr/lib/libcaca.so.0'] needed in files ['usr/lib/libmpv.so.1.12.0', 'usr/bin/mpv'])
mpv-git E: Dependency jack detected and not included (libraries ['usr/lib/libjack.so.0'] needed in files ['usr/lib/libmpv.so.1.12.0', 'usr/bin/mpv'])
mpv-git E: Dependency lua51 detected and not included (libraries ['usr/lib/liblua5.1.so.5.1'] needed in files ['usr/lib/libmpv.so.1.12.0', 'usr/bin/mpv'])
mpv-git W: Dependency included and not needed ('xdg-utils')
mpv-git W: Dependency included and not needed ('lua')