Files
chromebrew/packages/mpv.rb
Satadru Pramanik 65e0511380 Qt updates & Add jellyfin_media_player w/ deps (#7672)
* initial updates

* add qtquickcontrols

* cleanup

* more binaries

* add more packages to packages.yaml

* add more packages

* disable ccache requirements

* disable musl_zstd requirement

* lint

* ffmpeg modification initial commit

* update qtwebengine package

* add binaries

* add binary

* update qtwebengine

* fix qtx11extras

* add libmpv to mpv build

* mpv rebuild

* add binary

* fix deps

* add new builds

* Add jellyfin postinstall

* adjust postinstall

* make changes for armv7l

* add more verbose error message

* suggested changes

* Adjust xorg_server dep to xwayland

* update jellyfin

* jellyfin rebuild
2022-11-25 13:37:00 -06:00

108 lines
3.6 KiB
Ruby

require 'package'
class Mpv < Package
description 'Video player based on MPlayer/mplayer2'
homepage 'https://mpv.io/'
@_ver = '0.35.0-ead8469'
version @_ver
license 'LGPL-2.1+, GPL-2+, BSD, ISC and GPL-3+'
compatibility 'all'
source_url 'https://github.com/mpv-player/mpv.git'
git_hashtag 'ead8469454afa63e6e1fdd9e978af765f89379ce'
binary_url({
aarch64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_armv7l/mpv-0.35.0-ead8469-chromeos-armv7l.tar.zst',
armv7l: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_armv7l/mpv-0.35.0-ead8469-chromeos-armv7l.tar.zst',
i686: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_i686/mpv-0.35.0-ead8469-chromeos-i686.tar.zst',
x86_64: 'https://gitlab.com/api/v4/projects/26210301/packages/generic/mpv/0.35.0-ead8469_x86_64/mpv-0.35.0-ead8469-chromeos-x86_64.tar.zst'
})
binary_sha256({
aarch64: '37ad11ac5ea437938829c4f59b01e7e254f5fad021b734c79a684865ce5fde86',
armv7l: '37ad11ac5ea437938829c4f59b01e7e254f5fad021b734c79a684865ce5fde86',
i686: '04ea3976c5e8a0b89a71cbd3706f37653866f5e8d20e3ca3c74396d84ffc21a7',
x86_64: '0bc54f5f6e50c8c9e3912cffedfe1ea61b35f8abd293e56742f2a31c19529c23'
})
depends_on 'alsa_lib' # R
depends_on 'ffmpeg' # R
depends_on 'gcc' # R
depends_on 'glibc' # R
depends_on 'jack' # R
depends_on 'lcms' # R
depends_on 'libarchive' # R
depends_on 'libass' # R
depends_on 'libbluray' # R
depends_on 'libcaca' # R
depends_on 'libcdio_paranoia' # R
depends_on 'libcdio' # R
depends_on 'libdrm' # R
depends_on 'libdvdnav' # R
depends_on 'libdvdread' # R
depends_on 'libglvnd' # R
depends_on 'libjpeg' # R
depends_on 'libsdl2' # R
depends_on 'libva' # R
depends_on 'libvdpau' # R
depends_on 'libx11' # R
depends_on 'libxext' # R
depends_on 'libxinerama' # R
depends_on 'libxkbcommon' # R
depends_on 'libxrandr' # R
depends_on 'libxss' # R
depends_on 'libxv' # R
depends_on 'luajit' # R
depends_on 'mesa' # R
depends_on 'mujs' # R
depends_on 'openmp' # R
depends_on 'pipewire' # R
depends_on 'pulseaudio' # R
depends_on 'py3_docutils' => :build
depends_on 'rubberband' # R
depends_on 'shaderc' # R
depends_on 'sommelier' # L
depends_on 'uchardet' # R
depends_on 'vulkan_headers' => :build
depends_on 'vulkan_icd_loader' # L
depends_on 'wayland' # R
depends_on 'xdg_base' # L
depends_on 'zimg' # R
depends_on 'zlibpkg' # R
depends_on 'libxpresent' # R
def self.build
# Wayland is disabled because mpv has moved to
# wl_compositor 4, while ChromeOS still uses
# the ancient wl_compositor 3.
system "meson \
#{CREW_MESON_OPTIONS} \
-Dwayland=disabled \
-Dlibmpv=true \
-Dgl-x11=enabled \
-Dsdl2=enabled \
builddir"
# mpv conf file
File.write 'mpv.conf', <<~MPVCONF
hwdec=auto-safe
hwdec-codecs=all
fs=yes
MPVCONF
system 'meson configure builddir'
system 'ninja -C builddir'
end
def self.install
system "DESTDIR=#{CREW_DEST_DIR} ninja -C builddir install"
FileUtils.mkdir_p "#{CREW_DEST_HOME}/.mpv"
FileUtils.install 'mpv.conf', "#{CREW_DEST_HOME}/.mpv/mpv.conf", mode: 0o644
end
def self.postinstall
# Use XDG_CONFIG_HOME location for config file stub
# @xdg_config_home = ENV['XDG_CONFIG_HOME']
# FileUtils.mkdir_p @xdg_config_home
# system "touch #{@xdg_config_home}/mpv"
system "#{CREW_PREFIX}/bin/gtk-update-icon-cache -ft #{CREW_PREFIX}/share/icons/* || true"
system "#{CREW_PREFIX}/bin/gtk4-update-icon-cache -ft #{CREW_PREFIX}/share/icons/* || true"
end
end