From defcc430d10e99cb3cd2c159a49ca981935067ae Mon Sep 17 00:00:00 2001 From: Trolli Schmittlauch Date: Thu, 3 Jun 2021 03:14:18 +0200 Subject: [PATCH] update my NUR to match NixOS 21.05 - adjust github action to build against 21.05 - possible to drop own mplayer fork --- .github/workflows/build.yml | 2 +- default.nix | 2 +- pkgs/mplayer/default.nix | 232 ---------------------- pkgs/mplayer/svn-r38199-ffmpeg44fix.patch | 22 -- 4 files changed, 2 insertions(+), 256 deletions(-) delete mode 100644 pkgs/mplayer/default.nix delete mode 100644 pkgs/mplayer/svn-r38199-ffmpeg44fix.patch diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a170c75..7b1640a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,7 +31,7 @@ jobs: nixPath: - nixpkgs=channel:nixos-unstable - nixpkgs=channel:nixpkgs-unstable - - nixpkgs=channel:nixos-20.09 + - nixpkgs=channel:nixos-21.05 runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/default.nix b/default.nix index 8af0d2a..3422af1 100644 --- a/default.nix +++ b/default.nix @@ -15,6 +15,6 @@ rec { overlays = import ./overlays; # nixpkgs overlays lolcommits = pkgs.callPackage ./pkgs/lolcommits { mplayer = mplayerV4l; }; - mplayerV4l = pkgs.callPackage ./pkgs/mplayer { v4lSupport = true; }; + mplayerV4l = pkgs.mplayer.override { v4lSupport = true; }; vollkorn = pkgs.callPackage ./pkgs/vollkorn { }; } diff --git a/pkgs/mplayer/default.nix b/pkgs/mplayer/default.nix deleted file mode 100644 index b6bfa9d..0000000 --- a/pkgs/mplayer/default.nix +++ /dev/null @@ -1,232 +0,0 @@ -{ config, lib, stdenv, fetchurl, pkg-config, freetype, yasm, ffmpeg -, aalibSupport ? true, aalib ? null -, fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null -, fribidiSupport ? true, fribidi ? null -, x11Support ? true, libX11 ? null, libXext ? null, libGLU, libGL ? null -, xineramaSupport ? true, libXinerama ? null -, xvSupport ? true, libXv ? null -, alsaSupport ? stdenv.isLinux, alsaLib ? null -, screenSaverSupport ? true, libXScrnSaver ? null -, vdpauSupport ? false, libvdpau ? null -, cddaSupport ? !stdenv.isDarwin, cdparanoia ? null -, dvdnavSupport ? !stdenv.isDarwin, libdvdnav ? null -, dvdreadSupport ? true, libdvdread ? null -, bluraySupport ? true, libbluray ? null -, amrSupport ? false, amrnb ? null, amrwb ? null -, cacaSupport ? true, libcaca ? null -, lameSupport ? true, lame ? null -, speexSupport ? true, speex ? null -, theoraSupport ? true, libtheora ? null -, x264Support ? false, x264 ? null -, jackaudioSupport ? false, libjack2 ? null -, pulseSupport ? config.pulseaudio or false, libpulseaudio ? null -, bs2bSupport ? false, libbs2b ? null -, v4lSupport ? false, libv4l ? null -# For screenshots -, libpngSupport ? true, libpng ? null -, libjpegSupport ? true, libjpeg ? null -, useUnfreeCodecs ? false -, darwin ? null -, buildPackages -}: - -assert fontconfigSupport -> (fontconfig != null); -assert (!fontconfigSupport) -> (freefont_ttf != null); -assert fribidiSupport -> (fribidi != null); -assert x11Support -> (libX11 != null && libXext != null && libGLU != null && libGL != null); -assert xineramaSupport -> (libXinerama != null && x11Support); -assert xvSupport -> (libXv != null && x11Support); -assert alsaSupport -> alsaLib != null; -assert screenSaverSupport -> libXScrnSaver != null; -assert vdpauSupport -> libvdpau != null; -assert cddaSupport -> cdparanoia != null; -assert dvdnavSupport -> libdvdnav != null; -assert dvdreadSupport -> libdvdread != null; -assert bluraySupport -> libbluray != null; -assert amrSupport -> (amrnb != null && amrwb != null); -assert cacaSupport -> libcaca != null; -assert lameSupport -> lame != null; -assert speexSupport -> speex != null; -assert theoraSupport -> libtheora != null; -assert x264Support -> x264 != null; -assert jackaudioSupport -> libjack2 != null; -assert pulseSupport -> libpulseaudio != null; -assert bs2bSupport -> libbs2b != null; -assert libpngSupport -> libpng != null; -assert libjpegSupport -> libjpeg != null; -assert v4lSupport -> libv4l != null; - -let - - codecs_src = - let - dir = "http://www.mplayerhq.hu/MPlayer/releases/codecs/"; - version = "20071007"; - in - if stdenv.hostPlatform.system == "i686-linux" then fetchurl { - url = "${dir}/essential-${version}.tar.bz2"; - sha256 = "18vls12n12rjw0mzw4pkp9vpcfmd1c21rzha19d7zil4hn7fs2ic"; - } else if stdenv.hostPlatform.system == "x86_64-linux" then fetchurl { - url = "${dir}/essential-amd64-${version}.tar.bz2"; - sha256 = "13xf5b92w1ra5hw00ck151lypbmnylrnznq9hhb0sj36z5wz290x"; - } else if stdenv.hostPlatform.system == "powerpc-linux" then fetchurl { - url = "${dir}/essential-ppc-${version}.tar.bz2"; - sha256 = "18mlj8dp4wnz42xbhdk1jlz2ygra6fbln9wyrcyvynxh96g1871z"; - } else null; - - codecs = if codecs_src != null then stdenv.mkDerivation { - pname = "MPlayer-codecs-essential"; - - src = codecs_src; - - installPhase = '' - mkdir $out - cp -prv * $out - ''; - - meta.license = lib.licenses.unfree; - } else null; - - crossBuild = stdenv.hostPlatform != stdenv.buildPlatform; - -in - -stdenv.mkDerivation rec { - pname = "mplayer"; - version = "1.4"; - - src = fetchurl { - url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-${version}.tar.xz"; - sha256 = "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2"; - }; - - prePatch = '' - sed -i /^_install_strip/d configure - - rm -rf ffmpeg - ''; - - patches = [ ./svn-r38199-ffmpeg44fix.patch ]; - - depsBuildBuild = [ buildPackages.stdenv.cc ]; - nativeBuildInputs = [ pkg-config yasm ]; - buildInputs = with lib; - [ freetype ffmpeg ] - ++ optional aalibSupport aalib - ++ optional fontconfigSupport fontconfig - ++ optional fribidiSupport fribidi - ++ optionals x11Support [ libX11 libXext libGLU libGL ] - ++ optional alsaSupport alsaLib - ++ optional xvSupport libXv - ++ optional theoraSupport libtheora - ++ optional cacaSupport libcaca - ++ optional xineramaSupport libXinerama - ++ optional dvdnavSupport libdvdnav - ++ optional dvdreadSupport libdvdread - ++ optional bluraySupport libbluray - ++ optional cddaSupport cdparanoia - ++ optional jackaudioSupport libjack2 - ++ optionals amrSupport [ amrnb amrwb ] - ++ optional x264Support x264 - ++ optional pulseSupport libpulseaudio - ++ optional screenSaverSupport libXScrnSaver - ++ optional lameSupport lame - ++ optional vdpauSupport libvdpau - ++ optional speexSupport speex - ++ optional libpngSupport libpng - ++ optional libjpegSupport libjpeg - ++ optional bs2bSupport libbs2b - ++ optional v4lSupport libv4l - ++ (with darwin.apple_sdk.frameworks; optionals stdenv.isDarwin [ Cocoa OpenGL ]) - ; - - configurePlatforms = [ ]; - configureFlags = with lib; [ - "--enable-freetype" - (if fontconfigSupport then "--enable-fontconfig" else "--disable-fontconfig") - (if x11Support then "--enable-x11 --enable-gl" else "--disable-x11 --disable-gl") - (if xineramaSupport then "--enable-xinerama" else "--disable-xinerama") - (if xvSupport then "--enable-xv" else "--disable-xv") - (if alsaSupport then "--enable-alsa" else "--disable-alsa") - (if screenSaverSupport then "--enable-xss" else "--disable-xss") - (if vdpauSupport then "--enable-vdpau" else "--disable-vdpau") - (if cddaSupport then "--enable-cdparanoia" else "--disable-cdparanoia") - (if dvdnavSupport then "--enable-dvdnav" else "--disable-dvdnav") - (if bluraySupport then "--enable-bluray" else "--disable-bluray") - (if amrSupport then "--enable-libopencore_amrnb" else "--disable-libopencore_amrnb") - (if cacaSupport then "--enable-caca" else "--disable-caca") - (if lameSupport then "--enable-mp3lame --disable-mp3lame-lavc" else "--disable-mp3lame --enable-mp3lame-lavc") - (if speexSupport then "--enable-speex" else "--disable-speex") - (if theoraSupport then "--enable-theora" else "--disable-theora") - (if x264Support then "--enable-x264 --disable-x264-lavc" else "--disable-x264 --enable-x264-lavc") - (if jackaudioSupport then "" else "--disable-jack") - (if pulseSupport then "--enable-pulse" else "--disable-pulse") - (if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2") - "--disable-xanim" - "--disable-ivtv" - "--disable-xvid --disable-xvid-lavc" - "--disable-ossaudio" - "--disable-ffmpeg_a" - "--yasm=${buildPackages.yasm}/bin/yasm" - # Note, the `target` vs `host` confusion is intensional. - "--target=${stdenv.hostPlatform.config}" - ] ++ optional - (useUnfreeCodecs && codecs != null && !crossBuild) - "--codecsdir=${codecs}" - ++ optional - ((stdenv.hostPlatform.isi686 || stdenv.hostPlatform.isx86_64) && !crossBuild) - "--enable-runtime-cpudetection" - ++ optional fribidiSupport "--enable-fribidi" - ++ optional stdenv.isLinux "--enable-vidix" - ++ optional stdenv.isLinux "--enable-fbdev" - ++ optionals (crossBuild) [ - "--enable-cross-compile" - "--disable-vidix-pcidb" - "--with-vidix-drivers=no" - ]; - - preConfigure = '' - configureFlagsArray+=( - "--cc=$CC" - "--host-cc=$CC_FOR_BUILD" - "--as=$AS" - "--nm=$NM" - "--ar=$AR" - "--ranlib=$RANLIB" - "--windres=$WINDRES" - ) - ''; - - postConfigure = '' - echo CONFIG_MPEGAUDIODSP=yes >> config.mak - ''; - - NIX_LDFLAGS = with lib; toString ( - optional fontconfigSupport "-lfontconfig" - ++ optional fribidiSupport "-lfribidi" - ++ optionals x11Support [ "-lX11" "-lXext" ] - ++ [ "-lfreetype" ] - ); - - installTargets = [ "install" ] ++ lib.optional x11Support "install-gui"; - - enableParallelBuilding = true; - - # Provide a reasonable standard font when not using fontconfig. Maybe we should symlink here. - postInstall = lib.optionalString (!fontconfigSupport) - '' - mkdir -p $out/share/mplayer - cp ${freefont_ttf}/share/fonts/truetype/FreeSans.ttf $out/share/mplayer/subfont.ttf - if test -f $out/share/applications/mplayer.desktop ; then - echo "NoDisplay=True" >> $out/share/applications/mplayer.desktop - fi - ''; - - meta = { - description = "A movie player that supports many video formats"; - homepage = "http://mplayerhq.hu"; - license = "GPL"; - maintainers = [ lib.maintainers.eelco ]; - platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ]; - }; -} diff --git a/pkgs/mplayer/svn-r38199-ffmpeg44fix.patch b/pkgs/mplayer/svn-r38199-ffmpeg44fix.patch deleted file mode 100644 index 4137989..0000000 --- a/pkgs/mplayer/svn-r38199-ffmpeg44fix.patch +++ /dev/null @@ -1,22 +0,0 @@ -Index: libmpcodecs/ad_spdif.c -=================================================================== -diff --git a/libmpcodecs/ad_spdif.c b/libmpcodecs/ad_spdif.c ---- a/libmpcodecs/ad_spdif.c (revision 38198) -+++ b/libmpcodecs/ad_spdif.c (revision 38199) -@@ -298,14 +298,8 @@ - if (spdif_ctx->header_written) - av_write_trailer(lavf_ctx); - av_freep(&lavf_ctx->pb); -- if (lavf_ctx->streams) { -- av_freep(&lavf_ctx->streams[0]->codec); -- av_freep(&lavf_ctx->streams[0]->info); -- av_freep(&lavf_ctx->streams[0]); -- } -- av_freep(&lavf_ctx->streams); -- av_freep(&lavf_ctx->priv_data); -+ avformat_free_context(lavf_ctx); -+ lavf_ctx = NULL; - } -- av_freep(&lavf_ctx); - av_freep(&spdif_ctx); - }