multibootusb: drop

Broken since 2021-02-06
main
Rick van Schijndel 2 years ago
parent 9ef1af9aa3
commit fc2255fffa
  1. 115
      pkgs/applications/misc/multibootusb/default.nix
  2. 2
      pkgs/top-level/all-packages.nix

@ -1,115 +0,0 @@
{ fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, qemu, unzip, zip,
coreutils, gnugrep, which, gnused, e2fsprogs, autoPatchelfHook, gptfdisk,
python3Packages, qt5, runtimeShell, lib, util-linux, wrapQtAppsHook }:
# Note: Multibootusb is tricky to maintain. It relies on the
# $PYTHONPATH variable containing some of their code, so that
# something like:
#
# from scripts import config
#
# works. It also relies on the current directory to find some runtime
# resources thanks to a use of __file__.
#
# https://github.com/mbusb/multibootusb/blob/0d34d70c3868f1d7695cfd141141b17c075de967/scripts/osdriver.py#L59
python3Packages.buildPythonApplication rec {
pname = "multibootusb";
name = "${pname}-${version}";
version = "9.2.0";
nativeBuildInputs = [
wrapQtAppsHook
autoPatchelfHook
unzip
zip
];
runTimeDeps = [
coreutils
gnugrep
which
parted
util-linux
qemu
p7zip
gnused
mtools
procps
e2fsprogs
gptfdisk
];
buildInputs = [
libxcb
python3Packages.python
qt5.full
];
src = fetchFromGitHub {
owner = "mbusb";
repo = pname;
rev = "v${version}";
sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
};
# Tests can't run inside the NixOS sandbox
# "Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory"
doCheck = false;
pythonPath = with python3Packages; [
dbus-python
pyqt5
pytest-shutil
pyudev
six
];
# multibootusb ships zips with various versions of syslinux, we need to patchelf them
postPatch = ''
for zip in $(find . -name "*.zip"); do
zip=$(readlink -f $zip)
target="$(mktemp -d)"
pushd $target
unzip $zip
rm $zip
autoPatchelf .
zip -r $zip *
popd
done
'';
postInstall = ''
# This script doesn't work and it doesn't add much anyway
rm $out/bin/multibootusb-pkexec
# The installed data isn't sufficient for whatever reason, missing gdisk/gdisk.exe
mkdir -p "$out/share/${pname}"
cp -r data "$out/share/${pname}/data"
'';
preFixup = ''
makeWrapperArgs+=(
# Firstly, add all necessary QT variables
"''${qtWrapperArgs[@]}"
# Then, add the installed scripts/ directory to the python path
--prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
# Add some runtime dependencies
--prefix "PATH" ":" "${lib.makeBinPath runTimeDeps}"
# Finally, move to directory that contains data
--chdir "$out/share/${pname}"
)
'';
meta = with lib; {
description = "Multiboot USB creator for Linux live disks";
homepage = "http://multibootusb.org/";
license = licenses.gpl2;
maintainers = []; # Looking for a maintainer!
broken = true; # "name 'config' is not defined", added 2021-02-06
};
}

@ -26753,8 +26753,6 @@ with pkgs;
moe = callPackage ../applications/editors/moe { };
multibootusb = libsForQt514.callPackage ../applications/misc/multibootusb { qt5 = qt514; };
praat = callPackage ../applications/audio/praat { };
quvi = callPackage ../applications/video/quvi/tool.nix {

Loading…
Cancel
Save