Commit bb6069ec authored by Adam Joseph's avatar Adam Joseph
Browse files

dtc: fix overrides: use finalAttrs, not rec

Prior to this commit, dtc was accessing its own derivation
attributes via `rec`.  This means that

```
overrideAttrs (_: { doCheck = ..; })
```

will produce inconsistent behavior, with part of the derivation
seeing the old value and part seeing the new value.

finalAttrs is the preferred way to do this.  Let's switch to that.
parent a12a82e9
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -14,13 +14,13 @@
, libyaml
}:

stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: {
  pname = "dtc";
  version = "1.7.0";

  src = fetchgit {
    url = "https://git.kernel.org/pub/scm/utils/dtc/dtc.git";
    rev = "refs/tags/v${version}";
    rev = "refs/tags/v${finalAttrs.version}";
    sha256 = "sha256-FMh3VvlY3fUK8fbd0M+aCmlUrmG9YegiOOQ7MOByffc=";
  };

@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
    })
  ];

  env.SETUPTOOLS_SCM_PRETEND_VERSION = version;
  env.SETUPTOOLS_SCM_PRETEND_VERSION = finalAttrs.version;

  nativeBuildInputs = [
    meson
@@ -72,9 +72,9 @@ stdenv.mkDerivation rec {

    # meson.build: bump version to 1.7.0
    substituteInPlace libfdt/meson.build \
      --replace "version: '1.6.0'," "version: '${version}',"
      --replace "version: '1.6.0'," "version: '${finalAttrs.version}',"
    substituteInPlace meson.build \
      --replace "version: '1.6.0'," "version: '${version}',"
      --replace "version: '1.6.0'," "version: '${finalAttrs.version}',"
  '';

  # Required for installation of Python library and is innocuous otherwise.
@@ -83,7 +83,7 @@ stdenv.mkDerivation rec {
  mesonAutoFeatures = "auto";
  mesonFlags = [
    (lib.mesonBool "static-build" stdenv.hostPlatform.isStatic)
    (lib.mesonBool "tests" doCheck)
    (lib.mesonBool "tests" finalAttrs.doCheck)
  ];

  # Checks are broken on aarch64 darwin
@@ -97,4 +97,4 @@ stdenv.mkDerivation rec {
    maintainers = [ maintainers.dezgeg ];
    platforms = platforms.unix;
  };
}
})