lol
1{ lib, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5 }:
2python36Packages.buildPythonApplication rec {
3 pname = "multibootusb";
4 name = "${pname}-${version}";
5 version = "9.2.0";
6
7 buildInputs = [
8 python36Packages.dbus-python
9 python36Packages.pyqt5
10 python36Packages.pytest-shutil
11 python36Packages.python
12 python36Packages.pyudev
13 python36Packages.six
14 libxcb
15 mtools
16 p7zip
17 parted
18 procps
19 qt5.full
20 utillinux
21 ];
22
23 src = fetchFromGitHub {
24 owner = "mbusb";
25 repo = pname;
26 rev = "v${version}";
27
28 sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
29 };
30
31 # Skip the fixup stage where stuff is shrinked (can't shrink text files)
32 phases = [ "unpackPhase" "installPhase" ];
33
34 installPhase = ''
35 share="$out/share/${pname}"
36 mkdir -p "$share"
37 cp -r data "$share/data"
38 cp -r scripts "$share/scripts"
39 cp "${pname}" "$share/${pname}"
40
41 mkdir "$out/bin"
42 cat > "$out/bin/${pname}" <<EOF
43 #!/bin/sh
44 cd "$share"
45 export PYTHONPATH="$PYTHONPATH:$share"
46 export PATH="$PATH:${parted}/bin:${procps}/bin"
47
48 "${python36Packages.python}/bin/python" "${pname}"
49 EOF
50 chmod +x "$out/bin/${pname}"
51 '';
52
53 meta = with lib; {
54 description = "Multiboot USB creator for Linux live disks";
55 homepage = http://multibootusb.org/;
56 license = licenses.gpl2;
57 maintainers = with maintainers; [ jD91mZM2 ];
58 };
59}