3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #201379 from SuperSandro2000/mpv-unwrapped

This commit is contained in:
Sandro 2022-12-07 01:24:09 +01:00 committed by GitHub
commit 944a28da8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,11 +4,10 @@
, fetchFromGitHub
, addOpenGLRunpath
, docutils
, perl
, meson
, ninja
, pkg-config
, python3
, wafHook
, which
, ffmpeg
, freefont_ttf
, freetype
@ -19,6 +18,7 @@
, libuchardet
, libiconv
, CoreFoundation, Cocoa, CoreAudio, MediaPlayer
, xcbuild
, waylandSupport ? stdenv.isLinux
, wayland
@ -97,40 +97,36 @@ in stdenv.mkDerivation rec {
patchShebangs version.* ./TOOLS/
'';
NIX_LDFLAGS = lib.optionalString x11Support "-lX11 -lXext "
+ lib.optionalString stdenv.isDarwin "-framework CoreFoundation";
NIX_LDFLAGS = lib.optionalString x11Support "-lX11 -lXext ";
# These flags are not supported and cause the build
# to fail, even when cross compilation itself works.
dontAddWafCrossFlags = true;
mesonFlags = let
mesonFeatureFlag = feature: flag: "-D${feature}=${if flag then "enabled" else "disabled"}";
in [
"-Ddefault_library=shared"
"-Dlibmpv=true"
(mesonFeatureFlag "libarchive" archiveSupport)
(mesonFeatureFlag "manpage-build" true)
(mesonFeatureFlag "cdda" cddaSupport)
(mesonFeatureFlag "dvbin" dvbinSupport)
(mesonFeatureFlag "dvdnav" dvdnavSupport)
(mesonFeatureFlag "openal" openalSupport)
(mesonFeatureFlag "sdl2" sdl2Support)
# Disable whilst Swift isn't supported
(mesonFeatureFlag "swift-build" swiftSupport)
(mesonFeatureFlag "macos-cocoa-cb" swiftSupport)
];
wafConfigureFlags = [
"--enable-libmpv-shared"
"--enable-manpage-build"
"--disable-libmpv-static"
"--disable-static-build"
"--disable-build-date" # Purity
(lib.enableFeature archiveSupport "libarchive")
(lib.enableFeature cddaSupport "cdda")
(lib.enableFeature dvdnavSupport "dvdnav")
(lib.enableFeature javascriptSupport "javascript")
(lib.enableFeature openalSupport "openal")
(lib.enableFeature sdl2Support "sdl2")
(lib.enableFeature sixelSupport "sixel")
(lib.enableFeature vaapiSupport "vaapi")
(lib.enableFeature waylandSupport "wayland")
(lib.enableFeature dvbinSupport "dvbin")
] # Disable whilst Swift isn't supported
++ lib.optional (!swiftSupport) "--disable-macos-cocoa-cb";
mesonAutoFeatures = "auto";
nativeBuildInputs = [
addOpenGLRunpath
docutils # for rst2man
perl
meson
ninja
pkg-config
python3
wafHook
which
] ++ lib.optionals stdenv.isDarwin [
xcbuild.xcrun
] ++ lib.optionals swiftSupport [ swift ]
++ lib.optionals waylandSupport [ wayland-scanner ];
@ -175,10 +171,10 @@ in stdenv.mkDerivation rec {
++ lib.optionals stdenv.isDarwin [ libiconv ]
++ lib.optionals stdenv.isDarwin [ CoreFoundation Cocoa CoreAudio MediaPlayer ];
enableParallelBuilding = true;
postBuild = lib.optionalString stdenv.isDarwin ''
pushd .. # Must be run from the source dir because it uses relative paths
python3 TOOLS/osxbundle.py -s build/mpv
popd
'';
postInstall = ''
@ -186,16 +182,13 @@ in stdenv.mkDerivation rec {
mkdir -p $out/share/mpv
ln -s ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mpv/subfont.ttf
cp TOOLS/mpv_identify.sh $out/bin
cp TOOLS/umpv $out/bin
cp ../TOOLS/mpv_identify.sh $out/bin
cp ../TOOLS/umpv $out/bin
cp $out/share/applications/mpv.desktop $out/share/applications/umpv.desktop
sed -i '/Icon=/ ! s/mpv/umpv/g' $out/share/applications/umpv.desktop
substituteInPlace $out/lib/pkgconfig/mpv.pc \
--replace "$out/include" "$dev/include"
'' + lib.optionalString stdenv.isDarwin ''
mkdir -p $out/Applications
cp -r build/mpv.app $out/Applications
cp -r mpv.app $out/Applications
'';
# Set RUNPATH so that libcuda in /run/opengl-driver(-32)/lib can be found.
@ -227,6 +220,6 @@ in stdenv.mkDerivation rec {
'';
license = licenses.gpl2Plus;
maintainers = with maintainers; [ AndersonTorres fpletz globin ma27 tadeokondrak ];
platforms = platforms.darwin ++ platforms.linux;
platforms = platforms.unix;
};
}