gnu: Add marco. * gnu/packages/mate.scm (marco): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: Add mate-terminal. * gnu/packages/mate.scm (mate-terminal): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: Add caja. * gnu/packages/mate.scm (caja): New variable. Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
gnu: monero: Fix building on aarch64-linux. * gnu/packages/finance.scm (monero)[arguments]: Add a configure-flag to set architecture type on aarch64.
gnu: mes: Update to 0.10. * gnu/packages/mes.scm (mes): Update to 0.10.
system: Fix typo in 'read-boot-parameters'. Fixes a regression introduced in commit 075681d3501082c6e22df8abf29dfe89d85effc1. * gnu/system.scm (read-boot-parameters): For 'root-device', use 'device-sexp->device', not 'device->sexp'.
vm: Generate a UUID to identify the root file system. This makes collisions less likely than when using a label to look up the partition. See <https://bugs.gnu.org/27735>. * gnu/system/vm.scm (operating-system-uuid): New procedure. (system-disk-image): Define 'root-uuid' and use it for the root file system. Pass it to 'iso9660-image' and 'qemu-image'.
vm: Allow users to specify a UUID for the root partition. * gnu/system/vm.scm (qemu-image): Add #:file-system-uuid parameter; pass it as the 'uuid' field of the root partition.
uuid: 'uuid' macro supports more UUID types. * gnu/system/uuid.scm (string->uuid): Turn 'type' into an optional argument. (uuid): Add clauses to allow for an optional 'type' parameter.
system: Serialize the UUID type in the "parameters" file. * gnu/system.scm (read-boot-parameters)[device->sexp]: New procedure. Use it for 'root-device' and 'store-device'. (device->sexp): Serialize the UUID type in addition to its bytevector.
system: Introduce a disjoint UUID type. Conceptually a UUID is just a bytevector. However, there's software out there such as GRUB that relies on the string representation of different UUID types (e.g., the string representation of DCE UUIDs differs from that of ISO-9660 UUIDs, even if they are actually bytevectors of the same length). This new <uuid> record type allows us to preserve information about the type of UUID so we can eventually convert it to a string using the right representation. * gnu/system/uuid.scm (<uuid>): New record type. (bytevector->uuid): New procedure. (uuid): Return calls to 'make-uuid'. (uuid->string): Rewrite using 'match-lambda*' to accept a single 'uuid?' argument. * gnu/bootloader/grub.scm (grub-root-search): Check for 'uuid?' instead of 'bytevector?'. * gnu/system.scm (bootable-kernel-arguments): Check whether ROOT-DEVICE is 'uuid?'. (read-boot-parameters): Use 'bytevector->uuid' when the store device is a bytevector. (read-boot-parameters-file): Check for 'uuid?' instead of 'bytevector?'. (device->sexp): New procedure. (operating-system-boot-parameters-file): Use it for 'root-device' and 'store'. (operating-system-bootcfg): Remove conditional in definition of 'root-device'. * gnu/system/file-systems.scm (file-system->spec): Check for 'uuid?' on DEVICE and take its bytevector. * gnu/system/mapped-devices.scm (open-luks-device): Likewise. * gnu/system/vm.scm (iso9660-image): Call 'uuid-bytevector' for the #:volume-uuid argument.
services: file-system: Use 'file-system->spec'. * gnu/services/base.scm (file-system-shepherd-service): Use 'file-system->spec' instead of in-line code.
file-systems: Introduce (gnu system uuid). * gnu/build/file-systems.scm (sub-bytevector) (latin1->string, %fat32-endianness, fat32-uuid->string) (%iso9660-uuid-rx, string->iso9660-uuid) (iso9660-uuid->string, %network-byte-order) (dce-uuid->string, %uuid-rx, string->dce-uuid) (string->ext2-uuid, string->ext3-uuid, string->ext4-uuid) (vhashq, %uuid-parsers, %uuid-printers, string->uuid) (uuid->string): Move to... * gnu/system/uuid.scm: ... here. New file. * gnu/system/file-systems.scm (uuid): Move to the above file. * gnu/system/vm.scm: Adjust accordingly. * gnu/local.mk (GNU_SYSTEM_MODULES): Add uuid.scm.
services: base: Import the closure of (gnu build file-systems). * gnu/services/base.scm (file-system-shepherd-service): Use 'source-module-closure' in the 'with-imported-modules' form.
file-systems: Add UUID type dictionaries. * gnu/build/file-systems.scm (uuid->string): Rename to... (dce-uuid->string): ... this. (string->uuid): Rename to... (string->dce-uuid): ... this. (vhashq): New macro. (%uuid-parsers, %uuid-printers): New variables. (uuid->string, string->uuid): New procedures.
vm: Allow partitions to be initialized with a given UUID. * gnu/build/vm.scm (<partition>)[uuid]: New field. (create-ext-file-system): Add #:uuid and honor it. (create-fat-file-system): Add #:uuid. (format-partition): Add #:uuid and honor it. (initialize-partition): Honor the 'uuid' field of PARTITION.
gnu: mpg123: Update to 1.25.6 [fixes CVE-2017-12797]. * gnu/packages/mp3.scm (mpg123): Update to 1.25.6.
gnu: libchamplain: Update to 0.12.16. * gnu/packages/gnome.scm (libchamplain): Update to 0.12.16.
gnu: gnome-online-accounts: Update to 3.24.3. * gnu/packages/gnome.scm (gnome-online-accounts): Update to 3.24.3.
gnu: emacs: Patch message-mode enriched text translation [security fix]. * gnu/packages/patches/emacs-unsafe-enriched-mode-translations.patch: New file. * gnu/packages/emacs.scm (emacs)[source](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it.