winusb: unstable-2017-01-30 -> woeusb 3.1.4

WinUSB was renamed to WoeUSB
(https://github.com/slacka/WoeUSB/issues/100).

Also, put mount points in /run instead of /tmp to sidestep security
considerations with /tmp.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
Anders Kaseorg 2017-12-22 00:20:11 -05:00
parent ab623d8467
commit 4ef36bf654
4 changed files with 59 additions and 36 deletions

View file

@ -1,35 +0,0 @@
{ stdenv, fetchFromGitHub, makeWrapper
, parted, grub2_light, p7zip
, wxGTK30, gksu }:
stdenv.mkDerivation rec {
name = "winusb-unstable-2017-01-30";
src = fetchFromGitHub {
owner = "slacka";
repo = "WinUSB";
rev = "599f00cdfd5c931056c576e4b2ae04d9285c4192";
sha256 = "1219425d1m4463jy85nrc5xz5qy5m8svidbiwnqicy7hp8pdwa7x";
};
buildInputs = [ wxGTK30 makeWrapper ];
postInstall = ''
# don't write data into /
substituteInPlace $out/bin/winusb \
--replace /media/ /tmp/winusb/
wrapProgram $out/bin/winusb \
--prefix PATH : ${stdenv.lib.makeBinPath [ parted grub2_light p7zip ]}
wrapProgram $out/bin/winusbgui \
--prefix PATH : ${stdenv.lib.makeBinPath [ gksu ]}
'';
meta = with stdenv.lib; {
description = "Create bootable USB disks from Windows ISO images";
homepage = https://github.com/slacka/WinUSB;
license = licenses.gpl3;
maintainers = with maintainers; [ bjornfor gnidorah ];
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,57 @@
{ stdenv, fetchFromGitHub, autoreconfHook, makeWrapper
, coreutils, dosfstools, findutils, gawk, gnugrep, grub2_light, ncurses, ntfs3g, parted, utillinux, wget
, wxGTK30 }:
stdenv.mkDerivation rec {
version = "3.1.4";
name = "woeusb-${version}";
src = fetchFromGitHub {
owner = "slacka";
repo = "WoeUSB";
rev = "v${version}";
sha256 = "0hvxsm6k6s29wnr3i5b9drf6ml0i32is2l50l3cxvf1f499w4bpc";
};
buildInputs = [ wxGTK30 autoreconfHook makeWrapper ];
postPatch = ''
# Emulate version smudge filter (see .gitattributes, .gitconfig).
for file in configure.ac debian/changelog src/woeusb src/woeusb.1 src/woeusbgui.1; do
substituteInPlace "$file" \
--replace '@@WOEUSB_VERSION@@' '${version}'
done
substituteInPlace src/MainPanel.cpp \
--replace "'woeusb " "'$out/bin/woeusb "
'';
postInstall = ''
# don't write data into /
substituteInPlace "$out/bin/woeusb" \
--replace /media/ /run/woeusb/
# woeusbgui launches woeusb with pkexec, which sets
# PATH=/usr/sbin:/usr/bin:/sbin:/bin:/root/bin. Perhaps pkexec
# should be patched with a less useless default PATH, but for now
# we add everything we need manually.
wrapProgram "$out/bin/woeusb" \
--set PATH '${stdenv.lib.makeBinPath [ coreutils dosfstools findutils gawk gnugrep grub2_light ncurses ntfs3g parted utillinux wget ]}'
'';
doInstallCheck = true;
postInstallCheck = ''
# woeusb --version checks for missing runtime dependencies.
out_version="$("$out/bin/woeusb" --version)"
[ "$out_version" = '${version}' ]
'';
meta = with stdenv.lib; {
description = "Create bootable USB disks from Windows ISO images";
homepage = https://github.com/slacka/WoeUSB;
license = licenses.gpl3;
maintainers = with maintainers; [ bjornfor gnidorah ];
platforms = platforms.linux;
};
}

View file

@ -160,6 +160,7 @@ mapAliases (rec {
vimprobable2Wrapper = vimprobable2; # added 2015-01
virtviewer = virt-viewer; # added 2015-12-24
vorbisTools = vorbis-tools; # added 2016-01-26
winusb = woeusb; # added 2017-12-22
x11 = xlibsWrapper; # added 2015-09
xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
xlibs = xorg; # added 2015-09

View file

@ -5216,7 +5216,7 @@ with pkgs;
which = callPackage ../tools/system/which { };
winusb = callPackage ../tools/misc/winusb { };
woeusb = callPackage ../tools/misc/woeusb { };
chase = callPackage ../tools/system/chase { };