Regression introduced by d84741a4bf.
The mentioned commit actually is a good thing, because we now get the
output from the X session.
Unfortunately, for the i3wm test, the i3-config-wizard prints out the
raw keyboard symbols directly coming from xcb, so the output isn't
necessarily proper UTF-8.
As the XML::Writer already expects valid UTF-8 input, we assume that
everything that comes into sanitise() will be UTF-8 from the start. So
we just decode() it using FB_DEFAULT as the check argument so that
every invalid character is replaced by the unicode replacement
character:
https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character
We simply re-oncode it again afterwards and return it, so we should
always get out valid UTF-8 in the log XML.
For more information about FB_DEFAULT and FB_CROAK, have a look at:
http://search.cpan.org/~dankogai/Encode-2.84/Encode.pm#Handling_Malformed_Data
Signed-off-by: aszlig <aszlig@redmoonstudios.org>
Screenshot and annotation tool.
The application may complain about missing GConf dbus service[1], but it
still works (and remembers its settings, AFAICT).
[1]: The error message is (line wrapped):
GConf Error: Failed to contact configuration server; the most
common cause is a missing or misconfigured D-Bus session bus daemon. See
http://projects.gnome.org/gconf/ for information. (Details - 1: GetIOR
failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name
org.gnome.GConf was not provided by any .service files)
shutter is a screenshot and annotation GUI tool, coming to Nix soon.
This commit adds its needed perl dependencies:
Gnome2, Gnome2Canvas, Gnome2VFS, Gnome2Wnck, GooCanvas,
Gtk2AppIndicator, Gtk2ImageView, Gtk2Unique, ProcSimple
All expressions are created with nix-generate-from-cpan and manual
tweaks to (propagated)buildInputs and meta.license.
I'm not updating to the 2.x version yet, because the only dependee of
this package is 'shutter' (which I'm about to package) and it doesn't
support 2.x.
/usr/bin/env is not available in chroot builds. Invoke the python3
interpreter directly instead of trying to let env do it (which fails).
Fixes this build error:
$ nix-build -A meson
...
/nix/store/HASH-stdenv/setup: ./install_meson.py: /usr/bin/env: bad interpreter: No such file or directory
builder for ‘/nix/store/HASH-meson-0.26.0.drv’ failed with exit code 126
This allows setting options for the same LUKS device in different
modules. For example, the auto-generated hardware-configuration.nix
can contain
boot.initrd.luks.devices.crypted.device = "/dev/disk/...";
while configuration.nix can add
boot.initrd.luks.devices.crypted.allowDiscards = true;
Also updated the examples/docs to use /disk/disk/by-uuid instead of
/dev/sda, since we shouldn't promote the use of the latter.