Unverified Commit aa769cc9 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

Merge pull request #270390 from NixOS/backport-269643-to-release-23.11

[Backport release-23.11] samba: fix samba-tool
parents 260cc445 c0c4501d
Loading
Loading
Loading
Loading
+16 −6
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@
, tdb
, tevent
, libxcrypt
, libxcrypt-legacy
, cmocka
, rpcsvc-proto
, bash
@@ -49,6 +50,15 @@

with lib;

let
  # samba-tool requires libxcrypt-legacy algorithms
  python = python3Packages.python.override {
    libxcrypt = libxcrypt-legacy;
  };
  wrapPython = python3Packages.wrapPython.override {
    inherit python;
  };
in
stdenv.mkDerivation rec {
  pname = "samba";
  version = "4.19.2";
@@ -69,7 +79,7 @@ stdenv.mkDerivation rec {
  ];

  nativeBuildInputs = [
    python3Packages.python
    python
    wafHook
    pkg-config
    bison
@@ -93,8 +103,8 @@ stdenv.mkDerivation rec {

  buildInputs = [
    bash
    python3Packages.wrapPython
    python3Packages.python
    wrapPython
    python
    readline
    popt
    dbus
@@ -165,7 +175,7 @@ stdenv.mkDerivation rec {
  # module, which works correctly in all cases.
  PYTHON_CONFIG = "/invalid";

  pythonPath = [ python3Packages.dnspython tdb ];
  pythonPath = [ python3Packages.dnspython python3Packages.markdown tdb ];

  preBuild = ''
    export MAKEFLAGS="-j $NIX_BUILD_CORES"
@@ -208,12 +218,12 @@ stdenv.mkDerivation rec {
    # Samba does its own shebang patching, but uses build Python
    find $out/bin -type f -executable | while read file; do
      isScript "$file" || continue
      sed -i 's^${lib.getBin buildPackages.python3Packages.python}/bin^${lib.getBin python3Packages.python}/bin^' "$file"
      sed -i 's^${lib.getBin buildPackages.python3Packages.python}^${lib.getBin python}^' "$file"
    done
  '';

  disallowedReferences =
    lib.optionals (buildPackages.python3Packages.python != python3Packages.python)
    lib.optionals (buildPackages.python3Packages.python != python)
      [ buildPackages.python3Packages.python ];

  passthru = {