2019-02-26 12:45:54 +01:00
|
|
|
{ stdenv, python36Packages, fetchFromGitHub, libxcb, mtools, p7zip, parted, procps, utillinux, qt5, runtimeShell }:
|
2018-05-08 20:03:14 +02:00
|
|
|
python36Packages.buildPythonApplication rec {
|
|
|
|
pname = "multibootusb";
|
|
|
|
name = "${pname}-${version}";
|
|
|
|
version = "9.2.0";
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
python36Packages.dbus-python
|
|
|
|
python36Packages.pyqt5
|
|
|
|
python36Packages.pytest-shutil
|
|
|
|
python36Packages.python
|
|
|
|
python36Packages.pyudev
|
|
|
|
python36Packages.six
|
|
|
|
libxcb
|
|
|
|
mtools
|
|
|
|
p7zip
|
|
|
|
parted
|
|
|
|
procps
|
|
|
|
qt5.full
|
|
|
|
utillinux
|
|
|
|
];
|
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "mbusb";
|
|
|
|
repo = pname;
|
|
|
|
rev = "v${version}";
|
|
|
|
|
|
|
|
sha256 = "0wlan0cp6c2i0nahixgpmkm0h4n518gj8rc515d579pqqp91p2h3";
|
|
|
|
};
|
|
|
|
|
|
|
|
# Skip the fixup stage where stuff is shrinked (can't shrink text files)
|
|
|
|
phases = [ "unpackPhase" "installPhase" ];
|
|
|
|
|
|
|
|
installPhase = ''
|
|
|
|
share="$out/share/${pname}"
|
|
|
|
mkdir -p "$share"
|
|
|
|
cp -r data "$share/data"
|
|
|
|
cp -r scripts "$share/scripts"
|
|
|
|
cp "${pname}" "$share/${pname}"
|
|
|
|
|
|
|
|
mkdir "$out/bin"
|
|
|
|
cat > "$out/bin/${pname}" <<EOF
|
2019-02-26 12:45:54 +01:00
|
|
|
#!${runtimeShell}
|
2018-05-08 20:03:14 +02:00
|
|
|
cd "$share"
|
|
|
|
export PYTHONPATH="$PYTHONPATH:$share"
|
|
|
|
export PATH="$PATH:${parted}/bin:${procps}/bin"
|
|
|
|
|
|
|
|
"${python36Packages.python}/bin/python" "${pname}"
|
|
|
|
EOF
|
|
|
|
chmod +x "$out/bin/${pname}"
|
|
|
|
'';
|
|
|
|
|
2019-01-15 23:41:31 +01:00
|
|
|
meta = with stdenv.lib; {
|
2018-05-08 20:03:14 +02:00
|
|
|
description = "Multiboot USB creator for Linux live disks";
|
|
|
|
homepage = http://multibootusb.org/;
|
|
|
|
license = licenses.gpl2;
|
|
|
|
maintainers = with maintainers; [ jD91mZM2 ];
|
|
|
|
};
|
|
|
|
}
|