diff options
author | Franz Pletz <fpletz@fnordicwalking.de> | 2024-02-29 02:05:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-29 02:05:17 +0100 |
commit | eca0e285be88fad0daeafe6f6f55248be283164d (patch) | |
tree | 264e9b4091e159ba117095527f36aa7d3f2cb78b /pkgs/applications/video | |
parent | 0655f1742bc037389ccc0900f64d80517bdc8d79 (diff) | |
parent | c52a056f18257a888169ed42951a47a39e702440 (diff) | |
download | nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.tar nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.tar.gz nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.tar.bz2 nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.tar.lz nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.tar.xz nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.tar.zst nixlib-eca0e285be88fad0daeafe6f6f55248be283164d.zip |
Merge pull request #291662 from atorres1985-contrib/vlc
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r-- | pkgs/applications/video/vlc/default.nix | 295 |
1 files changed, 0 insertions, 295 deletions
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix deleted file mode 100644 index 2b5c86b0efb2..000000000000 --- a/pkgs/applications/video/vlc/default.nix +++ /dev/null @@ -1,295 +0,0 @@ -{ lib -, stdenv -, pkgsBuildBuild -, fetchurl -, fetchpatch -, SDL -, SDL_image -, a52dec -, alsa-lib -, autoreconfHook -, avahi -, dbus -, faad2 -, ffmpeg -, flac -, fluidsynth -, freefont_ttf -, freetype -, fribidi -, gnutls -, libSM -, libXext -, libXinerama -, libXpm -, libXv -, libXvMC -, libarchive -, libass -, libbluray -, libcaca -, libcddb -, libdc1394 -, libdvbpsi -, libdvdnav -, libebml -, libgcrypt -, libgpg-error -, libjack2 -, libkate -, libmad -, libmatroska -, libmicrodns -, libmodplug -, libmtp -, liboggz -, libopus -, libplacebo_5 -, libpulseaudio -, libraw1394 -, librsvg -, libsamplerate -, libspatialaudio -, libssh2 -, libtheora -, libtiger -, libupnp -, libv4l -, libva -, libvdpau -, libvorbis -, libxml2 -, live555 -, lua5 -, mpeg2dec -, ncurses -, perl -, pkg-config -, protobuf -, qtbase -, qtsvg -, qtwayland -, qtx11extras -, removeReferencesTo -, samba -, schroedinger -, speex -, srt -, systemd -, taglib -, unzip -, wayland -, wayland-protocols -, wrapGAppsHook -, wrapQtAppsHook -, xcbutilkeysyms -, zlib - -, chromecastSupport ? true -, jackSupport ? false -, onlyLibVLC ? false -, skins2Support ? !onlyLibVLC -, waylandSupport ? true -, withQt5 ? true -}: - -# chromecastSupport requires TCP port 8010 to be open for it to work. -# If your firewall is enabled, make sure to have something like: -# networking.firewall.allowedTCPPorts = [ 8010 ]; - -let - inherit (lib) optionalString optional optionals; -in -stdenv.mkDerivation (finalAttrs: { - pname = "${optionalString onlyLibVLC "lib"}vlc"; - version = "3.0.20"; - - src = fetchurl { - url = "https://get.videolan.org/vlc/${finalAttrs.version}/vlc-${finalAttrs.version}.tar.xz"; - hash = "sha256-rccoW00nIc3fQOtScMraKqoQozTLVG/VWgY1NEe6KbU="; - }; - - nativeBuildInputs = [ - autoreconfHook - lua5 - perl - pkg-config - removeReferencesTo - unzip - wrapGAppsHook - ] - ++ optional chromecastSupport protobuf - ++ optionals withQt5 [ wrapQtAppsHook ] - ++ optionals waylandSupport [ - wayland - wayland-protocols - ]; - - # VLC uses a *ton* of libraries for various pieces of functionality, many of - # which are not included here for no other reason that nobody has mentioned - # needing them - buildInputs = [ - SDL - SDL_image - a52dec - alsa-lib - avahi - dbus - faad2 - ffmpeg - flac - fluidsynth - fribidi - gnutls - libSM - libXpm - libXv - libXvMC - libarchive - libass - libbluray - libcaca - libcddb - libdc1394 - libdvbpsi - libdvdnav - libdvdnav.libdvdread - libebml - libgcrypt - libgpg-error - libkate - libmad - libmatroska - libmodplug - libmtp - liboggz - libopus - libplacebo_5 - libpulseaudio - libraw1394 - librsvg - libsamplerate - libspatialaudio - libssh2 - libtheora - libtiger - libupnp - libv4l - libva - libvdpau - libvorbis - libxml2 - lua5 - mpeg2dec - ncurses - samba - schroedinger - speex - srt - systemd - taglib - xcbutilkeysyms - zlib - ] - ++ optional (!stdenv.hostPlatform.isAarch && !onlyLibVLC) live555 - ++ optional jackSupport libjack2 - ++ optionals chromecastSupport [ libmicrodns protobuf ] - ++ optionals skins2Support [ - freetype - libXext - libXinerama - libXpm - ] - ++ optionals waylandSupport [ wayland wayland-protocols ] - ++ optionals withQt5 [ qtbase qtsvg qtx11extras ] - ++ optional (waylandSupport && withQt5) qtwayland; - - env = { - # vlc depends on a c11-gcc wrapper script which we don't have so we need to - # set the path to the compiler - BUILDCC = "${pkgsBuildBuild.stdenv.cc}/bin/gcc"; - PKG_CONFIG_WAYLAND_SCANNER_WAYLAND_SCANNER = "wayland-scanner"; - } // lib.optionalAttrs (!stdenv.hostPlatform.isAarch) { - LIVE555_PREFIX = live555; - }; - - patches = [ - # patch to build with recent live555 - # upstream issue: https://code.videolan.org/videolan/vlc/-/issues/25473 - (fetchpatch { - url = "https://code.videolan.org/videolan/vlc/uploads/eb1c313d2d499b8a777314f789794f9d/0001-Add-lssl-and-lcrypto-to-liblive555_plugin_la_LIBADD.patch"; - sha256 = "0kyi8q2zn2ww148ngbia9c7qjgdrijf4jlvxyxgrj29cb5iy1kda"; - }) - ]; - - postPatch = '' - substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \ - /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype - '' + lib.optionalString (!stdenv.hostPlatform.canExecute stdenv.buildPlatform) '' - # Upstream luac can't cross compile, so we have to install the lua - # sources, not bytecode: - # https://www.lua.org/wshop13/Jericke.pdf#page=39 - substituteInPlace share/Makefile.am --replace $'.luac \\\n' $'.lua \\\n' - ''; - - enableParallelBuilding = true; - - dontWrapGApps = true; # to prevent double wrapping of Qtwrap and Gwrap - - preFixup = '' - qtWrapperArgs+=("''${gappsWrapperArgs[@]}") - ''; - - # - Touch plugins (plugins cache keyed off mtime and file size: - # https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830 - # - Remove references to the Qt development headers (used in error messages) - # - # pkgsBuildBuild is used here because buildPackages.libvlc somehow - # depends on a qt5.qttranslations that doesn't build, even though it - # should be the same as pkgsBuildBuild.qt5.qttranslations. - postFixup = '' - find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';' - ${if stdenv.buildPlatform.canExecute stdenv.hostPlatform then "$out" else pkgsBuildBuild.libvlc}/lib/vlc/vlc-cache-gen $out/vlc/plugins - '' + optionalString withQt5 '' - remove-references-to -t "${qtbase.dev}" $out/lib/vlc/plugins/gui/libqt_plugin.so - ''; - - # Most of the libraries are auto-detected so we don't need to set a bunch of - # "--enable-foo" flags here - configureFlags = [ - "--enable-srt" # Explicit enable srt to ensure the patch is applied. - "--with-kde-solid=$out/share/apps/solid/actions" - ] - ++ optional onlyLibVLC "--disable-vlc" - ++ optional skins2Support "--enable-skins2" - ++ optional waylandSupport "--enable-wayland" - ++ optionals chromecastSupport [ - "--enable-sout" - "--enable-chromecast" - "--enable-microdns" - ]; - - # Remove runtime dependencies on libraries - postConfigure = '' - sed -i 's|^#define CONFIGURE_LINE.*$|#define CONFIGURE_LINE "<removed>"|g' config.h - ''; - - # fails on high core machines - # ld: cannot find -lvlc_vdpau: No such file or directory - # https://code.videolan.org/videolan/vlc/-/issues/27338 - enableParallelInstalling = false; - - # Add missing SOFA files - # Given in EXTRA_DIST, but not in install-data target - postInstall = '' - cp -R share/hrtfs $out/share/vlc - ''; - - meta = { - description = "Cross-platform media player and streaming server"; - homepage = "https://www.videolan.org/vlc/"; - license = lib.licenses.lgpl21Plus; - maintainers = with lib.maintainers; [ AndersonTorres ]; - platforms = lib.platforms.linux; - }; -}) |