linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / tools / misc / woeusb / default.nix
blob8cbd1ad06977f36cee247fc469a3f5bdd1ba7f8a
1 { lib, stdenv, fetchFromGitHub, autoreconfHook, makeWrapper
2 , coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, p7zip, util-linux, wget
3 , wxGTK30 }:
5 stdenv.mkDerivation rec {
6   version = "3.3.1";
7   pname = "woeusb";
9   src = fetchFromGitHub {
10     owner = "slacka";
11     repo = "WoeUSB";
12     rev = "v${version}";
13     sha256 = "1hbr88sr943s4yqdvbny543jvgvnsa622wq4cmwd23hjsfcrvyiv";
14   };
16   patches = [ ./remove-workaround.patch ];
18   nativeBuildInputs = [ autoreconfHook makeWrapper ];
19   buildInputs = [ wxGTK30 ];
21   postPatch = ''
22     # Emulate version smudge filter (see .gitattributes, .gitconfig).
23     for file in configure.ac debian/changelog src/woeusb src/woeusb.1 src/woeusbgui.1; do
24       substituteInPlace "$file" \
25         --replace '@@WOEUSB_VERSION@@' '${version}'
26     done
28     substituteInPlace src/MainPanel.cpp \
29       --replace "'woeusb " "'$out/bin/woeusb "
30   '';
32   postInstall = ''
33     # don't write data into /
34     substituteInPlace "$out/bin/woeusb" \
35       --replace /media/ /run/woeusb/
37     # woeusbgui launches woeusb with pkexec, which sets
38     # PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin.  Perhaps pkexec
39     # should be patched with a less useless default PATH, but for now
40     # we add everything we need manually.
41     wrapProgram "$out/bin/woeusb" \
42       --set PATH '${lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted util-linux wget p7zip ]}'
43   '';
45   doInstallCheck = true;
47   postInstallCheck = ''
48     # woeusb --version checks for missing runtime dependencies.
49     out_version="$("$out/bin/woeusb" --version)"
50     [ "$out_version" = '${version}' ]
51   '';
53   meta = with lib; {
54     description = "Create bootable USB disks from Windows ISO images";
55     homepage = "https://github.com/slacka/WoeUSB";
56     license = licenses.gpl3;
57     maintainers = with maintainers; [ bjornfor gnidorah ];
58     platforms = platforms.linux;
59   };