Change:
MythTV current version 31.0 desired version 32.0 Note to maintainer I tried installing Mythtv 31.0 in the latest version of NixOS and the following error appeared. collect2: error: ld returned 1 exit status For full logs, run 'nix log /nix/store/i7hayl96078skrs46yksjqxjsh31cmfv-mythtv-'. Reading the log displayed error: experimental Nix feature 'nix-command' is disabled; use '--extra-experimental-features nix-command' to override
started working on this, bump for version is , but doesn't build yet on NixOS master branch. first quick look on the error tells something about FFmpeg and impure path (see below). I'll check this later as my first priority is getting it to build and run on NixOS 22.05 the log reading is a bit confusion, you have to append literally (). so your command from the example you provided would be
I am currently building MythTV 32.0 (sha256 = "0i4fs3rbk1jggh62wflpa2l03na9i1ihpz2vsdic9vfahqqjxff1") with two patches. The first is called : The second patch is called . I patched it up , and it looks like my patch has been . Here is that patch: My current derivation is like this: Sorry that was back in April and I didn't propagate my changes to NixOS yet!
it looks like your branch and mine are basically the same except for the . I don't know if it is better to add my patch, or for you to move to a version of MythTV after the pull mentioned above.
I didn't paste my whole , there are also new deps (soundtouch, libzip) which you can see in the branch by
I the patch on top of 's branch . I haven't tried building it yet since my machine is already building my original version of the derivation in the background (due to NixOS upgrade), and it takes hours. That is actually what prompted me to notice this issue :).
I'll try if my issue is gone with your patch now (I also need lots of time for one build). Going forward I think it's best to use the release version of MythTV 32 and your patch for bumping the version in NixOS. I'll however try the other route with the MythTV version after the merge of your fix as I want to set up a combination of official and my own packages anyway.
I'm happy to confirm that both routes work. for the one with the updated MythTV version I took the commit of the pull request mentioned. would you be so kind and open a pull request for the version bump ?

Discussion:
<del> { lib, mkDerivation, fetchFromGitHub, which, qtbase, qtwebkit, qtscript, xlibsWrapper </del> <ins> { lib, mkDerivation, fetchFromGitHub, fetchpatch, which, qtbase, qtwebkit, qtscript, xlibsWrapper </ins> , libpulseaudio, fftwSinglePrec , lame, zlib, libGLU, libGL, alsa-lib, freetype , perl, pkg-config , libsamplerate, libbluray, lzo, libX11, libXv, libXrandr, libXvMC, libXinerama, libXxf86vm <del> , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders </del> <ins> , libXmu , yasm, libuuid, taglib, libtool, autoconf, automake, file, exiv2, linuxHeaders, soundtouch, libzip , withWebKit ? false </ins> }: mkDerivation rec { pname = "mythtv"; <del> version = "31.0"; </del> <ins> version = "32.0"; </ins> src = fetchFromGitHub { owner = "MythTV"; repo = "mythtv"; rev = "v${version}"; <del> sha256 = "092w5kvc1gjz6jd2lk2jhcazasz2h3xh0i5iq80k8x3znyp4i6v5"; </del> <ins> sha256 = "0i4fs3rbk1jggh62wflpa2l03na9i1ihpz2vsdic9vfahqqjxff1"; </ins> }; patches = [ <del> # Disables OS detection used while checking if enforce_wshadow should be disabled. ./disable-os-detection.patch </del> <ins> # Disable sourcing /etc/os-release ./dont-source-os-release.patch # Fix QMake variable substitution syntax - MythTV/mythtv#550 (fetchpatch { name = "fix-qmake-var-syntax.patch"; url = "https://github.com/MythTV/mythtv/commit/a8da7f7e7ec069164adbef65a8104adc9bb52e36.patch"; stripLen = 1; hash = "sha256-JfRME00YNNjl6SKs1HBa0wBa/lR/Rt3zbQtWhsC36JM="; }) </ins> ]; setSourceRoot = "sourceRoot=$(echo */mythtv)"; buildInputs = [ <del> freetype qtbase qtwebkit qtscript lame zlib xlibsWrapper libGLU libGL </del> <ins> freetype qtbase qtscript lame zlib xlibsWrapper libGLU libGL </ins> perl libsamplerate libbluray lzo alsa-lib libpulseaudio fftwSinglePrec libX11 libXv libXrandr libXvMC <del> libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 ]; </del> <ins> libXmu libXinerama libXxf86vm libXmu libuuid taglib exiv2 soundtouch libzip ] ++ lib.optional withWebKit qtwebkit; </ins> nativeBuildInputs = [ pkg-config which yasm libtool autoconf automake file ]; configureFlags =

<del> --- a/configure	2020-07-21 20:50:58.653989766 +0200 +++ b/configure	2020-07-21 20:52:21.236610586 +0200 @@ -6537,17 +6537,17 @@ } enable enforce_wshadow -case $target_os in -    android) -        disable enforce_wshadow -        ;; -    linux) -        . /etc/os-release -        if test $ID = "centos"; then -            disable enforce_wshadow -        fi -        ;; -esac +#case $target_os in +#    android) +#        disable enforce_wshadow +#        ;; +#    linux) +#        . /etc/os-release +#        if test $ID = "centos"; then +#            disable enforce_wshadow +#        fi +#        ;; +#esac if $(pkg-config --exists Qt5WebKit) || $(pkg-config --exists QtWebKit) ; then enable qtwebkit </del>

<ins> --- a/configure +++ b/configure @@ -5894,9 +5894,9 @@ else die "ERROR: cannot find soundtouch 1.8.0 or later." fi -if [ $target_os = "linux" ] ; then -    . /etc/os-release -fi +# if [ $target_os = "linux" ] ; then +#     . /etc/os-release +# fi # libudfread if enabled system_libudfread ; then </ins>

mypaint-brushes = callPackage ../development/libraries/mypaint-brushes { }; <del> mythtv = libsForQt514.callPackage ../applications/video/mythtv { }; </del> <ins> mythtv = libsForQt5.callPackage ../applications/video/mythtv { }; </ins> micro = callPackage ../applications/editors/micro { };