Update AppImage scripts for FFmpeg hw accel

parent 7e8a90ae
Pipeline #34831 passed with stage
in 9 minutes and 47 seconds
......@@ -96,11 +96,14 @@ add_subdirectory( ext_fftw3 )
add_subdirectory( ext_fftw3f )
add_subdirectory( ext_sdl2 )
add_subdirectory( ext_sox )
add_subdirectory( ext_jack )
add_subdirectory( ext_jack )
add_subdirectory( ext_ladspa )
add_subdirectory( ext_x264 )
add_subdirectory( ext_x265 )
add_subdirectory( ext_libvpx )
add_subdirectory( ext_nv-codec-headers )
add_subdirectory( ext_amf )
add_subdirectory( ext_mfx )
add_subdirectory( ext_ffmpeg )
add_subdirectory( ext_cairo )
add_subdirectory( ext_pango )
......
ExternalProject_Add(
ext_amf
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
GIT_REPOSITORY https://github.com/GPUOpen-LibrariesAndSDKs/AMF.git
GIT_TAG master
CONFIGURE_COMMAND rm -rf <SOURCE_DIR>/Thirdparty
BUILD_ALWAYS TRUE
BUILD_IN_SOURCE 1
BUILD_COMMAND mkdir -p ${EXT_INSTALL_DIR}/include/AMF
INSTALL_COMMAND cp -av <SOURCE_DIR>/amf/public/include/. ${EXT_INSTALL_DIR}/include/AMF
)
......@@ -7,7 +7,7 @@ ExternalProject_Add(
UPDATE_COMMAND git checkout debian/7%4.3-3
# PATCH_COMMAND rm <SOURCE_DIR>/tests/ref/fate/sub-scc
GIT_TAG debian/master
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${EXT_INSTALL_DIR} --extra-ldflags="-L${EXT_INSTALL_DIR}/lib -lstdc++ -lm -lrt -ldl" --extra-cflags="-I$EXT_INSTALL_DIR/include" --enable-shared --enable-avfilter --enable-gpl --enable-avresample --enable-libx265 --enable-libvpx --enable-libx264 --disable-doc --enable-libmp3lame --enable-libopus --enable-libvorbis
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${EXT_INSTALL_DIR} --extra-ldflags="-L${EXT_INSTALL_DIR}/lib -lstdc++ -lm -lrt -ldl" --extra-cflags="-I$EXT_INSTALL_DIR/include" --enable-shared --enable-avfilter --enable-gpl --enable-avresample --enable-libx265 --enable-libvpx --enable-libx264 --disable-doc --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-nvenc --enable-libmfx --enable-vaapi
BUILD_ALWAYS TRUE
BUILD_IN_SOURCE 1
BUILD_COMMAND $(MAKE) clean
......
......@@ -195,11 +195,11 @@ function(InstallKF5Component
endfunction()
if(MINGW)
set(KF5_VERSION 5.71) # we have Qt 5.14.2 available.
set(KF5_VERSION 5.74) # we have Qt 5.14.2 available.
elseif(APPLE)
set(KF5_VERSION 5.71) # we have Qt 5.14.1 available.
set(KF5_VERSION 5.74) # we have Qt 5.14.1 available.
else()
set(KF5_VERSION 5.71) # we have Qt 5.14.2 available.
set(KF5_VERSION 5.74) # we have Qt 5.14.2 available.
endif()
if(APPLE)
......@@ -244,20 +244,21 @@ InstallKF5Component(attica ${KF5_VERSION} ""
InstallKF5Component(kio ${KF5_VERSION} "" "")
InstallKF5Component(frameworkintegration ${KF5_VERSION} "" "")
InstallKF5Component(qqc2-desktop-style ${KF5_VERSION} "" "")
InstallKF5Component(plasma-framework ${KF5_VERSION} "" "")
ExternalProject_Add(
ext_kdecoration
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
URL http://download.kde.org/stable/plasma/5.18.3/kdecoration-5.18.3.tar.xz
URL_MD5 150da856a2dab8e28f76011638f23869
URL http://download.kde.org/stable/plasma/5.19.5/kdecoration-5.19.5.tar.xz
URL_MD5 3cc5be057c571dc20775ac52a6af2908
CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE}
)
ExternalProject_Add(
ext_breeze
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
URL http://download.kde.org/stable/plasma/5.18.3/breeze-5.18.3.tar.xz
URL_MD5 09018228efdfc18be6cc11092290b183
URL http://download.kde.org/stable/plasma/5.19.5/breeze-5.19.5.tar.xz
URL_MD5 f664f181d10c4cbbe4b385068c75539a
CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE}
DEPENDS ext_kdecoration
)
......
ExternalProject_Add(
ext_mfx
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
GIT_REPOSITORY git://github.com/lu-zero/mfx_dispatch.git
GIT_TAG master
CONFIGURE_COMMAND autoreconf -fiv
COMMAND ./configure --prefix=${EXT_INSTALL_DIR}
BUILD_ALWAYS TRUE
BUILD_IN_SOURCE 1
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND $(MAKE) install
)
ExternalProject_Add(
ext_nv-codec-headers
DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR}
GIT_REPOSITORY git://github.com/FFmpeg/nv-codec-headers.git
GIT_TAG master
CONFIGURE_COMMAND sed -i s,/usr/local,${EXT_INSTALL_DIR}, <SOURCE_DIR>/Makefile
BUILD_ALWAYS TRUE
BUILD_IN_SOURCE 1
BUILD_COMMAND $(MAKE)
INSTALL_COMMAND $(MAKE) install
)
......@@ -6,18 +6,25 @@ set -e
# Be verbose
set -x
# Make sure the base dependencies are installed
#apt-get -y install build-essential perl python git '^libxcb.*-dev' libx11-xcb-dev \
# libglu1-mesa-dev libxrender-dev libxi-dev flex bison gperf libicu-dev ruby
#apt-get -y install cmake3 wget tar bzip2 xz-utils libtool libfile-which-perl automake gcc-4.8 patch \
# g++-4.8 zlib1g-dev libglib2.0-dev libc6-dev libeigen3-dev libssl-dev \
# libcppunit-dev libstdc++-4.8-dev libfreetype6-dev libfontconfig1-dev liblcms2-dev \
# mesa-common-dev libaio-dev lzma liblzma-dev\
# libpulse-dev libsox-dev liblist-moreutils-perl libxml-parser-perl \
# libjack-dev autopoint language-pack-en-base
#apt-get update && apt-get install -y apt-transport-https ca-certificates gnupg software-properties-common wget
#wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | apt-key add -
#add-apt-repository -y ppa:openjdk-r/ppa && apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
## Update the system and bring in our core operating requirements
#apt-get update && apt-get upgrade -y && apt-get install -y openssh-server openjdk-8-jre-headless
## Some software demands a newer GCC because they're using C++14 stuff, which is just insane
## We do this after the general system update to ensure it doesn't bring in any unnecessary updates
#add-apt-repository -y ppa:ubuntu-toolchain-r/test && apt-get update
## Now install the general dependencies we need for builds
#apt-get install -y build-essential cmake git-core locales automake gcc-6 g++-6 libxml-parser-perl libpq-dev libaio-dev bison gettext gperf libasound2-dev libatkmm-1.6-dev libbz2-dev libcairo-perl libcap-dev libcups2-dev libdbus-1-dev libdrm-dev libegl1-mesa-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev libgl1-mesa-dev libglib-perl libgsl0-dev libgsl0-dev gstreamer1.0-alsa libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgtk2-perl libjpeg-dev libnss3-dev libpci-dev libpng12-dev libpulse-dev libssl-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libtiff5-dev libudev-dev libwebp-dev flex libmysqlclient-dev libx11-dev libxkbcommon-x11-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-util0-dev libxcb-res0-dev libxcb1-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev libxrandr-dev libxrender-dev libxss-dev libxtst-dev mesa-common-dev liblist-moreutils-perl libtool libpixman-1-dev subversion
#apt-get -y install libpixman-1-dev docbook-xml docbook-xsl libattr1-dev
## Required for vaapi gpu encoding
#apt-get -y install libva-dev
# Read in our parameters
export BUILD_PREFIX=$1
export KDENLIVE_SOURCES=$2
......@@ -109,13 +116,16 @@ cmake --build . --target ext_x265 -j$CPU_CORES
export CC=/usr/bin/gcc
export CXX=/usr/bin/g++
#cmake --build . --target ext_libvpx -j$CPU_CORES
cmake --build . --target ext_libvpx -j$CPU_CORES
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
cmake --build . --target ext_opus -j$CPU_CORES
cmake --build . --target ext_nv-codec-headers -j$CPU_CORES
cmake --build . --target ext_amf -j$CPU_CORES
cmake --build . --target ext_mfx -j$CPU_CORES
cmake --build . --target ext_ffmpeg -j$CPU_CORES
cmake --build . --target ext_sox -j$CPU_CORES
cmake --build . --target ext_jack -j$CPU_CORES
......@@ -134,9 +144,9 @@ export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
#cmake --build . --target ext_movit
cmake --build . --target ext_frameworks
##cmake --build . --target ext_movit
cmake --build . --target ext_frameworks
cmake --build . --config RelWithDebInfo --target ext_extra-cmake-modules -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kconfig -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_breeze-icons -- -j$CPU_CORES
......@@ -168,13 +178,12 @@ cmake --build . --config RelWithDebInfo --target ext_kio -- -j$C
cmake --build . --config RelWithDebInfo --target ext_knotifyconfig -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kpackage -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_knewstuff -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_knotifications -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kdeclarative -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kservice -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_kimageformats -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_knotifications -- -j$CPU_CORES
#cmake --build . --config RelWithDebInfo --target ext_frameworkintegration -- -j$CPU_CORES
cmake --build . --config RelWithDebInfo --target ext_frameworkintegration -- -j$CPU_CORES
cmake --build . --target ext_breeze
#cmake --build . --target ext_kwayland
#cmake --build . --target ext_plasma-framework
#cmake --build . --target ext_ruby
......@@ -16,6 +16,7 @@ export APPIMAGEPLUGINS=$APPDIR/usr/plugins/
mkdir -p $APPDIR
mkdir -p $APPDIR/usr/share/kdenlive
mkdir -p $APPDIR/usr/lib
mkdir -p $APPDIR/usr/lib/va
mkdir -p $PLUGINS
mkdir -p $APPDIR/usr/plugins
......@@ -43,11 +44,11 @@ cd $BUILD_PREFIX
# Step 1: Copy over all the resources provided by dependencies that we need
cp -r $DEPS_INSTALL_PREFIX/share/kf5 $APPDIR/usr/share
cp -r $DEPS_INSTALL_PREFIX/share/kstyle $APPDIR/usr/share
cp -r $DEPS_INSTALL_PREFIX/share/plasma $APPDIR/usr/share
#cp -r $DEPS_INSTALL_PREFIX/share/kstyle $APPDIR/usr/share
#cp -r $DEPS_INSTALL_PREFIX/share/plasma $APPDIR/usr/share
cp -r $DEPS_INSTALL_PREFIX/share/alsa $APPDIR/usr/share
cp -r $DEPS_INSTALL_PREFIX/share/kservices5 $APPDIR/usr/share
cp -r $DEPS_INSTALL_PREFIX/share/qt5 $APPDIR/usr/share
#cp -r $DEPS_INSTALL_PREFIX/share/qt5 $APPDIR/usr/share
cp -r $DEPS_INSTALL_PREFIX/share/mime $APPDIR/usr/share
if [ -d $DEPS_INSTALL_PREFIX/share/color-schemes ] ; then
......@@ -73,15 +74,19 @@ cp -r $DEPS_INSTALL_PREFIX/bin/ffmpeg $APPDIR/usr/bin
cp -r $DEPS_INSTALL_PREFIX/bin/ffplay $APPDIR/usr/bin
cp -r $DEPS_INSTALL_PREFIX/bin/ffprobe $APPDIR/usr/bin
cp -r $DEPS_INSTALL_PREFIX/plugins/kf5 $APPIMAGEPLUGINS
cp -r $DEPS_INSTALL_PREFIX/plugins/styles $APPIMAGEPLUGINS
#cp -r $DEPS_INSTALL_PREFIX/plugins/styles $APPIMAGEPLUGINS
cp -r $DEPS_INSTALL_PREFIX/plugins/audio $APPIMAGEPLUGINS
cp -r $DEPS_INSTALL_PREFIX/plugins/org.kde.kdecoration2 $APPIMAGEPLUGINS
cp -r $DEPS_INSTALL_PREFIX/plugins/kstyle_breeze_config.so $APPIMAGEPLUGINS
#cp -r $DEPS_INSTALL_PREFIX/plugins/org.kde.kdecoration2 $APPIMAGEPLUGINS
#cp -r $DEPS_INSTALL_PREFIX/plugins/kstyle_breeze_config.so $APPIMAGEPLUGINS
mkdir -p $APPDIR/usr/libexec
cp -r $DEPS_INSTALL_PREFIX/lib/x86_64-linux-gnu/libexec/kf5/* $APPDIR/usr/libexec/
#libva accel
cp -r /usr/lib/x86_64-linux-gnu/libva* $APPDIR/usr/lib
cp -r /usr/lib/x86_64-linux-gnu/dri/*_drv_video.so $APPDIR/usr/lib/va
cp $(ldconfig -p | grep libGL.so.1 | cut -d ">" -f 2 | xargs) $APPDIR/usr/lib/
#cp $(ldconfig -p | grep libGLU.so.1 | cut -d ">" -f 2 | xargs) $APPDIR/usr/lib/
......@@ -101,22 +106,32 @@ for lib in $APPIMAGEPLUGINS/audio/*.so*; do
patchelf --set-rpath '$ORIGIN/../../lib' $lib;
done
for lib in $APPIMAGEPLUGINS/styles/*.so*; do
patchelf --set-rpath '$ORIGIN/../../lib' $lib;
done
#for lib in $APPIMAGEPLUGINS/styles/*.so*; do
# patchelf --set-rpath '$ORIGIN/../../lib' $lib;
#done
for lib in $APPIMAGEPLUGINS/kf5/*.so*; do
patchelf --set-rpath '$ORIGIN/../../lib' $lib;
done
for lib in $APPIMAGEPLUGINS/org.kde.kdecoration2/*.so*; do
patchelf --set-rpath '$ORIGIN/../../lib' $lib;
done
#for lib in $APPIMAGEPLUGINS/org.kde.kdecoration2/*.so*; do
# patchelf --set-rpath '$ORIGIN/../../lib' $lib;
#done
for lib in $APPDIR/usr/lib/mlt/*.so*; do
patchelf --set-rpath '$ORIGIN/..' $lib;
done
for lib in $APPDIR/usr/lib/libva*.so*; do
patchelf --set-rpath '$ORIGIN' $lib;
done
for lib in $APPDIR/usr/lib/va/*.so*; do
patchelf --set-rpath '$ORIGIN/..' $lib;
done
### GSTREAMER
# Requires gstreamer1.0-plugins-good
GST_PLUGIN_SRC_DIR=/usr/lib/x86_64-linux-gnu/
......@@ -153,9 +168,13 @@ cp $APPDIR/usr/share/icons/breeze/apps/48/kdenlive.svg $APPDIR
#linuxdeployqt $APPDIR/usr/bin/ffplay
#linuxdeployqt $APPDIR/usr/bin/ffprobe
#linuxdeployqt $APPDIR/usr/bin/melt
#linuxdeployqt -executable $APPDIR/usr/lib/va/*.so
linuxdeployqt $APPDIR/usr/share/applications/org.kde.kdenlive.desktop \
-executable=$APPDIR/usr/bin/kdenlive \
-executable=$APPDIR/usr/lib/libva.so \
-executable=$APPDIR/usr/lib/libva-drm.so \
-executable=$APPDIR/usr/lib/libva-x11.so \
-qmldir=$DEPS_INSTALL_PREFIX/qml \
-verbose=2 \
-bundle-non-qt-libs \
......@@ -194,6 +213,7 @@ export MLT_REPOSITORY=\$DIR/usr/lib/mlt/
export MLT_DATA=\$DIR/usr/share/mlt/
export MLT_ROOT_DIR=\$DIR/usr/
export LADSPA_PATH=\$DIR/usr/lib/ladspa
export LIBVA_DRIVERS_PATH=\$DIR/usr/lib/va
export FREI0R_PATH=\$DIR/usr/lib/frei0r-1
export MLT_PROFILES_PATH=\$DIR/usr/share/mlt/profiles/
export MLT_PRESETS_PATH=\$DIR/usr/share/mlt/presets/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment