Files
haikuports/media-video/vlc/vlc-3.0.21.recipe
Gerasim Troeglazov ce7e14ab64 VLC: fix deskbar link
2024-12-13 16:05:54 +10:00

257 lines
7.4 KiB
Bash

SUMMARY="The popular cross-plattform media player"
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."
HOMEPAGE="https://www.videolan.org/vlc/"
COPYRIGHT="1998-2024 VideoLAN"
LICENSE="GNU GPL v2"
REVISION="5"
SOURCE_URI="https://download.videolan.org/pub/videolan/vlc/$portVersion/vlc-$portVersion.tar.xz"
SOURCE_DIR="vlc-$portVersion"
CHECKSUM_SHA256="24dbbe1d7dfaeea0994d5def0bbde200177347136dbfe573f5b6a4cee25afbb0"
PATCHES="vlc-$portVersion.patchset"
ADDITIONAL_FILES="
vlc.rdef.in
vlc_launcher.rdef.in
haikuicons.zip
"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
commandSuffix=$secondaryArchSuffix
commandBinDir=$binDir
if [ "$targetArchitecture" = x86_gcc2 ]; then
commandSuffix=
commandBinDir=$prefix/bin
fi
PROVIDES="
vlc$secondaryArchSuffix = $portVersion
app:VLC = $portVersion
cmd:vlc$commandSuffix = $portVersion
lib:libvlc$secondaryArchSuffix = 5.6.1 compat >= 5
lib:libvlccore$secondaryArchSuffix = 9.0.1 compat >= 9
"
REQUIRES="
haiku$secondaryArchSuffix
lib:liba52$secondaryArchSuffix
lib:libarchive$secondaryArchSuffix
lib:libass$secondaryArchSuffix
lib:libavcodec$secondaryArchSuffix
lib:libavformat$secondaryArchSuffix
lib:libavutil$secondaryArchSuffix
lib:libbluray$secondaryArchSuffix
lib:libcddb$secondaryArchSuffix
lib:libdca$secondaryArchSuffix
lib:libdvbpsi$secondaryArchSuffix
lib:libdvdcss$secondaryArchSuffix
lib:libdvdnav$secondaryArchSuffix
lib:libdvdread$secondaryArchSuffix
# lib:libebml$secondaryArchSuffix
lib:libenca$secondaryArchSuffix
lib:libfaad$secondaryArchSuffix
lib:libflac$secondaryArchSuffix
lib:libfluidsynth$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libgme$secondaryArchSuffix
lib:libgnutls$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblua$secondaryArchSuffix
lib:libmad$secondaryArchSuffix
# lib:libmatroska$secondaryArchSuffix
# lib:libmodplug$secondaryArchSuffix
lib:libmpcdec$secondaryArchSuffix
lib:libmpeg2$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopus$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libsamplerate$secondaryArchSuffix
lib:libschroedinger_1.0$secondaryArchSuffix
lib:libspeex$secondaryArchSuffix
lib:libspeexdsp$secondaryArchSuffix
lib:libswscale$secondaryArchSuffix
lib:libtag$secondaryArchSuffix
lib:libtheoradec$secondaryArchSuffix
lib:libtheoraenc$secondaryArchSuffix
lib:libtwolame$secondaryArchSuffix
lib:libupnp$secondaryArchSuffix
lib:libvorbis$secondaryArchSuffix
lib:libvorbisenc$secondaryArchSuffix
lib:libvpx$secondaryArchSuffix
lib:libx264$secondaryArchSuffix
lib:libx265$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
vlc${secondaryArchSuffix}_devel = $portVersion
devel:libvlc$secondaryArchSuffix = 5.6.1 compat >= 5
devel:libvlccore$secondaryArchSuffix = 9.0.1 compat >= 9
"
REQUIRES_devel="
vlc$secondaryArchSuffix == $portVersion base
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
live555${secondaryArchSuffix}_devel
devel:liba52$secondaryArchSuffix
devel:libarchive$secondaryArchSuffix
devel:libass$secondaryArchSuffix
devel:libavcodec$secondaryArchSuffix >= 60
devel:libavformat$secondaryArchSuffix >= 60
devel:libavutil$secondaryArchSuffix >= 58
devel:libbluray$secondaryArchSuffix
devel:libcddb$secondaryArchSuffix
devel:libdca$secondaryArchSuffix
devel:libdvbpsi$secondaryArchSuffix
devel:libdvdcss$secondaryArchSuffix
devel:libdvdnav$secondaryArchSuffix
devel:libdvdread$secondaryArchSuffix
# devel:libebml$secondaryArchSuffix
devel:libenca$secondaryArchSuffix
devel:libfaad$secondaryArchSuffix
devel:libflac$secondaryArchSuffix
devel:libfluidsynth$secondaryArchSuffix >= 2
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgl$secondaryArchSuffix
devel:libgme$secondaryArchSuffix
devel:libgnutls$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblua$secondaryArchSuffix >= 5.2
devel:libmad$secondaryArchSuffix
# devel:libmatroska$secondaryArchSuffix
# devel:libmodplug$secondaryArchSuffix
devel:libmpcdec$secondaryArchSuffix
devel:libmpeg2$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopus$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libsamplerate$secondaryArchSuffix
devel:libschroedinger_1.0$secondaryArchSuffix
devel:libspeex$secondaryArchSuffix
devel:libspeexdsp$secondaryArchSuffix
devel:libssl$secondaryArchSuffix >= 3
devel:libswscale$secondaryArchSuffix >= 7
devel:libtag$secondaryArchSuffix >= 1.18.0
devel:libtheora$secondaryArchSuffix
devel:libtwolame$secondaryArchSuffix
devel:libupnp$secondaryArchSuffix
devel:libvorbis$secondaryArchSuffix
devel:libvpx$secondaryArchSuffix
devel:libx264$secondaryArchSuffix
devel:libx265$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:aclocal
cmd:autoreconf
cmd:gcc$secondaryArchSuffix
cmd:gettext$secondaryArchSuffix
cmd:libtoolize$secondaryArchSuffix
cmd:luac5.2$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:xargs
cmd:yacc
"
BUILD()
{
unzip -o $portDir/additional-files/haikuicons.zip -d $sourceDir
autoreconf
export BUILDCC=gcc
export CFLAGS="-lgnu -lnetwork"
export CXXFLAGS="-lgnu -lnetwork"
runConfigure --omit-dirs binDir ./configure \
--bindir="$commandBinDir" \
--disable-rpath \
--with-default-font=`finddir B_SYSTEM_FONTS_DIRECTORY`/ttfonts/NotoMono-Regular.ttf \
--with-default-font-family=Sans \
--with-default-monospace-font-family=Monospace \
--disable-dependency-tracking \
--disable-static \
--enable-run-as-root \
--disable-update-check \
--enable-fast-install \
--enable-lua
make $jobArgs
cd haiku
gcc VLCLauncher.cpp -lbe -o "VLC media player"
}
INSTALL()
{
make install-strip
rm -rf $dataDir/{applications,icons,kde4}
rm -rf $binDir/{cvlc,qvlc,rvlc,vlc-wrapper}
find $libDir -name '*.la' -delete
mkdir -p $appsDir
cp "haiku/VLC media player" $appsDir
mv $commandBinDir/vlc $commandBinDir/VLC
ln -s $commandBinDir/VLC $commandBinDir/vlc
local APP_SIGNATURE="application/x-vnd.vlc"
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/vlc.rdef.in > vlc.rdef
addResourcesToBinaries vlc.rdef $commandBinDir/VLC
local APP_SIGNATURE="application/x-vnd.vlc-launcher"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/vlc_launcher.rdef.in > vlc_launcher.rdef
addResourcesToBinaries vlc_launcher.rdef "$appsDir/VLC media player"
addAppDeskbarSymlink "$appsDir/VLC media player"
prepareInstalledDevelLibs \
libvlc \
libvlccore
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
make check
}