nixpkgs/pkgs/applications/video/omxplayer/default.nix
John Ericson e755a8a27d treewide: Use targetPrefix instead of prefix for platform name prefixes
Certain tools, e.g. compilers, are customarily prefixed with the name of
their target platform so that multiple builds can be used at once
without clobbering each other on the PATH. I was using identifiers named
`prefix` for this purpose, but that conflicts with the standard use of
`prefix` to mean the directory where something is installed. To avoid
conflict and confusion, I renamed those to `targetPrefix`.
2017-11-27 03:15:50 -05:00

88 lines
2.3 KiB
Nix

{ stdenv, fetchurl
, raspberrypifw, pcre, boost, freetype, zlib
, hostPlatform
}:
let
ffmpeg = stdenv.mkDerivation rec {
name = "ffmpeg-1.1.3";
src = fetchurl {
url = "http://www.ffmpeg.org/releases/${name}.tar.bz2";
sha256 = "03s1zsprz5p6gjgwwqcf7b6cvzwwid6l8k7bamx9i0f1iwkgdm0j";
};
configureFlags = [
"--arch=arm"
"--cpu=arm1176jzf-s"
"--disable-muxers"
"--enable-muxer=spdif"
"--enable-muxer=adts"
"--disable-encoders"
"--enable-encoder=ac3"
"--enable-encoder=aac"
"--disable-decoder=mpeg_xvmc"
"--disable-devices"
"--disable-ffprobe"
"--disable-ffplay"
"--disable-ffserver"
"--disable-ffmpeg"
"--enable-shared"
"--disable-doc"
"--enable-postproc"
"--enable-gpl"
"--enable-protocol=http"
"--enable-pthreads"
"--disable-runtime-cpudetect"
"--enable-pic"
"--disable-armv5te"
"--disable-neon"
"--enable-armv6t2"
"--enable-armv6"
"--enable-hardcoded-tables"
"--disable-runtime-cpudetect"
"--disable-debug"
];
enableParallelBuilding = true;
crossAttrs = {
configurePlatforms = [];
configureFlags = configureFlags ++ [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
"--target_os=linux"
"--arch=${hostPlatform.arch}"
];
};
meta = {
homepage = http://www.ffmpeg.org/;
description = "A complete, cross-platform solution to record, convert and stream audio and video";
};
};
in
stdenv.mkDerivation rec {
name = "omxplayer-20130328-fbee325dc2";
src = fetchurl {
url = https://github.com/huceke/omxplayer/tarball/fbee325dc2;
name = "${name}.tar.gz";
sha256 = "0fkvv8il7ffqxki2gp8cxa5shh6sz9jsy5vv3f4025g4gss6afkg";
};
patchPhase = ''
sed -i 1d Makefile
export INCLUDES="-I${raspberrypifw}/include/interface/vcos/pthreads -I${raspberrypifw}/include/interface/vmcs_host/linux/"
'';
installPhase = ''
mkdir -p $out/bin
cp omxplayer.bin $out/bin
'';
buildInputs = [ raspberrypifw ffmpeg pcre boost freetype zlib ];
meta = {
homepage = https://github.com/huceke/omxplayer;
description = "Commandline OMX player for the Raspberry Pi";
license = stdenv.lib.licenses.gpl2Plus;
};
}