diff options
author | Solomon Choina | 2020-05-16 21:29:39 -0400 |
---|---|---|
committer | Solomon Choina | 2020-05-16 21:29:39 -0400 |
commit | 18596f034c5a652ce7126b8928b0d72caea18793 (patch) | |
tree | 6a67e538d17eec61f3a2046e45a00cb5c1fa74e0 | |
parent | ee52beedfccc270507e2d050a052f792df2307c2 (diff) | |
download | aur-18596f034c5a652ce7126b8928b0d72caea18793.tar.gz |
updpkgver, using shellharden, basing it off mpv-full-git
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | PKGBUILD | 322 | ||||
-rwxr-xr-x | find-deps.py | 48 |
3 files changed, 174 insertions, 211 deletions
@@ -1,6 +1,6 @@ pkgbase = mpv-ahjolinna-git pkgdesc = MPV using ahjolinna's personal pre-made conf build - pkgver = 0.29.1.r352.gb5b0350371 + pkgver = 0.32.0.r484.g152b0e2a8c pkgrel = 1 url = http://mpv.io arch = x86_64 @@ -23,12 +23,12 @@ pkgbase = mpv-ahjolinna-git makedepends = streamlink makedepends = cuda makedepends = ffnvcodec-headers - makedepends = youtube-dl makedepends = ffnvcodec-headers depends = lcms2 depends = libcdio-paranoia depends = libgl depends = libxss + depends = mujs depends = libxinerama depends = libxv depends = libxkbcommon @@ -47,18 +47,16 @@ pkgbase = mpv-ahjolinna-git depends = rubberband depends = uchardet depends = libarchive - depends = smbclient depends = zlib depends = sndio depends = openal depends = vulkan-icd-loader depends = shaderc + depends = vapoursynth depends = desktop-file-utils depends = hicolor-icon-theme depends = xdg-utils - depends = ffmpeg-full-git - depends = mujs - depends = vapoursynth-git + depends = ffmpeg optdepends = youtube-dl: Another way to view youtuve videos with mpv optdepends = zsh-completions: Additional completion definitions for Zsh users optdepends = livestreamer: to watch live video streams (twitch.tv) @@ -78,7 +76,6 @@ pkgbase = mpv-ahjolinna-git options = !emptydirs source = git+https://github.com/mpv-player/mpv source = git+https://github.com/ahjolinna/mpv-conf - source = find-deps.py source = mpv-hq.desktop source = mpv-lq.desktop source = mpv-mq.desktop @@ -87,7 +84,6 @@ pkgbase = mpv-ahjolinna-git source = mpv-CUDA.desktop sha256sums = SKIP sha256sums = SKIP - sha256sums = ce974e160347202e0dc63f6a7a5a89e52d2cc1db2d000c661fddb9dc1d007c02 sha256sums = ddd18dbccdaa4513586cb97299e88564e3289940f25d7ebe762c4482fbad3809 sha256sums = e02f7b07653ea4ce9745b9f699954f5a4eafd416ada5a5d032c7dd7294921f90 sha256sums = 8cf41f23572417836084209fce343f779e72dea9688dc84e23e8eb913d002d5f @@ -96,7 +92,4 @@ pkgbase = mpv-ahjolinna-git sha256sums = b703510f6e1f36d3f00008c282c7fef52057aa5703b412a7b750fb05c3a6a2e5 pkgname = mpv-ahjolinna-git - depends = desktop-file-utils - depends = hicolor-icon-theme - depends = xdg-utils @@ -8,7 +8,7 @@ # update the dependencies based on dynamic libraries when packaging.. pkgname=mpv-ahjolinna-git _gitname=mpv -pkgver=0.29.1.r352.gb5b0350371 +pkgver=0.32.0.r484.g152b0e2a8c pkgrel=1 pkgdesc="MPV using ahjolinna's personal pre-made conf build" arch=('x86_64') @@ -17,15 +17,14 @@ url='http://mpv.io' _undetected_depends=('desktop-file-utils' 'hicolor-icon-theme' 'xdg-utils') depends=( # official repositories: -'lcms2' 'libcdio-paranoia' 'libgl' 'libxss' +'lcms2' 'libcdio-paranoia' 'libgl' 'libxss' 'mujs' 'libxinerama' 'libxv' 'libxkbcommon' 'libva' 'wayland' 'libcaca' 'libplacebo' 'desktop-file-utils' - 'hicolor-icon-theme' 'xdg-utils' 'lua52' 'libdvdnav' 'rsound' -'libxrandr' 'jack' 'rubberband' 'uchardet' 'libarchive' 'smbclient' -'zlib' 'sndio' 'openal' 'vulkan-icd-loader' 'shaderc' "${_undetected_depends[@]}" - -# AUR: -'ffmpeg-full-git' 'mujs' 'vapoursynth-git' + 'hicolor-icon-theme' 'xdg-utils' 'lua52' + 'libdvdnav' 'rsound' 'libxrandr' 'jack' 'rubberband' + 'uchardet' 'libarchive' 'zlib' + 'sndio' 'openal' 'vulkan-icd-loader' 'shaderc' 'vapoursynth' "${_undetected_depends[@]}" + 'ffmpeg' ) optdepends=('youtube-dl: Another way to view youtuve videos with mpv' @@ -42,16 +41,15 @@ makedepends=('vulkan-headers' 'mesa' 'python-docutils' 'ladspa' 'x265' 'openal' 'jack' 'unzip' 'samba' 'acpitool' 'inxi' 'git' 'vapoursynth' 'libvdpau' 'libva' 'streamlink' 'cuda' - 'ffnvcodec-headers' 'youtube-dl' 'ffnvcodec-headers') + 'ffnvcodec-headers' 'ffnvcodec-headers') optdepends+=('cuda: for CUVID hardware-acceleration for NVIDIA users') provides=('mpv' 'mpv-git') conflicts=('mpv' 'mpv-vapoursynth' 'mpv-ahjolinna-build-git' 'mpv-build-git' 'mpv-ahjolinna' ) options=('!emptydirs') -source=('git+https://github.com/mpv-player/mpv' +source=(git+https://github.com/mpv-player/mpv 'git+https://github.com/ahjolinna/mpv-conf' - 'find-deps.py' - 'mpv-hq.desktop' + 'mpv-hq.desktop' 'mpv-lq.desktop' 'mpv-mq.desktop' 'mpv-MVtools.desktop' @@ -60,7 +58,6 @@ source=('git+https://github.com/mpv-player/mpv' sha256sums=('SKIP' 'SKIP' - 'ce974e160347202e0dc63f6a7a5a89e52d2cc1db2d000c661fddb9dc1d007c02' 'ddd18dbccdaa4513586cb97299e88564e3289940f25d7ebe762c4482fbad3809' 'e02f7b07653ea4ce9745b9f699954f5a4eafd416ada5a5d032c7dd7294921f90' '8cf41f23572417836084209fce343f779e72dea9688dc84e23e8eb913d002d5f' @@ -69,169 +66,190 @@ sha256sums=('SKIP' 'b703510f6e1f36d3f00008c282c7fef52057aa5703b412a7b750fb05c3a6a2e5') pkgver() { - cd "${srcdir}/$_gitname" + cd "$srcdir/$_gitname" local _version="$(git tag | sort -Vr | head -n1 | sed 's/^v//')" - local _revision="$(git rev-list v${_version}..HEAD --count)" + local _revision="$(git rev-list v"$_version"..HEAD --count)" local _shorthash="$(git rev-parse --short HEAD)" - + printf "%s.r%s.g%s" "$_version" "$_revision" "$_shorthash" } prepare() { - cd "${srcdir}/$_gitname" + cd "$srcdir/$_gitname" msg2 "Running bootstrap. Please wait..." ./bootstrap.py -} +} build() { - cd "${srcdir}/$_gitname" - ./waf configure \ - --color='yes' \ - --prefix='/usr' \ - --progress \ - --confdir='/etc/mpv' \ - \ - --disable-lgpl \ - --enable-libmpv-shared \ - --disable-libmpv-static \ - --disable-static-build \ - --disable-debug-build \ - \ - --enable-manpage-build \ - --disable-html-build \ - --disable-pdf-build \ - \ - --enable-cplugins \ - --enable-zsh-comp \ - --disable-test \ - --disable-clang-database \ - \ - --disable-android \ - --disable-uwp \ - --disable-win32-internal-pthreads \ - --enable-iconv \ - --enable-libsmbclient \ - --enable-lua \ - --enable-javascript \ - --enable-libass \ - --enable-libass-osd \ - --enable-zlib \ - --enable-libbluray \ - --enable-dvdread \ - --enable-dvdnav \ - --enable-cdda \ - --enable-uchardet \ - --enable-rubberband \ - --enable-lcms2 \ - --enable-vapoursynth \ - --enable-vapoursynth-lazy \ - --enable-libarchive \ - --enable-libavdevice \ - --lua='52arch' \ - \ - --enable-sdl2 \ - --enable-oss-audio \ - --enable-rsound \ - --enable-sndio \ - --enable-pulse \ - --enable-jack \ - --enable-openal \ - --disable-opensles \ - --enable-alsa \ - --disable-coreaudio \ - --disable-audiounit \ - --disable-wasapi \ - \ - --disable-cocoa \ - --enable-drm \ - --enable-drmprime \ - --enable-gbm \ - --enable-wayland-scanner \ - --enable-wayland-protocols \ - --enable-wayland \ - --enable-x11 \ - --enable-xv \ - --disable-gl-cocoa \ - --enable-gl-x11 \ - --enable-egl-x11 \ - --enable-egl-drm \ - --enable-gl-wayland \ - --disable-gl-win32 \ - --disable-gl-dxinterop \ - --disable-egl-angle \ - --disable-egl-angle-lib \ - --disable-egl-angle-win32 \ - --enable-vdpau \ - --enable-vdpau-gl-x11 \ - --enable-vaapi \ - --enable-vaapi-x11 \ - --enable-vaapi-wayland \ - --enable-vaapi-drm \ - --enable-vaapi-glx \ - --enable-vaapi-x-egl \ - --enable-caca \ - --enable-jpeg \ - --disable-direct3d \ - --enable-shaderc \ - --disable-d3d11 \ - --disable-rpi \ - --disable-ios-gl \ - --enable-plain-gl \ - --disable-mali-fbdev \ - --enable-gl \ - --enable-vulkan \ - \ - --disable-videotoolbox-gl \ - --disable-d3d-hwaccel \ - --disable-d3d9-hwaccel \ - --disable-gl-dxinterop-d3d9 \ - \ - --enable-tv \ - --enable-tv-v4l2 \ - --enable-libv4l2 \ - --enable-audio-input \ - --enable-dvbin \ - \ - --disable-apple-remote \ - --disable-macos-touchbar \ - --disable-macos-cocoa-cb - - ./waf build + local _common_opts=( + '--color=yes' + '--prefix=/usr' + '--progress' + '--confdir=/etc/mpv' + + '--disable-lgpl' + '--enable-libmpv-shared' + '--disable-libmpv-static' + '--disable-static-build' + '--disable-build-date' + '--disable-debug-build' + '--enable-manpage-build' + '--disable-html-build' + '--disable-pdf-build' + '--enable-cplugins' + '--disable-clang-database' + + '--disable-android' + '--disable-tvos' + '--disable-egl-android' + '--disable-swift' + '--disable-uwp' + '--disable-win32-internal-pthreads' + '--enable-iconv' + '--enable-lua' + '--enable-javascript' + '--enable-zlib' + '--enable-libbluray' + '--enable-dvdnav' + '--enable-cdda' + '--enable-uchardet' + '--enable-rubberband' + '--enable-zimg' + '--enable-lcms2' + '--enable-vapoursynth' + '--enable-libarchive' + '--enable-dvbin' + '--enable-sdl2' + '--enable-sdl2-gamepad' + '--enable-libavdevice' + '--disable-ffmpeg-strict-abi' + '--lua=52arch' + + '--enable-sdl2-audio' + '--enable-pulse' + '--enable-jack' + '--enable-openal' + '--disable-opensles' + '--enable-alsa' + '--disable-coreaudio' + '--disable-audiounit' + '--disable-wasapi' + + '--enable-sdl2-video' + '--disable-cocoa' + '--enable-drm' + '--enable-gbm' + '--enable-wayland-scanner' + '--enable-wayland-protocols' + '--enable-wayland' + '--enable-x11' + '--enable-xv' + '--disable-gl-cocoa' + '--enable-gl-x11' + '--enable-egl' + '--enable-egl-x11' + '--enable-egl-drm' + '--enable-gl-wayland' + '--disable-gl-win32' + '--disable-gl-dxinterop' + '--disable-egl-angle' + '--disable-egl-angle-lib' + '--disable-egl-angle-win32' + '--enable-vdpau' + '--enable-vdpau-gl-x11' + '--enable-vaapi' + '--enable-vaapi-x11' + '--enable-vaapi-wayland' + '--enable-vaapi-drm' + '--enable-vaapi-x-egl' + '--enable-caca' + '--enable-jpeg' + '--disable-direct3d' + '--enable-shaderc' + '--enable-spirv-cross' + '--disable-d3d11' + '--disable-rpi' + '--disable-ios-gl' + '--enable-plain-gl' + '--enable-gl' + '--enable-libplacebo' + '--enable-vulkan' + + '--disable-videotoolbox-gl' + '--disable-d3d-hwaccel' + '--disable-d3d9-hwaccel' + '--disable-gl-dxinterop-d3d9' + '--enable-cuda-hwaccel' + '--enable-cuda-interop' + '--disable-rpi-mmal' + + '--disable-macos-touchbar' + '--disable-macos-10-11-features' + '--disable-macos-10-12-2-features' + '--disable-macos-10-14-features' + '--disable-macos-media-player' + '--disable-macos-cocoa-cb') + + cd "$srcdir/$_gitname" + # build without tests on the mpv binary (goes to package) + ./waf configure --disable-tests "${_common_opts[@]}" + ./waf build + + # build with tests on the mpv binary (for tests only) + printf '%s\n' ' -> Building the test files (with tests)...' + export WAFLOCK='.lock-waf_linux_build-tests' + ./waf distclean configure --enable-tests "${_common_opts[@]}" + ./waf build + +} + +check() { + cd mpv + + local _test + export LD_LIBRARY_PATH="$srcdir/mpv/build-tests" + + while read -r -d '' _test + do + printf '%s\n' "Running test '$_test'..." + build-tests/mpv --unittest="$_test" + done < <(build-tests/mpv --unittest='help' | + awk 'FNR == 1 { next } !/all-simple|img_format|repack(|_zimg)/ { printf "%s\0", $1 }') } + + + package() { cd "$srcdir/$_gitname" - ./waf install --destdir="${pkgdir}" + + + export WAFLOCK='.lock-waf_linux_build' + ./waf install --destdir="$pkgdir" # install the .desktop files - install -Dm644 "${srcdir}/mpv-lq.desktop" "${pkgdir}/usr/share/applications/mpv-lq.desktop" - install -Dm644 "${srcdir}/mpv-mq.desktop" "${pkgdir}/usr/share/applications/mpv-mq.desktop" - install -Dm644 "${srcdir}/mpv-hq.desktop" "${pkgdir}/usr/share/applications/mpv-hq.desktop" - install -Dm644 "${srcdir}/mpv-MVtools.desktop" "${pkgdir}/usr/share/applications/mpv-MVtools.desktop" - install -Dm644 "${srcdir}/mpv-CUDA.desktop" "${pkgdir}/usr/share/applications/mpv-CUDA.desktop" - install -Dm644 "${srcdir}/mpv-SVP.desktop" "${pkgdir}/usr/share/applications/mpv-SVP.desktop" + install -Dm644 "$srcdir/mpv-lq.desktop" "$pkgdir/usr/share/applications/mpv-lq.desktop" + install -Dm644 "$srcdir/mpv-mq.desktop" "$pkgdir/usr/share/applications/mpv-mq.desktop" + install -Dm644 "$srcdir/mpv-hq.desktop" "$pkgdir/usr/share/applications/mpv-hq.desktop" + install -Dm644 "$srcdir/mpv-MVtools.desktop" "$pkgdir/usr/share/applications/mpv-MVtools.desktop" + install -Dm644 "$srcdir/mpv-CUDA.desktop" "$pkgdir/usr/share/applications/mpv-CUDA.desktop" + install -Dm644 "$srcdir/mpv-SVP.desktop" "$pkgdir/usr/share/applications/mpv-SVP.desktop" # install BT.709 ICC profiles (https://github.com/mpv-player/mpv/issues/534#issuecomment-35823203) - cd ${srcdir}/mpv-conf/PKGBUILD + cd "$srcdir"/mpv-conf/PKGBUILD unzip BT.709_Profiles.zip - install -Dm755 "BT.709_Profiles/BT.709.gamma.1.95.icc" "${pkgdir}/usr/share/color/icc/BT.709_Profiles/BT.709.gamma.1.95.icc" - install -Dm755 "BT.709_Profiles/BT.709.gamma.1.95.icc" "${pkgdir}/usr/share/color/icc/BT.709_Profiles/BT.709.icc" - install -Dm755 "BT.709_Profiles/BT.709.gamma.1.95.icc" "${pkgdir}/usr/share/color/icc/BT.709_Profiles/BT.709.linear.icc" + install -Dm755 "BT.709_Profiles/BT.709.gamma.1.95.icc" "$pkgdir/usr/share/color/icc/BT.709_Profiles/BT.709.gamma.1.95.icc" + install -Dm755 "BT.709_Profiles/BT.709.gamma.1.95.icc" "$pkgdir/usr/share/color/icc/BT.709_Profiles/BT.709.icc" + install -Dm755 "BT.709_Profiles/BT.709.gamma.1.95.icc" "$pkgdir/usr/share/color/icc/BT.709_Profiles/BT.709.linear.icc" #install ahjolinna "config-build" files - cp -R ${srcdir}/mpv-conf/mpv/etc/* ${pkgdir}/etc/mpv - install -d "${pkgdir}/etc/mpv/" - -cp $srcdir/$_gitname/etc/encoding-profiles.conf ${pkgdir}/etc/mpv + cp -R "$srcdir"/mpv-conf/mpv/etc/* "$pkgdir"/etc/mpv + install -d "$pkgdir/etc/mpv/" - # Update dependencies automatically based on dynamic libraries - _detected_depends=($("$srcdir"/find-deps.py "$pkgdir"/usr/{bin/mpv,lib/libmpv.so})) +cp "$srcdir/$_gitname"/etc/encoding-profiles.conf "$pkgdir"/etc/mpv - msg 'Auto-detected dependencies:' - echo "${_detected_depends[@]}" | fold -s -w 79 | sed 's/^/ /' - depends=("${_detected_depends[@]}" "${_undetected_depends[@]}") -} + } diff --git a/find-deps.py b/find-deps.py deleted file mode 100755 index d6761f0a40fd..000000000000 --- a/find-deps.py +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env python3 - -""" -Usage: find-deps.py <binary> [<binary> ...] - -Finds (pacman/ALPM) dependencies for a binary or set of binaries based -on dynamically linked libraries. - -""" - -import sys -import os -import subprocess -import re - -def subprocess_get_lines(args, fail_okay=False): - try: - output = subprocess.check_output(args) - except subprocess.CalledProcessError as e: - if fail_okay: - output = e.output - else: - raise - return output.decode().splitlines() - -# Get the filenames of the libs we need -del os.environ['LD_LIBRARY_PATH'], os.environ['LD_PRELOAD'] # otherwise fakeroot will interfere -ldd_output = subprocess_get_lines(['ldd'] + sys.argv[1:]) -regex = re.compile(r' => (.*) \(0x[0-9a-f]+\)$') -libs = set(match.group(1) for match in map(regex.search, ldd_output) if match) - -# Figure out which packages own them -deps = set(subprocess_get_lines( - ['pacman', '--query', '--owns', '--quiet'] + list(libs), - fail_okay=True -)) - -# Remove redundant dependencies -needed = set(deps) -for pkg in deps: - if pkg not in needed: - continue # this subtree has already been pruned - redundant = subprocess_get_lines( - ['pactree', '--unique', pkg] - )[1:] # first line is pkg itself - needed.difference_update(redundant) - -print(' '.join(sorted(needed))) |