misc video players: Clean up cross

This commit is contained in:
John Ericson 2018-05-10 01:38:51 -04:00
parent 7d0906eea8
commit 7864a17bfb
4 changed files with 47 additions and 66 deletions

View File

@ -12,9 +12,13 @@ let
sha256 = "03s1zsprz5p6gjgwwqcf7b6cvzwwid6l8k7bamx9i0f1iwkgdm0j"; sha256 = "03s1zsprz5p6gjgwwqcf7b6cvzwwid6l8k7bamx9i0f1iwkgdm0j";
}; };
configurePlatforms = [];
configureFlags = [ configureFlags = [
"--arch=arm" "--arch=${hostPlatform.parsed.cpu.name}"
] ++ stdenv.lib.optionals stdenv.hostPlatform.isAarch32 [
# TODO be better with condition
"--cpu=arm1176jzf-s" "--cpu=arm1176jzf-s"
] ++ [
"--disable-muxers" "--disable-muxers"
"--enable-muxer=spdif" "--enable-muxer=spdif"
"--enable-muxer=adts" "--enable-muxer=adts"
@ -42,20 +46,15 @@ let
"--enable-hardcoded-tables" "--enable-hardcoded-tables"
"--disable-runtime-cpudetect" "--disable-runtime-cpudetect"
"--disable-debug" "--disable-debug"
"--arch=${hostPlatform.parsed.cpu.name}"
"--target_os=${hostPlatform.parsed.kernel.name}"
] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
]; ];
enableParallelBuilding = true; enableParallelBuilding = true;
crossAttrs = {
configurePlatforms = [];
configureFlags = configureFlags ++ [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
"--target_os=linux"
"--arch=${hostPlatform.parsed.cpu.name}"
];
};
meta = { meta = {
homepage = http://www.ffmpeg.org/; homepage = http://www.ffmpeg.org/;
description = "A complete, cross-platform solution to record, convert and stream audio and video"; description = "A complete, cross-platform solution to record, convert and stream audio and video";
@ -83,5 +82,6 @@ stdenv.mkDerivation rec {
homepage = https://github.com/huceke/omxplayer; homepage = https://github.com/huceke/omxplayer;
description = "Commandline OMX player for the Raspberry Pi"; description = "Commandline OMX player for the Raspberry Pi";
license = stdenv.lib.licenses.gpl2Plus; license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.arm;
}; };
} }

View File

@ -249,7 +249,10 @@ stdenv.mkDerivation rec {
--replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1 --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1
''; '';
configurePlatforms = [];
configureFlags = [ configureFlags = [
"--target_os=${hostPlatform.parsed.kernel.name}"
"--arch=${hostPlatform.parsed.cpu.name}"
/* /*
* Licensing flags * Licensing flags
*/ */
@ -371,8 +374,6 @@ stdenv.mkDerivation rec {
#(enableFeature quvi "libquvi") #(enableFeature quvi "libquvi")
(enableFeature (rtmpdump != null) "librtmp") (enableFeature (rtmpdump != null) "librtmp")
#(enableFeature (schroedinger != null) "libschroedinger") #(enableFeature (schroedinger != null) "libschroedinger")
#(enableFeature (shine != null) "libshine")
(enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient")
(enableFeature (SDL2 != null) "sdl2") (enableFeature (SDL2 != null) "sdl2")
(enableFeature (soxr != null) "libsoxr") (enableFeature (soxr != null) "libsoxr")
(enableFeature (speex != null) "libspeex") (enableFeature (speex != null) "libspeex")
@ -396,6 +397,9 @@ stdenv.mkDerivation rec {
(enableFeature optimizationsDeveloper "optimizations") (enableFeature optimizationsDeveloper "optimizations")
(enableFeature extraWarningsDeveloper "extra-warnings") (enableFeature extraWarningsDeveloper "extra-warnings")
(enableFeature strippingDeveloper "stripping") (enableFeature strippingDeveloper "stripping")
] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
]; ];
nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
@ -432,21 +436,8 @@ stdenv.mkDerivation rec {
done done
''; '';
enableParallelBuilding = true; enableParallelBuilding = true;
/* Cross-compilation is untested, consider this an outline, more work
needs to be done to portions of the build to get it to work correctly */
crossAttrs = {
configurePlatforms = [];
configureFlags = configureFlags ++ [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
"--target_os=${hostPlatform.parsed.kernel.name}"
"--arch=${hostPlatform.parsed.cpu.name}"
];
};
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A complete, cross-platform solution to record, convert and stream audio and video"; description = "A complete, cross-platform solution to record, convert and stream audio and video";
homepage = https://www.ffmpeg.org/; homepage = https://www.ffmpeg.org/;

View File

@ -79,7 +79,10 @@ stdenv.mkDerivation rec {
++ optional (reqMin "1.0") "doc" ; # just dev-doc ++ optional (reqMin "1.0") "doc" ; # just dev-doc
setOutputFlags = false; # doesn't accept all and stores configureFlags in libs! setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
configurePlatforms = [];
configureFlags = [ configureFlags = [
"--arch=${hostPlatform.parsed.cpu.name}"
"--target_os=${hostPlatform.parsed.kernel.name}"
# License # License
"--enable-gpl" "--enable-gpl"
"--enable-version3" "--enable-version3"
@ -145,6 +148,9 @@ stdenv.mkDerivation rec {
"--disable-stripping" "--disable-stripping"
# Disable mmx support for 0.6.90 # Disable mmx support for 0.6.90
(verFix null "0.6.90" "--disable-mmx") (verFix null "0.6.90" "--disable-mmx")
] ++ optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
] ++ optional stdenv.cc.isClang "--cc=clang"; ] ++ optional stdenv.cc.isClang "--cc=clang";
nativeBuildInputs = [ perl pkgconfig texinfo yasm ]; nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
@ -168,18 +174,6 @@ stdenv.mkDerivation rec {
moveToOutput share/ffmpeg/examples "$doc" moveToOutput share/ffmpeg/examples "$doc"
''; '';
/* Cross-compilation is untested, consider this an outline, more work
needs to be done to portions of the build to get it to work correctly */
crossAttrs = {
configurePlatforms = [];
configureFlags = configureFlags ++ [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
"--target_os=${hostPlatform.parsed.kernel.name}"
"--arch=${hostPlatform.parsed.cpu.name}"
];
};
installFlags = [ "install-man" ]; installFlags = [ "install-man" ];
passthru = { passthru = {

View File

@ -18,7 +18,7 @@
assert faacSupport -> enableUnfree; assert faacSupport -> enableUnfree;
let inherit (stdenv.lib) optional optionals hasPrefix; in let inherit (stdenv.lib) optional optionals hasPrefix enableFeature; in
/* ToDo: /* ToDo:
- more deps, inspiration: http://packages.ubuntu.com/raring/libav-tools - more deps, inspiration: http://packages.ubuntu.com/raring/libav-tools
@ -51,29 +51,35 @@ let
substituteInPlace ./configure --replace "#! /bin/sh" "#!${bash}/bin/sh" substituteInPlace ./configure --replace "#! /bin/sh" "#!${bash}/bin/sh"
''; '';
configureFlags = configurePlatforms = [];
assert stdenv.lib.all (x: x!=null) buildInputs; configureFlags = assert stdenv.lib.all (x: x!=null) buildInputs; [
[ "--arch=${hostPlatform.parsed.cpu.name}"
"--target_os=${hostPlatform.parsed.kernel.name}"
#"--enable-postproc" # it's now a separate package in upstream #"--enable-postproc" # it's now a separate package in upstream
"--disable-avserver" # upstream says it's in a bad state "--disable-avserver" # upstream says it's in a bad state
"--enable-avplay" "--enable-avplay"
"--enable-shared" "--enable-shared"
"--enable-runtime-cpudetect" "--enable-runtime-cpudetect"
"--cc=cc" "--cc=cc"
] (enableFeature enableGPL "gpl")
++ optionals enableGPL [ "--enable-gpl" "--enable-swscale" ] (enableFeature enableGPL "swscale")
++ optional mp3Support "--enable-libmp3lame" (enableFeature mp3Support "libmp3lame")
++ optional speexSupport "--enable-libspeex" (enableFeature mp3Support "libmp3lame")
++ optional theoraSupport "--enable-libtheora" (enableFeature speexSupport "libspeex")
++ optional vorbisSupport "--enable-libvorbis" (enableFeature theoraSupport "libtheora")
++ optional vpxSupport "--enable-libvpx" (enableFeature vorbisSupport "libvorbis")
++ optional x264Support "--enable-libx264" (enableFeature vpxSupport "libvpx")
++ optional xvidSupport "--enable-libxvid" (enableFeature x264Support "libx264")
++ optional faacSupport "--enable-libfaac --enable-nonfree" (enableFeature xvidSupport "libxvid")
++ optional vaapiSupport "--enable-vaapi" (enableFeature faacSupport "libfaac")
++ optional vdpauSupport "--enable-vdpau" (enableFeature faacSupport "nonfree")
++ optional freetypeSupport "--enable-libfreetype" (enableFeature vaapiSupport "vaapi")
; (enableFeature vdpauSupport "vdpau")
(enableFeature freetypeSupport "libfreetype")
] ++ optional (stdenv.hostPlatform != stdenv.buildPlatform) [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
];
nativeBuildInputs = [ pkgconfig perl ]; nativeBuildInputs = [ pkgconfig perl ];
buildInputs = [ lame yasm zlib bzip2 SDL bash ] buildInputs = [ lame yasm zlib bzip2 SDL bash ]
@ -112,16 +118,6 @@ let
doInstallCheck = false; # fails randomly doInstallCheck = false; # fails randomly
installCheckTarget = "check"; # tests need to be run *after* installation installCheckTarget = "check"; # tests need to be run *after* installation
crossAttrs = {
configurePlatforms = [];
configureFlags = configureFlags ++ [
"--cross-prefix=${stdenv.cc.targetPrefix}"
"--enable-cross-compile"
"--target_os=linux"
"--arch=${hostPlatform.parsed.cpu.name}"
];
};
passthru = { inherit vdpauSupport; }; passthru = { inherit vdpauSupport; };
meta = with stdenv.lib; { meta = with stdenv.lib; {