Spracherkennung für: .yaml vermutete Sprache: MT940 {MT940[51] Fortran[22] SQL[21]} [Methode: maximale Elemente, drei Dimensionen]
name: vlc
adopt
-info: vlc
version:
"daily"
grade: stable
base: core24
summary: Read, capture, broadcast your multimedia streams
description: |
VLC is a free and open source cross
-platform multimedia player and
framework that plays most multimedia files as well as DVDs, Audio CDs,
VCDs, and various streaming protocols.
NOTE. This snap contains an untested daily build of VLC
confinement: strict
compression: lzo
plugs:
desktop:
mount
-host-font-cache: false
dot
-config-aacs:
interface: personal
-files
read:
- $HOME/.config/aacs
hooks:
configure:
plugs:
- desktop
apps:
vlc:
desktop: vlc.desktop
command: usr/bin/vlc
-snap-wrapper.sh
extensions:
- kde-neon-6
common
-id: org.videolan.vlc
plugs:
- audio-playback
- audio-record
- avahi-control
- avahi-observe
- camera
- dot-config-aacs
- dvb
- hardware-observe
- home
- mount-observe
- media-control
- optical-drive
- removable-media
- screen-inhibit-control
- pipewire
- udisks2
slots:
- mpris
parts:
vlc:
source: .
source
-type: git
# We should be able to use the autotools plugin, but `kde
-neon-6` override
# and prepend the `build
-environment` variables with its own paths,
# and kde
-qt6-core24-sdk already ships vlc which will create some linker issues
# when craftctl is called, this environment will be reseted even if we change the
# PATH/LD_LIBRARY_PATH in the override
-build
plugin: nil
build
-environment:
# setup our build environment to use the packages/libraries provided by the base snap packages
#be sure to have qmake and others in our path
- PATH: /snap/kde-qt6-core24-sdk/current/usr/bin/qt6:/snap/kf6-core24-sdk/current/usr/lib/qt6/libexec/${PATH:+:$PATH}
override
-pull: |
craftctl default
craftctl set version=$(git describe
--always HEAD)
override
-build: |
cd extras/tools
./bootstrap
make
-j ${CRAFT_PARALLEL_BUILD_COUNT} all
cd ../../
#kde
-neon-6 extension override the paths (PATH/LD_LIBRARY_PATH/...) with kf6-core24-sdk paths so we can't set these in the environment
#kf6
-core24-sdk already ships VLC, make sure that the one we're building will be used when linking vlc
export PATH=$PWD/extras/tools/build/bin:${PATH}
export LD_LIBRARY_PATH=$(pwd)/src/.libs/:$(pwd)/lib/.libs/:${LD_LIBRARY_PATH}
export VLC_CONTRIB_SHA=
"$(extras/ci/get-contrib-sha.sh snap)"
export VLC_PREBUILT_CONTRIBS_URL=
"https://artifacts.videolan.org/vlc/snap/vlc-contrib-${CRAFT_ARCH_TRIPLET_BUILD_FOR}-${VLC_CONTRIB_SHA}.tar.zst"
if ! extras/ci/check
-url.sh "$VLC_PREBUILT_CONTRIBS_URL"; then unset VLC_PREBUILT_CONTRIBS_URL; fi
cd contrib && mkdir linux && cd linux
../bootstrap \
--host=${CRAFT_ARCH_TRIPLET_BUILD_FOR} \
--enable-sections \
--enable-libdsm \
--enable-dvdcss
if [
-v VLC_PREBUILT_CONTRIBS_URL ]; then
make prebuilt PREBUILT_URL=
"$VLC_PREBUILT_CONTRIBS_URL"
make
-j ${CRAFT_PARALLEL_BUILD_COUNT} tools
else
make list
make
-j ${CRAFT_PARALLEL_BUILD_COUNT} fetch
make
-j ${CRAFT_PARALLEL_BUILD_COUNT} -k || make -j1
#export prebuilt for CI jobs
if [
-f "$CRAFT_PROJECT_DIR/snap-save-prebuilt" ]; then
make package
mv ../vlc
-contrib-*.tar.zst $CRAFT_PROJECT_DIR/contrib || true
fi
fi
cd ../..
#craftctl default
./bootstrap
./configure \
--host=${CRAFT_ARCH_TRIPLET_BUILD_FOR} \
--prefix=/usr \
--enable-merge-ffmpeg \
--enable-extra-checks \
--disable-qt-qml-cache \
--disable-pipewire
make
-j ${CRAFT_PARALLEL_BUILD_COUNT}
make install DESTDIR=
"${CRAFT_PART_INSTALL}"
find ${CRAFT_PART_INSTALL}/usr/lib
-name "*.la" -delete
cp ${CRAFT_PART_INSTALL}/usr/share/icons/hicolor/
256x256/apps/vlc.png ${CRAFT_PART
_INSTALL}/vlc.png
cp ${CRAFT_PART_INSTALL}/usr/share/applications/vlc.desktop ${CRAFT_PART_INSTALL}/vlc.desktop
sed -i 's/\(^Icon=\).*$/\1\/vlc.png/' ${CRAFT_PART_INSTALL}/vlc.desktop
sed -i 's|TryExec=.*|TryExec=/snap/bin/vlc|' ${CRAFT_PART_INSTALL}/vlc.desktop
build-packages:
# build tools
- ant
- autopoint
- git
- g++
- gperf
- nasm
- make
- autoconf
- libtool
- libtool-bin
- cmake
- automake
- build-essential
- curl
- gettext
- openjdk-11-jdk-headless
- python3
- python3-pip
- python3-venv
- python3-jinja2
- lua5.2
- pkg-config
- xz-utils
- zlib1g-dev
- bison
- flex
##
- glslang-dev
- libaom-dev
- libarchive-dev
- libaribb24-dev
- libasound2-dev
- libass-dev
- libavcodec-dev
- libavdevice-dev
- libavfilter-dev
- libavformat-dev
- libavutil-dev
- libbluray-dev
- libcaca-dev
- libchromaprint-dev
- libdav1d-dev
- libdca-dev
- libdvbpsi-dev
- libdvbcsa-dev
- libdvdnav-dev
- libdvdread-dev
- libebur128-dev
- libfaad-dev
- libffi-dev
- libflac-dev
- libfluidsynth-dev
- libgmp-dev
- libgsm1-dev
- libjack-dev
- libjpeg-turbo8-dev
- libkate-dev
- libmad0-dev
- libmatroska-dev
- libmodplug-dev
- libmpeg2-4-dev
- libmpcdec-dev
- libmpg123-dev
- libmysofa-dev
- libnfs-dev
- libogg-dev
- liborc-0.4-dev
- libplacebo-dev
- libpango1.0-dev
- libpostproc-dev
- libsamplerate0-dev
- libshout-dev
- libsidplay2-dev
- libsoxr-dev
- libspatialaudio-dev
- libspeex-dev
- libspeexdsp-dev
- libsrt-gnutls-dev
- libssh2-1-dev
- libswresample-dev
- libswscale-dev
- libtag1-dev
- libtheora-dev
- libtwolame-dev
- libupnp-dev
- libvncserver-dev
- libvorbis-dev
- libvpx-dev
- libx264-dev
- libx265-dev
- libxcb1-dev
- libxcb-xfixes0-dev
- libasound2-dev
- libavahi-client-dev
- libcdio-dev
- libdbus-1-dev
- libdirectfb-dev
- libdrm-dev
- libegl1-mesa-dev
- libfreetype-dev
- libfribidi-dev
- libgbm-dev
- libgles2-mesa-dev
- libgnutls28-dev
- libglib2.0-dev
- libgme-dev
- libgtk-3-dev
- libidn-dev
- libjack-dev
- liblirc-dev
- liblua5.2-dev
- libmtp-dev
- libncurses-dev
- libpng-dev
- libpulse-dev
- librist-dev
- librsvg2-dev
- libsecret-1-dev
- libsqlite3-dev
- libudev-dev
- libv4l-dev
- libva-dev
- libvdpau-dev
- libx11-dev
- libxcb-composite0-dev
- libxcb-damage0-dev
- libxcb-keysyms1-dev
- libxcb-randr0-dev
- libxcb-shm0-dev
- libxcb-xv0-dev
- libxcb1-dev
- libxext-dev
- libxi-dev
- libxinerama-dev
- libxkbcommon-x11-dev
- libxml2-dev
- libxpm-dev
- libzvbi-dev
- libvulkan-dev
- libgcrypt20-dev
- libsystemd-dev
- wayland-protocols
stage-packages:
- dbus-x11
- fonts-freefont-ttf
- libaacs0
- libaom3
- libarchive13
- libaribb24-0
- libasound2t64
- libass9
- libatk1.0-0
- libavcodec60
- libavformat60
- libavutil58
- libbluray2
- libcaca0
- libchromaprint1
- libdav1d7
- libdb5.3
- libdca0
- libdvbpsi10
- libdvbcsa1
- libdvdnav4
- libdvdread8t64
- libebur128-1
- libfluidsynth3
- libfreetype6
- libfribidi0
- libgcc1
- libgcrypt20
- libglib2.0-0
- libgme0
- libgtk-3-0
- libidn12
- libjack0
- libkate1
- liblua5.2-0
- libmad0
- libmatroska7
- libmodplug1
- libmp3lame0
- libmpeg2-4
- libmpcdec6
- libmpg123-0
- libmtp9
- libmysofa1
- libnfs14
- libnotify4
- libopenjp2-7
- liborc-0.4-0
- libpango-1.0-0
- libplacebo338
- libpostproc57
- libpulse0
- librist4
- librsvg2-2
- libsamplerate0
- libsecret-1-0
- libshout3
- libsndio7.0
- libsoxr0
- libspatialaudio0
- libspeex1
- libspeexdsp1
- libsqlite3-0
- libsrt1.5-gnutls
- libssh2-1
- libswresample4
- libswscale7
- libtag1v5-vanilla
- libtheora0
- libtwolame0
- libupnp17t64
- libvncclient1
- libvorbisfile3
- libvpx9
- libx264-164
- libx265-199
- libxcb-composite0
- libxcb-damage0
- libxcb-keysyms1
- libxcb-randr0
- libxcomposite1
- libxcursor1
- libxext6
- libxi6
- libxinerama1
- libxkbcommon-x11-0
- libxpm4
- libxrandr2
- libzvbi0
- openjdk-8-jdk
- zlib1g
prime:
#excluded
- "-usr/lib/*/cmake/*"
- "-usr/include/*"
- "-usr/share/ECM/*"
- "-usr/share/doc/*"
- "-usr/share/man/*"
- "-usr/share/icons/breeze-dark*"
- "-usr/bin/X11"
- "-usr/lib/gcc/${CRAFT_ARCH_TRIPLET_BUILD_FOR}/6.0.0"
- "-usr/lib/aspell/*"
- "-usr/share/lintain"
wrapper:
plugin: dump
after: [vlc]
source: extras/package/snap
organize:
vlc-snap-wrapper.sh: usr/bin/vlc-snap-wrapper.sh
cleanup:
after:
- wrapper
plugin: nil
build-snaps:
- core24
- kf6-core24
# remove libraries already present in base snap pacakges
# kf6-core24 already ships vlc, make sure to not delete our own files
override-prime: |
set -eux
for snap in "core24" "kf6-core24"
do
cd "/snap/$snap/current" && find . -type f,l -a ! -path "*vlc*" -exec rm -rf "{$CRAFT_PRIME}/{}" \;
done