<commit_before>{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
, libselinux, cryptsetup, multipath_tools, lsof, utillinux
, useNixUdev ? true, udev ? null
# This is only used when useNixUdev is false
, udevSoMajor ? 1
}:

assert useNixUdev -> udev != null;

let
  pyenable = { enablePython = true; };
  selinuxWithPython = libselinux.override pyenable;
  cryptsetupWithPython = cryptsetup.override pyenable;
in buildPythonPackage rec {
  name = "blivet-${version}";
  version = "0.17-1";

  src = fetchurl {
    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
        + "${name}.tar.bz2";
    sha256 = "0b28q539657mqif0mn5dfqcpqv7gbyszg83gf2fv6z7q6206rnx5";
  };

  postPatch = ''
    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
      blivet/devicelibs/mpath.py blivet/devices.py
    sed -i -e '/"wipefs"/ {
      s|wipefs|${utillinux}/sbin/wipefs|
      s/-f/--force/
    }' blivet/formats/__init__.py
    sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
    sed -i -r -e 's|"(u?mount)"|"${utillinux}/bin/\1"|' blivet/util.py
    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
  '' + (if useNixUdev then ''
    sed -i -e '/find_library/,/find_library/ {
      c libudev = "${udev}/lib/libudev.so.1"<commit_msg>blivet: Update sha256, as it changed upstream.<commit_after>{ stdenv, fetchurl, buildPythonPackage, pykickstart, pyparted, pyblock
, libselinux, cryptsetup, multipath_tools, lsof, utillinux
, useNixUdev ? true, udev ? null
# This is only used when useNixUdev is false
, udevSoMajor ? 1
}:

assert useNixUdev -> udev != null;

let
  pyenable = { enablePython = true; };
  selinuxWithPython = libselinux.override pyenable;
  cryptsetupWithPython = cryptsetup.override pyenable;
in buildPythonPackage rec {
  name = "blivet-${version}";
  version = "0.17-1";

  src = fetchurl {
    url = "https://git.fedorahosted.org/cgit/blivet.git/snapshot/"
        + "${name}.tar.bz2";
    sha256 = "1k3mws2q0ryb7422mml6idmaasz2i2v6ngyvg6d976dx090qnmci";
  };

  postPatch = ''
    sed -i -e 's|"multipath"|"${multipath_tools}/sbin/multipath"|' \
      blivet/devicelibs/mpath.py blivet/devices.py
    sed -i -e '/"wipefs"/ {
      s|wipefs|${utillinux}/sbin/wipefs|
      s/-f/--force/
    }' blivet/formats/__init__.py
    sed -i -e 's|"lsof"|"${lsof}/bin/lsof"|' blivet/formats/fs.py
    sed -i -r -e 's|"(u?mount)"|"${utillinux}/bin/\1"|' blivet/util.py
    sed -i '/pvscan/s/, *"--cache"//' blivet/devicelibs/lvm.py
  '' + (if useNixUdev then ''
    sed -i -e '/find_library/,/find_library/ {
      c libudev = "${udev}/lib/libudev.so.1"
{'fraction_non_alphanumeric': 0.16965306900495616, 'fraction_numerical': 0.025162028211971027, 'mean_word_length': 3.3733333333333335, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '820334', 'n_tokens_mistral': 1169, 'n_tokens_neox': 1098, 'n_words': 193}