From b78aec150e3c46fce5ab9594d4e13433194b9129 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 17 Sep 2017 00:43:45 +0200 Subject: [PATCH 01/41] new mpv version 0.27.0 ; fdcaac and x264 support --- snap/snapcraft.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 9bf447ee..3da14864 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ name: mpv -version: '0.26.0' +version: '0.27.0' summary: a free, open source, and cross-platform media player. description: | mpv is a media player based on MPlayer and mplayer2. @@ -24,7 +24,7 @@ parts: after: [ffmpeg] mpv: - source: https://github.com/mpv-player/mpv/archive/v0.26.0.tar.gz + source: https://github.com/mpv-player/mpv/archive/v0.27.0.tar.gz plugin: waf configflags: - --enable-cdda @@ -92,10 +92,11 @@ parts: - libdvdread-dev - libegl1-mesa-dev - libenca-dev + - libfdk-aac-dev - libgbm-dev - libgl1-mesa-dev - libguess-dev - - libjack-dev + # - libjack-dev - libjpeg-dev - liblcms2-dev - liblua5.2-dev @@ -112,6 +113,7 @@ parts: - libvdpau-dev - libwayland-dev - libx11-dev + - libx264-dev - libxinerama-dev - libxkbcommon-dev - libxrandr-dev @@ -170,6 +172,8 @@ parts: - --enable-libvpx - --enable-libwavpack - --enable-libwebp + - --enable-libx264 + - --enable-libfdk-aac - --enable-libx265 - --enable-libxvid - --enable-libzmq From fa4e23e003a22d29940693adf181c92cdabc0311 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Thu, 28 Dec 2017 21:40:05 +0100 Subject: [PATCH 02/41] add vapoursynth and mvtools for motion compensation --- snap/snapcraft.yaml | 74 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 73 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 3da14864..42a49797 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -13,6 +13,9 @@ confinement: strict apps: mpv: + environment: + # directory where vapoursynth plugins should reside + VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth command: desktop-launch $SNAP/usr/bin/mpv plugs: [x11, opengl, unity7, pulseaudio, home, network, removable-media, optical-drive] @@ -96,7 +99,7 @@ parts: - libgbm-dev - libgl1-mesa-dev - libguess-dev - # - libjack-dev + - libjack-dev - libjpeg-dev - liblcms2-dev - liblua5.2-dev @@ -125,6 +128,7 @@ parts: after: - desktop-glib-only - ffmpeg + - vapoursynth organize: usr/local: usr/ # Exclude some junk from the final snap @@ -262,3 +266,71 @@ parts: - -usr/include - -usr/doc - -usr/man + + vapoursynth: + # NOTE: Releases R36 and R37 seem to have errors + source: https://github.com/vapoursynth/vapoursynth/archive/R35.tar.gz + # replace hardcoded vapoursynth plugin directory with snap version + prepare: | + perl -pi -007e 's/\Qstd::string systemPluginDir(tmp ? tmp : VS_PATH_PLUGINDIR);\E/const char *snapPluginDir = getenv("VAPOURSYNTH_PLUGIN_PATH");\nstd::string systemPluginDir(snapPluginDir);\n/gms' src/core/vscore.cpp + plugin: autotools + configflags: + - --disable-ocr + build-packages: + - git + - g++ + - make + - autoconf + - libtool + - cmake + - cython + - automake + - build-essential + - yasm + organize: + usr/local/lib: usr/lib + after: + - zimg + + vapoursynth-mvtools: + source: git://github.com/dubhater/vapoursynth-mvtools.git + plugin: autotools + install: | + mkdir $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + mv $SNAPCRAFT_PART_INSTALL/lib/libmvtools* $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + build-packages: + - git + - g++ + - make + - autoconf + - libtool + - cmake + - automake + - build-essential + - libfftw3-dev + after: + - vapoursynth + + zimg: + source: git://github.com/sekrit-twc/zimg.git + plugin: autotools + configflags: + - --enable-x86simd + build-packages: + - git + - g++ + - make + - autoconf + - libtool + - cmake + - automake + - build-essential + organize: + usr/local: usr/ + # Exclude some junk from the final snap + prime: + - -usr/share/doc + - -usr/share/icons + - -usr/include + - -usr/doc + - -usr/man From 8b49f03afd5e16fda096a81883813183f6f944fd Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 04:48:37 +0200 Subject: [PATCH 03/41] update to version 0.29 --- .gitignore | 4 +- snap/snapcraft.yaml | 234 ++++++++++++++++++++++++++++++++------------ 2 files changed, 174 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index e9245169..d1a49c43 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ #snapcraft specifics parts stage -prime \ No newline at end of file +prime +*.snap +dep diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 42a49797..2c6adeec 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,6 @@ +base: core18 name: mpv -version: '0.27.0' +version: '0.29.1-nilsboy1' summary: a free, open source, and cross-platform media player. description: | mpv is a media player based on MPlayer and mplayer2. @@ -16,77 +17,154 @@ apps: environment: # directory where vapoursynth plugins should reside VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth - command: desktop-launch $SNAP/usr/bin/mpv - plugs: [x11, opengl, unity7, pulseaudio, home, network, removable-media, optical-drive] + # command: desktop-launch $SNAP/usr/bin/mpv + command: ./usr/bin/mpv + plugs: + - home + - network + - opengl + - optical-drive + - pulseaudio + - removable-media + - unity7 + - x11 + # allow access to ~/.config/mpv + - config-mpv + # allow access to system fonts + - desktop -parts: - youtube-dl: - source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz - plugin: python - python-version: python3 - after: [ffmpeg] +plugs: + config-mpv: + interface: personal-files + write: + - $HOME/.config/mpv - mpv: - source: https://github.com/mpv-player/mpv/archive/v0.27.0.tar.gz - plugin: waf - configflags: - - --enable-cdda - - --enable-dvdnav - - --enable-dvdread - - --enable-encoding - - --enable-libmpv-shared - - --disable-static-build - - --enable-libsmbclient - - --enable-lua - - --disable-build-date - prepare: | - ./bootstrap.py +parts: + packages: + plugin: + autotools + source: ./ + override-build: | + true stage-packages: - - lua5.2 + - libharfbuzz0b + - libx265-146 + - libx264-152 + - libssh-4 + - libsnappy1v5 + - libgsm1 + - libfreetype6 + - libfontconfig1 + - samba-libs + - libpython3.6 + - libsmbclient + - libgl1 + - libglu1-mesa + - libglx0 + - libglvnd0 + - libsdl2-2.0-0 + - libxcursor1 + - libxi6 + - libxxf86vm1 + - libslang2 + - libwayland-egl1 + - libegl1 + - liblua5.2-0 + - liblcms2-2 + - libfftw3-3 - libasound2 - - libass5 + - libass9 - libatomic1 - - libbluray1 - - libc6 - - libcdio-cdda1 - - libcdio-paranoia1 - - libcdio13 + - libbluray2 + - libbs2b0 + - libcaca0 + - libcdio-cdda2 + - libcdio-paranoia2 + - libcdio17 + - libchromaprint1 + - libcrystalhd3 - libdrm2 - libdvdnav4 - libdvdread4 - - libegl1-mesa - - libgbm1 - - libgl1-mesa-glx - - libjack-jackd2-0 + - libegl-mesa0 + - libenca0 + - libfdk-aac1 + - libflite1 + - libfribidi0 + - libgbm1 + - libgme0 + - libguess1 + - libjack0 + - libjpeg62 - libjpeg8 - - liblcms2-2 - - liblua5.2-0 + - libjpeg9 + - liblzma5 + - libmp3lame0 + - libnetcdf13 + - libomxil-bellagio0 + - libopenal1 + - libopencore-amrnb0 + - libopencore-amrwb0 + - libopus0 - libpulse0 - - librubberband2v5 - - libsdl2-2.0-0 - - libsmbclient - - libsndio6.1 + - librubberband2 + - libsctp1 + - libshine3 + - libsodium23 + - libsoxr0 + - libspeex1 + - libssh-gcrypt-4 + - libswscale4 + - libtesseract4 + - libtheora0 + - libtwolame0 - libuchardet0 - - libv4l-0 - - libva-drm1 - - libva-wayland1 - - libva-x11-1 - - libva1 + - libva-drm2 + - libva-wayland2 + - libva2 - libvdpau1 - - libwayland-client0 + - libvo-amrwbenc0 + - libvpx5 + - libwavpack1 + - libwayland-client0 - libwayland-cursor0 - - libwayland-egl1-mesa - - libx11-6 + - libwebp6 + - libxcb-shape0 - libxext6 - libxinerama1 - libxkbcommon0 - libxrandr2 - libxss1 - libxv1 - - zlib1g - - libsodium18 + - libxvidcore4 + - libxvmc1 + - libzmq5 + - libzvbi0 + + youtube-dl: + source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz + plugin: python + python-version: python3 + after: [ffmpeg] + + mpv: + source: https://github.com/mpv-player/mpv/archive/v0.29.1.tar.gz + plugin: waf + configflags: + - --enable-cdda + - --enable-dvdnav + - --enable-dvdread + # - --enable-encoding + - --enable-libmpv-shared + - --disable-static-build + # - --enable-libsmbclient + - --disable-build-date + override-build: | + ./bootstrap.py + snapcraftctl build build-packages: - build-essential + - libharfbuzz-dev - libasound2-dev - libass-dev - libbluray-dev @@ -107,7 +185,7 @@ parts: - librubberband-dev - libsdl2-dev - libssl-dev - - libsmbclient-dev + # - libsmbclient-dev - libsndio-dev - libswscale-dev - libuchardet-dev @@ -125,6 +203,7 @@ parts: - pkg-config - python - python-docutils + - libpulse0 after: - desktop-glib-only - ffmpeg @@ -140,7 +219,7 @@ parts: - -usr/man ffmpeg: - source: https://ffmpeg.org/releases/ffmpeg-3.3.3.tar.xz + source: https://github.com/FFmpeg/FFmpeg.git plugin: autotools configflags: - --enable-gpl @@ -255,7 +334,7 @@ parts: - libzvbi-dev - pkg-config - texinfo - - nasm + # - nasm - zlib1g-dev organize: usr/local: usr/ @@ -269,10 +348,11 @@ parts: vapoursynth: # NOTE: Releases R36 and R37 seem to have errors - source: https://github.com/vapoursynth/vapoursynth/archive/R35.tar.gz - # replace hardcoded vapoursynth plugin directory with snap version - prepare: | - perl -pi -007e 's/\Qstd::string systemPluginDir(tmp ? tmp : VS_PATH_PLUGINDIR);\E/const char *snapPluginDir = getenv("VAPOURSYNTH_PLUGIN_PATH");\nstd::string systemPluginDir(snapPluginDir);\n/gms' src/core/vscore.cpp + source: ./dep/vapoursynth-R35.tar.gz + # replace hardcoded vapoursynth plugin directory with snap one + override-build: | + perl -pi -007e 's/\Qstd::string systemPluginDir(tmp ? tmp : VS_PATH_PLUGINDIR);\E/const char *snapPluginDir = getenv("VAPOURSYNTH_PLUGIN_PATH");\nstd::string systemPluginDir(snapPluginDir);\n/gms' src/core/vscore.cpp + snapcraftctl build plugin: autotools configflags: - --disable-ocr @@ -292,12 +372,27 @@ parts: after: - zimg + # # for base: core only: + # # this release of vapoursynth-mvtools needs newer version than from 16.04 + # nasm: + # source: ./dep/nasm-74246c4.tar.gz + # plugin: autotools + # override-build: | + # sh autogen.sh + # sh configure + # make + # # does not work because of missing man files + # # make install + # /usr/bin/install -c nasm /usr/bin/nasm + vapoursynth-mvtools: source: git://github.com/dubhater/vapoursynth-mvtools.git - plugin: autotools - install: | - mkdir $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ - mv $SNAPCRAFT_PART_INSTALL/lib/libmvtools* $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + # plugin: autotools + plugin: meson + override-build: | + snapcraftctl build + mkdir -p $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + cp $SNAPCRAFT_PART_INSTALL/usr/local/lib/x86_64-linux-gnu/* $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ build-packages: - git - g++ @@ -308,11 +403,14 @@ parts: - automake - build-essential - libfftw3-dev + - nasm after: + # - nasm - vapoursynth zimg: - source: git://github.com/sekrit-twc/zimg.git + source: ./dep/zimg-release-2.8.tar.gz + # source: git://github.com/sekrit-twc/zimg.git plugin: autotools configflags: - --enable-x86simd @@ -334,3 +432,13 @@ parts: - -usr/include - -usr/doc - -usr/man + + desktop-glib-only: + build-packages: + - libglib2.0-dev + plugin: make + source: https://github.com/ubuntu/snapcraft-desktop-helpers.git + source-subdir: glib-only + stage-packages: + - libglib2.0-bin + From e8ec72d8dcc4347a71b0393a2c8addcf244837bb Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 15:47:50 +0200 Subject: [PATCH 04/41] use free name --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2c6adeec..2bf4c1df 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,5 +1,5 @@ base: core18 -name: mpv +name: mpv-nilsboy version: '0.29.1-nilsboy1' summary: a free, open source, and cross-platform media player. description: | From 941cfab68234ca70856a87a9302b6f6ab8b9f640 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 16:01:17 +0200 Subject: [PATCH 05/41] use master for zimg --- snap/snapcraft.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 2bf4c1df..a324a171 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -409,8 +409,8 @@ parts: - vapoursynth zimg: - source: ./dep/zimg-release-2.8.tar.gz - # source: git://github.com/sekrit-twc/zimg.git + # source: ./dep/zimg-release-2.8.tar.gz + source: git://github.com/sekrit-twc/zimg.git plugin: autotools configflags: - --enable-x86simd From 34dd74b2c9799506a07e29baa5fad95424bb459f Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 16:03:58 +0200 Subject: [PATCH 06/41] i386 only --- snap/snapcraft.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index a324a171..b4caab93 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -9,6 +9,9 @@ description: | Remember to connect this snap to the removable-media slot, otherwise external media won't be accessible! +architectures: + - build-on: i386 + - run-on: i386 grade: stable confinement: strict From eefb2383e5998327bc35112ad81b7cab51959362 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 16:10:19 +0200 Subject: [PATCH 07/41] fix architecture config --- snap/snapcraft.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index b4caab93..c8b170b5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -10,8 +10,8 @@ description: | otherwise external media won't be accessible! architectures: - - build-on: i386 - - run-on: i386 + build-on: i386 + run-on: i386 grade: stable confinement: strict From dc0bf5978d5625793f1d441a0bfe78f55669d4f3 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 18:27:25 +0200 Subject: [PATCH 08/41] disable avisynth ; add recommended debs --- snap/snapcraft.yaml | 208 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 203 insertions(+), 5 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index c8b170b5..e76fe333 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -9,9 +9,9 @@ description: | Remember to connect this snap to the removable-media slot, otherwise external media won't be accessible! -architectures: - build-on: i386 - run-on: i386 +# architectures: +# - build-on: i386 +# run-on: i386 grade: stable confinement: strict @@ -143,6 +143,7 @@ parts: - libxvmc1 - libzmq5 - libzvbi0 + - libglut.so.3 youtube-dl: source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz @@ -207,6 +208,108 @@ parts: - python - python-docutils - libpulse0 + - libasound2 + - libass9 + - libasyncns0 + - libbluray2 + - libbs2b0 + - libcaca0 + - libcairo2 + - libcdio-cdda2 + - libcdio-paranoia2 + - libcdio17 + - libcrystalhd3 + - libdrm2 + - libdvdnav4 + - libdvdread4 + - libegl1 + - libfdk-aac1 + - libfftw3-double3 + - libflac8 + - libflite1 + - libfontconfig1 + - libfreetype6 + - libfribidi0 + - libgbm1 + - libgl1 + - libglvnd0 + - libglx0 + - libgme0 + - libgomp1 + - libgraphite2-3 + - libgsm1 + - libharfbuzz0b + - libicu60 + - libjack0 + - libjpeg-turbo8 + - liblcms2-2 + - liblua5.2-0 + - libmp3lame0 + - libnorm1 + - libnuma1 + - libogg0 + - libopenal1 + - libopenjp2-7 + - libopus0 + - libpgm-5.2-0 + - libpixman-1-0 + - libpng16-16 + - libpulse0 + - libpython3.6 + - librubberband2 + - libsamplerate0 + - libsdl2-2.0-0 + - libshine3 + - libslang2 + - libsnappy1v5 + - libsndfile1 + - libsndio6.1 + - libsodium23 + - libsoxr0 + - libspeex1 + - libssh-gcrypt-4 + - libtheora0 + - libtwolame0 + - libuchardet0 + - libva-drm2 + - libva-x11-2 + - libva2 + - libvdpau1 + - libvorbis0a + - libvorbisenc2 + - libvpx5 + - libwavpack1 + - libwayland-client0 + - libwayland-cursor0 + - libwayland-egl1 + - libwayland-server0 + - libwebp6 + - libwebpmux3 + - libx11-6 + - libx264-152 + - libx265-146 + - libxau6 + - libxcb-render0 + - libxcb-shape0 + - libxcb-shm0 + - libxcb-xfixes0 + - libxcb1 + - libxcursor1 + - libxdmcp6 + - libxext6 + - libxfixes3 + - libxi6 + - libxinerama1 + - libxkbcommon0 + - libxml2 + - libxrandr2 + - libxrender1 + - libxss1 + - libxv1 + - libxvidcore4 + - libxxf86vm1 + - libzmq5 + - libzvbi0 after: - desktop-glib-only - ffmpeg @@ -229,7 +332,8 @@ parts: - --enable-openssl - --enable-nonfree - --enable-avresample - - --enable-avisynth + # TODO: install headers for avisynth - got removed from ffmpeg master?: + # - --enable-avisynth - --enable-ladspa - --enable-libass - --enable-libbluray @@ -339,6 +443,97 @@ parts: - texinfo # - nasm - zlib1g-dev + - libasound2 + - libass9 + - libasyncns0 + - libbluray2 + - libbs2b0 + - libcaca0 + - libcairo2 + - libcdio-cdda2 + - libcdio-paranoia2 + - libcdio17 + - libcrystalhd3 + - libdrm2 + - libfdk-aac1 + - libfftw3-double3 + - libflac8 + - libflite1 + - libfontconfig1 + - libfreetype6 + - libfribidi0 + - libgl1 + - libglvnd0 + - libglx0 + - libgme0 + - libgomp1 + - libgraphite2-3 + - libgsm1 + - libharfbuzz0b + - libicu60 + - libmp3lame0 + - libnorm1 + - libnuma1 + - libogg0 + - libopenal1 + - libopenjp2-7 + - libopus0 + - libpgm-5.2-0 + - libpixman-1-0 + - libpng16-16 + - libpulse0 + - librubberband2 + - libsamplerate0 + - libsdl2-2.0-0 + - libshine3 + - libslang2 + - libsnappy1v5 + - libsndfile1 + - libsndio6.1 + - libsodium23 + - libsoxr0 + - libspeex1 + - libssh-gcrypt-4 + - libtheora0 + - libtwolame0 + - libva-drm2 + - libva-x11-2 + - libva2 + - libvdpau1 + - libvorbis0a + - libvorbisenc2 + - libvpx5 + - libwavpack1 + - libwayland-client0 + - libwayland-cursor0 + - libwayland-egl1 + - libwebp6 + - libwebpmux3 + - libx11-6 + - libx264-152 + - libx265-146 + - libxau6 + - libxcb-render0 + - libxcb-shape0 + - libxcb-shm0 + - libxcb-xfixes0 + - libxcb1 + - libxcursor1 + - libxdmcp6 + - libxext6 + - libxfixes3 + - libxi6 + - libxinerama1 + - libxkbcommon0 + - libxml2 + - libxrandr2 + - libxrender1 + - libxss1 + - libxv1 + - libxvidcore4 + - libxxf86vm1 + - libzmq5 + - libzvbi0 organize: usr/local: usr/ # Exclude some junk from the final snap @@ -351,7 +546,9 @@ parts: vapoursynth: # NOTE: Releases R36 and R37 seem to have errors - source: ./dep/vapoursynth-R35.tar.gz + # source: ./dep/vapoursynth-R35.tar.gz + source: https://github.com/vapoursynth/vapoursynth.git + source-tag: R35 # replace hardcoded vapoursynth plugin directory with snap one override-build: | perl -pi -007e 's/\Qstd::string systemPluginDir(tmp ? tmp : VS_PATH_PLUGINDIR);\E/const char *snapPluginDir = getenv("VAPOURSYNTH_PLUGIN_PATH");\nstd::string systemPluginDir(snapPluginDir);\n/gms' src/core/vscore.cpp @@ -370,6 +567,7 @@ parts: - automake - build-essential - yasm + - libpython3.6 organize: usr/local/lib: usr/lib after: From fbd98c3204a63cfb7875f1f59bf3aada9b81e80f Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 20:29:49 +0200 Subject: [PATCH 09/41] cleanups --- screenshot.jpg | Bin 155492 -> 0 bytes snap/snapcraft.yaml | 337 +++++++++++++++++++------------------------- 2 files changed, 143 insertions(+), 194 deletions(-) delete mode 100644 screenshot.jpg diff --git a/screenshot.jpg b/screenshot.jpg deleted file mode 100644 index aaeb33cdd407fc9bad74bc9613f548162dfa1898..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 155492 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 Q|I>IupM(v~LH}<80Ge`;yZ`_I diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index e76fe333..72a2d2c1 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,6 @@ base: core18 name: mpv-nilsboy -version: '0.29.1-nilsboy1' +version: "0.29.1-nilsboy1" summary: a free, open source, and cross-platform media player. description: | mpv is a media player based on MPlayer and mplayer2. @@ -9,9 +9,6 @@ description: | Remember to connect this snap to the removable-media slot, otherwise external media won't be accessible! -# architectures: -# - build-on: i386 -# run-on: i386 grade: stable confinement: strict @@ -43,114 +40,6 @@ plugs: - $HOME/.config/mpv parts: - packages: - plugin: - autotools - source: ./ - override-build: | - true - stage-packages: - - libharfbuzz0b - - libx265-146 - - libx264-152 - - libssh-4 - - libsnappy1v5 - - libgsm1 - - libfreetype6 - - libfontconfig1 - - samba-libs - - libpython3.6 - - libsmbclient - - libgl1 - - libglu1-mesa - - libglx0 - - libglvnd0 - - libsdl2-2.0-0 - - libxcursor1 - - libxi6 - - libxxf86vm1 - - libslang2 - - libwayland-egl1 - - libegl1 - - liblua5.2-0 - - liblcms2-2 - - libfftw3-3 - - libasound2 - - libass9 - - libatomic1 - - libbluray2 - - libbs2b0 - - libcaca0 - - libcdio-cdda2 - - libcdio-paranoia2 - - libcdio17 - - libchromaprint1 - - libcrystalhd3 - - libdrm2 - - libdvdnav4 - - libdvdread4 - - libegl-mesa0 - - libenca0 - - libfdk-aac1 - - libflite1 - - libfribidi0 - - libgbm1 - - libgme0 - - libguess1 - - libjack0 - - libjpeg62 - - libjpeg8 - - libjpeg9 - - liblzma5 - - libmp3lame0 - - libnetcdf13 - - libomxil-bellagio0 - - libopenal1 - - libopencore-amrnb0 - - libopencore-amrwb0 - - libopus0 - - libpulse0 - - librubberband2 - - libsctp1 - - libshine3 - - libsodium23 - - libsoxr0 - - libspeex1 - - libssh-gcrypt-4 - - libswscale4 - - libtesseract4 - - libtheora0 - - libtwolame0 - - libuchardet0 - - libva-drm2 - - libva-wayland2 - - libva2 - - libvdpau1 - - libvo-amrwbenc0 - - libvpx5 - - libwavpack1 - - libwayland-client0 - - libwayland-cursor0 - - libwebp6 - - libxcb-shape0 - - libxext6 - - libxinerama1 - - libxkbcommon0 - - libxrandr2 - - libxss1 - - libxv1 - - libxvidcore4 - - libxvmc1 - - libzmq5 - - libzvbi0 - - libglut.so.3 - - youtube-dl: - source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz - plugin: python - python-version: python3 - after: [ffmpeg] - mpv: source: https://github.com/mpv-player/mpv/archive/v0.29.1.tar.gz plugin: waf @@ -166,63 +55,32 @@ parts: override-build: | ./bootstrap.py snapcraftctl build - build-packages: + build-packages: - build-essential - - libharfbuzz-dev + - libasound2 - libasound2-dev - libass-dev - - libbluray-dev - - libcdio-paranoia-dev - - libdvdnav-dev - - libdvdread-dev - - libegl1-mesa-dev - - libenca-dev - - libfdk-aac-dev - - libgbm-dev - - libgl1-mesa-dev - - libguess-dev - - libjack-dev - - libjpeg-dev - - liblcms2-dev - - liblua5.2-dev - - libpulse-dev - - librubberband-dev - - libsdl2-dev - - libssl-dev - # - libsmbclient-dev - - libsndio-dev - - libswscale-dev - - libuchardet-dev - - libv4l-dev - - libva-dev - - libvdpau-dev - - libwayland-dev - - libx11-dev - - libx264-dev - - libxinerama-dev - - libxkbcommon-dev - - libxrandr-dev - - libxss-dev - - libxv-dev - - pkg-config - - python - - python-docutils - - libpulse0 - - libasound2 - libass9 - libasyncns0 + - libbluray-dev - libbluray2 - libbs2b0 - libcaca0 - libcairo2 - libcdio-cdda2 + - libcdio-paranoia-dev - libcdio-paranoia2 - libcdio17 - libcrystalhd3 - libdrm2 + - libdvdnav-dev - libdvdnav4 + - libdvdread-dev - libdvdread4 - libegl1 + - libegl1-mesa-dev + - libenca-dev + - libfdk-aac-dev - libfdk-aac1 - libfftw3-double3 - libflac8 @@ -230,20 +88,28 @@ parts: - libfontconfig1 - libfreetype6 - libfribidi0 + - libgbm-dev - libgbm1 - libgl1 + - libgl1-mesa-dev - libglvnd0 - libglx0 - libgme0 - libgomp1 - libgraphite2-3 - libgsm1 + - libguess-dev + - libharfbuzz-dev - libharfbuzz0b - libicu60 + - libjack-dev - libjack0 + - libjpeg-dev - libjpeg-turbo8 - liblcms2-2 + - liblcms2-dev - liblua5.2-0 + - liblua5.2-dev - libmp3lame0 - libnorm1 - libnuma1 @@ -254,26 +120,36 @@ parts: - libpgm-5.2-0 - libpixman-1-0 - libpng16-16 + - libpulse-dev - libpulse0 - libpython3.6 + - librubberband-dev - librubberband2 - libsamplerate0 - libsdl2-2.0-0 + - libsdl2-dev - libshine3 - libslang2 - libsnappy1v5 - libsndfile1 + - libsndio-dev - libsndio6.1 - libsodium23 - libsoxr0 - libspeex1 - libssh-gcrypt-4 + - libssl-dev + - libswscale-dev - libtheora0 - libtwolame0 + - libuchardet-dev - libuchardet0 + - libv4l-dev + - libva-dev - libva-drm2 - libva-x11-2 - libva2 + - libvdpau-dev - libvdpau1 - libvorbis0a - libvorbisenc2 @@ -281,12 +157,15 @@ parts: - libwavpack1 - libwayland-client0 - libwayland-cursor0 + - libwayland-dev - libwayland-egl1 - libwayland-server0 - libwebp6 - libwebpmux3 - libx11-6 + - libx11-dev - libx264-152 + - libx264-dev - libx265-146 - libxau6 - libxcb-render0 @@ -299,30 +178,125 @@ parts: - libxext6 - libxfixes3 - libxi6 + - libxinerama-dev - libxinerama1 + - libxkbcommon-dev - libxkbcommon0 - libxml2 + - libxrandr-dev - libxrandr2 - libxrender1 + - libxss-dev - libxss1 + - libxv-dev - libxv1 - libxvidcore4 - libxxf86vm1 - libzmq5 - libzvbi0 + - pkg-config + - python + - python-docutils + stage-packages: + - libharfbuzz0b + - libx265-146 + - libx264-152 + - libssh-4 + - libsnappy1v5 + - libgsm1 + - libfreetype6 + - libfontconfig1 + - samba-libs + - libpython3.6 + - libsmbclient + - libgl1 + - libglu1-mesa + - libglx0 + - libglvnd0 + - libsdl2-2.0-0 + - libxcursor1 + - libxi6 + - libxxf86vm1 + - libslang2 + - libwayland-egl1 + - libegl1 + - liblua5.2-0 + - liblcms2-2 + - libfftw3-3 + - libasound2 + - libass9 + - libatomic1 + - libbluray2 + - libbs2b0 + - libcaca0 + - libcdio-cdda2 + - libcdio-paranoia2 + - libcdio17 + - libchromaprint1 + - libcrystalhd3 + - libdrm2 + - libdvdnav4 + - libdvdread4 + - libegl-mesa0 + - libenca0 + - libfdk-aac1 + - libflite1 + - libfribidi0 + - libgbm1 + - libgme0 + - libguess1 + - libjack0 + - libjpeg62 + - libjpeg8 + - libjpeg9 + - liblzma5 + - libmp3lame0 + - libnetcdf13 + - libomxil-bellagio0 + - libopenal1 + - libopencore-amrnb0 + - libopencore-amrwb0 + - libopus0 + - libpulse0 + - librubberband2 + - libsctp1 + - libshine3 + - libsodium23 + - libsoxr0 + - libspeex1 + - libssh-gcrypt-4 + - libswscale4 + - libtesseract4 + - libtheora0 + - libtwolame0 + - libuchardet0 + - libva-drm2 + - libva-wayland2 + - libva2 + - libvdpau1 + - libvo-amrwbenc0 + - libvpx5 + - libwavpack1 + - libwayland-client0 + - libwayland-cursor0 + - libwebp6 + - libxcb-shape0 + - libxext6 + - libxinerama1 + - libxkbcommon0 + - libxrandr2 + - libxss1 + - libxv1 + - libxvidcore4 + - libxvmc1 + - libzmq5 + - libzvbi0 after: - desktop-glib-only - ffmpeg - vapoursynth organize: usr/local: usr/ - # Exclude some junk from the final snap - prime: - - -usr/include - - -usr/share/doc - - -usr/share/icons - - -usr/doc - - -usr/man ffmpeg: source: https://github.com/FFmpeg/FFmpeg.git @@ -367,7 +341,7 @@ parts: - --enable-libx265 - --enable-libxvid - --enable-libzmq - - --enable-libzvbi + - --enable-libzvbi - --enable-omx - --enable-openal - --enable-opengl @@ -536,17 +510,9 @@ parts: - libzvbi0 organize: usr/local: usr/ - # Exclude some junk from the final snap - prime: - - -usr/share/doc - - -usr/share/icons - - -usr/include - - -usr/doc - - -usr/man vapoursynth: # NOTE: Releases R36 and R37 seem to have errors - # source: ./dep/vapoursynth-R35.tar.gz source: https://github.com/vapoursynth/vapoursynth.git source-tag: R35 # replace hardcoded vapoursynth plugin directory with snap one @@ -573,26 +539,12 @@ parts: after: - zimg - # # for base: core only: - # # this release of vapoursynth-mvtools needs newer version than from 16.04 - # nasm: - # source: ./dep/nasm-74246c4.tar.gz - # plugin: autotools - # override-build: | - # sh autogen.sh - # sh configure - # make - # # does not work because of missing man files - # # make install - # /usr/bin/install -c nasm /usr/bin/nasm - vapoursynth-mvtools: source: git://github.com/dubhater/vapoursynth-mvtools.git - # plugin: autotools plugin: meson override-build: | snapcraftctl build - mkdir -p $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + mkdir -pv $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ cp $SNAPCRAFT_PART_INSTALL/usr/local/lib/x86_64-linux-gnu/* $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ build-packages: - git @@ -606,11 +558,9 @@ parts: - libfftw3-dev - nasm after: - # - nasm - vapoursynth zimg: - # source: ./dep/zimg-release-2.8.tar.gz source: git://github.com/sekrit-twc/zimg.git plugin: autotools configflags: @@ -626,20 +576,19 @@ parts: - build-essential organize: usr/local: usr/ - # Exclude some junk from the final snap - prime: - - -usr/share/doc - - -usr/share/icons - - -usr/include - - -usr/doc - - -usr/man desktop-glib-only: build-packages: - - libglib2.0-dev + - libglib2.0-dev plugin: make source: https://github.com/ubuntu/snapcraft-desktop-helpers.git source-subdir: glib-only stage-packages: - - libglib2.0-bin + - libglib2.0-bin + youtube-dl: + source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz + plugin: python + python-version: python3 + after: + - ffmpeg From 758c5073fdbe70e1d9aa1de89d1a9a68a007cb6c Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 21:15:00 +0200 Subject: [PATCH 10/41] add more stage-packages --- README.md | 3 -- snap/snapcraft.yaml | 79 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 78 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 975504de..2d33a116 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,6 @@ distributions.

([Don't have snapd installed?](https://snapcraft.io/docs/core/install)) -![mpv](screenshot.jpg?raw=true "mpv") - -

Published for with :gift_heart: by Snapcrafters

## Remaining tasks diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 72a2d2c1..8d71de62 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -415,7 +415,6 @@ parts: - libzvbi-dev - pkg-config - texinfo - # - nasm - zlib1g-dev - libasound2 - libass9 @@ -508,6 +507,82 @@ parts: - libxxf86vm1 - libzmq5 - libzvbi0 + stage-packages: + - libasound2 + - libass9 + - libasyncns0 + - libbluray2 + - libbs2b0 + - libcaca0 + - libcairo2 + - libcdio-cdda2 + - libcdio-paranoia2 + - libcdio17 + - libcrystalhd3 + - libdrm2 + - libfdk-aac1 + - libfftw3-double3 + - libflac8 + - libflite1 + - libfontconfig1 + - libfreetype6 + - libfribidi0 + - libgl1 + - libglvnd0 + - libglx0 + - libgme0 + - libgomp1 + - libgraphite2-3 + - libgsm1 + - libharfbuzz0b + - libicu60 + - libmp3lame0 + - libnorm1 + - libnuma1 + - libogg0 + - libopenal1 + - libopenjp2-7 + - libopus0 + - libpgm-5.2-0 + - libpixman-1-0 + - libpng16-16 + - libpulse0 + - librubberband2 + - libsamplerate0 + - libsdl2-2.0-0 + - libshine3 + - libslang2 + - libsnappy1v5 + - libsndfile1 + - libsndio6.1 + - libsodium23 + - libsoxr0 + - libspeex1 + - libssh-gcrypt-4 + - libtheora0 + - libtwolame0 + - libva-drm2 + - libva-x11-2 + - libva2 + - libvdpau1 + - libvorbis0a + - libvorbisenc2 + - libvpx5 + - libwavpack1 + - libwayland-client0 + - libwayland-cursor0 + - libwayland-egl1 + - libwebp6 + - libwebpmux3 + - libx11-6 + - libx264-152 + - libx265-146 + - libxau6 + - libxcb-render0 + - libxcb-shape0 + - libxcb-shm0 + - libxcb-xfixes0 + - libxcb1 organize: usr/local: usr/ @@ -534,6 +609,8 @@ parts: - build-essential - yasm - libpython3.6 + stage-packages: + - libpython3.6 organize: usr/local/lib: usr/lib after: From c5bd13aae503ad2dadee694863c9e3f46a1d7aa0 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 22:41:55 +0200 Subject: [PATCH 11/41] less permissions ; more stage packages --- snap/gui/mpv.desktop | 2 +- snap/snapcraft.yaml | 19 +++++++++++++------ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/snap/gui/mpv.desktop b/snap/gui/mpv.desktop index 2d56affb..8444ddbe 100644 --- a/snap/gui/mpv.desktop +++ b/snap/gui/mpv.desktop @@ -25,7 +25,7 @@ Comment[pl]=Odtwarzaj filmy i muzykę Comment[ru]=Воспроизвести фильмы и музыку Comment[zh_CN]=播放电影和歌曲 Comment[zh_TW]=播放電影和歌曲 -Icon={SNAP}/meta/gui/mpv.svg +Icon={SNAP}/gui/mpv.svg TryExec=mpv Exec=mpv --player-operation-mode=pseudo-gui -- %U Terminal=false diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 8d71de62..597083fa 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -29,15 +29,15 @@ apps: - unity7 - x11 # allow access to ~/.config/mpv - - config-mpv + # - config-mpv # allow access to system fonts - desktop -plugs: - config-mpv: - interface: personal-files - write: - - $HOME/.config/mpv +# plugs: +# config-mpv: +# interface: personal-files +# write: +# - $HOME/.config/mpv parts: mpv: @@ -291,6 +291,7 @@ parts: - libxvmc1 - libzmq5 - libzvbi0 + - freeglut after: - desktop-glib-only - ffmpeg @@ -583,6 +584,12 @@ parts: - libxcb-shm0 - libxcb-xfixes0 - libxcb1 + - libglu1-mesa + - libxv1 + - libxvidcore4 + - libzmq5 + - libzvbi0 + - freeglut organize: usr/local: usr/ From 2fda503571b87d77df9c017f410709296e70c629 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 22:45:39 +0200 Subject: [PATCH 12/41] add architectures --- snap/snapcraft.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 597083fa..fdbff082 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -12,6 +12,10 @@ description: | grade: stable confinement: strict +architectures: + - build-on: amd64 + run-on: amd64 + apps: mpv: environment: From 51763235a73f94e11e5a2e85651bc102673115f4 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 22:53:23 +0200 Subject: [PATCH 13/41] fix freeglut3 package name --- snap/snapcraft.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index fdbff082..49f84f81 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -295,7 +295,7 @@ parts: - libxvmc1 - libzmq5 - libzvbi0 - - freeglut + - freeglut3 after: - desktop-glib-only - ffmpeg @@ -593,7 +593,7 @@ parts: - libxvidcore4 - libzmq5 - libzvbi0 - - freeglut + - freeglut3 organize: usr/local: usr/ From cead102884046faaa09325339d9adb3ba5e2d10c Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 23:21:16 +0200 Subject: [PATCH 14/41] fix icon path --- snap/gui/mpv.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/gui/mpv.desktop b/snap/gui/mpv.desktop index 8444ddbe..ca87aeca 100644 --- a/snap/gui/mpv.desktop +++ b/snap/gui/mpv.desktop @@ -25,7 +25,7 @@ Comment[pl]=Odtwarzaj filmy i muzykę Comment[ru]=Воспроизвести фильмы и музыку Comment[zh_CN]=播放电影和歌曲 Comment[zh_TW]=播放電影和歌曲 -Icon={SNAP}/gui/mpv.svg +Icon=${SNAP}/gui/mpv.svg TryExec=mpv Exec=mpv --player-operation-mode=pseudo-gui -- %U Terminal=false From d86d6d1f5659f73f57930afd6dbc312913575872 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sun, 31 May 2020 23:41:03 +0200 Subject: [PATCH 15/41] icon path --- snap/gui/mpv.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/gui/mpv.desktop b/snap/gui/mpv.desktop index ca87aeca..ba3fbe57 100644 --- a/snap/gui/mpv.desktop +++ b/snap/gui/mpv.desktop @@ -25,7 +25,7 @@ Comment[pl]=Odtwarzaj filmy i muzykę Comment[ru]=Воспроизвести фильмы и музыку Comment[zh_CN]=播放电影和歌曲 Comment[zh_TW]=播放電影和歌曲 -Icon=${SNAP}/gui/mpv.svg +Icon=gui/mpv.svg TryExec=mpv Exec=mpv --player-operation-mode=pseudo-gui -- %U Terminal=false From 6d25ba33cbe2c786a66902145eae82aa9e98cf31 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 00:11:55 +0200 Subject: [PATCH 16/41] desktop icon --- snap/gui/mpv.desktop | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/gui/mpv.desktop b/snap/gui/mpv.desktop index ba3fbe57..55928d07 100644 --- a/snap/gui/mpv.desktop +++ b/snap/gui/mpv.desktop @@ -25,7 +25,7 @@ Comment[pl]=Odtwarzaj filmy i muzykę Comment[ru]=Воспроизвести фильмы и музыку Comment[zh_CN]=播放电影和歌曲 Comment[zh_TW]=播放電影和歌曲 -Icon=gui/mpv.svg +Icon=${SNAP}/meta/gui/mpv.svg TryExec=mpv Exec=mpv --player-operation-mode=pseudo-gui -- %U Terminal=false From c6c085cc5f41f6fc227c663f0c29e9cd8ecc4b4b Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 00:55:21 +0200 Subject: [PATCH 17/41] use classic confinement --- README.md | 2 ++ snap/snapcraft.yaml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2d33a116..062b5dad 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +[![Snap Status](https://build.snapcraft.io/badge/nilsboy/mpv.svg)](https://build.snapcraft.io/user/nilsboy/mpv) +

mpv
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 49f84f81..b6d27959 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -10,7 +10,7 @@ description: | otherwise external media won't be accessible! grade: stable -confinement: strict +confinement: classic architectures: - build-on: amd64 From 0af4f1d57b78e4eddbb269c8affcb585fd285f70 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 01:18:04 +0200 Subject: [PATCH 18/41] remove plugs --- snap/snapcraft.yaml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index b6d27959..eef5f062 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -23,19 +23,19 @@ apps: VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv - plugs: - - home - - network - - opengl - - optical-drive - - pulseaudio - - removable-media - - unity7 - - x11 - # allow access to ~/.config/mpv - # - config-mpv - # allow access to system fonts - - desktop + # plugs: + # - home + # - network + # - opengl + # - optical-drive + # - pulseaudio + # - removable-media + # - unity7 + # - x11 + # # allow access to ~/.config/mpv + # # - config-mpv + # # allow access to system fonts + # - desktop # plugs: # config-mpv: From 5ec72d8d4d2f5a8e4a798373094701b01a756cc8 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 02:06:36 +0200 Subject: [PATCH 19/41] use mpv master branch --- snap/snapcraft.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index eef5f062..0db0c68a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -2,6 +2,7 @@ base: core18 name: mpv-nilsboy version: "0.29.1-nilsboy1" summary: a free, open source, and cross-platform media player. +icon: gui/mpv.svg description: | mpv is a media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, @@ -9,7 +10,7 @@ description: | Remember to connect this snap to the removable-media slot, otherwise external media won't be accessible! -grade: stable +grade: devel confinement: classic architectures: @@ -45,7 +46,7 @@ apps: parts: mpv: - source: https://github.com/mpv-player/mpv/archive/v0.29.1.tar.gz + source: https://github.com/mpv-player/mpv.git plugin: waf configflags: - --enable-cdda From d6c2e20d9e1354d66b5b23201ffd9c840d465e6a Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 02:13:22 +0200 Subject: [PATCH 20/41] fix icon --- README.md | 2 +- snap/snapcraft.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 062b5dad..31d7016e 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ [![Snap Status](https://build.snapcraft.io/badge/nilsboy/mpv.svg)](https://build.snapcraft.io/user/nilsboy/mpv)

- mpv + mpv
mpv

diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 0db0c68a..1b7070a0 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,8 +1,8 @@ base: core18 name: mpv-nilsboy -version: "0.29.1-nilsboy1" +version: "0.32.0-nilsboy1" summary: a free, open source, and cross-platform media player. -icon: gui/mpv.svg +icon: snap/gui/mpv.svg description: | mpv is a media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, From dcb27e84f3646a9bb708137de30ae00ba9bbb240 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 02:38:38 +0200 Subject: [PATCH 21/41] remove --enable-dvdread --- snap/snapcraft.yaml | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 1b7070a0..f842c9f3 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,14 +1,17 @@ base: core18 name: mpv-nilsboy -version: "0.32.0-nilsboy1" +version: "0.32.0-master" summary: a free, open source, and cross-platform media player. icon: snap/gui/mpv.svg description: | mpv is a media player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. - Remember to connect this snap to the removable-media slot, - otherwise external media won't be accessible! + + This version features a motion compensation option via vapoursynth. + + Install with: + sudo snap install --edge mpv-nilsboy --devmode grade: devel confinement: classic @@ -24,19 +27,19 @@ apps: VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv - # plugs: - # - home - # - network - # - opengl - # - optical-drive - # - pulseaudio - # - removable-media - # - unity7 - # - x11 - # # allow access to ~/.config/mpv - # # - config-mpv - # # allow access to system fonts - # - desktop + plugs: + - home + - network + - opengl + - optical-drive + - pulseaudio + - removable-media + - unity7 + - x11 + # allow access to ~/.config/mpv + # - config-mpv + # allow access to system fonts + - desktop # plugs: # config-mpv: @@ -51,7 +54,7 @@ parts: configflags: - --enable-cdda - --enable-dvdnav - - --enable-dvdread + # - --enable-dvdread # - --enable-encoding - --enable-libmpv-shared - --disable-static-build From da6948cf0da58ac527c1d92775fd607e10827bfb Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 03:54:21 +0200 Subject: [PATCH 22/41] remove plugs --- snap/snapcraft.yaml | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index f842c9f3..4d061846 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -27,19 +27,19 @@ apps: VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv - plugs: - - home - - network - - opengl - - optical-drive - - pulseaudio - - removable-media - - unity7 - - x11 - # allow access to ~/.config/mpv - # - config-mpv - # allow access to system fonts - - desktop + # plugs: + # - home + # - network + # - opengl + # - optical-drive + # - pulseaudio + # - removable-media + # - unity7 + # - x11 + # # allow access to ~/.config/mpv + # # - config-mpv + # # allow access to system fonts + # - desktop # plugs: # config-mpv: @@ -50,6 +50,7 @@ apps: parts: mpv: source: https://github.com/mpv-player/mpv.git + source-depth: 1 plugin: waf configflags: - --enable-cdda @@ -309,6 +310,7 @@ parts: ffmpeg: source: https://github.com/FFmpeg/FFmpeg.git + source-depth: 1 plugin: autotools configflags: - --enable-gpl @@ -604,6 +606,7 @@ parts: vapoursynth: # NOTE: Releases R36 and R37 seem to have errors source: https://github.com/vapoursynth/vapoursynth.git + source-depth: 1 source-tag: R35 # replace hardcoded vapoursynth plugin directory with snap one override-build: | @@ -619,7 +622,7 @@ parts: - autoconf - libtool - cmake - - cython + - cython3 - automake - build-essential - yasm @@ -633,6 +636,7 @@ parts: vapoursynth-mvtools: source: git://github.com/dubhater/vapoursynth-mvtools.git + source-depth: 1 plugin: meson override-build: | snapcraftctl build @@ -653,7 +657,10 @@ parts: - vapoursynth zimg: - source: git://github.com/sekrit-twc/zimg.git + source: https://github.com/sekrit-twc/zimg.git + source-depth: 1 + # need by vapoursynth (2020-06-01) + source-branch: v2.9 plugin: autotools configflags: - --enable-x86simd @@ -674,12 +681,14 @@ parts: - libglib2.0-dev plugin: make source: https://github.com/ubuntu/snapcraft-desktop-helpers.git + source-depth: 1 source-subdir: glib-only stage-packages: - libglib2.0-bin youtube-dl: source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz + source-depth: 1 plugin: python python-version: python3 after: From 702933f107f1d28db064f1f30fd6d8640c4c881e Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 03:58:57 +0200 Subject: [PATCH 23/41] remove depth for tar --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 4d061846..4b0168be 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -688,7 +688,7 @@ parts: youtube-dl: source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz - source-depth: 1 + # source-depth: 1 plugin: python python-version: python3 after: From 9e26a2d7a1a6588d44c1432301efc03a2fc77208 Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 04:27:30 +0200 Subject: [PATCH 24/41] youtubedl master --- snap/snapcraft.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 4b0168be..77999b1f 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -687,8 +687,8 @@ parts: - libglib2.0-bin youtube-dl: - source: https://github.com/rg3/youtube-dl/archive/2017.07.30.1.tar.gz - # source-depth: 1 + source: https://github.com/rg3/youtube-dl.git + source-depth: 1 plugin: python python-version: python3 after: From fd1094658d65a9046a2f627464366cf4690ca11b Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Mon, 1 Jun 2020 04:45:00 +0200 Subject: [PATCH 25/41] set confinement to devmoode --- snap/snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 77999b1f..15b93f16 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -14,7 +14,7 @@ description: | sudo snap install --edge mpv-nilsboy --devmode grade: devel -confinement: classic +confinement: devmode architectures: - build-on: amd64 From c00854319908ecea6d00729b22318b5cbbd4753b Mon Sep 17 00:00:00 2001 From: Nils Boysen Date: Sat, 12 Dec 2020 02:35:03 +0100 Subject: [PATCH 26/41] misc --- snap/snapcraft.yaml | 42 ++++++++++++++++++++---------------------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 15b93f16..5c9dfac5 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -13,8 +13,8 @@ description: | Install with: sudo snap install --edge mpv-nilsboy --devmode -grade: devel -confinement: devmode +grade: stable +confinement: strict architectures: - build-on: amd64 @@ -27,19 +27,19 @@ apps: VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv - # plugs: - # - home - # - network - # - opengl - # - optical-drive - # - pulseaudio - # - removable-media - # - unity7 - # - x11 - # # allow access to ~/.config/mpv - # # - config-mpv - # # allow access to system fonts - # - desktop + plugs: + - home + - network + - opengl + - optical-drive + - pulseaudio + - removable-media + - unity7 + - x11 + # allow access to ~/.config/mpv + # - config-mpv + # allow access to system fonts + - desktop # plugs: # config-mpv: @@ -152,7 +152,6 @@ parts: - libtheora0 - libtwolame0 - libuchardet-dev - - libuchardet0 - libv4l-dev - libva-dev - libva-drm2 @@ -207,6 +206,7 @@ parts: - python - python-docutils stage-packages: + - libuchardet0 - libharfbuzz0b - libx265-146 - libx264-152 @@ -278,7 +278,6 @@ parts: - libtesseract4 - libtheora0 - libtwolame0 - - libuchardet0 - libva-drm2 - libva-wayland2 - libva2 @@ -677,12 +676,11 @@ parts: usr/local: usr/ desktop-glib-only: - build-packages: - - libglib2.0-dev - plugin: make source: https://github.com/ubuntu/snapcraft-desktop-helpers.git - source-depth: 1 source-subdir: glib-only + plugin: make + build-packages: + - libglib2.0-dev stage-packages: - libglib2.0-bin @@ -691,5 +689,5 @@ parts: source-depth: 1 plugin: python python-version: python3 - after: + after: - ffmpeg From 9723e02f0ea97817ec560d696b3db446dd8e15f2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 02:42:26 +0100 Subject: [PATCH 27/41] add github action --- .github/workflows/cloud-run-deploy.yml | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/workflows/cloud-run-deploy.yml diff --git a/.github/workflows/cloud-run-deploy.yml b/.github/workflows/cloud-run-deploy.yml new file mode 100644 index 00000000..83673e54 --- /dev/null +++ b/.github/workflows/cloud-run-deploy.yml @@ -0,0 +1,30 @@ +name: Build And Deploy + +on: + push: + branches: + - "*" + +jobs: + setup-build-deploy: + name: Setup, Build, and Deploy + runs-on: ubuntu-latest + + steps: + - name: Set Vars + run: |- + echo "REPOSITORY=$(echo ${GITHUB_REPOSITORY#freenet-group/})" >> $GITHUB_ENV + echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV + source $GITHUB_ENV + echo BUILD_INFO=${SERVICE_NAME}-${GITHUB_SHA}-$(date '+%F-%H%M%S') >> $GITHUB_ENV + + source $GITHUB_ENV + echo "### Project Configs: " + cat $GITHUB_ENV + + - name: Checkout + uses: actions/checkout@v2 + + - name: Create Snap + run: |- + docker run -v $(pwd):/snap snapcore/snapcraft sh -c "apt update && cd /snap && snapcraft" From 8a73bf7d2bf1a7e510ea6ad333c92ac11b125e63 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 03:03:07 +0100 Subject: [PATCH 28/41] don't mount over /snap --- .github/workflows/cloud-run-deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cloud-run-deploy.yml b/.github/workflows/cloud-run-deploy.yml index 83673e54..c0131d00 100644 --- a/.github/workflows/cloud-run-deploy.yml +++ b/.github/workflows/cloud-run-deploy.yml @@ -27,4 +27,4 @@ jobs: - name: Create Snap run: |- - docker run -v $(pwd):/snap snapcore/snapcraft sh -c "apt update && cd /snap && snapcraft" + docker run -v $(pwd):/app snapcore/snapcraft sh -c "apt update && cd /app && snapcraft" From c1297db4f906d8b588ed8508df0fbf0fbf5c6f91 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 04:04:49 +0100 Subject: [PATCH 29/41] remove option --enable-libwavpack from ffmpeg --- snap/snapcraft.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 5c9dfac5..5ee70e2a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -344,7 +344,8 @@ parts: - --enable-libtwolame - --enable-libvorbis - --enable-libvpx - - --enable-libwavpack + # unknown option (2020-12-12) + # - --enable-libwavpack - --enable-libwebp - --enable-libx264 - --enable-libfdk-aac From a7c1f4d4d3a3f581afce2116294c9b7a6c1d6cb0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 04:22:02 +0100 Subject: [PATCH 30/41] remove pkg-config --- snap/snapcraft.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 5ee70e2a..c3cf49f2 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -202,7 +202,7 @@ parts: - libxxf86vm1 - libzmq5 - libzvbi0 - - pkg-config + # - pkg-config - python - python-docutils stage-packages: @@ -424,7 +424,7 @@ parts: - libxvmc-dev - libzmq3-dev - libzvbi-dev - - pkg-config + # - pkg-config - texinfo - zlib1g-dev - libasound2 From 5ccbb83b52f2485f8339cfd38b450742c8828b73 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 15:26:03 +0100 Subject: [PATCH 31/41] PIDBB-304 add vdpau libs --- .github/workflows/cloud-run-deploy.yml | 30 -------------------------- snap/snapcraft.yaml | 8 +++++++ 2 files changed, 8 insertions(+), 30 deletions(-) delete mode 100644 .github/workflows/cloud-run-deploy.yml diff --git a/.github/workflows/cloud-run-deploy.yml b/.github/workflows/cloud-run-deploy.yml deleted file mode 100644 index c0131d00..00000000 --- a/.github/workflows/cloud-run-deploy.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Build And Deploy - -on: - push: - branches: - - "*" - -jobs: - setup-build-deploy: - name: Setup, Build, and Deploy - runs-on: ubuntu-latest - - steps: - - name: Set Vars - run: |- - echo "REPOSITORY=$(echo ${GITHUB_REPOSITORY#freenet-group/})" >> $GITHUB_ENV - echo "BRANCH=$(echo ${GITHUB_REF#refs/heads/})" >> $GITHUB_ENV - source $GITHUB_ENV - echo BUILD_INFO=${SERVICE_NAME}-${GITHUB_SHA}-$(date '+%F-%H%M%S') >> $GITHUB_ENV - - source $GITHUB_ENV - echo "### Project Configs: " - cat $GITHUB_ENV - - - name: Checkout - uses: actions/checkout@v2 - - - name: Create Snap - run: |- - docker run -v $(pwd):/app snapcore/snapcraft sh -c "apt update && cd /app && snapcraft" diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index c3cf49f2..3dcf21b7 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -65,6 +65,10 @@ parts: ./bootstrap.py snapcraftctl build build-packages: + - vdpau-va-driver + - libvdpau-va-gl1 + - mesa-vdpau-drivers + - vdpauinfo - build-essential - libasound2 - libasound2-dev @@ -206,6 +210,10 @@ parts: - python - python-docutils stage-packages: + - vdpau-va-driver + - libvdpau-va-gl1 + - mesa-vdpau-drivers + - vdpauinfo - libuchardet0 - libharfbuzz0b - libx265-146 From cd27773debf72a95624c013e36df30fc67da2033 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 16:35:36 +0100 Subject: [PATCH 32/41] add libvdpau-va-gl --- snap/snapcraft.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 3dcf21b7..9ec532e0 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -312,6 +312,7 @@ parts: - desktop-glib-only - ffmpeg - vapoursynth + - libvdpau-va-gl organize: usr/local: usr/ @@ -700,3 +701,22 @@ parts: python-version: python3 after: - ffmpeg + + libvdpau-va-gl: + source: https://github.com/i-rinat/libvdpau-va-gl.git + source-depth: 1 + plugin: autotools + configflags: + - --enable-x86simd + build-packages: + - git + - g++ + - make + - autoconf + - libtool + - cmake + - automake + - build-essential + - libva-dev + - libgl1-mesa-dev + From fe0521d3be0ff830d45b4ac222631db484205921 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 17:03:23 +0100 Subject: [PATCH 33/41] PIDBB-304 cmake --- snap/snapcraft.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 9ec532e0..eebd7f90 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -705,9 +705,8 @@ parts: libvdpau-va-gl: source: https://github.com/i-rinat/libvdpau-va-gl.git source-depth: 1 - plugin: autotools + plugin: cmake configflags: - - --enable-x86simd build-packages: - git - g++ From a01b3ef1821eb0d55153d5ccc889939b3ed735bd Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 17:13:56 +0100 Subject: [PATCH 34/41] PIDBB-304 cmake --- snap/snapcraft.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index eebd7f90..95a5a263 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -706,7 +706,6 @@ parts: source: https://github.com/i-rinat/libvdpau-va-gl.git source-depth: 1 plugin: cmake - configflags: build-packages: - git - g++ From 036fa58c90a63fa36e6ca0e01504585f8b038422 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 17:47:45 +0100 Subject: [PATCH 35/41] add LD_LIBRARY_PATH --- snap/snapcraft.yaml | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 95a5a263..eec49292 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -25,6 +25,9 @@ apps: environment: # directory where vapoursynth plugins should reside VAPOURSYNTH_PLUGIN_PATH: $SNAP/lib/vapoursynth + # https://forum.snapcraft.io/t/opengl-error-mesa-loader-fails/15197/ + LD_LIBRARY_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/mesa:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/mesa-gl:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/xorg:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio/ + LIBGL_DRIVERS_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv plugs: @@ -312,7 +315,7 @@ parts: - desktop-glib-only - ffmpeg - vapoursynth - - libvdpau-va-gl + # - libvdpau-va-gl organize: usr/local: usr/ @@ -702,19 +705,19 @@ parts: after: - ffmpeg - libvdpau-va-gl: - source: https://github.com/i-rinat/libvdpau-va-gl.git - source-depth: 1 - plugin: cmake - build-packages: - - git - - g++ - - make - - autoconf - - libtool - - cmake - - automake - - build-essential - - libva-dev - - libgl1-mesa-dev + # libvdpau-va-gl: + # source: https://github.com/i-rinat/libvdpau-va-gl.git + # source-depth: 1 + # plugin: cmake + # build-packages: + # - git + # - g++ + # - make + # - autoconf + # - libtool + # - cmake + # - automake + # - build-essential + # - libva-dev + # - libgl1-mesa-dev From 8177fb8a406d885ca04c7e7ec65843cec47a43d8 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 19:17:10 +0100 Subject: [PATCH 36/41] add va-driver-all --- snap/snapcraft.yaml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index eec49292..558dff7b 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1,6 +1,6 @@ base: core18 name: mpv-nilsboy -version: "0.32.0-master" +version: "git" summary: a free, open source, and cross-platform media player. icon: snap/gui/mpv.svg description: | @@ -13,6 +13,8 @@ description: | Install with: sudo snap install --edge mpv-nilsboy --devmode + Repository: https://github.com/nilsboy/mpv + grade: stable confinement: strict @@ -68,6 +70,7 @@ parts: ./bootstrap.py snapcraftctl build build-packages: + - va-driver-all - vdpau-va-driver - libvdpau-va-gl1 - mesa-vdpau-drivers @@ -705,19 +708,3 @@ parts: after: - ffmpeg - # libvdpau-va-gl: - # source: https://github.com/i-rinat/libvdpau-va-gl.git - # source-depth: 1 - # plugin: cmake - # build-packages: - # - git - # - g++ - # - make - # - autoconf - # - libtool - # - cmake - # - automake - # - build-essential - # - libva-dev - # - libgl1-mesa-dev - From 57176cb2784281b8740bfc5ecac1c4fc7c9ed1c2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 19:52:48 +0100 Subject: [PATCH 37/41] move to staged-packages va-driver-all --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 558dff7b..0126fbdf 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -216,6 +216,7 @@ parts: - python - python-docutils stage-packages: + - va-driver-all - vdpau-va-driver - libvdpau-va-gl1 - mesa-vdpau-drivers From 57955ce8daddea196468570e7c2d8384d25181bc Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 20:18:03 +0100 Subject: [PATCH 38/41] add i965-va-driver --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 0126fbdf..48a3d2cf 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -216,6 +216,7 @@ parts: - python - python-docutils stage-packages: + - i965-va-driver - va-driver-all - vdpau-va-driver - libvdpau-va-gl1 From 715fb64489ebd74d7917e8bf9d42b761a95a7795 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 20:56:49 +0100 Subject: [PATCH 39/41] add LIBVA_DRIVERS_PATH --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 48a3d2cf..f1908cd3 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -30,6 +30,7 @@ apps: # https://forum.snapcraft.io/t/opengl-error-mesa-loader-fails/15197/ LD_LIBRARY_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/mesa:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/mesa-gl:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/xorg:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio/ LIBGL_DRIVERS_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri + LIBVA_DRIVERS_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv plugs: From 2366385596ce8f8bb0f9c69e682d0e88565223d0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 12 Dec 2020 22:05:10 +0100 Subject: [PATCH 40/41] PIDBB-304 misc --- snap/snapcraft.yaml | 177 ++++++++++++++++++++++---------------------- 1 file changed, 90 insertions(+), 87 deletions(-) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index f1908cd3..01cf792a 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -33,6 +33,7 @@ apps: LIBVA_DRIVERS_PATH: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/dri # command: desktop-launch $SNAP/usr/bin/mpv command: ./usr/bin/mpv + # TODO: vainfo vdpauinfo plugs: - home - network @@ -223,6 +224,7 @@ parts: - libvdpau-va-gl1 - mesa-vdpau-drivers - vdpauinfo + - vainfo - libuchardet0 - libharfbuzz0b - libx265-146 @@ -318,9 +320,9 @@ parts: - libzvbi0 - freeglut3 after: - - desktop-glib-only + # - desktop-glib-only - ffmpeg - - vapoursynth + # - vapoursynth # - libvdpau-va-gl organize: usr/local: usr/ @@ -621,93 +623,94 @@ parts: organize: usr/local: usr/ - vapoursynth: - # NOTE: Releases R36 and R37 seem to have errors - source: https://github.com/vapoursynth/vapoursynth.git - source-depth: 1 - source-tag: R35 - # replace hardcoded vapoursynth plugin directory with snap one - override-build: | - perl -pi -007e 's/\Qstd::string systemPluginDir(tmp ? tmp : VS_PATH_PLUGINDIR);\E/const char *snapPluginDir = getenv("VAPOURSYNTH_PLUGIN_PATH");\nstd::string systemPluginDir(snapPluginDir);\n/gms' src/core/vscore.cpp - snapcraftctl build - plugin: autotools - configflags: - - --disable-ocr - build-packages: - - git - - g++ - - make - - autoconf - - libtool - - cmake - - cython3 - - automake - - build-essential - - yasm - - libpython3.6 - stage-packages: - - libpython3.6 - organize: - usr/local/lib: usr/lib - after: - - zimg + # vapoursynth: + # # NOTE: Releases R36 and R37 seem to have errors + # source: https://github.com/vapoursynth/vapoursynth.git + # source-depth: 1 + # source-tag: R35 + # # replace hardcoded vapoursynth plugin directory with snap one + # override-build: | + # perl -pi -007e 's/\Qstd::string systemPluginDir(tmp ? tmp : VS_PATH_PLUGINDIR);\E/const char *snapPluginDir = getenv("VAPOURSYNTH_PLUGIN_PATH");\nstd::string systemPluginDir(snapPluginDir);\n/gms' src/core/vscore.cpp + # snapcraftctl build + # plugin: autotools + # configflags: + # - --disable-ocr + # build-packages: + # - git + # - g++ + # - make + # - autoconf + # - libtool + # - cmake + # - cython3 + # - automake + # - build-essential + # - yasm + # - libpython3.6 + # stage-packages: + # - libpython3.6 + # organize: + # usr/local/lib: usr/lib + # after: + # - zimg - vapoursynth-mvtools: - source: git://github.com/dubhater/vapoursynth-mvtools.git - source-depth: 1 - plugin: meson - override-build: | - snapcraftctl build - mkdir -pv $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ - cp $SNAPCRAFT_PART_INSTALL/usr/local/lib/x86_64-linux-gnu/* $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ - build-packages: - - git - - g++ - - make - - autoconf - - libtool - - cmake - - automake - - build-essential - - libfftw3-dev - - nasm - after: - - vapoursynth + # vapoursynth-mvtools: + # source: git://github.com/dubhater/vapoursynth-mvtools.git + # source-depth: 1 + # plugin: meson + # override-build: | + # snapcraftctl build + # mkdir -pv $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + # cp $SNAPCRAFT_PART_INSTALL/usr/local/lib/x86_64-linux-gnu/* $SNAPCRAFT_PART_INSTALL/lib/vapoursynth/ + # build-packages: + # - git + # - g++ + # - make + # - autoconf + # - libtool + # - cmake + # - automake + # - build-essential + # - libfftw3-dev + # - nasm + # after: + # - vapoursynth - zimg: - source: https://github.com/sekrit-twc/zimg.git - source-depth: 1 - # need by vapoursynth (2020-06-01) - source-branch: v2.9 - plugin: autotools - configflags: - - --enable-x86simd - build-packages: - - git - - g++ - - make - - autoconf - - libtool - - cmake - - automake - - build-essential - organize: - usr/local: usr/ + # zimg: + # source: https://github.com/sekrit-twc/zimg.git + # source-depth: 1 + # # need by vapoursynth (2020-06-01) + # source-branch: v2.9 + # plugin: autotools + # configflags: + # - --enable-x86simd + # build-packages: + # - git + # - g++ + # - make + # - autoconf + # - libtool + # - cmake + # - automake + # - build-essential + # organize: + # usr/local: usr/ - desktop-glib-only: - source: https://github.com/ubuntu/snapcraft-desktop-helpers.git - source-subdir: glib-only - plugin: make - build-packages: - - libglib2.0-dev - stage-packages: - - libglib2.0-bin + # desktop-glib-only: + # source: https://github.com/ubuntu/snapcraft-desktop-helpers.git + # source-depth: 1 + # source-subdir: glib-only + # plugin: make + # build-packages: + # - libglib2.0-dev + # stage-packages: + # - libglib2.0-bin - youtube-dl: - source: https://github.com/rg3/youtube-dl.git - source-depth: 1 - plugin: python - python-version: python3 - after: - - ffmpeg + # youtube-dl: + # source: https://github.com/rg3/youtube-dl.git + # source-depth: 1 + # plugin: python + # python-version: python3 + # after: + # - ffmpeg From 86f7e3731631a0d2387633c657bc9e88d3ef0181 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sun, 13 Dec 2020 00:48:17 +0100 Subject: [PATCH 41/41] PIDBB-304 misc --- snap/snapcraft.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 01cf792a..bdebc539 100644 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -72,6 +72,7 @@ parts: ./bootstrap.py snapcraftctl build build-packages: + - yasm - va-driver-all - vdpau-va-driver - libvdpau-va-gl1