64 lines
1.9 KiB
Nix
64 lines
1.9 KiB
Nix
|
{ stdenv, lib, fetchFromGitHub, extra-cmake-modules, makeQtWrapper
|
||
|
, qtbase, qtmultimedia, qtquick1, qttools
|
||
|
, mesa, libX11
|
||
|
, libass, openal, ffmpeg, libuchardet
|
||
|
, alsaLib, libpulseaudio, libva
|
||
|
}:
|
||
|
|
||
|
with stdenv.lib;
|
||
|
|
||
|
stdenv.mkDerivation rec {
|
||
|
name = "libqtav-${version}";
|
||
|
|
||
|
# Awaiting upcoming `v1.12.0` release. `v1.11.0` is not supporting cmake which is the
|
||
|
# the reason behind taking an unstable git rev.
|
||
|
version = "unstable-2017-03-30";
|
||
|
|
||
|
nativeBuildInputs = [ extra-cmake-modules makeQtWrapper qttools ];
|
||
|
buildInputs = [
|
||
|
qtbase qtmultimedia qtquick1
|
||
|
mesa libX11
|
||
|
libass openal ffmpeg libuchardet
|
||
|
alsaLib libpulseaudio libva
|
||
|
];
|
||
|
|
||
|
src = fetchFromGitHub {
|
||
|
sha256 = "1xw0ynm9w501651rna3ppf8p336ag1p60i9dxhghzm543l7as93v";
|
||
|
rev = "4b4ae3b470b2fcbbcf1b541c2537fb270ee0bcfa";
|
||
|
repo = "QtAV";
|
||
|
owner = "wang-bin";
|
||
|
fetchSubmodules = true;
|
||
|
};
|
||
|
|
||
|
patchPhase = ''
|
||
|
sed -i -e 's#CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT#TRUE#g' ./CMakeLists.txt
|
||
|
sed -i -e 's#DESTINATION ''${QT_INSTALL_LIBS}/cmake#DESTINATION ''${QTAV_INSTALL_LIBS}/cmake#g' ./CMakeLists.txt
|
||
|
'';
|
||
|
|
||
|
# Make sure libqtav finds its libGL dependancy at both link and run time
|
||
|
# by adding mesa to rpath. Not sure why it wasn't done automatically like
|
||
|
# the other libraries as `mesa` is part of our `buildInputs`.
|
||
|
NIX_CFLAGS_LINK = [ "-Wl,-rpath,${mesa}/lib"];
|
||
|
|
||
|
preFixup = ''
|
||
|
mkdir -p "$out/bin"
|
||
|
cp -a "./bin/"* "$out/bin"
|
||
|
'';
|
||
|
|
||
|
postFixup = ''
|
||
|
for i in `find $out/bin -maxdepth 1 -xtype f -executable`; do
|
||
|
wrapQtProgram "$i"
|
||
|
done
|
||
|
'';
|
||
|
|
||
|
meta = {
|
||
|
description = "A multimedia playback framework based on Qt + FFmpeg.";
|
||
|
#license = licenses.lgpl21; # For the libraries / headers only.
|
||
|
license = licenses.gpl3; # With the examples (under bin) and most likely some of the optional dependencies used.
|
||
|
homepage = http://www.qtav.org/;
|
||
|
maintainers = [ maintainers.jraygauthier ];
|
||
|
platforms = platforms.linux;
|
||
|
};
|
||
|
}
|
||
|
|