diff options
Diffstat (limited to 'gnu')
364 files changed, 34516 insertions, 9425 deletions
diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 6d7352ddd2..d1c72c0c85 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017 David Craven <david@craven.ch> ;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -25,7 +25,10 @@ #:use-module (guix gexp) #:use-module (guix profiles) #:use-module (guix records) - #:use-module (guix ui) + #:use-module (guix deprecation) + #:use-module ((guix ui) #:select (warn-about-load-error)) + #:use-module (guix diagnostics) + #:use-module (guix i18n) #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:export (menu-entry @@ -55,7 +58,8 @@ bootloader-configuration bootloader-configuration? bootloader-configuration-bootloader - bootloader-configuration-target + bootloader-configuration-target ;deprecated + bootloader-configuration-targets bootloader-configuration-menu-entries bootloader-configuration-default-entry bootloader-configuration-timeout @@ -179,12 +183,17 @@ record." ;; The <bootloader-configuration> record contains bootloader independant ;; configuration used to fill bootloader configuration file. +(define-syntax-rule (warn-target-field-deprecation value) + (%warn-target-field-deprecation value (current-source-location))) + (define-record-type* <bootloader-configuration> bootloader-configuration make-bootloader-configuration bootloader-configuration? (bootloader bootloader-configuration-bootloader) ;<bootloader> - (target bootloader-configuration-target ;string + (targets %bootloader-configuration-targets ;list of strings (default #f)) + (target %bootloader-configuration-target ;deprecated + (default #f) (sanitize warn-target-field-deprecation)) (menu-entries bootloader-configuration-menu-entries ;list of <menu-entry> (default '())) (default-entry bootloader-configuration-default-entry ;integer @@ -204,6 +213,26 @@ record." (serial-speed bootloader-configuration-serial-speed ;integer | #f (default #f))) +(define (%warn-target-field-deprecation value location) + (when value + (warning (source-properties->location location) + (G_ "the 'target' field is deprecated, please use 'targets' \ +instead~%"))) + value) + +(define-deprecated (bootloader-configuration-target config) + bootloader-configuration-targets + (%bootloader-configuration-target config)) + +(define (bootloader-configuration-targets config) + (or (%bootloader-configuration-targets config) + ;; TODO: Remove after the deprecated 'target' field is removed. + (list (%bootloader-configuration-target config)) + ;; XXX: At least the GRUB installer (see (gnu bootloader grub)) has this + ;; peculiar behavior of installing fonts and GRUB modules when DEVICE is #f, + ;; hence the default value of '(#f) rather than '(). + (list #f))) + ;;; ;;; Bootloaders. diff --git a/gnu/bootloader/grub.scm b/gnu/bootloader/grub.scm index ce146aba3c..d8e888ff40 100644 --- a/gnu/bootloader/grub.scm +++ b/gnu/bootloader/grub.scm @@ -647,11 +647,12 @@ below the directory TARGET for the system whose root is mounted at MOUNT-POINT. MOUNT-POINT is the last argument in 'guix system init /etc/config.scm mnt/point' or '/' for other 'guix system' commands. -TARGET is the target argument given to the bootloader-configuration in +Where TARGET comes from the targets argument given to the +bootloader-configuration in: (operating-system (bootloader (bootloader-configuration - (target \"/boot\") + (targets '(\"/boot\")) …)) …) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 2af1d44b5f..9f6126023c 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -6,6 +6,8 @@ ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +26,7 @@ (define-module (gnu build activation) #:use-module (gnu system accounts) + #:use-module (gnu system setuid) #:use-module (gnu build accounts) #:use-module (gnu build linux-boot) #:use-module (guix build utils) @@ -279,14 +282,17 @@ they already exist." "/run/setuid-programs") (define (activate-setuid-programs programs) - "Turn PROGRAMS, a list of file names, into setuid programs stored under -%SETUID-DIRECTORY." - (define (make-setuid-program prog) + "Turn PROGRAMS, a list of file setuid-programs record, into setuid programs +stored under %SETUID-DIRECTORY." + (define (make-setuid-program program setuid? setgid? uid gid) (let ((target (string-append %setuid-directory - "/" (basename prog)))) - (copy-file prog target) - (chown target 0 0) - (chmod target #o4555))) + "/" (basename program))) + (mode (+ #o0555 ; base permissions + (if setuid? #o4000 0) ; setuid bit + (if setgid? #o2000 0)))) ; setgid bit + (copy-file program target) + (chown target uid gid) + (chmod target mode))) (format #t "setting up setuid programs in '~a'...~%" %setuid-directory) @@ -302,15 +308,27 @@ they already exist." (for-each (lambda (program) (catch 'system-error (lambda () - (make-setuid-program program)) + (let* ((program-name (setuid-program-program program)) + (setuid? (setuid-program-setuid? program)) + (setgid? (setuid-program-setgid? program)) + (user (setuid-program-user program)) + (group (setuid-program-group program)) + (uid (match user + ((? string?) (passwd:uid (getpwnam user))) + ((? integer?) user))) + (gid (match group + ((? string?) (group:gid (getgrnam group))) + ((? integer?) group)))) + (make-setuid-program program-name setuid? setgid? uid gid))) (lambda args ;; If we fail to create a setuid program, better keep going ;; so that we don't leave %SETUID-DIRECTORY empty or ;; half-populated. This can happen if PROGRAMS contains ;; incorrect file names: <https://bugs.gnu.org/38800>. (format (current-error-port) - "warning: failed to make '~a' setuid-root: ~a~%" - program (strerror (system-error-errno args)))))) + "warning: failed to make ~s setuid/setgid: ~a~%" + (setuid-program-program program) + (strerror (system-error-errno args)))))) programs)) (define (activate-special-files special-files) diff --git a/gnu/build/image.scm b/gnu/build/image.scm index 45eed0b298..6eb0290256 100644 --- a/gnu/build/image.scm +++ b/gnu/build/image.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> diff --git a/gnu/build/jami-service.scm b/gnu/build/jami-service.scm new file mode 100644 index 0000000000..ddfc8cf937 --- /dev/null +++ b/gnu/build/jami-service.scm @@ -0,0 +1,587 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +;;; Commentary: +;;; +;;; This module contains helpers used as part of the jami-service-type +;;; definition. +;;; +;;; Code: + +(define-module (gnu build jami-service) + #:use-module (ice-9 format) + #:use-module (ice-9 match) + #:use-module (ice-9 peg) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 regex) + #:use-module (rnrs io ports) + #:autoload (shepherd service) (fork+exec-command) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (account-fingerprint? + account-details->recutil + get-accounts + get-usernames + set-account-details + add-account + account->username + username->account + username->contacts + enable-account + disable-account + + add-contact + remove-contact + + set-all-moderators + set-moderator + username->all-moderators? + username->moderators + + dbus-available-services + dbus-service-available? + + %send-dbus-binary + %send-dbus-bus + %send-dbus-user + %send-dbus-group + %send-dbus-debug + send-dbus + + with-retries)) + +;;; +;;; Utilities. +;;; + +(define-syntax-rule (with-retries n delay body ...) + "Retry the code in BODY up to N times until it doesn't raise an exception +nor return #f, else raise an error. A delay of DELAY seconds is inserted +before each retry." + (let loop ((attempts 0)) + (catch #t + (lambda () + (let ((result (begin body ...))) + (if (not result) + (error "failed attempt" attempts) + result))) + (lambda args + (if (< attempts n) + (begin + (sleep delay) ;else wait and retry + (loop (+ 1 attempts))) + (error "maximum number of retry attempts reached" + body ... args)))))) + +(define (alist->list alist) + "Flatten ALIST into a list." + (append-map (match-lambda + (() '()) + ((key . value) + (list key value))) + alist)) + +(define account-fingerprint-rx (make-regexp "[0-9A-Fa-f]{40}")) + +(define (account-fingerprint? val) + "A Jami account fingerprint is 40 characters long and only contains +hexadecimal characters." + (and (string? val) + (regexp-exec account-fingerprint-rx val))) + + +;;; +;;; D-Bus reply parser. +;;; + +(define (parse-dbus-reply reply) + "Return the parse tree of REPLY, a string returned by the 'dbus-send' +command." + ;; Refer to 'man 1 dbus-send' for the grammar reference. Note that the + ;; format of the replies doesn't match the format of the input, which is the + ;; one documented, but it gives an idea. For an even better reference, see + ;; the `print_iter' procedure of the 'dbus-print-message.c' file from the + ;; 'dbus' package sources. + (define-peg-string-patterns + "contents <- header (item / container (item / container*)?) + item <-- WS type WS value NL + container <- array / dict / variant + array <-- array-start (item / container)* array-end + dict <-- array-start dict-entry* array-end + dict-entry <-- dict-entry-start item item dict-entry-end + variant <-- variant-start item + type <-- 'string' / 'int16' / 'uint16' / 'int32' / 'uint32' / 'int64' / + 'uint64' / 'double' / 'byte' / 'boolean' / 'objpath' + value <-- (!NL .)* NL + header < (!NL .)* NL + variant-start < WS 'variant' + array-start < WS 'array [' NL + array-end < WS ']' NL + dict-entry-start < WS 'dict entry(' NL + dict-entry-end < WS ')' NL + DQ < '\"' + WS < ' '* + NL < '\n'*") + + (peg:tree (match-pattern contents reply))) + +(define (strip-quotes text) + "Strip the leading and trailing double quotes (\") characters from TEXT." + (let* ((text* (if (string-prefix? "\"" text) + (string-drop text 1) + text)) + (text** (if (string-suffix? "\"" text*) + (string-drop-right text* 1) + text*))) + text**)) + +(define (deserialize-item item) + "Return the value described by the ITEM parse tree as a Guile object." + ;; Strings are printed wrapped in double quotes (see the print_iter + ;; procedure in dbus-print-message.c). + (match item + (('item ('type "string") ('value value)) + (strip-quotes value)) + (('item ('type "boolean") ('value value)) + (if (string=? "true" value) + #t + #f)) + (('item _ ('value value)) + value))) + +(define (serialize-boolean bool) + "Return the serialized format expected by dbus-send for BOOL." + (format #f "boolean:~:[false~;true~]" bool)) + +(define (dict->alist dict-parse-tree) + "Translate a dict parse tree to an alist." + (define (tuples->alist tuples) + (map (lambda (x) (apply cons x)) tuples)) + + (match dict-parse-tree + ('dict + '()) + (('dict ('dict-entry keys values) ...) + (let ((keys* (map deserialize-item keys)) + (values* (map deserialize-item values))) + (tuples->alist (zip keys* values*)))))) + +(define (array->list array-parse-tree) + "Translate an array parse tree to a list." + (match array-parse-tree + ('array + '()) + (('array items ...) + (map deserialize-item items)))) + + +;;; +;;; Low-level, D-Bus-related procedures. +;;; + +;;; The following parameters are used in the jami-service-type service +;;; definition to conveniently customize the behavior of the send-dbus helper, +;;; even when called indirectly. +(define %send-dbus-binary (make-parameter "dbus-send")) +(define %send-dbus-bus (make-parameter #f)) +(define %send-dbus-user (make-parameter #f)) +(define %send-dbus-group (make-parameter #f)) +(define %send-dbus-debug (make-parameter #f)) + +(define* (send-dbus #:key service path interface method + bus + dbus-send + user group + timeout + arguments) + "Return the response of DBUS-SEND, else raise an error. Unless explicitly +provided, DBUS-SEND takes the value of the %SEND-DBUS-BINARY parameter. BUS +can be used to specify the bus address, such as 'unix:path=/var/run/jami/bus'. +Alternatively, the %SEND-DBUS-BUS parameter can be used. ARGUMENTS can be +used to pass input values to a D-Bus method call. TIMEOUT is the amount of +time to wait for a reply in milliseconds before giving up with an error. USER +and GROUP allow choosing under which user/group the DBUS-SEND command is +executed. Alternatively, the %SEND-DBUS-USER and %SEND-DBUS-GROUP parameters +can be used instead." + (let* ((command `(,(if dbus-send + dbus-send + (%send-dbus-binary)) + ,@(if (or bus (%send-dbus-bus)) + (list (string-append "--bus=" + (or bus (%send-dbus-bus)))) + '()) + "--print-reply" + ,@(if timeout + (list (format #f "--reply-timeout=~d" timeout)) + '()) + ,(string-append "--dest=" service) ;e.g., cx.ring.Ring + ,path ;e.g., /cx/ring/Ring/ConfigurationManager + ,(string-append interface "." method) + ,@(or arguments '()))) + (temp-port (mkstemp! (string-copy "/tmp/dbus-send-output-XXXXXXX"))) + (temp-file (port-filename temp-port))) + (dynamic-wind + (lambda () + (let* ((uid (or (and=> (or user (%send-dbus-user)) + (compose passwd:uid getpwnam)) -1)) + (gid (or (and=> (or group (%send-dbus-group)) + (compose group:gid getgrnam)) -1))) + (chown temp-port uid gid))) + (lambda () + (let ((pid (fork+exec-command command + #:user (or user (%send-dbus-user)) + #:group (or group (%send-dbus-group)) + #:log-file temp-file))) + (match (waitpid pid) + ((_ . status) + (let ((exit-status (status:exit-val status)) + (output (call-with-port temp-port get-string-all))) + (if (= 0 exit-status) + output + (error "the send-dbus command exited with: " + command exit-status output))))))) + (lambda () + (false-if-exception (delete-file temp-file)))))) + +(define (parse-account-ids reply) + "Return the Jami account IDs from REPLY, which is assumed to be the output +of the Jami D-Bus `getAccountList' method." + (array->list (parse-dbus-reply reply))) + +(define (parse-account-details reply) + "Parse REPLY, which is assumed to be the output of the Jami D-Bus +`getAccountDetails' method, and return its content as an alist." + (dict->alist (parse-dbus-reply reply))) + +(define (parse-contacts reply) + "Parse REPLY, which is assumed to be the output of the Jamid D-Bus +`getContacts' method, and return its content as an alist." + (match (parse-dbus-reply reply) + ('array + '()) + (('array dicts ...) + (map dict->alist dicts)))) + + +;;; +;;; Higher-level, D-Bus-related procedures. +;;; + +(define (validate-fingerprint fingerprint) + "Validate that fingerprint is 40 characters long." + (unless (account-fingerprint? fingerprint) + (error "Account fingerprint is not valid:" fingerprint))) + +(define (dbus-available-services) + "Return the list of available (acquired) D-Bus services." + (let ((reply (parse-dbus-reply + (send-dbus #:service "org.freedesktop.DBus" + #:path "/org/freedesktop/DBus" + #:interface "org.freedesktop.DBus" + #:method "ListNames")))) + ;; Remove entries such as ":1.7". + (remove (cut string-prefix? ":" <>) + (array->list reply)))) + +(define (dbus-service-available? service) + "Predicate to check for the D-Bus SERVICE availability." + (member service (dbus-available-services))) + +(define* (send-dbus/configuration-manager #:key method arguments timeout) + "Query the Jami D-Bus ConfigurationManager service." + (send-dbus #:service "cx.ring.Ring" + #:path "/cx/ring/Ring/ConfigurationManager" + #:interface "cx.ring.Ring.ConfigurationManager" + #:method method + #:arguments arguments + #:timeout timeout)) + +;;; The following methods are for internal use; they make use of the account +;;; ID, an implementation detail of Jami the user should not need to be +;;; concerned with. +(define (get-account-ids) + "Return the available Jami account identifiers (IDs). Account IDs are an +implementation detail used to identify the accounts in Jami." + (parse-account-ids + (send-dbus/configuration-manager #:method "getAccountList"))) + +(define (id->account-details id) + "Retrieve the account data associated with the given account ID." + (parse-account-details + (send-dbus/configuration-manager + #:method "getAccountDetails" + #:arguments (list (string-append "string:" id))))) + +(define (id->volatile-account-details id) + "Retrieve the account data associated with the given account ID." + (parse-account-details + (send-dbus/configuration-manager + #:method "getVolatileAccountDetails" + #:arguments (list (string-append "string:" id))))) + +(define (id->account id) + "Retrieve the complete account data associated with the given account ID." + (append (id->volatile-account-details id) + (id->account-details id))) + +(define %username-to-id-cache #f) + +(define (invalidate-username-to-id-cache!) + (set! %username-to-id-cache #f)) + +(define (username->id username) + "Return the first account ID corresponding to USERNAME." + (unless (assoc-ref %username-to-id-cache username) + (set! %username-to-id-cache + (append-map + (lambda (id) + (let* ((account (id->account id)) + (username (assoc-ref account "Account.username")) + (registered-name (assoc-ref account + "Account.registeredName"))) + `(,@(if username + (list (cons username id)) + '()) + ,@(if registered-name + (list (cons registered-name id)) + '())))) + (get-account-ids)))) + (or (assoc-ref %username-to-id-cache username) + (let ((message (format #f "Could not retrieve a local account ID\ + for ~:[username~;fingerprint~]" (account-fingerprint? username)))) + (error message username)))) + +(define (account->username account) + "Return USERNAME, the registered username associated with ACCOUNT, else its +public key fingerprint." + (or (assoc-ref account "Account.registeredName") + (assoc-ref account "Account.username"))) + +(define (id->username id) + "Return USERNAME, the registered username associated with ID, else its +public key fingerprint, else #f." + (account->username (id->account id))) + +(define (get-accounts) + "Return the list of all accounts, as a list of alists." + (map id->account (get-account-ids))) + +(define (get-usernames) + "Return the list of the usernames associated with the present accounts." + (map account->username (get-accounts))) + +(define (username->account username) + "Return the first account associated with USERNAME, else #f. +USERNAME can be either the account 40 characters public key fingerprint or a +registered username." + (find (lambda (account) + (member username + (list (assoc-ref account "Account.username") + (assoc-ref account "Account.registeredName")))) + (get-accounts))) + +(define (add-account archive) + "Import the Jami account ARCHIVE and return its account ID. The archive +should *not* be encrypted with a password. Return the username associated +with the account." + (invalidate-username-to-id-cache!) + (let ((reply (send-dbus/configuration-manager + #:method "addAccount" + #:arguments (list (string-append + "dict:string:string:Account.archivePath," + archive + ",Account.type,RING"))))) + ;; The account information takes some time to be populated. + (let ((id (deserialize-item (parse-dbus-reply reply)))) + (with-retries 20 1 + (let ((username (id->username id))) + (if (string-null? username) + #f + username)))))) + +(define (remove-account username) + "Delete the Jami account associated with USERNAME, the account 40 characters +fingerprint or a registered username." + (let ((id (username->id username))) + (send-dbus/configuration-manager + #:method "removeAccount" + #:arguments (list (string-append "string:" id)))) + (invalidate-username-to-id-cache!)) + +(define* (username->contacts username) + "Return the contacts associated with the account of USERNAME as two values; +the first one being the regular contacts and the second one the banned +contacts. USERNAME can be either the account 40 characters public key +fingerprint or a registered username. The contacts returned are represented +using their 40 characters fingerprint." + (let* ((id (username->id username)) + (reply (send-dbus/configuration-manager + #:method "getContacts" + #:arguments (list (string-append "string:" id)))) + (all-contacts (parse-contacts reply)) + (banned? (lambda (contact) + (and=> (assoc-ref contact "banned") + (cut string=? "true" <>)))) + (banned (filter banned? all-contacts)) + (not-banned (filter (negate banned?) all-contacts)) + (fingerprint (cut assoc-ref <> "id"))) + (values (map fingerprint not-banned) + (map fingerprint banned)))) + +(define* (remove-contact contact username #:key ban?) + "Remove CONTACT, the 40 characters public key fingerprint of a contact, from +the account associated with USERNAME (either a fingerprint or a registered +username). When BAN? is true, also mark the contact as banned." + (validate-fingerprint contact) + (let ((id (username->id username))) + (send-dbus/configuration-manager + #:method "removeContact" + #:arguments (list (string-append "string:" id) + (string-append "string:" contact) + (serialize-boolean ban?))))) + +(define (add-contact contact username) + "Add CONTACT, the 40 characters public key fingerprint of a contact, to the +account of USERNAME (either a fingerprint or a registered username)." + (validate-fingerprint contact) + (let ((id (username->id username))) + (send-dbus/configuration-manager + #:method "addContact" + #:arguments (list (string-append "string:" id) + (string-append "string:" contact))))) + +(define* (set-account-details details username #:key timeout) + "Set DETAILS, an alist containing the key value pairs to set for the account +of USERNAME, a registered username or account fingerprint. The value of the +parameters not provided are unchanged. TIMEOUT is a value in milliseconds to +pass to the `send-dbus/configuration-manager' procedure." + (let* ((id (username->id username)) + (current-details (id->account-details id)) + (updated-details (map (match-lambda + ((key . value) + (or (and=> (assoc-ref details key) + (cut cons key <>)) + (cons key value)))) + current-details)) + ;; dbus-send does not permit sending null strings (it throws a + ;; "malformed dictionary" error). Luckily they seem to have the + ;; semantic of "default account value" in Jami; so simply drop them. + (updated-details* (remove (match-lambda + ((_ . value) + (string-null? value))) + updated-details))) + (send-dbus/configuration-manager + #:timeout timeout + #:method "setAccountDetails" + #:arguments + (list (string-append "string:" id) + (string-append "dict:string:string:" + (string-join (alist->list updated-details*) + ",")))))) + +(define (set-all-moderators enabled? username) + "Set the 'AllModerators' property to enabled? for the account of USERNAME, a +registered username or account fingerprint." + (let ((id (username->id username))) + (send-dbus/configuration-manager + #:method "setAllModerators" + #:arguments + (list (string-append "string:" id) + (serialize-boolean enabled?))))) + +(define (username->all-moderators? username) + "Return the 'AllModerators' property for the account of USERNAME, a +registered username or account fingerprint." + (let* ((id (username->id username)) + (reply (send-dbus/configuration-manager + #:method "isAllModerators" + #:arguments + (list (string-append "string:" id))))) + (deserialize-item (parse-dbus-reply reply)))) + +(define (username->moderators username) + "Return the moderators for the account of USERNAME, a registered username or +account fingerprint." + (let* ((id (username->id username)) + (reply (send-dbus/configuration-manager + #:method "getDefaultModerators" + #:arguments + (list (string-append "string:" id))))) + (array->list (parse-dbus-reply reply)))) + +(define (set-moderator contact enabled? username) + "Set the moderator flag to ENABLED? for CONTACT, the 40 characters public +key fingerprint of a contact for the account of USERNAME, a registered +username or account fingerprint." + (validate-fingerprint contact) + (let* ((id (username->id username))) + (send-dbus/configuration-manager #:method "setDefaultModerator" + #:arguments + (list (string-append "string:" id) + (string-append "string:" contact) + (serialize-boolean enabled?))))) + +(define (disable-account username) + "Disable the account known by USERNAME, a registered username or account +fingerprint." + (set-account-details '(("Account.enable" . "false")) username + ;; Waiting for the reply on this command takes a very + ;; long time that trips the default D-Bus timeout value + ;; (25 s), for some reason. + #:timeout 60000)) + +(define (enable-account username) + "Enable the account known by USERNAME, a registered username or account +fingerprint." + (set-account-details '(("Account.enable" . "true")) username)) + + +;;; +;;; Presentation procedures. +;;; + +(define (.->_ text) + "Map each period character to underscore characters." + (string-map (match-lambda + (#\. #\_) + (c c)) + text)) + +(define (account-details->recutil account-details) + "Serialize the account-details alist into a recutil string. Period +characters in the keys are normalized to underscore to meet Recutils' format +requirements." + (define (pair->recutil-property pair) + (match pair + ((key . value) + (string-append (.->_ key) ": " value)))) + + (define sorted-account-details + ;; Have the account username, display name and alias appear first, for + ;; convenience. + (let ((first-items '("Account.username" + "Account.displayName" + "Account.alias"))) + (append (map (cut assoc <> account-details) first-items) + (fold alist-delete account-details first-items)))) + + (string-join (map pair->recutil-property sorted-account-details) "\n")) + +;; Local Variables: +;; eval: (put 'with-retries 'scheme-indent-function 2) +;; End: diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 461df9ff46..95d0a1fe79 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -390,10 +390,6 @@ networking values.) Return #t if INTERFACE is up, #f otherwise." (set-network-interface-address sock interface address) (set-network-interface-flags sock interface (logior flags IFF_UP)) - ;; Hello! We used to create /etc/resolv.conf here, with "nameserver - ;; 10.0.2.3\n". However, with Linux-libre 3.16, we're getting ENOSPC. - ;; And since it's actually unnecessary, it's gone. - (logand (network-interface-flags sock interface) IFF_UP))) (define (device-number major minor) diff --git a/gnu/build/shepherd.scm b/gnu/build/shepherd.scm index d7b858dea4..778e3fc627 100644 --- a/gnu/build/shepherd.scm +++ b/gnu/build/shepherd.scm @@ -24,6 +24,12 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) + ;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency. + #:autoload (shepherd service) (fork+exec-command + read-pid-file + exec-command + %precious-signals) + #:autoload (shepherd system) (unblock-signals) #:export (make-forkexec-constructor/container fork+exec-command/container)) @@ -92,14 +98,6 @@ (file-exists? (file-system-mapping-source mapping))) mappings))))) -;; XXX: Lazy-bind the Shepherd to avoid a compile-time dependency. -(module-autoload! (current-module) - '(shepherd service) - '(fork+exec-command read-pid-file exec-command - %precious-signals)) -(module-autoload! (current-module) - '(shepherd system) '(unblock-signals)) - (define* (read-pid-file/container pid pid-file #:key (max-delay 5)) "Read PID-FILE in the container namespaces of PID, which exists in a separate mount and PID name space. Return the \"outer\" PID. " diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 253d9bcd31..9d32824764 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> diff --git a/gnu/installer/keymap.scm b/gnu/installer/keymap.scm index c42b308009..83b65a0427 100644 --- a/gnu/installer/keymap.scm +++ b/gnu/installer/keymap.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2018, 2021 Mathieu Othacehe <othacehe@gnu.org> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; ;;; This file is part of GNU Guix. @@ -79,6 +79,11 @@ "Parse FILE and return two values, the list of supported X11-KEYMAP-MODEL and X11-KEYMAP-LAYOUT records. FILE is an XML file from the X Keyboard Configuration Database, describing possible XKB configurations." + (define maybe-empty + (match-lambda + ((x) x) + (#f ""))) + (define (model m) (sxml-match m [(model @@ -108,7 +113,7 @@ Configuration Database, describing possible XKB configurations." . ,rest-variant)) (x11-keymap-variant (name name) - (description (car + (description (maybe-empty (assoc-ref rest-variant 'description))))])) (define (layout l) @@ -120,9 +125,9 @@ Configuration Database, describing possible XKB configurations." (variantList ,[variant -> v] ...)) (x11-keymap-layout (name name) - (synopsis (car + (synopsis (maybe-empty (assoc-ref rest-layout 'shortDescription))) - (description (car + (description (maybe-empty (assoc-ref rest-layout 'description))) (variants (list v ...)))] [(layout @@ -131,9 +136,9 @@ Configuration Database, describing possible XKB configurations." . ,rest-layout)) (x11-keymap-layout (name name) - (synopsis (car + (synopsis (maybe-empty (assoc-ref rest-layout 'shortDescription))) - (description (car + (description (maybe-empty (assoc-ref rest-layout 'description))) (variants '()))])) diff --git a/gnu/installer/parted.scm b/gnu/installer/parted.scm index 1f9cec1d11..c000b1dec2 100644 --- a/gnu/installer/parted.scm +++ b/gnu/installer/parted.scm @@ -1356,9 +1356,9 @@ from (gnu system mapped-devices) and return it." `((bootloader-configuration ,@(if (efi-installation?) `((bootloader grub-efi-bootloader) - (target ,(default-esp-mount-point))) + (targets (list ,(default-esp-mount-point)))) `((bootloader grub-bootloader) - (target ,root-partition-disk))) + (targets (list ,root-partition-disk)))) ;; XXX: Assume we defined the 'keyboard-layout' field of ;; <operating-system> right above. diff --git a/gnu/local.mk b/gnu/local.mk index 20f0b8f081..aa5690b198 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -20,7 +20,7 @@ # Copyright © 2018, 2019, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com> # Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> # Copyright © 2018, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> -# Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> +# Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> # Copyright © 2019, 2020 John Soo <jsoo1@asu.edu> # Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> # Copyright © 2019 Evan Straw <evan.straw99@gmail.com> @@ -44,6 +44,7 @@ # Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> # Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> # Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> +# Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz> # # This file is part of GNU Guix. # @@ -187,7 +188,6 @@ GNU_SYSTEM_MODULES = \ %D%/packages/docbook.scm \ %D%/packages/docker.scm \ %D%/packages/documentation.scm \ - %D%/packages/drones.scm \ %D%/packages/dunst.scm \ %D%/packages/dvtm.scm \ %D%/packages/easyrpg.scm \ @@ -384,6 +384,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/mercury.scm \ %D%/packages/mes.scm \ %D%/packages/messaging.scm \ + %D%/packages/minetest.scm \ %D%/packages/mingw.scm \ %D%/packages/microcom.scm \ %D%/packages/moe.scm \ @@ -451,6 +452,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/php.scm \ %D%/packages/piet.scm \ %D%/packages/pkg-config.scm \ + %D%/packages/plan9.scm \ %D%/packages/plotutils.scm \ %D%/packages/poedit.scm \ %D%/packages/polkit.scm \ @@ -492,7 +494,9 @@ GNU_SYSTEM_MODULES = \ %D%/packages/rednotebook.scm \ %D%/packages/regex.scm \ %D%/packages/robotics.scm \ + %D%/packages/rocm.scm \ %D%/packages/rpc.scm \ + %D%/packages/rpm.scm \ %D%/packages/rrdtool.scm \ %D%/packages/rsync.scm \ %D%/packages/ruby.scm \ @@ -559,6 +563,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/tmux.scm \ %D%/packages/tor.scm \ %D%/packages/tv.scm \ + %D%/packages/uglifyjs.scm \ %D%/packages/uml.scm \ %D%/packages/unicode.scm \ %D%/packages/unrtf.scm \ @@ -666,6 +671,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/mapped-devices.scm \ %D%/system/nss.scm \ %D%/system/pam.scm \ + %D%/system/setuid.scm \ %D%/system/shadow.scm \ %D%/system/uuid.scm \ %D%/system/vm.scm \ @@ -684,6 +690,7 @@ GNU_SYSTEM_MODULES = \ %D%/build/chromium-extension.scm \ %D%/build/cross-toolchain.scm \ %D%/build/image.scm \ + %D%/build/jami-service.scm \ %D%/build/file-systems.scm \ %D%/build/hurd-boot.scm \ %D%/build/install.scm \ @@ -721,6 +728,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/security-token.scm \ %D%/tests/singularity.scm \ %D%/tests/ssh.scm \ + %D%/tests/telephony.scm \ %D%/tests/version-control.scm \ %D%/tests/virtualization.scm \ %D%/tests/web.scm @@ -786,7 +794,8 @@ dist_installer_DATA = \ MODULES_NOT_COMPILED += \ %D%/build/locale.scm \ %D%/build/shepherd.scm \ - %D%/build/svg.scm + %D%/build/svg.scm \ + %D%/tests/data/jami-dummy-account.dat patchdir = $(guilemoduledir)/%D%/packages/patches dist_patch_DATA = \ @@ -801,6 +810,7 @@ dist_patch_DATA = \ %D%/packages/patches/abseil-cpp-fix-gtest.patch \ %D%/packages/patches/abseil-cpp-fix-strerror_test.patch \ %D%/packages/patches/adb-add-libraries.patch \ + %D%/packages/patches/adb-libssl_11-compatibility.patch \ %D%/packages/patches/aegis-constness-error.patch \ %D%/packages/patches/aegis-perl-tempdir1.patch \ %D%/packages/patches/aegis-perl-tempdir2.patch \ @@ -873,10 +883,10 @@ dist_patch_DATA = \ %D%/packages/patches/bsd-games-prevent-name-collisions.patch \ %D%/packages/patches/bsd-games-stdio.h.patch \ %D%/packages/patches/beancount-disable-googleapis-fonts.patch \ - %D%/packages/patches/beets-werkzeug-compat.patch \ %D%/packages/patches/behave-skip-a-couple-of-tests.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/bidiv-update-fribidi.patch \ + %D%/packages/patches/binutils-2.37-file-descriptor-leak.patch \ %D%/packages/patches/binutils-boot-2.20.1a.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-mingw-w64-timestamp.patch \ @@ -900,6 +910,7 @@ dist_patch_DATA = \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ + %D%/packages/patches/cheese-vala-update.patch \ %D%/packages/patches/chez-scheme-build-util-paths-backport.patch \ %D%/packages/patches/chmlib-inttypes.patch \ %D%/packages/patches/cl-asdf-config-directories.patch \ @@ -921,6 +932,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-runtime-3.9-libsanitizer-mode-field.patch \ %D%/packages/patches/clang-runtime-3.8-libsanitizer-mode-field.patch \ %D%/packages/patches/classpath-aarch64-support.patch \ + %D%/packages/patches/classpath-miscompilation.patch \ %D%/packages/patches/clucene-pkgconfig.patch \ %D%/packages/patches/cmake-curl-certificates.patch \ %D%/packages/patches/coda-use-system-libs.patch \ @@ -930,6 +942,7 @@ dist_patch_DATA = \ %D%/packages/patches/coreutils-gnulib-tests.patch \ %D%/packages/patches/coreutils-ls.patch \ %D%/packages/patches/cpufrequtils-fix-aclocal.patch \ + %D%/packages/patches/cpuinfo-system-libraries.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \ %D%/packages/patches/clucene-contribs-lib.patch \ @@ -941,6 +954,7 @@ dist_patch_DATA = \ %D%/packages/patches/cyrus-sasl-ac-try-run-fix.patch \ %D%/packages/patches/cyrus-sasl-CVE-2019-19906.patch \ %D%/packages/patches/c++-gsl-find-system-gtest.patch \ + %D%/packages/patches/c++-gsl-move-array-bounds-tests.patch \ %D%/packages/patches/date-output-pkg-config-files.patch \ %D%/packages/patches/datefudge-gettimeofday.patch \ %D%/packages/patches/dbacl-include-locale.h.patch \ @@ -994,11 +1008,14 @@ dist_patch_DATA = \ %D%/packages/patches/enjarify-setup-py.patch \ %D%/packages/patches/enlightenment-fix-setuid-path.patch \ %D%/packages/patches/erlang-man-path.patch \ + %D%/packages/patches/esmtp-add-lesmtp.patch \ %D%/packages/patches/eudev-rules-directory.patch \ %D%/packages/patches/evilwm-lost-focus-bug.patch \ %D%/packages/patches/evolution-CVE-2020-11879.patch \ + %D%/packages/patches/evolution-printableoptions.patch \ %D%/packages/patches/evolution-data-server-CVE-2020-14928.patch \ %D%/packages/patches/evolution-data-server-CVE-2020-16117.patch \ + %D%/packages/patches/evolution-data-server-printableoptions.patch \ %D%/packages/patches/evolution-data-server-locales.patch \ %D%/packages/patches/evolution-data-server-libical-compat.patch \ %D%/packages/patches/exercism-disable-self-update.patch \ @@ -1022,12 +1039,14 @@ dist_patch_DATA = \ %D%/packages/patches/foobillard++-pkg-config.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ + %D%/packages/patches/fp16-system-libraries.patch \ %D%/packages/patches/fpc-reproducibility.patch \ %D%/packages/patches/fplll-std-fenv.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ %D%/packages/patches/freeglut-gcc-compat.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ + %D%/packages/patches/fxdiv-system-libraries.patch \ %D%/packages/patches/gajim-honour-GAJIM_PLUGIN_PATH.patch \ %D%/packages/patches/ganeti-deterministic-manual.patch \ %D%/packages/patches/ganeti-disable-version-symlinks.patch \ @@ -1096,7 +1115,10 @@ dist_patch_DATA = \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ %D%/packages/patches/giara-fix-login.patch \ + %D%/packages/patches/glade-gls-set-script-name.patch \ + %D%/packages/patches/glade-test-widget-null-icon.patch \ %D%/packages/patches/glib-appinfo-watch.patch \ + %D%/packages/patches/glib-networking-gnutls-binding.patch \ %D%/packages/patches/glib-skip-failing-test.patch \ %D%/packages/patches/glibc-CVE-2018-11236.patch \ %D%/packages/patches/glibc-CVE-2018-11237.patch \ @@ -1125,9 +1147,11 @@ dist_patch_DATA = \ %D%/packages/patches/glibc-locales.patch \ %D%/packages/patches/glibc-locales-2.28.patch \ %D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \ + %D%/packages/patches/glibc-skip-c++.patch \ %D%/packages/patches/glibc-versioned-locpath.patch \ %D%/packages/patches/glibc-2.29-git-updates.patch \ %D%/packages/patches/glibc-2.29-supported-locales.patch \ + %D%/packages/patches/glibc-static-nss.patch \ %D%/packages/patches/glibc-supported-locales.patch \ %D%/packages/patches/gmp-arm-asm-nothumb.patch \ %D%/packages/patches/gmp-faulty-test.patch \ @@ -1139,12 +1163,16 @@ dist_patch_DATA = \ %D%/packages/patches/gnome-todo-delete-esource-duplicate.patch \ %D%/packages/patches/gnome-tweaks-search-paths.patch \ %D%/packages/patches/gnupg-default-pinentry.patch \ + %D%/packages/patches/gnupg-1-build-with-gcc10.patch \ %D%/packages/patches/gnutls-skip-trust-store-test.patch \ %D%/packages/patches/gnutls-cross.patch \ + %D%/packages/patches/gnutls-guile-eintr-eagain.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/go-fix-script-tests.patch \ + %D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \ + %D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \ %D%/packages/patches/go-skip-gc-test.patch \ %D%/packages/patches/gpm-glibc-2.26.patch \ %D%/packages/patches/gpodder-disable-updater.patch \ @@ -1185,6 +1213,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-theme-paths.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch \ + %D%/packages/patches/gtk-doc-respect-xml-catalog.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ %D%/packages/patches/gtksourceview-2-add-default-directory.patch \ %D%/packages/patches/gvfs-add-support-for-libplist-2.2.patch \ @@ -1223,6 +1252,7 @@ dist_patch_DATA = \ %D%/packages/patches/imagemagick-ReadDCMPixels-fix.patch \ %D%/packages/patches/imagemagick-WriteTHUMBNAILImage-fix.patch \ %D%/packages/patches/inkscape-poppler-0.76.patch \ + %D%/packages/patches/instead-use-games-path.patch \ %D%/packages/patches/inkscape-1.1-fix-build-witch-gcc7.5.patch \ %D%/packages/patches/intel-xed-fix-nondeterminism.patch \ %D%/packages/patches/intltool-perl-compatibility.patch \ @@ -1257,10 +1287,12 @@ dist_patch_DATA = \ %D%/packages/patches/jfsutils-gcc-compat.patch \ %D%/packages/patches/jfsutils-include-systypes.patch \ %D%/packages/patches/julia-SOURCE_DATE_EPOCH-mtime.patch \ + %D%/packages/patches/julia-tracker-16-compat.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ %D%/packages/patches/libblockdev-glib-compat.patch \ %D%/packages/patches/libffi-3.3-powerpc-fixes.patch \ %D%/packages/patches/libffi-float128-powerpc64le.patch \ + %D%/packages/patches/librime-fix-build-with-gcc10.patch \ %D%/packages/patches/libvirt-add-install-prefix.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ @@ -1331,6 +1363,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmad-length-check.patch \ %D%/packages/patches/libmad-md_size.patch \ %D%/packages/patches/libmad-mips-newgcc.patch \ + %D%/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch \ %D%/packages/patches/libmp4v2-c++11.patch \ %D%/packages/patches/libmpeg2-arm-private-symbols.patch \ %D%/packages/patches/libmpeg2-global-symbol-test.patch \ @@ -1375,6 +1408,9 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-9-fix-bitcast-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-lpad-miscompilation.patch \ %D%/packages/patches/llvm-9-fix-scev-miscompilation.patch \ + %D%/packages/patches/llvm-roc-3.0.0-add_libraries.patch \ + %D%/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch \ + %D%/packages/patches/llvm-roc-4.2.0-add_Object.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lsh-fix-x11-forwarding.patch \ @@ -1387,8 +1423,9 @@ dist_patch_DATA = \ %D%/packages/patches/luajit-no_ldconfig.patch \ %D%/packages/patches/luit-posix.patch \ %D%/packages/patches/lvm2-static-link.patch \ - %D%/packages/patches/mailutils-fix-uninitialized-variable.patch \ + %D%/packages/patches/mailutils-variable-lookup.patch \ %D%/packages/patches/make-impure-dirs.patch \ + %D%/packages/patches/marble-qt-add-qt-headers.patch \ %D%/packages/patches/mariadb-CVE-2021-27928.patch \ %D%/packages/patches/mariadb-cmake-compat.patch \ %D%/packages/patches/mars-install.patch \ @@ -1403,10 +1440,12 @@ dist_patch_DATA = \ %D%/packages/patches/libmemcached-build-with-gcc7.patch \ %D%/packages/patches/libmhash-hmac-fix-uaf.patch \ %D%/packages/patches/mercurial-hg-extension-path.patch \ + %D%/packages/patches/mesa-opencl-all-targets.patch \ %D%/packages/patches/mesa-skip-tests.patch \ %D%/packages/patches/mescc-tools-boot.patch \ %D%/packages/patches/metabat-fix-compilation.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ + %D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \ %D%/packages/patches/mingw-w64-6.0.0-gcc.patch \ %D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \ %D%/packages/patches/mingw-w64-reproducible-gendef.patch \ @@ -1415,6 +1454,7 @@ dist_patch_DATA = \ %D%/packages/patches/mit-krb5-hurd.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/mpg321-CVE-2019-14247.patch \ + %D%/packages/patches/mpg321-gcc-10.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mono-mdoc-timestamping.patch \ @@ -1473,8 +1513,15 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-dose3-Fix-for-ocaml-4.06.patch \ %D%/packages/patches/ocaml-dose3-dont-make-printconf.patch \ %D%/packages/patches/ocaml-dose3-Install-mli-cmx-etc.patch \ + %D%/packages/patches/ocaml-multiple-definitions.patch \ + %D%/packages/patches/ocaml-4.09-multiple-definitions.patch \ + %D%/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/oneko-remove-nonfree-characters.patch \ + %D%/packages/patches/onnx-optimizer-system-library.patch \ + %D%/packages/patches/onnx-use-system-googletest.patch \ + %D%/packages/patches/onnx-shared-libraries.patch \ + %D%/packages/patches/onnx-skip-model-downloads.patch \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/opencv-fix-build-of-grfmt_jpeg2000.cpp.patch \ @@ -1503,7 +1550,9 @@ dist_patch_DATA = \ %D%/packages/patches/pciutils-hurd-fix.patch \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ - %D%/packages/patches/samba-fix-fcntl-hint-detection.patch \ + %D%/packages/patches/pthreadpool-system-libraries.patch \ + %D%/packages/patches/python-chai-drop-python2.patch \ + %D%/packages/patches/python-random2-getrandbits-test.patch \ %D%/packages/patches/sdcc-disable-non-free-code.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ @@ -1533,6 +1582,7 @@ dist_patch_DATA = \ %D%/packages/patches/pinball-system-ltdl.patch \ %D%/packages/patches/pingus-boost-headers.patch \ %D%/packages/patches/pingus-sdl-libs-config.patch \ + %D%/packages/patches/pipewire-0.2.7-fno-common.patch \ %D%/packages/patches/pixman-CVE-2016-5296.patch \ %D%/packages/patches/pjproject-correct-the-cflags-field.patch \ %D%/packages/patches/pjproject-fix-pkg-config-ldflags.patch \ @@ -1581,6 +1631,9 @@ dist_patch_DATA = \ %D%/packages/patches/python-cross-compile.patch \ %D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \ %D%/packages/patches/python-configobj-setuptools.patch \ + %D%/packages/patches/python-docopt-pytest6-compat.patch \ + %D%/packages/patches/python-execnet-read-only-fix.patch \ + %D%/packages/patches/python-fixtures-remove-monkeypatch-test.patch \ %D%/packages/patches/python-flask-restful-werkzeug-compat.patch \ %D%/packages/patches/python-keras-integration-test.patch \ %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ @@ -1588,27 +1641,28 @@ dist_patch_DATA = \ %D%/packages/patches/python-flint-includes.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ %D%/packages/patches/python-matplotlib-run-under-wayland-gtk3.patch \ - %D%/packages/patches/python-mediafile-wavpack.patch \ %D%/packages/patches/python-memcached-syntax-warnings.patch \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ - %D%/packages/patches/python-testtools.patch \ %D%/packages/patches/python-typing-inspect-fix.patch \ - %D%/packages/patches/python-onnx-use-system-googletest.patch \ %D%/packages/patches/python-packaging-test-arch.patch \ %D%/packages/patches/python2-parameterized-docstring-test.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python-pycrypto-time-clock.patch \ + %D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \ + %D%/packages/patches/python-pyan3-fix-positional-arguments.patch \ %D%/packages/patches/python-pydot-regression-test.patch \ %D%/packages/patches/python2-pygobject-2-deprecation.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ + %D%/packages/patches/python-pytest-asyncio-python-3.8.patch \ + %D%/packages/patches/python-pytorch-runpath.patch \ + %D%/packages/patches/python-pytorch-system-libraries.patch \ %D%/packages/patches/python-robotframework-source-date-epoch.patch \ %D%/packages/patches/python-seaborn-kde-test.patch \ %D%/packages/patches/python2-subprocess32-disable-input-test.patch \ %D%/packages/patches/python-unittest2-python3-compat.patch \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ - %D%/packages/patches/pypy3-7.3.1-fix-tests.patch \ %D%/packages/patches/qemu-build-info-manual.patch \ %D%/packages/patches/qemu-CVE-2021-20203.patch \ %D%/packages/patches/qemu-meson-compat.patch \ @@ -1626,6 +1680,10 @@ dist_patch_DATA = \ %D%/packages/patches/quassel-qt-514-compat.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/qtwebkit-pbutils-include.patch \ + %D%/packages/patches/qtwebkit-fix-building-with-bison-3.7.patch \ + %D%/packages/patches/qtwebkit-fix-building-with-python-3.9.patch \ + %D%/packages/patches/qtwebkit-fix-building-with-icu-68.patch \ + %D%/packages/patches/qtwebkit-fix-building-with-glib-2.68.patch \ %D%/packages/patches/randomjungle-disable-static-build.patch \ %D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/rapidjson-gcc-compat.patch \ @@ -1643,12 +1701,19 @@ dist_patch_DATA = \ %D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rtags-separate-rct.patch \ - %D%/packages/patches/racket-sh-via-rktio.patch \ + %D%/packages/patches/racket-minimal-backport-1629887.patch \ + %D%/packages/patches/racket-minimal-sh-via-rktio.patch \ %D%/packages/patches/remake-impure-dirs.patch \ + %D%/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch \ %D%/packages/patches/retroarch-LIBRETRO_DIRECTORY.patch \ %D%/packages/patches/rnp-add-version.cmake.patch \ %D%/packages/patches/rnp-disable-ruby-rnp-tests.patch \ %D%/packages/patches/rnp-unbundle-googletest.patch \ + %D%/packages/patches/rocm-comgr-3.1.0-dependencies.patch \ + %D%/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch \ + %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \ + %D%/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch \ + %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \ %D%/packages/patches/ruby-sanitize-system-libxml.patch \ %D%/packages/patches/rust-coresimd-doctest.patch \ %D%/packages/patches/rust-ndarray-remove-blas-src-dep.patch \ @@ -1729,7 +1794,9 @@ dist_patch_DATA = \ %D%/packages/patches/tup-unbundle-dependencies.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/twinkle-bcg729.patch \ + %D%/packages/patches/u-boot-nintendo-nes-serial.patch \ %D%/packages/patches/u-boot-rockchip-inno-usb.patch \ + %D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \ %D%/packages/patches/u-boot-riscv64-fix-extlinux.patch \ %D%/packages/patches/ucx-tcp-iface-ioctl.patch \ %D%/packages/patches/udiskie-no-appindicator.patch \ @@ -1777,7 +1844,6 @@ dist_patch_DATA = \ %D%/packages/patches/vboot-utils-fix-format-load-address.patch \ %D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \ %D%/packages/patches/vboot-utils-skip-test-workbuf.patch \ - %D%/packages/patches/vigra-python-compat.patch \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ @@ -1812,6 +1878,7 @@ dist_patch_DATA = \ %D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-settings-defaults.patch \ %D%/packages/patches/xmonad-dynamic-linking.patch \ + %D%/packages/patches/xnnpack-system-libraries.patch \ %D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \ %D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \ %D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \ @@ -1822,6 +1889,7 @@ dist_patch_DATA = \ %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \ %D%/packages/patches/xsane-support-ipv6.patch \ %D%/packages/patches/xsane-tighten-default-umask.patch \ + %D%/packages/patches/xygrib-fix-finding-data.patch \ %D%/packages/patches/yggdrasil-extra-config.patch \ %D%/packages/patches/ytfzf-programs.patch \ %D%/packages/patches/ytfzf-updates.patch \ diff --git a/gnu/machine/digital-ocean.scm b/gnu/machine/digital-ocean.scm index d97c300d18..90b66a54d9 100644 --- a/gnu/machine/digital-ocean.scm +++ b/gnu/machine/digital-ocean.scm @@ -235,7 +235,7 @@ cat > /etc/bootstrap-config.scm << EOF (timezone \"Etc/UTC\") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target \"/dev/vda\") + (targets '(\"/dev/vda\")) (terminal-outputs '(console)))) (file-systems (cons (file-system (mount-point \"/\") diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index cf37a96b15..aad8586a71 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> -;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> @@ -29,7 +29,7 @@ ;;; Copyright © 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> -;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2019, 2020, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> @@ -43,6 +43,8 @@ ;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz> ;;; Copyright © 2021 WinterHound <winterhound@yandex.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -135,11 +137,14 @@ #:use-module (gnu packages qt) #:use-module (gnu packages readline) #:use-module (gnu packages ruby) + #:use-module (gnu packages selinux) #:use-module (gnu packages serialization) + #:use-module (gnu packages ssh) #:use-module (gnu packages sphinx) #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) #:use-module (gnu packages texinfo) + #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages web) @@ -834,6 +839,17 @@ hostname.") #:phases (modify-phases %standard-phases + ,@(if (%current-target-system) + '((add-before 'configure 'set-runtime-shell + (lambda* (#:key inputs #:allow-other-keys) + (let ((shell (string-append + (assoc-ref inputs "bash") + "/bin/bash"))) + (setenv "RUNTIME_SHELL" shell) + (substitute* "configure.ac" + (("\\$SHELL") + "$RUNTIME_SHELL")))))) + '()) (add-before 'build 'set-nscd-file-name (lambda* (#:key inputs #:allow-other-keys) ;; Use the right file name for nscd. @@ -858,7 +874,10 @@ hostname.") (inputs `(,@(if (hurd-target?) '() - `(("linux-pam" ,linux-pam))))) + `(("linux-pam" ,linux-pam))) + ,@(if (%current-target-system) + `(("bash" ,bash-minimal)) + '()))) (home-page "https://github.com/shadow-maint/shadow") (synopsis "Authentication-related tools such as passwd, su, and login") (description @@ -1248,7 +1267,11 @@ connection alive.") "--owner=root:0" "--group=root:0"))))) (add-after 'install 'post-install - (lambda* (#:key inputs outputs #:allow-other-keys) + ;; TODO(core-updates): native-inputs isn't required anymore. + (lambda* (#:key ,@(if (%current-target-system) + '(native-inputs) + '()) + inputs outputs #:allow-other-keys) ;; Install the dhclient script for GNU/Linux and make sure ;; if finds all the programs it needs. (let* ((out (assoc-ref outputs "out")) @@ -1272,6 +1295,19 @@ connection alive.") (string-append dir "/bin:" dir "/sbin")) (list inetutils net-tools coreutils sed)))) + ;; TODO(core-updates): should not be required anymore, + ;; once <https://issues.guix.gnu.org/49290> has been merged. + ,@(if (%current-target-system) + '((for-each + (lambda (file) + (substitute* file + (((assoc-ref native-inputs "bash")) + (assoc-ref inputs "bash")))) + (list (string-append libexec + "/dhclient-script") + (string-append libexec + "/.dhclient-script-real")))) + '()) #t)))))) (native-inputs @@ -1279,6 +1315,11 @@ connection alive.") ("file" ,file))) (inputs `(("inetutils" ,inetutils) + ;; TODO(core-updates): simply make this unconditional + ,@(if (%current-target-system) + ;; for wrap-program + `(("bash" ,(canonical-package bash-minimal))) + '()) ,@(if (hurd-target?) '() `(("net-tools" ,net-tools) ("iproute" ,iproute))) @@ -1307,6 +1348,38 @@ tools: server, client, and relay agent.") (license license:mpl2.0) (properties '((cpe-name . "dhcp")))))) +(define-public radvd + (package + (name "radvd") + (version "2.19") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/radvd-project/radvd") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1df827m3vkjq2bcs5y9wg2cygvpdwl8ppl446qqhyym584gz54nl")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("bison" ,bison) + ("check" ,check) + ("flex" ,flex) + ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags '("--with-check"))) + (home-page "https://radvd.litech.org/") + (synopsis "IPv6 Router Advertisement Daemon") + (description + "The Router Advertisement Daemon (radvd) is run on systems acting as IPv6 +routers. It sends Router Advertisement messages specified by RFC 2461 +periodically and when requested by a node sending a Router Solicitation +message. These messages are required for IPv6 stateless autoconfiguration.") + (license (license:non-copyleft "file://COPYRIGHT")))) + (define-public libpcap (package (name "libpcap") @@ -1614,7 +1687,7 @@ system administrator.") (define-public sudo (package (name "sudo") - (version "1.9.7p1") + (version "1.9.8") (source (origin (method url-fetch) (uri @@ -1624,7 +1697,7 @@ system administrator.") version ".tar.gz"))) (sha256 (base32 - "1kyqj45nmykwj38sc5kx7mi0vf6x637hzvbd1jv22lg5aks3251r")) + "1rlln9nb3lvg4qlkp0c9qxjflx36rf16mflg0sps2kl0k7lmswzi")) (modules '((guix build utils))) (snippet '(begin @@ -2088,15 +2161,15 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20210604") + (version "20210730") (source (origin (method url-fetch) (uri (string-append - "https://acpica.org/sites/acpica/files/acpica-unix2-" - version ".tar_0.gz")) + "https://acpica.org/sites/acpica/files/acpica-unix-" + version ".tar.gz")) (sha256 (base32 - "1wsgg6fx7bhbpfzhbpbq2r7jpmv4c4n7v0zidbh25swrz7kfgpwz")))) + "1pmm977nyl3bs71ipzcl4dh30qm8x9wm2p2ml0m62rl62kai832a")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -2445,40 +2518,29 @@ Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number of supported upstream metrics systems simultaneously.") (license license:gpl2+))) -(define-public ansible +(define-public ansible-core (package - (name "ansible") - (version "2.9.18") + (name "ansible-core") + (version "2.11.4") (source (origin (method url-fetch) - (uri (pypi-uri "ansible" version)) + (uri (pypi-uri "ansible-core" version)) (sha256 - (base32 "0g6rsnh02zq5nizamgakl2wvgz7hk1lpnjn9akldrcpa55vygzjm")))) + (base32 + "0jgahcv2pyc5ky0wir55a1h9q9d6rgqj60rqmvlpbj76vz1agsi2")))) (build-system python-build-system) - (native-inputs - `(("python-bcrypt" ,python-bcrypt) - ("python-pynacl" ,python-pynacl) - ("python-httplib2" ,python-httplib2) - ("python-passlib" ,python-passlib) - ("python-nose" ,python-nose) - ("python-mock" ,python-mock) - ("python-jinja2" ,python-jinja2) - ("python-pyyaml" ,python-pyyaml) - ("python-paramiko" ,python-paramiko))) - (inputs - `(("python-cryptography" ,python-cryptography) - ("python-jinja2" ,python-jinja2) - ("python-pyyaml" ,python-pyyaml) - ("python-paramiko" ,python-paramiko))) (arguments - `(#:phases + `(#:modules ((guix build python-build-system) + (guix build utils) + (ice-9 ftw)) + #:phases (modify-phases %standard-phases ;; Several ansible commands (ansible-config, ansible-console, etc.) - ;; are just symlinks to a single ansible executable. The ansible - ;; executable behaves differently based on the value of - ;; sys.argv[0]. This does not work well with our wrap phase, and - ;; therefore the following two phases are required as a workaround. + ;; are just symlinks to a single ansible executable. The ansible + ;; executable behaves differently based on the value of sys.argv[0]. + ;; This does not work well with our wrap phase, and therefore the + ;; following two phases are required as a workaround. (add-after 'unpack 'hide-wrapping (lambda _ ;; Overwrite sys.argv[0] to hide the wrapper script from it. @@ -2487,27 +2549,138 @@ of supported upstream metrics systems simultaneously.") (string-append all " import re sys.argv[0] = re.sub(r'\\.([^/]*)-real$', r'\\1', sys.argv[0]) -"))) - #t)) +"))))) (add-after 'install 'replace-symlinks (lambda* (#:key outputs #:allow-other-keys) ;; Replace symlinks with duplicate copies of the ansible - ;; executable. - (let ((out (assoc-ref outputs "out"))) + ;; executable so that sys.argv[0] has the correct value. + (define bin (string-append (assoc-ref outputs "out") "/bin")) + (with-directory-excursion bin (for-each - (lambda (subprogram) - (delete-file (string-append out "/bin/ansible-" subprogram)) - (copy-file (string-append out "/bin/ansible") - (string-append out "/bin/ansible-" subprogram))) - (list "config" "console" "doc" "galaxy" - "inventory" "playbook" "pull" "vault"))) - #t))))) + (lambda (ansible-symlink) + (delete-file ansible-symlink) + (copy-file "ansible" ansible-symlink)) + (scandir "." (lambda (x) + (and (eq? 'symlink (stat:type (lstat x))) + (string-prefix? "ansible-" x) + (string=? "ansible" (readlink x))))))))) + (add-after 'unpack 'preserve-pythonpath + (lambda _ + (substitute* "test/lib/ansible_test/_internal/ansible_util.py" + (("PYTHONPATH=get_ansible_python_path\\(args\\)" all) + (string-append all "+ ':' + os.environ['PYTHONPATH']"))))) + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "lib/ansible/module_utils/compat/selinux.py" + (("libselinux.so.1" name) + (string-append (assoc-ref inputs "libselinux") + "/lib/" name))) + (substitute* "test/units/modules/test_async_wrapper.py" + (("/usr/bin/python") + (which "python"))))) + (replace 'check + ;; The environment for the test suite can be tricky to get right. + ;; The environment used for Ansible's CI defined in the following + ;; Dockerfile can be used as a reference: + ;; https://raw.githubusercontent.com/ansible/ + ;; default-test-container/master/Dockerfile. + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + ;; Otherwise Ansible fails to create its config directory. + (setenv "HOME" "/tmp") + (setenv "PATH" (string-append (getenv "PATH") ":" + (assoc-ref outputs "out") "/bin")) + (add-installed-pythonpath inputs outputs) + ;; This test module messes up with sys.path and causes many + ;; test failures. + (delete-file "test/units/_vendor/test_vendor.py") + ;; The test fails when run in the container, for reasons + ;; unknown. + (delete-file "test/units/utils/test_display.py") + ;; This test fail for reasons unknown. + (delete-file "test/units/cli/test_adhoc.py") + ;; The test suite needs to be run with 'ansible-test', which + ;; does some extra environment setup. Taken from + ;; https://raw.githubusercontent.com/ansible/ansible/\ + ;; devel/test/utils/shippable/shippable.sh. + (invoke "ansible-test" "units" "-v"))))))) + (native-inputs + `(("openssh" ,openssh) + ("openssl" ,openssl) + ("python-mock" ,python-mock) + ("python-pycrypto" ,python-pycrypto) + ("python-pytest" ,python-pytest) + ("python-pytest-forked" ,python-pytest-forked) + ("python-pytest-mock" ,python-pytest-mock) + ("python-pytest-xdist" ,python-pytest-xdist) + ("python-pytz" ,python-pytz))) + (inputs ;optional dependencies captured in wrap scripts + `(("libselinux" ,libselinux) + ("python-paramiko" ,python-paramiko) + ("python-passlib" ,python-passlib) + ("python-pexpect" ,python-pexpect) + ("sshpass" ,sshpass))) + (propagated-inputs ;core dependencies listed in egg-info/requires.txt + `(("python-cryptography" ,python-cryptography) + ("python-jinja2" ,python-jinja2) + ("python-pyyaml" ,python-pyyaml) + ("python-packaging" ,python-packaging) ;for version number parsing + ("python-resolvelib" ,python-resolvelib-0.5))) (home-page "https://www.ansible.com/") (synopsis "Radically simple IT automation") - (description "Ansible is a radically simple IT automation system. It -handles configuration management, application deployment, cloud provisioning, -ad hoc task execution, and multinode orchestration---including trivializing -things like zero-downtime rolling updates with load balancers.") + (description "Ansible aims to be a radically simple IT automation system. +It handles configuration management, application deployment, cloud +provisioning, ad-hoc task execution, network automation, and multi-node +orchestration. Ansible facilitates complex changes like zero-downtime rolling +updates with load balancers. This package is the core of Ansible, which +provides the following commands: +@itemize +@item ansible +@item ansible-config +@item ansible-connection +@item ansible-console +@item ansible-doc +@item ansible-galaxy +@item ansible-inventory +@item ansible-playbook +@item ansible-pull +@item ansible-test +@item ansible-vault +@end itemize") + (license license:gpl3+))) + +(define-public ansible + (package + (name "ansible") + (version "4.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ansible" version)) + (sha256 + (base32 "031n22j0lsmh69x6i6gkva81j68b4yzh1pbg3q2h4bknl85q46ag")))) + (build-system python-build-system) + (propagated-inputs + `(("ansible-core" ,ansible-core))) + ;; The Ansible collections are found by ansible-core via PYTHONPATH; the + ;; following search path ensures that they are found even when Python is + ;; not present in the profile. + (native-search-paths + ;; XXX: Attempting to use (package-native-search-paths python) + ;; here would cause an error about python being an unbound + ;; variable in the tests/cpan.scm test. + (list (search-path-specification + (variable "PYTHONPATH") + (files (list "lib/python3.8/site-packages"))))) + (home-page "https://www.ansible.com/") + (synopsis "Radically simple IT automation") + (description "Ansible aims to be a radically simple IT automation system. +It handles configuration management, application deployment, cloud +provisioning, ad-hoc task execution, network automation, and multi-node +orchestration. Ansible facilitates complex changes like zero-downtime rolling +updates with load balancers. This package provides a curated set of +community-maintained Ansible collections, which contain playbooks, roles, +modules and plugins that extend Ansible.") (license license:gpl3+))) (define-public debops @@ -2839,13 +3012,13 @@ platform-specific methods.") (package (name "audit") (home-page "https://people.redhat.com/sgrubb/audit/") - (version "2.8.5") + (version "3.0.4") (source (origin (method url-fetch) (uri (string-append home-page "audit-" version ".tar.gz")) (sha256 (base32 - "1dzcwb2q78q7x41shcachn7f4aksxbxd470yk38zh03fch1l2p8f")))) + "1xlcvc2g7qrbnin5pw0bacalva5ldjw97yi6nr17g0yjp4jyhnlc")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--with-python=no" @@ -3369,7 +3542,7 @@ buffers.") (define-public igt-gpu-tools (package (name "igt-gpu-tools") - (version "1.25") + (version "1.26") (source (origin (method git-fetch) @@ -3378,7 +3551,7 @@ buffers.") (commit (string-append "igt-gpu-tools-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lvhkdhilw0fn4nzkpfwvrhiv8d92h811qs2v6ac3p5w7v86a9zm")))) + (base32 "0m124pqv7zna25jnvk566c4kk628jr0w8mgnp8mr5xqz9cprgczm")))) (build-system meson-build-system) (arguments `(#:tests? #f)) ; many of the tests try to load kernel modules @@ -3408,52 +3581,6 @@ Intel DRM Driver.") (supported-systems '("i686-linux" "x86_64-linux")) (license license:expat))) -(define-public fabric - (package - (name "fabric") - (version "1.14.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "Fabric" version)) - (sha256 - (base32 - "1a3ndlpdw6bhn8fcw1jgznl117a8pnr84az9rb5fwnrypf1ph2b6")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2 ; Python 2 only - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke - "nosetests" "-v" "tests/" - ;; This test hangs indefinitely when run on a single core VM - ;; (see GNU bug #26647 and Debian bug #850230). - "--exclude=test_nested_execution_with_explicit_ports" - ;; This test randomly fails in certain environments causing too - ;; much noise to be useful (see Debian bug #854686). - "--exclude=test_should_use_sentinel_for_tasks_that_errored")))))) - (native-inputs - `(("python2-fudge" ,python2-fudge) ; Requires < 1.0 - ("python2-jinja2" ,python2-jinja2) ; Requires < 3.0 - ("python2-nose" ,python2-nose) ; Requires < 2.0 - ("python2-pynacl" ,python2-pynacl) - ("python2-bcrypt" ,python2-bcrypt))) - (propagated-inputs - `(("python2-paramiko" ,python2-paramiko))) - (home-page "https://www.fabfile.org/") - (synopsis "Simple Pythonic remote execution and deployment tool") - (description - "Fabric is designed to upload files and run shell commands on a number of -servers in parallel or serially. These commands are grouped in tasks (which -are regular Python functions) and specified in a @dfn{fabfile}. - -It is similar to Capistrano, except it's implemented in Python and doesn't -expect you to be deploying Rails applications. Fabric is a simple, Pythonic -tool for remote execution and deployment.") - (license license:bsd-2))) - (define-public neofetch (package (name "neofetch") @@ -3860,7 +3987,7 @@ Python loading in HPC environments.") (let ((real-name "inxi")) (package (name "inxi-minimal") - (version "3.3.04-1") + (version "3.3.06-1") (source (origin (method git-fetch) @@ -3869,7 +3996,7 @@ Python loading in HPC environments.") (commit version))) (file-name (git-file-name real-name version)) (sha256 - (base32 "1rrhycp8i43yf9wi80n4pq2hkfhvb2rg1srz8if28bh6fhhasjzw")))) + (base32 "1qk40iyrdp52vmbiqwxicvlcycm2v2bf1gg4lzq0b4619sd6d1m7")))) (build-system trivial-build-system) (inputs `(("bash" ,bash-minimal) @@ -4441,14 +4568,14 @@ Netgear devices.") (define-public atop (package (name "atop") - (version "2.5.0") + (version "2.6.0") (source (origin (method url-fetch) (uri (string-append "https://www.atoptool.nl/download/atop-" version ".tar.gz")) (sha256 (base32 - "0crzz4i2nabyh7d6xg7fvl65qls87nbca5ihidp3nijhrrbi14ab")))) + "0wlg0n0h9vwpjp2dcb623jvvqck422jrjpq9mbpzg4hnawxcmhly")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite @@ -4640,3 +4767,49 @@ the XMODEM/YMODEM/ZMODEM file transfer protocols.") setup, maintenance, supervision, or any long-running processes.") (home-page "https://github.com/leahneukirchen/nq") (license license:public-domain))) + +(define-public lsofgraph + (let ((commit "1d414bdc727c00a8c6cbfffc3c43128c60d6f0de") + (revision "1")) + (package + (name "lsofgraph") + (version (git-version "0.0.1" revision commit)) ;no upstream release + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zevv/lsofgraph") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "058x04yp6bc77hbl3qchqm7pa8f9vqfl9jryr88m8pzl7kvpif54")))) + (build-system trivial-build-system) + (inputs + `(("lua" ,lua))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + ;; copy source + (copy-recursively (assoc-ref %build-inputs "source") ".") + ;; patch-shebang phase + (setenv "PATH" + (string-append (assoc-ref %build-inputs "lua") "/bin" + ":" (getenv "PATH"))) + (substitute* "lsofgraph" + (("#!/usr/bin/env lua") + (string-append "#!" (which "lua")))) + ;; install phase + (install-file "lsofgraph" (string-append %output "/bin")) + (let ((doc (string-append + %output "/share/doc/" ,name "-" ,version))) + (mkdir-p doc) + (install-file "LICENSE" doc) + (install-file "README.md" doc)) + #t))) + (home-page "https://github.com/zevv/lsofgraph") + (synopsis "Convert @code{lsof} output to @code{graphviz}") + (description "Utility to convert @code{lsof} output to a graph showing +FIFO and UNIX interprocess communication.") + (license license:bsd-2)))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 6e7ecdad05..97bc7c9824 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2015, 2017, 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> @@ -78,7 +78,7 @@ (define-public mpfrcx (package (name "mpfrcx") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri (string-append @@ -86,7 +86,7 @@ version ".tar.gz")) (sha256 (base32 - "165syd6kihwp6bry9hvr3v0908cgadsz5w5h5ry4mjnchrklnb7w")))) + "1545vgizpypqi2rrriad0ybqv0qwbn9zr0ibxpk00gha9ihv7acx")))) (build-system gnu-build-system) (propagated-inputs `(("gmp" ,gmp) @@ -237,7 +237,7 @@ the real span of the lattice.") (define-public pari-gp (package (name "pari-gp") - (version "2.13.1") + (version "2.13.2") (source (origin (method url-fetch) (uri (string-append @@ -245,7 +245,7 @@ the real span of the lattice.") version ".tar.gz")) (sha256 (base32 - "1cgwdpw8b797883z9y92ixxjkv72kiy65zsw2qqf5and1kbzgv41")))) + "095s7vdlsxmxa0n0l1a082m6gjaypqfqkaj99z8j7dx0ji89hy8n")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,(texlive-updmap.cfg @@ -343,7 +343,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.7.0-17") + (version "1.7.0-31") (source (origin (method url-fetch) @@ -355,7 +355,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "0yh556wlgs9hfyp5j2xz4nlrd2dma63cicrc3dhahyl96y1aw6mr")))) + (base32 "19vjyijlm3hb758h6nk70k41zw9wrbg6vwfx4r4rgvrb1myy5kpl")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -368,14 +368,12 @@ precision.") (lambda _ (substitute* (cons "micropython-1.12/xcas/Makefile" (find-files "doc" "^Makefile")) - (("/bin/cp") (which "cp"))) - #t)) + (("/bin/cp") (which "cp"))))) (add-after 'unpack 'disable-failing-test ;; FIXME: Test failing. Not sure why. (lambda _ (substitute* "check/Makefile.in" - (("chk_fhan11") "")) - #t)) + (("chk_fhan11") "")))) (add-after 'install 'fix-doc (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -388,13 +386,11 @@ precision.") ;; Remove duplicate documentation in ;; "%out/share/doc/giac/", where Xcas does not expect ;; to find it. - (delete-file-recursively (string-append out "/share/doc/giac")) - #t))) + (delete-file-recursively (string-append out "/share/doc/giac"))))) (add-after 'install 'remove-unnecessary-executable (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (delete-file (string-append out "/bin/xcasnew")) - #t)))))) + (delete-file (string-append out "/bin/xcasnew")))))))) (inputs ;; TODO: Add libnauty, unbundle "libmicropython.a". `(("fltk" ,fltk) @@ -1075,6 +1071,33 @@ features, and more.") "# Do not build the tests for unsupported features.\n")) #t))))))) +(define-public eigen-for-tensorflow-lite + ;; This commit was taken from + ;; tensorflow/lite/tools/cmake/modules/eigen.cmake + (let ((commit "d10b27fe37736d2944630ecd7557cefa95cf87c9") + (revision "1")) + (package (inherit eigen) + (name "eigen-for-tensorflow-lite") + (version (git-version "3.3.7" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/libeigen/eigen") + (commit commit))) + (sha256 + (base32 + "0v8a20cwvwmp3hw4275b37frw33v92z0mr8f4dn6y8k0rz92hrrf")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + ;; Ther are test failures in the "unsupported" directory, but + ;; maintainers say it's unsupported anyway, so just skip + ;; them. + '(begin + (substitute* "unsupported/CMakeLists.txt" + (("add_subdirectory\\(test.*") + "# Do not build the tests for unsupported features.\n"))))))))) + (define-public xtensor (package (name "xtensor") diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index f09d8e9522..448e2dfbac 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Sergey Trofimov <sarg@sarg.org.ru> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ (define-module (gnu packages android) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system android-ndk) #:use-module (guix build-system gnu) @@ -148,6 +150,7 @@ use their packages mostly unmodified in our Android NDK build system.") "libutils-remove-damaging-includes.patch" "libutils-add-includes.patch" "adb-add-libraries.patch" + "adb-libssl_11-compatibility.patch" "libziparchive-add-includes.patch")))) (define (android-platform-system-extras version) @@ -360,10 +363,12 @@ various Android core host applications.") (arguments `(#:tests? #f ; Test failure: sysdeps_poll.fd_count #:make-flags - (list "CFLAGS=-Wno-error" - "CXXFLAGS=-fpermissive -Wno-error -std=gnu++14 -D_Nonnull= -D_Nullable= -I ." - (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib " - "-Wl,-rpath=" (assoc-ref %build-inputs "openssl") "/lib -L .")) + ,#~(list + "CFLAGS=-Wno-error" + "CXXFLAGS=-fpermissive -Wno-error -std=gnu++14 -D_Nonnull= -D_Nullable= -I ." + (string-append + "LDFLAGS=-Wl,-rpath=" #$output "/lib " + "-Wl,-rpath=" #$(this-package-input "openssl") "/lib -L .")) #:phases (modify-phases %standard-phases (add-after 'unpack 'enter-source @@ -388,7 +393,7 @@ various Android core host applications.") `(("android-libbase" ,android-libbase) ("android-libcutils" ,android-libcutils) ("android-liblog" ,android-liblog) - ("openssl" ,openssl-1.0))) + ("openssl" ,openssl))) (home-page "https://developer.android.com/studio/command-line/adb.html") (synopsis "Android Debug Bridge") (description @@ -530,29 +535,25 @@ the core SELinux management utilities.") (build-system android-ndk-build-system) (arguments `(#:make-flags - (list (string-append "CPPFLAGS=" - ;"-Wno-error " - "-I " - (assoc-ref %build-inputs "android-libselinux") - "/include " - "-I " (assoc-ref %build-inputs "android-libsparse") - "/include " - "-I " (assoc-ref %build-inputs "android-libcutils") - "/include " - "-I " (assoc-ref %build-inputs "android-liblog") "/include " - "-I ../core/include") - "CFLAGS=-Wno-error" - "install-libext4_utils_host.a" - (string-append "prefix=" (assoc-ref %outputs "out"))) + ,#~(list + (string-append + "CPPFLAGS=" + ;"-Wno-error " + "-I " #$(this-package-input "android-libselinux") "/include " + "-I " #$(this-package-input "android-libsparse") "/include " + "-I " #$(this-package-input "android-libcutils") "/include " + "-I " #$(this-package-input "android-liblog") "/include " + "-I ../core/include") + "CFLAGS=-Wno-error" + "install-libext4_utils_host.a" + (string-append "prefix=" #$output)) #:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-core (lambda* (#:key inputs #:allow-other-keys) (mkdir-p "core") - (with-directory-excursion "core" - (invoke "tar" "axf" (assoc-ref inputs "android-core") - "--strip-components=1")) - #t)) + (copy-recursively (assoc-ref inputs "android-core") + "core"))) (add-after 'unpack-core 'enter-source (lambda _ (chdir "ext4_utils") #t)) (replace 'install @@ -585,6 +586,9 @@ Android core.") (modify-phases %standard-phases (add-after 'unpack 'enter-source (lambda _ (chdir "f2fs_utils") #t)) + (add-before 'build 'set-compilation-flags + (lambda _ + (setenv "CFLAGS" "-fcommon"))) (add-after 'install 'install-headers (lambda* (#:key inputs outputs #:allow-other-keys) (copy-recursively "." (string-append (assoc-ref outputs "out") diff --git a/gnu/packages/arcan.scm b/gnu/packages/arcan.scm index 0ab157b525..721cd7fd70 100644 --- a/gnu/packages/arcan.scm +++ b/gnu/packages/arcan.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 L p R n d n <guix@lprndn.info> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -65,7 +66,8 @@ (base32 "1pd0avlzc2rig1hd37zbhc7r2s6fjzdhshfg9l9cfzibl7caclyw")))) (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off" + `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon" + "-DVIDEO_PLATFORM=egl-dri" "-DBUILTIN_LUA=off" "-DSTATIC_OPENAL=off""-DENABLE_LWA=on" "-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off" "-DSHMIF_TUI_ACCEL=on") @@ -176,7 +178,8 @@ engine programmable using Lua.") `(,@(ensure-keyword-arguments (package-arguments arcan) '(#:configure-flags - '("-DVIDEO_PLATFORM=sdl" "-DBUILTIN_LUA=off" + '("-DCMAKE_C_FLAGS=-fcommon" + "-DVIDEO_PLATFORM=sdl" "-DBUILTIN_LUA=off" "-DSTATIC_OPENAL=off" "-DDISABLE_JIT=off" "-DENABLE_LWA=on" "-DSTATIC_SQLITE3=off" "-DSTATIC_FREETYPE=off" "-DSHMIF_TUI_ACCEL=on"))))) diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 177ea0b74f..e5cdce0bd4 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -7,9 +7,10 @@ ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; Copyright © 2019 Andy Tai <atai@atai.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> -;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -140,6 +141,9 @@ debugging information in STABS, DWARF 2, and CodeView 8 formats.") "1jgxbq2cm51dzi3zhz38mmgwdcgs328mfl8iviw8dxn6dn36p1gd")))) (build-system gnu-build-system) (native-inputs `(("zlib" ,zlib))) + (arguments + ;; Some tests fail when run in parallel. + `(#:parallel-tests? #f)) (synopsis "Library for generating assembly code at runtime") (description "GNU Lightning is a library that generates assembly language code at diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index a3f7d5cbf4..5d6efc5827 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -773,7 +773,8 @@ Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.") ("goocanvas" ,goocanvas) ("gtk+" ,gtk+))) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-tests (lambda _ diff --git a/gnu/packages/attr.scm b/gnu/packages/attr.scm index a062125303..8c1a4aca7c 100644 --- a/gnu/packages/attr.scm +++ b/gnu/packages/attr.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2012, 2013, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2016, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> ;;; @@ -23,6 +23,7 @@ #:use-module (guix licenses) #:use-module (gnu packages perl) #:use-module (gnu packages gettext) + #:use-module (gnu packages hurd) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -42,6 +43,17 @@ (arguments `(#:phases (modify-phases %standard-phases + ,@(if (hurd-target?) + `((add-before 'configure 'skip-linux-syscalls + (lambda _ + ;; Starting from 2.5.1, libattr includes Linux-specific + ;; calls to syscall(2). Comment them out for GNU/Hurd + ;; and instead use the glibc-provided wrappers. + (substitute* "Makefile.in" + (("libattr/syscalls\\.c") "") + (("\tlibattr/la-syscalls\\.lo") "") + (("-Wl,[[:graph:]]+/libattr\\.lds") ""))))) + '()) (replace 'check (lambda* (#:key target #:allow-other-keys) ;; Use the right shell. diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6535c87ea1..0770e3de20 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2019, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org> -;;; Copyright © 2019 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2019 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> ;;; Copyright © 2019 Hartmt Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -571,7 +571,7 @@ streams from live audio.") (define-public ardour (package (name "ardour") - (version "6.6") + (version "6.8") (source (origin (method git-fetch) (uri (git-reference @@ -589,7 +589,7 @@ namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \ #t))) (sha256 (base32 - "0k5rxh8b3d8si3lj01gfqj0pmd448d8sj4asnb205mwhwbfgn0cp")) + "16x7bkzbrk0rgywq5vrkhf2z3jj08jw1bvaq9vwlf2b4h4sd7i4s")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments @@ -2829,14 +2829,14 @@ different audio devices such as ALSA or PulseAudio.") (define-public qjackctl (package (name "qjackctl") - (version "0.9.3") + (version "0.9.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "065x66rr1mb2bkqr88l50rcn5c8rsiq4hp5hrlyqqg46371gzhp9")))) + "186rg3j67rac9ds1r7gnrib2d0smgv15cmr5gwb7v83mywcp1gzy")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no check target @@ -4914,7 +4914,7 @@ in the package.") (origin (method git-fetch) (uri (git-reference - (url "https://git.zrythm.org/git/libaudec") + (url "https://git.zrythm.org/zrythm/libaudec") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -4934,7 +4934,7 @@ in the package.") (description "libaudec is a wrapper library over ffmpeg, sndfile and libsamplerate for reading and resampling audio files, based on Robin Gareus' @code{audio_decoder} code.") - (home-page "https://git.zrythm.org/cgit/libaudec") + (home-page "https://git.zrythm.org/zrythm/libaudec") (license license:agpl3+))) (define-public lv2lint @@ -5013,7 +5013,7 @@ with the provided metadata and adhere to well-known best practices.") (origin (method git-fetch) (uri (git-reference - (url "https://git.zrythm.org/git/ztoolkit") + (url "https://git.zrythm.org/zrythm/ztoolkit") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -5034,7 +5034,7 @@ the user and provides a high-level API for managing the UI and custom widgets. ZToolkit is written in C and was created to be used for building audio plugin UIs, where the dependencies often need to be kept to a minimum.") - (home-page "https://git.zrythm.org/cgit/ztoolkit/") + (home-page "https://git.zrythm.org/zrythm/ztoolkit") (license license:agpl3+))) (define-public libinstpatch @@ -5277,14 +5277,14 @@ while still staying in time.") (define-public butt (package (name "butt") - (version "0.1.30") + (version "0.1.31") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/butt/butt/butt-" version "/butt-" version ".tar.gz")) (sha256 (base32 - "1dfspdh3f18lpp7asxpj63b9zfpvazi7shgrdacg17gd42ycayq5")) + "19zvdi5vr6vqnrpc60jir7550nz9a5x1c61lh13355cdny2zp28z")) (modules '((guix build utils))) (snippet '(substitute* "src/butt.cpp" @@ -5325,7 +5325,7 @@ while still staying in time.") version "_manual.pdf")) (sha256 (base32 - "1w3krh7f2v5vdz18hqycnpn0qv1x6xl6pa1najgp4jbfisjc1mn8")))))) + "0a0kgd069whfp1v8xgw6qm67w02n8b7b4h5ay5665wgq947hxanp")))))) (home-page "https://danielnoethen.de/butt/") (synopsis "Audio streaming tool") (description "Butt is a tool to stream audio to a ShoutCast or diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index 221d455358..3154e584a2 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -132,7 +132,18 @@ know anything about Autoconf or M4.") (find-files "bin" (lambda (file stat) (executable-file? file))))) - #t)))))))) + #t)) + (add-after 'install 'unpatch-shebangs + (lambda* (#:key outputs #:allow-other-keys) + ;; Scripts that "autoconf -i" installs (config.guess, + ;; config.sub, and install-sh) must use a regular shebang + ;; rather than a reference to the store. Restore it. + ;; TODO: Move this phase to 'autoconf-2.69'. + (let* ((out (assoc-ref outputs "out")) + (build-aux (string-append + out "/share/autoconf/build-aux"))) + (substitute* (find-files build-aux) + (("^#!.*/bin/sh") "#!/bin/sh"))))))))))) (define-public autoconf autoconf-2.69) diff --git a/gnu/packages/aux-files/linux-libre/5.10-i686.conf b/gnu/packages/aux-files/linux-libre/5.10-i686.conf index e400c42362..cb1fdc37ad 100644 --- a/gnu/packages/aux-files/linux-libre/5.10-i686.conf +++ b/gnu/packages/aux-files/linux-libre/5.10-i686.conf @@ -10612,7 +10612,7 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y diff --git a/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf index bf4451c994..cd61860af9 100644 --- a/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf @@ -10620,7 +10620,7 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y diff --git a/gnu/packages/aux-files/linux-libre/5.13-i686.conf b/gnu/packages/aux-files/linux-libre/5.13-i686.conf index d123117716..209c597464 100644 --- a/gnu/packages/aux-files/linux-libre/5.13-i686.conf +++ b/gnu/packages/aux-files/linux-libre/5.13-i686.conf @@ -10765,7 +10765,7 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y diff --git a/gnu/packages/aux-files/linux-libre/5.13-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.13-x86_64.conf index e268705a71..b07a37a85d 100644 --- a/gnu/packages/aux-files/linux-libre/5.13-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.13-x86_64.conf @@ -10831,7 +10831,7 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y diff --git a/gnu/packages/aux-files/linux-libre/5.12-arm.conf b/gnu/packages/aux-files/linux-libre/5.14-arm.conf index c2f0412e3a..fe395f36c6 100644 --- a/gnu/packages/aux-files/linux-libre/5.12-arm.conf +++ b/gnu/packages/aux-files/linux-libre/5.14-arm.conf @@ -1,16 +1,19 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 5.12.0 Kernel Configuration +# Linux/arm 5.14.0 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=80300 CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=23101 CONFIG_LD_IS_BFD=y CONFIG_LD_VERSION=23101 CONFIG_LLD_VERSION=0 CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y @@ -87,6 +90,20 @@ CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +# CONFIG_BPF_JIT_ALWAYS_ON is not set +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +# CONFIG_BPF_PRELOAD is not set +CONFIG_BPF_LSM=y +# end of BPF subsystem + # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set @@ -158,6 +175,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y # CONFIG_CGROUP_BPF is not set +CONFIG_CGROUP_MISC=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y @@ -185,7 +203,6 @@ CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y CONFIG_LD_ORPHAN_WARN=y CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y -CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y @@ -212,10 +229,6 @@ CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_BPF_LSM=y -CONFIG_BPF_SYSCALL=y -# CONFIG_BPF_JIT_ALWAYS_ON is not set -# CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y @@ -261,7 +274,6 @@ CONFIG_ARCH_HAS_BANDGAP=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_FIQ=y CONFIG_ARM_PATCH_PHYS_VIRT=y @@ -455,7 +467,7 @@ CONFIG_ARCH_REALTEK=y CONFIG_ARCH_ROCKCHIP=y # CONFIG_ARCH_S5PV210 is not set # CONFIG_ARCH_RENESAS is not set -CONFIG_ARCH_SOCFPGA=y +CONFIG_ARCH_INTEL_SOCFPGA=y # CONFIG_SOCFPGA_SUSPEND is not set # CONFIG_PLAT_SPEAR is not set # CONFIG_ARCH_STI is not set @@ -872,10 +884,12 @@ CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS=y +# CONFIG_MODULE_COMPRESS_NONE is not set CONFIG_MODULE_COMPRESS_GZIP=y # CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y @@ -891,9 +905,10 @@ CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set # CONFIG_BLK_CMDLINE_PARSER is not set CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y # CONFIG_BLK_CGROUP_IOLATENCY is not set CONFIG_BLK_CGROUP_IOCOST=y -CONFIG_BLK_WBT_MQ=y +CONFIG_BLK_CGROUP_IOPRIO=y CONFIG_BLK_DEBUG_FS=y # CONFIG_BLK_SED_OPAL is not set CONFIG_BLK_INLINE_ENCRYPTION=y @@ -975,7 +990,6 @@ CONFIG_SELECT_MEMORY_MODEL=y CONFIG_FLATMEM_MANUAL=y # CONFIG_SPARSEMEM_MANUAL is not set CONFIG_FLATMEM=y -CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y CONFIG_SPLIT_PTLOCK_CPUS=4 @@ -994,6 +1008,7 @@ CONFIG_FRONTSWAP=y CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 CONFIG_ZSWAP=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set @@ -1015,6 +1030,7 @@ CONFIG_ZSMALLOC=m # CONFIG_ZSMALLOC_STAT is not set CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ZONE_DMA=y CONFIG_HMM_MIRROR=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_TEST is not set @@ -1155,13 +1171,13 @@ CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_LOG_NETDEV=m +CONFIG_NF_LOG_SYSLOG=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y @@ -1475,7 +1491,6 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -1554,12 +1569,12 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_BRIDGE_MRP=y CONFIG_BRIDGE_CFM=y -CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_8021Q=m CONFIG_NET_DSA_TAG_AR9331=m CONFIG_NET_DSA_TAG_BRCM_COMMON=m CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m CONFIG_NET_DSA_TAG_BRCM_PREPEND=m CONFIG_NET_DSA_TAG_HELLCREEK=m CONFIG_NET_DSA_TAG_GSWIP=m @@ -1736,6 +1751,7 @@ CONFIG_QRTR=m CONFIG_QRTR_TUN=m CONFIG_QRTR_MHI=m # CONFIG_NET_NCSI is not set +CONFIG_PCPU_DEV_REFCNT=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_SOCK_RX_QUEUE_MAPPING=y @@ -1744,7 +1760,6 @@ CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y -CONFIG_BPF_JIT=y CONFIG_NET_FLOW_LIMIT=y # @@ -1809,6 +1824,7 @@ CONFIG_CAN_MCP251XFD=m CONFIG_CAN_8DEV_USB=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m # CONFIG_CAN_MCBA_USB is not set @@ -1832,6 +1848,7 @@ CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m # CONFIG_BT_LEDS is not set CONFIG_BT_MSFTEXT=y +CONFIG_BT_AOSPEXT=y CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set @@ -1857,6 +1874,7 @@ CONFIG_BT_MRVL_SDIO=m CONFIG_BT_ATH3K=m CONFIG_BT_MTKSDIO=m CONFIG_BT_HCIRSI=m +CONFIG_BT_VIRTIO=m # end of Bluetooth device drivers CONFIG_AF_RXRPC=m @@ -1935,11 +1953,12 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=m CONFIG_ETHTOOL_NETLINK=y -CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1965,7 +1984,6 @@ CONFIG_PCIE_DPC=y CONFIG_PCIE_PTM=y CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y -CONFIG_PCI_MSI_ARCH_FALLBACKS=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set CONFIG_PCI_STUB=m @@ -1987,6 +2005,7 @@ CONFIG_PCIE_BUS_DEFAULT=y # CONFIG_PCI_MVEBU=y # CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_IXP4XX is not set CONFIG_PCI_TEGRA=y CONFIG_PCI_HOST_COMMON=y CONFIG_PCI_HOST_GENERIC=y @@ -2190,6 +2209,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set # CONFIG_MTD_DATAFLASH_OTP is not set # CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_MCHP48L640 is not set CONFIG_MTD_SST25L=m # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set @@ -2237,6 +2257,7 @@ CONFIG_MTD_NAND_CADENCE=m CONFIG_MTD_NAND_ARASAN=m # CONFIG_MTD_NAND_INTEL_LGM is not set CONFIG_MTD_NAND_ROCKCHIP=m +CONFIG_MTD_NAND_PL35X=m # # Misc @@ -2309,7 +2330,6 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y CONFIG_ZRAM_DEF_COMP="lzo-rle" # CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZRAM_MEMORY_TRACKING is not set -# CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # CONFIG_BLK_DEV_CRYPTOLOOP is not set @@ -2375,10 +2395,10 @@ CONFIG_DS1682=m # CONFIG_LATTICE_ECP3_CONFIG is not set CONFIG_SRAM=y CONFIG_SRAM_EXEC=y +CONFIG_DW_XDATA_PCIE=m # CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_XILINX_SDFEC=m CONFIG_MISC_RTSX=m -# CONFIG_PVPANIC is not set CONFIG_HISI_HIKEY_USB=m CONFIG_C2PORT=m @@ -2416,11 +2436,9 @@ CONFIG_MISC_RTSX_PCI=m CONFIG_MISC_RTSX_USB=m # CONFIG_HABANA_AI is not set CONFIG_UACCE=m +# CONFIG_PVPANIC is not set # end of Misc devices -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - # # SCSI device support # @@ -2488,6 +2506,7 @@ CONFIG_SCSI_MPT3SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m @@ -2520,6 +2539,7 @@ CONFIG_SCSI_STEX=m # CONFIG_QEDF is not set CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set +# CONFIG_SCSI_EFCT is not set # CONFIG_SCSI_DC395x is not set CONFIG_SCSI_AM53C974=m # CONFIG_SCSI_NSP32 is not set @@ -2914,13 +2934,14 @@ CONFIG_FEC=y # CONFIG_FSL_PQ_MDIO is not set # CONFIG_FSL_XGMAC_MDIO is not set # CONFIG_GIANFAR is not set +# CONFIG_FSL_DPAA2_SWITCH is not set CONFIG_FSL_ENETC=m CONFIG_FSL_ENETC_VF=m +CONFIG_FSL_ENETC_IERB=m CONFIG_FSL_ENETC_MDIO=m CONFIG_FSL_ENETC_PTP_CLOCK=m CONFIG_FSL_ENETC_QOS=y CONFIG_NET_VENDOR_GOOGLE=y -CONFIG_GVE=m CONFIG_NET_VENDOR_HISILICON=y # CONFIG_HIX5HD2_GMAC is not set # CONFIG_HISI_FEMAC is not set @@ -2949,6 +2970,7 @@ CONFIG_I40EVF=m # CONFIG_ICE is not set # CONFIG_FM10K is not set # CONFIG_IGC is not set +CONFIG_NET_VENDOR_MICROSOFT=y CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y # CONFIG_MV643XX_ETH is not set @@ -2977,7 +2999,9 @@ CONFIG_MLX5_EN_ARFS=y CONFIG_MLX5_EN_RXNFC=y CONFIG_MLX5_MPFS=y CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_BRIDGE=y CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_CORE_EN_DCB=y # CONFIG_MLX5_CORE_IPOIB is not set CONFIG_MLX5_SW_STEERING=y @@ -3085,6 +3109,7 @@ CONFIG_DWMAC_SUNXI=m CONFIG_DWMAC_SUN8I=m CONFIG_DWMAC_IMX8=m # CONFIG_DWMAC_INTEL_PLAT is not set +# CONFIG_DWMAC_LOONGSON is not set # CONFIG_STMMAC_PCI is not set CONFIG_NET_VENDOR_SUN=y # CONFIG_HAPPYMEAL is not set @@ -3115,7 +3140,6 @@ CONFIG_XILINX_AXI_EMAC=m CONFIG_XILINX_LL_TEMAC=m CONFIG_FDDI=y CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_PHYLINK=m @@ -3147,11 +3171,15 @@ CONFIG_LXT_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MARVELL_PHY=m # CONFIG_MARVELL_10G_PHY is not set +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MEDIATEK_GE_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m +CONFIG_MOTORCOMM_PHY=m CONFIG_NATIONAL_PHY=m +CONFIG_NXP_C45_TJA11XX_PHY=m CONFIG_NXP_TJA11XX_PHY=m CONFIG_AT803X_PHY=m CONFIG_QSEMI_PHY=m @@ -3171,6 +3199,7 @@ CONFIG_VITESSE_PHY=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y CONFIG_OF_MDIO=y CONFIG_MDIO_DEVRES=y CONFIG_MDIO_SUN4I=y @@ -3530,6 +3559,15 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_CA8210 is not set # CONFIG_IEEE802154_MCR20A is not set # CONFIG_IEEE802154_HWSIM is not set + +# +# Wireless WAN +# +CONFIG_WWAN=y +# CONFIG_WWAN_HWSIM is not set +CONFIG_MHI_WWAN_CTRL=m +# end of Wireless WAN + CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_NETDEV_BACKEND=m # CONFIG_VMXNET3 is not set @@ -3636,7 +3674,6 @@ CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_PEGASUS=m CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=y CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_AD7877=m CONFIG_TOUCHSCREEN_AD7879=m @@ -3664,7 +3701,9 @@ CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m # CONFIG_TOUCHSCREEN_ILI210X is not set +CONFIG_TOUCHSCREEN_ILITEK=m CONFIG_TOUCHSCREEN_S6SY761=m CONFIG_TOUCHSCREEN_GUNZE=m # CONFIG_TOUCHSCREEN_EKTF2127 is not set @@ -3676,6 +3715,7 @@ CONFIG_TOUCHSCREEN_WACOM_W8001=m CONFIG_TOUCHSCREEN_MCS5000=m # CONFIG_TOUCHSCREEN_MMS114 is not set # CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MSG2638 is not set CONFIG_TOUCHSCREEN_MTOUCH=m # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set CONFIG_TOUCHSCREEN_INEXIO=m @@ -3769,6 +3809,7 @@ CONFIG_INPUT_RK805_PWRKEY=m # CONFIG_INPUT_ADXL34X is not set # CONFIG_INPUT_IMS_PCU is not set # CONFIG_INPUT_IQS269A is not set +# CONFIG_INPUT_IQS626A is not set # CONFIG_INPUT_CMA3000 is not set CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y # CONFIG_INPUT_DRV260X_HAPTICS is not set @@ -3900,7 +3941,6 @@ CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_N_GSM=m CONFIG_NOZOMI=m CONFIG_NULL_TTY=m -# CONFIG_TRACE_SINK is not set CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y @@ -3927,8 +3967,6 @@ CONFIG_HW_RANDOM_CCTRNG=m CONFIG_HW_RANDOM_XIPHERA=m # CONFIG_APPLICOM is not set CONFIG_DEVMEM=y -# CONFIG_DEVKMEM is not set -# CONFIG_RAW_DRIVER is not set CONFIG_DEVPORT=y CONFIG_TCG_TPM=y # CONFIG_TCG_TIS is not set @@ -3941,7 +3979,9 @@ CONFIG_TCG_TIS_I2C_CR50=m # CONFIG_TCG_VTPM_PROXY is not set # CONFIG_TCG_TIS_ST33ZP24_I2C is not set # CONFIG_TCG_TIS_ST33ZP24_SPI is not set +CONFIG_XILLYBUS_CLASS=m # CONFIG_XILLYBUS is not set +CONFIG_XILLYUSB=m # end of Character devices # CONFIG_RANDOM_TRUST_BOOTLOADER is not set @@ -4033,6 +4073,7 @@ CONFIG_I2C_VERSATILE=m # External I2C/SMBus adapter drivers # CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_CP2615=m # CONFIG_I2C_PARPORT is not set CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m @@ -4156,6 +4197,7 @@ CONFIG_PTP_1588_CLOCK_QORIQ=m # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # +CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_IDT82P33=m CONFIG_PTP_1588_CLOCK_IDTCM=m CONFIG_PTP_1588_CLOCK_OCP=m @@ -4298,6 +4340,7 @@ CONFIG_GPIO_PCF857X=m # MFD GPIO expanders # CONFIG_GPIO_BD70528=m +CONFIG_GPIO_BD71815=m CONFIG_GPIO_BD71828=m CONFIG_GPIO_BD9571MWV=m CONFIG_GPIO_DA9052=m @@ -4447,10 +4490,11 @@ CONFIG_CHARGER_BQ2415X=m # CONFIG_CHARGER_BQ256XX is not set # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_GOLDFISH is not set +CONFIG_BATTERY_RT5033=m # CONFIG_CHARGER_RT9455 is not set CONFIG_CHARGER_CROS_USBPD=m # CONFIG_CHARGER_UCS1002 is not set -# CONFIG_CHARGER_BD70528 is not set CONFIG_CHARGER_BD99954=m CONFIG_HWMON=y CONFIG_HWMON_VID=m @@ -4560,6 +4604,7 @@ CONFIG_SENSORS_NCT6775=m # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_NPCM7XX is not set +# CONFIG_SENSORS_NZXT_KRAKEN2 is not set # CONFIG_SENSORS_OCC_P8_I2C is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set @@ -4569,6 +4614,7 @@ CONFIG_SENSORS_SBTSI=m # CONFIG_SENSORS_SHT15 is not set CONFIG_SENSORS_SHT21=m # CONFIG_SENSORS_SHT3x is not set +# CONFIG_SENSORS_SHT4x is not set # CONFIG_SENSORS_SHTC1 is not set # CONFIG_SENSORS_SIS5595 is not set CONFIG_SENSORS_DME1737=m @@ -4677,6 +4723,7 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_WATCHDOG_SYSFS=y +CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT=y # # Watchdog Pretimeout Governors @@ -4688,6 +4735,7 @@ CONFIG_WATCHDOG_SYSFS=y # CONFIG_SOFT_WATCHDOG=m CONFIG_BD70528_WATCHDOG=m +CONFIG_BD957XMUF_WATCHDOG=m CONFIG_DA9052_WATCHDOG=m # CONFIG_GPIO_WATCHDOG is not set # CONFIG_XILINX_WATCHDOG is not set @@ -4709,6 +4757,7 @@ CONFIG_IMX7ULP_WDT=m CONFIG_TEGRA_WATCHDOG=m CONFIG_ARM_SMC_WATCHDOG=m CONFIG_RTD119X_WATCHDOG=y +CONFIG_MSC313E_WATCHDOG=m # CONFIG_ALIM7101_WDT is not set # CONFIG_I6300ESB_WDT is not set CONFIG_BCM2835_WDT=m @@ -4821,11 +4870,13 @@ CONFIG_MFD_MT6360=m # CONFIG_EZX_PCAP is not set # CONFIG_MFD_CPCAP is not set CONFIG_MFD_VIPERBOARD=m +# CONFIG_MFD_NTXEC is not set # CONFIG_MFD_RETU is not set # CONFIG_MFD_PCF50633 is not set # CONFIG_UCB1400_CORE is not set # CONFIG_MFD_PM8XXX is not set # CONFIG_MFD_RDC321X is not set +CONFIG_MFD_RT4831=m # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RC5T583 is not set CONFIG_MFD_RK808=y @@ -4834,7 +4885,6 @@ CONFIG_MFD_SEC_CORE=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set -# CONFIG_ABX500_CORE is not set CONFIG_MFD_STMPE=y # @@ -4889,9 +4939,12 @@ CONFIG_TWL6040_CORE=y CONFIG_MFD_ROHM_BD718XX=m CONFIG_MFD_ROHM_BD70528=m CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD957XMUF=m # CONFIG_MFD_STPMIC1 is not set # CONFIG_MFD_STMFX is not set +# CONFIG_MFD_ATC260X_I2C is not set CONFIG_MFD_KHADAS_MCU=m +CONFIG_MFD_QCOM_PM8008=m CONFIG_MFD_VEXPRESS_SYSREG=y # CONFIG_MFD_INTEL_M10_BMC is not set # end of Multifunction device drivers @@ -4910,10 +4963,11 @@ CONFIG_REGULATOR_ARIZONA_MICSUPP=m CONFIG_REGULATOR_ARM_SCMI=m CONFIG_REGULATOR_AS3722=y CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_BD70528=m +CONFIG_REGULATOR_BD71815=m CONFIG_REGULATOR_BD71828=m CONFIG_REGULATOR_BD718XX=m CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_BD957XMUF=m CONFIG_REGULATOR_CROS_EC=m CONFIG_REGULATOR_DA9052=m CONFIG_REGULATOR_DA9121=m @@ -4933,6 +4987,7 @@ CONFIG_REGULATOR_GPIO=m # CONFIG_REGULATOR_MAX1586 is not set # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set +CONFIG_REGULATOR_MAX8893=m # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MAX8973 is not set CONFIG_REGULATOR_MAX77686=m @@ -4961,6 +5016,9 @@ CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m CONFIG_REGULATOR_RK808=m CONFIG_REGULATOR_ROHM=m CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m CONFIG_REGULATOR_RTMV20=m CONFIG_REGULATOR_S2MPA01=m CONFIG_REGULATOR_S2MPS11=m @@ -5062,6 +5120,7 @@ CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_ASYNC=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -5092,7 +5151,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # Media drivers # -CONFIG_TTPCI_EEPROM=m CONFIG_MEDIA_USB_SUPPORT=y # @@ -5267,7 +5325,6 @@ CONFIG_VIDEO_TW686X=m # Media capture/analog TV support # CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV_ALSA=m CONFIG_VIDEO_FB_IVTV=m CONFIG_VIDEO_HEXIUM_GEMINI=m @@ -5303,14 +5360,10 @@ CONFIG_VIDEO_COBALT=m # # Media digital TV PCI Adapters # -CONFIG_DVB_AV7110_IR=y -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set CONFIG_DVB_PLUTO2=m @@ -5354,6 +5407,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y # CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m +CONFIG_TTPCI_EEPROM=m CONFIG_CYPRESS_FIRMWARE=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m @@ -5387,6 +5441,7 @@ CONFIG_VIDEO_SUN6I_CSI=m CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_CODA is not set CONFIG_VIDEO_IMX_PXP=m +# CONFIG_VIDEO_IMX8_JPEG is not set # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set # CONFIG_VIDEO_SAMSUNG_S5P_G2D is not set # CONFIG_VIDEO_SAMSUNG_S5P_JPEG is not set @@ -5546,6 +5601,7 @@ CONFIG_VIDEO_ST_MIPID02=m CONFIG_VIDEO_APTINA_PLL=m CONFIG_VIDEO_CCS_PLL=m CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_IMX208=m CONFIG_VIDEO_IMX214=m CONFIG_VIDEO_IMX219=m CONFIG_VIDEO_IMX258=m @@ -5736,7 +5792,6 @@ CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m @@ -5862,7 +5917,6 @@ CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_KMS_FB_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 @@ -5965,7 +6019,6 @@ CONFIG_DRM_MSM_GPU_STATE=y # CONFIG_DRM_MSM_GPU_SUDO is not set CONFIG_DRM_MSM_DP=y CONFIG_DRM_MSM_DSI=y -CONFIG_DRM_MSM_DSI_PLL=y CONFIG_DRM_MSM_DSI_28NM_PHY=y CONFIG_DRM_MSM_DSI_20NM_PHY=y CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y @@ -6047,10 +6100,14 @@ CONFIG_DRM_PANEL_BRIDGE=y # Display Interface Bridges # CONFIG_DRM_CDNS_DSI=m +CONFIG_DRM_CHIPONE_ICN6211=m CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_CROS_EC_ANX7688=m CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_LONTIUM_LT8912B=m CONFIG_DRM_LONTIUM_LT9611=m CONFIG_DRM_LONTIUM_LT9611UXC=m +CONFIG_DRM_ITE_IT66121=m CONFIG_DRM_LVDS_CODEC=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_NWL_MIPI_DSI=m @@ -6068,6 +6125,7 @@ CONFIG_DRM_TOSHIBA_TC358762=m CONFIG_DRM_TOSHIBA_TC358768=m CONFIG_DRM_TOSHIBA_TC358775=m # CONFIG_DRM_TI_TFP410 is not set +CONFIG_DRM_TI_SN65DSI83=m # CONFIG_DRM_TI_SN65DSI86 is not set CONFIG_DRM_TI_TPD12S015=m CONFIG_DRM_ANALOGIX_ANX6345=m @@ -6094,10 +6152,11 @@ CONFIG_DRM_VC4=m # CONFIG_DRM_VC4_HDMI_CEC is not set CONFIG_DRM_ETNAVIV=m CONFIG_DRM_ETNAVIV_THERMAL=y -# CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_MXSFB is not set +# CONFIG_DRM_ARCPGU is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_GM12U320=m +CONFIG_DRM_SIMPLEDRM=m # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set @@ -6108,11 +6167,12 @@ CONFIG_TINYDRM_ILI9486=m # CONFIG_TINYDRM_ST7735R is not set # CONFIG_DRM_PL111 is not set # CONFIG_DRM_TVE200 is not set -# CONFIG_DRM_XEN is not set +# CONFIG_DRM_XEN_FRONTEND is not set CONFIG_DRM_LIMA=m CONFIG_DRM_PANFROST=m CONFIG_DRM_MCDE=m CONFIG_DRM_TIDSS=m +CONFIG_DRM_GUD=m CONFIG_DRM_LEGACY=y # CONFIG_DRM_TDFX is not set # CONFIG_DRM_R128 is not set @@ -6213,6 +6273,7 @@ CONFIG_BACKLIGHT_KTD253=m CONFIG_BACKLIGHT_PWM=m # CONFIG_BACKLIGHT_DA9052 is not set CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RT4831=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set # CONFIG_BACKLIGHT_LM3630A is not set @@ -6271,6 +6332,7 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y +CONFIG_SND_CTL_LED=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m # CONFIG_SND_SEQUENCER_OSS is not set @@ -6467,6 +6529,7 @@ CONFIG_SND_SOC_IMX_SPDIF=m # CONFIG_SND_SOC_FSL_ASOC_CARD is not set CONFIG_SND_SOC_IMX_AUDMIX=m CONFIG_SND_SOC_IMX_HDMI=m +CONFIG_SND_SOC_IMX_CARD=m # end of SoC Audio for Freescale CPUs # CONFIG_SND_I2S_HI6210_I2S is not set @@ -6511,6 +6574,7 @@ CONFIG_SND_SOC_TEGRA30_I2S=m # CONFIG_SND_SOC_TEGRA210_I2S is not set # CONFIG_SND_SOC_TEGRA186_DSPK is not set # CONFIG_SND_SOC_TEGRA210_ADMAIF is not set +CONFIG_SND_SOC_TEGRA_MACHINE_DRV=m CONFIG_SND_SOC_TEGRA_RT5640=m CONFIG_SND_SOC_TEGRA_WM8753=m CONFIG_SND_SOC_TEGRA_WM8903=m @@ -6567,12 +6631,12 @@ CONFIG_SND_SOC_ADAU7118_HW=m CONFIG_SND_SOC_ADAU7118_I2C=m # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set -# CONFIG_SND_SOC_AK4458 is not set +CONFIG_SND_SOC_AK4458=m # CONFIG_SND_SOC_AK4554 is not set # CONFIG_SND_SOC_AK4613 is not set # CONFIG_SND_SOC_AK4642 is not set # CONFIG_SND_SOC_AK5386 is not set -# CONFIG_SND_SOC_AK5558 is not set +CONFIG_SND_SOC_AK5558=m # CONFIG_SND_SOC_ALC5623 is not set CONFIG_SND_SOC_ALC5632=m # CONFIG_SND_SOC_BD28623 is not set @@ -6635,6 +6699,7 @@ CONFIG_SND_SOC_MAX98373_I2C=m # CONFIG_SND_SOC_PCM512x_I2C is not set # CONFIG_SND_SOC_PCM512x_SPI is not set CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RK817=m CONFIG_SND_SOC_RL6231=m # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set @@ -6648,6 +6713,7 @@ CONFIG_SND_SOC_SGTL5000=m # CONFIG_SND_SOC_SIMPLE_MUX is not set # CONFIG_SND_SOC_SPDIF is not set # CONFIG_SND_SOC_SSM2305 is not set +# CONFIG_SND_SOC_SSM2518 is not set # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM4567 is not set @@ -6664,6 +6730,7 @@ CONFIG_SND_SOC_SGTL5000=m # CONFIG_SND_SOC_TAS6424 is not set # CONFIG_SND_SOC_TDA7419 is not set # CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TFA989X is not set CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m # CONFIG_SND_SOC_TLV320AIC23_SPI is not set @@ -6671,6 +6738,8 @@ CONFIG_SND_SOC_TLV320AIC23_I2C=m # CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set # CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set CONFIG_SND_SOC_TLV320AIC3X=m +# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set +# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set # CONFIG_SND_SOC_TLV320ADCX140 is not set CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_TSCS42XX is not set @@ -6703,7 +6772,6 @@ CONFIG_SND_SOC_WM8904=m # CONFIG_SND_SOC_WM8985 is not set CONFIG_SND_SOC_WM9712=m # CONFIG_SND_SOC_ZL38060 is not set -# CONFIG_SND_SOC_ZX_AUD96P22 is not set # CONFIG_SND_SOC_MAX9759 is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set @@ -6725,6 +6793,7 @@ CONFIG_SND_SIMPLE_CARD=m # CONFIG_SND_AUDIO_GRAPH_CARD is not set CONFIG_SND_SYNTH_EMUX=m # CONFIG_SND_XEN_FRONTEND is not set +# CONFIG_SND_VIRTIO is not set CONFIG_AC97_BUS=m # @@ -6767,6 +6836,7 @@ CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m CONFIG_HID_GEMBIRD=m # CONFIG_HID_GFRM is not set CONFIG_HID_GLORIOUS=m @@ -6823,6 +6893,7 @@ CONFIG_HID_PRIMAX=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m @@ -7428,12 +7499,6 @@ CONFIG_LEDS_TRIGGER_PANIC=y # CONFIG_LEDS_TRIGGER_PATTERN is not set CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_TTY=m - -# -# LED Blink -# -CONFIG_LEDS_BLINK=y -# CONFIG_LEDS_BLINK_LGM is not set CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y @@ -7464,7 +7529,6 @@ CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_CXGB4=m -CONFIG_INFINIBAND_I40IW=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_OCRDMA=m @@ -7715,6 +7779,7 @@ CONFIG_VDPA=m CONFIG_IFCVF=m CONFIG_MLX5_VDPA=y CONFIG_MLX5_VDPA_NET=m +# CONFIG_VP_VDPA is not set CONFIG_VHOST_IOTLB=m CONFIG_VHOST=m CONFIG_VHOST_MENU=y @@ -7753,9 +7818,9 @@ CONFIG_XEN_AUTO_XLATE=y # end of Xen driver support # CONFIG_GREYBUS is not set +# CONFIG_COMEDI is not set CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set -# CONFIG_COMEDI is not set # CONFIG_RTL8192U is not set # CONFIG_RTLLIB is not set # CONFIG_RTL8723BS is not set @@ -7793,7 +7858,6 @@ CONFIG_88EU_AP_MODE=y # # Capacitance to digital converters # -# CONFIG_AD7150 is not set # CONFIG_AD7746 is not set # end of Capacitance to digital converters @@ -7844,21 +7908,9 @@ CONFIG_BCM_VIDEOCORE=y # CONFIG_SND_BCM2835 is not set # CONFIG_VIDEO_BCM2835 is not set CONFIG_PI433=m - -# -# Gasket devices -# -# end of Gasket devices - # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_FIELDBUS_DEV is not set -# CONFIG_KPC2000 is not set CONFIG_QLGE=m -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 CONFIG_WFX=m # CONFIG_GOLDFISH is not set CONFIG_CHROME_PLATFORMS=y @@ -7876,7 +7928,6 @@ CONFIG_CROS_USBPD_LOGGER=m CONFIG_CROS_USBPD_NOTIFY=m # CONFIG_MELLANOX_PLATFORM is not set CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -7888,6 +7939,7 @@ CONFIG_CLK_SP810=y CONFIG_CLK_VEXPRESS_OSC=y # end of Clock driver for ARM Reference designs +CONFIG_LMK04832=m CONFIG_COMMON_CLK_MAX77686=m CONFIG_COMMON_CLK_MAX9485=m CONFIG_COMMON_CLK_RK808=m @@ -7944,6 +7996,8 @@ CONFIG_EXYNOS_5410_COMMON_CLK=y CONFIG_EXYNOS_5420_COMMON_CLK=y CONFIG_EXYNOS_AUDSS_CLK_CON=y CONFIG_EXYNOS_CLKOUT=y +CONFIG_CLK_INTEL_SOCFPGA=y +CONFIG_CLK_INTEL_SOCFPGA32=y CONFIG_CLK_SUNXI=y CONFIG_CLK_SUNXI_CLOCKS=y CONFIG_CLK_SUNXI_PRCM_SUN6I=y @@ -7988,6 +8042,7 @@ CONFIG_CLKSRC_TI_32K=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_GLOBAL_TIMER=y +CONFIG_ARM_GT_INITIAL_PRESCALER_VAL=1 CONFIG_ARM_TIMER_SP804=y CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y CONFIG_CLKSRC_EXYNOS_MCT=y @@ -8199,11 +8254,14 @@ CONFIG_BMA400=m CONFIG_BMA400_I2C=m CONFIG_BMA400_SPI=m # CONFIG_BMC150_ACCEL is not set +# CONFIG_BMI088_ACCEL is not set # CONFIG_DA280 is not set # CONFIG_DA311 is not set # CONFIG_DMARD06 is not set # CONFIG_DMARD09 is not set # CONFIG_DMARD10 is not set +# CONFIG_FXLS8962AF_I2C is not set +# CONFIG_FXLS8962AF_SPI is not set CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -8220,6 +8278,7 @@ CONFIG_MMA8452=m # CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set # CONFIG_SCA3000 is not set +# CONFIG_SCA3300 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set # end of Accelerometers @@ -8246,7 +8305,6 @@ CONFIG_AD7091R5=m # CONFIG_AD7923 is not set # CONFIG_AD7949 is not set # CONFIG_AD799X is not set -# CONFIG_AD9467 is not set # CONFIG_ADI_AXI_ADC is not set CONFIG_AXP20X_ADC=m CONFIG_AXP288_ADC=m @@ -8290,8 +8348,10 @@ CONFIG_SD_ADC_MODULATOR=m # CONFIG_TI_ADS8344 is not set # CONFIG_TI_ADS8688 is not set # CONFIG_TI_ADS124S08 is not set +# CONFIG_TI_ADS131E08 is not set CONFIG_TI_AM335X_ADC=m # CONFIG_TI_TLC4541 is not set +# CONFIG_TI_TSC2046 is not set CONFIG_TWL4030_MADC=m # CONFIG_TWL6030_GPADC is not set # CONFIG_VF610_ADC is not set @@ -8313,6 +8373,12 @@ CONFIG_XILINX_XADC=m # end of Amplifiers # +# Capacitance to digital converters +# +# CONFIG_AD7150 is not set +# end of Capacitance to digital converters + +# # Chemical Sensors # # CONFIG_ATLAS_PH_SENSOR is not set @@ -8323,7 +8389,7 @@ CONFIG_CCS811=m CONFIG_SCD30_CORE=m CONFIG_SCD30_I2C=m # CONFIG_SENSIRION_SGP30 is not set -# CONFIG_SPS30 is not set +# CONFIG_SPS30_I2C is not set # CONFIG_VZ89X is not set # end of Chemical Sensors @@ -8337,6 +8403,12 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m # end of Hid Sensor IIO Common # +# IIO SCMI Sensors +# +CONFIG_IIO_SCMI=m +# end of IIO SCMI Sensors + +# # SSP Sensor Common # # CONFIG_IIO_SSP_SENSORHUB is not set @@ -8472,6 +8544,7 @@ CONFIG_INV_ICM42600_SPI=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IIO_ST_LSM6DSX is not set +# CONFIG_IIO_ST_LSM9DS0 is not set # end of Inertial measurement units # @@ -8516,6 +8589,7 @@ CONFIG_HID_SENSOR_PROX=m # CONFIG_TCS3472 is not set CONFIG_SENSORS_TSL2563=m # CONFIG_TSL2583 is not set +# CONFIG_TSL2591 is not set # CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set @@ -8624,6 +8698,7 @@ CONFIG_HID_SENSOR_PRESS=m # # Proximity and distance sensors # +CONFIG_CROS_EC_MKBP_PROXIMITY=m # CONFIG_ISL29501 is not set # CONFIG_LIDAR_LITE_V2 is not set # CONFIG_MB1232 is not set @@ -8655,6 +8730,7 @@ CONFIG_HID_SENSOR_PRESS=m # CONFIG_MLX90632 is not set # CONFIG_TMP006 is not set # CONFIG_TMP007 is not set +# CONFIG_TMP117 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set # CONFIG_MAX31856 is not set @@ -8676,6 +8752,7 @@ CONFIG_PWM_IMX_TPM=m # CONFIG_PWM_IQS620A is not set CONFIG_PWM_OMAP_DMTIMER=m # CONFIG_PWM_PCA9685 is not set +# CONFIG_PWM_RASPBERRYPI_POE is not set CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SAMSUNG=m # CONFIG_PWM_STMPE is not set @@ -8715,8 +8792,6 @@ CONFIG_MST_IRQ=y # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y -CONFIG_RESET_BRCMSTB_RESCAL=y -CONFIG_RESET_INTEL_GW=y # CONFIG_RESET_RASPBERRYPI is not set CONFIG_RESET_SCMI=y CONFIG_RESET_SIMPLE=y @@ -8729,6 +8804,7 @@ CONFIG_RESET_SUNXI=y # CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y +CONFIG_PHY_CAN_TRANSCEIVER=m CONFIG_PHY_SUN4I_USB=m CONFIG_PHY_SUN6I_MIPI_DPHY=m CONFIG_PHY_SUN9I_USB=m @@ -8745,6 +8821,7 @@ CONFIG_PHY_MVEBU_A3700_COMPHY=m CONFIG_PHY_MVEBU_A3700_UTMI=m CONFIG_PHY_MVEBU_A38X_COMPHY=m CONFIG_PHY_MVEBU_CP110_COMPHY=m +CONFIG_PHY_MVEBU_CP110_UTMI=m # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_CPCAP_USB is not set @@ -8757,6 +8834,7 @@ CONFIG_PHY_ROCKCHIP_DP=m CONFIG_PHY_ROCKCHIP_EMMC=m # CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set # CONFIG_PHY_ROCKCHIP_INNO_USB2 is not set +CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m # CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set # CONFIG_PHY_ROCKCHIP_PCIE is not set # CONFIG_PHY_ROCKCHIP_TYPEC is not set @@ -8847,9 +8925,11 @@ CONFIG_INTERCONNECT_IMX=m CONFIG_INTERCONNECT_SAMSUNG=y CONFIG_INTERCONNECT_EXYNOS=m CONFIG_COUNTER=m +CONFIG_INTERRUPT_CNT=m CONFIG_TI_EQEP=m CONFIG_FTM_QUADDEC=m CONFIG_MICROCHIP_TCB_CAPTURE=m +# CONFIG_INTEL_QEP is not set # CONFIG_MOST is not set # end of Device Drivers @@ -8948,6 +9028,8 @@ CONFIG_OVERLAY_FS=m # # Caches # +CONFIG_NETFS_SUPPORT=m +# CONFIG_NETFS_STATS is not set CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set @@ -9116,7 +9198,7 @@ CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y -CONFIG_NFS_V4_2_SSC_HELPER=m +CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y @@ -9257,6 +9339,7 @@ CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set +CONFIG_SECURITY_LANDLOCK=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y @@ -9284,6 +9367,7 @@ CONFIG_IMA_TRUSTED_KEYRING=y # CONFIG_IMA_LOAD_X509 is not set CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y +CONFIG_IMA_DISABLE_HTABLE=y # CONFIG_EVM is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_TOMOYO is not set @@ -9353,6 +9437,7 @@ CONFIG_CRYPTO_RSA=y # CONFIG_CRYPTO_DH is not set CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m @@ -9677,7 +9762,6 @@ CONFIG_FONT_6x8=y CONFIG_SG_SPLIT=y CONFIG_SG_POOL=y CONFIG_SBITMAP=y -# CONFIG_STRING_SELFTEST is not set # end of Library routines CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y @@ -9691,6 +9775,7 @@ CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set +CONFIG_STACKTRACE_BUILD_ID=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 @@ -9719,9 +9804,10 @@ CONFIG_STRIP_ASM_SYMS=y # CONFIG_HEADERS_INSTALL is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y +# CONFIG_VMLINUX_MAP is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options @@ -9880,6 +9966,8 @@ CONFIG_STACK_TRACER=y # CONFIG_IRQSOFF_TRACER is not set # CONFIG_SCHED_TRACER is not set # CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y # CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set @@ -9940,9 +10028,9 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_LKDTM is not set -# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_SORT is not set +# CONFIG_TEST_DIV64 is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_RBTREE_TEST is not set @@ -9952,10 +10040,12 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_ASYNC_RAID6_TEST is not set # CONFIG_TEST_HEXDUMP is not set +# CONFIG_STRING_SELFTEST is not set # CONFIG_TEST_STRING_HELPERS is not set CONFIG_TEST_STRSCPY=m # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set +CONFIG_TEST_SCANF=m # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set CONFIG_TEST_XARRAY=m @@ -9979,6 +10069,7 @@ CONFIG_TEST_STATIC_KEYS=m # CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_MEMINIT is not set # CONFIG_TEST_FREE_PAGES is not set +CONFIG_ARCH_USE_MEMTEST=y # CONFIG_MEMTEST is not set # end of Kernel Testing and Coverage # end of Kernel hacking diff --git a/gnu/packages/aux-files/linux-libre/5.12-arm64.conf b/gnu/packages/aux-files/linux-libre/5.14-arm64.conf index cc19ac27b6..aab094173e 100644 --- a/gnu/packages/aux-files/linux-libre/5.12-arm64.conf +++ b/gnu/packages/aux-files/linux-libre/5.14-arm64.conf @@ -1,11 +1,13 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.12.0 Kernel Configuration +# Linux/arm64 5.14.0 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=80300 CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=23101 CONFIG_LD_IS_BFD=y CONFIG_LD_VERSION=23101 CONFIG_LLD_VERSION=0 @@ -13,6 +15,7 @@ CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -63,7 +66,6 @@ CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set # end of IRQ subsystem -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y CONFIG_GENERIC_TIME_VSYSCALL=y CONFIG_GENERIC_CLOCKEVENTS=y CONFIG_ARCH_HAS_TICK_BROADCAST=y @@ -81,6 +83,22 @@ CONFIG_NO_HZ_IDLE=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +# CONFIG_BPF_JIT_ALWAYS_ON is not set +CONFIG_BPF_JIT_DEFAULT_ON=y +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +# CONFIG_BPF_PRELOAD is not set +CONFIG_BPF_LSM=y +# end of BPF subsystem + # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set @@ -158,6 +176,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_MISC=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y @@ -187,7 +206,6 @@ CONFIG_LD_ORPHAN_WARN=y CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y @@ -211,16 +229,11 @@ CONFIG_SHMEM=y CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_BPF_LSM=y -CONFIG_BPF_SYSCALL=y -CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y -# CONFIG_BPF_JIT_ALWAYS_ON is not set -CONFIG_BPF_JIT_DEFAULT_ON=y -# CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y @@ -272,10 +285,7 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_GENERIC_HWEIGHT=y CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_CALIBRATE_DELAY=y -CONFIG_ZONE_DMA=y -CONFIG_ZONE_DMA32=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y CONFIG_SMP=y CONFIG_KERNEL_MODE_NEON=y CONFIG_FIX_EARLYCON_MEM=y @@ -288,10 +298,9 @@ CONFIG_BROKEN_GAS_INST=y # Platform selection # # CONFIG_ARCH_ACTIONS is not set -# CONFIG_ARCH_AGILEX is not set -# CONFIG_ARCH_N5X is not set CONFIG_ARCH_SUNXI=y # CONFIG_ARCH_ALPINE is not set +CONFIG_ARCH_APPLE=y CONFIG_ARCH_BCM2835=y CONFIG_ARCH_BCM4908=y # CONFIG_ARCH_BCM_IPROC is not set @@ -315,7 +324,7 @@ CONFIG_ARCH_QCOM=y CONFIG_ARCH_ROCKCHIP=y # CONFIG_ARCH_S32 is not set CONFIG_ARCH_SEATTLE=y -# CONFIG_ARCH_STRATIX10 is not set +CONFIG_ARCH_INTEL_SOCFPGA=y CONFIG_ARCH_SYNQUACER=y CONFIG_ARCH_TEGRA=y # CONFIG_ARCH_SPRD is not set @@ -390,7 +399,6 @@ CONFIG_NODES_SHIFT=2 CONFIG_USE_PERCPU_NUMA_NODE_ID=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y -CONFIG_HOLES_IN_ZONE=y # CONFIG_HZ_100 is not set CONFIG_HZ_250=y # CONFIG_HZ_300 is not set @@ -398,12 +406,8 @@ CONFIG_HZ_250=y CONFIG_HZ=250 CONFIG_SCHED_HRTICK=y CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_HW_PERF_EVENTS=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_ARCH_HAS_FILTER_PGPROT=y CONFIG_PARAVIRT=y # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set CONFIG_KEXEC=y @@ -431,7 +435,6 @@ CONFIG_SETEND_EMULATION=y CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_PAN=y CONFIG_ARM64_USE_LSE_ATOMICS=y -CONFIG_ARM64_VHE=y # end of ARMv8.1 architectural features # @@ -445,6 +448,7 @@ CONFIG_ARM64_CNP=y # # ARMv8.3 architectural features # +CONFIG_ARM64_PTR_AUTH=y # end of ARMv8.3 architectural features # @@ -461,6 +465,12 @@ CONFIG_ARM64_E0PD=y CONFIG_ARCH_RANDOM=y # end of ARMv8.5 architectural features +# +# ARMv8.7 architectural features +# +CONFIG_ARM64_EPAN=y +# end of ARMv8.7 architectural features + CONFIG_ARM64_SVE=y CONFIG_ARM64_MODULE_PLTS=y # CONFIG_ARM64_PSEUDO_NMI is not set @@ -480,8 +490,6 @@ CONFIG_DMI=y # end of Boot options CONFIG_SYSVIPC_COMPAT=y -CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y -CONFIG_ARCH_ENABLE_THP_MIGRATION=y # # Power management options @@ -563,6 +571,7 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y CONFIG_CPUFREQ_DT=m CONFIG_CPUFREQ_DT_PLATDEV=y CONFIG_ACPI_CPPC_CPUFREQ=m +CONFIG_ACPI_CPPC_CPUFREQ_FIE=y CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m # CONFIG_ARM_ARMADA_37XX_CPUFREQ is not set # CONFIG_ARM_ARMADA_8K_CPUFREQ is not set @@ -590,9 +599,13 @@ CONFIG_DMI_SYSFS=y CONFIG_ISCSI_IBFT=m CONFIG_RASPBERRYPI_FIRMWARE=y # CONFIG_FW_CFG_SYSFS is not set +CONFIG_INTEL_STRATIX10_SERVICE=m +CONFIG_INTEL_STRATIX10_RSU=m CONFIG_QCOM_SCM=y # CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set # CONFIG_TURRIS_MOX_RWTM is not set +CONFIG_ARM_FFA_TRANSPORT=m +CONFIG_ARM_FFA_SMCCC=y # CONFIG_GOOGLE_FIRMWARE is not set # @@ -674,6 +687,7 @@ CONFIG_ACPI_IORT=y CONFIG_ACPI_GTDT=y CONFIG_ACPI_PPTT=y # CONFIG_PMIC_OPREGION is not set +CONFIG_ACPI_VIOT=y CONFIG_IRQ_BYPASS_MANAGER=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=y @@ -734,6 +748,7 @@ CONFIG_ARCH_HAS_KEEPINITRD=y CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y @@ -762,6 +777,7 @@ CONFIG_STACKPROTECTOR_STRONG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG=y CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -784,6 +800,8 @@ CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y @@ -817,10 +835,12 @@ CONFIG_MODVERSIONS=y CONFIG_ASM_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS=y +# CONFIG_MODULE_COMPRESS_NONE is not set CONFIG_MODULE_COMPRESS_GZIP=y # CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y @@ -836,9 +856,11 @@ CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set # CONFIG_BLK_CMDLINE_PARSER is not set CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y # CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_FC_APPID=y CONFIG_BLK_CGROUP_IOCOST=y -CONFIG_BLK_WBT_MQ=y +CONFIG_BLK_CGROUP_IOPRIO=y CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_SED_OPAL=y CONFIG_BLK_INLINE_ENCRYPTION=y @@ -969,26 +991,27 @@ CONFIG_COREDUMP=y # # Memory Management options # -CONFIG_SELECT_MEMORY_MODEL=y -CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y -CONFIG_NEED_MULTIPLE_NODES=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_FAST_GUP=y CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y # CONFIG_MEMORY_HOTPLUG is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_BOUNCE=y CONFIG_MMU_NOTIFIER=y CONFIG_KSM=y CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 @@ -1003,6 +1026,7 @@ CONFIG_FRONTSWAP=y CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 CONFIG_ZSWAP=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set @@ -1025,12 +1049,18 @@ CONFIG_ZSMALLOC=m CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set # CONFIG_IDLE_PAGE_TRACKING is not set +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y CONFIG_HMM_MIRROR=y # CONFIG_PERCPU_STATS is not set # CONFIG_GUP_TEST is not set # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_MAPPING_DIRTY_HELPERS=y +CONFIG_SECRETMEM=y # end of Memory Management options CONFIG_NET=y @@ -1170,13 +1200,13 @@ CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_LOG_NETDEV=m +CONFIG_NF_LOG_SYSLOG=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y @@ -1250,6 +1280,7 @@ CONFIG_NFT_REJECT_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XTABLES_COMPAT=y # # Xtables combined modules @@ -1490,7 +1521,6 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -1569,12 +1599,12 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_BRIDGE_MRP=y CONFIG_BRIDGE_CFM=y -CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_8021Q=m CONFIG_NET_DSA_TAG_AR9331=m CONFIG_NET_DSA_TAG_BRCM_COMMON=m CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m CONFIG_NET_DSA_TAG_BRCM_PREPEND=m CONFIG_NET_DSA_TAG_HELLCREEK=m CONFIG_NET_DSA_TAG_GSWIP=m @@ -1752,6 +1782,7 @@ CONFIG_QRTR_SMD=m CONFIG_QRTR_TUN=m CONFIG_QRTR_MHI=m # CONFIG_NET_NCSI is not set +CONFIG_PCPU_DEV_REFCNT=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_SOCK_RX_QUEUE_MAPPING=y @@ -1760,7 +1791,6 @@ CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y -CONFIG_BPF_JIT=y # CONFIG_BPF_STREAM_PARSER is not set CONFIG_NET_FLOW_LIMIT=y @@ -1823,6 +1853,7 @@ CONFIG_CAN_MCP251XFD=m CONFIG_CAN_8DEV_USB=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m # CONFIG_CAN_MCBA_USB is not set @@ -1846,6 +1877,7 @@ CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m CONFIG_BT_LEDS=y CONFIG_BT_MSFTEXT=y +CONFIG_BT_AOSPEXT=y CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set @@ -1886,6 +1918,7 @@ CONFIG_BT_MTKSDIO=m CONFIG_BT_MTKUART=m CONFIG_BT_QCOMSMD=m CONFIG_BT_HCIRSI=m +CONFIG_BT_VIRTIO=m # end of Bluetooth device drivers CONFIG_AF_RXRPC=m @@ -1965,11 +1998,12 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_NET_SELFTESTS=m +CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=m CONFIG_ETHTOOL_NETLINK=y -CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1997,7 +2031,6 @@ CONFIG_PCIE_PTM=y # CONFIG_PCIE_EDR is not set CONFIG_PCI_MSI=y CONFIG_PCI_MSI_IRQ_DOMAIN=y -CONFIG_PCI_MSI_ARCH_FALLBACKS=y CONFIG_PCI_QUIRKS=y # CONFIG_PCI_DEBUG is not set CONFIG_PCI_REALLOC_ENABLE_AUTO=y @@ -2061,7 +2094,6 @@ CONFIG_PCIE_TEGRA194_HOST=m # # Mobiveil PCIe Core Support # -# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set # end of Mobiveil PCIe Core Support # @@ -2087,6 +2119,8 @@ CONFIG_PCIE_TEGRA194_HOST=m CONFIG_CXL_BUS=y CONFIG_CXL_MEM=m # CONFIG_CXL_MEM_RAW_COMMANDS is not set +CONFIG_CXL_ACPI=y +CONFIG_CXL_PMEM=m # CONFIG_PCCARD is not set # CONFIG_RAPIDIO is not set @@ -2173,6 +2207,8 @@ CONFIG_MTD=m CONFIG_MTD_AR7_PARTS=m # CONFIG_MTD_CMDLINE_PARTS is not set CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_OF_PARTS_BCM4908=y +CONFIG_MTD_OF_PARTS_LINKSYS_NS=y # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_REDBOOT_PARTS is not set # end of Partition parsers @@ -2190,7 +2226,6 @@ CONFIG_RFD_FTL=m CONFIG_SSFDC=m # CONFIG_SM_FTL is not set CONFIG_MTD_OOPS=m -CONFIG_MTD_PSTORE=m CONFIG_MTD_SWAP=m # CONFIG_MTD_PARTITIONED_MASTER is not set @@ -2233,6 +2268,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set # CONFIG_MTD_DATAFLASH_OTP is not set # CONFIG_MTD_MCHP23K256 is not set +CONFIG_MTD_MCHP48L640=m CONFIG_MTD_SST25L=m # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_PHRAM is not set @@ -2358,7 +2394,6 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y CONFIG_ZRAM_DEF_COMP="lzo-rle" # CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZRAM_MEMORY_TRACKING is not set -# CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=m CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 # CONFIG_BLK_DEV_CRYPTOLOOP is not set @@ -2426,10 +2461,10 @@ CONFIG_HMC6352=m CONFIG_DS1682=m # CONFIG_LATTICE_ECP3_CONFIG is not set CONFIG_SRAM=y +CONFIG_DW_XDATA_PCIE=m # CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_XILINX_SDFEC=m CONFIG_MISC_RTSX=m -CONFIG_PVPANIC=m CONFIG_HISI_HIKEY_USB=m CONFIG_C2PORT=m @@ -2467,6 +2502,9 @@ CONFIG_MISC_RTSX_PCI=m CONFIG_MISC_RTSX_USB=m CONFIG_HABANA_AI=m CONFIG_UACCE=m +CONFIG_PVPANIC=y +CONFIG_PVPANIC_MMIO=m +CONFIG_PVPANIC_PCI=m # end of Misc devices # @@ -2550,6 +2588,7 @@ CONFIG_SCSI_MPT3SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m @@ -2588,6 +2627,7 @@ CONFIG_SCSI_QLA_ISCSI=m # CONFIG_QEDF is not set CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_EFCT=m # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_AM53C974 is not set CONFIG_SCSI_WD719X=m @@ -2987,8 +3027,10 @@ CONFIG_FEC=m CONFIG_FSL_PQ_MDIO=m CONFIG_FSL_XGMAC_MDIO=m CONFIG_GIANFAR=m +CONFIG_FSL_DPAA2_SWITCH=m CONFIG_FSL_ENETC=m CONFIG_FSL_ENETC_VF=m +CONFIG_FSL_ENETC_IERB=m CONFIG_FSL_ENETC_MDIO=m CONFIG_FSL_ENETC_PTP_CLOCK=m CONFIG_FSL_ENETC_QOS=y @@ -3027,6 +3069,7 @@ CONFIG_I40E_DCB=y # CONFIG_ICE is not set # CONFIG_FM10K is not set # CONFIG_IGC is not set +CONFIG_NET_VENDOR_MICROSOFT=y CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m @@ -3058,7 +3101,9 @@ CONFIG_MLX5_EN_ARFS=y CONFIG_MLX5_EN_RXNFC=y CONFIG_MLX5_MPFS=y CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_BRIDGE=y CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_CORE_EN_DCB=y # CONFIG_MLX5_CORE_IPOIB is not set CONFIG_MLX5_IPSEC=y @@ -3068,6 +3113,7 @@ CONFIG_MLX5_SF=y CONFIG_MLX5_SF_MANAGER=y # CONFIG_MLXSW_CORE is not set # CONFIG_MLXFW is not set +CONFIG_MLXBF_GIGE=m CONFIG_NET_VENDOR_MICREL=y # CONFIG_KS8842 is not set # CONFIG_KS8851 is not set @@ -3172,11 +3218,13 @@ CONFIG_DWMAC_IPQ806X=m CONFIG_DWMAC_MESON=m CONFIG_DWMAC_QCOM_ETHQOS=m CONFIG_DWMAC_ROCKCHIP=m +CONFIG_DWMAC_SOCFPGA=m CONFIG_DWMAC_SUNXI=m CONFIG_DWMAC_SUN8I=m CONFIG_DWMAC_IMX8=m # CONFIG_DWMAC_INTEL_PLAT is not set CONFIG_DWMAC_VISCONTI=m +CONFIG_DWMAC_LOONGSON=m # CONFIG_STMMAC_PCI is not set CONFIG_NET_VENDOR_SUN=y # CONFIG_HAPPYMEAL is not set @@ -3202,7 +3250,6 @@ CONFIG_XILINX_AXI_EMAC=m CONFIG_XILINX_LL_TEMAC=m CONFIG_FDDI=y CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set # CONFIG_NET_SB1000 is not set @@ -3236,11 +3283,15 @@ CONFIG_LXT_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MEDIATEK_GE_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m +CONFIG_MOTORCOMM_PHY=m CONFIG_NATIONAL_PHY=m +CONFIG_NXP_C45_TJA11XX_PHY=m CONFIG_NXP_TJA11XX_PHY=m CONFIG_AT803X_PHY=m CONFIG_QSEMI_PHY=m @@ -3260,7 +3311,9 @@ CONFIG_VITESSE_PHY=m # CONFIG_MICREL_KS8995MA is not set CONFIG_MDIO_DEVICE=m CONFIG_MDIO_BUS=m +CONFIG_FWNODE_MDIO=m CONFIG_OF_MDIO=m +CONFIG_ACPI_MDIO=m CONFIG_MDIO_DEVRES=m # CONFIG_MDIO_SUN4I is not set CONFIG_MDIO_XGENE=m @@ -3638,6 +3691,16 @@ CONFIG_IEEE802154_ADF7242=m # CONFIG_IEEE802154_CA8210 is not set CONFIG_IEEE802154_MCR20A=m # CONFIG_IEEE802154_HWSIM is not set + +# +# Wireless WAN +# +CONFIG_WWAN=y +# CONFIG_WWAN_HWSIM is not set +CONFIG_MHI_WWAN_CTRL=m +CONFIG_RPMSG_WWAN_CTRL=m +# end of Wireless WAN + CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_XEN_NETDEV_BACKEND=m # CONFIG_VMXNET3 is not set @@ -3743,6 +3806,7 @@ CONFIG_TABLET_SERIAL_WACOM4=m # CONFIG_INPUT_TOUCHSCREEN is not set CONFIG_INPUT_MISC=y # CONFIG_INPUT_AD714X is not set +CONFIG_INPUT_ATC260X_ONKEY=m # CONFIG_INPUT_ATMEL_CAPTOUCH is not set # CONFIG_INPUT_BMA150 is not set # CONFIG_INPUT_E3X0_BUTTON is not set @@ -3770,6 +3834,7 @@ CONFIG_INPUT_DA7280_HAPTICS=m # CONFIG_INPUT_ADXL34X is not set # CONFIG_INPUT_IMS_PCU is not set CONFIG_INPUT_IQS269A=m +CONFIG_INPUT_IQS626A=m # CONFIG_INPUT_CMA3000 is not set CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y # CONFIG_INPUT_SOC_BUTTON_ARRAY is not set @@ -3866,6 +3931,9 @@ CONFIG_SERIAL_AMBA_PL011_CONSOLE=y # CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set CONFIG_SERIAL_MESON=y CONFIG_SERIAL_MESON_CONSOLE=y +CONFIG_SERIAL_SAMSUNG=m +CONFIG_SERIAL_SAMSUNG_UARTS_4=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 CONFIG_SERIAL_TEGRA=y CONFIG_SERIAL_TEGRA_TCU=m # CONFIG_SERIAL_MAX3100 is not set @@ -3904,7 +3972,6 @@ CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_N_GSM=m CONFIG_NOZOMI=m CONFIG_NULL_TTY=m -# CONFIG_TRACE_SINK is not set CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y @@ -3942,10 +4009,11 @@ CONFIG_HW_RANDOM_CCTRNG=m CONFIG_HW_RANDOM_XIPHERA=m # CONFIG_APPLICOM is not set CONFIG_DEVMEM=y -# CONFIG_RAW_DRIVER is not set CONFIG_DEVPORT=y # CONFIG_TCG_TPM is not set +CONFIG_XILLYBUS_CLASS=m # CONFIG_XILLYBUS is not set +CONFIG_XILLYUSB=m # end of Character devices # CONFIG_RANDOM_TRUST_CPU is not set @@ -4014,6 +4082,7 @@ CONFIG_I2C_ISCH=m # # I2C system bus drivers (mostly embedded / system-on-chip) # +CONFIG_I2C_ALTERA=m CONFIG_I2C_BCM2835=m CONFIG_I2C_BRCMSTB=m # CONFIG_I2C_CADENCE is not set @@ -4024,6 +4093,7 @@ CONFIG_I2C_DESIGNWARE_PLATFORM=m # CONFIG_I2C_DESIGNWARE_PCI is not set # CONFIG_I2C_EMEV2 is not set # CONFIG_I2C_GPIO is not set +CONFIG_I2C_HISI=m CONFIG_I2C_IMX=m CONFIG_I2C_IMX_LPI2C=m CONFIG_I2C_MESON=m @@ -4050,6 +4120,7 @@ CONFIG_I2C_XLP9XX=m # External I2C/SMBus adapter drivers # CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_CP2615=m # CONFIG_I2C_PARPORT is not set CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m @@ -4097,6 +4168,7 @@ CONFIG_SPI_BUTTERFLY=m # CONFIG_SPI_DESIGNWARE is not set CONFIG_SPI_FSL_LPSPI=m CONFIG_SPI_FSL_QUADSPI=m +CONFIG_SPI_HISI_KUNPENG=m CONFIG_SPI_HISI_SFC_V3XX=m CONFIG_SPI_NXP_FLEXSPI=m # CONFIG_SPI_GPIO is not set @@ -4144,6 +4216,7 @@ CONFIG_SPI_MUX=m # CONFIG_SPI_SLAVE is not set CONFIG_SPI_DYNAMIC=y CONFIG_SPMI=y +CONFIG_SPMI_HISI3670=m CONFIG_SPMI_MSM_PMIC_ARB=y # CONFIG_HSI is not set CONFIG_PPS=y @@ -4170,6 +4243,7 @@ CONFIG_PTP_1588_CLOCK_QORIQ=m # # Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. # +CONFIG_PTP_1588_CLOCK_KVM=m CONFIG_PTP_1588_CLOCK_IDT82P33=m CONFIG_PTP_1588_CLOCK_IDTCM=m CONFIG_PTP_1588_CLOCK_OCP=m @@ -4236,6 +4310,7 @@ CONFIG_PINCTRL_QCOM_SSBI_PMIC=y # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SDM845 is not set # CONFIG_PINCTRL_SDX55 is not set +# CONFIG_PINCTRL_SM6125 is not set CONFIG_PINCTRL_SM8150=m CONFIG_PINCTRL_SM8250=m # CONFIG_PINCTRL_SM8350 is not set @@ -4350,9 +4425,11 @@ CONFIG_GPIO_PCA9570=m # MFD GPIO expanders # CONFIG_GPIO_BD70528=m +CONFIG_GPIO_BD71815=m CONFIG_GPIO_BD71828=m CONFIG_GPIO_MADERA=m CONFIG_GPIO_MAX77620=y +CONFIG_GPIO_WM8994=m # end of MFD GPIO expanders # @@ -4428,6 +4505,7 @@ CONFIG_W1_SLAVE_DS28E17=m # end of 1-wire Slaves CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_ATC260X=m # CONFIG_POWER_RESET_BRCMSTB is not set # CONFIG_POWER_RESET_GPIO is not set # CONFIG_POWER_RESET_GPIO_RESTART is not set @@ -4489,10 +4567,11 @@ CONFIG_CHARGER_QCOM_SMBB=m # CONFIG_CHARGER_BQ256XX is not set # CONFIG_CHARGER_SMB347 is not set # CONFIG_BATTERY_GAUGE_LTC2941 is not set +CONFIG_BATTERY_GOLDFISH=m +CONFIG_BATTERY_RT5033=m # CONFIG_CHARGER_RT9455 is not set CONFIG_CHARGER_CROS_USBPD=m # CONFIG_CHARGER_UCS1002 is not set -# CONFIG_CHARGER_BD70528 is not set CONFIG_CHARGER_BD99954=m CONFIG_HWMON=y CONFIG_HWMON_VID=m @@ -4602,6 +4681,7 @@ CONFIG_SENSORS_NCT6775=m # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_NPCM7XX is not set +CONFIG_SENSORS_NZXT_KRAKEN2=m # CONFIG_SENSORS_OCC_P8_I2C is not set # CONFIG_SENSORS_PCF8591 is not set # CONFIG_PMBUS is not set @@ -4611,6 +4691,7 @@ CONFIG_SENSORS_SBTSI=m # CONFIG_SENSORS_SHT15 is not set CONFIG_SENSORS_SHT21=m # CONFIG_SENSORS_SHT3x is not set +CONFIG_SENSORS_SHT4x=m # CONFIG_SENSORS_SHTC1 is not set # CONFIG_SENSORS_SIS5595 is not set CONFIG_SENSORS_DME1737=m @@ -4723,6 +4804,7 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_WATCHDOG_SYSFS=y +CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT=y # # Watchdog Pretimeout Governors @@ -4734,6 +4816,7 @@ CONFIG_WATCHDOG_SYSFS=y # CONFIG_SOFT_WATCHDOG=m CONFIG_BD70528_WATCHDOG=m +CONFIG_BD957XMUF_WATCHDOG=m CONFIG_GPIO_WATCHDOG=m # CONFIG_WDAT_WDT is not set # CONFIG_XILINX_WATCHDOG is not set @@ -4800,6 +4883,8 @@ CONFIG_BCMA_DRIVER_PCI=y # Multifunction device drivers # CONFIG_MFD_CORE=y +# CONFIG_MFD_ALTERA_A10SR is not set +CONFIG_MFD_ALTERA_SYSMGR=y # CONFIG_MFD_ACT8945A is not set # CONFIG_MFD_SUN4I_GPADC is not set # CONFIG_MFD_AS3711 is not set @@ -4864,12 +4949,14 @@ CONFIG_MFD_MT6360=m # CONFIG_EZX_PCAP is not set # CONFIG_MFD_CPCAP is not set CONFIG_MFD_VIPERBOARD=m +CONFIG_MFD_NTXEC=m # CONFIG_MFD_RETU is not set # CONFIG_MFD_PCF50633 is not set # CONFIG_UCB1400_CORE is not set CONFIG_MFD_QCOM_RPM=m CONFIG_MFD_SPMI_PMIC=m # CONFIG_MFD_RDC321X is not set +CONFIG_MFD_RT4831=m # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_RC5T583 is not set CONFIG_MFD_RK808=m @@ -4878,7 +4965,6 @@ CONFIG_MFD_RK808=m # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set -# CONFIG_ABX500_CORE is not set # CONFIG_MFD_STMPE is not set CONFIG_MFD_SUN6I_PRCM=y CONFIG_MFD_SYSCON=y @@ -4915,13 +5001,17 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set # CONFIG_MFD_WM8350_I2C is not set -# CONFIG_MFD_WM8994 is not set +CONFIG_MFD_WM8994=m CONFIG_MFD_ROHM_BD718XX=m CONFIG_MFD_ROHM_BD70528=m CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD957XMUF=m # CONFIG_MFD_STPMIC1 is not set # CONFIG_MFD_STMFX is not set +CONFIG_MFD_ATC260X=m +CONFIG_MFD_ATC260X_I2C=m CONFIG_MFD_KHADAS_MCU=m +CONFIG_MFD_QCOM_PM8008=m CONFIG_MFD_VEXPRESS_SYSREG=y # CONFIG_RAVE_SP_CORE is not set # CONFIG_MFD_INTEL_M10_BMC is not set @@ -4939,10 +5029,12 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=m CONFIG_REGULATOR_ARIZONA_LDO1=m CONFIG_REGULATOR_ARIZONA_MICSUPP=m CONFIG_REGULATOR_ARM_SCMI=m +CONFIG_REGULATOR_ATC260X=m CONFIG_REGULATOR_AXP20X=m -CONFIG_REGULATOR_BD70528=m +CONFIG_REGULATOR_BD71815=m CONFIG_REGULATOR_BD71828=m CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD957XMUF=m CONFIG_REGULATOR_CROS_EC=m CONFIG_REGULATOR_DA9121=m # CONFIG_REGULATOR_DA9210 is not set @@ -4951,6 +5043,7 @@ CONFIG_REGULATOR_FAN53555=m CONFIG_REGULATOR_FAN53880=m CONFIG_REGULATOR_GPIO=m CONFIG_REGULATOR_HI655X=m +CONFIG_REGULATOR_HI6421V600=m # CONFIG_REGULATOR_ISL9305 is not set # CONFIG_REGULATOR_ISL6271A is not set # CONFIG_REGULATOR_LP3971 is not set @@ -4963,6 +5056,7 @@ CONFIG_REGULATOR_HI655X=m CONFIG_REGULATOR_MAX77620=m # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8893 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MAX8973 is not set # CONFIG_REGULATOR_MAX77826 is not set @@ -4989,6 +5083,9 @@ CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m CONFIG_REGULATOR_RK808=m CONFIG_REGULATOR_ROHM=m CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m CONFIG_REGULATOR_RTMV20=m CONFIG_REGULATOR_SLG51000=m CONFIG_REGULATOR_SY8106A=m @@ -5003,6 +5100,7 @@ CONFIG_REGULATOR_SY8827N=m # CONFIG_REGULATOR_VCTRL is not set # CONFIG_REGULATOR_VEXPRESS is not set # CONFIG_REGULATOR_VQMMC_IPQ4019 is not set +CONFIG_REGULATOR_WM8994=m CONFIG_REGULATOR_QCOM_LABIBB=m CONFIG_RC_CORE=m CONFIG_RC_MAP=m @@ -5092,6 +5190,7 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_JPEG_HELPER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_ASYNC=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -5122,7 +5221,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # Media drivers # -CONFIG_TTPCI_EEPROM=m CONFIG_MEDIA_USB_SUPPORT=y # @@ -5297,7 +5395,6 @@ CONFIG_VIDEO_TW686X=m # Media capture/analog TV support # CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV_ALSA=m CONFIG_VIDEO_FB_IVTV=m CONFIG_VIDEO_HEXIUM_GEMINI=m @@ -5332,14 +5429,10 @@ CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # -CONFIG_DVB_AV7110_IR=y -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set CONFIG_DVB_PLUTO2=m @@ -5380,6 +5473,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y # CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m +CONFIG_TTPCI_EEPROM=m CONFIG_CYPRESS_FIRMWARE=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m @@ -5410,10 +5504,10 @@ CONFIG_VIDEO_ROCKCHIP_ISP1=m CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_CODA=m CONFIG_VIDEO_IMX_PXP=m +CONFIG_VIDEO_IMX8_JPEG=m CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_MESON_GE2D=m CONFIG_VIDEO_ROCKCHIP_RGA=m -CONFIG_VIDEO_QCOM_VENUS=m CONFIG_VIDEO_SUN8I_DEINTERLACE=m CONFIG_VIDEO_SUN8I_ROTATE=m # CONFIG_DVB_PLATFORM_DRIVERS is not set @@ -5560,6 +5654,7 @@ CONFIG_VIDEO_ST_MIPID02=m CONFIG_VIDEO_APTINA_PLL=m CONFIG_VIDEO_CCS_PLL=m CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_IMX208=m CONFIG_VIDEO_IMX214=m CONFIG_VIDEO_IMX219=m CONFIG_VIDEO_IMX258=m @@ -5752,7 +5847,6 @@ CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m @@ -5878,7 +5972,6 @@ CONFIG_DRM_MIPI_DSI=y CONFIG_DRM_DP_AUX_CHARDEV=y # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_KMS_FB_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 @@ -5917,7 +6010,6 @@ CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_CIK=y CONFIG_DRM_AMDGPU_USERPTR=y -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set # # ACP (Audio CoProcessor) Configuration @@ -5945,6 +6037,17 @@ CONFIG_DRM_NOUVEAU_BACKLIGHT=y # CONFIG_DRM_KMB_DISPLAY is not set CONFIG_DRM_VGEM=m # CONFIG_DRM_VKMS is not set +CONFIG_DRM_ROCKCHIP=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y +CONFIG_ROCKCHIP_INNO_HDMI=y +CONFIG_ROCKCHIP_LVDS=y +CONFIG_ROCKCHIP_RGB=y +CONFIG_ROCKCHIP_RK3066_HDMI=y +CONFIG_DRM_VMWGFX=m +CONFIG_DRM_VMWGFX_FBCON=y CONFIG_DRM_UDL=m CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set @@ -5961,7 +6064,6 @@ CONFIG_DRM_MSM_GPU_STATE=y CONFIG_DRM_MSM_HDMI_HDCP=y CONFIG_DRM_MSM_DP=y CONFIG_DRM_MSM_DSI=y -CONFIG_DRM_MSM_DSI_PLL=y CONFIG_DRM_MSM_DSI_28NM_PHY=y CONFIG_DRM_MSM_DSI_20NM_PHY=y CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y @@ -6043,10 +6145,14 @@ CONFIG_DRM_PANEL_BRIDGE=y # Display Interface Bridges # CONFIG_DRM_CDNS_DSI=m +CONFIG_DRM_CHIPONE_ICN6211=m CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_CROS_EC_ANX7688=m CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_LONTIUM_LT8912B=m CONFIG_DRM_LONTIUM_LT9611=m CONFIG_DRM_LONTIUM_LT9611UXC=m +CONFIG_DRM_ITE_IT66121=m CONFIG_DRM_LVDS_CODEC=m # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set CONFIG_DRM_NWL_MIPI_DSI=m @@ -6064,6 +6170,7 @@ CONFIG_DRM_TOSHIBA_TC358762=m # CONFIG_DRM_TOSHIBA_TC358768 is not set CONFIG_DRM_TOSHIBA_TC358775=m # CONFIG_DRM_TI_TFP410 is not set +CONFIG_DRM_TI_SN65DSI83=m # CONFIG_DRM_TI_SN65DSI86 is not set CONFIG_DRM_TI_TPD12S015=m CONFIG_DRM_ANALOGIX_ANX6345=m @@ -6076,8 +6183,9 @@ CONFIG_DRM_I2C_ADV7511_CEC=y CONFIG_DRM_CDNS_MHDP8546=m CONFIG_DRM_DW_HDMI=m # CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set -# CONFIG_DRM_DW_HDMI_I2S_AUDIO is not set +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m # CONFIG_DRM_DW_HDMI_CEC is not set +CONFIG_DRM_DW_MIPI_DSI=m # end of Display Interface Bridges CONFIG_DRM_IMX_DCSS=m @@ -6085,14 +6193,15 @@ CONFIG_DRM_VC4=m # CONFIG_DRM_VC4_HDMI_CEC is not set CONFIG_DRM_ETNAVIV=m CONFIG_DRM_ETNAVIV_THERMAL=y -# CONFIG_DRM_ARCPGU is not set CONFIG_DRM_HISI_HIBMC=m CONFIG_DRM_HISI_KIRIN=m # CONFIG_DRM_MXSFB is not set CONFIG_DRM_MESON=m CONFIG_DRM_MESON_DW_HDMI=m +# CONFIG_DRM_ARCPGU is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_GM12U320=m +CONFIG_DRM_SIMPLEDRM=m # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set @@ -6102,10 +6211,12 @@ CONFIG_TINYDRM_ILI9486=m # CONFIG_TINYDRM_ST7586 is not set # CONFIG_TINYDRM_ST7735R is not set # CONFIG_DRM_PL111 is not set -# CONFIG_DRM_XEN is not set +CONFIG_DRM_XEN=y +CONFIG_DRM_XEN_FRONTEND=m CONFIG_DRM_LIMA=m CONFIG_DRM_PANFROST=m CONFIG_DRM_TIDSS=m +CONFIG_DRM_GUD=m CONFIG_DRM_LEGACY=y # CONFIG_DRM_TDFX is not set # CONFIG_DRM_R128 is not set @@ -6113,12 +6224,6 @@ CONFIG_DRM_LEGACY=y CONFIG_DRM_VIA=m CONFIG_DRM_SAVAGE=m CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_DRM_ROCKCHIP=m -CONFIG_ROCKCHIP_CDN_DP=y -CONFIG_ROCKCHIP_DW_MIPI_DSI=y -CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_DW_HDMI=y - # # Frame buffer Devices @@ -6212,6 +6317,7 @@ CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_KTD253=m CONFIG_BACKLIGHT_PWM=m CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RT4831=m # CONFIG_BACKLIGHT_ADP8860 is not set # CONFIG_BACKLIGHT_ADP8870 is not set # CONFIG_BACKLIGHT_LM3630A is not set @@ -6272,6 +6378,7 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y +CONFIG_SND_CTL_LED=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m # CONFIG_SND_SEQUENCER_OSS is not set @@ -6456,7 +6563,10 @@ CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_FSL_MICFIL=m CONFIG_SND_SOC_FSL_XCVR=m CONFIG_SND_SOC_FSL_AUD2HTX=m +CONFIG_SND_SOC_FSL_RPMSG=m CONFIG_SND_SOC_IMX_PCM_DMA=m +CONFIG_SND_SOC_IMX_AUDIO_RPMSG=m +CONFIG_SND_SOC_IMX_PCM_RPMSG=m CONFIG_SND_SOC_IMX_AUDMUX=m CONFIG_SND_IMX_SOC=m @@ -6469,6 +6579,8 @@ CONFIG_SND_SOC_IMX_SPDIF=m CONFIG_SND_SOC_FSL_ASOC_CARD=m CONFIG_SND_SOC_IMX_AUDMIX=m CONFIG_SND_SOC_IMX_HDMI=m +CONFIG_SND_SOC_IMX_RPMSG=m +CONFIG_SND_SOC_IMX_CARD=m # end of SoC Audio for Freescale CPUs CONFIG_SND_I2S_HI6210_I2S=m @@ -6519,9 +6631,12 @@ CONFIG_SND_SOC_MSM8996=m CONFIG_SND_SOC_SC7180=m CONFIG_SND_SOC_ROCKCHIP=m CONFIG_SND_SOC_ROCKCHIP_I2S=m +CONFIG_SND_SOC_ROCKCHIP_PDM=m CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +CONFIG_SND_SOC_ROCKCHIP_MAX98090=m CONFIG_SND_SOC_ROCKCHIP_RT5645=m - +CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m +CONFIG_SND_SOC_RK3399_GRU_SOUND=m # CONFIG_SND_SOC_SOF_TOPLEVEL is not set # @@ -6552,6 +6667,7 @@ CONFIG_SND_SOC_TEGRA20_SPDIF=m # CONFIG_SND_SOC_TEGRA210_I2S is not set # CONFIG_SND_SOC_TEGRA186_DSPK is not set # CONFIG_SND_SOC_TEGRA210_ADMAIF is not set +CONFIG_SND_SOC_TEGRA_MACHINE_DRV=m CONFIG_SND_SOC_TEGRA_RT5640=m CONFIG_SND_SOC_TEGRA_WM8753=m CONFIG_SND_SOC_TEGRA_WM8903=m @@ -6570,6 +6686,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=m # # CODEC drivers # +CONFIG_SND_SOC_WM_HUBS=m # CONFIG_SND_SOC_AC97_CODEC is not set CONFIG_SND_SOC_ADAU_UTILS=m CONFIG_SND_SOC_ADAU1372=m @@ -6584,12 +6701,12 @@ CONFIG_SND_SOC_ADAU7118_HW=m CONFIG_SND_SOC_ADAU7118_I2C=m # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set -# CONFIG_SND_SOC_AK4458 is not set +CONFIG_SND_SOC_AK4458=m # CONFIG_SND_SOC_AK4554 is not set # CONFIG_SND_SOC_AK4613 is not set # CONFIG_SND_SOC_AK4642 is not set # CONFIG_SND_SOC_AK5386 is not set -# CONFIG_SND_SOC_AK5558 is not set +CONFIG_SND_SOC_AK5558=m # CONFIG_SND_SOC_ALC5623 is not set CONFIG_SND_SOC_ALC5632=m # CONFIG_SND_SOC_BD28623 is not set @@ -6617,7 +6734,8 @@ CONFIG_SND_SOC_CROS_EC_CODEC=m # CONFIG_SND_SOC_CS53L30 is not set # CONFIG_SND_SOC_CX2072X is not set # CONFIG_SND_SOC_DA7213 is not set -# CONFIG_SND_SOC_DMIC is not set +CONFIG_SND_SOC_DA7219=m +CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_HDMI_CODEC=m # CONFIG_SND_SOC_ES7134 is not set # CONFIG_SND_SOC_ES7241 is not set @@ -6653,10 +6771,14 @@ CONFIG_SND_SOC_MAX98373_I2C=m # CONFIG_SND_SOC_PCM512x_I2C is not set # CONFIG_SND_SOC_PCM512x_SPI is not set CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RK817=m CONFIG_SND_SOC_RL6231=m +CONFIG_SND_SOC_RT5514=m +CONFIG_SND_SOC_RT5514_SPI=m # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5640=m +CONFIG_SND_SOC_RT5645=m # CONFIG_SND_SOC_RT5659 is not set CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m @@ -6667,6 +6789,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m CONFIG_SND_SOC_SIMPLE_MUX=m # CONFIG_SND_SOC_SPDIF is not set # CONFIG_SND_SOC_SSM2305 is not set +CONFIG_SND_SOC_SSM2518=m # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM4567 is not set @@ -6683,15 +6806,18 @@ CONFIG_SND_SOC_SIMPLE_MUX=m # CONFIG_SND_SOC_TAS6424 is not set # CONFIG_SND_SOC_TDA7419 is not set # CONFIG_SND_SOC_TFA9879 is not set +CONFIG_SND_SOC_TFA989X=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set # CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set # CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set -# CONFIG_SND_SOC_TLV320AIC3X is not set +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m # CONFIG_SND_SOC_TLV320ADCX140 is not set -# CONFIG_SND_SOC_TS3A227E is not set +CONFIG_SND_SOC_TS3A227E=m # CONFIG_SND_SOC_TSCS42XX is not set # CONFIG_SND_SOC_TSCS454 is not set # CONFIG_SND_SOC_UDA1334 is not set @@ -6718,8 +6844,8 @@ CONFIG_SND_SOC_WM8904=m # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set +CONFIG_SND_SOC_WM8994=m # CONFIG_SND_SOC_ZL38060 is not set -# CONFIG_SND_SOC_ZX_AUD96P22 is not set # CONFIG_SND_SOC_MAX9759 is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set @@ -6741,6 +6867,7 @@ CONFIG_SND_SIMPLE_CARD_UTILS=m # CONFIG_SND_AUDIO_GRAPH_CARD is not set CONFIG_SND_SYNTH_EMUX=m # CONFIG_SND_XEN_FRONTEND is not set +CONFIG_SND_VIRTIO=m CONFIG_AC97_BUS=m # @@ -6783,6 +6910,7 @@ CONFIG_HID_EMS_FF=m CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m CONFIG_HID_GEMBIRD=m # CONFIG_HID_GFRM is not set CONFIG_HID_GLORIOUS=m @@ -6840,6 +6968,7 @@ CONFIG_HID_PRIMAX=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m @@ -6894,6 +7023,14 @@ CONFIG_I2C_HID_OF_GOODIX=m # end of I2C HID support CONFIG_I2C_HID_CORE=m + +# +# Surface System Aggregator Module HID support +# +CONFIG_SURFACE_KBD=m +# end of Surface System Aggregator Module HID support + +CONFIG_SURFACE_HID_CORE=m # end of HID support CONFIG_USB_OHCI_LITTLE_ENDIAN=y @@ -7277,7 +7414,32 @@ CONFIG_USB_RAW_GADGET=m CONFIG_TYPEC=m CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_MT6360=m +CONFIG_TYPEC_TCPCI_MAXIM=m CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_UCSI=m +CONFIG_UCSI_CCG=m +CONFIG_UCSI_ACPI=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_HD3SS3220=m +CONFIG_TYPEC_STUSB160X=m +CONFIG_TYPEC_QCOM_PMIC=m + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +CONFIG_TYPEC_MUX_PI3USB30532=m +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +CONFIG_TYPEC_DP_ALTMODE=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +# end of USB Type-C Alternate Mode drivers + CONFIG_USB_ROLE_SWITCH=m CONFIG_MMC=y CONFIG_PWRSEQ_EMMC=y @@ -7447,12 +7609,6 @@ CONFIG_LEDS_TRIGGER_PANIC=y # CONFIG_LEDS_TRIGGER_PATTERN is not set CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_TTY=m - -# -# LED Blink -# -CONFIG_LEDS_BLINK=y -# CONFIG_LEDS_BLINK_LGM is not set CONFIG_ACCESSIBILITY=y CONFIG_A11Y_BRAILLE_CONSOLE=y @@ -7485,7 +7641,6 @@ CONFIG_INFINIBAND_MTHCA=m CONFIG_INFINIBAND_MTHCA_DEBUG=y CONFIG_INFINIBAND_CXGB4=m CONFIG_INFINIBAND_EFA=m -CONFIG_INFINIBAND_I40IW=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_OCRDMA=m @@ -7510,6 +7665,13 @@ CONFIG_EDAC=y CONFIG_EDAC_LEGACY_SYSFS=y # CONFIG_EDAC_DEBUG is not set CONFIG_EDAC_THUNDERX=m +CONFIG_EDAC_ALTERA=y +CONFIG_EDAC_ALTERA_SDRAM=y +CONFIG_EDAC_ALTERA_OCRAM=y +CONFIG_EDAC_ALTERA_ETHERNET=y +CONFIG_EDAC_ALTERA_NAND=y +CONFIG_EDAC_ALTERA_USB=y +CONFIG_EDAC_ALTERA_SDMMC=y CONFIG_EDAC_XGENE=m # CONFIG_EDAC_QCOM is not set CONFIG_EDAC_DMC520=m @@ -7616,6 +7778,7 @@ CONFIG_RTC_DRV_EFI=y # CONFIG_RTC_DRV_V3020 is not set # CONFIG_RTC_DRV_ZYNQMP is not set # CONFIG_RTC_DRV_CROS_EC is not set +# CONFIG_RTC_DRV_NTXEC is not set # # on-CPU RTC drivers @@ -7656,6 +7819,7 @@ CONFIG_DMA_ACPI=y CONFIG_DMA_OF=y # CONFIG_ALTERA_MSGDMA is not set # CONFIG_AMBA_PL08X is not set +# CONFIG_AXI_DMAC is not set # CONFIG_BCM_SBA_RAID is not set CONFIG_DMA_BCM2835=y CONFIG_DMA_SUN6I=m @@ -7748,6 +7912,7 @@ CONFIG_VDPA=m CONFIG_IFCVF=m CONFIG_MLX5_VDPA=y CONFIG_MLX5_VDPA_NET=m +CONFIG_VP_VDPA=m CONFIG_VHOST_IOTLB=m CONFIG_VHOST=m CONFIG_VHOST_MENU=y @@ -7783,12 +7948,13 @@ CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_PRIVCMD=m CONFIG_XEN_EFI=y CONFIG_XEN_AUTO_XLATE=y +CONFIG_XEN_FRONT_PGDIR_SHBUF=m # end of Xen driver support # CONFIG_GREYBUS is not set +# CONFIG_COMEDI is not set CONFIG_STAGING=y # CONFIG_PRISM2_USB is not set -# CONFIG_COMEDI is not set # CONFIG_RTL8192U is not set # CONFIG_RTLLIB is not set CONFIG_RTL8723BS=m @@ -7826,7 +7992,6 @@ CONFIG_88EU_AP_MODE=y # # Capacitance to digital converters # -# CONFIG_AD7150 is not set # CONFIG_AD7746 is not set # end of Capacitance to digital converters @@ -7877,27 +8042,11 @@ CONFIG_BCM_VIDEOCORE=y # CONFIG_SND_BCM2835 is not set # CONFIG_VIDEO_BCM2835 is not set # CONFIG_PI433 is not set - -# -# Gasket devices -# -# CONFIG_STAGING_GASKET_FRAMEWORK is not set -# end of Gasket devices - # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_FIELDBUS_DEV is not set -# CONFIG_KPC2000 is not set CONFIG_QLGE=m -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 CONFIG_WFX=m -CONFIG_PHY_HI3670_USB=m -CONFIG_SPMI_HISI3670=m CONFIG_MFD_HI6421_SPMI=m -CONFIG_REGULATOR_HI6421V600=m # CONFIG_GOLDFISH is not set CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_TBMC=m @@ -7913,6 +8062,7 @@ CONFIG_CROS_EC_VBC=m CONFIG_CROS_EC_DEBUGFS=m CONFIG_CROS_EC_SENSORHUB=m CONFIG_CROS_EC_SYSFS=m +CONFIG_CROS_EC_TYPEC=m CONFIG_CROS_USBPD_LOGGER=m CONFIG_CROS_USBPD_NOTIFY=m # CONFIG_MELLANOX_PLATFORM is not set @@ -7921,6 +8071,8 @@ CONFIG_SURFACE_3_BUTTON=m CONFIG_SURFACE_3_POWER_OPREGION=m # CONFIG_SURFACE_ACPI_NOTIFY is not set # CONFIG_SURFACE_AGGREGATOR_CDEV is not set +# CONFIG_SURFACE_AGGREGATOR_REGISTRY is not set +CONFIG_SURFACE_DTX=m CONFIG_SURFACE_GPE=m CONFIG_SURFACE_HOTPLUG=m # CONFIG_SURFACE_PRO3_BUTTON is not set @@ -7928,7 +8080,6 @@ CONFIG_SURFACE_AGGREGATOR=m CONFIG_SURFACE_AGGREGATOR_BUS=y # CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -7940,6 +8091,7 @@ CONFIG_CLK_SP810=y CONFIG_CLK_VEXPRESS_OSC=y # end of Clock driver for ARM Reference designs +CONFIG_LMK04832=m # CONFIG_COMMON_CLK_MAX77686 is not set CONFIG_COMMON_CLK_MAX9485=m CONFIG_COMMON_CLK_RK808=m @@ -7965,6 +8117,7 @@ CONFIG_CLK_BCM2711_DVP=y CONFIG_CLK_RASPBERRYPI=m CONFIG_COMMON_CLK_HI3516CV300=y CONFIG_COMMON_CLK_HI3519=y +CONFIG_COMMON_CLK_HI3559A=y CONFIG_COMMON_CLK_HI3660=y CONFIG_COMMON_CLK_HI3670=y CONFIG_COMMON_CLK_HI3798CV200=y @@ -8027,6 +8180,7 @@ CONFIG_MSM_GCC_8916=y # CONFIG_MSM_GCC_8939 is not set # CONFIG_MSM_GCC_8960 is not set # CONFIG_MSM_LCC_8960 is not set +CONFIG_MDM_GCC_9607=m # CONFIG_MDM_GCC_9615 is not set # CONFIG_MDM_LCC_9615 is not set # CONFIG_MSM_MMCC_8960 is not set @@ -8060,8 +8214,11 @@ CONFIG_SDM_VIDEOCC_845=m CONFIG_SDM_DISPCC_845=m CONFIG_SDM_LPASSCC_845=m CONFIG_SDX_GCC_55=m +CONFIG_SM_CAMCC_8250=m +CONFIG_SM_DISPCC_8250=m +CONFIG_SM_GCC_6125=m # CONFIG_SM_GCC_8150 is not set -# CONFIG_SM_GCC_8250 is not set +CONFIG_SM_GCC_8250=m CONFIG_SM_GCC_8350=m # CONFIG_SM_GPUCC_8150 is not set # CONFIG_SM_GPUCC_8250 is not set @@ -8077,6 +8234,9 @@ CONFIG_CLK_RK3308=y CONFIG_CLK_RK3328=y CONFIG_CLK_RK3368=y CONFIG_CLK_RK3399=y +CONFIG_CLK_RK3568=y +CONFIG_CLK_INTEL_SOCFPGA=y +CONFIG_CLK_INTEL_SOCFPGA64=y CONFIG_CLK_SUNXI=y CONFIG_CLK_SUNXI_CLOCKS=y CONFIG_CLK_SUNXI_PRCM_SUN6I=y @@ -8106,6 +8266,7 @@ CONFIG_TIMER_ACPI=y CONFIG_TIMER_PROBE=y CONFIG_CLKSRC_MMIO=y CONFIG_ROCKCHIP_TIMER=y +CONFIG_SUN4I_TIMER=y CONFIG_TEGRA_TIMER=y CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y @@ -8346,11 +8507,15 @@ CONFIG_BMA400=m CONFIG_BMA400_I2C=m CONFIG_BMA400_SPI=m # CONFIG_BMC150_ACCEL is not set +# CONFIG_BMI088_ACCEL is not set # CONFIG_DA280 is not set # CONFIG_DA311 is not set # CONFIG_DMARD06 is not set # CONFIG_DMARD09 is not set # CONFIG_DMARD10 is not set +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m CONFIG_HID_SENSOR_ACCEL_3D=m # CONFIG_IIO_ST_ACCEL_3AXIS is not set # CONFIG_KXSD9 is not set @@ -8365,6 +8530,7 @@ CONFIG_HID_SENSOR_ACCEL_3D=m # CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set # CONFIG_SCA3000 is not set +# CONFIG_SCA3300 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set # end of Accelerometers @@ -8392,7 +8558,6 @@ CONFIG_AD7124=m # CONFIG_AD7923 is not set # CONFIG_AD7949 is not set # CONFIG_AD799X is not set -# CONFIG_AD9467 is not set # CONFIG_ADI_AXI_ADC is not set CONFIG_AXP20X_ADC=m CONFIG_AXP288_ADC=m @@ -8437,7 +8602,9 @@ CONFIG_QCOM_SPMI_VADC=m # CONFIG_TI_ADS8344 is not set # CONFIG_TI_ADS8688 is not set # CONFIG_TI_ADS124S08 is not set +# CONFIG_TI_ADS131E08 is not set # CONFIG_TI_TLC4541 is not set +# CONFIG_TI_TSC2046 is not set # CONFIG_VF610_ADC is not set CONFIG_VIPERBOARD_ADC=m CONFIG_XILINX_XADC=m @@ -8457,6 +8624,12 @@ CONFIG_XILINX_XADC=m # end of Amplifiers # +# Capacitance to digital converters +# +# CONFIG_AD7150 is not set +# end of Capacitance to digital converters + +# # Chemical Sensors # # CONFIG_ATLAS_PH_SENSOR is not set @@ -8469,7 +8642,8 @@ CONFIG_SCD30_CORE=m CONFIG_SCD30_I2C=m CONFIG_SCD30_SERIAL=m # CONFIG_SENSIRION_SGP30 is not set -# CONFIG_SPS30 is not set +# CONFIG_SPS30_I2C is not set +# CONFIG_SPS30_SERIAL is not set # CONFIG_VZ89X is not set # end of Chemical Sensors @@ -8483,6 +8657,12 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m # end of Hid Sensor IIO Common # +# IIO SCMI Sensors +# +CONFIG_IIO_SCMI=m +# end of IIO SCMI Sensors + +# # SSP Sensor Common # # CONFIG_IIO_SSP_SENSORHUB is not set @@ -8614,6 +8794,7 @@ CONFIG_INV_ICM42600_SPI=m # CONFIG_INV_MPU6050_I2C is not set # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IIO_ST_LSM6DSX is not set +# CONFIG_IIO_ST_LSM9DS0 is not set # end of Inertial measurement units # @@ -8659,6 +8840,7 @@ CONFIG_HID_SENSOR_PROX=m # CONFIG_TCS3472 is not set # CONFIG_SENSORS_TSL2563 is not set # CONFIG_TSL2583 is not set +CONFIG_TSL2591=m # CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set @@ -8767,6 +8949,7 @@ CONFIG_HID_SENSOR_PRESS=m # # Proximity and distance sensors # +CONFIG_CROS_EC_MKBP_PROXIMITY=m # CONFIG_ISL29501 is not set # CONFIG_LIDAR_LITE_V2 is not set # CONFIG_MB1232 is not set @@ -8798,6 +8981,7 @@ CONFIG_HID_SENSOR_PRESS=m # CONFIG_MLX90632 is not set # CONFIG_TMP006 is not set # CONFIG_TMP007 is not set +# CONFIG_TMP117 is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set # CONFIG_MAX31856 is not set @@ -8820,10 +9004,13 @@ CONFIG_PWM_DWC=m # CONFIG_PWM_IQS620A is not set # CONFIG_PWM_KEEMBAY is not set CONFIG_PWM_MESON=m +CONFIG_PWM_NTXEC=m # CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_RASPBERRYPI_POE=m CONFIG_PWM_ROCKCHIP=m CONFIG_PWM_SUN4I=m CONFIG_PWM_TEGRA=m +CONFIG_PWM_VISCONTI=m # # IRQ chip support @@ -8852,14 +9039,13 @@ CONFIG_MESON_IRQ_GPIO=y # CONFIG_QCOM_PDC is not set CONFIG_IMX_IRQSTEER=y CONFIG_IMX_INTMUX=y +CONFIG_APPLE_AIC=y # end of IRQ chip support # CONFIG_IPACK_BUS is not set CONFIG_ARCH_HAS_RESET_CONTROLLER=y CONFIG_RESET_CONTROLLER=y -CONFIG_RESET_BRCMSTB_RESCAL=y CONFIG_RESET_IMX7=y -CONFIG_RESET_INTEL_GW=y CONFIG_RESET_MESON=y # CONFIG_RESET_MESON_AUDIO_ARB is not set # CONFIG_RESET_QCOM_AOSS is not set @@ -8879,6 +9065,7 @@ CONFIG_RESET_TEGRA_BPMP=y CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y CONFIG_PHY_XGENE=m +CONFIG_PHY_CAN_TRANSCEIVER=m CONFIG_PHY_SUN4I_USB=m # CONFIG_PHY_SUN6I_MIPI_DPHY is not set # CONFIG_PHY_SUN9I_USB is not set @@ -8900,12 +9087,14 @@ CONFIG_PHY_FSL_IMX8MQ_USB=m CONFIG_PHY_MIXEL_MIPI_DPHY=m CONFIG_PHY_HI6220_USB=m CONFIG_PHY_HI3660_USB=m +CONFIG_PHY_HI3670_USB=m # CONFIG_PHY_HISTB_COMBPHY is not set # CONFIG_PHY_HISI_INNO_USB2 is not set CONFIG_PHY_MVEBU_A3700_COMPHY=m CONFIG_PHY_MVEBU_A3700_UTMI=m CONFIG_PHY_MVEBU_A38X_COMPHY=m CONFIG_PHY_MVEBU_CP110_COMPHY=m +CONFIG_PHY_MVEBU_CP110_UTMI=m # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_CPCAP_USB is not set @@ -8928,11 +9117,11 @@ CONFIG_PHY_ROCKCHIP_DPHY_RX0=m CONFIG_PHY_ROCKCHIP_EMMC=m CONFIG_PHY_ROCKCHIP_INNO_HDMI=m CONFIG_PHY_ROCKCHIP_INNO_USB2=m +CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m # CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set CONFIG_PHY_ROCKCHIP_PCIE=m CONFIG_PHY_ROCKCHIP_TYPEC=m CONFIG_PHY_ROCKCHIP_USB=m - # CONFIG_PHY_SAMSUNG_USB2 is not set CONFIG_PHY_TEGRA_XUSB=m CONFIG_PHY_TEGRA194_P2U=m @@ -9045,6 +9234,7 @@ CONFIG_INTERCONNECT_QCOM_MSM8939=m # CONFIG_INTERCONNECT_QCOM_MSM8974 is not set CONFIG_INTERCONNECT_QCOM_OSM_L3=m # CONFIG_INTERCONNECT_QCOM_QCS404 is not set +CONFIG_INTERCONNECT_QCOM_SDM660=m CONFIG_INTERCONNECT_QCOM_SMD_RPM=m # CONFIG_COUNTER is not set # CONFIG_MOST is not set @@ -9148,6 +9338,8 @@ CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y # # Caches # +CONFIG_NETFS_SUPPORT=m +# CONFIG_NETFS_STATS is not set CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set @@ -9199,6 +9391,7 @@ CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y # CONFIG_TMPFS_INODE64 is not set +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_MEMFD_CREATE=y @@ -9290,11 +9483,6 @@ CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_FTRACE is not set CONFIG_PSTORE_RAM=m -CONFIG_PSTORE_ZONE=m -CONFIG_PSTORE_BLK=m -CONFIG_PSTORE_BLK_BLKDEV="" -CONFIG_PSTORE_BLK_KMSG_SIZE=64 -CONFIG_PSTORE_BLK_MAX_REASON=2 CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set @@ -9342,7 +9530,7 @@ CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y -CONFIG_NFS_V4_2_SSC_HELPER=m +CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y @@ -9482,6 +9670,7 @@ CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set +CONFIG_SECURITY_LANDLOCK=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y @@ -9559,6 +9748,7 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=m CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m @@ -9739,9 +9929,11 @@ CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m CONFIG_CRYPTO_DEV_QCE=m CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y CONFIG_CRYPTO_DEV_QCE_SHA=y +CONFIG_CRYPTO_DEV_QCE_AEAD=y CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y # CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set # CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512 CONFIG_CRYPTO_DEV_QCOM_RNG=m # CONFIG_CRYPTO_DEV_ROCKCHIP is not set @@ -9791,6 +9983,7 @@ CONFIG_HAVE_ARCH_BITREVERSE=y CONFIG_GENERIC_STRNCPY_FROM_USER=y CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_FIND_FIRST_BIT=y CONFIG_CORDIC=m CONFIG_PRIME_NUMBERS=m CONFIG_RATIONAL=y @@ -9931,7 +10124,6 @@ CONFIG_MEMREGION=y CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y CONFIG_ARCH_STACKWALK=y CONFIG_SBITMAP=y -# CONFIG_STRING_SELFTEST is not set # end of Library routines CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y @@ -9945,6 +10137,7 @@ CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set +CONFIG_STACKTRACE_BUILD_ID=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 @@ -9973,9 +10166,10 @@ CONFIG_STRIP_ASM_SYMS=y # CONFIG_HEADERS_INSTALL is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set CONFIG_ARCH_WANT_FRAME_POINTERS=y CONFIG_FRAME_POINTER=y +# CONFIG_VMLINUX_MAP is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options @@ -10028,6 +10222,7 @@ CONFIG_DEBUG_MEMORY_INIT=y # CONFIG_DEBUG_PER_CPU_MAPS is not set CONFIG_HAVE_ARCH_KASAN=y CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y CONFIG_CC_HAS_KASAN_GENERIC=y CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y # CONFIG_KASAN is not set @@ -10093,7 +10288,6 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y CONFIG_STACKTRACE=y # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set -CONFIG_HAVE_DEBUG_BUGVERBOSE=y # # Debug kernel data structures @@ -10149,6 +10343,8 @@ CONFIG_STACK_TRACER=y # CONFIG_IRQSOFF_TRACER is not set # CONFIG_SCHED_TRACER is not set # CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y # CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set @@ -10205,9 +10401,9 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_LKDTM is not set -# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_SORT is not set +# CONFIG_TEST_DIV64 is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_RBTREE_TEST is not set @@ -10217,10 +10413,12 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_ASYNC_RAID6_TEST is not set # CONFIG_TEST_HEXDUMP is not set +# CONFIG_STRING_SELFTEST is not set # CONFIG_TEST_STRING_HELPERS is not set CONFIG_TEST_STRSCPY=m # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set +CONFIG_TEST_SCANF=m # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set CONFIG_TEST_XARRAY=m @@ -10244,6 +10442,7 @@ CONFIG_TEST_STATIC_KEYS=m # CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_MEMINIT is not set # CONFIG_TEST_FREE_PAGES is not set +CONFIG_ARCH_USE_MEMTEST=y # CONFIG_MEMTEST is not set # end of Kernel Testing and Coverage # end of Kernel hacking diff --git a/gnu/packages/aux-files/linux-libre/5.12-i686.conf b/gnu/packages/aux-files/linux-libre/5.14-i686.conf index 094ec73cd6..bcca80c348 100644 --- a/gnu/packages/aux-files/linux-libre/5.12-i686.conf +++ b/gnu/packages/aux-files/linux-libre/5.14-i686.conf @@ -1,16 +1,19 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/i386 5.12.1 Kernel Configuration +# Linux/i386 5.14.0 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=80300 CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=23101 CONFIG_LD_IS_BFD=y CONFIG_LD_VERSION=23101 CONFIG_LLD_VERSION=0 CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -95,9 +98,22 @@ CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +# CONFIG_BPF_JIT is not set +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +# CONFIG_BPF_PRELOAD is not set +# end of BPF subsystem + # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set +CONFIG_SCHED_CORE=y # # CPU/Task time and stats accounting @@ -166,6 +182,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_MISC=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y @@ -196,7 +213,6 @@ CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y -CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y @@ -224,8 +240,6 @@ CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_BPF_SYSCALL=y -# CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y @@ -275,7 +289,6 @@ CONFIG_GENERIC_BUG=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_FILTER_PGPROT=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y @@ -293,7 +306,6 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y # # Processor type and features # -# CONFIG_ZONE_DMA is not set CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_MPPARSE=y @@ -439,7 +451,6 @@ CONFIG_X86_PMEM_LEGACY=y CONFIG_HIGHPTE=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y -CONFIG_X86_RESERVE_LOW=64 CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 @@ -476,8 +487,7 @@ CONFIG_HOTPLUG_CPU=y CONFIG_MODIFY_LDT_SYSCALL=y # end of Processor type and features -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y # # Power management and ACPI options @@ -559,6 +569,8 @@ CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_EXTLOG=m CONFIG_ACPI_CONFIGFS=m # CONFIG_PMIC_OPREGION is not set +CONFIG_TPS68470_PMIC_OPREGION=y +CONFIG_ACPI_VIOT=y CONFIG_X86_PM_TIMER=y CONFIG_X86_APM_BOOT=y CONFIG_APM=m @@ -724,6 +736,7 @@ CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_NO_POLL=y CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_HAVE_KVM_PM_NOTIFIER=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_WERROR=y @@ -749,6 +762,7 @@ CONFIG_JUMP_LABEL=y # CONFIG_STATIC_CALL_SELFTEST is not set CONFIG_OPTPROBES=y CONFIG_KPROBES_ON_FTRACE=y +CONFIG_UPROBES=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_KRETPROBES=y @@ -768,6 +782,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y +CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_ARCH_32BIT_OFF_T=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y @@ -798,6 +813,8 @@ CONFIG_HAVE_ARCH_STACKLEAK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y CONFIG_LTO_NONE=y CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -818,6 +835,8 @@ CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y @@ -852,10 +871,12 @@ CONFIG_MODVERSIONS=y CONFIG_ASM_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS=y +# CONFIG_MODULE_COMPRESS_NONE is not set CONFIG_MODULE_COMPRESS_GZIP=y # CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y @@ -871,9 +892,11 @@ CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_CMDLINE_PARSER=y CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y # CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_FC_APPID=y CONFIG_BLK_CGROUP_IOCOST=y -CONFIG_BLK_WBT_MQ=y +CONFIG_BLK_CGROUP_IOPRIO=y CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEBUG_FS_ZONED=y # CONFIG_BLK_SED_OPAL is not set @@ -962,7 +985,9 @@ CONFIG_SPARSEMEM=y CONFIG_SPARSEMEM_STATIC=y CONFIG_HAVE_FAST_GUP=y CONFIG_MEMORY_ISOLATION=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y @@ -983,6 +1008,7 @@ CONFIG_FRONTSWAP=y CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 CONFIG_ZSWAP=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set @@ -1004,6 +1030,9 @@ CONFIG_ZSMALLOC=y # CONFIG_ZSMALLOC_STAT is not set CONFIG_GENERIC_EARLY_IOREMAP=y CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +# CONFIG_ZONE_DMA is not set CONFIG_HMM_MIRROR=y CONFIG_VMAP_PFN=y # CONFIG_PERCPU_STATS is not set @@ -1013,6 +1042,7 @@ CONFIG_GUP_GET_PTE_LOW_HIGH=y CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y CONFIG_KMAP_LOCAL=y +CONFIG_SECRETMEM=y # end of Memory Management options CONFIG_NET=y @@ -1155,13 +1185,13 @@ CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_LOG_NETDEV=m +CONFIG_NF_LOG_SYSLOG=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y @@ -1482,7 +1512,6 @@ CONFIG_DECNET_NF_GRABULATOR=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -1559,12 +1588,12 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_BRIDGE_MRP=y CONFIG_BRIDGE_CFM=y -CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_8021Q=m CONFIG_NET_DSA_TAG_AR9331=m CONFIG_NET_DSA_TAG_BRCM_COMMON=m CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m CONFIG_NET_DSA_TAG_BRCM_PREPEND=m CONFIG_NET_DSA_TAG_HELLCREEK=m CONFIG_NET_DSA_TAG_GSWIP=m @@ -1750,6 +1779,8 @@ CONFIG_QRTR_TUN=m CONFIG_QRTR_MHI=m CONFIG_NET_NCSI=y # CONFIG_NCSI_OEM_CMD_GET_MAC is not set +# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set +CONFIG_PCPU_DEV_REFCNT=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_SOCK_RX_QUEUE_MAPPING=y @@ -1758,7 +1789,6 @@ CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y -# CONFIG_BPF_JIT is not set # CONFIG_BPF_STREAM_PARSER is not set CONFIG_NET_FLOW_LIMIT=y @@ -1856,6 +1886,7 @@ CONFIG_CAN_MCP251XFD=m CONFIG_CAN_8DEV_USB=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_MCBA_USB=m @@ -1880,6 +1911,7 @@ CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m # CONFIG_BT_LEDS is not set CONFIG_BT_MSFTEXT=y +CONFIG_BT_AOSPEXT=y CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set @@ -1923,6 +1955,7 @@ CONFIG_BT_ATH3K=m CONFIG_BT_MTKSDIO=m CONFIG_BT_MTKUART=m CONFIG_BT_HCIRSI=m +CONFIG_BT_VIRTIO=m # end of Bluetooth device drivers CONFIG_AF_RXRPC=m @@ -2031,12 +2064,12 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_NET_SELFTESTS=y CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=y CONFIG_ETHTOOL_NETLINK=y -CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -2127,6 +2160,8 @@ CONFIG_PCI_SW_SWITCHTEC=m CONFIG_CXL_BUS=m CONFIG_CXL_MEM=m # CONFIG_CXL_MEM_RAW_COMMANDS is not set +CONFIG_CXL_ACPI=m +CONFIG_CXL_PMEM=m CONFIG_PCCARD=m CONFIG_PCMCIA=m CONFIG_PCMCIA_LOAD_CIS=y @@ -2257,7 +2292,6 @@ CONFIG_RFD_FTL=m CONFIG_SSFDC=m CONFIG_SM_FTL=m CONFIG_MTD_OOPS=m -CONFIG_MTD_PSTORE=m CONFIG_MTD_SWAP=m # CONFIG_MTD_PARTITIONED_MASTER is not set @@ -2315,6 +2349,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set CONFIG_MTD_DATAFLASH_OTP=y CONFIG_MTD_MCHP23K256=m +CONFIG_MTD_MCHP48L640=m CONFIG_MTD_SST25L=m CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m @@ -2464,7 +2499,6 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y CONFIG_ZRAM_DEF_COMP="lzo-rle" # CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZRAM_MEMORY_TRACKING is not set -CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_CRYPTOLOOP=m @@ -2536,10 +2570,10 @@ CONFIG_VMWARE_BALLOON=m CONFIG_PCH_PHUB=m CONFIG_LATTICE_ECP3_CONFIG=m CONFIG_SRAM=y +CONFIG_DW_XDATA_PCIE=m # CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_XILINX_SDFEC=m CONFIG_MISC_RTSX=m -CONFIG_PVPANIC=m CONFIG_C2PORT=m CONFIG_C2PORT_DURAMAR_2150=m @@ -2581,11 +2615,11 @@ CONFIG_MISC_RTSX_PCI=m CONFIG_MISC_RTSX_USB=m CONFIG_HABANA_AI=m CONFIG_UACCE=m +CONFIG_PVPANIC=y +CONFIG_PVPANIC_MMIO=m +CONFIG_PVPANIC_PCI=m # end of Misc devices -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - # # SCSI device support # @@ -2669,6 +2703,7 @@ CONFIG_SCSI_MPT3SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m @@ -2724,6 +2759,7 @@ CONFIG_QEDI=m CONFIG_QEDF=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_EFCT=m CONFIG_SCSI_DC395x=m CONFIG_SCSI_AM53C974=m CONFIG_SCSI_NSP32=m @@ -3027,7 +3063,6 @@ CONFIG_ATM_HE_USE_SUNI=y CONFIG_ATM_SOLOS=m CONFIG_CAIF_DRIVERS=y CONFIG_CAIF_TTY=m -CONFIG_CAIF_HSI=m CONFIG_CAIF_VIRTIO=m # @@ -3051,6 +3086,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MICROCHIP_KSZ8795=m CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m CONFIG_NET_DSA_MV88E6XXX=m # CONFIG_NET_DSA_MV88E6XXX_PTP is not set CONFIG_NET_DSA_MSCC_SEVILLE=m @@ -3208,6 +3244,7 @@ CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m CONFIG_IGC=m +CONFIG_NET_VENDOR_MICROSOFT=y CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m @@ -3232,7 +3269,9 @@ CONFIG_MLX5_EN_ARFS=y CONFIG_MLX5_EN_RXNFC=y CONFIG_MLX5_MPFS=y CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_BRIDGE=y CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_CORE_EN_DCB=y # CONFIG_MLX5_CORE_IPOIB is not set CONFIG_MLX5_IPSEC=y @@ -3245,8 +3284,6 @@ CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y CONFIG_MLXSW_PCI=m CONFIG_MLXSW_I2C=m -CONFIG_MLXSW_SWITCHIB=m -CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_MINIMAL=m @@ -3356,6 +3393,7 @@ CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PLATFORM=m CONFIG_DWMAC_GENERIC=m CONFIG_DWMAC_INTEL=m +CONFIG_DWMAC_LOONGSON=m # CONFIG_STMMAC_PCI is not set CONFIG_NET_VENDOR_SUN=y CONFIG_HAPPYMEAL=m @@ -3389,7 +3427,6 @@ CONFIG_NET_VENDOR_XIRCOM=y CONFIG_PCMCIA_XIRC2PS=m CONFIG_FDDI=y CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_NET_SB1000=m @@ -3422,11 +3459,15 @@ CONFIG_INTEL_XWAY_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MEDIATEK_GE_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m +CONFIG_MOTORCOMM_PHY=m CONFIG_NATIONAL_PHY=m +CONFIG_NXP_C45_TJA11XX_PHY=m CONFIG_NXP_TJA11XX_PHY=m CONFIG_AT803X_PHY=m CONFIG_QSEMI_PHY=m @@ -3446,6 +3487,8 @@ CONFIG_XILINX_GMII2RGMII=m CONFIG_MICREL_KS8995MA=m CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y +CONFIG_ACPI_MDIO=y CONFIG_MDIO_DEVRES=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_BCM_UNIMAC=m @@ -3849,6 +3892,17 @@ CONFIG_IEEE802154_CA8210=m # CONFIG_IEEE802154_CA8210_DEBUGFS is not set CONFIG_IEEE802154_MCR20A=m # CONFIG_IEEE802154_HWSIM is not set + +# +# Wireless WAN +# +CONFIG_WWAN=y +# CONFIG_WWAN_HWSIM is not set +CONFIG_MHI_WWAN_CTRL=m +CONFIG_RPMSG_WWAN_CTRL=m +CONFIG_IOSM=m +# end of Wireless WAN + CONFIG_XEN_NETDEV_FRONTEND=y CONFIG_XEN_NETDEV_BACKEND=m CONFIG_VMXNET3=m @@ -4005,6 +4059,7 @@ CONFIG_JOYSTICK_WALKERA0701=m CONFIG_JOYSTICK_PSXPAD_SPI=m # CONFIG_JOYSTICK_PSXPAD_SPI_FF is not set CONFIG_JOYSTICK_PXRC=m +CONFIG_JOYSTICK_QWIIC=m CONFIG_JOYSTICK_FSIA6B=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m @@ -4014,7 +4069,6 @@ CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_PEGASUS=m CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=y CONFIG_TOUCHSCREEN_88PM860X=m CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_AD7877=m @@ -4046,7 +4100,9 @@ CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_ILITEK=m CONFIG_TOUCHSCREEN_S6SY761=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_EKTF2127=m @@ -4058,6 +4114,7 @@ CONFIG_TOUCHSCREEN_MAX11801=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m CONFIG_TOUCHSCREEN_MELFAS_MIP4=m +CONFIG_TOUCHSCREEN_MSG2638=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m @@ -4124,6 +4181,7 @@ CONFIG_INPUT_AD714X=m CONFIG_INPUT_AD714X_I2C=m CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATC260X_ONKEY=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_E3X0_BUTTON=m CONFIG_INPUT_PCSPKR=m @@ -4168,6 +4226,7 @@ CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m CONFIG_INPUT_IMS_PCU=m CONFIG_INPUT_IQS269A=m +CONFIG_INPUT_IQS626A=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m @@ -4304,19 +4363,13 @@ CONFIG_SERIAL_MEN_Z135=m CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_NONSTANDARD=y -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set CONFIG_MOXA_INTELLIO=m CONFIG_MOXA_SMARTIO=m CONFIG_SYNCLINK_GT=m -CONFIG_ISI=m CONFIG_N_HDLC=m CONFIG_N_GSM=m CONFIG_NOZOMI=m CONFIG_NULL_TTY=m -CONFIG_TRACE_ROUTER=m -CONFIG_TRACE_SINK=m CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y @@ -4367,10 +4420,7 @@ CONFIG_SCx200_GPIO=m CONFIG_PC8736x_GPIO=m CONFIG_NSC_GPIO=m CONFIG_DEVMEM=y -# CONFIG_DEVKMEM is not set CONFIG_NVRAM=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 CONFIG_DEVPORT=y CONFIG_HPET=y CONFIG_HPET_MMAP=y @@ -4396,8 +4446,10 @@ CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m CONFIG_TCG_TIS_ST33ZP24_SPI=m CONFIG_TELCLOCK=m +CONFIG_XILLYBUS_CLASS=m CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m +CONFIG_XILLYUSB=m # end of Character devices # CONFIG_RANDOM_TRUST_CPU is not set @@ -4486,6 +4538,7 @@ CONFIG_I2C_XILINX=m # CONFIG_I2C_DIOLAN_U2C=m CONFIG_I2C_DLN2=m +CONFIG_I2C_CP2615=m CONFIG_I2C_PARPORT=m CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m @@ -4523,6 +4576,8 @@ CONFIG_SPI_MEM=y # SPI Master Controller Drivers # CONFIG_SPI_ALTERA=m +CONFIG_SPI_ALTERA_CORE=m +CONFIG_SPI_ALTERA_DFL=m CONFIG_SPI_AXI_SPI_ENGINE=m CONFIG_SPI_BITBANG=m CONFIG_SPI_BUTTERFLY=m @@ -4563,6 +4618,7 @@ CONFIG_SPI_TLE62X0=m # CONFIG_SPI_SLAVE is not set CONFIG_SPI_DYNAMIC=y CONFIG_SPMI=m +# CONFIG_SPMI_HISI3670 is not set CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y @@ -4714,6 +4770,7 @@ CONFIG_GPIO_TPS65086=m CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=y CONFIG_GPIO_TQMX86=m CONFIG_GPIO_TWL4030=m CONFIG_GPIO_TWL6040=m @@ -4797,6 +4854,7 @@ CONFIG_W1_SLAVE_DS28E17=m # end of 1-wire Slaves CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_ATC260X=m # CONFIG_POWER_RESET_MT6323 is not set CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_SUPPLY=y @@ -4864,6 +4922,7 @@ CONFIG_CHARGER_BQ256XX=m CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=m CONFIG_BATTERY_GAUGE_LTC2941=m +CONFIG_BATTERY_GOLDFISH=m CONFIG_BATTERY_RT5033=m CONFIG_CHARGER_RT9455=m CONFIG_CHARGER_CROS_USBPD=m @@ -4902,7 +4961,6 @@ CONFIG_SENSORS_AXI_FAN_CONTROL=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m -CONFIG_SENSORS_AMD_ENERGY=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASPEED=m @@ -4992,15 +5050,20 @@ CONFIG_SENSORS_NCT6775=m CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NZXT_KRAKEN2=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1266=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_FSP_3Y=m CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_DPS920AB=m CONFIG_SENSORS_INSPUR_IPSPS=m CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR36021=m CONFIG_SENSORS_IR38064=m CONFIG_SENSORS_IRPS5401=m CONFIG_SENSORS_ISL68137=m @@ -5008,6 +5071,7 @@ CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_LTC2978_REGULATOR=y CONFIG_SENSORS_LTC3815=m +CONFIG_SENSORS_MAX15301=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX16601=m CONFIG_SENSORS_MAX20730=m @@ -5015,10 +5079,13 @@ CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31785=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_MP2888=m CONFIG_SENSORS_MP2975=m +CONFIG_SENSORS_PIM4328=m CONFIG_SENSORS_PM6764TR=m CONFIG_SENSORS_PXE1610=m CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_STPDDC60=m CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_UCD9000=m @@ -5029,6 +5096,7 @@ CONFIG_SENSORS_SBTSI=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHT3x=m +CONFIG_SENSORS_SHT4x=m CONFIG_SENSORS_SHTC1=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m @@ -5119,6 +5187,7 @@ CONFIG_INT3406_THERMAL=m CONFIG_INTEL_BXT_PMIC_THERMAL=m CONFIG_INTEL_PCH_THERMAL=m +CONFIG_INTEL_TCC_COOLING=m # end of Intel thermal drivers CONFIG_GENERIC_ADC_THERMAL=m @@ -5128,6 +5197,7 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_WATCHDOG_SYSFS=y +CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT=y # # Watchdog Pretimeout Governors @@ -5315,16 +5385,13 @@ CONFIG_PCF50633_ADC=m CONFIG_PCF50633_GPIO=m CONFIG_UCB1400_CORE=m CONFIG_MFD_RDC321X=m +CONFIG_MFD_RT4831=m CONFIG_MFD_RT5033=m CONFIG_MFD_RC5T583=y -CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m -CONFIG_ABX500_CORE=y -CONFIG_AB3100_CORE=y -CONFIG_AB3100_OTP=m CONFIG_MFD_STA2X11=y CONFIG_MFD_SYSCON=y CONFIG_MFD_TI_AM335X_TSCADC=m @@ -5337,7 +5404,6 @@ CONFIG_TPS65010=m CONFIG_TPS6507X=m CONFIG_MFD_TPS65086=m CONFIG_MFD_TPS65090=y -# CONFIG_MFD_TPS68470 is not set CONFIG_MFD_TI_LP873X=m CONFIG_MFD_TPS6586X=y CONFIG_MFD_TPS65910=y @@ -5353,7 +5419,7 @@ CONFIG_MFD_LM3533=m CONFIG_MFD_TIMBERDALE=m CONFIG_MFD_TQMX86=m CONFIG_MFD_VX855=m -CONFIG_MFD_ARIZONA=y +CONFIG_MFD_ARIZONA=m CONFIG_MFD_ARIZONA_I2C=m CONFIG_MFD_ARIZONA_SPI=m CONFIG_MFD_CS47L24=y @@ -5368,6 +5434,8 @@ CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y CONFIG_MFD_WM8994=m +CONFIG_MFD_ATC260X=m +CONFIG_MFD_ATC260X_I2C=m CONFIG_RAVE_SP_CORE=m CONFIG_MFD_INTEL_M10_BMC=m # end of Multifunction device drivers @@ -5386,6 +5454,7 @@ CONFIG_REGULATOR_AAT2870=m CONFIG_REGULATOR_ARIZONA_LDO1=m CONFIG_REGULATOR_ARIZONA_MICSUPP=m CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_ATC260X=m CONFIG_REGULATOR_AXP20X=m CONFIG_REGULATOR_BCM590XX=m CONFIG_REGULATOR_BD9571MWV=m @@ -5411,6 +5480,7 @@ CONFIG_REGULATOR_MAX14577=m CONFIG_REGULATOR_MAX1586=m CONFIG_REGULATOR_MAX8649=m CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8893=m CONFIG_REGULATOR_MAX8907=m CONFIG_REGULATOR_MAX8925=m CONFIG_REGULATOR_MAX8952=m @@ -5426,6 +5496,7 @@ CONFIG_REGULATOR_MT6311=m CONFIG_REGULATOR_MT6315=m CONFIG_REGULATOR_MT6323=m CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6359=m CONFIG_REGULATOR_MT6360=m CONFIG_REGULATOR_MT6397=m CONFIG_REGULATOR_PALMAS=m @@ -5441,11 +5512,11 @@ CONFIG_REGULATOR_QCOM_USB_VBUS=m CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m CONFIG_REGULATOR_RC5T583=m CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m CONFIG_REGULATOR_RTMV20=m -CONFIG_REGULATOR_S2MPA01=m -CONFIG_REGULATOR_S2MPS11=m -CONFIG_REGULATOR_S5M8767=m CONFIG_REGULATOR_SKY81452=m CONFIG_REGULATOR_SLG51000=m CONFIG_REGULATOR_TPS51632=m @@ -5549,6 +5620,7 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FLASH_LED_CLASS=m CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_ASYNC=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -5579,7 +5651,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # Media drivers # -CONFIG_TTPCI_EEPROM=m CONFIG_MEDIA_USB_SUPPORT=y # @@ -5758,7 +5829,6 @@ CONFIG_VIDEO_TW686X=m # Media capture/analog TV support # CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV_ALSA=m CONFIG_VIDEO_FB_IVTV=m # CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set @@ -5796,14 +5866,10 @@ CONFIG_VIDEO_COBALT=m # # Media digital TV PCI Adapters # -CONFIG_DVB_AV7110_IR=y -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set CONFIG_DVB_PLUTO2=m @@ -5865,6 +5931,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y # CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m +CONFIG_TTPCI_EEPROM=m CONFIG_CYPRESS_FIRMWARE=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m @@ -6033,6 +6100,7 @@ CONFIG_VIDEO_ST_MIPID02=m CONFIG_VIDEO_APTINA_PLL=m CONFIG_VIDEO_CCS_PLL=m CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_IMX208=m CONFIG_VIDEO_IMX214=m CONFIG_VIDEO_IMX219=m CONFIG_VIDEO_IMX258=m @@ -6222,7 +6290,6 @@ CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m @@ -6359,7 +6426,6 @@ CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_KMS_FB_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 @@ -6394,7 +6460,6 @@ CONFIG_DRM_AMDGPU=m # CONFIG_DRM_AMDGPU_SI is not set # CONFIG_DRM_AMDGPU_CIK is not set CONFIG_DRM_AMDGPU_USERPTR=y -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set # # ACP (Audio CoProcessor) Configuration @@ -6410,6 +6475,7 @@ CONFIG_DRM_AMD_DC_DCN=y # CONFIG_DRM_AMD_DC_HDCP is not set CONFIG_DRM_AMD_DC_SI=y # CONFIG_DEBUG_KERNEL_DC is not set +CONFIG_DRM_AMD_SECURE_DISPLAY=y # end of Display Engine Configuration CONFIG_DRM_NOUVEAU=m @@ -6443,6 +6509,7 @@ CONFIG_DRM_I915_USERPTR=y # # drm/i915 Profile Guided Optimisation # +CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 CONFIG_DRM_I915_FENCE_TIMEOUT=10000 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 @@ -6457,7 +6524,6 @@ CONFIG_DRM_VGEM=m CONFIG_DRM_VMWGFX=m CONFIG_DRM_VMWGFX_FBCON=y CONFIG_DRM_GMA500=m -CONFIG_DRM_GMA600=y CONFIG_DRM_UDL=m CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set @@ -6485,6 +6551,7 @@ CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_GM12U320=m +CONFIG_DRM_SIMPLEDRM=m CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m @@ -6496,6 +6563,8 @@ CONFIG_TINYDRM_ST7735R=m CONFIG_DRM_XEN=y CONFIG_DRM_XEN_FRONTEND=m CONFIG_DRM_VBOXVIDEO=m +CONFIG_DRM_GUD=m +CONFIG_DRM_HYPERV=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -6612,6 +6681,7 @@ CONFIG_FB_MB862XX_PCI_GDC=y CONFIG_FB_MB862XX_I2C=y CONFIG_FB_HYPERV=m CONFIG_FB_SIMPLE=y +CONFIG_FB_SSD1307=m CONFIG_FB_SM712=m # end of Frame buffer Devices @@ -6641,6 +6711,7 @@ CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_MAX8925=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RT4831=m CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_WM831X=m CONFIG_BACKLIGHT_ADP5520=m @@ -6717,6 +6788,7 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_CTL_LED=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m # CONFIG_SND_SEQUENCER_OSS is not set @@ -6877,7 +6949,7 @@ CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_EXT_CORE=m -CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_INTEL_NHLT=y CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m @@ -6951,6 +7023,7 @@ CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_FSL_MICFIL=m CONFIG_SND_SOC_FSL_EASRC=m CONFIG_SND_SOC_FSL_XCVR=m +CONFIG_SND_SOC_FSL_RPMSG=m CONFIG_SND_SOC_IMX_AUDMUX=m # end of SoC Audio for Freescale CPUs @@ -6978,6 +7051,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y # CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -7010,6 +7085,7 @@ CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m @@ -7173,6 +7249,7 @@ CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m CONFIG_SND_SOC_RT1011=m CONFIG_SND_SOC_RT1015=m +CONFIG_SND_SOC_RT1015P=m CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m @@ -7197,6 +7274,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m CONFIG_SND_SOC_SIMPLE_MUX=m CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_SSM2305=m +CONFIG_SND_SOC_SSM2518=m CONFIG_SND_SOC_SSM2602=m CONFIG_SND_SOC_SSM2602_SPI=m CONFIG_SND_SOC_SSM2602_I2C=m @@ -7214,6 +7292,7 @@ CONFIG_SND_SOC_TAS5720=m CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TDA7419=m CONFIG_SND_SOC_TFA9879=m +CONFIG_SND_SOC_TFA989X=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC23_SPI=m @@ -7222,6 +7301,8 @@ CONFIG_SND_SOC_TLV320AIC32X4=m CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m CONFIG_SND_SOC_TLV320ADCX140=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m @@ -7253,7 +7334,6 @@ CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_ZL38060=m -CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MT6351=m CONFIG_SND_SOC_MT6358=m @@ -7277,6 +7357,7 @@ CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m CONFIG_SND_SYNTH_EMUX=m CONFIG_SND_XEN_FRONTEND=m +CONFIG_SND_VIRTIO=m CONFIG_AC97_BUS=m # @@ -7319,6 +7400,7 @@ CONFIG_HID_ELAN=m CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m CONFIG_HID_GLORIOUS=m @@ -7376,6 +7458,7 @@ CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m @@ -7812,8 +7895,8 @@ CONFIG_TYPEC_FUSB302=m CONFIG_TYPEC_UCSI=m CONFIG_UCSI_CCG=m CONFIG_UCSI_ACPI=m -CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_STUSB160X=m # @@ -7925,6 +8008,7 @@ CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m CONFIG_LEDS_BD2802=m CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m CONFIG_LEDS_ADP5520=m CONFIG_LEDS_MC13783=m CONFIG_LEDS_TCA6507=m @@ -7977,11 +8061,6 @@ CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_PATTERN=m CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_TTY=m - -# -# LED Blink -# -CONFIG_LEDS_BLINK=y # CONFIG_ACCESSIBILITY is not set CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m @@ -7993,7 +8072,7 @@ CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y CONFIG_INFINIBAND_MTHCA=m # CONFIG_INFINIBAND_MTHCA_DEBUG is not set CONFIG_INFINIBAND_CXGB4=m -CONFIG_INFINIBAND_I40IW=m +CONFIG_INFINIBAND_IRDMA=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_OCRDMA=m @@ -8097,7 +8176,6 @@ CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_RV3028=m CONFIG_RTC_DRV_RV3032=m CONFIG_RTC_DRV_RV8803=m -CONFIG_RTC_DRV_S5M=m CONFIG_RTC_DRV_SD3078=m # @@ -8172,6 +8250,7 @@ CONFIG_RTC_DRV_MT6397=m # HID Sensor RTC drivers # CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_GOLDFISH=m CONFIG_RTC_DRV_WILCO_EC=m CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -8187,7 +8266,6 @@ CONFIG_INTEL_IDMA64=m CONFIG_PCH_DMA=m CONFIG_PLX_DMA=m CONFIG_TIMB_DMA=m -CONFIG_XILINX_ZYNQMP_DPDMA=m CONFIG_QCOM_HIDMA_MGMT=m CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=m @@ -8247,6 +8325,7 @@ CONFIG_UIO_NETX=m CONFIG_UIO_PRUSS=m CONFIG_UIO_MF624=m CONFIG_UIO_HV_GENERIC=m +CONFIG_UIO_DFL=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO_VIRQFD=m CONFIG_VFIO=m @@ -8257,7 +8336,6 @@ CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y CONFIG_VFIO_PCI_IGD=y CONFIG_VFIO_MDEV=m -CONFIG_VFIO_MDEV_DEVICE=m CONFIG_IRQ_BYPASS_MANAGER=m CONFIG_VIRT_DRIVERS=y CONFIG_VBOXGUEST=m @@ -8279,6 +8357,7 @@ CONFIG_VDPA=m CONFIG_IFCVF=m CONFIG_MLX5_VDPA=y CONFIG_MLX5_VDPA_NET=m +CONFIG_VP_VDPA=m CONFIG_VHOST_IOTLB=m CONFIG_VHOST_RING=m CONFIG_VHOST=m @@ -8324,8 +8403,6 @@ CONFIG_XEN_FRONT_PGDIR_SHBUF=m # end of Xen driver support # CONFIG_GREYBUS is not set -CONFIG_STAGING=y -CONFIG_PRISM2_USB=m CONFIG_COMEDI=m # CONFIG_COMEDI_DEBUG is not set CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 @@ -8465,6 +8542,9 @@ CONFIG_COMEDI_NI_LABPC=m CONFIG_COMEDI_NI_LABPC_ISADMA=m CONFIG_COMEDI_NI_TIO=m CONFIG_COMEDI_NI_ROUTING=m +# CONFIG_COMEDI_TESTS is not set +CONFIG_STAGING=y +CONFIG_PRISM2_USB=m CONFIG_RTL8192U=m CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m @@ -8508,7 +8588,6 @@ CONFIG_ADT7316_I2C=m # # Capacitance to digital converters # -CONFIG_AD7150=m CONFIG_AD7746=m # end of Capacitance to digital converters @@ -8545,6 +8624,11 @@ CONFIG_STAGING_MEDIA=y CONFIG_INTEL_ATOMISP=y # CONFIG_VIDEO_ZORAN is not set CONFIG_VIDEO_IPU3_IMGU=m +CONFIG_DVB_AV7110_IR=y +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_SP8870=m # # Android @@ -8592,27 +8676,13 @@ CONFIG_FB_TFT_UPD161704=m CONFIG_FB_TFT_WATTEROTT=m CONFIG_MOST_COMPONENTS=m CONFIG_MOST_NET=m -CONFIG_MOST_SOUND=m CONFIG_MOST_VIDEO=m CONFIG_MOST_I2C=m CONFIG_KS7010=m # CONFIG_PI433 is not set - -# -# Gasket devices -# -# end of Gasket devices - CONFIG_FIELDBUS_DEV=m -# CONFIG_KPC2000 is not set CONFIG_QLGE=m -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 CONFIG_WFX=m -# CONFIG_SPMI_HISI3670 is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACPI_WMI=m CONFIG_WMI_BMOF=m @@ -8622,10 +8692,12 @@ CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_MXM_WMI=m CONFIG_PEAQ_WMI=m CONFIG_XIAOMI_WMI=m +CONFIG_GIGABYTE_WMI=m CONFIG_ACERHDF=m CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m CONFIG_AMD_PMC=m +CONFIG_ADV_SWBUTTON=m CONFIG_APPLE_GMUX=m CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_WIRELESS=m @@ -8644,6 +8716,7 @@ CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMBIOS_SMM=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_PRIVACY=y CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_DESCRIPTOR=m CONFIG_DELL_WMI_LED=m @@ -8653,7 +8726,7 @@ CONFIG_FUJITSU_LAPTOP=m CONFIG_FUJITSU_TABLET=m CONFIG_GPD_POCKET_FAN=m CONFIG_HP_ACCEL=m -CONFIG_HP_WIRELESS=m +CONFIG_WIRELESS_HOTKEY=m CONFIG_HP_WMI=m CONFIG_TC1100_WMI=m CONFIG_IBM_RTL=m @@ -8666,8 +8739,11 @@ CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y -CONFIG_INTEL_ATOMISP2_LED=m +CONFIG_THINKPAD_LMI=m +CONFIG_X86_PLATFORM_DRIVERS_INTEL=y CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_SKL_INT3472=m +CONFIG_INTEL_ATOMISP2_LED=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_MENLOW=m @@ -8693,6 +8769,7 @@ CONFIG_TOPSTAR_LAPTOP=m CONFIG_I2C_MULTI_INSTANTIATE=m # CONFIG_MLX_PLATFORM is not set # CONFIG_TOUCHSCREEN_DMI is not set +CONFIG_FW_ATTR_CLASS=m CONFIG_INTEL_IMR=y CONFIG_INTEL_IPS=m CONFIG_INTEL_RST=m @@ -8736,17 +8813,24 @@ CONFIG_WILCO_EC_TELEMETRY=m # CONFIG_MELLANOX_PLATFORM is not set # CONFIG_SURFACE_PLATFORMS is not set CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_WM831X=m + +# +# Clock driver for ARM Reference designs +# +# CONFIG_ICST is not set +# CONFIG_CLK_SP810 is not set +# end of Clock driver for ARM Reference designs + +CONFIG_LMK04832=m CONFIG_COMMON_CLK_MAX9485=m CONFIG_COMMON_CLK_SI5341=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_SI544=m CONFIG_COMMON_CLK_CDCE706=m CONFIG_COMMON_CLK_CS2000_CP=m -CONFIG_COMMON_CLK_S2MPS11=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_PWM=m @@ -8784,6 +8868,7 @@ CONFIG_INTEL_IOMMU=y CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set CONFIG_HYPERV_IOMMU=y +CONFIG_VIRTIO_IOMMU=m # # Remoteproc drivers @@ -8868,7 +8953,6 @@ CONFIG_EXTCON=y # Extcon Device Drivers # CONFIG_EXTCON_ADC_JACK=m -CONFIG_EXTCON_ARIZONA=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_FSA9480=m CONFIG_EXTCON_GPIO=m @@ -8919,10 +9003,15 @@ CONFIG_BMA400_SPI=m CONFIG_BMC150_ACCEL=m CONFIG_BMC150_ACCEL_I2C=m CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMI088_ACCEL=m +CONFIG_BMI088_ACCEL_SPI=m CONFIG_DA280=m CONFIG_DA311=m CONFIG_DMARD09=m CONFIG_DMARD10=m +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m CONFIG_IIO_ST_ACCEL_3AXIS=m @@ -8944,6 +9033,7 @@ CONFIG_MMA9553=m CONFIG_MXC4005=m CONFIG_MXC6255=m CONFIG_SCA3000=m +CONFIG_SCA3300=m CONFIG_STK8312=m CONFIG_STK8BA50=m # end of Accelerometers @@ -8972,8 +9062,6 @@ CONFIG_AD7887=m CONFIG_AD7923=m CONFIG_AD7949=m CONFIG_AD799X=m -CONFIG_AD9467=m -CONFIG_ADI_AXI_ADC=m CONFIG_AXP20X_ADC=m CONFIG_AXP288_ADC=m CONFIG_CC10001_ADC=m @@ -9015,8 +9103,10 @@ CONFIG_TI_ADC128S052=m CONFIG_TI_ADC161S626=m CONFIG_TI_ADS1015=m CONFIG_TI_ADS7950=m +CONFIG_TI_ADS131E08=m CONFIG_TI_AM335X_ADC=m CONFIG_TI_TLC4541=m +CONFIG_TI_TSC2046=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m CONFIG_VIPERBOARD_ADC=m @@ -9036,6 +9126,12 @@ CONFIG_HMC425=m # end of Amplifiers # +# Capacitance to digital converters +# +CONFIG_AD7150=m +# end of Capacitance to digital converters + +# # Chemical Sensors # CONFIG_ATLAS_PH_SENSOR=m @@ -9051,6 +9147,8 @@ CONFIG_SCD30_I2C=m CONFIG_SCD30_SERIAL=m CONFIG_SENSIRION_SGP30=m CONFIG_SPS30=m +CONFIG_SPS30_I2C=m +CONFIG_SPS30_SERIAL=m CONFIG_VZ89X=m # end of Chemical Sensors @@ -9068,6 +9166,11 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_IIO_MS_SENSORS_I2C=m # +# IIO SCMI Sensors +# +# end of IIO SCMI Sensors + +# # SSP Sensor Common # CONFIG_IIO_SSP_SENSORS_COMMONS=m @@ -9221,6 +9324,9 @@ CONFIG_IIO_ST_LSM6DSX=m CONFIG_IIO_ST_LSM6DSX_I2C=m CONFIG_IIO_ST_LSM6DSX_SPI=m CONFIG_IIO_ST_LSM6DSX_I3C=m +CONFIG_IIO_ST_LSM9DS0=m +CONFIG_IIO_ST_LSM9DS0_I2C=m +CONFIG_IIO_ST_LSM9DS0_SPI=m # end of Inertial measurement units CONFIG_IIO_ADIS_LIB=m @@ -9272,6 +9378,7 @@ CONFIG_TCS3414=m CONFIG_TCS3472=m CONFIG_SENSORS_TSL2563=m CONFIG_TSL2583=m +CONFIG_TSL2591=m CONFIG_TSL2772=m CONFIG_TSL4531=m CONFIG_US5182D=m @@ -9395,6 +9502,7 @@ CONFIG_AS3935=m # # Proximity and distance sensors # +CONFIG_CROS_EC_MKBP_PROXIMITY=m CONFIG_ISL29501=m CONFIG_LIDAR_LITE_V2=m CONFIG_MB1232=m @@ -9426,6 +9534,7 @@ CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_TMP006=m CONFIG_TMP007=m +CONFIG_TMP117=m CONFIG_TSYS01=m CONFIG_TSYS02D=m CONFIG_MAX31856=m @@ -9484,7 +9593,6 @@ CONFIG_IPACK_BUS=m CONFIG_BOARD_TPCI200=m CONFIG_SERIAL_IPOCTAL=m CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_TI_SYSCON=m # @@ -9492,6 +9600,7 @@ CONFIG_RESET_TI_SYSCON=m # CONFIG_GENERIC_PHY=y CONFIG_USB_LGM_PHY=m +CONFIG_PHY_CAN_TRANSCEIVER=m CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_PXA_28NM_HSIC=m CONFIG_PHY_PXA_28NM_USB2=m @@ -9604,9 +9713,12 @@ CONFIG_PM_OPP=y # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set CONFIG_COUNTER=m +CONFIG_INTERRUPT_CNT=m +CONFIG_INTEL_QEP=m CONFIG_MOST=m CONFIG_MOST_USB_HDM=m CONFIG_MOST_CDEV=m +CONFIG_MOST_SND=m # end of Device Drivers # @@ -9707,6 +9819,8 @@ CONFIG_OVERLAY_FS=m # # Caches # +CONFIG_NETFS_SUPPORT=m +# CONFIG_NETFS_STATS is not set CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set @@ -9849,11 +9963,6 @@ CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_FTRACE is not set CONFIG_PSTORE_RAM=m -CONFIG_PSTORE_ZONE=m -CONFIG_PSTORE_BLK=m -CONFIG_PSTORE_BLK_BLKDEV="" -CONFIG_PSTORE_BLK_KMSG_SIZE=64 -CONFIG_PSTORE_BLK_MAX_REASON=2 CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set @@ -9901,7 +10010,7 @@ CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y -CONFIG_NFS_V4_2_SSC_HELPER=m +CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y @@ -10048,6 +10157,7 @@ CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set +CONFIG_SECURITY_LANDLOCK=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y @@ -10077,6 +10187,7 @@ CONFIG_IMA_BLACKLIST_KEYRING=y CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set +CONFIG_IMA_DISABLE_HTABLE=y CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y @@ -10151,6 +10262,7 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m @@ -10478,10 +10590,10 @@ CONFIG_ARCH_STACKWALK=y CONFIG_SBITMAP=y CONFIG_PARMAN=m CONFIG_OBJAGG=m -# CONFIG_STRING_SELFTEST is not set # end of Library routines CONFIG_PLDMFW=y +CONFIG_ASN1_ENCODER=y # # Kernel hacking @@ -10492,6 +10604,7 @@ CONFIG_PLDMFW=y # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set +CONFIG_STACKTRACE_BUILD_ID=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 @@ -10512,8 +10625,9 @@ CONFIG_FRAME_WARN=1024 # CONFIG_HEADERS_INSTALL is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set CONFIG_FRAME_POINTER=y +# CONFIG_VMLINUX_MAP is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options @@ -10704,6 +10818,8 @@ CONFIG_STACK_TRACER=y # CONFIG_IRQSOFF_TRACER is not set CONFIG_SCHED_TRACER=y # CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set CONFIG_MMIOTRACE=y CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y @@ -10713,7 +10829,7 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y @@ -10781,9 +10897,9 @@ CONFIG_FUNCTION_ERROR_INJECTION=y CONFIG_CC_HAS_SANCOV_TRACE_PC=y CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_LKDTM is not set -# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_SORT is not set +# CONFIG_TEST_DIV64 is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_RBTREE_TEST is not set @@ -10793,10 +10909,12 @@ CONFIG_PERCPU_TEST=m # CONFIG_ATOMIC64_SELFTEST is not set CONFIG_ASYNC_RAID6_TEST=m CONFIG_TEST_HEXDUMP=m +# CONFIG_STRING_SELFTEST is not set CONFIG_TEST_STRING_HELPERS=m CONFIG_TEST_STRSCPY=m CONFIG_TEST_KSTRTOX=m CONFIG_TEST_PRINTF=m +CONFIG_TEST_SCANF=m CONFIG_TEST_BITMAP=m CONFIG_TEST_UUID=m CONFIG_TEST_XARRAY=m @@ -10823,6 +10941,8 @@ CONFIG_TEST_OBJAGG=m # CONFIG_TEST_MEMINIT is not set # CONFIG_TEST_FREE_PAGES is not set # CONFIG_TEST_FPU is not set +# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set +CONFIG_ARCH_USE_MEMTEST=y CONFIG_MEMTEST=y # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage diff --git a/gnu/packages/aux-files/linux-libre/5.12-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.14-x86_64.conf index 1705b25d44..844420becd 100644 --- a/gnu/packages/aux-files/linux-libre/5.12-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.14-x86_64.conf @@ -1,11 +1,13 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.12.0 Kernel Configuration +# Linux/x86 5.14.0 Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (Debian 8.3.0-6) 8.3.0" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=80300 CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=23101 CONFIG_LD_IS_BFD=y CONFIG_LD_VERSION=23101 CONFIG_LLD_VERSION=0 @@ -13,6 +15,7 @@ CONFIG_CC_CAN_LINK=y CONFIG_CC_CAN_LINK_STATIC=y CONFIG_CC_HAS_ASM_GOTO=y CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_TABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -98,9 +101,23 @@ CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # end of Timers subsystem +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +# CONFIG_BPF_JIT is not set +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +# CONFIG_BPF_PRELOAD is not set +# end of BPF subsystem + # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set +CONFIG_SCHED_CORE=y # # CPU/Task time and stats accounting @@ -175,6 +192,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_MISC=y # CONFIG_CGROUP_DEBUG is not set CONFIG_SOCK_CGROUP_DATA=y CONFIG_NAMESPACES=y @@ -205,7 +223,6 @@ CONFIG_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y -CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y @@ -230,14 +247,12 @@ CONFIG_AIO=y CONFIG_IO_URING=y CONFIG_ADVISE_SYSCALLS=y CONFIG_HAVE_ARCH_USERFAULTFD_WP=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_BPF_SYSCALL=y -CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y -# CONFIG_BPF_PRELOAD is not set CONFIG_USERFAULTFD=y CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y @@ -288,7 +303,6 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ARCH_HAS_CPU_RELAX=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_FILTER_PGPROT=y CONFIG_HAVE_SETUP_PER_CPU_AREA=y CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y @@ -296,7 +310,6 @@ CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y CONFIG_ARCH_HIBERNATION_POSSIBLE=y CONFIG_ARCH_SUSPEND_POSSIBLE=y CONFIG_ARCH_WANT_GENERAL_HUGETLB=y -CONFIG_ZONE_DMA32=y CONFIG_AUDIT_ARCH=y CONFIG_HAVE_INTEL_TXT=y CONFIG_X86_64_SMP=y @@ -308,7 +321,6 @@ CONFIG_CC_HAS_SANE_STACKPROTECTOR=y # # Processor type and features # -# CONFIG_ZONE_DMA is not set CONFIG_SMP=y CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_X2APIC=y @@ -433,7 +445,6 @@ CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=y CONFIG_X86_CHECK_BIOS_CORRUPTION=y CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y -CONFIG_X86_RESERVE_LOW=64 CONFIG_MTRR=y CONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 @@ -485,12 +496,8 @@ CONFIG_LIVEPATCH=y # end of Processor type and features CONFIG_ARCH_HAS_ADD_PAGES=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y CONFIG_USE_PERCPU_NUMA_NODE_ID=y -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y -CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y -CONFIG_ARCH_ENABLE_THP_MIGRATION=y # # Power management and ACPI options @@ -582,7 +589,10 @@ CONFIG_ACPI_EXTLOG=m CONFIG_ACPI_ADXL=y CONFIG_ACPI_CONFIGFS=m # CONFIG_PMIC_OPREGION is not set +CONFIG_TPS68470_PMIC_OPREGION=y +CONFIG_ACPI_VIOT=y CONFIG_X86_PM_TIMER=y +CONFIG_ACPI_PRMT=y # # CPU Frequency scaling @@ -722,10 +732,12 @@ CONFIG_KVM_COMPAT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_NO_POLL=y CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_HAVE_KVM_PM_NOTIFIER=y CONFIG_VIRTUALIZATION=y CONFIG_KVM=m CONFIG_KVM_WERROR=y CONFIG_KVM_INTEL=m +CONFIG_X86_SGX_KVM=y CONFIG_KVM_AMD=m CONFIG_KVM_AMD_SEV=y CONFIG_KVM_XEN=y @@ -748,6 +760,7 @@ CONFIG_JUMP_LABEL=y # CONFIG_STATIC_CALL_SELFTEST is not set CONFIG_OPTPROBES=y CONFIG_KPROBES_ON_FTRACE=y +CONFIG_UPROBES=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_ARCH_USE_BUILTIN_BSWAP=y CONFIG_KRETPROBES=y @@ -767,6 +780,7 @@ CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_ARCH_HAS_SET_DIRECT_MAP=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y +CONFIG_ARCH_WANTS_NO_INSTR=y CONFIG_HAVE_ASM_MODVERSIONS=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_RSEQ=y @@ -831,6 +845,8 @@ CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y @@ -866,10 +882,12 @@ CONFIG_MODVERSIONS=y CONFIG_ASM_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set -CONFIG_MODULE_COMPRESS=y +# CONFIG_MODULE_COMPRESS_NONE is not set CONFIG_MODULE_COMPRESS_GZIP=y # CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/run/current-system/profile/bin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y @@ -885,9 +903,11 @@ CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set CONFIG_BLK_CMDLINE_PARSER=y CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y # CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_FC_APPID=y CONFIG_BLK_CGROUP_IOCOST=y -CONFIG_BLK_WBT_MQ=y +CONFIG_BLK_CGROUP_IOPRIO=y CONFIG_BLK_DEBUG_FS=y CONFIG_BLK_DEBUG_FS_ZONED=y # CONFIG_BLK_SED_OPAL is not set @@ -974,7 +994,6 @@ CONFIG_COREDUMP=y CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM=y -CONFIG_NEED_MULTIPLE_NODES=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_VMEMMAP=y @@ -982,16 +1001,22 @@ CONFIG_HAVE_FAST_GUP=y CONFIG_NUMA_KEEP_MEMINFO=y CONFIG_MEMORY_ISOLATION=y CONFIG_HAVE_BOOTMEM_INFO_NODE=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTPLUG_SPARSE=y # CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MHP_MEMMAP_ON_MEMORY=y CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_PAGE_REPORTING=y CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_VIRT_TO_BUS=y @@ -1011,6 +1036,7 @@ CONFIG_FRONTSWAP=y CONFIG_CMA=y # CONFIG_CMA_DEBUG is not set # CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 CONFIG_MEM_SOFT_DIRTY=y CONFIG_ZSWAP=y @@ -1034,7 +1060,11 @@ CONFIG_ZSMALLOC=y CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +# CONFIG_ZONE_DMA is not set +CONFIG_ZONE_DMA32=y CONFIG_ZONE_DEVICE=y CONFIG_DEV_PAGEMAP_OPS=y CONFIG_HMM_MIRROR=y @@ -1047,6 +1077,7 @@ CONFIG_ARCH_HAS_PKEYS=y # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_MAPPING_DIRTY_HELPERS=y +CONFIG_SECRETMEM=y # end of Memory Management options CONFIG_NET=y @@ -1192,13 +1223,13 @@ CONFIG_NETFILTER_INGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -CONFIG_NF_LOG_NETDEV=m +CONFIG_NF_LOG_SYSLOG=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y @@ -1272,6 +1303,7 @@ CONFIG_NFT_REJECT_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XTABLES_COMPAT=y # # Xtables combined modules @@ -1519,7 +1551,6 @@ CONFIG_DECNET_NF_GRABULATOR=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m -CONFIG_NF_LOG_BRIDGE=m CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -1596,12 +1627,12 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_BRIDGE_MRP=y CONFIG_BRIDGE_CFM=y -CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_8021Q=m CONFIG_NET_DSA_TAG_AR9331=m CONFIG_NET_DSA_TAG_BRCM_COMMON=m CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m CONFIG_NET_DSA_TAG_BRCM_PREPEND=m CONFIG_NET_DSA_TAG_HELLCREEK=m CONFIG_NET_DSA_TAG_GSWIP=m @@ -1783,6 +1814,8 @@ CONFIG_QRTR_TUN=m CONFIG_QRTR_MHI=m CONFIG_NET_NCSI=y # CONFIG_NCSI_OEM_CMD_GET_MAC is not set +# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set +CONFIG_PCPU_DEV_REFCNT=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_SOCK_RX_QUEUE_MAPPING=y @@ -1791,7 +1824,6 @@ CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y CONFIG_BQL=y -# CONFIG_BPF_JIT is not set # CONFIG_BPF_STREAM_PARSER is not set CONFIG_NET_FLOW_LIMIT=y @@ -1883,6 +1915,7 @@ CONFIG_CAN_MCP251XFD=m CONFIG_CAN_8DEV_USB=m CONFIG_CAN_EMS_USB=m CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m CONFIG_CAN_GS_USB=m CONFIG_CAN_KVASER_USB=m CONFIG_CAN_MCBA_USB=m @@ -1907,6 +1940,7 @@ CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m # CONFIG_BT_LEDS is not set CONFIG_BT_MSFTEXT=y +CONFIG_BT_AOSPEXT=y CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set @@ -1950,6 +1984,7 @@ CONFIG_BT_ATH3K=m CONFIG_BT_MTKSDIO=m CONFIG_BT_MTKUART=m CONFIG_BT_HCIRSI=m +CONFIG_BT_VIRTIO=m # end of Bluetooth device drivers CONFIG_AF_RXRPC=m @@ -2058,12 +2093,12 @@ CONFIG_LWTUNNEL=y CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y +CONFIG_NET_SELFTESTS=y CONFIG_NET_SOCK_MSG=y CONFIG_NET_DEVLINK=y CONFIG_PAGE_POOL=y CONFIG_FAILOVER=y CONFIG_ETHTOOL_NETLINK=y -CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -2155,6 +2190,8 @@ CONFIG_PCI_SW_SWITCHTEC=m CONFIG_CXL_BUS=m CONFIG_CXL_MEM=m # CONFIG_CXL_MEM_RAW_COMMANDS is not set +CONFIG_CXL_ACPI=m +CONFIG_CXL_PMEM=m CONFIG_PCCARD=m CONFIG_PCMCIA=m CONFIG_PCMCIA_LOAD_CIS=y @@ -2234,6 +2271,7 @@ CONFIG_REGMAP_W1=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_REGMAP_SOUNDWIRE=m +CONFIG_REGMAP_SOUNDWIRE_MBQ=m CONFIG_REGMAP_SCCB=m CONFIG_REGMAP_I3C=m CONFIG_REGMAP_SPI_AVMM=m @@ -2284,7 +2322,6 @@ CONFIG_RFD_FTL=m CONFIG_SSFDC=m CONFIG_SM_FTL=m CONFIG_MTD_OOPS=m -CONFIG_MTD_PSTORE=m CONFIG_MTD_SWAP=m # CONFIG_MTD_PARTITIONED_MASTER is not set @@ -2341,6 +2378,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set CONFIG_MTD_DATAFLASH_OTP=y CONFIG_MTD_MCHP23K256=m +CONFIG_MTD_MCHP48L640=m CONFIG_MTD_SST25L=m CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m @@ -2485,7 +2523,6 @@ CONFIG_ZRAM_DEF_COMP_LZORLE=y CONFIG_ZRAM_DEF_COMP="lzo-rle" # CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZRAM_MEMORY_TRACKING is not set -CONFIG_BLK_DEV_UMEM=m CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_CRYPTOLOOP=m @@ -2555,10 +2592,10 @@ CONFIG_DS1682=m CONFIG_VMWARE_BALLOON=m CONFIG_LATTICE_ECP3_CONFIG=m CONFIG_SRAM=y +CONFIG_DW_XDATA_PCIE=m # CONFIG_PCI_ENDPOINT_TEST is not set CONFIG_XILINX_SDFEC=m CONFIG_MISC_RTSX=m -CONFIG_PVPANIC=m CONFIG_C2PORT=m CONFIG_C2PORT_DURAMAR_2150=m @@ -2602,11 +2639,11 @@ CONFIG_MISC_RTSX_PCI=m CONFIG_MISC_RTSX_USB=m CONFIG_HABANA_AI=m CONFIG_UACCE=m +CONFIG_PVPANIC=y +CONFIG_PVPANIC_MMIO=m +CONFIG_PVPANIC_PCI=m # end of Misc devices -CONFIG_HAVE_IDE=y -# CONFIG_IDE is not set - # # SCSI device support # @@ -2688,6 +2725,7 @@ CONFIG_SCSI_MPT3SAS=m CONFIG_SCSI_MPT2SAS_MAX_SGE=128 CONFIG_SCSI_MPT3SAS_MAX_SGE=128 CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_SMARTPQI=m CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD_PCI=m @@ -2740,6 +2778,7 @@ CONFIG_QEDI=m CONFIG_QEDF=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_EFCT=m CONFIG_SCSI_DC395x=m CONFIG_SCSI_AM53C974=m CONFIG_SCSI_WD719X=m @@ -3032,7 +3071,6 @@ CONFIG_ATM_HE_USE_SUNI=y CONFIG_ATM_SOLOS=m CONFIG_CAIF_DRIVERS=y CONFIG_CAIF_TTY=m -CONFIG_CAIF_HSI=m CONFIG_CAIF_VIRTIO=m # @@ -3056,6 +3094,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m CONFIG_NET_DSA_MICROCHIP_KSZ8795=m CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m CONFIG_NET_DSA_MV88E6XXX=m # CONFIG_NET_DSA_MV88E6XXX_PTP is not set CONFIG_NET_DSA_MSCC_SEVILLE=m @@ -3215,6 +3254,8 @@ CONFIG_I40EVF=m CONFIG_ICE=m CONFIG_FM10K=m CONFIG_IGC=m +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_MICROSOFT_MANA=m CONFIG_JME=m CONFIG_NET_VENDOR_MARVELL=y CONFIG_MVMDIO=m @@ -3239,7 +3280,9 @@ CONFIG_MLX5_EN_ARFS=y CONFIG_MLX5_EN_RXNFC=y CONFIG_MLX5_MPFS=y CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_BRIDGE=y CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_CORE_EN_DCB=y # CONFIG_MLX5_CORE_IPOIB is not set CONFIG_MLX5_IPSEC=y @@ -3252,8 +3295,6 @@ CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y CONFIG_MLXSW_PCI=m CONFIG_MLXSW_I2C=m -CONFIG_MLXSW_SWITCHIB=m -CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_MINIMAL=m @@ -3361,6 +3402,7 @@ CONFIG_STMMAC_ETH=m CONFIG_STMMAC_PLATFORM=m CONFIG_DWMAC_GENERIC=m CONFIG_DWMAC_INTEL=m +CONFIG_DWMAC_LOONGSON=m # CONFIG_STMMAC_PCI is not set CONFIG_NET_VENDOR_SUN=y CONFIG_HAPPYMEAL=m @@ -3394,7 +3436,6 @@ CONFIG_NET_VENDOR_XIRCOM=y CONFIG_PCMCIA_XIRC2PS=m CONFIG_FDDI=y CONFIG_DEFXX=m -# CONFIG_DEFXX_MMIO is not set CONFIG_SKFP=m # CONFIG_HIPPI is not set CONFIG_NET_SB1000=m @@ -3427,11 +3468,15 @@ CONFIG_INTEL_XWAY_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_MARVELL_PHY=m CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MEDIATEK_GE_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROCHIP_T1_PHY=m CONFIG_MICROSEMI_PHY=m +CONFIG_MOTORCOMM_PHY=m CONFIG_NATIONAL_PHY=m +CONFIG_NXP_C45_TJA11XX_PHY=m CONFIG_NXP_TJA11XX_PHY=m CONFIG_AT803X_PHY=m CONFIG_QSEMI_PHY=m @@ -3451,6 +3496,8 @@ CONFIG_XILINX_GMII2RGMII=m CONFIG_MICREL_KS8995MA=m CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y +CONFIG_ACPI_MDIO=y CONFIG_MDIO_DEVRES=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_BCM_UNIMAC=m @@ -3863,6 +3910,17 @@ CONFIG_IEEE802154_CA8210=m # CONFIG_IEEE802154_CA8210_DEBUGFS is not set CONFIG_IEEE802154_MCR20A=m # CONFIG_IEEE802154_HWSIM is not set + +# +# Wireless WAN +# +CONFIG_WWAN=y +# CONFIG_WWAN_HWSIM is not set +CONFIG_MHI_WWAN_CTRL=m +CONFIG_RPMSG_WWAN_CTRL=m +CONFIG_IOSM=m +# end of Wireless WAN + CONFIG_XEN_NETDEV_FRONTEND=y CONFIG_XEN_NETDEV_BACKEND=m CONFIG_VMXNET3=m @@ -4016,6 +4074,7 @@ CONFIG_JOYSTICK_WALKERA0701=m CONFIG_JOYSTICK_PSXPAD_SPI=m # CONFIG_JOYSTICK_PSXPAD_SPI_FF is not set CONFIG_JOYSTICK_PXRC=m +CONFIG_JOYSTICK_QWIIC=m CONFIG_JOYSTICK_FSIA6B=m CONFIG_INPUT_TABLET=y CONFIG_TABLET_USB_ACECAD=m @@ -4025,7 +4084,6 @@ CONFIG_TABLET_USB_KBTAB=m CONFIG_TABLET_USB_PEGASUS=m CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=y CONFIG_TOUCHSCREEN_88PM860X=m CONFIG_TOUCHSCREEN_ADS7846=m CONFIG_TOUCHSCREEN_AD7877=m @@ -4057,7 +4115,9 @@ CONFIG_TOUCHSCREEN_EXC3000=m CONFIG_TOUCHSCREEN_FUJITSU=m CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_ILITEK=m CONFIG_TOUCHSCREEN_S6SY761=m CONFIG_TOUCHSCREEN_GUNZE=m CONFIG_TOUCHSCREEN_EKTF2127=m @@ -4069,6 +4129,7 @@ CONFIG_TOUCHSCREEN_MAX11801=m CONFIG_TOUCHSCREEN_MCS5000=m CONFIG_TOUCHSCREEN_MMS114=m CONFIG_TOUCHSCREEN_MELFAS_MIP4=m +CONFIG_TOUCHSCREEN_MSG2638=m CONFIG_TOUCHSCREEN_MTOUCH=m CONFIG_TOUCHSCREEN_INEXIO=m CONFIG_TOUCHSCREEN_MK712=m @@ -4134,6 +4195,7 @@ CONFIG_INPUT_AD714X=m CONFIG_INPUT_AD714X_I2C=m CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATC260X_ONKEY=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_E3X0_BUTTON=m CONFIG_INPUT_PCSPKR=m @@ -4177,6 +4239,7 @@ CONFIG_INPUT_ADXL34X_I2C=m CONFIG_INPUT_ADXL34X_SPI=m CONFIG_INPUT_IMS_PCU=m CONFIG_INPUT_IQS269A=m +CONFIG_INPUT_IQS626A=m CONFIG_INPUT_CMA3000=m CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m @@ -4306,19 +4369,13 @@ CONFIG_SERIAL_MEN_Z135=m CONFIG_SERIAL_MCTRL_GPIO=y CONFIG_SERIAL_NONSTANDARD=y -CONFIG_ROCKETPORT=m -CONFIG_CYCLADES=m -# CONFIG_CYZ_INTR is not set CONFIG_MOXA_INTELLIO=m CONFIG_MOXA_SMARTIO=m CONFIG_SYNCLINK_GT=m -CONFIG_ISI=m CONFIG_N_HDLC=m CONFIG_N_GSM=m CONFIG_NOZOMI=m CONFIG_NULL_TTY=m -CONFIG_TRACE_ROUTER=m -CONFIG_TRACE_SINK=m CONFIG_HVC_DRIVER=y CONFIG_HVC_IRQ=y CONFIG_HVC_XEN=y @@ -4363,10 +4420,7 @@ CONFIG_IPWIRELESS=m CONFIG_MWAVE=m CONFIG_DEVMEM=y -# CONFIG_DEVKMEM is not set CONFIG_NVRAM=m -CONFIG_RAW_DRIVER=m -CONFIG_MAX_RAW_DEVS=256 CONFIG_DEVPORT=y CONFIG_HPET=y CONFIG_HPET_MMAP=y @@ -4392,8 +4446,10 @@ CONFIG_TCG_TIS_ST33ZP24=m CONFIG_TCG_TIS_ST33ZP24_I2C=m CONFIG_TCG_TIS_ST33ZP24_SPI=m CONFIG_TELCLOCK=m +CONFIG_XILLYBUS_CLASS=m CONFIG_XILLYBUS=m CONFIG_XILLYBUS_PCIE=m +CONFIG_XILLYUSB=m # end of Character devices # CONFIG_RANDOM_TRUST_CPU is not set @@ -4481,6 +4537,7 @@ CONFIG_I2C_XILINX=m # CONFIG_I2C_DIOLAN_U2C=m CONFIG_I2C_DLN2=m +CONFIG_I2C_CP2615=m CONFIG_I2C_PARPORT=m CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m @@ -4517,6 +4574,8 @@ CONFIG_SPI_MEM=y # SPI Master Controller Drivers # CONFIG_SPI_ALTERA=m +CONFIG_SPI_ALTERA_CORE=m +CONFIG_SPI_ALTERA_DFL=m CONFIG_SPI_AXI_SPI_ENGINE=m CONFIG_SPI_BITBANG=m CONFIG_SPI_BUTTERFLY=m @@ -4556,6 +4615,7 @@ CONFIG_SPI_TLE62X0=m # CONFIG_SPI_SLAVE is not set CONFIG_SPI_DYNAMIC=y CONFIG_SPMI=m +# CONFIG_SPMI_HISI3670 is not set CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y @@ -4703,6 +4763,7 @@ CONFIG_GPIO_TPS65086=m CONFIG_GPIO_TPS6586X=y CONFIG_GPIO_TPS65910=y CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=y CONFIG_GPIO_TQMX86=m CONFIG_GPIO_TWL4030=m CONFIG_GPIO_TWL6040=m @@ -4785,6 +4846,7 @@ CONFIG_W1_SLAVE_DS28E17=m # end of 1-wire Slaves CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_ATC260X=m # CONFIG_POWER_RESET_MT6323 is not set CONFIG_POWER_RESET_RESTART=y CONFIG_POWER_SUPPLY=y @@ -4852,11 +4914,14 @@ CONFIG_CHARGER_BQ256XX=m CONFIG_CHARGER_SMB347=m CONFIG_CHARGER_TPS65090=m CONFIG_BATTERY_GAUGE_LTC2941=m +CONFIG_BATTERY_GOLDFISH=m CONFIG_BATTERY_RT5033=m CONFIG_CHARGER_RT9455=m CONFIG_CHARGER_CROS_USBPD=m CONFIG_CHARGER_BD99954=m CONFIG_CHARGER_WILCO=m +CONFIG_BATTERY_SURFACE=m +CONFIG_CHARGER_SURFACE=m CONFIG_HWMON=y CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set @@ -4890,7 +4955,6 @@ CONFIG_SENSORS_AXI_FAN_CONTROL=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m -CONFIG_SENSORS_AMD_ENERGY=m CONFIG_SENSORS_APPLESMC=m CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASPEED=m @@ -4980,15 +5044,20 @@ CONFIG_SENSORS_NCT6775=m CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_NCT7904=m CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NZXT_KRAKEN2=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1266=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_FSP_3Y=m CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_DPS920AB=m CONFIG_SENSORS_INSPUR_IPSPS=m CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR36021=m CONFIG_SENSORS_IR38064=m CONFIG_SENSORS_IRPS5401=m CONFIG_SENSORS_ISL68137=m @@ -4996,6 +5065,7 @@ CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_LTC2978_REGULATOR=y CONFIG_SENSORS_LTC3815=m +CONFIG_SENSORS_MAX15301=m CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX16601=m CONFIG_SENSORS_MAX20730=m @@ -5003,10 +5073,13 @@ CONFIG_SENSORS_MAX20751=m CONFIG_SENSORS_MAX31785=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_MP2888=m CONFIG_SENSORS_MP2975=m +CONFIG_SENSORS_PIM4328=m CONFIG_SENSORS_PM6764TR=m CONFIG_SENSORS_PXE1610=m CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_STPDDC60=m CONFIG_SENSORS_TPS40422=m CONFIG_SENSORS_TPS53679=m CONFIG_SENSORS_UCD9000=m @@ -5017,6 +5090,7 @@ CONFIG_SENSORS_SBTSI=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHT3x=m +CONFIG_SENSORS_SHT4x=m CONFIG_SENSORS_SHTC1=m CONFIG_SENSORS_SIS5595=m CONFIG_SENSORS_DME1737=m @@ -5107,6 +5181,7 @@ CONFIG_PROC_THERMAL_MMIO_RAPL=m CONFIG_INTEL_BXT_PMIC_THERMAL=m CONFIG_INTEL_PCH_THERMAL=m +CONFIG_INTEL_TCC_COOLING=m # end of Intel thermal drivers CONFIG_GENERIC_ADC_THERMAL=m @@ -5116,6 +5191,7 @@ CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 CONFIG_WATCHDOG_SYSFS=y +CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT=y # # Watchdog Pretimeout Governors @@ -5291,16 +5367,13 @@ CONFIG_PCF50633_ADC=m CONFIG_PCF50633_GPIO=m CONFIG_UCB1400_CORE=m CONFIG_MFD_RDC321X=m +CONFIG_MFD_RT4831=m CONFIG_MFD_RT5033=m CONFIG_MFD_RC5T583=y -CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m CONFIG_MFD_SM501_GPIO=y CONFIG_MFD_SKY81452=m -CONFIG_ABX500_CORE=y -CONFIG_AB3100_CORE=y -CONFIG_AB3100_OTP=m CONFIG_MFD_SYSCON=y CONFIG_MFD_TI_AM335X_TSCADC=m CONFIG_MFD_LP3943=m @@ -5312,7 +5385,6 @@ CONFIG_TPS65010=m CONFIG_TPS6507X=m CONFIG_MFD_TPS65086=m CONFIG_MFD_TPS65090=y -# CONFIG_MFD_TPS68470 is not set CONFIG_MFD_TI_LP873X=m CONFIG_MFD_TPS6586X=y CONFIG_MFD_TPS65910=y @@ -5327,7 +5399,7 @@ CONFIG_MFD_WL1273_CORE=m CONFIG_MFD_LM3533=m CONFIG_MFD_TQMX86=m CONFIG_MFD_VX855=m -CONFIG_MFD_ARIZONA=y +CONFIG_MFD_ARIZONA=m CONFIG_MFD_ARIZONA_I2C=m CONFIG_MFD_ARIZONA_SPI=m CONFIG_MFD_CS47L24=y @@ -5342,6 +5414,8 @@ CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y CONFIG_MFD_WM8994=m +CONFIG_MFD_ATC260X=m +CONFIG_MFD_ATC260X_I2C=m CONFIG_RAVE_SP_CORE=m CONFIG_MFD_INTEL_M10_BMC=m # end of Multifunction device drivers @@ -5360,6 +5434,7 @@ CONFIG_REGULATOR_AAT2870=m CONFIG_REGULATOR_ARIZONA_LDO1=m CONFIG_REGULATOR_ARIZONA_MICSUPP=m CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_ATC260X=m CONFIG_REGULATOR_AXP20X=m CONFIG_REGULATOR_BCM590XX=m CONFIG_REGULATOR_BD9571MWV=m @@ -5385,6 +5460,7 @@ CONFIG_REGULATOR_MAX14577=m CONFIG_REGULATOR_MAX1586=m CONFIG_REGULATOR_MAX8649=m CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8893=m CONFIG_REGULATOR_MAX8907=m CONFIG_REGULATOR_MAX8925=m CONFIG_REGULATOR_MAX8952=m @@ -5400,6 +5476,7 @@ CONFIG_REGULATOR_MT6311=m CONFIG_REGULATOR_MT6315=m CONFIG_REGULATOR_MT6323=m CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6359=m CONFIG_REGULATOR_MT6360=m CONFIG_REGULATOR_MT6397=m CONFIG_REGULATOR_PALMAS=m @@ -5415,11 +5492,11 @@ CONFIG_REGULATOR_QCOM_USB_VBUS=m CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m CONFIG_REGULATOR_RC5T583=m CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m CONFIG_REGULATOR_RTMV20=m -CONFIG_REGULATOR_S2MPA01=m -CONFIG_REGULATOR_S2MPS11=m -CONFIG_REGULATOR_S5M8767=m CONFIG_REGULATOR_SKY81452=m CONFIG_REGULATOR_SLG51000=m CONFIG_REGULATOR_TPS51632=m @@ -5523,6 +5600,7 @@ CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FLASH_LED_CLASS=m CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_ASYNC=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -5553,7 +5631,6 @@ CONFIG_DVB_DYNAMIC_MINORS=y # # Media drivers # -CONFIG_TTPCI_EEPROM=m CONFIG_MEDIA_USB_SUPPORT=y # @@ -5731,7 +5808,6 @@ CONFIG_VIDEO_TW686X=m # Media capture/analog TV support # CONFIG_VIDEO_IVTV=m -# CONFIG_VIDEO_IVTV_DEPRECATED_IOCTLS is not set CONFIG_VIDEO_IVTV_ALSA=m CONFIG_VIDEO_FB_IVTV=m # CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set @@ -5769,14 +5845,10 @@ CONFIG_VIDEO_COBALT=m # # Media digital TV PCI Adapters # -CONFIG_DVB_AV7110_IR=y -CONFIG_DVB_AV7110=m -CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m CONFIG_DVB_BUDGET=m CONFIG_DVB_BUDGET_CI=m CONFIG_DVB_BUDGET_AV=m -CONFIG_DVB_BUDGET_PATCH=m CONFIG_DVB_B2C2_FLEXCOP_PCI=m # CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set CONFIG_DVB_PLUTO2=m @@ -5823,6 +5895,7 @@ CONFIG_MEDIA_COMMON_OPTIONS=y # CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m +CONFIG_TTPCI_EEPROM=m CONFIG_CYPRESS_FIRMWARE=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m @@ -5991,6 +6064,7 @@ CONFIG_VIDEO_ST_MIPID02=m CONFIG_VIDEO_APTINA_PLL=m CONFIG_VIDEO_CCS_PLL=m CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_IMX208=m CONFIG_VIDEO_IMX214=m CONFIG_VIDEO_IMX219=m CONFIG_VIDEO_IMX258=m @@ -6180,7 +6254,6 @@ CONFIG_DVB_TDA10071=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP8870=m CONFIG_DVB_SP887X=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m @@ -6311,7 +6384,6 @@ CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=m -CONFIG_DRM_KMS_FB_HELPER=y # CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set CONFIG_DRM_FBDEV_EMULATION=y CONFIG_DRM_FBDEV_OVERALLOC=100 @@ -6346,7 +6418,6 @@ CONFIG_DRM_AMDGPU=m # CONFIG_DRM_AMDGPU_SI is not set # CONFIG_DRM_AMDGPU_CIK is not set CONFIG_DRM_AMDGPU_USERPTR=y -# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set # # ACP (Audio CoProcessor) Configuration @@ -6362,6 +6433,7 @@ CONFIG_DRM_AMD_DC_DCN=y # CONFIG_DRM_AMD_DC_HDCP is not set CONFIG_DRM_AMD_DC_SI=y # CONFIG_DEBUG_KERNEL_DC is not set +CONFIG_DRM_AMD_SECURE_DISPLAY=y # end of Display Engine Configuration # CONFIG_HSA_AMD is not set @@ -6397,6 +6469,7 @@ CONFIG_DRM_I915_USERPTR=y # # drm/i915 Profile Guided Optimisation # +CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 CONFIG_DRM_I915_FENCE_TIMEOUT=10000 CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 @@ -6411,7 +6484,6 @@ CONFIG_DRM_VGEM=m CONFIG_DRM_VMWGFX=m CONFIG_DRM_VMWGFX_FBCON=y CONFIG_DRM_GMA500=m -CONFIG_DRM_GMA600=y CONFIG_DRM_UDL=m CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set @@ -6439,6 +6511,7 @@ CONFIG_DRM_ANALOGIX_DP=m # CONFIG_DRM_ETNAVIV is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_GM12U320=m +CONFIG_DRM_SIMPLEDRM=m CONFIG_TINYDRM_HX8357D=m CONFIG_TINYDRM_ILI9225=m CONFIG_TINYDRM_ILI9341=m @@ -6450,6 +6523,8 @@ CONFIG_TINYDRM_ST7735R=m CONFIG_DRM_XEN=y CONFIG_DRM_XEN_FRONTEND=m CONFIG_DRM_VBOXVIDEO=m +CONFIG_DRM_GUD=m +CONFIG_DRM_HYPERV=m # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y @@ -6560,6 +6635,7 @@ CONFIG_FB_MB862XX_PCI_GDC=y CONFIG_FB_MB862XX_I2C=y CONFIG_FB_HYPERV=m CONFIG_FB_SIMPLE=y +CONFIG_FB_SSD1307=m CONFIG_FB_SM712=m # end of Frame buffer Devices @@ -6589,6 +6665,7 @@ CONFIG_BACKLIGHT_DA9052=m CONFIG_BACKLIGHT_MAX8925=m CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RT4831=m CONFIG_BACKLIGHT_SAHARA=m CONFIG_BACKLIGHT_WM831X=m CONFIG_BACKLIGHT_ADP5520=m @@ -6664,6 +6741,7 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_CTL_LED=m CONFIG_SND_SEQUENCER=m CONFIG_SND_SEQ_DUMMY=m # CONFIG_SND_SEQUENCER_OSS is not set @@ -6782,7 +6860,7 @@ CONFIG_SND_HDA_DSP_LOADER=y CONFIG_SND_HDA_COMPONENT=y CONFIG_SND_HDA_I915=y CONFIG_SND_HDA_EXT_CORE=m -CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_HDA_PREALLOC_SIZE=0 CONFIG_SND_INTEL_NHLT=y CONFIG_SND_INTEL_DSP_CONFIG=m CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m @@ -6856,6 +6934,7 @@ CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_FSL_MICFIL=m CONFIG_SND_SOC_FSL_EASRC=m CONFIG_SND_SOC_FSL_XCVR=m +CONFIG_SND_SOC_FSL_RPMSG=m CONFIG_SND_SOC_IMX_AUDMUX=m # end of SoC Audio for Freescale CPUs @@ -6883,6 +6962,8 @@ CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m CONFIG_SND_SOC_ACPI_INTEL_MATCH=m CONFIG_SND_SOC_INTEL_MACH=y # CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m @@ -6915,6 +6996,7 @@ CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m @@ -7080,7 +7162,9 @@ CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m CONFIG_SND_SOC_RT1011=m CONFIG_SND_SOC_RT1015=m +CONFIG_SND_SOC_RT1015P=m CONFIG_SND_SOC_RT1308_SDW=m +CONFIG_SND_SOC_RT1316_SDW=m CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5514_SPI=m CONFIG_SND_SOC_RT5616=m @@ -7101,8 +7185,10 @@ CONFIG_SND_SOC_RT700=m CONFIG_SND_SOC_RT700_SDW=m CONFIG_SND_SOC_RT711=m CONFIG_SND_SOC_RT711_SDW=m +CONFIG_SND_SOC_RT711_SDCA_SDW=m CONFIG_SND_SOC_RT715=m CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_RT715_SDCA_SDW=m CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SI476X=m CONFIG_SND_SOC_SIGMADSP=m @@ -7112,6 +7198,7 @@ CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m CONFIG_SND_SOC_SIMPLE_MUX=m CONFIG_SND_SOC_SPDIF=m CONFIG_SND_SOC_SSM2305=m +CONFIG_SND_SOC_SSM2518=m CONFIG_SND_SOC_SSM2602=m CONFIG_SND_SOC_SSM2602_SPI=m CONFIG_SND_SOC_SSM2602_I2C=m @@ -7129,6 +7216,7 @@ CONFIG_SND_SOC_TAS5720=m CONFIG_SND_SOC_TAS6424=m CONFIG_SND_SOC_TDA7419=m CONFIG_SND_SOC_TFA9879=m +CONFIG_SND_SOC_TFA989X=m CONFIG_SND_SOC_TLV320AIC23=m CONFIG_SND_SOC_TLV320AIC23_I2C=m CONFIG_SND_SOC_TLV320AIC23_SPI=m @@ -7137,11 +7225,15 @@ CONFIG_SND_SOC_TLV320AIC32X4=m CONFIG_SND_SOC_TLV320AIC32X4_I2C=m CONFIG_SND_SOC_TLV320AIC32X4_SPI=m CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m CONFIG_SND_SOC_TLV320ADCX140=m CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_TSCS42XX=m CONFIG_SND_SOC_TSCS454=m CONFIG_SND_SOC_UDA1334=m +CONFIG_SND_SOC_WCD938X=m +CONFIG_SND_SOC_WCD938X_SDW=m CONFIG_SND_SOC_WM5102=m CONFIG_SND_SOC_WM8510=m CONFIG_SND_SOC_WM8523=m @@ -7169,7 +7261,6 @@ CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m CONFIG_SND_SOC_WSA881X=m CONFIG_SND_SOC_ZL38060=m -CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_MAX9759=m CONFIG_SND_SOC_MT6351=m CONFIG_SND_SOC_MT6358=m @@ -7192,6 +7283,7 @@ CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m CONFIG_SND_XEN_FRONTEND=m +CONFIG_SND_VIRTIO=m CONFIG_AC97_BUS=m # @@ -7234,6 +7326,7 @@ CONFIG_HID_ELAN=m CONFIG_HID_ELECOM=m CONFIG_HID_ELO=m CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m CONFIG_HID_GEMBIRD=m CONFIG_HID_GFRM=m CONFIG_HID_GLORIOUS=m @@ -7291,6 +7384,7 @@ CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m CONFIG_HID_SONY=m CONFIG_SONY_FF=y CONFIG_HID_SPEEDLINK=m @@ -7357,6 +7451,15 @@ CONFIG_INTEL_ISH_HID=m # CONFIG_AMD_SFH_HID=m # end of AMD SFH HID Support + +# +# Surface System Aggregator Module HID support +# +CONFIG_SURFACE_HID=m +CONFIG_SURFACE_KBD=m +# end of Surface System Aggregator Module HID support + +CONFIG_SURFACE_HID_CORE=m # end of HID support CONFIG_USB_OHCI_LITTLE_ENDIAN=y @@ -7740,8 +7843,8 @@ CONFIG_TYPEC_FUSB302=m CONFIG_TYPEC_UCSI=m CONFIG_UCSI_CCG=m CONFIG_UCSI_ACPI=m -CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_HD3SS3220=m CONFIG_TYPEC_STUSB160X=m # @@ -7851,6 +7954,7 @@ CONFIG_LEDS_PWM=m CONFIG_LEDS_REGULATOR=m CONFIG_LEDS_BD2802=m CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_LT3593=m CONFIG_LEDS_ADP5520=m CONFIG_LEDS_MC13783=m CONFIG_LEDS_TCA6507=m @@ -7902,11 +8006,6 @@ CONFIG_LEDS_TRIGGER_NETDEV=m CONFIG_LEDS_TRIGGER_PATTERN=m CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_TTY=m - -# -# LED Blink -# -CONFIG_LEDS_BLINK=y # CONFIG_ACCESSIBILITY is not set CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m @@ -7922,7 +8021,7 @@ CONFIG_INFINIBAND_QIB=m CONFIG_INFINIBAND_QIB_DCA=y CONFIG_INFINIBAND_CXGB4=m CONFIG_INFINIBAND_EFA=m -CONFIG_INFINIBAND_I40IW=m +CONFIG_INFINIBAND_IRDMA=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m CONFIG_INFINIBAND_OCRDMA=m @@ -8035,7 +8134,6 @@ CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_RV3028=m CONFIG_RTC_DRV_RV3032=m CONFIG_RTC_DRV_RV8803=m -CONFIG_RTC_DRV_S5M=m CONFIG_RTC_DRV_SD3078=m # @@ -8110,6 +8208,7 @@ CONFIG_RTC_DRV_MT6397=m # HID Sensor RTC drivers # CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_GOLDFISH=m CONFIG_RTC_DRV_WILCO_EC=m CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -8124,9 +8223,9 @@ CONFIG_ALTERA_MSGDMA=m CONFIG_INTEL_IDMA64=m CONFIG_INTEL_IDXD=m CONFIG_INTEL_IDXD_SVM=y +CONFIG_INTEL_IDXD_PERFMON=y CONFIG_INTEL_IOATDMA=m CONFIG_PLX_DMA=m -CONFIG_XILINX_ZYNQMP_DPDMA=m CONFIG_QCOM_HIDMA_MGMT=m CONFIG_QCOM_HIDMA=m CONFIG_DW_DMAC_CORE=m @@ -8188,6 +8287,7 @@ CONFIG_UIO_NETX=m CONFIG_UIO_PRUSS=m CONFIG_UIO_MF624=m CONFIG_UIO_HV_GENERIC=m +CONFIG_UIO_DFL=m CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO_VIRQFD=m CONFIG_VFIO=m @@ -8198,7 +8298,6 @@ CONFIG_VFIO_PCI_MMAP=y CONFIG_VFIO_PCI_INTX=y CONFIG_VFIO_PCI_IGD=y CONFIG_VFIO_MDEV=m -CONFIG_VFIO_MDEV_DEVICE=m CONFIG_IRQ_BYPASS_MANAGER=m CONFIG_VIRT_DRIVERS=y CONFIG_VBOXGUEST=m @@ -8221,6 +8320,7 @@ CONFIG_VDPA=m CONFIG_IFCVF=m CONFIG_MLX5_VDPA=y CONFIG_MLX5_VDPA_NET=m +CONFIG_VP_VDPA=m CONFIG_VHOST_IOTLB=m CONFIG_VHOST_RING=m CONFIG_VHOST=m @@ -8275,8 +8375,6 @@ CONFIG_XEN_UNPOPULATED_ALLOC=y # end of Xen driver support # CONFIG_GREYBUS is not set -CONFIG_STAGING=y -CONFIG_PRISM2_USB=m CONFIG_COMEDI=m # CONFIG_COMEDI_DEBUG is not set CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 @@ -8415,6 +8513,9 @@ CONFIG_COMEDI_NI_LABPC=m CONFIG_COMEDI_NI_LABPC_ISADMA=m CONFIG_COMEDI_NI_TIO=m CONFIG_COMEDI_NI_ROUTING=m +# CONFIG_COMEDI_TESTS is not set +CONFIG_STAGING=y +CONFIG_PRISM2_USB=m CONFIG_RTL8192U=m CONFIG_RTLLIB=m CONFIG_RTLLIB_CRYPTO_CCMP=m @@ -8458,7 +8559,6 @@ CONFIG_ADT7316_I2C=m # # Capacitance to digital converters # -CONFIG_AD7150=m CONFIG_AD7746=m # end of Capacitance to digital converters @@ -8495,6 +8595,11 @@ CONFIG_STAGING_MEDIA=y CONFIG_INTEL_ATOMISP=y # CONFIG_VIDEO_ZORAN is not set CONFIG_VIDEO_IPU3_IMGU=m +CONFIG_DVB_AV7110_IR=y +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_SP8870=m # # Android @@ -8545,29 +8650,13 @@ CONFIG_FB_TFT_UPD161704=m CONFIG_FB_TFT_WATTEROTT=m CONFIG_MOST_COMPONENTS=m CONFIG_MOST_NET=m -CONFIG_MOST_SOUND=m CONFIG_MOST_VIDEO=m CONFIG_MOST_I2C=m CONFIG_KS7010=m # CONFIG_PI433 is not set - -# -# Gasket devices -# -CONFIG_STAGING_GASKET_FRAMEWORK=m -CONFIG_STAGING_APEX_DRIVER=m -# end of Gasket devices - CONFIG_FIELDBUS_DEV=m -# CONFIG_KPC2000 is not set CONFIG_QLGE=m -CONFIG_WIMAX=m -CONFIG_WIMAX_DEBUG_LEVEL=8 -CONFIG_WIMAX_I2400M=m -CONFIG_WIMAX_I2400M_USB=m -CONFIG_WIMAX_I2400M_DEBUG_LEVEL=8 CONFIG_WFX=m -# CONFIG_SPMI_HISI3670 is not set CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACPI_WMI=m CONFIG_WMI_BMOF=m @@ -8577,10 +8666,12 @@ CONFIG_INTEL_WMI_THUNDERBOLT=m CONFIG_MXM_WMI=m CONFIG_PEAQ_WMI=m CONFIG_XIAOMI_WMI=m +CONFIG_GIGABYTE_WMI=m CONFIG_ACERHDF=m CONFIG_ACER_WIRELESS=m CONFIG_ACER_WMI=m CONFIG_AMD_PMC=m +CONFIG_ADV_SWBUTTON=m CONFIG_APPLE_GMUX=m CONFIG_ASUS_LAPTOP=m CONFIG_ASUS_WIRELESS=m @@ -8599,6 +8690,7 @@ CONFIG_DELL_SMBIOS_WMI=y CONFIG_DELL_SMBIOS_SMM=y CONFIG_DELL_SMO8800=m CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_PRIVACY=y CONFIG_DELL_WMI_AIO=m CONFIG_DELL_WMI_DESCRIPTOR=m CONFIG_DELL_WMI_LED=m @@ -8608,7 +8700,7 @@ CONFIG_FUJITSU_LAPTOP=m CONFIG_FUJITSU_TABLET=m CONFIG_GPD_POCKET_FAN=m CONFIG_HP_ACCEL=m -CONFIG_HP_WIRELESS=m +CONFIG_WIRELESS_HOTKEY=m CONFIG_HP_WMI=m CONFIG_IBM_RTL=m CONFIG_IDEAPAD_LAPTOP=m @@ -8620,8 +8712,11 @@ CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y # CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set CONFIG_THINKPAD_ACPI_VIDEO=y CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y -CONFIG_INTEL_ATOMISP2_LED=m +CONFIG_THINKPAD_LMI=m +CONFIG_X86_PLATFORM_DRIVERS_INTEL=y CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_SKL_INT3472=m +CONFIG_INTEL_ATOMISP2_LED=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_MENLOW=m @@ -8647,6 +8742,7 @@ CONFIG_TOPSTAR_LAPTOP=m CONFIG_I2C_MULTI_INSTANTIATE=m # CONFIG_MLX_PLATFORM is not set # CONFIG_TOUCHSCREEN_DMI is not set +CONFIG_FW_ATTR_CLASS=m CONFIG_INTEL_IPS=m CONFIG_INTEL_RST=m CONFIG_INTEL_SMARTCONNECT=m @@ -8704,24 +8800,34 @@ CONFIG_SURFACE_3_BUTTON=m CONFIG_SURFACE_3_POWER_OPREGION=m CONFIG_SURFACE_ACPI_NOTIFY=m # CONFIG_SURFACE_AGGREGATOR_CDEV is not set +CONFIG_SURFACE_AGGREGATOR_REGISTRY=m +CONFIG_SURFACE_DTX=m CONFIG_SURFACE_GPE=m CONFIG_SURFACE_HOTPLUG=m +CONFIG_SURFACE_PLATFORM_PROFILE=m CONFIG_SURFACE_PRO3_BUTTON=m CONFIG_SURFACE_AGGREGATOR=m CONFIG_SURFACE_AGGREGATOR_BUS=y # CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y CONFIG_COMMON_CLK_WM831X=m + +# +# Clock driver for ARM Reference designs +# +# CONFIG_ICST is not set +# CONFIG_CLK_SP810 is not set +# end of Clock driver for ARM Reference designs + +CONFIG_LMK04832=m CONFIG_COMMON_CLK_MAX9485=m CONFIG_COMMON_CLK_SI5341=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_SI544=m CONFIG_COMMON_CLK_CDCE706=m CONFIG_COMMON_CLK_CS2000_CP=m -CONFIG_COMMON_CLK_S2MPS11=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_PWM=m @@ -8753,6 +8859,7 @@ CONFIG_IOMMU_IO_PGTABLE=y # CONFIG_IOMMU_DEBUGFS is not set # CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_SVA_LIB=y CONFIG_AMD_IOMMU=y CONFIG_AMD_IOMMU_V2=m CONFIG_DMAR_TABLE=y @@ -8763,6 +8870,7 @@ CONFIG_INTEL_IOMMU_FLOPPY_WA=y # CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set CONFIG_IRQ_REMAP=y CONFIG_HYPERV_IOMMU=y +CONFIG_VIRTIO_IOMMU=m # # Remoteproc drivers @@ -8855,7 +8963,6 @@ CONFIG_EXTCON=y # Extcon Device Drivers # CONFIG_EXTCON_ADC_JACK=m -CONFIG_EXTCON_ARIZONA=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_FSA9480=m CONFIG_EXTCON_GPIO=m @@ -8906,10 +9013,15 @@ CONFIG_BMA400_SPI=m CONFIG_BMC150_ACCEL=m CONFIG_BMC150_ACCEL_I2C=m CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMI088_ACCEL=m +CONFIG_BMI088_ACCEL_SPI=m CONFIG_DA280=m CONFIG_DA311=m CONFIG_DMARD09=m CONFIG_DMARD10=m +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m CONFIG_IIO_ST_ACCEL_3AXIS=m @@ -8931,6 +9043,7 @@ CONFIG_MMA9553=m CONFIG_MXC4005=m CONFIG_MXC6255=m CONFIG_SCA3000=m +CONFIG_SCA3300=m CONFIG_STK8312=m CONFIG_STK8BA50=m # end of Accelerometers @@ -8959,8 +9072,6 @@ CONFIG_AD7887=m CONFIG_AD7923=m CONFIG_AD7949=m CONFIG_AD799X=m -CONFIG_AD9467=m -CONFIG_ADI_AXI_ADC=m CONFIG_AXP20X_ADC=m CONFIG_AXP288_ADC=m CONFIG_CC10001_ADC=m @@ -9002,8 +9113,10 @@ CONFIG_TI_ADC128S052=m CONFIG_TI_ADC161S626=m CONFIG_TI_ADS1015=m CONFIG_TI_ADS7950=m +CONFIG_TI_ADS131E08=m CONFIG_TI_AM335X_ADC=m CONFIG_TI_TLC4541=m +CONFIG_TI_TSC2046=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m CONFIG_VIPERBOARD_ADC=m @@ -9023,6 +9136,12 @@ CONFIG_HMC425=m # end of Amplifiers # +# Capacitance to digital converters +# +CONFIG_AD7150=m +# end of Capacitance to digital converters + +# # Chemical Sensors # CONFIG_ATLAS_PH_SENSOR=m @@ -9038,6 +9157,8 @@ CONFIG_SCD30_I2C=m CONFIG_SCD30_SERIAL=m CONFIG_SENSIRION_SGP30=m CONFIG_SPS30=m +CONFIG_SPS30_I2C=m +CONFIG_SPS30_SERIAL=m CONFIG_VZ89X=m # end of Chemical Sensors @@ -9055,6 +9176,11 @@ CONFIG_HID_SENSOR_IIO_TRIGGER=m CONFIG_IIO_MS_SENSORS_I2C=m # +# IIO SCMI Sensors +# +# end of IIO SCMI Sensors + +# # SSP Sensor Common # CONFIG_IIO_SSP_SENSORS_COMMONS=m @@ -9208,6 +9334,9 @@ CONFIG_IIO_ST_LSM6DSX=m CONFIG_IIO_ST_LSM6DSX_I2C=m CONFIG_IIO_ST_LSM6DSX_SPI=m CONFIG_IIO_ST_LSM6DSX_I3C=m +CONFIG_IIO_ST_LSM9DS0=m +CONFIG_IIO_ST_LSM9DS0_I2C=m +CONFIG_IIO_ST_LSM9DS0_SPI=m # end of Inertial measurement units CONFIG_IIO_ADIS_LIB=m @@ -9259,6 +9388,7 @@ CONFIG_TCS3414=m CONFIG_TCS3472=m CONFIG_SENSORS_TSL2563=m CONFIG_TSL2583=m +CONFIG_TSL2591=m CONFIG_TSL2772=m CONFIG_TSL4531=m CONFIG_US5182D=m @@ -9382,6 +9512,7 @@ CONFIG_AS3935=m # # Proximity and distance sensors # +CONFIG_CROS_EC_MKBP_PROXIMITY=m CONFIG_ISL29501=m CONFIG_LIDAR_LITE_V2=m CONFIG_MB1232=m @@ -9413,6 +9544,7 @@ CONFIG_MLX90614=m CONFIG_MLX90632=m CONFIG_TMP006=m CONFIG_TMP007=m +CONFIG_TMP117=m CONFIG_TSYS01=m CONFIG_TSYS02D=m CONFIG_MAX31856=m @@ -9473,7 +9605,6 @@ CONFIG_IPACK_BUS=m CONFIG_BOARD_TPCI200=m CONFIG_SERIAL_IPOCTAL=m CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_BRCMSTB_RESCAL is not set CONFIG_RESET_TI_SYSCON=m # @@ -9481,6 +9612,7 @@ CONFIG_RESET_TI_SYSCON=m # CONFIG_GENERIC_PHY=y CONFIG_USB_LGM_PHY=m +CONFIG_PHY_CAN_TRANSCEIVER=m CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_PXA_28NM_HSIC=m CONFIG_PHY_PXA_28NM_USB2=m @@ -9604,9 +9736,12 @@ CONFIG_UNISYS_VISORBUS=m # CONFIG_SLIMBUS is not set # CONFIG_INTERCONNECT is not set CONFIG_COUNTER=m +CONFIG_INTERRUPT_CNT=m +CONFIG_INTEL_QEP=m CONFIG_MOST=m CONFIG_MOST_USB_HDM=m CONFIG_MOST_CDEV=m +CONFIG_MOST_SND=m # end of Device Drivers # @@ -9709,6 +9844,8 @@ CONFIG_OVERLAY_FS=m # # Caches # +CONFIG_NETFS_SUPPORT=m +# CONFIG_NETFS_STATS is not set CONFIG_FSCACHE=m CONFIG_FSCACHE_STATS=y # CONFIG_FSCACHE_HISTOGRAM is not set @@ -9763,6 +9900,8 @@ CONFIG_TMPFS_XATTR=y # CONFIG_TMPFS_INODE64 is not set CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_HUGETLB_PAGE_FREE_VMEMMAP=y +CONFIG_HUGETLB_PAGE_FREE_VMEMMAP_DEFAULT_ON=y CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=m @@ -9853,11 +9992,6 @@ CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_FTRACE is not set CONFIG_PSTORE_RAM=m -CONFIG_PSTORE_ZONE=m -CONFIG_PSTORE_BLK=m -CONFIG_PSTORE_BLK_BLKDEV="" -CONFIG_PSTORE_BLK_KMSG_SIZE=64 -CONFIG_PSTORE_BLK_MAX_REASON=2 CONFIG_SYSV_FS=m CONFIG_UFS_FS=m # CONFIG_UFS_FS_WRITE is not set @@ -9905,7 +10039,7 @@ CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_NFS_COMMON=y -CONFIG_NFS_V4_2_SSC_HELPER=m +CONFIG_NFS_V4_2_SSC_HELPER=y CONFIG_SUNRPC=m CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC_BACKCHANNEL=y @@ -10052,6 +10186,7 @@ CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y CONFIG_SECURITY_YAMA=y # CONFIG_SECURITY_SAFESETID is not set # CONFIG_SECURITY_LOCKDOWN_LSM is not set +CONFIG_SECURITY_LANDLOCK=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y @@ -10081,6 +10216,7 @@ CONFIG_IMA_BLACKLIST_KEYRING=y CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y # CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set +CONFIG_IMA_DISABLE_HTABLE=y CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y @@ -10155,6 +10291,7 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_DH=y CONFIG_CRYPTO_ECC=m CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m CONFIG_CRYPTO_ECRDSA=m CONFIG_CRYPTO_SM2=m CONFIG_CRYPTO_CURVE25519=m @@ -10514,10 +10651,10 @@ CONFIG_ARCH_STACKWALK=y CONFIG_SBITMAP=y CONFIG_PARMAN=m CONFIG_OBJAGG=m -# CONFIG_STRING_SELFTEST is not set # end of Library routines CONFIG_PLDMFW=y +CONFIG_ASN1_ENCODER=y # # Kernel hacking @@ -10528,6 +10665,7 @@ CONFIG_PLDMFW=y # CONFIG_PRINTK_TIME=y # CONFIG_PRINTK_CALLER is not set +CONFIG_STACKTRACE_BUILD_ID=y CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 @@ -10548,9 +10686,10 @@ CONFIG_FRAME_WARN=1024 # CONFIG_HEADERS_INSTALL is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y -# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_32B is not set +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set CONFIG_FRAME_POINTER=y CONFIG_STACK_VALIDATION=y +# CONFIG_VMLINUX_MAP is not set # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set # end of Compile-time checks and compiler options @@ -10743,11 +10882,14 @@ CONFIG_FUNCTION_GRAPH_TRACER=y CONFIG_DYNAMIC_FTRACE=y CONFIG_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y CONFIG_FUNCTION_PROFILER=y CONFIG_STACK_TRACER=y # CONFIG_IRQSOFF_TRACER is not set CONFIG_SCHED_TRACER=y # CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set CONFIG_MMIOTRACE=y CONFIG_FTRACE_SYSCALLS=y CONFIG_TRACER_SNAPSHOT=y @@ -10757,7 +10899,7 @@ CONFIG_BRANCH_PROFILE_NONE=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y @@ -10828,9 +10970,9 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_LKDTM is not set -# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_SORT is not set +# CONFIG_TEST_DIV64 is not set # CONFIG_KPROBES_SANITY_TEST is not set # CONFIG_BACKTRACE_SELF_TEST is not set # CONFIG_RBTREE_TEST is not set @@ -10840,10 +10982,12 @@ CONFIG_PERCPU_TEST=m # CONFIG_ATOMIC64_SELFTEST is not set CONFIG_ASYNC_RAID6_TEST=m CONFIG_TEST_HEXDUMP=m +# CONFIG_STRING_SELFTEST is not set CONFIG_TEST_STRING_HELPERS=m CONFIG_TEST_STRSCPY=m CONFIG_TEST_KSTRTOX=m CONFIG_TEST_PRINTF=m +CONFIG_TEST_SCANF=m CONFIG_TEST_BITMAP=m CONFIG_TEST_UUID=m CONFIG_TEST_XARRAY=m @@ -10871,6 +11015,8 @@ CONFIG_TEST_OBJAGG=m # CONFIG_TEST_MEMINIT is not set # CONFIG_TEST_FREE_PAGES is not set # CONFIG_TEST_FPU is not set +# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set +CONFIG_ARCH_USE_MEMTEST=y CONFIG_MEMTEST=y # CONFIG_HYPERV_TESTING is not set # end of Kernel Testing and Coverage diff --git a/gnu/packages/aux-files/linux-libre/5.4-i686.conf b/gnu/packages/aux-files/linux-libre/5.4-i686.conf index 898c66ebf9..4e2d7795c7 100644 --- a/gnu/packages/aux-files/linux-libre/5.4-i686.conf +++ b/gnu/packages/aux-files/linux-libre/5.4-i686.conf @@ -10214,7 +10214,7 @@ CONFIG_STACK_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y diff --git a/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf b/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf index 19fdeb7e70..5815caa770 100644 --- a/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf +++ b/gnu/packages/aux-files/linux-libre/5.4-x86_64.conf @@ -10164,7 +10164,7 @@ CONFIG_STACK_TRACER=y CONFIG_BLK_DEV_IO_TRACE=y CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set -# CONFIG_UPROBE_EVENTS is not set +CONFIG_UPROBE_EVENTS=y CONFIG_BPF_EVENTS=y CONFIG_DYNAMIC_EVENTS=y CONFIG_PROBE_EVENTS=y diff --git a/gnu/packages/aux-files/python/sanity-check.py b/gnu/packages/aux-files/python/sanity-check.py index 83b6d583ca..a84f8f03c0 100644 --- a/gnu/packages/aux-files/python/sanity-check.py +++ b/gnu/packages/aux-files/python/sanity-check.py @@ -51,7 +51,7 @@ for dist in ws: # Try to load top level modules. This should not have any side-effects. try: metalines = dist.get_metadata_lines('top_level.txt') - except (KeyError, FileNotFoundError): + except (KeyError, EnvironmentError): # distutils (i.e. #:use-setuptools? #f) will not install any metadata. # This file is also missing for packages built using a PEP 517 builder # such as poetry. diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index 602f9d7997..7dcaa17a76 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,9 +23,11 @@ (define-module (gnu packages avahi) #:use-module ((guix licenses) #:select (lgpl2.1+)) #:use-module (guix packages) + #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) + #:use-module (gnu packages bash) #:use-module (gnu packages dbm) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) @@ -58,7 +61,7 @@ #t)))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--with-distro=none" + `(#:configure-flags '("--with-distro=none" "--disable-static" "--localstatedir=/var" ; for the DBus socket "--disable-python" @@ -68,9 +71,31 @@ "--enable-tests" "--disable-qt4" "--disable-qt5" "--disable-gtk" "--disable-gtk3" - "--enable-compat-libdns_sd"))) + "--enable-compat-libdns_sd" + ,@(if (%current-target-system) + '("ac_cv_prog_have_pkg_config=yes") + '())) + ;; TODO(core-updates): Make this unconditional. + ,@(if (%current-target-system) + `(#:modules ((srfi srfi-26) + (guix build utils) + (guix build gnu-build-system)) + #:phases + ,#~(modify-phases %standard-phases + (add-after 'patch-shebangs 'patch-more-shebangs + (lambda* (#:key inputs #:allow-other-keys) + (define path + `(,(dirname (search-input-file inputs "bin/sh")))) + (for-each + (cut patch-shebang <> path) + (find-files (string-append #$output "/etc/avahi"))))))) + '()))) (inputs - `(("dbus" ,dbus) + ;; TODO(core-updates): Make this input unconditional. + `(,@(if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) + '()) + ("dbus" ,dbus) ("expat" ,expat) ("gdbm" ,gdbm) ("glib" ,glib) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 5253e3d03d..e5237b3048 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -6,8 +6,8 @@ ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com> @@ -20,6 +20,7 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -104,6 +105,7 @@ ("par2cmdline" ,par2cmdline) ("python-fasteners" ,python-fasteners) ("python-future" ,python-future) ; for tests + ("python-paramiko" ,python-paramiko) ("python-pexpect" ,python-pexpect) ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner) @@ -576,24 +578,23 @@ rsnapshot uses hard links to deduplicate identical files.") (substitute* "configure" (("GUILE=(.*)--variable bindir`" _ middle) (string-append "GUILE=" middle - "--variable bindir`/guile"))) - #t)) + "--variable bindir`/guile"))))) (add-before 'build 'set-libtirpc-include-path (lambda* (#:key inputs #:allow-other-keys) ;; Allow <rpc/rpc.h> & co. to be found. - (let ((libtirpc (assoc-ref inputs "libtirpc"))) - (setenv "CPATH" - (string-append (getenv "CPATH") - ":" libtirpc - "/include/tirpc")) - #t))) + (let ((tirpc (string-append (assoc-ref inputs "libtirpc") + "/include/tirpc"))) + (if (getenv "CPATH") + (setenv "CPATH" + (string-append (getenv "CPATH") + ":" tirpc)) + (setenv "CPATH" tirpc))))) (add-before 'check 'skip-test (lambda _ ;; XXX: This test fails (1) because current GnuTLS no ;; longer supports OpenPGP authentication, and (2) for ;; some obscure reason. Better skip it. - (setenv "XFAIL_TESTS" "utils/block-server") - #t))))) + (setenv "XFAIL_TESTS" "utils/block-server")))))) (native-inputs `(("guile" ,guile-2.0) ("gperf" ,gperf-3.0) ;see <https://bugs.gnu.org/32382> @@ -657,12 +658,7 @@ detection, and lossless compression.") ;; Remove bundled shared libraries. (with-directory-excursion "src/borg/algorithms" (for-each delete-file-recursively - (list "blake2" "lz4" "msgpack" "zstd"))) - ;; Purge some msgpack references from setup.py or the resulting - ;; sources will be unbuildable. - (substitute* "setup.py" - ((".*Extension\\('borg\\.algorithms\\.msgpack\\..*") "") - (("msgpack_packer_source, msgpack_unpacker_source") "")) + (list "blake2" "lz4" "zstd"))) #t)))) (build-system python-build-system) (arguments @@ -686,12 +682,6 @@ detection, and lossless compression.") ;; HOME=/homeless-shelter. (setenv "HOME" "/tmp") #t))) - (add-after 'unpack 'use-system-msgpack - (lambda _ - (substitute* "src/borg/helpers.py" - (("prefer_system_msgpack = False") - "prefer_system_msgpack = True")) - #t)) ;; The tests need to be run after Borg is installed. (delete 'check) (add-after 'install 'check @@ -755,10 +745,6 @@ detection, and lossless compression.") ("lz4" ,lz4) ("openssl" ,openssl) ("python-llfuse" ,python-llfuse) - ;; The Python msgpack library changed its name so Borg requires this - ;; transitional package for now: - ;; <https://bugs.gnu.org/30662> - ("python-msgpack" ,python-msgpack-transitional) ("zstd" ,zstd "lib"))) (synopsis "Deduplicated, encrypted, authenticated and compressed backups") (description "Borg is a deduplicating backup program. Optionally, it @@ -927,7 +913,9 @@ is like a time machine for your data. ") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zmh42aah32ah8w5n6ilz9bci0y2xrf8p7qshy3yf1lzm5gnbj0w")))) + "1zmh42aah32ah8w5n6ilz9bci0y2xrf8p7qshy3yf1lzm5gnbj0w")) + (patches + (search-patches "restic-0.9.6-fix-tests-for-go1.15.patch")))) (build-system go-build-system) (arguments `(#:import-path "github.com/restic/restic" @@ -944,11 +932,12 @@ is like a time machine for your data. ") (invoke "go" "run" "build.go")))) (replace 'check - (lambda _ - (with-directory-excursion "src/github.com/restic/restic" - ;; Disable FUSE tests. - (setenv "RESTIC_TEST_FUSE" "0") - (invoke "go" "run" "build.go" "--test")))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "src/github.com/restic/restic" + ;; Disable FUSE tests. + (setenv "RESTIC_TEST_FUSE" "0") + (invoke "go" "run" "build.go" "--test"))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index b9841a5cef..174af43917 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -494,7 +495,7 @@ change. GNU make offers many powerful extensions over the standard utility.") (base32 "12f5zzyq2w56g95nni65hc0g5p7154033y2f3qmjvd016szn5qnn")))) (arguments - `(#:configure-flags '("CFLAGS=-D__alloca=alloca") + `(#:configure-flags '("CFLAGS=-D__alloca=alloca -D__stat=stat") #:phases (modify-phases %standard-phases (add-before 'build 'set-default-shell @@ -510,14 +511,15 @@ change. GNU make offers many powerful extensions over the standard utility.") (package (name "binutils") (version "2.37") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/binutils/binutils-" - version ".tar.bz2")) - (sha256 - (base32 - "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37")) - (patches (search-patches "binutils-loongson-workaround.patch")))) + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/binutils/binutils-" + version ".tar.bz2")) + (sha256 + (base32 "1m3b2rdfv1dmdpd0bzg1hy7i8a2qng53szc6livyi3nh6101mz37")) + (patches (search-patches "binutils-loongson-workaround.patch" + "binutils-2.37-file-descriptor-leak.patch")))) (build-system gnu-build-system) ;; TODO: Add dependency on zlib + those for Gold. @@ -944,6 +946,7 @@ with the Linux kernel.") (base32 "05zxkyz9bv3j9h0xyid1rhvh3klhsmrpkf3bcs6frvlgyr2gwilj")) (patches (search-patches + "glibc-skip-c++.patch" "glibc-ldd-powerpc.patch" "glibc-ldd-x86_64.patch" "glibc-dl-cache.patch" @@ -962,13 +965,19 @@ with the Linux kernel.") (package (inherit glibc) (version "2.30") + (native-inputs + ;; This fails with a build error in libc-tls.c when using GCC 10. Use an + ;; older compiler. + (modify-inputs (package-native-inputs glibc) + (prepend gcc-8))) (source (origin (inherit (package-source glibc)) (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) (sha256 (base32 "1bxqpg91d02qnaz837a5kamm0f43pr1il4r9pknygywsar713i72")) - (patches (search-patches "glibc-ldd-x86_64.patch" + (patches (search-patches "glibc-skip-c++.patch" + "glibc-ldd-x86_64.patch" "glibc-CVE-2019-19126.patch" "glibc-hidden-visibility-ldconfig.patch" "glibc-versioned-locpath.patch" @@ -978,7 +987,7 @@ with the Linux kernel.") (define-public glibc-2.29 (package - (inherit glibc) + (inherit glibc-2.30) (version "2.29") (source (origin (inherit (package-source glibc)) @@ -986,7 +995,8 @@ with the Linux kernel.") (sha256 (base32 "0jzh58728flfh939a8k9pi1zdyalfzlxmwra7k0rzji5gvavivpk")) - (patches (search-patches "glibc-ldd-x86_64.patch" + (patches (search-patches "glibc-skip-c++.patch" + "glibc-ldd-x86_64.patch" "glibc-CVE-2019-7309.patch" "glibc-CVE-2019-9169.patch" "glibc-2.29-git-updates.patch" diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm index 577196e3df..d9796d2999 100644 --- a/gnu/packages/benchmark.scm +++ b/gnu/packages/benchmark.scm @@ -41,6 +41,7 @@ #:use-module (gnu packages linux) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) + #:use-module (gnu packages opencl) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-science) @@ -220,7 +221,7 @@ This can give a much better understanding of the command's performance.") (define-public benchmark (package (name "benchmark") - (version "1.5.5") + (version "1.5.6") (source (origin (method git-fetch) (uri (git-reference @@ -229,7 +230,7 @@ This can give a much better understanding of the command's performance.") (file-name (git-file-name name version)) (sha256 (base32 - "1ijv4idcjsyy61dab59ywbx0xdbws44kxgqjr1ylaxzwknh745qf")))) + "030g4d8vpn2442dsap0qw86lsw7xfl36k0x0x9bn0vvm11qvjn8c")))) (build-system cmake-build-system) (native-inputs `(("googletest-source" ,(package-source googletest)) @@ -240,8 +241,7 @@ This can give a much better understanding of the command's performance.") (add-after 'unpack 'unpack-googletest (lambda* (#:key inputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "googletest-source") - "googletest") - #t))))) + "googletest")))))) (home-page "https://github.com/google/benchmark") (synopsis "Microbenchmark support library") (description @@ -384,3 +384,31 @@ It is designed to measure the effect of changes in Linux kernel design or system configuration changes such as CPU, I/O scheduler and filesystem changes and options. With careful benchmarking, different hardware can be compared.") (license license:gpl2+))) + +(define-public clpeak + ;; Release 1.1.0 is too old for our opencl-clhpp. This commit supports + ;; cl2.hpp. + (let ((commit "6d59cb64997a53c35207b77a63d2e9f0e84de5fd")) + (package + (name "clpeak") + (version (git-version "1.1.0" "0" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/krrishnarraj/clpeak.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qmhdjyhwl7gfgyqxsddqn6zpp3b57503m16h7jv6illy3lfvji1")))) + (build-system cmake-build-system) + (home-page "https://github.com/krrishnarraj/clpeak") + (inputs + `(("opencl-clhpp" ,opencl-clhpp) + ("opencl-icd-loader" ,opencl-icd-loader))) + (synopsis "OpenCL benchmark tool") + (description + "A synthetic benchmarking tool to measure peak capabilities of OpenCL + devices. It only measures the peak metrics that can be achieved using + vector operations and does not represent a real-world use case.") + (license license:unlicense)))) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a284ea8d41..25202410e5 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages cran) #:use-module (gnu packages compression) #:use-module (gnu packages curl) + #:use-module (gnu packages docker) #:use-module (gnu packages gcc) #:use-module (gnu packages graph) #:use-module (gnu packages graphviz) @@ -84,6 +85,31 @@ submit gene-specific information, or which are scheduled for intense sequence analysis.") (license license:artistic2.0))) +(define-public r-org-bt-eg-db + (package + (name "r-org-bt-eg-db") + (version "3.13.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri + "org.Bt.eg.db" + version + 'annotation)) + (sha256 + (base32 + "0pwvwyfah8fhvaxdc8zkp3lp1v4mchhzr84r3hb0jx97icdvhafi")))) + (properties `((upstream-name . "org.Bt.eg.db"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi))) + (home-page "https://bioconductor.org/packages/org.Bt.eg.db") + (synopsis "Genome wide annotation for Bovine") + (description + "This package provides genome wide annotations for Bovine, primarily +based on mapping using Entrez Gene identifiers.") + (license license:artistic2.0))) + (define-public r-reactome-db (package (name "r-reactome-db") @@ -487,6 +513,34 @@ information about the latest version of the Gene Ontologies.") several related annotation packages.") (license license:artistic2.0))) +(define-public r-mus-musculus + (package + (name "r-mus-musculus") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Mus.musculus" version 'annotation)) + (sha256 + (base32 + "143zdf83gbfqhy8jm9df7gzhw5q3a64jrjrxrzjf0zd76j8s8j6y")))) + (properties `((upstream-name . "Mus.musculus"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-genomicfeatures" ,r-genomicfeatures) + ("r-go-db" ,r-go-db) + ("r-org-mm-eg-db" ,r-org-mm-eg-db) + ("r-organismdbi" ,r-organismdbi) + ("r-txdb-mmusculus-ucsc-mm10-knowngene" + ,r-txdb-mmusculus-ucsc-mm10-knowngene))) + (home-page "https://bioconductor.org/packages/Mus.musculus") + (synopsis "Annotation package for the Mus.musculus object") + (description + "This package contains the @code{Mus.musculus} object to access data +from several related annotation packages.") + (license license:artistic2.0))) + (define-public r-org-ce-eg-db (package (name "r-org-ce-eg-db") @@ -1060,6 +1114,32 @@ sequencing data.") from Illumina 450k methylation arrays.") (license license:artistic2.0))) +(define-public r-biscuiteerdata + (package + (name "r-biscuiteerdata") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biscuiteerData" version 'experiment)) + (sha256 + (base32 + "1d7zibjf0qccmdnzdxh7wy1h943yhnbf8zdix72486pvhzm124zj")))) + (properties + `((upstream-name . "biscuiteerData"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationhub" ,r-annotationhub) + ("r-curl" ,r-curl) + ("r-experimenthub" ,r-experimenthub))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/biscuiteerData") + (synopsis "Data package for Biscuiteer") + (description + "This package contains default datasets used by the Bioconductor package +biscuiteer.") + (license license:gpl3))) + (define-public r-chromstardata (package (name "r-chromstardata") @@ -2154,13 +2234,13 @@ on Bioconductor or which replace R functions.") (define-public r-biomart (package (name "r-biomart") - (version "2.48.2") + (version "2.48.3") (source (origin (method url-fetch) (uri (bioconductor-uri "biomaRt" version)) (sha256 (base32 - "1na271z9gc3b7xfcghbljj9lqq6v9b2kb71xahsq544yv4z9w8xj")))) + "096s243yzbhhz3wsm7azml5sznqczmcpi5g0gnb02mah1przczfx")))) (properties `((upstream-name . "biomaRt"))) (build-system r-build-system) @@ -2247,13 +2327,13 @@ objects.") (define-public r-biostrings (package (name "r-biostrings") - (version "2.60.1") + (version "2.60.2") (source (origin (method url-fetch) (uri (bioconductor-uri "Biostrings" version)) (sha256 (base32 - "1a2vq4rram7chnccx0piccgi0mlblmjh26y51bch86lxr7qwlr22")))) + "0ai0fg0w4l0a7avbafdbqjgjpg91myxalwrg2i3ixm1l2lyyfyah")))) (properties `((upstream-name . "Biostrings"))) (build-system r-build-system) @@ -2743,14 +2823,14 @@ CAGE.") (define-public r-ensembldb (package (name "r-ensembldb") - (version "2.16.2") + (version "2.16.4") (source (origin (method url-fetch) (uri (bioconductor-uri "ensembldb" version)) (sha256 (base32 - "0mbdfxic2vkfwm6b16353zr0qg8ylwf1vrxry85j2lgzl1qyyras")))) + "15yllkxr6sj5pfvkvv285nk3q5374nzq1iz8ywmnrq910k3xagd8")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -3007,13 +3087,13 @@ alignments.") (define-public r-genomicfeatures (package (name "r-genomicfeatures") - (version "1.44.0") + (version "1.44.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GenomicFeatures" version)) (sha256 (base32 - "0y7lnvfcfrs72xbkn67xcqyz9csl5696mr2zl425fkhmnmimm4fg")))) + "0byizkq18kkyq3n604f38z4mikhi3szsrfrlz22wdq2ldq3nzkis")))) (properties `((upstream-name . "GenomicFeatures"))) (build-system r-build-system) @@ -3300,13 +3380,13 @@ Shiny-based display methods for Bioconductor objects.") (define-public r-limma (package (name "r-limma") - (version "3.48.1") + (version "3.48.3") (source (origin (method url-fetch) (uri (bioconductor-uri "limma" version)) (sha256 (base32 - "1wscxvhrz16sfa0qwk9anxqjy1vgvqmq6ia9gx6pwpga8qzwn5bi")))) + "0385ac0hvvml99krcgcpp6q7layjhzgp9xcxkcjrpfg5mjg1z4sx")))) (build-system r-build-system) (home-page "http://bioinf.wehi.edu.au/limma") (synopsis "Package for linear models for microarray and RNA-seq data") @@ -3814,14 +3894,14 @@ region sets and other genomic features.") (define-public r-reportingtools (package (name "r-reportingtools") - (version "2.32.0") + (version "2.32.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ReportingTools" version)) (sha256 (base32 - "0v6wzfswwcd1xdxgwa9gzlkmavr4p55jy11k84anh0rs0xx3dmmj")))) + "0wq9y649dh1am6djzz0xlz42428xsgw2bdx1dknhdw2xbydmmx47")))) (properties `((upstream-name . "ReportingTools"))) (build-system r-build-system) @@ -3987,13 +4067,13 @@ tab-delimited (tabix) files.") (define-public r-rtracklayer (package (name "r-rtracklayer") - (version "1.52.0") + (version "1.52.1") (source (origin (method url-fetch) (uri (bioconductor-uri "rtracklayer" version)) (sha256 (base32 - "0iic0g0clsjd9ypdmfs6k52hrnmfszhxzg0xx89nszpasf69wghv")))) + "11w6dx09pb49lin1gr9q88xn7ixh9jd5z6m9z27djchm0nw10lx9")))) (build-system r-build-system) (arguments `(#:phases @@ -4221,24 +4301,28 @@ graph construction.") (define-public r-structuralvariantannotation (package (name "r-structuralvariantannotation") - (version "1.8.0") + (version "1.8.2") (source (origin (method url-fetch) (uri (bioconductor-uri "StructuralVariantAnnotation" version)) (sha256 - (base32 - "10h63h1v87nvm3bfyr6dsjlbmzxf1vks30d0xz6q4hssqq9xlzgv")))) + (base32 "04ac4mjh3pgdlws0aiacqg0vd7bhg890w44r7b90p947c3rk1mfw")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) ("r-biocgenerics" ,r-biocgenerics) ("r-biostrings" ,r-biostrings) ("r-dplyr" ,r-dplyr) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicfeatures" ,r-genomicfeatures) ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) ("r-rlang" ,r-rlang) ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) ("r-stringr" ,r-stringr) + ("r-summarizedexperiment" ,r-summarizedexperiment) ("r-variantannotation" ,r-variantannotation))) (native-inputs `(("r-knitr" ,r-knitr))) @@ -4767,14 +4851,14 @@ signal in the input, that lead to spurious peaks during peak calling.") (define-public r-diffbind (package (name "r-diffbind") - (version "3.2.4") + (version "3.2.5") (source (origin (method url-fetch) (uri (bioconductor-uri "DiffBind" version)) (sha256 (base32 - "024ff12v42yvcma29cis4f777jrdgmgfr06lxn6l3nh30ghxawci")))) + "1rp4sgx58g1lq5brpx07wffllhvsqq1097vrjiaksbih08338nih")))) (properties `((upstream-name . "DiffBind"))) (build-system r-build-system) (propagated-inputs @@ -5013,14 +5097,14 @@ determining dependencies between variables, code improvement suggestions.") (define-public r-chippeakanno (package (name "r-chippeakanno") - (version "3.26.0") + (version "3.26.3") (source (origin (method url-fetch) (uri (bioconductor-uri "ChIPpeakAnno" version)) (sha256 (base32 - "1wnmsdrb4wz2qprj5mnd3h0wx32y2mpy3xg7mjbgwlqn9bzpw3gk")))) + "07dvg3r4kghkqhh1a8rw149hgfswmzdh9cvnam8c82006cpmi74s")))) (properties `((upstream-name . "ChIPpeakAnno"))) (build-system r-build-system) (propagated-inputs @@ -5067,13 +5151,13 @@ enrichedGO (addGeneIDs).") (define-public r-matrixgenerics (package (name "r-matrixgenerics") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "MatrixGenerics" version)) (sha256 (base32 - "1xq3a9ls125wfnhn13rdbsxzq3f6klsspx7h0znd6l67f5j5k25s")))) + "0kjsc5ghcplay4a74ffpwsf3kbp51x6rl5265gvlfchdwrawkzd2")))) (properties `((upstream-name . "MatrixGenerics"))) (build-system r-build-system) @@ -5685,14 +5769,14 @@ multiplication.") (define-public r-treeio (package (name "r-treeio") - (version "1.16.1") + (version "1.16.2") (source (origin (method url-fetch) (uri (bioconductor-uri "treeio" version)) (sha256 (base32 - "0ypl4h80m08sf7r4zfvqgvpsz46x15wvcl1idq5pd813bp1w2sws")))) + "1y60yvg1rl21cab9xrkns0209pg44mwr90qj099dvk97wsjkx67g")))) (properties `((upstream-name . "treeio"))) (build-system r-build-system) (propagated-inputs @@ -5717,14 +5801,14 @@ platform for merging tree with associated data and converting file formats.") (define-public r-ggtree (package (name "r-ggtree") - (version "3.0.2") + (version "3.0.3") (source (origin (method url-fetch) (uri (bioconductor-uri "ggtree" version)) (sha256 (base32 - "0i665b5jxgsv3ncxmczy7n0h911br44dw9f7m4jwv3pjmr5mm6vk")))) + "02ydi5iyxwrvwfjmv8pbanmzpi1r99mc4gxl17fpq2jf1d1mk6g0")))) (properties `((upstream-name . "ggtree"))) (build-system r-build-system) (propagated-inputs @@ -6241,14 +6325,14 @@ multiplication and calculation of row/column sums or means.") (define-public r-batchelor (package (name "r-batchelor") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "batchelor" version)) (sha256 (base32 - "1xm204wp3m3mmlc1s59lscbbjvwm5nj32vvf16njcg7pb32lsiqa")))) + "1bkk69b5llkmvmpsnhymwjm2szmzypgszfsw8mak1b5ms5zf8lr0")))) (properties `((upstream-name . "batchelor"))) (build-system r-build-system) (propagated-inputs @@ -6541,14 +6625,14 @@ distributions.") (define-public r-scone (package (name "r-scone") - (version "1.16.0") + (version "1.16.1") (source (origin (method url-fetch) (uri (bioconductor-uri "scone" version)) (sha256 (base32 - "1wlky6nkdpz8fya81l6zaxlxc30wyp2gkyh94y5995jwddll38z5")))) + "0zw8g4mql7b02xqwhc1i0bnhm20c1q9xqc7yz84j98pqbi996vi5")))) (build-system r-build-system) (propagated-inputs `(("r-aroma-light" ,r-aroma-light) @@ -7128,14 +7212,14 @@ information about samples and features can be added to the plot.") (define-public r-gosemsim (package (name "r-gosemsim") - (version "2.18.0") + (version "2.18.1") (source (origin (method url-fetch) (uri (bioconductor-uri "GOSemSim" version)) (sha256 (base32 - "1fzmaxjzyvq6xj5ny1sjijdwi4krzjgyaz52fczpwrxijq5pnyn1")))) + "00dbgkiv9x7g2i0anzcxpycwqqqry0y7jl3ad93lhvi31qnqq1sm")))) (properties `((upstream-name . "GOSemSim"))) (build-system r-build-system) (propagated-inputs @@ -7242,14 +7326,14 @@ to multiple hypothesis correction.") (define-public r-dose (package (name "r-dose") - (version "3.18.1") + (version "3.18.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DOSE" version)) (sha256 (base32 - "1g3llrb51m8lj3prcr6ryxj0lf4qqzg9mzi36y71pp9qzfvf3c0k")))) + "0kp6j42mpxrpd02cjrzqmrx3rvvpi90xiy4gc5km6ny3vxbhlaqw")))) (properties `((upstream-name . "DOSE"))) (build-system r-build-system) (propagated-inputs @@ -7314,14 +7398,14 @@ All the visualization methods are developed based on ggplot2 graphics.") (define-public r-clusterprofiler (package (name "r-clusterprofiler") - (version "4.0.2") + (version "4.0.4") (source (origin (method url-fetch) (uri (bioconductor-uri "clusterProfiler" version)) (sha256 (base32 - "11pjzh7inh1x0gry42nlq4har65s8pc0w3bkccm6kmxycvaxb9rh")))) + "161w9mn2plmymvzf1hkk9fwi3d9c26kbcpndyyrfcl6bg2nxr1s8")))) (properties `((upstream-name . "clusterProfiler"))) (build-system r-build-system) @@ -7795,12 +7879,12 @@ frequency matrices from nine public sources, for multiple organisms.") (define-public r-motifbreakr (package (name "r-motifbreakr") - (version "2.6.0") + (version "2.6.1") (source (origin (method url-fetch) (uri (bioconductor-uri "motifbreakR" version)) (sha256 - (base32 "0i18qriznad4lr6ynzmz01k5yavs5m3h7hd0adbyg8lppbzm6hh4")))) + (base32 "1n6v8a7c27aswmbrlcwcpghf27aplkc6nn923imglc3c0sh2lkrz")))) (properties `((upstream-name . "motifbreakR"))) (build-system r-build-system) (propagated-inputs @@ -8612,14 +8696,14 @@ based on @dfn{Continuous Wavelet Transform} (CWT).") (define-public r-xcms (package (name "r-xcms") - (version "3.14.0") + (version "3.14.1") (source (origin (method url-fetch) (uri (bioconductor-uri "xcms" version)) (sha256 (base32 - "1fs72lkgz1jik1smi6bb4f8jh6rrlpxdh3a5hydrnnndfxkz5kwx")))) + "1g8k90p0sbcb3rdrbldj5bcjp2piy5ldni4jplyr78vjpmrmvqk7")))) (build-system r-build-system) (propagated-inputs `(("r-biobase" ,r-biobase) @@ -9329,14 +9413,14 @@ datasets.") (define-public r-annotatr (package (name "r-annotatr") - (version "1.18.0") + (version "1.18.1") (source (origin (method url-fetch) (uri (bioconductor-uri "annotatr" version)) (sha256 (base32 - "0pcf4jrq05bmfxph41hmdx1x147k1ay5fl2h488y1s4h8qm3c67p")))) + "1ls1qdfppcxysggi3bghrnspb5a3s40pm2mj4x0whc7c40cf90mg")))) (build-system r-build-system) (propagated-inputs `(("r-annotationdbi" ,r-annotationdbi) @@ -9370,14 +9454,14 @@ annotations.") (define-public r-rsubread (package (name "r-rsubread") - (version "2.6.3") + (version "2.6.4") (source (origin (method url-fetch) (uri (bioconductor-uri "Rsubread" version)) (sha256 (base32 - "04nz85vr184fjmf2k0kc5sy2hjzpfazfkxlhlgax50rnkn98va5x")))) + "043m4512q73x6q529hqfgrap0fq5anvny4va085nafia06b805pi")))) (properties `((upstream-name . "Rsubread"))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -9932,14 +10016,14 @@ self-organizing map clustering and minimal spanning trees.") (define-public r-mixomics (package (name "r-mixomics") - (version "6.16.1") + (version "6.16.3") (source (origin (method url-fetch) (uri (bioconductor-uri "mixOmics" version)) (sha256 (base32 - "0fiwf86hvkidxwkdcw0x7lk3bk2fsxqng43b1js7klifm3gfcf91")))) + "1x6dbw4q6p9vngm256fr96r9fjxk5nik5ivkhbl5a9zqyq8wagpa")))) (properties `((upstream-name . "mixOmics"))) (build-system r-build-system) (propagated-inputs @@ -10319,14 +10403,14 @@ regulatory networks from expression data.") (define-public r-roc (package (name "r-roc") - (version "1.68.0") + (version "1.68.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ROC" version)) (sha256 (base32 - "0ff5rcpyybgjzsfbhaslim0m02n3bksv1r9v7bq0gg0iyzll0rjc")))) + "1rmsrvn6hrg9ay7xfb05mfkxknnig78p3kbk9ghsd11lhx2fjm3s")))) (properties `((upstream-name . "ROC"))) (build-system r-build-system) (propagated-inputs @@ -10877,14 +10961,14 @@ data.") (define-public r-universalmotif (package (name "r-universalmotif") - (version "1.10.1") + (version "1.10.2") (source (origin (method url-fetch) (uri (bioconductor-uri "universalmotif" version)) (sha256 (base32 - "1hwp7802r4pr7yafzir9afqaim9l0vznglm35b0gxaca8k7a3jvy")))) + "0hv2v2zgif5ihr5hxmdz32rln43jc1j0rslp44kd3rijjl45zysn")))) (properties `((upstream-name . "universalmotif"))) (build-system r-build-system) @@ -11843,14 +11927,14 @@ analytics on packages.") (define-public r-biocset (package (name "r-biocset") - (version "1.6.0") + (version "1.6.1") (source (origin (method url-fetch) (uri (bioconductor-uri "BiocSet" version)) (sha256 (base32 - "18zr0r4b4rblfmsiilipqdfxn9fgymx75hlxzx1wk3bm71ryk078")))) + "0nmrg9cgq8l9w467y364jghnvym05abpj8pyj90grmrib2xc5sj2")))) (properties `((upstream-name . "BiocSet"))) (build-system r-build-system) (propagated-inputs @@ -12469,14 +12553,14 @@ packages.") (define-public r-beachmat (package (name "r-beachmat") - (version "2.8.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (bioconductor-uri "beachmat" version)) (sha256 (base32 - "16p6shab4y8sy1adn4qr05ysvwmvs9idliccixafvx9icv5sla86")))) + "06bpfpddsl49csxrs8hlx5pv0absc2wdcparchf8qqaqydazwci2")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -12704,14 +12788,14 @@ libraries.") (define-public r-scuttle (package (name "r-scuttle") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (bioconductor-uri "scuttle" version)) (sha256 (base32 - "1vxmgm52n5z2m1a7d4c5ajp5d35rdq7j3hln9qn7188zk9ijjsz5")))) + "015k879gg2r39lp6mz26jwmysa56k0ial6v74zzmbi8hnz9zic3i")))) (properties `((upstream-name . "scuttle"))) (build-system r-build-system) (propagated-inputs @@ -12822,14 +12906,14 @@ variable and significantly correlated genes.") (define-public r-sparsematrixstats (package (name "r-sparsematrixstats") - (version "1.4.0") + (version "1.4.2") (source (origin (method url-fetch) (uri (bioconductor-uri "sparseMatrixStats" version)) (sha256 (base32 - "0ilspddfkqpnf2lng9jjs2ahv6vlc6sap69fzkcw314rha59kncr")))) + "0b22kzg751zlkcbs8pi0bcqrsj3imsg35qfvxfrqb7gav7qznc8v")))) (properties `((upstream-name . "sparseMatrixStats"))) (build-system r-build-system) @@ -12850,14 +12934,14 @@ data in the column sparse format.") (define-public r-delayedmatrixstats (package (name "r-delayedmatrixstats") - (version "1.14.0") + (version "1.14.2") (source (origin (method url-fetch) (uri (bioconductor-uri "DelayedMatrixStats" version)) (sha256 (base32 - "02r68rzmc54m353fpw5ampyv26i5622bc7iihfqlpy6p3033lpqk")))) + "1avzd3fj4am9klmlx03nwq2pvgx7646yjwha1gqf0cbx5hibxy02")))) (properties `((upstream-name . "DelayedMatrixStats"))) (build-system r-build-system) @@ -13010,14 +13094,14 @@ relevant, and the minimum expression of the most abundant condition.") (define-public r-catalyst (package (name "r-catalyst") - (version "1.16.1") + (version "1.16.2") (source (origin (method url-fetch) (uri (bioconductor-uri "CATALYST" version)) (sha256 (base32 - "12frw4myqr8y3ff4n74ld4478ndpmfj5ynr6gnigbr1h61b94m3v")))) + "1vw8x54hwgcyn29k81zcvawawy2iy2qgp49gjpb830q04gx6yc6h")))) (properties `((upstream-name . "CATALYST"))) (build-system r-build-system) (propagated-inputs @@ -13386,14 +13470,14 @@ functionalities including parsing, graph operation, visualization and etc.") (define-public r-ldblock (package (name "r-ldblock") - (version "1.22.0") + (version "1.22.1") (source (origin (method url-fetch) (uri (bioconductor-uri "ldblock" version)) (sha256 (base32 - "075jncvfbn3lydg0jvfhnv5025mnw79saa0k557vpcwdvs9y4p0c")))) + "16vp5psmigxdkkd6fbivb6s8mvd7rsnm771wsbjvayl2y7ig7kq4")))) (build-system r-build-system) (propagated-inputs `(("r-biocgenerics" ,r-biocgenerics) @@ -13661,3 +13745,951 @@ starting site, start codon, stop codon and transcription ending site.") "This package provides flexible, quantitative, and integrative genomic visualizations for publication-quality multi-panel figures.") (license license:gpl2+))) + +(define-public r-ballgown + (package + (name "r-ballgown") + (version "2.24.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "ballgown" version)) + (sha256 + (base32 + "0ff8z4pfgzai2q4aafclg36bhsi9jwl9xhh1p9fqhmikisscq7i1")))) + (properties `((upstream-name . "ballgown"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-limma" ,r-limma) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-sva" ,r-sva))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/ballgown") + (synopsis "Flexible, isoform-level differential expression analysis") + (description + "This package provides tools for statistical analysis of assembled +transcriptomes, including flexible differential expression analysis, +visualization of transcript structures, and matching of assembled transcripts +to annotation.") + (license license:artistic2.0))) + +(define-public r-megadepth + (package + (name "r-megadepth") + (version "1.2.3") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "megadepth" version)) + (sha256 + (base32 + "0grgj7bzyqnxby0sx5ic1h9bzmx19xwl0a5b3v6wbnwqcla2i3kg")))) + (properties `((upstream-name . "megadepth"))) + (build-system r-build-system) + (inputs `(("megadepth" ,megadepth))) + (propagated-inputs + `(("r-cmdfun" ,r-cmdfun) + ("r-dplyr" ,r-dplyr) + ("r-fs" ,r-fs) + ("r-genomicranges" ,r-genomicranges) + ("r-magrittr" ,r-magrittr) + ("r-readr" ,r-readr) + ("r-xfun" ,r-xfun))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/LieberInstitute/megadepth") + (synopsis "BigWig and BAM related utilities") + (description + "This package provides an R interface to Megadepth. It is particularly +useful for computing the coverage of a set of genomic regions across bigWig or +BAM files. With this package, you can build base-pair coverage matrices for +regions or annotations of your choice from BigWig files.") + (license license:artistic2.0))) + +(define-public r-beclear + (package + (name "r-beclear") + (version "2.8.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BEclear" version)) + (sha256 + (base32 + "0w18livng2gcmjgvws7pix3gsnj237rs34sgwxsfmn8p5vfx8b30")))) + (properties `((upstream-name . "BEclear"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-biocparallel" ,r-biocparallel) + ("r-data-table" ,r-data-table) + ("r-futile-logger" ,r-futile-logger) + ("r-matrix" ,r-matrix) + ("r-outliers" ,r-outliers) + ("r-rcpp" ,r-rcpp) + ("r-rdpack" ,r-rdpack))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/uds-helms/BEclear") + (synopsis "Correction of batch effects in DNA methylation data") + (description + "This package provides functions to detect and correct for batch effects +in DNA methylation data. The core function is based on latent factor models +and can also be used to predict missing values in any other matrix containing +real numbers.") + (license license:gpl3))) + +(define-public r-bgeecall + (package + (name "r-bgeecall") + (version "1.8.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BgeeCall" version)) + (sha256 + (base32 + "1byciy7vzbdkdgaim10s9qb7zlxsywbhcsrka31gm0rm9ljqc665")))) + (properties `((upstream-name . "BgeeCall"))) + (build-system r-build-system) + (propagated-inputs + `(("kallisto" ,kallisto) + ("r-biomart" ,r-biomart) + ("r-biostrings" ,r-biostrings) + ("r-data-table" ,r-data-table) + ("r-dplyr" ,r-dplyr) + ("r-genomicfeatures" ,r-genomicfeatures) + ("r-jsonlite" ,r-jsonlite) + ("r-rhdf5" ,r-rhdf5) + ("r-rslurm" ,r-rslurm) + ("r-rtracklayer" ,r-rtracklayer) + ("r-sjmisc" ,r-sjmisc) + ("r-tximport" ,r-tximport))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/BgeeDB/BgeeCall") + (synopsis "RNA-Seq present/absent gene expression calls generation") + (description + "BgeeCall allows to generate present/absent gene expression calls without +using an arbitrary cutoff like TPM<1. Calls are generated based on reference +intergenic sequences. These sequences are generated based on expression of +all RNA-Seq libraries of each species integrated in Bgee.") + (license license:gpl3))) + +(define-public r-bgeedb + (package + (name "r-bgeedb") + (version "2.18.1") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BgeeDB" version)) + (sha256 + (base32 + "1ziq180yfpdqwhjdzkwjjhwzn3kb0gkj6q0a26c7a30mcfb50w11")))) + (properties `((upstream-name . "BgeeDB"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-curl" ,r-curl) + ("r-data-table" ,r-data-table) + ("r-digest" ,r-digest) + ("r-dplyr" ,r-dplyr) + ("r-graph" ,r-graph) + ("r-r-utils" ,r-r-utils) + ("r-rcurl" ,r-rcurl) + ("r-rsqlite" ,r-rsqlite) + ("r-tidyr" ,r-tidyr) + ("r-topgo" ,r-topgo))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/BgeeDB/BgeeDB_R") + (synopsis "Annotation and gene expression data retrieval from Bgee database") + (description + "This package provides a package for the annotation and gene expression +data download from Bgee database, and TopAnat analysis: GO-like enrichment of +anatomical terms, mapped to genes by expression patterns.") + (license license:gpl3))) + +(define-public r-biobtreer + (package + (name "r-biobtreer") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biobtreeR" version)) + (sha256 + (base32 + "0pynx4ps1qxsn13ba6zyg6h5dqlp2y7qish67m7sdjns079zh061")))) + (properties `((upstream-name . "biobtreeR"))) + (build-system r-build-system) + (propagated-inputs + `(("r-httpuv" ,r-httpuv) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-stringi" ,r-stringi))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/tamerh/biobtreeR") + (synopsis "Use biobtree tool from R") + (description + "The biobtreeR package provides an interface to biobtree, a tool which +covers large sets of bioinformatics datasets and allows search and chain +mappings functionalities.") + (license license:expat))) + +(define-public r-minet + (package + (name "r-minet") + (version "3.50.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "minet" version)) + (sha256 + (base32 + "0bir2zr4r2wawkdvdhrk2hcyxmgkrkfvx36jj85fcm24axlqrzzb")))) + (properties `((upstream-name . "minet"))) + (build-system r-build-system) + (propagated-inputs + `(("r-infotheo" ,r-infotheo))) + (home-page "http://minet.meyerp.com") + (synopsis "Mutual information networks") + (description + "This package implements various algorithms for inferring mutual +information networks from data.") + (license license:artistic2.0))) + +(define-public r-genetclassifier + (package + (name "r-genetclassifier") + (version "1.32.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "geNetClassifier" version)) + (sha256 + (base32 + "1i1cavbbvxzqgqxfmikghnls18jrq12hb953mjrwa95lkhzdxm2d")))) + (properties + `((upstream-name . "geNetClassifier"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-e1071" ,r-e1071) + ("r-ebarrays" ,r-ebarrays) + ("r-minet" ,r-minet))) + (home-page "https://www.cicancer.org") + (synopsis "Classify diseases and build gene networks using expression profiles") + (description + "This is a comprehensive package to automatically train and validate a +multi-class SVM classifier based on gene expression data. It provides +transparent selection of gene markers, their coexpression networks, and an +interface to query the classifier.") + (license license:gpl2+))) + +(define-public r-dir-expiry + (package + (name "r-dir-expiry") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "dir.expiry" version)) + (sha256 + (base32 + "05mk7iwzay1xrgvssbz7nyl5d1n03syalbk18lmjmbx05dy0cjik")))) + (properties `((upstream-name . "dir.expiry"))) + (build-system r-build-system) + (propagated-inputs `(("r-filelock" ,r-filelock))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/dir.expiry") + (synopsis "Managing expiration for cache directories") + (description + "This package implements an expiration system for access to versioned +directories. Directories that have not been accessed by a registered function +within a certain time frame are deleted. This aims to reduce disk usage by +eliminating obsolete caches generated by old versions of packages.") + (license license:gpl3))) + +(define-public r-basilisk-utils + (package + (name "r-basilisk-utils") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "basilisk.utils" version)) + (sha256 + (base32 + "0qbm6rj6h059hakflbwz4j4f59311jhbk5dnpx11kyixh5pgjk7v")))) + (properties + `((upstream-name . "basilisk.utils"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dir-expiry" ,r-dir-expiry))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/basilisk.utils") + (synopsis "Basilisk installation utilities") + (description + "This package implements utilities for installation of the basilisk +package, primarily for creation of the underlying Conda instance.") + (license license:gpl3))) + +(define-public r-basilisk + (package + (name "r-basilisk") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "basilisk" version)) + (sha256 + (base32 + "1nzbn3f2jzvg3a3m6wgksi4cvamqas2q7csdk4ir7fcirasf536v")))) + (properties `((upstream-name . "basilisk"))) + (build-system r-build-system) + (propagated-inputs + `(("r-basilisk-utils" ,r-basilisk-utils) + ("r-dir-expiry" ,r-dir-expiry) + ("r-reticulate" ,r-reticulate))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/basilisk") + (synopsis "Freeze Python dependencies inside Bioconductor packages") + (description + "This package installs a self-contained Conda instance that is managed by +the R/Bioconductor installation machinery. This aims to provide a consistent +Python environment that can be used reliably by Bioconductor packages. +Functions are also provided to enable smooth interoperability of multiple +Python environments in a single R session.") + (license license:gpl3))) + +(define-public r-biocthis + (package + (name "r-biocthis") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biocthis" version)) + (sha256 + (base32 + "08awghsg7q22csb0j9dr8dpb1vkn9gcs9qnhhljxifkw2ahbqia4")))) + (properties `((upstream-name . "biocthis"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocmanager" ,r-biocmanager) + ("r-fs" ,r-fs) + ("r-glue" ,r-glue) + ("r-rlang" ,r-rlang) + ("r-styler" ,r-styler) + ("r-usethis" ,r-usethis))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/lcolladotor/biocthis") + (synopsis "Automate package and project setup for Bioconductor packages") + (description + "This package expands the @code{usethis} package with the goal of helping +automate the process of creating R packages for Bioconductor or making them +Bioconductor-friendly.") + (license license:artistic2.0))) + +(define-public r-biocdockermanager + (package + (name "r-biocdockermanager") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BiocDockerManager" version)) + (sha256 + (base32 + "0dh1flm5chsdcihljrg6znjskqkp0qyjh39hsv4zq0frf1rm97j7")))) + (properties + `((upstream-name . "BiocDockerManager"))) + (build-system r-build-system) + (propagated-inputs + `(("docker" ,docker) + ("r-dplyr" ,r-dplyr) + ("r-httr" ,r-httr) + ("r-memoise" ,r-memoise) + ("r-readr" ,r-readr) + ("r-whisker" ,r-whisker))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/BiocDockerManager") + (synopsis "Access and manage Bioconductor Docker images") + (description + "This package works analogous to BiocManager but for Docker images. Use +the BiocDockerManager package to install and manage Docker images provided by +the Bioconductor project.") + (license license:artistic2.0))) + +(define-public r-biodb + (package + (name "r-biodb") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biodb" version)) + (sha256 + (base32 + "1apnbr5p619nsrhd2drm6arj69sw0wijv8ap7dfrndqkffrpbfmx")))) + (properties `((upstream-name . "biodb"))) + (build-system r-build-system) + (propagated-inputs + `(("r-chk" ,r-chk) + ("r-jsonlite" ,r-jsonlite) + ("r-lgr" ,r-lgr) + ("r-lifecycle" ,r-lifecycle) + ("r-openssl" ,r-openssl) + ("r-plyr" ,r-plyr) + ("r-progress" ,r-progress) + ("r-r6" ,r-r6) + ("r-rappdirs" ,r-rappdirs) + ("r-rcpp" ,r-rcpp) + ("r-rcurl" ,r-rcurl) + ("r-rsqlite" ,r-rsqlite) + ("r-stringr" ,r-stringr) + ("r-testthat" ,r-testthat) + ("r-withr" ,r-withr) + ("r-xml" ,r-xml) + ("r-yaml" ,r-yaml))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/biodb") + (synopsis "Library for connecting to chemical and biological databases") + (description + "The biodb package provides access to standard remote chemical and +biological databases (ChEBI, KEGG, HMDB, ...), as well as to in-house local +database files (CSV, SQLite), with easy retrieval of entries, access to web +services, search of compounds by mass and/or name, and mass spectra matching +for LCMS and MSMS. Its architecture as a development framework facilitates +the development of new database connectors for local projects or inside +separate published packages.") + (license license:agpl3+))) + +(define-public r-biomformat + (package + (name "r-biomformat") + (version "1.20.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biomformat" version)) + (sha256 + (base32 + "1wgshkddxbmpsihpkm0dp7vqp59ns6iqbx574y80n2pxb8dx8sy9")))) + (properties `((upstream-name . "biomformat"))) + (build-system r-build-system) + (propagated-inputs + `(("r-jsonlite" ,r-jsonlite) + ("r-matrix" ,r-matrix) + ("r-plyr" ,r-plyr) + ("r-rhdf5" ,r-rhdf5))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/joey711/biomformat/") + (synopsis "Interface package for the BIOM file format") + (description + "This is an R package for interfacing with the BIOM format. This package +includes basic tools for reading biom-format files, accessing and subsetting +data tables from a biom object (which is more complex than a single table), as +well as limited support for writing a biom-object back to a biom-format file. +The design of this API is intended to match the Python API and other tools +included with the biom-format project, but with a decidedly \"R flavor\" that +should be familiar to R users. This includes S4 classes and methods, as well +as extensions of common core functions/methods.") + (license license:gpl2))) + +(define-public r-mvcclass + (package + (name "r-mvcclass") + (version "1.66.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "MVCClass" version)) + (sha256 + (base32 + "1di7y10mr7caacd6igwxnr62cm4v1x877yi4a2i5jqz1058jqni7")))) + (properties `((upstream-name . "MVCClass"))) + (build-system r-build-system) + (home-page "https://bioconductor.org/packages/MVCClass") + (synopsis "Model-View-Controller (MVC) classes") + (description + "This package contains classes used in model-view-controller (MVC) +design.") + (license license:lgpl2.1+))) + +(define-public r-biomvcclass + (package + (name "r-biomvcclass") + (version "1.60.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BioMVCClass" version)) + (sha256 + (base32 + "04pld93nffbci47dnf0awmcmhlfzv599ggcd7hvq78w41ac60qv8")))) + (properties `((upstream-name . "BioMVCClass"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-graph" ,r-graph) + ("r-mvcclass" ,r-mvcclass) + ("r-rgraphviz" ,r-rgraphviz))) + (home-page "https://bioconductor.org/packages/BioMVCClass") + (synopsis "Model-View-Controller (MVC) classes that use Biobase") + (description + "This package contains classes used in model-view-controller (MVC) +design.") + (license license:lgpl2.1+))) + +(define-public r-biomvrcns + (package + (name "r-biomvrcns") + (version "1.32.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biomvRCNS" version)) + (sha256 + (base32 + "0wyzj422smr4m9mswzn9inc1sn86pnia7jmd6k28nd2a7fjyrm16")))) + (properties `((upstream-name . "biomvRCNS"))) + (build-system r-build-system) + (propagated-inputs + `(("r-genomicranges" ,r-genomicranges) + ("r-gviz" ,r-gviz) + ("r-iranges" ,r-iranges) + ("r-mvtnorm" ,r-mvtnorm))) + (home-page "https://bioconductor.org/packages/biomvRCNS") + (synopsis "Copy number study and segmentation for multivariate biological data") + (description + "In this package, a @dfn{Hidden Semi Markov Model} (HSMM) and one +homogeneous segmentation model are designed and implemented for segmentation +genomic data, with the aim of assisting in transcripts detection using high +throughput technology like RNA-seq or tiling array, and copy number analysis +using aCGH or sequencing.") + (license license:gpl2+))) + +(define-public r-bionero + (package + (name "r-bionero") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BioNERO" version)) + (sha256 + (base32 + "1yj0pavyfrj2gsvaj1dkgmznibm2appxjx9rk5qjslhslmm5b05b")))) + (properties `((upstream-name . "BioNERO"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocparallel" ,r-biocparallel) + ("r-complexheatmap" ,r-complexheatmap) + ("r-deseq2" ,r-deseq2) + ("r-dynamictreecut" ,r-dynamictreecut) + ("r-genie3" ,r-genie3) + ("r-ggnetwork" ,r-ggnetwork) + ("r-ggnewscale" ,r-ggnewscale) + ("r-ggplot2" ,r-ggplot2) + ("r-ggpubr" ,r-ggpubr) + ("r-igraph" ,r-igraph) + ("r-intergraph" ,r-intergraph) + ("r-matrixstats" ,r-matrixstats) + ("r-minet" ,r-minet) + ("r-netrep" ,r-netrep) + ("r-networkd3" ,r-networkd3) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-reshape2" ,r-reshape2) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-sva" ,r-sva) + ("r-wgcna" ,r-wgcna))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/almeidasilvaf/BioNERO") + (synopsis "Biological network reconstruction omnibus") + (description + "BioNERO aims to integrate all aspects of biological network inference in +a single package, including data preprocessing, exploratory analyses, network +inference, and analyses for biological interpretations. BioNERO can be used +to infer gene coexpression networks (GCNs) and gene regulatory networks (GRNs) +from gene expression data. Additionally, it can be used to explore +topological properties of protein-protein interaction (PPI) networks. GCN +inference relies on the popular WGCNA algorithm. GRN inference is based on +the \"wisdom of the crowds\" principle, which consists in inferring GRNs with +multiple algorithms (here, CLR, GENIE3 and ARACNE) and calculating the average +rank for each interaction pair. As all steps of network analyses are included +in this package, BioNERO makes users avoid having to learn the syntaxes of +several packages and how to communicate between them. Finally, users can also +identify consensus modules across independent expression sets and calculate +intra and interspecies module preservation statistics between different +networks.") + (license license:gpl3))) + +(define-public r-bionet + (package + (name "r-bionet") + (version "1.52.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BioNet" version)) + (sha256 + (base32 + "15rk1jfv4h1mxvr5bs0qmq6fdnza7zcmksigqxb46fs7f6znr3yi")))) + (properties `((upstream-name . "BioNet"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-biobase" ,r-biobase) + ("r-graph" ,r-graph) + ("r-igraph" ,r-igraph) + ("r-rbgl" ,r-rbgl))) + (home-page "http://bioconductor.org/packages/release/bioc/html/BioNet.html") + (synopsis "Functional analysis of biological networks") + (description + "This package provides functions for the integrated analysis of +protein-protein interaction networks and the detection of functional modules. +Different datasets can be integrated into the network by assigning p-values of +statistical tests to the nodes of the network. E.g. p-values obtained from +the differential expression of the genes from an Affymetrix array are assigned +to the nodes of the network. By fitting a beta-uniform mixture model and +calculating scores from the p-values, overall scores of network regions can be +calculated and an integer linear programming algorithm identifies the maximum +scoring subnetwork.") + (license license:gpl2+))) + +(define-public r-bionetstat + (package + (name "r-bionetstat") + (version "1.12.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BioNetStat" version)) + (sha256 + (base32 + "16xlfng9m8xvm831c2x6zmjc0gavlfiy9pnza55hdv86888fcnbg")))) + (properties `((upstream-name . "BioNetStat"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocparallel" ,r-biocparallel) + ("r-dt" ,r-dt) + ("r-ggplot2" ,r-ggplot2) + ("r-hmisc" ,r-hmisc) + ("r-igraph" ,r-igraph) + ("r-knitr" ,r-knitr) + ("r-markdown" ,r-markdown) + ("r-pathview" ,r-pathview) + ("r-pheatmap" ,r-pheatmap) + ("r-plyr" ,r-plyr) + ("r-psych" ,r-psych) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rjsonio" ,r-rjsonio) + ("r-rmarkdown" ,r-rmarkdown) + ("r-shiny" ,r-shiny) + ("r-shinybs" ,r-shinybs) + ("r-whisker" ,r-whisker) + ("r-yaml" ,r-yaml))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/jardimViniciusC/BioNetStat") + (synopsis "Biological network analysis") + (description + "This package provides a package to perform differential network +analysis, differential node analysis (differential coexpression analysis), +network and metabolic pathways view.") + (license license:gpl3+))) + +(define-public r-bioqc + (package + (name "r-bioqc") + (version "1.20.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BioQC" version)) + (sha256 + (base32 + "04akp94p0d0zid55m1b1k3qlw7iq914pcg57lihgj3pa92n1sc5l")))) + (properties `((upstream-name . "BioQC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-edger" ,r-edger) + ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://accio.github.io/BioQC/") + (synopsis "Detect tissue heterogeneity in expression profiles with gene sets") + (description + "BioQC performs quality control of high-throughput expression data based +on tissue gene signatures. It can detect tissue heterogeneity in gene +expression data. The core algorithm is a Wilcoxon-Mann-Whitney test that is +optimised for high performance.") + (license license:gpl3+))) + +(define-public r-biotip + (package + (name "r-biotip") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "BioTIP" version)) + (sha256 + (base32 + "1i6r8px0fmdjx8frpljppwql74mhx08ibvhs9y3qk91ck5h3f0js")))) + (properties `((upstream-name . "BioTIP"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cluster" ,r-cluster) + ("r-genomicranges" ,r-genomicranges) + ("r-hmisc" ,r-hmisc) + ("r-igraph" ,r-igraph) + ("r-mass" ,r-mass) + ("r-psych" ,r-psych) + ("r-stringr" ,r-stringr))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/xyang2uchicago/BioTIP") + (synopsis "R package for characterization of biological tipping-point") + (description + "This package adopts tipping-point theory to transcriptome profiles to +help unravel disease regulatory trajectory.") + (license license:gpl2))) + +(define-public r-biotmle + (package + (name "r-biotmle") + (version "1.16.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biotmle" version)) + (sha256 + (base32 + "01smkmbv40yprgrgi2gjnmi8ncqyrlkfdxsh33ki20amcx32nc7f")))) + (properties `((upstream-name . "biotmle"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-dofuture" ,r-dofuture) + ("r-dplyr" ,r-dplyr) + ("r-drtmle" ,r-drtmle) + ("r-future" ,r-future) + ("r-ggplot2" ,r-ggplot2) + ("r-ggsci" ,r-ggsci) + ("r-limma" ,r-limma) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-superheat" ,r-superheat) + ("r-tibble" ,r-tibble))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://code.nimahejazi.org/biotmle/") + (synopsis "Targeted learning with moderated statistics for biomarker discovery") + (description + "This package provides tools for differential expression biomarker +discovery based on microarray and next-generation sequencing data that +leverage efficient semiparametric estimators of the average treatment effect +for variable importance analysis. Estimation and inference of the (marginal) +average treatment effects of potential biomarkers are computed by targeted +minimum loss-based estimation, with joint, stable inference constructed across +all biomarkers using a generalization of moderated statistics for use with the +estimated efficient influence function. The procedure accommodates the use of +ensemble machine learning for the estimation of nuisance functions.") + (license license:expat))) + +(define-public r-bsseq + (package + (name "r-bsseq") + (version "1.28.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "bsseq" version)) + (sha256 + (base32 + "1xpv85hr681kkkilsnasndkszwmzbzq11y0lff4na2ilsm7sqmmi")))) + (properties `((upstream-name . "bsseq"))) + (build-system r-build-system) + (propagated-inputs + `(("r-beachmat" ,r-beachmat) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biostrings" ,r-biostrings) + ("r-bsgenome" ,r-bsgenome) + ("r-data-table" ,r-data-table) + ("r-delayedarray" ,r-delayedarray) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-gtools" ,r-gtools) + ("r-hdf5array" ,r-hdf5array) + ("r-iranges" ,r-iranges) + ("r-limma" ,r-limma) + ("r-locfit" ,r-locfit) + ("r-permute" ,r-permute) + ("r-r-utils" ,r-r-utils) + ("r-rcpp" ,r-rcpp) + ("r-rhdf5" ,r-rhdf5) + ("r-s4vectors" ,r-s4vectors) + ("r-scales" ,r-scales) + ("r-summarizedexperiment" ,r-summarizedexperiment))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/hansenlab/bsseq") + (synopsis "Analyze, manage and store bisulfite sequencing data") + (description + "This package provides a collection of tools for analyzing and +visualizing bisulfite sequencing data.") + (license license:artistic2.0))) + +(define-public r-dmrseq + (package + (name "r-dmrseq") + (version "1.12.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "dmrseq" version)) + (sha256 + (base32 + "1jbbjifjsnk9261wqmdwkbzj1w52g6vaanpk4w816ri0fap587m4")))) + (properties `((upstream-name . "dmrseq"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationhub" ,r-annotationhub) + ("r-annotatr" ,r-annotatr) + ("r-biocparallel" ,r-biocparallel) + ("r-bsseq" ,r-bsseq) + ("r-bumphunter" ,r-bumphunter) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-ggplot2" ,r-ggplot2) + ("r-iranges" ,r-iranges) + ("r-locfit" ,r-locfit) + ("r-matrixstats" ,r-matrixstats) + ("r-nlme" ,r-nlme) + ("r-outliers" ,r-outliers) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://bioconductor.org/packages/dmrseq") + (synopsis "Detection and inference of differentially methylated regions") + (description + "This package implements an approach for scanning the genome to detect +and perform accurate inference on differentially methylated regions from Whole +Genome Bisulfite Sequencing data. The method is based on comparing detected +regions to a pooled null distribution, that can be implemented even when as +few as two samples per population are available. Region-level statistics are +obtained by fitting a @dfn{generalized least squares} (GLS) regression model +with a nested autoregressive correlated error structure for the effect of +interest on transformed methylation proportions.") + (license license:expat))) + +(define-public r-biscuiteer + (package + (name "r-biscuiteer") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "biscuiteer" version)) + (sha256 + (base32 + "0f4kk4v2c5diq0fbvyvgwjd1kjk9izr6n9wfrlrr7wbx4pz3c3h6")))) + (properties `((upstream-name . "biscuiteer"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-biocparallel" ,r-biocparallel) + ("r-biscuiteerdata" ,r-biscuiteerdata) + ("r-bsseq" ,r-bsseq) + ("r-data-table" ,r-data-table) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-dmrseq" ,r-dmrseq) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicranges" ,r-genomicranges) + ("r-gtools" ,r-gtools) + ("r-hdf5array" ,r-hdf5array) + ("r-homo-sapiens" ,r-homo-sapiens) + ("r-impute" ,r-impute) + ("r-matrix" ,r-matrix) + ("r-matrixstats" ,r-matrixstats) + ("r-mus-musculus" ,r-mus-musculus) + ("r-qdnaseq" ,r-qdnaseq) + ("r-qualv" ,r-qualv) + ("r-r-utils" ,r-r-utils) + ("r-readr" ,r-readr) + ("r-rsamtools" ,r-rsamtools) + ("r-rtracklayer" ,r-rtracklayer) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-variantannotation" ,r-variantannotation))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/trichelab/biscuiteer") + (synopsis "Convenience functions for the Biscuit package") + (description + "This package provides a test harness for bsseq loading of Biscuit +output, summarization of WGBS data over defined regions and in mappable +samples, with or without imputation, dropping of mostly-NA rows, age +estimates, etc.") + (license license:gpl3))) + +(define-public r-tximeta + (package + (name "r-tximeta") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "tximeta" version)) + (sha256 + (base32 + "0ipgpcl93cac4qff6lp9x2l3gav5kb1x1d56g32h09hlm797rvvh")))) + (properties `((upstream-name . "tximeta"))) + (build-system r-build-system) + (propagated-inputs + `(("r-annotationdbi" ,r-annotationdbi) + ("r-annotationhub" ,r-annotationhub) + ("r-biocfilecache" ,r-biocfilecache) + ("r-biostrings" ,r-biostrings) + ("r-ensembldb" ,r-ensembldb) + ("r-genomeinfodb" ,r-genomeinfodb) + ("r-genomicfeatures" ,r-genomicfeatures) + ("r-genomicranges" ,r-genomicranges) + ("r-iranges" ,r-iranges) + ("r-jsonlite" ,r-jsonlite) + ("r-matrix" ,r-matrix) + ("r-s4vectors" ,r-s4vectors) + ("r-summarizedexperiment" ,r-summarizedexperiment) + ("r-tibble" ,r-tibble) + ("r-tximport" ,r-tximport))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/mikelove/tximeta") + (synopsis "Transcript quantification import with automatic metadata") + (description + "This package implements transcript quantification import from Salmon and +alevin with automatic attachment of transcript ranges and release information, +and other associated metadata. De novo transcriptomes can be linked to the +appropriate sources with linkedTxomes and shared for computational +reproducibility.") + (license license:gpl2))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 002b417b54..d91ff13b46 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Bonface Munyoki Kilyungi <bonfacemunyoki@gmail.com> ;;; Copyright © 2021 Tim Howes <timhowes@lavabit.com> ;;; Copyright © 2021 Hong Li <hli@mdc-berlin.de> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -103,6 +104,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages java-compression) #:use-module (gnu packages jemalloc) + #:use-module (gnu packages jupyter) #:use-module (gnu packages linux) #:use-module (gnu packages lisp-xyz) #:use-module (gnu packages logging) @@ -388,10 +390,10 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") ;; The sources are dual MIT/GPL, but becomes GPL-only when USE_GPL=1. (license (list license:gpl3+ license:expat)))) -(define-public bcftools-1.9 +(define-public bcftools-1.10 (package (inherit bcftools) (name "bcftools") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) (uri (string-append "https://github.com/samtools/bcftools/" @@ -399,15 +401,15 @@ transparently with both VCFs and BCFs, both uncompressed and BGZF-compressed.") version "/bcftools-" version ".tar.bz2")) (sha256 (base32 - "1j3h638i8kgihzyrlnpj82xg1b23sijibys9hvwari3fy7kd0dkg")) + "10xgwfdgqb6dsmr3ndnpb77mc3a38dy8kh2c6czn6wj7jhdp4dra")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled htslib. - (delete-file-recursively "htslib-1.9") + (delete-file-recursively "htslib-1.10") #t)))) (build-system gnu-build-system) (native-inputs - `(("htslib" ,htslib-1.9) + `(("htslib" ,htslib-1.10) ("perl" ,perl))))) (define-public bedops @@ -1213,14 +1215,14 @@ sequencing.") (define-public python-biopython (package (name "python-biopython") - (version "1.70") + (version "1.73") (source (origin (method url-fetch) ;; use PyPi rather than biopython.org to ease updating (uri (pypi-uri "biopython" version)) (sha256 (base32 - "0nz4n9d2y2dg849gn1z0vjlkwcpzzkzy3fij7x94a6ixy2c54z2a")))) + "1q55jhf76z3k6is3psis0ckbki7df26x7dikpcc3vhk1vhkwribh")))) (build-system python-build-system) (arguments `(#:phases @@ -2043,7 +2045,7 @@ has several key features: (define-public python-pysam (package (name "python-pysam") - (version "0.15.1") + (version "0.16.0.1") (source (origin (method git-fetch) ;; Test data is missing on PyPi. @@ -2053,7 +2055,7 @@ has several key features: (file-name (git-file-name name version)) (sha256 (base32 - "1vj367w6xbn9bpmksm162l1aipf7cj97h1q83y7jcpm33ihwpf7x")) + "168bwwm8c2k22m7paip8q0yajyl7xdxgnik0bgjl7rhqg0majz0f")) (modules '((guix build utils))) (snippet '(begin ;; Drop bundled htslib. TODO: Also remove samtools @@ -2073,36 +2075,37 @@ has several key features: (setenv "LDFLAGS" "-lncurses") (setenv "CFLAGS" "-D_CURSES_LIB=1"))) (replace 'check - (lambda _ - ;; This file contains tests that require a connection to the - ;; internet. - (delete-file "tests/tabix_test.py") + (lambda* (#:key tests? #:allow-other-keys) ;; FIXME: These tests fail with "AttributeError: 'array.array' ;; object has no attribute 'tostring'". (delete-file "tests/AlignmentFile_test.py") - (delete-file "tests/AlignedSegment_test.py") - ;; Step out of source dir so python does not import from CWD. - (with-directory-excursion "tests" - (setenv "HOME" "/tmp") - (invoke "make" "-C" "pysam_data") - (invoke "make" "-C" "cbcf_data") - ;; Running nosetests without explicitly asking for a single - ;; process leads to a crash. Running with multiple processes - ;; fails because the tests are not designed to run in parallel. - - ;; FIXME: tests keep timing out on some systems. - (invoke "nosetests" "-v" "--processes" "1"))))))) + (when tests? + ;; Step out of source dir so python does not import from CWD. + (with-directory-excursion "tests" + (setenv "HOME" "/tmp") + (invoke "make" "-C" "pysam_data") + (invoke "make" "-C" "cbcf_data") + (invoke "pytest" "-k" + (string-append + ;; requires network access. + "not FileHTTP" + ;; bug in test suite with samtools update + ;; https://github.com/pysam-developers/pysam/issues/961 + " and not TestHeaderBAM" + " and not TestHeaderCRAM" + " and not test_text_processing"))))))))) (propagated-inputs - `(("htslib" ,htslib-1.9))) ; Included from installed header files. + `(("htslib" ,htslib-1.10))) ; Included from installed header files. (inputs `(("ncurses" ,ncurses) ("curl" ,curl) ("zlib" ,zlib))) (native-inputs `(("python-cython" ,python-cython) + ("python-pytest" ,python-pytest) ;; Dependencies below are are for tests only. - ("samtools" ,samtools-1.9) - ("bcftools" ,bcftools-1.9) + ("samtools" ,samtools-1.10) + ("bcftools" ,bcftools-1.10) ("python-nose" ,python-nose))) (home-page "https://github.com/pysam-developers/pysam") (synopsis "Python bindings to the SAMtools C API") @@ -3108,9 +3111,9 @@ data and settings.") `(("texlive" ,(texlive-updmap.cfg (list texlive-cm texlive-amsfonts - texlive-latex-doi + texlive-doi texlive-latex-examplep - texlive-latex-hyperref + texlive-hyperref texlive-latex-ms texlive-latex-natbib texlive-bibtex ; style files used by natbib @@ -3589,7 +3592,7 @@ results. The FASTX-Toolkit tools perform some of these preprocessing tasks.") ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config) - ("seqan" ,seqan))) + ("seqan" ,seqan-2))) (home-page "https://github.com/seqan/flexbar") (synopsis "Barcode and adapter removal tool for sequencing platforms") (description @@ -4532,7 +4535,7 @@ The main functions of FastQC are: (define-public fastp (package (name "fastp") - (version "0.14.1") + (version "0.20.1") (source (origin (method git-fetch) @@ -4542,19 +4545,18 @@ The main functions of FastQC are: (file-name (git-file-name name version)) (sha256 (base32 - "1r6ms5zbf5rps4rgp4z73nczadl00b5rqylw8f684isfz27dp0xh")))) + "0ly8mxdvrcy23jwxyppysx3dhb1lwsqhfbgpyvargxhfk6k700x4")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; there are none #:make-flags - (list (string-append "BINDIR=" (assoc-ref %outputs "out") "/bin")) + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete 'configure) (add-before 'install 'create-target-dir (lambda* (#:key outputs #:allow-other-keys) - (mkdir-p (string-append (assoc-ref outputs "out") "/bin")) - #t))))) + (mkdir-p (string-append (assoc-ref outputs "out") "/bin"))))))) (inputs `(("zlib" ,zlib))) (home-page "https://github.com/OpenGene/fastp/") @@ -4603,6 +4605,19 @@ data. It also provides the @command{bgzip}, @command{htsfile}, and ;; the rest is released under the Expat license (license (list license:expat license:bsd-3)))) +(define-public htslib-1.10 + (package (inherit htslib) + (name "htslib") + (version "1.10") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/samtools/htslib/releases/download/" + version "/htslib-" version ".tar.bz2")) + (sha256 + (base32 + "0wm9ay7qgypj3mwx9zl1mrpnr36298b1aj5vx69l4k7bzbclvr3s")))))) + (define-public htslib-1.9 (package (inherit htslib) (name "htslib") @@ -6051,10 +6066,10 @@ variant calling (in conjunction with bcftools), and a simple alignment viewer.") (license license:expat))) -(define-public samtools-1.9 +(define-public samtools-1.10 (package (inherit samtools) (name "samtools") - (version "1.9") + (version "1.10") (source (origin (method url-fetch) @@ -6063,14 +6078,14 @@ viewer.") version "/samtools-" version ".tar.bz2")) (sha256 (base32 - "10ilqbmm7ri8z431sn90lvbjwizd0hhkf9rcqw8j823hf26nhgq8")) + "119ms0dpydw8dkh3zc4yyw9zhdzgv12px4l2kayigv31bpqcb7kv")) (modules '((guix build utils))) (snippet '(begin ;; Delete bundled htslib. - (delete-file-recursively "htslib-1.9") + (delete-file-recursively "htslib-1.10") #t)))) (inputs - `(("htslib" ,htslib-1.9) + `(("htslib" ,htslib-1.10) ("ncurses" ,ncurses) ("perl" ,perl) ("python" ,python) @@ -6706,6 +6721,39 @@ writing files into the .sra format.") (define-public seqan (package (name "seqan") + (version "3.0.3") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/seqan/seqan3/releases/" + "download/" version "/seqan3-" + version "-Source.tar.xz")) + (sha256 + (base32 + "1h2z0cvgidhkmh5xsbw75waqbrqbbv6kkrvb0b92xfh3gqpaiz22")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "ctest" "test" "--output-on-failure")))))) + (native-inputs + `(("bzip2" ,bzip2) + ("cereal" ,cereal) + ("zlib" ,zlib))) + (home-page "https://www.seqan.de") + (synopsis "Library for nucleotide sequence analysis") + (description + "SeqAn is a C++ library of efficient algorithms and data structures for +the analysis of sequences with the focus on biological data. It contains +algorithms and data structures for string representation and their +manipulation, online and indexed string search, efficient I/O of +bioinformatics file formats, sequence alignment, and more.") + (license license:bsd-3))) + +(define-public seqan-2 + (package + (inherit seqan) (version "2.4.0") (source (origin (method url-fetch) @@ -6737,16 +6785,7 @@ writing files into the .sra format.") (native-inputs `(("source" ,source) ("tar" ,tar) - ("xz" ,xz))) - (home-page "https://www.seqan.de") - (synopsis "Library for nucleotide sequence analysis") - (description - "SeqAn is a C++ library of efficient algorithms and data structures for -the analysis of sequences with the focus on biological data. It contains -algorithms and data structures for string representation and their -manipulation, online and indexed string search, efficient I/O of -bioinformatics file formats, sequence alignment, and more.") - (license license:bsd-3))) + ("xz" ,xz))))) (define-public seqan-1 (package (inherit seqan) @@ -7750,7 +7789,7 @@ data. It also generates basic statistics for your sequences.") ,(version-major+minor (package-version python)) "/site-packages")) - (pythonpath (getenv "PYTHONPATH")) + (pythonpath (getenv "GUIX_PYTHONPATH")) (script (string-append out "/bin/shorah"))) (chmod script #o555) (wrap-program script `("PYTHONPATH" ":" prefix (,site ,pythonpath)))))) @@ -9310,6 +9349,54 @@ using nucleotide or amino-acid sequence data.") ;; GPLv3 only (license license:gpl3))) +(define-public segemehl + (package + (name "segemehl") + (version "0.3.4") + (source (origin + (method url-fetch) + (uri (string-append "https://www.bioinf.uni-leipzig.de/Software" + "/segemehl/downloads/segemehl-" + version ".tar.gz")) + (sha256 + (base32 + "0lbzbb7i8zadsn9b99plairhq6s2h1z8qdn6n7djclfis01nycz4")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "all") + #:tests? #false ; there are none + #:phases + (modify-phases %standard-phases + (delete 'configure) + ;; There is no installation target + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (exes (list "segemehl.x" "haarz.x"))) + (mkdir-p bin) + (for-each (lambda (exe) + (install-file exe bin)) + exes))))))) + (inputs + `(("htslib" ,htslib) + ("ncurses" ,ncurses) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://www.bioinf.uni-leipzig.de/Software/segemehl") + (synopsis "Map short sequencer reads to reference genomes") + (description "Segemehl is software to map short sequencer reads to +reference genomes. Segemehl implements a matching strategy based on enhanced +suffix arrays (ESA). It accepts fasta and fastq queries (gzip'ed and +bgzip'ed). In addition to the alignment of reads from standard DNA- and +RNA-seq protocols, it also allows the mapping of bisulfite converted +reads (Lister and Cokus) and implements a split read mapping strategy. The +output of segemehl is a SAM or BAM formatted alignment file.") + (license license:gpl3+))) + (define-public kallisto (package (name "kallisto") @@ -10294,7 +10381,7 @@ once. This package provides tools to perform Drop-seq analyses.") (define-public pigx-rnaseq (package (name "pigx-rnaseq") - (version "0.0.17") + (version "0.0.19") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/" @@ -10302,7 +10389,7 @@ once. This package provides tools to perform Drop-seq analyses.") "/pigx_rnaseq-" version ".tar.gz")) (sha256 (base32 - "0k9zj50bij3sjwq08v8l8waddcx8k66m3vdq8mx5vc23p19qz42s")))) + "1ja3bda1appxrzbfy7wp7khy30mm7lic8xbq3gkbpc5bld3as9cm")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; not supported @@ -10585,7 +10672,7 @@ based methods.") (define-public pigx-sars-cov2-ww (package (name "pigx-sars-cov2-ww") - (version "0.0.2") + (version "0.0.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_sarscov2_ww/" @@ -10593,7 +10680,7 @@ based methods.") "/pigx_sars-cov2-ww-" version ".tar.gz")) (sha256 (base32 - "0yrbza7lbzijjc8ifk06b646n959a4k7id94x3ndz795892f64l0")))) + "1hhdbwsnl0d37lrmisw5hr630xr8s41qvxflm05anh11rj8n22yw")))) (build-system gnu-build-system) (inputs `(("bash-minimal" ,bash-minimal) @@ -11300,38 +11387,53 @@ implementation differs in these ways: (define-public python-scanpy (package (name "python-scanpy") - (version "1.7.2") + (version "1.8.1") (source (origin - (method url-fetch) - (uri (pypi-uri "scanpy" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/theislab/scanpy") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0c66adnfizsyk0h8bv2yhmay876z0klpxwpn4z6m71wly7yplpmd")))) + "0w1qmv3djqi8q0sn5hv34ivzs157fwjjb9nflfnagnhpxmw8vx5g")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases + (replace 'build + (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version) + ;; ZIP does not support timestamps before 1980. + (setenv "SOURCE_DATE_EPOCH" "315532800") + (invoke "flit" "build"))) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (let ((out (assoc-ref outputs "out"))) + (for-each (lambda (wheel) + (format #true wheel) + (invoke "python" "-m" "pip" "install" + wheel (string-append "--prefix=" out))) + (find-files "dist" "\\.whl$"))))) (replace 'check (lambda* (#:key inputs #:allow-other-keys) ;; These tests require Internet access. (delete-file-recursively "scanpy/tests/notebooks") (delete-file "scanpy/tests/test_clustering.py") (delete-file "scanpy/tests/test_datasets.py") + (delete-file "scanpy/tests/test_score_genes.py") (delete-file "scanpy/tests/test_highly_variable_genes.py") ;; TODO: I can't get the plotting tests to work, even with Xvfb. - (delete-file "scanpy/tests/test_plotting.py") + (delete-file "scanpy/tests/test_embedding_plots.py") (delete-file "scanpy/tests/test_preprocessing.py") (delete-file "scanpy/tests/test_read_10x.py") - ;; The following tests need anndata.tests, which aren't included - ;; in the final python-anndata package. - (delete-file "scanpy/tests/test_combat.py") - (delete-file "scanpy/tests/test_embedding_plots.py") - (delete-file "scanpy/tests/test_normalization.py") - (delete-file "scanpy/tests/test_pca.py") - (delete-file "scanpy/tests/external/test_scrublet.py") + ;; TODO: these fail with TypingError and "Use of unsupported + ;; NumPy function 'numpy.split'". + (delete-file "scanpy/tests/test_metrics.py") ;; The following tests requires 'scanorama', which isn't ;; packaged yet. @@ -11339,8 +11441,24 @@ implementation differs in these ways: (setenv "PYTHONPATH" (string-append (getcwd) ":" + (assoc-ref inputs "python-anndata:source") ":" (getenv "PYTHONPATH"))) - (invoke "pytest")))))) + (invoke "pytest" "-vv" + "-k" + ;; Plot tests that fail. + (string-append "not test_dotplot_matrixplot_stacked_violin" + " and not test_violin_without_raw" + " and not test_correlation" + " and not test_scatterplots" + " and not test_scatter_embedding_add_outline_vmin_vmax_norm" + " and not test_paga" + " and not test_paga_compare" + + ;; These try to connect to the network + " and not test_plot_rank_genes_groups_gene_symbols" + " and not test_pca_chunked" + " and not test_pca_sparse" + " and not test_pca_reproducible"))))))) (propagated-inputs `(("python-anndata" ,python-anndata) ("python-h5py" ,python-h5py) @@ -11358,16 +11476,19 @@ implementation differs in these ways: ("python-scikit-learn" ,python-scikit-learn) ("python-scipy" ,python-scipy) ("python-seaborn" ,python-seaborn) + ("python-sinfo" ,python-sinfo) ("python-statsmodels" ,python-statsmodels) ("python-tables" ,python-tables) ("python-pytoml" ,python-pytoml) ("python-tqdm" ,python-tqdm) ("python-umap-learn" ,python-umap-learn))) (native-inputs - `(("python-leidenalg" ,python-leidenalg) + `(;; This package needs anndata.tests, which is not installed. + ("python-anndata:source" ,(package-source python-anndata)) + ("python-flit" ,python-flit) + ("python-leidenalg" ,python-leidenalg) ("python-pytest" ,python-pytest) - ("python-setuptools-scm" ,python-setuptools-scm) - ("python-sinfo" ,python-sinfo))) + ("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/theislab/scanpy") (synopsis "Single-Cell Analysis in Python.") (description "Scanpy is a scalable toolkit for analyzing single-cell gene @@ -12689,7 +12810,7 @@ to an artifact/contaminant file.") ("zlib" ,zlib))) (native-inputs `(("texlive" ,(texlive-updmap.cfg (list texlive-latex-graphics - texlive-latex-hyperref))))) + texlive-hyperref))))) (home-page "https://www.ebi.ac.uk/~zerbino/velvet/") (synopsis "Nucleic acid sequence assembler for very short reads") (description @@ -12991,28 +13112,32 @@ downstream analysis.") ("taxtastic" ,taxtastic))) (synopsis "Pplacer Python scripts"))) -(define-public python2-checkm-genome +(define-public checkm (package - (name "python2-checkm-genome") - (version "1.0.13") + (name "checkm") + (version "1.1.3") (source (origin (method url-fetch) (uri (pypi-uri "checkm-genome" version)) (sha256 (base32 - "0bm8gpxjmzxsxxl8lzwqhgx8g1dlnmp6znz7wv3hgb0gdjbf9dzz")))) + "0i2nnki639hgjag17wlva2x0ymn37b4krqsf6akxddykhfbkdnkz")))) (build-system python-build-system) (arguments - `(#:python ,python-2 - #:tests? #f)) ; some tests are interactive - (propagated-inputs - `(("python-dendropy" ,python2-dendropy) - ("python-matplotlib" ,python2-matplotlib) - ("python-numpy" ,python2-numpy) - ("python-pysam" ,python2-pysam) - ("python-scipy" ,python2-scipy))) - (home-page "https://pypi.org/project/Checkm/") + `(#:tests? #f ; Some tests fail for unknown reasons. + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-HOME + (lambda _ + (setenv "HOME" "/tmp")))))) + (inputs + `(("python-dendropy" ,python-dendropy) + ("python-matplotlib" ,python-matplotlib) + ("python-numpy" ,python-numpy) + ("python-pysam" ,python-pysam) + ("python-scipy" ,python-scipy))) + (home-page "https://ecogenomics.github.io/CheckM/") (synopsis "Assess the quality of putative genome bins") (description "CheckM provides a set of tools for assessing the quality of genomes @@ -13027,6 +13152,9 @@ on marker set compatibility, similarity in genomic characteristics, and proximity within a reference genome.") (license license:gpl3+))) +(define-public python2-checkm-genome + (deprecated-package "python2-checkm-genome" checkm)) + (define-public umi-tools (package (name "umi-tools") @@ -14109,6 +14237,32 @@ sequencing (e.g. mapping or base/indel alignment uncertainty), which are usually ignored by other methods or only used for filtering.") (license license:expat))) +(define-public ivar + (package + (name "ivar") + (version "1.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/andersen-lab/ivar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "044xa0hm3b8fga64csrdx05ih8w7kwmvcdrdrhkg8j11ml4bi4xv")))) + (build-system gnu-build-system) + (inputs + `(("htslib" ,htslib) + ("zlib" ,zlib))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake))) + (home-page "https://andersen-lab.github.io/ivar/html/") + (synopsis "Tools for amplicon-based sequencing") + (description "iVar is a computational package that contains functions +broadly useful for viral amplicon-based sequencing. ") + (license license:gpl3+))) + (define-public python-pyliftover (package (name "python-pyliftover") @@ -14490,3 +14644,551 @@ quantifying single-cell chromatin data, computing per-cell quality control metrics, dimension reduction and normalization, visualization, and DNA sequence motif analysis.") (license license:expat)))) + +(define-public tombo + (package + (name "tombo") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "ont-tombo" version)) + (sha256 + (base32 + "1023hadgcsgi53kz53ql45207hfizf9sw57z0qij3ay1bx68zbpm")))) + (build-system python-build-system) + (native-inputs + `(("python-cython" ,python-cython) + ("python-nose2" ,python-nose2))) + ;; The package mainly consists of a command-line tool, but also has a + ;; Python-API. Thus these must be propagated. + (propagated-inputs + `(("python-future" ,python-future) + ("python-h5py" ,python-h5py) + ("python-mappy" ,python-mappy) + ("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-tqdm" ,python-tqdm) + ("python-rpy2" ,python-rpy2))) + (home-page "https://github.com/nanoporetech/tombo") + (synopsis "Analysis of raw nanopore sequencing data") + (description "Tombo is a suite of tools primarily for the identification of +modified nucleotides from nanopore sequencing data. Tombo also provides tools +for the analysis and visualization of raw nanopore signal.") + ;; Some parts may be BSD-3-licensed. + (license license:mpl2.0))) + +(define-public python-pyvcf + (package + (name "python-pyvcf") + (version "0.6.8") + ;; Use git, because the PyPI tarballs lack test data. + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jamescasbon/PyVCF.git") + ;; Latest release is not tagged. + (commit "bfcedb9bad1a14074ac4526ffdb610611e073810"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0c7lsssns3zp8fh2ibllzzra003srg9vbxqzmq6654akbzdb7lrf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'remove-installed-tests + ;; Do not install test files. + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file-recursively (string-append + (site-packages inputs outputs) + "vcf/test")) + #t))))) + (native-inputs `(("python-cython" ,python-cython))) + (propagated-inputs + `(("python-pysam" ,python-pysam) + ("python-rpy2" ,python-rpy2))) + (home-page "https://github.com/jamescasbon/PyVCF") + (synopsis "Variant Call Format parser for Python") + (description "This package provides a @acronym{VCF,Variant Call Format} +parser for Python.") + (license license:expat))) + +(define-public nanosv + (package + (name "nanosv") + (version "1.2.4") + (source (origin + (method url-fetch) + (uri (pypi-uri "NanoSV" version)) + (sha256 + (base32 + "1wl2daj0bwrl8fx5xi8j8hfs3mp3vg3qycy66538n032v1qkc6xg")))) + (build-system python-build-system) + (inputs + `(("python-configparser" ,python-configparser) + ("python-pysam" ,python-pysam) + ("python-pyvcf" ,python-pyvcf))) + (home-page "https://github.com/mroosmalen/nanosv") + (synopsis "Structural variation detection tool for Oxford Nanopore data.") + (description "NanoSV is a software package that can be used to identify +structural genomic variations in long-read sequencing data, such as data +produced by Oxford Nanopore Technologies’ MinION, GridION or PromethION +instruments, or Pacific Biosciences RSII or Sequel sequencers.") + (license license:expat))) + +(define-public python-strawc + (package + (name "python-strawc") + (version "0.0.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "strawC" version)) + (sha256 + (base32 + "1z1gy8n56lhriy6hdkh9r82ndikndipq2cy2wh8q185qig4rimr6")))) + (build-system python-build-system) + (inputs + `(("curl" ,curl) + ("zlib" ,zlib))) + (propagated-inputs + `(("pybind11" ,pybind11))) + (home-page "https://github.com/aidenlab/straw") + (synopsis "Stream data from .hic files") + (description "Straw is library which allows rapid streaming of contact +data from @file{.hic} files. This package provides Python bindings.") + (license license:expat))) + +(define-public python-pybbi + (package + (name "python-pybbi") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pybbi" version)) + (sha256 + (base32 + "1hvy2f28i2b41l1pq15vciqbj538n0lichp8yr6413jmgg06xdsk")))) + (build-system python-build-system) + (arguments + `(#:tests? #false ; tests require network access + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-cc + (lambda _ (setenv "CC" "gcc"))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (copy-recursively "tests" "/tmp/tests") + (with-directory-excursion "/tmp/tests" + (invoke "python" "-m" "pytest" "-v")))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-pkgconfig" ,python-pkgconfig) + ("python-pytest" ,python-pytest))) + (inputs + `(("libpng" ,libpng) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (propagated-inputs + `(("python-cython" ,python-cython) + ("python-numpy" ,python-numpy) + ("python-pandas" ,python-pandas) + ("python-six" ,python-six))) + (home-page "https://github.com/nvictus/pybbi") + (synopsis "Python bindings to UCSC Big Binary file library") + (description + "This package provides Python bindings to the UCSC Big +Binary (bigWig/bigBed) file library. This provides read-level access to local +and remote bigWig and bigBed files but no write capabilitites. The main +feature is fast retrieval of range queries into numpy arrays.") + (license license:expat))) + +(define-public python-dna-features-viewer + (package + (name "python-dna-features-viewer") + (version "3.0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "dna_features_viewer" version)) + (sha256 + (base32 + "0vci6kg2id6r6rh3cifq7ccnh7j0mb8iqg3hji6rva0ayrdqzafc")))) + (build-system python-build-system) + (arguments '(#:tests? #false)) ; there are none + (propagated-inputs + `(("python-biopython" ,python-biopython) + ("python-matplotlib" ,python-matplotlib))) + (home-page + "https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer") + (synopsis "Plot features from DNA sequences") + (description + "DNA Features Viewer is a Python library to visualize DNA features, +e.g. from GenBank or Gff files, or Biopython SeqRecords.") + (license license:expat))) + +(define-public python-coolbox + (package + (name "python-coolbox") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (pypi-uri "coolbox" version)) + (sha256 + (base32 + "0gqp76285w9klswr47y6kxbzwhv033b26jfa179kccfhiaq5p2xa")))) + (build-system python-build-system) + (arguments '(#:tests? #false)) ; there are none + (inputs + `(("pybind11" ,pybind11))) + (propagated-inputs + `(("python-cooler" ,python-cooler) + ("python-dna-features-viewer" ,python-dna-features-viewer) + ("python-fire" ,python-fire) + ("python-h5py" ,python-h5py) + ("python-intervaltree" ,python-intervaltree) + ("python-ipywidgets" ,python-ipywidgets) + ("jupyter" ,jupyter) + ("python-matplotlib" ,python-matplotlib) + ("python-nbformat" ,python-nbformat) + ("python-numpy" ,python-numpy) + ("python-numpydoc" ,python-numpydoc) + ("python-pandas" ,python-pandas) + ("python-pybbi" ,python-pybbi) + ("python-pytest" ,python-pytest) + ("python-scipy" ,python-scipy) + ("python-statsmodels" ,python-statsmodels) + ("python-strawc" ,python-strawc) + ("python-svgutils" ,python-svgutils) + ("python-termcolor" ,python-termcolor) + ("python-voila" ,python-voila))) + (home-page "https://github.com/GangCaoLab/CoolBox") + (synopsis "Genomic data visualization toolkit") + (description + "CoolBox is a toolkit for visual analysis of genomics data. It aims to +be highly compatible with the Python ecosystem, easy to use and highly +customizable with a well-designed user interface. It can be used in various +visualization situations, for example, to produce high-quality genome track +plots or fetch common used genomic data files with a Python script or command +line, interactively explore genomic data within Jupyter environment or web +browser.") + (license license:gpl3+))) + +(define-public scregseg + (package + (name "scregseg") + (version "0.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BIMSBbioinfo/scregseg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1k8hllr5if6k2mm2zj391fv40sfc008cjm04l9vgfsdppb80i112")))) + (build-system python-build-system) + (arguments + `(#:tests? #false ; tests require network access + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'do-not-fail-to-find-sklearn + (lambda _ + ;; XXX: I have no idea why it cannot seem to find sklearn. + (substitute* "setup.py" + (("'sklearn',") ""))))))) + (native-inputs + `(("python-cython" ,python-cython))) + (propagated-inputs + `(("python-scikit-learn" ,python-scikit-learn) + ("python-scipy" ,python-scipy) + ("python-numpy" ,python-numpy) + ("python-hmmlearn" ,python-hmmlearn) + ("python-pandas" ,python-pandas) + ("python-numba" ,python-numba) + ("python-anndata" ,python-anndata) + ("python-scanpy" ,python-scanpy) + ("python-pybedtools" ,python-pybedtools) + ("python-pysam" ,python-pysam) + ("python-matplotlib" ,python-matplotlib) + ("python-seaborn" ,python-seaborn) + ("python-coolbox" ,python-coolbox))) + (home-page "https://github.com/BIMSBbioinfo/scregseg") + (synopsis "Single-cell regulatory landscape segmentation") + (description "Scregseg (Single-Cell REGulatory landscape SEGmentation) is a +tool that facilitates the analysis of single cell ATAC-seq data by an +HMM-based segmentation algorithm. Scregseg uses an HMM with +Dirichlet-Multinomial emission probabilities to segment the genome either +according to distinct relative cross-cell accessibility profiles or (after +collapsing the single-cell tracks to pseudo-bulk tracks) to capture distinct +cross-cluster accessibility profiles.") + (license license:gpl3+))) + +(define-public megadepth + (package + (name "megadepth") + (version "1.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ChristopherWilks/megadepth") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hj69d2dgmk2zwgazik7xzc04fxxlk93p888kpgc52fmhd95qph7")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #false ; some tests seem to require connection to + ; www.ebi.ac.uk; this may be caused by htslib. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'prepare-CMakeLists.txt + (lambda _ + (rename-file "CMakeLists.txt.ci" "CMakeLists.txt") + (substitute* "CMakeLists.txt" + (("`cat ../VERSION`") ,version) + (("target_link_libraries\\(megadepth_static") "#") + (("target_link_libraries\\(megadepth_statlib") "#") + (("add_executable\\(megadepth_static") "#") + (("add_executable\\(megadepth_statlib") "#")) + + (substitute* "tests/test.sh" + ;; Disable remote test + (("./megadepth http://stingray.cs.jhu.edu/data/temp/test.bam") "#") + ;; Prior to installation the binary's name differs from what + ;; the test script assumes. + (("./megadepth") "../build/megadepth_dynamic")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "../source" + (invoke "bash" "tests/test.sh" "use-local-test-data"))))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (copy-file "megadepth_dynamic" + (string-append bin "/megadepth")))))))) + (native-inputs + `(("diffutils" ,diffutils) + ("perl" ,perl) + ("grep" ,grep))) + (inputs + `(("curl" ,curl) + ("htslib" ,htslib) + ("libdeflate" ,libdeflate) + ("libbigwig" ,libbigwig) + ("zlib" ,zlib))) + (home-page "https://github.com/ChristopherWilks/megadepth") + (synopsis "BigWig and BAM/CRAM related utilities") + (description "Megadepth is an efficient tool for extracting coverage +related information from RNA and DNA-seq BAM and BigWig files. It supports +reading whole-genome coverage from BAM files and writing either indexed TSV or +BigWig files, as well as efficient region coverage summary over intervals from +both types of files.") + (license license:expat))) + +(define-public r-ascat + (package + (name "r-ascat") + (version "2.5.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Crick-CancerGenomics/ascat.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cc0y3as6cb64iwnx0pgbajiig7m4z723mns9d5i4j09ccid3ccm")))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'move-to-ascat-dir + (lambda _ + (chdir "ASCAT")))))) + (propagated-inputs + `(("r-rcolorbrewer" ,r-rcolorbrewer))) + (home-page "https://github.com/VanLoo-lab/ascat/") + (synopsis "Allele-Specific Copy Number Analysis of Tumors in R") + (description "This package provides the @acronym{ASCAT,Allele-Specific Copy +Number Analysis of Tumors} R package that can be used to infer tumour purity, +ploidy and allele-specific copy number profiles.") + (license license:gpl3))) + +(define-public r-battenberg + (package + (name "r-battenberg") + (version "2.2.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Wedge-lab/battenberg.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nmcq4c7y5g8h8lxsq9vadz9bj4qgqn118alip520ny6czaxki4h")))) + (build-system r-build-system) + (propagated-inputs + `(("r-devtools" ,r-devtools) + ("r-readr" ,r-readr) + ("r-doparallel" ,r-doparallel) + ("r-ggplot2" ,r-ggplot2) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-gridextra" ,r-gridextra) + ("r-gtools" ,r-gtools) + ("r-ascat" ,r-ascat))) + (home-page "https://github.com/Wedge-lab/battenberg") + (synopsis "Subclonal copy number estimation in R") + (description "This package contains the Battenberg R package for subclonal +copy number estimation, as described by +@url{doi:10.1016/j.cell.2012.04.023,Nik-Zainal et al.}") + (license license:gpl3))) + +(define-public r-catch + (let ((commit "196ddd5a51b1a5f5daa01de53fdaad9b7505e084") + (revision "1")) + (package + (name "r-catch") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zhanyinx/CaTCH") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "11c7f1fc8f57wnwk1hrgr5y814m80zj8gkz5021vxyxy2v02cqgd")))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "CaTCH")))))) + (home-page "https://github.com/zhanyinx/CaTCH_R") + (synopsis "Call a hierarchy of domains based on Hi-C data") + (description "This package allows building the hierarchy of domains +starting from Hi-C data. Each hierarchical level is identified by a minimum +value of physical insulation between neighboring domains.") + (license license:gpl2+)))) + +(define-public r-spectre + (let ((commit "f6648ab3eb9499300d86502b5d60ec370ae9b61a") + (revision "1")) + (package + (name "r-spectre") + (version (git-version "0.5.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ImmuneDynamics/Spectre") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0g38grrhbqqa4bmcilvdyawbkcnax6k4vffx2giywp18mbirmj0x")))) + (properties `((upstream-name . "Spectre"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocmanager" ,r-biocmanager) + ("r-caret" ,r-caret) + ("r-class" ,r-class) + ("r-colorramps" ,r-colorramps) + ("r-data-table" ,r-data-table) + ("r-devtools" ,r-devtools) + ("r-dplyr" ,r-dplyr) + ("r-exactextractr" ,r-exactextractr) + ("r-factoextra" ,r-factoextra) + ("r-flowcore" ,r-flowcore) + ("r-flowsom" ,r-flowsom) + ("r-flowviz" ,r-flowviz) + ("r-fnn" ,r-fnn) + ("r-ggplot2" ,r-ggplot2) + ("r-ggpointdensity" ,r-ggpointdensity) + ("r-ggpubr" ,r-ggpubr) + ("r-ggraph" ,r-ggraph) + ("r-ggthemes" ,r-ggthemes) + ("r-gridextra" ,r-gridextra) + ("r-gridextra" ,r-gridextra) + ("r-gtools" ,r-gtools) + ("r-hdf5array" ,r-hdf5array) + ("r-irlba" ,r-irlba) + ("r-pheatmap" ,r-pheatmap) + ("r-plyr" ,r-plyr) + ("r-qs" ,r-qs) + ("r-raster" ,r-raster) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rgeos" ,r-rgeos) + ("r-rhdf5" ,r-rhdf5) + ("r-rstudioapi" ,r-rstudioapi) + ("r-rsvd" ,r-rsvd) + ("r-rtsne" ,r-rtsne) + ("r-s2" ,r-s2) + ("r-scales" ,r-scales) + ("r-sf" ,r-sf) + ("r-sp" ,r-sp) + ("r-stars" ,r-stars) + ("r-stringr" ,r-stringr) + ("r-tidygraph" ,r-tidygraph) + ("r-tidyr" ,r-tidyr) + ("r-tidyr" ,r-tidyr) + ("r-tiff" ,r-tiff) + ("r-umap" ,r-umap))) + (home-page "https://github.com/ImmuneDynamics/Spectre") + (synopsis "High-dimensional cytometry and imaging analysis") + (description + "This package provides a computational toolkit in R for the +integration, exploration, and analysis of high-dimensional single-cell +cytometry and imaging data.") + (license license:expat)))) + +(define-public r-cytonorm + (let ((commit "e4b9d343ee65db3c422800f1db3e77c25abde987") + (revision "1")) + (package + (name "r-cytonorm") + (version (git-version "0.0.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/saeyslab/CytoNorm") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0h2rdy15i4zymd4dv60n5w0frbsdbmzpv99dgm0l2dn041qv7fah")))) + (properties `((upstream-name . "CytoNorm"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cytoml" ,r-cytoml) + ("r-dplyr" ,r-dplyr) + ("r-emdist" ,r-emdist) + ("r-flowcore" ,r-flowcore) + ("r-flowsom" ,r-flowsom) + ("r-flowworkspace" ,r-flowworkspace) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-pheatmap" ,r-pheatmap) + ("r-stringr" ,r-stringr))) + (home-page "https://github.com/saeyslab/CytoNorm") + (synopsis "Normalize cytometry data measured across multiple batches") + (description + "This package can be used to normalize cytometry samples when a control +sample is taken along in each of the batches. This is done by first +identifying multiple clusters/cell types, learning the batch effects from the +control samples and applying quantile normalization on all markers of +interest.") + (license license:gpl2+)))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index e17e04dcfe..46ff706e3e 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -90,6 +90,10 @@ (list (string-append "--localedir=" (assoc-ref %outputs "gui") "/share/locale")) + ;; Some tests segfault when using libevent 2.12 without internet + ;; connection. This has been reported mainstream but not fixed yet: + ;; https://github.com/transmission/transmission/issues/1437. + #:tests? #f #:glib-or-gtk-wrap-excluded-outputs '("out") #:phases (modify-phases %standard-phases diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index b4bf72224a..cc23d77cf8 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2018, 2019, 2020 Vagrant Cascadian <vagrant@debian.org> -;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; @@ -56,14 +56,15 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages sdl) + #:use-module (gnu packages serialization) #:use-module (gnu packages swig) #:use-module (gnu packages valgrind) #:use-module (gnu packages virtualization) #:use-module (gnu packages xorg) - #:use-module (gnu packages web) #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module (guix git-download) @@ -113,6 +114,8 @@ ;; calling the ‘true’ binary instead. Python is only needed during ;; bootstrapping (for genptl.py), not when building from a release. (list "PYTHON=true") + ;; Grub fails to load modules stripped with --strip-unneeded. + #:strip-flags '("--strip-debug" "--enable-deterministic-archives") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-stuff (lambda* (#:key native-inputs inputs #:allow-other-keys) @@ -492,20 +495,26 @@ tree binary files. These are board description files used by Linux and BSD.") ;; and https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io (search-patch "u-boot-rockchip-inno-usb.patch")) +(define %u-boot-sifive-prevent-relocating-initrd-fdt + ;; Fix boot in 2021.07 on Hifive unmatched, see + ;; https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246 + (search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch")) + (define u-boot (package (name "u-boot") - (version "2021.04") + (version "2021.07") (source (origin (patches - (list %u-boot-rockchip-inno-usb-patch)) + (list %u-boot-rockchip-inno-usb-patch + %u-boot-sifive-prevent-relocating-initrd-fdt)) (method url-fetch) (uri (string-append "https://ftp.denx.de/pub/u-boot/" "u-boot-" version ".tar.bz2")) (sha256 (base32 - "06p1vymf0dl6jc2xy5w7p42mpgppa46lmpm2ishmgsycnldqnhqd")))) + "0zm7igkdnz0w4ir8rfl2dislfrl0ip104grs5hvd30a5wkm7wari")))) (native-inputs `(("bc" ,bc) ("bison" ,bison) @@ -515,6 +524,7 @@ tree binary files. These are board description files used by Linux and BSD.") ("perl" ,perl) ("python" ,python) ("python-coverage" ,python-coverage) + ("python-pycryptodomex" ,python-pycryptodomex) ("python-pytest" ,python-pytest) ("swig" ,swig))) (build-system gnu-build-system) @@ -524,21 +534,6 @@ tree binary files. These are board description files used by Linux and BSD.") also initializes the boards (RAM etc).") (license license:gpl2+))) -(define-public u-boot-2021.07 - (package - (inherit u-boot) - (version "2021.07-rc4") - (source (origin - (patches - (list %u-boot-rockchip-inno-usb-patch)) - (method url-fetch) - (uri (string-append - "https://ftp.denx.de/pub/u-boot/" - "u-boot-" version ".tar.bz2")) - (sha256 - (base32 - "0bnsywgy2b0jxim5h9dc807lqk5kq8hvgf4lcsmffnc0hf4isv8p")))))) - (define-public u-boot-tools (package (inherit u-boot) @@ -567,9 +562,13 @@ also initializes the boards (RAM etc).") ;; This test would require git. (("\\./tools/patman/patman") (which "true")) ;; FIXME: test fails, needs further investiation - (("run_test \"binman\"") ": run_test \"binman\"") + (("run_test \"binman\"") "# run_test \"binman\"") + ;; FIXME: test_spl fails, needs further investiation + (("test_ofplatdata or test_handoff or test_spl") + "test_ofplatdata or test_handoff") ;; FIXME: code coverage not working - (("run_test \"binman code coverage\"") ": run_test \"binman code coverage\"") + (("run_test \"binman code coverage\"") + "# run_test \"binman code coverage\"") ;; This test would require internet access. (("\\./tools/buildman/buildman") (which "true"))) (substitute* "test/py/tests/test_sandbox_exit.py" @@ -715,9 +714,6 @@ board-independent tools."))) uboot-files) #t))))))))) -(define-public u-boot-vexpress - (make-u-boot-package "vexpress_ca9x4" "arm-linux-gnueabihf")) - (define-public u-boot-malta (make-u-boot-package "malta" "mips64el-linux-gnuabi64")) @@ -807,7 +803,34 @@ it fits within common partitioning schemes.") (make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf")) (define-public u-boot-nintendo-nes-classic-edition - (make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf")) + (let ((base (make-u-boot-package "Nintendo_NES_Classic_Edition" + "arm-linux-gnueabihf"))) + (package + (inherit base) + ;; Starting with 2019.01, FEL doesn't work anymore on A33. + (version "2018.11") + (source (origin + (method url-fetch) + (uri (string-append + "https://ftp.denx.de/pub/u-boot/" + "u-boot-" version ".tar.bz2")) + (sha256 + (base32 + "0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k")) + (patches (search-patches + "u-boot-nintendo-nes-serial.patch")))) + (description "U-Boot is a bootloader used mostly for ARM boards. It +also initializes the boards (RAM etc). + +This version is for the Nintendo NES Classic Edition. It is assumed that +you have added a serial port to pins PB0 and PB1 as described on +@url{https://linux-sunxi.org/Nintendo_NES_Classic_Edition}. + +In order to use FEL mode on the device, hold the Reset button on the +device while it's being turned on (and a while longer).") + (native-inputs + `(("python" ,python-2) + ,@(package-native-inputs base)))))) (define-public u-boot-wandboard (make-u-boot-package "wandboard" "arm-linux-gnueabihf")) @@ -873,15 +896,11 @@ to Novena upstream, does not load u-boot.img from the first partition.") (patches (search-patches "u-boot-riscv64-fix-extlinux.patch"))))))) -(define-public u-boot-sifive-fu540 - (make-u-boot-package "sifive_fu540" "riscv64-linux-gnu")) +(define-public u-boot-sifive-unleashed + (make-u-boot-package "sifive_unleashed" "riscv64-linux-gnu")) (define-public u-boot-sifive-unmatched - (let ((base (make-u-boot-package "sifive_unmatched" "riscv64-linux-gnu"))) - (package - (inherit base) - (version (package-version u-boot-2021.07)) - (source (package-source u-boot-2021.07))))) + (make-u-boot-package "sifive_unmatched" "riscv64-linux-gnu")) (define-public u-boot-rock64-rk3328 (let ((base (make-u-boot-package "rock64-rk3328" "aarch64-linux-gnu"))) @@ -925,7 +944,7 @@ to Novena upstream, does not load u-boot.img from the first partition.") (substitute-keyword-arguments (package-arguments base) ((#:phases phases) `(modify-phases ,phases - (add-after 'patch-rockpro64-config 'set-environment + (add-after 'unpack 'set-environment (lambda* (#:key inputs #:allow-other-keys) (setenv "BL31" (search-input-file inputs "/bl31.elf")))) @@ -939,9 +958,7 @@ to Novena upstream, does not load u-boot.img from the first partition.") (define-public u-boot-pinebook-pro-rk3399 (let ((base (make-u-boot-package "pinebook-pro-rk3399" "aarch64-linux-gnu"))) (package - (inherit base) - (version (package-version u-boot-2021.07)) - (source (package-source u-boot-2021.07)) + (inherit base) (arguments (substitute-keyword-arguments (package-arguments base) ((#:phases phases) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm index a6120baf96..9cd0cf9b9e 100644 --- a/gnu/packages/browser-extensions.scm +++ b/gnu/packages/browser-extensions.scm @@ -49,7 +49,7 @@ supported content to the Kodi media center.") (make-chromium-extension play-to-kodi)) (define uassets - (let ((commit "20d21ad7e92539660c7cde4c5884b3e234854264")) + (let ((commit "54e217d9051831d0d8856286a877962e0f592d45")) (origin (method git-fetch) (uri (git-reference @@ -58,12 +58,12 @@ supported content to the Kodi media center.") (file-name (git-file-name "uAssets" (string-take commit 9))) (sha256 (base32 - "1xcl4qnvjb4pv3fajpmycg1i0xqsah2qakhq2figvyrq991pldy1"))))) + "1xhxadm6qyph6kkq3gxg1rar1psb586mniwp7bkyj5zpzzj31wmj"))))) (define ublock-origin (package (name "ublock-origin") - (version "1.36.0") + (version "1.37.2") (home-page "https://github.com/gorhill/uBlock") (source (origin (method git-fetch) @@ -71,7 +71,7 @@ supported content to the Kodi media center.") (file-name (git-file-name name version)) (sha256 (base32 - "1r3aic18zkz8s3v1a2kffidp4swzbxnq0h8444bif9myjffnpxpj")))) + "1c1dh9kkimvahs9yw1hv67290h8xvmbl10film7g1wamdxydj97y")))) (build-system gnu-build-system) (outputs '("xpi" "firefox" "chromium")) (arguments diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index 9798cd12b2..01941f05d8 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -264,7 +264,7 @@ files and generates build instructions for the Ninja build system.") (define-public meson (package (name "meson") - (version "0.59.0") + (version "0.59.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/mesonbuild/meson/" @@ -272,7 +272,7 @@ files and generates build instructions for the Ninja build system.") version ".tar.gz")) (sha256 (base32 - "0xp45ihjkl90s4crzh9qmaajxq7invbv5k0yw3gl7dk4vycc4xp3")))) + "0v9m0bazhj48kwc8x3gkxg5c3kcvknvqfjlq22z6pm2h2r2nln6v")))) (build-system python-build-system) (arguments `(;; FIXME: Tests require many additional inputs and patching many diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index c05a5eac0a..a5ef2fff62 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -180,13 +180,13 @@ data units.") (define-public khal (package (name "khal") - (version "0.10.3") + (version "0.10.4") (source (origin (method url-fetch) (uri (pypi-uri "khal" version)) (sha256 (base32 - "0cm4xn871w3i99l3qmhv0bnv8q6rd1w3rip9sskyb5z59z0qzp9g")))) + "17qj1n2l39pnzk4vjrmql90z7908nivnzcc2g9nj1h31k859inrz")))) (build-system python-build-system) (arguments `(#:tests? #f ; The test suite is unreliable. See <https://bugs.gnu.org/44197> diff --git a/gnu/packages/ccache.scm b/gnu/packages/ccache.scm index 4ff0fb2ae0..77098658cf 100644 --- a/gnu/packages/ccache.scm +++ b/gnu/packages/ccache.scm @@ -31,21 +31,26 @@ (define-public ccache (package (name "ccache") - (version "4.3") + (version "4.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/ccache/ccache/releases/download/v" version "/ccache-" version ".tar.xz")) (sha256 - (base32 "1d4995lkmqshzfxlmbyn101m1rxs02yb8dgh4rl30p26hhhhyjjh")))) + (base32 "0qbmcs6c3m071vsd1ppa31r8s0dzpaw5y38z8ga1bz48rwpfl2xl")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) ; for test/run ("which" ,(@ (gnu packages base) which)))) (inputs `(("zlib" ,zlib) ("zstd" ,zstd "lib"))) (arguments - '(#:phases + '(;; Disable redis backend explicitly. Build system insists on present dependency + ;; or on explicit flag. + #:configure-flags + '("-DREDIS_STORAGE_BACKEND=OFF") + + #:phases (modify-phases %standard-phases (add-before 'configure 'setup-tests (lambda _ @@ -56,7 +61,7 @@ ;; Tests require a writable HOME. (lambda _ (setenv "HOME" (getenv "TMPDIR")) - #t))))) + #t))))) (home-page "https://ccache.dev/") (synopsis "Compiler cache") (description diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index de72cc0856..6c3873a21d 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 John Darrington <jmd@gnu.org> @@ -925,7 +925,14 @@ Supported extensions to ISO 9660 are Rock Ridge, Joliet, AAIP, zisofs.") version ".tar.gz")) (sha256 (base32 - "0g2zyzb56czh429qy87lvaddzjnlcq8c616ddxsmsshz3clhyzrh")))) + "0g2zyzb56czh429qy87lvaddzjnlcq8c616ddxsmsshz3clhyzrh")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Fix building with gcc-10. + (substitute* "genisoimage/genisoimage.h" + (("char\t\t\\*outfile") + "extern char\t*outfile")))))) (build-system cmake-build-system) (inputs `(("bzip2" ,bzip2) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 37e3fa6786..39c3ebd128 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -104,6 +104,11 @@ port forwarding to your local machine.") (arguments `(#:phases (modify-phases %standard-phases (delete 'configure) + (add-before 'build 'fix-extension + (lambda _ + (substitute* "certdata2pem.c" + (("\\.crt") + ".pem")))) (replace 'build (lambda _ (invoke ,(cc-for-target) "certdata2pem.c" @@ -159,9 +164,9 @@ that was originally contributed to Debian.") (call-with-output-file "blacklist.txt" (const #t))) ;; Extract selected single certificates from blob. (invoke "certdata2pem") - ;; Copy .crt files into the output. + ;; Copy .pem files into the output. (for-each (cut install-file <> certsdir) - (find-files "." ".*\\.crt$"))) + (find-files "." ".*\\.pem$"))) (invoke "openssl" "rehash" certsdir))))))) (synopsis "CA certificates from Mozilla") (description diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index fbdc46cd4a..7b08f55e21 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2016 Roel Janssen <roel@gnu.org> ;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com> @@ -26,7 +26,7 @@ ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2015, 2017, 2018, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org> -;;; Copyright © 2017, 2018, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2017, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com> @@ -733,10 +733,37 @@ generation.") (base32 "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk")))))) +(define-public googlebenchmark + (package + (name "googlebenchmark") + (version "1.5.3") + (home-page "https://github.com/google/benchmark") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name "google-benchmark" version)) + (sha256 + (base32 + "1hls0aqqj5cfldn9jfpvzjhpxkhrydrz9crp477rwllwjsybdxw7")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON" + (string-append + "-DGOOGLETEST_PATH=" + (assoc-ref %build-inputs "googletest"))))) + (inputs + `(("googletest" ,(package-source googletest)))) + (synopsis "C++ library to support the benchmarking of functions") + (description + "The googlebenchmark C++ library support the benchmarking of functions, +similar to unit tests.") + (license license:asl2.0))) + (define-public cpputest (package (name "cpputest") - (version "3.8") + (version "4.0") (source (origin (method url-fetch) @@ -744,7 +771,7 @@ generation.") version "/cpputest-" version ".tar.gz")) (sha256 (base32 - "0mk48xd3klyqi7wf3f4wn4zqxxzmvrhhl32r25jzrixzl72wq7f8")))) + "1xslavlb1974y5xvs8n1j9zkk05dlw8imy4saasrjlmibl895ii1")))) (build-system gnu-build-system) (native-inputs `(("googletest" ,googletest))) @@ -839,7 +866,8 @@ doctest.") (description "Mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they -have been used.") +have been used. This library is now part of Python (since Python 3.3), +available via the @code{unittest.mock} module.") (properties `((python2-variant . ,(delay python2-mock)))) (license license:expat))) @@ -995,6 +1023,8 @@ and many external plugins.") (license license:expat) (properties `((python2-variant . ,(delay python2-pytest)))))) +(define-public python-pytest-6 python-pytest) + ;; Pytest 4.x are the last versions that support Python 2. (define-public python2-pytest (package @@ -1210,19 +1240,33 @@ contacting the real http server.") (define-public python-pytest-mock (package (name "python-pytest-mock") - (version "1.10.1") + (version "3.6.1") (source - (origin - (method url-fetch) - (uri (pypi-uri "pytest-mock" version)) - (sha256 - (base32 - "1i5mg3ff1qk0wqfcxfz60hwy3q5dskdp36i10ckigkzffg8hc3ad")))) + (origin + (method url-fetch) + (uri (pypi-uri "pytest-mock" version)) + (sha256 (base32 + "0qhfmd05z3g88bnwq6644jl6p5wy01i4yy7h8883z9jjih2pl8a0")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + ;; Skip the assertion rewriting tests, which don't work in the + ;; presence of read-only Python modules (a limitation of + ;; Pytest). Also skip the "test_standalone_mock" test, which + ;; can only work when 'python-mock' is not available + ;; (currently propagated by Pytest 5). + (invoke "pytest" "--assert=plain" + "-k" "not test_standalone_mock"))))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest) + ("python-pytest-asyncio" ,python-pytest-asyncio))) (home-page "https://github.com/pytest-dev/pytest-mock/") (synopsis "Thin-wrapper around the mock package for easier use with py.test") (description @@ -1272,9 +1316,11 @@ same arguments.") (substitute* "setup.py" (("pytest>=6\\.0\\.0") "pytest")))) (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "py.test" "-v"))))))) + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv" + "-n" (number->string (parallel-job-count))))))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs @@ -1298,17 +1344,33 @@ result back.") (define-public python2-pytest-xdist (package-with-python2 python-pytest-xdist)) +(define-public python-pytest-xdist-next + (package/inherit python-pytest-xdist + (name "python-pytest-xdist") + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-xdist" version)) + (sha256 + (base32 + "19cy57jrf3pwi7x6fnbxryjvqagsl0yv736jnynvr3yqhlpxxv78")))) + (propagated-inputs + `(("python-execnet" ,python-execnet) + ("python-pytest" ,python-pytest-6) + ("python-pytest-forked" ,python-pytest-forked))))) + (define-public python-pytest-timeout (package (name "python-pytest-timeout") - (version "1.3.4") + (version "1.4.2") (source (origin (method url-fetch) (uri (pypi-uri "pytest-timeout" version)) (sha256 (base32 - "13n42azbvs5slvy2n1a9nw17r4qdq10dd68nln3jp925safa3yl0")))) + "0xnsigs0kmpq1za0d4i522sp3f71x5bgpdh3ski0rs74yqy13cr0")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -1318,7 +1380,8 @@ result back.") (add-installed-pythonpath inputs outputs) (invoke "pytest" "-vv")))))) (propagated-inputs - `(("python-pytest" ,python-pytest))) + `(("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov))) (native-inputs `(("python-pexpect" ,python-pexpect))) (home-page "https://github.com/pytest-dev/pytest-timeout") @@ -1334,22 +1397,42 @@ timeout has been exceeded.") (version "1.3.0") (source (origin - (method url-fetch) - (uri (pypi-uri "pytest-forked" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/pytest-dev/pytest-forked") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1jip9qh115zcg1rn7irqx5qycb9k248d5imy86f566md01zaraba")))) + "1aip4kx50ynvykl7kq2mlbsi82vx701dvb8mm64lhp69bbv105rc")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-setuptools-scm + (lambda _ + (substitute* "setup.py" + (("use_scm_version=True") + (format #f "version=~s" ,version)) + (("setup_requires=\\['setuptools_scm'\\],.*") + "")))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv"))))))) (native-inputs - `(("python-pytest" ,python-pytest) - ("python-setuptools-scm" ,python-setuptools-scm))) - (home-page - "https://github.com/pytest-dev/pytest-forked") - (synopsis - "Run tests in isolated forked subprocesses") - (description - "Pytest plugin which will run each test in a subprocess and will report if -a test crashed the process.") + ;; XXX: The bootstrap variant of Pytest is used to ensure the + ;; 'hypothesis' plugin is not in the environment (due to + ;; <http://issues.guix.gnu.org/25235>), which would cause the test suite + ;; to fail (see: https://github.com/pytest-dev/pytest-forked/issues/54). + `(("python-pytest" ,python-pytest-bootstrap))) + (home-page "https://github.com/pytest-dev/pytest-forked") + (synopsis "Pytest plugin to run tests in isolated forked subprocesses") + (description "This package provides a Pytest plugin which enables running +each test in a subprocess and will report if a test crashed the process. It +can be useful to isolate tests against undesirable global environment +side-effects (such as setting environment variables).") (license license:expat))) (define-public python-scripttest @@ -1377,25 +1460,20 @@ subprocess and see the output as well as any file modifications.") (define-public python-testtools-bootstrap (package (name "python-testtools-bootstrap") - (version "2.3.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (pypi-uri "testtools" version)) (sha256 (base32 - "0n8519lk8aaa91vymz842831181wf7fss98hyllhygi3z1nfq9sq")) - (patches (search-patches "python-testtools.patch")))) + "0gxjbjk93jjqi491k4s9rh3ia37v21yifd35pvizv7sgv4rk9hap")))) (build-system python-build-system) (arguments '(#:tests? #f)) (propagated-inputs `(("python-extras" ,python-extras) ("python-fixtures" ,python-fixtures-bootstrap) - ("python-mimeparse" ,python-mimeparse) - ("python-pbr" ,python-pbr-minimal) - ("python-six" ,python-six) - ("python-traceback2" ,python-traceback2) - ("python-unittest2" ,python-unittest2))) + ("python-pbr" ,python-pbr-minimal))) (home-page "https://github.com/testing-cabal/testtools") (synopsis "Extensions to the Python standard library unit testing framework") @@ -1408,19 +1486,17 @@ subprocess and see the output as well as any file modifications.") (inherit python-testtools-bootstrap) (name "python-testtools") (arguments - `(#:phases (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "python" "-m" "testtools.run" - "testtools.tests.test_suite")))))) + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "testtools.run" + "testtools.tests.test_suite"))))))) (propagated-inputs `(("python-extras" ,python-extras) ("python-fixtures" ,python-fixtures) - ("python-mimeparse" ,python-mimeparse) - ("python-pbr" ,python-pbr) - ("python-six" ,python-six) - ("python-traceback2" ,python-traceback2) - ("python-unittest2" ,python-unittest2))) + ("python-pbr" ,python-pbr))) (native-inputs `(("python-testscenarios" ,python-testscenarios-bootstrap))) (description @@ -1551,12 +1627,14 @@ protocol."))) (package (name "python-fixtures-bootstrap") (version "3.0.0") - (source (origin - (method url-fetch) - (uri (pypi-uri "fixtures" version)) - (sha256 - (base32 - "1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w")))) + (source + (origin + (method url-fetch) + (uri (pypi-uri "fixtures" version)) + (sha256 + (base32 + "1vxj29bzz3rd4pcy51d05wng9q9dh4jq6wx92yklsm7i6h1ddw7w")) + (patches (search-patches "python-fixtures-remove-monkeypatch-test.patch")))) (build-system python-build-system) (arguments `(#:tests? #f @@ -1582,9 +1660,10 @@ python-fixtures package instead.") '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "python" "-m" "testtools.run" - "fixtures.test_suite")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "testtools.run" + "fixtures.test_suite"))))))) (propagated-inputs ;; Fixtures uses pbr at runtime to check versions, etc. `(("python-pbr" ,python-pbr) @@ -1671,10 +1750,13 @@ executed.") (version "0.15.1") (source (origin - (method url-fetch) - (uri (pypi-uri "pytest-asyncio" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/pytest-dev/pytest-asyncio") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "0vrzsrg3j1cfd57m0b3r5xf87rslgcs42jya346mdg9bc6wwwr15")))) + (base32 "03drs4myv1ik79148xyhli37q6mp931jb14cz65n8qvls2zvvwgx")))) (build-system python-build-system) (native-inputs `(("python-coverage" ,python-coverage) @@ -1866,22 +1948,23 @@ framework which enables you to test server connections locally.") (define-public python-pytest-xprocess (package (name "python-pytest-xprocess") - (version "0.9.1") + (version "0.18.1") (source (origin (method url-fetch) (uri (pypi-uri "pytest-xprocess" version)) (sha256 (base32 - "17zlql1xqw3ywcgwwbqmw633aly99lab12hm02asr8awvg5603pp")))) + "0rm2rchrr63imn44xk5slwydxf8gvy579524qcxq7dc42pnk17zx")))) (build-system python-build-system) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-pytest" ,python-pytest) - ("python-pytest-cache" ,python-pytest-cache) ("python-psutil" ,python-psutil))) (synopsis "Pytest plugin to manage external processes across test runs") (description "Pytest-xprocess is an experimental py.test plugin for managing processes across test runs.") - (home-page "https://bitbucket.org/pytest-dev/pytest-xprocess") + (home-page "https://github.com/pytest-dev/pytest-xprocess/") (license license:expat))) (define-public python-pytest-subtesthack @@ -2135,42 +2218,25 @@ statements in the module it tests.") (define-public python-pylint (package (name "python-pylint") - (version "2.6.0") + (version "2.9.6") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/PyCQA/pylint") - (commit (string-append "pylint-" version)))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ws3dz3wm49brnhhfm7v75zq202pwlwfbi3njdd69aqxq912x15z")))) + (base32 "15yw69v1cj6zkndk60c2g0dgl0khh8bfm1lrwhjffpdjfc7nkc9a")))) (build-system python-build-system) - (arguments - `(#:tests? #t - #:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - ;; The following failing tests are skipped (see: - ;; https://github.com/PyCQA/pylint/issues/4068). - (invoke "pytest" "-k" - (string-append - "not unused_typing_imports " - "and not star_needs_assignment_target_py35 " - "and not regression_property_no_member_2641 " - "and not missing_kwoa_py3")))))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-pytest-benchmark" ,python-pytest-benchmark) - ("python-pytest-runner" ,python-pytest-runner) - ("python-tox" ,python-tox))) + ("python-pytest-runner" ,python-pytest-runner))) (propagated-inputs `(("python-astroid" ,python-astroid) ("python-isort" ,python-isort) ("python-mccabe" ,python-mccabe) - ("python-six" ,python-six) ("python-toml" ,python-toml))) (home-page "https://github.com/PyCQA/pylint") (synopsis "Python source code analyzer which looks for coding standard @@ -2687,7 +2753,13 @@ portable to just about any platform.") ;; XXX: Without this flag, the CLOCK_REALTIME test hangs ;; indefinitely. See README.packagers for more information. - (setenv "FAKETIME_COMPILE_CFLAGS" "-DFORCE_MONOTONIC_FIX")))) + ;; There are specific instructions to not enable more flags + ;; than absolutely needed. + ,(if (target-ppc64le?) + `(setenv "FAKETIME_COMPILE_CFLAGS" + "-DFORCE_MONOTONIC_FIX -DFORCE_PTHREAD_NONVER") + `(setenv "FAKETIME_COMPILE_CFLAGS" + "-DFORCE_MONOTONIC_FIX"))))) (add-before 'check 'pre-check (lambda _ (substitute* "test/functests/test_exclude_mono.sh" diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index a886e59130..ccb4800d1c 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -114,8 +114,8 @@ ;; for docs ("stex" ,stex) ("xorg-rgb" ,xorg-rgb) - ("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek - texlive-generic-epsf))) + ("texlive" ,(texlive-updmap.cfg (list texlive-oberdiek + texlive-epsf))) ("ghostscript" ,ghostscript) ("netpbm" ,netpbm))) (native-search-paths @@ -316,10 +316,10 @@ and 32-bit PowerPC architectures.") (native-inputs `(("chez-scheme" ,chez-scheme) ("ghostscript" ,ghostscript) - ("texlive" ,(texlive-updmap.cfg (list texlive-latex-oberdiek - texlive-generic-epsf + ("texlive" ,(texlive-updmap.cfg (list texlive-oberdiek + texlive-epsf texlive-metapost - texlive-fonts-charter + texlive-charter texlive-pdftex texlive-context texlive-cm diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index f33a690914..2b018d95f6 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -58,8 +58,6 @@ #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) - #:use-module (gnu packages python-web) - #:use-module (gnu packages python-xyz) #:use-module (gnu packages regex) #:use-module (gnu packages serialization) #:use-module (gnu packages speech) @@ -111,7 +109,10 @@ "third_party/catapult" ;BSD-3 "third_party/catapult/common/py_vulcanize/third_party/rcssmin" ;ASL2.0 "third_party/catapult/common/py_vulcanize/third_party/rjsmin" ;ASL2.0 + "third_party/catapult/third_party/beautifulsoup4" ;Expat + "third_party/catapult/third_party/html5lib-python" ;Expat "third_party/catapult/third_party/polymer" ;BSD-3 + "third_party/catapult/third_party/six" ;Expat ;; XXX: This is a minified version of <https://d3js.org/>. "third_party/catapult/tracing/third_party/d3" ;BSD-3 "third_party/catapult/tracing/third_party/gl-matrix" ;Expat @@ -138,7 +139,7 @@ "third_party/devtools-frontend/src/front_end/third_party/axe-core" ;MPL2.0 "third_party/devtools-frontend/src/front_end/third_party/chromium" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/codemirror" ;Expat - "third_party/devtools-frontend/src/front_end/third_party/fabricjs" ;Expat + "third_party/devtools-frontend/src/front_end/third_party/diff" ;ASL2.0 "third_party/devtools-frontend/src/front_end/third_party/i18n" ;ASL2.0 "third_party/devtools-frontend/src/front_end/third_party/intl-messageformat" ;BSD-3 "third_party/devtools-frontend/src/front_end/third_party/lighthouse" ;ASL2.0 @@ -299,6 +300,7 @@ "third_party/zlib/google" ;BSD-3 "third_party/zxcvbn-cpp" ;Expat + "tools/grit/third_party/six" ;Expat "url/third_party/mozilla" ;BSD-3, MPL1.1/GPL2+/LGPL2.1+ "v8/src/third_party/siphash" ;Public domain "v8/src/third_party/utf8-decoder" ;Expat @@ -322,11 +324,11 @@ (string-append "ungoogled-chromium-" category "-" name)))) (sha256 (base32 hash)))) -(define %chromium-version "91.0.4472.164") +(define %chromium-version "92.0.4515.159") (define %debian-revision "debian/90.0.4430.85-1") ;; Note: use 'git describe --long' even for exact tags to placate the ;; custom version format for ungoogled-chromium. -(define %ungoogled-revision "91.0.4472.114-1-0-ga9eb6fd") +(define %ungoogled-revision "92.0.4515.159-1-8-g8164c91") (define %debian-patches (list (debian-patch "fixes/nomerge.patch" @@ -346,7 +348,7 @@ (file-name (git-file-name "ungoogled-chromium" %ungoogled-revision)) (sha256 (base32 - "1xb5g3hybaiwn3y1zw1fxd3g0zwmvplrs06sdqnxzsr1qm8b874h")))) + "0wbcbjzh5ak4nciahqw4yvxc4x8ik4x0iz9h4kfy0m011sxzy174")))) (define %guix-patches (list (local-file @@ -401,11 +403,6 @@ (format #t "Replacing GN files...~%") (force-output) - ;; XXX: Chromium no longer relies on overriding ICU's UCHAR_TYPE, - ;; but the unbundling code was not updated. Remove for M92. - (substitute* "build/linux/unbundle/icu.gn" - (("\"UCHAR_TYPE=uint16_t\",") - "")) (substitute* "tools/generate_shim_headers/generate_shim_headers.py" ;; The "is_official_build" configure option enables certain ;; release optimizations like those used in the commercial @@ -417,8 +414,7 @@ "--system-libraries" "ffmpeg" "flac" "fontconfig" "freetype" "harfbuzz-ng" "icu" "libdrm" "libevent" "libjpeg" "libpng" "libwebp" "libxml" "libxslt" - "openh264" "opus" "snappy" "zlib") - #t)))) + "openh264" "opus" "snappy" "zlib"))))) (define opus+custom (package/inherit opus @@ -488,7 +484,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "1g96hk72ds2b0aymgw7yjr0akgx7mkp17i99nk511ncnmni6zrc4")) + "04gxgimg5ygzx6nvfws5y9dppdfjg1fhyl8zbykmksbh1myk6zfr")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) @@ -654,9 +650,7 @@ (("third_party/vulkan_headers/include/") "")) (substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h" - (("include/third_party/vulkan/") "")) - - #t)) + (("include/third_party/vulkan/") "")))) (add-after 'patch-stuff 'add-absolute-references (lambda* (#:key inputs #:allow-other-keys) (let ((cups (assoc-ref inputs "cups")) @@ -684,8 +678,7 @@ (("libEGL\\.so\\.1") (string-append mesa "/lib/libEGL.so.1")) (("libGLESv2\\.so\\.2") - (string-append mesa "/lib/libGLESv2.so.2"))) - #t))) + (string-append mesa "/lib/libGLESv2.so.2")))))) (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) @@ -722,9 +715,7 @@ ;; XXX: How portable is this. (mkdir-p "third_party/node/linux/node-linux-x64") (symlink (string-append (assoc-ref inputs "node") "/bin") - "third_party/node/linux/node-linux-x64/bin") - - #t)) + "third_party/node/linux/node-linux-x64/bin"))) (replace 'configure (lambda* (#:key configure-flags #:allow-other-keys) (let ((args (string-join configure-flags " "))) @@ -752,8 +743,7 @@ (setrlimit 'nofile 2048 #f)) (format #t "increased maximum number of open files from ~d to ~d~%" - soft (if hard (min hard 2048) 2048))))) - #t)) + soft (if hard (min hard 2048) 2048))))))) (replace 'build (lambda* (#:key (parallel-build? #t) #:allow-other-keys) (invoke "ninja" "-C" "out/Release" @@ -830,8 +820,7 @@ (mkdir-p icons) (copy-file (string-append "product_logo_" size ".png") (string-append icons "/chromium.png")))) - '("24" "48" "64" "128" "256"))) - #t)))))) + '("24" "48" "64" "128" "256"))))))))) (native-inputs `(("bison" ,bison) ("clang" ,clang-11) @@ -842,13 +831,14 @@ ("node" ,node) ("pkg-config" ,pkg-config) ("which" ,which) - ;; This file contains defaults for new user profiles. ("master-preferences" ,(local-file "aux-files/chromium/master-preferences.json")) - ("python-beautifulsoup4" ,python2-beautifulsoup4) - ("python-html5lib" ,python2-html5lib) - ("python" ,python-2) + ;; Try unbundling these when upstream has completed its Python 3 transition. + ;; ("python-beautifulsoup4" ,python-beautifulsoup4) + ;; ("python-html5lib" ,python-html5lib) + ("python2" ,python-2) + ("python" ,python-wrapper) ("wayland-scanner" ,wayland))) (inputs `(("alsa-lib" ,alsa-lib) @@ -865,7 +855,7 @@ ("glib" ,glib) ("gtk+" ,gtk+) ("harfbuzz" ,harfbuzz) - ("icu4c" ,icu4c-69) + ("icu4c" ,icu4c) ("lcms" ,lcms) ("libevent" ,libevent) ("libffi" ,libffi) @@ -888,6 +878,9 @@ ("libxscrnsaver" ,libxscrnsaver) ("libxslt" ,libxslt) ("libxtst" ,libxtst) + ;; Newer kernel headers are required for userfaultfd support; remove + ;; after 'core-updates' merge. + ("linux-libre-headers" ,linux-libre-headers-5.10) ("mesa" ,mesa) ("minizip" ,minizip) ("mit-krb5" ,mit-krb5) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 3a2e6df207..136b88213b 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -73,8 +73,8 @@ (file-name (string-append name "-" version "-checkout"))))))) (define-public cuirass - (let ((commit "f9a5dbd54eaa7fa8ac173fd5e68209f937840d90") - (revision "1")) + (let ((commit "60190401ce4ccc890629ec3cb22a84a8ab8c2645") + (revision "4")) (package (name "cuirass") (version (git-version "1.1.0" revision commit)) @@ -87,7 +87,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "0wrx2bf1gdnbkfgmmqr46s1fhvv3568yi7hxb24plf4xx5jq5yg8")))) + "0b0bs32lzk5ck7lw8ac9dj2h70sqc5y430vhi7rcnwj48mdrchma")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build utils) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 68d215da93..12ac3aa125 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -91,7 +92,7 @@ using the CMake build system.") ;;; Build phases shared between 'cmake-bootstrap' and the later variants ;;; that use cmake-build-system. -(define %common-build-phases +(define (%common-build-phases) `((add-after 'unpack 'split-package ;; Remove files that have been packaged in other package recipes. (lambda _ @@ -99,6 +100,17 @@ using the CMake build system.") (substitute* "Auxiliary/CMakeLists.txt" ((".*cmake-mode.el.*") "")) #t)) + ,@(if (target-x86-32?) + '((add-after 'unpack 'skip-cpack-txz-test + (lambda _ + ;; In 'RunCMake.CPack_TXZ', the 'TXZ/THREADED_ALL' test + ;; would occasionally fail on i686 with "Internal error + ;; initializing compression library: Cannot allocate + ;; memory": <https://issues.guix.gnu.org/50617>. Skip it. + (substitute* "Tests/RunCMake/CPack/RunCMakeTest.cmake" + (("THREADED_ALL \"TXZ;DEB\"") + "THREADED_ALL \"DEB\""))))) + '()) (add-before 'configure 'patch-bin-sh (lambda _ ;; Replace "/bin/sh" by the right path in... a lot of @@ -187,7 +199,7 @@ using the CMake build system.") " --exclude-regex ^\\(" (string-join skipped-tests "\\|") "\\)$"))) #:phases (modify-phases %standard-phases - ,@%common-build-phases + ,@(%common-build-phases) (add-before 'configure 'set-paths (lambda _ ;; Help cmake's bootstrap process to find system libraries @@ -294,7 +306,7 @@ and workspaces that can be used in the compiler environment of your choice.") #:build-type "Release" #:phases (modify-phases %standard-phases - ,@%common-build-phases + ,@(%common-build-phases) (add-after 'install 'delete-help-documentation (lambda* (#:key outputs #:allow-other-keys) (delete-file-recursively @@ -327,6 +339,15 @@ and workspaces that can be used in the compiler environment of your choice.") (package (inherit cmake-minimal) (name "cmake") + (version "3.21.1") + (source (origin + (inherit (package-source cmake-bootstrap)) + (uri (string-append "https://cmake.org/files/v" + (version-major+minor version) + "/cmake-" version ".tar.gz")) + (sha256 + (base32 + "1m7y9j5lafkrfswsg2vkpx2fz6p6fqpp2pcp2dcz5pylf58r3hzs")))) (arguments (substitute-keyword-arguments (package-arguments cmake-minimal) ;; Use cmake-minimal this time. diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 86730b231f..df830d55a1 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2015, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> @@ -64,6 +64,8 @@ #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages texinfo) #:use-module (gnu packages web) @@ -127,26 +129,35 @@ highlighting your own code that seemed comprehensible when you wrote it.") (define-public global ; a global variable (package (name "global") - (version "6.6.6") + (version "6.6.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/global/global-" version ".tar.gz")) (sha256 (base32 - "0pad5p31rdspyrzqky3ppgx7f6gdlfnwg1c7qm8w1m4qzyppi03m")))) + "0g4aslm2zajq605py11s4rs1wdnzcqhkh7bc2xl5az42adzzg839")))) (build-system gnu-build-system) - (inputs `(("coreutils" ,coreutils) - ("ncurses" ,ncurses) - ("libltdl" ,libltdl) - ("sqlite" ,sqlite) - ("python-wrapper" ,python-wrapper))) + (inputs + `(("bash" ,bash-minimal) ; for wrap-program + ("coreutils" ,coreutils) + ("ctags" ,universal-ctags) + ("libltdl" ,libltdl) + ("ncurses" ,ncurses) + ("python-pygments" ,python-pygments) + ("python-wrapper" ,python-wrapper) + ("sqlite" ,sqlite))) (arguments `(#:configure-flags (list (string-append "--with-ncurses=" (assoc-ref %build-inputs "ncurses")) (string-append "--with-sqlite3=" (assoc-ref %build-inputs "sqlite")) + (string-append "--with-universal-ctags=" + (assoc-ref %build-inputs "ctags") "/bin/ctags") + (string-append "--sysconfdir=" + (assoc-ref %outputs "out") "/share/gtags") + "--localstatedir=/var" ; This needs to be a writable location. "--disable-static") #:phases @@ -157,13 +168,29 @@ highlighting your own code that seemed comprehensible when you wrote it.") (assoc-ref inputs "coreutils") "/bin/echo"))) (substitute* "globash/globash.in" (("/bin/echo") echo))))) + (add-after 'post-install 'install-plugins + (lambda _ + (with-directory-excursion "plugin-factory" + (invoke "make" "install")))) + (add-before 'install 'dont-install-to-/var + (lambda _ + (substitute* "gozilla/Makefile" + (("DESTDIR\\)\\$\\{localstatedir\\}") "TMPDIR)")))) + (add-after 'install-plugins 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (wrap-program + (string-append (assoc-ref outputs "out") + "/share/gtags/script/pygments_parser.py") + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))) (add-after 'install 'post-install (lambda* (#:key outputs #:allow-other-keys) ;; Install the plugin files in the right place. (let* ((out (assoc-ref outputs "out")) (data (string-append out "/share/gtags")) (vim (string-append out "/share/vim/vimfiles/plugin")) - (lisp (string-append out "/share/emacs/site-lisp"))) + (lisp (string-append out "/share/emacs/site-lisp/" + ,(package-name this-package) "-" + ,(package-version this-package)))) (mkdir-p lisp) (mkdir-p vim) (rename-file (string-append data "/gtags.el") @@ -307,6 +334,10 @@ cloc can handle a greater variety of programming languages.") (base32 "0w1icjqd8hd45rn1y6nbfznk1a6ip54whwbfbhxp7ws2hn3ilqnr")))) (build-system gnu-build-system) + (arguments + ;; Required since GCC 10, see: + ;; https://gcc.gnu.org/gcc-10/porting_to.html. + `(#:configure-flags (list "CFLAGS=-fcommon"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 10b2987a11..dc9b372132 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1733,38 +1733,28 @@ ac_cv_c_float_format='IEEE (little-endian)' "gawk" "grep" "guile" "make" "sed" "tar")))) (define gmp-boot - (package - (inherit gmp) - (version "4.3.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gmp/gmp-" version - ".tar.gz")) - (sha256 (base32 - "15rwq54fi3s11izas6g985y9jklm3xprfsmym3v1g6xr84bavqvv")))))) + (let ((version "4.3.2")) + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gmp/gmp-" version ".tar.gz")) + (sha256 + (base32 "15rwq54fi3s11izas6g985y9jklm3xprfsmym3v1g6xr84bavqvv"))))) (define mpfr-boot - (package - (inherit mpfr) - (version "2.4.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/mpfr/mpfr-" version - ".tar.gz")) - (sha256 (base32 - "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94")))))) + (let ((version "2.4.2")) + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mpfr/mpfr-" version ".tar.gz")) + (sha256 + (base32 "0dxn4904dra50xa22hi047lj8kkpr41d6vb9sd4grca880c7wv94"))))) (define mpc-boot - (package - (inherit mpc) - (version "1.0.3") - (source (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/mpc/mpc-" version ".tar.gz")) - (sha256 - (base32 - "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1")))))) + (let ((version "1.0.3")) + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/mpc/mpc-" version ".tar.gz")) + (sha256 + (base32 "1hzci2zrrd7v3g1jk35qindq05hbl0bhjcyyisq9z209xb3fqzb1"))))) (define gcc-core-mesboot1 ;; GCC 4.6.4 is the latest modular distribution. This package is not @@ -1782,9 +1772,9 @@ ac_cv_c_float_format='IEEE (little-endian)' (sha256 (base32 "173kdb188qg79pcz073cj9967rs2vzanyjdjyxy9v0xb0p5sad75")))) - (inputs `(("gmp-source" ,(package-source gmp-boot)) - ("mpfr-source" ,(package-source mpfr-boot)) - ("mpc-source" ,(package-source mpc-boot)))) + (inputs `(("gmp-source" ,gmp-boot) + ("mpfr-source" ,mpfr-boot) + ("mpc-source" ,mpc-boot))) (native-inputs (%boot-mesboot1-inputs)) (arguments (list #:implicit-inputs? #f @@ -1857,14 +1847,17 @@ ac_cv_c_float_format='IEEE (little-endian)' (list gmp mpfr mpc)) ;; Create symlinks like `gmp' -> `gmp-x.y.z'. - #$@(map (lambda (lib) + #$@(map (lambda (lib package) ;; Drop trailing letters, as gmp-6.0.0a unpacks ;; into gmp-6.0.0. #~(symlink #$(string-trim-right - (package-full-name lib "-") + (basename + (origin-actual-file-name lib) + ".tar.gz") char-set:letter) - #$(package-name lib))) - (list gmp-boot mpfr-boot mpc-boot))))) + #$package)) + (list gmp-boot mpfr-boot mpc-boot) + '("gmp" "mpfr" "mpc"))))) (add-before 'configure 'setenv (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c6ddfb4333..026d448ce1 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -33,6 +33,7 @@ ;;; Copyright © 2021 Antoine Côté <antoine.cote@posteo.net> ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1319,7 +1320,10 @@ for most inputs, but the resulting compressed files are anywhere from 20% to (find-files "Utils/file_Codecs_Rar_so.py"))) (delete-file-recursively "CPP/7zip/Archive/Rar") (delete-file-recursively "CPP/7zip/Compress/Rar") - #t)) + ;; Fix FTBFS with gcc-10. + (substitute* "CPP/Windows/ErrorMsg.cpp" + (("switch\\(errorCode\\) \\{") + "switch(static_cast<HRESULT>(errorCode)) {")))) (patches (search-patches "p7zip-CVE-2016-9296.patch" "p7zip-CVE-2017-17969.patch" "p7zip-remove-unused-code.patch")))) @@ -1330,31 +1334,27 @@ for most inputs, but the resulting compressed files are anywhere from 20% to #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key system outputs #:allow-other-keys) - (invoke "cp" - (let ((system ,(or (%current-target-system) - (%current-system)))) - (cond - ((string-prefix? "x86_64" system) - "makefile.linux_amd64_asm") - ((string-prefix? "i686" system) - "makefile.linux_x86_asm_gcc_4.X") - (else - "makefile.linux_any_cpu_gcc_4.X"))) - "makefile.machine"))) - (replace 'check (lambda _ - (invoke "make" "test") - (invoke "make" "test_7z") - (invoke "make" "test_7zr")))))) + (copy-file + ,(cond ((target-x86-64?) + "makefile.linux_amd64_asm") + ((target-x86-32?) + "makefile.linux_x86_asm_gcc_4.X") + (else + "makefile.linux_any_cpu_gcc_4.X")) + "makefile.machine"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "test") + (invoke "make" "test_7z") + (invoke "make" "test_7zr"))))))) (native-inputs - (let ((system (or (%current-target-system) - (%current-system)))) - `(,@(cond ((string-prefix? "x86_64" system) - `(("yasm" ,yasm))) - ((string-prefix? "i686" system) - `(("nasm" ,nasm))) - (else '()))))) + (cond ((target-x86-64?) + (list yasm)) + ((target-x86-32?) + (list nasm)) + (else '()))) (home-page "http://p7zip.sourceforge.net/") (synopsis "Command-line file archiver with high compression ratio") (description "p7zip is a command-line port of 7-Zip, a file archiver that @@ -2277,6 +2277,58 @@ reading from and writing to ZIP archives. ") ;; distributed under zlib terms. (license (list license:lgpl2.1+ license:zlib)))) +(define-public zchunk + (package + (name "zchunk") + (version "1.1.16") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zchunk/zchunk") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nlzwnv6wh2yjyyv27f81jnvmk7psgpbnw7dsdp7frfkya569hgv")))) + (build-system meson-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/zck_gen_zdict.c" + (("/usr/bin/zstd") + (string-append (assoc-ref inputs "zstd") + "/bin/zstd")))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("curl" ,curl) + ("zstd" ,zstd))) + (propagated-inputs + `(("zstd:lib" ,zstd "lib"))) ;in Requires.private of zck.pc + (home-page "https://github.com/zchunk/zchunk") + (synopsis "Compressed file format for efficient deltas") + (description "The zchunk compressed file format allows splitting a file +into independent chunks. This makes it possible to retrieve only changed +chunks when downloading a new version of the file, and also makes zchunk files +efficient over rsync. Along with the library, this package provides the +following utilities: +@table @command +@item unzck +To decompress a zchunk file. +@item zck +To compress a new zchunk file, or re-compress an existing one. +@item zck_delta_size +To calculate the difference between two zchunk files. +@item zck_gen_zdict +To create a dictionary for a zchunk file. +@item zck_read_header +To read a zchunk header. +@item zckdl +To download a zchunk file. +@end table") + (license license:bsd-2))) + (define-public zutils (package (name "zutils") @@ -2529,6 +2581,42 @@ with their error correction data losslessly rearranged for better compression, to their original, binary CD format.") (license license:gpl3+))) +(define-public libdeflate + (package + (name "libdeflate") + (version "1.8") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ebiggers/libdeflate") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nw1zhr2s6ffcc3s0n5wsshvjb6pmybwapagli135zzn2fx1pdiz")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("zlib" ,zlib))) + (home-page "https://github.com/ebiggers/libdeflate") + (synopsis "Library for DEFLATE/zlib/gzip compression and decompression") + (description "Libdeflate is a library for fast, whole-buffer DEFLATE-based +compression and decompression. The supported formats are: + +@enumerate +@item DEFLATE (raw) +@item zlib (a.k.a. DEFLATE with a zlib wrapper) +@item gzip (a.k.a. DEFLATE with a gzip wrapper) +@end enumerate +") + (license license:expat))) + (define-public tarlz (package (name "tarlz") diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm index fa1f4078b8..4ad172c6b0 100644 --- a/gnu/packages/coq.scm +++ b/gnu/packages/coq.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2018-2021 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> @@ -38,6 +38,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages rsync) #:use-module (gnu packages texinfo) + #:use-module (guix build-system dune) #:use-module (guix build-system gnu) #:use-module (guix build-system ocaml) #:use-module (guix download) @@ -50,7 +51,7 @@ (define-public coq (package (name "coq") - (version "8.11.2") + (version "8.13.2") (source (origin (method git-fetch) @@ -60,78 +61,24 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1gia82dkmzqspw2w3s4gjyh39ghbmw4i41i4hyzc91g7mza17nbz")))) + "15r0cm3p9dlsxbg0lf05njjp1xi1y74vxvq6drxjykax67x95l8a")))) (native-search-paths (list (search-path-specification (variable "COQPATH") - (files (list "lib/coq/user-contrib"))))) - (build-system ocaml-build-system) - (outputs '("out" "ide")) + (files (list "lib/coq/user-contrib"))) + (search-path-specification + (variable "COQLIB") + (files (list "lib/ocaml/site-lib/coq")) + (separator #f)))) + (build-system dune-build-system) (inputs - `(("lablgtk" ,lablgtk3) - ("python" ,python-2) - ("camlp5" ,camlp5) - ("ocaml-num" ,ocaml-num))) + `(("gmp" ,gmp) + ("ocaml-zarith" ,ocaml-zarith))) (native-inputs - `(("ocaml-ounit" ,ocaml-ounit) - ("rsync" ,rsync) - ("which" ,which))) + `(("which" ,which))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-git-checkout-writable - (lambda _ - (for-each make-file-writable (find-files ".")) - #t)) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (mandir (string-append out "/share/man")) - (browser "icecat -remote \"OpenURL(%s,new-tab)\"")) - (invoke "./configure" - "-prefix" out - "-mandir" mandir - "-browser" browser - "-coqide" "opt")))) - (replace 'build - (lambda _ - (invoke "make" - "-j" (number->string (parallel-job-count)) - "world"))) - (delete 'check) - (add-after 'install 'remove-duplicate - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (coqtop (string-append bin "/coqtop")) - (coqidetop (string-append bin "/coqidetop")) - (coqtop.opt (string-append coqtop ".opt")) - (coqidetop.opt (string-append coqidetop ".opt"))) - ;; These files are exact copies without `.opt` extension. - ;; Removing these saves 35 MiB in the resulting package. - ;; Unfortunately, completely deleting them breaks coqide. - (delete-file coqtop.opt) - (delete-file coqidetop.opt) - (symlink coqtop coqtop.opt) - (symlink coqidetop coqidetop.opt)) - #t)) - (add-after 'install 'install-ide - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (ide (assoc-ref outputs "ide"))) - (mkdir-p (string-append ide "/bin")) - (rename-file (string-append out "/bin/coqide") - (string-append ide "/bin/coqide"))) - #t)) - (add-after 'install 'check - (lambda _ - (with-directory-excursion "test-suite" - ;; These two tests fail. - ;; Fails because the output is not formatted as expected. - (delete-file-recursively "coq-makefile/timing") - ;; Fails because we didn't build coqtop.byte. - (delete-file "misc/printers.sh") - (invoke "make"))))))) + `(#:package "coq" + #:test-target "test-suite")) (home-page "https://coq.inria.fr") (synopsis "Proof assistant for higher-order logic") (description @@ -142,6 +89,31 @@ It is developed using Objective Caml and Camlp5.") ;; Some of the documentation is distributed under opl1.0+. (license (list license:lgpl2.1 license:opl1.0+)))) +(define-public coq-ide-server + (package + (inherit coq) + (name "coq-ide-server") + (arguments + `(#:tests? #f + #:package "coqide-server")) + (inputs + `(("coq" ,coq) + ("gmp" ,gmp) + ("ocaml-zarith" ,ocaml-zarith))))) + +(define-public coq-ide + (package + (inherit coq) + (name "coq-ide") + (arguments + `(#:tests? #f + #:package "coqide")) + (propagated-inputs + `(("coq" ,coq) + ("coq-ide-server" ,coq-ide-server))) + (inputs + `(("lablgtk3" ,lablgtk3))))) + (define-public proof-general ;; The latest release is from 2016 and there has been more than 450 commits ;; since then. @@ -274,7 +246,7 @@ inside Coq.") (define-public coq-gappa (package (name "coq-gappa") - (version "1.4.4") + (version "1.4.6") (source (origin (method git-fetch) @@ -284,7 +256,7 @@ inside Coq.") (file-name (git-file-name name version)) (sha256 (base32 - "0f3g3wjkvfkm961l4jpckhsqd43jnvm7f5qqk78qc32zh1fg339n")))) + "0492i0ksrz6dnc1d57jzsbmdlb9fp9hrh9ib5v8j0yqxpyi0x8f4")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -298,13 +270,14 @@ inside Coq.") (inputs `(("gmp" ,gmp) ("mpfr" ,mpfr) + ("ocaml-zarith" ,ocaml-zarith) ("boost" ,boost))) (propagated-inputs `(("coq-flocq" ,coq-flocq))) (arguments `(#:configure-flags - (list (string-append "--libdir=" (assoc-ref %outputs "out") - "/lib/coq/user-contrib/Gappa")) + (list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib")) #:phases (modify-phases %standard-phases (add-before 'configure 'fix-remake @@ -334,7 +307,7 @@ assistant.") (define-public coq-mathcomp (package (name "coq-mathcomp") - (version "1.11.0") + (version "1.12.0") (source (origin (method git-fetch) @@ -343,7 +316,7 @@ assistant.") (commit (string-append "mathcomp-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1axywpa1jcpnidd86irpd1gdbbg2sfbwc652675xisq5wnmfmf6f")))) + (base32 "12cgrmzlcjnp9kv9zxsk34fgf0qfa35jdb23cbf13kmg8dyfi3h5")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -429,7 +402,7 @@ theorems between the two libraries.") (define-public coq-bignums (package (name "coq-bignums") - (version "8.11.0") + (version "8.13.0") (source (origin (method git-fetch) (uri (git-reference @@ -438,13 +411,14 @@ theorems between the two libraries.") (file-name (git-file-name name version)) (sha256 (base32 - "1xcd7c7qlvs0narfba6px34zq0mz8rffnhxw0kzhhg6i4iw115dp")))) + "1n66i7hd9222b2ks606mak7m4f0dgy02xgygjskmmav6h7g2sx7y")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) ("coq" ,coq))) (inputs - `(("camlp5" ,camlp5))) + `(("camlp5" ,camlp5) + ("ocaml-zarith" ,ocaml-zarith))) (arguments `(#:tests? #f ; No test target. #:make-flags @@ -462,7 +436,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") (define-public coq-interval (package (name "coq-interval") - (version "4.0.0") + (version "4.3.0") (source (origin (method git-fetch) @@ -472,7 +446,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") (file-name (git-file-name name version)) (sha256 (base32 - "01iz6qmnsm6b9s1vmdjs79vjx9xgwzn5rwyjp6bvs8hg3zlmhpip")))) + "1jqvd17czhliscf40idhnxgrha620039ilrdyfahn71dg2jmzqnm")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -484,11 +458,12 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.") `(("flocq" ,coq-flocq) ("bignums" ,coq-bignums) ("coquelicot" ,coq-coquelicot) - ("mathcomp" ,coq-mathcomp))) + ("mathcomp" ,coq-mathcomp) + ("ocaml-zarith" ,ocaml-zarith))) (arguments `(#:configure-flags - (list (string-append "--libdir=" (assoc-ref %outputs "out") - "/lib/coq/user-contrib/Gappa")) + (list (string-append "COQUSERCONTRIB=" (assoc-ref %outputs "out") + "/lib/coq/user-contrib")) #:phases (modify-phases %standard-phases (add-before 'configure 'fix-remake @@ -558,21 +533,23 @@ uses Ltac to synthesize the substitution operation.") (define-public coq-equations (package (name "coq-equations") - (version "1.2.3") + (version "1.2.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/mattam82/Coq-Equations") - (commit (string-append "v" version "-8.11")))) + (commit (string-append "v" version "-8.13")))) (file-name (git-file-name name version)) (sha256 (base32 - "1srxz1rws8jsh7402g2x2vcqgjbbsr64dxxj5d2zs48pmhb20csf")))) + "0i014lshsdflzw6h0qxra9d2f0q82vffxv2f29awbb9ad0p4rq4q")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) ("coq" ,coq) ("camlp5" ,camlp5))) + (inputs + `(("ocaml-zarith" ,ocaml-zarith))) (arguments `(#:test-target "test-suite" #:phases @@ -598,7 +575,7 @@ kernel.") (define-public coq-stdpp (package (name "coq-stdpp") - (version "1.4.0") + (version "1.5.0") (synopsis "Alternative Coq standard library std++") (source (origin (method git-fetch) @@ -608,7 +585,7 @@ kernel.") (file-name (git-file-name name version)) (sha256 (base32 - "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r")))) + "1ym0fy620imah89p8b6rii8clx2vmnwcrbwxl3630h24k42092nf")))) (build-system gnu-build-system) (inputs `(("coq" ,coq))) diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index 42e9d50687..7ac4b0c39b 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017 Ethan R. Jones <doubleplusgood23@gmail.com> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> -;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2018, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> @@ -18,7 +18,9 @@ ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Milkey Mouse <milkeymouse@meme.institute> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> - +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +47,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix modules) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages boost) @@ -65,6 +68,7 @@ #:use-module (gnu packages maths) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages popt) #:use-module (gnu packages pretty-print) @@ -127,7 +131,8 @@ range-v3 ranges are an abstraction layer on top of iterators.") (git-file-name name version)) (patches (search-patches - "c++-gsl-find-system-gtest.patch")) + "c++-gsl-find-system-gtest.patch" + "c++-gsl-move-array-bounds-tests.patch")) (sha256 (base32 "0gbvr48f03830g3154bjhw92b8ggmg6wwh5xyb8nppk9v6w752l0")))) (build-system cmake-build-system) @@ -364,10 +369,8 @@ functions, class methods, and stl containers. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (inc (string-append out "/include/fifo_map"))) - (with-directory-excursion - (string-append "../" ,name "-" ,version "-checkout") - (install-file "src/fifo_map.hpp" inc) - #t))))))) + (with-directory-excursion "../source" + (install-file "src/fifo_map.hpp" inc)))))))) (synopsis "FIFO-ordered associative container for C++") (description "Fifo_map is a C++ header only library for associative container which uses the order in which keys were inserted to the container @@ -555,6 +558,66 @@ tools: @end itemize\n") (license license:bsd-3))) +(define-public cpp-httplib + ;; this package is not graftable, as everything is implemented in a single + ;; header + (package + (name "cpp-httplib") + (version "0.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yhirose/cpp-httplib") + (commit (string-append "v" version)))) + (sha256 + (base32 "0c0gyfbvm34bgrqy9fhfxw1f8nb9zhf063j7xq91k892flb7qm1c")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON" + "-DHTTPLIB_COMPILE=ON" + "-DHTTPLIB_REQUIRE_BROTLI=ON" + "-DHTTPLIB_REQUIRE_OPENSSL=ON" + "-DHTTPLIB_REQUIRE_ZLIB=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-network-tests + (lambda _ + (for-each + (lambda (test) + (substitute* "test/test.cc" + (((string-append "\\(" test)) + (string-append "(DISABLED_" test)))) + ;; There are tests requiring network access, disable them + '("AbsoluteRedirectTest" "BaseAuthTest" "CancelTest" + "ChunkedEncodingTest" "ChunkedEncodingTest" + "DecodeWithChunkedEncoding" "DefaultHeadersTest" + "DigestAuthTest" "HttpsToHttpRedirectTest" + "RangeTest" "RedirectTest" "RelativeRedirectTest" + "SSLClientTest" "SendAPI" "TooManyRedirectTest" "UrlWithSpace" + "YahooRedirectTest" "YahooRedirectTest")))) + (replace 'check + (lambda* (#:key source tests? #:allow-other-keys) + ;; openssl genrsa wants to write a file in the git checkout + (when tests? + (with-directory-excursion "../source/test" + (invoke "make")))))))) + (native-inputs + ;; required to build shared lib + `(("python" ,python))) + (inputs + `(("brotli" ,brotli) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (home-page "https://github.com/yhirose/cpp-httplib") + (synopsis "C++ HTTP/HTTPS server and client library") + (description "cpp-httplib is a C++11 single-file cross platform blocking +HTTP/HTTPS library, easy to setup. It can also be used as a single-header +library.") + (license license:expat))) + (define-public cpplint (package (name "cpplint") @@ -1211,3 +1274,41 @@ of reading and writing XML.") ;; incompatible with the GPL v2. Refer to the file named FLOSSE for the ;; details. (license license:gpl2+))) + +(define-public jsonnet + (package + (name "jsonnet") + (version "0.17.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/jsonnet") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1ddz14699v5lqx3dh0mb7hfffr6fk5zhmzn3z8yxkqqvriqnciim")) + (modules '((guix build utils))) + (snippet + #~(begin + (rename-file "third_party/md5" ".md5") + (delete-file-recursively "third_party") + (delete-file-recursively "doc/third_party") + (substitute* '("core/vm.cpp") + (("#include \"json.hpp\"") "#include <nlohmann/json.hpp>")) + (mkdir "third_party") + (rename-file ".md5" "third_party/md5"))))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DUSE_SYSTEM_GTEST=ON" "-DUSE_SYSTEM_JSON=ON" + "-DBUILD_STATIC_LIBS=OFF"))) + (native-inputs + `(("googletest" ,googletest) + ("pkg-config" ,pkg-config))) + (inputs + `(("json-modern-cxx" ,json-modern-cxx))) + (home-page "https://jsonnet.org/") + (synopsis "Data templating language") + (description "Jsonnet is a templating language extending JSON +syntax with variables, conditions, functions and more.") + (license license:asl2.0))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fcdbf58d65..f288f76e95 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -96,6 +96,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) @@ -133,14 +134,14 @@ files and provide more explicit control over line endings.") (define-public r-cachem (package (name "r-cachem") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (cran-uri "cachem" version)) (sha256 (base32 - "1xigqfhkl4n768bjgn2bqvb9k70h1ibj4lv5vvpwsh1p6vw4mkw2")))) + "0r0q5w8lsxak46crnkbi739qzys90hlw7cqqqhv99xzkpkvm554s")))) (properties `((upstream-name . "cachem"))) (build-system r-build-system) (propagated-inputs @@ -183,6 +184,31 @@ to other implementations such a @code{purrr::partial()} the operators in etc.") (license license:gpl2+))) +(define-public r-datawizard + (package + (name "r-datawizard") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "datawizard" version)) + (sha256 + (base32 + "1brbkjl0ds3gd0x6jl6vggzl1nfrn76z63vhj2gbl9l168iss5z3")))) + (properties `((upstream-name . "datawizard"))) + (build-system r-build-system) + (propagated-inputs + `(("r-insight" ,r-insight))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://easystats.github.io/datawizard/") + (synopsis "Easy data wrangling") + (description + "This package provides a lightweight package to easily manipulate, +clean, transform, and prepare your data for analysis. It also forms the data +wrangling backend for the packages in the @code{easystats} ecosystem.") + (license license:gpl3))) + (define-public r-diffobj (package (name "r-diffobj") @@ -205,6 +231,26 @@ etc.") visualization of their differences.") (license license:gpl2+))) +(define-public r-emdist + (package + (name "r-emdist") + (version "0.3-1") + (source + (origin + (method url-fetch) + (uri (cran-uri "emdist" version)) + (sha256 + (base32 + "1z14pb9z9nkd0f2c8pln4hzkfqa9dk9n3vg8czc8jiv0ndnqi7rq")))) + (properties `((upstream-name . "emdist"))) + (build-system r-build-system) + (home-page "http://www.rforge.net/emd") + (synopsis "Earth mover's distance") + (description + "This package provides tools to calculate the Earth Mover's +Distance (EMD).") + (license license:expat))) + (define-public r-googledrive (package (name "r-googledrive") @@ -267,25 +313,25 @@ pronounceable identifiers.") (define-public r-googlesheets4 (package (name "r-googlesheets4") - (version "0.3.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "googlesheets4" version)) (sha256 (base32 - "04b17cdzah2r92qj7imrdlpfzyxwyf1vx8k1kvsr36nqg383f4b2")))) + "0yncqwv9l5knyrv88ys5gwcv44hl1j0mbklpins6v7f9m9v7s40a")))) (properties `((upstream-name . "googlesheets4"))) (build-system r-build-system) (propagated-inputs `(("r-cellranger" ,r-cellranger) + ("r-cli" ,r-cli) ("r-curl" ,r-curl) ("r-gargle" ,r-gargle) ("r-glue" ,r-glue) ("r-googledrive" ,r-googledrive) ("r-httr" ,r-httr) ("r-ids" ,r-ids) - ("r-lifecycle" ,r-lifecycle) ("r-magrittr" ,r-magrittr) ("r-purrr" ,r-purrr) ("r-rematch2" ,r-rematch2) @@ -567,26 +613,24 @@ variables.") (define-public r-ggpp (package (name "r-ggpp") - (version "0.4.0") + (version "0.4.2") (source (origin (method url-fetch) (uri (cran-uri "ggpp" version)) (sha256 (base32 - "05gk0jaxv30sgrr8q634cqm0n7z66i2p1zxkzc40azdlcxjp5w3h")))) + "0m2wq9kqlxqxlzyx9fd0c4iw6qb7kpjrq7fqqa2kvwyj79vx6ahj")))) (properties `((upstream-name . "ggpp"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) - ("r-generics" ,r-generics) ("r-ggplot2" ,r-ggplot2) ("r-glue" ,r-glue) ("r-gridextra" ,r-gridextra) ("r-lubridate" ,r-lubridate) ("r-magrittr" ,r-magrittr) ("r-mass" ,r-mass) - ("r-plyr" ,r-plyr) ("r-polynom" ,r-polynom) ("r-rlang" ,r-rlang) ("r-scales" ,r-scales) @@ -616,21 +660,19 @@ variables.") (define-public r-ggpmisc (package (name "r-ggpmisc") - (version "0.4.0") + (version "0.4.2-1") (source (origin (method url-fetch) (uri (cran-uri "ggpmisc" version)) (sha256 (base32 - "1vfzhpd4bqskq1sxh60dkab02m51g0dhj9i8mfqqbakhmkqggxa3")))) + "1jkxcmpxq3b5ng276adph25s5w9imjxr1lqasqw50d2kcdhq58cy")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-generics" ,r-generics) - ("r-glue" ,r-glue) ("r-ggplot2" ,r-ggplot2) ("r-ggpp" ,r-ggpp) - ("r-gridextra" ,r-gridextra) ("r-lubridate" ,r-lubridate) ("r-mass" ,r-mass) ("r-plyr" ,r-plyr) @@ -639,10 +681,7 @@ variables.") ("r-rlang" ,r-rlang) ("r-scales" ,r-scales) ("r-splus2r" ,r-splus2r) - ("r-stringr" ,r-stringr) - ("r-tibble" ,r-tibble) - ("r-xts" ,r-xts) - ("r-zoo" ,r-zoo))) + ("r-tibble" ,r-tibble))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://www.r4photobiology.info/") @@ -1125,13 +1164,13 @@ single step.") (define-public r-rvest (package (name "r-rvest") - (version "1.0.0") + (version "1.0.1") (source (origin (method url-fetch) (uri (cran-uri "rvest" version)) (sha256 - (base32 "04spcv6nxlmx5bxncq0vybfqrs8jgjamzyrn6wmkdcwii8jvyn53")))) + (base32 "1v99bpp2077s4y5phvkzpgjyr8cs9axifm1c3npw6jmh8x9j91h8")))) (build-system r-build-system) (propagated-inputs `(("r-httr" ,r-httr) @@ -1178,14 +1217,14 @@ package is a port of the Python package @code{cssselect}.") (define-public r-reprex (package (name "r-reprex") - (version "2.0.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "reprex" version)) (sha256 (base32 - "1lcnxczy28n4g3rvph09va7svcznfyqa7zdggklqb924qvy7flwh")))) + "09k4rasp7mz6n796dsklcbc5l7prljiznrm7fra16qybr9kqcv8f")))) (build-system r-build-system) (propagated-inputs `(("r-callr" ,r-callr) @@ -1407,23 +1446,21 @@ Zucchini.") (define-public r-httpuv (package (name "r-httpuv") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (cran-uri "httpuv" version)) (sha256 (base32 - "0rxy57zl8yb5amsn3pvikha04k2vk0py4gys09lc7wr3agamswva")) + "1p5savhrcqlagnnh8ccnhpypbif9jhp97nq4rnhldn98gmb4a7sn")) ;; Unvendor bundled libraries. As of 1.5.4 the vendored libuv ;; only contains fixes for building on Solaris. (patches (search-patches "r-httpuv-1.5.5-unvendor-libuv.patch")) (modules '((guix build utils))) + ;; Cannot unbundle http-parser, because it contains local + ;; modifications. (snippet - `(begin - (delete-file-recursively "src/libuv") - ;; Cannot unbundle http-parser, because it contains local - ;; modifications. - #t)))) + '(delete-file-recursively "src/libuv")))) (build-system r-build-system) (arguments `(#:phases @@ -1436,10 +1473,10 @@ Zucchini.") ;; Fix https://github.com/rstudio/httpuv/issues/282 (substitute* "src/http.cpp" (("uv_pipe_init\\(pLoop, &pSocket->handle\\.pipe, true\\);") - "uv_pipe_init(pLoop, &pSocket->handle.pipe, 0);")) - #t))))) + "uv_pipe_init(pLoop, &pSocket->handle.pipe, 0);"))))))) (inputs - `(("libuv" ,libuv))) + `(("libuv" ,libuv) + ("zlib" ,zlib))) (propagated-inputs `(("r-later" ,r-later) ("r-promises" ,r-promises) @@ -1486,13 +1523,13 @@ in systems and applications.") (define-public r-servr (package (name "r-servr") - (version "0.22") + (version "0.23") (source (origin (method url-fetch) (uri (cran-uri "servr" version)) (sha256 (base32 - "1vnlkbf8s55rfgz7qp2dd84pf9zw94qmdx25rl6i7jybhsxmb71h")))) + "1f1fgfgjgjsbn2krkbyw2qwkm0k4lq9p9jakg9zwyqlgpkdd34j4")))) (build-system r-build-system) (propagated-inputs `(("r-httpuv" ,r-httpuv) @@ -2244,14 +2281,14 @@ Bootstrap themes, which are packaged for use with Shiny applications.") (define-public r-d3r (package (name "r-d3r") - (version "0.9.1") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "d3r" version)) (sha256 (base32 - "0kc82vvyfxhxvqfalngn36prn3sxdiinsx04rn99ha6zdc27zp5k")))) + "1qijkllfaaw0lb29j8mappm8jz9kg8gkihxq5wqhb4gabsazdwva")))) (build-system r-build-system) (arguments `(#:modules ((guix build utils) @@ -2272,7 +2309,9 @@ Bootstrap themes, which are packaged for use with Shiny applications.") (,(assoc-ref inputs "d3.v5.js") "v5/dist/d3.min.js") (,(assoc-ref inputs "d3.v6.js") - "v6/dist/d3.min.js")))) + "v6/dist/d3.min.js") + (,(assoc-ref inputs "d3.v7.js") + "v7/dist/d3.min.js")))) (lambda (sources targets) (for-each (lambda (source target) (format #t "Processing ~a --> ~a~%" @@ -2280,8 +2319,7 @@ Bootstrap themes, which are packaged for use with Shiny applications.") (delete-file target) (invoke "esbuild" source "--minify" (string-append "--outfile=" target))) - sources targets)))) - #t))))) + sources targets))))))))) (propagated-inputs `(("r-dplyr" ,r-dplyr) ("r-htmltools" ,r-htmltools) @@ -2316,7 +2354,14 @@ Bootstrap themes, which are packaged for use with Shiny applications.") (uri "https://d3js.org/d3.v6.js") (sha256 (base32 - "1x6432ca7p1pfxhz3airzw943fincn9izzxkclc1wmphcvv2n2p9")))))) + "1x6432ca7p1pfxhz3airzw943fincn9izzxkclc1wmphcvv2n2p9")))) + ("d3.v7.js" + ,(origin + (method url-fetch) + (uri "https://d3js.org/d3.v7.js") + (sha256 + (base32 + "0sd6vavxs8mx5xyb8xahlqghdiczqd284a7d5wravhqnrj0bw097")))))) (home-page "https://github.com/timelyportfolio/d3r") (synopsis "d3.js utilities for R") (description @@ -2694,14 +2739,14 @@ applications. That is, compute distances and related measures for angular (define-public r-jpeg (package (name "r-jpeg") - (version "0.1-8.1") + (version "0.1-9") (source (origin (method url-fetch) (uri (cran-uri "jpeg" version)) (sha256 (base32 - "1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x")))) + "0wihj538wdnr71wdldym83qadb4kh68a6rkallwbh2f25r27b881")))) (build-system r-build-system) (inputs `(("libjpeg" ,libjpeg-turbo))) (home-page "https://www.rforge.net/jpeg/") @@ -2752,20 +2797,18 @@ including functions for geolocation and routing.") (define-public r-haven (package (name "r-haven") - (version "2.4.1") + (version "2.4.3") (source (origin (method url-fetch) (uri (cran-uri "haven" version)) (sha256 (base32 - "1san6dc7kg2wy6f1jr5p1br28zdrand8wwgg7p6xxnx45h773320")) + "0pr9jcdk1r9pi9iz0xm1g5yy5qyjk5r7hh9467abx4kpwx3hzdwm")) (modules '((guix build utils))) (snippet - '(begin - ;; unvendor readstat - (delete-file-recursively "src/readstat") - #t)))) + ;; unvendor readstat + '(delete-file-recursively "src/readstat")))) (build-system r-build-system) (arguments '(#:phases @@ -2774,8 +2817,7 @@ including functions for geolocation and routing.") (lambda _ ;; Not required, since we’re not building readstat. (substitute* "src/Makevars" - (("-lz") "-lreadstat")) - #t))))) + (("-lz") "-lreadstat"))))))) (inputs `(("readstat" ,readstat))) (native-inputs @@ -2790,10 +2832,10 @@ including functions for geolocation and routing.") ("r-tidyselect" ,r-tidyselect) ("r-vctrs" ,r-vctrs))) (home-page "https://haven.tidyverse.org") - (synopsis "Import and Export 'SPSS', 'Stata' and 'SAS' Files") + (synopsis "Import and export SPSS, Stata and SAS files") (description - "This package lets you mport foreign statistical formats into R via the -embedded @url{https://github.com/WizardMac/ReadStat,ReadStat} C library.") + "This package lets you import foreign statistical formats into R via the +@url{https://github.com/WizardMac/ReadStat,ReadStat} C library.") (license license:expat))) (define-public r-amap @@ -3469,14 +3511,14 @@ use in R. It also provides a simple way for variable interpolation in R.") (define-public r-fastmatch (package (name "r-fastmatch") - (version "1.1-0") + (version "1.1-3") (source (origin (method url-fetch) (uri (cran-uri "fastmatch" version)) (sha256 (base32 - "0z80jxkygmzn11sq0c2iz357s9bpki548lg926g85gldhfj1md90")))) + "0qcq1gwl9pijgp34giyq5y9rk0ly3d7xza2b7r68xx63ifqa1vqx")))) (build-system r-build-system) (home-page "https://www.rforge.net/fastmatch") (synopsis "Fast match function") @@ -3734,13 +3776,13 @@ print, summary, etc.") (define-public r-laplacesdemon (package (name "r-laplacesdemon") - (version "16.1.4") + (version "16.1.6") (source (origin (method url-fetch) (uri (cran-uri "LaplacesDemon" version)) (sha256 - (base32 "1nv1kx86cg8f2s8q15pzskc0lg94bb250p0fhybrx5sjqv1s2lj1")))) + (base32 "1dsfp65cg06f25zjzd5ib4qyn1alfhbhpgyvpcw5n6bszn13idap")))) (properties `((upstream-name . "LaplacesDemon"))) (build-system r-build-system) (home-page "https://github.com/LaplacesDemonR/LaplacesDemon") @@ -4015,14 +4057,14 @@ matrices, a special case of sparse matrices.") (define-public r-bbmle (package (name "r-bbmle") - (version "1.0.23.1") + (version "1.0.24") (source (origin (method url-fetch) (uri (cran-uri "bbmle" version)) (sha256 (base32 - "0p3l9shbr2846qmw8n0fyzf4j7gmi08aypl82jml3dwh26q1whk0")))) + "1bck8rmink4wsk8pcbnj4d60svxymp29pxbzwj8p9gzsg42c1v81")))) (build-system r-build-system) (propagated-inputs `(("r-bdsmatrix" ,r-bdsmatrix) @@ -4031,6 +4073,8 @@ matrices, a special case of sparse matrices.") ("r-matrix" ,r-matrix) ("r-mvtnorm" ,r-mvtnorm) ("r-numderiv" ,r-numderiv))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/bbmle") (synopsis "Tools for General Maximum Likelihood Estimation") (description @@ -4461,14 +4505,14 @@ the RMariaDB package.") (define-public r-rpostgresql (package (name "r-rpostgresql") - (version "0.6-2") + (version "0.7") (source (origin (method url-fetch) (uri (cran-uri "RPostgreSQL" version)) (sha256 (base32 - "1mdhw5821v2h7hpa53v10wz53k4i90r0vb6a3dia5gq8f9j1h088")))) + "1bqfdbs09f65ssc6bx4z3kkmia8ja6qbnijxizw63p0fbcakq2q4")))) (properties `((upstream-name . "RPostgreSQL"))) (build-system r-build-system) (inputs @@ -4702,14 +4746,14 @@ by base R methods related to model fitting.") (define-public r-broom (package (name "r-broom") - (version "0.7.8") + (version "0.7.9") (source (origin (method url-fetch) (uri (cran-uri "broom" version)) (sha256 (base32 - "0hb2ia55ni2dhyaapw00iy5y44x2kzv39z6qg118c5r94w56fykm")))) + "1z65qyhkhkyalxhrvpsa7n8pickj9fjs8r4gzdvjp2rpggwramhx")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -4858,13 +4902,13 @@ color labels, layout, etc.") (define-public r-stringdist (package (name "r-stringdist") - (version "0.9.6.3") + (version "0.9.7") (source (origin (method url-fetch) (uri (cran-uri "stringdist" version)) (sha256 - (base32 "06rzbgw43vzg496xca82pydf3g2rz6iw6h50ai0prbp9hbwrhvfd")))) + (base32 "0gcjxbwciviny2apvlmm9324b445rlj54b7ll368m8zid5hqxacw")))) (build-system r-build-system) (home-page "https://github.com/markvanderloo/stringdist") (synopsis "Approximate string matching and string distance functions") @@ -5195,14 +5239,14 @@ structure.") (define-public r-vioplot (package (name "r-vioplot") - (version "0.3.6") + (version "0.3.7") (source (origin (method url-fetch) (uri (cran-uri "vioplot" version)) (sha256 (base32 - "15vmrm9gwdhfg8mnq8rsg7m59kzc9h53cv96am4ds1dkm56w4n6p")))) + "1dmdasp3jldc41233z6r08w3j76vyyp9m3jrj7n4ahk48yd5siq6")))) (build-system r-build-system) (propagated-inputs `(("r-sm" ,r-sm) @@ -5516,14 +5560,14 @@ plots in @code{ggplot2}.") (define-public r-cli (package (name "r-cli") - (version "3.0.0") + (version "3.0.1") (source (origin (method url-fetch) (uri (cran-uri "cli" version)) (sha256 (base32 - "0fadfp0003i937yqs7rc5ckbavm0h7mlvhg7ldn1x6vnk3fp7wd4")))) + "1zdld2cr83k4v7yrwa2csvcafwslwr610vk70mv1a3knrnv2b6nq")))) (build-system r-build-system) (propagated-inputs `(("r-glue" ,r-glue))) @@ -5723,13 +5767,13 @@ iVAT).") (define-public r-xfun (package (name "r-xfun") - (version "0.24") + (version "0.25") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "10xmw82wk40kjx22slla7959993l80s9m2rsvvvb8v9g42armqz3")))) + (base32 "15xy6hpz35j3mn4gvllj5m6krh5d86l4rnlxazsqjlckr237qgg6")))) (build-system r-build-system) ;; knitr itself depends on xfun #; @@ -5745,17 +5789,18 @@ packages maintained by Yihui Xie.") (define-public r-utf8 (package (name "r-utf8") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "utf8" version)) (sha256 (base32 - "1yw7vjn3gpkqddc91rbfh4kk0zmn2kp0jycrd3066sissh01jhdk")))) + "1x6qg19z4qih9lk3mvnmx0vailm1khp5lylw4hlwz6rssj3yw6m7")))) (build-system r-build-system) (native-inputs - `(("r-knitr" ,r-knitr))) + `(("r-knitr" ,r-knitr) + ("r-rmarkdown" ,r-rmarkdown))) ; for vignettes (home-page "https://github.com/patperry/r-utf8") (synopsis "Unicode text processing") (description @@ -5826,14 +5871,14 @@ to variables on the left-hand side of the assignment.") (define-public r-pillar (package (name "r-pillar") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (cran-uri "pillar" version)) (sha256 (base32 - "0akjk2k98zy4lyvw5ji1qlrrwzx43vad8z042jydn0f3i1hvkdq8")))) + "1666n7q95apfmk9nii090y23si5s07nhhw0gpzd24sagzw689lfs")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -5895,14 +5940,14 @@ packages that work with genomic data.") (define-public r-tinytex (package (name "r-tinytex") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "17y20kb5xgmz77n4rrkqmcm0cnjwfi4mn84h6zabij76b8cjiykh")))) + "10lqn704dqv5k5v6y964l8c77rwy4ilrc1hcb99j4vxpx3p4nd43")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -7049,14 +7094,14 @@ specific S3-method.") (define-public r-vim (package (name "r-vim") - (version "6.1.0") + (version "6.1.1") (source (origin (method url-fetch) (uri (cran-uri "VIM" version)) (sha256 (base32 - "1a8aw0ysaf0al95m2la2zx1p3g5mnwqx0x30br1s1dqqkfnv57hz")))) + "0fbpm6y3hhiw8srnbc38k19b859jcqzsh78ib8yvj86gck5av0bm")))) (properties `((upstream-name . "VIM"))) (build-system r-build-system) (propagated-inputs @@ -7422,14 +7467,14 @@ exchanging spatial objects with other R packages.") (define-public r-later (package (name "r-later") - (version "1.2.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (cran-uri "later" version)) (sha256 (base32 - "00f4n1b2ykrs2cd61pypa4d00ydx9hqq2c1a1p8psa2yym6979bm")))) + "0acqg29hcm2iq1418b54np7zb5pnr3xzrwc3ijv2pz9wra10ix88")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -7547,22 +7592,20 @@ it.") (define-public r-rgexf (package (name "r-rgexf") - (version "0.16.0") + (version "0.16.2") (source (origin (method url-fetch) (uri (cran-uri "rgexf" version)) (sha256 (base32 - "1vj5ha1qx0xzflchxf25ycys6clfn9y32m1717afzkvhmkwisrra")) + "00c2zka1n3k7p1l0mlchr063s6x58p9r3fb64d4wgl4rvsq55q3f")) + ;; Delete minified JavaScript files (snippet - '(begin - ;; Delete minified JavaScript files - (for-each delete-file - '("inst/gexf-js/js/jquery-2.0.2.min.js" - "inst/gexf-js/js/jquery-ui-1.10.3.custom.min.js" - "inst/gexf-js/js/jquery.mousewheel.min.js")) - #true)))) + '(for-each delete-file + '("inst/gexf-js/js/jquery-2.0.2.min.js" + "inst/gexf-js/js/jquery-ui-1.10.3.custom.min.js" + "inst/gexf-js/js/jquery.mousewheel.min.js"))))) (properties `((upstream-name . "rgexf"))) (build-system r-build-system) (arguments @@ -7591,8 +7634,7 @@ it.") source target) (invoke "esbuild" source "--minify" (string-append "--outfile=" target))) - sources targets)))) - #t))))) + sources targets))))))))) (propagated-inputs `(("r-igraph" ,r-igraph) ("r-servr" ,r-servr) @@ -7772,14 +7814,14 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") (define-public r-rastervis (package (name "r-rastervis") - (version "0.50.2") + (version "0.50.3") (source (origin (method url-fetch) (uri (cran-uri "rasterVis" version)) (sha256 (base32 - "0fl766wx5jz8ylpd28czkvl32pk1s57nbfsn8kxrwfvx5cfnfkxr")))) + "10njks2kwyh5rp2b6sf2hffxzzwwhskb8m98l73p8yrvsdri1gyj")))) (properties `((upstream-name . "rasterVis"))) (build-system r-build-system) (propagated-inputs @@ -7831,14 +7873,14 @@ those searches and pull data into their R sessions.") (define-public r-renv (package (name "r-renv") - (version "0.13.2") + (version "0.14.0") (source (origin (method url-fetch) (uri (cran-uri "renv" version)) (sha256 (base32 - "0jlsf6vfvqhr4i35xy3xf1ixkfillivzy3wbpl6ca9vyjpnhiwj1")))) + "194hcxikdnna526bvyz9y60ccmmm9fib5g0w9dqivrg0fld23lyh")))) (properties `((upstream-name . "renv"))) (build-system r-build-system) (native-inputs @@ -8404,14 +8446,14 @@ hierarchical models using Markov Chain Monte Carlo (MCMC) simulation.") (define-public r-rbibutils (package (name "r-rbibutils") - (version "2.2.1") + (version "2.2.3") (source (origin (method url-fetch) (uri (cran-uri "rbibutils" version)) (sha256 (base32 - "16z79rvxkgdg0xq21f5aykikg6vjaiw1p9j9q42k2bz8qdswfd3b")))) + "1rzc2icik26qlnrbq58c24lc9m0grl83p0hyr70whallqfipa174")))) (properties `((upstream-name . "rbibutils"))) (build-system r-build-system) (home-page "https://geobosh.github.io/rbibutils/") @@ -8452,14 +8494,14 @@ references and Rd files.") (define-public r-officer (package (name "r-officer") - (version "0.3.18") + (version "0.3.19") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "1j3bv4j8x5ijj0j447vpdsk4p8pl3ncwdwnns6n3plfrqgsf3vsg")))) + "06g2a6p0ik17fm5jlbl64kwg6jqm8hd52sfg6z87ni0c1yllzg7i")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) @@ -8678,14 +8720,14 @@ other add-on packages.") (define-public r-insight (package (name "r-insight") - (version "0.14.2") + (version "0.14.3") (source (origin (method url-fetch) (uri (cran-uri "insight" version)) (sha256 (base32 - "0dy7m6fb9ciyskxjirk6k4blfj9k3n4zfyx677xm3cmscp61g8gp")))) + "1fynidv11wmh51ybwzqj3c206slfwdz8a53qr57lcxwrg7zjn94q")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -8814,14 +8856,14 @@ functions.") (define-public r-flextable (package (name "r-flextable") - (version "0.6.6") + (version "0.6.7") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "1f4yb2sgy6m0y2s5jcxa3vpbizyc72qj1n8i3vi2a4pjhnv3bn2g")))) + "0yj9d84h4387vib988qqjzvknsdy4j8h7dd13ki7gqs443hzlnrd")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -8966,14 +9008,14 @@ matches version and feature constraints.") (define-public r-argparse (package (name "r-argparse") - (version "2.0.3") + (version "2.0.4") (source (origin (method url-fetch) (uri (cran-uri "argparse" version)) (sha256 (base32 - "1c2r417m1dxk1jhcggv3g4zax5a59k9rqs9jcs6xy2pa2333jqfj")))) + "1sgrr6acvfjbhksj45v6d5m5n5pp12kypcxisgbshlr9jdkmasd7")))) (build-system r-build-system) (inputs `(("python" ,python))) (propagated-inputs @@ -9062,14 +9104,14 @@ the work.") (define-public r-doby (package (name "r-doby") - (version "4.6.10") + (version "4.6.11") (source (origin (method url-fetch) (uri (cran-uri "doBy" version)) (sha256 (base32 - "0vqmmxhr3mx8yyl38abvy0zqswfgn7jqgwvc5gdchdiq6v8flnfr")))) + "1xhjh2d7zfgw8wbcj5yfscvmwbjar1w544ika13da69dydm44j81")))) (properties `((upstream-name . "doBy"))) (build-system r-build-system) (propagated-inputs @@ -9348,6 +9390,144 @@ and make comparisons between different methodologies straightforward.") several entropy estimators.") (license license:gpl3+))) +(define-public r-nsprcomp + (package + (name "r-nsprcomp") + (version "0.5.1-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "nsprcomp" version)) + (sha256 + (base32 + "1zlc1ximx96f235c0l8qfs6vbp1kpnbf943wxsfahnnlnxvwi59f")))) + (properties `((upstream-name . "nsprcomp"))) + (build-system r-build-system) + (home-page "https://sigg-iten.ch/research/") + (synopsis "Non-negative and sparse PCA") + (description + "This package implements two methods for performing a constrained +principal component analysis (PCA), where non-negativity and/or sparsity +constraints are enforced on the principal axes (PAs). The function +@code{nsprcomp} computes one principal component (PC) after the other. Each +PA is optimized such that the corresponding PC has maximum additional variance +not explained by the previous components. In contrast, the function +@code{nscumcomp} jointly computes all PCs such that the cumulative variance is +maximal. Both functions have the same interface as the @code{prcomp} function +from the @code{stats} package (plus some extra parameters).") + (license license:gpl2+))) + +(define-public r-cmplot + (package + (name "r-cmplot") + (version "3.6.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "CMplot" version)) + (sha256 + (base32 + "13y05j5gsdc712fn7yvcz5nx2pbcdvl201hfb6jzpvl86qx2l0j1")))) + (properties `((upstream-name . "CMplot"))) + (build-system r-build-system) + (home-page "https://github.com/YinLiLin/CMplot") + (synopsis "Circle Manhattan plot") + (description + "Circle Manhattan Plot is an R package that can lay out genome-wide +association study P-value results in both traditional rectangular patterns, +QQ-plot and novel circular ones. United in only one bull's eye style plot, +association results from multiple traits can be compared interactively, +thereby to reveal both similarities and differences between signals. +Additional functions include: highlight signals, a group of SNPs, chromosome +visualization and candidate genes around SNPs.") + (license license:gpl2+))) + +(define-public r-precrec + (package + (name "r-precrec") + (version "0.12.7") + (source + (origin + (method url-fetch) + (uri (cran-uri "precrec" version)) + (sha256 + (base32 + "0vwzaqnh9ymrm52dd79bihwqprnygz0d71ay8fv51hdw0zg6saya")))) + (properties `((upstream-name . "precrec"))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-data-table" ,r-data-table) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-rcpp" ,r-rcpp) + ("r-withr" ,r-withr))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://evalclass.github.io/precrec/") + (synopsis "Calculate accurate precision-recall and ROC curves") + (description + "This package provides tools for accurate calculations and visualization +of precision-recall and ROC (Receiver Operator Characteristics) curves.") + (license license:gpl3))) + +(define-public r-netrep + (package + (name "r-netrep") + (version "1.2.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "NetRep" version)) + (sha256 + (base32 + "1swlb2k9bc7whvslxbklz864j9ynvna73hvq5rhv61cv5vy05ksd")))) + (properties `((upstream-name . "NetRep"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-bh" ,r-bh) + ("r-foreach" ,r-foreach) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-rcpp" ,r-rcpp) + ("r-rcpparmadillo" ,r-rcpparmadillo) + ("r-rhpcblasctl" ,r-rhpcblasctl) + ("r-statmod" ,r-statmod))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/package=NetRep") + (synopsis "Permutation testing network module preservation across datasets") + (description + "This package provides functions for assessing the +replication/preservation of a network module's topology across datasets +through permutation testing.") + (license license:gpl2))) + +(define-public r-intergraph + (package + (name "r-intergraph") + (version "2.0-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "intergraph" version)) + (sha256 + (base32 + "18a7xgb2rp0w9jl2rkh8nzyjprrs5w7h2iidvc8c38bzx3qpggkc")))) + (properties `((upstream-name . "intergraph"))) + (build-system r-build-system) + (propagated-inputs + `(("r-igraph" ,r-igraph) + ("r-network" ,r-network))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "http://mbojan.github.io/intergraph") + (synopsis "Coercion routines for network data objects") + (description + "Functions implemented in this package allow to coerce (i.e. convert) +network data between classes provided by other R packages. Currently +supported classes are those defined in packages @code{network} and +@code{igraph}.") + (license license:gpl3))) + (define-public r-abcoptim (package (name "r-abcoptim") @@ -9475,6 +9655,233 @@ and coverage methods to tune the choice of threshold.") @end enumerate") (license license:gpl3))) +(define-public r-ggnetwork + (package + (name "r-ggnetwork") + (version "0.5.10") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggnetwork" version)) + (sha256 + (base32 + "0gqdgy5yh700dg0f7xb80hczlnqfisn8l55j7amd1n7fp2x5sr8v")))) + (properties `((upstream-name . "ggnetwork"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-igraph" ,r-igraph) + ("r-network" ,r-network) + ("r-sna" ,r-sna))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/briatte/ggnetwork") + (synopsis "Geometries to plot networks with ggplot2") + (description + "This package provides geometries to plot network objects with the +ggplot2 package.") + (license license:gpl3))) + +(define-public r-cvauc + (package + (name "r-cvauc") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "cvAUC" version)) + (sha256 + (base32 + "13bk97l5nn97h85iz93zxazhr63n21nwyrpnl856as9qp59yvn64")))) + (properties `((upstream-name . "cvAUC"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-rocr" ,r-rocr))) + (home-page "https://github.com/ledell/cvAUC") + (synopsis "Cross-validated area under the ROC curve confidence intervals") + (description + "This package contains various tools for working with and evaluating +cross-validated area under the ROC curve (AUC) estimators. The primary +functions of the package are @code{ci.cvAUC} and @code{ci.pooled.cvAUC}, which +report cross-validated AUC and compute confidence intervals for +cross-validated AUC estimates based on influence curves for i.i.d. and pooled +repeated measures data, respectively.") + (license license:asl2.0))) + +(define-public r-gam + (package + (name "r-gam") + (version "1.20") + (source + (origin + (method url-fetch) + (uri (cran-uri "gam" version)) + (sha256 + (base32 + "1zhy2fp7pxac8xp3z3hndhprj4s5gx3305b627vc78bal1ml3swi")))) + (properties `((upstream-name . "gam"))) + (build-system r-build-system) + (propagated-inputs + `(("r-foreach" ,r-foreach))) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/package=gam") + (synopsis "Generalized additive models") + (description + "This package provides functions for fitting and working with generalized +additive models, as described in chapter 7 of \"Statistical Models in +S\" (Chambers and Hastie (eds), 1991), and \"Generalized Additive +Models\" (Hastie and Tibshirani, 1990).") + (license license:gpl2))) + +(define-public r-superlearner + (package + (name "r-superlearner") + (version "2.0-28") + (source + (origin + (method url-fetch) + (uri (cran-uri "SuperLearner" version)) + (sha256 + (base32 + "00any24msgflyagy87nznpfjz5g9v15frqda6c679wa8plx26hjz")))) + (properties `((upstream-name . "SuperLearner"))) + (build-system r-build-system) + (propagated-inputs + `(("r-cvauc" ,r-cvauc) + ("r-gam" ,r-gam) + ("r-nnls" ,r-nnls))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/ecpolley/SuperLearner") + (synopsis "Super learner prediction") + (description + "This package implements the super learner prediction method and contains +a library of prediction algorithms to be used in the super learner.") + (license license:gpl3))) + +(define-public r-drtmle + (package + (name "r-drtmle") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "drtmle" version)) + (sha256 + (base32 + "08a6k0nrg6mqdslwjc71583x52vnax87nbfalk98zczwvrrdwvxa")))) + (properties `((upstream-name . "drtmle"))) + (build-system r-build-system) + (propagated-inputs + `(("r-future-apply" ,r-future-apply) + ("r-np" ,r-np) + ("r-superlearner" ,r-superlearner))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/benkeser/drtmle") + (synopsis "Doubly-robust nonparametric estimation and inference") + (description + "This package implements targeted minimum loss-based estimators of +counterfactual means and causal effects that are doubly-robust with respect +both to consistency and asymptotic normality.") + (license license:expat))) + +(define-public r-dofuture + (package + (name "r-dofuture") + (version "0.12.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "doFuture" version)) + (sha256 + (base32 + "1hqzdlgcrc5l6xjwdylsc9iiysi2wx8k1j1vmw3wryj26057c9y4")))) + (properties `((upstream-name . "doFuture"))) + (build-system r-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-HOME + (lambda _ (setenv "HOME" "/tmp")))))) + (propagated-inputs + `(("r-foreach" ,r-foreach) + ("r-future" ,r-future) + ("r-globals" ,r-globals) + ("r-iterators" ,r-iterators))) + (native-inputs + `(("r-r-rsp" ,r-r-rsp))) ; vignette builder + (home-page "https://github.com/HenrikBengtsson/doFuture") + (synopsis "Foreach parallel adapter using the future API") + (description + "This package provides a @code{%dopar%} adapter such that any type of +futures can be used as backends for the @code{foreach} framework.") + (license license:lgpl2.1+))) + +(define-public r-superheat + (package + (name "r-superheat") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "superheat" version)) + (sha256 + (base32 + "01v8s6px1k5fajlm6py3ksr1i853kwwlky1yryzhy3p1cxhwgg83")))) + (properties `((upstream-name . "superheat"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-ggdendro" ,r-ggdendro) + ("r-ggplot2" ,r-ggplot2) + ("r-gtable" ,r-gtable) + ("r-magrittr" ,r-magrittr) + ("r-plyr" ,r-plyr) + ("r-scales" ,r-scales))) + (home-page "https://cran.r-project.org/package=superheat") + (synopsis "Graphical tool for exploring complex datasets using heatmaps") + (description + "This package provides a system for generating extendable and +customizable heatmaps for exploring complex datasets, including big data and +data with multiple data types.") + (license license:cc0))) + +(define-public r-qualv + (package + (name "r-qualv") + (version "0.3-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "qualV" version)) + (sha256 + (base32 + "1yyqk223ydcc0125gsn33a4mcdp8bd76fpn8kj9bfz9g78b8dqmx")))) + (properties `((upstream-name . "qualV"))) + (build-system r-build-system) + (propagated-inputs + `(("r-kernsmooth" ,r-kernsmooth))) + (home-page "http://qualV.R-Forge.R-Project.org/") + (synopsis "Qualitative Validation Methods") + (description + "This package provides qualitative methods for the validation of dynamic +models. It contains + +@enumerate +@item an orthogonal set of deviance measures for absolute, relative and + ordinal scale and +@item approaches accounting for time shifts. +@end enumerate + +The first approach transforms time to take time delays and speed differences +into account. The second divides the time series into interval units +according to their main features and finds the @dfn{longest common +subsequence} (LCS) using a dynamic programming algorithm.") + (license license:gpl2+))) + (define-public r-mosaiccore (package (name "r-mosaiccore") @@ -10184,14 +10591,14 @@ samples is large and the number of mixture components is not too large.") (define-public r-magick (package (name "r-magick") - (version "2.7.2") + (version "2.7.3") (source (origin (method url-fetch) (uri (cran-uri "magick" version)) (sha256 (base32 - "1ckp85wk9lj6jjm92ww4mg1r4h4zm2cm68y6fyb1hz4mr3nihmji")))) + "0h942bn7wfnzbbgq9hrs75c7igmg5r1c5sad2v0znhza4cp7p1w3")))) (build-system r-build-system) (inputs `(("imagemagick" ,imagemagick) @@ -10218,14 +10625,14 @@ console, resulting in an interactive editing environment.") (define-public r-survey (package (name "r-survey") - (version "4.0") + (version "4.1-1") (source (origin (method url-fetch) (uri (cran-uri "survey" version)) (sha256 (base32 - "1q9x0s86s72gl43zj49gypg6jj2b78xjvxr4lmy5147s9h7z8lxh")))) + "0ljsszybzri531q6xab04r6zq11vchfs7y0snjzk57m3g0b9ms05")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice) @@ -10273,24 +10680,24 @@ analysis.") (define-public r-tab (package (name "r-tab") - (version "4.1.1") + (version "5.1.1") (source (origin (method url-fetch) (uri (cran-uri "tab" version)) (sha256 (base32 - "0ds8n6gncidb66in7hlqkcmil5yfsf7ihqvmls789hrm2iz9xlfm")))) + "1kg8c1safi9klkx2mdkmsf5dn9piy4jljwd4ma7g4jz2rwl4jzhv")))) (properties `((upstream-name . "tab"))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) - ("r-gee" ,r-gee) + ("r-kableextra" ,r-kableextra) ("r-knitr" ,r-knitr) ("r-mass" ,r-mass) - ("r-survey" ,r-survey) - ("r-survival" ,r-survival) - ("r-xtable" ,r-xtable))) + ("r-survey" ,r-survey))) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/tab/") (synopsis "Create summary tables for statistical reports") (description @@ -10626,14 +11033,14 @@ Hothorn, Westfall, 2010, CRC Press).") (define-public r-emmeans (package (name "r-emmeans") - (version "1.6.2-1") + (version "1.6.3") (source (origin (method url-fetch) (uri (cran-uri "emmeans" version)) (sha256 (base32 - "04971fi02x4ajkx1mijdv283wb5acic0s1s8g68vv7vk2bk09rj4")))) + "1mwcq3hvpx04qnn5k0bv1mikjgm9mk6m83i8hj350s1c1a0mi40n")))) (build-system r-build-system) (propagated-inputs `(("r-estimability" ,r-estimability) @@ -10830,14 +11237,14 @@ models.") (define-public r-glmmtmb (package (name "r-glmmtmb") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (cran-uri "glmmTMB" version)) (sha256 (base32 - "1jhq6hvamv05z12s603dsr8g4acajfylj4sdip8dd2qvj41x9xlx")))) + "1mivh385j1601668n3dg72lws9720kzm7709z509w3a71wcikmz7")))) (properties `((upstream-name . "glmmTMB"))) (build-system r-build-system) (propagated-inputs @@ -10863,18 +11270,19 @@ differentiation.") (define-public r-bayestestr (package (name "r-bayestestr") - (version "0.10.0") + (version "0.10.5") (source (origin (method url-fetch) (uri (cran-uri "bayestestR" version)) (sha256 (base32 - "1qr51mag5wf44h4sygkn5arsirpqdanf039cg6fxmyw83k51fi2v")))) + "0qnjl8b41d8sv9fs7633sbdq8phra62z7vqdn5mxfnqwdkvfzcgl")))) (properties `((upstream-name . "bayestestR"))) (build-system r-build-system) (propagated-inputs - `(("r-insight" ,r-insight))) + `(("r-datawizard" ,r-datawizard) + ("r-insight" ,r-insight))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/easystats/bayestestR") @@ -10890,17 +11298,18 @@ ROPE percentage and pd).") (define-public r-performance (package (name "r-performance") - (version "0.7.2") + (version "0.7.3") (source (origin (method url-fetch) (uri (cran-uri "performance" version)) (sha256 (base32 - "1yfbf7cp4nqwh5mcnm008vw3dapr5v3yj4lq81pvlwblp9hg7y94")))) + "03qdsdl4x3hwqlbs7hlqb73xypd13p5zj519y0zcydqkf25391sp")))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) + ("r-datawizard" ,r-datawizard) ("r-insight" ,r-insight))) (home-page "https://easystats.github.io/performance/") (synopsis "Assessment of regression models performance") @@ -10917,14 +11326,14 @@ effects models and Bayesian models.") (define-public r-ggeffects (package (name "r-ggeffects") - (version "1.1.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "1qb9d7nfs1hkgxhr6pkdrxxx7f8ar8g3si95bsm7wgl94xf2d8di")))) + "0xrb105kblkj3l9zlj9yy52rjlmx5x2aai1wwb5zvjr1f6nlc84l")))) (build-system r-build-system) (propagated-inputs `(("r-insight" ,r-insight) @@ -10974,17 +11383,18 @@ conversion of indices such as Cohen's d, r, odds, etc.") (define-public r-sjplot (package (name "r-sjplot") - (version "2.8.8") + (version "2.8.9") (source (origin (method url-fetch) (uri (cran-uri "sjPlot" version)) (sha256 - (base32 "050aarycgzy1n8ad67pj09s8k7s7xk6dicg0kjg0ivlkyyq0shqz")))) + (base32 "07b9p5wbb6xmyapg9j6i4cdcj7j9wj9gi30gljj6j2lj1flgdd7q")))) (properties `((upstream-name . "sjPlot"))) (build-system r-build-system) (propagated-inputs `(("r-bayestestr" ,r-bayestestr) + ("r-datawizard" ,r-datawizard) ("r-dplyr" ,r-dplyr) ("r-effectsize" ,r-effectsize) ("r-ggeffects" ,r-ggeffects) @@ -11131,14 +11541,14 @@ terminals that do not support Unicode.") (define-public r-credentials (package (name "r-credentials") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (cran-uri "credentials" version)) (sha256 (base32 - "1w9zj34xdwz9bszsvhv2cbgq96y5sgxbh7ndn31pgfcpzlkfq6f1")))) + "0q3s1bibwvw1p541k8a5cjx4dj1iabl4crg61fgjxkniclxag5c7")))) (properties `((upstream-name . "credentials"))) (build-system r-build-system) (arguments @@ -11175,14 +11585,14 @@ user credentials.") (define-public r-gert (package (name "r-gert") - (version "1.3.1") + (version "1.3.2") (source (origin (method url-fetch) (uri (cran-uri "gert" version)) (sha256 (base32 - "0ydakqhwi406pn255zgrzw31x01djrrjdaknh0d2ibw136lmw5hj")))) + "0pqrv58hqbf6cifwi9zxgnkql6a2j9i8wknnd5ng8z3d94zs12bz")))) (properties `((upstream-name . "gert"))) (build-system r-build-system) (inputs @@ -11403,14 +11813,14 @@ ways.") (define-public r-summarytools (package (name "r-summarytools") - (version "0.9.9") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "summarytools" version)) (sha256 (base32 - "0ig7vgjvldbndwhky1bsi38zifr9ji8xvvfqbfffplac08llvrbr")))) + "04qcysfywljnqkcz2b7kzpy0xv3ykkvvb14vnda63z1wvmadyhkn")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -11580,14 +11990,14 @@ analysing multivariate abundance data in community ecology.") (define-public r-afex (package (name "r-afex") - (version "0.28-1") + (version "1.0-1") (source (origin (method url-fetch) (uri (cran-uri "afex" version)) (sha256 (base32 - "0blwqr5ni3psav1dcdmhfi4jy3b4scm5njimqfpr1d81zadvgc6g")))) + "1k04n6gwk2n8kg0l3yk5j3wrqgkv5f6w04yjpif9y451hx5w7svg")))) (build-system r-build-system) (propagated-inputs `(("r-car" ,r-car) @@ -11666,6 +12076,88 @@ using @dfn{penalized quasi-likelihood} (PQL) estimation (see Jaeger et al. (2016)).") (license license:gpl2))) +(define-public r-cmdfun + (package + (name "r-cmdfun") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "cmdfun" version)) + (sha256 + (base32 + "1pbcq7hi2lcmqnghmy3q2fsk0c9fy5m0637acyzmc096fxbx723j")))) + (properties `((upstream-name . "cmdfun"))) + (build-system r-build-system) + (propagated-inputs + `(("r-magrittr" ,r-magrittr) + ("r-purrr" ,r-purrr) + ("r-r-utils" ,r-r-utils) + ("r-rlang" ,r-rlang) + ("r-testthat" ,r-testthat) + ("r-usethis" ,r-usethis))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://snystrom.github.io/cmdfun/") + (synopsis "Framework for building interfaces to shell commands") + (description + "Writing interfaces to command line software is cumbersome. The cmdfun +package provides a framework for building function calls to seamlessly +interface with shell commands by allowing lazy evaluation of command line +arguments. It also provides methods for handling user-specific paths to tool +installs or secrets like API keys. Its focus is to equally serve package +builders who wish to wrap command line software, and to help analysts stay +inside R when they might usually leave to execute non-R software.") + (license license:expat))) + +(define-public r-rslurm + (package + (name "r-rslurm") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "rslurm" version)) + (sha256 + (base32 + "0fn2na8prsaxa03x5wi3105gpsxc35qvgmik7wy3nylvx4wdfv9g")))) + (properties `((upstream-name . "rslurm"))) + (build-system r-build-system) + (propagated-inputs `(("r-whisker" ,r-whisker))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "http://cyberhelp.sesync.org/rslurm/") + (synopsis "Submit R calculations to a Slurm cluster") + (description + "This package provides functions that simplify submitting R scripts to a +Slurm workload manager, in part by automating the division of embarrassingly +parallel calculations across cluster nodes.") + (license license:gpl3))) + +(define-public r-chk + (package + (name "r-chk") + (version "0.7.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "chk" version)) + (sha256 + (base32 + "1fxsxgvd08lkb6amjgs4x48dhqr046mmjngjfgy2ya9cl2shd7ls")))) + (properties `((upstream-name . "chk"))) + (build-system r-build-system) + (propagated-inputs + `(("r-lifecycle" ,r-lifecycle) + ("r-rlang" ,r-rlang))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/poissonconsulting/chk") + (synopsis "Check user-supplied function arguments") + (description + "This is a package for developers to check user-supplied function +arguments. It is designed to be simple, fast and customizable. Error +messages follow the tidyverse style guide.") + (license license:expat))) + (define-public r-weights (package (name "r-weights") @@ -11697,14 +12189,14 @@ address a bug.") (define-public r-rcppannoy (package (name "r-rcppannoy") - (version "0.0.18") + (version "0.0.19") (source (origin (method url-fetch) (uri (cran-uri "RcppAnnoy" version)) (sha256 (base32 - "0n68cf77gz34iq6w6ad87pbqwqam45nxp1gjzns4g6qhf7qdvrz4")))) + "12k8ny981dmky5js8yl6bih5r5mq3w43f2f9admhkwqn0n80kcl9")))) (properties `((upstream-name . "RcppAnnoy"))) (build-system r-build-system) (propagated-inputs @@ -11815,14 +12307,14 @@ Bioconductor packages.") (define-public r-rgl (package (name "r-rgl") - (version "0.106.8") + (version "0.107.14") (source (origin (method url-fetch) (uri (cran-uri "rgl" version)) (sha256 (base32 - "0m1zvbmw81za680zq7h4agxr88pi7h5hz812r45vzmgc7hlw4apw")))) + "1z5h4wbjj18prcykc96rqcn699pnqw6vybwj2mpbbbdw2lr3q8b7")))) (build-system r-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -11840,9 +12332,7 @@ Bioconductor packages.") ("r-htmlwidgets" ,r-htmlwidgets) ("r-jsonlite" ,r-jsonlite) ("r-knitr" ,r-knitr) - ("r-magrittr" ,r-magrittr) - ("r-manipulatewidget" ,r-manipulatewidget) - ("r-shiny" ,r-shiny))) + ("r-magrittr" ,r-magrittr))) (home-page "https://r-forge.r-project.org/projects/rgl/") (synopsis "3D visualization using OpenGL") (description @@ -13254,14 +13744,14 @@ preparing, executing, and processing HTTP requests.") (define-public r-bigrquery (package (name "r-bigrquery") - (version "1.3.2") + (version "1.4.0") (source (origin (method url-fetch) (uri (cran-uri "bigrquery" version)) (sha256 (base32 - "16whccv7f94vf57dvbbrhdskz3nnbmpa11a14kp7aynckldlfy0v")))) + "02msq61l7vamzpvbhvalh3qil1aa7pr68pwpsivbb6pvz6p4zyns")))) (build-system r-build-system) (propagated-inputs `(("r-assertthat" ,r-assertthat) @@ -13272,6 +13762,7 @@ preparing, executing, and processing HTTP requests.") ("r-glue" ,r-glue) ("r-httr" ,r-httr) ("r-jsonlite" ,r-jsonlite) + ("r-lifecycle" ,r-lifecycle) ("r-prettyunits" ,r-prettyunits) ("r-progress" ,r-progress) ("r-rapidjsonr" ,r-rapidjsonr) @@ -14312,14 +14803,14 @@ them in distributed compute environments.") (define-public r-parallelly (package (name "r-parallelly") - (version "1.26.1") + (version "1.27.0") (source (origin (method url-fetch) (uri (cran-uri "parallelly" version)) (sha256 (base32 - "034y3il7g2rv1qy6k2fq6hhzvdbb588k4pq6hhjh9np0i6q79ljw")))) + "1xxy9wcfs5s7s4926dlxmdy6mxdh7dlj2siwcbqk8hl9614dqmb3")))) (properties `((upstream-name . "parallelly"))) (build-system r-build-system) (home-page "https://github.com/HenrikBengtsson/parallelly") @@ -14378,14 +14869,14 @@ the local machine to, say, distributed processing on a remote compute cluster.") (define-public r-future-apply (package (name "r-future-apply") - (version "1.7.0") + (version "1.8.1") (source (origin (method url-fetch) (uri (cran-uri "future.apply" version)) (sha256 (base32 - "1ns5cf80vyabvyz9qp6kpvkg4jycinn7x6v7x6692fgjapdnmyig")))) + "1ix61bfbk43pwnjb0wk8lkfgdsy5zi8svk74gar5nrl90b5w6nqd")))) (properties `((upstream-name . "future.apply"))) (build-system r-build-system) (arguments @@ -14739,14 +15230,14 @@ users of rARPACK are advised to switch to the RSpectra package.") (define-public r-compositions (package (name "r-compositions") - (version "2.0-1") + (version "2.0-2") (source (origin (method url-fetch) (uri (cran-uri "compositions" version)) (sha256 (base32 - "03qslsfx11gshls901zlhw47prd55mf16w4mkmd8x1dgiwq938l4")))) + "05pji62pzgfk9dyiybmr16q0h6mdzsmvyzxdni3hn0dvl4a7mr5m")))) (build-system r-build-system) (propagated-inputs `(("r-bayesm" ,r-bayesm) @@ -15925,14 +16416,14 @@ tessellation.") (define-public r-wk (package (name "r-wk") - (version "0.4.1") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "wk" version)) (sha256 (base32 - "0l49pg1ds02h1qji1fi2m67mncvgd1n905i0jx07frdxy0d3b9ys")))) + "0fj2wzswv3dfninsyw9irf52fc2d0lag5b822x841vdfpvh01mbi")))) (properties `((upstream-name . "wk"))) (build-system r-build-system) (propagated-inputs @@ -15982,14 +16473,14 @@ information about geometries.") (define-public r-sf (package (name "r-sf") - (version "1.0-1") + (version "1.0-2") (source (origin (method url-fetch) (uri (cran-uri "sf" version)) (sha256 (base32 - "0c43l2h8i179q4zpgxdzi747i27144wfx3w028zvq13q0ab0brk9")))) + "0hh54krf4gjwrzxj2r3p5q7amdf8kblv8nm7hmbwmfv1rs30i1gc")))) (build-system r-build-system) (inputs `(("gdal" ,gdal) @@ -16069,14 +16560,14 @@ spanning tree.") (define-public r-adegenet (package (name "r-adegenet") - (version "2.1.3") + (version "2.1.4") (source (origin (method url-fetch) (uri (cran-uri "adegenet" version)) (sha256 (base32 - "1ipnawi0qfd4rfwj37igvh36x1a9d8x4n7xynn1jcr12rd713407")))) + "0sxbw5l92xmkazndxbqaa2cxmgk8bqzzbk77q9li850s2i1fdssp")))) (build-system r-build-system) (propagated-inputs `(("r-ade4" ,r-ade4) @@ -16487,16 +16978,17 @@ SELECT or UPDATE queries to an end-point.") (define-public r-bookdown (package (name "r-bookdown") - (version "0.22") + (version "0.23") (source (origin (method url-fetch) (uri (cran-uri "bookdown" version)) (sha256 (base32 - "0j80wm36mw3f14ncfwm6xx09wff1kswfiv8b309x9y0f9r46dr0z")))) + "1q0n3pjhgpsin4z7bdf0hixkfxvbbn1wc23040yl11wzc5x2f1ap")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) + ("r-jquerylib" ,r-jquerylib) ("r-knitr" ,r-knitr) ("r-rmarkdown" ,r-rmarkdown) ("r-tinytex" ,r-tinytex) @@ -16755,14 +17247,14 @@ interaction search in high-dimensional data.") (define-public r-rttf2pt1 (package (name "r-rttf2pt1") - (version "1.3.8") + (version "1.3.9") (source (origin (method url-fetch) (uri (cran-uri "Rttf2pt1" version)) (sha256 (base32 - "0b3f2zkmbyshn19cnaaf042d0zwf43l9jnkqizfhxxwb93a4c1jn")))) + "0w9ybqvr4bvpa2dyfkrscg4in0x2dkzmxdn1n6003j1rss7f8rw6")))) (properties `((upstream-name . "Rttf2pt1"))) (build-system r-build-system) (home-page "https://github.com/wch/Rttf2pt1") @@ -16963,22 +17455,42 @@ improvements over the @code{convertColor} function in the @code{grDevices} package.") (license license:expat))) +(define-public r-yulab-utils + (package + (name "r-yulab-utils") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "yulab.utils" version)) + (sha256 + (base32 + "1haq6k0r64gs76p2vvrm42m64r8s32kzyz573pw9789y32zn0s5q")))) + (properties `((upstream-name . "yulab.utils"))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/package=yulab.utils") + (synopsis "Supporting functions for packages maintained by YuLab-SMU") + (description + "Miscellaneous functions commonly used by YuLab-SMU, such as +@code{install_zip_gh} to install R packages from Github ZIP files.") + (license license:artistic2.0))) + (define-public r-ggplotify (package (name "r-ggplotify") - (version "0.0.7") + (version "0.0.9") (source (origin (method url-fetch) (uri (cran-uri "ggplotify" version)) (sha256 (base32 - "1vx2fg91ivssrxr4kzs9737hr8bsfs0q5pvd7lck7ffjpkjbclhh")))) + "1irm8pmf20bfl2djr591jfs7g8l7vw2673ri76pimz3285l74bp0")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) ("r-gridgraphics" ,r-gridgraphics) - ("r-rvcheck" ,r-rvcheck))) + ("r-yulab-utils" ,r-yulab-utils))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/GuangchuangYu/ggplotify") @@ -17516,6 +18028,31 @@ matrix and displays the significance level on the plot. It also includes a function for computing a matrix of correlation p-values.") (license license:gpl2))) +(define-public r-ggfun + (package + (name "r-ggfun") + (version "0.0.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "ggfun" version)) + (sha256 + (base32 + "0bf8pl3scy5fx15h1fx0799cb9sg9spjapqif9gcz27pmmgdc0n9")))) + (properties `((upstream-name . "ggfun"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-rlang" ,r-rlang))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/package=ggfun") + (synopsis "Miscellaneous functions for ggplot2") + (description + "This package provides useful functions to edit ggplot object (e.g., +setting fonts for theme and layers, adding rounded rectangle as background for +each of the legends).") + (license license:artistic2.0))) + (define-public r-gridtext (package (name "r-gridtext") @@ -17864,14 +18401,14 @@ colored by the number of neighboring points. This is useful to visualize the (define-public r-arrow (package (name "r-arrow") - (version "4.0.1") + (version "5.0.0") (source (origin (method url-fetch) (uri (cran-uri "arrow" version)) (sha256 (base32 - "19kzfjxp90ybi1px3r93mfx59nqmnagxr4g73y7iby5blwl1bblc")))) + "1x9z7jr7rnsqi04vfs54qidhn8hi0j533lm7ka074jp4xdv1gxjx")))) (properties `((upstream-name . "arrow"))) (build-system r-build-system) (inputs @@ -18196,14 +18733,14 @@ batch correction, and data correction.") (define-public r-styler (package (name "r-styler") - (version "1.4.1") + (version "1.5.1") (source (origin (method url-fetch) (uri (cran-uri "styler" version)) (sha256 (base32 - "10fj4cnazicb2z9djbv5pszcmrf7wbzagbjvksffqpdc5vbbbw5x")))) + "11vskz58mxkiq74bdz72nyzr2jrpyq4h7g47aai7rc5r3fzl6clc")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) @@ -18474,14 +19011,14 @@ classification and regression models.") (define-public r-dae (package (name "r-dae") - (version "3.1-37") + (version "3.2-10") (source (origin (method url-fetch) (uri (cran-uri "dae" version)) (sha256 (base32 - "102fgbdpn7yvm1zj180cv4sr1096sz35d4gndsv7w9kriqyi1c1l")))) + "1z5vxxzzpqfl78c2c60109jdr003j48qjisj3mrhsxa89wdv9hs9")))) (build-system r-build-system) (propagated-inputs `(("r-ggplot2" ,r-ggplot2) @@ -18513,14 +19050,14 @@ been used in the call to @code{aov}.") (define-public r-dalex (package (name "r-dalex") - (version "2.2.1") + (version "2.3.0") (source (origin (method url-fetch) (uri (cran-uri "DALEX" version)) (sha256 (base32 - "184mzby1giismhx4brvrdfl5n5kialyvv8ik18blhchvpy145cwf")))) + "0x8rcl3p1h1dpzgsfnalfjhvv345gg5v0z8dxqwrk6i32xk5wmzb")))) (properties `((upstream-name . "DALEX"))) (build-system r-build-system) (propagated-inputs @@ -18907,14 +19444,14 @@ computed using the L1 (Manhattan, taxicab) metric.") (define-public r-leiden (package (name "r-leiden") - (version "0.3.8") + (version "0.3.9") (source (origin (method url-fetch) (uri (cran-uri "leiden" version)) (sha256 (base32 - "0sv0j4sgpz8z65vhbpmaglg878jhq52srzf5rpw4vbsbys2807w1")))) + "03gaxpcab3a1av5lk8r5ll1s858gvyx5ndknci1sia96w1v44xc1")))) (properties `((upstream-name . "leiden"))) (build-system r-build-system) (propagated-inputs @@ -19170,14 +19707,14 @@ emphasize hidden group structures in networks or focus on specific nodes.") (define-public r-terra (package (name "r-terra") - (version "1.3-4") + (version "1.3-22") (source (origin (method url-fetch) (uri (cran-uri "terra" version)) (sha256 (base32 - "04fcraicr79vrvzqfxqsgzqp6awf2g5qrvpi76dcm3c04i5z3rlc")))) + "1z5zql68q4n81ccpl02hndhbavhhqs65bli1hjxlqdwdq192whkh")))) (properties `((upstream-name . "terra"))) (build-system r-build-system) (inputs @@ -19936,14 +20473,14 @@ server-side.") (define-public r-sysfonts (package (name "r-sysfonts") - (version "0.8.3") + (version "0.8.5") (source (origin (method url-fetch) (uri (cran-uri "sysfonts" version)) (sha256 (base32 - "00kbazxw6zd1kakfshffdj928krca53bw9k78k0zar40mbqxiwd5")))) + "1fhf0x5sqx3mv72j9d0clkq1qzqiqxbxn1h808f7ccf0mb04v43y")))) (properties `((upstream-name . "sysfonts"))) (build-system r-build-system) (inputs @@ -19984,14 +20521,14 @@ package.") (define-public r-showtext (package (name "r-showtext") - (version "0.9-2") + (version "0.9-4") (source (origin (method url-fetch) (uri (cran-uri "showtext" version)) (sha256 (base32 - "0y5mw6ffk92r7b22irrfhdmj4hxfl0d1wjxj14hznbapc4qm6f0z")))) + "1gvj32wrs5q31bmg5dy6n85d0igm3jhkldhdv8kscw0pfrk89y36")))) (properties `((upstream-name . "showtext"))) (build-system r-build-system) (inputs @@ -20979,14 +21516,14 @@ provided as well.") (define-public r-tuner (package (name "r-tuner") - (version "1.3.3") + (version "1.3.3.1") (source (origin (method url-fetch) (uri (cran-uri "tuneR" version)) (sha256 (base32 - "0av978m4h2iqazyfq6n2cgkh4wpllihh7s29lah2nb8ngc0w5hxx")))) + "12nixpqrc5gp7p2clr7ia6jwb0jq2i3brlxiwlp00ixmnm5g1jyd")))) (properties `((upstream-name . "tuneR"))) (build-system r-build-system) (propagated-inputs `(("r-signal" ,r-signal))) @@ -21003,14 +21540,14 @@ transcription, ...") (define-public r-seewave (package (name "r-seewave") - (version "2.1.6") + (version "2.1.8") (source (origin (method url-fetch) (uri (cran-uri "seewave" version)) (sha256 (base32 - "123h3q0gps0vy9sikr7gjphnv9m3l4h4mykiydjllmrpaw1s1844")))) + "1szcvryvl4kb3av2pcvl14bz6whl7xrq4wb1ck6w7lfc4mrlirhh")))) (properties `((upstream-name . "seewave"))) (build-system r-build-system) (inputs @@ -21199,13 +21736,13 @@ management} (aCRM).") (define-public r-tree (package (name "r-tree") - (version "1.0-40") + (version "1.0-41") (source (origin (method url-fetch) (uri (cran-uri "tree" version)) (sha256 (base32 - "1rr6ws62j9h36f3nl713f8h3ndkh95mv46l055jvgmby5lw1dazz")))) + "13jwdxx3na16mly176n01zdkaqn4a8x9fc43rq5xx5vx31drkkr1")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/tree/") (synopsis "Classification and regression trees") @@ -23131,14 +23668,14 @@ Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish.") (define-public r-quanteda (package (name "r-quanteda") - (version "3.0.0") + (version "3.1.0") (source (origin (method url-fetch) (uri (cran-uri "quanteda" version)) (sha256 (base32 - "0b1jfkdhpsg5jhjz4p0nf4cmi9p8w40wv3i2f17jf2x1n1y2hjj8")))) + "0gafbb73gcxx2gq9q7bg88alyhymkr471lp394m5ydij6mdm4hb9")))) (properties `((upstream-name . "quanteda"))) (build-system r-build-system) (propagated-inputs @@ -23337,14 +23874,14 @@ imputed data sets with the appropriate degree of sampling uncertainty.") (define-public r-matrixcalc (package (name "r-matrixcalc") - (version "1.0-4") + (version "1.0-5") (source (origin (method url-fetch) (uri (cran-uri "matrixcalc" version)) (sha256 (base32 - "0id0s8fwwzs9mklp642vx1wzqwdqvpqry0rnhjnh3id60h8q7icl")))) + "1jkgl1v1q7cqpl1rf49qahdr9y0f33f0ldsbgby8xhfv0vpy21jr")))) (properties `((upstream-name . "matrixcalc"))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/matrixcalc/") @@ -23479,14 +24016,14 @@ and analyze Stan models.") (define-public r-rpf (package (name "r-rpf") - (version "1.0.7") + (version "1.0.8") (source (origin (method url-fetch) (uri (cran-uri "rpf" version)) (sha256 (base32 - "04n605h091d6nijbbhar79zj7gfkymb6pp7v1496avzajy483klw")))) + "039r6yz2ax7i9sv8vi98yg7llwb966ay6mrifpmp6q3xh1f634kl")))) (properties `((upstream-name . "rpf"))) (build-system r-build-system) (propagated-inputs @@ -23918,14 +24455,14 @@ interesting features. iheatmapr uses the plotly library for interactivity.") (define-public r-packrat (package (name "r-packrat") - (version "0.6.0") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "packrat" version)) (sha256 (base32 - "01cn2vf95nc8bh0hh8imkn030yra3hx64q1fb8jwsr52p9s397fr")))) + "1hnwhdgqljqs3m7c4rjlyndyc0k85jpa4rbfymxkm3zjg3yy3g78")))) (properties `((upstream-name . "packrat"))) (build-system r-build-system) (home-page "https://github.com/rstudio/packrat/") @@ -23939,14 +24476,14 @@ and reproducible way.") (define-public r-rsconnect (package (name "r-rsconnect") - (version "0.8.18") + (version "0.8.24") (source (origin (method url-fetch) (uri (cran-uri "rsconnect" version)) (sha256 (base32 - "01bj16iggj5fggfa7n312458p8xg30zx2vzfkd8jqcchnbrphfvl")))) + "19p4w9dmhsl1vdvwv3hfmd5qzf4296g0x878idfajvrx0wgfysyg")))) (properties `((upstream-name . "rsconnect"))) (build-system r-build-system) (propagated-inputs @@ -24331,14 +24868,14 @@ climate data.") (define-public r-rlinsolve (package (name "r-rlinsolve") - (version "0.3.1") + (version "0.3.2") (source (origin (method url-fetch) (uri (cran-uri "Rlinsolve" version)) (sha256 (base32 - "1x02xxbkchcwwfa2123n9yqfzinfi0zba8zxhp977czzwysy75cc")))) + "1xv500n1480qyakw0isanw1s5ywykhc207hqja4804s5s2m8zfjw")))) (properties `((upstream-name . "Rlinsolve"))) (build-system r-build-system) (propagated-inputs @@ -24453,14 +24990,14 @@ Encyclopedia of Integer Sequences} (OEIS) in the function help page.") (define-public r-isoband (package (name "r-isoband") - (version "0.2.4") + (version "0.2.5") (source (origin (method url-fetch) (uri (cran-uri "isoband" version)) (sha256 (base32 - "0z1qpxcl8b6fi691fbdr3vrb19mn4pas1iff62zl1bafzbdvpmcn")))) + "19bbi0n0kz33xdgmdprcmc6raphd1hcm1w1brc16z5phcsh3zxa6")))) (properties `((upstream-name . "isoband"))) (build-system r-build-system) (native-inputs @@ -25008,20 +25545,19 @@ infinite-precision rational arithmetic.") (define-public r-rxnat (package (name "r-rxnat") - (version "1.0.14") + (version "1.0.15") (source (origin (method url-fetch) (uri (cran-uri "Rxnat" version)) (sha256 (base32 - "00fl68pa0c2vy4xlny67pn41lzgm7b97wgg3dwm6z35izca62l11")))) + "0siylypjd8cgcmr2c443w8krg8sgr5gz4zapbinanp8vsfzivdv2")))) (properties `((upstream-name . "Rxnat"))) (build-system r-build-system) (propagated-inputs - `(("r-dplyr" ,r-dplyr) - ("r-httr" ,r-httr) + `(("r-httr" ,r-httr) ("r-rcurl" ,r-rcurl) ("r-tibble" ,r-tibble))) (native-inputs @@ -25174,17 +25710,100 @@ packages, but other reference models can also be used. See the package vignette for more information and examples.") (license license:gpl3))) +(define-public r-distributional + (package + (name "r-distributional") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "distributional" version)) + (sha256 + (base32 + "0ps30ijlf0xwranxkq1z29d76d3zgy8drwxpnxp6ffmyma8mm3h2")))) + (properties + `((upstream-name . "distributional"))) + (build-system r-build-system) + (propagated-inputs + `(("r-digest" ,r-digest) + ("r-ellipsis" ,r-ellipsis) + ("r-farver" ,r-farver) + ("r-generics" ,r-generics) + ("r-ggplot2" ,r-ggplot2) + ("r-lifecycle" ,r-lifecycle) + ("r-numderiv" ,r-numderiv) + ("r-rlang" ,r-rlang) + ("r-scales" ,r-scales) + ("r-vctrs" ,r-vctrs))) + (home-page "https://pkg.mitchelloharawild.com/distributional/") + (synopsis "Vectorized probability distributions") + (description + "This package provides vectorized distribution objects with tools for +manipulating, visualizing, and using probability distributions. It was +designed to allow model prediction outputs to return distributions rather than +their parameters, allowing users to directly interact with predictive +distributions in a data-oriented workflow. In addition to providing generic +replacements for p/d/q/r functions, other useful statistics can be computed +including means, variances, intervals, and highest density regions.") + (license license:gpl3))) + +(define-public r-posterior + (package + (name "r-posterior") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "posterior" version)) + (sha256 + (base32 + "000k2sih7r89nmw3nwndx5jljcvkyr61b96mdkqrw83rs74lnh6f")))) + (properties `((upstream-name . "posterior"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-checkmate" ,r-checkmate) + ("r-distributional" ,r-distributional) + ("r-pillar" ,r-pillar) + ("r-rlang" ,r-rlang) + ("r-tensora" ,r-tensora) + ("r-tibble" ,r-tibble) + ("r-vctrs" ,r-vctrs))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://mc-stan.org/posterior/") + (synopsis "Tools for working with posterior distributions") + (description + "This package provides useful tools for both users and developers of +packages for fitting Bayesian models or working with output from Bayesian +models. The primary goals of the package are to: + +@enumerate +@item Efficiently convert between many different useful formats of +draws (samples) from posterior or prior distributions. + +@item Provide consistent methods for operations commonly performed on draws, +for example, subsetting, binding, or mutating draws. + +@item Provide various summaries of draws in convenient formats. + +@item Provide lightweight implementations of state of the art posterior +inference diagnostics. +@end enumerate +") + (license license:bsd-3))) + (define-public r-brms (package (name "r-brms") - (version "2.15.0") + (version "2.16.0") (source (origin (method url-fetch) (uri (cran-uri "brms" version)) (sha256 (base32 - "0byc3fyvf9qbvvgwf55ih5d4br1nnxlbaidq9fvr11bmv38h25y1")))) + "14ykj7h0pzyzsyd1c46ybapsz3aqnffjih5hm7khfa5jk05wbs7a")))) (properties `((upstream-name . "brms"))) (build-system r-build-system) (propagated-inputs @@ -25202,6 +25821,7 @@ vignette for more information and examples.") ("r-mgcv" ,r-mgcv) ("r-nleqslv" ,r-nleqslv) ("r-nlme" ,r-nlme) + ("r-posterior" ,r-posterior) ("r-projpred" ,r-projpred) ("r-rcpp" ,r-rcpp) ("r-rstan" ,r-rstan) @@ -25263,21 +25883,21 @@ multi-state models.") (define-public r-scatterpie (package (name "r-scatterpie") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri (cran-uri "scatterpie" version)) (sha256 (base32 - "1lilzybbxqhrjpwwf9050wf5f896pn5d93llp5da7ssrcn5bm9i8")))) + "1pmspv8a7k20zyd5xvmav2k9mnjrkfhdij3rr9k504zyki8hfy1z")))) (properties `((upstream-name . "scatterpie"))) (build-system r-build-system) (propagated-inputs `(("r-ggforce" ,r-ggforce) + ("r-ggfun" ,r-ggfun) ("r-ggplot2" ,r-ggplot2) ("r-rlang" ,r-rlang) - ("r-rvcheck" ,r-rvcheck) ("r-tidyr" ,r-tidyr))) (native-inputs `(("r-knitr" ,r-knitr))) @@ -25434,14 +26054,14 @@ counting and recursive k-means partitioning.") (define-public r-hardhat (package (name "r-hardhat") - (version "0.1.5") + (version "0.1.6") (source (origin (method url-fetch) (uri (cran-uri "hardhat" version)) (sha256 (base32 - "1b7f9i9fy39j9n03g40vd6nzgq9fgq914xg3svf84najlknvjzly")))) + "07mx8c24gy0xfmip9hb5w29gp10sfnpnilzc1pi0hjadnrqz8mks")))) (properties `((upstream-name . "hardhat"))) (build-system r-build-system) (propagated-inputs @@ -25791,14 +26411,14 @@ simple interface for all functions.") (define-public r-iml (package (name "r-iml") - (version "0.10.0") + (version "0.10.1") (source (origin (method url-fetch) (uri (cran-uri "iml" version)) (sha256 (base32 - "0xm3q42qahq798ilgg050df0mahhbdfd3fx3i7cpx606h38si0x7")))) + "1wz6xqhvqkzj723nw7qrlwb1171wvvpxhv3pa8cq7vcbkiflq37r")))) (properties `((upstream-name . "iml"))) (build-system r-build-system) (propagated-inputs @@ -25808,7 +26428,7 @@ simple interface for all functions.") ("r-future" ,r-future) ("r-future-apply" ,r-future-apply) ("r-ggplot2" ,r-ggplot2) - ("r-gridextra" ,r-gridextra) + ("r-keras" ,r-keras) ("r-metrics" ,r-metrics) ("r-prediction" ,r-prediction) ("r-r6" ,r-r6))) @@ -25950,14 +26570,14 @@ package.") (define-public r-spatstat-geom (package (name "r-spatstat-geom") - (version "2.2-0") + (version "2.2-2") (source (origin (method url-fetch) (uri (cran-uri "spatstat.geom" version)) (sha256 (base32 - "0k33d5h9slk2g43a90g4ksrq3kkz0kdsxbxkmyr33x8pyfkn7c3h")))) + "0rx28g064641yrk2h23qpyc0bgs20lpsnqmyl1d06530ga6r1qc3")))) (properties `((upstream-name . "spatstat.geom"))) (build-system r-build-system) (propagated-inputs @@ -25976,14 +26596,14 @@ for the geometry of linear networks.") (define-public r-spatstat-core (package (name "r-spatstat-core") - (version "2.2-0") + (version "2.3-0") (source (origin (method url-fetch) (uri (cran-uri "spatstat.core" version)) (sha256 (base32 - "0lsjsr85j69b3b840hkixwrc9dcdmi9n5yiyvd0lz3ccd2pc3jqf")))) + "1j962lzllqzxkd57j6immyj94pc53ff9mlvw1iscw7cnn9nyr5ap")))) (properties `((upstream-name . "spatstat.core"))) (build-system r-build-system) (propagated-inputs @@ -26008,14 +26628,14 @@ user-level code from spatstat, except for the code for linear networks.") (define-public r-spatstat-linnet (package (name "r-spatstat-linnet") - (version "2.2-1") + (version "2.3-0") (source (origin (method url-fetch) (uri (cran-uri "spatstat.linnet" version)) (sha256 (base32 - "10fl2x74bazf9xgvcgy256yl6ag05awqanm8pdc6lifx9z4msxxd")))) + "1yd2z629f7908xw9kyqiahk3qn9ajpl6qffbkv887zmq3p28kh7h")))) (properties `((upstream-name . "spatstat.linnet"))) (build-system r-build-system) @@ -26024,6 +26644,7 @@ user-level code from spatstat, except for the code for linear networks.") ("r-spatstat-core" ,r-spatstat-core) ("r-spatstat-data" ,r-spatstat-data) ("r-spatstat-geom" ,r-spatstat-geom) + ("r-spatstat-sparse" ,r-spatstat-sparse) ("r-spatstat-utils" ,r-spatstat-utils))) (home-page "http://spatstat.org/") (synopsis "Linear networks functionality of the spatstat package") @@ -26757,14 +27378,14 @@ more.") (define-public r-workflows (package (name "r-workflows") - (version "0.2.2") + (version "0.2.3") (source (origin (method url-fetch) (uri (cran-uri "workflows" version)) (sha256 (base32 - "19ipcxx4qfz28cjkgr1vny03yhmbd3m2v64v30gk5pf73nazvmaz")))) + "0bca4s49qabam4ny8vckxcghj3z0xfhwfhs5h1136kihrr5pm6mw")))) (properties `((upstream-name . "workflows"))) (build-system r-build-system) (propagated-inputs @@ -26773,6 +27394,7 @@ more.") ("r-generics" ,r-generics) ("r-glue" ,r-glue) ("r-hardhat" ,r-hardhat) + ("r-lifecycle" ,r-lifecycle) ("r-parsnip" ,r-parsnip) ("r-rlang" ,r-rlang) ("r-tidyselect" ,r-tidyselect) @@ -26799,6 +27421,33 @@ workflow. The advantages are: ") (license license:expat))) +(define-public r-lobstr + (package + (name "r-lobstr") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "lobstr" version)) + (sha256 + (base32 + "0vkif17825x33cz8r89j0qph4wj5l8fzfgl8nh2g7m2v140cxjdq")))) + (properties `((upstream-name . "lobstr"))) + (build-system r-build-system) + (propagated-inputs + `(("r-crayon" ,r-crayon) + ("r-rcpp" ,r-rcpp) + ("r-rlang" ,r-rlang))) + (home-page "https://github.com/r-lib/lobstr") + (synopsis "Visualize R data structures with trees") + (description + "This package provides a set of tools for inspecting and understanding R +data structures inspired by @code{str}. It includes @code{ast} for +visualizing abstract syntax trees, @code{ref} for showing shared references, +@code{cst} for showing call stack trees, and @code{obj_size} for computing +object sizes.") + (license license:gpl3))) + (define-public r-gpfit (package (name "r-gpfit") @@ -26996,14 +27645,14 @@ for creating, simulating, or validating values for such parameters.") (define-public r-tune (package (name "r-tune") - (version "0.1.5") + (version "0.1.6") (source (origin (method url-fetch) (uri (cran-uri "tune" version)) (sha256 (base32 - "06snvnppa9xan99lkd2b7ynh916j75ga9lvifnra614akhhxv4rr")))) + "1356w98ljiay8fwa7narr7j5hfbvi69gy03gr7kqiwnfglyksrza")))) (properties `((upstream-name . "tune"))) (build-system r-build-system) (propagated-inputs @@ -27015,6 +27664,8 @@ for creating, simulating, or validating values for such parameters.") ("r-ggplot2" ,r-ggplot2) ("r-glue" ,r-glue) ("r-gpfit" ,r-gpfit) + ("r-hardhat" ,r-hardhat) + ("r-lifecycle" ,r-lifecycle) ("r-parsnip" ,r-parsnip) ("r-purrr" ,r-purrr) ("r-recipes" ,r-recipes) @@ -27023,6 +27674,7 @@ for creating, simulating, or validating values for such parameters.") ("r-tibble" ,r-tibble) ("r-tidyr" ,r-tidyr) ("r-vctrs" ,r-vctrs) + ("r-withr" ,r-withr) ("r-workflows" ,r-workflows) ("r-yardstick" ,r-yardstick))) (home-page "https://github.com/tidymodels/tune") @@ -27037,21 +27689,23 @@ methods, and post-processing steps.") (define-public r-workflowsets (package (name "r-workflowsets") - (version "0.0.2") + (version "0.1.0") (source (origin (method url-fetch) (uri (cran-uri "workflowsets" version)) (sha256 (base32 - "0kzr2sm9xpikc0r7qzkrm4vm03vxh7vcvqvaqvp727qfbpm4cly0")))) + "0596hb17mshpag3vjy2wl6fi2mdw54i9gc5za10vzy8vpkigb9jy")))) (properties `((upstream-name . "workflowsets"))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) ("r-dplyr" ,r-dplyr) + ("r-hardhat" ,r-hardhat) ("r-generics" ,r-generics) ("r-ggplot2" ,r-ggplot2) + ("r-lifecycle" ,r-lifecycle) ("r-prettyunits" ,r-prettyunits) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) @@ -27274,14 +27928,14 @@ analysis using @code{dplyr}, @code{ggplot2}, and other Tidy tools.") (define-public r-parsnip (package (name "r-parsnip") - (version "0.1.6") + (version "0.1.7") (source (origin (method url-fetch) (uri (cran-uri "parsnip" version)) (sha256 (base32 - "0qhdh2xdswqy94f4gkdxi1iqm0k794p9y8sdh6mgbd1a86c8ngfs")))) + "12chngdzplwkk1c9k8y7cwaqlyy72yamlknp7ksg7g9p3b58f1fb")))) (properties `((upstream-name . "parsnip"))) (build-system r-build-system) (propagated-inputs @@ -27289,6 +27943,7 @@ analysis using @code{dplyr}, @code{ggplot2}, and other Tidy tools.") ("r-generics" ,r-generics) ("r-globals" ,r-globals) ("r-glue" ,r-glue) + ("r-hardhat" ,r-hardhat) ("r-lifecycle" ,r-lifecycle) ("r-magrittr" ,r-magrittr) ("r-prettyunits" ,r-prettyunits) @@ -27310,24 +27965,28 @@ functions or computational engines (e.g. R, Spark, Stan, etc).") (define-public r-infer (package (name "r-infer") - (version "0.5.4") + (version "1.0.0") (source (origin (method url-fetch) (uri (cran-uri "infer" version)) (sha256 (base32 - "0wvvgqjhyv7ql98cjzqad61wbmk7xrqd1ybk894jr5cmza13c8w2")))) + "1qbpcn7jqbvgwnpiyylj021j8m33p58a204yd1pfkpzd3x2lbsm6")))) (properties `((upstream-name . "infer"))) (build-system r-build-system) (propagated-inputs - `(("r-dplyr" ,r-dplyr) + `(("r-broom" ,r-broom) + ("r-dplyr" ,r-dplyr) + ("r-generics" ,r-generics) ("r-ggplot2" ,r-ggplot2) ("r-glue" ,r-glue) ("r-magrittr" ,r-magrittr) + ("r-patchwork" ,r-patchwork) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) - ("r-tibble" ,r-tibble))) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/tidymodels/infer") @@ -27340,14 +27999,14 @@ expressive statistical grammar that coheres with the Tidy design framework.") (define-public r-modeldata (package (name "r-modeldata") - (version "0.1.0") + (version "0.1.1") (source (origin (method url-fetch) (uri (cran-uri "modeldata" version)) (sha256 (base32 - "0lbvmicvhw560jn9qk5dywrl6mgj1rf7zh7p86lf97c6bmz0zp2r")))) + "0jgrwf9k8p9j3ywg3yv2wzwsx3snlwm3dd9vfqwhlr7j63jg3cm4")))) (properties `((upstream-name . "modeldata"))) (build-system r-build-system) (home-page "https://modeldata.tidymodels.org") @@ -27657,16 +28316,18 @@ data (variant call format, e.g. VCF or BCF) or meta-analysis results in R.") (define-public r-maldiquant (package (name "r-maldiquant") - (version "1.19.3") + (version "1.20") (source (origin (method url-fetch) (uri (cran-uri "MALDIquant" version)) (sha256 (base32 - "0b7kdz3x4sdq413h1q09l1qhcvdnnwv6fqsqwllks1cd3xy34c57")))) + "1h9i158czlzwbn5zakkqd2ggc9g90r73vdspmp6kgfcmy9frvwzz")))) (properties `((upstream-name . "MALDIquant"))) (build-system r-build-system) + (native-inputs + `(("r-knitr" ,r-knitr))) (home-page "https://cran.r-project.org/web/packages/MALDIquant") (synopsis "Quantitative analysis of mass spectrometry data") (description @@ -27734,13 +28395,13 @@ other R users.") (define-public r-seurat (package (name "r-seurat") - (version "4.0.3") + (version "4.0.4") (source (origin (method url-fetch) (uri (cran-uri "Seurat" version)) (sha256 (base32 - "1jfzkqnk4r82ssyz6h51n2jybkdcjkpjdb2la6n2xqnfs2b8dnbm")))) + "1pa2v29mx39swblzwzqc7rpql2rizhi2nj426r1i63wyla6lcxc0")))) (properties `((upstream-name . "Seurat"))) (build-system r-build-system) (propagated-inputs @@ -27801,14 +28462,14 @@ discovery of differentially expressed genes and markers.") (define-public r-phangorn (package (name "r-phangorn") - (version "2.7.0") + (version "2.7.1") (source (origin (method url-fetch) (uri (cran-uri "phangorn" version)) (sha256 (base32 - "19113x95vq09168x6v4ryfcdrb3a4ckp8rimd43sdkmz9pkfdxkx")))) + "160kks4bg4iwy8g234g6aiiqbvz7ki5k9csyax3kjv7ia5wddafq")))) (build-system r-build-system) (propagated-inputs `(("r-ape" ,r-ape) @@ -27951,14 +28612,14 @@ kernel estimators.") (define-public r-lpme (package (name "r-lpme") - (version "1.1.1") + (version "1.1.2") (source (origin (method url-fetch) (uri (cran-uri "lpme" version)) (sha256 (base32 - "0si90nkgl8bqk8yvd2igdsrngiwqh8891072pfpzipifnd0f5448")))) + "1b0w5ji8hjayni1sh5id193cmanf6n11p16fijkxln4sv4lks4aw")))) (properties `((upstream-name . "lpme"))) (build-system r-build-system) (propagated-inputs @@ -28079,18 +28740,19 @@ are.") (define-public r-mlr3misc (package (name "r-mlr3misc") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (cran-uri "mlr3misc" version)) (sha256 (base32 - "02ls0sr20z97jl6waz8mrs5l6l6vqrba3d5a9m1hqkvxakxchdky")))) + "0i3pngdqasajlwl9cmpqhrx0l6l1gi94kpiz61bm4c9dwkzjwn04")))) (build-system r-build-system) (propagated-inputs `(("r-backports" ,r-backports) ("r-checkmate" ,r-checkmate) ("r-data-table" ,r-data-table) + ("r-digest" ,r-digest) ("r-r6" ,r-r6))) (home-page "https://mlr3misc.mlr-org.com/") (synopsis "Helper functions for mlr3") @@ -28129,20 +28791,20 @@ implemented as @code{R6} classes.") (define-public r-mlr3 (package (name "r-mlr3") - (version "0.11.0") + (version "0.12.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3" version)) (sha256 (base32 - "0qh9vdac1als2123wf51bwa7spdqk33iydlawi5n5dpci892iahl")))) + "0nimwczsgrj29r9qrlz32qc3fkj02369zql7jhkrn3lk3mfy5zmz")))) (build-system r-build-system) (propagated-inputs `(("r-r6" ,r-r6) ("r-backports" ,r-backports) ("r-checkmate" ,r-checkmate) ("r-data-table" ,r-data-table) - ("r-digest" ,r-digest) + ("r-future" ,r-future) ("r-future-apply" ,r-future-apply) ("r-lgr" ,r-lgr) ("r-mlbench" ,r-mlbench) @@ -28165,16 +28827,17 @@ computational operations, add-on packages provide additional functionality.") (define-public r-mlr3learners (package (name "r-mlr3learners") - (version "0.4.5") + (version "0.5.0") (source (origin (method url-fetch) (uri (cran-uri "mlr3learners" version)) (sha256 (base32 - "02v4y32yn1m0akkqzhfg65ib21rgy9iz8db4kdcrvi949clkxnfk")))) + "1gkbbn5ah2iv4pv5q2jf4lrqkga744d4y9jlyhyjqf0x75y9wkg2")))) (build-system r-build-system) (propagated-inputs - `(("r-data-table" ,r-data-table) + `(("r-checkmate" ,r-checkmate) + ("r-data-table" ,r-data-table) ("r-mlr3" ,r-mlr3) ("r-mlr3misc" ,r-mlr3misc) ("r-paradox" ,r-paradox) @@ -28719,14 +29382,14 @@ percentages, citations, person tags, phone numbers, times, and zip codes.") (define-public r-mgsub (package (name "r-mgsub") - (version "1.7.2") + (version "1.7.3") (source (origin (method url-fetch) (uri (cran-uri "mgsub" version)) (sha256 (base32 - "02l1b96zv36ia0c97wgcwfhi037mbn3wy9c64hcw0n0w67yj77rr")))) + "1mci6x65h94qiz9cwikx2inbrwkykv43zbs8abfbx416zrh2bbn9")))) (properties `((upstream-name . "mgsub"))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -28827,14 +29490,14 @@ and word lists.") (define-public r-english (package (name "r-english") - (version "1.2-5") + (version "1.2-6") (source (origin (method url-fetch) (uri (cran-uri "english" version)) (sha256 (base32 - "0d6rin40wy2y6k75x8d5qvf03rfy139f309wrl8xwbdb1h8fjkd1")))) + "1g3nmy5p8wj3ix1vp1qmkmy3dyqisrw0md8cjrx4klqkp0wqlms9")))) (properties `((upstream-name . "english"))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) @@ -29125,14 +29788,14 @@ latter.") (define-public r-readtext (package (name "r-readtext") - (version "0.80") + (version "0.81") (source (origin (method url-fetch) (uri (cran-uri "readtext" version)) (sha256 (base32 - "0q8ajnp99fwvh14ppkm2z3gqwdwmjrvxvsfb4q7ad0dhkqric05y")))) + "0k782h5hns5v5h8a6qyfqck2hc15nq0awg8bsp196q4zviv5jw3c")))) (properties `((upstream-name . "readtext"))) (build-system r-build-system) (propagated-inputs @@ -29188,14 +29851,14 @@ and formatted text files with additional meta-data, such including @code{.csv}, (define-public r-lwgeom (package (name "r-lwgeom") - (version "0.2-6") + (version "0.2-7") (source (origin (method url-fetch) (uri (cran-uri "lwgeom" version)) (sha256 (base32 - "1733iwinn426bcmgjxp4j0scvbz35rvqkanmw7g7f47l6j7w14vn")))) + "1qgszbw03haqfjdc07ivkg8r0yd50ldkiqq27ppkaibw7mgiak5k")))) (properties `((upstream-name . "lwgeom"))) (build-system r-build-system) (inputs @@ -29444,14 +30107,14 @@ variability than the Poisson, but less than the negative binomial.") (define-public r-rjsonio (package (name "r-rjsonio") - (version "1.3-1.4") + (version "1.3-1.5") (source (origin (method url-fetch) (uri (cran-uri "RJSONIO" version)) (sha256 (base32 - "141ijm9570mg1180isvi0jb9vd3b08s5gb9dl1wa5v0m3s9jq52l")))) + "1dp9kdf0ca27br1wsq9pj7d55n601achpbzdzxhykzz531xhmjrl")))) (properties `((upstream-name . "RJSONIO"))) (build-system r-build-system) (home-page "https://cran.r-project.org/package=RJSONIO") @@ -29518,14 +30181,14 @@ quantitative real-time polymerase chain reaction (qPCR).") (define-public r-textplot (package (name "r-textplot") - (version "0.1.4") + (version "0.2.0") (source (origin (method url-fetch) (uri (cran-uri "textplot" version)) (sha256 (base32 - "1sgkndy2cxk8c76h8hwajn6f78w5jj2n8vsmaxh9kj931crzn8cy")))) + "1fhnwbcgkliq71lry21762djhlbap1qg4mgil0np46aa6619l21m")))) (properties `((upstream-name . "textplot"))) (build-system r-build-system) (propagated-inputs @@ -29712,14 +30375,14 @@ in order to customise how it should change with time.") (define-public r-tzdb (package (name "r-tzdb") - (version "0.1.1") + (version "0.1.2") (source (origin (method url-fetch) (uri (cran-uri "tzdb" version)) (sha256 (base32 - "0ym5rh6abs8ash6xz0av0gfhsjp7k1lgnjvpba36zwrxyfg2wrqi")))) + "1sl8nacx2i1h9vcvggiyzwd2zwvgrvfvsv3xa9072br62gkpay2c")))) (properties `((upstream-name . "tzdb"))) (build-system r-build-system) (propagated-inputs `(("r-cpp11" ,r-cpp11))) @@ -29740,14 +30403,14 @@ time zone manipulations.") (define-public r-vroom (package (name "r-vroom") - (version "1.5.2") + (version "1.5.4") (source (origin (method url-fetch) (uri (cran-uri "vroom" version)) (sha256 (base32 - "1a6a265ymmwv9s0iaml7f51a5wpazwf31pl16phc41x27j338fcw")))) + "15gbr35pmbnxjy0la2h20c0vf64q69gk7k996gn8b5wn3klxvg7n")))) (properties `((upstream-name . "vroom"))) (build-system r-build-system) (propagated-inputs @@ -29776,3 +30439,1405 @@ step, then reads the values lazily, so only the data you actually use needs to be read. The writer formats the data in parallel and writes to disk asynchronously from formatting.") (license license:expat))) + +(define-public r-rmisc + (package + (name "r-rmisc") + (version "1.5") + (source (origin + (method url-fetch) + (uri (cran-uri "Rmisc" version)) + (sha256 + (base32 + "1ijjhfy3v91fspid77rrkc5dkcb2lav37wc3f4k5lwrn24wzy5y8")))) + (build-system r-build-system) + (propagated-inputs + `(("r-plyr" ,r-plyr) + ("r-rcpp" ,r-rcpp) + ("r-lattice" ,r-lattice))) + (home-page "https://cran.r-project.org/web/packages/Rmisc/") + (synopsis "Ryan Miscellaneous") + (description "The Rmisc library contains functions for data analysis and +utility operations.") + (license license:gpl3))) + +(define-public r-webutils + (package + (name "r-webutils") + (version "1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "webutils" version)) + (sha256 + (base32 "16a6ds0fnb6y8i1r9ba1hf1ydb53am57s070b3hi5jmrs84b9qik")))) + (properties `((upstream-name . "webutils"))) + (build-system r-build-system) + (propagated-inputs + `(("r-curl" ,r-curl) + ("r-jsonlite" ,r-jsonlite))) + (home-page "https://github.com/jeroen/webutils") + (synopsis "Utility functions for developing web applications") + (description + "This package parses HTTP request data in @code{application/json}, +@code{multipart/form-data}, or @code{application/x-www-form-urlencoded} +format. It includes an example of hosting and parsing HTML form data in R +using either @code{httpuv} or @code{Rhttpd}.") + (license license:expat))) + +(define-public r-protolite + (package + (name "r-protolite") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "protolite" version)) + (sha256 + (base32 "0g1r3lzmvx1w44qzqzdvxfn21zmz11srlp6cr76kd7pd5wzjv82p")))) + (properties `((upstream-name . "protolite"))) + (build-system r-build-system) + (inputs + `(("protobuf" ,protobuf))) + (propagated-inputs + `(("r-jsonlite" ,r-jsonlite) + ("r-rcpp" ,r-rcpp))) + (native-inputs + `(("protobuf" ,protobuf) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/jeroen/protolite") + (synopsis "Highly optimized protocol buffer serializers") + (description + "This package provides pure C++ implementations for reading and writing +several common data formats based on Google protocol-buffers. It currently +supports @code{rexp.proto} for serialized R objects, @code{geobuf.proto} for +binary geojson, and @code{mvt.proto} for vector tiles. This package uses the +auto-generated C++ code by protobuf-compiler, hence the entire serialization +is optimized at compile time. The @code{RProtoBuf} package on the other hand +uses the protobuf runtime library to provide a general-purpose toolkit for +reading and writing arbitrary protocol-buffer data in R.") + (license license:expat))) + +(define-public r-opencpu + (package + (name "r-opencpu") + (version "2.2.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "opencpu" version)) + (sha256 + (base32 "1qlwx8iq30qfy2sh0v31pxg955bj4zs0r7v8yklbdwb3qw7kv30g")))) + (properties `((upstream-name . "opencpu"))) + (build-system r-build-system) + (inputs + `(("pandoc" ,pandoc))) + (propagated-inputs + `(("r-brew" ,r-brew) + ("r-curl" ,r-curl) + ("r-evaluate" ,r-evaluate) + ("r-httpuv" ,r-httpuv) + ("r-jsonlite" ,r-jsonlite) + ("r-knitr" ,r-knitr) + ("r-mime" ,r-mime) + ("r-openssl" ,r-openssl) + ("r-protolite" ,r-protolite) + ("r-rappdirs" ,r-rappdirs) + ("r-remotes" ,r-remotes) + ("r-sys" ,r-sys) + ("r-webutils" ,r-webutils) + ("r-zip" ,r-zip))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://www.opencpu.org") + (synopsis "API for embedded scientific computing") + (description + "This package provides a system for embedded scientific computing and +reproducible research with R. The OpenCPU server exposes a simple but +powerful HTTP API for RPC and data interchange with R. This provides a +reliable and scalable foundation for statistical services or building R web +applications. The OpenCPU server runs either as a single-user development +server within the interactive R session, or as a multi-user stack based on +Apache2.") + (license license:asl2.0))) + +(define-public r-exactextractr + (package + (name "r-exactextractr") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "exactextractr" version)) + (sha256 + (base32 + "1xnccadbj03h7m81ix5qn0hx918xc9hbxnzgv5lr3hf8b26i9wni")))) + (properties `((upstream-name . "exactextractr"))) + (build-system r-build-system) + (inputs `(("geos" ,geos))) + (propagated-inputs + `(("r-raster" ,r-raster) + ("r-rcpp" ,r-rcpp) + ("r-sf" ,r-sf))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://isciences.gitlab.io/exactextractr/") + (synopsis "Fast extraction from raster datasets using polygons") + (description + "This package provides a replacement for the @code{extract} function from +the @code{raster} package that is suitable for extracting raster values using +@code{sf} polygons.") + (license license:asl2.0))) + +(define-public r-stringfish + (package + (name "r-stringfish") + (version "0.15.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "stringfish" version)) + (sha256 + (base32 + "0m8485p1gb5z2n2g5nyr38zixw4iv8xxm7bxspxlxvx6alhn03pn")))) + (properties `((upstream-name . "stringfish"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp) + ("r-rcppparallel" ,r-rcppparallel))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) + (home-page "https://github.com/traversc/stringfish") + (synopsis "Alternative string implementation") + (description + "This package provides an extendable, performant and multithreaded +@code{alt-string} implementation backed by C++ vectors and strings.") + (license license:gpl3))) + +(define-public r-rapiserialize + (package + (name "r-rapiserialize") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "RApiSerialize" version)) + (sha256 + (base32 + "0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j")))) + (properties `((upstream-name . "RApiSerialize"))) + (build-system r-build-system) + (home-page + "https://cran.r-project.org/package=RApiSerialize") + (synopsis "R API serialization") + (description + "This package provides other packages with access to the internal R +serialization code. Access to this code is provided at the C function level +by using the registration of native function mechanism. Client packages +simply include a single header file RApiSerializeAPI.h provided by this +package.") + (license license:gpl2+))) + +(define-public r-qs + (package + (name "r-qs") + (version "0.25.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "qs" version)) + (sha256 + (base32 + "0qzrhc5jsygj813k956b00h4b6haynz44rk6a4v34fv4ywq9ba7w")))) + (properties `((upstream-name . "qs"))) + (build-system r-build-system) + (inputs `(("zlib" ,zlib))) + (propagated-inputs + `(("r-rapiserialize" ,r-rapiserialize) + ("r-rcpp" ,r-rcpp) + ("r-stringfish" ,r-stringfish))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("r-knitr" ,r-knitr))) + (home-page "https://github.com/traversc/qs") + (synopsis "Quick serialization of R objects") + (description + "This package provides functions for quickly writing and reading any R +object to and from disk.") + (license license:gpl3))) + +(define-public r-rgeos + (package + (name "r-rgeos") + (version "0.5-5") + (source + (origin + (method url-fetch) + (uri (cran-uri "rgeos" version)) + (sha256 + (base32 + "086l0qk3p4jq23bs91c4a65x4qz99z0hy0vsnvfqfvppdzz0vajb")))) + (properties `((upstream-name . "rgeos"))) + (build-system r-build-system) + (inputs + `(("geos" ,geos))) + (propagated-inputs + `(("r-sp" ,r-sp))) + (home-page "https://cran.r-project.org/package=rgeos") + (synopsis "Interface to Geometry Engine (GEOS)") + (description + "This package provides an R interface to Geometry Engine (GEOS) using the +C API for topology operations on geometries.") + (license license:gpl2+))) + +(define-public r-tfruns + (package + (name "r-tfruns") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "tfruns" version)) + (sha256 + (base32 + "04lfckg1if3kfwcl4s4fcc9aw04crwk4m1qr55ag22j2x2jlb2l9")))) + (properties `((upstream-name . "tfruns"))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-config" ,r-config) + ("r-jsonlite" ,r-jsonlite) + ("r-magrittr" ,r-magrittr) + ("r-reticulate" ,r-reticulate) + ("r-rlang" ,r-rlang) + ("r-rstudioapi" ,r-rstudioapi) + ("r-tidyselect" ,r-tidyselect) + ("r-whisker" ,r-whisker) + ("r-yaml" ,r-yaml))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/rstudio/tfruns") + (synopsis "Training run tools for TensorFlow") + (description + "Create and manage unique directories for each TensorFlow training run. +This package provides a unique, time stamped directory for each run along with +functions to retrieve the directory of the latest run or latest several +runs.") + (license license:asl2.0))) + +(define-public r-tfautograph + (package + (name "r-tfautograph") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "tfautograph" version)) + (sha256 + (base32 + "1fgpvv330g61ghzhkwnzx04gd9l3d6x1vxd1xqslb05h5acagwqn")))) + (properties `((upstream-name . "tfautograph"))) + (build-system r-build-system) + (inputs `(("tensorflow" ,tensorflow))) + (propagated-inputs + `(("r-reticulate" ,r-reticulate))) + (home-page "https://t-kalinowski.github.io/tfautograph/") + (synopsis "Autograph R for Tensorflow") + (description + "This package lets you translate R control flow expressions into +Tensorflow graphs.") + (license license:gpl3))) + +(define-public r-tensorflow + (package + (name "r-tensorflow") + (version "2.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "tensorflow" version)) + (sha256 + (base32 + "1lkzxc3b5gkcg4hwqr57cysplcba6ff44qz8lbvk19kxnrhjaf9g")))) + (properties `((upstream-name . "tensorflow"))) + (build-system r-build-system) + (inputs `(("tensorflow" ,tensorflow))) + (propagated-inputs + `(("r-config" ,r-config) + ("r-processx" ,r-processx) + ("r-reticulate" ,r-reticulate) + ("r-rstudioapi" ,r-rstudioapi) + ("r-tfautograph" ,r-tfautograph) + ("r-tfruns" ,r-tfruns) + ("r-yaml" ,r-yaml))) + (home-page "https://github.com/rstudio/tensorflow") + (synopsis "R interface to TensorFlow") + (description + "R interface to TensorFlow a library for numerical computation using data +flow graphs. Nodes in the graph represent mathematical operations, while the +graph edges represent the multidimensional data arrays (tensors) communicated +between them.") + (license license:asl2.0))) + +(define-public r-keras + (package + (name "r-keras") + (version "2.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "keras" version)) + (sha256 + (base32 + "1pgdcypp9x9dw7aa5ka7qqgd24jdcp3ja94jpm7j6l6j4930k5vd")))) + (properties `((upstream-name . "keras"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ellipsis" ,r-ellipsis) + ("r-generics" ,r-generics) + ("r-glue" ,r-glue) + ("r-magrittr" ,r-magrittr) + ("r-r6" ,r-r6) + ("r-reticulate" ,r-reticulate) + ("r-rlang" ,r-rlang) + ("r-tensorflow" ,r-tensorflow) + ("r-tfruns" ,r-tfruns) + ("r-zeallot" ,r-zeallot))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://keras.rstudio.com") + (synopsis "R Interface to 'Keras'") + (description + "This package provides an interface to Keras, a high-level neural +networks API. Keras was developed with a focus on enabling fast +experimentation, supports both convolution based networks and recurrent +networks (as well as combinations of the two), and runs seamlessly on both CPU +and GPU devices.") + (license license:expat))) + +(define-public r-zzlite + (package + (name "r-zzlite") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "zzlite" version)) + (sha256 + (base32 + "0vi1slx2s4r5zf82lazqv0c3m12xq73wlgsbz6af4y00h0bkr3ps")))) + (properties `((upstream-name . "zzlite"))) + (build-system r-build-system) + (propagated-inputs + `(("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://cran.r-project.org/package=zzlite") + (synopsis "Wrapper for the Zamzar file conversion API") + (description + "This package provides a minor collection of HTTP wrappers for the Zamzar +file conversion API. The wrappers makes it easy to utilize the API and thus +convert between more than 100 different file formats (ranging from audio +files, images, movie formats, etc., etc.) through an R session.") + (license license:gpl3))) + +(define-public r-ztree + (package + (name "r-ztree") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "zTree" version)) + (sha256 + (base32 + "1mywxrx6bw7dzhrdwyxbjzc8ikgvw423zycyji0jjr69cfhpmywv")))) + (properties `((upstream-name . "zTree"))) + (build-system r-build-system) + (propagated-inputs + `(("r-plyr" ,r-plyr))) + (home-page "https://cran.r-project.org/package=zTree") + (synopsis "Functions to import data from z-Tree into R") + (description + "This package provides tools for reading @code{.xls} and @code{.sbj} +files which are written by the proprietary program z-Tree for developing and +carrying out economic experiments.") + (license license:gpl3))) + +(define-public r-distributionutils + (package + (name "r-distributionutils") + (version "0.6-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "DistributionUtils" version)) + (sha256 + (base32 + "08vq54pyqxlqsj6q6gsg5ikqa0z3x842j52ld5dxaq272p6xchvl")))) + (properties + `((upstream-name . "DistributionUtils"))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/package=DistributionUtils") + (synopsis "Distribution utilities") + (description + "This package provides utilities for dealing with distributions. +Functionality includes sample skewness and kurtosis, log-histogram, tail +plots, moments by integration, changing the point about which a moment is +calculated, functions for testing distributions using inversion tests and the +Massart inequality. Also included is an implementation of the incomplete +Bessel K function.") + (license license:gpl2+))) + +(define-public r-ztpln + (package + (name "r-ztpln") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "ztpln" version)) + (sha256 + (base32 + "18rbfdp22jaxg4nkqzj2393nhjdl1gzv4xhmr6aci76ymdixsfnl")))) + (properties `((upstream-name . "ztpln"))) + (build-system r-build-system) + (propagated-inputs + `(("r-distributionutils" ,r-distributionutils) + ("r-mixtools" ,r-mixtools) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen) + ("r-rcppnumerical" ,r-rcppnumerical))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/mattocci27/ztpln") + (synopsis "Zero-truncated Poisson lognormal distribution") + (description + "This package provides functions for obtaining the density, random +variates and maximum likelihood estimates of the Zero-truncated Poisson +lognormal distribution and their mixture distribution.") + (license license:expat))) + +(define-public r-zscorer + (package + (name "r-zscorer") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "zscorer" version)) + (sha256 + (base32 + "0aijhs0fyird5gq68x4dxchb02mxa7ijk10k9zjhngghxbjj7iqn")))) + (properties `((upstream-name . "zscorer"))) + (build-system r-build-system) + (propagated-inputs + `(("r-shiny" ,r-shiny))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/nutriverse/zscorer") + (synopsis "Child Anthropometry z-Score Calculator") + (description + "This package provides a tool for calculating z-scores and centiles for +weight-for-age, length/height-for-age, weight-for-length/height, BMI-for-age, +head circumference-for-age, age circumference-for-age, subscapular +skinfold-for-age, triceps skinfold-for-age based on the WHO Child Growth +Standards.") + (license license:agpl3+))) + +(define-public r-zra + (package + (name "r-zra") + (version "0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "ZRA" version)) + (sha256 + (base32 + "1sx1q5yf68hhlb5j1hicpj594rmgajqr25llg7ax416j0m2rnagi")))) + (properties `((upstream-name . "ZRA"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dygraphs" ,r-dygraphs) + ("r-forecast" ,r-forecast))) + (home-page "https://cran.r-project.org/package=ZRA") + (synopsis "Dynamic plots for time series forecasting") + (description + "This package combines a forecast of a time series, using the function @code{forecast}, +with the dynamic plots from @code{dygraphs}.") + (license license:gpl2+))) + +(define-public r-rfigshare + (package + (name "r-rfigshare") + (version "0.3.7") + (source + (origin + (method url-fetch) + (uri (cran-uri "rfigshare" version)) + (sha256 + (base32 + "1qgzn0mpjy4czy0pnbi395fxxx84arkg8r7rk8aidmd34584gjiq")))) + (properties `((upstream-name . "rfigshare"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-httpuv" ,r-httpuv) + ("r-httr" ,r-httr) + ("r-plyr" ,r-plyr) + ("r-rjsonio" ,r-rjsonio) + ("r-xml" ,r-xml) + ("r-yaml" ,r-yaml))) + (home-page "https://github.com/ropensci/rfigshare") + (synopsis "R Interface to figshare") + (description + "This package provides an interface to figshare, a scientific repository +to archive and assign DOIs to data, software, figures, and more.") + (license license:cc0))) + +(define-public r-dismo + (package + (name "r-dismo") + (version "1.3-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "dismo" version)) + (sha256 + (base32 + "1jj9d78f251bxgrwbv1ycn677qnhvl40bfan12x8fhlaq4d36rgx")))) + (properties `((upstream-name . "dismo"))) + (build-system r-build-system) + (propagated-inputs + `(("r-raster" ,r-raster) + ("r-rcpp" ,r-rcpp) + ("r-sp" ,r-sp))) + (home-page "https://rspatial.org/raster/sdm/") + (synopsis "Species distribution modeling") + (description + "This package provides methods for species distribution modeling, i.e., +predicting the environmental similarity of any site to that of the locations +of known occurrences of a species.") + (license license:gpl3+))) + +(define-public r-zoon + (package + (name "r-zoon") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "zoon" version)) + (sha256 + (base32 + "02y29vr2yn8al69km8faiqrwjrc1r3hsvw3dg8lwjr65cxw1krip")))) + (properties `((upstream-name . "zoon"))) + (build-system r-build-system) + (propagated-inputs + `(("r-dismo" ,r-dismo) + ("r-plyr" ,r-plyr) + ("r-randomforest" ,r-randomforest) + ("r-raster" ,r-raster) + ("r-rcurl" ,r-rcurl) + ("r-rfigshare" ,r-rfigshare) + ("r-rgdal" ,r-rgdal) + ("r-roxygen2" ,r-roxygen2) + ("r-rworldmap" ,r-rworldmap) + ("r-sp" ,r-sp) + ("r-testthat" ,r-testthat))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/zoonproject/zoon") + (synopsis "Reproducible, accessible and shareable species distribution modelling") + (description + "This package reads user submitted modules from an online repository, +runs full species distribution modelling workflows and returns output that is +fully reproducible.") + (license license:bsd-3))) + +(define-public r-paws-common + (package + (name "r-paws-common") + (version "0.3.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.common" version)) + (sha256 + (base32 + "1khq1rv0yij4l0vi2x6hslnzpsd6m5n6nipfac7g3na9ah93h8i9")))) + (properties `((upstream-name . "paws.common"))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-digest" ,r-digest) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-xml2" ,r-xml2))) + (home-page "https://cran.r-project.org/package=paws.common") + (synopsis "Paws low-level Amazon Web Services API") + (description + "This package provides functions for making low-level API requests to +Amazon Web Services. The functions handle building, signing, and sending +requests, and receiving responses. They are designed to help build +higher-level interfaces to individual services, such as Simple Storage +Service (S3).") + (license license:asl2.0))) + +(define-public r-paws-customer-engagement + (package + (name "r-paws-customer-engagement") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.customer.engagement" version)) + (sha256 + (base32 + "0ac6hzn4ilfjhzdmc9x80999fl18cz16mky31qd3y09m93w2xkdj")))) + (properties + `((upstream-name . "paws.customer.engagement"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services customer engagement services") + (description + "This package provides an interface to Amazon Web Services customer +engagement services, including Simple Email Service, Connect contact center +service, and more.") + (license license:asl2.0))) + +(define-public r-paws-cost-management + (package + (name "r-paws-cost-management") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.cost.management" version)) + (sha256 + (base32 + "0in4f8ygw5g2v6vl3lz2y0v51llglh8b1ymbd04d54xxlgn83knh")))) + (properties + `((upstream-name . "paws.cost.management"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services cost management services") + (description + "This package provides an interface to Amazon Web Services cost +management services, including cost and usage reports, budgets, pricing, and +more.") + (license license:asl2.0))) + +(define-public r-paws-application-integration + (package + (name "r-paws-application-integration") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.application.integration" version)) + (sha256 + (base32 + "0llyd9hc679pad1ih0rcc38q5xxpzinhwrl8cvrkgsjgbc3agq42")))) + (properties + `((upstream-name . "paws.application.integration"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services application integration services") + (description + "This package provides an interface to Amazon Web Services application +integration services, including Simple Queue Service (SQS) message queue, +Simple Notification Service (SNS) publish/subscribe messaging, and more.") + (license license:asl2.0))) + +(define-public r-paws-security-identity + (package + (name "r-paws-security-identity") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.security.identity" version)) + (sha256 + (base32 + "092lz2ipn5iqr593x7ra8c0bj64yf6315mdc3llgwrjyb4vfxif9")))) + (properties + `((upstream-name . "paws.security.identity"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services security, identity, and compliance services") + (description + "This package provides an interface to Amazon Web Services security, +identity, and compliance services, including the Identity and Access +Management (IAM) service for managing access to services and resources, and +more.") + (license license:asl2.0))) + +(define-public r-paws-analytics + (package + (name "r-paws-analytics") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.analytics" version)) + (sha256 + (base32 + "04gnaxmj21l312xkrsd9bisi0bz9h6h5fyhwlqylcxi077z1yb2g")))) + (properties + `((upstream-name . "paws.analytics"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services analytics services") + (description + "This package provides an interface to Amazon Web Services analytics +services, including Elastic MapReduce Hadoop and Spark big data service, +Elasticsearch search engine, and more.") + (license license:asl2.0))) + +(define-public r-paws-machine-learning + (package + (name "r-paws-machine-learning") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.machine.learning" version)) + (sha256 + (base32 + "01w2y5952pk50xjbzby2pc51xrkrzjpfxbmii1b10cl2xgzfkxsa")))) + (properties + `((upstream-name . "paws.machine.learning"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services machine learning services") + (description + "This package provides an interface to Amazon Web Services machine +learning services, including SageMaker managed machine learning service, +natural language processing, speech recognition, translation, and more.") + (license license:asl2.0))) + +(define-public r-paws-management + (package + (name "r-paws-management") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.management" version)) + (sha256 + (base32 + "09k7wg0jlj40zs2yb3vldffpkdcjg7ap98n7c5lxr5plpca08swg")))) + (properties + `((upstream-name . "paws.management"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services management and governance services") + (description + "This package provides an interface to Amazon Web Services management and +governance services, including CloudWatch application and infrastructure +monitoring, Auto Scaling for automatically scaling resources, and more.") + (license license:asl2.0))) + +(define-public r-paws-networking + (package + (name "r-paws-networking") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.networking" version)) + (sha256 + (base32 + "02hxaa5nlj70mdggh379ij3fn09xm8h5ldzsyf45c342prpl6zwj")))) + (properties + `((upstream-name . "paws.networking"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services networking and content delivery services") + (description + "This package provides an interface to Amazon Web Services networking and +content delivery services, including Route 53 Domain Name System service, +CloudFront content delivery, load balancing, and more.") + (license license:asl2.0))) + +(define-public r-paws-database + (package + (name "r-paws-database") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.database" version)) + (sha256 + (base32 + "08jpwz95fw3f68j0wxh2lg57nn60khflldab0ryhkkbcw1iy0qyz")))) + (properties `((upstream-name . "paws.database"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis + "Amazon Web Services Database Services") + (description + "This package provides an interface to Amazon Web Services database +services, including Relational Database Service (RDS), DynamoDB NoSQL +database, and more.") + (license license:asl2.0))) + +(define-public r-paws-storage + (package + (name "r-paws-storage") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.storage" version)) + (sha256 + (base32 + "06m887vpqp5d6k3zxdlga599dsv8v3rladk7xqaxqnld1f17am04")))) + (properties `((upstream-name . "paws.storage"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services storage services") + (description + "This package provides an interface to Amazon Web Services storage +services, including Simple Storage Service (S3).") + (license license:asl2.0))) + +(define-public r-paws-compute + (package + (name "r-paws-compute") + (version "0.1.12") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws.compute" version)) + (sha256 + (base32 + "1km6fng6il5fcjlrbbndahsw2dr2ql83hwac9wlpd67zm3wy9lky")))) + (properties `((upstream-name . "paws.compute"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-common" ,r-paws-common))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services compute services") + (description + "This package provides an interface to Amazon Web Services compute +services, including Elastic Compute Cloud (EC2), Lambda +functions-as-a-service, containers, batch processing, and more.") + (license license:asl2.0))) + +(define-public r-paws + (package + (name "r-paws") + (version "0.1.11") + (source + (origin + (method url-fetch) + (uri (cran-uri "paws" version)) + (sha256 + (base32 + "1pkwjdrziyh6bhpilx29zsv2nmv60z6fqxgx2kvjqvl8z36yqfhw")))) + (properties `((upstream-name . "paws"))) + (build-system r-build-system) + (propagated-inputs + `(("r-paws-analytics" ,r-paws-analytics) + ("r-paws-application-integration" ,r-paws-application-integration) + ("r-paws-compute" ,r-paws-compute) + ("r-paws-cost-management" ,r-paws-cost-management) + ("r-paws-customer-engagement" ,r-paws-customer-engagement) + ("r-paws-database" ,r-paws-database) + ("r-paws-machine-learning" ,r-paws-machine-learning) + ("r-paws-management" ,r-paws-management) + ("r-paws-networking" ,r-paws-networking) + ("r-paws-security-identity" ,r-paws-security-identity) + ("r-paws-storage" ,r-paws-storage))) + (home-page "https://github.com/paws-r/paws") + (synopsis "Amazon Web Services software development kit") + (description + "This package provides an interface to Amazon Web Services, including +storage, database, and compute services, such as Simple Storage Service (S3), +DynamoDB NoSQL database, and Lambda functions-as-a-service.") + (license license:asl2.0))) + +(define-public r-zoomgroupstats + (package + (name "r-zoomgroupstats") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "zoomGroupStats" version)) + (sha256 + (base32 + "0gndiq92cy6gi7f833hdjvqii3cn83wz5rjvygcvjl3dw4pwv966")))) + (properties + `((upstream-name . "zoomGroupStats"))) + (build-system r-build-system) + (propagated-inputs + `(("r-data-table" ,r-data-table) + ("r-dplyr" ,r-dplyr) + ("r-lubridate" ,r-lubridate) + ("r-magick" ,r-magick) + ("r-openxlsx" ,r-openxlsx) + ("r-paws" ,r-paws) + ("r-pbapply" ,r-pbapply) + ("r-stringr" ,r-stringr) + ("r-syuzhet" ,r-syuzhet))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "http://zoomgroupstats.org") + (synopsis "Analyze text, audio, and video from Zoom meetings") + (description + "This package provides utilities for processing and analyzing the files +that are exported from a recorded Zoom meeting. This includes analyzing data +captured through video cameras and microphones, the text-based chat, and +meta-data. You can analyze aspects of the conversation among meeting +participants and their emotional expressions throughout the meeting.") + (license license:expat))) + +(define-public r-zoom + (package + (name "r-zoom") + (version "2.0.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "zoom" version)) + (sha256 + (base32 + "03f5rxfr6ncf1j6vpn7pip21q7ylj4bx0a5xphqb6x6i33lxf1g5")))) + (properties `((upstream-name . "zoom"))) + (build-system r-build-system) + (home-page "https://github.com/cbarbu/R-package-zoom") + (synopsis "Spatial data visualization tool") + (description + "This package provides @code{zm}, a utility that allows you to +zoom/navigate any plot when called with any active plot.") + (license license:gpl3+))) + +(define-public r-zoolog + (package + (name "r-zoolog") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "zoolog" version)) + (sha256 + (base32 + "1lgdr4hbpdh1b468i3l9msbj8wcd20m323lv5an9y6dnfb9pm986")))) + (properties `((upstream-name . "zoolog"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rdpack" ,r-rdpack) + ("r-stringi" ,r-stringi))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://josempozo.github.io/zoolog/") + (synopsis "Zooarchaeological analysis with log-ratios") + (description + "This package includes functions and reference data to generate and +manipulate log-ratios (also known as @dfn{log size index} (LSI) values) from +measurements obtained on zooarchaeological material. Log ratios are used to +compare the relative (rather than the absolute) dimensions of animals from +archaeological contexts. The zoolog package is also able to seamlessly +integrate data and references with heterogeneous nomenclature, which is +internally managed by a zoolog thesaurus.") + (license license:gpl3))) + +(define-public r-filehash + (package + (name "r-filehash") + (version "2.4-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "filehash" version)) + (sha256 + (base32 + "14zv7h5195dmfksgk8qvjgc2qq8253vga6267aa1bqs5bpvmdl5n")))) + (properties `((upstream-name . "filehash"))) + (build-system r-build-system) + (home-page "http://github.com/rdpeng/filehash") + (synopsis "Simple key-value database") + (description + "This package implements a simple key-value style database where +character string keys are associated with data values that are stored on the +disk. A simple interface is provided for inserting, retrieving, and deleting +data from the database. Utilities are provided that allow filehash databases +to be treated much like environments and lists are already used in R. These +utilities are provided to encourage interactive and exploratory analysis on +large datasets.") + (license license:gpl2+))) + +(define-public r-mlearning + (package + (name "r-mlearning") + (version "1.0-0") + (source + (origin + (method url-fetch) + (uri (cran-uri "mlearning" version)) + (sha256 + (base32 + "0r8xfaxw83s2r27b8x5qd0k4r5ayxpkafzn9b1a0jvsr87i6520r")))) + (properties `((upstream-name . "mlearning"))) + (build-system r-build-system) + (propagated-inputs + `(("r-class" ,r-class) + ("r-e1071" ,r-e1071) + ("r-ipred" ,r-ipred) + ("r-mass" ,r-mass) + ("r-nnet" ,r-nnet) + ("r-randomforest" ,r-randomforest))) + (home-page "http://www.sciviews.org/zooimage") + (synopsis "Machine learning algorithms with unified interface") + (description + "This package provides a unified interface to various machine learning +algorithms. Confusion matrices are provided too.") + (license license:gpl2+))) + +(define-public r-zooimage + (package + (name "r-zooimage") + (version "5.5.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "zooimage" version)) + (sha256 + (base32 + "0ck8w0zb9l1n9xvjwqshq9q9l8pigy3yslq2hnfbgcwk17kk9mp8")))) + (properties `((upstream-name . "zooimage"))) + (build-system r-build-system) + (propagated-inputs + `(("r-digest" ,r-digest) + ("r-dt" ,r-dt) + ("r-filehash" ,r-filehash) + ("r-jpeg" ,r-jpeg) + ("r-mass" ,r-mass) + ("r-mda" ,r-mda) + ("r-mlearning" ,r-mlearning) + ("r-png" ,r-png) + ("r-shiny" ,r-shiny) + ("r-svdialogs" ,r-svdialogs) + ("r-svmisc" ,r-svmisc) + ("r-tiff" ,r-tiff))) + (home-page "http://www.sciviews.org/zooimage") + (synopsis "Analysis of numerical plankton images") + (description + "This package provides a solution for analyzing digital images of +plankton. In combination with ImageJ, an image analysis system, it processes +digital images, measures individuals, trains for automatic classification of +taxa, and finally, measures plankton samples (abundances, total and partial +size spectra or biomasses, etc.).") + (license license:gpl2+))) + +(define-public r-zooarch + (package + (name "r-zooarch") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "zooaRch" version)) + (sha256 + (base32 + "0grc378xppv0303sf4flfqz5002vq5a23nzbq4bsff41rww7dihc")))) + (properties `((upstream-name . "zooaRch"))) + (build-system r-build-system) + (propagated-inputs `(("r-ggplot2" ,r-ggplot2))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://cran.r-project.org/package=zooaRch") + (synopsis + "Analytical Tools for Zooarchaeological Data") + (description + "The analysis and inference of faunal remains recovered from +archaeological sites concerns the field of zooarchaeology. The zooaRch +package provides analytical tools to make inferences on zooarchaeological +data. Functions in this package allow users to read, manipulate, visualize, +and analyze zooarchaeological data.") + (license license:gpl2+))) + +(define-public r-zonebuilder + (package + (name "r-zonebuilder") + (version "0.0.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "zonebuilder" version)) + (sha256 + (base32 + "0mxf3dz0d6bi5wwjilqivdxhy5ypnq5svky8zygha0clv45l4dmn")))) + (properties `((upstream-name . "zonebuilder"))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-sf" ,r-sf))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/zonebuilders/zonebuilder") + (synopsis "Create and explore geographic zoning systems") + (description + "This package provides functions, documentation and example data to help +divide geographic space into discrete polygons (zones). The functions are +motivated by research into the merits of different zoning systems. A flexible +@code{ClockBoard} zoning system is provided, which breaks-up space by +concentric rings and radial lines emanating from a central point.") + (license license:gpl3))) + +(define-public r-zonator + (package + (name "r-zonator") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "zonator" version)) + (sha256 + (base32 + "1plxchpd4ypp36phl13pi9yvlrqi3lk83lv5rldrhdqynhcgfw2k")))) + (properties `((upstream-name . "zonator"))) + (build-system r-build-system) + (propagated-inputs + `(("r-ggplot2" ,r-ggplot2) + ("r-raster" ,r-raster) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-reshape2" ,r-reshape2) + ("r-rgdal" ,r-rgdal))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://cbig.github.io/zonator/") + (synopsis "Utilities for Zonation spatial conservation prioritization") + (description + "Create new analysis setups and deal with results of Zonation +conservation prioritization software.") + (license license:bsd-2))) + +(define-public r-mmwrweek + (package + (name "r-mmwrweek") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "MMWRweek" version)) + (sha256 + (base32 + "1l1ks44v52iggw9nhs56lfj6804yab5b17k8fzrc6h1kvj3vda0s")))) + (properties `((upstream-name . "MMWRweek"))) + (build-system r-build-system) + (home-page "http://wwwn.cdc.gov/nndss/document/MMWR_Week_overview.pdf") + (synopsis "Convert dates to MMWR day, week, and year") + (description + "The first day of any MMWR week is Sunday. MMWR week numbering is +sequential beginning with 1 and incrementing with each week to a maximum of 52 +or 53. MMWR week #1 of an MMWR year is the first week of the year that has at +least four days in the calendar year. This package provides functionality to +convert dates to MMWR day, week, and year and the reverse.") + (license license:gpl2+))) + +(define-public r-crul + (package + (name "r-crul") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "crul" version)) + (sha256 + (base32 + "1kjsc5gkx5k5cfwlfjp2cjm9cdzq2l1m68bnrjmahw3lkz8wzdph")))) + (properties `((upstream-name . "crul"))) + (build-system r-build-system) + (propagated-inputs + `(("r-curl" ,r-curl) + ("r-httpcode" ,r-httpcode) + ("r-jsonlite" ,r-jsonlite) + ("r-mime" ,r-mime) + ("r-r6" ,r-r6) + ("r-urltools" ,r-urltools))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/ropensci/crul") + (synopsis "HTTP client") + (description + "This package provides a simple HTTP client, with tools for making HTTP +requests, and mocking HTTP requests. The package is built on R6, and takes +inspiration from Ruby's @code{faraday} gem.") + (license license:expat))) + +(define-public r-fauxpas + (package + (name "r-fauxpas") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "fauxpas" version)) + (sha256 + (base32 + "129fzqb7wsskbn50s8x0marr4wm8jrns6hiycqcsk166k3dnyyy8")))) + (properties `((upstream-name . "fauxpas"))) + (build-system r-build-system) + (propagated-inputs + `(("r-httpcode" ,r-httpcode) + ("r-r6" ,r-r6) + ("r-whisker" ,r-whisker))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://docs.ropensci.org/fauxpas") + (synopsis "HTTP error helpers") + (description + "This package provides HTTP error helpers. Methods are included for +general purpose HTTP error handling, as well as individual methods for every +HTTP status code, both via status code numbers as well as their descriptive +names. It supports the ability to adjust behavior to stop, message or +warning. It includes the ability to use a custom whisker template to have any +configuration of status code, short description, and verbose message.") + (license license:expat))) + +(define-public r-webmockr + (package + (name "r-webmockr") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "webmockr" version)) + (sha256 + (base32 + "0j40srwi0yasmllb9wsww4m6zkiyzqd549cis4dxd7c7p24hak8j")))) + (properties `((upstream-name . "webmockr"))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64enc" ,r-base64enc) + ("r-crul" ,r-crul) + ("r-curl" ,r-curl) + ("r-fauxpas" ,r-fauxpas) + ("r-jsonlite" ,r-jsonlite) + ("r-magrittr" ,r-magrittr) + ("r-r6" ,r-r6) + ("r-urltools" ,r-urltools))) + (home-page "https://github.com/ropensci/webmockr") + (synopsis "Stubbing and setting expectations on HTTP Requests") + (description + "This is a package for stubbing and setting expectations on HTTP +requests. It includes tools for stubbing HTTP requests, including expected +request conditions and response conditions. You can match on HTTP method, +query parameters, request body, headers and more. It can be used for unit +tests or outside of a testing context.") + (license license:expat))) + +(define-public r-mockery + (package + (name "r-mockery") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (cran-uri "mockery" version)) + (sha256 + (base32 + "16zayzi2qdmiy513hvlci9f4p8jwry24006yfzrgmrvf6sf293lq")))) + (properties `((upstream-name . "mockery"))) + (build-system r-build-system) + (propagated-inputs + `(("r-testthat" ,r-testthat))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/jfiksel/mockery") + (synopsis "Mocking library for R") + (description + "The two main functionalities of this package are creating mock +objects (functions) and selectively intercepting calls to a given function +that originate in some other function. It can be used with any testing +framework available for R. Mock objects can be injected with either this +package's own @code{stub} function or a similar @code{with_mock} facility +present in the @code{testthat} package.") + (license license:expat))) + +(define-public r-zoltr + (package + (name "r-zoltr") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (cran-uri "zoltr" version)) + (sha256 + (base32 + "12zh7y3pwidclscgvd0b0iaqq9j5y8mc8xd6pz4vs0jy5qs3ahar")))) + (properties `((upstream-name . "zoltr"))) + (build-system r-build-system) + (propagated-inputs + `(("r-base64url" ,r-base64url) + ("r-dplyr" ,r-dplyr) + ("r-httr" ,r-httr) + ("r-jsonlite" ,r-jsonlite) + ("r-magrittr" ,r-magrittr) + ("r-mmwrweek" ,r-mmwrweek) + ("r-mockery" ,r-mockery) + ("r-readr" ,r-readr) + ("r-rlang" ,r-rlang) + ("r-webmockr" ,r-webmockr))) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/reichlab/zoltr") + (synopsis "Interface to the Zoltar forecast repository API") + (description + "Zoltar is a website that provides a repository of model forecast results +in a standardized format and a central location. It supports storing, +retrieving, comparing, and analyzing time series forecasts for prediction +challenges of interest to the modeling community. This package provides +functions for working with the Zoltar API, including connecting and +authenticating, getting information about projects, models, and forecasts, +deleting and uploading forecast data, and downloading scores.") + (license license:gpl3))) + +(define-public r-zoib + (package + (name "r-zoib") + (version "1.5.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "zoib" version)) + (sha256 + (base32 + "0inm7f2pc68ksqxvq12xp9jc99vj7ydylvs24ip12nksbj5k1n8f")))) + (properties `((upstream-name . "zoib"))) + (build-system r-build-system) + (propagated-inputs + `(("r-abind" ,r-abind) + ("r-coda" ,r-coda) + ("r-formula" ,r-formula) + ("r-rjags" ,r-rjags))) + (home-page "https://www.r-project.org") + (synopsis "Bayesian inference for beta regression") + (description + "This package lets you fit beta regression and zero-or-one inflated beta +regression and obtain Bayesian inference of the model via the Markov Chain +Monte Carlo approach implemented in JAGS.") + (license license:gpl3+))) diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index fce21f6760..87afb3314a 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -43,6 +43,7 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages cmake) #:use-module (gnu packages compression) #:use-module (gnu packages crates-graphics) @@ -55,6 +56,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages image) #:use-module (gnu packages jemalloc) + #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages multiprecision) #:use-module (gnu packages nettle) @@ -1610,32 +1612,32 @@ using AES-NI for high performance.") "This package provides a failure resistant deserialization derive.") (license (list license:expat license:asl2.0)))) -(define-public rust-alacritty-terminal-0.13 +(define-public rust-alacritty-terminal-0.15 (package (name "rust-alacritty-terminal") - (version "0.13.0") + (version "0.15.0") (source (origin (method url-fetch) (uri (crate-uri "alacritty_terminal" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "13f0pzy9jci57pmmvdd9qcbiycs2fsjqda4qgafxjm6s27sphdx7")))) + (base32 "1qv8zv20qgn407v8m196p68yddvhalcppc21702698cj99b45ckc")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) - ("rust-base64" ,rust-base64-0.12) + ("rust-base64" ,rust-base64-0.13) ("rust-bitflags" ,rust-bitflags-1) ("rust-dirs" ,rust-dirs-2) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-mio" ,rust-mio-0.6) - ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.1) + ("rust-mio-anonymous-pipes" ,rust-mio-anonymous-pipes-0.2) ("rust-mio-extras" ,rust-mio-extras-2) ("rust-miow" ,rust-miow-0.3) - ("rust-nix" ,rust-nix-0.18) + ("rust-nix" ,rust-nix-0.22) ("rust-parking-lot" ,rust-parking-lot-0.11) ("rust-regex-automata" ,rust-regex-automata-0.1) ("rust-serde" ,rust-serde-1) @@ -2357,25 +2359,26 @@ ArrayVec and ArrayString.") ("rust-matches" ,rust-matches-0.1) ("rust-serde-test" ,rust-serde-test-1)))))) -(define-public rust-arrow-4 +(define-public rust-arrow-5 (package (name "rust-arrow") - (version "4.2.0") + (version "5.2.0") (source (origin (method url-fetch) (uri (crate-uri "arrow" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0qw6940mfqz2z6fq83sqkrx3kp4zwpadld0bv0lln3znq3hip0ck")))) + (base32 "1zj2sjlnkwz2sdfc83zcz75vg1d3900h8ix15nkjsbz5hd1pzvri")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-cfg-aliases" ,rust-cfg-aliases-0.1) + (("rust-bitflags" ,rust-bitflags-1) ("rust-chrono" ,rust-chrono-0.4) ("rust-csv" ,rust-csv-1) - ("rust-flatbuffers" ,rust-flatbuffers-0.8) + ("rust-flatbuffers" ,rust-flatbuffers-2) + ("rust-getrandom" ,rust-getrandom-0.2) ("rust-hex" ,rust-hex-0.4) ("rust-indexmap" ,rust-indexmap-1) ("rust-lazy-static" ,rust-lazy-static-1) @@ -2384,7 +2387,7 @@ ArrayVec and ArrayString.") ("rust-num" ,rust-num-0.4) ("rust-packed-simd-2" ,rust-packed-simd-2-0.3) ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) - ("rust-rand" ,rust-rand-0.7) + ("rust-rand" ,rust-rand-0.8) ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) ("rust-serde-derive" ,rust-serde-derive-1) @@ -2396,6 +2399,39 @@ ArrayVec and ArrayString.") format.") (license license:asl2.0))) +(define-public rust-arrow-4 + (package + (inherit rust-arrow-5) + (name "rust-arrow") + (version "4.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "arrow" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "141qb0yqk179n324qrhbv14ysz13mcfsw00d6m09882gx9637wzn")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-aliases" ,rust-cfg-aliases-0.1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-csv" ,rust-csv-1) + ("rust-flatbuffers" ,rust-flatbuffers-0.8) + ("rust-hex" ,rust-hex-0.4) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lexical-core" ,rust-lexical-core-0.7) + ("rust-multiversion" ,rust-multiversion-0.6) + ("rust-num" ,rust-num-0.4) + ("rust-packed-simd-2" ,rust-packed-simd-2-0.3) + ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) + ("rust-rand" ,rust-rand-0.7) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1)))))) + (define-public rust-askama-escape-0.10 (package (name "rust-askama-escape") @@ -4363,6 +4399,31 @@ tracebacks.") #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))))) +(define-public rust-bigdecimal-rs-0.2 + (package + (name "rust-bigdecimal-rs") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "bigdecimal-rs" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "035i2r07zrv9r71z11ipn2lw9rdns39ig8mqnl5afgv3in85ldw5")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-num-bigint" ,rust-num-bigint-0.3) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/akubera/bigdecimal-rs") + (synopsis "Arbitrary precision decimal numbers") + (description "This package provides arbitrary precision decimal numbers.") + (license (list license:expat license:asl2.0)))) + (define-public rust-bincode-1 (package (name "rust-bincode") @@ -5716,6 +5777,37 @@ programs.") ("rust-parking" ,rust-parking-1) ("rust-waker-fn" ,rust-waker-fn-1)))))) +(define-public rust-boomphf-0.5 + (package + (name "rust-boomphf") + (version "0.5.9") + (source + (origin + (method url-fetch) + (uri (crate-uri "boomphf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0braniw72g9yq5006sfgc1g8d4317bb524c694jw6nggizrvg3sf")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-crossbeam-utils" ,rust-crossbeam-utils-0.8) + ("rust-log" ,rust-log-0.4) + ("rust-rayon" ,rust-rayon-1) + ("rust-serde" ,rust-serde-1) + ("rust-wyhash" ,rust-wyhash-0.5)) + #:cargo-development-inputs + (("rust-bencher" ,rust-bencher-0.1) + ("rust-quickcheck" ,rust-quickcheck-1)))) + (home-page "https://github.com/10XGenomics/rust-boomphf") + (synopsis "Scalable and Efficient Minimal Perfect Hash Functions") + (description "This package provides a Rust implementation of +@url{https://arxiv.org/abs/1702.03154, fast and scalable minimal perfect hashing +for massive key sets}. It generates an @acronym{MPHF, minimal perfect hash +functions} for a collection of hashable objects.") + (license license:expat))) + (define-public rust-boxfnonce-0.1 (package (name "rust-boxfnonce") @@ -5734,6 +5826,57 @@ programs.") (description "This package provides a safe FnOnce boxing for Rust.") (license license:expat))) +(define-public rust-boxxy-0.11 + (package + (name "rust-boxxy") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "boxxy" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "10p8i30ri9rhrmlbdxp9s4k4fgsjq6q6b1x2ncchli1ad6psylms")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-base64" ,rust-base64-0.10) + ("rust-bufstream" ,rust-bufstream-0.1) + ("rust-caps" ,rust-caps-0.3) + ("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-clap" ,rust-clap-2) + ("rust-errno" ,rust-errno-0.2) + ("rust-error-chain" ,rust-error-chain-0.12) + ("rust-futures" ,rust-futures-0.1) + ("rust-http" ,rust-http-0.1) + ("rust-hyper" ,rust-hyper-0.12) + ("rust-hyper-rustls" ,rust-hyper-rustls-0.17) + ("rust-libc" ,rust-libc-0.2) + ("rust-libflate" ,rust-libflate-0.1) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.15) + ("rust-pledge" ,rust-pledge-0.3) + ("rust-regex" ,rust-regex-1) + ("rust-rustls" ,rust-rustls-0.16) + ("rust-rustyline" ,rust-rustyline-5) + ("rust-sha2" ,rust-sha2-0.8) + ("rust-tar" ,rust-tar-0.4) + ("rust-tokio-core" ,rust-tokio-core-0.1) + ("rust-url" ,rust-url-2) + ("rust-webpki" ,rust-webpki-0.21)) + #:cargo-development-inputs + (("rust-ctrlc" ,rust-ctrlc-3) + ("rust-elf" ,rust-elf-0.0.10) + ("rust-env-logger" ,rust-env-logger-0.6)))) + (home-page "https://github.com/kpcyrd/boxxy-rs") + (synopsis "Linkable sandbox explorer") + (description + "This library provides an interactive shell that can be linked into a +program to verify sandboxing measures are adequate.") + (license license:lgpl3))) + (define-public rust-bresenham-0.1 (package (name "rust-bresenham") @@ -6048,6 +6191,31 @@ system calls. Second, exposing the internal buffer allows the user to work with data in place, which avoids another copy.") (license license:gpl3))) +(define-public rust-bufstream-0.1 + (package + (name "rust-bufstream") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "bufstream" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1j7f52rv73hd1crzrrfb9dr50ccmi3hb1ybd6s5dyg6jmllqkqs0")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-futures" ,rust-futures-0.1) + ("rust-tokio-io" ,rust-tokio-io-0.1)))) + (home-page "https://github.com/alexcrichton/bufstream") + (synopsis "I/O streams with separate read/write buffers") + (description + "This package provides buffered I/O for streams where each read/write +half is separately buffered.") + (license (list license:expat license:asl2.0)))) + (define-public rust-bugreport-0.4 (package (name "rust-bugreport") @@ -6744,17 +6912,17 @@ cached data.") directories and @code{CACHEDIR.TAG} files.") (license (list license:expat license:asl2.0)))) -(define-public rust-calamine-0.17 +(define-public rust-calamine-0.18 (package (name "rust-calamine") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (crate-uri "calamine" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "095sx7dma2p1pn464l51ac6drih3c1bhwfw8g0y00vdwqwmrrvn8")))) + (base32 "1fssrwkwar1z4d2f0xl3cqg2y8qlmlc05g5xy305mkmxlj6sfv5q")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -6766,7 +6934,10 @@ directories and @code{CACHEDIR.TAG} files.") ("rust-log" ,rust-log-0.4) ("rust-quick-xml" ,rust-quick-xml-0.19) ("rust-serde" ,rust-serde-1) - ("rust-zip" ,rust-zip-0.5)))) + ("rust-zip" ,rust-zip-0.5)) + #:cargo-development-inputs + (("rust-env-logger" ,rust-env-logger-0.7) + ("rust-glob" ,rust-glob-0.3)))) (home-page "https://github.com/tafia/calamine") (synopsis "Reader and deserializer for spreadsheet files") (description @@ -6774,6 +6945,30 @@ directories and @code{CACHEDIR.TAG} files.") spreadsheet file.") (license license:expat))) +(define-public rust-calamine-0.17 + (package + (inherit rust-calamine-0.18) + (name "rust-calamine") + (version "0.17.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "calamine" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "095sx7dma2p1pn464l51ac6drih3c1bhwfw8g0y00vdwqwmrrvn8")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-codepage" ,rust-codepage-0.1) + ("rust-encoding-rs" ,rust-encoding-rs-0.8) + ("rust-log" ,rust-log-0.4) + ("rust-quick-xml" ,rust-quick-xml-0.19) + ("rust-serde" ,rust-serde-1) + ("rust-zip" ,rust-zip-0.5)))))) + (define-public rust-calamine-0.16 (package (inherit rust-calamine-0.17) @@ -7719,6 +7914,30 @@ clauses.") (description "Date and time library for Rust.") (license (list license:expat license:asl2.0)))) +(define-public rust-chrono-humanize-0.2 + (package + (name "rust-chrono-humanize") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "chrono-humanize" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1jvm6fcs3zvz4kcqkp9q5hjy0i2zc17194nb63ckyn0xa0cw3p9f")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4)))) + (home-page "https://gitlab.com/imp/chrono-humanize-rs") + (synopsis "Human-friendly time expressions") + (description + "Chrono-Humanize provides human-friendly time expressions, similar to +Python arrow.humanize.") + (license (list license:expat license:asl2.0)))) + (define-public rust-chrono-tz-0.5 (package (name "rust-chrono-tz") @@ -9449,6 +9668,30 @@ It supports signed and private (encrypted + signed) jars.") ("rust-sha2" ,rust-sha2-0.8) ("rust-time" ,rust-time-0.1)))))) +(define-public rust-cookie-factory-0.3 + (package + (name "rust-cookie-factory") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "cookie-factory" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0sqjmw85ckqhppff6gjwmvjpkii35441a51xx7cv0ih3jy2fjv9r")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-development-inputs (("rust-maplit" ,rust-maplit-1)))) + (home-page "https://github.com/rust-bakery/cookie-factory") + (synopsis "Combinator-based serialization library") + (description + "This package provides a serialization library with a combinator design +similar to the nom parser combinators library.") + (license license:expat))) + (define-public rust-cookie-store-0.7 (package (name "rust-cookie-store") @@ -10676,17 +10919,17 @@ message passing.") #:cargo-development-inputs (("rust-rand" ,rust-rand-0.6)))))) -(define-public rust-crossfont-0.2 +(define-public rust-crossfont-0.3 (package (name "rust-crossfont") - (version "0.2.0") + (version "0.3.1") (source (origin (method url-fetch) (uri (crate-uri "crossfont" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "04p8k0yn19n2pdbiqzwkknakz9c7kdii0i2nf3s3p298ab7ld28h")))) + (base32 "079431wkjc18zj3038djai83z6fna0x7r1hxpxjhhi50jdz9dh5n")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -10711,6 +10954,35 @@ message passing.") rasterizing glyphs, using native font engines whenever possible.") (license license:asl2.0))) +(define-public rust-crossfont-0.2 + (package + (inherit rust-crossfont-0.3) + (name "rust-crossfont") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "crossfont" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "04p8k0yn19n2pdbiqzwkknakz9c7kdii0i2nf3s3p298ab7ld28h")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cocoa" ,rust-cocoa-0.24) + ("rust-core-foundation" ,rust-core-foundation-0.9) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8) + ("rust-core-graphics" ,rust-core-graphics-0.22) + ("rust-core-text" ,rust-core-text-19) + ("rust-dwrote" ,rust-dwrote-0.11) + ("rust-foreign-types" ,rust-foreign-types-0.5) + ("rust-freetype-rs" ,rust-freetype-rs-0.26) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-servo-fontconfig" ,rust-servo-fontconfig-0.5) + ("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-crossterm-0.19 (package (name "rust-crossterm") @@ -10915,6 +11187,27 @@ number ``crunching``.") common cryptographic algorithms.") (license (list license:expat license:asl2.0)))) +(define-public rust-rusticata-macros-3 + (package + (name "rust-rusticata-macros") + (version "3.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rusticata-macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1b91k644rqblbam6rfhhmgcxs0zddldi2h0w93aapv1kqq9fbgpv")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-nom" ,rust-nom-6)))) + (home-page "https://github.com/rusticata/rusticata-macros") + (synopsis "Helper macros for Rusticata") + (description "Helper macros for Rusticata") + (license (list license:expat license:asl2.0)))) + (define-public rust-crypto-mac-0.11 (package (name "rust-crypto-mac") @@ -11684,7 +11977,6 @@ attributes.") (build-system cargo-build-system) (arguments `(#:tests? #f ; Cannot compile cxx-test-suite. - #:rust ,rust-1.48 ; or newer #:cargo-inputs (("rust-cc" ,rust-cc-1) ("rust-cxxbridge-flags" ,rust-cxxbridge-flags-1) @@ -11744,8 +12036,7 @@ attributes.") "0shmkgv3cnh06ws1p555znj1hh23phynaz73rgnz95gradsdwnwg")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.48 ; or newer - #:cargo-inputs + `(#:cargo-inputs (("rust-cc" ,rust-cc-1) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) ("rust-lazy-static" ,rust-lazy-static-1) @@ -11805,8 +12096,7 @@ crate into a Cargo build.") "08v366jxd2vc8jc2cbvrga0866pwfcaq6hl8yylfx0vhs2n53j53")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.48 ; or newer - #:cargo-inputs + `(#:cargo-inputs (("rust-cc" ,rust-cc-1) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) ("rust-proc-macro2" ,rust-proc-macro2-1) @@ -11911,8 +12201,7 @@ crate (implementation detail).") "0gkwvihw74dh8p3fz3552wnxanrpwmwfy38ylz2z8knjq0y8y4v3")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.48 ; or newer - #:cargo-inputs + `(#:cargo-inputs (("rust-clang-ast" ,rust-clang-ast-0.1) ("rust-flate2" ,rust-flate2-1) ("rust-memmap" ,rust-memmap-0.7) @@ -13055,6 +13344,33 @@ procedural macros") procedural macros.") (license (list license:expat license:asl2.0)))) +(define-public rust-dhcp4r-0.2 + (package + (name "rust-dhcp4r") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "dhcp4r" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0paq13i9iz5545f5aw8ijxflw20fvb3k8s4m3inr5q19q5rirpbc")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-enum-primitive-derive" ,rust-enum-primitive-derive-0.2) + ("rust-nom" ,rust-nom-6) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-time" ,rust-time-0.2)))) + (home-page "https://github.com/krolaw/dhcp4r") + (synopsis "IPv4 DHCP library with working server example.") + (description + "This package provides a library for IPv4 DHCP including a working server +example.") + (license license:bsd-3))) + (define-public rust-dialoguer-0.6 (package (name "rust-dialoguer") @@ -14449,6 +14765,28 @@ signing, and verification in pure Rust.") @code{Right} is a general purpose sum type with two cases.") (license (list license:expat license:asl2.0)))) +(define-public rust-elf-0.0.10 + (package + (name "rust-elf") + (version "0.0.10") + (source + (origin + (method url-fetch) + (uri (crate-uri "elf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xcpf7jdmrl7rdmd6009grahvgp3k695h5x4cadrpr70vcaxwha8")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-byteorder" ,rust-byteorder-0.5)))) + (home-page "https://github.com/cole14/rust-elf/") + (synopsis "Library for parsing ELF files") + (description + "This package provides a pure-Rust library for parsing ELF files.") + (license (list license:expat license:asl2.0)))) + (define-public rust-emacs-0.11 (package (name "rust-emacs") @@ -14941,6 +15279,32 @@ accessor functions on enums.") instances for enum.") (license license:expat))) +(define-public rust-enum-primitive-derive-0.2 + (package + (name "rust-enum-primitive-derive") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "enum-primitive-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0h1k2izdl5lf2na8xnj7rgwjm8gawxc2p1w8j6ahifvyka7jhljz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-num-traits" ,rust-num-traits-0.2) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://gitlab.com/cardoe/enum-primitive-derive") + (synopsis "Reimplementation of enum_primitive using a #[derive] macro") + (description + "This package provides a custom derive using procedural macros to +implement enum_primitive.") + (license license:expat))) + (define-public rust-enum-to-u8-slice-derive-0.1 (package (name "rust-enum-to-u8-slice-derive") @@ -15809,22 +16173,23 @@ floats.") "This package provides a simple and fast random number generator.") (license (list license:asl2.0 license:expat)))) -(define-public rust-fd-lock-2 +(define-public rust-fd-lock-3 (package (name "rust-fd-lock") - (version "2.0.0") + (version "3.0.0") (source (origin (method url-fetch) (uri (crate-uri "fd-lock" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "01kzrikg3a60lxmr0k8bbm4nggh6693f1pf530ip136qzwpg0400")))) + (base32 "0dif8wk9xrqkjyfgqqy3zfg4ckmkpyzzk5p5m01s99q63bcnv05q")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-libc" ,rust-libc-0.2) + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/yoshuawuyts/fd-lock") (synopsis "Advisory lock on a file") @@ -15833,6 +16198,24 @@ floats.") it.") (license (list license:expat license:asl2.0)))) +(define-public rust-fd-lock-2 + (package + (inherit rust-fd-lock-3) + (name "rust-fd-lock") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "fd-lock" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "01kzrikg3a60lxmr0k8bbm4nggh6693f1pf530ip136qzwpg0400")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-femme-2 (package (name "rust-femme") @@ -16150,17 +16533,17 @@ cross platform API.") "A procedural macro to insert @code{flame::start_guard(_)} calls.") (license license:asl2.0))) -(define-public rust-flatbuffers-0.8 +(define-public rust-flatbuffers-2 (package (name "rust-flatbuffers") - (version "0.8.4") + (version "2.0.0") (source (origin (method url-fetch) (uri (crate-uri "flatbuffers" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0sc0ngk9xim7xgqydx36xz4a1sqxq2fv7fmqn6z76vbx5cs05if3")))) + (base32 "1xp5ppif0hvgh9kfvy1199gdmjc3dw1517022l1x3ynpphw5fk7g")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -16174,6 +16557,25 @@ cross platform API.") "This crates provides FlatBuffers runtime serialization library.") (license license:asl2.0))) +(define-public rust-flatbuffers-0.8 + (package + (inherit rust-flatbuffers-2) + (name "rust-flatbuffers") + (version "0.8.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "flatbuffers" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0sc0ngk9xim7xgqydx36xz4a1sqxq2fv7fmqn6z76vbx5cs05if3")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-thiserror" ,rust-thiserror-1)))))) + (define-public rust-flate2-1 (package (name "rust-flate2") @@ -18559,10 +18961,10 @@ getters and setters on fields.") `(#:cargo-inputs (("rust-cc" ,rust-cc-1)))))) -(define-public rust-gfa-0.6 +(define-public rust-gfa-0.10 (package (name "rust-gfa") - (version "0.6.2") + (version "0.10.0") (source (origin (method url-fetch) @@ -18571,16 +18973,20 @@ getters and setters on fields.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0ghmy4r0324s6vvmj9nmh326346nkwm7nybnpcpswnjvf02b85gw")))) + "1hadm6vfjwyqw41bqci18wb4wv80rydmrag7a5c02pdp1gid14fw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-bstr" ,rust-bstr-0.2) + (("rust-anyhow" ,rust-anyhow-1) + ("rust-bstr" ,rust-bstr-0.2) ("rust-bytemuck" ,rust-bytemuck-1) + ("rust-fnv" ,rust-fnv-1) ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-memmap" ,rust-memmap-0.7) ("rust-nom" ,rust-nom-5) ("rust-regex" ,rust-regex-1) - ("rust-serde" ,rust-serde-1)) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)) #:cargo-development-inputs (("rust-criterion" ,rust-criterion-0.3)))) (home-page "https://github.com/chfi/rs-gfa") @@ -18590,6 +18996,31 @@ getters and setters on fields.") @acronym{GFA, Graphical Fragment Assembly} format.") (license license:expat))) +(define-public rust-gfa-0.6 + (package + (inherit rust-gfa-0.10) + (name "rust-gfa") + (version "0.6.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "gfa" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0ghmy4r0324s6vvmj9nmh326346nkwm7nybnpcpswnjvf02b85gw")))) + (arguments + `(#:cargo-inputs + (("rust-bstr" ,rust-bstr-0.2) + ("rust-bytemuck" ,rust-bytemuck-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-nom" ,rust-nom-5) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-criterion" ,rust-criterion-0.3)))))) + (define-public rust-ghash-0.3 (package (name "rust-ghash") @@ -19606,51 +20037,6 @@ used by @command{cargo} and @command{rustup}, as well as functions to find the correct value of @samp{CARGO_HOME} and @samp{RUSTUP_HOME}.") (license (list license:expat license:asl2.0)))) -(define-public rust-bat-0.17 - (package - (name "rust-bat") - (version "0.17.1") - (source - (origin - (method url-fetch) - (uri (crate-uri "bat" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 "1ia12774prjnm3msiaja6qdpxkpyknxswqpgkmwzj0wn9nhkc7nz")))) - (build-system cargo-build-system) - (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ansi-colours" ,rust-ansi-colours-1) - ("rust-ansi-term" ,rust-ansi-term-0.12) - ("rust-atty" ,rust-atty-0.2) - ("rust-clap" ,rust-clap-2) - ("rust-clap" ,rust-clap-2) - ("rust-console" ,rust-console-0.13) - ("rust-content-inspector" ,rust-content-inspector-0.2) - ("rust-dirs" ,rust-dirs-3) - ("rust-encoding" ,rust-encoding-0.2) - ("rust-error-chain" ,rust-error-chain-0.12) - ("rust-git2" ,rust-git2-0.13) - ("rust-globset" ,rust-globset-0.4) - ("rust-lazy-static" ,rust-lazy-static-1) - ("rust-path-abs" ,rust-path-abs-0.5) - ("rust-semver" ,rust-semver-0.11) - ("rust-serde" ,rust-serde-1) - ("rust-serde-yaml" ,rust-serde-yaml-0.8) - ("rust-shell-words" ,rust-shell-words-1) - ("rust-syntect" ,rust-syntect-4) - ("rust-unicode-width" ,rust-unicode-width-0.1) - ("rust-wild" ,rust-wild-2)))) - (home-page "https://github.com/sharkdp/bat") - (synopsis "@command{cat} clone with syntax highlighting and git integration") - (description - "@command{bat} is a drop-in @command{cat} replacement featuring syntax -highlighting for a large number of languages, git integration, and automatic -paging.") - (license (list license:expat license:asl2.0)))) - (define-public rust-hamcrest2-0.3 (package (name "rust-hamcrest2") @@ -20283,10 +20669,10 @@ hexadecimal representation.") (sha256 (base32 "1ajkw40qzn2ygnqjj9w584f6l31wi318258n84pn2hax8la2i8nn")))))) -(define-public rust-hex-literal-0.2 +(define-public rust-hex-literal-0.3 (package (name "rust-hex-literal") - (version "0.2.1") + (version "0.3.3") (source (origin (method url-fetch) @@ -20295,12 +20681,8 @@ hexadecimal representation.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q36f0qq31ggh4ipcwb7a5g6jmci2010vn2v3qpaz4csxhhf47cn")))) + "0nzljsyz9rwhh4vi0xs9ya4l5g0ka754wgpy97r1j3v42c75kr11")))) (build-system cargo-build-system) - (arguments - `(#:cargo-inputs - (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2) - ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))) (home-page "https://github.com/RustCrypto/utils") (synopsis "Convert hexadecimal string to byte array at compile time") @@ -20309,6 +20691,25 @@ hexadecimal representation.") compile time.") (license (list license:asl2.0 license:expat)))) +(define-public rust-hex-literal-0.2 + (package + (inherit rust-hex-literal-0.3) + (name "rust-hex-literal") + (version "0.2.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "hex-literal" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q36f0qq31ggh4ipcwb7a5g6jmci2010vn2v3qpaz4csxhhf47cn")))) + (arguments + `(#:cargo-inputs + (("rust-hex-literal-impl" ,rust-hex-literal-impl-0.2) + ("rust-proc-macro-hack" ,rust-proc-macro-hack-0.5)))))) + (define-public rust-hex-literal-0.1 (package (inherit rust-hex-literal-0.2) @@ -21764,23 +22165,21 @@ crate.") (define-public rust-indexmap-1 (package (name "rust-indexmap") - (version "1.6.2") + (version "1.7.0") (source - (origin - (method url-fetch) - (uri (crate-uri "indexmap" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1wxfh55zlrlpdxfcvvvj6wwc46f23cnb0j9q71190yl9pyh4aj42")))) + (origin + (method url-fetch) + (uri (crate-uri "indexmap" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19b2zwfajhsfcgny0clv8y4jppy704znfhv8nv2dw9a18l2kcqxw")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-autocfg" ,rust-autocfg-1) - ("rust-hashbrown" ,rust-hashbrown-0.9) - ("rust-serde" ,rust-serde-1) - ("rust-rayon" ,rust-rayon-1)) + ("rust-hashbrown" ,rust-hashbrown-0.11) + ("rust-rayon" ,rust-rayon-1) + ("rust-serde" ,rust-serde-1)) #:cargo-development-inputs (("rust-fnv" ,rust-fnv-1) ("rust-fxhash" ,rust-fxhash-0.2) @@ -22589,33 +22988,23 @@ bottlenecks encountered in highly concurrent code by avoiding shared writes and locking in the core framework.") (license license:expat))) -(define-public rust-is-executable +(define-public rust-is-executable-1 (package (name "rust-is-executable") - (version "0.1.2") + (version "1.0.1") (source - (origin - (method url-fetch) - (uri (crate-uri "is_executable" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0xy516afjh79a0d53j9v4w5mgi2s0r6f6qynnyz8g0dwi8xmab9h")))) + (origin + (method url-fetch) + (uri (crate-uri "is_executable" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1j59iqaxcgax0qll30rarpcr7y3dpkl38iv4mlkfcxbvsv3cv6ps")))) (build-system cargo-build-system) (arguments - `(;; One test tries to invoke 'cargo readme' which does not exist and aborts. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-test - (lambda _ - (substitute* "tests/tests.rs" - (("panic!\\(\"Run `cargo readme > README.md` to update README.md\"\\)") - "return;")) - #t))) + `(#:skip-build? #t #:cargo-inputs - (("rust-diff" ,rust-diff-0.1) - ("rust-winapi" ,rust-winapi-0.3)))) + (("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/fitzgen/is_executable") (synopsis "Find executable files at path") (description @@ -23148,6 +23537,31 @@ the jni-bindgen code generator for binding to JVM APIs from Rust.") @code{std::thread}, which makes sure that by default all threads are joined.") (license (list license:expat license:asl2.0)))) +(define-public rust-jsonpath-lib-0.3 + (package + (name "rust-jsonpath-lib") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "jsonpath_lib" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0kvp4fargixqlwjvpb3w6f1lvmiysnmj7an5h75wqc42ss8k39pa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1)))) + (home-page "https://github.com/freestrings/jsonpath") + (synopsis "JsonPath engine written in Rust") + (description + "It is JsonPath engine written in Rust. It provides a similar API +interface in Webassembly and Javascript too.") + (license license:expat))) + (define-public rust-jsonrpc-core-14 (package (name "rust-jsonrpc-core") @@ -23814,7 +24228,7 @@ strings.") (define-public rust-libc-0.2 (package (name "rust-libc") - (version "0.2.96") + (version "0.2.101") (source (origin (method url-fetch) @@ -23822,7 +24236,7 @@ strings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z5l4rdk44sx1vaq69x1mbwi5zh75q46p2hkl90ihhn5xzkb802n")))) + "08dsmvn397ph8gnj552k12gmpp2rk6p60jyliqnfvr8vhwv07c1w")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -25729,8 +26143,38 @@ grammars. It provides the subset of the regex crate that only deals with matching, not parsing substrings.") (license license:expat))) +(define-public rust-matrixmultiply-0.3 + (package + (name "rust-matrixmultiply") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "matrixmultiply" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0hdpsvw28in1m9c5h8a7abzxv70rq8l5hg5h8k6sxpyrfsvib2js")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-num-cpus" ,rust-num-cpus-1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rawpointer" ,rust-rawpointer-0.2) + ("rust-thread-tree" ,rust-thread-tree-0.3)))) + (home-page "https://github.com/bluss/matrixmultiply/") + (synopsis "General matrix multiplication for f32 and f64 matrices") + (description "General matrix multiplication for f32 and f64 matrices. +Operates on matrices with general layout (they can use arbitrary row and column +stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher +performance. Uses a microkernel strategy, so that the implementation is easy to +parallelize and optimize.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-matrixmultiply-0.2 (package + (inherit rust-matrixmultiply-0.3) (name "rust-matrixmultiply") (version "0.2.3") (source @@ -25741,22 +26185,12 @@ matching, not parsing substrings.") (sha256 (base32 "13s7nfd3dfcsrixld2lk8c563ih5xzczl2w36hprfc016rkfrxyl")))) - (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.2)) #:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1) - ("rust-itertools" ,rust-itertools-0.7)))) - (home-page "https://github.com/bluss/matrixmultiply/") - (synopsis "General matrix multiplication for f32 and f64 matrices") - (description "General matrix multiplication for f32 and f64 matrices. -Operates on matrices with general layout (they can use arbitrary row and column -stride). Detects and uses AVX or SSE2 on x86 platforms transparently for higher -performance. Uses a microkernel strategy, so that the implementation is easy to -parallelize and optimize.") - (license (list license:asl2.0 - license:expat)))) + ("rust-itertools" ,rust-itertools-0.7)))))) (define-public rust-matrixmultiply-0.1 (package @@ -25798,7 +26232,7 @@ parallelize and optimize.") (define-public rust-md-5-0.9 (package (name "rust-md-5") - (version "0.9.0") + (version "0.9.1") (source (origin (method url-fetch) @@ -25807,14 +26241,14 @@ parallelize and optimize.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "14x7yxfi4pk4qy3zmn9dj69yc18fg3cyind346kribjd93077qij")))) + "059ajjacz1q3cms7vl6cvhdqs4qdw2nnwj9dq99ryzv0p6djfnkv")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-block-buffer" ,rust-block-buffer-0.8) + (("rust-block-buffer" ,rust-block-buffer-0.9) ("rust-digest" ,rust-digest-0.9) ("rust-md5-asm" ,rust-md5-asm-0.4) - ("rust-opaque-debug" ,rust-opaque-debug-0.2)) + ("rust-opaque-debug" ,rust-opaque-debug-0.3)) #:cargo-development-inputs (("rust-digest" ,rust-digest-0.9) ("rust-hex-literal" ,rust-hex-literal-0.2)))) @@ -26150,14 +26584,14 @@ file IO.") (define-public rust-memoffset-0.6 (package (name "rust-memoffset") - (version "0.6.1") + (version "0.6.4") (source (origin (method url-fetch) (uri (crate-uri "memoffset" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "11yxgw330cf8g4wy0fnb20ag8gg1b33fsnfmg2g8z6h5wc444yqm")))) + (base32 "1yfx2v8kmkhr2d4gwk8ghihdwg73vapn3vvp0im06f0kgx8crb2r")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -26441,6 +26875,38 @@ based on Rustls and Ring.") (("rust-sema" ,rust-sema-0.1) ("rust-winit" ,rust-winit-0.19)))))) ; 0.17? +(define-public rust-tls-parser-0.10 + (package + (name "rust-tls-parser") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tls-parser" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1spgykvrxlzb059zzz1hzinc4vvkpixw9nd6p94vw3rimar5m68n")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f ;; requires assets not included in crates.io tarball + #:cargo-inputs + (("rust-cookie-factory" ,rust-cookie-factory-0.3) + ("rust-enum-primitive" ,rust-enum-primitive-0.1) + ("rust-nom" ,rust-nom-6) + ("rust-nom-derive" ,rust-nom-derive-0.7) + ("rust-phf" ,rust-phf-0.8) + ("rust-phf-codegen" ,rust-phf-codegen-0.8) + ("rust-rusticata-macros" ,rust-rusticata-macros-3)) + #:cargo-development-inputs + (("rust-hex-literal" ,rust-hex-literal-0.3) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.6)))) + (home-page "https://github.com/rusticata/tls-parser") + (synopsis "Parser for the TLS protocol") + (description "This package provides a Rust parser for the TLS protocol.") + (license (list license:expat license:asl2.0)))) + (define-public rust-twox-hash-1 (package (name "rust-twox-hash") @@ -26765,14 +27231,14 @@ drop-in replacement for miniz.") (define-public rust-minus-3 (package (name "rust-minus") - (version "3.3.0") + (version "3.4.0") (source (origin (method url-fetch) (uri (crate-uri "minus" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1f5kx0q3pc04zlaf0dv2vmbzza65kjdr1h9kk8x716fyzc0w5pga")))) + (base32 "0k0h6zpfv87kkadkjjyhzgalciqvjrlhc48lxcp46rg6rk17s5d4")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -26851,10 +27317,10 @@ possible over the OS abstractions.") ("rust-env-logger" ,rust-env-logger-0.4) ("rust-tempdir" ,rust-tempdir-0.3)))))) -(define-public rust-mio-anonymous-pipes-0.1 +(define-public rust-mio-anonymous-pipes-0.2 (package (name "rust-mio-anonymous-pipes") - (version "0.1.0") + (version "0.2.0") (source (origin (method url-fetch) @@ -26863,7 +27329,7 @@ possible over the OS abstractions.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1bqs8wncd73q4pnbiwskhgds57hyr8g89vfpqmw1vk9dqp1p9hpq")))) + "0sqsr9ifvacarlmf02l0hh5ianns5kdhzdb1llx5l075bw117ibb")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -26878,6 +27344,28 @@ possible over the OS abstractions.") "This package provides asynchronous wrapper for Windows synchronous pipes.") (license license:expat))) +(define-public rust-mio-anonymous-pipes-0.1 + (package + (inherit rust-mio-anonymous-pipes-0.2) + (name "rust-mio-anonymous-pipes") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "mio-anonymous-pipes" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1bqs8wncd73q4pnbiwskhgds57hyr8g89vfpqmw1vk9dqp1p9hpq")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-mio" ,rust-mio-0.6) + ("rust-miow" ,rust-miow-0.3) + ("rust-spsc-buffer" ,rust-spsc-buffer-0.1) + ("rust-winapi" ,rust-winapi-0.3)))))) + (define-public rust-mio-extras-2 (package (name "rust-mio-extras") @@ -27090,6 +27578,32 @@ checking.") "Chaining APIs for both self -> Self and &mut self methods.") (license license:expat))) +(define-public rust-mp4-0.8 + (package + (name "rust-mp4") + (version "0.8.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "mp4" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "14zh9dh6hwzmbchl7yh8wv84r0fniq1jcbz9x2hqq699h6l1issi")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-bytes" ,rust-bytes-0.5) + ("rust-num-rational" ,rust-num-rational-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://github.com/alfg/mp4-rust") + (synopsis "MP4 reader and writer library in Rust") + (description "mp4 is a Rust library to read and write ISO-MP4 files.") + (license license:expat))) + (define-public rust-mpris-player-0.6 (package (name "rust-mpris-player") @@ -27759,8 +28273,46 @@ established.") library.") (license license:expat))) +(define-public rust-ndarray-0.15 + (package + (name "rust-ndarray") + (version "0.15.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "ndarray" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1jd845r1ihybq02iz85b1xcnvxr7l2qs06dabgk278v086b59s08")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-approx" ,rust-approx-0.4) + ("rust-cblas-sys" ,rust-cblas-sys-0.1) + ("rust-libc" ,rust-libc-0.2) + ("rust-matrixmultiply" ,rust-matrixmultiply-0.3) + ("rust-num-complex" ,rust-num-complex-0.4) + ("rust-num-integer" ,rust-num-integer-0.1) + ("rust-num-traits" ,rust-num-traits-0.2) + ("rust-rawpointer" ,rust-rawpointer-0.2) + ("rust-rayon" ,rust-rayon-1) + ("rust-serde" ,rust-serde-1)) + #:cargo-development-inputs + (("rust-approx" ,rust-approx-0.4) + ("rust-defmac" ,rust-defmac-0.2) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/rust-ndarray/ndarray") + (synopsis "N-dimensional container for general elements and for numerics") + (description "@code{ndarray} implements an n-dimensional container for +general elements and for numerics.") + (license (list license:asl2.0 + license:expat)))) + (define-public rust-ndarray-0.13 (package + (inherit rust-ndarray-0.15) (name "rust-ndarray") (version "0.13.1") (source @@ -27774,7 +28326,6 @@ library.") "02dbwj3b7d0cpy29nhw31n51h3cwm4s1q6narl7fwiigxh1xn1mc")) (patches (search-patches "rust-ndarray-0.13-remove-blas-src.patch")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -27790,13 +28341,7 @@ library.") #:cargo-development-inputs (("rust-defmac" ,rust-defmac-0.2) ("rust-itertools" ,rust-itertools-0.8) - ("rust-quickcheck" ,rust-quickcheck-0.9)))) - (home-page "https://github.com/rust-ndarray/ndarray") - (synopsis "N-dimensional container for general elements and for numerics") - (description "@code{ndarray} implements an n-dimensional container for -general elements and for numerics.") - (license (list license:asl2.0 - license:expat)))) + ("rust-quickcheck" ,rust-quickcheck-0.9)))))) (define-public rust-ndarray-0.12 (package @@ -28256,17 +28801,17 @@ nitrokey crate and others using it.") nitrokey-test crate.") (license license:gpl3+))) -(define-public rust-nix-0.20 +(define-public rust-nix-0.22 (package (name "rust-nix") - (version "0.20.0") + (version "0.22.1") (source (origin (method url-fetch) (uri (crate-uri "nix" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "12n1syfd967hblrcrrqk63a4s1h4hsybfqwblh71rihvv8cli6zs")))) + (base32 "0cahgzxhdwsaa8491n6cn8gadgfsxk5razyfw4xr3k34f5n5smg7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -28274,7 +28819,8 @@ nitrokey-test crate.") (("rust-bitflags" ,rust-bitflags-1) ("rust-cc" ,rust-cc-1) ("rust-cfg-if" ,rust-cfg-if-1) - ("rust-libc" ,rust-libc-0.2)))) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.6)))) (home-page "https://github.com/nix-rust/nix") (synopsis "Rust friendly bindings to *nix APIs") (description @@ -28283,6 +28829,47 @@ The goal is to not provide a 100% unified interface, but to unify what can be while still providing platform specific APIs.") (license license:expat))) +(define-public rust-nix-0.21 + (package + (inherit rust-nix-0.22) + (name "rust-nix") + (version "0.21.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1isfgr239sxvkcjhcp08rz2nqi4s6w5ik2l2m183ldlxqkz2hdsw")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cc" ,rust-cc-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-libc" ,rust-libc-0.2) + ("rust-memoffset" ,rust-memoffset-0.6)))))) + +(define-public rust-nix-0.20 + (package + (inherit rust-nix-0.21) + (name "rust-nix") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nix" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "12n1syfd967hblrcrrqk63a4s1h4hsybfqwblh71rihvv8cli6zs")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cc" ,rust-cc-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-libc" ,rust-libc-0.2)))))) + (define-public rust-nix-0.19 (package (inherit rust-nix-0.20) @@ -28651,6 +29238,34 @@ combinators library.") ;; This is an ancient version and all inputs are optional. `(#:skip-build? #t)))) +(define-public rust-nom-derive-0.7 + (package + (name "rust-nom-derive") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "nom-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1xwbbkfhr8zrlcknlj75l50rp2b267qm9sd8vphx6gwzyg24n2zz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-nom" ,rust-nom-6) + ("rust-pretty-assertions" ,rust-pretty-assertions-0.7) + ("rust-trybuild" ,rust-trybuild-1)))) + (home-page "https://github.com/rust-bakery/nom-derive") + (synopsis "Custom derive nom parsers from struct") + (description "This package derives custom nom parsers from structs.") + (license (list license:expat license:asl2.0)))) + (define-public rust-noop-proc-macro-0.3 (package (name "rust-noop-proc-macro") @@ -30273,7 +30888,7 @@ the default program configured on the system.") (base32 "0cw767rbasg4dbsfcsnxqm3q5ljkv6s1jq0a2p82xi5a8ii7n4f4")))) (arguments - `(#:tests? #f ; Test directory not included in release + `(#:skip-build? #t ; Build depends on openssl-1.0. #:cargo-inputs (("rust-bitflags" ,rust-bitflags-0.7) ("rust-gcc" ,rust-gcc-0.3) @@ -30292,9 +30907,7 @@ the default program configured on the system.") (lambda _ (substitute* "Cargo.toml" ((", path =.*}") "}")) - #t))))) - (inputs - `(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras + #t))))))) (define-public rust-openssl-probe-0.1 (package @@ -30392,7 +31005,8 @@ system for OpenSSL.") "1ymrmfnknyjji74fflbnnq9r5ihx25h0vgs5y203vl6klzdy3i8i")))) (build-system cargo-build-system) (arguments - `(#:cargo-inputs + `(#:skip-build? #t ; Depends on openssl-1.0. + #:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-openssl-sys" ,rust-openssl-sys-0.7) ("rust-gcc" ,rust-gcc-0.3)) @@ -30403,8 +31017,6 @@ system for OpenSSL.") (substitute* "Cargo.toml" ((", path =.*}") "}")) #t))))) - (inputs - `(("openssl" ,openssl-1.0))) ; openssl-1.0 specifically (home-page "https://github.com/sfackler/rust-openssl") (synopsis "Extra FFI bindings to OpenSSL that require a C shim") @@ -30585,6 +31197,26 @@ platform-native strings.") "Utility to activate escape codes in Windows' CMD and PowerShell.") (license license:expat))) +(define-public rust-overload-0.1 + (package + (name "rust-overload") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "overload" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0fdgbaqwknillagy1xq7xfgv60qdbk010diwl7s1p0qx7hb16n5i")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/danaugrs/overload") + (synopsis "Macro to simplify operator overloading") + (description + "This package provides a macro to simplify operator overloading.") + (license license:expat))) + (define-public rust-owned-ttf-parser-0.6 (package (name "rust-owned-ttf-parser") @@ -31192,22 +31824,22 @@ synchronization primitives.") ("rust-winapi" ,rust-winapi-0.3) ("rust-rustc-version" ,rust-rustc-version-0.2)))))) -(define-public rust-parquet-4 +(define-public rust-parquet-5 (package (name "rust-parquet") - (version "4.2.0") + (version "5.2.0") (source (origin (method url-fetch) (uri (crate-uri "parquet" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "19l8ya7jqym8bpf1pyg0i31a7sqaw18dskwbj6v6lkmhxbwafxcj")))) + (base32 "0k2pzbqy6qb3rhxfsbx6gnmqyz4c9rprn6p76ws5f7cbgjwv97p2")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-arrow" ,rust-arrow-4) + (("rust-arrow" ,rust-arrow-5) ("rust-base64" ,rust-base64-0.13) ("rust-brotli" ,rust-brotli-3) ("rust-byteorder" ,rust-byteorder-1) @@ -31217,16 +31849,47 @@ synchronization primitives.") ("rust-lz4" ,rust-lz4-1) ("rust-num-bigint" ,rust-num-bigint-0.4) ("rust-parquet-format" ,rust-parquet-format-2) + ("rust-rand" ,rust-rand-0.8) ("rust-serde-json" ,rust-serde-json-1) ("rust-snap" ,rust-snap-1) ("rust-thrift" ,rust-thrift-0.13) - ("rust-zstd" ,rust-zstd-0.8)))) + ("rust-zstd" ,rust-zstd-0.9)))) (home-page "https://github.com/apache/arrow-rs") (synopsis "Apache Parquet implementation in Rust") (description "This crate provides an Apache Parquet implementation in Rust.") (license license:asl2.0))) +(define-public rust-parquet-4 + (package + (inherit rust-parquet-5) + (name "rust-parquet") + (version "4.4.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "parquet" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0m3aqmaa79wka7adijl3zqkfjf1iwm2y58v0g16askv73pj48l16")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrow" ,rust-arrow-4) + ("rust-base64" ,rust-base64-0.13) + ("rust-brotli" ,rust-brotli-3) + ("rust-byteorder" ,rust-byteorder-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-clap" ,rust-clap-2) + ("rust-flate2" ,rust-flate2-1) + ("rust-lz4" ,rust-lz4-1) + ("rust-num-bigint" ,rust-num-bigint-0.4) + ("rust-parquet-format" ,rust-parquet-format-2) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-snap" ,rust-snap-1) + ("rust-thrift" ,rust-thrift-0.13) + ("rust-zstd" ,rust-zstd-0.8)))))) + (define-public rust-parquet-format-2 (package (name "rust-parquet-format") @@ -31524,6 +32187,32 @@ in pure Rust.") ("rust-sha-1" ,rust-sha-1-0.8) ("rust-sha2" ,rust-sha2-0.8)))))) +(define-public rust-pcap-sys-0.1 + (package + (name "rust-pcap-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "pcap-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "18w9c8i5zjnazay86219w4789482ya617z35cw433h12wbgjaiqi")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-libc" ,rust-libc-0.2) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-winapi" ,rust-winapi-0.3)))) + (inputs `(("libpcap" ,libpcap))) + (home-page "https://github.com/jmmk/rustcap") + (synopsis "Low-level bindings to libpcap") + (description "This package provides low-level Rust bindings to the libpcap +library.") + (license license:expat))) + (define-public rust-pcre2-0.2 (package (name "rust-pcre2") @@ -32569,6 +33258,30 @@ used in Cargo build scripts.") (license (list license:asl2.0 license:expat)))) +(define-public rust-pktparse-0.5 + (package + (name "rust-pktparse") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "pktparse" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "17a78c29l070mlwjdr3bdph785c9v5rps0if3v0s21w4nwaybhck")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-nom" ,rust-nom-5) + ("rust-serde" ,rust-serde-1)))) + (home-page "https://github.com/bestouff/pktparse-rs") + (synopsis "Collection of packet parsers") + (description "This package provides a collection of parsers for various +network packet formats.") + (license license:lgpl3))) + (define-public rust-plain-0.2 (package (name "rust-plain") @@ -32786,8 +33499,52 @@ applications.") "Additional trait for Read and Write to read and write Plain Old Data.") (license (list license:expat license:asl2.0)))) +(define-public rust-polars-0.15 + (package + (name "rust-polars") + (version "0.15.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1sl7vs6ck05f8w8jp7v75431b4v5j2rvvvw53jqgxc5226i7a2h8")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-polars-core" ,rust-polars-core-0.15) + ("rust-polars-io" ,rust-polars-io-0.15) + ("rust-polars-lazy" ,rust-polars-lazy-0.15)))) + (home-page "https://github.com/ritchie46/polars") + (synopsis "DataFrame Library based on Apache Arrow") + (description + "Polars is a dataframe Library based on Apache Arrow.") + (license license:expat))) + +(define-public rust-polars-0.14 + (package + (inherit rust-polars-0.15) + (name "rust-polars") + (version "0.14.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mjp68cjya17gfvc0kqy7wkcggrnjn1pd2pgxpn8ba5b7mgn9lcy")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-polars-core" ,rust-polars-core-0.14) + ("rust-polars-io" ,rust-polars-io-0.14) + ("rust-polars-lazy" ,rust-polars-lazy-0.14)))))) + (define-public rust-polars-0.13 (package + (inherit rust-polars-0.14) (name "rust-polars") (version "0.13.4") (source @@ -32799,21 +33556,59 @@ applications.") (sha256 (base32 "104s1r0ndwz3blklbfshkm0km0602w9rqg9lbaq36zbbf93cw1n4")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-polars-core" ,rust-polars-core-0.13) ("rust-polars-io" ,rust-polars-io-0.13) - ("rust-polars-lazy" ,rust-polars-lazy-0.13)))) + ("rust-polars-lazy" ,rust-polars-lazy-0.13)))))) + +(define-public rust-polars-arrow-0.15 + (package + (name "rust-polars-arrow") + (version "0.15.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-arrow" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0d8ir9dajywfqg6ck557vbvzsdmndc1ipn9mgrqi15yini1qmw2z")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrow" ,rust-arrow-5) + ("rust-num" ,rust-num-0.4) + ("rust-thiserror" ,rust-thiserror-1)))) (home-page "https://github.com/ritchie46/polars") - (synopsis "DataFrame Library based on Apache Arrow") + (synopsis "Arrow interfaces for Polars DataFrame library") (description - "Polars is a dataframe Library based on Apache Arrow.") + "This crate provides Arrow interfaces for Polars DataFrame library.") (license license:expat))) +(define-public rust-polars-arrow-0.14 + (package + (inherit rust-polars-arrow-0.15) + (name "rust-polars-arrow") + (version "0.14.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-arrow" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1wk6qfj821w6qqs35n9f0zhp9n7mffxzah12nqk1xlpv2ci2ahsr")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-arrow" ,rust-arrow-4) + ("rust-num" ,rust-num-0.4) + ("rust-thiserror" ,rust-thiserror-1)))))) + (define-public rust-polars-arrow-0.13 (package + (inherit rust-polars-arrow-0.14) (name "rust-polars-arrow") (version "0.13.4") (source @@ -32824,21 +33619,98 @@ applications.") (string-append name "-" version ".tar.gz")) (sha256 (base32 "0r6k2zm9f3nngjszdjnjz7r7c91qpq88lwjfgsbwfi8383xxbcjk")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-arrow" ,rust-arrow-4) ("rust-num" ,rust-num-0.4) - ("rust-thiserror" ,rust-thiserror-1)))) + ("rust-thiserror" ,rust-thiserror-1)))))) + +(define-public rust-polars-core-0.15 + (package + (name "rust-polars-core") + (version "0.15.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0vzyyqg0s6h3k77z7nkmqrrgnp7nbi7sh5nmlw1ggrlml9ps0aa9")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ahash" ,rust-ahash-0.7) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-arrow" ,rust-arrow-5) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-comfy-table" ,rust-comfy-table-1) + ("rust-hashbrown" ,rust-hashbrown-0.11) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-jsonpath-lib" ,rust-jsonpath-lib-0.3) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-ndarray" ,rust-ndarray-0.15) + ("rust-num" ,rust-num-0.4) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-parquet" ,rust-parquet-5) + ("rust-polars-arrow" ,rust-polars-arrow-0.15) + ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand-distr" ,rust-rand-distr-0.3) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1)))) (home-page "https://github.com/ritchie46/polars") - (synopsis "Arrow interfaces for Polars DataFrame library") + (synopsis "Core of the Polars DataFrame library") (description - "This crate provides Arrow interfaces for Polars DataFrame library.") + "This crate provides the core of the Polars DataFrame library.") (license license:expat))) +(define-public rust-polars-core-0.14 + (package + (inherit rust-polars-core-0.15) + (name "rust-polars-core") + (version "0.14.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-core" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1vlzqsp0hrdixv4gyprlkmyhh7s3m2lnq9nizpm3sqhlccfdahyz")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ahash" ,rust-ahash-0.7) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-arrow" ,rust-arrow-4) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-comfy-table" ,rust-comfy-table-1) + ("rust-hashbrown" ,rust-hashbrown-0.11) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-ndarray" ,rust-ndarray-0.15) + ("rust-num" ,rust-num-0.4) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-parquet" ,rust-parquet-4) + ("rust-polars-arrow" ,rust-polars-arrow-0.14) + ("rust-prettytable-rs" ,rust-prettytable-rs-0.8) + ("rust-rand" ,rust-rand-0.7) + ("rust-rand-distr" ,rust-rand-distr-0.3) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1)))))) + (define-public rust-polars-core-0.13 (package + (inherit rust-polars-core-0.14) (name "rust-polars-core") (version "0.13.4") (source @@ -32848,7 +33720,6 @@ applications.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0pb48s1vz2kxiw54xcgcrsbhaxsyg5gb6dbqzkq0gia80y2iwml8")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -32872,15 +33743,85 @@ applications.") ("rust-regex" ,rust-regex-1) ("rust-serde-json" ,rust-serde-json-1) ("rust-thiserror" ,rust-thiserror-1) - ("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1)))) + ("rust-unsafe-unwrap" ,rust-unsafe-unwrap-0.1)))))) + +(define-public rust-polars-io-0.15 + (package + (name "rust-polars-io") + (version "0.15.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-io" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "19r2l3rxjdk25ir93l85ap4q0w5p7apjw3g57pszxph9nh2j8ba2")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ahash" ,rust-ahash-0.7) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-arrow" ,rust-arrow-5) + ("rust-csv-core" ,rust-csv-core-0.1) + ("rust-dirs" ,rust-dirs-3) + ("rust-fast-float" ,rust-fast-float-0.2) + ("rust-flate2" ,rust-flate2-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lexical" ,rust-lexical-5) + ("rust-memmap2" ,rust-memmap2-0.2) + ("rust-num" ,rust-num-0.4) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-parquet" ,rust-parquet-5) + ("rust-polars-arrow" ,rust-polars-arrow-0.15) + ("rust-polars-core" ,rust-polars-core-0.15) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-simdutf8" ,rust-simdutf8-0.1)))) (home-page "https://github.com/ritchie46/polars") - (synopsis "Core of the Polars DataFrame library") + (synopsis "IO related logic for the Polars DataFrame library") (description - "This crate provides the core of the Polars DataFrame library.") + "This crate provides IO related logic for the Polars DataFrame library.") (license license:expat))) +(define-public rust-polars-io-0.14 + (package + (inherit rust-polars-io-0.15) + (name "rust-polars-io") + (version "0.14.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-io" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0fha62dln5xv2sa38jrfmd7amj9557y66dy8v44gn9j896mqm6fd")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ahash" ,rust-ahash-0.7) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-arrow" ,rust-arrow-4) + ("rust-csv" ,rust-csv-1) + ("rust-csv-core" ,rust-csv-core-0.1) + ("rust-dirs" ,rust-dirs-3) + ("rust-fast-float" ,rust-fast-float-0.2) + ("rust-flate2" ,rust-flate2-1) + ("rust-lazy-static" ,rust-lazy-static-1) + ("rust-lexical" ,rust-lexical-5) + ("rust-memmap2" ,rust-memmap2-0.2) + ("rust-num" ,rust-num-0.4) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-parquet" ,rust-parquet-4) + ("rust-polars-arrow" ,rust-polars-arrow-0.14) + ("rust-polars-core" ,rust-polars-core-0.14) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) + ("rust-simdutf8" ,rust-simdutf8-0.1)))))) + (define-public rust-polars-io-0.13 (package + (inherit rust-polars-io-0.14) (name "rust-polars-io") (version "0.13.4") (source @@ -32890,7 +33831,6 @@ applications.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1iwbr5i1qy5f54ifhvxr8h9jr023jfj0mai5hy1lccszxh88hf17")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -32909,15 +33849,62 @@ applications.") ("rust-polars-arrow" ,rust-polars-arrow-0.13) ("rust-polars-core" ,rust-polars-core-0.13) ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1)))))) + +(define-public rust-polars-lazy-0.15 + (package + (name "rust-polars-lazy") + (version "0.15.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-lazy" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0xh3a0gjsisx62zwjmawxg9giin7bwmh7z7y4cc2d3ygy8nk19jh")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ahash" ,rust-ahash-0.7) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-polars-arrow" ,rust-polars-arrow-0.15) + ("rust-polars-core" ,rust-polars-core-0.15) + ("rust-polars-io" ,rust-polars-io-0.15) + ("rust-rayon" ,rust-rayon-1) ("rust-regex" ,rust-regex-1)))) (home-page "https://github.com/ritchie46/polars") - (synopsis "IO related logic for the Polars DataFrame library") + (synopsis "Lazy query engine for the Polars DataFrame library") (description - "This crate provides IO related logic for the Polars DataFrame library.") + "This crate provides a lazy query engine for the Polars DataFrame +library.") (license license:expat))) +(define-public rust-polars-lazy-0.14 + (package + (inherit rust-polars-lazy-0.15) + (name "rust-polars-lazy") + (version "0.14.8") + (source + (origin + (method url-fetch) + (uri (crate-uri "polars-lazy" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "07gir4r7ifc9przvd8acd09g225si2z2lpczmmv8jdqyrz8vd5k5")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ahash" ,rust-ahash-0.7) + ("rust-itertools" ,rust-itertools-0.10) + ("rust-polars-arrow" ,rust-polars-arrow-0.14) + ("rust-polars-core" ,rust-polars-core-0.14) + ("rust-polars-io" ,rust-polars-io-0.14) + ("rust-rayon" ,rust-rayon-1)))))) + (define-public rust-polars-lazy-0.13 (package + (inherit rust-polars-lazy-0.14) (name "rust-polars-lazy") (version "0.13.4") (source @@ -32927,7 +33914,6 @@ applications.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0z5dqz9fk23i10flq4lw8a3qb6638kwxcmka1dyxpabh94l86zqf")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -32936,13 +33922,7 @@ applications.") ("rust-polars-arrow" ,rust-polars-arrow-0.13) ("rust-polars-core" ,rust-polars-core-0.13) ("rust-polars-io" ,rust-polars-io-0.13) - ("rust-rayon" ,rust-rayon-1)))) - (home-page "https://github.com/ritchie46/polars") - (synopsis "Lazy query engine for the Polars DataFrame library") - (description - "This crate provides a lazy query engine for the Polars DataFrame -library.") - (license license:expat))) + ("rust-rayon" ,rust-rayon-1)))))) (define-public rust-polling-2 (package @@ -33075,8 +34055,7 @@ UDP.") "1hnid1d78zrr8ph12lpvp5b2cpx2fsqqgqs2yn1q23c6g7jix1y7")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.46 ; or later - #:tests? #f ; tests require postgres server. + `(#:tests? #f ; tests require postgres server. #:cargo-inputs (("rust-bytes" ,rust-bytes-1) ("rust-fallible-iterator" ,rust-fallible-iterator-0.2) @@ -33524,27 +34503,26 @@ functions.") particularly useful for printing structured recursive data like trees.") (license license:expat))) -(define-public rust-pretty-assertions-0.6 +(define-public rust-pretty-assertions-0.7 (package (name "rust-pretty-assertions") - (version "0.6.1") + (version "0.7.2") (source - (origin - (method url-fetch) - (uri (crate-uri "pretty_assertions" version)) - (file-name - (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z")))) + (origin + (method url-fetch) + (uri (crate-uri "pretty_assertions" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "12yris0ni87wvzhj23a5nnz7amskvahhnpikx5snhdyg09y0xaqw")))) (build-system cargo-build-system) (arguments - `(#:skip-build? #t - #:cargo-inputs - (("rust-ctor" ,rust-ctor-0.1) - ("rust-output-vt100" ,rust-output-vt100-0.1) - ("rust-ansi-term" ,rust-ansi-term-0.11) - ("rust-difference" ,rust-difference-2)))) + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-ctor" ,rust-ctor-0.1) + ("rust-diff" ,rust-diff-0.1) + ("rust-output-vt100" ,rust-output-vt100-0.1)))) (home-page "https://github.com/colin-kiegel/rust-pretty-assertions") (synopsis "Drop-in replacements for assert_eq! and assert_ne!") (description @@ -33552,6 +34530,28 @@ particularly useful for printing structured recursive data like trees.") replacements, adding colorful diffs.") (license (list license:expat license:asl2.0)))) +(define-public rust-pretty-assertions-0.6 + (package + (inherit rust-pretty-assertions-0.7) + (name "rust-pretty-assertions") + (version "0.6.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pretty_assertions" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "09yl14gnmpygiqrdlsa64lcl4w6ydjl9m8jri6kgam0v9rjf309z")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-ctor" ,rust-ctor-0.1) + ("rust-output-vt100" ,rust-output-vt100-0.1) + ("rust-ansi-term" ,rust-ansi-term-0.11) + ("rust-difference" ,rust-difference-2)))))) + (define-public rust-pretty-assertions-0.4 (package (inherit rust-pretty-assertions-0.6) @@ -34617,6 +35617,27 @@ they were parsed from") implementation.") (license (list license:expat license:asl2.0)))) +(define-public rust-quick-csv-0.1 + (package + (name "rust-quick-csv") + (version "0.1.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "quick-csv" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "131k8zzlplk2h62wz813jbvm0sk7v3mixwhhq34y9lmp3mqbgx7d")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rustc-serialize" ,rust-rustc-serialize-0.3)))) + (home-page "https://github.com/tafia/quick-csv") + (synopsis "Quick csv reader and decoder") + (description "This package provides a quick csv reader and decoder in Rust.") + (license license:expat))) + (define-public rust-quick-error-1 (package (name "rust-quick-error") @@ -36391,6 +37412,27 @@ owned memory.") functionality.") (license license:expat))) +(define-public rust-reduce-0.1 + (package + (name "rust-reduce") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "reduce" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1mrmicr43hx3s9556zbzg0lys4nmsw0vwznd52imxhcanr3xrlhn")))) + (build-system cargo-build-system) + (home-page "https://github.com/dtolnay/reduce") + (synopsis "Fold an iterator without an initial value") + (description + "This package provides a way to fold an iterator without a separate +initial value.") + (license (list license:expat license:asl2.0)))) + (define-public rust-ref-cast-1 (package (name "rust-ref-cast") @@ -37653,6 +38695,33 @@ rust.") (base32 "1b6vjfwvpcgy0q8ywywz548vhxrmhbz2sm6xyhnmj5p5xd1xfqff")))))) +(define-public rust-rstest-0.10 + (package + (name "rust-rstest") + (version "0.10.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rstest" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1bwhy92fsqc05y8x9iyyq9sykinh0gxnl25zpdca3xhl5hhb06q4")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-rustc-version" ,rust-rustc-version-0.3) + ("rust-syn" ,rust-syn-1)))) + (home-page "https://github.com/la10736/rstest") + (synopsis "Rust fixture based test framework") + (description + "rstest uses procedural macros to help you on writing fixtures and +table-based tests.") + (license (list license:expat license:asl2.0)))) + (define-public rust-rpassword-5 (package (name "rust-rpassword") @@ -38124,8 +39193,7 @@ password hashing function.") "10k58hf367626d4akl7ifyk5qwqphfs5x6z1yay22pkyc6w7q4h1")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.46 ; or later - #:tests? #f ; not all test files included. + `(#:tests? #f ; not all test files included. #:cargo-inputs (("rust-arbitrary" ,rust-arbitrary-1) ("rust-arrayvec" ,rust-arrayvec-0.5) @@ -39570,17 +40638,17 @@ sub-processes using a fork-like interface.") ("rust-tempfile" ,rust-tempfile-3) ("rust-wait-timeout" ,rust-wait-timeout-0.2)))))) -(define-public rust-rustyline-8 +(define-public rust-rustyline-9 (package (name "rust-rustyline") - (version "8.2.0") + (version "9.0.0") (source (origin (method url-fetch) (uri (crate-uri "rustyline" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0x0qwcbnq6zyayxv1xqqn0zbwlz878jra0sgiv4pd3vklzvymm7v")))) + (base32 "1mj0cgdyw6gaadsg7yxsnb9n4bdl91qga9kiwyd4hqqsi31qf13r")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -39589,12 +40657,13 @@ sub-processes using a fork-like interface.") ("rust-cfg-if" ,rust-cfg-if-1) ("rust-clipboard-win" ,rust-clipboard-win-4) ("rust-dirs-next" ,rust-dirs-next-2) - ("rust-fd-lock" ,rust-fd-lock-2) + ("rust-fd-lock" ,rust-fd-lock-3) ("rust-libc" ,rust-libc-0.2) ("rust-log" ,rust-log-0.4) ("rust-memchr" ,rust-memchr-2) - ("rust-nix" ,rust-nix-0.20) + ("rust-nix" ,rust-nix-0.22) ("rust-radix-trie" ,rust-radix-trie-0.2) + ("rust-regex" ,rust-regex-1) ("rust-scopeguard" ,rust-scopeguard-1) ("rust-smallvec" ,rust-smallvec-1) ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) @@ -39608,6 +40677,39 @@ sub-processes using a fork-like interface.") "Rustyline is a readline implementation based on the linenoise package.") (license license:expat))) +(define-public rust-rustyline-8 + (package + (inherit rust-rustyline-9) + (name "rust-rustyline") + (version "8.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustyline" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0x0qwcbnq6zyayxv1xqqn0zbwlz878jra0sgiv4pd3vklzvymm7v")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cfg-if" ,rust-cfg-if-1) + ("rust-clipboard-win" ,rust-clipboard-win-4) + ("rust-dirs-next" ,rust-dirs-next-2) + ("rust-fd-lock" ,rust-fd-lock-2) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-memchr" ,rust-memchr-2) + ("rust-nix" ,rust-nix-0.20) + ("rust-radix-trie" ,rust-radix-trie-0.2) + ("rust-scopeguard" ,rust-scopeguard-1) + ("rust-smallvec" ,rust-smallvec-1) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-utf8parse" ,rust-utf8parse-0.2) + ("rust-winapi" ,rust-winapi-0.3) + ("skim" ,skim)))))) + (define-public rust-rustyline-7 (package (inherit rust-rustyline-8) @@ -39673,6 +40775,36 @@ sub-processes using a fork-like interface.") ("rust-rustyline-derive" ,rust-rustyline-derive-0.3) ("rust-tempfile" ,rust-tempfile-3)))))) +(define-public rust-rustyline-5 + (package + (inherit rust-rustyline-6) + (name "rust-rustyline") + (version "5.0.6") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustyline" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0dd6hwm3rqj8d17gf38ffs1lh3b8dqw45j5kxnvazmm80abv2g52")))) + (arguments + `(#:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-0.1) + ("rust-dirs" ,rust-dirs-2) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-memchr" ,rust-memchr-2) + ("rust-nix" ,rust-nix-0.14) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-unicode-width" ,rust-unicode-width-0.1) + ("rust-utf8parse" ,rust-utf8parse-0.1) + ("rust-winapi" ,rust-winapi-0.3)) + #:cargo-development-inputs + (("rust-assert-matches" ,rust-assert-matches-1) + ("rust-env-logger" ,rust-env-logger-0.7) + ("rust-rustyline-derive" ,rust-rustyline-derive-0.2) + ("rust-tempdir" ,rust-tempdir-0.3)))))) + (define-public rust-rustyline-derive-0.3 (package (name "rust-rustyline-derive") @@ -39696,6 +40828,21 @@ sub-processes using a fork-like interface.") (description "This package provides Rustyline macros implementation in Rust.") (license license:expat))) +(define-public rust-rustyline-derive-0.2 + (package + (inherit rust-rustyline-derive-0.3) + (name "rust-rustyline-derive") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "rustyline-derive" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n3iw9kaq70dw1rvvma0gjwydbj0f2mvvqvrva69f5cl6yv1dnd0")))))) + (define-public rust-ryu-1 (package (name "rust-ryu") @@ -39723,8 +40870,54 @@ sub-processes using a fork-like interface.") quickly convert floating point numbers to decimal strings.") (license (list license:asl2.0 license:boost1.0)))) +(define-public rust-s3handler-0.7 + (package + (name "rust-s3handler") + (version "0.7.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "s3handler" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "13m2l9m4a1mkmwvzasqsby8gls9mrihalf5gnc6scrbdqkycrnqa")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-async-trait" ,rust-async-trait-0.1) + ("rust-base64" ,rust-base64-0.13) + ("rust-bytes" ,rust-bytes-1) + ("rust-chrono" ,rust-chrono-0.4) + ("rust-dyn-clone" ,rust-dyn-clone-1) + ("rust-failure" ,rust-failure-0.1) + ("rust-failure-derive" ,rust-failure-derive-0.1) + ("rust-futures" ,rust-futures-0.3) + ("rust-hmac" ,rust-hmac-0.4) + ("rust-hmac-sha1" ,rust-hmac-sha1-0.1) + ("rust-log" ,rust-log-0.4) + ("rust-md5" ,rust-md5-0.7) + ("rust-mime-guess" ,rust-mime-guess-2) + ("rust-quick-xml" ,rust-quick-xml-0.22) + ("rust-regex" ,rust-regex-1) + ("rust-reqwest" ,rust-reqwest-0.11) + ("rust-rust-crypto" ,rust-rust-crypto-0.2) + ("rust-rustc-serialize" ,rust-rustc-serialize-0.3) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sha2" ,rust-sha2-0.6) + ("rust-tokio" ,rust-tokio-1) + ("rust-url" ,rust-url-2)))) + (home-page "https://crates.io/crates/s3handler") + (synopsis "Library for S3 Rich Support client (S3RS)") + (description + "This package is a s3 handler for S3 Rich Support client (S3RS).") + (license license:expat))) + (define-public rust-s3handler-0.6 (package + (inherit rust-s3handler-0.7) (name "rust-s3handler") (version "0.6.6") (source @@ -39734,7 +40927,6 @@ quickly convert floating point numbers to decimal strings.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0zridmnz9l3mr0crma95a3jqi961g034agx43a5yh4pgvv2q6mzq")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -39764,12 +40956,7 @@ quickly convert floating point numbers to decimal strings.") ("rust-serde-json" ,rust-serde-json-1) ("rust-sha2" ,rust-sha2-0.6) ("rust-tokio" ,rust-tokio-0.2) - ("rust-url" ,rust-url-2)))) - (home-page "https://crates.io/crates/s3handler") - (synopsis "Library for S3 Rich Support client (S3RS)") - (description "This package is a s3 handler for S3 Rich Support -client (S3RS).") - (license license:expat))) + ("rust-url" ,rust-url-2)))))) (define-public rust-s3handler-0.5 (package @@ -40469,6 +41656,28 @@ Pwrite traits from the scroll crate.") proven statistical guarantees.") (license license:expat))) +(define-public rust-seccomp-sys-0.1 + (package + (name "rust-seccomp-sys") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "seccomp-sys" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1rkbiq1vd5d3cc4w5ql05pj1vbjqfi7zir02szwfm2khl15zgg75")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (inputs `(("libseccomp" ,libseccomp))) + (home-page "https://github.com/polachok/seccomp-sys") + (synopsis "Low-level bindings to libseccomp") + (description "This package provides low-level bindings to libseccomp.") + (license license:lgpl2.1))) + (define-public rust-section-testing-0.0 (package (name "rust-section-testing") @@ -42317,7 +43526,8 @@ functionality and without weak references.") (base32 "0p09zfhd27z6yr5in07gfjcx345010rw51ivlcf14364x3hv2c6c")))) (arguments - `(#:cargo-development-inputs + `(#:tests? #f ; Tests require openssl-1.0 + #:cargo-development-inputs (("rust-openssl" ,rust-openssl-0.7) ("rust-rand" ,rust-rand-0.3)) #:phases @@ -42326,9 +43536,7 @@ functionality and without weak references.") (lambda _ (substitute* "Cargo.toml" ((", path =.*}") "}")) - #t))))) - (inputs - `(("openssl" ,openssl-1.0))))) ; for openssl-sys-extras + #t))))))) (define-public rust-sha1-asm-0.4 (package @@ -42563,17 +43771,18 @@ functions core functionality.") picking compatible shaders.") (license license:expat))) -(define-public rust-shadow-rs-0.5 +(define-public rust-shadow-rs-0.6 (package (name "rust-shadow-rs") - (version "0.5.24") + (version "0.6.2") (source (origin (method url-fetch) (uri (crate-uri "shadow-rs" version)) - (file-name (string-append name "-" version ".tar.gz")) + (file-name + (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1qldaq7z09s6v0qp2yfhkrhvwprnjr4my6ngmidl2xj1v0ql9ln2")))) + (base32 "0sps996yhchz43zfk9zysjpirz638s1hbhspp998bk6v9l6k7j10")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -42588,6 +43797,24 @@ and environment at run time. You can use this tool to check in production exactly where a binary came from and how it was built.") (license (list license:expat license:asl2.0)))) +(define-public rust-shadow-rs-0.5 + (package + (inherit rust-shadow-rs-0.6) + (name "rust-shadow-rs") + (version "0.5.24") + (source + (origin + (method url-fetch) + (uri (crate-uri "shadow-rs" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1qldaq7z09s6v0qp2yfhkrhvwprnjr4my6ngmidl2xj1v0ql9ln2")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-chrono" ,rust-chrono-0.4) + ("rust-git2" ,rust-git2-0.13)))))) + (define-public rust-sharded-slab-0.1 (package (name "rust-sharded-slab") @@ -43041,6 +44268,26 @@ CPUs, as well as raw interfaces to platform-specific instructions. "This package provides helpers to write more compact simd code.") (license license:expat))) +(define-public rust-simdutf8-0.1 + (package + (name "rust-simdutf8") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (crate-uri "simdutf8" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0nama0xqzbl8x72fqd8nhgvwjhg2vqj0gkv1la8gm0n6wwbdlw69")))) + (build-system cargo-build-system) + (arguments `(#:skip-build? #t)) + (home-page "https://github.com/rusticstuff/simdutf8") + (synopsis "SIMD-accelerated UTF-8 validation") + (description + "simdutf8 is a fast API-compatible UTF-8 validation for Rust using SIMD +extensions.") + (license (list license:expat license:asl2.0)))) + (define-public rust-similar-1 (package (name "rust-similar") @@ -43827,8 +45074,7 @@ algorithm. Includes streaming compression and decompression.") "18ny6m1gnf6cwp5ax0b5hr36w6yg16z7faj76b31aq2jghhgqgcy")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.46 ; or later - #:cargo-inputs + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://github.com/rust-lang/socket2") @@ -45089,6 +46335,24 @@ struct.") easier in Rust.") (license license:expat))) +(define-public rust-strum-0.19 + (package + (inherit rust-strum-0.20) + (name "rust-strum") + (version "0.19.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "strum" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1d8i5xwkc2z7z02ibln80z1bmpjhpi9k5ckpljwj0mrvgrm2i6mq")))) + (build-system cargo-build-system) + (arguments + `(#:tests? #f + #:cargo-inputs + (("rust-strum-macros" ,rust-strum-macros-0.19)))))) + (define-public rust-strum-0.18 (package (inherit rust-strum-0.20) @@ -45130,6 +46394,28 @@ easier in Rust.") "This crate provides helpful macros for working with enums and strings.") (license license:expat))) +(define-public rust-strum-macros-0.19 + (package + (inherit rust-strum-macros-0.20) + (name "rust-strum-macros") + (version "0.19.4") + (source + (origin + (method url-fetch) + (uri (crate-uri "strum_macros" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1mgqs5x3g0d3bmr8dhalgqrzh29dwc90a06fpy0cnich52zb06z6")))) + (arguments + `(#:cargo-inputs + (("rust-heck" ,rust-heck-0.3) + ("rust-proc-macro2" ,rust-proc-macro2-1) + ("rust-quote" ,rust-quote-1) + ("rust-syn" ,rust-syn-1)) + #:cargo-development-inputs + (("rust-strum" ,rust-strum-0.19)))))) + (define-public rust-strum-macros-0.18 (package (inherit rust-strum-macros-0.20) @@ -45187,6 +46473,30 @@ cryptographic implementations.") (base32 "1vm80mxbwfj334izwm8x8l65v1xl9hr0kwrg36r1rq565fkaarrd")))))) +(define-public rust-succinct-0.5 + (package + (name "rust-succinct") + (version "0.5.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "succinct" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0654c9gq50x7djyf25zbzz3d2pc4x3z21wmjj3qbr6d9h4hbd63p")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-byteorder" ,rust-byteorder-1) + ("rust-num-traits" ,rust-num-traits-0.2)) + #:cargo-development-inputs + (("rust-quickcheck" ,rust-quickcheck-0.9)))) + (home-page "https://github.com/tov/succinct-rs") + (synopsis "Succinct data structures for Rust") + (description "This package provides succinct data structures for Rust.") + (license (list license:expat license:asl2.0)))) + (define-public rust-surf-2 (package (name "rust-surf") @@ -46005,6 +47315,33 @@ system or application with the relevant platform APIs. The library is also no_std compatible by default, only relying on alloc.") (license (list license:expat license:asl2.0)))) +(define-public rust-syscallz-0.15 + (package + (name "rust-syscallz") + (version "0.15.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "syscallz" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0z5yfgb6086gdvbrm8lm0i745j6d8qw653xxy3mlrzdcjk3j1skz")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-log" ,rust-log-0.4) + ("rust-pkg-config" ,rust-pkg-config-0.3) + ("rust-seccomp-sys" ,rust-seccomp-sys-0.1) + ("rust-strum" ,rust-strum-0.19) + ("rust-strum-macros" ,rust-strum-macros-0.19)))) + (inputs `(("libseccomp" ,libseccomp))) + (home-page "https://github.com/kpcyrd/syscallz-rs") + (synopsis "Simple seccomp library for rust") + (description "Simple seccomp library for rust") + (license (list license:expat license:asl2.0)))) + (define-public rust-sysctl-0.4 (package (name "rust-sysctl") @@ -46054,8 +47391,41 @@ no_std compatible by default, only relying on alloc.") ("rust-errno" ,rust-errno-0.2) ("rust-libc" ,rust-libc-0.2)))))) +(define-public rust-sysinfo-0.18 + (package + (name "rust-sysinfo") + (version "0.18.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "sysinfo" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "0zd974yydc4yszxgx9hiqm5ah2rqnsgyq3qrl7raf90scpxaw16l")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-cfg-if" ,rust-cfg-if-1) + ("rust-core-foundation-sys" ,rust-core-foundation-sys-0.8) + ("rust-doc-comment" ,rust-doc-comment-0.3) + ("rust-libc" ,rust-libc-0.2) + ("rust-ntapi" ,rust-ntapi-0.3) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rayon" ,rust-rayon-1) + ("rust-winapi" ,rust-winapi-0.3)))) + (home-page "https://github.com/GuillaumeGomez/sysinfo") + (synopsis "System handler to interact with processes") + (description + "This package is a library to get system information such as processes, +processors, disks, components and networks.") + (license license:expat))) + (define-public rust-sysinfo-0.16 (package + (inherit rust-sysinfo-0.18) (name "rust-sysinfo") (version "0.16.5") (source @@ -46065,7 +47435,6 @@ no_std compatible by default, only relying on alloc.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "06x5kvd4glq35jjy23xj8p7nd64dk8g4kc0v9qdfhyr0y0792zjn")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs @@ -46076,13 +47445,7 @@ no_std compatible by default, only relying on alloc.") ("rust-ntapi" ,rust-ntapi-0.3) ("rust-once-cell" ,rust-once-cell-1) ("rust-rayon" ,rust-rayon-1) - ("rust-winapi" ,rust-winapi-0.3)))) - (home-page "https://github.com/GuillaumeGomez/sysinfo") - (synopsis "System handler to interact with processes") - (description - "This package is a library to get system information such as processes, -processors, disks, components and networks.") - (license license:expat))) + ("rust-winapi" ,rust-winapi-0.3)))))) (define-public rust-syslog-4 (package @@ -47699,7 +49062,7 @@ handle Unicode characters correctly.") (define-public rust-thiserror-1 (package (name "rust-thiserror") - (version "1.0.25") + (version "1.0.26") (source (origin (method url-fetch) @@ -47708,7 +49071,7 @@ handle Unicode characters correctly.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ip9j8riar3xffp261yls4phpasz768xhnafxdz4qlargx2pcvzs")))) + "1qmz542pq4wmz3p0s4kavsqv09h0x99klkf3k33ydjy1x97rw4ck")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -47727,7 +49090,7 @@ handle Unicode characters correctly.") (define-public rust-thiserror-impl-1 (package (name "rust-thiserror-impl") - (version "1.0.25") + (version "1.0.26") (source (origin (method url-fetch) @@ -47736,7 +49099,7 @@ handle Unicode characters correctly.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "139i3bxidyncjd1sphkn4c577nkba8lzmphhr9gb26xz1y67cdla")))) + "0ia72qiynlws5avb8f1xqlazp4g6bqgzjbwy5vs6nyg7myh6j386")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -47853,6 +49216,31 @@ different for every thread.") `(#:cargo-inputs (("rust-thread-id" ,rust-thread-id-2)))))) +(define-public rust-thread-tree-0.3 + (package + (name "rust-thread-tree") + (version "0.3.2") + (source + (origin + (method url-fetch) + (uri (crate-uri "thread-tree" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "0mqsmabyf4vd18ci1xxwdyd77xv3b1dc24qx52ywq3nwch4125fx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-crossbeam-channel" ,rust-crossbeam-channel-0.5)))) + (home-page "https://github.com/bluss/thread-tree") + (synopsis "Tree-structured thread pool") + (description + "This package provides a tree-structured thread pool for splitting jobs +hierarchically on worker threads. The tree structure means that there is no +contention between workers when delivering jobs.") + (license (list license:expat license:asl2.0)))) + (define-public rust-threadpool-1 (package (name "rust-threadpool") @@ -49127,8 +50515,7 @@ OpenSSL.") "12rb390i3af7zb0z2idhaf6l2m6snypwdiwjw84rmyz4qy1i6ard")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.46 - #:tests? #f ;require postgresql + `(#:tests? #f ;require postgresql #:cargo-inputs (("rust-async-trait" ,rust-async-trait-0.1) ("rust-byteorder" ,rust-byteorder-1) @@ -51625,24 +53012,24 @@ the Trust-DNS client to use rustls for TLS.") parser.") (license (list license:expat license:asl2.0)))) -(define-public rust-tui-0.14 +(define-public rust-tui-0.15 (package (name "rust-tui") - (version "0.14.0") + (version "0.15.0") (source (origin (method url-fetch) (uri (crate-uri "tui" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1jfxic8kik3lc9qv541wm327mh958l3m9hmdd2qsb5cjiqm1bvcw")))) + (base32 "0w9azg9zj1nnwcwbra9pxrwy47ab0m2bhanbkchydv8lscx8y7c6")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bitflags" ,rust-bitflags-1) ("rust-cassowary" ,rust-cassowary-0.3) - ("rust-crossterm" ,rust-crossterm-0.18) + ("rust-crossterm" ,rust-crossterm-0.19) ("rust-easycurses" ,rust-easycurses-0.12) ("rust-pancurses" ,rust-pancurses-0.16) ("rust-rustbox" ,rust-rustbox-0.11) @@ -51657,6 +53044,32 @@ parser.") or dashboards.") (license license:expat))) +(define-public rust-tui-0.14 + (package + (inherit rust-tui-0.15) + (name "rust-tui") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "tui" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1jfxic8kik3lc9qv541wm327mh958l3m9hmdd2qsb5cjiqm1bvcw")))) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bitflags" ,rust-bitflags-1) + ("rust-cassowary" ,rust-cassowary-0.3) + ("rust-crossterm" ,rust-crossterm-0.18) + ("rust-easycurses" ,rust-easycurses-0.12) + ("rust-pancurses" ,rust-pancurses-0.16) + ("rust-rustbox" ,rust-rustbox-0.11) + ("rust-serde" ,rust-serde-1) + ("rust-termion" ,rust-termion-1) + ("rust-unicode-segmentation" ,rust-unicode-segmentation-1) + ("rust-unicode-width" ,rust-unicode-width-0.1)))))) + (define-public rust-tuikit-0.4 (package (name "rust-tuikit") @@ -52389,7 +53802,7 @@ described in Unicode Standard Annex #15.") (define-public rust-unicode-segmentation-1 (package (name "rust-unicode-segmentation") - (version "1.7.1") + (version "1.8.0") (source (origin (method url-fetch) @@ -52397,12 +53810,11 @@ described in Unicode Standard Annex #15.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "15n736z0pbj30pj44jb9s9rjavzrmx8v8pzdgsl5yfmfwrxjw3dv")))) + (base32 "0nrqfgxkh00wb5dhl0874z20789i2yjimp6ndgh4ay4yjjd895c8")))) (build-system cargo-build-system) (arguments `(#:cargo-development-inputs - (("rust-bencher" ,rust-bencher-0.1) + (("rust-criterion" ,rust-criterion-0.3) ("rust-quickcheck" ,rust-quickcheck-0.7)))) (home-page "https://github.com/unicode-rs/unicode-segmentation") (synopsis "Grapheme Cluster, Word and Sentence boundaries") @@ -54872,10 +56284,14 @@ command-line, uniformly on all platforms") (origin (method url-fetch) (uri (crate-uri "winapi-i686-pc-windows-gnu" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")))) + "1dmpa6mvcvzz16zg6d5vrfy4bxgg541wxrcip7cnshi06v38ffxc")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file (find-files "." "\\.a$")))))) (build-system cargo-build-system) (home-page "https://github.com/retep998/winapi-rs") (synopsis "Import libraries for the i686-pc-windows-gnu target") @@ -54916,10 +56332,14 @@ winapi.") (origin (method url-fetch) (uri (crate-uri "winapi-x86_64-pc-windows-gnu" version)) - (file-name (string-append name "-" version ".crate")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")))) + "0gqq64czqb64kskjryj8isp62m2sgvx25yyj3kpc2myh85w24bki")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file (find-files "." "\\.a$")))))) (build-system cargo-build-system) (home-page "https://github.com/retep998/winapi-rs") (synopsis "Import libraries for the x86_64-pc-windows-gnu target") @@ -55069,7 +56489,8 @@ trust these primitives.") (base32 "0sdxcyvda4v1v6a0k1j2v1400z3ng323k9a56gxvkq51x21dn801")))) (arguments - `(#:cargo-inputs + `(#:skip-build? #t + #:cargo-inputs (("rust-chrono" ,rust-chrono-0.4) ("rust-serde" ,rust-serde-1) ("rust-winapi" ,rust-winapi-0.3)) @@ -55221,6 +56642,29 @@ serialization.") "Contains function definitions for the Windows API library ws2_32.") (license license:expat))) +(define-public rust-wyhash-0.5 + (package + (name "rust-wyhash") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "wyhash" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "15f26hvx6nyp4d6iswha7rm3psidxa2k2iab1f1aqgsyq9iy3xms")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-rand-core" ,rust-rand-core-0.6)))) + (home-page "https://github.com/eldruin/wyhash-rs") + (synopsis "Rust implementation of the WyHash algorithm") + (description + "This package provides a Rust implementation of the WyHash fast portable +non-cryptographic hashing algorithm and random number generator.") + (license (list license:expat license:asl2.0)))) + (define-public rust-wyz-0.2 (package (name "rust-wyz") @@ -55796,8 +57240,33 @@ implementation that works everywhere, even WASM!") "This package provides a library for parsing compiled zoneinfo files.") (license license:expat))) +(define-public rust-zstd-0.9 + (package + (name "rust-zstd") + (version "0.9.0+zstd.1.5.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "zstd" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k9caa048d8x9asksjaf62xkpv0m1wsmw94h29k3csybq9frlx07")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-zstd-safe" ,rust-zstd-safe-4)))) + (home-page "https://github.com/gyscos/zstd-rs") + (synopsis "Binding to the zstd compression library") + (description + "This package provides a binding to the Zstd compression library.") + (license license:expat))) + (define-public rust-zstd-0.8 (package + (inherit rust-zstd-0.9) (name "rust-zstd") (version "0.8.3+zstd.1.5.0") (source @@ -55807,18 +57276,12 @@ implementation that works everywhere, even WASM!") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1gy2rc3hmqpzfkh9f5d395lhwjk8qwpll3gb73bznn2agd60k9sy")))) - (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.1) ("rust-tokio-io" ,rust-tokio-io-0.1) - ("rust-zstd-safe" ,rust-zstd-safe-4)))) - (home-page "https://github.com/gyscos/zstd-rs") - (synopsis "Binding to the zstd compression library") - (description - "This package provides a binding to the zstd compression library.") - (license license:expat))) + ("rust-zstd-safe" ,rust-zstd-safe-4)))))) (define-public rust-zstd-0.6 (package @@ -55867,7 +57330,7 @@ implementation that works everywhere, even WASM!") (define-public rust-zstd-safe-4 (package (name "rust-zstd-safe") - (version "4.1.0+zstd.1.5.0") + (version "4.1.1+zstd.1.5.0") (source (origin (method url-fetch) @@ -55875,7 +57338,7 @@ implementation that works everywhere, even WASM!") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1rssk1njcy9vz40ja0rpjyi9lbqnq2i2xx1h374s8p0qivvpa0yk")))) + (base32 "0yghr94blhnfigzsynm2km3g93886z49612y7rh07c4kqpr90769")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -55929,7 +57392,7 @@ library.") (define-public rust-zstd-sys-1 (package (name "rust-zstd-sys") - (version "1.6.0+zstd.1.5.0") + (version "1.6.1+zstd.1.5.0") (source (origin (method url-fetch) @@ -55937,8 +57400,7 @@ library.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 - "19rs3vvwlzr9v6qfmfxh43x99njmybpvysqf8xhpfhibjbcbwh91")))) + (base32 "0cra76lginz5k659rch7axg5nyms67yffygr3k7ic7a3lb3j0lb1")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -56019,6 +57481,27 @@ formatters with per-field documentation generated for each structure. "This crate provides async pipes, channels, mutexes, and more.") (license (list license:expat license:asl2.0)))) +(define-public rust-pledge-0.3 + (package + (name "rust-pledge") + (version "0.3.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "pledge" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1rgbnvl97ks25aanxm680687df6li6y8h3f5mvdw3806rwz8xcg2")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs (("rust-libc" ,rust-libc-0.2)))) + (home-page "https://github.com/i80and/pledge-rs") + (synopsis "Rust binding to OpenBSD's pledge(2) interface") + (description + "This package provides Rust bindings to OpenBSD's pledge(2) interface.") + (license license:expat))) + (define-public rust-ptree-0.3 (package (name "rust-ptree") @@ -56077,7 +57560,7 @@ configuration file and/or environment variables.") (define-public rust-svd-parser-0.9 (package (name "rust-svd-parser") - (version "0.9.0") + (version "0.10.2") (source (origin (method url-fetch) @@ -56086,18 +57569,20 @@ configuration file and/or environment variables.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1qhvdz3k76i3sfypcy8c84hhb8sqixrckba21kalzcpgy6an45ml")))) + "1fbr4m9cla6xvmrib7pad9hv29sn2d5hjbc77pz12lwzmm2pczk9")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs (("rust-anyhow" ,rust-anyhow-1) - ("rust-either" ,rust-either-1) + ("rust-once-cell" ,rust-once-cell-1) + ("rust-rayon" ,rust-rayon-1) + ("rust-regex" ,rust-regex-1) ("rust-serde" ,rust-serde-1) ("rust-thiserror" ,rust-thiserror-1) ("rust-xmltree" ,rust-xmltree-0.8)) #:cargo-development-inputs (("rust-serde-json" ,rust-serde-json-1)))) - (home-page #f) + (home-page "https://github.com/rust-embedded/svd") (synopsis "A CMSIS-SVD file parser") (description "This package provides a CMSIS-SVD file parser") @@ -56357,10 +57842,39 @@ variant of this library is available separately as @code{im}.") (define-public rust-skim-0.7 (deprecated-package "rust-skim-0.7" skim-0.7)) +(define-public rust-clap-conf-0.1 + (package + (name "rust-clap-conf") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "clap_conf" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1n29wr6ns660hi63mc30zvs7dhidaycw35am9spzknsal3nrs0sn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-anyhow" ,rust-anyhow-1) + ("rust-clap" ,rust-clap-2) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1) + ("rust-toml" ,rust-toml-0.5)))) + (home-page + "https://github.com/storyfeet/clap_conf") + (synopsis + "A library to unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources") + (description + "This package provides a library to unify commandline arguments with config files and environment variables. And make it easier for users to tell your program how to behave across the three main input sources") + (license license:expat))) + (define-public svd2rust (package (name "svd2rust") - (version "0.17.0") + (version "0.19.0") (source (origin (method url-fetch) @@ -56369,20 +57883,22 @@ variant of this library is available separately as @code{im}.") (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0850pn92a5pmrlavdsm4s9wgrgx9gz0vylf9i594nj8sixmddjd9")))) + "0q8slfgjfhpljzlk2myb0i538mfq99q1ljn398jm17r1q2pjjxhv")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs - (("rust-cast" ,rust-cast-0.2) + (("rust-anyhow" ,rust-anyhow-1) + ("rust-cast" ,rust-cast-0.2) ("rust-clap" ,rust-clap-2) + ("rust-clap-conf" ,rust-clap-conf-0.1) ("rust-env-logger" ,rust-env-logger-0.7) - ("rust-error-chain" ,rust-error-chain-0.12) ("rust-inflections" ,rust-inflections-1) ("rust-log" ,rust-log-0.4) ("rust-proc-macro2" ,rust-proc-macro2-0.4) ("rust-quote" ,rust-quote-1) ("rust-svd-parser" ,rust-svd-parser-0.9) - ("rust-syn" ,rust-syn-1)))) + ("rust-syn" ,rust-syn-1) + ("rust-thiserror" ,rust-thiserror-1)))) (home-page #f) (synopsis "Generate Rust register maps (`struct`s) from SVD files") diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 189ca27209..174e43404a 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> ;;; Copyright © 2021 Ellis Kenyő <me@elken.dev> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,8 +47,10 @@ #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages cpp) #:use-module (gnu packages crates-io) #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages curl) #:use-module (gnu packages documentation) #:use-module (gnu packages gettext) #:use-module (gnu packages gnupg) @@ -58,6 +61,7 @@ #:use-module (gnu packages libbsd) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) + #:use-module (gnu packages logging) #:use-module (gnu packages lsof) #:use-module (gnu packages man) #:use-module (gnu packages multiprecision) @@ -399,63 +403,6 @@ secure operations. ") (license (list license:lgpl2.1+ ; the files keyutils.* license:gpl2+)))) ; the rest -;; There is no release candidate but commits point out a version number, -;; furthermore no tarball exists. -(define-public eschalot - (let ((commit "0bf31d88a11898c19b1ed25ddd2aff7b35dbac44") - (revision "1")) - (package - (name "eschalot") - (version (string-append "1.2.0-" revision "." (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/schnabear/eschalot") - (commit commit))) - (file-name (string-append name "-" version)) - (sha256 - (base32 - "0lj38ldh8vzi11wp4ghw4k0fkwp0s04zv8k8d473p1snmbh7mx98")))) - (inputs - `(("openssl" ,openssl-1.0))) ; for openssl/{bn,pem,rsa,sha}.h - (build-system gnu-build-system) - (arguments - `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "INSTALL=" "install")) - ;; XXX: make test would run a !VERY! long hashing of names with the use - ;; of a wordlist, the amount of computing time this would waste on build - ;; servers is in no relation to the size or importance of this small - ;; application, therefore we run our own tests on eschalot and worgen. - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'check - (lambda _ - (invoke "./worgen" "8-12" "top1000.txt" "3-10" "top400nouns.txt" - "3-6" "top150adjectives.txt" "3-6") - (invoke "./eschalot" "-r" "^guix|^GuixSystem") - (invoke "./eschalot" "-r" "^gnu|^free") - (invoke "./eschalot" "-r" "^cyber|^hack") - (invoke "./eschalot" "-r" "^troll"))) - ;; Make install can not create the bin dir, create it. - (add-before 'install 'create-bin-dir - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - #t)))))) - (home-page "https://github.com/schnabear/eschalot") - (synopsis "Tor hidden service name generator") - (description - "Eschalot is a tor hidden service name generator, it allows one to -produce customized vanity .onion addresses using a brute-force method. Searches -for valid names can be run with regular expressions and wordlists. For the -generation of wordlists the included tool @code{worgen} can be used. There is -no man page, refer to the home page for usage details.") - (license (list license:isc license:expat))))) - (define-public ssss (package (name "ssss") @@ -1119,7 +1066,7 @@ trivial to build for local use. Portability is emphasized over performance.") ("automake" ,automake) ("libtool" ,libtool))) ;; WARNING: This package might need additional configure flags to run properly. - ;; See https://git.archlinux.org/svntogit/community.git/tree/trunk/PKGBUILD?h=packages/libsecp256k1. + ;; See https://github.com/archlinux/svntogit-community/blob/packages/libsecp256k1/trunk/PKGBUILD. (synopsis "C library for EC operations on curve secp256k1") (description "Optimized C library for EC operations on curve secp256k1. @@ -1443,3 +1390,76 @@ them out. The process will degrade gracefully, so even people without your encryption password can safely commit changes to the repository's non-encrypted files.") (license license:expat))) + +(define-public cryfs + (package + (name "cryfs") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/cryfs/cryfs/releases/download/" + version "/cryfs-" version ".tar.xz")) + (sha256 + (base32 "0dxphbj5sssm82rkkdb71algrcki16qlpzlvrjyvvm6b7x7zi0sm")))) + (build-system cmake-build-system) + (arguments + '(#:modules ((guix build cmake-build-system) + (guix build utils) + (srfi srfi-1)) + #:configure-flags + ;; Note: This also disables checking for security issues. + `("-DCRYFS_UPDATE_CHECKS=OFF" + ;; This helps us use some dependencies from Guix instead of conan. + ;; crypto++ is still bundled: https://github.com/cryfs/cryfs/issues/369 + ;; Googletest is also since I wasn't sure how to unbundle that. + ,(string-append "-DDEPENDENCY_CONFIG=" (getcwd) + "/cmake-utils/DependenciesFromLocalSystem.cmake")) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-configure + (lambda* (#:key tests? #:allow-other-keys) + ;; Remove junk directory that breaks the build + (chdir "..") (delete-file-recursively ".circleci") + ;; Install documentation with Guix defaults. + (substitute* "doc/CMakeLists.txt" + (("CONFIGURATIONS Release") + "CONFIGURATIONS Release RelWithDebInfo")) + (when tests? + (substitute* "CMakeLists.txt" + (("option.BUILD_TESTING .build test cases. OFF.") + "option(BUILD_TESTING \"build test cases\" ON)"))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (let ((tests (find-files "." "-test$"))) + ;; XXX: Disable failing tests. Unfortunately there are a + ;; few. Some only fail in the build environment due to + ;; FUSE not being available. + (for-each invoke + (lset-difference string-contains + tests + '("cpp-utils-test" + "cryfs-cli-test" + "blobstore-test" + "fspp-test"))))) + #t))))) + (native-inputs + `(("python" ,python-wrapper) + ("pkg-config" ,pkg-config))) + (inputs + `(("boost" ,boost) + ("curl" ,curl) + ("fuse" ,fuse) + ("range-v3" ,range-v3) + ("spdlog" ,spdlog))) + (home-page "https://www.cryfs.org/") + (synopsis "Encrypted FUSE filesystem for the cloud") + (description "CryFS encrypts your files, so you can safely store them anywhere. +It works well together with cloud services like Dropbox, iCloud, OneDrive and +others. CryFS creates an encrypted userspace filesystem that can be mounted +via FUSE without root permissions. It is similar to EncFS, but provides +additional security and privacy measures such as hiding file sizes and directory +structure. However CryFS is not considered stable yet by the developers.") + (license license:lgpl3+))) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 0cec211b1b..0fa126fa53 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -502,14 +502,14 @@ should only be used as part of the Guix cups-pk-helper service.") (define-public hplip (package (name "hplip") - (version "3.21.4") + (version "3.21.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "1lsa0g8lafnmfyia0vy9x1j9q2l80xjjm7clkrawrbg53y3x7ixx")) + "1jkvbq64pxn5rg25pk13xwn5xr2bn0sa95yvh2q4ys0kv79n0cyc")) (modules '((guix build utils))) (snippet '(begin @@ -871,7 +871,7 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (define-public epson-inkjet-printer-escpr (package (name "epson-inkjet-printer-escpr") - (version "1.7.12") + (version "1.7.17") ;; XXX: This currently works. But it will break as soon as a newer ;; version is available since the URLs for older versions are not ;; preserved. An alternative source will be added as soon as @@ -879,11 +879,11 @@ HP@tie{}LaserJet, and possibly other printers. See @file{README} for details.") (source (origin (method url-fetch) - (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/87/" - "86/a97f36f9db998e7d0d25fc963568f207073b85ad/" - "epson-inkjet-printer-escpr-1.7.12-1lsb3.2.tar.gz")) + (uri (string-append "https://download3.ebz.epson.net/dsc/f/03/00/12/99/" + "78/73605b3f8aac63694fdabee6bd43389731696cd9/" + "epson-inkjet-printer-escpr-1.7.17-1lsb3.2.tar.gz")) (sha256 - (base32 "11di33dhi8s0qf8dc3gai478ji4jszy4jmi5z5gfdkxmpljdlrq2")))) + (base32 "1d7ckrl5kya98h27mx4pgnaz5sbrsd5vhwc8kva9nfah9wsga4wg")))) (build-system gnu-build-system) (arguments `(#:modules diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 60eeb8fad1..063a919700 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -12,6 +12,8 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Dale Mellor <guix-devel-0brg6b@rdmp.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +37,7 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (gnu packages) @@ -46,6 +49,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (srfi srfi-1)) @@ -146,6 +150,17 @@ tunneling, and so on.") (define-public curl-minimal (deprecated-package "curl-minimal" curl)) +(define-public curl-ssh + (package/inherit curl + (arguments + (substitute-keyword-arguments (package-arguments curl) + ((#:configure-flags flags) + `(cons "--with-libssh2" ,flags)))) + (inputs + `(("libssh2" ,libssh2) + ,@(package-inputs curl))) + (properties `((hidden? . #t))))) + (define-public kurly (package (name "kurly") @@ -300,3 +315,30 @@ user+password authentication, file transfer resume, http proxy tunneling and more!") (home-page "http://www.curlpp.org") (license license:expat))) + +(define-public h2c + (package + (name "h2c") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/curl/h2c") + (commit version))) + (sha256 + (base32 + "1n8z6avzhg3yb330di2y9zymsps1qp1235p29kidcp4fkmn7fgb2")) + (file-name (git-file-name name version)))) + (build-system copy-build-system) + (arguments + '(#:install-plan + '(("./h2c" "bin/")))) + (inputs + `(("perl" ,perl))) + (home-page "https://curl.se/h2c/") + (synopsis "Convert HTTP headers to a curl command line") + (description + "Provided a set of HTTP request headers, h2c outputs how to invoke +curl to obtain exactly that HTTP request.") + (license license:expat))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 767e31db93..bd6d458c72 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org> @@ -39,7 +39,7 @@ ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> -;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org> @@ -52,6 +52,7 @@ ;;; Copyright © 2021 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> +;;; Copyright © 2021 Alexandre Hannud Abdo <abdo@member.fsf.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,11 +89,14 @@ #:use-module (gnu packages dbm) #:use-module (gnu packages emacs) #:use-module (gnu packages flex) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) + #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages icu4c) #:use-module (gnu packages jemalloc) @@ -109,6 +113,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages pantheon) #:use-module (gnu packages parallel) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -130,6 +135,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) + #:use-module (gnu packages ssh) #:use-module (gnu packages sqlite) #:use-module (gnu packages tcl) #:use-module (gnu packages terminals) @@ -148,6 +154,7 @@ #:use-module (guix build-system emacs) #:use-module (guix build-system gnu) #:use-module (guix build-system go) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system ruby) @@ -1032,14 +1039,14 @@ and high-availability (HA).") (define-public postgresql-13 (package (name "postgresql") - (version "13.3") + (version "13.4") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "18dliq7h2l8irffhyyhdmfwx3si515q6gds3cxdjb9n7m17lbn9w")) + "1kf0gcsrl5n25rjlvkh87aywmn28kbwvakm5c7j1qpr4j01y34za")) (patches (search-patches "postgresql-disable-resolve_symlinks.patch")))) (build-system gnu-build-system) (arguments @@ -1090,38 +1097,38 @@ pictures, sounds, or video.") (package (inherit postgresql-13) (name "postgresql") - (version "11.12") + (version "11.13") (source (origin (inherit (package-source postgresql-13)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "016bacpmqxc676ipzc1l8zv1jj44mjz7dv7jhqazg3ibdfqxiyc7")))))) + "0j5wnscnxa3sx8d39s55654df8aikmvkihfb0a02hrgmyygnihx0")))))) (define-public postgresql-10 (package (inherit postgresql-11) - (version "10.17") + (version "10.18") (source (origin (inherit (package-source postgresql-11)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0v5jahkqm6gkq67s4bac3h7297bscn2ab6y128idi73cc1qq1wjs")))))) + "009qpb02bq0rx0aaw5ck70gk07xwparhfxvlfimgihw2vhp7qisp")))))) (define-public postgresql-9.6 (package (inherit postgresql-10) - (version "9.6.22") + (version "9.6.23") (source (origin (inherit (package-source postgresql-10)) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0c19kzrj5ib5ygmavf5d6qvxdwrxzzz6jz1r2dl5b815208cscix")))))) + "1fa735lrmv2vrfiixg73nh024gxlagcbrssklvgwdf0s82cgfjd8")))))) (define-public postgresql postgresql-13) @@ -1374,6 +1381,15 @@ including field and record folding."))) (delete 'configure) ;; The default target is only needed for tests and built on demand. (delete 'build) + (add-before 'check 'mount-tmp + ;; Use the provided workspace directory for test files. + ;; Otherwise, /tmp is used which is a mount namespace on /gnu/store. + ;; This speeds up the build when the host /tmp is a proper tmpfs or + ;; other fast filesystem, as opposed to /gnu which may be a HDD. + (lambda _ + (let ((test-dir (string-append (getcwd) "/../test"))) + (mkdir test-dir) + (setenv "TEST_TMPDIR" (canonicalize-path test-dir))))) (add-before 'check 'disable-optimizations (lambda _ ;; Prevent the build from passing '-march=native' to the compiler. @@ -1605,14 +1621,14 @@ changes.") (define-public tdb (package (name "tdb") - (version "1.4.3") + (version "1.4.5") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/tdb/tdb-" version ".tar.gz")) (sha256 (base32 - "06waz0k50c7v3chd08mzp2rv7w4k4q9isbxx3vhlfpx1vy9q61f8")))) + "0h8fkblws3d4vf37yhbrbw2nfxg5vk2v3i5mk04hhcbh9y4fvz5w")))) (build-system gnu-build-system) (arguments '(#:phases @@ -2466,16 +2482,16 @@ virtual address space — not physical RAM.") (define-public lmdbxx (package (name "lmdbxx") - (version "0.9.14.0") + (version "1.0.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/drycpp/lmdbxx") + (url "https://github.com/hoytech/lmdbxx") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6")))) + (base32 "12k5rz74d1l0skcks9apry1svkl96g9lf5dcgylgjmh7v1jm0b7c")))) (arguments `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) @@ -2484,7 +2500,7 @@ virtual address space — not physical RAM.") (delete 'configure)))) (build-system gnu-build-system) (inputs `(("lmdb" ,lmdb))) - (home-page "http://lmdbxx.sourceforge.net") + (home-page "https://github.com/hoytech/lmdbxx") (synopsis "C++11 wrapper for the LMDB embedded B+ tree database library") (description "@code{lmdbxx} is a comprehensive @code{C++} wrapper for the @code{LMDB} embedded database library, offering both an error-checked @@ -2920,18 +2936,20 @@ Database API 2.0T.") (define-public python-sqlalchemy (package (name "python-sqlalchemy") - (version "1.3.20") + (version "1.4.23") (source (origin (method url-fetch) (uri (pypi-uri "SQLAlchemy" version)) (sha256 - (base32 "18b9am7bsqc4nj3d2h5r93i002apczxfvpfpcqbd6f0385zmrwnj")))) + (base32 "10vm8hm8w4yfsab076ak8r4vp5v1jqdi71cky6dhha7mh5l29zvn")))) (build-system python-build-system) (native-inputs `(("python-cython" ,python-cython) ; for C extensions ("python-pytest" ,python-pytest) ("python-mock" ,python-mock))) ; for tests + (propagated-inputs + `(("python-greenlet" ,python-greenlet))) (arguments `(#:phases (modify-phases %standard-phases @@ -3066,13 +3084,13 @@ this library provides functions to facilitate such comparisons.") (define-public python-alembic (package (name "python-alembic") - (version "1.4.3") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "alembic" version)) (sha256 - (base32 "0if2dgb088clk738p26bwk50735h6jpd2kacdgc5capv2hiz6d2k")))) + (base32 "1ys0a44gh544xpbzz6r5xvz3msim74f9qklyfnw0bhn9vk9n9adf")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3084,6 +3102,7 @@ this library provides functions to facilitate such comparisons.") ("python-pytest-cov" ,python-pytest-cov))) (propagated-inputs `(("python-dateutil" ,python-dateutil) + ("python-importlib-resources" ,python-importlib-resources) ;Python < 3.9 ("python-sqlalchemy" ,python-sqlalchemy) ("python-mako" ,python-mako) ("python-editor" ,python-editor))) @@ -3094,9 +3113,6 @@ this library provides functions to facilitate such comparisons.") SQLAlchemy Database Toolkit for Python.") (license license:expat))) -(define-public python2-alembic - (package-with-python2 python-alembic)) - (define-public python-pickleshare (package (name "python-pickleshare") @@ -3138,7 +3154,7 @@ PickleShare.") (define-public python-apsw (package (name "python-apsw") - (version "3.31.1-r1") + (version "3.36.0-r1") (source (origin (method url-fetch) @@ -3146,7 +3162,7 @@ PickleShare.") "/download/" version "/apsw-" version ".zip")) (sha256 (base32 - "1gap5lr6c7bp134nzvfwr693i6d0fqyaysg3ms2cayjldv616yfx")))) + "0w8q73147hv77dlpqrx6h1gx03acc8xqhvdpfp6vkffdm0wmqd8p")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip))) @@ -3285,20 +3301,31 @@ designed to be easy and intuitive to use.") (define-public python-sadisplay (package (name "python-sadisplay") - (version "0.4.8") + (version "0.4.9") (source (origin (method url-fetch) (uri (pypi-uri "sadisplay" version)) (sha256 (base32 - "01d9lxhmgpb68gy8rd6zj6fcwp84n2qq210n1qsk3qbsir79bzh4")))) + "15jxwgla3q4xsp6rw8inqaiy1kdzc8l2cixj8amqcf0ji47icrxg")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (begin + (setenv "PYTHONPATH" + (string-append ".:" (or (getenv "PYTHONPATH") + ""))) + (invoke "pytest" "-vv")) + (format #t "test suite not run~%"))))))) (propagated-inputs `(("python-sqlalchemy" ,python-sqlalchemy))) (native-inputs ;; For tests. - `(("python-nose" ,python-nose))) + `(("python-pytest" ,python-pytest))) (home-page "https://bitbucket.org/estin/sadisplay") (synopsis "SQLAlchemy schema displayer") (description "This package provides a program to build Entity @@ -3593,13 +3620,13 @@ provides support for parsing, splitting and formatting SQL statements.") (define-public python-sql (package (name "python-sql") - (version "1.0.0") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "python-sql" version)) (sha256 - (base32 "05ni936y0ia9xmryl7mlhbj9i80nnvq1bi4zxhb96rv7yvpb3fqb")))) + (base32 "0xnimfzlxj1ddrb5xj3s4gaii278a0gpxrvwmdmrdxgjfdi3lq4x")))) (build-system python-build-system) (home-page "https://python-sql.tryton.org/") (synopsis "Library to write SQL queries in a pythonic way") @@ -3638,7 +3665,7 @@ the SQL language using a syntax that reflects the resulting query.") (define-public apache-arrow (package (name "apache-arrow") - (version "4.0.1") + (version "5.0.0") (source (origin (method git-fetch) @@ -3648,7 +3675,7 @@ the SQL language using a syntax that reflects the resulting query.") (file-name (git-file-name name version)) (sha256 (base32 - "1lcd9gdpwlrr92rm812a5p4l6zx0arwd0zj72a4ga699s1psz8yv")))) + "0275aayzy78nbxzbj93w5152sv5q2c7020ijxnf8b58v9qwfxzz0")))) (build-system cmake-build-system) (arguments `(#:tests? #f @@ -3770,13 +3797,34 @@ algorithm implementations.") (modify-phases %standard-phases (delete 'build) ; XXX the build is performed again during the install phase (add-after 'unpack 'enter-source-directory - (lambda _ (chdir "python") #t)) + (lambda _ (chdir "python"))) (add-after 'unpack 'make-git-checkout-writable (lambda _ - (for-each make-file-writable (find-files ".")) - #t))))) + (for-each make-file-writable (find-files ".")))) + (add-before 'install 'patch-cmake-variables + (lambda* (#:key inputs #:allow-other-keys) + ;; Replace cmake locations with hardcoded guix links for the + ;; underlying C++ library and headers. This is a pretty awful + ;; hack. + (substitute* "cmake_modules/FindParquet.cmake" + (("# Licensed to the Apache Software Foundation" m) + (string-append "set(PARQUET_INCLUDE_DIR \"" + (assoc-ref inputs "apache-arrow:include") + "/share/include\")\n" m)) + (("find_package_handle_standard_args" m) + (string-append "set(PARQUET_LIB_DIR \"" + (assoc-ref inputs "apache-arrow:lib") + "/lib\")\n" m))))) + (add-before 'install 'patch-parquet-library + (lambda _ + (substitute* "CMakeLists.txt" + (("parquet_shared") "parquet")))) + (add-before 'install 'set-PYARROW_WITH_PARQUET + (lambda _ + (setenv "PYARROW_WITH_PARQUET" "1")))))) (propagated-inputs - `(("apache-arrow" ,apache-arrow "lib") + `(("apache-arrow:lib" ,apache-arrow "lib") + ("apache-arrow:include" ,apache-arrow "include") ("python-numpy" ,python-numpy) ("python-pandas" ,python-pandas) ("python-six" ,python-six))) @@ -3968,3 +4016,54 @@ PostreSQL, SQLite, ODBC and MySQL.") "FreeTDS is an implementation of the Tabular DataStream protocol, used for connecting to MS SQL and Sybase servers over TCP/IP.") (license license:lgpl2.0+))) + +(define-public sequeler + (package + (name "sequeler") + (version "0.8.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Alecaddd/sequeler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1q1vzc3likpiwfh6blkyiz0wr0aarj9xrm8gbi7m3p1wslkpah7c")))) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "build-aux/meson_post_install.py" + (("gtk-update-icon-cache") "true") + (("update-desktop-database") "true")) + #t))))) + (native-inputs + `(;("appstream-glib" ,appstream-glib) ; validation fails for lack of network + ("gettext-minimal" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-resources + ("gtk+" ,gtk+ "bin") + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (inputs + `(("glib" ,glib) + ("granite" ,granite) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("gtksourceview-3" ,gtksourceview-3) + ("libgda" ,libgda) + ("libgee" ,libgee) + ("libsecret" ,libsecret) + ("libssh2" ,libssh2) + ("libxml2" ,libxml2))) + (synopsis "Friendly SQL Client") + (description "Sequeler is a native Linux SQL client built in Vala and +Gtk. It allows you to connect to your local and remote databases, write SQL in +a handy text editor with language recognition, and visualize SELECT results in +a Gtk.Grid Widget.") + (home-page "https://github.com/Alecaddd/sequeler") + (license license:gpl2+))) diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index ce84ef9eda..607e4aecf8 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ (define-module (gnu packages dbm) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -57,6 +59,19 @@ #:disallowed-references ("doc") #:phases (modify-phases %standard-phases + ;; The configure script is too old to recognise aarch64 and + ;; powerpc64le as valid architectures. The trick below works + ;; for "--build", but not for "--host", so update config.sub. + ,@(if (and (%current-target-system) + (or (target-ppc64le? (%current-target-system)) + (target-aarch64? (%current-target-system)))) + `((add-after 'unpack 'update-config.sub + (lambda* (#:key native-inputs #:allow-other-keys) + (delete-file "dist/config.sub") + (symlink + (search-input-file native-inputs "/bin/config.sub") + "dist/config.sub")))) + '()) (replace 'configure (lambda* (#:key target outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -97,6 +112,12 @@ ;; of db_cxx.h into C++ files works; it leads to ;; HAVE_CXX_STDHEADERS being defined in db_cxx.h. "--enable-cxx"))))))) + (native-inputs + (if (and (%current-target-system) + (or (target-ppc64le? (%current-target-system)) + (target-aarch64? (%current-target-system)))) + `(("config" ,config)) ; for config.sub + '())) (synopsis "Berkeley database") (description "Berkeley DB is an embeddable database allowing developers the choice of diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 9a4ce7067a..6507c82fcc 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net> +;;; Copyright © 2014, 2015, 2016, 2017, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2016, 2017, 2018, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com> @@ -7,6 +7,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages c) + #:use-module (gnu packages check) #:use-module (gnu packages code) #:use-module (gnu packages compression) #:use-module (gnu packages flex) @@ -55,6 +57,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pretty-print) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages serialization) @@ -171,6 +174,58 @@ intended for use by people who discover and report bugs in compilers and other tools that process C/C++ code.") (license license:ncsa))) +(define-public c-vise + (package + (name "c-vise") + (version "2.3.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marxin/cvise") + (commit (string-append "v" version)))) + (sha256 + (base32 "0f6m58rak87gvcvxxcgp1bzbsv1q618h0iipmv0dx9jv1bn0qv43")) + (file-name (git-file-name name version)))) + (build-system cmake-build-system) + (native-inputs + `(("flex" ,flex) + ("python-pytest" ,python-pytest) + ("python-pytest-flake8" ,python-pytest-flake8))) + (inputs + `(("bash" ,bash-minimal) ; For wrap-program + ("clang" ,clang) + ("llvm" ,llvm) + ("python" ,python) + ("python-pebble" ,python-pebble) + ("python-psutil" ,python-psutil) + ("unifdef" ,unifdef))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'hardcode-paths + (lambda _ + (substitute* "cvise.py" + (("/bin/bash") (which "bash")) + (("(.*)# Special case for clang-format" & >) + (string-append > "# Special case for unifdef\n" + > "programs['unifdef'] = '" (which "unifdef") "'\n" + &))))) + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (python-path (getenv "GUIX_PYTHONPATH"))) + (wrap-program (string-append out "/bin/cvise") + `("PYTHONPATH" ":" prefix (,python-path))) + #t)))))) + (home-page "https://github.com/marxin/cvise") + (synopsis "Reducer for interesting code") + (description + "C-Vise is a Python port of the C-Reduce tool that is fully compatible +and uses the same efficient LLVM-based C/C++ @code{clang_delta} reduction +tool.") + (license license:ncsa))) + (define-public american-fuzzy-lop (let ((machine (match (or (%current-target-system) (%current-system)) diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm index 986e335861..0af6720c03 100644 --- a/gnu/packages/digest.scm +++ b/gnu/packages/digest.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Ryan Prior <rprior@protonmail.com> +;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,8 +21,10 @@ (define-module (gnu packages digest) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (ice-9 match)) @@ -96,3 +99,21 @@ The code is highly portable, and hashes of the same length are identical on all platforms (both big and little endian).") (license (list license:bsd-2 ; xxhash library (xxhash.[ch]) license:gpl2+)))) ; xxhsum.c + +(define-public python-xxhash + (package + (name "python-xxhash") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "xxhash" version)) + (sha256 + (base32 + "0jbvz19acznq00544gcsjg05fkvrmwbnwdfgrvwss3i1ys6avgmp")))) + (build-system python-build-system) + (home-page "https://github.com/ifduyue/python-xxhash") + (synopsis "Python binding for xxHash") + (description "This package provides Python bindings for the xxHash hash +algorithm.") + (license license:bsd-3))) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 2a4dbee748..7d6f3811dd 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -71,6 +71,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages samba) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) @@ -554,14 +555,14 @@ and can dramatically shorten the lifespan of the drive if left unchecked.") (define-public gparted (package (name "gparted") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gparted/gparted/gparted-" version "/gparted-" version ".tar.gz")) (sha256 - (base32 "0amx3hb4rc504nl9i73rgyz0hzhq5x8nkg7lwbk4bsnrblj81hcd")))) + (base32 "02g1s6hrhnias7kj241l0f72kllfhq6338mk2dmzjpmifinjxvjy")))) (build-system glib-or-gtk-build-system) (arguments ;; Tests require access to paths outside the build container, such @@ -687,7 +688,7 @@ a card with a smaller capacity than stated.") (define-public duperemove (package (name "duperemove") - (version "0.11.2") + (version "0.11.3") (source (origin (method git-fetch) @@ -695,7 +696,7 @@ a card with a smaller capacity than stated.") (url "https://github.com/markfasheh/duperemove") (commit (string-append "v" version)))) (sha256 - (base32 "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9")) + (base32 "0jwxmhadv2f1mx7gan4gk0xwrjr5g2xa71z1rp0knc1acbkhqdas")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index 7ae41a674e..a3095f8bfa 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Fredrik Salomonsson <plattfot@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,6 +38,7 @@ #:use-module (guix build-system trivial) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages admin) #:use-module (gnu packages fontutils) @@ -95,23 +97,23 @@ ("wayland" ,wayland))) (arguments `(#:configure-flags - (list - ;; This option currently does nothing, but will presumably be enabled - ;; if/when <https://github.com/sddm/sddm/pull/616> is merged. - "-DENABLE_WAYLAND=ON" - "-DENABLE_PAM=ON" - ;; Both flags are required for elogind support. - "-DNO_SYSTEMD=ON" "-DUSE_ELOGIND=ON" - "-DCONFIG_FILE=/etc/sddm.conf" - ;; Set path to /etc/login.defs. - ;; An alternative would be to use -DUID_MIN and -DUID_MAX. - (string-append "-DLOGIN_DEFS_PATH=" - (assoc-ref %build-inputs "shadow") - "/etc/login.defs") - (string-append "-DQT_IMPORTS_DIR=" - (assoc-ref %outputs "out") "/lib/qt5/qml") - (string-append "-DCMAKE_INSTALL_SYSCONFDIR=" - (assoc-ref %outputs "out") "/etc")) + ,#~(list + ;; This option currently does nothing, but will presumably be enabled + ;; if/when <https://github.com/sddm/sddm/pull/616> is merged. + "-DENABLE_WAYLAND=ON" + "-DENABLE_PAM=ON" + ;; Both flags are required for elogind support. + "-DNO_SYSTEMD=ON" "-DUSE_ELOGIND=ON" + "-DCONFIG_FILE=/etc/sddm.conf" + ;; Set path to /etc/login.defs. + ;; An alternative would be to use -DUID_MIN and -DUID_MAX. + (string-append "-DLOGIN_DEFS_PATH=" + #$(this-package-input "shadow") + "/etc/login.defs") + (string-append "-DQT_IMPORTS_DIR=" + #$output "/lib/qt5/qml") + (string-append "-DCMAKE_INSTALL_SYSCONFDIR=" + #$output "/etc")) #:phases (modify-phases %standard-phases (add-after 'unpack 'embed-loginctl-reference diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 914217a84e..921bf13d76 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages databases) #:use-module (gnu packages check) + #:use-module (gnu packages finance) #:use-module (gnu packages geo) #:use-module (gnu packages openldap) #:use-module (gnu packages python) @@ -48,13 +49,13 @@ (define-public python-django (package (name "python-django") - (version "3.2.4") + (version "3.2.6") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "15pjwyvrx4n8gi8n51b14wp54bg4jqapr25p52597zn6ikdxijb6")))) + "08p0gf1n548fjba76wspcj1jb3li6lr7xi87w2xq7hylr528azzj")))) (build-system python-build-system) (arguments '(#:phases @@ -79,6 +80,8 @@ (lambda* (#:key tests? #:allow-other-keys) (if tests? (with-directory-excursion "tests" + ;; Tests expect PYTHONPATH to contain the root directory. + (setenv "PYTHONPATH" "..") (invoke "python" "runtests.py" ;; By default tests run in parallel, which may cause ;; various race conditions. Run sequentially for @@ -181,6 +184,42 @@ to the @dfn{don't repeat yourself} (DRY) principle.") commands, additional database fields and admin extensions.") (license license:expat))) +(define-public python-django-localflavor + (package + (name "python-django-localflavor") + (version "3.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "django-localflavor" version)) + (sha256 + (base32 "0i1s0ijfd9rv2cp5x174jcyjpwn7fyg7s1wpbvlwm96bpdvs6bxc")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (setenv "PYTHONPATH" + (string-append ".:" + (getenv "PYTHONPATH"))) + (invoke "invoke" "test"))))))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-invoke" ,python-invoke) + ("python-pytest-django" ,python-pytest-django) + ("which" ,which))) + (propagated-inputs + `(("python-django" ,python-django) + ("python-stdnum" ,python-stdnum))) + (home-page "https://django-localflavor.readthedocs.io/en/latest/") + (synopsis "Country-specific Django helpers") + (description "Django-LocalFlavor is a collection of assorted pieces of code +that are useful for particular countries or cultures.") + (license license:bsd-3))) + (define-public python-django-simple-math-captcha (package (name "python-django-simple-math-captcha") @@ -305,16 +344,19 @@ size and quality.") (define-public python-pytest-django (package (name "python-pytest-django") - (version "3.10.0") + (version "4.4.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-django" version)) (sha256 (base32 - "19nvqsb7b9kz3ikpb50m8ppf7mfhzrapdxsqd5hhd1pdfz8dprjd")))) + "0mglnz0w6k7dgw1jn6giv56pmdjd6a3zwwkhxb2kyzmzk0viw5xm")))) (build-system python-build-system) (arguments - `(#:phases + ;; The test suite is disabled because there are many test failures (see: + ;; https://github.com/pytest-dev/pytest-django/issues/943). + `(#:tests? #f + #:phases (modify-phases %standard-phases (replace 'check (lambda* (#:key tests? inputs outputs #:allow-other-keys) @@ -334,9 +376,8 @@ size and quality.") (native-inputs `(("python-django" ,python-django) ("python-setuptools-scm" ,python-setuptools-scm) - ;; For tests. - ("python-pytest-xdist" ,python-pytest-xdist))) + ("python-pytest-xdist" ,python-pytest-xdist-next))) (propagated-inputs `(("python-pytest" ,python-pytest))) (home-page "https://pytest-django.readthedocs.org/") diff --git a/gnu/packages/djvu.scm b/gnu/packages/djvu.scm index 96071b8da1..0d1cdf2b1d 100644 --- a/gnu/packages/djvu.scm +++ b/gnu/packages/djvu.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -151,7 +151,7 @@ a continuous layout.") (define-public pdf2djvu (package (name "pdf2djvu") - (version "0.9.17.1") + (version "0.9.18") (source (origin (method url-fetch) @@ -159,7 +159,7 @@ a continuous layout.") "https://github.com/jwilk/pdf2djvu/releases/download/" version "/pdf2djvu-" version ".tar.xz")) (sha256 - (base32 "18r648kna6ccw0m0nfxxnsmz541k69d0w9zzqvm1x2l5qyyvgfsv")))) + (base32 "0vxa0b3g7zhflc5m6ln4f0hi0shsqyqc3344y7azlllibxc5ba22")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -174,7 +174,12 @@ a continuous layout.") ("poppler-data" ,poppler-data) ("util-linux-lib" ,util-linux "lib"))) ; for libuuid (arguments - `(#:test-target "test")) + `(#:test-target "test" + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-home-for-tests + (lambda _ + (setenv "HOME" "/tmp")))))) (synopsis "PDF to DjVu converter") (description "@code{pdf2djvu} creates DjVu files from PDF files. diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index dc6b101e3c..45e250138e 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -539,14 +539,14 @@ asynchronous fashion.") (define-public nsd (package (name "nsd") - (version "4.3.6") + (version "4.3.7") (source (origin (method url-fetch) (uri (string-append "https://www.nlnetlabs.nl/downloads/nsd/nsd-" version ".tar.gz")) (sha256 - (base32 "062zwx4k5rgpg2c0b4721ldj36aj8clrxv79mlfw9b15ap7w1rmy")))) + (base32 "1bg87g0i66hw16fm7gbqmzyi2rcn1hadzz0bg9b8s5mx7g2rwfzx")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -609,14 +609,14 @@ to result in system-wide compromise.") (define-public unbound (package (name "unbound") - (version "1.13.1") + (version "1.13.2") (source (origin (method url-fetch) (uri (string-append "https://www.unbound.net/downloads/unbound-" version ".tar.gz")) (sha256 - (base32 "1f2hky62f4xxnjr0lncrzz4gipg01rp12pf98mrqkgf5ixxxj145")))) + (base32 "10qs1q26lzw18ljggnbz0cc5f7lr9ksj615xbrmh4amryd3va4qa")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs @@ -947,14 +947,14 @@ synthesis, and on-the-fly re-configuration.") (define-public knot-resolver (package (name "knot-resolver") - (version "5.3.2") + (version "5.4.1") (source (origin (method url-fetch) (uri (string-append "https://secure.nic.cz/files/knot-resolver/" "knot-resolver-" version ".tar.xz")) (sha256 (base32 - "0dhlq25lig8wmn72ambfmb1njwwp980d98i9q7a24d79bxyl8vwb")))) + "0rixiqfj53rfabrz8qpnq4whx8y29d2m5w64a4jlwx7gv4nrd2zv")))) (build-system meson-build-system) (outputs '("out" "doc")) (arguments diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 9f47dadd5d..ee12f7edeb 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -6,6 +6,8 @@ ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Andrew Whatson <whatson@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,16 +26,18 @@ (define-module (gnu packages docbook) #:use-module (gnu packages) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages imagemagick) #:use-module (gnu packages inkscape) #:use-module (gnu packages tex) + #:use-module (gnu packages texinfo) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages base) #:use-module (gnu packages web-browsers) #:use-module (gnu packages xml) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) #:use-module ((guix build utils) #:select (alist-replace)) @@ -80,7 +84,7 @@ "DocBook is general purpose XML and SGML document type particularly well suited to books and papers about computer hardware and software (though it is by no means limited to these applications.) This package provides XML DTDs.") - (license (x11-style "" "See file headers.")))) + (license (license:x11-style "" "See file headers.")))) (define-public docbook-xml (package @@ -223,7 +227,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (synopsis "DocBook XSL style sheets for document authoring") (description "This package provides XSL style sheets for DocBook.") - (license (x11-style "" "See 'COPYING' file.")))) + (license (license:x11-style "" "See 'COPYING' file.")))) (define-public docbook-dsssl (package @@ -264,7 +268,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (home-page "https://docbook.org/") (synopsis "DSSSL style sheets for DocBook") (description "This package provides DSSSL style sheets for DocBook.") - (license (non-copyleft "file://README")))) + (license (license:non-copyleft "file://README")))) ;;; Private variable, used as the 'doc' output of the docbook-dsssl package. (define docbook-dsssl-doc @@ -302,7 +306,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (home-page "https://docbook.org/") (synopsis "DocBook DSSSL style sheets documentation") (description "Documentation for the DocBook DSSSL style sheets.") - (license (non-copyleft "file://doc/LEGALNOTICE.htm")))) + (license (license:non-copyleft "file://doc/LEGALNOTICE.htm")))) (define-public docbook-sgml (package @@ -344,7 +348,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (home-page "https://docbook.org") (synopsis "DocBook SGML style sheets for document authoring") (description "This package provides SGML style sheets for DocBook.") - (license (x11-style "" "See file headers.")))) + (license (license:x11-style "" "See file headers.")))) (define-public docbook-sgml-3.1 (package @@ -385,7 +389,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (synopsis "ISO 8879 character entities") (description "ISO 8879 character entities that are typically used in the in DocBook SGML DTDs.") - (license (x11-style "" "See file headers.")))) + (license (license:x11-style "" "See file headers.")))) (define-public dblatex (package @@ -413,7 +417,7 @@ the in DocBook SGML DTDs.") texlive-latex-fancyvrb texlive-latex-float texlive-latex-footmisc - texlive-latex-hyperref + texlive-hyperref texlive-latex-jknapltx texlive-latex-listings texlive-latex-multirow @@ -422,10 +426,10 @@ the in DocBook SGML DTDs.") texlive-latex-refcount texlive-latex-subfigure texlive-latex-titlesec - texlive-latex-wasysym + texlive-wasysym texlive-fonts-rsfs - texlive-fonts-stmaryrd + texlive-stmaryrd texlive-generic-iftex))) ("imagemagick" ,imagemagick) ;for convert @@ -465,7 +469,7 @@ to DVI, PostScript or PDF by translating them in pure LaTeX as a first process. MathML 2.0 markups are supported too. It started as a clone of DB2LaTeX.") ;; lib/contrib/which is under an X11 license - (license gpl2+))) + (license license:gpl2+))) ;; This is a variant of the 'dblatex' package that is not updated often. It ;; is intended to be used as a native-input at build-time only, e.g. by @@ -561,4 +565,93 @@ more conveniently via the following wrappers: @item sgmldiff Detect the differences in markup between two SGML files. @end table") - (license gpl2+))) + (license license:gpl2+))) + +(define-public docbook2x + (package + (name "docbook2x") + (version "0.8.8") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/docbook2x/docbook2x/" + version "/docbook2X-" version ".tar.gz")) + (sha256 + (base32 + "0ifwzk99rzjws0ixzimbvs83x6cxqk1xzmg84wa1p7bs6rypaxs0")))) + (build-system gnu-build-system) + (inputs + `(("bash-minimal" ,bash-minimal) + ("docbook-xml" ,docbook-xml) + ("perl" ,perl) + ("perl-xml-namespacesupport" ,perl-xml-namespacesupport) + ("perl-xml-parser" ,perl-xml-parser) + ("perl-xml-sax" ,perl-xml-sax) + ("perl-xml-sax-base" ,perl-xml-sax-base) + ("texinfo" ,texinfo) + ("xsltproc" ,libxslt))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'configure 'patch-sources + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Fix failed substitution in config.pl + (substitute* "perl/config.pl" + (("\\$\\{prefix\\}") + (assoc-ref outputs "out"))) + ;; Fix a failing test (maybe it worked with old texinfo?) + (substitute* "test/complete-manuals/at1.xml" + (("<bridgehead>") + "<bridgehead renderas=\"sect2\">")) + ;; Patch all the tests use DocBook 4.5 + (substitute* (find-files "test" "\\.xml$") + (("\"-//OASIS//DTD DocBook XML V4\\..+//EN\"") + "\"-//OASIS//DTD DocBook XML V4.5//EN\"") + (("\"http://www\\.oasis-open\\.org/docbook/xml/4\\..+/docbookx.dtd\"") + "\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\"")) + ;; Set XML catalogs for tests to pass + (setenv "XML_CATALOG_FILES" + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml")))) + (add-after 'install 'wrap-programs + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (programs + (map (lambda (p) + (string-append out "/bin/" p)) + '("db2x_manxml" "db2x_texixml" "db2x_xsltproc" + "docbook2man" "docbook2texi"))) + (perl5lib + (map (lambda (i) + (string-append (assoc-ref inputs i) + "/lib/perl5/site_perl")) + '("perl-xml-namespacesupport" + "perl-xml-parser" + "perl-xml-sax" + "perl-xml-sax-base"))) + (xml-catalog-files + (list (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml")))) + (map (lambda (program) + (wrap-program program + `("PERL5LIB" ":" prefix + ,perl5lib) + `("XML_CATALOG_FILES" " " prefix + ,xml-catalog-files))) + programs)))) + (add-after 'install 'create-symlinks + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Create db2x_* symlinks to satisfy some configure scripts + ;; which use these names to differentiate from an older + ;; docbook2man script provided by docbook-utils. + (map (lambda (prog) + (symlink prog (string-append out "/bin/db2x_" prog))) + '("docbook2man" "docbook2texi")))))))) + (home-page "http://docbook2x.sourceforge.net") + (synopsis "Convert DocBook to man page and Texinfo format") + (description + "docbook2X is a software package that converts DocBook documents into the +traditional Unix man page format and the GNU Texinfo format. Notable features +include table support for man pages, internationalization support, and easy +customization of the output using XSLT.") + (license license:expat))) diff --git a/gnu/packages/drones.scm b/gnu/packages/drones.scm deleted file mode 100644 index 1bc096293e..0000000000 --- a/gnu/packages/drones.scm +++ /dev/null @@ -1,199 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> -;;; -;;; This file is part of GNU Guix. -;;; -;;; GNU Guix is free software; you can redistribute it and/or modify it -;;; under the terms of the GNU General Public License as published by -;;; the Free Software Foundation; either version 3 of the License, or (at -;;; your option) any later version. -;;; -;;; GNU Guix is distributed in the hope that it will be useful, but -;;; WITHOUT ANY WARRANTY; without even the implied warranty of -;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;;; GNU General Public License for more details. -;;; -;;; You should have received a copy of the GNU General Public License -;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. - -(define-module (gnu packages drones) - #:use-module (guix licenses) - #:use-module (guix packages) - #:use-module (gnu packages cross-base) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz) - #:use-module (gnu packages xml) - #:use-module (guix download) - #:use-module (guix utils) - #:use-module (guix git-download) - #:use-module (guix build-system gnu)) - -(define (ardupilot-type->tag type) - (case type - ((copter) "Copter") - ((plane) "ArduPlane") - ((rover) "Rover") - (else #f))) - -(define (ardupilot-type->waf-cmd type) - (symbol->string type)) - -(define* (make-ardupilot-firmware #:key name version base32 type board target) - (package - (name (string-append name "-" board)) - (version version) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ArduPilot/ardupilot") - (commit (string-append - (ardupilot-type->tag type) "-" version)) - ;; XXX: Ardupilot includes several git submodules. They should be - ;; avoided but as this is not supported upstream, and not trivial - ;; to fix, keep it this way for now. - (recursive? #t))) - (file-name (git-file-name name version)) - (sha256 base32))) - - ;; Could also be waf-build-system but every phase has to be rewritten - ;; anyway. - (build-system gnu-build-system) - (arguments - `(#:imported-modules ((gnu build cross-toolchain) - ,@%gnu-build-system-modules) - #:phases - (modify-phases %standard-phases - (delete 'bootstrap) - - ;; Remove the root waf script that relies on waf git submodule. - (add-before 'configure 'setup-waf - (lambda* (#:key native-inputs inputs #:allow-other-keys) - (let ((waf (assoc-ref (or native-inputs inputs) "waf"))) - (delete-file "waf") - (copy-file (string-append waf "/bin/waf") "waf")) - #t)) - - ;; When cross-compiling, we do not want to use the default gnu - ;; cross-compiler, so set CROSS_CPATH and CROSS_LIBRARY_PATH - ;; variables ourselves instead. - (delete 'set-cross-path) - (add-before 'configure 'set-custom-cross-cpath - (lambda* (#:key native-inputs inputs #:allow-other-keys) - ((@@ (gnu build cross-toolchain) set-cross-path) - #:inputs - `(("libc" . ,(assoc-ref (or native-inputs inputs) - "ardupilot-cross-libc")) - ("xkernel-headers" . - ,(assoc-ref (or native-inputs inputs) - "ardupilot-cross-kernel-headers")))) - ;; We need to produce a static binary, so that it can works on - ;; other systems than Guix System. Add a static version of the - ;; cross libc to CROSS_LIBRARY_PATH variable. - (setenv "CROSS_LIBRARY_PATH" - (string-append - (getenv "CROSS_LIBRARY_PATH") ":" - (assoc-ref (or native-inputs inputs) - "ardupilot-cross-libc-static") "/lib")) - #t)) - - ;; Remove dependencies to 'git'. - (add-before 'configure 'remove-git - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "wscript" - (("^.*cfg\\.load\\('git_submodule.*$") - "")) - (substitute* "Tools/ardupilotwaf/boards.py" - (("^.*GIT_VERSION.*$") - "")) - #t)) - - ;; Configure for the given BOARD, and force a static build for - ;; reasons exposed above. - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (invoke "./waf" "configure" "--board" ,board "--static") - #t)) - - (replace 'build - (lambda* (#:key outputs #:allow-other-keys) - (invoke "./waf" ,(ardupilot-type->waf-cmd type)) - #t)) - - ;; Do not run tests as we are always cross-compiling. - (delete 'check) - - ;; Install the produced firmware. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (copy-recursively - (string-append "build/" ,board "/bin") bin)) - #t))))) - (native-inputs - `(("waf" ,python-waf) - ("python" ,python) - ("python-future" ,python-future) - ("python-lxml" ,python-lxml) - - ;; Packages needed for cross-compiling the firmware. - ("ardupilot-cross-gcc" ,(cross-gcc target - #:xbinutils - (cross-binutils target) - #:libc - (cross-libc target))) - ("ardupilot-cross-libc" ,(cross-libc target)) - ("ardupilot-cross-libc-static" ,(cross-libc target) "static") - ("ardupilot-cross-kernel-headers" - ,@(assoc-ref (package-propagated-inputs - (cross-libc target)) - "kernel-headers")) - ("ardupilot-cross-binutils" ,(cross-binutils target)) - ("ardupilot-cross-pkg-config" ,(parameterize ((%current-target-system - target)) - pkg-config)))) - (home-page "https://ardupilot.org/") - (synopsis "Unmanned vehicle autopilot software suite") - (description "@code{ardupilot} is an unmanned vehicle autopilot software -suite capable of controlling autonomous: -@itemize -@item multirotor drones -@item fixed-wing and vtol aircraft -@item helicopters -@item ground rovers -@item boats -@item submarines -@item antenna trackers -@end itemize") - (license gpl3+))) - -(define (make-arducopter-firmware board target) - (make-ardupilot-firmware - #:name "arducopter" - #:version "3.6.11" - #:base32 (base32 "1zkr2nhkksmrriirs2dnp8a0gcf9rfqw1x86pzhh6w4ciqwpidqn") - #:type 'copter - #:board board - #:target target)) - -(define (make-arduplane-firmware board target) - (make-ardupilot-firmware - #:name "arduplane" - #:version "4.0.1" - #:base32 (base32 "0awafvrppg4ilwpbhw88r5xkbgqrmqypsn6lbzyi6bz0zy5cfhb5") - #:type 'plane - #:board board - #:target target)) - -(define-public arducopter-bbbmini - (make-arducopter-firmware "bbbmini" "arm-linux-gnueabihf")) - -(define-public arduplane-bbbmini - (make-arduplane-firmware "bbbmini" "arm-linux-gnueabihf")) - -;; Firmware for Bebop and Bebop2 drones. -(define-public arducopter-bebop - (make-arducopter-firmware "bebop" "arm-linux-gnueabihf")) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index 1fcee832a3..61017ec733 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ #:use-module (guix build-system meson) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) @@ -116,7 +118,7 @@ with Microsoft Compiled HTML (CHM) files") (define-public calibre (package (name "calibre") - (version "5.14.0") + (version "5.21.0") (source (origin (method url-fetch) @@ -125,7 +127,7 @@ with Microsoft Compiled HTML (CHM) files") version ".tar.xz")) (sha256 (base32 - "0w8j9r9qa56r8gm9b10dwh8zrzqlv79s2br82jqg02lrnrbwwv0q")) + "0mq2w8blq6ykaml812axakwkqcw85qcpfwijdikn7kvbrhnnp2s5")) (modules '((guix build utils))) (snippet '(begin @@ -475,7 +477,7 @@ following formats: (define-public cozy (package (name "cozy") - (version "1.0.3") + (version "1.1.2") (source (origin (method git-fetch) @@ -484,7 +486,7 @@ following formats: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0m0xiqpb87pwr3fhy0a4qxg67yjhwchcxj3x2anyy0li4inryxag")))) + (base32 "0hifzzhhf0ww6iar9gswjfndy3i54s6jc41zaazlx4scc7r6fhs0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -493,14 +495,12 @@ following formats: (add-after 'unpack 'patch-desktop-file (lambda _ (substitute* "data/com.github.geigi.cozy.desktop" - (("Exec=com.github.geigi.cozy") "Exec=cozy")) - #t)) + (("Exec=com.github.geigi.cozy") "Exec=cozy")))) (add-after 'install 'patch-executable-name (lambda* (#:key outputs #:allow-other-keys) (with-directory-excursion (string-append (assoc-ref outputs "out") "/bin") - (rename-file "com.github.geigi.cozy" "cozy")) - #t)) + (rename-file "com.github.geigi.cozy" "cozy")))) (add-after 'wrap 'wrap-libs (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -519,8 +519,7 @@ following formats: `("LD_LIBRARY_PATH" ":" prefix (,libmagic-path)) `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)) `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)) - `("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib)))) - #t))))) + `("GUIX_PYTHONPATH" ":" prefix (,python-path ,pylib))))))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ("gettext" ,gettext-minimal) @@ -538,6 +537,7 @@ following formats: ("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-ugly" ,gst-plugins-ugly) ("gtk+" ,gtk+) + ("libdazzle" ,libdazzle) ("libgee" ,libgee) ("libhandy" ,libhandy) ("python-distro" ,python-distro) @@ -596,3 +596,47 @@ Some of the current features: (description "xCHM is a graphical CHM file viewer. It is a frontend to the CHM library CHMLIB.") (license license:gpl2+))) + +(define-public libmobi + (package + (name "libmobi") + (version "0.6") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bfabiszewski/libmobi/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yps72cm609xn2k7alflkdhp9kgr1w7zzyxjygz0n1kqrdcplihh")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("zlib" ,zlib) + ("libxml2" ,libxml2))) + (home-page "https://github.com/bfabiszewski/libmobi/") + (synopsis "C library for handling MOBI formats") + (description "Libmobi is a C library for handling MOBI ebook +format documents, with the following features: + +@itemize +@item reading and parsing: +@itemize +@item some older text Palmdoc formats (pdb), +@item Mobipocket files (prc, mobi), +@item newer MOBI files including KF8 format (azw, azw3), +@item Replica Print files (azw4) +@end itemize +@item recreating source files using indices +@item reconstructing references (links and embedded) in html files +@item reconstructing source structure that can be fed back to kindlegen +@item reconstructing dictionary markup (orth, infl tags) +@item writing back loaded documents +@item metadata editing +@item handling encrypted documents +@end itemize\n") + (license license:lgpl3+))) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 4fee50e5ff..0ba7bc6848 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -140,7 +140,7 @@ of categories with some of the activities available in that category. (define-public gcompris-qt (package (name "gcompris-qt") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) @@ -148,8 +148,8 @@ of categories with some of the activities available in that category. "https://gcompris.net/download/qt/src/gcompris-qt-" version ".tar.xz")) (sha256 - (base32 "08dw1q0h4qz2q0ksa5pbmb9v60hr1zv9skx6z8dlq9b1i7harnds")))) - (build-system cmake-build-system) + (base32 "1bpjwrv83rhikbycpyfpf6dbqr0xfq6amgdpqfgfph6nzr3zka7h")))) + (build-system qt-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -160,23 +160,7 @@ of categories with some of the activities available in that category. (setenv "DISPLAY" ":1") ;; The test suite wants to write to /homeless-shelter (setenv "HOME" (getcwd)) - #t)) - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/gcompris-qt") - `("QT_PLUGIN_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/plugins")) - '("qtbase" "qtdeclarative" "qtmultimedia" "qtsvg"))) - `("QML2_IMPORT_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/qml")) - '("qtdeclarative" "qtgraphicaleffects" - "qtmultimedia" "qtquickcontrols")))) - #t)))) + #t))) #:configure-flags (list "-DQML_BOX2D_MODULE=disabled" "-DBUILD_TESTING=TRUE"))) (native-inputs @@ -330,7 +314,7 @@ easy.") (define-public snap (package (name "snap") - (version "6.6.0") + (version "6.9.0") (source (origin (method git-fetch) @@ -339,7 +323,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1k0j0sp6zz2hnh7zc7f086zc3sld01h7sk277j6fak914yv6slzy")))) + (base32 "1wppz57lrrribrfnaiv6jrrf703w7i6ja0dnz8yx8naxhbsglwyf")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -368,8 +352,7 @@ easy.") (call-with-output-file script (lambda (port) (format port "#!~a\n~a '~a'" bash xdg-open snap))) - (chmod script #o555))) - #t))) + (chmod script #o555)))))) (inputs `(("bash" ,bash-minimal) ("js-filesaver" ,js-filesaver) @@ -1034,6 +1017,66 @@ factoring numbers and simplifying fractions, as well as zapping rocks floating through space.") (license license:gpl3+))) +(define-public libeb + (package + (name "libeb") + (version "4.4.3") + (source + (origin + (method url-fetch) + (uri + (string-append "ftp://ftp.sra.co.jp/pub/misc/eb/eb-" version ".tar.bz2")) + (sha256 + (base32 + "0psbdzirazfnn02hp3gsx7xxss9f1brv4ywp6a15ihvggjki1rxb")))) + (build-system gnu-build-system) + (native-inputs ; Required for building docs + `(("perl" ,perl))) + (inputs + `(("zlib" ,zlib))) + (synopsis "C library for accessing Japanese CD-ROM books") + (description "The EB library is a library for accessing CD-ROM +books, which are a common way to distribute electronic dictionaries in +Japan. It supports the EB, EBG, EBXA, EBXA-C, S-EBXA and EPWING +formats.") + ;; FIXME: I cannot find a real home page + (home-page "https://sra.co.jp/") + (license license:bsd-3))) + +(define-public qolibri + (package + (name "qolibri") + (version "2.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url"https://github.com/ludios/qolibri") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "066y7jcq9vg6hnvn7qxckzhd1qkgfzpzhw69nw5psm43qbaca8lg")))) + (build-system qt-build-system) + (arguments + '(#:tests? #f)) ; no test target + (native-inputs + `(("qttools", qttools))) + (inputs + `(("libeb" ,libeb) + ("qtbase" ,qtbase-5) + ("qtmultimedia" ,qtmultimedia) + ("qtquickcontrols2" ,qtquickcontrols2) + ("qtdeclarative" ,qtdeclarative) + ("qtwebchannel" ,qtwebchannel) + ("qtwebengine" ,qtwebengine) + ("zlib" ,zlib))) + (synopsis "EPWING dictionary reader") + (description "qolibri is a dictionary viewer for the EPWING dictionary +format. Most monolingual Japanese dictionaries can only be found in the +EPWING format.") + (home-page "https://github.com/ludios/qolibri") + (license license:gpl2))) + (define-public mdk (package (name "mdk") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e92bf6bd4b..5154a7f42c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019 Chris Marusich <cmmarusich@gmail.com> -;;; Copyright © 2015, 2016, 2018, 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2016, 2018, 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 David Thompson <davet@gnu.org> @@ -101,6 +101,8 @@ ;;; Copyright © 2021 David Dashyan <mail@davie.li> ;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> +;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org> +;;; Copyright © 2021 Simon South <simon@simonsouth.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,6 +139,7 @@ #:use-module (gnu packages aspell) #:use-module (gnu packages audio) #:use-module (gnu packages bash) + #:use-module (gnu packages chez) #:use-module (gnu packages cmake) #:use-module (gnu packages code) #:use-module (gnu packages cpp) @@ -155,6 +158,7 @@ #:use-module (gnu packages ibus) #:use-module (gnu packages java) #:use-module (gnu packages ncurses) + #:use-module (gnu packages networking) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages telephony) @@ -194,6 +198,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages rust-apps) #:use-module (gnu packages scheme) + #:use-module (gnu packages serialization) #:use-module (gnu packages speech) #:use-module (gnu packages xiph) #:use-module (gnu packages mp3) @@ -206,6 +211,7 @@ #:use-module (gnu packages sphinx) #:use-module (gnu packages xdisorg) #:use-module (gnu packages shells) + #:use-module (gnu packages shellutils) #:use-module (gnu packages sqlite) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gnupg) @@ -226,7 +232,7 @@ (define-public emacs-geiser (package (name "emacs-geiser") - (version "0.16") + (version "0.17") (source (origin (method git-fetch) @@ -235,7 +241,7 @@ (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18gx7ak2ldpmqbimnq221dn2qg7qwm5n1mj6ajymwkgvqwcrsl2r")))) + (base32 "07g1zlf9kmfish2wa6m376xba0nv6n4spw8wbmr90a56xj0qpswc")))) (build-system emacs-build-system) (arguments '(#:phases @@ -247,10 +253,12 @@ (let ((el-files (find-files "./elisp" ".*\\.el$"))) (for-each (lambda (f) (rename-file f (basename f))) - el-files)) - #t)) + el-files)))) (add-before 'install 'make-info (lambda _ + ;; XXX: Fix a typo in the ".texi" file below. + (substitute* "doc/install.texi" + (("\\}\\{NonGNU ELPA\\}") ",NonGNU ELPA}")) (with-directory-excursion "doc" (invoke "makeinfo" "--no-split" "-o" "geiser.info" "geiser.texi"))))))) @@ -405,6 +413,49 @@ a generic Scheme interaction mode for the GNU Emacs editor.") a generic Scheme interaction mode for the GNU Emacs editor.") (license license:bsd-3))) +(define-public emacs-geiser-chez + (package + (name "emacs-geiser-chez") + (version "0.16") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/emacs-geiser/chez") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cc1z5z5cpvxa5f3n8kvms0wxlybzcg4l1bh3rwv1l1sb0lk1xzx")))) + (build-system emacs-build-system) + (arguments + '(#:include (cons "^src/" %default-include) + #:phases + (modify-phases %standard-phases + (add-after 'make-autoloads 'patch-autoloads + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (string-append + (elpa-directory (assoc-ref outputs "out")) + "/geiser-chez-autoloads.el") + ;; Activating implementations fails when Geiser is not yet + ;; loaded, so let's defer that until it is. + ;; See <https://gitlab.com/emacs-geiser/chez/-/issues/7>. + (("\\(geiser-activate-implementation .*\\)" all) + (string-append + "(eval-after-load 'geiser-impl '" all ")")) + (("\\(geiser-implementation-extension .*\\)" all) + (string-append + "(eval-after-load 'geiser-impl '" all ")")))))))) + (inputs + `(("chez-scheme" ,chez-scheme))) + (propagated-inputs + `(("emacs-geiser" ,emacs-geiser))) + (home-page "https://nongnu.org/geiser/") + (synopsis "Support for Chez Scheme in Geiser") + (description + "This package adds support for using Chez Scheme in Emacs with Geiser.") + (license license:bsd-3))) + (define-public emacs-vc-hgcmd (package (name "emacs-vc-hgcmd") @@ -582,13 +633,13 @@ when typing parentheses directly or commenting out code line by line.") (define-public emacs-project (package (name "emacs-project") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar")) (sha256 - (base32 "0m0r1xgz1ffx6mi2gjz1dkgrn89sh4y5ysi0gj6p1w05bf8p0lc0")))) + (base32 "174fli3swbn67qcs9isv70vwrf6r41mak6dbs98gia89rlb71c8v")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xref" ,emacs-xref))) (home-page "http://elpa.gnu.org/packages/project.html") @@ -730,7 +781,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (define-public emacs-magit (package (name "emacs-magit") - (version "3.1.1") + (version "3.2.1") (source (origin (method git-fetch) @@ -739,7 +790,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0sn4iiicmqfqmvi7zwii6qdp35k09kqn36rpalv0w1i4jcm6j9kk")))) + (base32 "179mgh8l5p7fhfmbg5rz810mhbzsxqsxd66jdb2a68vsazs1jw2m")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs-no-x ;module support is required @@ -923,7 +974,7 @@ Alternatively the menu can be bound globally, for example: (define-public emacs-moody (package (name "emacs-moody") - (version "0.5.5") + (version "0.6.0") (source (origin (method git-fetch) @@ -932,7 +983,7 @@ Alternatively the menu can be bound globally, for example: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0b4kg4dxy4ywwin96vz6x3rpvgr718y5rgrdarmwym9wv1qz0a0c")))) + (base32 "14x3hd0z0nh0dyfi434vqywi7aawfxhlqj6sp7m17np56zq32yhi")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/moody") (synopsis "Tabs and ribbons for Emacs mode-line") @@ -1197,8 +1248,8 @@ handful of functions that are not resource-specific.") (define-public emacs-typit ;; Last release is from 2017. - (let ((commit "231cb7df43253b84323520b8ed70f128d37003af") - (revision "1")) + (let ((commit "fa125bf43757737fbcf91958b76c38b440d54b4c") + (revision "2")) (package (name "emacs-typit") (version (git-version "0.2.1" revision commit)) @@ -1210,20 +1261,10 @@ handful of functions that are not resource-specific.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1savrxs7xl92ifyxpxkkzv2didr7lb405h0dwz1bs1wldr5fb53f")))) + (base32 "1l0qb8gjgsmjjdvxlma7g6fn2z6rj246p2kczrikq8ajg1xh61sr")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-dictionaries - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (site-lisp - (string-append - out "/share/emacs/site-lisp/dict"))) - (mkdir-p site-lisp) - (copy-recursively "dict" site-lisp) - #t)))))) + '(#:include (cons "^dict/" %default-include))) (propagated-inputs `(("emacs-f" ,emacs-f) ("emacs-mmt" ,emacs-mmt))) @@ -1661,6 +1702,30 @@ view. This allows you to move to the character, word, or line almost directly.") (license license:gpl3+))) +(define-public emacs-ahg + ;; No tags; commit from 2021-04-12. + (let ((commit "77bc2a628df006dcd2dc359ac12acdf8091a1356") + (revision "0")) + (package + (name "emacs-ahg") + (version (git-version "1.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://bitbucket.org/agriggio/ahg") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1wmvz9d40aznqh2y078v8k7n3l66m48vnf873vifi8rwg6158kqh")))) + (build-system emacs-build-system) + (home-page "https://bitbucket.org/agriggio/ahg") + (synopsis "Emacs front-end for the Mercurial SCM") + (description + "This packages provides a simple Emacs front-end for the Mercurial +Distributed @acronym{Source Control Management, SCM} system.") + (license license:gpl3+)))) + (define-public emacs-anaphora (package (name "emacs-anaphora") @@ -2052,14 +2117,14 @@ incrementally confined in Isearch manner.") (define emacs-emms-print-metadata (package (name "emacs-emms-print-metadata") - (version "7.5") + (version "7.7") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "emms-" version ".tar")) (sha256 - (base32 "0d7nsx2idzbp6d5im5rrsnwppbr2cimvxgx31bhwsm2aq3ya5v2j")))) + (base32 "0n9nx4wgjxkr8nsxcq8svg0x0qkqj7bsd2j0ihy4jzj29xmyxl0h")))) (build-system gnu-build-system) (arguments `(#:make-flags '("emms-print-metadata") @@ -2348,14 +2413,14 @@ also includes a pairing agent.") (define-public emacs-aggressive-indent (package (name "emacs-aggressive-indent") - (version "1.8.3") + (version "1.10.0") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" - "aggressive-indent-" version ".el")) + "aggressive-indent-" version ".tar")) (sha256 (base32 - "0jnzccl50x0wapprgwxinp99pwwa6j43q6msn4gv437j7swy8wnj")))) + "166jk1z0vw481lfi3gbg7f9vsgwfv8fiyxpkfphgvgcmf5phv4q1")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/aggressive-indent.html") (synopsis "Minor mode to aggressively keep your code always indented") @@ -2452,8 +2517,8 @@ configuration language. It features: (define-public emacs-link-hint ;; Last release was in 2015. - (let ((commit "ae73db6a5948c8d109fc1d570760bcafa3f07175") - (revision "2")) + (let ((commit "9fbf196d155016d9b8471a99318ed67a086cf257") + (revision "3")) (package (name "emacs-link-hint") (version (git-version "0.1" revision commit)) @@ -2466,7 +2531,7 @@ configuration language. It features: (file-name (git-file-name name version)) (sha256 (base32 - "1rlbxlh9a0hnlaxpgfjvjjvmhnzwc84p9xiqi740xv82cd27wcnl")))) + "0v2g9gzf2v88ag59q1pf5vhd4qjnz3g4i6gzl27k6fi7pvlxdn39")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-avy" ,emacs-avy))) @@ -2546,14 +2611,14 @@ as a library for other Emacs packages.") (define-public emacs-auctex (package (name "emacs-auctex") - (version "13.0.12") + (version "13.0.14") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "auctex-" version ".tar")) (sha256 - (base32 "0fx3l6yyq63mlnapxiqpdhi5l314r3aj63404nly6hcdvc28g9nm")))) + (base32 "1gmqdcg9s6xf8kvzh1j27nbimakd5cy8pwsn0il19l026kxjimr8")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -2705,6 +2770,34 @@ the ability to jump forward and backward to the next bookmark.") Emacs buffer.") (license license:gpl3+))) +(define-public emacs-caml + (package + (name "emacs-caml") + (version "4.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.nongnu.org/nongnu/caml-" + version ".tar")) + (sha256 + (base32 + "00ldvz6r10vwwmk6f3az534p0340ywn7knsg2bmvbvh3q51vyl9i")))) + (build-system emacs-build-system) + (home-page "https://github.com/ocaml/caml-mode") + (synopsis "Caml mode for GNU Emacs") + (description + "This package provides a major mode for editing OCaml code in Emacs. +Some of its major features include: + +@itemize +@item syntax highlighting (font lock); +@item automatic indentation; +@item querying the type of expressions (using compiler generated annot files); +@item running an OCaml REPL within Emacs; +@item scanning of declarations and placing them in a menu. +@end itemize") + (license license:gpl2+))) + (define-public emacs-caps-lock (package (name "emacs-caps-lock") @@ -2815,16 +2908,16 @@ of bibliographic references.") (define-public emacs-corfu (package (name "emacs-corfu") - (version "0.9") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/minad/corfu") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0265kld5vg870n1zaks42qdawl03zi6rjhffrkkngwgs9i9ap30i")))) + (version "0.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minad/corfu") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x4aa5fk1ywlfs8gvwj3v2bycyl4nx7mzz1ci37x69bdjl9wal80")))) (build-system emacs-build-system) (home-page "https://github.com/minad/corfu") (synopsis "Completion overlay region function") @@ -2848,6 +2941,18 @@ overlay below or above the point. Corfu can be considered the minimalistic (sha256 (base32 "0xkqn4604k2imas6azy1www56br8ls4iv9a44pxcd8h94j1fp44d")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-in-direnv + (lambda* (#:key inputs #:allow-other-keys) + (let* ((direnv-path (assoc-ref inputs "direnv")) + (direnv-bin (string-append + "\"" direnv-path "/bin/direnv\""))) + (substitute* "direnv.el" + (("\"direnv\"") direnv-bin)))))))) + (inputs + `(("direnv" ,direnv))) (propagated-inputs `(("dash" ,emacs-dash) ("with-editor" ,emacs-with-editor))) @@ -3362,7 +3467,7 @@ restore the saved place.") (define-public emacs-dash (package (name "emacs-dash") - (version "2.19.0") + (version "2.19.1") (source (origin (method git-fetch) (uri (git-reference @@ -3371,7 +3476,7 @@ restore the saved place.") (file-name (git-file-name name version)) (sha256 (base32 - "0wycrcl79mv253vzf2y92qz9i52mi5xa82f9i4rgnqa02f2m633h")))) + "0z6f8y1m9amhg427iz1d4xcyr6n0kj5w7kmiz134p320ixsdnzd8")))) (build-system emacs-build-system) (arguments `(#:tests? #t)) (home-page "https://github.com/magnars/dash.el") @@ -3404,21 +3509,20 @@ type, for example: packages, buffers, files, etc.") (license license:gpl3+))) (define-public emacs-guix - (let ((commit "8ce6d219e87c5097abff9ce6f1f5a4293cdfcb31") - (revision "4")) + (let ((commit "c9aef52121b458297e70bb50f49f7276b4a8d759") + (revision "5")) (package (name "emacs-guix") (version (git-version "0.5.2" revision commit)) (source (origin (method git-fetch) (uri (git-reference - ;; TODO: Use the official version when it has a new home - (url "https://github.com/alezost/guix.el") + (url "https://gitlab.com/emacs-guix/emacs-guix.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0awbd8x154c4dk4av7inpgd63n07xzng84vvc8qckmgljknc0j7k")))) + "00xdxadbi9fxpfp60zah9190rcz3w08vl1blbhmaiy7c1hd2gi39")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -3653,7 +3757,7 @@ kmonad's configuration files (@file{.kbd}).") (define-public emacs-keycast (package (name "emacs-keycast") - (version "1.1.0") + (version "1.1.1") (source (origin (method git-fetch) @@ -3662,7 +3766,7 @@ kmonad's configuration files (@file{.kbd}).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0093v1c5nl2bh1lvccqq6fzpgjald3yypp87dsim982aywl2vlv1")))) + (base32 "09xr0h2ag3pzlz455gv5h915vn1dz56gqx61jx3n7fc4a794pqxw")))) (build-system emacs-build-system) (home-page "https://github.com/tarsius/keycast") (synopsis "Show current command and its key in the mode line") @@ -3694,7 +3798,7 @@ a command.") (define-public emacs-olivetti (package (name "emacs-olivetti") - (version "1.11.4") + (version "2.0.3") (source (origin (method git-fetch) @@ -3703,7 +3807,7 @@ a command.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1pw1zc0pdwwi9dv8fypfxgn6xbfvm88qzhss880lspialff1wcxn")))) + (base32 "0qhv4ah9bn1mjvivgxp7z1gf91d0cdr2ma5cy5xaja97ispa4l3z")))) (build-system emacs-build-system) (home-page "https://github.com/rnkn/olivetti") (synopsis "Emacs minor mode for a nice writing environment") @@ -3714,15 +3818,19 @@ in the center.") (define-public emacs-undo-tree (package (name "emacs-undo-tree") - (version "0.7.5") + (version "0.8.1") (source (origin - (method url-fetch) - (uri (string-append "https://elpa.gnu.org/packages/" - "undo-tree-" version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/tsc25/undo-tree") + (commit (string-append "release/" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "00admi87gqm0akhfqm4dcp9fw8ihpygy030955jswkha4zs7lw2p")))) + (base32 "1khkwrrbwaimspc013n4k9mpv8g302r0zkrsqnza2x1d3qznn08y")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-queue" ,emacs-queue))) (home-page "https://www.dr-qubit.org/undo-tree.html") (synopsis "Treat undo history as a tree") (description @@ -3956,7 +4064,7 @@ files and directories.") (define-public emacs-fountain-mode (package (name "emacs-fountain-mode") - (version "3.5.0") + (version "3.5.1") (source (origin (method git-fetch) @@ -3965,7 +4073,7 @@ files and directories.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0xlg5b0sa4qbv68sza23fr5khv36860jbhzfbcqcw1d420xllryx")))) + (base32 "0y7dd6qq4b95scj7fay4zzhkf0g0x89npylc4v1hz59b1yyylfqy")))) (build-system emacs-build-system) (home-page "https://github.com/rnkn/fountain-mode") (synopsis "Major mode for screenwriting in Fountain markup") @@ -4364,6 +4472,40 @@ time. This information can be reviewed to determine what is causing the user interface to pause.") (license license:gpl3+)))) +(define-public emacs-filladapt + (package + (name "emacs-filladapt") + (version "2.12.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/filladapt-" + version ".el")) + (sha256 + (base32 + "1cxyxfdjg1dsmn1jrl6b7xy03xr42fb6vyggh27s4dk417ils6yg")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/filladapt.html") + (synopsis "Adaptive fill for Emacs") + (description + "This package provides funtions which enhance the default behavior of +Emacs' Auto Fill mode and the commands @code{fill-paragraph}, +@code{lisp-fill-paragraph}, @code{fill-region-as-paragraph}, and +@code{fill-region}. + +The chief improvement is that the beginning of a line to be +filled is examined and, based on information gathered, an +appropriate value for fill-prefix is constructed. Also the +boundaries of the current paragraph are located. This occurs +only if the fill prefix is not already non-nil. + +The net result of this is that blurbs of text that are offset +from left margin by asterisks, dashes, and/or spaces, numbered +examples, included text from USENET news articles, etc. are +generally filled correctly with no fuss.") + (license license:gpl3+))) + (define-public emacs-fill-column-indicator (package (name "emacs-fill-column-indicator") @@ -4518,15 +4660,16 @@ appropriate console.") (define-public emacs-znc (package (name "emacs-znc") - (version "0.0.2") + (version "0.4") (source (origin - (method url-fetch) - (uri (string-append "https://marmalade-repo.org/packages/znc-" - version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sshirokov/ZNC.el") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1d8lqvybgyazin5z0g1c4l3rg1vzrrvf0saqs53jr1zcdg0lianh")))) + (base32 "1ran86ycnays9s23wk3iczqqgnpbyx0lijiarx65am3jc1yzg5ia")))) (build-system emacs-build-system) (home-page "https://github.com/sshirokov/ZNC.el") (synopsis "Make ERC and ZNC get along better") @@ -4796,7 +4939,7 @@ configuration, cache, and other data.") (define-public emacs-string-inflection (package (name "emacs-string-inflection") - (version "1.0.12") + (version "1.0.15") (source (origin (method git-fetch) (uri (git-reference @@ -4805,7 +4948,7 @@ configuration, cache, and other data.") (file-name (git-file-name name version)) (sha256 (base32 - "0f3nkfdpngax4zfw75jca2wywwh31ha6ywddh4125lbxi3y6m7s9")))) + "194pd3g9ws72n3wy1b2pxgj3w20p1v8gn47gqg89mym9ps5hfjyv")))) (build-system emacs-build-system) (native-inputs `(("ert-runner" ,emacs-ert-runner))) @@ -4954,7 +5097,7 @@ displays the priority part of a heading as your preferred string value.") (define-public emacs-org-fragtog (package (name "emacs-org-fragtog") - (version "0.3.2") + (version "0.4.0") (source (origin (method git-fetch) @@ -4963,7 +5106,7 @@ displays the priority part of a heading as your preferred string value.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0cw8903nw0mrn9kppwlypsb6h9m54zrb6y969yj0gnkza6gqy36c")))) + (base32 "0ra4sfy48p8pm1c7h8wlmbl68r4s0f4qc49xapvs550pm4mf3hiq")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org))) @@ -5481,7 +5624,7 @@ for Flow files.") (define-public emacs-flycheck-grammalecte (package (name "emacs-flycheck-grammalecte") - (version "1.4") + (version "2.0") (source (origin (method git-fetch) @@ -5490,7 +5633,7 @@ for Flow files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18yiv09hzbclf9rjp61lxlia2m1qbvmwkiqxxs9jjpac28x7ypjf")))) + (base32 "040mb9djj4cxpjsjch9i30pi36a2z7grkhnsnfdi5qyh341p4pq0")))) (build-system emacs-build-system) (arguments `(#:include (cons "\\.py$" %default-include) @@ -5502,29 +5645,27 @@ for Flow files.") ;; Hard-code python3 executable location in the library. (lambda* (#:key inputs #:allow-other-keys) (let ((python3 (search-input-file inputs "/bin/python3"))) - (substitute* "flycheck-grammalecte.el" + (substitute* '("flycheck-grammalecte.el" "grammalecte.el") (("\"python3") (string-append "\"" python3))) - (substitute* '("conjugueur.py" "flycheck-grammalecte.py") - (("/usr/bin/env python3?") python3)) - #t))) + (substitute* '("conjugueur.py" "flycheck_grammalecte.py") + (("/usr/bin/env python3?") python3))))) (add-after 'unpack 'specify-grammalecte-location + ;; Use our own Grammalecte. (lambda* (#:key inputs #:allow-other-keys) - (make-file-writable "flycheck-grammalecte.el") - (emacs-substitute-variables "flycheck-grammalecte.el" - ("flycheck-grammalecte-grammalecte-directory" + (make-file-writable "grammalecte.el") + (emacs-substitute-variables "grammalecte.el" + ("grammalecte-python-package-directory" (search-input-directory inputs (string-append "lib/python" ,(version-major+minor (package-version python)) "/site-packages/grammalecte")))))) (add-after 'unpack 'do-not-phone-home - ;; The package wants to check upstream Grammalecte version to - ;; decide if an update is in order. Always return version - ;; installed so it doesn't phone home and doesn't install anything. + ;; Do not check for Grammalecte updates, ever. (lambda _ - (substitute* "flycheck-grammalecte.el" - (("\\(flycheck-grammalecte--grammalecte-upstream-version\\)") - ,(format #f "\"~a\"" (package-version grammalecte))))))))) + (make-file-writable "grammalecte.el") + (emacs-substitute-variables "grammalecte.el" + ("grammalecte-check-upstream-version-delay" 0))))))) (inputs `(("grammalecte" ,grammalecte) ("python" ,python))) @@ -5844,17 +5985,40 @@ minibuffer to enable editing the minibuffer input in another buffer with source code using IPython.") (license license:gpl3+))) +(define-public emacs-ob-async + (package + (name "emacs-ob-async") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/astahlman/ob-async") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "10x4hxrjm4pr6vg42a961h9ilqzyd0l0fv7fsbq9clxi439f1nd6")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-async" ,emacs-async) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/astahlman/ob-async") + (synopsis "Asynchronous src_block execution for org-babel") + (description "@code{ob-async} enables asynchronous execution of org-babel +src blocks.") + (license license:gpl3+))) + (define-public emacs-debbugs (package (name "emacs-debbugs") - (version "0.28") + (version "0.29") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/debbugs-" version ".tar")) (sha256 - (base32 "1qks38hpg3drhxzw66n5yxfq0v6fj9ya7d9dc6x0xwfp6r2x0li0")))) + (base32 "1bn21d9dr9pb3vdak3v07x056xafym89kdpxavjf4avy6bry6s4d")))) (build-system emacs-build-system) (arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$"))) (propagated-inputs @@ -5961,6 +6125,51 @@ view the build status of those servers' build jobs, and possibly to trigger build jobs.") (license license:gpl3+))) +(define-public emacs-zmq + (package + (name "emacs-zmq") + (version "0.10.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nnicandro/emacs-zmq") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ngxm5mm0kqgvn8977ryrngamx0khzlw86d8vz5s0jhm2kgwnqp8")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda _ + (invoke "make" "src/configure") + (substitute* "src/configure" + (("/bin/sh") (which "sh")) + (("/usr/bin/file") (which "file"))) + (invoke "make"))) + (add-after 'install 'install-shared-object + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (site-lisp (string-append out "/share/emacs/site-lisp")) + (libdir (string-append site-lisp "/zmq-0.10.10"))) + (copy-file "emacs-zmq.so" + (string-append libdir "/emacs-zmq.so")))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) + (inputs + `(("zeromq" ,zeromq))) + (home-page "https://github.com/nnicandro/emacs-zmq") + (synopsis "Emacs bindings to ØMQ") + (description "This package provides Emacs bindings to ØMQ.") + (license (list license:gpl2+ ;zmq.el + license:gpl3+)))) ;src/emacs-module.h + (define-public emacs-tup-mode (package (name "emacs-tup-mode") @@ -6068,7 +6277,7 @@ languages.") (define-public emacs-irony-mode (package (name "emacs-irony-mode") - (version "1.4.0") + (version "1.5.0") (home-page "https://github.com/Sarcasm/irony-mode") (source (origin (method git-fetch) @@ -6078,7 +6287,7 @@ languages.") (file-name (git-file-name name version)) (sha256 (base32 - "0n2nfcq58md1p2xdhq1smh8v7lsyj0ci7ma5xyd6bkg5rvhsh10i")))) + "1ilvfqn7hzrjjy2zrv08dbdnmgksdgsmrdcvx05s8704430ag0pb")))) (build-system emacs-build-system) (inputs `(("server" ,emacs-irony-mode-server))) (arguments `(#:phases @@ -6366,7 +6575,7 @@ succeeds.") (define-public emacs-nswbuff (package (name "emacs-nswbuff") - (version "1.2.1") + (version "1.3") (source (origin (method git-fetch) @@ -6375,7 +6584,7 @@ succeeds.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1sswhr52rp8c4v4fv30sww1gadbdrlk3l35j8xmqfw6hbgzxb5dn")))) + (base32 "0bkx7mwy3zbb0ixawvn4cysxk3jjc7ahssvdprvw19ls9xx3wbsp")))) (build-system emacs-build-system) (home-page "https://github.com/joostkremers/nswbuff") (synopsis "Quickly switch between buffers") @@ -7237,27 +7446,25 @@ Cucumber tool) user stories. Also known by the name @code{cucumber.el}.") (license license:gpl3+))) (define-public emacs-org-appear - (let ((commit "19ea96e6e2ce01b8583b25a6e5579f1be207a119") - (revision "1")) - (package - (name "emacs-org-appear") - (version (git-version "0.0.1" revision commit)) ;no upstream release - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/awth13/org-appear") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "064kdb3z4zr9sa7qi5921cqh8vj226ifl8x1bkc59qd9a1p34ghd")))) - (build-system emacs-build-system) - (home-page "https://github.com/awth13/org-appear") - (synopsis "Make invisible parts of Org fragments appear visible") - (description "This package enables automatic visibility toggling of + (package + (name "emacs-org-appear") + (version "0.2.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/awth13/org-appear") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sfz8rpvc9hidjj81wlc48vi7ii90mssgvfnp2z215phv67npbzp")))) + (build-system emacs-build-system) + (home-page "https://github.com/awth13/org-appear") + (synopsis "Make invisible parts of Org fragments appear visible") + (description "This package enables automatic visibility toggling of org-mode elements depending on cursor position. Hidden fragment parts appear when the cursor enters a fragment and disappear when it leaves.") - (license license:expat)))) + (license license:expat))) (define-public emacs-org-drill (package @@ -7315,7 +7522,7 @@ cards created in Org mode.") (define-public emacs-org-mime (package (name "emacs-org-mime") - (version "0.2.1") + (version "0.2.3") (source (origin (method git-fetch) @@ -7324,7 +7531,7 @@ cards created in Org mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vchyd80ybvr6317dwm50nxcgxfrpc0bz6259vnrh24p5sb8shbj")))) + (base32 "1g32chan6rhlp3kvzd2lvf104i3p37q1sm0d89pq6sya0ia2as1n")))) (build-system emacs-build-system) (home-page "https://github.com/org-mime/org-mime") (synopsis "Send HTML email using Org mode HTML export") @@ -7808,6 +8015,33 @@ Sublime Text. It features a dark blue/gray background and soft blue, green, orange and red as accent colors.") (license license:expat)))) ; MIT license +(define-public emacs-org-cv + ;; There are no tagged releases. + (let ((commit "24bcd82348d441d95c2c80fb8ef8b5d6d4b80d95") + (revision "0")) + (package + (name "emacs-org-cv") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/Titan-C/org-cv") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zcnbxvlwi4d6vzsm3ag7z74qphdigmx303gppb9d614jnsfsdg2")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ox-hugo" ,emacs-ox-hugo))) + (home-page "https://titan-c.gitlab.io/org-cv/") + (synopsis "Collection of export backends for Org to generate a CV") + (description + "This project exports an Org file with reasonably structured items into +a LaTeX file, which compiles into a nice CV. In the same spirit, the Org file +may export to Markdown so that it can be used for a web based CV.") + (license license:gpl3+)))) + (define-public emacs-2048-game (package (name "emacs-2048-game") @@ -7913,7 +8147,7 @@ single theme but a set of guidelines with numerous implementations.") (define-public emacs-solaire-mode (package (name "emacs-solaire-mode") - (version "2.0.0") + (version "2.0.2") (source (origin (method git-fetch) @@ -7922,7 +8156,7 @@ single theme but a set of guidelines with numerous implementations.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0aigavrqfi2dy4q5vrfs48n5k7839gqnafq7mp14cmcbrzcwadrd")))) + (base32 "01c1lkr21y0cd6gixzd38mql89k70jn049jr0xhazgz16cnw1g7j")))) (build-system emacs-build-system) (home-page "https://github.com/hlissner/emacs-solaire-mode") (synopsis "Change background of file-visiting buffers in Emacs") @@ -8057,7 +8291,7 @@ style, or as multiple word prefixes.") (define-public emacs-consult (package (name "emacs-consult") - (version "0.9") + (version "0.11") (source (origin (method git-fetch) @@ -8065,7 +8299,7 @@ style, or as multiple word prefixes.") (url "https://github.com/minad/consult") (commit version))) (sha256 - (base32 "0iy6lrqbpi4lv7141rdawpn278rxinfxspwb81n04azyxrk28vlw")) + (base32 "01kx3zg858bqyajglamxn319qabycnabzj73kl4x7sd55p2yi179")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -8081,7 +8315,7 @@ list of candidates.") (define-public emacs-consult-notmuch (package (name "emacs-consult-notmuch") - (version "0.3") + (version "0.5") (source (origin (method git-fetch) @@ -8090,11 +8324,11 @@ list of candidates.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "19flyh3v1xm2zswzjkvjbijvpbq5r8isafza4fd0yicvqbjyklhx")))) + (base32 "04ha4mysxvfz6yzbkgrl1mcwic1lwr1xx6gdy5rl6hn1wwnwam4p")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-consult" ,emacs-consult) - ("notmuch" ,notmuch))) + ("emacs-notmuch" ,emacs-notmuch))) (home-page "https://codeberg.org/jao/consult-notmuch") (synopsis "Search and preview Notmuch emails using Consult") (description @@ -8105,7 +8339,7 @@ and present results either as single emails or full trees.") (define-public emacs-marginalia (package (name "emacs-marginalia") - (version "0.7") + (version "0.8") (source (origin (method git-fetch) @@ -8114,7 +8348,7 @@ and present results either as single emails or full trees.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0yn6dybvsdhr37hnadmbfqi7pf7scxr9z6a6ghsqbrghycddd0mc")))) + (base32 "1d6xbidxcxd5gxs5cjxbx1i1wdcmgdnn3hh7fxz0sgf1gaxyp5kv")))) (build-system emacs-build-system) (home-page "https://github.com/minad/marginalia") (synopsis "Marginalia in the minibuffer completions") @@ -8241,7 +8475,7 @@ regexp that matches all known keywords.") (define-public emacs-perspective (package (name "emacs-perspective") - (version "2.15") + (version "2.16") (source (origin (method git-fetch) @@ -8250,7 +8484,7 @@ regexp that matches all known keywords.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0l9i7ky25d9ii04w2brgxc8dk2rky50naba8lbfqi7hcc34z8pp6")))) + (base32 "0hg4rj3v748f6k4fwa21g683vs3bfya0wg9r9xdg216kdhfdk5j7")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -9278,6 +9512,8 @@ queries using counsel.") `(("emacs-counsel" ,emacs-counsel) ("notmuch" ,notmuch) ("emacs-s" ,emacs-s))) + (propagated-inputs + `(("emacs-notmuch" ,emacs-notmuch))) (home-page "https://github.com/fuxialexander/counsel-notmuch") (synopsis "Search emails in Notmuch asynchronously with Ivy") (description @@ -9697,7 +9933,7 @@ features: (define-public emacs-typescript-mode (package (name "emacs-typescript-mode") - (version "0.3") + (version "0.4") (source (origin (method git-fetch) (uri (git-reference @@ -9706,7 +9942,7 @@ features: (file-name (git-file-name name version)) (sha256 (base32 - "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh")))) + "186bpvqxx87kp3857mq0mzn1ddsvzmpijix810k6bdz8522x7zdw")))) (build-system emacs-build-system) (home-page "https://github.com/ananthakumaran/typescript.el") (synopsis "Emacs major mode for editing Typescript code") @@ -9832,7 +10068,7 @@ like @code{org-edit-src-code} but for arbitrary regions.") (define-public emacs-projectile (package (name "emacs-projectile") - (version "2.4.0") + (version "2.5.0") (source (origin (method url-fetch) (uri (string-append "https://raw.githubusercontent.com/bbatsov" @@ -9840,7 +10076,7 @@ like @code{org-edit-src-code} but for arbitrary regions.") (file-name (string-append "projectile-" version ".el")) (sha256 (base32 - "1vawbngfdcp6isqf74kwvk438wh6da2liqqxgzilw1qbhqg7z7aw")))) + "1wy2kpli90z7p4dqr4b7f1fv99g6lfxi1kzy2bfl0p8qi40rpmyv")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -10001,7 +10237,7 @@ with Elfeed.") (define-public emacs-elfeed-score (package (name "emacs-elfeed-score") - (version "0.7.9") + (version "0.8.6") (source (origin (method git-fetch) @@ -10010,8 +10246,7 @@ with Elfeed.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "17hf6b5db4d0cm1996z4sl00y4c8gl3rga97xxp2bmwbhdr7kaxw")))) + (base32 "1r77b5vj4klqww7q7flw8h5i9w6y36zv2n7hx36pp1sav6s3a4r9")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-elfeed" ,emacs-elfeed))) @@ -10059,6 +10294,32 @@ provide the historic behavior of @code{flet}, as well as @code{declare-function} stub for older Emacs.") (license license:gpl2+))) +(define-public emacs-epithet + ;; No tags. + (let ((commit "cc42338376c2c58da561214c554be8e8856f6a2b")) + (package + (name "emacs-epithet") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oantolin/epithet") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06irgshgcgmm09nswrny8mam6l660ai71rgn0l3rmyp9li8n97j0")))) + (build-system emacs-build-system) + (home-page "https://github.com/oantolin/epithet") + (synopsis "Rename Emacs buffers with descriptive names") + (description + "This package provides a function---@code{epithet-rename-buffer}---to rename +the current buffer with a descriptive name. The name suggestion is governed by +the @code{epithet-suggesters} hook variable: each hook should return either a +name suggestion or @code{nil}, they are called in turn and the first non-nil +suggestion is taken.") + (license license:gpl3+)))) + (define-public emacs-mocker (package (name "emacs-mocker") @@ -10090,7 +10351,7 @@ maximizes flexibility (at the expense of conciseness).") (define-public emacs-find-file-in-project (package (name "emacs-find-file-in-project") - (version "6.0.7") + (version "6.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -10099,7 +10360,7 @@ maximizes flexibility (at the expense of conciseness).") (file-name (git-file-name name version)) (sha256 (base32 - "1qkfijqr839y605ssyalr2v9n6b86hr64mxikc96lx6nzdyjyyl0")))) + "13vsmi02v1rv5h2m62s36dw21781nxsj9dj4hlaxfz2v5avmp00c")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -10381,6 +10642,29 @@ names, e.g., @samp{#0000ff} is displayed in white with a blue background.") keybindings in Emacs, and does not come with any predefined bindings.") (license license:expat)))) +(define-public emacs-valign + (package + (name "emacs-valign") + (version "3.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/casouri/valign") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "11ks6z532i7vxi6f9g32zhimvikhsqywa2bd5fnnj2ahfx3msa95")))) + (build-system emacs-build-system) + (home-page "https://github.com/casouri/valign") + (synopsis "Pixel-perfect visual alignment for Org and Markdown tables") + (description + "Valign provides visual alignment for Org mode, Markdown and Table.el +tables on GUI Emacs. It can properly align tables containing variable-pitch +font, CJK characters and images. Meanwhile, the text-based alignment +generated by Org mode (or Markdown mode) is left untouched.") + (license license:gpl3+))) + (define-public emacs-visual-fill-column (package (name "emacs-visual-fill-column") @@ -11223,7 +11507,7 @@ using package inferred style.") (define-public emacs-lua-mode (package (name "emacs-lua-mode") - (version "20201010") + (version "20210802") (home-page "https://github.com/immerrr/lua-mode/") (source (origin @@ -11233,7 +11517,7 @@ using package inferred style.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0zf43f7fkrgki6pbc09zak975p4jx1yf3ipfs38hypfl9s5d6xrf")))) + (base32 "0r3svhggdml2n256k3b0zmbjnw51p46gan6dg07bhavpfrqs5196")))) (build-system emacs-build-system) (arguments `(#:tests? #t @@ -11250,7 +11534,7 @@ Lua programming language}.") (define-public emacs-ebuild-mode (package (name "emacs-ebuild-mode") - (version "1.52") + (version "1.53") (source (origin (method url-fetch) @@ -11259,7 +11543,7 @@ Lua programming language}.") "ebuild-mode-" version ".tar.xz")) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "10nikbbwh612qlnms2i31963a0h3ccyg85vrxlizdpsqs4cjpg6h")))) + (base32 "1l740qp71df9ids0c49kvp942rk8k1rfkg1hyv7ysfns5shk7b9l")))) (build-system emacs-build-system) (arguments '(#:phases @@ -11320,7 +11604,7 @@ extensions.") (define-public emacs-evil-collection (package (name "emacs-evil-collection") - (version "0.0.5") + (version "0.0.6") (source (origin (method git-fetch) (uri (git-reference @@ -11329,7 +11613,7 @@ extensions.") (file-name (git-file-name name version)) (sha256 (base32 - "0dxrwcf5dnww0a9mvwjkcgm8ry3y282v9l85jh0645zk71nz1in3")))) + "0ssb3n1i67b6zp2j8djaalkr33x4c7zalw6vl6p5kqxkh8vy8cdf")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) @@ -11701,7 +11985,7 @@ pasting into and from @code{tmux} paste buffers.") (define-public emacs-evil-nerd-commenter (package (name "emacs-evil-nerd-commenter") - (version "3.5.4") + (version "3.5.5") (source (origin (method git-fetch) @@ -11711,7 +11995,7 @@ pasting into and from @code{tmux} paste buffers.") (file-name (git-file-name name version)) (sha256 (base32 - "1vyl8lidhjph7k86n8q09mwqpasaxsmwb8vi5i2gcd6klds9hg0d")))) + "1qrlg4cxlsd4cf1z8j2662pfb9p6pnqpsyb74flja9cqv6g5ylp8")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) (home-page "https://github.com/redguardtoo/evil-nerd-commenter") @@ -12082,7 +12366,7 @@ known loosely as deftheme. Many mode-specific customizations are included.") (define-public emacs-dart-mode (package (name "emacs-dart-mode") - (version "1.0.5") + (version "1.0.7") (source (origin (method git-fetch) @@ -12091,7 +12375,7 @@ known loosely as deftheme. Many mode-specific customizations are included.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qmdlwjmmqyyb65sqvfpygifai5m0llc815vp0jqwp8ldd8ls172")))) + (base32 "1vql8m4nj0brmv58b6lkbhykik8n6j4i7d3nylcls78y7ihc2cz8")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -12105,29 +12389,28 @@ basic syntax highlighting and indentation.") (license license:gpl3+))) (define-public emacs-danneskjold-theme - (let* ((commit "8733d2fe8743e8a01826ea6d4430ef376c727e57") - (revision "1")) + (let* ((commit "e4d1f2c76245fe9d0d07133a841e789d139df28d") + (revision "2")) (package (name "emacs-danneskjold-theme") - (version (string-append "0.0.0-" revision "." (string-take commit 7))) - (home-page "https://github.com/rails-to-cosmos/danneskjold-theme") + (version (git-version "0.0.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url home-page) + (url "https://github.com/rails-to-cosmos/danneskjold-theme") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 - "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1")))) + (base32 "0s6rbsb0y8i8m5b9xm4gw1p1cxsxdqnqxqqb638pygz9f76mbir1")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'unpack 'delete-screenshots (lambda _ - (delete-file-recursively "screenshots") #t))))) + (delete-file-recursively "screenshots")))))) + (home-page "https://github.com/rails-to-cosmos/danneskjold-theme") (synopsis "High-contrast Emacs theme") (description "@code{danneskjold-theme} is a high-contrast theme for Emacs.") @@ -12205,6 +12488,34 @@ a visual interface, reduce overhead of completion by using statistic method, extensibility.") (license license:gpl3+))) +(define-public emacs-autocrypt + (let ((commit "5b55f8d37545e9c441788627c17e350d7edf4055") + (revision "0")) + (package + (name "emacs-autocrypt") + (version (git-version "0.4.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~pkal/autocrypt") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b06xnjkgwjpxl96mdi674pmvdaiwncifi1a30wxhl1dwr7kr084")))) + (build-system emacs-build-system) + (home-page "https://git.sr.ht/~pkal/autocrypt") + (synopsis "Autocrypt implementation for Emacs") + (description "@code{emacs-autocrypt} is an implementation of +Autocrypt (@url{https://autocrypt.org/}) for various Emacs MUAs. Autocrypt is +a cryptographic protocol for email clients aiming to simplify key exchange and +encryption. + +Run @code{M-x autocrypt-create-account} to initialize an autocrypt key, and +add @code{autocrypt-mode} to your MUA's hooks (@code{gnus-mode-hook}, +@code{message-mode-hook}, ...) to activate its usage.") + (license license:cc0)))) + (define-public emacs-nginx-mode (package (name "emacs-nginx-mode") @@ -12578,7 +12889,7 @@ type an abbreviation and automatically expand it into function templates.") (define-public emacs-yasnippet-snippets (package (name "emacs-yasnippet-snippets") - (version "0.24") + (version "1.0") (source (origin (method git-fetch) @@ -12587,7 +12898,7 @@ type an abbreviation and automatically expand it into function templates.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ak0drxlg3m2v4ya5chpgl82rcl7ic2nmnybhpw1qk51mcmv643y")))) + (base32 "0m78jxhjyf4212ig2ncxr6bhhd6yx4c3nc8x4ylamzq21x4fl21r")))) (build-system emacs-build-system) (arguments `(#:include (cons* "^snippets\\/" %default-include))) @@ -13220,7 +13531,7 @@ to the home page or read the comments in the source file, (define-public emacs-htmlize (package (name "emacs-htmlize") - (version "1.55") + (version "1.56") (source (origin (method git-fetch) @@ -13229,7 +13540,7 @@ to the home page or read the comments in the source file, (commit (string-append "release/" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0gi3xshscpa53qrj8yplfsqahcilc2ybcc2p7gnh5nbnf2n1n97x")))) + (base32 "14m8si49br62lgx7asdyp9jysq0v6midrfk32sxy521ydqmqr3c1")))) (build-system emacs-build-system) (home-page "https://github.com/hniksic/emacs-htmlize") (synopsis "Convert buffer text and decorations to HTML") @@ -13313,7 +13624,7 @@ configuration of Chinese fonts.") (define-public emacs-boon (package (name "emacs-boon") - (version "1.1") + (version "1.2") (source (origin (method git-fetch) @@ -13322,7 +13633,7 @@ configuration of Chinese fonts.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1ss9bjs34q41pa0g0nbdzd8fwpjcbd2239rdlx5aykfv9v0b8j77")))) + (base32 "18il2licf8pgfcrpx2bk55gpf8f537kb9cxqz83jldkhiyry74il")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -13342,16 +13653,16 @@ reached with the right hand.") (define-public emacs-csharp-mode (package (name "emacs-csharp-mode") - (version "0.11.0") + (version "0.12.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/josteink/csharp-mode") - (commit (string-append "v" version)))) + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0aq6ln92jr3hcrd1592n4s5cb079fly7qaj2hm510p9zckyfx230")))) + (base32 "1x40xm9d5sbxbnyxl12ppkzlgxzyn0bjg2vmc139jpkazmmw7r7k")))) (build-system emacs-build-system) (home-page "https://github.com/josteink/csharp-mode") (synopsis "Major mode for C# code") @@ -13445,13 +13756,13 @@ containing words from the Rime project.") (define-public emacs-pyim (package (name "emacs-pyim") - (version "3.9.2") + (version "3.9.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar")) (sha256 - (base32 "18m5wni1zns8fad2ll9flbfgxfy14gi03apnycajdbqxsqfp65j9")))) + (base32 "0ggnl2jidcklyhqd5av5kk1f855gsq29wq2nhvp1yjzn35hz6xij")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) @@ -13466,6 +13777,28 @@ containing words from the Rime project.") shuangpin, wubi and cangjie.") (license license:gpl2+))) +(define-public emacs-pinyinlib + (package + (name "emacs-pinyinlib") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cute-jumper/pinyinlib.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1nwj4c3y0kdlkf3jqd2dnibaiazrq6qcj533xk2qw4wmx072yij0")))) + (build-system emacs-build-system) + (home-page "https://github.com/cute-jumper/pinyinlib.el") + (synopsis "Convert first letter of Pinyin to Chinese characters") + (description + "This Emacs library provides functionality for converting the first +letter of Pinyin to Simplified/Traditional Chinese characters.") + (license license:gpl3+))) + (define-public emacs-reverse-im (package (name "emacs-reverse-im") @@ -14793,10 +15126,31 @@ query them from the comfort of your editor.") (home-page "https://github.com/hrs/engine-mode") (license license:gpl3+))) +(define-public emacs-inheritenv + (package + (name "emacs-inheritenv") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/purcell/inheritenv") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ygzf70vfb7qwpsllcq5i3brprsnx3sxy2zng02mzwrr5jkx4ypc")))) + (build-system emacs-build-system) + (home-page "https://github.com/purcell/inheritenv/releases") + (synopsis "Emacs temp buffers inherit buffer-local environment variables") + (description + "Inheritenv provides tools to execute processes inheriting the calling +buffer's environment.") + (license license:gpl3+))) + (define-public emacs-envrc (package (name "emacs-envrc") - (version "0.2") + (version "0.4") (source (origin (method git-fetch) @@ -14806,8 +15160,10 @@ query them from the comfort of your editor.") (file-name (git-file-name name version)) (sha256 (base32 - "0ssf9i6iym2rb530k2w5aj392qa73i6p5y0vwrs5qhkv9lagqq7p")))) + "0nqqx4qlw75lmbn0v927sg3xyjkk86ihw1q3rdbbn59va41grds4")))) (build-system emacs-build-system) + (propagated-inputs + `(("emacs-inheritenv" ,emacs-inheritenv))) (home-page "https://github.com/purcell/envrc") (synopsis "Support for Direnv which operates buffer-locally") (description @@ -15328,14 +15684,14 @@ let users kill or mark things easily.") (define-public emacs-csv-mode (package (name "emacs-csv-mode") - (version "1.15") + (version "1.16") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "csv-mode-" version ".tar")) (sha256 - (base32 "0pigqhqg5mfza6jdskcr9yvrzdxnd68iyp3vyb8p8wskdacmbiyx")))) + (base32 "1i43b2p31xhrf97xbdi35y550ysp69fasa5gcrhg6iyxw176807p")))) (build-system emacs-build-system) (home-page "https://elpa.gnu.org/packages/csv-mode.html") (synopsis "Major mode for editing comma/char separated values") @@ -15569,7 +15925,7 @@ Features: (define-public emacs-evil-matchit (package (name "emacs-evil-matchit") - (version "2.3.12") + (version "2.4.0") (source (origin (method git-fetch) @@ -15578,7 +15934,7 @@ Features: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0l4ash907d91vccqdxjz1v5spd8f4va0vrdri6h9y1qc67mjlsph")))) + (base32 "1ls58wdjhs4q18bj3izflj0bb5fwafyr520y1j9kj29clqn73kxh")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) @@ -15668,29 +16024,38 @@ supports multiple backends such as @code{vlc}, @code{mpg123}, (define-public emacs-groovy-modes (package (name "emacs-groovy-modes") - (version "2.0") + (version "2.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes") - (commit version))) + (url "https://github.com/Groovy-Emacs-Modes\ +/groovy-emacs-modes") + (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "0c1d4cbnlny8gpcd20zr1wxx6ggf28jgh7sgd5r1skpsvjpbfqx2")))) + "1jpfyqnqd8nj0g8xbiw4ar2qzxx3pvhwibr6hdzhyy9mmc4yzdgk")))) (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("ert-runner"))) + (native-inputs + `(("emacs-ert-runner" ,emacs-ert-runner) + ("emacs-undercover" ,emacs-undercover) + ("emacs-shut-up" ,emacs-shut-up) + ("emacs-f" ,emacs-f))) (propagated-inputs - `(("emacs-s" ,emacs-s))) + `(("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s))) (home-page "https://github.com/Groovy-Emacs-Modes/groovy-emacs-modes") (synopsis "Groovy related modes for Emacs") - (description - "This package provides @code{groovy-mode} for syntax highlighting in -Groovy source files, REPL integration with run-groovy and Grails project -navigation with the grails mode.") + (description "This package provides @code{groovy-mode} for syntax +highlighting in Groovy source files, REPL integration with run-groovy and +Grails project navigation with the grails mode.") (license license:gpl3+))) (define-public emacs-jenkinsfile-mode - (let ((commit "00d259ff9b870d234540e00e1d7c83cccdb063b8") + (let ((commit "65bf3925852c35c6bd499978f08f83c1193f4347") (revision "1")) (package (name "emacs-jenkinsfile-mode") @@ -15703,7 +16068,7 @@ navigation with the grails mode.") (file-name (git-file-name name version)) (sha256 (base32 - "0srf6xdjnrd4v4ks9pal7i48wmkcl4q5ry7d0yzfx1c9pz2qg9zx")))) + "0w38g88yykslg71xr99ff4vx1ffgy90b7xqvvdflr189gwk3avx1")))) (propagated-inputs `(("emacs-groovy-modes" ,emacs-groovy-modes))) (build-system emacs-build-system) @@ -15858,7 +16223,7 @@ the format.") (define-public emacs-nov-el (package (name "emacs-nov-el") - (version "0.3.3") + (version "0.3.4") (source (origin (method git-fetch) @@ -15868,10 +16233,11 @@ the format.") (file-name (git-file-name name version)) (sha256 (base32 - "116klnjyggwfwvs9nqhpv97m00k63q6lg41ph41kywsqkfy42dlk")))) + "0va9xjrq30cv5kb59a4rq5mcm83ggnv774r8spmskff3hj8012wf")))) (build-system emacs-build-system) (arguments - `(#:phases + `(#:emacs ,emacs ;need libxml + #:phases (modify-phases %standard-phases (add-after 'unpack 'embed-path-to-unzip (lambda _ @@ -15949,6 +16315,34 @@ Features: the pipeline, featuring the support for running @code{emacsclient}.") (license license:gpl3+))) +(define-public emacs-jupyter + (package + (name "emacs-jupyter") + (version "0.8.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nnicandro/emacs-jupyter") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1sr007wsl2y6wqpzkmv3inbpwhvgdcb2nmqzgfg7w1awapi2r13p")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) ;optional + ("emacs-markdown-mode" ,emacs-markdown-mode) ;optional + ("emacs-simple-httpd" ,emacs-simple-httpd) + ("emacs-websocket" ,emacs-websocket) + ("emacs-zmq" ,emacs-zmq))) + (home-page "https://github.com/nnicandro/emacs-jupyter") + (synopsis "Emacs interface to communicate with Jupyter kernels") + (description "This package provides an Emacs interface to communicate with +Jupyter kernels. It provides REPL and @code{org-mode} source code block +frontends to Jupyter kernels and kernel interactions integrated with Emacs' +built-in features.") + (license license:gpl3+))) + (define-public emacs-hcl-mode (package (name "emacs-hcl-mode") @@ -16877,7 +17271,7 @@ tables of contents.") (define-public emacs-ts (package (name "emacs-ts") - (version "0.2") + (version "0.2.2") (source (origin (method git-fetch) @@ -16885,7 +17279,7 @@ tables of contents.") (url "https://github.com/alphapapa/ts.el") (commit version))) (sha256 - (base32 "0hmzc1ppnkkr0lfq5fhzqr6icv6iqz824a6bnns7zr466hhqp3qb")) + (base32 "0l35gz1hpada2kzascbyqgawa5d3sdyg67gzvak84p9zx62jppn8")) (file-name (git-file-name name version)))) (build-system emacs-build-system) (propagated-inputs @@ -17124,7 +17518,7 @@ files to be expanded upon opening them.") (define-public emacs-parsebib (package (name "emacs-parsebib") - (version "2.4.1") + (version "3.0.1") (source (origin (method git-fetch) @@ -17133,7 +17527,7 @@ files to be expanded upon opening them.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1d3ysh82gh5mg07hlz3ll782lldnaj0xmyabv18jln4y2xd7ncni")))) + (base32 "1hd6izpb4irinjmfy7zxy8fqnr1fm4iw2sipvl9261nm68dzha6z")))) (build-system emacs-build-system) (home-page "https://github.com/joostkremers/parsebib") (synopsis "Library for parsing @file{.bib} files") @@ -17144,7 +17538,7 @@ files to be expanded upon opening them.") (define-public emacs-ebib (package (name "emacs-ebib") - (version "2.32.1") + (version "2.32.2") (source (origin (method git-fetch) @@ -17153,7 +17547,7 @@ files to be expanded upon opening them.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1xgpdw0sxl2c9dn6x6fk0rqpqlqxsjlj0vyag611blj600br7dqr")))) + (base32 "04kw0akp35r2ibrcav4kaf34d1xs8pckjiygv7h1nqpv6dmrgfq7")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-biblio" ,emacs-biblio) @@ -17726,53 +18120,49 @@ confused by comments or @code{foo-bar} matching @code{foo}.") (license license:gpl3+))) (define-public emacs-crdt - (let ((commit "44068ae505adf2c3a7bdbf6723a25fc45d6d1666") - (revision "0")) - (package - (name "emacs-crdt") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://code.librehq.com/qhong/crdt.el") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "130fkhvi757pfnbz70g6nw2n71k89cwwx7yzvsd5v177228c8w7w")))) - (build-system emacs-build-system) - (home-page "https://code.librehq.com/qhong/crdt.el") - (synopsis "Real-time collaborative editing environment") - (description - "@code{crdt.el} is a real-time collaborative editing environment for + (package + (name "emacs-crdt") + (version "0.1.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://code.librehq.com/qhong/crdt.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0455n75nan7abwnp7zfvrdbqmvlvfp0sf1ififr57h3sqsx3llhk")))) + (build-system emacs-build-system) + (home-page "https://code.librehq.com/qhong/crdt.el") + (synopsis "Real-time collaborative editing environment") + (description + "@code{crdt.el} is a real-time collaborative editing environment for Emacs using Conflict-free Replicated Data Types. With it, you can share multiple buffer in one session, and see other users’ cursor and region. It also synchronizes Org mode folding status. It should work with all of Org mode.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-crux - (let ((commit "308f17d914e2cd79cbc809de66d02b03ceb82859") - (revision "2")) - (package - (name "emacs-crux") - (version (git-version "0.3.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/bbatsov/crux") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0rf84finwlvmy0xpgyljjvnrijlmkzjyw9rh97svgxp9c1rzfk0x")))) - (build-system emacs-build-system) - (home-page "https://github.com/bbatsov/crux") - (synopsis "Collection of useful functions for Emacs") - (description - "@code{crux} provides a collection of useful functions for Emacs.") - (license license:gpl3+)))) + (package + (name "emacs-crux") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbatsov/crux") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h28chpyq61k72qh749r5kqq1y70wx3xw9c3zyfzmy750wlw6nyj")))) + (build-system emacs-build-system) + (home-page "https://github.com/bbatsov/crux") + (synopsis "Collection of useful functions for Emacs") + (description + "@code{crux} provides a collection of useful functions for Emacs.") + (license license:gpl3+))) (define-public emacs-edit-server (package @@ -18375,37 +18765,34 @@ their meaning for the current Emacs major-mode.") (license license:gpl3+))) (define-public emacs-org-ref - ;; No release since June 2017. - (let ((commit "5bb9be2232db72b04754d7e4c02a3976ad422f6f") - (revision "2")) - (package - (name "emacs-org-ref") - (version (git-version "1.1.1" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jkitchin/org-ref") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "15gcvbfj19kyv4nxa632b261dwhb26m99plq230qhv9ssfwfgxbx")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-f" ,emacs-f) - ("emacs-helm" ,emacs-helm) - ("emacs-helm-bibtex" ,emacs-helm-bibtex) - ("emacs-htmlize" ,emacs-htmlize) - ("emacs-hydra" ,emacs-hydra) - ("emacs-ivy" ,emacs-ivy) - ("emacs-key-chord" ,emacs-key-chord) - ("emacs-pdf-tools" ,emacs-pdf-tools) - ("emacs-s" ,emacs-s))) - (home-page "https://github.com/jkitchin/org-ref") - (synopsis "Citations, cross-references and bibliographies in Org mode") - (description - "Org Ref is an Emacs library that provides rich support for citations, + (package + (name "emacs-org-ref") + (version "2.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jkitchin/org-ref") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xd1qp8dfy8n8b2n3rsdzm8vrfl7dii142kw330s8jp3pavww1f6")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-helm" ,emacs-helm) + ("emacs-helm-bibtex" ,emacs-helm-bibtex) + ("emacs-htmlize" ,emacs-htmlize) + ("emacs-hydra" ,emacs-hydra) + ("emacs-ivy" ,emacs-ivy) + ("emacs-key-chord" ,emacs-key-chord) + ("emacs-pdf-tools" ,emacs-pdf-tools) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/jkitchin/org-ref") + (synopsis "Citations, cross-references and bibliographies in Org mode") + (description + "Org Ref is an Emacs library that provides rich support for citations, labels and cross-references in Org mode. The basic idea of Org Ref is that it defines a convenient interface to insert @@ -18423,13 +18810,13 @@ a DOI. Org Ref is especially suitable for Org documents destined for LaTeX export and scientific publication. Org Ref is also useful for research documents and notes.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-org-reveal - (let ((commit "84039bb499290926511b04749882ecb5eda45a0c")) + (let ((commit "fe9148b670d144124d9697fcf5d0528f19025104")) (package (name "emacs-org-reveal") - (version (git-version "20200607" "1" commit)) + (version (git-version "20210902" "1" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -18438,7 +18825,7 @@ notes.") (file-name (git-file-name name version)) (sha256 (base32 - "1fx3xmnkpfljrdmy0dsyq79k93ky57gcqm1ad9qbzykk7qjvmmi8")))) + "034gkbc03z9jzj7ad34mmqgmvj4f14ap7iixh3zx4wp2ipw5xb7c")))) (build-system emacs-build-system) (home-page "https://github.com/yjwen/org-reveal") (synopsis "Org and Reveal.js powered HTML presentation tool") @@ -18450,7 +18837,7 @@ powerful Org contents.") (define-public emacs-org-re-reveal (package (name "emacs-org-re-reveal") - (version "3.9.0") + (version "3.10.0") (source (origin (method git-fetch) (uri (git-reference @@ -18459,7 +18846,7 @@ powerful Org contents.") (file-name (git-file-name name version)) (sha256 (base32 - "1w6zvgfcyjqlxy4s13h7w66vv0fcid57s6vigzgnzi666w86fdyh")))) + "1bc01ybs498x0b6l136czp2y6js8ngwc9jkrmahnqdkkvm65il5y")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-htmlize" ,emacs-htmlize) @@ -18538,6 +18925,28 @@ blank slate) and is clearly highlighted with respect to the rest of the buffer.") (license license:gpl2+))) +(define-public emacs-hideshowvis + (let ((commit "614e856620445166a60c00a1c4653dbd59c871c9") + (revision "1")) + (package + (name "emacs-hideshowvis") + (version (git-version "0.7" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sheijk/hideshowvis") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ykj5jwcm03p5h7sd52qndmzihyan09lqg6rzgmyabvw7p56y90m")))) + (build-system emacs-build-system) + (home-page "https://github.com/sheijk/hideshowvis") + (synopsis "Add icons in the Emacs fringe which @code{hideshow} can hide") + (description "Emacs package to add clickable icons in the fringe for +regions which @code{hideshow} can hide.") + (license license:gpl2+)))) + (define-public emacs-know-your-http-well (package (name "emacs-know-your-http-well") @@ -18748,30 +19157,27 @@ time is being spent during Emacs startup in order to optimize startup time.") (license license:gpl3+))) (define-public emacs-magit-gerrit - (let ((version "0.3") - (revision "1") - (commit "ece6f369694aca17f3ac166ed2801b432acfe20d")) - (package - (name "emacs-magit-gerrit") - (version (git-version version revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/terranpro/magit-gerrit") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0mms0gxv9a3ns8lk5k2wjibm3088y1cmpr3axjdh6ppv7r5wdvii")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-magit" ,emacs-magit))) - (home-page "https://github.com/terranpro/magit-gerrit") - (synopsis "Magit extension for Gerrit") - (description "This Magit extension provides integration with Gerrit, + (package + (name "emacs-magit-gerrit") + (version "0.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/terranpro/magit-gerrit") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1q4kcr2ha2kir7pj0cshmgllgq51543syxkkk5jk3ksfiaba4crj")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-magit" ,emacs-magit))) + (home-page "https://github.com/terranpro/magit-gerrit") + (synopsis "Magit extension for Gerrit") + (description "This Magit extension provides integration with Gerrit, which makes it possible to conduct Gerrit code reviews directly from within Emacs.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-magit-org-todos-el (package @@ -20744,28 +21150,51 @@ server with @code{M-x pinentry-start}.") (license license:gpl3+)))) (define-public emacs-so-long - (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c") - (revision "2")) - (package - (name "emacs-so-long") - (version (git-version "1.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://git.savannah.gnu.org/git/so-long.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin")))) - (build-system emacs-build-system) - (home-page "https://www.emacswiki.org/emacs/SoLong") - (synopsis "Improve performance in files with long lines") - (description "This package improves the performance of Emacs when + (package + (name "emacs-so-long") + (version "1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.savannah.gnu.org/git/so-long") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d886fgsbly7wpm6ppll45yq3y87a27wy5c6m0gqxq5jb4q0q7d2")))) + (build-system emacs-build-system) + (home-page "https://www.emacswiki.org/emacs/SoLong") + (synopsis "Improve performance in files with long lines") + (description "This package improves the performance of Emacs when viewing files with long lines. It is included as standard with Emacs 27 or later.") - (license license:gpl3+)))) + (license license:gpl3+))) + +(define-public emacs-srfi + ;; SRFI data gets updated quite frequently; lastest tag is from + ;; 2020; commit from 2021-08-12. + (let ((commit "e31bf04a3be3aad1286b7fe919c2e4810aae751e") + (revision "0")) + (package + (name "emacs-srfi") + (version (git-version "0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/srfi-explorations/emacs-srfi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01n3yrjrdl2gdhvgd56lpjqg9d82mmrnb0h6hxdx4h5hy8sbk2p4")))) + (build-system emacs-build-system) + (home-page "https://github.com/srfi-explorations/emacs-srfi") + (synopsis "Scheme Requests for Implementation browser in Emacs") + (description + "This package shows a list of all SRFIs and provides commands to visit +them in your web browser.") + (license license:expat)))) (define-public emacs-github-review (let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232") @@ -21697,7 +22126,7 @@ backends, including the @command{wordnet} offline backend.") (define-public emacs-editorconfig (package (name "emacs-editorconfig") - (version "0.8.1") + (version "0.8.2") (source (origin (method git-fetch) @@ -21707,7 +22136,7 @@ backends, including the @command{wordnet} offline backend.") (file-name (git-file-name name version)) (sha256 (base32 - "1djlhkap7zddknzvjsjz0agpfsms1ih05zcpg1bikid2vs4gddyr")))) + "1lqxgc24gr67yhi64i9v4w2dcjhpx99jg1kr25gr2byqkkdldkz0")))) (build-system emacs-build-system) (home-page "https://github.com/editorconfig/editorconfig-emacs") (synopsis "Define and maintain consistent coding styles between different @@ -22989,7 +23418,7 @@ recursively. The results are cached for speed.") (define-public emacs-orgit (package (name "emacs-orgit") - (version "1.7.0") + (version "1.7.1") (home-page "https://github.com/magit/orgit") (source (origin (method git-fetch) @@ -22999,7 +23428,7 @@ recursively. The results are cached for speed.") (file-name (git-file-name name version)) (sha256 (base32 - "1xd58yqqsb79lgxkhxs4s50jq8f3639k6fhlza9hsy53apfczkal")))) + "0mbcr98xq3zim01dk1fbyc1vajnjwx90k62mygv343rhrd05v44m")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -23137,7 +23566,7 @@ constant expressions.") (define-public emacs-dockerfile-mode (package (name "emacs-dockerfile-mode") - (version "1.4") + (version "1.5") (source (origin (method git-fetch) @@ -23147,7 +23576,7 @@ constant expressions.") (file-name (git-file-name name version)) (sha256 (base32 - "1ypkihd9si769r6k0lfrv8jq8mjv4gyhiwyi820sayfppvma5rj0")))) + "09pd8mfa45fy95mdg52fsafj3d1d5l52rskmw6q5np59dyzwch1b")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-s" ,emacs-s))) @@ -23161,7 +23590,7 @@ the standard @code{Dockerfile} file format.") (define-public emacs-lsp-mode (package (name "emacs-lsp-mode") - (version "7.0.1") + (version "8.0.0") (source (origin (method git-fetch) @@ -23170,8 +23599,19 @@ the standard @code{Dockerfile} file format.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1z8zm7qr21hvhl6rnbznv2l9drh1pp5y4zkjrx5ac4x77b8i4aaz")))) + (base32 "1a6jc9sxf9b8fj9h8xlv5k546bkzsy8j5nj19cfama389z0bzcsl")))) (build-system emacs-build-system) + (arguments + `(#:emacs ,emacs ;need libxml support + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'move-clients-libraries + ;; Move all clients libraries at top-level, as is done, e.g., in + ;; MELPA. + (lambda _ + (for-each (lambda (f) + (install-file f ".")) + (find-files "clients/" "\\.el$"))))))) (propagated-inputs `(("emacs-dash" ,emacs-dash) ("emacs-f" ,emacs-f) @@ -23191,7 +23631,7 @@ Projectile.") (define-public emacs-lsp-treemacs (package (name "emacs-lsp-treemacs") - (version "0.3") + (version "0.4") (source (origin (method git-fetch) @@ -23200,7 +23640,7 @@ Projectile.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1z9cb7i546pbzvxii6lsj31jq8m70xrzscphl5z71vh93sydyhkb")))) + (base32 "05ivqa5900139jzjhwc3nggwznhm8564dz4ydcxym2ddd63571k0")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-lsp-mode" ,emacs-lsp-mode) @@ -23215,7 +23655,7 @@ and implementation of treeview controls using treemacs as a tree renderer.") (define-public emacs-dap-mode (package (name "emacs-dap-mode") - (version "0.6") + (version "0.7") (source (origin (method git-fetch) @@ -23224,7 +23664,7 @@ and implementation of treeview controls using treemacs as a tree renderer.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1d4hdydfk86d4slibigyhwng8wx3vzyap8hp5iv0h7wr6868m4iv")))) + (base32 "1zczmcv8562lachkvcwy6njn7zkgny08iznpmrx821wr8mh52wnn")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-bui" ,emacs-bui) @@ -23453,7 +23893,7 @@ files in Elisp.") (define-public emacs-lsp-ui (package (name "emacs-lsp-ui") - (version "7.0.1") + (version "8.0.0") (source (origin (method git-fetch) (uri (git-reference @@ -23462,7 +23902,7 @@ files in Elisp.") (file-name (git-file-name name version)) (sha256 (base32 - "09dmhhxmfjnzdc5kygwsjf8nwqlnq9rbgrca679s2wy93miqj7vc")))) + "00yirx6qzlb8fv8rd53zaw93nw72z3br40rb16scdqj1v20qsp47")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -23503,7 +23943,7 @@ and code peeking.") (define-public emacs-lsp-ivy (package (name "emacs-lsp-ivy") - (version "0.4") + (version "0.5") (source (origin (method git-fetch) @@ -23512,7 +23952,7 @@ and code peeking.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "08dpn0vcfdwwysijwdpnnj91m69yw0q464i0wmp51zpj3dyd4kb1")))) + (base32 "0nb9ypa8hyx7i38rbywh8hn2i5f9l2l567hvdr9767fk279yr97n")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -23567,7 +24007,7 @@ workspaces with a LSP-compliant server running.") (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) - ("notmuch" ,notmuch))) + ("emacs-notmuch" ,emacs-notmuch))) (synopsis "Search emails with Emacs Notmuch and Helm") (description "This package can be used to search emails in Emacs, searching result @@ -23590,7 +24030,7 @@ real search.") "0pmikf1djkr07067nkgmdcxyn7l7ibswx6qlnai8v1v51f9h1g9q")))) (build-system emacs-build-system) (propagated-inputs - `(("notmuch" ,notmuch))) + `(("emacs-notmuch" ,emacs-notmuch))) (home-page "https://git.sr.ht/~tarsius/notmuch-maildir") (synopsis "Visualize maildirs as a tree") (description @@ -24406,7 +24846,7 @@ previewed by scrolling up and down within a @code{dired} buffer.") (define-public emacs-counsel-etags (package (name "emacs-counsel-etags") - (version "1.9.16") + (version "1.9.17") (source (origin (method git-fetch) @@ -24415,13 +24855,13 @@ previewed by scrolling up and down within a @code{dired} buffer.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "01si554r0s6m7ypx1m2n0z6j6q6yihifz76dha6q6v56ixdlv626")))) + (base32 "07445bbr68q1pnwpj5bwqmml9ky1gq67g24zswv8fylnzjkhy9wc")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-counsel" ,emacs-counsel))) (arguments - `(#:tests? #t - #:test-command '("make" "test"))) + `(#:tests? #f ;require internet access + #:test-command '("make test"))) (home-page "https://github.com/redguardtoo/counsel-etags") (synopsis "Fast @code{Ctags}/@code{Etags} solution with @code{ivy-mode}") (description "This package uses @code{ivy-mode} to facilitate navigating @@ -24773,14 +25213,14 @@ well as an option for visually flashing evaluated s-expressions.") (define-public emacs-tramp (package (name "emacs-tramp") - (version "2.5.1") + (version "2.5.1.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "tramp-" version ".tar")) (sha256 - (base32 "1r7wifhzy2ipdlc4fqnx6549fnx45ggz57wh0cp7s6y25761si7q")))) + (base32 "0p8m8prxrvrr455ahb626c1dry04m80y017h16ngr4i5ais0r85g")))) (build-system emacs-build-system) (arguments `(#:emacs ,emacs ;need D-Bus @@ -24833,7 +25273,7 @@ with passwords for paths matching regexps.") (define-public emacs-eacl (package (name "emacs-eacl") - (version "2.0.4") + (version "2.1.0") (source (origin (method git-fetch) @@ -24843,7 +25283,7 @@ with passwords for paths matching regexps.") (file-name (git-file-name name version)) (sha256 (base32 - "0fxb2lv4cqdjxarqhzjgfc43sncc1c6m96n0aflm8l4gdmm090kq")))) + "0n1vlzvq5mv7z1yffjjqm9ixd3r0cljr60kg55l9pj9kp72a4iv8")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy))) @@ -25266,7 +25706,7 @@ it forcibly (define-public emacs-elpher (package (name "emacs-elpher") - (version "2.10.2") + (version "3.2.2") (source (origin (method git-fetch) @@ -25275,7 +25715,7 @@ it forcibly (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0xqiisirpvw4ka9417pq4r73x937wl3qbf8cpn2i03akm8d58smd")))) + (base32 "0fzqm5gpadqzsl71r1bq72ki8dw8125v4nmhdd3b4rz9jy1rqm2g")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -25529,14 +25969,14 @@ federated microblogging social network.") (define-public emacs-ebdb (package (name "emacs-ebdb") - (version "0.6.24") + (version "0.8.4") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "ebdb-" version ".tar")) (sha256 - (base32 "0156rh6fkv2yp509h6i8qzh4gsda2mcmfrxl4r6ywn1z5ahijc3r")))) + (base32 "0n811af83fqpzq9513gf240gnz7qkwrjw07qs4sra4069q0pwnjr")))) (build-system emacs-build-system) (home-page "https://github.com/girzel/ebdb") (synopsis "EIEIO port of BBDB, Emacs's contact-management package") @@ -25880,7 +26320,7 @@ Emacs that integrate with major modes like Org-mode.") (define-public emacs-modus-themes (package (name "emacs-modus-themes") - (version "1.4.0") + (version "1.5.0") (source (origin (method git-fetch) @@ -25889,7 +26329,7 @@ Emacs that integrate with major modes like Org-mode.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1lw3spg7r7ga8sl2pnr1snviqgbvhxayl1mm7dny720a8mgv49f0")))) + (base32 "1yz5yr3acc601xcms7vr2jbj4bq6dqz8n5ymyfyxldid0n5ykzy4")))) (build-system emacs-build-system) (home-page "https://protesilaos.com/modus-themes/") (synopsis "Accessible themes (WCAG AAA)") @@ -26215,7 +26655,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.") (define-public emacs-telega-server (package (name "emacs-telega-server") - (version "0.7.025") + (version "0.7.030") (source (origin (method git-fetch) @@ -26223,25 +26663,24 @@ other @code{helm-type-file} sources such as @code{helm-locate}.") (url "https://github.com/zevlg/telega.el") (commit (string-append "v" version)))) (sha256 - (base32 "1fdvghwpmja94d65p02j7wa09lwjs3ah1kfb1v17b6l9qd5g80nc")) + (base32 "1g29v5fgkqx43wsvh1npx0g3hj00n37lxgvxjvy85fs4h9226gl9")) (file-name (git-file-name "emacs-telega" version)) (patches (search-patches "emacs-telega-path-placeholder.patch" "emacs-telega-test-env.patch")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "INSTALL_PREFIX=" + (assoc-ref %outputs "out") "/bin")) + #:phases (modify-phases %standard-phases (add-before 'configure 'enter-subdirectory (lambda _ (chdir "server") #t)) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (substitute* "Makefile" - (("CC=cc") ,(string-append "CC=" (cc-for-target))) - (("^(INSTALL_PREFIX=).*$" _all prefix) - (string-append prefix out "/bin\n"))) - (substitute* "run_tests.py" (("^(TELEGA_SERVER = ).*$" _all prefix) (string-append prefix @@ -26274,6 +26713,7 @@ service, and connect it with Emacs via inter-process communication.") emacs-minimal ;; Require wide-int support for 32-bit platform. emacs-wide-int) + #:include (cons "^etc\\/" %default-include) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-sources @@ -26300,24 +26740,8 @@ service, and connect it with Emacs via inter-process communication.") (search-input-file inputs "/bin/telega-server"))) (substitute* "telega-util.el" (("@TELEGA_SHARE@") - (string-append (assoc-ref outputs "out") - "/share/emacs-telega"))))) - (add-after 'install 'install-share-files - (lambda* (#:key outputs #:allow-other-keys) - (define install-plan - '("langs" "sounds" "emojis.alist" - "verified.svg" "telega-logo.svg")) - - (define prefix (string-append (assoc-ref outputs "out") - "/share/emacs-telega")) - (with-directory-excursion "etc" - (for-each (lambda (file) - (if (file-is-directory? file) - (let ((dest (string-append prefix "/" file))) - (copy-recursively file dest)) - (install-file file prefix))) - install-plan)) - #t))))) + (string-append (elpa-directory (assoc-ref outputs "out")) + "/etc")))))))) (inputs `(("emacs-telega-server" ,emacs-telega-server) ("ffmpeg" ,ffmpeg))) @@ -27129,6 +27553,31 @@ with Helm and displays a buffer of all the different result types available to Wordnet.") (license license:gpl3+)))) +(define-public emacs-helm-xref + (let ((commit "23f1174cfca7667d95828dcd388c655a4a9c877d") + (revision "1")) + (package + (name "emacs-helm-xref") + (version (git-version "0.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/brotzeit/helm-xref") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v0lkabpi1n4hgnp28jk19f7b78yk93ssm0gr0fr25yqx5zskdnk")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-helm" ,emacs-helm))) + (home-page "https://github.com/brotzeit/helm-xref") + (synopsis "Helm interface for @code{xref}") + (description "This package provides a Helm interface for selecting +@code{xref} results.") + (license license:gpl3+)))) + (define-public emacs-metal-mercury-mode (let ((commit "99e2d8fb7177cae3bfa2dec2910fc28216d5f5a8") (revision "1") @@ -27807,7 +28256,7 @@ snippets for Emacs.") (define-public emacs-org-roam (package (name "emacs-org-roam") - (version "1.2.4") + (version "2.1.0") (source (origin (method git-fetch) @@ -27816,11 +28265,20 @@ snippets for Emacs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10jrnjq65lpg1x8d7lqc537yai9m6pdnfbzwr87fcyv6f8yii8xn")))) + (base32 "092xn0sqc7b7f6pdf7m6c3giqqbh6fq02mfz8qrg0wmx4ds1isqp")))) (build-system emacs-build-system) (arguments `(#:phases (modify-phases %standard-phases + ;; Move the extensions source files to the top level, which is included in + ;; the EMACSLOADPATH. + (add-after 'unpack 'move-source-files + (lambda _ + (let ((el-files (find-files "./extensions" ".*\\.el$"))) + (for-each (lambda (f) + (rename-file f (basename f))) + el-files)) + #t)) (add-after 'install 'install-image (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -27839,6 +28297,7 @@ snippets for Emacs.") `(("emacs-dash" ,emacs-dash) ("emacs-emacsql-sqlite3" ,emacs-emacsql-sqlite3) ("emacs-f" ,emacs-f) + ("emacs-magit" ,emacs-magit) ("emacs-org" ,emacs-org) ("emacs-s" ,emacs-s))) (home-page "https://github.com/org-roam/org-roam/") @@ -27853,7 +28312,7 @@ personal wiki.") (define-public emacs-org-roam-bibtex (package (name "emacs-org-roam-bibtex") - (version "0.6.0-pre.2") + (version "0.6.0") (source (origin (method git-fetch) @@ -27862,7 +28321,7 @@ personal wiki.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0cjj7lx73qg4yw84r3b8fqhp5r74bzi57nvnvbvbck4i33ywqwx5")))) + (base32 "04vc2w7x2lyamp0qa1y274smsf9x2qxr1igrpz9f4y5ha5332px5")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm-bibtex" ,emacs-helm-bibtex) @@ -27958,6 +28417,35 @@ provides a simple but convenient user interface to manage those trashed files.") (license license:gpl3+))) +(define-public emacs-placeholder + ;; No tags. + (let ((commit "b80cb152ddd63db40cc581eafee9d2ac08328df8")) + (package + (name "emacs-placeholder") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oantolin/placeholder") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ifiaxrp7inj70a3zf5137dih4b1sw38zmkp3h7dj79k2bv7h34h")))) + (build-system emacs-build-system) + (home-page "https://github.com/oantolin/placeholder") + (synopsis "Treat any buffer as a template with placeholders to fill-in") + (description + "This package provides a simple way to treat text in a buffer as a template +with placeholders where text needs to be filled in. Any occurrence of +@code{<++>} in the buffer is a placeholder. You can navigate among the +placeholder with the placeholder-forward and placeholder-backward commands. +They move the point to the next placeholder in the specified direction and +delete the placeholder so you can immediately start typing the text that +should replace it. However, if you call them again immediately after, they +restore that occurrence of the placeholder and move to the next.") + (license license:gpl3+)))) + (define-public emacs-plantuml-mode (package (name "emacs-plantuml-mode") @@ -28043,6 +28531,28 @@ Features: @end itemize\n") (license license:gpl3+))) +(define-public emacs-pcmpl-args + (package + (name "emacs-pcmpl-args") + (version "0.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JonWaltman/pcmpl-args.el") + (commit version))) + (sha256 + (base32 "19xwwpfcf0l9jh7xixyjd5adivj27jw00zvxb7n1240k5p332pzi")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (home-page "https://github.com/JonWaltman/pcmpl-args.el") + (synopsis "Enhanced shell command completion") + (description + "pcmpl-args extends option and argument completion of shell commands read +by Emacs. It is intended to make shell completion in Emacs comparable to the +rather excellent completion provided by both Bash and Zsh.") + (license license:gpl3+))) + (define-public emacs-shell-command+ (package (name "emacs-shell-command+") @@ -28050,7 +28560,7 @@ Features: (source (origin (method git-fetch) (uri (git-reference - (url "https://git.sr.ht/~zge/bang") + (url "https://git.sr.ht/~pkal/shell-command-plus") (commit version))) (file-name (git-file-name name version)) (sha256 @@ -28315,6 +28825,30 @@ label references and citations in LaTeX. It is based on RefTeX, which is included with Emacs.") (license license:gpl3+))) +(define-public emacs-company-org-block + (let ((commit "115af0a3625f4669358eca568466d468cacc78bd") + (revision "1")) + (package + (name "emacs-company-org-block") + (version (git-version "0.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xenodium/company-org-block") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "13kdwi4d1pvba6wv9yn1s0dl4cnq61zwf3j647d1s5ybqlrw5f4r")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company))) + (home-page "https://github.com/xenodium/company-org-block") + (synopsis "Emacs @code{company-complete} for Org blocks") + (description + "Insert Emacs Org blocks with completion via @code{company} mode.") + (license license:gpl3+)))) + (define-public emacs-html-to-hiccup ;; Package has no release. Version is extracted from "Version:" keyword in ;; main file. @@ -28550,7 +29084,7 @@ s-expression.") (define-public emacs-map (package (name "emacs-map") - (version "3.0") + (version "3.1") (source (origin (method url-fetch) @@ -28558,7 +29092,7 @@ s-expression.") version ".tar")) (sha256 (base32 - "00wf8lgh1b1i5l838y6di8194rf5gf5djklkhmxj1nlikz66j2ls")))) + "1akkp34psm71ylbf1i02m56ga1dkswhz069j98amixrhw20hq4nx")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/map.html") (synopsis "Map manipulation functions") @@ -28570,14 +29104,14 @@ work on alists, hash-table and arrays. All functions are prefixed with (define-public emacs-xref (package (name "emacs-xref") - (version "1.1.0") + (version "1.2.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xref-" version ".tar")) (sha256 - (base32 "1s7pwk09bry4nqr4bc78a3mbwyrxagai2gpsd49x47czy2x7m3ax")))) + (base32 "14kdy8blhs6lwg349l9lmv0bbpybgi9nsg2iic3v87j4jyi41ljm")))) (build-system emacs-build-system) (home-page "http://elpa.gnu.org/packages/xref.html") (synopsis "Cross-referencing commands") @@ -28765,7 +29299,7 @@ and preferred services can easily be configured.") (define-public emacs-vertico (package (name "emacs-vertico") - (version "0.12") + (version "0.14") (source (origin (method git-fetch) @@ -28774,8 +29308,20 @@ and preferred services can easily be configured.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1qb5qmspc7042r366d73j26hrzmrsdwscv8ly9glsa4gbdxcjkln")))) + (base32 "0rddk76ih44b574lsr6d6r9wa2l7c9zlb9kcyw5xvly17ciiq16h")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Move the extensions source files to the top level, which is included in + ;; the EMACSLOADPATH. + (add-after 'unpack 'move-source-files + (lambda _ + (let ((el-files (find-files "./extensions" ".*\\.el$"))) + (for-each (lambda (f) + (rename-file f (basename f))) + el-files)) + #t))))) (native-inputs `(("texinfo" ,texinfo))) (home-page "https://github.com/minad/vertico") @@ -28857,6 +29403,27 @@ shorter than usual, using mostly unprefixed keys.") @acronym{CWL, Common Workflow Language} files.") (license license:gpl3+))) +(define-public emacs-dictionary + (package + (name "emacs-dictionary") + (version "1.11") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/myrkr/dictionary-el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0zsjbpq0s0xdxd9r541f04bj1khhgzhdlzr0m4p17zjh1zardbpi")))) + (build-system emacs-build-system) + (home-page "http://www.myrkr.in-berlin.de/dictionary/index.html") + (synopsis "Emacs client for dictionary servers") + (description "This package provides commands for interacting with a +dictionary server (as defined by RFC 2229; by default, the public server at +dict.org) from within Emacs.") + (license license:gpl2+))) + (define-public emacs-multitran (package (name "emacs-multitran") @@ -28899,3 +29466,54 @@ to the @url{https://multitran.com} online dictionary.") "Kibit Helper provides functions to work with the Kibit Leiningen plugin for detecting and improve non-idiomatic Clojure source code.") (license license:gpl3+))) + +(define-public emacs-seeing-is-believing + (let ((version "1.2.0") ; from .el file + (commit "fbbe246c0fda87bb26227bb826eebadb418a220f") + (revision "0")) + (package + (name "emacs-seeing-is-believing") + (home-page "https://github.com/jcinnamond/seeing-is-believing") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h1b48s2iirswdlvfz41jbflm4x09ksc2lycrc1awzlwd6r8hdhg")))) + (build-system emacs-build-system) + (synopsis + "Minor mode for running the seeing-is-believing Ruby gem") + (description + "@uref{https://github.com/JoshCheek/seeing_is_believing,Seeing Is +Believing} is a ruby gem to evaluate Ruby code, recording the results of each +line. This minor mode provides an easy way to run it from Emacs on the +current region or entire buffer.") + (license license:gpl3+)))) + +(define-public emacs-nasm-mode + (package + (name "emacs-nasm-mode") + (version "1.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/skeeto/nasm-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dyc50a1zskx9fqxl2iy2x74f3bkb2ccz908v0aj13rqfqqnns9j")))) + (build-system emacs-build-system) + (home-page "https://github.com/skeeto/nasm-mode") + (synopsis "NASM x86 assembly major mode") + (description + "NASM mode is a major mode for editing NASM x86 assembly programs. +It includes syntax highlighting, automatic indentation, and imenu integration. +Unlike Emacs' generic ASM mode, it understands NASM-specific syntax.") + (license license:unlicense))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index dcda07d4a4..c992ba5407 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2021 Felipe Balbi <balbi@kernel.org> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -183,7 +184,10 @@ SuperCPU.") (add-after 'unpack 'fix-source (lambda _ (substitute* (find-files "." ".*\\.[ch]") - (("\"zlib/zlib.h\"") "<zlib.h>")))) + (("\"zlib/zlib.h\"") "<zlib.h>")) + (substitute* "Makefile" + (("CFLAGS:=-std=gnu99" all) + (string-append all " -fcommon"))))) (delete 'configure) (replace 'install (lambda* args @@ -722,7 +726,7 @@ The following systems are supported: (define-public mgba (package (name "mgba") - (version "0.9.1") + (version "0.9.2") (source (origin (method git-fetch) @@ -731,7 +735,7 @@ The following systems are supported: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "163azad5y4zxwzxyrb481rwfc2p86v99pf7nvdr6bavzq98x2z8h")) + (base32 "16kngkzf08jflqxwbgafb47091vqqb9pbhazg9cd94cy81ahz3q3")) (modules '((guix build utils))) (snippet ;; Make sure we don't use the bundled software. @@ -740,29 +744,30 @@ The following systems are supported: (lambda (subdir) (let ((lib-subdir (string-append "src/third-party/" subdir))) (delete-file-recursively lib-subdir))) - '("libpng" "lzma" "sqlite3" "zlib")) - #t)))) + '("libpng" "lzma" "sqlite3" "zlib")))))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no "test" target #:configure-flags (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA "-DUSE_LIBZIP=OFF"))) ;use "zlib" instead - (native-inputs `(("pkg-config" ,pkg-config) - ("qttools" ,qttools))) - (inputs `(("ffmpeg" ,ffmpeg) - ("libedit" ,libedit) - ("libelf" ,libelf) - ("libepoxy" ,libepoxy) - ("libpng" ,libpng) - ("mesa" ,mesa) - ("minizip" ,minizip) - ("ncurses" ,ncurses) - ("qtbase" ,qtbase-5) - ("qtmultimedia" ,qtmultimedia) - ("sdl2" ,sdl2) - ("sqlite" ,sqlite) - ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) + (inputs + `(("ffmpeg" ,ffmpeg) + ("libedit" ,libedit) + ("libelf" ,libelf) + ("libepoxy" ,libepoxy) + ("libpng" ,libpng) + ("mesa" ,mesa) + ("minizip" ,minizip) + ("ncurses" ,ncurses) + ("qtbase" ,qtbase-5) + ("qtmultimedia" ,qtmultimedia) + ("sdl2" ,sdl2) + ("sqlite" ,sqlite) + ("zlib" ,zlib))) (home-page "https://mgba.io") (synopsis "Game Boy Advance emulator") (description @@ -777,7 +782,7 @@ and Game Boy Color games.") (define-public sameboy (package (name "sameboy") - (version "0.14.3") + (version "0.14.4") (source (origin (method git-fetch) @@ -786,7 +791,7 @@ and Game Boy Color games.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1dipidx12ai62hnzf0pvnsk1cgjcmw1h5x2r7ilxq0k0pkia5b7a")))) + (base32 "0zp11qm8b3cmx70pzczyh4vv4jyhlh4jnci8kn6b30c8lzl43g83")))) (build-system gnu-build-system) (native-inputs `(("rgbds" ,rgbds) @@ -1769,7 +1774,7 @@ This is a part of the TiLP project.") (define-public mame (package (name "mame") - (version "0.233") + (version "0.235") (source (origin (method git-fetch) @@ -1778,7 +1783,7 @@ This is a part of the TiLP project.") (commit (apply string-append "mame" (string-split version #\.))))) (file-name (git-file-name name version)) (sha256 - (base32 "1zq7hvss004mwczk3jvyalkj9c5v6npswhkc2wj7dxyxz770clb3")) + (base32 "1iz5p51am7gh19i0zx96vfpfpza8xvrz9f2pd908jsc4xpr36agd")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. @@ -1787,8 +1792,7 @@ This is a part of the TiLP project.") (for-each delete-file-recursively '("asio" "expat" "glm" "libflac" "libjpeg" "lua" "portaudio" "portmidi" "pugixml" "rapidjson" "SDL2" - "SDL2-override" "sqlite3" "utf8proc" "zlib"))) - #t)))) + "SDL2-override" "sqlite3" "utf8proc" "zlib"))))))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -1826,16 +1830,14 @@ This is a part of the TiLP project.") (install-file "uismall.bdf" fonts)) (when (file-exists? "mame64") (rename-file "mame64" "mame")) - (install-file "mame" (string-append out "/bin"))) - #t)) + (install-file "mame" (string-append out "/bin"))))) (add-after 'install 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (man (string-append out "/share/man/man1")) (info (string-append out "/share/info"))) (install-file "docs/build/man/MAME.1" man) - (install-file "docs/build/texinfo/MAME.info" info)) - #t)) + (install-file "docs/build/texinfo/MAME.info" info)))) (add-after 'install 'install-ini-file ;; Generate an ini file so as to set some directories (e.g., roms) ;; to a writable location, i.e., "$HOME/.mame/" and "$HOME/mame/". @@ -1894,8 +1896,7 @@ This is a part of the TiLP project.") select_directory $HOME/mame/select~@ icons_directory $HOME/mame/icons~@ covers_directory $HOME/mame/covers~@ - ui_path $HOME/.mame/ui~%"))) - #t))) + ui_path $HOME/.mame/ui~%")))))) (add-after 'install 'install-desktop-file (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1914,8 +1915,7 @@ This is a part of the TiLP project.") Type=Application~@ Categories=Game;Emulator;~@ Keywords=Game;Emulator;Arcade;~%" - executable))) - #t)))))) + executable))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("sphinx" ,python-sphinx) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 74e95cfc9e..b4b2e04eec 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -524,7 +524,7 @@ featuring various improvements and bug fixes."))) ;; FIXME: with texlive-tiny citation references are rendered as question ;; marks. During the build warnings like these are printed: ;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3. - `(("texlive" ,(texlive-updmap.cfg (list texlive-fonts-amsfonts))) + `(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts))) ("ghostscript" ,ghostscript))) (arguments `(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all") @@ -929,6 +929,16 @@ Emacs).") (string-append "NGSPICE_DLL_FILE=\"" (assoc-ref inputs "libngspice") "/lib/libngspice.so\""))))) + (add-after 'unpack 'fix-python-detection + (lambda _ + (substitute* "CMakeModules/FindPythonLibs.cmake" + (("_PYTHON3_VERSIONS 3\\.8 3\\.7") + "_PYTHON3_VERSIONS 3.9 3.8 3.7")))) + (add-after 'unpack 'add-missing-include + (lambda _ + (substitute* "common/lib_tree_model.cpp" + (("#include <eda_pattern_match.h>" all) + (string-append "#include <algorithm>\n" all))))) (add-after 'install 'install-translations (lambda* (#:key inputs outputs #:allow-other-keys) (copy-recursively (assoc-ref inputs "kicad-i18n") @@ -1947,11 +1957,12 @@ parallel computing platforms. It also supports serial execution.") (patches (list (origin ;; Fix build with GCC 7. Patch taken from Arch Linux: - ;; https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/freehdl + ;; https://github.com/archlinux/svntogit-community/tree/packages/freehdl/trunk (method url-fetch) - (uri "https://git.archlinux.org/svntogit/community.git\ -/plain/trunk/build-fix.patch?h=packages/freehdl\ -&id=3bb90d64dfe6883e26083cd1fa96226d0d59175a") + (uri (string-append "https://raw.githubusercontent.com" + "/archlinux/svntogit-community" + "/3bb90d64dfe6883e26083cd1fa96226d0d59175a" + "/trunk/build-fix.patch")) (file-name "freehdl-c++-namespace.patch") (sha256 (base32 @@ -2406,7 +2417,7 @@ comments."))) ("libtheora" ,libtheora) ("libtiff" ,libtiff) ("libxi" ,libxi) - ("libxmlplusplus" ,libxmlplusplus) + ("libxml++" ,libxml++) ("libxmu" ,libxmu) ("lz4" ,lz4) ("netcdf" ,netcdf) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 079d60e45a..9c83e9b482 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -571,17 +571,22 @@ directories. (define-public evisum (package (name "evisum") - (version "0.5.11") + (version "0.5.13") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" "evisum/evisum-" version ".tar.xz")) (sha256 - (base32 "0cbfg393nlf0k91a2hdlyakns3dpzvs3isd95dm3zizydyf9h8wc")))) + (base32 "1rjqvida4anh7gqjp6xrpk6kmhqb66r733yyr2ixphgxn33p3iac")))) (build-system meson-build-system) (arguments - '(#:tests? #f)) ; no tests + '(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-homedir + (lambda _ + (setenv "HOME" (getcwd))))))) (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index 94f3c7e6d7..788aa0ebea 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -415,8 +415,8 @@ from a mounted file system.") (license license:gpl2+))) (define-public bcachefs-tools - (let ((commit "fe1bb39aa52d9140981ba1e96f3c95ddf14006ce") - (revision "8")) + (let ((commit "6c42566c6204bb5dcd6af3b97257e548b9d2db67") + (revision "9")) (package (name "bcachefs-tools") (version (git-version "0.1" revision commit)) @@ -428,7 +428,7 @@ from a mounted file system.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1ks6w2v76pfpp70cv1d6znxaw1g5alz1v6hf8z9gvj15r94vgpwz")))) + (base32 "0xagz0k3li10ydma55mnld0nb2pyfx90vsdvgjflgnx6jw3cq4dq")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -464,7 +464,11 @@ from a mounted file system.") ;; For tests. ("python-pytest" ,python-pytest) - ("valgrind" ,valgrind))) + ("valgrind" ,valgrind) + + ;; For generating documentation with rst2man. + ("python" ,python) + ("python-docutils" ,python-docutils))) (inputs `(("eudev" ,eudev) ("keyutils" ,keyutils) @@ -1169,16 +1173,16 @@ with the included @command{xfstests-check} helper.") (define-public zfs (package (name "zfs") - (version "2.0.5") + (version "2.1.0") (outputs '("out" "module" "src")) (source (origin (method url-fetch) - (uri (string-append "https://github.com/zfsonlinux/zfs/releases" + (uri (string-append "https://github.com/openzfs/zfs/releases" "/download/zfs-" version "/zfs-" version ".tar.gz")) (sha256 - (base32 "1jbfm18hh9x4a9s5d7si8lapmq2aniphyriif9flrgsff26lj5rs")))) + (base32 "0kzkggwznp4m3503f2m4lcinbl99jg50j4asrwfpfk1862vdrgb0")))) (build-system linux-module-build-system) (arguments `(;; The ZFS kernel module should not be downloaded since the license @@ -1209,6 +1213,25 @@ with the included @command{xfstests-check} helper.") (util-linux (assoc-ref inputs "util-linux")) (nfs-utils (assoc-ref inputs "nfs-utils")) (kmod (assoc-ref inputs "kmod-runtime"))) + ;; New feature "compatibility=" in 2.1.0. + ;; This feature looks up in two locations: + ;; /etc/zfs/compatibility.d/ + ;; /usr/share/zfs/compatibility.d/ + ;; The first is intended for system-specific compatibility + ;; sets, while the second is what is installed with the + ;; OpenZFS package, so use the absolute path for the first + ;; (which requires patching in the file) and the store path + ;; for the second (which it gets by default). + (substitute* "include/sys/fs/zfs.h" + (("#define\tZPOOL_SYSCONF_COMPAT_D.*$") + ; Use absolute path. + "#define\tZPOOL_SYSCONF_COMPAT_D\t\"/etc/zfs/compatibility.d\"\n")) + ;; Also update the manual, which uses absolute paths, so that + ;; /usr/share/zfs/compatibility.d/ is referred via the store. + (substitute* '("man/man7/zpoolprops.7" + "man/man7/zpool-features.7") + (("/usr/share/zfs/compatibility.d") + (string-append out "/share/zfs/compatibility.d"))) (substitute* "etc/Makefile.in" ;; This just contains an example configuration file for ;; configuring ZFS on traditional init systems, skip it diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index e6c2a42e71..f5f3713c69 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -16,7 +16,7 @@ ;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2019 Sebastian Schott <sschott@mailbox.org> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> @@ -55,6 +55,7 @@ #:use-module (guix build-system go) #:use-module (guix build-system qt) #:use-module (guix deprecation) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages aidc) @@ -268,14 +269,14 @@ Accounting.") (define-public homebank (package (name "homebank") - (version "5.5.2") + (version "5.5.3") (source (origin (method url-fetch) (uri (string-append "http://homebank.free.fr/public/homebank-" version ".tar.gz")) (sha256 (base32 - "1lhyql94zx51vcw9hlc9r26wkm2bn6jdd4xvc95j7y69wiwg77lq")))) + "14qhv79a2waqzmf6l571wklgwq8j1pkmjvzkj5vhh44nia8hfdh7")))) (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -501,7 +502,7 @@ do so.") (define-public electrum (package (name "electrum") - (version "4.0.9") + (version "4.1.5") (source (origin (method url-fetch) @@ -509,7 +510,7 @@ do so.") version "/Electrum-" version ".tar.gz")) (sha256 - (base32 "1fvjiagi78f32nxgr2rx8jas8hxfvpp1c8fpfcalvykmlhdc2gva")) + (base32 "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi")) (modules '((guix build utils))) (snippet '(begin @@ -523,13 +524,16 @@ do so.") ("python-protobuf" ,python-protobuf) ("python-aiohttp" ,python-aiohttp) ("python-aiohttp-socks" ,python-aiohttp-socks) - ("python-aiorpcx" ,python-aiorpcx) + ("python-aiorpcx" ,python-aiorpcx-0.18) ("python-certifi" ,python-certifi) ("python-bitstring" ,python-bitstring) ("python-attrs" ,python-attrs) ("python-cryptography" ,python-cryptography) ("python-qdarkstyle" ,python-qdarkstyle) ("python-dnspython" ,python-dnspython) + ("python-hidapi" ,python-hidapi) + ("python-ledgerblue" ,python-ledgerblue) + ("python-btchip-python" ,python-btchip-python) ("libsecp256k1" ,libsecp256k1))) (arguments `(#:tests? #f ; no tests @@ -564,7 +568,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (define-public electron-cash (package (name "electron-cash") - (version "4.2.4") + (version "4.2.5") (source (origin (method git-fetch) @@ -573,7 +577,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1a4jqsfadv6xr7ydj79my71jyrp0sjlznsbxdxjsjgnsqk8r48w6")))) + (base32 "1fj797hbinxsqjwhh4l1vjsx1vzmgzf2apq7fnqqwpv9g0v2pch0")))) (build-system python-build-system) (inputs `(("libevent" ,libevent) @@ -591,6 +595,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ("python-pyaes" ,python-pyaes) ("python-pyqt" ,python-pyqt) ("python-pysocks" ,python-pysocks) + ("python-qdarkstyle" ,python-qdarkstyle) ("python-qrcode" ,python-qrcode) ("python-requests" ,python-requests) ("python-stem" ,python-stem) @@ -617,6 +622,11 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (string-append "library_paths = ('" (assoc-ref inputs "libsecp256k1") "/lib/libsecp256k1.so.0'"))))) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "contrib/requirements/requirements.txt" + (("qdarkstyle==2\\.6\\.8") + "qdarkstyle")))) (add-after 'install 'wrap-qt (lambda* (#:key outputs inputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -639,7 +649,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.17.2.0") + (version "0.17.2.3") (source (origin (method git-fetch) @@ -657,9 +667,14 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch delete-file-recursively '("external/miniupnp" "external/rapidjson" "external/unbound")) + ;; TODO: Remove the following when upgrading to a newer tagged + ;; version as it will already contain the fix for Boost 1.76. + (substitute* "contrib/epee/include/storages/portable_storage.h" + (("#include \"int-util.h\"" all) + (string-append all "\n#include <boost/mpl/contains.hpp>"))) #t)) (sha256 - (base32 "0jwlmrpzisvw1c06cvd5b3s3hd4w0pa1qmrypfwah67qj3x6hnb6")))) + (base32 "0nax991fshfh51grhh2ryfrwwws35k16gzl1l3niva28zff2xmq6")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -749,7 +764,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.17.2.2") + (version "0.17.2.3") (source (origin (method git-fetch) @@ -766,7 +781,7 @@ the Monero command line client and daemon.") (delete-file-recursively "monero") #t)) (sha256 - (base32 "0n7gfhm13y18ffqsqdajl4knd4h8m772fz6lh1lpkh198pwmw8f9")))) + (base32 "0qb746z1sxqrja7q9lqhhbm64v83sn67az4k7gs5q90iaw584qfc")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -785,10 +800,10 @@ the Monero command line client and daemon.") (arguments `(#:tests? #f ; No tests #:configure-flags - (list "-DARCH=default" - "-DENABLE_PASS_STRENGTH_METER=ON" - (string-append "-DReadline_ROOT_DIR=" - (assoc-ref %build-inputs "readline"))) + ,#~(list "-DARCH=default" + "-DENABLE_PASS_STRENGTH_METER=ON" + (string-append "-DReadline_ROOT_DIR=" + #$(this-package-input "readline"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'extract-monero-sources @@ -796,24 +811,18 @@ the Monero command line client and daemon.") ;; to build the GUI. (lambda* (#:key inputs #:allow-other-keys) (mkdir-p "monero") - (invoke "tar" "-xv" "--strip-components=1" - "-C" "monero" - "-f" (assoc-ref inputs "monero-source")))) + (copy-recursively (assoc-ref inputs "monero-source") + "monero"))) (add-after 'extract-monero-sources 'fix-build (lambda _ (substitute* "src/version.js.in" (("@VERSION_TAG_GUI@") ,version)) - (substitute* "src/zxcvbn-c/makefile" - (("\\?=") "=")) (substitute* "external/CMakeLists.txt" (("add_library\\(quirc" all) (string-append "set(CMAKE_C_FLAGS \"${CMAKE_C_FLAGS} -fPIC\")\n" all))))) - (add-before 'configure 'generate-zxcvbn-c-header - (lambda _ - (invoke "make" "-C" "src/zxcvbn-c" "dict-src.h"))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) @@ -935,6 +944,30 @@ Ledger Blue/Nano S.") (define-public python2-ledgerblue (package-with-python2 python-ledgerblue)) +(define-public python-btchip-python + (package + (name "python-btchip-python") + (version "0.1.32") + (source + (origin + (method url-fetch) + (uri (pypi-uri "btchip-python" version)) + (sha256 + (base32 + "0mcg3gfd0qk8lhral3vy9cfd4pii9kzs42q71pf6b3y0c70y1x9l")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; those require PyQt4 + (propagated-inputs + `(("python-ecdsa" ,python-ecdsa) + ("python-hidapi" ,python-hidapi))) + (home-page "https://github.com/LedgerHQ/btchip-python") + (synopsis "Python library to communicate with Ledger Nano dongle") + (description + "This package provides a Python library to communicate with Ledger +Nano dongle.") + (license license:asl2.0))) + (define-public python-trezor (package (name "python-trezor") @@ -1020,12 +1053,7 @@ the KeepKey Hardware Wallet.") ("python-trezor-agent" ,python-trezor-agent))) (home-page "https://github.com/romanz/trezor-agent") (synopsis "Ledger as hardware SSH/GPG agent") - (description "This package allows using Ledger as hardware SSH/GPG agent. - -Usage for SSH: trezor-agent foo@@example.com --connect -Usage for GPG: Initialize using trezor-gpg init \"Foo <foo@@example.com>\" -Then set the environment variable GNUPGHOME to -\"${HOME}/.gnupg/trezor\".") + (description "This package allows using Ledger as hardware SSH/GPG agent.") (license license:lgpl3))) (define-public trezor-agent @@ -1121,13 +1149,13 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ") (define-public python-duniterpy (package (name "python-duniterpy") - (version "0.62.0") + (version "1.0.0") (source (origin (method url-fetch) (uri (pypi-uri "duniterpy" version)) (sha256 - (base32 "1ldiw5j2g92cib9v06kgv4z8dw2zi0x1dmpisf8w78h4kg6712w1")))) + (base32 "13kp2ph7fb1cdkx1y6j2h8q33fj2akc104l77ng52cy4v8jic9nz")))) (build-system python-build-system) (arguments ;; FIXME: Tests fail with: "TypeError: block_uid() missing 1 required diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 3961bdf409..f48dc877e1 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net> ;;; ;;; This file is part of GNU Guix. @@ -29,6 +29,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -97,7 +98,7 @@ programmer devices.") (define-public 0xffff (package (name "0xffff") - (version "0.8") + (version "0.9") (source (origin (method git-fetch) @@ -106,16 +107,19 @@ programmer devices.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1a5b7k96vzirb0m8lqp7ldn77ppz4ngf56wslhsj2c6flcyvns4v")))) + (base32 "0rl1xzbxl991pm2is98zbryac1lgjrc3zphmbd8agv07av0r6r6n")))) (build-system gnu-build-system) (inputs - `(("libusb" ,libusb-0.1))) ; doesn't work with libusb-compat + ;; Building with libusb-compat will succeed but the result will be broken. + ;; See <https://github.com/pali/0xFFFF/issues/3>. + `(("libusb" ,libusb-0.1))) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases (delete 'configure)) ; no configure #:make-flags - (list "CC=gcc" + (list (string-append "CC=" ,(cc-for-target)) + "HOST_CC=gcc" "BUILD_DATE=GNU Guix" (string-append "PREFIX=" %output)) #:tests? #f)) ; no 'check' target diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index 9a29807b83..40cf9cc427 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -432,7 +432,7 @@ a hardware description and verification language. ") (define-public nvc (package (name "nvc") - (version "1.5.1") + (version "1.5.2") (source (origin (method git-fetch) (uri (git-reference @@ -441,7 +441,7 @@ a hardware description and verification language. ") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0m1zhcqhgz5fajz98ky5zdv8g8gvk9caghqfpbv8q3mzdzahcsx5")))) + "1hjshyliaqi4vrw4q760rwmq6hvbpsvr2h4zl34k5j457004dy9l")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -450,8 +450,7 @@ a hardware description and verification language. ") (modify-phases %standard-phases (add-after 'unpack 'clean-up (lambda _ - (delete-file "autogen.sh") - #t))))) + (delete-file "autogen.sh")))))) (native-inputs `(("automake" ,automake) ("autoconf" ,autoconf) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 3e052a5697..550253bc34 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -24,6 +24,9 @@ ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 pineapples <guixuser6392@protonmail.com> +;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> +;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +48,7 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -75,6 +79,7 @@ #:use-module (gnu packages glib) ;intltool #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) + #:use-module (gnu packages graph) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) @@ -96,7 +101,10 @@ #:use-module (gnu packages python) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages rdesktop) + #:use-module (gnu packages rsync) #:use-module (gnu packages samba) + #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages valgrind) #:use-module (gnu packages video) @@ -575,33 +583,41 @@ the freedesktop.org XDG Base Directory specification.") (build-system meson-build-system) (arguments `(#:configure-flags - (let* ((out (assoc-ref %outputs "out")) - (sysconf (string-append out "/etc")) - (libexec (string-append out "/libexec/elogind")) - (dbuspolicy (string-append out "/etc/dbus-1/system.d")) - (shadow (assoc-ref %build-inputs "shadow")) - (shepherd (assoc-ref %build-inputs "shepherd")) - (halt-path (string-append shepherd "/sbin/halt")) - (kexec-path "") ;not available in Guix yet - (nologin-path (string-append shadow "/sbin/nologin")) - (poweroff-path (string-append shepherd "/sbin/shutdown")) - (reboot-path (string-append shepherd "/sbin/reboot"))) - (list - (string-append "-Drootprefix=" out) - (string-append "-Dsysconfdir=" sysconf) - (string-append "-Drootlibexecdir=" libexec) - (string-append "-Ddbuspolicydir=" dbuspolicy) - (string-append "-Dc_link_args=-Wl,-rpath=" libexec) - (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) - (string-append "-Dhalt-path=" halt-path) - (string-append "-Dkexec-path=" kexec-path) - (string-append "-Dpoweroff-path=" poweroff-path) - (string-append "-Dreboot-path=" reboot-path) - (string-append "-Dnologin-path=" nologin-path) - "-Dcgroup-controller=elogind" - "-Dman=true" - ;; Disable some tests. - "-Dslow-tests=false")) + ;; TODO(core-updates): Use #$output unconditionally. + ,#~(let* ((out #$(if (%current-target-system) + #~#$output + #~(assoc-ref %outputs "out"))) + (sysconf (string-append out "/etc")) + (libexec (string-append out "/libexec/elogind")) + (dbuspolicy (string-append out "/etc/dbus-1/system.d")) + ;; TODO(core-updates): use this-package-input unconditionally. + (shadow #$(if (%current-target-system) + (this-package-input "shadow") + #~(assoc-ref %build-inputs "shadow"))) + (shepherd #$(if (%current-target-system) + (this-package-input "shepherd") + #~(assoc-ref %build-inputs "shepherd"))) + (halt-path (string-append shepherd "/sbin/halt")) + (kexec-path "") ;not available in Guix yet + (nologin-path (string-append shadow "/sbin/nologin")) + (poweroff-path (string-append shepherd "/sbin/shutdown")) + (reboot-path (string-append shepherd "/sbin/reboot"))) + (list + (string-append "-Drootprefix=" out) + (string-append "-Dsysconfdir=" sysconf) + (string-append "-Drootlibexecdir=" libexec) + (string-append "-Ddbuspolicydir=" dbuspolicy) + (string-append "-Dc_link_args=-Wl,-rpath=" libexec) + (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) + (string-append "-Dhalt-path=" halt-path) + (string-append "-Dkexec-path=" kexec-path) + (string-append "-Dpoweroff-path=" poweroff-path) + (string-append "-Dreboot-path=" reboot-path) + (string-append "-Dnologin-path=" nologin-path) + "-Dcgroup-controller=elogind" + "-Dman=true" + ;; Disable some tests. + "-Dslow-tests=false")) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-pkttyagent-path @@ -815,7 +831,8 @@ of a the system to know what users are logged in, and where.") (install-file map data)) (find-files ".." "^(kbd-model-map|language-fallback-map)$")) #t))))))) - (native-inputs (package-native-inputs elogind)) + (native-inputs `(,@(package-native-inputs elogind) + ("rsync" ,rsync))) (inputs `(("libmount" ,util-linux "lib") ("xkeyboard-config" ,xkeyboard-config) ("kbd" ,kbd) @@ -966,14 +983,22 @@ Python.") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-docbook-xml - (lambda* (#:key inputs #:allow-other-keys) + ;; TODO(core-updates): Use 'native-inputs' unconditionally + (lambda* (#:key ,@(if (%current-target-system) + '(native-inputs) + '()) + inputs #:allow-other-keys) (with-directory-excursion "doc" (substitute* (find-files "." "\\.xml$") (("http://www.oasis-open.org/docbook/xml/4\\.5/") - (string-append (assoc-ref inputs "docbook-xml") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) "docbook-xml") "/xml/dtd/docbook/")) (("http://www.oasis-open.org/docbook/xml/4\\.2/") - (string-append (assoc-ref inputs "docbook-xml-4.2") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) "docbook-xml-4.2") "/xml/dtd/docbook/")))) #t)) (add-after 'install 'move-doc @@ -993,7 +1018,11 @@ Python.") ("doxygen" ,doxygen) ("pkg-config" ,pkg-config) ("xmlto" ,xmlto) - ("xsltproc" ,libxslt))) + ("xsltproc" ,libxslt) + ,@(if (%current-target-system) + `(("pkg-config-for-build" ,pkg-config-for-build) + ("wayland" ,this-package)) ; for wayland-scanner + '()))) (inputs `(("expat" ,expat) ("libxml2" ,libxml2))) ; for XML_CATALOG_FILES @@ -1065,7 +1094,7 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.") (define-public weston (package (name "weston") - (version "6.0.1") + (version "9.0.0") (source (origin (method url-fetch) (uri (string-append @@ -1073,43 +1102,60 @@ protocol either in Wayland core, or some other protocol in wayland-protocols.") "weston-" version ".tar.xz")) (sha256 (base32 - "1d2m658ll8x7prlsfk71qgw89c7dz6y7d6nndfxwl49fmrd6sbxz")))) + "1zlql0xgiqc3pvgbpnnvj4xvpd91pwva8qf83xfb23if377ddxaw")))) (build-system meson-build-system) (native-inputs - `(("pkg-config" ,pkg-config) + `(("mscgen" ,mscgen) + ("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server))) (inputs `(("cairo" ,cairo-xcb) ("colord" ,colord) ("dbus" ,dbus) ("elogind" ,elogind) + ("freerdp" ,freerdp) + ("glib" ,glib) + ("gstreamer" ,gstreamer) + ("gst-plugins-base" ,gst-plugins-base) ("lcms" ,lcms) + ("libdrm" ,libdrm) ("libevdev" ,libevdev) ("libinput" ,libinput-minimal) ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) ("libunwind" ,libunwind) ("libva" ,libva) ("libwebp" ,libwebp) + ("libx11" ,libx11) + ("libxcb" ,libxcb) ("libxcursor" ,libxcursor) - ("libxkbcommon" ,libxkbcommon) ("libxml2" ,libxml2) ("mesa" ,mesa) ("mtdev" ,mtdev) ("linux-pam" ,linux-pam) ("pango" ,pango) - ("wayland" ,wayland) + ("pipewire" ,pipewire) ("wayland-protocols" ,wayland-protocols) ("xorg-server-xwayland" ,xorg-server-xwayland))) + (propagated-inputs + `(("libxkbcommon" ,libxkbcommon) + ("pixman" ,pixman) + ("wayland" ,wayland))) (arguments `(#:configure-flags - (list "-Dbackend-rdp=false" ; TODO: Enable. - "-Dremoting=false" ; TODO: Enable. - "-Dsimple-dmabuf-drm=auto" - "-Dsystemd=false" - (string-append "-Dxwayland-path=" - (assoc-ref %build-inputs "xorg-server-xwayland") - "/bin/Xwayland")) - #:parallel-tests? #f ; Parallel tests cause failures. + (list + ;; Otherwise, the RUNPATH will lack the final path component. + (string-append "-Dc_link_args=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib:" + (assoc-ref %outputs "out") "/lib/weston:" + (assoc-ref %outputs "out") "/lib/libweston-" + ,(version-major (package-version this-package))) + "-Dbackend-default=auto" + "-Dsystemd=false" + (string-append "-Dxwayland-path=" + (assoc-ref %build-inputs "xorg-server-xwayland") + "/bin/Xwayland")) + #:parallel-tests? #f ; Parallel tests cause failures. #:phases (modify-phases %standard-phases (add-before 'configure 'use-elogind @@ -2190,6 +2236,13 @@ useful with system integration.") "https://launchpad.net/libappindicator/" (version-major+minor version) "/" version "/+download/libappindicator-" version ".tar.gz")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix 'multiple definitions' error from GCC 10 + (substitute* "bindings/python/appindicatormodule.c" + (("^#include <pygobject.h>" all) + (string-append "#define NO_IMPORT_PYGOBJECT\n" all))))) (sha256 (base32 "17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m")))) @@ -2441,3 +2494,38 @@ seeks to add support for the screenshot, screencast, and possibly remote-desktop @code{xdg-desktop-portal} interfaces for wlroots based compositors.") (license license:expat))) + +(define-public waypipe + (package + (name "waypipe") + (version "0.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/mstoeckl/waypipe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1qa47ljfvb1vv3h647xwn1j5j8gfmcmdfaz4j8ygnkvj36y87vnz")))) + (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-sleep-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils"))) + (substitute* "./test/startup_failure.py" + (("sleep") (string-append coreutils "/bin/sleep"))))))))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("scdoc" ,scdoc) + ;; For tests + ("python" ,python) + ("coreutils" ,coreutils))) + (home-page "https://gitlab.freedesktop.org/mstoeckl/waypipe") + (synopsis "Proxy for Wayland protocol applications") + (description + "Waypipe is a proxy for Wayland clients, with the aim of +supporting behavior like @samp{ssh -X}.") + (license license:expat))) diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index 81dc58dadc..17ad139162 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -176,14 +176,14 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.30.0") + (version "0.31.1") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/" "libfilezilla/libfilezilla-" version ".tar.bz2")) (sha256 - (base32 "0h6wa1dfd14z9ai00a85pahsb4fs3rlb8haiw3vd9pmjrpdgcvf1")))) + (base32 "0vqn6gkwyin9hml39d74vcjcnbwlnk2cpc3msdlkhpq1ns3mhzcr")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -220,14 +220,14 @@ output. (define-public filezilla (package (name "filezilla") - (version "3.55.0") + (version "3.55.1") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/client/" "FileZilla_" version "_src.tar.bz2")) (sha256 - (base32 "10lwmf6cvryw2gja6vj1zh2y55z4i38wsvxdpclvwdnih10ynw5f")))) + (base32 "19bnyx89jg0ll8a8mr4y8gp26gizs11ckgrwglh27zak3zhx1y37")))) (build-system gnu-build-system) (arguments ;; Don't let filezilla phone home to check for updates. @@ -260,14 +260,14 @@ directory comparison and more.") (define-public vsftpd (package (name "vsftpd") - (version "3.0.4") + (version "3.0.5") (source (origin (method url-fetch) (uri (string-append "https://security.appspot.com/downloads/" "vsftpd-" version ".tar.gz")) (sha256 - (base32 "09kap2qsd80m0x80jv5224x002x2jkr584dksppcv9p84yyj353b")))) + (base32 "1lwipiq8q9qzvwv6f418fbvagpz0p6v0jjplkvcsc2sb8np05di6")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index e7be20d580..ddcbb6b172 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2021 Alexandru-Sergiu Marton <brown121407@posteo.ro> +;;; Copyright © 2021 Dmitry Polyakov <polyakov@liltechdude.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1108,7 +1109,7 @@ to create fully featured games and multimedia programs in the python language.") (define-public python-pygame-sdl2 (let ((real-version "2.1.0") - (renpy-version "7.4.6")) + (renpy-version "7.4.8")) (package (inherit python-pygame) (name "python-pygame-sdl2") @@ -1118,7 +1119,7 @@ to create fully featured games and multimedia programs in the python language.") (method url-fetch) (uri (string-append "https://www.renpy.org/dl/" renpy-version "/pygame_sdl2-" version ".tar.gz")) - (sha256 (base32 "1cay8mb5ww72mkhjp8y467i5alnjinwai2z0xypp78kjapbma9nb")) + (sha256 (base32 "1yyqcg7khac17jif86vi2d4j9l8x2vfg4h5pasrwwsy0g8386zsm")) (modules '((guix build utils))) (snippet '(begin @@ -1164,13 +1165,13 @@ developed mainly for Ren'py.") (define-public python2-renpy (package (name "python2-renpy") - (version "7.4.6") + (version "7.4.8") (source (origin (method url-fetch) (uri (string-append "https://www.renpy.org/dl/" version "/renpy-" version "-source.tar.bz2")) - (sha256 (base32 "1nnidghwi725n6kizd18fk3fdyh1fx4d48jngg8cnwgnz7i66bd6")) + (sha256 (base32 "1ml3gs87xxk1iflrg5ivffr4q8fi7d65l1cx462bvvpm1rs2sa8d")) (modules '((guix build utils))) (patches (search-patches @@ -1479,6 +1480,57 @@ visual novels, while its Python scripting is enough for complex simulation games.") (license license:expat))) +(define-public python-pyxel + (package + (name "python-pyxel") + (version "1.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/kitao/pyxel") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bwsgb5yq5s479cnf046v379zsn5ybp5195kbfvzr9l11qbaicm9")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "pyxel/core/bin"))))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; "Tests" are actually example programs that never halt. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-build-files + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "setup.py" + (("\"pyxel\\.core\\.bin\\.(.*)\"," all arch) + (if (string=? arch "linux") + all + ""))) + (substitute* "pyxel/core/Makefile" + (("`sdl2-config") + (string-append "`sdl2-config --prefix=" + (assoc-ref inputs "sdl2")))))) + (add-before 'build 'prebuild + (lambda _ + (invoke "make" "-C" "pyxel/core")))))) + (inputs + `(("gifsicle" ,gifsicle) + ("sdl2" ,(sdl-union (list sdl2 sdl2-image))))) + (native-inputs + `(("gcc" ,gcc-10))) ; for std::filesystem + (home-page "https://github.com/kitao/pyxel") + (synopsis "Retro game engine for Python") + (description "Pyxel is a game engine inspired by retro gaming consoles. +It has a fixed 16-color palette, can hold up to 3 image banks and 8 tilemaps +(256x256 pixels each) and 4 sound channels with 64 definable sounds. It +also comes with a built-in image and sound editor.") + (license license:expat))) + (define-public grafx2 (package (name "grafx2") @@ -2111,6 +2163,56 @@ upon which people base their games, ports to new platforms, and other projects.") (license license:gpl2)))) +(define-public instead + (package + (name "instead") + (version "3.3.5") + (build-system cmake-build-system) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/instead-hub/instead") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02j8cw623j51qmr4991i5hsbrzmnp0qfzds8m6nwwr15sjv3hv1g")) + (patches + (search-patches + "instead-use-games-path.patch")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "src/zlib"))))) + (arguments + '(#:configure-flags + (list (string-append + "-DLUA_INCLUDE_DIR=" + (assoc-ref %build-inputs "luajit") "/include/luajit-2.1/") + "-DWITH_LUAJIT=1" + "-DWITH_GTK3=1") + #:tests? #f)) + (inputs + `(("gtk+",gtk+) + ("lua" ,lua) + ("luajit" ,luajit) + ("pkg-config" ,pkg-config) + ("sdl2-images" ,sdl2-image) + ("sdl2-ttf" ,sdl2-ttf) + ("sdl2-mixer" ,sdl2-mixer) + ("zlib" ,zlib))) + (home-page "https://instead3.syscall.ru/") + (synopsis "Text adventure interpreter") + (description "The STEAD (Simple TExt ADventures) interpreter provides +functionality to play games that mix elements of visual novels, interactive +fiction and classic point-and-click adventures.") + (native-search-paths + (list (search-path-specification + (variable "INSTEAD_GAMES_PATH") + (separator #f) ;single entry + (files '("share/instead/games"))))) + (license license:expat))) + (define-public openvr (package (name "openvr") diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 2c8b3c083f..e279e1eb71 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> -;;; Copyright © 2014, 2016 David Thompson <dthompson2@worcester.edu> +;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu> ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> @@ -42,7 +42,7 @@ ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl> -;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> @@ -52,7 +52,7 @@ ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> -;;; Copyright © 2020, 2021 Trevor Hass <thass@okstate.edu> +;;; Copyright © 2020 Trevor Hass <thass@okstate.edu> ;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Lu hux <luhux@outlook.com> ;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org> @@ -62,6 +62,8 @@ ;;; Copyright © 2021 David Pflug <david@pflug.io> ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> +;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org> +;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -129,6 +131,7 @@ #:use-module (gnu packages gnu-doc) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages graphics) #:use-module (gnu packages gsasl) @@ -551,6 +554,47 @@ Playing bastet can be a painful experience, especially if you usually make canyons and wait for the long I-shaped block to clear four rows at a time.") (license license:gpl3+))) +(define-public tetrinet + (package + (name "tetrinet") + (version "0.11") + (source + (origin + (method url-fetch) + (uri (string-append + "http://tetrinet.or.cz/download/tetrinet-" version + ".tar.bz2")) + (sha256 + (base32 + "0b4pddqz6is1771qmvcj8qqlr4in2djdbkk13agvp9yhfah2v8x7")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses))) + (arguments + `(#:tests? #f ;no tests + #:make-flags '("CC=gcc") + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-after 'unpack 'fix-install-dir + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (substitute* "Makefile" + (("/usr/games") (string-append out "/bin")))))) + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" ,name "-" ,version))) + (for-each (lambda (file) + (install-file file doc)) + (list "README" "tetrinet.txt")))))))) + (home-page "http://tetrinet.or.cz") + (synopsis "Terminal-based multiplayer Tetris clone") + (description "Tetrinet is a multiplayer Tetris-like game with powerups and +attacks you can use on opponents.") + (license license:public-domain))) + (define-public vitetris (package (name "vitetris") @@ -835,7 +879,7 @@ high a score as possible.") (define-public cataclysm-dda (package (name "cataclysm-dda") - (version "0.F") + (version "0.F-2") (source (origin (method git-fetch) @@ -843,7 +887,7 @@ high a score as possible.") (url "https://github.com/CleverRaven/Cataclysm-DDA") (commit version))) (sha256 - (base32 "1jid8lcl04y768b3psj1ifhx96lmd6fn1j2wzxhl4ic7ra66p2z3")) + (base32 "1wzsri6rh2fm7078hw0y4x7lqjs6ak4a66d05szfiinnxyn4w1ph")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -3344,7 +3388,8 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" "1mkh36xnnacnz9r00b5f9ld9309k32jv6mcavklbdnca8bl56bib")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases ;; Fixes https://issues.guix.gnu.org/47195. (add-after 'unpack 'patch-aplay-path @@ -3535,158 +3580,6 @@ enemies in different game modes such as space ball, death match, team death match, cannon keep, and grave-itation pit.") (license license:gpl3+)))) -(define-public minetest - (package - (name "minetest") - (version "5.4.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/minetest/minetest") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled libraries. - (delete-file-recursively "lib") - #t)))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list "-DRUN_IN_PLACE=0" - "-DENABLE_FREETYPE=1" - "-DENABLE_GETTEXT=1" - "-DENABLE_SYSTEM_JSONCPP=TRUE" - (string-append "-DIRRLICHT_INCLUDE_DIR=" - (assoc-ref %build-inputs "irrlicht") - "/include/irrlicht") - (string-append "-DCURL_INCLUDE_DIR=" - (assoc-ref %build-inputs "curl") - "/include/curl")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-sources - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "src/filesys.cpp" - ;; Use store-path for "rm" instead of non-existing FHS path. - (("\"/bin/rm\"") - (string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\""))) - (substitute* "src/CMakeLists.txt" - ;; Let minetest binary remain in build directory. - (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") "")) - (substitute* "src/unittest/test_servermodmanager.cpp" - ;; do no override MINETEST_SUBGAME_PATH - (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);") - "(void)0;")) - (setenv "MINETEST_SUBGAME_PATH" - (string-append (getcwd) "/games")) ; for check - #t)) - (replace 'check - (lambda _ - ;; Thanks to our substitutions, the tests should also run - ;; when invoked on the target outside of `guix build'. - (unless ,(%current-target-system) - (setenv "HOME" "/tmp") - (invoke "src/minetest" "--run-unittests")) - #t))))) - (native-search-paths - (list (search-path-specification - (variable "MINETEST_SUBGAME_PATH") - (files '("share/minetest/games"))))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("coreutils" ,coreutils) - ("curl" ,curl) - ("freetype" ,freetype) - ("gettext" ,gettext-minimal) - ("gmp" ,gmp) - ("irrlicht" ,irrlicht) - ("jsoncpp" ,jsoncpp) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("libxxf86vm" ,libxxf86vm) - ("luajit" ,luajit) - ("mesa" ,mesa) - ("ncurses" ,ncurses) - ("openal" ,openal) - ("sqlite" ,sqlite))) - (propagated-inputs - `(("minetest-data" ,minetest-data))) - (synopsis "Infinite-world block sandbox game") - (description - "Minetest is a sandbox construction game. Players can create and destroy -various types of blocks in a three-dimensional open world. This allows -forming structures in every possible creation, on multiplayer servers or as a -single player. Mods and texture packs allow players to personalize the game -in different ways.") - (home-page "https://www.minetest.net/") - (license license:lgpl2.1+))) - -(define minetest-data - (package - (name "minetest-data") - (version (package-version minetest)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/minetest/minetest_game") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4")))) - (build-system trivial-build-system) - (native-inputs - `(("source" ,source))) - (arguments - `(#:modules ((guix build utils)) - #:builder (begin - (use-modules (guix build utils)) - (let ((install-dir (string-append - %output - "/share/minetest/games/minetest_game"))) - (mkdir-p install-dir) - (copy-recursively - (assoc-ref %build-inputs "source") - install-dir) - #t)))) - (synopsis "Main game data for the Minetest game engine") - (description - "Game data for the Minetest infinite-world block sandbox game.") - (home-page "https://www.minetest.net/") - (license license:lgpl2.1+))) - -(define-public minetest-mineclone - (package - (name "minetest-mineclone") - (version "0.71.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.minetest.land/Wuzzy/MineClone2") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf")))) - (build-system copy-build-system) - (arguments - `(#:install-plan - '(("." "share/minetest/games/mineclone")))) - (synopsis "Minecraft clone based on Minetest engine") - (description - "MineClone is a Minetest subgame, that aims to recreate Minecraft as -closely as the engine allows.") - (home-page "https://content.minetest.net/packages/Wuzzy/mineclone2/") - (license license:gpl3+))) - (define glkterm (package (name "glkterm") @@ -4348,7 +4241,7 @@ engine. When you start it you will be prompted to download a graphics set.") (define openttd-opengfx (package (name "openttd-opengfx") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) @@ -4356,7 +4249,7 @@ engine. When you start it you will be prompted to download a graphics set.") version "/opengfx-" version "-source.tar.xz")) (sha256 (base32 - "0qxc6gl2gxcrn1np88dnjgbaaakkkx96b13rcmy1spryc8c09hyr")))) + "0jgy8xv7r72m127qn09vr3rxhnbakl2990f7lldsk0d5d8n993vd")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" @@ -4407,24 +4300,28 @@ OpenGFX provides you with... (define openttd-opensfx (package (name "openttd-opensfx") - (version "0.2.3") + (version "1.0.1") (source (origin (method url-fetch) (uri (string-append - "https://binaries.openttd.org/extra/opensfx/" - version "/opensfx-" version "-source.tar.gz")) + "https://cdn.openttd.org/opensfx-releases/" + version "/opensfx-" version "-source.tar.xz")) (sha256 (base32 - "03jxgp02ks31hmsdh4xh0xcpkb70ds8jakc9pfc1y9vdrdavh4p5")))) + "06vycppqcxbfdqlxzna5xr303zgcmpcvj6ylw5b2ws0ssph2f1s0")))) (build-system gnu-build-system) (native-inputs `(("catcodec" ,catcodec) - ("python" ,python-2))) + ("python" ,python-2) + ("tar" ,tar))) (arguments `(#:make-flags - (list (string-append "INSTALL_DIR=" %output - "/share/games/openttd/baseset/opensfx")) + (list (string-append "DIR_NAME=opensfx") + (string-append "TAR=" (assoc-ref %build-inputs "tar") + "/bin/tar")) + ;; The check phase only verifies md5sums, see openttd-opengfx. + #:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'make-reproducible @@ -4434,45 +4331,56 @@ OpenGFX provides you with... (substitute* "scripts/Makefile.def" (("-cf") " --mtime=@0 -cf")) #t)) - (delete 'configure)))) + (delete 'configure) + (add-before 'build 'prebuild + (lambda _ (invoke "make" "opensfx.cat"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "opensfx" + (string-append (assoc-ref outputs "out") + "/share/games/openttd/baseset" + "/opensfx"))))))) (home-page "http://dev.openttdcoop.org/projects/opensfx") (synopsis "Base sounds for OpenTTD") (description "OpenSFX is a set of free base sounds for OpenTTD which make it possible to play OpenTTD without requiring the proprietary sound files from the original Transport Tycoon Deluxe.") - (license license:cc-sampling-plus-1.0))) + (license license:cc-by-sa3.0))) (define openttd-openmsx (package (name "openttd-openmsx") - (version "0.3.1") + (version "0.4.0") (source (origin (method url-fetch) (uri (string-append - "https://binaries.openttd.org/extra/openmsx/" - version "/openmsx-" version "-source.tar.gz")) + "https://cdn.openttd.org/openmsx-releases/" + version "/openmsx-" version "-source.tar.xz")) (sha256 (base32 - "0nskq97a6fsv1v6d62zf3yb8whzhqnlh3lap3va3nzvj7csjgf7c")))) + "0prjljsdgdxqdhhcriqskqha004ybs575xcjq80zha3pqnmrdk0k")))) (build-system gnu-build-system) (native-inputs - `(("python" ,python-2))) + `(("grfcodec" ,grfcodec) + ("python" ,python-2) + ("tar" ,tar))) (arguments `(#:make-flags - (list (string-append "INSTALL_DIR=" %output - "/share/games/openttd/baseset")) + (list (string-append "DIR_NAME=openmsx") + (string-append "TAR=" (assoc-ref %build-inputs "tar") + "/bin/tar")) + ;; The check phase only verifies md5sums, see openttd-opengfx. + #:tests? #f #:phases (modify-phases %standard-phases (delete 'configure) - (add-after 'install 'post-install - ;; Rename openmsx-version to openmsx + (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (let ((install-directory (string-append (assoc-ref outputs "out") - "/share/games/openttd/baseset"))) - (rename-file (string-append install-directory "/openmsx-" ,version) - (string-append install-directory "/openmsx")) - #t)))))) + (copy-recursively "openmsx" + (string-append (assoc-ref outputs "out") + "/share/games/openttd/baseset" + "/openmsx"))))))) (home-page "http://dev.openttdcoop.org/projects/openmsx") (synopsis "Music set for OpenTTD") (description "OpenMSX is a music set for OpenTTD which makes it possible @@ -6307,7 +6215,7 @@ small robot living in the nano world, repair its maker.") #t)))) (build-system cmake-build-system) (arguments - `(#:tests? #f ; no tests included + `(#:test-target "run_tests" #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-paths @@ -6319,9 +6227,17 @@ small robot living in the nano world, repair its maker.") (assoc-ref outputs "out") "/share/teeworlds/data" "\""))) + #t)) + (add-after 'unpack 'replace-font + (lambda* (#:key inputs #:allow-other-keys) + (delete-file "datasrc/fonts/DejaVuSans.ttf") + (symlink (string-append (assoc-ref inputs "font-dejavu") + "/share/fonts/truetype/DejaVuSans.ttf") + "datasrc/fonts/DejaVuSans.ttf") #t))))) (inputs `(("freetype" ,freetype) + ("font-dejavu" ,font-dejavu) ("glu" ,glu) ("json-parser" ,json-parser) ("mesa" ,mesa) @@ -6333,7 +6249,8 @@ small robot living in the nano world, repair its maker.") ("openssl" ,openssl) ("zlib" ,zlib))) (native-inputs - `(("python" ,python-wrapper) + `(("googletest" ,googletest) + ("python" ,python-wrapper) ("pkg-config" ,pkg-config))) (home-page "https://www.teeworlds.com") (synopsis "2D retro multiplayer shooter game") @@ -6514,14 +6431,14 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.26.1") + (version "0.27.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/crawl/crawl/releases/download/" version "/stone_soup-" version "-nodeps.tar.xz")) (sha256 - (base32 "1d8p2np2q5951wqphq2f4dyvv976m2lh82b0qp7w9pp1h8zzi1ff")) + (base32 "0hzkzpqmydxm1zjkdm7k4w3hldsqin3pwkj7jmfj4jijkr0zg9nq")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs @@ -6901,7 +6818,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (define-public tome4 (package (name "tome4") - (version "1.7.3") + (version "1.7.4") (synopsis "Single-player, RPG roguelike game set in the world of Eyal") (source (origin @@ -6909,7 +6826,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (uri (string-append "https://te4.org/dl/t-engine/t-engine4-src-" version ".tar.bz2")) (sha256 - (base32 "1rik17r01glq3944sdb06xjf0xppgqkjk564wrh22slm4mi3fifz")) + (base32 "197jmd99l3w3sig32pvdlq9fcgdjjx7g9csy08kz174cyhrlyly3")) (modules '((guix build utils))) (snippet '(begin @@ -6918,8 +6835,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (string-append line " || defined(__GNUC__)"))) (substitute* '("src/tgl.h") - (("#include <GL/glext.h>") "")) - #t)))) + (("#include <GL/glext.h>") "")))))) (build-system gnu-build-system) (native-inputs `(("unzip" ,unzip))) @@ -6942,8 +6858,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (delete 'bootstrap) (replace 'configure (lambda _ - (invoke "premake4" "gmake") - #t)) + (invoke "premake4" "gmake"))) (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" @@ -7008,8 +6923,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as #:comment ,synopsis #:exec ,name #:icon icon - #:categories '("Game" "RolePlaying"))) - #t))))) + #:categories '("Game" "RolePlaying")))))))) (home-page "https://te4.org") (description "Tales of Maj’Eyal (ToME) RPG, featuring tactical turn-based combat and advanced character building. Play as one of many unique races and @@ -7136,15 +7050,26 @@ some graphical niceities, and numerous bug-fixes and other improvements.") `(#:tests? #f #:make-flags (list "CC=gcc" - ;; link openAL instead of using dlopen at runtime - "DLOPEN_OPENAL=\"no\"" - ;; an optional directory where it will look for quake2 data files - ;; in addition to the current working directory + ;; An optional directory where it will look for quake2 data files + ;; in addition to the current working directory. "WITH_SYSTEMWIDE=yes" "WITH_SYSTEMDIR=\"/opt/quake2\"") #:phases (modify-phases %standard-phases (delete 'configure) + (add-before 'build 'patch-libraries + (lambda* (#:key inputs #:allow-other-keys) + ;; The game writes paths to openal.so and curl.so to ~/.yq2/... + ;; Workaround: hard-code the compiled paths where it loads them; + ;; this prevents loading old or garbage collected libraries. + (substitute* "src/client/sound/qal.c" + (("al_driver->string") + (string-append "\"" (assoc-ref inputs "openal") + "/lib/libopenal.so\""))) + (substitute* "src/client/curl/qcurl.c" + (("cl_libcurl->string") + (string-append "\"" (assoc-ref inputs "curl") + "/lib/libcurl.so\""))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -7264,7 +7189,7 @@ elements to achieve a simple goal in the most complex way possible.") (define-public pioneer (package (name "pioneer") - (version "20210203") + (version "20210723") (source (origin (method git-fetch) (uri (git-reference @@ -7273,7 +7198,7 @@ elements to achieve a simple goal in the most complex way possible.") (file-name (git-file-name name version)) (sha256 (base32 - "1zyi1xyghj99hz8fa6dywpscj6flp04fspnlgxbivf3rgmnxflg7")))) + "1hj99jxb9n3r0bkq87p1c24862xa1xyzjyfdyyx88ckszxb05qf3")))) (build-system cmake-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -7336,7 +7261,7 @@ Github or Gitlab.") (define-public colobot (package (name "colobot") - (version "0.1.12-alpha") + (version "0.2.0-alpha") (source (origin (method git-fetch) @@ -7346,8 +7271,7 @@ Github or Gitlab.") (recursive? #t))) ;for "data/" subdir (file-name (git-file-name name version)) (sha256 - (base32 - "1c181cclkrnspgs07lvndg2c81cjq3smkv7qim8c470cj88rcrp2")))) + (base32 "02z21pw47j2afjsikn5b162gacwgiahdrlhmfxhq4xqlzsvz58z6")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no test @@ -7553,6 +7477,8 @@ online.") (base32 "1iy8rx7kjvi1zjiw4zh77szzmd1sgpqajvbhprh1sj93fhbxcdfl")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "CFLAGS=-fcommon"))) (inputs `(("sdl2-net" ,sdl2-net) ("sdl2-mixer" , sdl2-mixer) ("sdl2" ,sdl2))) @@ -7592,7 +7518,8 @@ affect gameplay).") `(("automake" ,automake) ("autoreconf" ,autoconf)))) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases (replace 'bootstrap ;; The bundled autogen.sh script unconditionally runs ./configure. @@ -8316,38 +8243,33 @@ your score gets higher, you level up and the blocks fall faster.") (define-public endless-sky (package (name "endless-sky") - (version "0.9.12") + (version "0.9.14") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/endless-sky/endless-sky") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "18nkl4s3r5sy3sd9lhbdg9160c7fggklklprx0d5azifc8g6k0wj")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/endless-sky/endless-sky") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "12iganf8dxiyrjznnabsarxjsr0h717j3k4mz15p0k67wxyahhmf")))) (build-system scons-build-system) (arguments `(#:scons ,scons-python2 #:scons-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:tests? #f ; no tests #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-resource-locations + (add-after 'unpack 'fix-paths (lambda* (#:key outputs #:allow-other-keys) + ;; Look for resources in the store directory. (substitute* "source/Files.cpp" - (("/usr/local/") - (string-append (assoc-ref outputs "out") "/"))) - #t)) - (add-after 'unpack 'patch-scons - (lambda _ + (("/usr/local") (assoc-ref outputs "out"))) + ;; Install game binary into %out/bin. (substitute* "SConstruct" - ;; Keep environmental variables - (("Environment\\(\\)") - "Environment(ENV = os.environ)") - ;; Install into %out/bin - (("games\"") "bin\"")) - #t))))) + (("games\"") "bin\"")))) + (add-before 'build 'use-gcc-ar + ;; Use gcc-ar to support LTO. + (lambda _ (setenv "AR" "gcc-ar")))))) (inputs `(("glew" ,glew) ("libjpeg" ,libjpeg-turbo) @@ -8717,7 +8639,8 @@ affected by the gravity of the planets.") "1nfkhcm0l89jyw8yr65na97g4l385zhjf7whkyg47c3v5sdqq2g7")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-install-directories (lambda* (#:key outputs #:allow-other-keys) @@ -8734,7 +8657,7 @@ affected by the gravity of the planets.") (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" (string-append - (search-input-file inputs "/include/SDL") + (search-input-directory inputs "/include/SDL") ":" (or (getenv "CPATH") "")))))))) (inputs `(("fontconfig" ,fontconfig) @@ -8979,7 +8902,7 @@ fight each other on an arena-like map.") (define-public flare-engine (package (name "flare-engine") - (version "1.11") + (version "1.12") (source (origin (method git-fetch) (uri (git-reference @@ -8988,7 +8911,7 @@ fight each other on an arena-like map.") (file-name (git-file-name name version)) (sha256 (base32 - "1mqr1s72p5bdh4kq2a8hg72dk8lwnddicjnd2cdp1sbfa9lmjym8")))) + "0h4xxj6r194pw68m3ngrnzkh6xgiblyrsc54z8abwba8m0mqbvmk")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no test @@ -9007,7 +8930,7 @@ action RPGs.") (define-public flare-game (package (name "flare-game") - (version "1.11") + (version "1.12") (source (origin (method git-fetch) (uri (git-reference @@ -9016,7 +8939,7 @@ action RPGs.") (file-name (git-file-name name version)) (sha256 (base32 - "0bd5g7sd89a9176ilr408hdqzdfv4j7wj0idd685c1n6s01c3h6p")))) + "0h9i128kq6disppbrplkf13zdmsg4cq23nim53mgwpawc4mqz7ga")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no test @@ -9442,10 +9365,65 @@ and bring the war to your enemy.") license:expat license:fdl1.3+ license:public-domain license:zlib)))) +(define-public go-github-com-anaseto-gruid + (package + (name "go-github-com-anaseto-gruid") + (version "0.21.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/anaseto/gruid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rvsavkvg2hziwdh8sjk3n5v92m5mfjb8v9m7ch22maxfwq5kv6y")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/anaseto/gruid")) + (propagated-inputs + `(("go-golang-org-x-image" ,go-golang-org-x-image))) + (home-page "https://github.com/anaseto/gruid") + (synopsis "Cross-platform grid-based UI and game framework") + (description "The gruid module provides packages for easily building +grid-based applications in Go. The library abstracts rendering and input for +different platforms. There are drivers available for terminal apps, native +graphical apps and browser apps. The original application for the library was +creating grid-based games, but it's also well suited for any grid-based +application.") + (license license:isc))) + +(define-public go-github-com-anaseto-gruid-tcell + (package + (name "go-github-com-anaseto-gruid-tcell") + (version "0.1.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/anaseto/gruid-tcell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09ajr9mbldjfc44qprplbf8dr8yhlbn2nfnas2z62m9wmklc0qiv")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/anaseto/gruid-tcell")) + (propagated-inputs + `(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2) + ("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid))) + (home-page "https://github.com/anaseto/gruid-tcell") + (synopsis "Gruid driver using the tcell library") + (description "The gruid-tcell module provides a Gruid driver for building +terminal full-window applications.") + (license license:isc))) + (define-public harmonist (package (name "harmonist") - (version "0.3.0") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -9454,12 +9432,15 @@ and bring the war to your enemy.") (file-name (git-file-name name version)) (sha256 (base32 - "146wiyanag0zqj6fhyll2sw6sydnnll8mgxhhqf9sjqsl2rx4s5r")))) + "17ai39pw9xq4asfvhs0whx07hljlivygazbwrxjrnxwrn06483hr")))) (build-system go-build-system) (arguments '(#:import-path "git.tuxfamily.org/harmonist/harmonist")) (inputs - `(("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go))) + `(("go-github-com-gdamore-tcell-v2" ,go-github-com-gdamore-tcell-v2) + ("go-github.com-nsf-termbox-go" ,go-github.com-nsf-termbox-go) + ("go-github-com-anaseto-gruid" ,go-github-com-anaseto-gruid) + ("go-github-com-anaseto-gruid-tcell" ,go-github-com-anaseto-gruid-tcell))) (home-page "https://harmonist.tuxfamily.org/") (synopsis "Stealth coffee-break roguelike game") (description "Harmonist: Dayoriah Clan Infiltration is a stealth @@ -9470,26 +9451,6 @@ the game avoids complex inventory management and character building, relying on items and player adaptability for character progression.") (license license:isc))) -(define-public harmonist-tk - (package - (inherit harmonist) - (name "harmonist-tk") - (arguments - (append - (package-arguments harmonist) - `(#:phases - (modify-phases %standard-phases - (replace 'build - (lambda _ - (invoke "go" "install" "-v" "-x" "--tags" "tk" - "git.tuxfamily.org/harmonist/harmonist"))) - (replace 'check - (lambda _ - (invoke "go" "test" "--tags" "tk" - "git.tuxfamily.org/harmonist/harmonist"))))))) - (inputs - `(("go-github.com-nsf-gothic" ,go-github.com-nsf-gothic))))) - (define-public drascula (package (name "drascula") @@ -10100,7 +10061,7 @@ remake of that series or any other game.") `(("googletest" ,googletest))) (inputs `(("boost" ,boost) - ("ocl-icd" ,ocl-icd) + ("opencl-icd-loader" ,opencl-icd-loader) ("openblas" ,openblas) ("opencl-headers" ,opencl-headers) ("qtbase" ,qtbase-5) @@ -10161,6 +10122,11 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") (("qtchooser -run-tool=(.*) -qt=qt5" _ command) command)) #t)) + (add-after 'unpack 'fix-header + (lambda _ + (substitute* "src/bitarray.h" + (("#include <cstring>" all) + (string-append all "\n#include <stdexcept>"))))) (add-after 'unpack 'fix-paths (lambda _ (substitute* '("src/pics/Makefile.in" @@ -11980,7 +11946,7 @@ etc. You can also play games on FICS or against an engine.") ,(match (%current-system) ("x86_64-linux" "x86-64") ("i686-linux" "x86-32") - ("aarch64-linux" "general-64") + ("aarch64-linux" "armv8") ("armhf-linux" "armv7") ("mips64el-linux" "general-64") (_ "general-32")))) @@ -12498,3 +12464,35 @@ wreckage. You're stranded on a desert island and have to survive. In order to do so you need to explore the island, find food, build a shelter and try to get attention, so you get found.") (license license:cc-by4.0)))) + +(define-public fheroes2 + (package + (name "fheroes2") + (version "0.9.7") + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags '("FHEROES2_STRICT_COMPILATION=1" + "RELEASE=1"))) + (native-inputs + `(("gettext" ,gettext-minimal))) + (inputs + `(("libpng" ,libpng) + ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))) + ("zlib" ,zlib))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ihhub/fheroes2") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v3zh8a8yxfikcr5vkmy36c57l4nmwisz13mjavn5f7yrirf86fn")))) + (home-page "https://ihhub.github.io/fheroes2/") + (synopsis "Turn-based strategy game engine") + (description "@code{fheroes2} is an implementation of Heroes of Might and +Magic II (aka HOMM2) game engine. It requires assets and game resources to +play; it will look for them at @file{~/.local/share/fheroes2} folder.") + (license license:gpl2))) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 79994cc191..4a5f8f0886 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -600,14 +600,14 @@ It also includes runtime support libraries for these languages."))) (define-public gcc-11 (package (inherit gcc-8) - (version "11.1.0") + (version "11.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "1pwxrjhsymv90xzh0x42cxfnmhjinf2lnrrf3hj5jq1rm2w6yjjc")) + "12zs6vd2rapp42x154m479hg3h3lsafn3xhg06hp5hsldd9xr3nh")) (patches (search-patches "gcc-9-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index cb53afdc54..0be0703b82 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -9,13 +9,14 @@ ;;; Copyright © 2018, 2019, 2020 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> +;;; Copyright © 2019, 2021 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2020, 2021 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021 Clément Lassieur <clement@lassieur.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -210,7 +211,7 @@ topology functions.") (define-public gnome-maps (package (name "gnome-maps") - (version "3.36.7") + (version "3.38.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -218,7 +219,7 @@ topology functions.") name "-" version ".tar.xz")) (sha256 (base32 - "09rgw8hq3ligap1zzjhx25q354ficpbiw1z9ramghhcqbpylsxdh")))) + "1llgzm2ni3iy31dznqkc81vadv0fpqgpz2l9zzrj5jshvyq0akgh")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -478,14 +479,12 @@ coverages using a SpatiaLite DBMS.") '("--enable-rttopo=yes") #:phases (modify-phases %standard-phases - ;; 3 tests are failing, ignore them: + ;; 1 test is failing, ignore it: (add-after 'unpack 'ignore-broken-tests (lambda _ (substitute* '("test/Makefile.in") - (("\tcheck_sql_stmt.* (check_sql_.*)" all tiny) (string-append "\t" tiny)) - (("(\tch.*) check_v.*ble2.*$" all vt1) (string-append vt1 " \\\n")) - (("\tch.* (check_v.*ble4.*)$" all vt4) (string-append "\t" vt4))) - #t))))) + (("check_wms\\$\\(EXEEXT\\) check_drop_rename\\$\\(EXEEXT\\) ") + "check_wms$(EXEEXT) "))))))) (synopsis "Extend SQLite to support Spatial SQL capabilities") (description "SpatiaLite is a library intended to extend the SQLite core to support @@ -1218,6 +1217,7 @@ map display. Downloads map data from a number of websites, including (url "https://github.com/opengribs/XyGrib") (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (patches (search-patches "xygrib-fix-finding-data.patch")) (sha256 (base32 "0xzsm8pr0zjk3f8j880fg5n82jyxn8xf1330qmmq1fqv7rsrg9ia")) @@ -1232,18 +1232,15 @@ map display. Downloads map data from a number of websites, including #t)))) (build-system cmake-build-system) (arguments - `(#:phases + `(#:configure-flags (list "-DGNU_PACKAGE=ON") + + #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-directories (lambda* (#:key inputs #:allow-other-keys) (let ((jpeg (assoc-ref inputs "openjpeg")) (font (assoc-ref inputs "font-liberation"))) (substitute* "CMakeLists.txt" - ;; Find libjpeg. - (("/usr") jpeg) - ;; Fix install locations. - (("set\\(PREFIX_BIN.*") "set(PREFIX_BIN \"bin\")\n") - (("set\\(PREFIX_PKGDATA.*") "set(PREFIX_PKGDATA \"share/${PROJECT_NAME}\")\n") ;; Skip looking for the static library. (("\"libnova.a\"") "")) ;; Don't use the bundled font-liberation. @@ -1252,8 +1249,7 @@ map display. Downloads map data from a number of websites, including (string-append "\"" font "/share/fonts/truetype/\""))) (substitute* "src/util/Util.h" (("pathData\\(\\)\\+\"data/fonts/\"") - (string-append "\"" font "/share/fonts/\"")))) - #t))) + (string-append "\"" font "/share/fonts/\""))))))) #:tests? #f)) ; no tests (native-inputs `(("qttools" ,qttools))) @@ -1266,6 +1262,10 @@ map display. Downloads map data from a number of websites, including ("proj.4" ,proj.4) ("qtbase" ,qtbase-5) ("zlib" ,zlib))) + (native-search-paths + (list (search-path-specification + (variable "XDG_DATA_DIRS") + (files '("share"))))) (synopsis "Weather Forecast Visualization") (description "XyGrib is a Grib file reader and visualizes meteorological data providing @@ -1352,7 +1352,7 @@ an independent project by the JOSM team.") (define-public java-opening-hours-parser (package (name "java-opening-hours-parser") - (version "0.21.4") + (version "0.23.0") (source (origin (method git-fetch) (uri (git-reference @@ -1361,7 +1361,7 @@ an independent project by the JOSM team.") (file-name (git-file-name name version)) (sha256 (base32 - "1m8sp0jbjyv1nq3ddj8rk6rf3sva3mkacc6vw7rsj0c2n57k3i50")))) + "0yhbd2ix6h506aljh0jkrnp28m4xcqdcdpnqm30fn08kawdgxgsh")))) (build-system ant-build-system) (arguments `(#:jar-name "java-opening-hours-parser.jar" @@ -1397,7 +1397,7 @@ to the OSM opening hours specification.") (define-public josm (package (name "josm") - (version "17329") + (version "18193") (source (origin (method svn-fetch) (uri (svn-reference @@ -1406,7 +1406,7 @@ to the OSM opening hours specification.") (recursive? #f))) (sha256 (base32 - "0bq6mirdsi0kmhjfzfp3innxi5a4395d7mas7ikxaz0cziljrz1i")) + "162hdck29bkag1d97nisx8v7395pdw00bl7nf0p02hr30fc1fcrh")) (file-name (string-append name "-" version "-checkout")) (modules '((guix build utils))) (snippet @@ -1422,6 +1422,7 @@ to the OSM opening hours specification.") ("java-jmapviewer" ,java-jmapviewer) ("java-jsonp-api" ,java-jsonp-api) ("java-jsonp-impl" ,java-jsonp-impl); runtime dependency + ("java-jsr305" ,java-jsr305) ("java-metadata-extractor" ,java-metadata-extractor) ("java-opening-hours-parser" ,java-opening-hours-parser) ("java-openjfx-media" ,java-openjfx-media) @@ -1451,7 +1452,8 @@ to the OSM opening hours specification.") ;; which has renamed its classes to another namespace. Rename them ;; back so they can be used with our version of jcs. (substitute* (find-files "." ".*.java$") - (("jcs3") "jcs")) + (("jcs3") "jcs") + (("ICache.NAME_COMPONENT_DELIMITER") "\":\"")) #t)) (add-before 'build 'fix-classpath (lambda* (#:key inputs #:allow-other-keys) @@ -1705,22 +1707,7 @@ using the dataset of topographical information collected by ;; of QMapShack, but they are not applied by default, for ;; some reason... (invoke "patch" "-p1" "-i" "FindPROJ4.patch") - (invoke "patch" "-p1" "-i" "FindQuaZip5.patch") - #t)) - (add-after 'install 'wrap - ;; The program fails to find the QtWebEngineProcess program, - ;; so we set QTWEBENGINEPROCESS_PATH to help it. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((bin (string-append (assoc-ref outputs "out") "/bin")) - (qtwebengineprocess (string-append - (assoc-ref inputs "qtwebengine") - "/lib/qt5/libexec/QtWebEngineProcess"))) - (for-each (lambda (program) - (wrap-program program - `("QTWEBENGINEPROCESS_PATH" = - (,qtwebengineprocess)))) - (find-files bin ".*"))) - #t))))) + (invoke "patch" "-p1" "-i" "FindQuaZip5.patch")))))) (synopsis "GPS mapping application") (description "QMapShack can be used to plan your next outdoor trip or to visualize and @@ -1878,7 +1865,8 @@ exchanged form one Spatial DBMS and the other.") `(#:configure-flags '("-DENABLE_PORTAUDIO=ON" "-DENABLE_SNDFILE=ON" "-DBUNDLE_TCDATA=ON" - "-DBUNDLE_GSHHS=CRUDE") + "-DBUNDLE_GSHHS=CRUDE" + "-DCMAKE_C_FLAGS=-fcommon") #:tests? #f ; No tests defined #:phases (modify-phases %standard-phases @@ -2159,6 +2147,7 @@ growing set of geoscientific methods.") "PyCoreAdittions" "PyQgsAnnotation" "PyQgsAppStartup" + "PyQgsAuthBasicMethod" "PyQgsAuthenticationSystem" "PyQgsAuxiliaryStorage" "PyQgsDBManagerGpkg" @@ -2412,3 +2401,43 @@ web services. @code{geopy} makes it easy for Python developers to locate the coordinates of addresses, cities, countries, and landmarks across the globe using third-party geocoders and other data sources.") (license license:expat))) + +(define-public marble-qt + (let ((release "17.08") + (commit "fc7166eeef784732033c999ba605364f9c82d21c") + (revision "1")) + (package + (name "marble-qt") + (version (git-version release revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://invent.kde.org/education/marble.git/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0m0sf3sddaib7vc5lhbmh7ziw07p1hahg02f65sgfylyl5f5kj92")) + (patches (search-patches + "marble-qt-add-qt-headers.patch")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; libmarblewidget-qt5.so.28 not found + #:configure-flags + '("-DCMAKE_BUILD_TYPE=Release" + "-DWITH_KF5=FALSE"))) + (native-inputs + `(("qttools" ,qttools))) + (inputs + `(("qtbase" ,qtbase-5) + ("qtsvg" ,qtsvg) + ("qtdeclarative" ,qtdeclarative) + ("qtwebkit" ,qtwebkit) + ("qtlocation" ,qtlocation))) + (home-page "https://marble.kde.org/") + (synopsis "Virtual globe and world atlas") + (description "Marble is similar to a desktop globe. At closer scale it +becomes a world atlas, while OpenStreetMap takes the user to street level. It +supports searching for places of interest, viewing Wikipedia articles, +creating routes by drag and drop and more.") + (license license:gpl3)))) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 81c56946ad..1bb660ccff 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -186,7 +186,8 @@ of a larger interface.") (build-system meson-build-system) (arguments `(#:configure-flags - (list "-Denable-gir=false"))) + (list "-Denable-gir=false" + "-Dwith-docs=false"))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index cc5131b28d..769389e370 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -15,6 +15,8 @@ ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> +;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -237,7 +239,7 @@ also known as DXTn or DXTC) for Mesa.") (define-public mesa (package (name "mesa") - (version "20.2.6") + (version "21.1.6") (source (origin (method url-fetch) @@ -249,7 +251,7 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz"))) (sha256 (base32 - "1nw5k2qrlcrp5bljy1lmyybgl525y0h44synkbbirw92qv3a6b7i")) + "0dwyk7cxlwna24ap23i8i92a2qcc6xhp16i03zzakpqiz4i03jxi")) (patches (search-patches "mesa-skip-tests.patch")))) (build-system meson-build-system) @@ -309,7 +311,7 @@ also known as DXTn or DXTC) for Mesa.") "-Dglx=dri" ;Thread Local Storage, improves performance ;; "-Dopencl=true" ;; "-Domx=true" - "-Dosmesa=gallium" + "-Dosmesa=true" "-Dgallium-xa=enabled" ;; features required by wayland @@ -322,9 +324,9 @@ also known as DXTn or DXTC) for Mesa.") ((or "i686-linux" "x86_64-linux") '("-Dvulkan-drivers=intel,amd")) ((or "powerpc64le-linux" "powerpc-linux") - '("-Dvulkan-drivers=amd")) + '("-Dvulkan-drivers=amd,swrast")) ("aarch64-linux" - '("-Dvulkan-drivers=freedreno,amd")) + '("-Dvulkan-drivers=freedreno,amd,broadcom,swrast")) (_ '("-Dvulkan-drivers=auto"))) @@ -363,11 +365,11 @@ also known as DXTn or DXTC) for Mesa.") (add-after 'unpack 'disable-failing-test (lambda _ ,@(match (%current-system) - ("powerpc64le" + ("powerpc64le-linux" ;; Disable some of the llvmpipe tests. `((substitute* "src/gallium/drivers/llvmpipe/lp_test_arit.c" (("0\\.5, ") "")))) - ("powerpc" + ("powerpc-linux" ;; There are some tests which fail specifically on powerpc. `((substitute* '(;; LLVM ERROR: Relocation type not implemented yet! "src/gallium/drivers/llvmpipe/meson.build" @@ -379,12 +381,20 @@ also known as DXTn or DXTC) for Mesa.") (("'u_format_test', ") "")) ;; It is only this portion of the test which fails. (substitute* "src/mesa/main/tests/meson.build" - ((".*mesa_formats.*") "")))) + ((".*mesa_formats.*") "")) + ;; This test times out and receives SIGTERM. + (substitute* "src/amd/common/meson.build" + (("and not with_platform_windows") "and with_platform_windows")))) ("i686-linux" ;; Disable new test from Mesa 19 that fails on i686. Upstream ;; report: <https://bugs.freedesktop.org/show_bug.cgi?id=110612>. `((substitute* "src/util/tests/format/meson.build" (("'u_format_test',") "")))) + ("aarch64-linux" + ;; The ir3_disasm test segfaults. + ;; The simplest way to skip it is to run a different test instead. + `((substitute* "src/freedreno/ir3/meson.build" + (("disasm\\.c'") "delay.c',\n link_args: ld_args_build_id")))) (_ '((display "No tests to disable on this architecture.\n")))))) (add-after 'unpack 'fix-tests @@ -417,8 +427,8 @@ also known as DXTn or DXTC) for Mesa.") (let ((out (assoc-ref outputs "out")) (bin (assoc-ref outputs "bin"))) ;; Not all architectures have the Vulkan overlay control script. - (mkdir-p (string-append bin "/bin")) - (call-with-output-file (string-append bin "/bin/.empty") + (mkdir-p (string-append out "/bin")) + (call-with-output-file (string-append out "/bin/.empty") (const #t)) (copy-recursively (string-append out "/bin") (string-append bin "/bin")) @@ -469,6 +479,10 @@ from software emulation to complete hardware acceleration for modern GPUs.") (define-public mesa-opencl (package/inherit mesa (name "mesa-opencl") + (source (origin + (inherit (package-source mesa)) + (patches (cons (search-patch "mesa-opencl-all-targets.patch") + (origin-patches (package-source mesa)))))) (arguments (substitute-keyword-arguments (package-arguments mesa) ((#:configure-flags flags) @@ -484,10 +498,26 @@ from software emulation to complete hardware acceleration for modern GPUs.") (package/inherit mesa-opencl (name "mesa-opencl-icd") (arguments - (substitute-keyword-arguments (package-arguments mesa) - ((#:configure-flags flags) - `(cons "-Dgallium-opencl=icd" - ,(delete "-Dgallium-opencl=standalone" flags))))))) + (substitute-keyword-arguments (package-arguments mesa) + ((#:configure-flags flags) + `(cons "-Dgallium-opencl=icd" + ,(delete "-Dgallium-opencl=standalone" flags))) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'install 'mesa-icd-absolute-path + (lambda _ + ;; Use absolute path for OpenCL platform library. + ;; Otherwise we would have to set LD_LIBRARY_PATH=LIBRARY_PATH + ;; for ICD in our applications to find OpenCL platform. + (use-modules (guix build utils) + (ice-9 textual-ports)) + (let* ((out (assoc-ref %outputs "out")) + (mesa-icd (string-append out "/etc/OpenCL/vendors/mesa.icd")) + (old-path (call-with-input-file mesa-icd get-string-all)) + (new-path (string-append out "/lib/" (string-trim-both old-path)))) + (if (file-exists? new-path) + (call-with-output-file mesa-icd + (lambda (port) (format port "~a\n" new-path))))))))))))) (define-public mesa-headers (package/inherit mesa @@ -712,7 +742,7 @@ OpenGL graphics API.") (define-public libglvnd (package (name "libglvnd") - (version "1.3.3") + (version "1.3.4") (home-page "https://gitlab.freedesktop.org/glvnd/libglvnd") (source (origin (method git-fetch) @@ -722,7 +752,7 @@ OpenGL graphics API.") (file-name (git-file-name name version)) (sha256 (base32 - "0gjk6m3gkdm12bmih2jflp0v5s1ibkixk7mrzrk0cj884m3hy1z6")))) + "0phvgg2h3pcz3x39gaymwb37bnw1s26clq9wsj0zx398zmp3dwpk")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Dx11=enabled") @@ -734,8 +764,7 @@ OpenGL graphics API.") ;; require a running Xorg server. (substitute* "tests/meson.build" (("if with_glx") - "if false")) - #t))))) + "if false"))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 89eb354662..bdcc108ac1 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -178,7 +178,7 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.68.0") + (version "2.68.3") (source (origin (method url-fetch) @@ -187,7 +187,7 @@ shared NFS home directories.") name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1sh3h6b734cxhdd1qlzvhxq6rc7k73dsisap5y3s419s9xc4ywv7")) + (base32 "0f1iprj7v0b5wn9njj39dkl25g6filfs7i4ybk20jq821k1a7qg7")) (patches (search-patches "glib-appinfo-watch.patch" "glib-skip-failing-test.patch")) @@ -231,6 +231,18 @@ shared NFS home directories.") (substitute* '("contenttype.c" "gdbus-address-get-session.c" "gdbus-peer.c" "appinfo.c" "desktop-app-info.c") (("[ \t]*g_test_add_func.*;") ""))) + + ,@(if (let ((system (or (%current-target-system) + (%current-system)))) + (or (string-prefix? "i686-" system) + (string-prefix? "i586-" system))) + ;; Add the 'volatile' qualifier for doubles to avoid excess + ;; precision, which leads to test failures: + ;; <https://gitlab.gnome.org/GNOME/glib/-/issues/820>. + '((substitute* "glib/tests/timer.c" + (("gdouble elapsed") + "volatile gdouble elapsed"))) + '()) #t)) ;; Python references are not being patched in patch-phase of build, ;; despite using python-wrapper as input. So we patch them manually. @@ -291,10 +303,6 @@ shared NFS home directories.") (("bindir=\\$\\{prefix\\}/bin") "") (("=\\$\\{bindir\\}/") "=")) #t)))))) - ;; TODO: see above for explanation. - ;; #:configure-flags (list (string-append "--bindir=" - ;; (assoc-ref %outputs "bin") - ;; "/bin")) (native-inputs `(("docbook-xsl" ,docbook-xsl) ("gettext" ,gettext-minimal) @@ -385,6 +393,42 @@ functions for strings and common data structures.") (string-append doc html)) #t))))))))) +(define (python-extension-suffix python triplet) + "Determine the suffix for C extensions for PYTHON when compiled +for TRIPLET." + ;; python uses strings like 'x86_64-linux-gnu' instead of + ;; 'x86_64-unknown-linux-gnu'. + (define normalised-system + (string-replace-substring triplet "-unknown-" "-")) + (define major.minor (version-major+minor (package-version python))) + (define majorminor (string-delete #\. major.minor)) + (string-append + ;; If guix' python package used "--with-pydebug", a #\d would + ;; need to be added, likewise "--with-pymalloc" and "--with-wide-unicode" + ;; would require a #\m and #\u, see cpython's configure.ac. + ".cpython-" majorminor "-" normalised-system + (if (target-mingw? triplet) + ".dll" + ".so"))) + +(define (correct-library-name-phase python name) + "Return a G-exp evaluating to a phase renaming the python extension NAME +from what Meson thinks its name should be to what python expects its name +to be. NAME must not include the platform-specific suffix. This can only +be used when cross-compiling." + #~(lambda _ + (define name #$name) + (define native-suffix + #$(python-extension-suffix python + (nix-system->gnu-triplet (%current-system)))) + (define target-suffix + #$(python-extension-suffix python (%current-target-system))) + (define native-name + (string-append name native-suffix)) + (define target-name + (string-append name target-suffix)) + (rename-file native-name target-name))) + (define gobject-introspection (package (name "gobject-introspection") @@ -402,21 +446,58 @@ functions for strings and common data structures.") "gobject-introspection-absolute-shlib-path.patch")))) (build-system meson-build-system) (arguments - `(#:phases + `(,@(if (%current-target-system) + `(#:configure-flags + '("-Dgi_cross_use_prebuilt_gi=true" + ;; Building introspection data requires running binaries + ;; for ‘host’ on ‘build’, so don't do that. + ;; + ;; TODO: it would be nice to have introspection data anyways + ;; as discussed here: https://issues.guix.gnu.org/50201#60. + "-Dbuild_introspection_data=false")) + '()) + #:phases + ,#~ (modify-phases %standard-phases + #$@(if (%current-target-system) + ;; 'typelibs' is undefined. + `((add-after 'unpack 'set-typelibs + (lambda _ + (substitute* "meson.build" + (("\\bsources: typelibs\\b") + "sources: []"))))) + '()) (add-after 'unpack 'do-not-use-/usr/bin/env (lambda _ (substitute* "tools/g-ir-tool-template.in" (("#!@PYTHON_CMD@") (string-append "#!" (which "python3")))) - #t))))) + #t)) + #$@(if (%current-target-system) + ;; Meson gives python extensions an incorrect name, see + ;; <https://github.com/mesonbuild/meson/issues/7049>. + #~((add-after 'install 'rename-library + #$(correct-library-name-phase + (this-package-input "python") + #~(string-append #$output + "/lib/gobject-introspection/giscanner" + "/_giscanner")))) + #~())))) (native-inputs `(("glib" ,glib "bin") - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ;; TODO(core-updates): Unconditionally place "flex" and "bison" + ;; in 'native-inputs'. + ,@(if (%current-target-system) + `(("bison" ,bison) + ("flex" ,flex)) + '()))) (inputs - `(("bison" ,bison) - ("flex" ,flex) - ("python" ,python-wrapper) + `(,@(if (%current-target-system) + `(("python" ,python)) + `(("bison" ,bison) + ("flex" ,flex) + ("python" ,python-wrapper))) ("zlib" ,zlib))) (propagated-inputs `(("glib" ,glib) @@ -554,6 +635,16 @@ translated.") (base32 "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w")))) (build-system gnu-build-system) + (arguments + (if (%current-target-system) + `(#:configure-flags + ;; Run a native 'dbus-binding-tool' instead of a cross-compiled + ;; 'dbus-binding-tool' when cross-compiling. + ,#~(list + (string-append + "--with-dbus-binding-tool=" + #+(file-append this-package "/bin/dbus-binding-tool")))) + '())) (propagated-inputs ; according to dbus-glib-1.pc `(("dbus" ,dbus) ("glib" ,glib))) @@ -805,6 +896,14 @@ useful for C++.") '("test_atoms.py" "test_overrides_gtk.py")) #t))))) (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; The default 90 seconds can be too low on slower machines. + (invoke "meson" "test" "--timeout-multiplier" "5"))))))) (native-inputs `(("glib-bin" ,glib "bin") ("pkg-config" ,pkg-config) @@ -1101,7 +1200,11 @@ Some codes examples can be find at: (lambda _ (substitute* "libappstream-glib/as-self-test.c" (("g_test_add_func.*as_test_store_local_appdata_func);") "")) - #t))))) + #t)) + (add-before 'check 'set-home + (lambda _ + ;; Some tests want write access there. + (setenv "HOME" "/tmp")))))) (home-page "https://github.com/hughsie/appstream-glib") (synopsis "Library for reading and writing AppStream metadata") (description "This library provides objects and helper methods to help diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index af920c501d..c41ead3997 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com> ;;; Copyright © 2020 Ellis Kenyo <me@elken.dev> ;;; Copyright © 2020 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -848,7 +849,7 @@ variants.") (define-public markets (package (name "markets") - (version "0.4.0") + (version "0.5.2") (source (origin (method git-fetch) @@ -858,7 +859,7 @@ variants.") (file-name (git-file-name name version)) (sha256 (base32 - "1jzv74l2jkdiqy1hp0ww5yla50dmrvjw7fgkmb26ynblr1nb3rrb")))) + "0nk1bs7i6b7r90g5qwd3s2m462vk3kvza0drq7rzb5sdaiz9ccnz")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -868,19 +869,18 @@ variants.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/meson/postinstall.py" - (("gtk-update-icon-cache") "true")) - #t)) + (("gtk-update-icon-cache") "true")))) (add-after 'unpack 'skip-update-desktop-database ;; Don't update desktop file database. (lambda _ (substitute* "build-aux/meson/postinstall.py" - (("update-desktop-database") "true")) - #t))))) + (("update-desktop-database") "true"))))))) (inputs `(("gtk3" ,gtk+) ("gettext" ,gettext-minimal) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("libgee" ,libgee) - ("libhandy0" ,libhandy-0.0) + ("libhandy" ,libhandy) ("libsoup" ,libsoup) ("json-glib" ,json-glib) ("vala" ,vala))) @@ -892,7 +892,7 @@ variants.") (description "Markets is a GTK application that displays financial data, helping users track stocks, currencies and cryptocurrencies.") - (license license:gpl3))) + (license license:gpl3+))) (define-public vala-language-server (package diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 57811adc06..497713cddc 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -60,6 +60,9 @@ ;;; Copyright © 2020, 2021 Sébastien Lerique <sl@eauchat.org> ;;; Copyright © 2021 Trevor Hass <thass@okstate.edu> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1327,6 +1330,13 @@ a debugging tool, @command{gssdp-device-sniffer}.") (base32 "1ld7mrpdv9cszmfzh7i19qx4li25j3fr7x1jp38l8phzlmz3187p")))) (build-system meson-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a writable HOME. + (setenv "HOME" (getcwd))))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -1401,7 +1411,8 @@ given profile, etc. DLNA is a subset of UPnP A/V.") ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc/stable) ("libxml" ,libxml2) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) (inputs `(("gtk+" ,gtk+) ("gupnp" ,gupnp))) @@ -1602,7 +1613,7 @@ preview files on the GNOME desktop.") (define-public rygel (package (name "rygel") - (version "0.38.3") + (version "0.40.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -1610,23 +1621,34 @@ preview files on the GNOME desktop.") name "-" version ".tar.xz")) (sha256 (base32 - "003xficqb08r1dgid20i7cn889lbfwrglpx78rjd5nkvgxbimhh8")))) - (build-system gnu-build-system) + "0bd3d2swa8lq47b9r04x8xwdr9nhjnrwqi6scygd134wb5vxfh22")))) + (build-system meson-build-system) + (arguments + ;; Disable the tracker plugin. + '(#:configure-flags + (list "-Dplugins=external,gst-launch,lms,media-export, +mpris,playbin,ruih,tracker3"))) (native-inputs `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc. ("gobject-introspection" ,gobject-introspection) ("gtk-doc" ,gtk-doc/stable) ("pkg-config" ,pkg-config) - ("vala" ,vala))) + ("vala" ,vala) + ("docbook-xml" ,docbook-xml) + ("dockbook-xsl" ,docbook-xsl) + ("xsltproc" ,libxslt))) (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("gssdp" ,gssdp) ("gstreamer" ,gstreamer) ("gst-plugins-base" ,gst-plugins-base) + ("gst-editing-services" ,gst-editing-services) ("gtk+" ,gtk+) ("gupnp" ,gupnp) ("gupnp-av" ,gupnp-av) ("gupnp-dlna" ,gupnp-dlna) + ("json-glib" ,json-glib) ("libgee" ,libgee) ("libmediaart" ,libmediaart) ("libsoup" ,libsoup) @@ -1798,7 +1820,7 @@ either on a local, or remote machine via a number of methods.") (define-public gnome-commander (package (name "gnome-commander") - (version "1.10.3") + (version "1.12.2") (source (origin (method url-fetch) @@ -1806,7 +1828,7 @@ either on a local, or remote machine via a number of methods.") (version-major+minor version) "/" "gnome-commander-" version ".tar.xz")) (sha256 - (base32 "0bis36awb73vhkncq8yr0qlnyaxynqkvmyqbg57ijqwd0m8hh4zg")))) + (base32 "0f7l2pkyh3r1qk4hhavl7387l3bq5my3snpdppiavcpnji28dpa5")))) (build-system glib-or-gtk-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) @@ -1947,13 +1969,15 @@ formats like PNG, SVG, PDF and EPS.") (arguments '(#:phases (modify-phases %standard-phases + (add-before 'check 'set-home-for-tests + (lambda _ + (setenv "HOME" "/tmp"))) (add-before 'check 'disable-failing-tests (lambda _ ;; The PicasaWeb API tests fail with gnome-online-accounts@3.24.2. ;; They have been removed in libgdata 0.17.6, so just do the same. (substitute* "gdata/tests/Makefile" - (("picasaweb\\$\\(EXEEXT\\) ") "")) - #t))))) + (("picasaweb\\$\\(EXEEXT\\) ") ""))))))) (native-inputs `(("glib:bin" ,glib "bin") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) @@ -2082,7 +2106,7 @@ commonly used macros.") (define-public gnome-contacts (package (name "gnome-contacts") - (version "3.34") + (version "3.38.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnome-contacts/" @@ -2090,10 +2114,10 @@ commonly used macros.") name "-" version ".tar.xz")) (sha256 (base32 - "04igc9xvyc4kb5xf5g2missnvyvj9zv5cqxf5k4z7hb0sv42wq4r")))) + "0hsq0dwxjahcaxnm1m4r1lync9k2fkwzybfmkchrmn95vqcwwvf9")))) (build-system meson-build-system) (arguments - `(#:configure-flags '("-Dcheese=false") + `(#:configure-flags '("-Dcheese=disabled") #:phases (modify-phases %standard-phases (add-after 'unpack 'generate-vapis @@ -2181,6 +2205,8 @@ offline sources, providing a centralized place for managing your contacts.") ;; Tests require a running X server and locales. (system "Xvfb :1 &") (setenv "DISPLAY" ":1") + (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache") + (setenv "XDG_CONFIG_HOME" "/tmp") (setenv "GUIX_LOCPATH" (search-input-directory inputs "lib/locale"))))))) @@ -2569,24 +2595,30 @@ forgotten when the session ends.") (define-public evince (package (name "evince") - (version "3.36.5") + (version "40.2") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/evince/" - (version-major+minor version) "/" - "evince-" version ".tar.xz")) - (sha256 - (base32 - "0z79jl0j9xq9wgwkfr0d1w1qrdy4447y8shs407n5srr0vixc3bg")))) - (build-system glib-or-gtk-build-system) + (method url-fetch) + (uri "mirror://gnome/sources/evince/40/evince-40.2.tar.xz") + (sha256 + (base32 + "0xrwls1bhvny8vvd7mfjy9p26zjch0pd6x6j9jn9g2ka6xwyrxqg")))) + (build-system meson-build-system) (arguments - `(#:configure-flags '("--disable-nautilus" "--enable-introspection") + `(#:glib-or-gtk? #t + #:build-type "release" + #:configure-flags + '("-Dnautilus=false" + "-Dintrospection=true" + ;; XXX: Generating the documentation fails because the + ;; libevdocument.devhelp document cannot be created. This seems to be + ;; caused by a problem during the XSL transformation. + "-Dgtk_doc=false") #:phases (modify-phases %standard-phases - (add-before 'install 'skip-gtk-update-icon-cache + (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "data/Makefile" + (substitute* "meson_post_install.py" (("gtk-update-icon-cache") "true")) #t))))) (inputs @@ -2615,9 +2647,7 @@ forgotten when the session ends.") ("dconf" ,dconf) ("libcanberra" ,libcanberra) ("libsecret" ,libsecret) - - ;; For tests. - ("dogtail" ,python2-dogtail))) + ("libhandy" ,libhandy))) (native-inputs `(("itstool" ,itstool) ("intltool" ,intltool) @@ -2849,15 +2879,15 @@ GNOME and KDE desktops to the icon names proposed in the specification.") (define-public adwaita-icon-theme (package (inherit gnome-icon-theme) (name "adwaita-icon-theme") - (version "3.34.3") + (version "40.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" + (version-major version) "/" name "-" version ".tar.xz")) (sha256 (base32 - "025rj1fskw1y448hiar4a9icyzpyr242nlh9xhsmyp8jb71dihp7")))) + "1xpqa1rgmixlp953938d08xvf7kv36h747ysial8g65dsrp46v0b")))) (native-inputs `(("gtk-encode-symbolic-svg" ,gtk+ "bin"))))) @@ -3080,7 +3110,7 @@ some form of information without getting in the user's way.") (define-public libpeas (package (name "libpeas") - (version "1.28.0") + (version "1.30.0") (source (origin (method url-fetch) @@ -3089,7 +3119,7 @@ some form of information without getting in the user's way.") name "-" version ".tar.xz")) (sha256 (base32 - "05cb7drn6arc4gi02wgsvzibigi2riz5gnfnmlb0zmbfnj9ikna2")))) + "18xrk1c1ixlhkmykcfiafrl2am470ws687xqvjlq40zwkcp5dx8b")))) (build-system meson-build-system) (arguments '(#:phases @@ -3099,6 +3129,8 @@ some form of information without getting in the user's way.") (let ((xorg-server (assoc-ref inputs "xorg-server")) (disp ":1")) (setenv "DISPLAY" disp) + (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache") + (setenv "XDG_CONFIG_HOME" "/tmp") ;; Tests require a running X server. (system (format #f "~a/bin/Xvfb ~a &" xorg-server disp)) #t)))))) @@ -3167,7 +3199,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.") (define-public glade3 (package (name "glade") - (version "3.36.0") + (version "3.38.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -3175,14 +3207,28 @@ API add-ons to make GTK+ widgets OpenGL-capable.") name "-" version ".tar.xz")) (sha256 (base32 - "023gx8rj51njn8fsb6ma5kz1irjpxi4js0n8rwy22inc4ysldd8r")))) - (build-system glib-or-gtk-build-system) + "1dxsiz9ahqkxg2a1dw9sbd8jg59y5pdz4c1gvnbmql48gmj8gz4q")) + (patches (search-patches + "glade-gls-set-script-name.patch" + "glade-test-widget-null-icon.patch")))) + (build-system meson-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")))) + ;; XXX: Remove it once this issue is fixed: + ;; https://issues.guix.gnu.org/50105. + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* "tests/meson.build" + (("\\['modules") "#['modules")))) (add-before 'configure 'fix-docbook (lambda* (#:key inputs #:allow-other-keys) - (substitute* "man/Makefile.in" + (substitute* "man/meson.build" (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") (string-append (assoc-ref inputs "docbook-xsl") "/xml/xsl/docbook-xsl-" @@ -3206,7 +3252,10 @@ API add-ons to make GTK+ widgets OpenGL-capable.") ("libxslt" ,libxslt) ;for xsltproc ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) - ("python" ,python-2) + ("glib:bin" ,glib "bin") + ("python-pygobject" ,python-pygobject) + ("gobject-introspection" ,gobject-introspection) + ("gjs" ,gjs) ("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server-for-tests))) (home-page "https://glade.gnome.org") @@ -3344,8 +3393,6 @@ for dealing with different structured file formats.") (outputs '("out" "doc")) (arguments `(#:install-source? #f - ;; XXX: compiling librsvg_c_api hangs forever with 1.49. - #:rust ,rust-1.48 #:modules ((guix build cargo-build-system) (guix build utils) @@ -3427,17 +3474,15 @@ for dealing with different structured file formats.") (("gdk_pixbuf_cache_file = .*$") "gdk_pixbuf_cache_file = $(TMPDIR)/loaders.cache\n")))) (add-after 'configure 'gnu-configure - (lambda* (#:key inputs native-inputs outputs #:allow-other-keys) - ((assoc-ref gnu:%standard-phases 'configure) - #:native-inputs native-inputs - #:inputs inputs - #:outputs outputs - #:configure-flags - (list "--disable-static" - "--enable-vala" - (string-append "--with-html-dir=" - (assoc-ref outputs "doc") - "/share/gtk-doc/html"))))) + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (apply (assoc-ref gnu:%standard-phases 'configure) + #:configure-flags + (list "--disable-static" + "--enable-vala" + (string-append "--with-html-dir=" + (assoc-ref outputs "doc") + "/share/gtk-doc/html")) + args))) (add-after 'configure 'dont-vendor-self (lambda* (#:key vendor-dir #:allow-other-keys) ;; Don't keep the whole tarball in the vendor directory @@ -3926,67 +3971,6 @@ graphical interfaces described in glade files and for accessing the widgets built in the loading process.") (license license:gpl2+))) ; This is correct. GPL not LGPL -(define-public libgnomeprint - ;; This library has been deprecated since 2006; see - ;; <https://mail.gnome.org/archives/devel-announce-list/2006-August/msg00005.html>. - (package - (name "libgnomeprint") - (version "2.18.8") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "14cnimvlc7ky22g2snyf4362412k3jk1syjf8b9887q5a63fqd0h")))) - (build-system gnu-build-system) - (inputs - `(("popt" ,popt) - ("libart-lgpl" ,libart-lgpl) - ("gtk+" ,gtk+-2) - ("libxml2" ,libxml2))) - (native-inputs - `(("intltool" ,intltool) - ("glib" ,glib "bin") ; for glib-genmarshal, etc. - ("pkg-config" ,pkg-config))) - (home-page "https://projects.gnome.org/gnome-print/home/faq.html") - (synopsis "Printing framework for GNOME") - (description - "GNOME-print was a printing framework for GNOME. It has been deprecated -since ca. 2006, when GTK+ itself incorporated printing support.") - (license license:lgpl2.0+))) - - -(define-public libgnomeprintui - ;; Deprecated; see libgnomeprint. - (package - (name "libgnomeprintui") - (version "2.18.6") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.bz2")) - (sha256 - (base32 - "0spl8vinb5n6n1krnfnr61dwaxidg67h8j94z9p59k2xdsvfashm")))) - (build-system gnu-build-system) - ;; Mentioned as Required in the .pc file - (propagated-inputs `(("libgnomeprint" ,libgnomeprint))) - (inputs `(("gtk+" ,gtk+-2) - ("glib" ,glib) - ("gnome-icon-theme" ,gnome-icon-theme) - ("libgnomecanvas" ,libgnomecanvas) - ("libxml2" ,libxml2))) - (native-inputs - `(("intltool" ,intltool) - ("pkg-config" ,pkg-config))) - (home-page "https://projects.gnome.org/gnome-print/home/faq.html") - (synopsis "Printing framework for GNOME") - (description (package-description libgnomeprint)) - (license license:lgpl2.0+))) - (define-public libbonoboui (package (name "libbonoboui") @@ -4213,7 +4197,7 @@ engineering.") (define-public drawing (package (name "drawing") - (version "0.8.2") + (version "0.8.3") (source (origin (method git-fetch) @@ -4222,7 +4206,7 @@ engineering.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0lpszd8276rp5chn84rkvwmnflxc3pqlg4cz53gfxkqdb3gn02zz")))) + (base32 "0wz9p47riyy3h8b0sqsb6bx416hc6d1a1wyzlfmsxkrqrkwcjcm8")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -4238,9 +4222,8 @@ engineering.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) - `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) - #t)))))) + `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))))))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ("gettext" ,gettext-minimal) @@ -4612,30 +4595,53 @@ configuration storage systems.") #:configure-flags (list "-Ddocs=true" - "-Dman=true") + "-Dman=true" + ,@(if (%current-target-system) + ;; If enabled, gtkdoc-scangobj will try to execute a + ;; cross-compiled binary. + '("-Dgtk_doc=disabled" + ;; Trying to build introspection data when cross-compiling + ;; causes errors during linking. + "-Dintrospection=disabled") + '())) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-docbook - (lambda* (#:key inputs #:allow-other-keys) + ;; TODO(core-updates): Use (or native-inputs inputs) + ;; unconditionally. + (lambda* (#:key ,@(if (%current-target-system) + '(native-inputs) + '()) inputs #:allow-other-keys) (with-directory-excursion "doc" (substitute* (find-files "." "\\.xml$") (("http://www.oasis-open.org/docbook/xml/4\\.3/") - (string-append (assoc-ref inputs "docbook-xml") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) + "docbook-xml") "/xml/dtd/docbook/"))) (substitute* "meson.build" (("http://docbook.sourceforge.net/release/xsl/current/") - (string-append (assoc-ref inputs "docbook-xsl") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) "docbook-xsl") "/xml/xsl/docbook-xsl-1.79.2/")))) #t)) - (add-after 'install 'move-docs - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (mkdir-p (string-append doc "/share")) - (rename-file - (string-append out "/share/gtk-doc") - (string-append doc "/share/gtk-doc")) - #t)))))) + ;; When cross-compiling, there are no docs to move. + ,(if (%current-target-system) + '(add-after 'install 'stub-docs + (lambda* (#:key outputs #:allow-other-keys) + ;; The daemon doesn't like empty output paths. + (mkdir (assoc-ref outputs "doc")))) + '(add-after 'install 'move-docs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + #t))))))) (native-inputs `(("docbook-xml" ,docbook-xml-4.3) ("docbook-xsl" ,docbook-xsl) @@ -4645,6 +4651,11 @@ configuration storage systems.") ("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config) ("xsltproc" ,libxslt))) + (inputs + ;; TODO(core-updates): Make this input unconditional. + (if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) + '())) (propagated-inputs `(("glib" ,glib))) ;according to json-glib-1.0.pc (home-page "https://wiki.gnome.org/Projects/JsonGlib") @@ -4738,7 +4749,7 @@ library.") (define-public glib-networking (package (name "glib-networking") - (version "2.68.0") + (version "2.68.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/glib-networking/" @@ -4746,7 +4757,9 @@ library.") "glib-networking-" version ".tar.xz")) (sha256 (base32 - "0vlzn8jf4sg90cm8xxr28yf66nhf8qy9dl2m4b8w1cr6mn2mw8qb")))) + "0kwrsp1xbqf852nqmd5cr7hqw771q0dxkzpzlibdp5zn9q2vqpjk")) + (patches + (search-patches "glib-networking-gnutls-binding.patch")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -6040,7 +6053,7 @@ as possible!") (define-public grilo (package (name "grilo") - (version "0.3.12") + (version "0.3.13") (source (origin (method url-fetch) @@ -6048,7 +6061,7 @@ as possible!") (version-major+minor version) "/" "grilo-" version ".tar.xz")) (sha256 - (base32 "0w8sq5g6g1rg85h53vbll8va70fcp6082mlpmy98aa03444ddyyv")))) + (base32 "0ywjvh7xw4ql1q4fvl0q5n06n08pga1g1nc9l7c3x5214gr3fj6i")))) (build-system meson-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums and glib-genmarshal @@ -6080,7 +6093,7 @@ for application developers.") (define-public grilo-plugins (package (name "grilo-plugins") - (version "0.3.11") + (version "0.3.13") (source (origin (method url-fetch) @@ -6088,7 +6101,7 @@ for application developers.") (version-major+minor version) "/" name "-" version ".tar.xz")) (sha256 - (base32 "0wyd3n5mn7b77hxylkc3f62v01mlavh96901pz342hwrn42ydqnx")))) + (base32 "1y10nnd711qxwgpz6spzp1rnk50fyf11kk1n71a31ab4fgb0ahqw")))) (build-system meson-build-system) (native-inputs `(("gettext" ,gettext-minimal) @@ -6111,12 +6124,24 @@ for application developers.") ("libmediaart" ,libmediaart) ;("librest" ,rest) ; unused ("libsoup" ,libsoup) + ("python-pygobject" ,python-pygobject) ("totam-pl-parser" ,totem-pl-parser) - ("tracker" ,tracker))) ; unused because it's too old + ("tracker" ,tracker) + ("tracker-miners" ,tracker-miners))) (arguments `(#:glib-or-gtk? #t ;;Disable lua-factory as it needs missing dependencies - #:configure-flags '("-Denable-lua-factory=no"))) + #:configure-flags '("-Denable-lua-factory=no") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-shell + (lambda _ + (setenv "SHELL" (which "bash")))) + ;; Disable the tracker test that requires the UPower daemon. + (add-before 'configure 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/tracker3/meson.build" + (("'test_tracker3'.*") ""))))))) (home-page "https://live.gnome.org/Grilo") (synopsis "Plugins for the Grilo media discovery library") (description @@ -7145,7 +7170,7 @@ configuration program to choose applications starting on login.") (define-public gjs (package (name "gjs") - (version "1.58.3") + (version "1.68.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -7153,30 +7178,26 @@ configuration program to choose applications starting on login.") name "-" version ".tar.xz")) (sha256 (base32 - "1bkksx362007zs8c31ydygb29spwa5g5kch1ad2grc2sp53wv7ya")))) - (build-system gnu-build-system) + "0c7fclm53v41n5vfndymp35fbh1x218lrk65iqrk1wc2lsnh5zvh")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "installed-tests/scripts/testCommandLine.sh" + (("Valentín") "") + (("☭") "")))))) + (build-system meson-build-system) (arguments - '(#:phases + '(#:configure-flags '("-Dinstalled_tests=false") + #:phases (modify-phases %standard-phases - (add-before - 'check 'pre-check - (lambda _ - ;; The test suite requires a running X server. - (system "Xvfb :1 &") - (setenv "DISPLAY" ":1") - - ;; For the missing /etc/machine-id. - (setenv "DBUS_FATAL_WARNINGS" "0") + (add-before 'check 'pre-check + (lambda _ + ;; The test suite requires a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") - ;; Our mozjs-38 package does not compile the required Intl API - ;; support for these failing tests. - (substitute* "installed-tests/js/testLocale.js" - ((".*toBeDefined.*") "") - ((".*expect\\(datestr\\).*") "")) - (substitute* "installed-tests/scripts/testCommandLine.sh" - (("Valentín") "") - (("☭") "")) - #t))))) + ;; For the missing /etc/machine-id. + (setenv "DBUS_FATAL_WARNINGS" "0")))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-resources ("pkg-config" ,pkg-config) @@ -7190,7 +7211,7 @@ configuration program to choose applications starting on login.") ;; These are all in the Requires.private field of gjs-1.0.pc. `(("cairo" ,cairo) ("gobject-introspection" ,gobject-introspection) - ("mozjs" ,mozjs-60))) + ("mozjs" ,mozjs-78))) (inputs `(("gtk+" ,gtk+) ("readline" ,readline))) @@ -7496,18 +7517,20 @@ Exchange, Last.fm, IMAP/SMTP, Jabber, SIP and Kerberos.") (package (name "evolution-data-server") (version "3.34.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (patches (search-patches "evolution-data-server-locales.patch" - "evolution-data-server-libical-compat.patch" - "evolution-data-server-CVE-2020-14928.patch" - "evolution-data-server-CVE-2020-16117.patch")) - (sha256 - (base32 - "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (patches + (search-patches "evolution-data-server-locales.patch" + "evolution-data-server-libical-compat.patch" + "evolution-data-server-CVE-2020-14928.patch" + "evolution-data-server-CVE-2020-16117.patch" + "evolution-data-server-printableoptions.patch")) + (sha256 + (base32 "16z85y6hhazcrp5ngw47w4x9r0j8zrj7awv5im58hhp0xs19zf1y")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -7783,6 +7806,7 @@ users.") ("libgudev" ,libgudev) ("libndp" ,libndp) ("libnl" ,libnl) + ("libselinux" ,libselinux) ("libsoup" ,libsoup) ("mobile-broadband-provider-info" ,mobile-broadband-provider-info) ("modem-manager" ,modem-manager) @@ -7988,7 +8012,7 @@ Cisco's AnyConnect SSL VPN.") (define-public network-manager-applet (package (name "network-manager-applet") - (version "1.20.0") + (version "1.22.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/network-manager-applet/" @@ -7996,7 +8020,7 @@ Cisco's AnyConnect SSL VPN.") "network-manager-applet-" version ".tar.xz")) (sha256 (base32 - "0lsjkbv66hn7acl2pg9h6hz4b700zzv4cjwrwjvy7043blw0bcla")))) + "1gj6lqqi613j2m49v9i82lqg1rv7kwwc8z4nxjcwpaa0ins803f7")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -8034,43 +8058,75 @@ the available networks and allows users to easily switch between them.") (define-public libxml++ (package (name "libxml++") - (version "3.0.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "19kik79fmg61nv0by0a5f9wchrcfjwzvih4v2waw01hqflhqvp0r")))) + (version "3.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libxmlplusplus/libxmlplusplus") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga")))) (build-system gnu-build-system) - ;; libxml++-3.0.pc refers to all these. + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-documentation + (lambda* (#:key inputs #:allow-other-keys) + (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook")) + (xsldoc (string-append (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-" + ,(package-version docbook-xsl)))) + (substitute* '("examples/dom_xpath/example.xml" + "docs/manual/libxml++_without_code.xml") + (("http://.*/docbookx\\.dtd") + (string-append xmldoc "/docbookx.dtd"))) + (setenv "SGML_CATALOG_FILES" + (string-append xmldoc "/catalog.xml")) + (substitute* "docs/manual/docbook-customisation.xsl" + (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl") + (string-append xsldoc "/html/chunk.xsl"))))))))) (propagated-inputs - `(("libxml2" ,libxml2) - ("glibmm" ,glibmm))) + ;; libxml++-3.0.pc refers to all these. + `(("glibmm" ,glibmm-2.64) + ("libxml2" ,libxml2))) (native-inputs - `(("perl" ,perl) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("doxygen" ,doxygen) + ("docbook-xml" ,docbook-xml) + ("docbook-xsl" ,docbook-xsl) + ("graphviz" ,graphviz) ; for dot + ("libtool" ,libtool) + ("libxslt" ,libxslt) + ("mm-common" ,mm-common) + ("perl" ,perl) ("pkg-config" ,pkg-config))) - (home-page "http://libxmlplusplus.sourceforge.net/") - (synopsis "C++ wrapper for XML parser library libxml2") + (home-page "https://github.com/libxmlplusplus/libxmlplusplus/") + (synopsis "C++ bindings to the libxml2 XML parser library") (description - "This package provides a C++ wrapper for the XML parser library -libxml2.") + "This package provides a C++ interface to the libxml2 XML parser +library.") (license license:lgpl2.1+))) +;; This is the last release providing the 2.6 API, hence the name. +;; This is needed by tascam-gtk (define-public libxml++-2 (package (inherit libxml++) (name "libxml++") (version "2.40.1") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1sb3akryklvh2v6m6dihdnbpf1lkx441v972q9hlz1sq6bfspm2a")))))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/libxmlplusplus/libxmlplusplus") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9")))))) (define-public gdm (package @@ -8378,6 +8434,12 @@ devices using the GNOME desktop.") (string-append "\"" gnome-desktop "/share/gnome/gnome-version.xml\""))) #t))) + ;; XXX: This appears to be fixed in 3.35.90: + ;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=957285. + (add-before 'configure 'set-cflags + (lambda _ + (setenv "CFLAGS" "-fcommon") + #t)) (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ @@ -8681,7 +8743,7 @@ easy, safe, and automatic.") (define-public tracker (package (name "tracker") - (version "2.3.5") + (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker/" @@ -8689,7 +8751,7 @@ easy, safe, and automatic.") "tracker-" version ".tar.xz")) (sha256 (base32 - "1ixxyqjlv7pnl4j8g6b72fkbjvzfspza8y71ppkncry8i6xkr223")))) + "13zcc07wd51sz7kglk3xbjrsq7d835cxfr7iwjr7nn2xcri8jdns")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8697,19 +8759,41 @@ easy, safe, and automatic.") ;; Otherwise, the RUNPATH will lack the final path component. (list (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib:" - (assoc-ref %outputs "out") "/lib/tracker-2.0")) + (assoc-ref %outputs "out") "/lib/tracker-3.0") + "-Ddocs=false" + "-Dsystemd_user_services=false") #:phases (modify-phases %standard-phases - (add-before 'check 'pre-check + (add-before 'configure 'set-shell (lambda _ - ;; Some tests expect to write to $HOME. - (setenv "HOME" "/tmp") - #t))))) + (setenv "SHELL" (which "bash")))) + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl") + (file (search-input-file inputs manpage))) + (substitute* "docs/manpages/meson.build" + (("/etc/asciidoc[^']+") + file))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Some tests expect to write to $HOME. + (setenv "HOME" "/tmp") + (invoke "dbus-run-session" "--" "meson" "test" + "--print-errorlogs"))))))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml-4.5" ,docbook-xml) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("asciidoc" ,asciidoc) + ("xsltproc" ,libxslt) + ("cmake-minimal" ,cmake-minimal) ("python-pygobject" ,python-pygobject) + ("gtk-doc" ,gtk-doc/stable) ("intltool" ,intltool) + ("dbus" ,dbus) ("pkg-config" ,pkg-config) ("vala" ,vala))) (inputs @@ -8751,7 +8835,7 @@ endpoint and it understands SPARQL. ") (define-public tracker-miners (package (name "tracker-miners") - (version "2.3.4") + (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/tracker-miners/" @@ -8759,7 +8843,7 @@ endpoint and it understands SPARQL. ") "/tracker-miners-" version ".tar.xz")) (sha256 (base32 - "10wy8d8ski52k809p7s6lbw72qmg05bbmhnl00vx4qrbzqyxvc0b")))) + "0fpd69lgm8cckbamcf9c2q57glxf0s3jcfwkq8p3s4lfsvdclmd0")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -8768,16 +8852,54 @@ endpoint and it understands SPARQL. ") ;; Ensure the RUNPATH contains all installed library locations. (string-append "-Dc_link_args=-Wl,-rpath=" (assoc-ref %outputs "out") - "/lib/tracker-miners-2.0") + "/lib/tracker-miners-3.0") ;; TODO: Enable functional tests. Currently, the following error ;; appears: ;; Exception: The functional tests require DConf to be the default ;; GSettings backend. Got GKeyfileSettingsBackend instead. - "-Dfunctional_tests=false"))) + "-Dfunctional_tests=false" + "-Dsystemd_user_services=false") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-shell + (lambda _ + (setenv "SHELL" (which "bash")))) + (add-before 'configure 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((manpage "/etc/asciidoc/docbook-xsl/manpage.xsl") + (file (search-input-file inputs manpage))) + (substitute* "docs/manpages/meson.build" + (("/etc/asciidoc[^']+") + file))))) + (add-before 'configure 'fix-tests + (lambda* (#:key inputs #:allow-other-keys) + ;; Disable those tests that require the functional_tests option + ;; to be true and the UPower daemon to be started. + (substitute* "examples/python/meson.build" + (("foreach example_name:.*") + "foreach example_name: []")) + ;; Disable this test that is failing randomly: + ;; https://gitlab.gnome.org/GNOME/tracker-miners/-/issues/170. + (substitute* "tests/libtracker-miner/meson.build" + (("'miner-fs'.*") + "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Some tests expect to write to $HOME. + (setenv "HOME" "/tmp") + (setenv "LANG" "en_US.UTF-8") + (invoke "dbus-run-session" "--" "meson" "test" + "--print-errorlogs"))))))) (native-inputs `(("dbus" ,dbus) ("intltool" ,intltool) ("glib:bin" ,glib "bin") + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml-4.5" ,docbook-xml) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("asciidoc" ,asciidoc) + ("xsltproc" ,libxslt) ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("python-pygobject" ,python-pygobject))) @@ -8789,6 +8911,7 @@ endpoint and it understands SPARQL. ") ("glib" ,glib) ("gstreamer" ,gstreamer) ("icu4c" ,icu4c) + ("json-glib" ,json-glib) ("libcue" ,libcue) ("libexif" ,libexif) ("libgsf" ,libgsf) @@ -8798,10 +8921,12 @@ endpoint and it understands SPARQL. ") ("libosinfo" ,libosinfo) ("libpng" ,libpng) ("libseccomp" ,libseccomp) + ("libsoup" ,libsoup) ("libtiff" ,libtiff) ("libvorbis" ,libvorbis) ("libxml2" ,libxml2) ("poppler" ,poppler) + ("shared-mime-info" ,shared-mime-info) ("taglib" ,taglib) ("totem-pl-parser" ,totem-pl-parser) ("tracker" ,tracker) @@ -8822,7 +8947,7 @@ shared object databases, search tools and indexing.") (define-public nautilus (package (name "nautilus") - (version "3.34.2") + (version "3.38.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -8830,7 +8955,7 @@ shared object databases, search tools and indexing.") name "-" version ".tar.xz")) (sha256 (base32 - "19zqwq4qyyncc5wq3xls0f7rsavnw741k336p2h7kx35p4kf41mv")))) + "19ln84d6s05h6cvx3c500bg5pvkz4k6p6ykmr2201rblq9afp76h")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -8859,8 +8984,10 @@ shared object databases, search tools and indexing.") ("gnome-desktop" ,gnome-desktop) ("gnome-autoar" ,gnome-autoar) ("gst-plugins-base" ,gst-plugins-base) + ("json-glib" ,json-glib) ("libseccomp" ,libseccomp) ("libselinux" ,libselinux) + ("libsoup" ,libsoup) ("tracker" ,tracker) ("tracker-miners" ,tracker-miners) ;; XXX: gtk+ is required by libnautilus-extension.pc @@ -9691,7 +9818,7 @@ functionality and behavior.") (define-public folks (package (name "folks") - (version "0.13.1") + (version "0.14.0") (source (origin (method url-fetch) (uri (string-append @@ -9700,7 +9827,7 @@ functionality and behavior.") "folks-" version ".tar.xz")) (sha256 (base32 - "0pda8sx4ap3lyri5fdrnakl29la1zkhwlc9bmnp13qigp1iwdw9x")))) + "1f9b52vmwnq7s51vj26w2618dn2ph5g12ibbkbyk6fvxcgd7iryn")))) (build-system meson-build-system) (arguments '(#:phases @@ -9722,6 +9849,7 @@ functionality and behavior.") (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("python-dbusmock" ,python-dbusmock) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("vala" ,vala))) @@ -9845,7 +9973,7 @@ handling the startup notification side.") (define-public gnome-calculator (package (name "gnome-calculator") - (version "3.34.1") + (version "3.36.0") (source (origin (method url-fetch) @@ -9854,7 +9982,7 @@ handling the startup notification side.") name "-" version ".tar.xz")) (sha256 (base32 - "0lbh87255zzggqzai6543qg920y52bl4vs5m5h5087ghzg14hlsd")))) + "1cqd4b25qp1i0p04m669jssg1l5sdapc1mniv9jssvw5r7wk1s52")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) (native-inputs @@ -9984,6 +10112,38 @@ detailed properties. It is an easy way to find the character you might only know by its Unicode name or code point.") (license license:gpl3+)))) +(define-public gcolor3 + (package + (name "gcolor3") + (version "2.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.gnome.org/World/gcolor3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1igqmach1vhcrvbpw346pmkbb5kabbb806ssswrvkp569n700wmc")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t)) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("pkg-config" ,pkg-config))) + (inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("libportal" ,libportal))) + (home-page "https://www.hjdskes.nl/projects/gcolor3/") + (synopsis "Simple color chooser written in GTK3") + (description "Color Picker is a simple color chooser written in GTK3. It +supports both X and Wayland display servers.") + (license license:gpl2+))) + (define-public bluefish (package (name "bluefish") @@ -10198,9 +10358,7 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") (setenv "ASPELL_DICT_DIR" (search-input-directory inputs "/lib/aspell"))))))) (inputs - `(("gtk+" ,gtk+) - ("glib" ,glib) - ("iso-codes" ,iso-codes))) + `(("iso-codes" ,iso-codes))) (native-inputs `(("glib" ,glib "bin") ("gobject-introspection" ,gobject-introspection) @@ -10212,7 +10370,10 @@ that support the Assistive Technology Service Provider Interface (AT-SPI).") ("aspell-dict-en" ,aspell-dict-en) ("xorg-server" ,xorg-server-for-tests))) (propagated-inputs - `(("enchant" ,enchant))) ;enchant.pc is required by gspell-1.pc + ;; Referred by .pc file. + `(("enchant" ,enchant) + ("glib" ,glib) + ("gtk+" ,gtk+))) (home-page "https://wiki.gnome.org/Projects/gspell") (synopsis "GNOME's alternative spell checker") (description @@ -10375,7 +10536,8 @@ photo-booth-like software, such as Cheese.") version ".tar.xz")) (sha256 (base32 - "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")))) + "0vyim2avlgq3a48rgdfz5g21kqk11mfb53b2l883340v88mp7ll8")) + (patches (search-patches "cheese-vala-update.patch")))) (arguments `(#:glib-or-gtk? #t ;; Tests require GDK. @@ -10732,7 +10894,8 @@ generic enough to work for everyone.") (sha256 (base32 "164vy8h432pjglafn8y2ms4gsvk3kbgc63h5qp0mk5dv4smsp29c")) - (patches (search-patches "evolution-CVE-2020-11879.patch")))) + (patches (search-patches "evolution-CVE-2020-11879.patch" + "evolution-printableoptions.patch")))) (build-system cmake-build-system) (arguments `(#:imported-modules (,@%cmake-build-system-modules @@ -10917,7 +11080,7 @@ tabs, and it supports drag and drop re-ordering of terminals.") (define-public libhandy (package (name "libhandy") - (version "1.2.2") + (version "1.2.3") (source (origin (method git-fetch) @@ -10926,14 +11089,26 @@ tabs, and it supports drag and drop re-ordering of terminals.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0345x7gif6yjm95y62lww71lj84wfwsr2p32r3iww8shavb8scyk")))) + (base32 "1ng2607cp4dfl169rj7zi8q5p6fzxy3a4l0glm7mj75yd1a603rz")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Dglade_catalog=enabled" - "-Dgtk_doc=true") + ;; XXX: Generating the documentation fails because the + ;; libhandy.devhelp2 document cannot be created. This seems to be + ;; caused by a problem during the XSL transformation. + "-Dgtk_doc=false") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-docbook-xml + (lambda* (#:key inputs #:allow-other-keys) + (for-each + (lambda (file) + (substitute* file + (("http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd") + (search-input-file inputs + "/xml/dtd/docbook/docbookx.dtd")))) + (find-files "doc" "\\.xml")))) (add-before 'check 'pre-check (lambda _ ;; Tests require a running X server. @@ -10942,12 +11117,15 @@ tabs, and it supports drag and drop re-ordering of terminals.") #t))))) (inputs `(("gtk+" ,gtk+) - ("glade" ,glade3) - ("libxml2" ,libxml2))) + ("glade" ,glade3))) (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner ("vala" ,vala) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml" ,docbook-xml-4.3) ("gtk-doc" ,gtk-doc/stable) ("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) @@ -11095,6 +11273,13 @@ repository and commit your work.") (arguments `(#:phases (modify-phases %standard-phases + ;; The 'config.sub' is too old to recognise aarch64. + ,@(if (and=> (%current-target-system) target-aarch64?) + `((add-after 'unpack 'replace-config.sub + (lambda _ + (delete-file "config.sub") + (symlink (which "config.sub") "config.sub")))) + '()) (add-after 'unpack 'remove-deprecated-macro (lambda _ (substitute* '("server/gam_node.c" @@ -11102,11 +11287,38 @@ repository and commit your work.") "server/gam_node.h" "server/gam_subscription.c") (("G_CONST_RETURN") "const")) - #t))))) + #t)) + ;; The configure script runs a test program unconditionally, + ;; without an option to manually set the test result. + ;; Override this test anyway. + ,@(if (%current-target-system) + `((add-after 'bootstrap 'set-have-abstract-sockets + (lambda _ + (define in-abstract-sockets-test? #f) + (substitute* "configure" + (("^#### Abstract sockets\n$") + (set! in-abstract-sockets-test? #t) + "#### Abstract sockets\n") + (("^have_abstract_sockets=no\n$") + (set! in-abstract-sockets-test? #f) + ;; ‘Abstract sockets’ appear to be Linux-only. + (string-append "have_abstract_sockets=" + ,(if (target-linux?) + "yes" + "no") + "\nif false; then\nif false; then :\n")) + (("^(.*\n)$" line) + (if in-abstract-sockets-test? + "" ; delete + line)))))) + '())))) (inputs `(("glib" ,glib))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ,@(if (and=> (%current-target-system) target-aarch64?) + `(("config" ,config)) + '()))) (home-page "https://people.gnome.org/~veillard/gamin/") (synopsis "File alteration monitor") (description @@ -11286,7 +11498,7 @@ integrate seamlessly with the GNOME desktop.") (define-public gnome-boxes (package (name "gnome-boxes") - (version "3.36.6") + (version "3.38.2") (source (origin (method url-fetch) @@ -11294,7 +11506,7 @@ integrate seamlessly with the GNOME desktop.") (version-major+minor version) "/" "gnome-boxes-" version ".tar.xz")) (sha256 - (base32 "0c3cw90xqqcpacc2z06ljs0gg8saxizfgjzg9alhpwgz3gl4c5pg")))) + (base32 "1zjvng0izbws3506998l3dwsxjbm7wnhqipb8nmqzvi096czvajl")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -11316,6 +11528,8 @@ integrate seamlessly with the GNOME desktop.") ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk" ,gtk+) ("gtk-vnc" ,gtk-vnc) + ("gtksourceview" ,gtksourceview) + ("json-glib" ,json-glib) ("libosinfo" ,libosinfo) ("libsecret" ,libsecret) ("libsoup" ,libsoup) @@ -11456,6 +11670,8 @@ to.") `(("gtk+" ,gtk+) ("librsvg" ,librsvg) ("libxml2" ,libxml2))) + (arguments + `(#:configure-flags '("CFLAGS=-fcommon"))) (home-page "https://glabels.org/") (synopsis "Program for creating labels and business cards") (description @@ -11597,7 +11813,7 @@ GTK+. It integrates well with the GNOME desktop environment.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))) `("PATH" prefix (,(dirname (search-input-file inputs @@ -12008,7 +12224,7 @@ integrated profiler via Sysprof, debugging support, and more.") (define-public komikku (package (name "komikku") - (version "0.29.2") + (version "0.31.0") (source (origin (method git-fetch) @@ -12018,7 +12234,7 @@ integrated profiler via Sysprof, debugging support, and more.") (file-name (git-file-name name version)) (sha256 (base32 - "0g1whk0y3k1cy6ix20gz226ww1vzpb9hinn5d24z6j38mdgqqa5l")))) + "0vldcjq24y4xxg8dzlyhfpqxbqn5g160lz1lmmkp7g9im2zrxh52")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t @@ -12056,6 +12272,7 @@ integrated profiler via Sysprof, debugging support, and more.") ("python-keyring" ,python-keyring) ("python-lxml" ,python-lxml) ("python-magic" ,python-magic) + ("python-natsort" ,python-natsort) ("python-pillow" ,python-pillow) ("python-pure-protobuf" ,python-pure-protobuf) ("python-pycairo" ,python-pycairo) @@ -12232,7 +12449,7 @@ world.") (package-version python)) "/site-packages"))) (wrap-program prog - `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("PYTHONPATH" = (,(getenv "GUIX_PYTHONPATH") ,pylib)) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) #t)))))) (native-inputs diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index f28c034f55..41c387a909 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2019, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> ;;; Copyright © 2020 Christopher Lam <christopher.lck@gmail.com> ;;; @@ -63,15 +63,14 @@ ;; directory. (package (name "gnucash") - (version "4.2") + (version "4.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" version "/gnucash-" version ".tar.bz2")) (sha256 - (base32 - "020k1mm909dcgs52ls4v7xx3yn8gqazi9awyr81l6y7pkq1spn2n")))) + (base32 "0csp8iddhc901vv09gl5lj970g6ili696vwj4vdpkiprp7gh26r5")))) (build-system cmake-build-system) (inputs `(("guile" ,guile-3.0) @@ -93,6 +92,7 @@ (native-inputs `(("glib" ,glib "bin") ; glib-compile-schemas, etc. ("intltool" ,intltool) + ("gmp" ,gmp) ("googlemock" ,(package-source googletest)) ("googletest" ,googletest) ("gnucash-docs" ,gnucash-docs) @@ -231,8 +231,7 @@ installed as well as Yelp, the Gnome help browser.") (uri (string-append "mirror://sourceforge/gnucash/gnucash%20%28stable%29/" version "/gnucash-docs-" version revision ".tar.gz")) (sha256 - (base32 - "1p1rbv0gyi07nh5pzhk3xm46w66kjyaipb6rpaq9yb9gil1nl7q5")))) + (base32 "1365k4wb8zfm2zyg7zqyvajbzh9311m2zi1vpvbpp8p4sibqjksw")))) (build-system gnu-build-system) ;; These are native-inputs because they are only required for building the ;; documentation. diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index d0a9955005..c1ccf8d702 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -164,7 +164,8 @@ tool to extract metadata from a file and print the results.") version ".tar.gz")) (sha256 (base32 - "0bh39irwzkv48fkw43skfgkk8ka3793bx1lm21sgw6zxi0djyyx3")))) + "0bh39irwzkv48fkw43skfgkk8ka3793bx1lm21sgw6zxi0djyyx3")) + (patches (search-patches "libmicrohttpd-0.9.73-test-ssl3.patch")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 4584310e55..e04c16ef59 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org> @@ -280,7 +280,7 @@ compatible to GNU Pth.") (define-public gnupg (package (name "gnupg") - (version "2.2.27") + (version "2.2.29") (source (origin (method url-fetch) (uri (string-append "mirror://gnupg/gnupg/gnupg-" version @@ -288,7 +288,7 @@ compatible to GNU Pth.") (patches (search-patches "gnupg-default-pinentry.patch")) (sha256 (base32 - "1693s2rp9sjwvdslj94n03wnb6rxysjy0dli0q1698af044h1ril")))) + "1j8cpp08zlz9a9n4g9z6352m1bvl369r94p4pjg8z0948pdprl1r")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -360,7 +360,8 @@ libskba (working with X.509 certificates and CMS data).") ".tar.bz2")) (sha256 (base32 - "1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9")))) + "1fkq4sqldvf6a25mm2qz95swv1qjg464736091w51djiwqbjyin9")) + (patches (search-patches "gnupg-1-build-with-gcc10.patch")))) (native-inputs '()) (inputs `(("zlib" ,zlib) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index c562deff2b..5dd90e4e20 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -15,6 +15,8 @@ ;;; Copyright © 2019, 2020 Adrian Malacoda <malacoda@monarch-pass.net> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -353,7 +355,7 @@ in C/C++.") ;; we take the Debian version instead, because it is easier to work with. (package (inherit mozjs-38) - (version "60.2.3-2") + (version "60.2.3-4") (source (origin (method git-fetch) (uri (git-reference @@ -362,27 +364,49 @@ in C/C++.") (file-name (git-file-name "mozjs" version)) (sha256 (base32 - "091w050rwzrdcbgyi934k2viyccmlqxrp13sm2mql71mabb5dai6")))) + "1xl6avsj9gkgma71p56jzs7nasc767k3n1frnmri5pad4rj94bij")))) (arguments `(#:tests? #f ; FIXME: all tests pass, but then the check phase fails anyway. #:test-target "check-jstests" #:configure-flags - '("--enable-ctypes" - "--enable-optimize" - "--enable-pie" - "--enable-readline" - "--enable-shared-js" - "--enable-system-ffi" - "--with-system-nspr" - "--with-system-zlib" - "--with-system-icu" - "--with-intl-api" - ;; This is important because without it gjs will segfault during the - ;; configure phase. With jemalloc only the standalone mozjs console - ;; will work. - "--disable-jemalloc") + ;; TODO(core-updates): unconditionally use 'quasiquote + ,#~(#$(if (%current-target-system) + #~quasiquote + #~quote) + ("--enable-ctypes" + "--enable-optimize" + "--enable-pie" + "--enable-readline" + "--enable-shared-js" + "--enable-system-ffi" + "--with-system-nspr" + #$@(if (%current-target-system) + #~(,(string-append "--with-nspr-prefix=" + #$(this-package-input "nspr"))) + #~()) + "--with-system-zlib" + "--with-system-icu" + "--with-intl-api" + ;; This is important because without it gjs will segfault during the + ;; configure phase. With jemalloc only the standalone mozjs console + ;; will work. + "--disable-jemalloc" + ;; Mozilla deviates from Autotools conventions due to historical + ;; reasons. + #$@(if (%current-target-system) + #~(#$(string-append + "--host=" + (nix-system->gnu-triplet (%current-system))) + #$(string-append "--target=" (%current-target-system))) + #~()))) #:phases (modify-phases %standard-phases + ;; Make sure pkg-config will be found. + ,@(if (%current-target-system) + `((add-before 'configure 'set-PKG-CONFIG + (lambda _ + (setenv "PKG_CONFIG" ,(pkg-config-for-target))))) + '()) (replace 'configure (lambda* (#:key inputs outputs configure-flags #:allow-other-keys) ;; The configure script does not accept environment variables as @@ -691,8 +715,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "78.12.0-guix0-preview1") -(define %icecat-build-id "20210713000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "78.14.0-guix0-preview1") +(define %icecat-build-id "20210907000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -714,7 +738,7 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "043lplq5i4ax6nh4am3b2bm8dbn4rzzcji1zp0yy1pad4nwahmcb")))) + "1ymjlg6p23c510m764pqr4sldrvk0c7g490a29js2cqc2nj2h3ma")))) (upstream-icecat-base-version "78.7.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) @@ -907,6 +931,7 @@ from forcing GEXP-PROMISE." ;; UNBUNDLE-ME! ("nss" ,nss) ("shared-mime-info" ,shared-mime-info) ;; UNBUNDLE-ME! ("sqlite" ,sqlite) + ("eudev" ,eudev) ("unzip" ,unzip) ("zip" ,zip) ;; UNBUNDLE-ME! ("zlib" ,zlib) @@ -1268,24 +1293,21 @@ from forcing GEXP-PROMISE." (lib (string-append out "/lib")) (gtk (assoc-ref inputs "gtk+")) (gtk-share (string-append gtk "/share")) - (mesa (assoc-ref inputs "mesa")) - (mesa-lib (string-append mesa "/lib")) - (pulseaudio (assoc-ref inputs "pulseaudio")) - (pulseaudio-lib (string-append pulseaudio "/lib")) - (libxscrnsaver (assoc-ref inputs "libxscrnsaver")) - (libxscrnsaver-lib (string-append libxscrnsaver "/lib")) - (mit-krb5 (assoc-ref inputs "mit-krb5")) - (mit-krb5-lib (string-append mit-krb5 "/lib"))) + (ld-libs (map (lambda (lib) + (string-append (assoc-ref inputs lib) + "/lib")) + '("libxscrnsaver" + "mesa" + "mit-krb5" + "eudev" + "pulseaudio")))) (wrap-program (car (find-files lib "^icecat$")) `("XDG_DATA_DIRS" prefix (,gtk-share)) ;; The following line is commented out because the icecat ;; package on guix has been observed to be unstable when ;; using wayland, and the bundled extensions stop working. ;; `("MOZ_ENABLE_WAYLAND" = ("1")) - `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib - ,mesa-lib - ,libxscrnsaver-lib - ,mit-krb5-lib))) + `("LD_LIBRARY_PATH" prefix ,ld-libs)) #t)))))) (home-page "https://www.gnu.org/software/gnuzilla/") (synopsis "Entirely free browser derived from Mozilla Firefox") @@ -1304,11 +1326,11 @@ standards of the IceCat project.") (cpe-version . ,(first (string-split version #\-))))))) ;; Update this together with icecat! -(define %icedove-build-id "20210601000000") ;must be of the form YYYYMMDDhhmmss +(define %icedove-build-id "20210810000000") ;must be of the form YYYYMMDDhhmmss (define-public icedove (package (name "icedove") - (version "78.11.0") + (version "78.13.0") (source icecat-source) (properties `((cpe-name . "thunderbird_esr"))) @@ -1592,7 +1614,7 @@ standards of the IceCat project.") ;; in the Thunderbird release tarball. We don't use the release ;; tarball because it duplicates the Icecat sources and only adds the ;; "comm" directory, which is provided by this repository. - ,(let ((changeset "1717d8d5fbd359aab7a4a0a15f4d15c72a7e6afc")) + ,(let ((changeset "adcfedf831da719455116546865f9a5faea848a6")) (origin (method hg-fetch) (uri (hg-reference @@ -1601,7 +1623,7 @@ standards of the IceCat project.") (file-name (string-append "thunderbird-" version "-checkout")) (sha256 (base32 - "10l042dd7b8rvla0cbiks5kjrz2b28yy7hr8sr169wlx202hxa01"))))) + "1dahf3y8bm3kh7amf341wnmh82a2r0ksqihc6dwiakh6x86a94cm"))))) ("autoconf" ,autoconf-2.13) ("cargo" ,rust "cargo") ("clang" ,clang) diff --git a/gnu/packages/gobby.scm b/gnu/packages/gobby.scm index 0e1910d7ce..03e8a065b3 100644 --- a/gnu/packages/gobby.scm +++ b/gnu/packages/gobby.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (guix download) #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages glib) @@ -63,7 +65,7 @@ (string-append "gnutls_priority_set_direct" "(session, \"NORMAL:+ANON-DH\", NULL)")))))))) (inputs - `(("libsigc++" ,libsigc++) + `(("libsigc++" ,libsigc++-2) ("gnutls" ,gnutls))) (home-page "https://gobby.github.io/") (synopsis "Network access framework for IPv4/IPv6") @@ -90,7 +92,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libsigc++" ,libsigc++) + `(("libsigc++" ,libsigc++-2) ("gnutls" ,gnutls) ("libnet6" ,libnet6))) (home-page "https://gobby.github.io/") @@ -143,7 +145,7 @@ connect to a server running the old 0.4 protocol.") (define-public gobby (package (name "gobby") - (version "0.5.0") + (version "0.6.0") (source (origin (method url-fetch) (uri (string-append "http://releases.0x539.de/gobby/gobby-" @@ -151,16 +153,17 @@ connect to a server running the old 0.4 protocol.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc")))) - (build-system gnu-build-system) + "1p2wbnchxy2wdzk19p7bxfpbq5zawa0l500na57jp8jgk3qz7czx")))) + (build-system glib-or-gtk-build-system) (native-inputs `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + ("intltool" ,intltool) + ("itstool" ,itstool))) (inputs `(("gnutls" ,gnutls) ("gsasl" ,gsasl) - ("gtkmm-2" ,gtkmm-2) - ("gtksourceview-2" ,gtksourceview-2) + ("gtkmm" ,gtkmm) + ("gtksourceview" ,gtksourceview-3) ("libinfinity" ,libinfinity) ("libxml++-2" ,libxml++-2))) (arguments diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d3ef39a2e6..e9cf75bd7d 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2018, 2019, 2020 Katherine Cox-Buday <cox.katherine.e@gmail.com> ;;; Copyright © 2019 Giovanni Biscuolo <g@xelera.eu> ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.com> @@ -29,6 +29,7 @@ ;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 jgart <jgart@dismail.de> +;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -67,6 +68,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages syncthing) #:use-module (gnu packages terminals) #:use-module (gnu packages textutils) #:use-module (gnu packages tls) @@ -74,6 +76,727 @@ #:use-module (ice-9 match) #:use-module (srfi srfi-1)) +;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a +;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 +;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately +;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of +;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or +;; gccgo-5. Mips is not officially supported, but it should work if it is +;; bootstrapped. + +(define-public go-1.4 + (package + (name "go") + ;; The C-language bootstrap of Go: + ;; https://golang.org/doc/install/source#go14 + (version "1.4-bootstrap-20171003") + (source (origin + (method url-fetch) + (uri (string-append "https://storage.googleapis.com/golang/" + name version ".tar.gz")) + (sha256 + (base32 + "0liybk5z00hizsb5ypkbhqcawnwwa6mkwgvjjg4y3jm3ndg5pzzl")))) + (build-system gnu-build-system) + (outputs '("out" + "doc" + "tests")) + (arguments + `(#:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) + #:tests? #f ; Tests are run by the all.bash script. + ,@(if (string-prefix? "aarch64-linux" (or (%current-system) + (%current-target-system))) + '(#:system "armhf-linux") + '()) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'patch-generated-file-shebangs 'chdir + (lambda _ + (chdir "src") + #t)) + (add-before 'build 'prebuild + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) + (ld (string-append (assoc-ref inputs "libc") "/lib")) + (loader (car (find-files ld "^ld-linux.+"))) + (net-base (assoc-ref inputs "net-base")) + (tzdata-path + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) + (output (assoc-ref outputs "out"))) + + ;; Removing net/ tests, which fail when attempting to access + ;; network resources not present in the build container. + (for-each delete-file + '("net/multicast_test.go" "net/parse_test.go" + "net/port_test.go")) + + ;; Add libgcc to the RUNPATH. + (substitute* "cmd/go/build.go" + (("cgoldflags := \\[\\]string\\{\\}") + (string-append "cgoldflags := []string{" + "\"-rpath=" gcclib "\"}")) + (("ldflags := buildLdflags") + (string-append + "ldflags := buildLdflags\n" + "ldflags = append(ldflags, \"-r\")\n" + "ldflags = append(ldflags, \"" gcclib "\")\n"))) + + (substitute* "os/os_test.go" + (("/usr/bin") (getcwd)) + (("/bin/pwd") (which "pwd"))) + + ;; Disable failing tests: these tests attempt to access + ;; commands or network resources which are neither available or + ;; necessary for the build to succeed. + (for-each + (match-lambda + ((file regex) + (substitute* file + ((regex all before test_name) + (string-append before "Disabled" test_name))))) + '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") + ("net/dial_test.go" "(.+)(TestDialTimeout.+)") + ("os/os_test.go" "(.+)(TestHostname.+)") + ("time/format_test.go" "(.+)(TestParseInSydney.+)") + + ;; XXX: This test fails with tzdata 2020b and newer. Later + ;; Go releases work fine, so just disable this for the + ;; bootstrap Go. + ("time/example_test.go" "(.+)(ExampleParseInLocation.+)") + + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") + ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") + ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") + ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") + ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") + ("os/exec/exec_test.go" "(.+)(TestPipes.+)") + ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") + ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)"))) + + (substitute* "net/lookup_unix.go" + (("/etc/protocols") (string-append net-base "/etc/protocols"))) + (substitute* "time/zoneinfo_unix.go" + (("/usr/share/zoneinfo/") tzdata-path)) + (substitute* (find-files "cmd" "asm.c") + (("/lib/ld-linux.*\\.so\\.[0-9]") loader)) + #t))) + + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Some of the .a files are not bit-reproducible. + (let* ((output (assoc-ref outputs "out"))) + (setenv "CC" (which "gcc")) + (setenv "GOOS" "linux") + (setenv "GOROOT" (dirname (getcwd))) + (setenv "GOROOT_FINAL" output) + (setenv "GO14TESTS" "1") + (invoke "sh" "all.bash")))) + + (replace 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (doc_out (assoc-ref outputs "doc")) + (bash (string-append (assoc-ref inputs "bash") "bin/bash")) + (docs (string-append doc_out "/share/doc/" ,name "-" ,version)) + (tests (string-append + (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) + (mkdir-p tests) + (copy-recursively "../test" (string-append tests "/test")) + (delete-file-recursively "../test") + (mkdir-p docs) + (copy-recursively "../api" (string-append docs "/api")) + (delete-file-recursively "../api") + (copy-recursively "../doc" (string-append docs "/doc")) + (delete-file-recursively "../doc") + + (for-each (lambda (file) + (let ((file (string-append "../" file))) + (install-file file docs) + (delete-file file))) + '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS" + "LICENSE" "VERSION" "robots.txt")) + (copy-recursively "../" output) + #t)))))) + (inputs + `(("tzdata" ,tzdata) + ("pcre" ,pcre) + ("gcc:lib" ,(canonical-package gcc) "lib"))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("which" ,which) + ("net-base" ,net-base) + ("perl" ,perl))) + + (home-page "https://golang.org/") + (synopsis "Compiler and libraries for Go, a statically-typed language") + (description "Go, also commonly referred to as golang, is an imperative +programming language designed primarily for systems programming. Go is a +compiled, statically typed language in the tradition of C and C++, but adds +garbage collection, various safety features, and concurrent programming features +in the style of communicating sequential processes (@dfn{CSP}).") + (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")) + (license license:bsd-3))) + +(define-public go-1.14 + (package + (inherit go-1.4) + (name "go") + (version "1.14.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/go") + (commit (string-append "go" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1crh90qkvhlx23hwsi4wxy3l3h8973lr18135y6h1nnzzwr3n3ps")))) + (arguments + (substitute-keyword-arguments (package-arguments go-1.4) + ((#:system system) + (if (string-prefix? "aarch64-linux" (or (%current-system) + (%current-target-system))) + "aarch64-linux" + system)) + ((#:phases phases) + `(modify-phases ,phases + (replace 'prebuild + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) + (ld (string-append (assoc-ref inputs "libc") "/lib")) + (loader (car (find-files ld "^ld-linux.+"))) + (net-base (assoc-ref inputs "net-base")) + (tzdata-path + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) + (output (assoc-ref outputs "out"))) + + ;; Having the patch in the 'patches' field of <origin> breaks + ;; the 'TestServeContent' test due to the fact that + ;; timestamps are reset. Thus, apply it from here. + (invoke "patch" "-p2" "--force" "-i" + (assoc-ref inputs "go-skip-gc-test.patch")) + + ;; A side effect of these test scripts is testing + ;; cgo. Attempts at using cgo flags and directives with these + ;; scripts as specified here (https://golang.org/cmd/cgo/) + ;; have not worked. The tests continue to state that they can + ;; not find object files/headers despite being present. + (for-each + delete-file + '("cmd/go/testdata/script/mod_case_cgo.txt" + "cmd/go/testdata/script/list_find.txt" + "cmd/go/testdata/script/list_compiled_imports.txt" + "cmd/go/testdata/script/cgo_syso_issue29253.txt" + "cmd/go/testdata/script/cover_cgo.txt" + "cmd/go/testdata/script/cover_cgo_xtest.txt" + "cmd/go/testdata/script/cover_cgo_extra_test.txt" + "cmd/go/testdata/script/cover_cgo_extra_file.txt" + "cmd/go/testdata/script/cgo_path_space.txt" + "cmd/go/testdata/script/ldflag.txt" + "cmd/go/testdata/script/cgo_path.txt")) + + (for-each make-file-writable (find-files ".")) + + (substitute* "os/os_test.go" + (("/usr/bin") (getcwd)) + (("/bin/pwd") (which "pwd")) + (("/bin/sh") (which "sh"))) + + ;; Backport fix for go-1.14 with GCC 9+ + ;; https://github.com/golang/go/issues/39157 + (substitute* "cmd/go/note_test.go" + (("cannot find 'ld'") "cannot find [‘']ld[’']")) + + ;; Add libgcc to runpath + (substitute* "cmd/link/internal/ld/lib.go" + (("!rpath.set") "true")) + (substitute* "cmd/go/internal/work/gccgo.go" + (("cgoldflags := \\[\\]string\\{\\}") + (string-append "cgoldflags := []string{" + "\"-rpath=" gcclib "\"" + "}")) + (("\"-lgcc_s\", ") + (string-append + "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) + (substitute* "cmd/go/internal/work/gc.go" + (("ldflags = setextld\\(ldflags, compiler\\)") + (string-append + "ldflags = setextld(ldflags, compiler)\n" + "ldflags = append(ldflags, \"-r\")\n" + "ldflags = append(ldflags, \"" gcclib "\")\n"))) + + ;; Disable failing tests: these tests attempt to access + ;; commands or network resources which are neither available + ;; nor necessary for the build to succeed. + (for-each + (match-lambda + ((file regex) + (substitute* file + ((regex all before test_name) + (string-append before "Disabled" test_name))))) + '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") + ("net/dial_test.go" "(.+)(TestDialTimeout.+)") + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)") + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)") + ;; 127.0.0.1 doesn't exist + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)") + ;; 127.0.0.1 doesn't exist + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)") + ;; /etc/services doesn't exist + ("net/parse_test.go" "(.+)(TestReadLine.+)") + ("os/os_test.go" "(.+)(TestHostname.+)") + ;; The user's directory doesn't exist + ("os/os_test.go" "(.+)(TestUserHomeDir.+)") + ("time/format_test.go" "(.+)(TestParseInSydney.+)") + ("time/format_test.go" "(.+)(TestParseInLocation.+)") + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") + ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") + ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") + ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") + ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") + ("os/exec/exec_test.go" "(.+)(TestPipes.+)") + ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") + ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)") + ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)") + ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)") + ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)") + ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)") + ("net/lookup_test.go" "(.+)(TestLookupPort.+)") + ("syscall/exec_linux_test.go" + "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)"))) + + ;; These tests fail on aarch64-linux + (substitute* "cmd/dist/test.go" + (("t.registerHostTest\\(\"testsanitizers/msan.*") "")) + + ;; fix shebang for testar script + ;; note the target script is generated at build time. + (substitute* "../misc/cgo/testcarchive/carchive_test.go" + (("#!/usr/bin/env") (string-append "#!" (which "env")))) + + (substitute* "net/lookup_unix.go" + (("/etc/protocols") (string-append net-base "/etc/protocols"))) + (substitute* "net/port_unix.go" + (("/etc/services") (string-append net-base "/etc/services"))) + (substitute* "time/zoneinfo_unix.go" + (("/usr/share/zoneinfo/") tzdata-path)) + (substitute* (find-files "cmd" "\\.go") + (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader)) + #t))) + (add-before 'build 'set-bootstrap-variables + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; Tell the build system where to find the bootstrap Go. + (let ((go (assoc-ref inputs "go"))) + (setenv "GOROOT_BOOTSTRAP" go) + (setenv "GOGC" "400") + #t))) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; FIXME: Some of the .a files are not bit-reproducible. + (let* ((output (assoc-ref outputs "out"))) + (setenv "CC" (which "gcc")) + (setenv "GOOS" "linux") + (setenv "GOROOT" (dirname (getcwd))) + (setenv "GOROOT_FINAL" output) + (setenv "CGO_ENABLED" "1") + (invoke "sh" "all.bash")))) + (replace 'install + ;; TODO: Most of this could be factorized with Go 1.4. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (doc_out (assoc-ref outputs "doc")) + (docs (string-append doc_out "/share/doc/" ,name "-" ,version)) + (src (string-append + (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) + ;; Prevent installation of the build cache, which contains + ;; store references to most of the tools used to build Go and + ;; would unnecessarily increase the size of Go's closure if it + ;; was installed. + (delete-file-recursively "../pkg/obj") + + (mkdir-p src) + (copy-recursively "../test" (string-append src "/test")) + (delete-file-recursively "../test") + (mkdir-p docs) + (copy-recursively "../api" (string-append docs "/api")) + (delete-file-recursively "../api") + (copy-recursively "../doc" (string-append docs "/doc")) + (delete-file-recursively "../doc") + + (for-each + (lambda (file) + (let* ((filein (string-append "../" file)) + (fileout (string-append docs "/" file))) + (copy-file filein fileout) + (delete-file filein))) + ;; Note the slightly different file names compared to 1.4. + '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS" + "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt")) + + (copy-recursively "../" output) + #t))))))) + (native-inputs + `(("go" ,go-1.4) + ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch")) + ,@(match (%current-system) + ((or "armhf-linux" "aarch64-linux") + `(("gold" ,binutils-gold))) + (_ `())) + ,@(package-native-inputs go-1.4))) + (supported-systems %supported-systems))) + +(define-public go-1.16 + (package + (inherit go-1.14) + (name "go") + (version "1.16.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/go") + (commit (string-append "go" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00zv65v09kr2cljxxqypk980r4b4aqjijhbw4ikppn8km68h831n")))) + (arguments + (substitute-keyword-arguments (package-arguments go-1.14) + ((#:tests? _) #t) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'remove-unused-sourcecode-generators + (lambda _ + ;; Prevent perl from inclusion in closure through unused files + (for-each delete-file (find-files "src" "\\.pl$")))) + (replace 'prebuild + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) + (net-base (assoc-ref inputs "net-base")) + (tzdata-path + (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) + + ;; Having the patch in the 'patches' field of <origin> breaks + ;; the 'TestServeContent' test due to the fact that + ;; timestamps are reset. Thus, apply it from here. + (invoke "patch" "-p2" "--force" "-i" + (assoc-ref inputs "go-skip-gc-test.patch")) + (invoke "patch" "-p2" "--force" "-i" + (assoc-ref inputs "go-fix-script-tests.patch")) + + (for-each make-file-writable (find-files ".")) + + (substitute* "os/os_test.go" + (("/usr/bin") (getcwd)) + (("/bin/sh") (which "sh"))) + + (substitute* "cmd/go/testdata/script/cgo_path_space.txt" + (("/bin/sh") (which "sh"))) + + ;; Add libgcc to runpath + (substitute* "cmd/link/internal/ld/lib.go" + (("!rpath.set") "true")) + (substitute* "cmd/go/internal/work/gccgo.go" + (("cgoldflags := \\[\\]string\\{\\}") + (string-append "cgoldflags := []string{" + "\"-Wl,-rpath=" gcclib "\"" + "}")) + (("\"-lgcc_s\", ") + (string-append + "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) + (substitute* "cmd/go/internal/work/gc.go" + (("ldflags = setextld\\(ldflags, compiler\\)") + (string-append + "ldflags = setextld(ldflags, compiler)\n" + "ldflags = append(ldflags, \"-r\")\n" + "ldflags = append(ldflags, \"" gcclib "\")\n"))) + + ;; Disable failing tests: these tests attempt to access + ;; commands or network resources which are neither available + ;; nor necessary for the build to succeed. + (for-each + (match-lambda + ((file regex) + (substitute* file + ((regex all before test_name) + (string-append before "Disabled" test_name))))) + '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") + ("net/dial_test.go" "(.+)(TestDialTimeout.+)") + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)") + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)") + ;; 127.0.0.1 doesn't exist + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)") + ;; 127.0.0.1 doesn't exist + ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)") + ;; /etc/services doesn't exist + ("net/parse_test.go" "(.+)(TestReadLine.+)") + ("os/os_test.go" "(.+)(TestHostname.+)") + ;; The user's directory doesn't exist + ("os/os_test.go" "(.+)(TestUserHomeDir.+)") + ("time/format_test.go" "(.+)(TestParseInSydney.+)") + ("time/format_test.go" "(.+)(TestParseInLocation.+)") + ("os/exec/exec_test.go" "(.+)(TestEcho.+)") + ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") + ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") + ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") + ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") + ("os/exec/exec_test.go" "(.+)(TestPipes.+)") + ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") + ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)") + ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)") + ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)") + ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)") + ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)") + ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)") + ("net/lookup_test.go" "(.+)(TestLookupPort.+)") + ("syscall/exec_linux_test.go" + "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)"))) + + ;; These tests fail on aarch64-linux + (substitute* "cmd/dist/test.go" + (("t.registerHostTest\\(\"testsanitizers/msan.*") "")) + + ;; fix shebang for testar script + ;; note the target script is generated at build time. + (substitute* "../misc/cgo/testcarchive/carchive_test.go" + (("#!/usr/bin/env") (string-append "#!" (which "env")))) + + (substitute* "net/lookup_unix.go" + (("/etc/protocols") (string-append net-base "/etc/protocols"))) + (substitute* "net/port_unix.go" + (("/etc/services") (string-append net-base "/etc/services"))) + (substitute* "time/zoneinfo_unix.go" + (("/usr/share/zoneinfo/") tzdata-path))))) + (replace 'build + (lambda* (#:key inputs outputs (parallel-build? #t) + #:allow-other-keys) + ;; FIXME: Some of the .a files are not bit-reproducible. + ;; (Is this still true?) + (let* ((njobs (if parallel-build? (parallel-job-count) 1)) + (output (assoc-ref outputs "out")) + (loader (string-append (assoc-ref inputs "libc") + ,(glibc-dynamic-linker)))) + (setenv "CC" (which "gcc")) + (setenv "GO_LDSO" loader) + (setenv "GOOS" "linux") + (setenv "GOROOT" (dirname (getcwd))) + (setenv "GOROOT_FINAL" output) + (setenv "GOCACHE" "/tmp/go-cache") + (setenv "GOMAXPROCS" (number->string njobs)) + (invoke "sh" "make.bash" "--no-banner")))) + (replace 'check + (lambda* (#:key target (tests? (not target)) (parallel-tests? #t) + #:allow-other-keys) + (let* ((njobs (if parallel-tests? (parallel-job-count) 1))) + (when tests? + (setenv "GOMAXPROCS" (number->string njobs)) + (invoke "sh" "run.bash" "--no-rebuild"))))) + (add-before 'install 'unpatch-perl-shebangs + (lambda _ + ;; Rewrite references to perl input in test scripts + (substitute* "net/http/cgi/testdata/test.cgi" + (("^#!.*") "#!/usr/bin/env perl\n")))))))) + (native-inputs + `(("go-fix-script-tests.patch" ,(search-patch "go-fix-script-tests.patch")) + ,@(if (not (member (%current-system) (package-supported-systems go-1.4))) + (alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14)) + (package-native-inputs go-1.14)))))) + +(define-public go-1.17 + (package + (inherit go-1.16) + (name "go") + (version "1.17.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/golang/go") + (commit (string-append "go" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wk99lwpzp4qwrksl932lm9vb70nyf4vgb5lxwh7gzjcbhlqj992")))) + (outputs '("out" "tests")) ; 'tests' contains distribution tests. + (arguments + `(#:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((output (assoc-ref outputs "out")) + (loader (string-append (assoc-ref inputs "libc") + ,(glibc-dynamic-linker)))) + (setenv "GOOS" "linux") + (setenv "GO_LDSO" loader) + (setenv "GOROOT" (getcwd)) + (setenv "GOROOT_FINAL" (string-append output "/lib/go")) + (setenv "GOGC" "400") + (setenv "GOCACHE" "/tmp/go-cache")))) + (add-after 'unpack 'patch-source + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((net-base (assoc-ref inputs "net-base")) + (tzdata-path (string-append (assoc-ref inputs "tzdata") + "/share/zoneinfo"))) + ;; XXX: Remove when #49729 is merged? + (for-each make-file-writable (find-files "src")) + + ;; Having the patch in the 'patches' field of <origin> breaks + ;; the 'TestServeContent' test due to the fact that + ;; timestamps are reset. Thus, apply it from here. + (invoke "patch" "-p1" "--force" "-i" + (assoc-ref inputs "go-skip-gc-test.patch")) + (invoke "patch" "-p1" "--force" "-i" + (assoc-ref inputs "go-fix-script-tests.patch")) + + (substitute* "src/os/os_test.go" + (("/usr/bin") (getcwd)) + (("/bin/sh") (which "sh"))) + + (substitute* "src/cmd/go/testdata/script/cgo_path_space.txt" + (("/bin/sh") (which "sh"))) + + ;; fix shebang for testar script + ;; note the target script is generated at build time. + (substitute* "misc/cgo/testcarchive/carchive_test.go" + (("/usr/bin/env bash") (which "bash"))) + + (substitute* "src/net/lookup_unix.go" + (("/etc/protocols") + (string-append net-base "/etc/protocols"))) + (substitute* "src/net/port_unix.go" + (("/etc/services") + (string-append net-base "/etc/services"))) + (substitute* "src/time/zoneinfo_unix.go" + (("/usr/share/zoneinfo/") tzdata-path))))) + (add-after 'patch-source 'disable-failing-tests + (lambda _ + ;; Disable failing tests: these tests attempt to access + ;; commands or network resources which are neither available + ;; nor necessary for the build to succeed. + (for-each + (match-lambda + ((file test) + (let ((regex (string-append "^(func\\s+)(" test "\\()"))) + (substitute* file + ((regex all before test_name) + (string-append before "Disabled" test_name)))))) + '(("src/net/cgo_unix_test.go" "TestCgoLookupPort") + ("src/net/cgo_unix_test.go" "TestCgoLookupPortWithCancel") + ;; 127.0.0.1 doesn't exist + ("src/net/cgo_unix_test.go" "TestCgoLookupPTR") + ("src/net/cgo_unix_test.go" "TestCgoLookupPTRWithCancel") + ;; /etc/services doesn't exist + ("src/net/parse_test.go" "TestReadLine") + ;; The user's directory doesn't exist + ("src/os/os_test.go" "TestUserHomeDir"))) + + ;; These tests fail on aarch64-linux + (substitute* "src/cmd/dist/test.go" + (("t.registerHostTest\\(\"testsanitizers/msan.*") "")))) + (add-after 'patch-source 'enable-external-linking + (lambda _ + ;; Invoke GCC to link any archives created with GCC (that is, any + ;; packages built using 'cgo'), because Go doesn't know how to + ;; handle the runpaths but GCC does. Use substitute* rather than + ;; a patch since these files are liable to change often. + ;; + ;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar when + ;; <https://github.com/golang/go/issues/31544> and/or + ;; <https://github.com/golang/go/issues/43525> are resolved. + (substitute* "src/cmd/link/internal/ld/config.go" + (("iscgo && externalobj") "iscgo")) + (substitute* '("src/cmd/nm/nm_cgo_test.go" + "src/cmd/dist/test.go") + (("^func.*?nternalLink\\(\\).*" all) + (string-append all "\n\treturn false\n"))))) + (replace 'build + (lambda* (#:key (parallel-build? #t) #:allow-other-keys) + (let* ((njobs (if parallel-build? (parallel-job-count) 1))) + (with-directory-excursion "src" + (setenv "GOMAXPROCS" (number->string njobs)) + (invoke "sh" "make.bash" "--no-banner"))))) + (replace 'check + (lambda* (#:key target (tests? (not target)) (parallel-tests? #t) + #:allow-other-keys) + (let* ((njobs (if parallel-tests? (parallel-job-count) 1))) + (when tests? + (with-directory-excursion "src" + (setenv "GOMAXPROCS" (number->string njobs)) + (invoke "sh" "run.bash" "--no-rebuild")))))) + (add-before 'install 'unpatch-perl-shebangs + (lambda _ + ;; Avoid inclusion of perl in closure by rewriting references + ;; to perl input in sourcecode generators and test scripts + (substitute* (cons "src/net/http/cgi/testdata/test.cgi" + (find-files "src" "\\.pl$")) + (("^#!.*") "#!/usr/bin/env perl\n")))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Notably, we do not install archives (180M), which Go will + ;; happily recompile quickly (and cache) if needed, almost + ;; surely faster than they could be substituted. + ;; + ;; The main motivation for pre-compiled archives is to use + ;; libc-linked `net' or `os' packages without a C compiler, + ;; but on Guix a C compiler is necessary to properly link the + ;; final binaries anyway. Many build flags also invalidate + ;; these pre-compiled archives, so in practice Go often + ;; recompiles them anyway. + ;; + ;; Upstream is also planning to no longer install these + ;; archives: <https://github.com/golang/go/issues/47257> + ;; + ;; When necessary, a custom pre-compiled library package can + ;; be created with `#:import-path "std"' and used with + ;; `-pkgdir'. + (let* ((out (assoc-ref outputs "out")) + (tests (assoc-ref outputs "tests"))) + (for-each + (lambda (file) + (copy-recursively file (string-append out "/lib/go/" file))) + '("lib" "VERSION" "pkg/include" "pkg/tool")) + + (for-each + (match-lambda + ((file dest output) + ;; Copy to output/dest and symlink from output/lib/go/file. + (let ((file* (string-append output "/lib/go/" file)) + (dest* (string-append output "/" dest))) + (copy-recursively file dest*) + (mkdir-p (dirname file*)) + (symlink (string-append "../../" dest) file*)))) + `(("bin" "bin" ,out) + ("src" "share/go/src" ,out) + ("misc" "share/go/misc" ,out) + ("doc" "share/doc/go/doc" ,out) + ("api" "share/go/api" ,tests) + ("test" "share/go/test" ,tests)))))) + (add-after 'install 'install-doc-files + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (file) + (install-file file (string-append out "/share/doc/go"))) + '("AUTHORS" "CONTRIBUTORS" "CONTRIBUTING.md" "PATENTS" + "README.md" "SECURITY.md")))))))) + (inputs (alist-delete "gcc:lib" (package-inputs go-1.16))))) + +(define-public go go-1.14) + (define-public go-0xacab-org-leap-shapeshifter (let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474") (revision "12")) @@ -840,6 +1563,12 @@ Go.") (url "https://github.com/sevlyar/go-daemon") (commit (string-append "v" version)))) (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + ;; XXX: Remove when updating + '(begin + (substitute* "compilation_test.go" + ((".*\"darwin/386\".*") "")))) (sha256 (base32 "1y3gnxaifykcjcbzx91lz9bc93b95w3xj4rjxjbii26pm3j7gqyk")))) (build-system go-build-system) @@ -879,7 +1608,9 @@ Go.") (("/bin/sleep" command) (string-append (assoc-ref (or native-inputs inputs) "coreutils") - command)))))))) + command))) + (substitute* "src/github.com/keybase/go-ps/process_openbsd.go" + (("^// \\+build ignore") ""))))))) (native-inputs `(("coreutils" ,coreutils) ("go-github-com-stretchr-testify" @@ -1015,537 +1746,6 @@ for speed on short messages.") your Go binary to be later served from an http.FileSystem.") (license license:asl2.0))) -;; According to https://golang.org/doc/install/gccgo, gccgo-4.8.2 includes a -;; complete go-1.1.2 implementation, gccgo-4.9 includes a complete go-1.2 -;; implementation, and gccgo-5 a complete implementation of go-1.4. Ultimately -;; we hope to build go-1.5+ with a bootstrap process using gccgo-5. As of -;; go-1.5, go cannot be bootstrapped without go-1.4, so we need to use go-1.4 or -;; gccgo-5. Mips is not officially supported, but it should work if it is -;; bootstrapped. - -(define-public go-1.4 - (package - (name "go") - ;; The C-language bootstrap of Go: - ;; https://golang.org/doc/install/source#go14 - (version "1.4-bootstrap-20171003") - (source (origin - (method url-fetch) - (uri (string-append "https://storage.googleapis.com/golang/" - name version ".tar.gz")) - (sha256 - (base32 - "0liybk5z00hizsb5ypkbhqcawnwwa6mkwgvjjg4y3jm3ndg5pzzl")))) - (build-system gnu-build-system) - (outputs '("out" - "doc" - "tests")) - (arguments - `(#:modules ((ice-9 match) - (guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) - #:tests? #f ; Tests are run by the all.bash script. - ,@(if (string-prefix? "aarch64-linux" (or (%current-system) - (%current-target-system))) - '(#:system "armhf-linux") - '()) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'patch-generated-file-shebangs 'chdir - (lambda _ - (chdir "src") - #t)) - (add-before 'build 'prebuild - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) - (ld (dirname (search-input-file inputs "/lib/libc.so"))) - (loader (car (find-files ld "^ld-linux.+"))) - (net-base (assoc-ref inputs "net-base")) - (tzdata-path - (search-input-directory inputs "share/zoneinfo")) - (output (assoc-ref outputs "out"))) - - ;; Removing net/ tests, which fail when attempting to access - ;; network resources not present in the build container. - (for-each delete-file - '("net/multicast_test.go" "net/parse_test.go" - "net/port_test.go")) - - ;; Add libgcc to the RUNPATH. - (substitute* "cmd/go/build.go" - (("cgoldflags := \\[\\]string\\{\\}") - (string-append "cgoldflags := []string{" - "\"-rpath=" gcclib "\"}")) - (("ldflags := buildLdflags") - (string-append - "ldflags := buildLdflags\n" - "ldflags = append(ldflags, \"-r\")\n" - "ldflags = append(ldflags, \"" gcclib "\")\n"))) - - (substitute* "os/os_test.go" - (("/usr/bin") (getcwd)) - (("/bin/pwd") (which "pwd"))) - - ;; Disable failing tests: these tests attempt to access - ;; commands or network resources which are neither available or - ;; necessary for the build to succeed. - (for-each - (match-lambda - ((file regex) - (substitute* file - ((regex all before test_name) - (string-append before "Disabled" test_name))))) - '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") - ("net/dial_test.go" "(.+)(TestDialTimeout.+)") - ("os/os_test.go" "(.+)(TestHostname.+)") - ("time/format_test.go" "(.+)(TestParseInSydney.+)") - - ;; XXX: This test fails with tzdata 2020b and newer. Later - ;; Go releases work fine, so just disable this for the - ;; bootstrap Go. - ("time/example_test.go" "(.+)(ExampleParseInLocation.+)") - - ("os/exec/exec_test.go" "(.+)(TestEcho.+)") - ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") - ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") - ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") - ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") - ("os/exec/exec_test.go" "(.+)(TestPipes.+)") - ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") - ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)"))) - - (substitute* "net/lookup_unix.go" - (("/etc/protocols") (string-append net-base "/etc/protocols"))) - (substitute* "time/zoneinfo_unix.go" - (("/usr/share/zoneinfo/") tzdata-path)) - (substitute* (find-files "cmd" "asm.c") - (("/lib/ld-linux.*\\.so\\.[0-9]") loader)) - #t))) - - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; FIXME: Some of the .a files are not bit-reproducible. - (let* ((output (assoc-ref outputs "out"))) - (setenv "CC" (which "gcc")) - (setenv "GOOS" "linux") - (setenv "GOROOT" (dirname (getcwd))) - (setenv "GOROOT_FINAL" output) - (setenv "GO14TESTS" "1") - (invoke "sh" "all.bash")))) - - (replace 'install - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((output (assoc-ref outputs "out")) - (doc_out (assoc-ref outputs "doc")) - (bash (search-input-file inputs "bin/bash")) - (docs (string-append doc_out "/share/doc/" ,name "-" ,version)) - (tests (string-append - (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) - (mkdir-p tests) - (copy-recursively "../test" (string-append tests "/test")) - (delete-file-recursively "../test") - (mkdir-p docs) - (copy-recursively "../api" (string-append docs "/api")) - (delete-file-recursively "../api") - (copy-recursively "../doc" (string-append docs "/doc")) - (delete-file-recursively "../doc") - - (for-each (lambda (file) - (let ((file (string-append "../" file))) - (install-file file docs) - (delete-file file))) - '("README" "CONTRIBUTORS" "AUTHORS" "PATENTS" - "LICENSE" "VERSION" "robots.txt")) - (copy-recursively "../" output) - #t)))))) - (inputs - `(("tzdata" ,tzdata) - ("pcre" ,pcre) - ("gcc:lib" ,(canonical-package gcc) "lib"))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which) - ("net-base" ,net-base) - ("perl" ,perl))) - - (home-page "https://golang.org/") - (synopsis "Compiler and libraries for Go, a statically-typed language") - (description "Go, also commonly referred to as golang, is an imperative -programming language designed primarily for systems programming. Go is a -compiled, statically typed language in the tradition of C and C++, but adds -garbage collection, various safety features, and concurrent programming features -in the style of communicating sequential processes (@dfn{CSP}).") - (supported-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")) - (license license:bsd-3))) - -(define-public go-1.14 - (package - (inherit go-1.4) - (name "go") - (version "1.14.15") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/golang/go") - (commit (string-append "go" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1crh90qkvhlx23hwsi4wxy3l3h8973lr18135y6h1nnzzwr3n3ps")))) - (arguments - (substitute-keyword-arguments (package-arguments go-1.4) - ((#:system system) - (if (string-prefix? "aarch64-linux" (or (%current-system) - (%current-target-system))) - "aarch64-linux" - system)) - ((#:phases phases) - `(modify-phases ,phases - (replace 'prebuild - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) - (ld (dirname (search-input-file inputs "/lib/libc.so"))) - (loader (car (find-files ld "^ld-linux.+"))) - (net-base (assoc-ref inputs "net-base")) - (tzdata-path - (search-input-directory inputs "share/zoneinfo")) - (output (assoc-ref outputs "out"))) - - ;; Having the patch in the 'patches' field of <origin> breaks - ;; the 'TestServeContent' test due to the fact that - ;; timestamps are reset. Thus, apply it from here. - (invoke "patch" "-p2" "--force" "-i" - (assoc-ref inputs "go-skip-gc-test.patch")) - - ;; A side effect of these test scripts is testing - ;; cgo. Attempts at using cgo flags and directives with these - ;; scripts as specified here (https://golang.org/cmd/cgo/) - ;; have not worked. The tests continue to state that they can - ;; not find object files/headers despite being present. - (for-each - delete-file - '("cmd/go/testdata/script/mod_case_cgo.txt" - "cmd/go/testdata/script/list_find.txt" - "cmd/go/testdata/script/list_compiled_imports.txt" - "cmd/go/testdata/script/cgo_syso_issue29253.txt" - "cmd/go/testdata/script/cover_cgo.txt" - "cmd/go/testdata/script/cover_cgo_xtest.txt" - "cmd/go/testdata/script/cover_cgo_extra_test.txt" - "cmd/go/testdata/script/cover_cgo_extra_file.txt" - "cmd/go/testdata/script/cgo_path_space.txt" - "cmd/go/testdata/script/ldflag.txt" - "cmd/go/testdata/script/cgo_path.txt")) - - (for-each make-file-writable (find-files ".")) - - (substitute* "os/os_test.go" - (("/usr/bin") (getcwd)) - (("/bin/pwd") (which "pwd")) - (("/bin/sh") (which "sh"))) - - ;; Add libgcc to runpath - (substitute* "cmd/link/internal/ld/lib.go" - (("!rpath.set") "true")) - (substitute* "cmd/go/internal/work/gccgo.go" - (("cgoldflags := \\[\\]string\\{\\}") - (string-append "cgoldflags := []string{" - "\"-rpath=" gcclib "\"" - "}")) - (("\"-lgcc_s\", ") - (string-append - "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) - (substitute* "cmd/go/internal/work/gc.go" - (("ldflags = setextld\\(ldflags, compiler\\)") - (string-append - "ldflags = setextld(ldflags, compiler)\n" - "ldflags = append(ldflags, \"-r\")\n" - "ldflags = append(ldflags, \"" gcclib "\")\n"))) - - ;; Disable failing tests: these tests attempt to access - ;; commands or network resources which are neither available - ;; nor necessary for the build to succeed. - (for-each - (match-lambda - ((file regex) - (substitute* file - ((regex all before test_name) - (string-append before "Disabled" test_name))))) - '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") - ("net/dial_test.go" "(.+)(TestDialTimeout.+)") - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)") - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)") - ;; 127.0.0.1 doesn't exist - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)") - ;; 127.0.0.1 doesn't exist - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)") - ;; /etc/services doesn't exist - ("net/parse_test.go" "(.+)(TestReadLine.+)") - ("os/os_test.go" "(.+)(TestHostname.+)") - ;; The user's directory doesn't exist - ("os/os_test.go" "(.+)(TestUserHomeDir.+)") - ("time/format_test.go" "(.+)(TestParseInSydney.+)") - ("time/format_test.go" "(.+)(TestParseInLocation.+)") - ("os/exec/exec_test.go" "(.+)(TestEcho.+)") - ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") - ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") - ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") - ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") - ("os/exec/exec_test.go" "(.+)(TestPipes.+)") - ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") - ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)") - ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)") - ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)") - ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)") - ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)") - ("net/lookup_test.go" "(.+)(TestLookupPort.+)") - ("syscall/exec_linux_test.go" - "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)"))) - - ;; These tests fail on aarch64-linux - (substitute* "cmd/dist/test.go" - (("t.registerHostTest\\(\"testsanitizers/msan.*") "")) - - ;; fix shebang for testar script - ;; note the target script is generated at build time. - (substitute* "../misc/cgo/testcarchive/carchive_test.go" - (("#!/usr/bin/env") (string-append "#!" (which "env")))) - - (substitute* "net/lookup_unix.go" - (("/etc/protocols") (string-append net-base "/etc/protocols"))) - (substitute* "net/port_unix.go" - (("/etc/services") (string-append net-base "/etc/services"))) - (substitute* "time/zoneinfo_unix.go" - (("/usr/share/zoneinfo/") tzdata-path)) - (substitute* (find-files "cmd" "\\.go") - (("/lib(64)?/ld-linux.*\\.so\\.[0-9]") loader)) - #t))) - (add-before 'build 'set-bootstrap-variables - (lambda* (#:key outputs inputs #:allow-other-keys) - ;; Tell the build system where to find the bootstrap Go. - (let ((go (assoc-ref inputs "go"))) - (setenv "GOROOT_BOOTSTRAP" go) - (setenv "GOGC" "400") - #t))) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; FIXME: Some of the .a files are not bit-reproducible. - (let* ((output (assoc-ref outputs "out"))) - (setenv "CC" (which "gcc")) - (setenv "GOOS" "linux") - (setenv "GOROOT" (dirname (getcwd))) - (setenv "GOROOT_FINAL" output) - (setenv "CGO_ENABLED" "1") - (invoke "sh" "all.bash")))) - (replace 'install - ;; TODO: Most of this could be factorized with Go 1.4. - (lambda* (#:key outputs #:allow-other-keys) - (let* ((output (assoc-ref outputs "out")) - (doc_out (assoc-ref outputs "doc")) - (docs (string-append doc_out "/share/doc/" ,name "-" ,version)) - (src (string-append - (assoc-ref outputs "tests") "/share/" ,name "-" ,version))) - ;; Prevent installation of the build cache, which contains - ;; store references to most of the tools used to build Go and - ;; would unnecessarily increase the size of Go's closure if it - ;; was installed. - (delete-file-recursively "../pkg/obj") - - (mkdir-p src) - (copy-recursively "../test" (string-append src "/test")) - (delete-file-recursively "../test") - (mkdir-p docs) - (copy-recursively "../api" (string-append docs "/api")) - (delete-file-recursively "../api") - (copy-recursively "../doc" (string-append docs "/doc")) - (delete-file-recursively "../doc") - - (for-each - (lambda (file) - (let* ((filein (string-append "../" file)) - (fileout (string-append docs "/" file))) - (copy-file filein fileout) - (delete-file filein))) - ;; Note the slightly different file names compared to 1.4. - '("README.md" "CONTRIBUTORS" "AUTHORS" "PATENTS" - "LICENSE" "VERSION" "CONTRIBUTING.md" "robots.txt")) - - (copy-recursively "../" output) - #t))))))) - (native-inputs - `(("go" ,go-1.4) - ("go-skip-gc-test.patch" ,(search-patch "go-skip-gc-test.patch")) - ,@(match (%current-system) - ((or "armhf-linux" "aarch64-linux") - `(("gold" ,binutils-gold))) - (_ `())) - ,@(package-native-inputs go-1.4))) - (supported-systems %supported-systems))) - -(define-public go-1.16 - (package - (inherit go-1.14) - (name "go") - (version "1.16.5") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/golang/go") - (commit (string-append "go" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "19a93p217h5xi2sgh34qzv24pkd4df0sw4fc5z6k47lspjp3vx2l")))) - (arguments - (substitute-keyword-arguments (package-arguments go-1.14) - ((#:tests? _) #t) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'remove-unused-sourcecode-generators - (lambda _ - ;; Prevent perl from inclusion in closure through unused files - (for-each delete-file (find-files "src" "\\.pl$")))) - (replace 'prebuild - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) - (net-base (assoc-ref inputs "net-base")) - (tzdata-path - (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo"))) - - ;; Having the patch in the 'patches' field of <origin> breaks - ;; the 'TestServeContent' test due to the fact that - ;; timestamps are reset. Thus, apply it from here. - (invoke "patch" "-p2" "--force" "-i" - (assoc-ref inputs "go-skip-gc-test.patch")) - (invoke "patch" "-p2" "--force" "-i" - (assoc-ref inputs "go-fix-script-tests.patch")) - - (for-each make-file-writable (find-files ".")) - - (substitute* "os/os_test.go" - (("/usr/bin") (getcwd)) - (("/bin/sh") (which "sh"))) - - (substitute* "cmd/go/testdata/script/cgo_path_space.txt" - (("/bin/sh") (which "sh"))) - - ;; Add libgcc to runpath - (substitute* "cmd/link/internal/ld/lib.go" - (("!rpath.set") "true")) - (substitute* "cmd/go/internal/work/gccgo.go" - (("cgoldflags := \\[\\]string\\{\\}") - (string-append "cgoldflags := []string{" - "\"-Wl,-rpath=" gcclib "\"" - "}")) - (("\"-lgcc_s\", ") - (string-append - "\"-Wl,-rpath=" gcclib "\", \"-lgcc_s\", "))) - (substitute* "cmd/go/internal/work/gc.go" - (("ldflags = setextld\\(ldflags, compiler\\)") - (string-append - "ldflags = setextld(ldflags, compiler)\n" - "ldflags = append(ldflags, \"-r\")\n" - "ldflags = append(ldflags, \"" gcclib "\")\n"))) - - ;; Disable failing tests: these tests attempt to access - ;; commands or network resources which are neither available - ;; nor necessary for the build to succeed. - (for-each - (match-lambda - ((file regex) - (substitute* file - ((regex all before test_name) - (string-append before "Disabled" test_name))))) - '(("net/net_test.go" "(.+)(TestShutdownUnix.+)") - ("net/dial_test.go" "(.+)(TestDialTimeout.+)") - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPort.+)") - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPortWithCancel.+)") - ;; 127.0.0.1 doesn't exist - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTR.+)") - ;; 127.0.0.1 doesn't exist - ("net/cgo_unix_test.go" "(.+)(TestCgoLookupPTRWithCancel.+)") - ;; /etc/services doesn't exist - ("net/parse_test.go" "(.+)(TestReadLine.+)") - ("os/os_test.go" "(.+)(TestHostname.+)") - ;; The user's directory doesn't exist - ("os/os_test.go" "(.+)(TestUserHomeDir.+)") - ("time/format_test.go" "(.+)(TestParseInSydney.+)") - ("time/format_test.go" "(.+)(TestParseInLocation.+)") - ("os/exec/exec_test.go" "(.+)(TestEcho.+)") - ("os/exec/exec_test.go" "(.+)(TestCommandRelativeName.+)") - ("os/exec/exec_test.go" "(.+)(TestCatStdin.+)") - ("os/exec/exec_test.go" "(.+)(TestCatGoodAndBadFile.+)") - ("os/exec/exec_test.go" "(.+)(TestExitStatus.+)") - ("os/exec/exec_test.go" "(.+)(TestPipes.+)") - ("os/exec/exec_test.go" "(.+)(TestStdinClose.+)") - ("os/exec/exec_test.go" "(.+)(TestIgnorePipeErrorOnSuccess.+)") - ("syscall/syscall_unix_test.go" "(.+)(TestPassFD\\(.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFiles/areturn.+)") - ("cmd/go/go_test.go" "(.+)(TestCoverageWithCgo.+)") - ("cmd/go/go_test.go" "(.+)(TestTwoPkgConfigs.+)") - ("os/exec/exec_test.go" "(.+)(TestOutputStderrCapture.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFiles.+)") - ("os/exec/exec_test.go" "(.+)(TestExtraFilesRace.+)") - ("net/lookup_test.go" "(.+)(TestLookupPort.+)") - ("syscall/exec_linux_test.go" - "(.+)(TestCloneNEWUSERAndRemapNoRootDisableSetgroups.+)"))) - - ;; These tests fail on aarch64-linux - (substitute* "cmd/dist/test.go" - (("t.registerHostTest\\(\"testsanitizers/msan.*") "")) - - ;; fix shebang for testar script - ;; note the target script is generated at build time. - (substitute* "../misc/cgo/testcarchive/carchive_test.go" - (("#!/usr/bin/env") (string-append "#!" (which "env")))) - - (substitute* "net/lookup_unix.go" - (("/etc/protocols") (string-append net-base "/etc/protocols"))) - (substitute* "net/port_unix.go" - (("/etc/services") (string-append net-base "/etc/services"))) - (substitute* "time/zoneinfo_unix.go" - (("/usr/share/zoneinfo/") tzdata-path))))) - (replace 'build - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; FIXME: Some of the .a files are not bit-reproducible. - ;; (Is this still true?) - (let* ((output (assoc-ref outputs "out")) - (loader (string-append (assoc-ref inputs "libc") - ,(glibc-dynamic-linker)))) - (setenv "CC" (which "gcc")) - (setenv "GO_LDSO" loader) - (setenv "GOOS" "linux") - (setenv "GOROOT" (dirname (getcwd))) - (setenv "GOROOT_FINAL" output) - (setenv "GOCACHE" "/tmp/go-cache") - (invoke "sh" "make.bash" "--no-banner")))) - (replace 'check - (lambda* (#:key target (tests? (not target)) (parallel-tests? #t) - #:allow-other-keys) - (let* ((njobs (if parallel-tests? (parallel-job-count) 1))) - (when tests? - (setenv "GOMAXPROCS" (number->string njobs)) - (invoke "sh" "run.bash" "--no-rebuild"))))) - (add-before 'install 'unpatch-perl-shebangs - (lambda _ - ;; Rewrite references to perl input in test scripts - (substitute* "net/http/cgi/testdata/test.cgi" - (("^#!.*") "#!/usr/bin/env perl\n")))))))) - (native-inputs - `(("go-fix-script-tests.patch" ,(search-patch "go-fix-script-tests.patch")) - ,@(if (not (member (%current-system) (package-supported-systems go-1.4))) - (alist-replace "go" (list gccgo-10) (package-native-inputs go-1.14)) - (package-native-inputs go-1.14)))))) - -(define-public go go-1.14) - (define-public go-github-com-alsm-ioprogress (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5") (revision "0")) @@ -2749,6 +2949,68 @@ developers to use @code{http} methods explicitly and in a way that's consistent with the HTTP protocol definition.") (license license:expat))) +(define-public go-cloud-google-com-go-compute-metadata + (package + (name "go-cloud-google-com-go-compute-metadata") + (version "0.81.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/googleapis/google-cloud-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15jgynqb5pbxqbj3a7ii970yn4srsw1dbxzxnhpkfkmplalpgyh3")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "cloud.google.com/go" + #:import-path "cloud.google.com/go/compute/metadata")) + (home-page + "https://pkg.go.dev/cloud.google.com/go/compute/metadata") + (synopsis + "Go wrapper for Google Compute Engine metadata service") + (description + "This package provides access to Google Compute Engine (GCE) metadata and +API service accounts for Go.") + (license license:asl2.0))) + +(define-public go-github-com-google-gmail-oauth2-tools-go-sendgmail + (let ((commit "e3229155a4037267ce40f1a3a681f53221aa4d8d") + (revision "0")) + (package + (name "go-github-com-google-gmail-oauth2-tools-go-sendgmail") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/gmail-oauth2-tools") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cxpkiaajhq1gjsg47r2b5xgck0r63pvkyrkm7af8c8dw7fyn64f")))) + (propagated-inputs + `(("go-golang-org-x-oauth2" ,go-golang-org-x-oauth2) + ("go-cloud-google-com-go-compute-metadata" + ,go-cloud-google-com-go-compute-metadata))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/google/gmail-oauth2-tools" + #:import-path "github.com/google/gmail-oauth2-tools/go/sendgmail")) + (home-page + "https://github.com/google/gmail-oauth2-tools/tree/master/go/sendgmail") + (synopsis + "Sendmail-compatible tool for using Gmail with @code{git send-email}") + (description + "The @command{sendgmail} command provides a minimal sendmail-compatible +front-end that connects to Gmail using OAuth2. It is specifically designed +for use with @code{git send-email}. The command needs a Gmail API key to +function.") + (license license:asl2.0)))) + (define-public go-github-com-google-cadvisor (let ((commit "2ed7198f77395ee9a172878a0a7ab92ab59a2cfd") (revision "0")) @@ -3192,7 +3454,7 @@ application's http.Handlers.") (define-public go-github-com-magiconair-properties (package (name "go-github-com-magiconair-properties") - (version "1.8.4") + (version "1.8.5") (source (origin (method git-fetch) @@ -3202,7 +3464,7 @@ application's http.Handlers.") (file-name (git-file-name name version)) (sha256 (base32 - "0q7d55z0v8y55dyy8nhgdnswf5zkgj3i87irbk294nvzhx01bnxd")))) + "0v4agnkhc30fblbmhs0gq2bikhdnnmqmpp4phrnza68m04j5hxbn")))) (build-system go-build-system) (arguments `(#:import-path "github.com/magiconair/properties")) @@ -3214,7 +3476,7 @@ application's http.Handlers.") (define-public go-github-com-pelletier-go-toml (package (name "go-github-com-pelletier-go-toml") - (version "1.8.0") + (version "1.9.3") (source (origin (method git-fetch) @@ -3224,7 +3486,7 @@ application's http.Handlers.") (file-name (git-file-name name version)) (sha256 (base32 - "0fxmjm85c9h43lvqz71wr93fcc63bhj82nwby80222xx8ja63g7y")))) + "0cqwnvlgs1wgdgjxlwv8j52f7d6syniadr51sjh2fya99m5wzvsn")))) (build-system go-build-system) (arguments `(#:import-path "github.com/pelletier/go-toml")) @@ -3503,30 +3765,28 @@ which satisfies the cron expression.") license:asl2.0))))) (define-public go-gopkg-in-check-v1 - (let ((commit "788fd78401277ebd861206a03c884797c6ec5541") - (revision "1")) - (package - (name "go-gopkg-in-check-v1") - (version (git-version "1.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/go-check/check") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a")))) - (build-system go-build-system) - (arguments - '(#:import-path "gopkg.in/check.v1")) - (propagated-inputs - `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty))) - (home-page "https://gopkg.in/check.v1") - (synopsis "Test framework for the Go language") - (description "This package provides a test library for the Go language.") - (license license:asl2.0)))) + (package + (name "go-gopkg-in-check-v1") + (version "1.0.0-20201130134442-10cb98267c6c") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/go-check/check") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jwxndf8rsyx0fgrp47d99rp55yzssmryb92jfj3yf7zd8rjjljn")))) + (build-system go-build-system) + (arguments + '(#:import-path "gopkg.in/check.v1")) + (propagated-inputs + `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty))) + (home-page "https://gopkg.in/check.v1") + (synopsis "Test framework for the Go language") + (description "This package provides a test library for the Go language.") + (license license:bsd-2))) (define-public go-gopkg-in-ini-v1 (package @@ -4783,7 +5043,8 @@ as conversion to and from @command{net.Addr}.") (file-name (git-file-name name version)) (sha256 (base32 - "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc")))) + "10mcnvi5qmn00vpyk6si8gjka7p654wr9hac4zc9w5h3ickhvbdc")) + (patches (search-patches "go-github-com-urfave-cli-fix-tests.patch")))) (build-system go-build-system) (arguments '(#:import-path "github.com/urfave/cli")) @@ -4809,7 +5070,10 @@ fast and distributable command line applications in an expressive way.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l")))) + (base32 "08pvn7gyfznni72xrxfh2x6xxa8ykr7l1ka278js8g8qkh71bj8l")) + ;; XXX: Remove patch when updating. + (patches + (search-patches "go-github-com-urfave-cli-v2-fix-tests.patch")))) (arguments '(#:import-path "github.com/urfave/cli/v2")))) @@ -5252,7 +5516,38 @@ non-UTF-friendly sources.") terminfo capability strings to avoid hard-coding escape strings for formatting. It also favors portability, and includes support for all POSIX systems.") - (license license:expat)))) + (license license:asl2.0)))) + +(define-public go-github-com-gdamore-tcell-v2 + (package + (inherit go-github-com-gdamore-tcell) + (name "go-github-com-gdamore-tcell") + (version "2.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gdamore/tcell") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ypbl5080q9sd3irad8mv7zlg4242i8pmg5xyhbyq95kymwibaid")))) + (arguments + `(#:import-path "github.com/gdamore/tcell/v2" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-files-writable + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure .gz files are writable so that the + ;; 'reset-gzip-timestamps' phase can do its work. + (let ((out (assoc-ref outputs "out"))) + (for-each make-file-writable + (find-files out "\\.gz$")))))))) + (propagated-inputs + `(("go-golang-org-x-term" ,go-golang-org-x-term) + ("go-golang-org-x-sys" ,go-golang-org-x-sys) + ,@(package-inputs go-github-com-gdamore-tcell))))) (define-public go-github-com-mattn-go-shellwords (let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2") @@ -6333,7 +6628,7 @@ suffix comparison, rather than the string-based or tree-based approaches.") (define-public go-github-com-masterminds-goutils (package (name "go-github-com-masterminds-goutils") - (version "1.1.0") + (version "1.1.1") (source (origin (method git-fetch) (uri (git-reference @@ -6342,7 +6637,7 @@ suffix comparison, rather than the string-based or tree-based approaches.") (file-name (git-file-name name version)) (sha256 (base32 - "180px47gj936qyk5bkv5mbbgiil9abdjq6kwkf7sq70vyi9mcfiq")))) + "09m4mbcdlv9ng3xcrmjlxi0niavby52y9nl2jhjnbx1xxpjw0jrh")))) (build-system go-build-system) (arguments `(#:import-path "github.com/Masterminds/goutils")) @@ -6481,7 +6776,15 @@ template functions.") "0bk5bixl6rqa8znxghyp6zndbccx9kdyrymjahgyp6qsrp7rk144")))) (build-system go-build-system) (arguments - `(#:import-path "github.com/bmatcuk/doublestar")) + `(#:import-path "github.com/bmatcuk/doublestar" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-incompatible-test + ;; This test fails with Go 1.16. + (lambda _ + (substitute* "src/github.com/bmatcuk/doublestar/doublestar_test.go" + (("\\{\"a\\[\", \"a\", false, nil, false\\},.*") + ""))))))) (home-page "https://github.com/bmatcuk/doublestar/") (synopsis "Path pattern matching and globbing supporting doublestar") (description "@code{doublestar} is a Go implementation of path pattern @@ -6491,7 +6794,7 @@ matching and globbing with support for \"doublestar\" patterns.") (define-public go-github-com-dlclark-regexp2 (package (name "go-github-com-dlclark-regexp2") - (version "1.2.0") + (version "1.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -6500,7 +6803,7 @@ matching and globbing with support for \"doublestar\" patterns.") (file-name (git-file-name name version)) (sha256 (base32 - "011l1prsywvhhi0yc7qmpsca1cwavmawyyld5kjzi0ff9ghvj4ng")))) + "1irfv89b7lfkn7k3zgx610ssil6k61qs1wjj31kvqpxb3pdx4kry")))) (build-system go-build-system) (arguments `(#:import-path "github.com/dlclark/regexp2")) @@ -6566,7 +6869,7 @@ can be used almost directly in Go source code.") (define-public go-github-com-sergi-go-diff (package (name "go-github-com-sergi-go-diff") - (version "1.1.0") + (version "1.2.0") (source (origin (method git-fetch) (uri (git-reference @@ -6575,7 +6878,7 @@ can be used almost directly in Go source code.") (file-name (git-file-name name version)) (sha256 (base32 - "0ir8ali2vx0j7pipmlfd6k8c973akyy2nmbjrf008fm800zcp7z2")))) + "0cbj8nshllq102iiav0k1s01b8gwbkzj674g71n938qqna32y2pa")))) (build-system go-build-system) (arguments `(#:import-path "github.com/sergi/go-diff/diffmatchpatch" @@ -6682,7 +6985,7 @@ the parse trees produced by the html package.") (define-public go-github-com-puerkitobio-goquery (package (name "go-github-com-puerkitobio-goquery") - (version "1.5.1") + (version "1.7.0") (source (origin (method git-fetch) (uri (git-reference @@ -6691,7 +6994,7 @@ the parse trees produced by the html package.") (file-name (git-file-name name version)) (sha256 (base32 - "08nf88cg663slzqr51k2jxlm1krnh86nrzwbk6v41ccq5jkfm7fx")))) + "0gh1d99l5xc9hvwa4j40pfq3y9vfyq52mnrz6bf1kw2r2zr2gbcc")))) (build-system go-build-system) (arguments `(#:import-path "github.com/PuerkitoBio/goquery")) @@ -7465,7 +7768,7 @@ deleting secrets from the system keyring.") (define-public go-etcd-io-bbolt (package (name "go-etcd-io-bbolt") - (version "1.3.5") + (version "1.3.6") (source (origin (method git-fetch) (uri (git-reference @@ -7474,10 +7777,12 @@ deleting secrets from the system keyring.") (file-name (git-file-name name version)) (sha256 (base32 - "1h64gipvcg7060byv5wjlf524kqwj12p3v08kfh4ygv46vpm8p2r")))) + "0pj5245d417za41j6p09fmkbv05797vykr1bi9a6rnwddh1dbs8d")))) (build-system go-build-system) (arguments `(#:import-path "go.etcd.io/bbolt")) + (propagated-inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) (home-page "https://pkg.go.dev/go.etcd.io/bbolt/") (synopsis "Low-level key/value store in Go") (description "This package implements a low-level key/value store in Go.") @@ -8058,7 +8363,7 @@ programs that use traditional command lines.") (define-public go-go-uber-org-atomic (package (name "go-go-uber-org-atomic") - (version "1.7.0") + (version "1.8.0") (source (origin (method git-fetch) @@ -8067,7 +8372,7 @@ programs that use traditional command lines.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0yxvb5sixh76cl9j8dpa97gznj0p8pmg2cdw0ypfwhd3ipx9wph1")))) + (base32 "0grswsk7nkf7zmmychf6aj6032shyag1kgs6zf7qwxyn55dym1v8")))) (build-system go-build-system) (arguments '(#:import-path "go.uber.org/atomic")) @@ -8224,3 +8529,231 @@ simplifications, and enforces style rules.") "This package provides a library for fast, structured, leveled logging in Go.") (license license:expat))) + +(define-public go-github-com-davecgh-go-xdr + (package + (name "go-github-com-davecgh-go-xdr") + (version "0.0.0-20161123171359-e6a2ba005892") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davecgh/go-xdr") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vifrz4iil4r7k8sz5iqlfbh80ysgs5abp2simgyhsbrkxrrsrrd")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/davecgh/go-xdr/xdr2" + #:unpack-path "github.com/davecgh/go-xdr")) + (home-page "https://github.com/davecgh/go-xdr") + (synopsis "Pure Go implementation of the XDR standard") + (description "@code{go-xdr} implements the data representation portion of +the External Data Representation (XDR) standard protocol as specified in RFC +4506 (obsoletes RFC 1832 and RFC 1014) in pure Go.") + (license license:isc))) + +(define-public go-github-com-dustin-go-humanize + (package + (name "go-github-com-dustin-go-humanize") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dustin/go-humanize") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/dustin/go-humanize")) + (home-page "https://github.com/dustin/go-humanize") + (synopsis "Humane unit formatter") + (description "@code{go-humanize} provides formatters for units to human +friendly sizes. It converts boring ugly numbers to human-friendly strings and +back.") + (license license:expat))) + +(define-public go-lukechampine-com-blake3 + (package + (name "go-lukechampine-com-blake3") + (version "1.1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lukechampine/blake3") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yxdwp8dpnnq2wbwsxlkbq570i99sc6781y39czjxi9jh9z5nw55")))) + (build-system go-build-system) + (arguments + '(#:import-path "lukechampine.com/blake3")) + (propagated-inputs + `(("go-github-com-klauspost-cpuid" ,go-github-com-klauspost-cpuid))) + (home-page "https://pkg.go.dev/lukechampine.com/blake3") + (synopsis "Implementation of the BLAKE3 cryptographic hash function") + (description "@code{blake3} implements the BLAKE3 cryptographic hash +function. In addition to the pure-Go implementation, this package also +contains AVX-512 and AVX2 routines (generated by avo) that greatly increase +performance for large inputs and outputs.") + (license license:expat))) + +(define-public go-golang-org-x-term + (package + (name "go-golang-org-x-term") + (version "0.0.0-20210615171337-6886f2dfbf5b") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/term") + (commit (go-version->git-ref version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0661w7dp2ak1k4ii90v6chw2x8a6g4sc5j0ba58qlplaj4k5l0xs")))) + (build-system go-build-system) + (arguments '(#:import-path "golang.org/x/term")) + (propagated-inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys))) + (home-page "https://pkg.go.dev/golang.org/x/term") + (synopsis "Go terminal/console support") + (description "@code{term} provides support functions for dealing with +terminals, as commonly found on Unix systems.") + (license license:bsd-3))) + +(define-public go-github-com-flynn-noise + (package + (name "go-github-com-flynn-noise") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flynn/noise") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j6phxyqx06wcqxjpin696fkp85s76qcp3i2f7fv6q2fb6618f6y")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/flynn/noise")) + (propagated-inputs + `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1) + ("go-golang-org-x-crypto" ,go-golang-org-x-crypto))) + (home-page "https://github.com/flynn/noise") + (synopsis "Go implementation of the Noise protocol framework") + (description "@code{noise} implements the Noise protocol framework. Noise +is a low-level framework for building crypto protocols. Noise protocols +support mutual and optional authentication, identity hiding, forward secrecy, +zero round-trip encryption, and other advanced features.") + (license license:bsd-3))) + +(define-public go-github-com-klauspost-compress + (package + (name "go-github-com-klauspost-compress") + (version "1.13.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/klauspost/compress") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ydnf9rizlhm8rilh14674qqx272sbwbkjx06xn9pqvy6mmn2r3r")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/klauspost/compress" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'fix-permissions + (lambda* (#:key outputs #:allow-other-keys) + ;; Provide write permissions on gzip files so that + ;; reset-gzip-timestamps has sufficient permissions. + (for-each make-file-writable + (find-files (assoc-ref outputs "out") ".gz$"))))))) + (propagated-inputs + `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy))) + (home-page "https://github.com/klauspost/compress") + (synopsis "Go compression library") + (description "@code{compress} provides various compression algorithms.") + (license license:bsd-3))) + +(define-public go-github-com-oneofone-xxhash + (package + (name "go-github-com-oneofone-xxhash") + (version "1.2.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OneOfOne/xxhash") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f98qk83l2fhpclvrgyxsa9b8m4pipf11fah85bnjl01wy4lvybw")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/OneOfOne/xxhash")) + (home-page "https://github.com/OneOfOne/xxhash") + (synopsis "Go implementation of xxHash") + (description "This is a native Go implementation of the +@url{https://github.com/Cyan4973/xxHash, xxHash} algorithm, an extremely fast +non-cryptographic hash algorithm, working at speeds close to RAM limits.") + (license license:asl2.0))) + +(define-public go-github-com-aswinkarthik-csvdiff + (package + (name "go-github-com-aswinkarthik-csvdiff") + (version "1.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aswinkarthik/csvdiff") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cd1ikxsypjqisfnmr7zix3g7x8p892w77086465chyd39gpk97b")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/aswinkarthik/csvdiff")) + (propagated-inputs + `(("go-golang-org-x-sys" ,go-golang-org-x-sys) + ("go-github-com-stretchr-testify" ,go-github-com-stretchr-testify) + ("go-github-com-spf13-cobra" ,go-github-com-spf13-cobra) + ("go-github-com-spf13-afero" ,go-github-com-spf13-afero) + ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3) + ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable) + ("go-github-com-fatih-color" ,go-github-com-fatih-color) + ("go-github-com-cespare-xxhash" ,go-github-com-cespare-xxhash) + ("go-github-com-oneofone-xxhash" ,go-github-com-oneofone-xxhash))) + (home-page "https://github.com/aswinkarthik/csvdiff") + (synopsis "Fast diff tool for comparing CSV files") + (description "@code{csvdiff} is a diff tool to compute changes between two +CSV files. It can compare CSV files with a million records in under 2 +seconds. It is specifically suited for comparing CSV files dumped from +database tables. GNU Diff is orders of magnitude faster for comparing line by +line. @code{csvdiff} supports + +@itemize +@item Selective comparison of fields in a row +@item Specifying group of columns as primary-key to uniquely identify a row +@item Ignoring columns +@item Several output formats including colored git style output or +JSON for post-processing +@end itemize") + (license license:expat))) diff --git a/gnu/packages/gpodder.scm b/gnu/packages/gpodder.scm index 245bca01a5..0c8f1cf50d 100644 --- a/gnu/packages/gpodder.scm +++ b/gnu/packages/gpodder.scm @@ -30,6 +30,7 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages curl) #:use-module (gnu packages freedesktop) @@ -37,6 +38,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages groff) #:use-module (gnu packages mp3) + #:use-module (gnu packages music) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -47,7 +49,7 @@ (define-public gpodder (package (name "gpodder") - (version "3.10.20") + (version "3.10.21") (source (origin (method git-fetch) @@ -55,7 +57,7 @@ (url "https://github.com/gpodder/gpodder") (commit version))) (sha256 - (base32 "0lwf1lm20q6i8xbbva1g4arbinyxca10865dn19p5kr1b3gvmxqh")) + (base32 "0n73jm5ypsj962gpr0dk10lqh83giqsczm63wchyhmrkyf1wgga1")) (file-name (git-file-name name version)) (patches (search-patches "gpodder-disable-updater.patch")))) (build-system python-build-system) @@ -68,12 +70,14 @@ ("python-pytest-httpserver" ,python-pytest-httpserver) ("which" ,which))) (inputs - `(("gtk+" ,gtk+) + `(("bash-minimal" ,bash-minimal) + ("gtk+" ,gtk+) ("python-pygobject" ,python-pygobject) ("python-pycairo" ,python-pycairo) ("python-requests" ,python-requests) ("python-dbus" ,python-dbus) ("python-html5lib" ,python-html5lib) + ("python-mutagen" ,python-mutagen) ("python-mygpoclient" ,python-mygpoclient) ("python-podcastparser" ,python-podcastparser) ("youtube-dl" ,youtube-dl) @@ -89,8 +93,9 @@ (("xdg-open") (string-append xdg-utils "/bin/xdg-open"))) #t))) (replace 'check - (lambda _ - (invoke "make" "unittest"))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "unittest")))) ;; 'msgmerge' introduces non-determinism by resetting the ;; POT-Creation-Date in .po files. (add-before 'install 'do-not-run-msgmerge diff --git a/gnu/packages/gps.scm b/gnu/packages/gps.scm index 49bc5e8254..19f8a73eef 100644 --- a/gnu/packages/gps.scm +++ b/gnu/packages/gps.scm @@ -222,14 +222,14 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.") (define-public gpsd (package (name "gpsd") - (version "3.21") + (version "3.23") (source (origin (method url-fetch) (uri (string-append "https://download-mirror.savannah.gnu.org" - "/releases/gpsd/gpsd-" version ".tar.gz")) + "/releases/gpsd/gpsd-" version ".tar.xz")) (sha256 - (base32 "14gyqrbrq6jz4y6x59rdpv9d4c3pbn0vh1blq3iwrc6kz0x4ql35")))) + (base32 "1px9im0qfn8k7mnvjcw5myakzd7mad2drwyzji400hpwyswjjr73")))) (build-system scons-build-system) (native-inputs `(("bc" ,bc) @@ -259,7 +259,8 @@ such as elevation, speed, heart rate, power, temperature, and gear shifts.") (modify-phases %standard-phases (add-after 'unpack 'fix-build (lambda* (#:key outputs #:allow-other-keys) - (substitute* "SConstruct" + (setenv "TAR" "noop") + (substitute* "SConscript" (("envs = \\{\\}") "envs = os.environ")) #t)) diff --git a/gnu/packages/graph.scm b/gnu/packages/graph.scm index 42bd37a07a..c9486935ae 100644 --- a/gnu/packages/graph.scm +++ b/gnu/packages/graph.scm @@ -539,7 +539,7 @@ transformed into common image formats for display or printing.") (define-public python-graph-tool (package (name "python-graph-tool") - (version "2.37") + (version "2.43") (source (origin (method url-fetch) (uri (string-append @@ -547,7 +547,7 @@ transformed into common image formats for display or printing.") version ".tar.bz2")) (sha256 (base32 - "0w2i4d4zyk051zkykcg0ksngspajznwmp523hbsx50xnxc6jliyz")))) + "0v58in4rwk9fhjarjw6xfxpx5zz2z13sy3yvd14b5kr0884yw6sz")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -563,23 +563,23 @@ transformed into common image formats for display or printing.") "python")))) "/site-packages/")))) (native-inputs - `(("pkg-config" ,pkg-config) - ("gcc-10" ,gcc-10) - ("ncurses" ,ncurses))) + `(("gcc-10" ,gcc-10) + ("ncurses" ,ncurses) + ("pkg-config" ,pkg-config))) (inputs - `(("python" ,python-wrapper) - ("boost" ,boost) + `(("boost" ,boost) + ("cairomm" ,cairomm) + ("cgal" ,cgal) ("expat" ,expat) ("gmp" ,gmp) - ("cgal" ,cgal) - ("sparsehash" ,sparsehash) ("gtk+" ,gtk+) - ("cairomm" ,cairomm))) + ("python" ,python-wrapper) + ("sparsehash" ,sparsehash))) (propagated-inputs - `(("python-scipy" ,python-scipy) + `(("python-matplotlib" ,python-matplotlib) ("python-numpy" ,python-numpy) ("python-pycairo" ,python-pycairo) - ("python-matplotlib" ,python-matplotlib))) + ("python-scipy" ,python-scipy))) (synopsis "Manipulate and analyze graphs with Python efficiently") (description "Graph-tool is an efficient Python module for manipulation and statistical analysis of graphs (a.k.a. networks). Contrary to most other diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index d794847bc7..adffd466a6 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -797,7 +797,7 @@ many more.") (define-public ilmbase (package (name "ilmbase") - (version "2.5.5") + (version "2.5.7") (source (origin (method git-fetch) (uri (git-reference @@ -806,7 +806,7 @@ many more.") (file-name (git-file-name "ilmbase" version)) (sha256 (base32 - "0mjzb3fd8b9pcqmrgy5cdsmvqd70hmlvjnfypi66v59h3fhrmgd8")) + "1vja0rbilcd1wn184w8nbcmck00n7bfwlddwiaxw8dhj64nx4468")) (patches (search-patches "ilmbase-fix-tests.patch")))) (build-system cmake-build-system) (arguments @@ -1138,7 +1138,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (define-public openimageio (package (name "openimageio") - (version "2.2.10.1") + (version "2.2.11.1") (source (origin (method git-fetch) (uri (git-reference @@ -1147,7 +1147,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (file-name (git-file-name name version)) (sha256 (base32 - "0wzh5n527l7ia1754cf9xmbvv4ya6hj34dy6cbq9xk9372h8gd9q")))) + "1i9r6vgz15aj1yzbf5a9lqhlyakjs793yrw5gw720l84lcyigad7")))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see @@ -1160,6 +1160,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (inputs `(("boost" ,boost) ("fmt" ,fmt) + ("libheif" ,libheif) ("libpng" ,libpng) ("libjpeg" ,libjpeg-turbo) ("libtiff" ,libtiff) diff --git a/gnu/packages/graphviz.scm b/gnu/packages/graphviz.scm index 1231b5b6d7..5fa8d5a80c 100644 --- a/gnu/packages/graphviz.scm +++ b/gnu/packages/graphviz.scm @@ -118,7 +118,7 @@ ("swig" ,swig) ("pkg-config" ,pkg-config))) (outputs '("out" "doc")) ; 5 MiB of html + pdfs - (home-page "http://www.graphviz.org/") + (home-page "https://www.graphviz.org/") (synopsis "Graph visualization software") (description "Graphviz is a graph visualization tool suite. Graph visualization is a diff --git a/gnu/packages/gstreamer.scm b/gnu/packages/gstreamer.scm index 3047773e0f..83d95673dd 100644 --- a/gnu/packages/gstreamer.scm +++ b/gnu/packages/gstreamer.scm @@ -489,7 +489,12 @@ the GStreamer multimedia framework.") (("tcase_add_test \\(tc_chain, test_stress_reschedule.*") "")) #t))) - '())))) + '()) + ;; XXX: This test fails undeterministically. + (add-after 'unpack 'disable-test + (lambda _ + (substitute* "tests/check/meson.build" + ((".*libs/gstnetclientclock\\.c.*") ""))))))) (propagated-inputs `(("glib" ,glib))) ; required by gstreamer-1.0.pc. (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index bf4ce3b7b6..9868b11e48 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2021 Simon Streit <simon@netpanic.org> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages build-tools) #:use-module (gnu packages texinfo) @@ -119,7 +121,13 @@ "1217cmmykjgkkim0zr1lv5j13733m4w5vipmy4ivw0ll6rz28xpv")))) (build-system meson-build-system) (arguments - `(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + ,@(if (%current-target-system) + `(#:configure-flags + ;; introspection requires running binaries for the host system + ;; on the build system. + '("-Dintrospection=false")) + '()))) (propagated-inputs `(("glib" ,glib))) ; required by atk.pc (native-inputs `(("gettext" ,gettext-minimal) @@ -174,7 +182,11 @@ tools have full access to view and control running applications.") ("pkg-config" ,pkg-config) ("python" ,python-wrapper))) (inputs - `(("drm" ,libdrm) + ;; TODO(core-updates): make this unconditional + `(,@(if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) ; for glib-or-gtk-wrap + '()) + ("drm" ,libdrm) ("ghostscript" ,ghostscript) ("libspectre" ,libspectre) ("poppler" ,poppler))) @@ -316,7 +328,11 @@ representing trie. Trie is a kind of digital search tree.") "/share/doc/libthai/html")))) (native-inputs `(("doxygen" ,doxygen) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ;; TODO(core-updates): Make this input unconditional. + ,@(if (%current-target-system) + `(("datrie" ,libdatrie)) ; for 'trietool' + '()))) (propagated-inputs `(("datrie" ,libdatrie))) (synopsis "Thai language support library") @@ -329,7 +345,7 @@ applications.") (define-public pango (package (name "pango") - (version "1.48.7") + (version "1.48.9") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/pango/" @@ -338,7 +354,7 @@ applications.") (patches (search-patches "pango-skip-libthai-test.patch")) (sha256 (base32 - "1p06sn0jfvk6z3ypp2zym0gk2bddgqch83x9flxslq5bdim2za18")))) + "1akj11n0ycqrm1rvi0fdfldqk7l5zk9vb8sq77009ap57xyna4x9")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas @@ -367,7 +383,11 @@ applications.") ("libxft" ,libxft) ("libxrender" ,libxrender))) (inputs - `(("zlib" ,zlib))) + ;; TODO(core-updates): Unconditionally add "bash-minimal" + `(,@(if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) ; for glib-or-gtk-wrap + '()) + ("zlib" ,zlib))) (native-inputs `(("glib" ,glib "bin") ; glib-mkenums, etc. ("gobject-introspection" ,gobject-introspection) ; g-ir-compiler, etc. @@ -612,15 +632,23 @@ highlighting and other features typical of a source code editor.") #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-docbook - (lambda* (#:key inputs #:allow-other-keys) + ;; TODO(core-updates): Unconditionally look in (or native-inputs inputs) + (lambda* (#:key ,@(if (%current-target-system) + '(native-inputs) + '()) + inputs #:allow-other-keys) (with-directory-excursion "docs" (substitute* "meson.build" (("http://docbook.sourceforge.net/release/xsl/current/") - (string-append (assoc-ref inputs "docbook-xsl") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) "docbook-xsl") "/xml/xsl/docbook-xsl-1.79.2/"))) (substitute* (find-files "." "\\.xml$") (("http://www.oasis-open.org/docbook/xml/4\\.3/") - (string-append (assoc-ref inputs "docbook-xml") + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) "docbook-xml") "/xml/dtd/docbook/")))) #t)) (add-before 'configure 'disable-failing-tests @@ -644,7 +672,10 @@ highlighting and other features typical of a source code editor.") ;; Used for testing and required at runtime. ("shared-mime-info" ,shared-mime-info))) (inputs - `(("jasper" ,jasper) + `(,@(if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) ; for glib-or-gtk-wrap + '()) + ("jasper" ,jasper) ("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) ("libtiff" ,libtiff))) @@ -708,9 +739,13 @@ scaled, composited, modified, saved, or rendered.") (build-system meson-build-system) (outputs '("out" "doc")) (arguments - '(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:configure-flags - (list "-Ddocs=true") + ;; Generating documentation requires running binaries for the host + ;; on the build machine. + (list ,(if (%current-target-system) + "-Ddocs=false" + "-Ddocs=true")) #:phases (modify-phases %standard-phases (add-after 'unpack 'set-documentation-path @@ -724,24 +759,33 @@ scaled, composited, modified, saved, or rendered.") (lambda* (#:key outputs #:allow-other-keys) (mkdir-p (string-append (assoc-ref outputs "doc") "/share")) #t)) + ;; TODO(core-updates): Unconditionally use (or native-inputs inputs) (add-after 'unpack 'patch-docbook-sgml - (lambda* (#:key inputs #:allow-other-keys) - (let* ((xmldoc (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook"))) + (lambda* (#:key ,@(if (%current-target-system) + '(native-inputs) + '()) inputs #:allow-other-keys) + (let* ((xmldoc + (string-append (assoc-ref ,(if (%current-target-system) + '(or native-inputs inputs) + 'inputs) + "docbook-xml") + "/xml/dtd/docbook"))) (substitute* "doc/libatspi/libatspi-docs.sgml" (("http://.*/docbookx\\.dtd") (string-append xmldoc "/docbookx.dtd"))) #t))) - (add-after 'install 'move-documentation - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (doc (assoc-ref outputs "doc"))) - (copy-recursively - (string-append out "/share/gtk-doc") - (string-append doc "/share/gtk-doc")) - (delete-file-recursively - (string-append out "/share/gtk-doc"))) - #t)) + ,@(if (%current-target-system) + '() + '((add-after 'install 'move-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (copy-recursively + (string-append out "/share/gtk-doc") + (string-append doc "/share/gtk-doc")) + (delete-file-recursively + (string-append out "/share/gtk-doc"))) + #t)))) (add-after 'install 'check (lambda _ (setenv "HOME" (getenv "TMPDIR")) ; xfconfd requires a writable HOME @@ -752,6 +796,11 @@ scaled, composited, modified, saved, or rendered.") (setenv "DBUS_FATAL_WARNINGS" "0") ; (invoke "dbus-launch" "ninja" "test"))) (delete 'check)))) + (inputs + ;; TODO(core-updates): Make this input unconditional. + (if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) + '())) (propagated-inputs ;; atspi-2.pc refers to all these. `(("dbus" ,dbus) @@ -807,6 +856,10 @@ is part of the GNOME accessibility project.") (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas + ;; Compiling tests requires "libxml2" to be in 'inputs'. + ,@(if (%current-target-system) + `(#:configure-flags '("-Dtests=false")) + '()) #:phases (modify-phases %standard-phases (replace 'check @@ -937,7 +990,7 @@ application suites.") (package (inherit gtk+-2) (name "gtk+") - (version "3.24.27") + (version "3.24.30") (source (origin (method url-fetch) @@ -946,7 +999,7 @@ application suites.") name "-" version ".tar.xz")) (sha256 (base32 - "09ksflq5j257bf5zn8q2nnf2flicg9qqgfy7za79z7rkf1shc77p")) + "1a9vg840fjq1mmm403b67k624qrkxh9shaz9pv7z9l8a6bzvyxds")) (patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch" "gtk3-respect-GUIX_GTK3_IM_MODULE_FILE.patch")))) (propagated-inputs @@ -958,8 +1011,7 @@ application suites.") ("freetype" ,freetype) ;; SVG support is optional and requires librsvg, which pulls in rust. ;; Rust is not supported well on every architecture yet. - ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system) - (%current-system))) + ("gdk-pixbuf" ,(if (target-x86-64?) gdk-pixbuf+svg gdk-pixbuf)) ("glib" ,glib) @@ -1028,7 +1080,12 @@ application suites.") (("notify no-gtk-init object objects-finalize papersize rbtree") "no-gtk-init papersize rbtree") (("stylecontext templates textbuffer textiter treemodel treepath") - "stylecontext textbuffer textiter treemodel treepath")) + "stylecontext textbuffer textiter treemodel treepath") + ;; The ‘icontheme’ test needs SVG support. + ,@(if (not (target-x86-64?)) + '((("floating focus gestures grid gtkmenu icontheme keyhash listbox") + "floating focus gestures grid gtkmenu keyhash listbox")) + '())) (substitute* "testsuite/a11y/Makefile.in" (("accessibility-dump tree-performance text children derive") "tree-performance text children derive")) @@ -1998,7 +2055,7 @@ and routines to assist in editing internationalized text.") (define-public girara (package (name "girara") - (version "0.3.4") + (version "0.3.6") (source (origin (method git-fetch) @@ -2007,7 +2064,7 @@ and routines to assist in editing internationalized text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "08rpw9hkaprm4r853xy1d35i2af1pji8c3mzzl01mmwmyr9p0x8k")))) + (base32 "0whwwj31fxfaf4r4qvxb4kl3mj05xj3n9c6nzdn46r30bkg9z4dw")))) (native-inputs `(("pkg-config" ,pkg-config) ("check" ,check-0.14) ("gettext" ,gettext-minimal) @@ -2047,7 +2104,7 @@ information.") (define-public gtk-doc (package (name "gtk-doc") - (version "1.32") + (version "1.33.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -2055,9 +2112,10 @@ information.") name "-" version ".tar.xz")) (sha256 (base32 - "0z4h1dggpimygdp719l457jvqilps4qcfpk31jmj3jqpzcsg03ny")))) - (build-system glib-or-gtk-build-system) - (outputs '("out" "help")) + "0hxza8qp52lrq7s1vbilz2vh4170cail560zi8khl0zb42d706yc")) + (patches + (search-patches "gtk-doc-respect-xml-catalog.patch")))) + (build-system meson-build-system) (arguments `(#:parallel-tests? #f #:phases @@ -2078,40 +2136,17 @@ information.") #t)) (add-after 'unpack 'disable-failing-tests (lambda _ - (substitute* "tests/Makefile.in" + (substitute* "tests/Makefile.am" (("annotations.sh bugs.sh empty.sh fail.sh gobject.sh program.sh") "")) #t)) - (add-before 'configure 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "configure" - ;; The configure check is overzealous about making sure that - ;; things are in place -- it uses the xmlcatalog tool to make - ;; sure that docbook-xsl is available, but this tool can only - ;; look in one catalog file, unlike the $XML_CATALOG_FILES - ;; variable that Guix defines. Fool the test by using the - ;; docbook-xsl catalog explicitly and get on with life. - (("\"\\$XML_CATALOG_FILE\" \ -\"http://docbook.sourceforge.net/release/xsl/") - (string-append (car (find-files (assoc-ref inputs "docbook-xsl") - "^catalog.xml$")) - " \"http://docbook.sourceforge.net/release/xsl/"))) - #t)) (add-after 'install 'wrap-executables (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (for-each (lambda (prog) (wrap-program prog `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))))) - (find-files (string-append out "/bin"))) - #t)))) - #:configure-flags - (list (string-append "--with-xml-catalog=" - (assoc-ref %build-inputs "docbook-xml") - "/xml/dtd/docbook/catalog.xml") - (string-append "--with-help-dir=" - (assoc-ref %outputs "help") - "/share/help")))) + (find-files (string-append out "/bin"))))))))) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -2297,7 +2332,11 @@ Parcellite and adds bugfixes and features.") `(#:glib-or-gtk? #t ; To wrap binaries and/or compile schemas #:configure-flags (list - "-Dinstalled_tests=false"))) + "-Dinstalled_tests=false" + ,@(if (%current-target-system) + ;; Introspection requires running binaries for 'host' on 'build'. + '("-Dintrospection=false") + '())))) (native-inputs `(("git" ,git-minimal) ("gobject-introspection" ,gobject-introspection) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 7e4d6251c1..b41dce8002 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com> @@ -9,7 +9,7 @@ ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2016, 2021 Amirouche <amirouche@hypermove.net> -;;; Copyright © 2016, 2019 Jan Nieuwenhuizen <janneke@gnu.org> +;;; Copyright © 2016, 2019, 2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2017 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2017 David Thompson <davet@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Mathieu Othacehe <m.othacehe@gmail.com> @@ -17,7 +17,7 @@ ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> -;;; Copyright © 2018, 2019, 2020 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2018, 2019, 2020, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net> @@ -101,6 +101,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages search) + #:use-module (gnu packages serialization) #:use-module (gnu packages slang) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) @@ -108,7 +109,6 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) - #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) @@ -128,14 +128,14 @@ (define-public artanis (package (name "artanis") - (version "0.4.1") + (version "0.5") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/artanis/artanis-" version ".tar.gz")) (sha256 (base32 - "0nnmdfx5xwcc3kck64var7msz7g3qk817d7bv9l159nkmic0v9w4")) + "1vk1kp2xhz35xa5n27cxlq9c88wk6qm7fqaac8rb0pb6k9pvsv7v")) (modules '((guix build utils))) (snippet '(begin @@ -167,26 +167,36 @@ #t)))) (build-system gnu-build-system) (inputs - `(("guile" ,guile-2.2) + `(("guile" ,guile-3.0) + ("nspr" ,nspr) ("nss" ,nss))) ;; FIXME the bundled csv contains one more exported procedure ;; (sxml->csv-string) than guile-csv. The author is maintainer of both ;; projects. ;; TODO: Add guile-dbi and guile-dbd optional dependencies. (propagated-inputs - `(("guile-json" ,guile-json-1) ; This is already using guile-2.2. - ("guile-readline" ,guile2.2-readline) - ("guile-redis" ,guile2.2-redis))) + `(("guile-json" ,guile-json-3) + ("guile-readline" ,guile-readline) + ("guile-redis" ,guile-redis))) (native-inputs `(("bash" ,bash) ;for the `source' builtin ("pkgconfig" ,pkg-config) ("util-linux" ,util-linux))) ;for the `script' command (arguments - '(#:make-flags + `(#:modules (((guix build guile-build-system) + #:select (target-guile-effective-version)) + ,@%gnu-build-system-modules) + #:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:make-flags ;; TODO: The documentation must be built with the `docs' target. (let* ((out (assoc-ref %outputs "out")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) + ;; We pass guile explicitly here since this executes before the + ;; set-paths phase and therefore guile is not yet in PATH. + (effective-version (target-guile-effective-version + (assoc-ref %build-inputs "guile"))) + (scm (string-append out "/share/guile/site/" effective-version)) + (go (string-append out "/lib/guile/" effective-version "/site-ccache"))) ;; Don't use (%site-dir) for site paths. (list (string-append "MOD_PATH=" scm) (string-append "MOD_COMPILED_PATH=" go))) @@ -199,7 +209,9 @@ (("\\(%site-dir\\)") (string-append "\"" (assoc-ref outputs "out") - "/share/guile/site/2.2\""))))) + "/share/guile/site/" + (target-guile-effective-version) + "\""))))) (add-after 'unpack 'patch-reference-to-libnss (lambda* (#:key inputs #:allow-other-keys) (substitute* "artanis/security/nss.scm" @@ -207,8 +219,10 @@ (string-append "ffi-binding \"" (assoc-ref inputs "nss") "/lib/nss/libnss3.so" - "\""))) - #t)) + "\"")) + (("ffi-binding \"libssl3\"") + (string-append + "ffi-binding \"" (assoc-ref inputs "nss") "/lib/nss/libssl3.so\""))))) (add-before 'install 'substitute-root-dir (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -216,20 +230,20 @@ ((" /etc/bash.bashrc") " /dev/null")) (substitute* "Makefile" ;set the root of config files to OUT ((" /etc") (string-append " " out "/etc"))) - (mkdir-p (string-append out "/bin")) ;for the `art' executable - #t))) + (mkdir-p (string-append out "/bin")) ))) (add-after 'install 'wrap-art (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) + (effective-version (target-guile-effective-version)) (bin (string-append out "/bin")) - (scm (string-append out "/share/guile/site/2.2")) - (go (string-append out "/lib/guile/2.2/site-ccache"))) + (scm (string-append out "/share/guile/site/" effective-version)) + (go (string-append out "/lib/guile/" effective-version + "/site-ccache"))) (wrap-program (string-append bin "/art") `("GUILE_LOAD_PATH" ":" prefix (,scm ,(getenv "GUILE_LOAD_PATH"))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix - (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))) - #t)))))) + (,go ,(getenv "GUILE_LOAD_COMPILED_PATH")))))))))) (synopsis "Web application framework written in Guile") (description "GNU Artanis is a web application framework written in Guile Scheme. A web application framework (WAF) is a software framework that is @@ -741,6 +755,29 @@ HTML (via SXML) or any other format for rendering.") (home-page "https://dthompson.us/projects/guile-syntax-highlight.html") (license license:lgpl3+))) +;; gitile requires a more recent version than the latest release. +(define-public guile-syntax-highlight-for-gitile + (let ((commit "897fa5156ff41588e0d281eb00e4e94de63ccd8a") + (revision "0")) + (package + (inherit guile-syntax-highlight) + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.dthompson.us/guile-syntax-highlight.git") + (commit commit))) + (file-name (git-file-name "guile-syntax-highlight" version)) + (sha256 + (base32 + "18zlg4mkgd3swgv2ggfz91ivnnzc0zhvc9ybgrxg1y762va9hyvj")))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("texinfo" ,texinfo) + ,@(package-native-inputs guile-syntax-highlight))) + (properties '((hidden? . #t)))))) + (define-public guile2.2-syntax-highlight (package (inherit guile-syntax-highlight) @@ -1454,13 +1491,14 @@ library}.") (name "guile-dbi") (version "2.1.6") (source (origin - (method url-fetch) - (uri (string-append - "http://download.gna.org/guile-dbi/guile-dbi-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://example.org") ;only hosted on Software Heritage + (commit "e19b019e9683faf66c3f385b20fcc112e65f8c6e"))) + (file-name (git-file-name name version)) (sha256 (base32 - "116njrprhgrsv1qm904sp3b02rq01fx639r433d657gyhw3x159n")))) + "09ys5hj7gnj5w1iv1m194j06jk6b8sdhc8j6hcv3bprq1428kyxw")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -1487,7 +1525,7 @@ library}.") (propagated-inputs `(("guile" ,guile-2.2))) (synopsis "Guile database abstraction layer") - (home-page "http://home.gna.org/guile-dbi/guile-dbi.html") + (home-page "https://web.archive.org/web/20160328232717/http://home.gna.org/guile-dbi/guile-dbi.html") (description "guile-dbi is a library for Guile that provides a convenient interface to SQL databases. Database programming with guile-dbi is generic in that the same @@ -1509,13 +1547,14 @@ It currently supports MySQL, Postgres and SQLite3.") (name "guile-dbd-sqlite3") (version "2.1.6") (source (origin - (method url-fetch) - (uri (string-append - "http://download.gna.org/guile-dbi/guile-dbd-sqlite3-" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://example.org") ;only hosted on Software Heritage + (commit "0758c615e9e85ad76d153d5dc6179881f1f50089"))) + (file-name (git-file-name name version)) (sha256 (base32 - "0rg71jchxd2y8x496s8zmfmikr5g8zxi8zv2ar3f7a23pph92iw2")))) + "1rwf3z6ib6nkhfnk2nw8p6fqirdx2pparcrlmsm0i2ii62plpqhb")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1524,6 +1563,8 @@ It currently supports MySQL, Postgres and SQLite3.") `(("sqlite" ,sqlite) ("zlib" ,(@ (gnu packages compression) zlib)))) (synopsis "Guile DBI driver for SQLite") + ;; Unofficial home-page. + ;; Added by b9cbfa52f71505de8447fefabd97f16d0a9cbde6 (2016-06) (home-page "https://github.com/jkalbhenn/guile-dbd-sqlite3") (description "guile-dbi is a library for Guile that provides a convenient interface to @@ -2679,14 +2720,14 @@ is no support for parsing block and inline level HTML.") (define-public mcron (package (name "mcron") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mcron/mcron-" version ".tar.gz")) (sha256 (base32 - "1midrn15d5kqy4zd2029bj1db6gnfhxg8mcgfy4bkp5p9nl4v4rd")))) + "0bkn235g2ia4f7ispr9d55c7bc18282r3qd8ldhh5q2kiin75zi0")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -3309,7 +3350,7 @@ API.") ("perl" ,perl) ("pkg-config" ,pkg-config) ("texinfo" ,texinfo) - ("texlive" ,(texlive-updmap.cfg (list texlive-generic-epsf))))) + ("texlive" ,(texlive-updmap.cfg (list texlive-epsf))))) (inputs `(("dbus-glib" ,dbus-glib) ("guile" ,guile-3.0) @@ -4084,42 +4125,29 @@ Relay Chat} (IRC).") (license license:lgpl2.1+)))) (define-public guile-websocket - (let ((commit "c854e0f84a40d972cbd532bbb89c97ca0126a7cf")) + (let ((commit "d17878f6c12c10a49196bb08f737f36b11e61c31") + (revision "1")) (package (name "guile-websocket") - (version "0.1") + (version (git-version "0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference - (url "git://dthompson.us/guile-websocket.git") + (url "https://git.dthompson.us/guile-websocket.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "1hymvsfrmq9qxr5cxnsgdz7y757yp1cpsgxmdp3f5wxxxpqgsmzx")))) + "0kcmhjyb6amm4b9k4ng0r5s38m041mvh5jgmjbz6ichz39k255v7")))) (build-system gnu-build-system) (arguments '(#:make-flags - '("GUILE_AUTO_COMPILE=0") - #:phases - (modify-phases %standard-phases - ;; The package was developed for Guile 2.0 and has this version - ;; hardcoded in the configure.ac and Makefile.am files. Substitute - ;; 3.0 instead so it can support Guile 3.0. - (add-after 'unpack 'update-guile-version - (lambda _ - (substitute* "configure.ac" - (("2.0.9") "3.0.0")) - (substitute* "Makefile.am" - (("2.0") "3.0") - - ;; Install .go files where they belong. - (("/ccache") "/site-ccache")) - #t))))) + '("GUILE_AUTO_COMPILE=0"))) (native-inputs `(("autoconf" ,autoconf) - ("automake" ,automake))) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) (inputs `(("guile" ,guile-3.0))) (synopsis "Websocket server/client for Guile") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 33f132c1e3..9fa223713b 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2014, 2016, 2018 David Thompson <davet@gnu.org> ;;; Copyright © 2014, 2017, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> @@ -86,7 +86,12 @@ "0l200a0v7h8bh0cwz6v7hc13ds39cgqsmfrks55b1rbj5vniyiy3")) (patches (search-patches "guile-1.8-cpp-4.5.patch")))) (build-system gnu-build-system) - (arguments '(#:configure-flags '("--disable-error-on-warning") + (arguments '(#:configure-flags '("--disable-error-on-warning" + + ;; Build with '-O1' to work around GC + ;; crash on x86_64: + ;; <https://issues.guix.gnu.org/50427>. + "CFLAGS=-O1 -g -Wall") ;; Insert a phase before `configure' to patch things up. #:phases @@ -105,8 +110,13 @@ ;; The usual /bin/sh... (substitute* "ice-9/popen.scm" - (("/bin/sh") (which "sh"))) - #t))))) + (("/bin/sh") (which "sh")))))) + + ;; XXX: Several numerical tests and tests related to + ;; 'inet-pton' fail on glibc 2.33/GCC 10. Disable them. + ;; TODO: Remove this package when its dependents no longer + ;; need it. + #:tests? #f)) ;; When cross-compiling, a native version of Guile itself is needed. (native-inputs (if (%current-target-system) @@ -805,7 +815,7 @@ type system, elevating types to first-class status.") (define-public guile-git (package (name "guile-git") - (version "0.5.1") + (version "0.5.2") (home-page "https://gitlab.com/guile-git/guile-git.git") (source (origin (method git-fetch) @@ -815,7 +825,7 @@ type system, elevating types to first-class status.") (file-name (git-file-name name version)) (sha256 (base32 - "1x3wa6la4j1wcfxyhhjlmd7yp85wwpny0y6lrzpz803i9z5fwagc")))) + "11a51acibwi2hpaygmrpn6nwbr4lqalc87ihrgj3mhz6swbsk9n7")))) (build-system gnu-build-system) (arguments `(#:make-flags '("GUILE_AUTO_COMPILE=0"))) ; to prevent guild warnings diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 707a47fb4b..ff21c9c724 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Evgeny Pisemsky <evgeny@pisemsky.com> ;;; Copyright © 2021 Léo Le Bouter <lle-bout@zaclys.net> +;;; Copyright © 2021 Denis Carikli <GNUtoo@cyberdimension.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,11 +39,14 @@ #:use-module (gnu packages linux) #:use-module (gnu packages ncurses) #:use-module (gnu packages openldap) + #:use-module (gnu packages pciutils) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -51,8 +55,10 @@ #:use-module (gnu packages xorg) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix svn-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils)) @@ -169,6 +175,46 @@ through the Display Data Channel Command Interface (@dfn{DDC/CI}) protocol.") human-readable format and checks if it conforms to the standards.") (license license:expat)))) +(define-public h-client + (let ((version "0.0a0") + (revision 138)) + (package + (name "h-client") + (version (string-append version "-" (number->string revision))) + (source + (origin + (method svn-fetch) + (uri + (svn-reference + (url "https://svn.savannah.nongnu.org/svn/h-client/trunk/h-client") + (revision revision))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pdd2qhyaa5vh7z4rkpwjlby1flkwhzmp8zlglalx5y5sv95l4kp")))) + (build-system python-build-system) + (arguments + `(#:python ,python-2 + ;; Tests depends on /etc/os-release which does not exist in the + ;; build container. + #:tests? #f)) + (inputs + `(("python2" ,python-2) + ("python2-pycurl", python2-pycurl) + ("python2-pygtk", python2-pygtk) + ("pciutils", pciutils) + ("usbutils", usbutils))) + (synopsis "Graphical client for the h-node hardware database +project") + (description + "The h-node project (https://www.h-node.org) aims to build a database of +hardware that works with fully free operating systems. +h-client is a GTK+ graphical client that is able to retrieves information on +the hardware inside the computer it's running on, and on peripherals connected +to it, and help you submit that information to the h-node project along with +whether the hardware works with a fully free operating system or not.") + (home-page "https://savannah.nongnu.org/projects/h-client/") + (license license:gpl3+)))) + (define-public i7z (let ((revision "0") (commit "1a41ff13db747e962456ddbb5ccb2b7fc43ca0cb")) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 9e49bbfd9e..486f5411b6 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -344,14 +344,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20210630") + (version "8.20210903") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "0mxzddaf7ra807aazx9gd4rl5565xzky0hwiyby0a06yqnf02266")))) + (base32 "1p6zgk98jmxvqdin5xsdxhgq276bjdr2spi0wabj8x0ziry97rvl")))) (build-system haskell-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 2c48ce9586..5ff283da37 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -27,7 +27,8 @@ ;;; Copyright © 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@member.fsf.org> ;;; Copyright © 2020 Carlo Holl <carloholl@gmail.com> -;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> +;;; Copyright © 2021 Alice BRENON <alice.brenon@ens-lyon.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,7 +67,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages sdl) - #:use-module (gnu packages web) + #:use-module (gnu packages serialization) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix build-system haskell) @@ -9764,7 +9765,7 @@ version = Version [~a] [] ("ghc-test-framework-hunit" ,ghc-test-framework-hunit) ("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2) ("ghc-hunit" ,ghc-hunit))) - (home-page "https://johnmacfarlane.net/pandoc") + (home-page "https://pandoc.org") (synopsis "Types for representing a structured document") (description "This module defines the @code{Pandoc} data structure, which is used by diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 0ddaad9d52..32691b608e 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -20,6 +20,8 @@ ;;; Copyright © 2019 Robert Vollmert <rob@vllmrt.net> ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> +;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -609,17 +611,22 @@ interactive environment for the functional language Haskell.") (file-pattern ".*\\.conf\\.d$") (file-type 'directory)))))) +;; Versions newer than ghc defined below (i.e. the compiler +;; haskell-build-system uses) should use ghc-next as their name to +;; ensure ghc (without version specification) and ghc-* packages are +;; always compatible. See https://issues.guix.gnu.org/issue/47335. + (define-public ghc-8.8 (package (inherit ghc-8.6) - (name "ghc") - (version "8.8.3") + (name "ghc-next") + (version "8.8.4") (source (origin (method url-fetch) (uri (string-append "https://www.haskell.org/ghc/dist/" version "/ghc-" version "-src.tar.xz")) (sha256 - (base32 "128g932i3wix6ic03v04nh5755vyjiidzri9iybwad72yfmc1p70")))) + (base32 "0bgwbxxvdn56l91bp9p5d083gzcfdi6z8l8b17qzjpr3n8w5wl7h")))) (native-inputs `(("ghc-bootstrap" ,ghc-8.6) ("ghc-testsuite" @@ -631,7 +638,7 @@ interactive environment for the functional language Haskell.") (patches (search-patches "ghc-testsuite-dlopen-pie.patch")) (sha256 (base32 - "1l32mp94ll72skfsq1g2fqax4bkiw8b85gr3wd0bbqsqyi9a9jpr")))) + "0c55pj2820q26rikhpf636sn4mjgqsxjrl94vsywrh79dxp3k14z")))) ("git" ,git) ; invoked during tests ,@(filter (match-lambda (("ghc-bootstrap" . _) #f) @@ -642,6 +649,11 @@ interactive environment for the functional language Haskell.") (substitute-keyword-arguments (package-arguments ghc-8.6) ((#:phases phases '%standard-phases) `(modify-phases ,phases + (add-after 'fix-references 'fix-cc-reference + (lambda _ + (substitute* "utils/hsc2hs/Common.hs" + (("\"cc\"") "\"gcc\"")) + #t)) (add-after 'unpack-testsuite 'skip-more-tests (lambda _ ;; XXX: This test fails because our ld-wrapper script @@ -656,6 +668,60 @@ interactive environment for the functional language Haskell.") (file-pattern ".*\\.conf\\.d$") (file-type 'directory)))))) +(define-public ghc-8.10 + (package + (inherit ghc-8.8) + (name "ghc-next") + (version "8.10.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haskell.org/ghc/dist/" + version "/ghc-" version "-src.tar.xz")) + (sha256 + (base32 "179ws2q0dinl1a39wm9j37xzwm84zfz3c5543vz8v479khigdvp3")))) + (native-inputs + `(("ghc-bootstrap" ,ghc-8.8) + ("ghc-testsuite" + ,(origin + (method url-fetch) + (uri (string-append + "https://www.haskell.org/ghc/dist/" + version "/ghc-" version "-testsuite.tar.xz")) + (patches (search-patches "ghc-testsuite-dlopen-pie.patch")) + (sha256 + (base32 + "1zl25gg6bpx5601k8h3cqnns1xfc0nqgwnh8jvn2s65ra3f2g1nz")))) + ("git" ,git-minimal) ; invoked during tests + ,@(filter (match-lambda + (("ghc-bootstrap" . _) #f) + (("ghc-testsuite" . _) #f) + (_ #t)) + (package-native-inputs ghc-8.8)))) + (arguments + (substitute-keyword-arguments (package-arguments ghc-8.8) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'unpack-testsuite 'patch-more-shebangs + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* '("testsuite/tests/driver/T8602/T8602.script") + (("/bin/sh") + (string-append bash "/bin/sh")))))) + ;; Mark failing tests as broken. Reason for failure is unknown. + (add-after 'skip-more-tests 'skip-even-more-tests + (lambda _ + (substitute* '("testsuite/tests/driver/T16521/all.T") + (("extra_files" all) (string-append "[" all)) + (("\\]\\), " all) + (string-append all "expect_broken(0)], "))))))))) + (native-search-paths (list (search-path-specification + (variable "GHC_PACKAGE_PATH") + (files (list + (string-append "lib/ghc-" version))) + (file-pattern ".*\\.conf\\.d$") + (file-type 'directory)))))) + (define-public ghc-8 ghc-8.6) (define-public ghc ghc-8) diff --git a/gnu/packages/ibus.scm b/gnu/packages/ibus.scm index 12e9f3a79f..297d490d3f 100644 --- a/gnu/packages/ibus.scm +++ b/gnu/packages/ibus.scm @@ -4,9 +4,10 @@ ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2018, 2019, 2020 Peng Mei Yu <i@pengmeiyu.com> +;;; Copyright © 2018, 2019, 2020, 2021 Peng Mei Yu <pengmeiyu@riseup.net> ;;; Copyright © 2020 kanichos <kanichos@yandex.ru> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -356,7 +357,7 @@ Japanese language input in most graphical applications.") (define-public librime (package (name "librime") - (version "1.6.1") + (version "1.7.3") (source (origin (method git-fetch) @@ -366,7 +367,8 @@ Japanese language input in most graphical applications.") (file-name (git-file-name name version)) (sha256 (base32 - "1avmy2yyag22cl2j8085n5czsk93sxv440pdb3a2diwcxwwmzm9v")) + "0pqk0i3zcii3fx5laj9qzbgd58jvq6wn31j76w4zix2i4b1lqcqv")) + (patches (search-patches "librime-fix-build-with-gcc10.patch")) (modules '((guix build utils))) (snippet '(begin @@ -409,38 +411,29 @@ traditional Chinese output.") (define-public rime-data (package (name "rime-data") - (version "0.38.20200623") + (version "0.38.20210802") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/plum") - (commit "397d601dd22cfc857613973724724b8f44db9f9c"))) + (commit "0b835e347cad9c2d7038cfe82df5b5d1fe1c0327"))) (file-name "plum-checkout") (sha256 - (base32 "06ad5c4m7xsfr4if5ywshfj2aj5g5b5hwzh38dzccn7c1l2ibi0z")))) + (base32 "0mja4wyazxdc6fr7pzij5ah4rzwxv4s12s64vfn5ikx1ias1f8ib")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 match) ,@%gnu-build-system-modules) #:tests? #f ; no tests - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "no_update=1") + #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda _ - ;; Don't build binary Rime schema. The binary Rime schema files - ;; are platform dependent and contains timestamp information. - ;; Thus they are not reproducible. - - ;; Change `.DEFAULT_GOAL' to `all'. - (substitute* "Makefile" - (("^\\.DEFAULT_GOAL := preset") - ".DEFAULT_GOAL := all")) ;; Disable git operations. (substitute* "scripts/install-packages.sh" - ((".*update-package\\.sh.*") "")) + (("^\\s*fetch_or_update_package\\s$") "")) #t)) ;; Copy Rime schemas into the "package/rime" directory. (add-after 'unpack 'copy-rime-schemas @@ -455,6 +448,12 @@ traditional Chinese output.") (symlink path (string-append dest-dir "/" schema)))))) inputs)) #t)) + (replace 'build + ;; NOTE: Don't build binary Rime schema. Binary Rime schema files + ;; are platform dependent and contain timestamp information. + ;; Therefore they are not reproducible. + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "all" make-flags))) (delete 'configure)))) (inputs `(("rime-array" @@ -462,51 +461,51 @@ traditional Chinese output.") (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-array") - (commit "93cc99238f120606a076220ec4ddcad164f6396a"))) + (commit "7a7bfafae966e5f949a23a82ee8594cacf492593"))) (file-name "rime-array-checkout") (sha256 (base32 - "06yxrv3x702751jvx46rfw3ix34jk7jh183rz6bllznzi7lxz7sz")))) + "0kw0wyc5f77bv06fixkfvqnibmm80pyifvrhz8f1h411926ny37r")))) ("rime-bopomofo" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-bopomofo") - (commit "ed25098386f5efd3d70b08650f0d1b70c41c11a3"))) + (commit "c7618f4f5728e1634417e9d02ea50d82b71956ab"))) (file-name "rime-bopomofo-checkout") (sha256 (base32 - "1ip1pbfb1hadf2mcymr5939iagf25ywfl67d9198jahzyr6rdyvc")))) + "0g77nv0jrwqnbqqna0ib0kqcy6l5zl62kh49ny67d6bjwnwz9186")))) ("rime-cangjie" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-cangjie") - (commit "5fd8ce6f64039e505ca02655a621f2e830b97c19"))) + (commit "8dfad9e537f18821b71ba28773315d9c670ae245"))) (file-name "rime-cangjie-checkout") (sha256 (base32 - "1gf6r0q593ixar6v0jyvs56cik2gjp7pf9v799rfd2yydyia3bfg")))) + "029kw9nx6x0acg4f0m8wj1ziqffffhy9yyj51nlx17cnia0qcrby")))) ("rime-cantonese" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-cantonese") - (commit "e06fe8e79d7d64db2f2b6339aabc004d8cbc1f67"))) + (commit "fa7c8ad19d51143c1a470295d56feeb63e92113f"))) (file-name "rime-cantonese-checkout") (sha256 (base32 - "0j6kbhdfj7dx812yzykndzbk53s2v1rsaa2jlyma03hz7qlnnl0s")))) + "0vy5vv6h4r4b2msdvdrsj0zr6wmrv0fxm5zyyvxq8f1ix7ignm4c")))) ("rime-combo-pinyin" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-combo-pinyin") - (commit "67b29cdc786928ea46b43a9c660dee3db8f1adff"))) + (commit "a84065a86b272c76215215bd6f03c506b6e7097c"))) (file-name "rime-combo-pinyin-checkout") (sha256 (base32 - "1v6ax51xll2aizbz1xzjyk6p3lmq8cyzbxkrwcffa723zaj0zz4l")))) + "1f0b4kakw0x26gmx7xi4f94nbjlb8lvi9bks4f92jswa045vnd87")))) ("rime-double-pinyin" ,(origin (method git-fetch) @@ -522,21 +521,21 @@ traditional Chinese output.") (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-emoji") - (commit "c99d34e4a837349e4679a110bb4b94f71fe015ae"))) + (commit "4c8c51f4a3bc7298c99376eda9bbd86070fc4fa1"))) (file-name "rime-emoji-checkout") (sha256 (base32 - "1wiwlxjjml9xfgg7z1wzaf4b1bsg81dkwvsfff2b61fwxq61zkgw")))) + "0175jqh210fncafqckr9zzaw55qpswmqjrykwms1apmc68l43122")))) ("rime-essay" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-essay") - (commit "88055afa3752e4582fa887765d962a30e02bb1fa"))) + (commit "9db2e77305e75798baf3ec8dcf1f82785b5e1be9"))) (file-name "rime-essay-checkout") (sha256 (base32 - "0ap7xqv6v0x6mdkw2cv93cbr6qhpla3803z04522wb8l9hr7iryg")))) + "03ypkkaadd5qmyg26n24a66cll90xvcimgbmiyv4d33jradiqg22")))) ("rime-ipa" ,(origin (method git-fetch) @@ -552,51 +551,51 @@ traditional Chinese output.") (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-jyutping") - (commit "6fe0d727b3178feabd0f01e6cd82599202764735"))) + (commit "1e24baa6998815c716c581effe8ec65ee87c4e8c"))) (file-name "rime-jyutping-checkout") (sha256 (base32 - "0wz6d3pmi72ysh2c0nml3rsz9hd2vazsyhnz34gq26yf4j85phfs")))) + "0s2rckpwlrm3n7w1csnqyi5p9mkpp3z87s7mrm2vc9sv06rpv7zl")))) ("rime-luna-pinyin" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-luna-pinyin") - (commit "f1268e192ca88b9526467ce04ac3e47c837891ad"))) + (commit "623adb022b094d540218b287c2e601509eee3347"))) (file-name "rime-luna-pinyin-checkout") (sha256 (base32 - "0nxnjp1ybcrsan1mxnzwbkfhwl99kza6i9k1s7m9wzmhv7x7zahg")))) + "06pcwp09l5wkqv7792gbsl31xnlb3gr9q6bgbp94vvq6m2ycahqz")))) ("rime-middle-chinese" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-middle-chinese") - (commit "ed6d44f8d0bedf6e0c1c3183a270f8f01a211a40"))) + (commit "9fad7a7c0c26167d5e6e85db8df48a15c7f7d4f0"))) (file-name "rime-middle-chinese-checkout") (sha256 (base32 - "09mql88lsrxa99pyllby5z22kaiwwa037ha8gwaxjnnlsjgvz7zx")))) + "0a0bqrlzg0k692xblqnh1rh1fwwqqb205xwxlihgji85n8ibcgph")))) ("rime-pinyin-simp" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-pinyin-simp") - (commit "b73df7fc0994912ce785462b3be569ae81258ac2"))) + (commit "b0e84cda02c613ebdedc127a26131b3800f45a8e"))) (file-name "rime-pinyin-simp-checkout") (sha256 (base32 - "1m9hchnj1xf5s5185qm66ja0g1324drc98b2jjhnqgcp47bwz9fx")))) + "05v804qr3a9xvjzp9yid7231fi2l2yrl47ybbvql61z9k36ab094")))) ("rime-prelude" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-prelude") - (commit "8a52b4f86a59f3eb602f9a4cf6a680a67c15df8c"))) + (commit "3de303ffaa731dba07b0462ce59f4767e1219ad2"))) (file-name "rime-prelude-checkout") (sha256 (base32 - "039fr3996vfxzn2milaq1f5fw08f6zgjsxsql6cfhsc5b55fidm7")))) + "0g7a0bla58rh1v3md59k6adk185pilb4z8i2i0pqdl4nwqp40n2p")))) ("rime-quick" ,(origin (method git-fetch) @@ -652,21 +651,21 @@ traditional Chinese output.") (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-terra-pinyin") - (commit "492aaf914f9de37cc9d26b846dc693116de70ae8"))) + (commit "ce7b9249612f575d2f43d51fcacd31d1b4e0ef1b"))) (file-name "rime-terra-pinyin-checkout") (sha256 (base32 - "1l4l2w42mc3sf7jwbadx95gzrsq11ld9f6yj2hwaq9accainw3bf")))) + "0vm303f4lrdmdmif5klrp6w29vn9z2vzw33cw0y83pcnz39wiads")))) ("rime-wubi" ,(origin (method git-fetch) (uri (git-reference (url "https://github.com/rime/rime-wubi") - (commit "dd052ee158a38cb791755318b1aef9b4a3ed0316"))) + (commit "f1876f08f1d4a9696395be0070c0e8e4353c44cb"))) (file-name "rime-wubi-checkout") (sha256 (base32 - "00xzv3sbwqh2jz4i7s315h7rw17qa2dgj7kflyy3blxk0s2cqiqa")))) + "1d9y9rqssacria9d0hla96czsqv2wkfm6z926m1x269ryv96zxvk")))) ("rime-wugniu" ,(origin (method git-fetch) @@ -681,12 +680,42 @@ traditional Chinese output.") (synopsis "Schema data of Rime Input Method Engine") (description "@dfn{rime-data} provides the schema data of Rime Input Method Engine.") - (license lgpl3))) + (license (list + ;; rime-array + ;; rime-combo-pinyin + ;; rime-double-pinyin + ;; rime-middle-chinese + ;; rime-scj + ;; rime-soutzoe + ;; rime-stenotype + ;; rime-wugniu + gpl3 + + ;; plum + ;; rime-bopomofo + ;; rime-cangjie + ;; rime-emoji + ;; rime-essay + ;; rime-ipa + ;; rime-jyutping + ;; rime-luna-pinyin + ;; rime-prelude + ;; rime-quick + ;; rime-stroke + ;; rime-terra-pinyin + ;; rime-wubi + lgpl3 + + ;; rime-pinyin-simp + asl2.0 + + ;; rime-cantonese + cc-by4.0)))) (define-public ibus-rime (package (name "ibus-rime") - (version "1.4.0") + (version "1.5.0") (source (origin (method git-fetch) @@ -695,40 +724,22 @@ Method Engine.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "12y6jdz1amhgrnqa7zjim63dfsz6zyxyahbirfan37wmcfp6gp1d")))) - (build-system gnu-build-system) + (base32 "1vl3m6ydf7mvmalpdqqmrnnmqdi6l8yyac3bv19pp8a5q3qhkwlg")))) + (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:configure-flags + (list (string-append "-DRIME_DATA_DIR=" + (assoc-ref %build-inputs "rime-data") + "/share/rime-data")) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-source - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Define RIME_DATA_DIR. It's required but not used by the code. - (substitute* "Makefile" - (("cmake") - (string-append "cmake -DRIME_DATA_DIR=" - (assoc-ref inputs "rime-data") - "/share/rime-data"))) - ;; rime_config.h defines the actual data directory. - (substitute* "rime_config.h" - (("^#define IBUS_RIME_INSTALL_PREFIX .*$") - (string-append "#define IBUS_RIME_INSTALL_PREFIX \"" - (assoc-ref outputs "out") - "\"\n")) - (("^#define IBUS_RIME_SHARED_DATA_DIR .*$") - (string-append "#define IBUS_RIME_SHARED_DATA_DIR \"" - (assoc-ref inputs "rime-data") - "/share/rime-data\"\n"))) - #t)) - (add-after 'unpack 'fix-file-names - (lambda* (#:key outputs #:allow-other-keys) - ;; IBus uses the component file rime.xml to start the Rime - ;; engine. It must be patched with appropriate file names. - (substitute* "rime.xml" - (("/usr") (assoc-ref outputs "out"))) - #t)) - (delete 'configure)))) + (lambda _ + (substitute* "CMakeLists.txt" + (("DESTINATION....RIME_DATA_DIR..") + "DESTINATION \"${CMAKE_INSTALL_DATADIR}/rime-data\"")) + #t))))) (inputs `(("gdk-pixbuf" ,gdk-pixbuf) ("glib" ,glib) diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm index 7397f7cab8..b9671a6ab1 100644 --- a/gnu/packages/icu4c.scm +++ b/gnu/packages/icu4c.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (gnu packages java) #:use-module (gnu packages perl) #:use-module (gnu packages python) + #:use-module (guix gexp) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix utils) @@ -128,22 +130,6 @@ C/C++ part.") (base32 "09fng7a80xj8d5r1cgbgq8r47dsw5jsr6si9p2cj2ylhwgg974f7")))))) -(define-public icu4c-69 - (package - (inherit icu4c) - (version "69.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/unicode-org/icu/releases/download/release-" - (string-map (lambda (x) (if (char=? x #\.) #\- x)) version) - "/icu4c-" - (string-map (lambda (x) (if (char=? x #\.) #\_ x)) version) - "-src.tgz")) - (sha256 - (base32 - "0icps0avkwy5df3wwc5kybxcg63hcgk4phdh9g244g0xrmx7pfjc")))))) - (define-public icu4c-build-root (package (inherit icu4c) @@ -180,18 +166,19 @@ C/C++ part.") (build-system ant-build-system) (arguments `(#:make-flags - (list (string-append "-Djunit.core.jar=" - (car (find-files - (assoc-ref %build-inputs "java-junit") - ".*.jar$"))) - (string-append "-Djunit.junitparams.jar=" - (car (find-files - (assoc-ref %build-inputs "java-junitparams") - ".*.jar$"))) - (string-append "-Djunit.hamcrest.jar=" - (car (find-files - (assoc-ref %build-inputs "java-hamcrest-core") - ".*.jar$")))) + ,#~(list + (string-append "-Djunit.core.jar=" + (car (find-files + #$(this-package-native-input "java-junit") + ".*.jar$"))) + (string-append "-Djunit.junitparams.jar=" + (car (find-files + #$(this-package-native-input "java-junitparams") + ".*.jar$"))) + (string-append "-Djunit.hamcrest.jar=" + (car (find-files + #$(this-package-native-input "java-hamcrest-core") + ".*.jar$")))) #:phases (modify-phases %standard-phases (add-before 'configure 'chdir diff --git a/gnu/packages/idutils.scm b/gnu/packages/idutils.scm index 26472c6900..d16f2ffdeb 100644 --- a/gnu/packages/idutils.scm +++ b/gnu/packages/idutils.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2015, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. @@ -51,6 +51,9 @@ "/* BSD stdio derived implementations"))) #t)))) (build-system gnu-build-system) + (arguments + ;; XXX: These Gnulib tests fail with GCC 10 and glibc 2.33; skip them. + '(#:make-flags '("XFAIL_TESTS=test-sprintf-posix test-isnanl-nolibm"))) (native-inputs `(("emacs" ,emacs-minimal))) (home-page "https://www.gnu.org/software/idutils/") (synopsis "Identifier database utilities") diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index e6fd4817d9..b27a80a1a7 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2021 Andy Tai <atai@atai.org> ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -578,10 +579,8 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") (mkdir "../opencv-contrib") (copy-recursively (assoc-ref inputs "opencv-extra") "../opencv-extra") - (invoke "tar" "xvf" - (assoc-ref inputs "opencv-contrib") - "--strip-components=1" - "-C" "../opencv-contrib"))) + (copy-recursively (assoc-ref inputs "opencv-contrib") + "../opencv-contrib"))) (add-after 'set-paths 'add-ilmbase-include-path (lambda* (#:key inputs #:allow-other-keys) @@ -590,7 +589,9 @@ integrates with various databases on GUI toolkits such as Qt and Tk.") ;; the CPATH to satisfy the dependency on "ImathVec.h". (setenv "CPATH" (string-append - (search-input-directory inputs "include/OpenEXR") + (string-drop-right + (search-input-file inputs "include/OpenEXR/ImathVec.h") + 11) ":" (or (getenv "CPATH") ""))))) (add-before 'check 'start-xserver (lambda* (#:key inputs #:allow-other-keys) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 3a734909a5..de83084cdc 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; Copyright © 2021 jgart <jgart@dismail.de> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -249,7 +250,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.") (define-public feh (package (name "feh") - (version "3.6.3") + (version "3.7.1") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -257,7 +258,7 @@ YouTube videos without requiring API and opens/downloads them using mpv/ytdl.") name "-" version ".tar.bz2")) (sha256 (base32 - "1d13x8hmvpdc5f5rj4l29ha7iz7wvqxjlvh6il04wq8igzrj0x23")))) + "1djqjagp7k9rris1p8wgz0q8albgsd8gasc0hyanbjap3yk1rasp")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases (delete 'configure)) @@ -312,7 +313,8 @@ actions.") (build-system gnu-build-system) (arguments `( ;; Enable support for a "map" pane using GPS data. - #:configure-flags '("--enable-map" + #:configure-flags '("CFLAGS=-fcommon" + "--enable-map" "--enable-gtk3"))) (inputs `(("clutter" ,clutter) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 19bbb2d63d..2dd64d7c4c 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -30,6 +30,7 @@ ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -61,6 +62,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) + #:use-module (gnu packages gcc) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gimp) #:use-module (gnu packages gl) @@ -1175,79 +1177,85 @@ graphics image formats like PNG, BMP, JPEG, TIFF and others.") (home-page "http://freeimage.sourceforge.net"))) (define-public vigra - (package - (name "vigra") - (version "1.11.1") - (source - (origin - (method url-fetch) - (uri (string-append "https://github.com/ukoethe/vigra/releases/download/" - "Version-" (string-join (string-split version #\.) "-") - "/vigra-" version "-src.tar.gz")) - (patches (search-patches "vigra-python-compat.patch")) - (sha256 (base32 - "1bqs8vx5i1bzamvv563i24gx2xxdidqyxh9iaj46mbznhc84wmm5")))) - (build-system cmake-build-system) - (inputs - `(("boost" ,boost) - ("fftw" ,fftw) - ("fftwf" ,fftwf) - ("hdf5" ,hdf5) - ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly - ; to create a configure-flag - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libtiff" ,libtiff) - ("openexr" ,openexr) - ("python" ,python-wrapper) - ("python-numpy" ,python-numpy) - ("zlib" ,zlib))) - (native-inputs - `(("doxygen" ,doxygen) - ("python-nose" ,python-nose) - ("sphinx" ,python-sphinx))) - (arguments - `(#:test-target "check" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-broken-tests - (lambda _ - ;; See https://github.com/ukoethe/vigra/issues/432 - (substitute* "test/fourier/CMakeLists.txt" - (("VIGRA_ADD_TEST.*") "")) - ;; This test fails with Numpy 1.15: - ;; <https://github.com/ukoethe/vigra/issues/436>. - (substitute* "vigranumpy/test/CMakeLists.txt" - (("test1\\.py") "")) - #t))) - #:configure-flags - (list "-Wno-dev" ; suppress developer mode with lots of warnings - (string-append "-DVIGRANUMPY_INSTALL_DIR=" - (assoc-ref %outputs "out") - "/lib/python" - ,(version-major+minor (package-version python)) - "/site-packages") - ;; OpenEXR is not enabled by default. - "-DWITH_OPENEXR=1" - ;; Fix rounding error on 32-bit machines - "-DCMAKE_C_FLAGS=-ffloat-store" - ;; The header files of ilmbase are not found when included - ;; by the header files of openexr, and an explicit flag - ;; needs to be set. - (string-append "-DCMAKE_CXX_FLAGS=-I" - (assoc-ref %build-inputs "ilmbase") - "/include/OpenEXR" - " -ffloat-store")))) - (synopsis "Computer vision library") - (description - "VIGRA stands for Vision with Generic Algorithms. It is an image -processing and analysis library that puts its main emphasis on customizable -algorithms and data structures. It is particularly strong for -multi-dimensional image processing.") - (license license:expat) - (home-page "https://ukoethe.github.io/vigra/") - (properties '((max-silent-time . 7200))))) ;2 hours, to avoid timing out - + (let ((commit "9b514fa00a136f5fd81bb57ee9f6293c333ffc1f") + (revision "0")) + (package + (name "vigra") + (version (git-version "1.11.1" revision commit)) + (source + (origin + ;; The last release is 1.11.1, from 2017. It's becoming more and more + ;; difficult to build this old release, and the upstream developers + ;; suggest on their home page to build from the Git repo, saying "It is + ;; generally safe to use the 'master' branch of the development snapshot, + ;; as we avoid uploading untested or incompatible changes to this branch." + (method git-fetch) + (uri (git-reference + (url "https://github.com/ukoethe/vigra") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 (base32 + "1vzlypviala109imwxkp46lqhhxszf79ypfb8wxg6z7g02j7mm73")))) + (build-system cmake-build-system) + (inputs + `(("boost" ,boost) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("hdf5" ,hdf5) + ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly + ; to create a configure-flag + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("openexr" ,openexr) + ("python" ,python-wrapper) + ("python-numpy" ,python-numpy) + ("zlib" ,zlib))) + (native-inputs + `(("doxygen" ,doxygen) + ("python-nose" ,python-nose) + ("sphinx" ,python-sphinx))) + (arguments + `(#:test-target "check" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-broken-tests + (lambda _ + ;; See https://github.com/ukoethe/vigra/issues/432 + (substitute* "test/fourier/CMakeLists.txt" + (("VIGRA_ADD_TEST.*") "")) + ;; This test fails with Numpy 1.15: + ;; <https://github.com/ukoethe/vigra/issues/436>. + (substitute* "vigranumpy/test/CMakeLists.txt" + (("test1\\.py") "")) + #t))) + #:configure-flags + (list "-Wno-dev" ; suppress developer mode with lots of warnings + (string-append "-DVIGRANUMPY_INSTALL_DIR=" + (assoc-ref %outputs "out") + "/lib/python" + ,(version-major+minor (package-version python)) + "/site-packages") + ;; OpenEXR is not enabled by default. + "-DWITH_OPENEXR=1" + ;; Fix rounding error on 32-bit machines + "-DCMAKE_C_FLAGS=-ffloat-store" + ;; The header files of ilmbase are not found when included + ;; by the header files of openexr, and an explicit flag + ;; needs to be set. + (string-append "-DCMAKE_CXX_FLAGS=-I" + (assoc-ref %build-inputs "ilmbase") + "/include/OpenEXR" + " -ffloat-store")))) + (synopsis "Computer vision library") + (description + "VIGRA stands for Vision with Generic Algorithms. It is an image + processing and analysis library that puts its main emphasis on customizable + algorithms and data structures. It is particularly strong for + multi-dimensional image processing.") + (license license:expat) + (home-page "https://ukoethe.github.io/vigra/") + (properties '((max-silent-time . 7200)))))) ;2 hours, to avoid timing out (define-public vigra-c (let* ((commit "66ff4fa5a7d4a77415caa676a45c2c6ea16562e7") @@ -1352,19 +1360,24 @@ channels.") (define-public exiv2 (package (name "exiv2") - (version "0.27.3") + (version "0.27.4") (source (origin (method url-fetch) (uri (string-append "https://www.exiv2.org/builds/exiv2-" version "-Source.tar.gz")) (sha256 - (base32 "0y77wfadjsrcxijdqgkr3q88b6mm9y3rg8kqsmaig8iah49md7x7")))) + (base32 "0klhxkxvkzzzcqpzv8jb56pykq0gyhb6rk9vc2kzjahngjx6sdl4")))) (build-system cmake-build-system) - (arguments '(#:tests? #f)) ; no test suite + (arguments + '(#:test-target "tests" + #:configure-flags (list "-DEXIV2_BUILD_UNIT_TESTS=ON"))) (propagated-inputs `(("expat" ,expat) ("zlib" ,zlib))) + (native-inputs + `(("googletest" ,googletest) + ("python" ,python))) (home-page "https://www.exiv2.org/") (synopsis "Library and command-line utility to manage image metadata") (description @@ -2045,6 +2058,30 @@ SNG is implemented by a compiler/decompiler called sng that losslessly translates between SNG and PNG.") (license license:zlib))) +(define-public blurhash + (package + (name "blurhash") + (version "0.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Nheko-Reborn/blurhash") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0jy2iigarskwfhskyladbb6l92x1fb3i3vz4bvcks0za4w5hfxk5")))) + (build-system meson-build-system) + (native-inputs + `(("cmake" ,cmake) + ("doctest" ,doctest) + ("gcc" ,gcc-8))) + (home-page "https://github.com/Nheko-Reborn/blurhash") + (synopsis "C++ blurhash encoder/decoder") + (description "Simple encoder and decoder for blurhashes. Contains a +command line program as well as a shared library.") + (license license:boost1.0))) + (define-public lodepng ;; There are no tags in the repository, so we take the version as defined in ;; lodepng.cpp. diff --git a/gnu/packages/iso-codes.scm b/gnu/packages/iso-codes.scm index 637390d734..b2cfd3434c 100644 --- a/gnu/packages/iso-codes.scm +++ b/gnu/packages/iso-codes.scm @@ -44,10 +44,19 @@ (base32 "1q6x9c5x4x0x4q11iygldsmxdyzhz1mb4n8im76glwsgqsqyjs80")))) (build-system gnu-build-system) + ;; TODO(staging): Unconditionally move inputs to native-inputs. + (native-inputs + (if (%current-target-system) + `(("python" ,python-wrapper) + ("perl" ,perl) + ("gettext" ,gettext-minimal)) + '())) (inputs - `(("gettext" ,gettext-minimal) - ("perl" ,perl) - ("python" ,python-wrapper))) + `(,@(if (%current-target-system) + '() + `(("gettext" ,gettext-minimal) + ("perl" ,perl) + ("python" ,python-wrapper))))) (synopsis "Various ISO standards") (description "This package provides lists of various ISO standards (e.g. country, diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 6c7e5f9b15..9a6ca926be 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com> -;;; Copyright © 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020, 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org> @@ -17,6 +17,7 @@ ;;; Copyright © 2021 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,24 +131,11 @@ (base32 "0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--enable-debuginfo" "--disable-static") - #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key build target native-inputs inputs outputs - (configure-flags '()) out-of-source? system - #:allow-other-keys) - (let ((configure (assoc-ref %standard-phases 'configure)) - (enable-64bit? (member system '("aarch64-linux" - "x86_64-linux" - "mips64el-linux")))) - (configure #:build build #:target target - #:native-inputs native-inputs - #:inputs inputs #:outputs outputs - #:configure-flags `(,(if enable-64bit? - "--enable-64bit" - '()) - ,@configure-flags) - #:out-of-source? out-of-source?))))))) + `(#:configure-flags (list "--enable-debuginfo" + "--disable-static" + ,@(if (target-64bit?) + `("--enable-64bit") + '())))) (synopsis "ANTLR C Library") (description "LIBANTLR3C provides run-time C libraries for ANTLR3 (ANother Tool for Language Recognition v3).") @@ -243,13 +231,13 @@ only faster.") (sha256 (base32 "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz")) - (patches (search-patches "classpath-aarch64-support.patch")))) + (patches (search-patches "classpath-aarch64-support.patch" + "classpath-miscompilation.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "JAVAC=" - (assoc-ref %build-inputs "jikes") - "/bin/jikes") + (search-input-file %build-inputs "/bin/jikes")) "--disable-Werror" "--disable-gmp" "--disable-gtk-peer" @@ -260,17 +248,6 @@ only faster.") "--disable-gjdoc") #:phases (modify-phases %standard-phases - ;; XXX: This introduces a memory leak as we remove a call to free up - ;; memory for the file name string. This was necessary because of a - ;; runtime error that would have prevented us from building - ;; ant-bootstrap later. See https://issues.guix.gnu.org/issue/36685 - ;; for the gnarly details. - (add-after 'unpack 'remove-call-to-free - (lambda _ - (substitute* "native/jni/java-io/java_io_VMFile.c" - (("result = cpio_isFileExists.*" m) - (string-append m "\n//"))) - #t)) (add-after 'install 'install-data (lambda _ (invoke "make" "install-data")))))) (native-inputs @@ -374,16 +351,15 @@ JNI.") (modify-phases %standard-phases (delete 'bootstrap) (delete 'configure) - (replace 'build + (add-before 'build 'define-java-environment-variables (lambda* (#:key inputs #:allow-other-keys) + ;; First, set environment variables (eases debugging on -K). (setenv "JAVA_HOME" (assoc-ref inputs "jamvm")) - (setenv "JAVACMD" - (search-input-file inputs "/bin/jamvm")) - (setenv "JAVAC" - (search-input-file inputs "/bin/jikes")) - (setenv "CLASSPATH" - (search-input-file inputs "/lib/rt.jar")) - + (setenv "JAVACMD" (search-input-file inputs "/bin/jamvm")) + (setenv "JAVAC" (search-input-file inputs "/bin/jikes")) + (setenv "CLASSPATH" (search-input-file inputs "/lib/rt.jar")))) + (replace 'build + (lambda* (#:key inputs #:allow-other-keys) ;; Ant complains if this file doesn't exist. (setenv "HOME" "/tmp") (with-output-to-file "/tmp/.ant.properties" @@ -932,6 +908,33 @@ machine."))) "patches/hotspot/hs23/drop_unlicensed_test.patch") (("#!/bin/sh") (string-append "#!" (which "sh")))) #t)) + (add-after 'unpack 'fix-openjdk + (lambda _ + (substitute* "openjdk/jdk/make/common/Defs-linux.gmk" + (("CFLAGS_COMMON = -fno-strict-aliasing" all) + (string-append all " -fcommon"))) + (substitute* "openjdk/hotspot/src/share/vm/code/relocInfo.hpp" + (("inline friend relocInfo prefix_relocInfo\\(int datalen = 0\\);") + "inline friend relocInfo prefix_relocInfo(int datalen);")) + (substitute* + '("openjdk/jdk/src/solaris/native/java/net/PlainSocketImpl.c" + "openjdk/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c") + (("#include <sys/sysctl.h>") + "#include <linux/sysctl.h>")) + ;; It looks like the "h = 31 * h + c" line of the jsum() + ;; function gets miscompiled. After a few iterations of the loop + ;; the result of "31 * h" is always 0x8000000000000000. + ;; Bad optimization maybe... + ;; Transform "31 * h + c" into a convoluted "32 * h + c - h" + ;; as a workaround. + (substitute* "openjdk/hotspot/src/share/vm/memory/dump.cpp" + (("h = 31 \\* h \\+ c;") + "jlong h0 = h;\nfor(int i = 0; i < 5; i++) h += h;\nh += c - h0;")) + ;; Our gcc version is higher than 4.3; replace the failing + ;; expression to test this by its result. + (substitute* "openjdk/jdk/make/sun/font/Makefile" + (("\"\\$\\(shell expr.*0\"") + "\"1\" \"0\"")))) (add-after 'unpack 'patch-paths (lambda* (#:key inputs #:allow-other-keys) ;; buildtree.make generates shell scripts, so we need to replace @@ -1100,6 +1103,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/") (changeset "jdk6-b41"))) + (file-name "jdk6-checkout") (sha256 (base32 "14q47yfg586fs64w30g8mk92m5dkxsvr36zzh0ra99xk5x0x96mv")))) @@ -1109,6 +1113,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/jdk/") (changeset "jdk6-b41"))) + (file-name "jdk-checkout") (sha256 (base32 "165824nhg1k1dx6zs9dny0j49rmk35jw5b13dmz8c77jfajml4v9")))) @@ -1118,6 +1123,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/hotspot/") (changeset "jdk6-b41"))) + (file-name "hotspot-checkout") (sha256 (base32 "07lc1z4k5dj9nrc1wvwmpvxr3xgxrdkdh53xb95skk5ij49yagfd")))) @@ -1127,6 +1133,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/corba/") (changeset "jdk6-b41"))) + (file-name "corba-checkout") (sha256 (base32 "1p9g1r9dnax2iwp7yb59qx7m4nmshqhwmrb2b8jj8zgbd9dl2i3q")))) @@ -1136,6 +1143,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/langtools/") (changeset "jdk6-b41"))) + (file-name "langtools-checkout") (sha256 (base32 "1x52wd67fynbbd9ild6fb4wvba3f5hhwk03qdjfazd0a1qr37z3d")))) @@ -1145,6 +1153,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/jaxp/") (changeset "jdk6-b41"))) + (file-name "jaxp-checkout") (sha256 (base32 "0shlqrvzpr4nrkmv215lbxnby63s3yvbdh1yxcayznsyqwa4nlxm")))) @@ -1154,6 +1163,7 @@ machine."))) (uri (hg-reference (url "http://hg.openjdk.java.net/jdk6/jdk6/jaxws/") (changeset "jdk6-b41"))) + (file-name "jaxws-checkout") (sha256 (base32 "0835lkw8vib1xhp8lxnybhlvzdh699hbi4mclxanydjk63zbpxk0")))))) @@ -1276,6 +1286,25 @@ bootstrapping purposes.") "openjdk.src/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c") (("attr/xattr.h") "sys/xattr.h")) #t)) + (add-after 'unpack 'fix-openjdk + (lambda _ + (substitute* "openjdk.src/jdk/make/common/Defs-linux.gmk" + (("CFLAGS_COMMON = -fno-strict-aliasing" all) + (string-append all " -fcommon"))) + (substitute* + '("openjdk.src/jdk/src/solaris/native/java/net/PlainSocketImpl.c" + "openjdk.src/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c") + (("#include <sys/sysctl.h>") + "#include <linux/sysctl.h>")) + ;; It looks like the "h = 31 * h + c" line of the jsum() + ;; function gets miscompiled. After a few iterations of the loop + ;; the result of "31 * h" is always 0x8000000000000000. + ;; Bad optimization maybe... + ;; Transform "31 * h + c" into a convoluted "32 * h + c - h" + ;; as a workaround. + (substitute* "openjdk.src/hotspot/src/share/vm/memory/dump.cpp" + (("h = 31 \\* h \\+ c;") + "jlong h0 = h;\nfor(int i = 0; i < 5; i++) h += h;\nh += c - h0;")))) (add-after 'unpack 'fix-x11-extension-include-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "openjdk.src/jdk/make/sun/awt/mawt.gmk" @@ -1764,7 +1793,9 @@ IcedTea build harness.") (srfi srfi-26))) ((#:configure-flags flags) `(let ((jdk (assoc-ref %build-inputs "jdk"))) - `( ;;"--disable-bootstrap" + `("CFLAGS=-fcommon" + "CXXFLAGS=-fcommon" + ;;"--disable-bootstrap" "--enable-bootstrap" "--enable-nss" ,(string-append "--with-parallel-jobs=" @@ -1829,6 +1860,13 @@ new Date();")) (find-files "openjdk.src/jdk/src/solaris/native" "\\.c|\\.h")) #t))) + (replace 'fix-openjdk + (lambda _ + (substitute* + '("openjdk.src/jdk/src/solaris/native/java/net/PlainSocketImpl.c" + "openjdk.src/jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c") + (("#include <sys/sysctl.h>") + "#include <linux/sysctl.h>")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((doc (string-append (assoc-ref outputs "doc") @@ -1923,7 +1961,12 @@ new Date();")) (lambda* (#:key inputs outputs #:allow-other-keys) ;; TODO: unbundle libpng and lcms (invoke "bash" "./configure" - (string-append "--with-freetype=" (assoc-ref inputs "freetype")) + ;; Add flags for compilation with gcc >= 10 + ,(string-append "--with-extra-cflags=-fcommon" + " -fno-delete-null-pointer-checks" + " -fno-lifetime-dse") + (string-append "--with-freetype=" + (assoc-ref inputs "freetype")) "--disable-freetype-bundling" "--disable-warnings-as-errors" "--disable-hotspot-gtest" @@ -2097,15 +2140,25 @@ new Date();")) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (invoke "bash" "./configure" - (string-append "--with-freetype=" (assoc-ref inputs "freetype")) + ;; Add flags for compilation with gcc >= 10 + ,(string-append "--with-extra-cflags=-fcommon" + " -fno-delete-null-pointer-checks" + " -fno-lifetime-dse") + (string-append "--with-freetype=" + (assoc-ref inputs "freetype")) "--disable-freetype-bundling" "--disable-warnings-as-errors" "--disable-hotspot-gtest" "--with-giflib=system" "--with-libjpeg=system" "--with-native-debug-symbols=zipped" - (string-append "--prefix=" (assoc-ref outputs "out"))) - #t)))) + (string-append "--prefix=" (assoc-ref outputs "out"))))) + (add-after 'unpack 'disable-warnings-as-errors + (lambda _ + ;; It looks like the "--disable-warnings-as-errors" option of + ;; the 'configure' phase is not working. + (substitute* "make/autoconf/generated-configure.sh" + (("-Werror") "")))))) ((#:disallowed-references _ '()) `(,(gexp-input openjdk9) ,(gexp-input openjdk9 "jdk"))))) @@ -2145,7 +2198,11 @@ new Date();")) #:tests? #f; requires jtreg ;; TODO package jtreg #:configure-flags - `("--disable-option-checking" ; --enable-fast-install default flag errors otherwise + `(;; Add flags for compilation with gcc >= 10 + ,(string-append "--with-extra-cflags=-fcommon" + " -fno-delete-null-pointer-checks" + " -fno-lifetime-dse") + "--disable-option-checking" ; --enable-fast-install default flag errors otherwise "--disable-warnings-as-errors" ;; make validate-runpath pass, see: http://issues.guix.info/issue/32894 "--with-native-debug-symbols=zipped" @@ -2603,6 +2660,7 @@ new Date();")) (substitute-keyword-arguments (package-arguments ant-bootstrap) ((#:phases phases) `(modify-phases ,phases + (delete 'define-java-environment-variables) (add-after 'unpack 'remove-scripts ;; Remove bat / cmd scripts for DOS as well as the antRun and runant ;; wrappers. @@ -3040,9 +3098,9 @@ debugging, etc.") #t)))) (arguments `(#:make-flags ; bootstrap from javacc-4 - (list (string-append "-Dbootstrap-jar=" - (assoc-ref %build-inputs "javacc") - "/share/java/javacc.jar")) + ,#~(list (string-append "-Dbootstrap-jar=" + #$(this-package-native-input "javacc") + "/share/java/javacc.jar")) #:test-target "test" #:phases (modify-phases %standard-phases @@ -3641,8 +3699,8 @@ HDF5 files, building on the libraries provided by the HDF Group.") `(#:tests? #f ; there is no test target #:build-target "compile" #:make-flags - (list "-Dbuild.compiler=javac1.8" - (string-append "-Ddist=" (assoc-ref %outputs "out"))) + ,#~(list "-Dbuild.compiler=javac1.8" + (string-append "-Ddist=" #$output)) #:phases (modify-phases %standard-phases (replace 'install @@ -5394,7 +5452,7 @@ complex transformations and code analysis tools.") (delete 'build) (delete 'configure) (replace 'install - (install-pom-file (assoc-ref %build-inputs "source")))))) + ,#~(install-pom-file #$source))))) (home-page "https://ow2.org") (synopsis "Ow2.org parent pom") (description "This package contains the parent pom for projects from ow2.org, @@ -7955,14 +8013,14 @@ This is a part of the Apache Commons Project.") (define-public java-commons-codec (package (name "java-commons-codec") - (version "1.14") + (version "1.15") (source (origin (method url-fetch) (uri (string-append "mirror://apache/commons/codec/source/" "commons-codec-" version "-src.tar.gz")) (sha256 (base32 - "11xr0agckkhm91pb5akf2mbk84yd54gyr178wj57gsm97fi7nkh9")))) + "01z9qmg8fd8d7p7xxipwj1vi9bmvpgqyi29kldjz2x6vzwm171jj")))) (build-system ant-build-system) (arguments `(#:jar-name "java-commons-codec.jar" @@ -7974,13 +8032,19 @@ This is a part of the Apache Commons Project.") (add-before 'build 'copy-resources (lambda _ (copy-recursively "src/main/resources" - "build/classes") - #t)) + "build/classes"))) (add-before 'check 'copy-test-resources (lambda _ (copy-recursively "src/test/resources" - "build/test-classes") - #t)) + "build/test-classes"))) + (add-before 'check 'skip-ravenous-test + (lambda _ + ;; This test admits to being "memory hungry", but reliably fails + ;; even on a machine that should have plenty (12 GiB). Skip it. + (substitute* + "src/test/java/org/apache/commons/codec/binary/BaseNCodecTest.java" + (("\\bassertEnsureBufferSizeExpandsToMaxBufferSize.*;") + "return;")))) (replace 'install (install-from-pom "pom.xml"))))) (native-inputs `(("java-commons-lang3" ,java-commons-lang3) diff --git a/gnu/packages/javascript.scm b/gnu/packages/javascript.scm index a935d321c5..81de5b67a6 100644 --- a/gnu/packages/javascript.scm +++ b/gnu/packages/javascript.scm @@ -41,7 +41,7 @@ (define-public cjson (package (name "cjson") - (version "1.7.14") + (version "1.7.15") (source (origin (method git-fetch) (uri (git-reference @@ -49,7 +49,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1rlnailhjm180zb6pc17jwphjwivw8kfpqgixjfgq4iyryq46sah")))) + (base32 "0lmq7sx09rmsirimbyvaaia44i134ppkp10cw1d2rygr76k9qwq2")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DENABLE_CJSON_UTILS=On"))) diff --git a/gnu/packages/jemalloc.scm b/gnu/packages/jemalloc.scm index 96713dbe52..21a315303b 100644 --- a/gnu/packages/jemalloc.scm +++ b/gnu/packages/jemalloc.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org> +;;; Copyright © 2021 Ryan Sundberg <ryan@arctype.co> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,10 +31,10 @@ #:use-module (gnu packages perl) #:use-module (guix build-system gnu)) -(define-public jemalloc +(define-public jemalloc-4.5.0 (package (name "jemalloc") - (version "5.2.1") + (version "4.5.0") (source (origin (method url-fetch) (uri (string-append @@ -41,7 +42,7 @@ version "/jemalloc-" version ".tar.bz2")) (sha256 (base32 - "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl")))) + "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl")))) (build-system gnu-build-system) (arguments `(#:phases @@ -61,7 +62,6 @@ (list "--disable-thp" "CPPFLAGS=-maltivec")) (_ (list "--disable-thp")))))) - (inputs `(("perl" ,perl))) ;; Install the scripts to a separate output to avoid referencing Perl and ;; Bash in the default output, saving ~75 MiB on the closure. (outputs '("out" "bin")) @@ -72,10 +72,10 @@ fragmentation avoidance and scalable concurrency support.") (license bsd-2))) -(define-public jemalloc-4.5.0 +(define-public jemalloc (package - (inherit jemalloc) - (version "4.5.0") + (inherit jemalloc-4.5.0) + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append @@ -83,5 +83,12 @@ fragmentation avoidance and scalable concurrency support.") version "/jemalloc-" version ".tar.bz2")) (sha256 (base32 - "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl")))) - (inputs '()))) + "1xl7z0vwbn5iycg7amka9jd6hxd8nmfk7nahi4p9w2bnw9f0wcrl")))) + (arguments + (substitute-keyword-arguments (package-arguments jemalloc-4.5.0) + ;; Disable the thread local storage model in jemalloc 5 to prevent + ;; shared libraries linked to libjemalloc from crashing on dlopen() + ;; https://github.com/jemalloc/jemalloc/issues/937 + ((#:configure-flags base-configure-flags '()) + `(cons "--disable-initial-exec-tls" ,base-configure-flags)))) + (inputs `(("perl" ,perl))))) diff --git a/gnu/packages/julia-jll.scm b/gnu/packages/julia-jll.scm index 508d42aa95..d18971ad48 100644 --- a/gnu/packages/julia-jll.scm +++ b/gnu/packages/julia-jll.scm @@ -40,6 +40,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages imagemagick) #:use-module (gnu packages julia) + #:use-module (gnu packages julia-xyz) #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages maths) @@ -639,6 +640,8 @@ rendering library.") (("return joinpath.*") "return $override\n")) #t))))) (build-system julia-build-system) + (propagated-inputs + `(("julia-preferences" ,julia-preferences))) (home-page "https://github.com/JuliaPackaging/JLLWrappers.jl") (synopsis "Julia macros used by JLL packages") (description "This package contains Julia macros that enable JLL packages diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 4dad977d8d..a80964c2b0 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -21,6 +21,7 @@ (define-module (gnu packages julia-xyz) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) #:use-module (guix packages) #:use-module (guix git-download) #:use-module (guix build-system julia) @@ -120,7 +121,7 @@ provides functions to run a few automatable checks for Julia packages.") (define-public julia-arrayinterface (package (name "julia-arrayinterface") - (version "3.1.17") + (version "3.1.19") (source (origin (method git-fetch) @@ -129,7 +130,7 @@ provides functions to run a few automatable checks for Julia packages.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1yfl7wsciqm8ggfs6grxdrvpkxniy4c63d05f65v2j0c55z8a6mn")))) + (base32 "0cmldnzvdgmfnrnrzgj6v1mfr2rvk5096392rwmhd3iyx7v0pq33")))) (build-system julia-build-system) (propagated-inputs `(("julia-ifelse" ,julia-ifelse) @@ -156,7 +157,7 @@ no issues with the upgrade.") (define-public julia-arraylayouts (package (name "julia-arraylayouts") - (version "0.7.0") + (version "0.7.3") (source (origin (method git-fetch) @@ -165,7 +166,7 @@ no issues with the upgrade.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "01725v4jp8h8zwn85splw907r206h1hnp205pchmzjin7h4659xz")))) + (base32 "0ri05xhfrj2909c6yy09qm6zi8v8s5fvmbbwbg8qgjq0yxnviw32")))) (build-system julia-build-system) (propagated-inputs `(("julia-fillarrays" ,julia-fillarrays))) @@ -204,7 +205,7 @@ axis (dimension).") (define-public julia-axisarrays (package (name "julia-axisarrays") - (version "0.4.3") + (version "0.4.4") (source (origin (method git-fetch) @@ -213,7 +214,7 @@ axis (dimension).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "079rj7wvh9ks293g2ih1yah5k0sg8wazw08z3vg2bxj4s16wr64p")))) + (base32 "03kzan1lm4fxfhzv1xjg3ysf6y7nagcc61vfz15kvdrp1dqxlynk")))) (build-system julia-build-system) (propagated-inputs `(("julia-rangearrays" ,julia-rangearrays) @@ -235,7 +236,7 @@ axes, allowing column names or interval selections.") (define-public julia-bandedmatrices (package (name "julia-bandedmatrices") - (version "0.16.9") + (version "0.16.10") (source (origin (method git-fetch) @@ -244,7 +245,7 @@ axes, allowing column names or interval selections.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "105y5d3208s0byk3p0469sfy79lhjpdblk6karbwj8x7hl26na00")))) + (base32 "0rlfj9gr9ss621v5kw5b06206yaak21s2vq9vk7r8a7p2ylncism")))) (build-system julia-build-system) (propagated-inputs `(("julia-arraylayouts" ,julia-arraylayouts) @@ -260,7 +261,7 @@ the entries on the bands.") (define-public julia-benchmarktools (package (name "julia-benchmarktools") - (version "0.7.0") + (version "1.1.1") (source (origin (method git-fetch) @@ -269,7 +270,7 @@ the entries on the bands.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "000izw9pj7cbh9r35nnwg2ijkb9dpfd5nkl2889b8b2dpsh4fi63")))) + (base32 "1xz3kdrphp4b158pg7dwkiry49phs2fjjpdvk1hjpww5ykxacks8")))) (build-system julia-build-system) (propagated-inputs `(("julia-json" ,julia-json))) (home-page "https://github.com/JuliaCI/BenchmarkTools.jl") @@ -282,7 +283,7 @@ benchmarks as well as comparing benchmark results.") (define-public julia-blockarrays (package (name "julia-blockarrays") - (version "0.15.3") + (version "0.16.3") (source (origin (method git-fetch) @@ -291,7 +292,7 @@ benchmarks as well as comparing benchmark results.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "15nd493bfkx92ihnr8dj8mb155dj44iqw266igv0qr5q0wad2bfr")))) + (base32 "1f9pnnfv97vww2dxklpx8pa2k85fw2l3pzsj7n28nws1xlwnj96c")))) (build-system julia-build-system) (propagated-inputs `(("julia-arraylayouts" ,julia-arraylayouts) @@ -318,7 +319,7 @@ access to the full matrix to use in in for example a linear solver.") (define-public julia-blockbandedmatrices (package (name "julia-blockbandedmatrices") - (version "0.10.6") + (version "0.10.7") (source (origin (method git-fetch) @@ -327,7 +328,7 @@ access to the full matrix to use in in for example a linear solver.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0q9ni4pgdkb00jb42fdzlhx745852xx2666vr96k0c4l0cn5mi0y")))) + (base32 "10n1r6kmmv2wa307jfg9y2m6p16j8hngjp3fjavpbdy1r5haasm9")))) (build-system julia-build-system) (propagated-inputs `(("julia-arraylayouts" ,julia-arraylayouts) @@ -428,7 +429,7 @@ variables, both with unordered (nominal variables) and ordered categories (define-public julia-chainrules (package (name "julia-chainrules") - (version "0.7.65") + (version "1.1.0") (source (origin (method git-fetch) @@ -437,7 +438,7 @@ variables, both with unordered (nominal variables) and ordered categories (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0697m5y5ryqnhw6cbk90rlydrxan2b308pzbl86qz4mzhypyk7yi")))) + (base32 "0if93pd3b3scg2x3gmk1cbwjk0ax1n792vy8c38y3xl7jpd5cb70")))) (build-system julia-build-system) (inputs ;required for test `(("julia-chainrulestestutils" ,julia-chainrulestestutils) @@ -459,7 +460,7 @@ execute forward-, reverse-, and mixed-mode primitives.") (define-public julia-chainrulescore (package (name "julia-chainrulescore") - (version "0.9.43") + (version "1.0.2") (source (origin (method git-fetch) @@ -468,7 +469,7 @@ execute forward-, reverse-, and mixed-mode primitives.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12by6zcxv0ivpf0f22gc9i067360syda9m2lxk0rhypxq4smj8w4")))) + (base32 "1866xv30h1bi7f2m993nljzf58wwmv8zlgn6ffn9j3wckch1nfpb")))) (build-system julia-build-system) (inputs ;required for tests `(("julia-benchmarktools" ,julia-benchmarktools) @@ -484,7 +485,7 @@ sensitivities for functions without the need to depend on ChainRules itself.") (define-public julia-chainrulestestutils (package (name "julia-chainrulestestutils") - (version "0.6.11") + (version "1.0.0") (source (origin (method git-fetch) @@ -493,7 +494,7 @@ sensitivities for functions without the need to depend on ChainRules itself.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1nx2fzxhh3q8znnjfjbgf7776scszixmigwna3hvmdfixsk58x0i")))) + (base32 "07l4sjc7avmmp4v1dsym1jyb46q4jsvv7i0yzszf72gj8d9k6lwa")))) (build-system julia-build-system) (propagated-inputs `(("julia-chainrulescore" ,julia-chainrulescore) @@ -542,7 +543,7 @@ color scales for graphics.") (define-public julia-colorschemes (package (name "julia-colorschemes") - (version "3.12.1") + (version "3.13.0") (source (origin (method git-fetch) @@ -551,8 +552,7 @@ color scales for graphics.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "08k39hbdf3jn0001f7qxa99xvagrnh9764911hs6cmxkvp061sa4")))) + (base32 "13gy1njxlkfnxmpj2z6aj1bzbzn7jipaxr9fgkv41yiy0xjhqiyh")))) (build-system julia-build-system) (propagated-inputs `(("julia-colors" ,julia-colors) @@ -663,7 +663,7 @@ common subexpression elimination.") (define-public julia-compat (package (name "julia-compat") - (version "3.30.0") + (version "3.32.0") (source (origin (method git-fetch) @@ -672,7 +672,7 @@ common subexpression elimination.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1qs6fm58dicdjy69qk5p0ndj2b7qsvg7rmydq7igvrvirad55v56")))) + (base32 "1zif3dj0a85w7xqbg0chrdhw8dk410zxcqbnkf764xmylwbps498")))) (build-system julia-build-system) (home-page "https://github.com/JuliaLang/Compat.jl") (synopsis "Compatibility across Julia versions") @@ -685,7 +685,7 @@ way.") (define-public julia-constructionbase (package (name "julia-constructionbase") - (version "1.2.1") + (version "1.3.0") (source (origin (method git-fetch) @@ -694,7 +694,7 @@ way.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1bmx5c5z9jxmyf2xjwwl5lhs9czmwq4isl0bkr78fak4j8brqr4n")))) + (base32 "1jk3h446vkv4yaavgm1hf1az7cwhppvhklvr08s49hhg02cm750q")))) (build-system julia-build-system) (home-page "https://juliaobjects.github.io/ConstructionBase.jl/dev/") (synopsis "Primitive functions for construction of objects") @@ -762,7 +762,7 @@ styles available to terminals.") (define-public julia-dataapi (package (name "julia-dataapi") - (version "1.6.0") + (version "1.7.0") (source (origin (method git-fetch) @@ -771,7 +771,7 @@ styles available to terminals.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14sfvkz169zcbap3gdwpj16qsap783h86fd07flfxk822abam11w")))) + (base32 "0swk31p83fycz5cdj4fg6b0wfqj473lnx94q2fl7ybxkkc6afba7")))) (build-system julia-build-system) (home-page "https://github.com/JuliaData/DataAPI.jl") (synopsis "Data-focused namespace for packages to share functions") @@ -842,7 +842,8 @@ without having to take direct dependencies.") (base32 "15j3hrqq6nazn533bfsvg32xznacbzsl303j1qs48av59ppnvhhv")))) (build-system julia-build-system) (arguments - `(#:phases + `(#:tests? #f ; Tests need upgrading with newer Julia version. + #:phases (modify-phases %standard-phases (add-after 'unpack 'skip-known-failing-tests (lambda _ @@ -886,7 +887,7 @@ dictionaries where values associated with a particular key may change, (define-public julia-dictionaries (package (name "julia-dictionaries") - (version "0.3.8") + (version "0.3.10") (source (origin (method git-fetch) @@ -895,7 +896,7 @@ dictionaries where values associated with a particular key may change, (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1j88f6qa5hqm64n5q3jy08a02gwp7by401s03n5x7575p58iqqh2")))) + (base32 "1mm43hm8hd6sgmkkpqhbqhvap7mpkjwzmz5algxi6manp580gkr5")))) (build-system julia-build-system) (propagated-inputs `(("julia-indexing" ,julia-indexing))) @@ -924,10 +925,13 @@ dictionaries in Julia, for improved productivity and performance.") (modify-phases %standard-phases (add-after 'unpack 'skip-flakey-tests (lambda _ + ;; Some combination of these tests fail nondeterministically + ;; each of the times this package is built. (substitute* "test/test_dists.jl" (("test dyz ≥") "test_nowarn dyz ≥") (("test dist\\(y, x") "test_nowarn dist(y, x") - (("test dist\\(z, x") "test_nowarn dist(z, x"))))))) + (("test dist\\(z, x") "test_nowarn dist(z, x") + (("test dist\\(z, y") "test_nowarn dist(z, y"))))))) (propagated-inputs `(("julia-statsapi" ,julia-statsapi))) (native-inputs @@ -955,6 +959,8 @@ straightforward loop implementation.") (sha256 (base32 "0fy4kfnfacyfmlly6nqxn77dk2gqw80b69zb4m1i0i39zv3cpqfb")))) (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; Tests try to read SSL certificates. (home-page "https://juliadocs.github.io/DocStringExtensions.jl/latest/") (synopsis "Extensions for Julia's docsystem") (description "This package provides a collection of useful extensions for @@ -1079,6 +1085,14 @@ combinations of dual numbers with predefined Julia numeric types.") (sha256 (base32 "0py46kxl702r8pw3v7x4cqllf7yc91b0dr7vb60xh2qi7d6y3jc7")))) (build-system julia-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'adjust-test-suite + (lambda _ + (substitute* "test/runtests.jl" + ;; Seems to not play nicely with Julia-1.6. + ((".*basic.jl.*") ""))))))) (propagated-inputs `(("julia-arrayinterface" ,julia-arrayinterface))) (home-page "https://github.com/ChrisRackauckas/EllipsisNotation.jl") @@ -1111,7 +1125,7 @@ before (or after)\".") (define-public julia-exprtools (package (name "julia-exprtools") - (version "0.1.3") + (version "0.1.6") (source (origin (method git-fetch) @@ -1120,7 +1134,7 @@ before (or after)\".") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1lwxi9fx9farf1jdv42gv43xs3f3i3js2xnvr5gf6d0xfx0g6b6a")))) + (base32 "058ax5d96jpym5w3g37ah1c4xq3fskwpjdhchakzax15vqzy7ab4")))) (build-system julia-build-system) (home-page "https://github.com/invenia/ExprTools.jl") (synopsis "Light-weight expression manipulation tools") @@ -1228,7 +1242,7 @@ working with filesystem paths in Julia.") (define-public julia-fillarrays (package (name "julia-fillarrays") - (version "0.11.7") + (version "0.12.1") (source (origin (method git-fetch) @@ -1237,7 +1251,7 @@ working with filesystem paths in Julia.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1q1qn9pb5dmppddnmf8gggdqyvivqh3ffvbblhn37smcf9r5sy7d")))) + (base32 "1va8vvcxbxcy5xp487hdqfp0ps3m8q0819xrxygsf5135azp3qrh")))) (build-system julia-build-system) (inputs ;required by tests `(("julia-staticarrays" ,julia-staticarrays))) @@ -1252,7 +1266,7 @@ following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros}, (define-public julia-finitediff (package (name "julia-finitediff") - (version "2.8.0") + (version "2.8.1") (source (origin (method git-fetch) @@ -1261,7 +1275,7 @@ following types: @code{Eye}, @code{Fill}, @code{Ones}, @code{Zeros}, (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ndazn02wn8ddwgjh1i32y7pbaqpw06f42ccilz5ya78cyrjhq2m")))) + (base32 "105f6r0hq97n9mxf1nacmz94dpca66vzqj5p3zh4h0brshmggqnq")))) (build-system julia-build-system) (arguments `(#:phases @@ -1291,7 +1305,7 @@ types and sparsity.") (define-public julia-finitedifferences (package (name "julia-finitedifferences") - (version "0.12.6") + (version "0.12.17") (source (origin (method git-fetch) @@ -1300,7 +1314,7 @@ types and sparsity.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kg8snnspn48i2rr99mwy0an3hzlgrnic7xnh3whj2ws2znw46hr")))) + (base32 "09nsf9cgk49yrvprflnhd9h5rrgs280rgj8sad3csghxdx6jqk5c")))) (build-system julia-build-system) (inputs `(("julia-benchmarktools" ,julia-benchmarktools))) @@ -1443,6 +1457,13 @@ arbitrary functions.") (sha256 (base32 "07sv88c472n6w4x7diy952igbcfm1s104ysnnvprld83312siw06")))) (build-system julia-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-failing-test + (lambda _ + (substitute* "test/runtests.jl" + ((".*RPLE.*") ""))))))) (home-page "https://github.com/JunoLab/FuzzyCompletions.jl") (synopsis "Fuzzy completion provider for Julia") (description @@ -1483,7 +1504,7 @@ algebra routines written in Julia (except for optimized BLAS).") (define-public julia-genericschur (package (name "julia-genericschur") - (version "0.5.0") + (version "0.5.1") (source (origin (method git-fetch) @@ -1492,7 +1513,7 @@ algebra routines written in Julia (except for optimized BLAS).") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0kklc2niylvynhq0v49kdmy58m9jmr5jxjf287k1wr9r81fya3sz")))) + (base32 "12x6lxzxm91y3k6s9dam46dq5hrby5sr0gy0fdfnp0xhjzdy2j0d")))) (build-system julia-build-system) (arguments `(#:phases @@ -1566,7 +1587,7 @@ library for parsing HTML.") (define-public julia-http (package (name "julia-http") - (version "0.9.2") + (version "0.9.12") (source (origin (method git-fetch) @@ -1575,7 +1596,7 @@ library for parsing HTML.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0ij0yci13c46p92m4zywvcs02nn8pm0abyfffiyhxvva6hq48lyl")))) + (base32 "1jsyk3mhnwj4h19cxclx26igdqdrw51fd3k1hgav0nm67dy4cxyk")))) (build-system julia-build-system) (arguments `(#:phases @@ -1729,7 +1750,7 @@ dependencies.") (define-public julia-imagecore (package (name "julia-imagecore") - (version "0.9.0") + (version "0.9.1") (source (origin (method git-fetch) @@ -1738,7 +1759,7 @@ dependencies.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0d844lrilw7zjpax8zr5272a9s292wg4qk53mvm0n88yai598zd6")))) + (base32 "0h9m3pl3wic1jrgaqkdifz24cya5vxd3m6qdmm37pxg2y2ii2vcq")))) (build-system julia-build-system) (arguments `(#:tests? #f)) ; Cycle with ImageMagick.jl. @@ -1771,7 +1792,7 @@ of packages designed to support image processing and computer vision.") (define-public julia-imageinterminal (package (name "julia-imageinterminal") - (version "0.4.6") + (version "0.4.7") (source (origin (method git-fetch) @@ -1780,17 +1801,19 @@ of packages designed to support image processing and computer vision.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mqbv27qmnsr6wqvklzb4gawi7hp4wnaspszhaxny1m53q6wbifl")))) + (base32 "0bbpzi7bv8jdiggq1wmcn67vnf96qagvwg0fk95s125wy5980xsl")))) (build-system julia-build-system) (arguments `(#:tests? #f)) ; Cycle with ReferenceTests.jl. (propagated-inputs `(("julia-crayons" ,julia-crayons) + ("julia-imagebase" ,julia-imagebase) ("julia-imagecore" ,julia-imagecore) - ("julia-imagetransformations" ,julia-imagetransformations))) + ("julia-requires" ,julia-requires))) ;(native-inputs ; `(("julia-coordinatetransformations" ,julia-coordinatetransformations) ; ("julia-imagemagick" ,julia-imagemagick) + ; ("julia-imagetransformations" ,julia-imagetransformations) ; ("julia-offsetarrays" ,julia-offsetarrays) ; ("julia-referencetests" ,julia-referencetests) ; ("julia-rotations" ,julia-rotations) @@ -2024,7 +2047,7 @@ interfaces with @file{.ini} files.") (define-public julia-interpolations (package (name "julia-interpolations") - (version "0.13.2") + (version "0.13.3") (source (origin (method git-fetch) @@ -2033,19 +2056,21 @@ interfaces with @file{.ini} files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06wh4fc7hy20kq9iipk3w8v50vd09k7vkii43k8z1vw036f6l7x3")))) + (base32 "1236c20k388qlh7k74mhf7hkbn0vf7ss8b1rgh1a6aj0234ayfnc")))) (build-system julia-build-system) (propagated-inputs `(("julia-axisalgorithms" ,julia-axisalgorithms) ("julia-offsetarrays" ,julia-offsetarrays) ("julia-ratios" ,julia-ratios) + ("julia-requires" ,julia-requires) ("julia-staticarrays" ,julia-staticarrays) ("julia-woodburymatrices" ,julia-woodburymatrices))) (native-inputs `(("julia-dualnumbers" ,julia-dualnumbers) ("julia-forwarddiff" ,julia-forwarddiff) ("julia-offsetarrays" ,julia-offsetarrays) - ("julia-unitful" ,julia-unitful))) + ("julia-unitful" ,julia-unitful) + ("julia-zygote" ,julia-zygote))) (home-page "https://github.com/JuliaMath/Interpolations.jl") (synopsis "Continuous interpolation of discrete datasets") (description "This package implements a variety of interpolation schemes for @@ -2126,7 +2151,7 @@ as a string together with the return value.") (define-public julia-irtools (package (name "julia-irtools") - (version "0.4.2") + (version "0.4.3") (source (origin (method git-fetch) @@ -2135,7 +2160,7 @@ as a string together with the return value.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0wwzy77jcdnffnd5fr6xan7162g4wydz67igrq82wflwnrhlcx5y")))) + (base32 "11334fcg2slpwcj0raxf457brhf7pxglgxc6cy8q58ggrpxqfqql")))) (arguments '(#:tests? #f)) ;require Documenter, not packaged yet (build-system julia-build-system) @@ -2217,7 +2242,7 @@ and printing JSON documents.") (define-public julia-json3 (package (name "julia-json3") - (version "1.8.2") + (version "1.9.0") (source (origin (method git-fetch) @@ -2226,7 +2251,7 @@ and printing JSON documents.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mc3byqm6ygg4mjpdrx6grkr4gn06p25nr7050jgq1k2cf06iqba")))) + (base32 "11z5maz7v50wd99id8z7838higza0cllh2amkdkrlskbri3v2f17")))) (build-system julia-build-system) (propagated-inputs `(("julia-parsers" ,julia-parsers) @@ -2240,7 +2265,7 @@ focus on speed and slick struct mapping.") (define-public julia-lazyarrays (package (name "julia-lazyarrays") - (version "0.21.6") + (version "0.21.14") (source (origin (method git-fetch) @@ -2249,7 +2274,7 @@ focus on speed and slick struct mapping.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0zm1ihvi8v2823ap59ajqcs46s5z0nai8l70n51f6j9dzp8lc3cy")))) + (base32 "130kqyfk0h17s9dr9r1p9n1dgvzzlb1jwn6pj14lwr83s36glpv1")))) (build-system julia-build-system) (propagated-inputs `(("julia-arraylayouts" ,julia-arraylayouts) @@ -2346,7 +2371,7 @@ comes from the fact that @code{M == map(f, A)}.") (define-public julia-matrixfactorizations (package (name "julia-matrixfactorizations") - (version "0.8.3") + (version "0.8.4") (source (origin (method git-fetch) @@ -2355,7 +2380,7 @@ comes from the fact that @code{M == map(f, A)}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14c6w1vhyf4pi4454pdp6ryczsxn9pgjg99fg9bkdj03xg5fsxb8")))) + (base32 "15zvcv2l4iqmjpnqjyx2kry7a85p652nbjy9pj3wq0piksqcz4jb")))) (build-system julia-build-system) (arguments `(#:phases @@ -2529,7 +2554,7 @@ Julia, with type-driven, overloadable packing/unpacking functionality.") (define-public julia-mutablearithmetics (package (name "julia-mutablearithmetics") - (version "0.2.19") + (version "0.2.20") (source (origin (method git-fetch) @@ -2538,7 +2563,7 @@ Julia, with type-driven, overloadable packing/unpacking functionality.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zjfq5sh0rc941pbc9kvnr6a2lpr4yd276mw62vbncbz9jg52rrg")))) + (base32 "1isyj8h4nx96cr6892d154v8pw1nhr7mjyz5bd6ffr2mkzb2bq4f")))) (build-system julia-build-system) (propagated-inputs `(("julia-offsetarrays" ,julia-offsetarrays))) @@ -2604,7 +2629,7 @@ interface to interact with these types.") (define-public julia-nnlib (package (name "julia-nnlib") - (version "0.7.19") + (version "0.7.25") (source (origin (method git-fetch) @@ -2613,10 +2638,11 @@ interface to interact with these types.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "163v7hkmbxxgnq7qigmqjdqcdywi2njxbh54w8v0hf4bddnalbba")))) + (base32 "0vp4kcn9ivkhmqgkyvnabcdqi6pv7ghbmjc1llkwv1kzhylyf86p")))) (build-system julia-build-system) (arguments - `(#:phases + `(#:tests? #f ; Test suite not updated for ChainRulesTestUtils-1.0. + #:phases (modify-phases %standard-phases (add-after 'unpack 'drop-cuda-support (lambda _ @@ -2685,7 +2711,7 @@ which they were added to the collection.") (define-public julia-offsetarrays (package (name "julia-offsetarrays") - (version "1.9.2") + (version "1.10.3") (source (origin (method git-fetch) @@ -2694,7 +2720,7 @@ which they were added to the collection.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10mycjmjlp80c1bsdmk1hnb5hg81zqd2dcxyaa9p55ykla051a9q")))) + (base32 "0j5a8ar8yc0j9h87gwfyrcqm23wpyv5yv5gn8vzilpg4vr0fiasc")))) (build-system julia-build-system) (propagated-inputs `(("julia-adapt" ,julia-adapt))) @@ -2829,7 +2855,7 @@ actual computation.") (define-public julia-plotutils (package (name "julia-plotutils") - (version "1.0.10") + (version "1.0.11") (source (origin (method git-fetch) @@ -2838,8 +2864,7 @@ actual computation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1jimdkp590g7s33w7i431nn7mp1phjy9gdjs88zyqsmq5hxldacg")))) + (base32 "0pqd3yvs3w48sr50c8rcqk5pzvpdy9nf4kimcvyz9dvwc3jgh6rd")))) (build-system julia-build-system) (propagated-inputs `(("julia-colors" ,julia-colors) @@ -2902,6 +2927,31 @@ Hessian and g the gradient) may not be a descent direction if H is not positive definite.") (license license:expat))) +(define-public julia-preferences + (package + (name "julia-preferences") + (version "1.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaPackaging/Preferences.jl") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cail43iqzbi6m9v6981rhz47zf2lcvhs5ds5gdqvc9nx5frghxq")))) + (build-system julia-build-system) + (arguments + `(#:tests? #f)) ; Tests try to mkdir /.julia + (home-page "https://github.com/JuliaPackaging/Preferences.jl") + (synopsis "Store configuration switches to TOML files") + (description "The @code{Preferences} package provides an integrated way for +packages to store configuration switches to persistent TOML files, and use those +pieces of information at both run time and compile time in Julia. This enables +the user to modify the behavior of a package, and have that choice reflected in +everything from run time algorithm choice to code generation at compile time.") + (license license:expat))) + (define-public julia-prettytables (package (name "julia-prettytables") @@ -3087,7 +3137,7 @@ more complex visualizations.") (define-public julia-recipespipeline (package (name "julia-recipespipeline") - (version "0.3.2") + (version "0.3.4") (source (origin (method git-fetch) @@ -3096,8 +3146,7 @@ more complex visualizations.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0wa342m2d9k4kihr6g9i0wpbsipp0n11kh9jmlw4pc5msmz4rxr0")))) + (base32 "0zq4bzxvq36zr0va6iip3x97mgq5b4fwza8avszx1ryfqm3lg1f7")))) (build-system julia-build-system) (arguments `(#:tests? #f)) ; Cycle with Plots.jl. @@ -3118,7 +3167,7 @@ recipes to full specifications for a plot.") (define-public julia-recursivearraytools (package (name "julia-recursivearraytools") - (version "2.11.4") + (version "2.16.1") (source (origin (method git-fetch) @@ -3127,15 +3176,16 @@ recipes to full specifications for a plot.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14wh39g3l0fzzrkxgxijklilqcgpxsk1d44dfpfl48gsp0n6icjm")))) + (base32 "0vx8ndxrii53na7jsc2lki47wfpi77rn3y2r6xhiysx1qwr14msf")))) (build-system julia-build-system) (arguments `(#:tests? #f)) ; Cycle with OrdinaryDiffEq.jl. (propagated-inputs `(("julia-arrayinterface" ,julia-arrayinterface) + ("julia-chainrulescore" ,julia-chainrulescore) ("julia-docstringextensions" ,julia-docstringextensions) - ("julia-requires" ,julia-requires) ("julia-recipesbase" ,julia-recipesbase) + ("julia-requires" ,julia-requires) ("julia-staticarrays" ,julia-staticarrays) ("julia-zygoterules" ,julia-zygoterules))) ;(native-inputs @@ -3143,7 +3193,6 @@ recipes to full specifications for a plot.") ; ("julia-nlsolve" ,julia-nlsolve) ; ("julia-ordinarydiffeq" ,julia-ordinarydiffeq) ; ("julia-structarrays" ,julia-structarrays) - ; ("julia-unitful" ,julia-unitful) ; ("julia-zygote" ,julia-zygote))) (home-page "https://github.com/SciML/RecursiveArrayTools.jl") (synopsis "Tools for handling objects like arrays of arrays and deeper nestings") @@ -3296,33 +3345,36 @@ other power series in @code{h}.") (license license:expat))) (define-public julia-rotations - (package - (name "julia-rotations") - (version "1.0.2") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/JuliaGeometry/Rotations.jl") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1l1a3bnrpv9qdksnk3c8j82ik3yrnpsmnyxyiy3gc1yjya5pajqj")))) - (build-system julia-build-system) - (propagated-inputs - `(("julia-staticarrays" ,julia-staticarrays))) - (native-inputs - `(("julia-benchmarktools" ,julia-benchmarktools) - ("julia-forwarddiff" ,julia-forwarddiff) - ("julia-unitful" ,julia-unitful))) - (home-page "https://github.com/JuliaGeometry/Rotations.jl") - (synopsis "Julia implementations for different rotation parameterisations") - (description "This package implements various 3D rotation parameterizations + ;; This is the first commit with support for julia-1.6. + (let ((commit "b599102535bc3534252c76f3fd4cf521f4741788") + (revision "1")) + (package + (name "julia-rotations") + (version (git-version "1.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaGeometry/Rotations.jl") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "01wwqbdmj61yiz7rkmams4xg7gb9hbmg325173846ky4b9x1wb19")))) + (build-system julia-build-system) + (propagated-inputs + `(("julia-staticarrays" ,julia-staticarrays))) + (native-inputs + `(("julia-benchmarktools" ,julia-benchmarktools) + ("julia-forwarddiff" ,julia-forwarddiff) + ("julia-unitful" ,julia-unitful))) + (home-page "https://github.com/JuliaGeometry/Rotations.jl") + (synopsis "Julia implementations for different rotation parameterisations") + (description "This package implements various 3D rotation parameterizations and defines conversions between them. At their heart, each rotation parameterization is a 3×3 unitary (orthogonal) matrix (based on the @code{StaticArrays.jl} package), and acts to rotate a 3-vector about the origin through matrix-vector multiplication.") - (license license:expat))) + (license license:expat)))) (define-public julia-safetestsets ;; The only release tag is the first commit in the repository. @@ -3403,7 +3455,7 @@ in @code{Gadfly}, @code{Plots} and @code{Makie} to label axes and keys.") (define-public julia-simpletraits (package (name "julia-simpletraits") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) @@ -3412,7 +3464,7 @@ in @code{Gadfly}, @code{Plots} and @code{Makie} to label axes and keys.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1aaq91klwxb0r3ckwihf7rd7jvg70757nkhp5ip4cc3lspnnip23")))) + (base32 "1qvmkqcvhc2nilvkk36szccxdlcv9ls2i0ksxgl2yfjr3b3qlr05")))) (build-system julia-build-system) (propagated-inputs `(("julia-macrotools" ,julia-macrotools))) @@ -3428,18 +3480,16 @@ types are fixed after creation.") (define-public julia-sortingalgorithms (package (name "julia-sortingalgorithms") - (version "1.0.0") + (version "1.0.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/JuliaCollections/SortingAlgorithms.jl") - ;; Tagging releases is hard: - ;; https://github.com/JuliaCollections/SortingAlgorithms.jl/issues/41#issuecomment-840587380 - (commit "aa2b98d384ddd132aae0219e68fb63b92513cb35"))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13zbx18psxrg4fvkqgp0m7g484vrama2xm6902bbls30801hgljg")))) + (base32 "173x77a80xnh99viqa3r7rgdaksvxaw8xyfqw09gwvp4p2zrxivb")))) (build-system julia-build-system) (arguments `(#:tests? #f)) ; cycle with StatsBase.jl @@ -3457,7 +3507,7 @@ timsort and radixsort.") (define-public julia-specialfunctions (package (name "julia-specialfunctions") - (version "1.3.0") + (version "1.6.0") (source (origin (method git-fetch) @@ -3466,12 +3516,13 @@ timsort and radixsort.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1rfhrrkzi3ils7fklbn35ki1yp5x88fi71qknfwqyw4pk8cf8p80")))) + (base32 "0nfpnglx7zl9g20w2mgfkg17hcw9ri0shaq2rwplj0ij5pwz8yf0")))) (build-system julia-build-system) (inputs `(("julia-chainrulestestutils" ,julia-chainrulestestutils))) (propagated-inputs `(("julia-chainrulescore" ,julia-chainrulescore) + ("julia-logexpfunctions" ,julia-logexpfunctions) ("julia-openspecfun-jll" ,julia-openspecfun-jll))) (home-page "https://github.com/JuliaMath/SpecialFunctions.jl") (synopsis "Special mathematical functions") @@ -3573,7 +3624,7 @@ There are multiple ways to understand @code{StackView}: (define-public julia-static (package (name "julia-static") - (version "0.2.5") + (version "0.3.0") (source (origin (method git-fetch) @@ -3582,7 +3633,7 @@ There are multiple ways to understand @code{StackView}: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1sxfp169c7caaklpp7mz8770ayk9w8xw133m95kf7v11sya1lb7v")))) + (base32 "19k7h47zhz3zz28i0l4b3cc0r07pzp8kf35z0yammpy361b644l2")))) (build-system julia-build-system) (propagated-inputs `(("julia-ifelse" ,julia-ifelse))) @@ -3597,7 +3648,7 @@ types and a common interface that is shared between them.") (define-public julia-staticarrays (package (name "julia-staticarrays") - (version "1.2.0") + (version "1.2.9") (source (origin (method git-fetch) @@ -3606,7 +3657,7 @@ types and a common interface that is shared between them.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0z4g1kk6gy514dyafb559gcp4264ffx6h28ffczdvkyk8gm9j0m7")))) + (base32 "1902bl9p96mfq7d1rbilwp98wz2g82ml9svcgx7sczglyjbs4nsk")))) (build-system julia-build-system) (inputs `(("julia-benchmarktools" ,julia-benchmarktools))) @@ -3762,7 +3813,7 @@ the @code{Pluto.jl} tabular data import functionality.") (define-public julia-tables (package (name "julia-tables") - (version "1.4.3") + (version "1.4.4") (source (origin (method git-fetch) @@ -3771,7 +3822,7 @@ the @code{Pluto.jl} tabular data import functionality.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0yfjl4v1vglsk9wr7gbqgya4kk3a0q0i6zhi9xdgvnqsqzqrsc7c")))) + (base32 "1sqqagzqvav8b1rv5ywwbgy9ixvlmipq95fkwfwn0m8769i8jwzb")))) (build-system julia-build-system) (propagated-inputs `(("julia-dataapi" ,julia-dataapi) @@ -3907,7 +3958,8 @@ package.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1s4mdywbp7nli7z985fqaj1rs4i6d92b1jx3lhg0qhk1s5wc0v8j")))) + (base32 "1s4mdywbp7nli7z985fqaj1rs4i6d92b1jx3lhg0qhk1s5wc0v8j")) + (patches (search-patches "julia-tracker-16-compat.patch")))) (build-system julia-build-system) (propagated-inputs `(("julia-adapt" ,julia-adapt) @@ -3929,7 +3981,7 @@ automatic differentiation for its machine learning platform.") (define-public julia-typedtables (package (name "julia-typedtables") - (version "1.2.4") + (version "1.4.0") (source (origin (method git-fetch) @@ -3938,7 +3990,7 @@ automatic differentiation for its machine learning platform.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "06k5h7ybsh29b6kiy0p62rp9b2q3xi9jk8p9wf0kq907p5kvfnfy")))) + (base32 "0nk6zhqvl2r8yhjdhb59kxq0srd3vy4ysg4d8rszj9a43dnn3w3i")))) (build-system julia-build-system) (propagated-inputs `(("julia-adapt" ,julia-adapt) @@ -4009,7 +4061,7 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC (define-public julia-unitful (package (name "julia-unitful") - (version "1.8.0") + (version "1.9.0") (source (origin (method git-fetch) @@ -4018,7 +4070,7 @@ working with @acronym{URIs,Uniform Resource Identifiers}, as defined in RFC (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0n9z4skj04h033qbn22cn6f5jby6584j6pizvs7bdbk93h39ch1g")))) + (base32 "10qwscd15dnmvx116dwvg99m7kmwgmj5ahdkq7psiq48lcc554gq")))) (build-system julia-build-system) (propagated-inputs `(("julia-constructionbase" ,julia-constructionbase))) @@ -4056,7 +4108,7 @@ useful in order to support @code{VersionNumber} comparisons applied to (define-public julia-weakrefstrings (package (name "julia-weakrefstrings") - (version "1.0.0") + (version "1.1.0") (source (origin (method git-fetch) @@ -4065,7 +4117,7 @@ useful in order to support @code{VersionNumber} comparisons applied to (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1p8q62zsmi02vyckgy25ddmxns223xrhx575x9lfgvr7jrw1kl2p")))) + (base32 "14h1vdnc3rx87w6v2rr59lgb4kai2hd1wzqpxhmzsi8karg2z219")))) (build-system julia-build-system) (propagated-inputs `(("julia-dataapi" ,julia-dataapi) @@ -4147,7 +4199,7 @@ Zygote, without depending on Zygote itself.") (define-public julia-zygote (package (name "julia-zygote") - (version "0.6.10") + (version "0.6.17") (source (origin (method git-fetch) @@ -4156,7 +4208,7 @@ Zygote, without depending on Zygote itself.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0qqjzhiqghj07mab24b0n0h4xfzq8r1s9hccrmx1lwjkkskhc5f9")))) + (base32 "1cx66sp30s34ln6p0fpqk1ggjxfxg2gp8791zz3cl85dmk4dl14b")))) (build-system julia-build-system) (arguments `(#:tests? #f)) ;require CUDA, not packaged yet diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 97218656cc..636bdc57c1 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -1,9 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> +;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,14 +50,15 @@ #:use-module (gnu packages ssh) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages web) #:use-module (gnu packages wget) #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "1fcc6d66f9df74189c74d3d390f02202bb7db953") - (revision "2")) + (let ((commit "fb3e3364c33ae48c827f6b103e05c3f0e78b79a9") + (revision "3")) ;; When upgrading Julia, also upgrade this. Get the commit from - ;; https://github.com/JuliaLang/julia/blob/v1.5.2/deps/libuv.version + ;; https://github.com/JuliaLang/julia/blob/v1.6.1/deps/libuv.version (package (inherit libuv) (name "libuv-julia") @@ -65,16 +68,10 @@ (uri (git-reference (url "https://github.com/JuliaLang/libuv") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "040l7f1hk7xyza11sry5cj4fhw05na949865axqqhxnifdvnmfji")))) - (build-system gnu-build-system) - (arguments - (substitute-keyword-arguments (package-arguments libuv) - ((#:phases phases) - `(modify-phases ,phases - (delete 'autogen))))) + "1kqpn19d20aka30h6q5h8lnzyp0vw0xzgx0wm4w2r5j6yf76m2hr")))) (home-page "https://github.com/JuliaLang/libuv")))) (define libunwind-julia @@ -97,7 +94,9 @@ (julia-patch "libunwind-prefer-extbl" "0lr4dafw8qyfh8sw8hhbwkql1dlhqv8px7k81y2l20hhxfgnh2m1") (julia-patch "libunwind-static-arm" - "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq"))))) + "1jk3bmiw61ypcchqkk1fyg5wh8wpggk574wxyfyaic870zh3lhgq") + (julia-patch "libunwind-cfa-rsp" + "1aswjhvysahhldbzh1afbf0hsjxrvs6xidsz2i7s1cjkjbdiia1z"))))) (home-page "https://github.com/JuliaLang/tree/master/deps/"))) (define (julia-patch-url version name) @@ -105,7 +104,7 @@ "/deps/patches/" name ".patch")) (define (julia-patch name sha) - (let ((version "1.5.3")) + (let ((version "1.6.1")) (origin (method url-fetch) (uri (julia-patch-url version name)) (sha256 (base32 sha)) @@ -113,10 +112,10 @@ (define llvm-julia (package - (inherit llvm-9) + (inherit llvm-11) (name "llvm-julia") (source (origin - (inherit (package-source llvm-9)) + (inherit (package-source llvm-11)) ;; Those patches are inside the Julia source repo. ;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm) ;; but they are required to build Julia. @@ -132,37 +131,72 @@ "19spqc3xsazn1xs9gpcgv9ldadfkv49rmc5khl7sf1dlmhgi4602") '("llvm-7.0-D44650" "1h55kkmkiisfj6sk956if2bcj9s0v6n5czn8dxb870vp5nccj3ir") + '("llvm-6.0-DISABLE_ABI_CHECKS" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") '("llvm9-D50010-VNCoercion-ni" "1s1d3sjsiq4vxg7ncy5cz56zgy5vcq6ls3iqaiqkvr23wyryqmdx") - '("llvm-exegesis-mingw" - "0ph1cj1j7arvf1xq2xcr7qf9g0cpdl14fincgr67vpi520zvd3vp") - '("llvm-test-plugin-mingw" - "12z738cnahbf6n381im7i0hxp1m6k9hrnfjlmq9sac46nxly9gnj") '("llvm7-revert-D44485" "0f59kq3p3mpwsbmskypbi4zn01l6ig0x7v2rjp08k2r8z8m6fa8n") - '("llvm-8.0-D66657-codegen-degenerate" - "1n1ddx19h90bbpimdyd9dh8fsm6gb93xxyqm4ljkxa1k3cx2vm72") - '("llvm-8.0-D71495-vectorize-freduce" - "1zff08wvji9lnpskk4b3p5zyjsy5hhy23ynxjqlj9dw7jvvfrf0p") - '("llvm-D75072-SCEV-add-type" - "029a3fywsm233vf48mscina24idd50dc75wr70lmimrhwnw27p0z") - '("llvm-9.0-D65174-limit-merge-stores" - "04bff1mnblfj9mxfdwr1qdnw3i3szmp60gnhxwas5y68qg33z6j0") - '("llvm9-D71443-PPC-MC-redef-symbol" - "1c93nv7rgc9jg5mqrnvv08xib1789qvlql94fwggh18mp3b9hbgy") - '("llvm-9.0-D78196" - "08a43hyg7yyqjq2vmfsmppf34xcz60wq6y9zw5fdyhw2h1mcnmns") + '("llvm-11-D75072-SCEV-add-type" + "176xi1lnbnv2rcs05ywhyb7pd0xgmibayvwzksksg44wg2dh8mbx") '("llvm-julia-tsan-custom-as" "0awh40kf6lm4wn1nsjd1bmhfwq7rqj811szanp2xkpspykw9hg9s") - '("llvm-9.0-D85499" - "0vxlr35srvbvihlgrxq15v6dylp90vgi0qahj22j01jgqmdasjkm")))) + '("llvm-D80101" + "1gsdwmgmpbignvqyxcnlprj899259p3dvdznlncd84ss445qgq3j") + '("llvm-D84031" + "0nks9sbk7p0r5gyr0idrmm93a5fmdai8kihz9532dx4zhcvvqbjc") + '("llvm-10-D85553" + "1zjq7j9q2qp56hwkc8yc8f0z7kvam3j7hj8sb7qyd77r255ff78l") + '("llvm-10-unique_function_clang-sa" + "1jys9w2zqk3dasnxqh0qz5ij7rxi6mkgq9pqjsclmamr5169zyan") + ;'("llvm-D88630-clang-cmake" + ; "0rs6s71nqnjkny7i69gqazhqj5jqfdr0bkxs2v5a55sfx8fa1k54") + '("llvm-11-D85313-debuginfo-empty-arange" + "1f672d5385xpgb8yrim8d3b7wg2z1l81agnshm1q61kdvjixqx32") + '("llvm-11-D90722-rtdyld-absolute-relocs" + "0kmnai229yyxkmpk9lxd180mcnhk2i8d87k2sg89gc8as18w10r6") + '("llvm-invalid-addrspacecast-sink" + "1n1b7j4s80vj7x5377aj9vyphmxx1q6bm0chhkxp6zsy3mx3g2ry") + '("llvm-11-D92906-ppc-setjmp" + "0cmd4dsblp7a8m03j16dqxws0ijh55zf4jzzxmj341qxa1gamdp9") + '("llvm-11-PR48458-X86ISelDAGToDAG" + "0vwzvlhsdazhxg4gj8g2f00a4f8qc5cgac23w575xk3pgba1jh6y") + '("llvm-11-D93092-ppc-knownbits" + "1748bypsc7c9lbs3fnkv0kwvch6bn85kj98j4jdaz254ig0wa6xj") + '("llvm-11-D93154-globalisel-as" + "1k5wd4z3pa7zj0gyjkif7viqj906dhqlbb7dc95gig40nbxv6zpj") + '("llvm-11-ppc-half-ctr" + "0piywisfz6cmw3133kz7vzhiqflq2y7igakqxlym0gi8pqylv7w9") + '("llvm-11-ppc-sp-from-bp" + "1wmg3485cx5f9pbykyl3jibk1wwv4w1x30hl4jyfndzr2yh8azf9") + '("llvm-rGb498303066a6-gcc11-header-fix" + "0hkd4rwhvh8g2yh13g29wiwnjpv2yd1hdyiv1ryw8izl25bz9c67") + '("llvm-11-D94813-mergeicmps" + "0cmy0ywkgyrdcvr9bd6pd912lyd4gcsrib4z0v05dwgcdxhk7y29") + '("llvm-11-D94980-CTR-half" + "1yf8cxib3z8hz7zi9n6v2g2c6vpfr4slq9hpx8m8yq8f1jbyw3fw") + '("llvm-11-D94058-sext-atomic-ops" + "1x6p6k6q651z5jcqxx8vj17cxnv196mka7mwn7dpp6c23lwgfdpb") + '("llvm-11-D96283-dagcombine-half" + "0lv4iq2f8qrcz1xyxfic3bcr5p0aqam3a7c6pp6fnw3riixm096k")))) (patch-flags '("-p1")))) (arguments - (substitute-keyword-arguments (package-arguments llvm-9) + (substitute-keyword-arguments (package-arguments llvm-11) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'patch-round-two + ;; We have to do the patching in two rounds because we can't + ;; pass '-p1' and '-p2' in the source field. + (lambda* (#:key inputs #:allow-other-keys) + (map (lambda (patchname) + (invoke "patch" patchname "-p2")) + (list "llvm-11-AArch64-FastIsel-bug" + "llvm-11-D97435-AArch64-movaddrreg" + "llvm-11-D97571-AArch64-loh" + "llvm-11-aarch64-addrspace")))))) + ((#:build-type _) "Release") ((#:configure-flags flags) - `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so - "-DCMAKE_BUILD_TYPE=Release" - + `(list ;; Build a native compiler and the NVPTX backend (NVIDIA) since ;; Julia insists on it, nothing more. This reduces build times and ;; disk usage. @@ -177,7 +211,22 @@ ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" "-DLLVM_ENABLE_DUMP=ON" - "-DLLVM_LINK_LLVM_DYLIB=ON")))))) + "-DLLVM_LINK_LLVM_DYLIB=ON")))) + (inputs + (append + (package-inputs llvm-11) + `(("llvm-11-AArch64-FastIsel-bug" + ,(julia-patch "llvm-11-AArch64-FastIsel-bug" + "1m2vddj1mw4kbij8hbrx82piyy6bvr2x7wwdnlxfaqcm72ipzyh9")) + ("llvm-11-D97435-AArch64-movaddrreg" + ,(julia-patch "llvm-11-D97435-AArch64-movaddrreg" + "10jnavq9ljkj7j2gqj2zd1pwqpqb5zs3zp9h96pmz0djbmxwa86y")) + ("llvm-11-D97571-AArch64-loh" + ,(julia-patch "llvm-11-D97571-AArch64-loh" + "128zcbg1w1j7hngsf7z1a7alc6lig6l2rqgjp6i8nk3k3f842v6n")) + ("llvm-11-aarch64-addrspace" + ,(julia-patch "llvm-11-aarch64-addrspace" + "0ckbzgfirxrf2d5bpinpngp7gnilbjrk0cbdfyl3h6f5v6i6xj6m"))))))) (define-public libwhich (package @@ -223,7 +272,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (define-public julia (package (name "julia") - (version "1.5.3") + (version "1.6.2") (source (origin (method url-fetch) (uri (string-append @@ -231,7 +280,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") version "/julia-" version ".tar.gz")) (sha256 (base32 - "1zmim82x9kkdcgn0cdi01hmzi59zbszy1sqlygb86xq4hc1n66dy")) + "0plbj4laifzz8ppk889iv3gaxj1mdddzv7yad6ghml6bfnn24r6m")) (patches (search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch")))) (build-system gnu-build-system) @@ -241,6 +290,10 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (guix build gnu-build-system) (guix build utils)) + ;; The test suite takes many times longer than building and + ;; can easily fail on smaller machines when they run out of memory. + #:tests? ,(not (target-aarch64?)) + ;; Do not strip binaries to keep support for full backtraces. ;; See https://github.com/JuliaLang/julia/issues/17831 #:strip-binaries? #f @@ -259,14 +312,13 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (string-join (map (lambda (pkg) (string-append (assoc-ref inputs pkg) "/lib")) - '("arpack-ng" "curl" "dsfmt" + '("curl" "dsfmt" "gmp" "lapack" - "libssh2" "libgit2" + "libssh2" "libnghttp2" "libgit2" "mbedtls" "mpfr" "openblas" "openlibm" "pcre2" - "suitesparse")) - ":")) - #t)) + "suitesparse" "gfortran:lib")) + ":")))) ;; FIXME: Building the documentation requires Julia packages that ;; would be downloaded from the Internet. We should build them in a ;; separate build phase. @@ -288,6 +340,26 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (("\\$\\$\\(build_depsbindir\\)/libwhich") (search-input-file inputs "/bin/libwhich"))) #t)) + (add-after 'unpack 'change-number-of-precompile-statements + (lambda _ + ;; Remove nss-certs drops the number of statements below 1200, + ;; causing the build to fail prematurely. + (substitute* "contrib/generate_precompile.jl" + (("1200") "1100")) + #t)) + ;; For some reason libquadmath is unavailable on this architecture. + ;; https://github.com/JuliaLang/julia/issues/41613 + ,@(if (target-aarch64?) + '((add-after 'unpack 'drop-libquadmath-on-aarch64 + (lambda _ + (substitute* '("contrib/fixup-libgfortran.sh" + "deps/csl.mk" + "base/Makefile") + ((".*libquadmath.*") "")) + (substitute* "Makefile" + (("libquadmath ") "")) + #t))) + '()) (add-before 'check 'set-home ;; Some tests require a home directory to be set. (lambda _ (setenv "HOME" "/tmp") #t)) @@ -304,7 +376,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") "$(BUILDDIR)/$(EXENAME)-debug\\$\\(EXE\\): $(DOBJS) $(LLT_debug)")) ;; The REPL must be linked with libuv. - (substitute* "ui/Makefile" + (substitute* "cli/Makefile" (("JLDFLAGS \\+= ") (string-append "JLDFLAGS += " (assoc-ref %build-inputs "libuv") @@ -318,27 +390,105 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (substitute* "base/client.jl" (("/bin/sh") (which "sh"))) #t)) - (add-before 'build 'fix-precompile - (lambda _ - (substitute* "base/loading.jl" - (("something(Base.active_project(), \"\")") "\"\"")) - #t)) + (add-before 'build 'shared-objects-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((jlpath + (lambda (pkgname) + (string-append + "stdlib/" pkgname "_jll/src/" pkgname "_jll.jl"))) + (from + (lambda (libname) + (string-append "const " libname " = .*\\.so"))) + (to + (lambda* (pkg libname #:optional libname_jl) + (string-append + "const " (or libname_jl libname) "= \"" + (assoc-ref inputs pkg) "/lib/" libname ".so")))) + (substitute* (jlpath "dSFMT") + (((from "libdSFMT")) (to "dsfmt" "libdSFMT"))) + (substitute* (jlpath "GMP") + (((from "libgmp")) (to "gmp" "libgmp")) + (((from "libgmpxx")) (to "gmp" "libgmpxx"))) + (substitute* (jlpath "libLLVM") + (((from "libLLVM")) (to "llvm" "libLLVM"))) + (substitute* (jlpath "LibCURL") + (((from "libcurl")) (to "curl" "libcurl"))) + (substitute* (jlpath "LibGit2") + (((from "libgit2")) (to "libgit2" "libgit2"))) + (substitute* (jlpath "LibSSH2") + (((from "libssh2")) (to "libssh2" "libssh2"))) + (substitute* (jlpath "LibUV") + (((from "libuv")) (to "libuv" "libuv"))) + (substitute* (jlpath "LibUnwind") + (((from "libunwind")) (to "libunwind" "libunwind"))) + (substitute* (jlpath "MPFR") + (((from "libmpfr")) (to "mpfr" "libmpfr"))) + (substitute* (jlpath "MbedTLS") + ;; For the newer version of mbedtls-apache: + (("libmbedcrypto.so.5") "libmbedcrypto.so.6") + (((from "libmbedcrypto")) (to "mbedtls" "libmbedcrypto")) + (((from "libmbedtls")) (to "mbedtls" "libmbedtls")) + (((from "libmbedx509")) (to "mbedtls" "libmbedx509"))) + (substitute* (jlpath "nghttp2") + (((from "libnghttp2")) (to "libnghttp2" "libnghttp2"))) + (substitute* (jlpath "OpenBLAS") + (((from "libopenblas")) (to "openblas" "libopenblas"))) + (substitute* (jlpath "OpenLibm") + (((from "libopenlibm")) (to "openlibm" "libopenlibm"))) + (substitute* (jlpath "PCRE2") + (((from "libpcre2")) (to "pcre2" "libpcre2" "libpcre2_8"))) + (substitute* (jlpath "SuiteSparse") + (((from "libamd")) (to "suitesparse" "libamd")) + (((from "libbtf")) (to "suitesparse" "libbtf")) + (((from "libcamd")) (to "suitesparse" "libcamd")) + (((from "libccolamd")) (to "suitesparse" "libccolamd")) + (((from "libcholmod")) (to "suitesparse" "libcholmod")) + (((from "libcolamd")) (to "suitesparse" "libcolamd")) + (((from "libklu")) (to "suitesparse" "libklu")) + (((from "libldl")) (to "suitesparse" "libldl")) + (((from "librbio")) (to "suitesparse" "librbio")) + (((from "libspqr")) (to "suitesparse" "libspqr")) + (((from "libsuitesparse")) (to "suitesparse" "libsuitesparse")) + (((from "libsuitesparseconfig")) + (to "suitesparse" "libsuitesparseconfig")) + (((from "libumfpack")) (to "suitesparse" "libumfpack"))) + (substitute* (jlpath "Zlib") + (((from "libz")) (to "zlib" "libz")))) + #t)) + (add-after 'unpack 'adjust-test-suite + (lambda* (#:key inputs #:allow-other-keys) + (let ((pcre2 (assoc-ref inputs "pcre2")) + (mbedtls-apache (assoc-ref inputs "mbedtls")) + (mpfr (assoc-ref inputs "mpfr")) + (gmp (assoc-ref inputs "gmp")) + (nghttp2 (assoc-ref inputs "libnghttp2")) + (suitesparse (assoc-ref inputs "suitesparse"))) + ;; Some tests only check to see if the input is the correct version. + (substitute* "stdlib/PCRE2_jll/test/runtests.jl" + (("10.36.0") ,(package-version pcre2))) + (substitute* "stdlib/MbedTLS_jll/test/runtests.jl" + (("2.24.0") ,(package-version mbedtls-apache))) + (substitute* "stdlib/MPFR_jll/test/runtests.jl" + (("4.1.0") ,(package-version mpfr))) + (substitute* "stdlib/GMP_jll/test/runtests.jl" + (("6.2.0") ,(package-version gmp))) + (substitute* "stdlib/nghttp2_jll/test/runtests.jl" + (("1.41.0") ,(package-version nghttp2))) + (substitute* "stdlib/SuiteSparse_jll/test/runtests.jl" + (("5004") ,(string-replace-substring + (version-major+minor + (package-version suitesparse)) "." "0"))) + #t))) (add-before 'check 'disable-broken-tests (lambda _ + ;; disabling REPL tests because they require a stdin + ;; There are some read-only precompile issues in the 1.6 series. + ;; https://github.com/JuliaLang/julia/pull/41614 + ;; https://github.com/JuliaLang/julia/issues/41156 (substitute* "test/choosetests.jl" - (("tests = testnames") - ;; Those failings are not deterministic. They depends on the - ;; running order. I think it depends on the number of - ;; runners, disabling it for now - ;; https://github.com/JuliaLang/julia/issues/34330 - "tests = filter(e->!in(e,[\"backtrace\",\"exceptions\",\"precompile\", - \"client\",\"stacktraces\"]), - testnames)")) - ;; Marking the test as broken as it's a known bug: - ;; https://github.com/JuliaLang/julia/issues/32377 - (substitute* "stdlib/REPL/test/replcompletions.jl" - (("@test count") "@test_broken count")) - ;; Dates has a similar bug: + (("skip_tests = \\[\\]") + "skip_tests = [\"REPL\", \"precompile\"]")) + ;; Dates/io tests fail on master when networking is unavailable ;; https://github.com/JuliaLang/julia/issues/34655 (substitute* "stdlib/Dates/test/io.jl" (("\"Dates.Date") "\"Date") @@ -347,11 +497,64 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ;; https://github.com/JuliaLang/julia/issues/35785 (substitute* "test/file.jl" (("@test dirname\\(t\\) == d") "@test_broken dirname(t) == d")) - ;; Deprecation test fails with --depwarn=no - ;; https://github.com/JuliaLang/julia/issues/37673 - (substitute* "test/Makefile" - (("./runtests.jl") "--depwarn=error ./runtests.jl")) + ;; julia embeds a certificate, we are not doing that + (substitute* "stdlib/MozillaCACerts_jll/test/runtests.jl" + (("@test isfile\\(MozillaCACerts_jll.cacert\\)") + "@test_broken isfile(MozillaCACerts_jll.cacert)")) + ;; since certificate is not present some tests are failing in network option + (substitute* "usr/share/julia/stdlib/v1.6/NetworkOptions/test/runtests.jl" + (("@test isfile\\(bundled_ca_roots\\(\\)\\)") + "@test_broken isfile(bundled_ca_roots())") + (("@test ispath\\(ca_roots_path\\(\\)\\)") + "@test_broken ispath(ca_roots_path())") + (("@test ca_roots_path\\(\\) \\!= bundled_ca_roots\\(\\)") + "@test_broken ca_roots_path() != bundled_ca_roots()")) + ;; WARNING: failed to select UTF-8 encoding, using ASCII + ;; Using 'setlocale' doesn't affect the test failures. + ;(setlocale LC_ALL "en_US.utf8") + ;(setenv "LC_ALL" "en_US.utf8") + (substitute* "test/cmdlineargs.jl" + (("test v\\[3") "test_broken v[3") + (("test isempty\\(v\\[3") "test_broken isempty(v[3")) #t)) + (add-before 'install 'symlink-libraries + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((link + (lambda (pkgname dir pred) + (map (lambda (file) + (unless (file-exists? + (string-append dir (basename file))) + (symlink file (string-append dir (basename file))))) + (find-files (string-append (assoc-ref inputs pkgname) + "/lib") pred))))) + (link "curl" "usr/lib/" "\\.so") ; missing libpthreads libLLVM-11jl + (link "suitesparse" "usr/lib/julia/" "libbtf\\.so") + (link "suitesparse" "usr/lib/julia/" "libklu\\.so") + (link "suitesparse" "usr/lib/julia/" "libldl\\.so") + (link "suitesparse" "usr/lib/julia/" "librbio\\.so") + (link "gmp" "usr/lib/julia/" "libgmpxx\\.so") + (link "libuv" "usr/lib/julia/" "libuv\\.so") + (link "zlib" "usr/lib/julia/" "libz\\.so") + (link "libunwind" "usr/lib/julia/" "libunwind\\.so") + (symlink (string-append (assoc-ref inputs "p7zip") "/bin/7z") + "usr/libexec/7z") + #t))) + (add-after 'install 'symlink-llvm-utf8proc + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (link + (lambda (pkgname pred) + (map (lambda (file) + (unless (file-exists? + (string-append out "/lib/julia/" + (basename file))) + (symlink file (string-append out "/lib/julia/" + (basename file))))) + (find-files (string-append (assoc-ref inputs pkgname) + "/lib") pred))))) + (link "llvm" "libLLVM-11\\.so") + (link "utf8proc" "libutf8proc\\.so") + #t))) (add-after 'install 'make-wrapper (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -360,8 +563,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (with-directory-excursion bin (wrap-program program `("JULIA_LOAD_PATH" ":" prefix - ("" "$JULIA_LOAD_PATH"))) - (wrap-program program + ("" "$JULIA_LOAD_PATH")) `("JULIA_DEPOT_PATH" ":" prefix ("" "$JULIA_DEPOT_PATH")))) #t)))) @@ -369,11 +571,14 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") (list (string-append "prefix=" (assoc-ref %outputs "out")) - ;; Passing the MARCH flag is necessary to build binary substitutes for - ;; the supported architectures. + ;; Passing the MARCH or JULIA_CPU_TARGET flag is necessary to build + ;; binary substitutes for the supported architectures. See also + ;; https://docs.julialang.org/en/v1/devdocs/sysimg/#Specifying-multiple-system-image-targets ,(match (or (%current-target-system) (%current-system)) - ("x86_64-linux" "MARCH=x86-64") + ("x86_64-linux" + ;; These are the flags that upstream uses for their binaries. + "JULIA_CPU_TARGET=generic;generic,-cx16,clone_all;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)") ("i686-linux" "MARCH=pentium4") ("armhf-linux" "JULIA_CPU_TARGET=armv7-a,neon") ("powerpc64le-linux" "JULIA_CPU_TARGET=pwr8") @@ -382,79 +587,82 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.") ;; and also of targeting the builder's architecture. (_ "JULIA_CPU_TARGET=generic")) - "CONFIG_SHELL=bash" ;needed to build bundled libraries - ;; list of "USE_SYSTEM_*" is here: - ;; https://github.com/JuliaLang/julia/blob/v1.3.1/Make.inc + "CONFIG_SHELL=bash -x" ; needed to build bundled libraries + "USE_BINARYBUILDER=0" + ;; list (and order!) of "USE_SYSTEM_*" is here: + ;; https://github.com/JuliaLang/julia/blob/v1.6.0/Make.inc + "USE_SYSTEM_CSL=1" + "USE_SYSTEM_LLVM=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_OPENLIBM=1" "USE_SYSTEM_DSFMT=1" - "USE_SYSTEM_P7ZIP=1" - "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" - "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 + "USE_SYSTEM_LAPACK=1" + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_SUITESPARSE=1" + "USE_SYSTEM_LIBUV=1" + "USE_SYSTEM_UTF8PROC=1" + "USE_SYSTEM_MBEDTLS=1" + "USE_SYSTEM_LIBSSH2=1" + "USE_SYSTEM_NGHTTP2=1" + "USE_SYSTEM_CURL=1" + "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_ZLIB=1" + "USE_SYSTEM_P7ZIP=1" + + "NO_GIT=1" ; build from release tarball. + "USE_BLAS64=0" ; needed when USE_SYSTEM_BLAS=1 "LIBBLAS=-lopenblas" "LIBBLASNAME=libopenblas" - "USE_SYSTEM_SUITESPARSE=1" (string-append "SUITESPARSE_INC=-I " (assoc-ref %build-inputs "suitesparse") "/include") - "USE_GPL_LIBS=1" ;proudly - "USE_SYSTEM_UTF8PROC=1" + "USE_GPL_LIBS=1" ; proudly (string-append "UTF8PROC_INC=" (assoc-ref %build-inputs "utf8proc") "/include") - "USE_SYSTEM_LLVM=1" - "LLVM_VER=9.0.1" + "LLVM_VER=11.0.0" "USE_LLVM_SHLIB=1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LIBUV=1" (string-append "LIBUV=" (assoc-ref %build-inputs "libuv") "/lib/libuv.so") (string-append "LIBUV_INC=" (assoc-ref %build-inputs "libuv") - "/include") - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_OPENLIBM=1" - "USE_SYSTEM_MBEDTLS=1" - "USE_SYSTEM_LIBSSH2=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_ZLIB=1"))) + "/include")))) (inputs - `(("llvm" ,llvm-julia) - ("p7zip" ,p7zip) - ;; The bundled version is 3.3.0 so stick to that version. With other - ;; versions, we get test failures in 'linalg/arnoldi' as described in - ;; <https://bugs.gnu.org/30282>. - ("arpack-ng" ,arpack-ng-3.3.0) - - ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like + `(("coreutils" ,coreutils) ; for bindings to "mkdir" and the like + ("curl" ,curl-ssh) + ("gfortran" ,gfortran) + ;; required for libgcc_s.so + ("gfortran:lib" ,gfortran "lib") + ("gmp" ,gmp) ("lapack" ,lapack) - ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind-julia) - ("openlibm" ,openlibm) - ("mbedtls" ,mbedtls-apache) - ("curl" ,curl) - ("libgit2" ,libgit2-0.28) + ("libgit2" ,libgit2) + ("libnghttp2" ,nghttp2 "lib") ("libssh2" ,libssh2) - ("fortran" ,gfortran) + ("libunwind" ,libunwind-julia) ("libuv" ,libuv-julia) - ("pcre2" ,pcre2) - ("utf8proc" ,utf8proc) + ("llvm" ,llvm-julia) + ("mbedtls" ,mbedtls-apache) ("mpfr" ,mpfr) + ("openblas" ,openblas) + ("openlibm" ,openlibm) + ("p7zip" ,p7zip) + ("pcre2" ,pcre2) + ("suitesparse" ,suitesparse) + ("utf8proc" ,utf8proc-2.6.1) ("wget" ,wget) ("which" ,which) ("zlib" ,zlib) - ("gmp" ,gmp) - ("suitesparse" ,suitesparse) ;; Find dependencies versions here: - ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.3.0/deps/Versions.make - ("libwhich" ,libwhich) - ("dsfmt" ,dsfmt))) + ;; https://raw.githubusercontent.com/JuliaLang/julia/v1.6.0/deps/Versions.make + ("dsfmt" ,dsfmt) + ("libwhich" ,libwhich))) (native-inputs `(("openssl" ,openssl) ("perl" ,perl) diff --git a/gnu/packages/jupyter.scm b/gnu/packages/jupyter.scm index 2fb0b0375a..0de7ad998a 100644 --- a/gnu/packages/jupyter.scm +++ b/gnu/packages/jupyter.scm @@ -25,16 +25,20 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system python) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages cpp) #:use-module (gnu packages linux) + #:use-module (gnu packages monitoring) #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-build) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages python-web) + #:use-module (gnu packages rdf) #:use-module (gnu packages time) #:use-module (gnu packages xml) #:use-module (gnu packages tls) @@ -247,6 +251,73 @@ Jupyter Python packages that require a pre-build step that may include JavaScript build steps.") (license license:bsd-3))) +(define-public python-jupyter-server + (package + (name "python-jupyter-server") + (version "1.10.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jupyter_server" version)) + (sha256 + (base32 + "1gvjbsw5nl94hz02rnkr4g4kkvh9fz7i45vz17hzwyvdpj7bd8yk")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (let ((home (string-append (getcwd) "/guix-home"))) + (setenv "HOME" home)) + ;; Add jupyter-server executable to PATH. + (setenv "PATH" + (string-append (assoc-ref outputs "out") "/bin:" + (getenv "PATH"))) + (with-directory-excursion "jupyter_server" + ;; The pytest fixtures are only loaded when the file is + ;; called conftest.py. + (rename-file "pytest_plugin.py" "conftest.py") + (invoke "pytest" "-vv" + ;; Fails with internal server error + "-k" "not test_list_formats" + ;; Integration tests require a server. + "-m" "not integration_test")))))))) + (propagated-inputs + `(("python-anyio" ,python-anyio) + ("python-argon2-cffi" ,python-argon2-cffi) + ("python-ipython-genutils" ,python-ipython-genutils) + ("python-jinja2" ,python-jinja2) + ("python-jupyter-client" ,python-jupyter-client) + ("python-jupyter-core" ,python-jupyter-core) + ("python-nbconvert" ,python-nbconvert) + ("python-nbformat" ,python-nbformat) + ("python-prometheus-client" ,python-prometheus-client) + ("python-pyzmq" ,python-pyzmq) + ("python-requests-unixsocket" ,python-requests-unixsocket) + ("python-send2trash" ,python-send2trash) + ("python-terminado" ,python-terminado) + ("python-tornado" ,python-tornado-6) + ("python-traitlets" ,python-traitlets) + ("python-websocket-client" ,python-websocket-client))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-ipykernel" ,python-ipykernel) + ("python-pytest" ,python-pytest) + ("python-pytest-console-scripts" ,python-pytest-console-scripts) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-mock" ,python-pytest-mock) + ("python-pytest-tornasync" ,python-pytest-tornasync) + ("python-requests" ,python-requests))) + (home-page "https://jupyter.org") + (synopsis "Core services, APIs, and REST endpoints for Jupyter web applications") + (description + "This package provides the backend—i.e. core services, APIs, and REST +endpoints—to Jupyter web applications.") + (license license:expat))) + (define-public python-jupyterlab-widgets (package (name "python-jupyterlab-widgets") @@ -382,3 +453,124 @@ used to explore a repository locally by building and executing the constructed image of the repository, or as a means of building images that are pushed to a Docker registry.") (license license:bsd-3))) + +(define-public python-bash-kernel + (package + (name "python-bash-kernel") + (version "0.7.2") + (source (origin + (method url-fetch) + (uri (pypi-uri "bash_kernel" version)) + (sha256 + (base32 + "0w0nbr3iqqsgpk83rgd0f5b02462bkyj2n0h6i9dwyc1vpnq9350")))) + (build-system python-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'bash-references + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "bash_kernel/kernel.py" + (("\"bash\"") + (string-append "\"" (assoc-ref inputs "bash") "/bin/bash\"")) + (("\\['bash', ") + (string-append "['" (assoc-ref inputs "bash") "/bin/bash', "))) + #t)) + (add-after 'install 'install-kernelspec + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "HOME" "/tmp") + (invoke "python" "-m" "bash_kernel.install" "--prefix" out) + #t)))))) + (inputs + `(("bash" ,bash))) + (propagated-inputs + `(("python-pexpect" ,python-pexpect) + ("python-ipykernel" ,python-ipykernel) + ("python-jupyter-client" ,python-jupyter-client))) + (home-page "https://github.com/takluyver/bash_kernel") + (synopsis "Jupyter kernel for Bash") + (description "A bash shell kernel for Jupyter.") + (license license:expat))) + +(define-public python-sparqlkernel + (package + (name "python-sparqlkernel") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "sparqlkernel" version)) + (sha256 + (base32 + "004v22nyi5cnpxq4fiws89p7i5wcnzv45n3n70axdd6prh6rkapx")))) + (build-system python-build-system) + (arguments + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'no-custom-css + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "sparqlkernel/install.py" + (("install_custom_css\\( destd, PKGNAME \\)") "")) + #t)) + (add-after 'install 'install-kernelspec + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "HOME" "/tmp") + (add-installed-pythonpath inputs outputs) + (invoke + (string-append out "/bin/jupyter-sparqlkernel") + "install" + (string-append "--InstallKernelSpec.prefix=" out)) + #t)))))) + (native-inputs + `(("python-traitlets" ,python-traitlets) + ("python-jupyter-client" ,python-jupyter-client) + ("python-notebook" ,python-notebook) + ("python-ipykernel" ,python-ipykernel) + ("python-html5lib" ,python-html5lib-0.9))) + (propagated-inputs + `(("python-sparqlwrapper" ,python-sparqlwrapper) + ("python-pygments" ,python-pygments))) + (home-page "https://github.com/paulovn/sparql-kernel") + (synopsis "Jupyter kernel for SPARQL") + (description "This module installs a Jupyter kernel for SPARQL. It allows +sending queries to an SPARQL endpoint and fetching & presenting the results in +a notebook.") + (license license:bsd-3))) + +(define-public python-voila + (package + (name "python-voila") + (version "0.2.10") + (source + (origin + (method url-fetch) + (uri (pypi-uri "voila" version)) + (sha256 + (base32 + "0krfc95yjlhjdmrsladhy6lpf4xs1zw49nmkyl4pkykndglvwa1m")))) + (build-system python-build-system) + (propagated-inputs + `(("python-jupyter-client" ,python-jupyter-client) + ("python-jupyter-server" ,python-jupyter-server) + ("python-nbclient" ,python-nbclient) + ("python-nbconvert" ,python-nbconvert))) + (native-inputs + `(("python-ipywidgets" ,python-ipywidgets) + ("python-jupyter-packaging" ,python-jupyter-packaging) + ("python-matplotlib" ,python-matplotlib) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-pytest-tornasync" ,python-pytest-tornasync) + ("python-setuptools" ,python-setuptools) + ("python-tornado" ,python-tornado-6))) + (home-page "https://github.com/voila-dashboards/voila") + (synopsis "Render live Jupyter notebooks with interactive widgets") + (description + "Voilà turns Jupyter notebooks into standalone web applications. Unlike +the usual HTML-converted notebooks, each user connecting to the Voilà tornado +application gets a dedicated Jupyter kernel which can execute the callbacks to +changes in Jupyter interactive widgets.") + (license license:bsd-3))) diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm index b168c38b15..83bf7bd95a 100644 --- a/gnu/packages/kde-frameworks.scm +++ b/gnu/packages/kde-frameworks.scm @@ -98,9 +98,15 @@ "10c5xs5shk0dcshpdxg564ay5y8hgmvfvmlhmhjf0dy79kcah3c3")))) (build-system cmake-build-system) (native-inputs - `(("qtbase" ,qtbase-5))) ; For tests (needs qmake) + ;; Add test dependency, except on armhf where building it is too + ;; expensive. + (if (and (not (%current-target-system)) + (string=? (%current-system) "armhf-linux")) + '() + `(("qtbase" ,qtbase-5)))) ;for tests (needs qmake) (arguments - `(#:phases + `(#:tests? ,(not (null? (package-native-inputs this-package))) + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-lib-path (lambda _ diff --git a/gnu/packages/kde-pim.scm b/gnu/packages/kde-pim.scm index 0c7fa77b1e..d0e67fa37a 100644 --- a/gnu/packages/kde-pim.scm +++ b/gnu/packages/kde-pim.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2019, 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -339,8 +340,9 @@ wrapping notes into KMime::Message objects.") "")) #t)) (replace 'check - (lambda _ - (invoke "dbus-launch" "ctest")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "dbus-launch" "ctest"))))))) (home-page "https://api.kde.org/kdepim/akonadi/html/index.html") (synopsis "Akonadi search library") (description "This package provides a library used to search in the @@ -1014,8 +1016,9 @@ protocol for querying and modifying directory services running over TCP/IP. ") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "dbus-launch" "ctest" ".") + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "dbus-launch" "ctest" ".")) #t))))) (home-page "https://kde.org/applications/utilities/org.kde.kleopatra") (synopsis "Certificate Manager and Unified Crypto GUI") @@ -1104,8 +1107,9 @@ and retrieving certificates from LDAP servers.") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "dbus-launch" "ctest" ".") + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "dbus-launch" "ctest" ".")) #t))))) (home-page "https://kontact.kde.org/components/kmail.html") (synopsis "Full featured graphical email client") @@ -1596,8 +1600,9 @@ application \"Parts\" to be embedded as a Kontact component (or plugin).") "")) #t)) (replace 'check - (lambda _ - (invoke "dbus-launch" "ctest" ".") + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "dbus-launch" "ctest" ".")) #t))))) (home-page "https://kontact.kde.org/components/korganizer.html") (synopsis "Organizational assistant, providing calendars and other similar diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 3fa15f9bf5..bcf7146782 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -715,15 +715,13 @@ different notification systems.") (arguments `(#:configure-flags '("-DBUILD_TESTING=ON" "-DKDE_INSTALL_LIBEXECDIR=libexec") - #:phases (modify-phases %standard-phases - (add-after 'set-paths 'extend-CPLUS_INCLUDE_PATH - (lambda* (#:key inputs #:allow-other-keys) - ;; FIXME: <kcmutils_version.h> is not found during one - ;; of the compilation steps without this hack. - (setenv "CPLUS_INCLUDE_PATH" - (string-append - (search-input-directory inputs "include/KF5") - ":" (or (getenv "CPLUS_INCLUDE_PATH") "")))))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'adjust-include-header + (lambda _ + (substitute* "plugins/runcommand/runcommandplugin.cpp" + (("<kcmutils_version.h>") + "<KF5/kcmutils_version.h>"))))) #:tests? #f)) ; tests fail hard in our build environment (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/kerberos.scm b/gnu/packages/kerberos.scm index 5065f3be17..82609ce66e 100644 --- a/gnu/packages/kerberos.scm +++ b/gnu/packages/kerberos.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ (define-module (gnu packages kerberos) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages dbm) #:use-module (gnu packages perl) @@ -48,12 +50,14 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system gnu)) (define-public mit-krb5 (package (name "mit-krb5") + (replacement mit-krb5-1.19.2) (version "1.19.1") (source (origin (method url-fetch) @@ -117,6 +121,23 @@ cryptography.") (home-page "https://web.mit.edu/kerberos/") (properties '((cpe-name . "kerberos"))))) +(define mit-krb5-1.19.2 + (package + (inherit mit-krb5) + (version "1.19.2") + (source (origin + (inherit (package-source mit-krb5)) + (uri (list + (string-append "https://web.mit.edu/kerberos/dist/krb5/" + (version-major+minor version) + "/krb5-" version ".tar.gz") + (string-append "https://kerberos.org/dist/krb5/" + (version-major+minor version) + "/krb5-" version ".tar.gz"))) + (sha256 + (base32 + "0snz1jm2w4dkk65zcz953jmmv9mqa30fanch2bk8r3rs9vp3yi8h")))))) + (define-public shishi (package (name "shishi") @@ -187,30 +208,70 @@ After installation, the system administrator should generate keys using #t)))) (build-system gnu-build-system) (arguments - '(#:configure-flags (list - ;; Avoid 7 MiB of .a files. - "--disable-static" + `(#:configure-flags + ,#~(list + ;; Avoid 7 MiB of .a files. + "--disable-static" - ;; Do not build libedit. - (string-append - "--with-readline-lib=" - (assoc-ref %build-inputs "readline") "/lib") - (string-append - "--with-readline-include=" - (assoc-ref %build-inputs "readline") "/include") + ;; Do not build libedit. + (string-append + "--with-readline-lib=" + (assoc-ref %build-inputs "readline") "/lib") + (string-append + "--with-readline-include=" + (assoc-ref %build-inputs "readline") "/include") - ;; Do not build sqlite. - (string-append - "--with-sqlite3=" - (assoc-ref %build-inputs "sqlite"))) + ;; Do not build sqlite. + (string-append + "--with-sqlite3=" + (assoc-ref %build-inputs "sqlite")) + #$@(if (%current-target-system) + ;; The configure script is too pessimistic. + ;; Setting this also resolves a linking error. + #~("ac_cv_func_getpwnam_r_posix=yes" + ;; Allow 'slc' and 'asn1_compile' to be found. + (string-append "--with-cross-tools=" + #+(file-append this-package + "/libexec/heimdal"))) + #~())) #:phases (modify-phases %standard-phases (add-before 'configure 'pre-configure - (lambda _ - (substitute* '("appl/afsutil/pagsh.c" - "tools/Makefile.in") - (("/bin/sh") (which "sh"))) - #t)) + ;; TODO(core-updates): Unconditionally use the + ;; %current-target-system branch. + (,(if (%current-target-system) + 'lambda* + 'lambda) + ,(if (%current-target-system) + '(#:key inputs #:allow-other-keys) + '_) + ,@(if (%current-target-system) + `((substitute* "configure" + ;; The e2fsprogs input is included for libcom_err, + ;; let's use it even if cross-compiling. + (("test \"\\$\\{krb_cv_com_err\\}\" = \"yes\"") + ":") + ;; Our 'compile_et' is not in --with-cross-tools, + ;; which confuses heimdal. + (("ac_cv_prog_COMPILE_ET=\\$\\{with_cross_tools\\}compile_et") + "ac_cv_PROG_COMPILE_ET=compile_et"))) + '()) + ,@(if (%current-target-system) + '((substitute* '("appl/afsutil/pagsh.c" "appl/su/su.c") + (("/bin/sh") + (search-input-file inputs "bin/sh")) + ;; Use the cross-compiled bash instead of the + ;; native bash (XXX shouldn't _PATH_BSHELL point + ;; to a cross-compiled bash?). + (("_PATH_BSHELL") + (string-append + "\"" (search-input-file inputs "bin/sh") "\""))) + (substitute* '("tools/Makefile.in") + (("/bin/sh") (which "sh")))) + '((substitute* '("appl/afsutil/pagsh.c" + "tools/Makefile.in") + (("/bin/sh") (which "sh"))) + #t)))) (add-before 'check 'pre-check (lambda _ ;; For 'getxxyyy-test'. @@ -226,8 +287,15 @@ After installation, the system administrator should generate keys using #:parallel-tests? #f)) (native-inputs `(("e2fsprogs" ,e2fsprogs) ;for 'compile_et' ("texinfo" ,texinfo) - ("unzip" ,unzip))) ;for tests + ("unzip" ,unzip) ;for tests + ,@(if (%current-target-system) + `(("perl" ,perl)) + '()))) (inputs `(("readline" ,readline) + ;; TODO(core-updates): Make this input unconditional. + ,@(if (%current-target-system) + `(("bash-minimal" ,bash-minimal)) + '()) ("bdb" ,bdb) ("e2fsprogs" ,e2fsprogs) ;for libcom_err ("sqlite" ,sqlite))) diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm index 561c399eeb..83838b5689 100644 --- a/gnu/packages/language.scm +++ b/gnu/packages/language.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages perl-check) #:use-module (gnu packages qt) #:use-module (gnu packages sqlite) + #:use-module (gnu packages serialization) #:use-module (gnu packages swig) #:use-module (gnu packages texinfo) #:use-module (gnu packages web) diff --git a/gnu/packages/less.scm b/gnu/packages/less.scm index c9b18ea36b..334d5864d9 100644 --- a/gnu/packages/less.scm +++ b/gnu/packages/less.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> -;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,7 +59,7 @@ text editors.") (define-public lesspipe (package (name "lesspipe") - (version "1.85") + (version "1.86") (source (origin (method git-fetch) (uri (git-reference @@ -68,7 +68,7 @@ text editors.") (file-name (git-file-name name version)) (sha256 (base32 - "1v1jdkdq1phc93gdr6mjlk98gipxrkkq4bj8kks0kfdvjgdwkdaa")))) + "14qsfwvsqn6r0najpfh5p68by4jwlg2hj4250cfi1hx3j9i5nhgn")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no tests diff --git a/gnu/packages/libdaemon.scm b/gnu/packages/libdaemon.scm index e47d66cfa7..9dc851e823 100644 --- a/gnu/packages/libdaemon.scm +++ b/gnu/packages/libdaemon.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,8 +18,10 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages libdaemon) + #:use-module (gnu packages autotools) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -45,21 +48,34 @@ "0d5qlq5ab95wh1xc87rqrh1vx6i8lddka1w3f1zcqvcqdxgyn8zx")) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) - (arguments - (if (%current-target-system) - ;; The 'setpgrp' test cannot provide an answer when cross-compiling, - ;; so provide the right one for glibc. - `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes" - - ;; TODO: Move this globally on the next - ;; rebuild cycle. - ;; Set a valid localstatedir for the - ;; benefit of the default - ;; 'daemon_pid_file_proc', used by the - ;; Hurd's console client. - "--localstatedir=/var")) + (native-inputs + (if (and=> (%current-target-system) target-aarch64?) + `(("config" ,config)) ; for config.sub '())) + (arguments + `(,@(if (%current-target-system) + ;; The 'setpgrp' test cannot provide an answer when cross-compiling, + ;; so provide the right one for glibc. + `(#:configure-flags (list "ac_cv_func_setpgrp_void=yes" + ;; TODO: Move this globally on the next + ;; rebuild cycle. + ;; Set a valid localstatedir for the + ;; benefit of the default + ;; 'daemon_pid_file_proc', used by the + ;; Hurd's console client. + "--localstatedir=/var")) + '()) + ,@(if (and=> (%current-target-system) target-aarch64?) + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'update-config.sub + (lambda _ + ;; Replace outdated config.sub such that aarch64 + ;; will be recognised as an architecture. + (delete-file "config.sub") + (symlink (which "config.sub") "config.sub"))))) + '()))) ;; XXX: Stale URL, missing replacement. See <http://bugs.gnu.org/18639>. (home-page "http://0pointer.de/lennart/projects/libdaemon/") diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index c1e7a58c59..4ce833aa2c 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -272,8 +272,16 @@ into other word processors.") (uri (string-append "mirror://sourceforge/libebook/libe-book-" version "/libe-book-" version ".tar.xz")) (sha256 - (base32 - "1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by")))) + (base32 + "1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This can be removed with the next release. + ;; Needed for icu4c compatibility >= 68.0. + (substitute* "src/lib/EBOOKCharsetConverter.cpp" + (("TRUE, TRUE, &status") + "true, true, &status")))))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) @@ -545,7 +553,8 @@ library primarily intended for language guessing.") "1b1lvqh68rwij1yvmxy02hsmh7i74ma5767mk8mg5nx6chajshhf")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + '(#:configure-flags '("--disable-werror") + #:phases (modify-phases %standard-phases (add-before 'build 'adjust-for-ICU-65 (lambda _ ;; Fix build with ICU 65 and later. Taken from this @@ -583,7 +592,15 @@ Aldus/Macromedia/Adobe FreeHand documents.") (uri (string-append "https://dev-www.libreoffice.org/src/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg")))) + "1fhkn013gzg59f4z7rldpbi0nj7lgdqzxanspsqa6axvmahw2dpg")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This can be removed with the next release. + ;; https://gerrit.libreoffice.org/c/libmspub/+/73814 + (substitute* "src/lib/MSPUBMetaData.h" + (("include <vector>" all) + (string-append all "\n#include <cstdint>"))))))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index cb0d45ce86..db4d07c84a 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Christopher Howard <christopher@librehacker.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -225,14 +226,14 @@ implementing @code{javax.usb} (JSR-80).") (define-public python-libusb1 (package (name "python-libusb1") - (version "1.6.4") + (version "1.9.3") (source (origin (method url-fetch) (uri (pypi-uri "libusb1" version)) (sha256 (base32 - "03b7xrz8vqg8w0za5r503jhcmbd1ls5610jcja1rqz833nf0v4wc")))) + "0j8p7jb7sibiiib18vyv3w5rrk0f4d2dl99bs18nwkq6pqvwxrk0")))) (build-system python-build-system) (arguments `(#:modules ((srfi srfi-1) @@ -257,7 +258,7 @@ implementing @code{javax.usb} (JSR-80).") "^libusb.*\\.so\\..*")) "\""))) #t))))) - (inputs `(("libusb" ,libusb))) + (propagated-inputs `(("libusb" ,libusb))) (home-page "https://github.com/vpelletier/python-libusb1") (synopsis "Pure-python wrapper for libusb-1.0") (description "Libusb is a library that gives applications easy access to @@ -543,6 +544,7 @@ proposed for standardization.") '(#:configure-flags (let ((libid3tag (assoc-ref %build-inputs "libid3tag"))) (list + "CFLAGS=-fcommon" ;; libid3tag provides no .pc file, so pkg-config fails to find them. (string-append "ID3TAG_CFLAGS=-I" libid3tag "/include") (string-append "ID3TAG_LIBS=-L" libid3tag "/lib -lid3tag -lz"))))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9e3ad367e2..b771f65d92 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org> @@ -19,7 +19,7 @@ ;;; Copyright © 2016, 2018 Rene Saavedra <pacoon@protonmail.com> ;;; Copyright © 2016 Carlos Sánchez de La Lama <csanchezdll@gmail.com> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> -;;; Copyright © 2017, 2018, 2020 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2018, 2020, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.com> ;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2017, 2019, 2021 Mathieu Othacehe <othacehe@gnu.org> @@ -38,7 +38,7 @@ ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> -;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> @@ -52,6 +52,11 @@ ;;; Copyright © 2020 David Dashyan <mail@davie.li> ;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net> ;;; Copyright © 2021 B. Wilson <elaexuotee@wilsonb.com> +;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,6 +103,7 @@ #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages glib) + #:use-module (gnu packages gnupg) #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages gstreamer) @@ -194,24 +200,24 @@ defconfig. Return the appropriate make target if applicable, otherwise return ;;; Kernel source code deblobbing. ;;; -(define (linux-libre-deblob-scripts version +(define (linux-libre-deblob-scripts version gnu-revision deblob-hash deblob-check-hash) (list (version-major+minor version) (origin (method url-fetch) (uri (string-append "https://linux-libre.fsfla.org" - "/pub/linux-libre/releases/" version "-gnu/" + "/pub/linux-libre/releases/" version "-" gnu-revision "/" "deblob-" (version-major+minor version))) (file-name (string-append "linux-libre-deblob-" - version)) + version "-" gnu-revision)) (sha256 deblob-hash)) (origin (method url-fetch) (uri (string-append "https://linux-libre.fsfla.org" - "/pub/linux-libre/releases/" version "-gnu/" + "/pub/linux-libre/releases/" version "-" gnu-revision "/" "deblob-check")) - (file-name (string-append "linux-libre-deblob-check-" version)) + (file-name (string-append "linux-libre-deblob-check-" version "-" gnu-revision)) (sha256 deblob-check-hash)))) (define* (computed-origin-method gexp-promise hash-algo hash @@ -329,21 +335,21 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;;; Kernel sources. ;;; -(define (linux-libre-urls version) +(define (linux-libre-urls version gnu-revision) "Return a list of URLs for Linux-Libre VERSION." (list (string-append "https://linux-libre.fsfla.org/pub/linux-libre/releases/" - version "-gnu/linux-libre-" version "-gnu.tar.xz") + version "-" gnu-revision "/linux-libre-" version "-" gnu-revision ".tar.xz") ;; XXX: Work around <http://bugs.gnu.org/14851>. (string-append "ftp://alpha.gnu.org/gnu/guix/mirror/linux-libre-" - version "-gnu.tar.xz") + version "-" gnu-revision ".tar.xz") ;; Maybe this URL will become valid eventually. (string-append - "mirror://gnu/linux-libre/" version "-gnu/linux-libre-" - version "-gnu.tar.xz"))) + "mirror://gnu/linux-libre/" version "-" gnu-revision "/linux-libre-" + version "-" gnu-revision ".tar.xz"))) (define (%upstream-linux-source version hash) (origin @@ -355,109 +361,125 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-5.13-version "5.13.2") +(define-public linux-libre-5.14-version "5.14.4") +(define-public linux-libre-5.14-gnu-revision "gnu") +(define deblob-scripts-5.14 + (linux-libre-deblob-scripts + linux-libre-5.14-version + linux-libre-5.14-gnu-revision + (base32 "00vv2a51cvw2nx8iazmiy9i4h3jj9gvvpwz9gxp2v1hcmrsxq935") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) +(define-public linux-libre-5.14-pristine-source + (let ((version linux-libre-5.14-version) + (hash (base32 "1dijf7qsjlqx893c2sxg5jrjdm8v1nv4hicvqlmp1v92s3h7kqj2"))) + (make-linux-libre-source version + (%upstream-linux-source version hash) + deblob-scripts-5.14))) + +(define-public linux-libre-5.13-version "5.13.17") +(define-public linux-libre-5.13-gnu-revision "gnu1") (define deblob-scripts-5.13 (linux-libre-deblob-scripts linux-libre-5.13-version - (base32 "1mhc215a1y8bxip2f0sqmyl0rf7cgw22cmg26hg9x0pfm9li2c95") - (base32 "1hkbkyy3myraczaj982z72m0p1yxjwigqhsz2kx9g74qkap0xy9d"))) + linux-libre-5.13-gnu-revision + (base32 "0hj3w3vh1rj24xgl4v72mr6vaz1qzsnc5xzdfjga1zy84bw8lhkp") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-5.13-pristine-source (let ((version linux-libre-5.13-version) - (hash (base32 "0dx9khk7fh003xyb3xix0kc0rmjncg7ric5p830zhadnrw4hv563"))) + (hash (base32 "06qa3c8wx87l4mh9h8gjcra5k5l6bcirs59s7baxdfjkxlihvrsa"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.13))) -(define-public linux-libre-5.12-version "5.12.17") -(define deblob-scripts-5.12 - (linux-libre-deblob-scripts - linux-libre-5.12-version - (base32 "1vdsr9y4gckknrbqcjyfakwva3k0vb5zcivzk3k1s9mh7qp9dils") - (base32 "1kb98sbn6lgf5cpd2f8mav93hxh0aywybfjzxx35294ipll1264y"))) -(define-public linux-libre-5.12-pristine-source - (let ((version linux-libre-5.12-version) - (hash (base32 "1ghyqxfxslxzr7273vj2yn14pkdnkja3wk50xxhavpvf87i8c40j"))) - (make-linux-libre-source version - (%upstream-linux-source version hash) - deblob-scripts-5.12))) - ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.10-version "5.10.50") +(define-public linux-libre-5.10-version "5.10.65") +(define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts linux-libre-5.10-version - (base32 "1rmnx1px4sizs2lq831yd2g9dyflg0vmykz3cv9443x2a2vwy81f") - (base32 "1fdvjhc048nk8v27bgir0fdjqm8hn4yfdgd3mdjird4ary80ywb2"))) + linux-libre-5.10-gnu-revision + (base32 "19d1pdsilq1ycnx1zw3vhf9mwdxbi5nmgzm0g1kj1lkkf1y4i1mv") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "0dmlpy9k7am99495bxcm46i4y6g34d1fzdkzz3wgzb4mgmx35nlb"))) + (hash (base32 "0riyq1gdm18642fpnhpcw8hspcjqzprzhqnygjxabjjvrvdxxlzd"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.132") +(define-public linux-libre-5.4-version "5.4.146") +(define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version - (base32 "12g1wm7xvjvmjanbgg0ahxm4vs2n5bvicfnnnag4h35vl4q3lggg") - (base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8"))) + linux-libre-5.4-gnu-revision + (base32 "1cdxljvmivdwcy9v9fr5iv0x0d1884pf3876p9nzrly599lz2wnl") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1vq0dmrn7gl2vprm08l8by5ja3xjgggrcd38vqg7b7jpnfzssrl4"))) + (hash (base32 "1bjkfk24j86akm6df3c5b28viyq363drhssml7rcrl69286f92dk"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.197") +(define-public linux-libre-4.19-version "4.19.206") +(define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version - (base32 "1jfcz4lnm44b3xzrkiipvw35kl0vvdvhr2pg7jfwf02f6qbvay18") - (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) + linux-libre-4.19-gnu-revision + (base32 "1hiaagdyfy6b0f9ivdy7zq0cd6akaj6v3c4nzikrgsk12vgc1a1q") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "10kj442qaky6rpl65k5rrvd3p6mdgz4p321zvf4s312ixfdja0g6"))) + (hash (base32 "1h44lvzxd0cngj71bk8qba9dz7jlqj68ir6xjwfafglb81ppgsxp"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.239") +(define-public linux-libre-4.14-version "4.14.246") +(define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version - (base32 "07afckszdm4pq008i6ij0pxpw2rpgi5q931nxh6dxcczpicvwbc9") - (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) + linux-libre-4.14-gnu-revision + (base32 "0cnax38650m9sxiwvc1xm5saymlsmx427j3jqpx34df2ah2rnrwf") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "167zwm3giizv42m0xjz71xnb2swlwiaw0xw0dg8j8mb74hz1drx0"))) + (hash (base32 "0fpgig84shpas1jc0h4s3aw9brkcq1as84gjbk4bfhc48bpi4mlw"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.275") +(define-public linux-libre-4.9-version "4.9.282") +(define-public linux-libre-4.9-gnu-revision "gnu1") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version - (base32 "1w8cb8w1cpcwswc3rxq6vwjafw6yy0igib34rrm93ag5h6inncfv") - (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) + linux-libre-4.9-gnu-revision + (base32 "1n74ddrifnw06hx7ih2sk8jaiqlm1jyyhswyjpxiyhrrcvjcilch") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "08mz7mzmhk5n1gwadrc5fw8s40jk0rayvdpjcricl4sv56574lb6"))) + (hash (base32 "059fin4si93ya13xy831w84q496ksxidpd3kyw38918sfy4p6wk7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.275") +(define-public linux-libre-4.4-version "4.4.283") +(define-public linux-libre-4.4-gnu-revision "gnu1") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version - (base32 "1lid4k7g947yi3hcjj0lz0fnssawbph3jsy67vrv57l5imrhv3zs") - (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) + linux-libre-4.4-gnu-revision + (base32 "11397dgj6cdfv6anxrj7jwgvnqvwh5i0ci6c8mb85ry6h4fnfmq4") + (base32 "1a0k9i8gnzkyvfr80f8xw2fnxfwddhz1pzicz9fh0y3jzzkzk45p"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "1aiwq6019sibsw5smj6ii28cr64dv24c19k4n8c09nakhmhcg94i"))) + (hash (base32 "1d9v4h4cbc4i371lhhwpxbmg88gna6xyi2ahfvv0clz60802y982"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -490,16 +512,16 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (patches (append (origin-patches source) patches)))) -(define-public linux-libre-5.13-source - (source-with-patches linux-libre-5.13-pristine-source +(define-public linux-libre-5.14-source + (source-with-patches linux-libre-5.14-pristine-source (list %boot-logo-patch %linux-libre-arm-export-__sync_icache_dcache-patch ;; Pinebook Pro patch to fix LCD display (search-patch "linux-libre-arm64-generic-pinebook-lcd.patch")))) -(define-public linux-libre-5.12-source - (source-with-patches linux-libre-5.12-pristine-source +(define-public linux-libre-5.13-source + (source-with-patches linux-libre-5.13-pristine-source (list %boot-logo-patch %linux-libre-arm-export-__sync_icache_dcache-patch ;; Pinebook Pro patch to fix LCD display @@ -545,14 +567,14 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;;; Kernel headers. ;;; -(define (make-linux-libre-headers version hash-string) - (make-linux-libre-headers* version +(define (make-linux-libre-headers version gnu-revision hash-string) + (make-linux-libre-headers* version gnu-revision (origin (method url-fetch) - (uri (linux-libre-urls version)) + (uri (linux-libre-urls version gnu-revision)) (sha256 (base32 hash-string))))) -(define (make-linux-libre-headers* version source) +(define (make-linux-libre-headers* version gnu-revision source) (package (name "linux-libre-headers") (version version) @@ -616,42 +638,50 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (description "Headers of the Linux-Libre kernel.") (license license:gpl2))) +(define-public linux-libre-headers-5.14 + (make-linux-libre-headers* linux-libre-5.14-version + linux-libre-5.14-gnu-revision + linux-libre-5.14-source)) + (define-public linux-libre-headers-5.13 (make-linux-libre-headers* linux-libre-5.13-version + linux-libre-5.13-gnu-revision linux-libre-5.13-source)) -(define-public linux-libre-headers-5.12 - (make-linux-libre-headers* linux-libre-5.12-version - linux-libre-5.12-source)) - (define-public linux-libre-headers-5.10 (make-linux-libre-headers* linux-libre-5.10-version + linux-libre-5.10-gnu-revision linux-libre-5.10-source)) (define-public linux-libre-headers-5.4 (make-linux-libre-headers* linux-libre-5.4-version + linux-libre-5.4-gnu-revision linux-libre-5.4-source)) (define-public linux-libre-headers-4.19 (make-linux-libre-headers* linux-libre-4.19-version + linux-libre-4.19-gnu-revision linux-libre-4.19-source)) (define-public linux-libre-headers-4.14 (make-linux-libre-headers* linux-libre-4.14-version + linux-libre-4.14-gnu-revision linux-libre-4.14-source)) (define-public linux-libre-headers-4.9 (make-linux-libre-headers* linux-libre-4.9-version + linux-libre-4.9-gnu-revision linux-libre-4.9-source)) (define-public linux-libre-headers-4.4 (make-linux-libre-headers* linux-libre-4.4-version + linux-libre-4.4-gnu-revision linux-libre-4.4-source)) ;; The following package is used in the early bootstrap, and thus must be kept ;; stable and with minimal build requirements. (define-public linux-libre-headers-5.10.35 - (make-linux-libre-headers "5.10.35" + (make-linux-libre-headers "5.10.35" "gnu" "0q2rnchad55d49f3rajrkazz0fcjv1irwrdb1hwjnl01fzm2gjk3")) (define-public linux-libre-headers linux-libre-headers-5.10.35) @@ -753,7 +783,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." ;;; Kernel package utilities. ;;; -(define* (make-linux-libre version hash-string supported-systems +(define* (make-linux-libre version gnu-revision hash-string supported-systems #:key (extra-version #f) ;; A function that takes an arch and a variant. @@ -762,10 +792,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (defconfig "defconfig") (extra-options %default-extra-linux-options) (patches (list %boot-logo-patch))) - (make-linux-libre* version + (make-linux-libre* version gnu-revision (origin (method url-fetch) - (uri (linux-libre-urls version)) + (uri (linux-libre-urls version gnu-revision)) (sha256 (base32 hash-string)) (patches patches)) supported-systems @@ -774,7 +804,7 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." #:defconfig defconfig #:extra-options extra-options)) -(define* (make-linux-libre* version source supported-systems +(define* (make-linux-libre* version gnu-revision source supported-systems #:key (extra-version #f) ;; A function that takes an arch and a variant. @@ -919,55 +949,64 @@ It has been modified to remove all non-free binary blobs.") ;;; Generic kernel packages. ;;; -(define-public linux-libre-5.13 - (make-linux-libre* linux-libre-5.13-version - linux-libre-5.13-source +(define-public linux-libre-5.14 + (make-linux-libre* linux-libre-5.14-version + linux-libre-5.14-gnu-revision + linux-libre-5.14-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:configuration-file kernel-config)) -(define-public linux-libre-5.12 - (make-linux-libre* linux-libre-5.12-version - linux-libre-5.12-source +(define-public linux-libre-5.13 + (make-linux-libre* linux-libre-5.13-version + linux-libre-5.13-gnu-revision + linux-libre-5.13-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:configuration-file kernel-config)) -(define-public linux-libre-version linux-libre-5.12-version) -(define-public linux-libre-pristine-source linux-libre-5.12-pristine-source) -(define-public linux-libre-source linux-libre-5.12-source) -(define-public linux-libre linux-libre-5.12) +(define-public linux-libre-version linux-libre-5.13-version) +(define-public linux-libre-gnu-revision linux-libre-5.13-gnu-revision) +(define-public linux-libre-pristine-source linux-libre-5.13-pristine-source) +(define-public linux-libre-source linux-libre-5.13-source) +(define-public linux-libre linux-libre-5.13) (define-public linux-libre-5.10 (make-linux-libre* linux-libre-5.10-version + linux-libre-5.10-gnu-revision linux-libre-5.10-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:configuration-file kernel-config)) (define-public linux-libre-5.4 (make-linux-libre* linux-libre-5.4-version + linux-libre-5.4-gnu-revision linux-libre-5.4-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:configuration-file kernel-config)) (define-public linux-libre-4.19 (make-linux-libre* linux-libre-4.19-version + linux-libre-4.19-gnu-revision linux-libre-4.19-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux") #:configuration-file kernel-config)) (define-public linux-libre-4.14 (make-linux-libre* linux-libre-4.14-version + linux-libre-4.14-gnu-revision linux-libre-4.14-source '("x86_64-linux" "i686-linux" "armhf-linux") #:configuration-file kernel-config)) (define-public linux-libre-4.9 (make-linux-libre* linux-libre-4.9-version + linux-libre-4.9-gnu-revision linux-libre-4.9-source '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) (define-public linux-libre-4.4 (make-linux-libre* linux-libre-4.4-version + linux-libre-4.4-gnu-revision linux-libre-4.4-source '("x86_64-linux" "i686-linux") #:configuration-file kernel-config @@ -983,6 +1022,7 @@ It has been modified to remove all non-free binary blobs.") ;; Reference: https://jxself.org/linux-libre/ (define-public linux-libre-lts-version linux-libre-5.10-version) +(define-public linux-libre-lts-gnu-revision linux-libre-5.10-gnu-revision) (define-public linux-libre-lts-pristine-source linux-libre-5.10-pristine-source) (define-public linux-libre-lts-source linux-libre-5.10-source) (define-public linux-libre-lts linux-libre-5.10) @@ -994,6 +1034,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-generic (make-linux-libre* linux-libre-version + linux-libre-gnu-revision linux-libre-source '("armhf-linux") #:defconfig "multi_v7_defconfig" @@ -1009,6 +1050,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-generic-5.10 (make-linux-libre* linux-libre-5.10-version + linux-libre-5.10-gnu-revision linux-libre-5.10-source '("armhf-linux") #:defconfig "multi_v7_defconfig" @@ -1021,6 +1063,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-generic-5.4 (make-linux-libre* linux-libre-5.4-version + linux-libre-5.4-gnu-revision linux-libre-5.4-source '("armhf-linux") #:defconfig "multi_v7_defconfig" @@ -1033,6 +1076,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-generic-4.19 (make-linux-libre* linux-libre-4.19-version + linux-libre-4.19-gnu-revision linux-libre-4.19-source '("armhf-linux") #:defconfig "multi_v7_defconfig" @@ -1040,6 +1084,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-generic-4.14 (make-linux-libre* linux-libre-4.14-version + linux-libre-4.14-gnu-revision linux-libre-4.14-source '("armhf-linux") #:defconfig "multi_v7_defconfig" @@ -1047,6 +1092,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-omap2plus (make-linux-libre* linux-libre-version + linux-libre-gnu-revision linux-libre-source '("armhf-linux") #:defconfig "omap2plus_defconfig" @@ -1054,6 +1100,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-omap2plus-4.19 (make-linux-libre* linux-libre-4.19-version + linux-libre-4.19-gnu-revision linux-libre-4.19-source '("armhf-linux") #:defconfig "omap2plus_defconfig" @@ -1061,6 +1108,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm-omap2plus-4.14 (make-linux-libre* linux-libre-4.14-version + linux-libre-4.14-gnu-revision linux-libre-4.14-source '("armhf-linux") #:defconfig "omap2plus_defconfig" @@ -1068,6 +1116,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm64-generic (make-linux-libre* linux-libre-version + linux-libre-gnu-revision linux-libre-source '("aarch64-linux") #:defconfig "defconfig" @@ -1093,6 +1142,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm64-generic-5.10 (make-linux-libre* linux-libre-5.10-version + linux-libre-5.10-gnu-revision linux-libre-5.10-source '("aarch64-linux") #:defconfig "defconfig" @@ -1118,6 +1168,7 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-arm64-generic-5.4 (make-linux-libre* linux-libre-5.4-version + linux-libre-5.4-gnu-revision linux-libre-5.4-source '("aarch64-linux") #:defconfig "defconfig" @@ -1130,12 +1181,14 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-riscv64-generic (make-linux-libre* linux-libre-version + linux-libre-gnu-revision linux-libre-source '("riscv64-linux") #:extra-version "riscv64-generic")) (define-public linux-libre-mips64el-fuloong2e (make-linux-libre* linux-libre-version + linux-libre-gnu-revision linux-libre-source '("mips64el-linux") #:defconfig "fuloong2e_defconfig" @@ -1148,8 +1201,9 @@ It has been modified to remove all non-free binary blobs.") (define-public linux-libre-with-bpf (let ((base-linux-libre (make-linux-libre* - linux-libre-5.12-version - linux-libre-5.12-source + linux-libre-5.13-version + linux-libre-5.13-gnu-revision + linux-libre-5.13-source '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux" "riscv64-linux") #:extra-version "bpf" @@ -1170,7 +1224,7 @@ It has been modified to remove all non-free binary blobs.") (define-public acpi-call-linux-module (package (name "acpi-call-linux-module") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -1179,7 +1233,7 @@ It has been modified to remove all non-free binary blobs.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0mr4rjbv6fj4phf038addrgv32940bphghw2v9n1z4awvw7wzkbg")))) + (base32 "1s7h9y3adyfhw7cjldlfmid79lrwz3vqlvziw9nwd6x5qdj4w9vp")))) (build-system linux-module-build-system) (arguments `(#:tests? #f ; no tests @@ -1191,8 +1245,7 @@ It has been modified to remove all non-free binary blobs.") (lambda _ (substitute* (find-files "examples" ".") (("^(#! *)/[^ ]*/" _ shebang) - (string-append shebang "/usr/bin/env "))) - #t)) + (string-append shebang "/usr/bin/env "))))) (add-after 'install 'install-documentation (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -1201,9 +1254,8 @@ It has been modified to remove all non-free binary blobs.") (let ((target (string-append doc "/" file))) (mkdir-p (dirname target)) (copy-recursively file target))) - (list "README.md" "examples")) - #t)))))) - (home-page "https://github.com/teleshoes/acpi_call") + (list "README.md" "examples")))))))) + (home-page "https://github.com/nix-community/acpi_call") (synopsis "Linux kernel module to perform ACPI method calls") (description "This simple Linux kernel module allows calls from user space to any @@ -1331,8 +1383,8 @@ and the notification, WiFi, and Bluetooth LED.") (license license:gpl2))) (define-public rtl8812au-aircrack-ng-linux-module - (let ((commit "059e06a51be025fde5b2bec6565540b3d9981b0b") - (revision "4")) + (let ((commit "b8167e66b4ac046b3b76c2c40008d84528e91594") + (revision "5")) (package (name "rtl8812au-aircrack-ng-linux-module") (version (git-version "5.6.4.2" revision commit)) @@ -1344,7 +1396,7 @@ and the notification, WiFi, and Bluetooth LED.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "0h6l2r3yj7j9zf11dw0zcdyn50ajnjw8yvv86dzlfj80dn75n98f")) + (base32 "1940f2yz5c4q2fhcd91zfzl32fhdsgr297vzamm7nd8kdk0gymi2")) (modules '((guix build utils))) (snippet '(begin @@ -1465,7 +1517,7 @@ graphics card on Optimus laptops.") (define-public ddcci-driver-linux (package (name "ddcci-driver-linux") - (version "0.3.3") + (version "0.3.4") (source (origin (method git-fetch) @@ -1476,7 +1528,7 @@ graphics card on Optimus laptops.") (file-name (git-file-name name version)) (sha256 (base32 - "0vkkja3ykjil783zjpwp0vz7jy2fp9ccazzi3afd4fjk8gldin7f")))) + "0b50hhkna6ika2vwahzb9za9b41g39ialgv5y1y0kakqi50qi0ld")))) (build-system linux-module-build-system) (arguments `(#:tests? #f ; no tests @@ -1537,6 +1589,43 @@ allows some more serious things like adding streaming capabilities to an application by hooking GStreamer into the loopback device.") (license license:gpl2+))) +(define-public xpadneo + (package + (name "xpadneo") + (version "0.9.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/atar-axis/xpadneo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xr0zx134s56h4ij6c3fh8ki0h58h61minbfxcl3sgpgxkh14ism")))) + (build-system linux-module-build-system) + (arguments + `(#:tests? #f ; no `check' target + #:source-directory "hid-xpadneo/src" + #:phases + (modify-phases %standard-phases + (add-after 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let ((out (assoc-ref outputs "out"))) + (copy-recursively "hid-xpadneo/etc-modprobe.d" + (string-append out "/etc/modprobe.d")) + ;; udev-service-type takes its rules from /lib rather than + ;; /etc, so copy it there instead + (copy-recursively "hid-xpadneo/etc-udev-rules.d" + (string-append out "/lib/udev/rules.d")))))))) + (home-page "https://atar-axis.github.io/xpadneo/") + (synopsis "Xbox One Wireless Controller driver") + (description + "This package provides a driver for the XBox One S Wireless controller +and some newer models when connected via bluetooth. In addition to the kernel +module provided itself, it also contains a modprobe configuration and udev +rules, which need to be installed separately.") + (license license:gpl3+))) + ;;; ;;; Pluggable authentication modules (PAM). @@ -1649,11 +1738,70 @@ at login. Local and dynamic reconfiguration are its key features.") (description "This package provides a PAM interface using @code{ctypes}.") (license license:expat))) +(define-public pam-gnupg + (package + (name "pam-gnupg") + (version "0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cruegge/pam-gnupg") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bf91gi6zmfzzmczxm7pajxdlgnikasvg5xsd3j0a368rcr7lf9l")))) + (build-system gnu-build-system) + (inputs + `(("gnupg" ,gnupg) + ("linux-pam" ,linux-pam))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (arguments + `(#:tests? #f ;no tests suite + #:configure-flags + (list (string-append "--with-moduledir=" + (assoc-ref %outputs "out") "/lib/security")))) + + (home-page "https://github.com/cruegge/pam-gnupg") + (synopsis "Unlock GnuPG keys on login") + (description "This package provides a PAM module that hands over your +login password to @code{gpg-agent}. This can be useful if you are using a +GnuPG-based password manager like @code{pass}.") + (license license:gpl3+))) + ;;; ;;; Miscellaneous. ;;; +(define-public powercap + (package + (name "powercap") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/powercap/powercap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1hp2i1d195v0n4jgvgaymkxlpgyhn07ic273gkda95lz65cdfcgm")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags + '("-DBUILD_SHARED_LIBS=ON"))) + (home-page "https://github.com/powercap/powercap") + (synopsis "Utilities for accessing the powercap Linux kernel feature") + (description "This package contains utilities for accessing the powercap +Linux kernel feature through sysfs. It includes an implementation for working +with Intel @acronym{RAPL, Running Average Power Limit}. +It provides the commands @code{powercap-info} and @code{powercap-set}.") + (license license:bsd-3))) + (define-public powerstat (package (name "powerstat") @@ -1723,7 +1871,7 @@ providing the system administrator with some help in common tasks.") (define-public util-linux (package (name "util-linux") - (version "2.37") + (version "2.37.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/" @@ -1731,7 +1879,7 @@ providing the system administrator with some help in common tasks.") "util-linux-" version ".tar.xz")) (sha256 (base32 - "1rfc2lnx6lhnvpixvglh7apqxnrg0fija18i8ac3bq1ri3lvf1xx")) + "0xkb7vw2040zi4m0sbhs5qn5l8nrq4xsf4sdxf3cy9mpachd8jwf")) (patches (search-patches "util-linux-tests.patch")) (modules '((guix build utils))) (snippet @@ -1787,13 +1935,13 @@ providing the system administrator with some help in common tasks.") (("\"/bin/umount\"") (string-append "\"" out "/bin/umount\"")))))) (add-before 'check 'pre-check - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (net (assoc-ref inputs "net-base"))) + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let ((services (search-input-file (or native-inputs inputs) + "etc/services"))) ;; Change the test to refer to the right file. (substitute* "tests/ts/misc/mcookie" (("/etc/services") - (string-append net "/etc/services"))) + services)) ;; The C.UTF-8 locale does not exist in our libc. (substitute* "tests/ts/column/invalid-multibyte" @@ -1809,6 +1957,16 @@ providing the system administrator with some help in common tasks.") (string-append all "\n" "ts_skip \"setarch tests are unreliable under QEMU\""))))) + ,@(if (target-x86-32?) + `((add-before 'check 'disable-lsns-test + (lambda _ + ;; The lsns tests can fail due to ioctl(_, NS_GET_USERNS) + ;; returning ENOTTY, indicating this kernel does not + ;; support user namespaces. Curiously, this test can fail + ;; on i686 even if the same test passes on x86_64 on the + ;; same machine. See <https://issues.guix.gnu.org/49933>. + (delete-file "tests/ts/lsns/ioctl_ns")))) + '()) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) (let ((lib (assoc-ref outputs "lib")) @@ -1836,16 +1994,13 @@ providing the system administrator with some help in common tasks.") (substitute* (find-files (string-append lib "/lib/pkgconfig") "\\.pc$") (("^(exec_)?prefix=.*") "")))))))) - (inputs `(("zlib" ,zlib) - ("ncurses" ,ncurses) - - ;; XXX: This is so that the 'pre-check' phase can find it. - ,@(if (%current-target-system) - `(("net-base" ,net-base)) - '()))) + (inputs + (list file ;for libmagic + ncurses + zlib)) (native-inputs - `(("perl" ,perl) - ("net-base" ,net-base))) ;for tests + (list net-base ;for tests + perl)) (home-page "https://www.kernel.org/pub/linux/utils/util-linux/") (synopsis "Collection of utilities for the Linux kernel") (description "Util-linux is a diverse collection of Linux kernel @@ -2045,6 +2200,38 @@ slabtop, tload, top, vmstat, w, watch and sysctl.") "Tools for working with USB devices, such as lsusb.") (license license:gpl2+))) +(define-public usbip-utils + (package + (name "usbip-utils") + (version (package-version linux-libre)) + (source (package-source linux-libre)) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static") + #:phases (modify-phases %standard-phases + (add-after 'unpack 'enter-subdirectory + (lambda _ + (chdir "tools/usb/usbip") + #t))))) + (native-inputs + `(("automake" ,automake) + ("autoreconf" ,autoconf) + ("libtool" ,libtool))) + (inputs `(("eudev" ,eudev))) + (home-page (package-home-page linux-libre)) + (synopsis "Utilities for sharing USB devices over IP networks") + (description + "The USB/IP protocol enables to pass USB device from a server to +a client over the network. The server is a machine which shares an +USB device and the client is a machine which uses USB device provided by +a server over the network. The USB device may be either physical device +connected to a server or software entity created on a server using USB +gadget subsystem. The usbip-utils are userspace tools to used to handle +connection and management on both side. The client needs the @file{vhci-hcd} +Linux kernel module and the server needs the @file{usbip_host} Linux kernel +module.") + (license license:gpl2))) + (define-public e2fsprogs (package (name "e2fsprogs") @@ -2228,7 +2415,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "5.8") + (version "5.13") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -2236,23 +2423,31 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "1abs3svkg9985f4jrxx34sj1dcpsf95vv1a0g01c777zgygncjnz")))) + "0mmns22bjjvakxj29si0x4dcylcgy26llpcimkb0llcxif439k2s")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-/bin/sh (lambda _ - (substitute* "strace.c" + (substitute* "src/strace.c" (("/bin/sh") (which "sh"))) #t)) (add-after 'unpack 'disable-failing-tests (lambda _ - ;; XXX These hang forever even if the test time-out is extended. (substitute* "tests/Makefile.in" - (("^\tstrace-DD?D?\\.test \\\\.*") "")) + ;; XXX: This test fails because an extra readlink call is made + ;; by the glibc when using the ld.so cache. + (("readlink.gen.test[^:]") " ") + + ;; XXX: These hang forever even if the test time-out is + ;; extended. + (("^\tstrace-DD?D?\\.test \\\\.*") "") + (("^\tpidns-cache.test \\\\.*") "") + (("^\t.*--pidns-translation.test \\\\.*") "")) #t))) - ;; Don't fail if the architecture doesn't support different personalities. + ;; Don't fail if the architecture doesn't support different + ;; personalities. #:configure-flags '("--enable-mpers=check") ;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32459>. #:parallel-tests? #f)) ; undeterministic failures @@ -2801,20 +2996,32 @@ configuration (iptunnel, ipmaddr).") (base32 "1ych13qc1mvzv8iscbims5b317vxcmy5ffpmfy98zk7bgamz62b6")))) (build-system gnu-build-system) - (arguments '(#:phases - (modify-phases %standard-phases - (replace 'configure - ;; Add $libdir to the RUNPATH of executables. - (lambda _ - (substitute* "Make.Rules" - (("LDFLAGS \\?= #-g") - (string-append "LDFLAGS ?= -Wl,-rpath=" - %output "/lib")))))) + (arguments `(#:phases + ,#~(modify-phases %standard-phases + (replace 'configure + ;; Add $libdir to the RUNPATH of executables. + (lambda _ + (substitute* "Make.Rules" + (("LDFLAGS \\?= #-g") + (string-append "LDFLAGS ?= -Wl,-rpath=" + ;; TODO(core-updates): Use #$output + ;; unconditionally. + #$(if (%current-target-system) + #~#$output + '%output) + "/lib")))))) #:test-target "test" - #:make-flags (list "lib=lib" - (string-append "prefix=" - (assoc-ref %outputs "out")) - "RAISE_SETFCAP=no"))) + #:make-flags + (list "lib=lib" + (string-append "prefix=" (assoc-ref %outputs "out")) + "RAISE_SETFCAP=no" + ;; Tell the makefile to use TARGET-gcc and friends + ;; when cross-compiling. + ,@(if (%current-target-system) + `(,(string-append "CROSS_COMPILE=" + (%current-target-system) "-") + "BUILD_CC=gcc") + '())))) (native-inputs `(("perl" ,perl))) (supported-systems (delete "i586-gnu" %supported-systems)) (home-page "https://sites.google.com/site/fullycapable/") @@ -3576,7 +3783,14 @@ from the module-init-tools project.") (file-name (git-file-name name version)) (sha256 (base32 - "16iyn51xlrsbshc7p5xl2338yyfzknaqc538sa7mamgccqwgyvvq")))) + "16iyn51xlrsbshc7p5xl2338yyfzknaqc538sa7mamgccqwgyvvq")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile" + (("go test -v") + "GO111MODULE=off go test -v")) + #t)))) (build-system gnu-build-system) (arguments `(#:phases @@ -3746,7 +3960,7 @@ devices that can inject events directly into the input subsystem.") (define-public interception-tools (package (name "interception-tools") - (version "0.6.6") + (version "0.6.7") (home-page "https://gitlab.com/interception/linux/tools") (source (origin (method git-fetch) @@ -3756,25 +3970,17 @@ devices that can inject events directly into the input subsystem.") (file-name (git-file-name name version)) (sha256 (base32 - "0k9h14a9d65nwvv7pj0kigjgzfv453mm3r4svnxfg1h5lccmy8jj")))) + "0wcmppa7092b33wb8vc782day5phf90pc25cn1x7rk0rlw565z36")))) (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("boost" ,boost) ("libevdev" ,libevdev) ("libudev" ,eudev) ("yaml-cpp" ,yaml-cpp))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-libevdev-path - (lambda* (#:key inputs #:allow-other-keys) - (let ((libevdev (assoc-ref inputs "libevdev"))) - (substitute* "CMakeLists.txt" - (("/usr/include/libevdev-1.0") - (string-append libevdev "/include/libevdev-1.0"))) - #t)))) - ;; No tests are included. - #:tests? #f)) + `(#:tests? #f)) ; no test suite (synopsis "Utilities for operating on input events of evdev devices") (description "Interception Tools provides a composable infrastructure on top of @@ -3793,7 +3999,7 @@ devices that can inject events directly into the input subsystem.") (define-public interception-dual-function-keys (package (name "interception-dual-function-keys") - (version "1.3.0") + (version "1.4.0") (home-page "https://gitlab.com/interception/linux/plugins/dual-function-keys") (source (origin (method git-fetch) @@ -3803,14 +4009,15 @@ devices that can inject events directly into the input subsystem.") (file-name (git-file-name name version)) (sha256 (base32 - "1gvhkmwzl5fyyc7k8rc4rf2b9mzh05wa8wcybf9hz2x1mqkc7lmz")))) + "0s49vbg3j4rwh78i8rx8qr7myql09p7b3lhrjl0p7dd98xp6ann6")))) (build-system gnu-build-system) (inputs `(("libevdev" ,libevdev) ("yaml-cpp" ,yaml-cpp))) (arguments - `(#:make-flags (list "CC=gcc" "CXX=g++" - (string-append "PREFIX=" (assoc-ref %outputs "out"))) + `(#:make-flags (list ,(string-append "CC=" (cc-for-target)) + ,(string-append "CXX=" (cxx-for-target)) + (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-libevdev-path @@ -3821,9 +4028,9 @@ devices that can inject events directly into the input subsystem.") (string-append libevdev "/include/libevdev-1.0"))) #t))) ;; No configure script - (delete 'configure) - ;; No target 'check' - (delete 'check)))) + (delete 'configure)) + ;; No tests are included. + #:tests? #f)) (synopsis "Tap for one key, hold for another") (description "Dual Function Keys is a plugin for @code{interception-tools} that allows @@ -5279,7 +5486,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "5.13") + (version "5.14") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -5287,7 +5494,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "0hsqbv7kvw5j2669xmp226cf7mgdfyq6xg8vjhm5w9ix43922aaf")))) + "0mwxhwws6scjjpfws5xp7988wwwfa46jp5y3kn6jjmjpxiqm85da")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" @@ -5478,7 +5685,8 @@ obviously it can be shared with files outside our set).") (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases (add-after 'install 'install-headers (lambda* (#:key outputs #:allow-other-keys) @@ -6852,7 +7060,7 @@ used by nftables.") (define-public nftables (package (name "nftables") - (version "0.9.9") + (version "1.0.0") (source (origin (method url-fetch) @@ -6861,10 +7069,11 @@ used by nftables.") (string-append "https://www.nftables.org/projects/nftables" "/files/nftables-" version ".tar.bz2"))) (sha256 - (base32 "1d7iwc8xlyfsbgn6qx1sdfcq7jhpl8wpfj39hcd06y8dzp3jvvvn")))) + (base32 "1x25zs2czmn14mmq1nqi4zibsvh04vqjbx5lxj42nylnmxym9gsq")))) (build-system gnu-build-system) (arguments `(#:configure-flags - '("--disable-man-doc"))) ; FIXME: Needs docbook2x. + '("--disable-man-doc" ; FIXME: needs docbook2x + "--disable-static"))) (inputs `(("gmp" ,gmp) ("libmnl" ,libmnl) ("libnftnl" ,libnftnl) @@ -7208,6 +7417,11 @@ libraries, which are often integrated directly into libfabric.") (arguments '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR=" ,(string-append "INSTALL_PREFIX=" %output) + ,(string-append "CFLAGS=-Wall -fpic -fPIC -D_GNU_SOURCE" + " -funwind-tables -O3 -g3" + " -DPSM_USE_SYS_UUID" + " -Wno-strict-aliasing -DNVALGRIND" + " -fcommon") ,(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) #:tests? #f #:phases (modify-phases %standard-phases @@ -7280,14 +7494,14 @@ relevant @file{/dev/vcs*} file(s).") (define-public fbcat (package (name "fbcat") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/jwilk/fbcat/releases/download/" version "/" name "-" version ".tar.gz")) (sha256 - (base32 "0pj9hxmwhbz6kmd7847yx2jh1scl9l25zgndyi8s9vlzdkq2q8d7")))) + (base32 "07q6f0xj7b4gjvn69qfn0g04yd0ch8ndzyigcz8nnrhli0cvsbh6")))) (build-system gnu-build-system) (inputs ;; The ‘fbgrab’ wrapper can use one of several PPM-to-PNG converters. We @@ -7311,8 +7525,7 @@ relevant @file{/dev/vcs*} file(s).") (("fbcat" all) (string-append out "/bin/" all)) (("pnmtopng" all) - (string-append pnmtopng "/bin/" all))) - #t))) + (string-append pnmtopng "/bin/" all)))))) (add-after 'install 'split-fbgrab-output (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -7323,8 +7536,7 @@ relevant @file{/dev/vcs*} file(s).") (mkdir-p (dirname new)) (rename-file old new))) (list "bin/fbgrab" - "share/man/man1/fbgrab.1")) - #t)))))) + "share/man/man1/fbgrab.1")))))))) (home-page "https://jwilk.net/software/fbcat") (synopsis "Take a screenshot of the contents of the Linux framebuffer") (description @@ -7574,7 +7786,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC (define-public xfsprogs (package (name "xfsprogs") - (version "5.12.0") + (version "5.13.0") (source (origin (method url-fetch) (uri (string-append @@ -7582,7 +7794,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC "xfsprogs-" version ".tar.gz")) (sha256 (base32 - "0b5vvwq4rqw7kph23ycd518d31dx3wq7w61znixxpdljx0ig71qn")))) + "09s3alwrhs1gaaywkpx2knc5bxb44b77009jw8zgsy9c2wxximns")))) (build-system gnu-build-system) (outputs (list "out" "python")) (arguments @@ -7598,8 +7810,7 @@ compatible with Python's ConfigParser style of .INI files, including RFC (mkdir-p (string-append python (dirname script))) (rename-file (string-append out script) (string-append python script))) - (list "/sbin/xfs_scrub_all")) - #t))) + (list "/sbin/xfs_scrub_all"))))) (add-after 'install 'install-headers (lambda _ (invoke "make" "install-dev")))))) @@ -7657,90 +7868,90 @@ the superuser to make device nodes.") (license license:gpl2))) (define-public fakeroot - (package - (name "fakeroot") - (version "1.25.3") - (source (origin - ;; There are no tags in the repository, so take this snapshot. - (method url-fetch) - (uri (string-append "https://deb.debian.org/debian/pool/main/f/" - "fakeroot/fakeroot_" version ".orig.tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0v4m3v1bdqvblwj3vqsb3mllgbci6dsgsydq6765nzvz6n1kd44f")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - ;; The "preroll" script takes care of Autoconf and also - ;; prepares the translated manuals. - (invoke "sh" "./preroll"))) - (add-after 'configure 'patch-Makefile - (lambda _ - ;; Note: The root of the problem is already in "Makefile.am". - (substitute* "Makefile" - (("/bin/sh") (which "sh"))) - #t)) - (add-after 'unpack 'patch-script - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "scripts/fakeroot.in" - (("getopt") - (search-input-file inputs "/bin/getopt")) - (("sed") - (search-input-file inputs "/bin/sed")) - (("cut") - (search-input-file inputs "/bin/cut")) ))) - (add-before 'configure 'setenv - (lambda _ - (setenv "LIBS" "-lacl") - #t)) - (add-before 'check 'prepare-check - (lambda _ - (setenv "SHELL" (which "bash")) - (setenv "VERBOSE" "1") - (substitute* "test/t.touchinstall" - ;; We don't have the name of the root user, so use ID=0. - (("grep root") "grep \"\\<0\\>\"")) - (substitute* "test/tartest" - ;; We don't have the name of the root group, so use ID=0. - (("ROOTGROUP=root") "ROOTGROUP=0") - ;; We don't have the name of the daemon user, so use IDs. - (("daemon:sys") "1:3") - (("daemon:") "1:")) - ;; We don't have an /etc/passwd entry for "root" - use numeric IDs. - (substitute* "test/compare-tar" - (("tar -tvf") "tar --numeric-owner -tvf")) - #t))))) - (native-inputs - `(;; For bootstrapping the package. - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("gettext" ,gettext-minimal) - ("po4a" ,po4a) - - ;; For tests. - ("sharutils" ,sharutils) - ("xz" ,xz))) - (inputs - `(("acl" ,acl) - ("libcap" ,libcap) - ("util-linux" ,util-linux) - ("sed" ,sed) - ("coreutils" ,coreutils))) - (synopsis "Provides a fake root environment") - (description "@command{fakeroot} runs a command in an environment where + ;; glibc-2.33 compatibility was added since the last release. + (let ((commit "24d6b0857396cad87b2cabd32fb8af9ef4799915") + (revision "1")) + (package + (name "fakeroot") + (version (git-version "1.25.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/clint/fakeroot.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rg9m30k6v930cmj16qwk1k2vn1l2irxj7r3pp3k1i1sdhfkm3df")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + ;; The "preroll" script takes care of Autoconf and also + ;; prepares the translated manuals. + (invoke "sh" "./preroll"))) + (add-after 'configure 'patch-Makefile + (lambda _ + ;; Note: The root of the problem is already in "Makefile.am". + (substitute* "Makefile" + (("/bin/sh") (which "sh"))))) + (add-after 'unpack 'patch-script + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "scripts/fakeroot.in" + (("getopt") + (search-input-file inputs "/bin/getopt")) + (("sed") + (search-input-file inputs "/bin/sed")) + (("cut") + (search-input-file inputs "/bin/cut")) ))) + (add-before 'configure 'setenv + (lambda _ + (setenv "LIBS" "-lacl"))) + (add-before 'check 'prepare-check + (lambda _ + (setenv "SHELL" (which "bash")) + (setenv "VERBOSE" "1") + (substitute* "test/t.touchinstall" + ;; We don't have the name of the root user, so use ID=0. + (("grep root") "grep \"\\<0\\>\"")) + (substitute* "test/tartest" + ;; We don't have the name of the root group, so use ID=0. + (("ROOTGROUP=root") "ROOTGROUP=0") + ;; We don't have the name of the daemon user, so use IDs. + (("daemon:sys") "1:3") + (("daemon:") "1:")) + ;; We don't have an /etc/passwd entry for "root" - use numeric IDs. + (substitute* "test/compare-tar" + (("tar -tvf") "tar --numeric-owner -tvf"))))))) + (native-inputs + `(;; For bootstrapping the package. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal) + ("po4a" ,po4a) + + ;; For tests. + ("sharutils" ,sharutils) + ("xz" ,xz))) + (inputs + `(("acl" ,acl) + ("libcap" ,libcap) + ("util-linux" ,util-linux) + ("sed" ,sed) + ("coreutils" ,coreutils))) + (synopsis "Provides a fake root environment") + (description "@command{fakeroot} runs a command in an environment where it appears to have root privileges for file manipulation. This is useful for allowing users to create archives (tar, ar, .deb etc.) with files in them with root permissions/ownership. Without fakeroot one would have to have root privileges to create the constituent files of the archives with the correct permissions and ownership, and then pack them up, or one would have to construct the archives directly, without using the archiver.") - (home-page "http://freshmeat.sourceforge.net/projects/fakeroot") - (license license:gpl3+))) + (home-page "http://freshmeat.sourceforge.net/projects/fakeroot") + (license license:gpl3+)))) (define-public fakechroot (package @@ -7824,7 +8035,8 @@ types and interfaces and translates so that the X server can use them.") (file-name (git-file-name name version)) (sha256 (base32 - "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc")))) + "1q5wrqnhhs6r49p8yvkw1pl0cnsd4rndxy4h5lvdydwgf1civcwc")) + (patches (search-patches "pipewire-0.2.7-fno-common.patch")))) (build-system meson-build-system) (arguments '(#:configure-flags '("-Dsystemd=false"))) @@ -8351,3 +8563,39 @@ Availability and Serviceability} reports from Linux kernel trace events. These trace events are logged in @file{/sys/kernel/debug/tracing} and reported through standard log mechanisms like syslog.") (license license:gpl2))) + +(define-public libgpiod + (package + (name "libgpiod") + (version "1.6.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 (base32 "0rv8a11hx3pc6sdw6nfc6k35hkp2clb3v53n1381cvip8fzhbsad")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + '("--enable-tools=yes" + "--enable-bindings-cxx" + "--enable-bindings-python"))) + (native-inputs + `(("automake" ,automake) + ("autoconf" ,autoconf) + ("libtool" ,libtool) + ("autoconf-archive" ,autoconf-archive) + ("pkg-config" ,pkg-config) + ("python" ,python-3))) + (synopsis "Interact with the Linux GPIO character device") + (description + "This package provides a C library with C++/Python bindings and +command-line tools for interacting with GPIO devices that avoids the usage of +older system-wide @file{/sys} interface.") + (home-page "https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/") + (license (list license:lgpl2.1+ ;; libgpiod + license:gpl2+ ;; gpio-tools + license:lgpl3+)))) ;; C++ bindings diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 72afc5cd68..d990212115 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -57,6 +57,7 @@ #:use-module (guix hg-download) #:use-module (guix utils) #:use-module (guix build-system asdf) + #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages base) #:use-module (gnu packages c) @@ -91,6 +92,7 @@ #:use-module (gnu packages web) #:use-module (gnu packages webkit) #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -99,7 +101,7 @@ (define-public sbcl-alexandria (package (name "sbcl-alexandria") - (version "1.2") + (version "1.4") (source (origin (method git-fetch) @@ -108,7 +110,7 @@ (commit (string-append "v" version)))) (sha256 (base32 - "0bcqs0z9xlqgjz43qzgq9i07vdlnjllpm1wwa37wpkg0w975r712")) + "0r1adhvf98h0104vq14q7y99h0hsa8wqwqw92h7ghrjxmsvz2z6l")) (file-name (git-file-name name version)))) (build-system asdf-build-system/sbcl) (native-inputs @@ -8134,8 +8136,8 @@ functions for arrays and vectors. Originally from Plump.") (sbcl-package->ecl-package sbcl-array-utils)) (define-public sbcl-plump - (let ((commit "34f890fe46efdebe7bb70d218f1937e98f632bf9") - (revision "1")) + (let ((commit "3584275f0be9d06c0c51b5c08f89005deafc4ada") + (revision "2")) (package (name "sbcl-plump") (version (git-version "2.0.0" revision commit)) @@ -8149,7 +8151,7 @@ functions for arrays and vectors. Originally from Plump.") (file-name (git-file-name name version)) (sha256 (base32 - "0a0x8wn6vv1ylxcwck12k18gy0a366kdm6ddxxk7yynl4mwnqgkh")))) + "1w4wz7f6dc2ckdq9wq9r5014bg2nxjifj9yz1zzn41r8h1h5xfcd")))) (build-system asdf-build-system/sbcl) (inputs `(("array-utils" ,sbcl-array-utils) @@ -16516,11 +16518,11 @@ for Common Lisp.") (sbcl-package->cl-source-package sbcl-bknr-datastore)) (define-public sbcl-authentic - (let ((commit "d5ff2f4666ce24e41fb4ca22476c782c070e6f6e") - (revision "1")) + (let ((commit "4e9194dda227b98f56dda1c2a2480efcc2d1f973") + (revision "2")) (package (name "sbcl-authentic") - (version (git-version "0.1.0" revision commit)) + (version (git-version "0.1.2" revision commit)) (source (origin (method git-fetch) @@ -16529,7 +16531,7 @@ for Common Lisp.") (commit commit))) (file-name (git-file-name "cl-authentic" version)) (sha256 - (base32 "1dmi9lw1ickx0i41lh9sfchalvy7km6wc9w3szfjlvny7svwf6qp")))) + (base32 "0ncsxrybnx0pjsndv3j8w4lphlpcsld8sxg3c5b46fb3a8nd4ssf")))) (build-system asdf-build-system/sbcl) (native-inputs `(("fiveam" ,sbcl-fiveam))) @@ -18228,6 +18230,79 @@ functions allow Lisp programs to explore the web.") (define-public cl-aserve (sbcl-package->cl-source-package sbcl-aserve)) +(define-public sbcl-yxorp + (let ((commit "d2e8f9304549e47ae5c7fa35a6b114804603eac9") + (revision "1")) + (package + (name "sbcl-yxorp") + (version (git-version "0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/charJe/cl-yxorp") + (commit commit))) + (file-name (git-file-name "cl-yxorp" version)) + (sha256 + (base32 "1zz1j678vzwkf817h2z0pf0fcyf4mldv4hiv1wyam58hd4bcrjsw")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl+ssl" ,sbcl-cl+ssl) + ("cl-binding-arrows" ,sbcl-binding-arrows) + ("cl-str" ,sbcl-cl-str) + ("cl-usocket" ,sbcl-usocket) + ("flexi-streams" ,sbcl-flexi-streams) + ("trivial-garbage" ,sbcl-trivial-garbage))) + (home-page "https://github.com/charje/cl-yxorp") + (synopsis + "Reverse proxy server written in and configurable in Common Lisp") + (description + "This is a reverse proxy server written in and configurable in +Common Lisp. It supports WebSocket, HTTP, HTTPS, HTTP to HTTPS +redirecting, port and host forwarding configuration using a real programming +language, HTTP header and body manipulation (also using a real programming +language).") + (license license:agpl3)))) + +(define-public ecl-yxorp + ;; Note that due to a bug in ECL this package does not build. + ;; The bug has already been fixed on the development branch, + ;; so this package will work work in the version after 21.2.1. + (sbcl-package->ecl-package sbcl-yxorp)) + +(define-public cl-yxorp + (sbcl-package->cl-source-package sbcl-yxorp)) + +(define-public cl-yxorp-cli + (package + (inherit sbcl-yxorp) + (name "cl-yxorp-cli") + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:strip-binaries? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'set-home + (lambda _ + (setenv "HOME" "/tmp"))) + (replace 'build + (lambda _ + (invoke + "sbcl" "--noinform" + "--non-interactive" + "--no-userinit" + "--eval" "(require :asdf)" + "--eval" "(pushnew (uiop:getcwd) asdf:*central-registry*)" + "--load" "build.lisp"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (install-file "cl-yxorp" bin))))))) + (inputs (cons (list "sbcl" sbcl) (package-inputs sbcl-yxorp))))) + (define-public sbcl-rss ;; No release. (let ((commit "51d0145e91b86327ae5c36364f9c3048052e7a58")) @@ -18543,3 +18618,125 @@ semantics in Lisp and Parenscript. (define-public cl-spinneret (sbcl-package->cl-source-package sbcl-spinneret)) + +(define-public sbcl-cl-libxml2 + (let ((commit "8d03110c532c1a3fe15503fdfefe82f60669e4bd")) + (package + (name "sbcl-cl-libxml2") + (version (git-version "0.3.4" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/archimag/cl-libxml2") + (commit commit))) + (file-name (git-file-name "cl-libxml2" version)) + (sha256 + (base32 "09049c13cfp5sc6x9lrw762jd7a9qkfq5jgngqgrzn4kn9qscarw")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("cffi" ,sbcl-cffi) + ("flexi-streams" ,sbcl-flexi-streams) + ("garbage-pools" ,sbcl-garbage-pools) + ("iterate" ,sbcl-iterate) + ("metabang-bind" ,sbcl-metabang-bind) + ("puri" ,sbcl-puri) + ;; Non-Lisp inputs: + ("libxml2" ,libxml2) + ("libxslt" ,libxslt))) + (native-inputs + `(("lift" ,sbcl-lift))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "tree/xtree.lisp" + (("libxml2.so.2") + (string-append (assoc-ref inputs "libxml2") "/lib/libxml2.so"))) + (let ((libxslt (assoc-ref inputs "libxslt"))) + (substitute* "xslt/xslt.lisp" + (("libxslt.so.1") + (string-append libxslt "/lib/libxslt.so")) + (("libexslt.so.0") + (string-append libxslt "/lib/libexslt.so")) + (("cllibxml2.so") + (string-append (assoc-ref outputs "out") "/lib/cllibxml2.so")))) + #t)) + (add-before 'build 'build-helper-library + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((prefix-dir (string-append (assoc-ref outputs "out")))) + (mkdir-p (string-append prefix-dir "/lib")) + (invoke "make" "-C" "foreign" "install" + "INSOPTS=" + (string-append "PREFIX=" prefix-dir)) + #t))) + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* '("cl-libxml2.asd" "cl-libxslt.asd" "xfactory.asd") + ((" :force t") "")) + #t))))) + (home-page "https://web.archive.org/web/20160121073421/http://cl-libxml2.googlecode.com/svn/doc/index.html") + (synopsis "High-level wrapper around libxml2 and libxslt libraries") + (description + "cl-libxml2 is high-level Common Lisp wrapper around the @code{libxml2} +and @code{libxslt} libraries. + +@itemize +@item Interfaces for tree manipulation (like @code{cxml-stp}). +@item Interface for HTML 4.0 non-validating parsers. +@item Specific APIs to process HTML trees, especially serialization. +@item XPath API. +@item XSLT API. +@item Custom URL resolvers. +@item XPath extension functions. +@item XSLT extension elements. +@item Translates @code{libxml2} and @code{libxslt} errors to Lisp conditions. +@item Extends the Common Lisp @code{iterate} library with custom drivers for +child nodes enumeration, etc. +@item The @code{XFACTORY} system provides a simple and compact syntax for XML generation. +@end itemize\n") + (license license:llgpl)))) + +(define-public ecl-cl-libxml2 + (sbcl-package->ecl-package sbcl-cl-libxml2)) + +(define-public cl-libxml2 + (sbcl-package->cl-source-package sbcl-cl-libxml2)) + +(define-public sbcl-feeder + ;; No release. + (let ((commit "b05f517d7729564575cc809e086c262646a94d34") + (revision "1")) + (package + (name "sbcl-feeder") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shinmera/feeder") + (commit commit))) + (file-name (git-file-name "feeder" version)) + (sha256 + (base32 "1dpbzhycg50snl3j01c8dh8gdvhfhz0hnfl54xy55a3wbr3m6rp7")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("documentation-utils" ,sbcl-documentation-utils) + ("local-time" ,sbcl-local-time) + ("plump" ,sbcl-plump))) + (home-page "https://shinmera.github.io/feeder/") + (synopsis "RSS, Atom and general feed parsing and generating") + (description + "Feeder is a syndication feed library. It presents a general protocol +for representation of feed items, as well as a framework to translate these +objects from and to external formats. It also implements the RSS 2.0 and Atom +formats within this framework.") + (license license:zlib)))) + +(define-public ecl-feeder + (sbcl-package->ecl-package sbcl-feeder)) + +(define-public cl-feeder + (sbcl-package->cl-source-package sbcl-feeder)) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 63f5ba744e..fa8b25ae85 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> +;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,6 +46,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system copy) #:use-module (guix build-system gnu) @@ -53,28 +55,32 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages admin) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages compression) #:use-module (gnu packages ed) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) #:use-module (gnu packages glib) - #:use-module (gnu packages m4) - #:use-module (gnu packages maths) - #:use-module (gnu packages multiprecision) - #:use-module (gnu packages ncurses) + #:use-module (gnu packages groff) #:use-module (gnu packages libffcall) #:use-module (gnu packages libffi) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages linux) + #:use-module (gnu packages m4) + #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages onc-rpc) #:use-module (gnu packages perl) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages tex) - #:use-module (gnu packages tls) #:use-module (gnu packages texinfo) + #:use-module (gnu packages tls) #:use-module (gnu packages version-control) #:use-module (gnu packages xorg) #:use-module (ice-9 match)) @@ -123,33 +129,52 @@ Definition Facility.") (license license:expat))) (define-public gcl - (let ((commit "d3335e2b3deb63f930eb0328e9b05377744c9512") - (revision "2")) ;Guix package revision + (let ((commit "ff7ef981765cc0efdb4b1db27c292f5c11a72753") + (revision "3")) ;Guix package revision (package (name "gcl") - (version (string-append "2.6.12-" revision "." - (string-take commit 7))) + (version (git-version "2.6.12" revision commit)) (source (origin (method git-fetch) (uri (git-reference (url "https://git.savannah.gnu.org/r/gcl.git") (commit commit))) - (file-name (string-append "gcl-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 - (base32 "05v86lhvsby05nzvcd3c4k0wljvgdgd0i6arzd2fx1yd67dl6fgj")))) + (base32 "0z64fxxcaial2i1s1hms8r095dm1ff3wd8ivwdx894a3yln9c0an")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; The build system seems not to be thread safe. #:test-target "ansi-tests/test_results" - #:configure-flags '("--enable-ansi") ; required for use by the maxima package - #:make-flags (list - (string-append "GCL_CC=" (assoc-ref %build-inputs "gcc") - "/bin/gcc") - (string-append "CC=" (assoc-ref %build-inputs "gcc") - "/bin/gcc")) + #:configure-flags ,#~(list + "--enable-ansi" ; required by the maxima package + (string-append "CFLAGS=-I" + #$(this-package-input "libtirpc") + "/include/tirpc") + (string-append "LDFLAGS=-L" + #$(this-package-input "libtirpc") + "/lib") + "LIBS=-ltirpc") + #:make-flags ,#~(list + (string-append "GCL_CC=" #$gcc "/bin/gcc") + (string-append "CC="#$gcc "/bin/gcc")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'realpath-workaround + ;; Calls to the realpath function can set errno even if the return + ;; value of the function indicates that there is no error, which + ;; make massert consider that there was an error. + (lambda _ + (substitute* "gcl/o/main.c" + (("massert\\(realpath\\(s,o\\)\\);" all) + "massert((realpath(s, o) != NULL) && ((errno = 0) == 0));")))) + (add-after 'unpack 'fix-makefile + ;; The "final" target doesn't exist. + (lambda _ + (substitute* "gcl/makefile" + (("\\$\\(MAKE\\) -C \\$\\(PORTDIR\\) final") + "$(MAKE) -C $(PORTDIR)")))) (add-before 'configure 'pre-conf (lambda* (#:key inputs #:allow-other-keys) (chdir "gcl") @@ -204,7 +229,9 @@ Definition Facility.") ;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html (delete 'strip)))) (inputs - `(("gmp" ,gmp) + `(("bash-minimal" ,bash-minimal) + ("gmp" ,gmp) + ("libtirpc" ,libtirpc) ("readline" ,readline))) (native-inputs `(("m4" ,m4) @@ -842,10 +869,64 @@ enough to play the original mainframe Zork all the way through.") (home-page "http://www.russotto.net/git/mrussotto/confusion/src/master/src/README") (license license:gpl3+)))) +(define man-for-txr + (let ((commit "dfbf19b9a96474b8c1bacac85e43605e5691ceb2") + ;; Number of additional commits since the last tag (see the output of + ;; "git describe --tags"). + (revision "41")) + (package + (name "man-for-txr") + (version (git-version "1.6g" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://www.kylheku.com/git/man/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zy0g8fj9nsfwzvg88hyaiy94r8j14xhs8vy2ln2niqdm6x2lvy2")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-man2html-makefile + (lambda _ + (substitute* "man2html/Makefile.in" + ;; It inadvertently ignores @bindir@. + (("^(bindir = \\$\\(DESTDIR\\)\\$\\(PREFIX\\)).*" _ prefix) + (string-append prefix "@bindir@\n"))) + #t)) + (add-after 'unpack 'delete-generated-files + (lambda _ + (for-each delete-file + (append + (list "conf_script") + (map (lambda (d) (string-append d "/Makefile")) + '("." "man" "man2html" "src")) + (map (lambda (f) (string-append "src/" f)) + '("makewhatis.in" "man.conf" + "paths.h" "version.h")))) + #t)) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (setenv "CC" ,(cc-for-target)) + ;; Humor the manually written configure script. + (invoke "./configure" "+lang" "en" "+fhs" + (string-append "-prefix=" (assoc-ref outputs "out"))) + #t))))) + (home-page "http://www.kylheku.com/cgit/man/") + (synopsis "Modifications to the man utilities, specifically man2html") + (description + "This is a fork of the man utilities intended specifically for building +the HTML documentation of TXR.") + (license license:gpl2)))) + (define-public txr (package (name "txr") - (version "263") + (version "270") (source (origin (method git-fetch) @@ -854,8 +935,16 @@ enough to play the original mainframe Zork all the way through.") (commit (string-append "txr-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "14zaziymnbr2ld79x4h7sf88bzzzj82w3xpavmcx7mhwannb2swh")))) + (base32 "1kp64h3ls8mddvrlaqqylrb3brckfrqvkk8049xn15mimfggg0xv")))) (build-system gnu-build-system) + (native-inputs + ;; Required to build the documentation. + `(("ghostscript" ,ghostscript) + ("groff" ,groff) + ("man2html" ,man-for-txr))) + (inputs + `(("bash" ,bash-minimal) + ("libffi" ,libffi))) (arguments `(#:configure-flags (list ,(string-append "cc=" (cc-for-target)) @@ -863,6 +952,35 @@ enough to play the original mainframe Zork all the way through.") #:test-target "tests" #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-license-installation + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile" + (("INSTALL(,.*LICENSE,.*)\\$\\(datadir\\)" _ match) + (string-append "INSTALL" match + (assoc-ref outputs "out") + "/share/doc/" ,name "-" ,version))) + #t)) + (delete 'install-license-files) + (add-after 'unpack 'inhibit-doc-syms-generation + (lambda _ + (substitute* "genman.txr" + ;; Exit from genman.txr before it tries to write to + ;; stdlib/doc-syms.tl, which is anyway kept up to date with + ;; each release (and is already compiled to stdlib/doc-syms.tlo + ;; when genman.txr is run). + (("^@\\(output \"stdlib/doc-syms\\.tl\"\\).*" line) + (string-append "@(do (exit))\n" line))) + #t)) + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "stream.c" + (("/bin/sh") + (string-append (assoc-ref inputs "bash") "/bin/bash"))))) + (add-after 'unpack 'fix-tests + (lambda _ + (substitute* (list "tests/017/realpath.tl" + "tests/017/realpath.expected") + (("/usr/bin") "/")))) (replace 'configure ;; ./configure is a hand-written script that can't handle standard ;; autotools arguments like CONFIG_SHELL. @@ -870,14 +988,18 @@ enough to play the original mainframe Zork all the way through.") (setenv "txr_shell" (which "bash")) (apply invoke "./configure" configure-flags) #t)) - (add-after 'configure 'fix-tests + (add-after 'build 'build-doc (lambda _ - (substitute* (list "tests/017/realpath.tl" - "tests/017/realpath.expected") - (("/usr/bin") "/")) + (setenv "GS_GENERATE_UUIDS" "0") + (invoke "make" "txr-manpage.html" "txr-manpage.pdf") + #t)) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "out") + "/share/doc/" ,name "-" ,version))) + (for-each (lambda (f) (install-file f doc)) + '("txr-manpage.html" "txr-manpage.pdf"))) #t))))) - (inputs - `(("libffi" ,libffi))) (synopsis "General-purpose, multi-paradigm programming language") (description "TXR is a general-purpose, multi-paradigm programming language. It diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 4107117c76..7cfa02ec99 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> +;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -877,6 +878,43 @@ of programming tools as well as libraries with equivalent functionality.") (define-public clang clang-9) (define-public clang-toolchain clang-toolchain-9) +(define-public llvm-for-rocm + (package + ;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine. + (inherit llvm-12) + (name "llvm-for-rocm") + (version "4.3.0") ;this must match '%rocm-version' + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/llvm-project.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0p75nr1qpmy6crymdax5hm40wkimman4lnglz4x5cnbiqindya7s")) + (patches + (search-patches "llvm-roc-4.2.0-add_Object.patch" + "llvm-roc-3.0.0-add_libraries.patch" + "llvm-roc-4.0.0-remove-isystem-usr-include.patch")))) + (arguments + (substitute-keyword-arguments (package-arguments llvm-12) + ((#:phases phases '%standard-phases) + `(modify-phases ,phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "llvm"))))) + ((#:configure-flags flags) + ''("-DLLVM_ENABLE_PROJECTS=llvm;clang;lld" + "-DLLVM_TARGETS_TO_BUILD=AMDGPU;X86" + "-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE" + "-DBUILD_SHARED_LIBS:BOOL=TRUE" + "-DLLVM_VERSION_SUFFIX=")))) + (properties `((hidden? . #t) + ,@(package-properties llvm-12))))) + + (define-public lld (package (name "lld") @@ -1253,6 +1291,45 @@ with that of libgomp, the GNU Offloading and Multi Processing Library.") "This package provides a Python binding to LLVM for use in Numba.") (license license:bsd-3))) +(define-public (clang-python-bindings clang) + "Return a package for the Python bindings of CLANG." + (package + (inherit clang) + (name "python-clang") + (build-system python-build-system) + (outputs '("out")) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'change-directory + (lambda _ + (chdir "bindings/python"))) + (add-before 'build 'create-setup-py + (lambda _ + ;; Generate a basic "setup.py", enough so it can be + ;; built and installed. + (with-output-to-file "setup.py" + (lambda () + (display "from setuptools import setup +setup(name=\"clang\", packages=[\"clang\"])\n"))))) + (add-before 'build 'set-libclang-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Record the absolute file name of libclang.so. + (let ((clang (assoc-ref inputs "clang"))) + (substitute* "clang/cindex.py" + (("libclang\\.so") + (string-append clang "/lib/libclang.so"))))))))) + (inputs `(("clang" ,clang))) + (synopsis "Python bindings to libclang"))) + +(define-public python-clang-10 + (clang-python-bindings clang-10)) + +(define-public python-clang-11 + (clang-python-bindings clang-11)) + +(define-public python-clang-12 + (clang-python-bindings clang-12)) + (define-public emacs-clang-format (package (inherit clang) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 6a4975e435..34dc124cb6 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Gábor Boskovits <boskovits@gmail.com> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -76,7 +77,7 @@ staying as close to their API as is reasonable.") (define-public glog (package (name "glog") - (version "0.4.0") + (version "0.5.0") (home-page "https://github.com/google/glog") (source (origin (method git-fetch) @@ -84,19 +85,9 @@ staying as close to their API as is reasonable.") (commit (string-append "v" version)))) (sha256 (base32 - "1xd3maiipfbxmhc9rrblc5x52nxvkwxp14npg31y5njqvkvzax9b")) + "17014q25c99qyis6l3fwxidw6222bb269fdlr74gn7pzmzg4lvg3")) (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'check 'disable-signal-tests - (lambda _ - ;; XXX: This test fails on non x86_64. See e.g. - ;; https://github.com/google/glog/issues/219 and - ;; https://github.com/google/glog/issues/256. - (substitute* "Makefile" - (("\tsignalhandler_unittest_sh") "\t$(EMPTY)")) - #t))))) + (build-system cmake-build-system) (native-inputs `(("perl" ,perl) ;for tests ("autoconf" ,autoconf) diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm index 7f483cfe1f..15cabe702b 100644 --- a/gnu/packages/lxde.scm +++ b/gnu/packages/lxde.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019 Meiyo Peng <meiyo@riseup.net> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -226,6 +227,8 @@ performance, all instances of the terminal are sharing a single process.") (inputs `(("glib" ,glib) ("libfm" ,libfm-extra))) (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags '("CFLAGS=-fcommon"))) (synopsis "LXDE implementation of the freedesktop menu's cache") (description "Menu-cache is a library creating and utilizing caches to speed up the access to freedesktop.org defined application menus.") @@ -399,6 +402,7 @@ with freedesktop.org standard.") (string-append "graphical_su=" (search-input-file inputs "/bin/ktsuss"))))))) #:configure-flags (list + "CFLAGS=-fcommon" (string-append "--with-preferable-sudo=" (assoc-ref %build-inputs "ktsuss") "/bin/ktsuss") diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 93eee3de88..db8c8dedc8 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -56,6 +56,7 @@ #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages cmake) + #:use-module (gnu packages cpp) #:use-module (gnu packages cran) #:use-module (gnu packages databases) #:use-module (gnu packages dejagnu) @@ -64,12 +65,15 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages image) + #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) #:use-module (gnu packages maths) #:use-module (gnu packages mpi) + #:use-module (gnu packages ninja) #:use-module (gnu packages ocaml) #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages parallel) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) @@ -85,6 +89,7 @@ #:use-module (gnu packages statistics) #:use-module (gnu packages sqlite) #:use-module (gnu packages swig) + #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) @@ -565,20 +570,68 @@ tools. This enables both rapid prototyping of data pipelines and extensibility in terms of new algorithms.") (license license:gpl3+))) -(define-public python-onnx +(define-public onnx (package - (name "python-onnx") - (version "1.8.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "onnx" version)) - ;; ONNX will build googletest from a git checkout. Patch CMake - ;; to use googletest from Guix and enable tests by default. - (patches (search-patches "python-onnx-use-system-googletest.patch")) - (sha256 - (base32 "1ys5f4kqkabm4mgivsw80zz8xj1svanfbpszqbw9j15914hcarcx")))) + (name "onnx") + (version "1.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/onnx/onnx") + (commit (string-append "v" version)))) + (sha256 + (base32 + "1xnii361f68x0masxgfc4ai7hh3wlxxk56aznwf4m4yr6wqx47ml")) + (file-name (git-file-name name version)) + (patches (search-patches "onnx-use-system-googletest.patch" + "onnx-shared-libraries.patch" + "onnx-skip-model-downloads.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "third_party")))) (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'pass-cmake-arguments + (lambda* (#:key outputs #:allow-other-keys) + ;; Pass options to the CMake-based build process. + (define out + (assoc-ref outputs "out")) + + (define args + ;; Copy arguments from 'cmake-build-system', plus ask + ;; for shared libraries. + (list "-DCMAKE_BUILD_TYPE=RelWithDebInfo" + (string-append "-DCMAKE_INSTALL_PREFIX=" out) + "-DCMAKE_INSTALL_LIBDIR=lib" + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + (string-append "-DCMAKE_INSTALL_RPATH=" out + "/lib") + "-DCMAKE_VERBOSE_MAKEFILE=ON" + + "-DBUILD_SHARED_LIBS=ON")) + + ;; This environment variable is honored by 'setup.py', + ;; which passes it down to 'cmake'. + (setenv "CMAKE_ARGS" (string-join args)) + + ;; This one is honored by 'setup.py' and passed to 'make + ;; -j'. + (setenv "MAX_JOBS" + (number->string (parallel-job-count))))) + (add-before 'check 'make-test-directory-writable + (lambda _ + ;; Make things writable for tests. + (setenv "HOME" (getcwd)) + (for-each make-file-writable + (find-files "onnx/examples" "." + #:directories? #t)))) + (add-after 'install 'install-from-cmake + (lambda _ + ;; Run "make install" in the build tree 'setup.py' + ;; created for CMake so that libonnx.so, + ;; libonnx_proto.so, etc. are installed. + (invoke "make" "install" + "-C" ".setuptools-cmake-build")))))) (native-inputs `(("cmake" ,cmake) ("googletest" ,googletest) @@ -605,6 +658,56 @@ computation graph model, as well as definitions of built-in operators and standard data types.") (license license:expat))) +(define-public python-onnx + ;; This used to be called "python-onnx" because it provided nothing but + ;; Python bindings. The package now provides shared libraries and C++ + ;; headers, hence the name change. + (deprecated-package "python-onnx" onnx)) + +(define-public onnx-optimizer + (package + (name "onnx-optimizer") + ;; Note: 0.2.x is *more* recent than 1.5.0. + (version "0.2.6") + (home-page "https://github.com/onnx/optimizer") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "1wkqqdxcxpfbf8zpbdfdd3zz5jkw775g31gyykj11z4y6pp659l6")) + (file-name (git-file-name name version)) + (patches (search-patches "onnx-optimizer-system-library.patch")) + (modules '((guix build utils))) + (snippet '(delete-file-recursively "third_party")))) + (build-system python-build-system) + (arguments (package-arguments onnx)) ;reuse build system tweaks + (native-inputs + `(("cmake" ,cmake) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner) + ("python-nbval" ,python-nbval) + ("python-coverage" ,python-coverage))) + (inputs + `(("onnx" ,onnx) + ("protobuf" ,protobuf) + ("pybind11" ,pybind11))) + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (synopsis "Library to optimize ONNX models") + (description + "This package provides a C++ and Python library for performing arbitrary +optimizations on ONNX models, as well as a growing list of prepackaged +optimization passes. + +Not all possible optimizations can be directly implemented on ONNX graphs--- +some will need additional backend-specific information---but many can, and the +aim is to provide all such passes along with ONNX so that they can be re-used +with a single function call.") + (license license:expat))) + (define-public rxcpp (package (name "rxcpp") @@ -646,23 +749,22 @@ synchronization, thread-safety, concurrent data structures, and non-blocking I/O.") (license license:asl2.0))) -(define-public gemmlowp-for-tensorflow - ;; The commit hash is taken from "tensorflow/workspace.bzl". - (let ((commit "38ebac7b059e84692f53e5938f97a9943c120d98") - (revision "2")) + +(define-public gemmlowp + (let ((commit "f9959600daa42992baace8a49544a00a743ce1b6") + (version "0.1") + (revision "1")) (package (name "gemmlowp") - (version (git-version "0" revision commit)) + (version (git-version version revision commit)) + (home-page "https://github.com/google/gemmlowp") (source (origin - (method url-fetch) - (uri (string-append "https://mirror.bazel.build/" - "github.com/google/gemmlowp/archive/" - commit ".zip")) - (file-name (string-append "gemmlowp-" version ".zip")) + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 - "0n56s2g8hrssm4w8qj1v58gfm56a04n9v992ixkmvk6zjiralzxq")))) - (build-system cmake-build-system) + "1hzfhlhzcb827aza6a7drydc67dw5fm3qfqilb9ibskan8dsf0c6")))) (arguments `(#:configure-flags (list ,@(match (%current-system) @@ -682,18 +784,15 @@ I/O.") (inc (string-append out "/include/"))) (install-file "../build/libeight_bit_int_gemm.so" lib) (for-each (lambda (dir) - (let ((target (string-append inc "/" dir))) - (mkdir-p target) + (let ((target + (string-append inc "/gemmlowp/" dir))) (for-each (lambda (h) (install-file h target)) (find-files (string-append "../" dir) "\\.h$")))) '("meta" "profiling" "public" "fixedpoint" - "eight_bit_int_gemm" "internal")) - #t)))))) - (native-inputs - `(("unzip" ,unzip))) - (home-page "https://github.com/google/gemmlowp") + "eight_bit_int_gemm" "internal")))))))) + (build-system cmake-build-system) (synopsis "Small self-contained low-precision GEMM library") (description "This is a small self-contained low-precision @dfn{general matrix @@ -703,6 +802,46 @@ at most 8 bits. To avoid overflow, results are internally accumulated on more than 8 bits, and at the end only some significant 8 bits are kept.") (license license:asl2.0)))) +(define-public gemmlowp-for-tensorflow + ;; The commit hash is taken from "tensorflow/workspace.bzl". + (let ((commit "38ebac7b059e84692f53e5938f97a9943c120d98") + (revision "2")) + (package + (inherit gemmlowp) + (version (git-version "0" revision commit)) + (source (origin + (method url-fetch) + (uri (string-append "https://mirror.bazel.build/" + "github.com/google/gemmlowp/archive/" + commit ".zip")) + (file-name (string-append "gemmlowp-" version ".zip")) + (sha256 + (base32 + "0n56s2g8hrssm4w8qj1v58gfm56a04n9v992ixkmvk6zjiralzxq")))) + (arguments + (substitute-keyword-arguments (package-arguments gemmlowp) + ((#:phases phases) + `(modify-phases ,phases + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib/")) + (inc (string-append out "/include/"))) + (install-file "../build/libeight_bit_int_gemm.so" lib) + (for-each (lambda (dir) + ;; Note: Install headers straight into + ;; $includedir instead of $includedir/gemmlowp. + (let ((target (string-append inc "/" dir))) + (for-each (lambda (h) + (install-file h target)) + (find-files (string-append "../" dir) + "\\.h$")))) + '("meta" "profiling" "public" "fixedpoint" + "eight_bit_int_gemm" "internal"))))))))) + (native-inputs + `(("unzip" ,unzip))) + (properties '((hidden? . #t)))))) + (define-public dlib (package (name "dlib") @@ -787,7 +926,7 @@ computing environments.") (define-public python-scikit-learn (package (name "python-scikit-learn") - (version "0.24.1") + (version "0.24.2") (source (origin (method git-fetch) @@ -797,13 +936,13 @@ computing environments.") (file-name (git-file-name name version)) (sha256 (base32 - "0dd854hi9h81pa3y6gwa6r4qjwrwq5fndi312h6dkqzfh7jbvgvd")))) + "0hm92biqwwc87bqnr56lwa5bz77lr7k9q21rdwksnfzq3vsdp2nm")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (add-after 'build 'build-ext - (lambda _ (invoke "python" "setup.py" "build_ext" "--inplace") #t)) + (lambda _ (invoke "python" "setup.py" "build_ext" "--inplace"))) (replace 'check (lambda _ ;; Restrict OpenBLAS threads to prevent segfaults while testing! @@ -819,8 +958,7 @@ computing environments.") ;; 'reset-gzip-timestamps' phase can do its work. (let ((out (assoc-ref outputs "out"))) (for-each make-file-writable - (find-files out "\\.gz$")) - #t)))))) + (find-files out "\\.gz$")))))))) (inputs `(("openblas" ,openblas))) (native-inputs @@ -1189,6 +1327,57 @@ Models, is a program for performing both single-SNP and SNP-set genome-wide association studies (GWAS) on extremely large data sets.") (license license:asl2.0))) +(define-public python-hyperopt + (package + (name "python-hyperopt") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hyperopt" version)) + (sha256 + (base32 "1k4ma8ci0bxghw7g4ms944zak1pi83yv2d6bxd7fcslm1zalfq5w")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "python" "-m" "pytest" "--ignore" + ;; Needs python-pyspark. + "hyperopt/tests/test_spark.py" + ;; Needs both python-scikit-learn and python-lightgbm. + "--ignore" "hyperopt/tests/test_atpe_basic.py" + ;; The tests below need python-lightgbm. + "-k" (string-append "not test_branin" + " and not test_distractor" + " and not test_q1lognormal" + " and not test_quadratic1" + " and not test_twoarms")))))))) + (propagated-inputs + `(("python-cloudpickle" ,python-cloudpickle) + ("python-future" ,python-future) + ("python-networkx" ,python-networkx) + ("python-numpy" ,python-numpy) + ("python-scipy" ,python-scipy) + ("python-six" ,python-six) + ("python-tqdm" ,python-tqdm))) + (native-inputs + `(("python-black" ,python-black) + ("python-ipython" ,python-ipython) + ("python-ipyparallel" ,python-ipyparallel) + ("python-nose" ,python-nose) + ("python-pymongo" ,python-pymongo) + ("python-pytest" ,python-pytest))) + (home-page "https://hyperopt.github.io/hyperopt/") + (synopsis "Library for hyperparameter optimization") + (description "Hyperopt is a Python library for serial and parallel +optimization over awkward search spaces, which may include real-valued, +discrete, and conditional dimensions.") + (license license:bsd-3))) + ;; There have been no proper releases yet. (define-public kaldi (let ((commit "d4791c0f3fc1a09c042dac365e120899ee2ad21e") @@ -1924,6 +2113,175 @@ together building blocks and a subclassing API with an imperative style for advanced research.") (license license:asl2.0))) +(define-public tensorflow-lite + (package + (name "tensorflow-lite") + (version "2.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tensorflow/tensorflow") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jdw2i1rq06zqd6aabh7bbm0avsg4pygnfmd7gviv0blhih9054l")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #false ; no "check" target + #:build-type "Release" + #:configure-flags + (list + "-DTFLITE_ENABLE_GPU=OFF" + "-DTFLITE_ENABLE_RUY=OFF" + + ;; TODO: The build system attempts to build xnnpack from source. We + ;; would like to use our xnnpack package here, but this requires more + ;; work. + "-DTFLITE_ENABLE_XNNPACK=OFF" + + ;; Pretend we've already fetched abseil. We won't actually build it + ;; but use the existing package. + "-Dabseil-cpp_POPULATED=TRUE" + + ;; Don't fetch the sources. We have already built flatbuffers. + "-Dflatbuffers_POPULATED=TRUE" + + "-DFFT2D_SOURCE_DIR=/tmp/fft2d" + "-Dneon2sse_SOURCE_DIR=/tmp/neon2sse" + "-Dneon2sse_BINARY_DIR=/tmp/neon2sse-bin" + "-DFARMHASH_SOURCE_DIR=/tmp/farmhash" + "-Dgemmlowp_SOURCE_DIR=/tmp/gemmlowp" + (string-append "-DRUY_SOURCE_DIR=" + (assoc-ref %build-inputs "ruy-src"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "tensorflow/lite"))) + (add-after 'chdir 'copy-sources + (lambda* (#:key inputs #:allow-other-keys) + ;; Use external cmake finders instead of these stubs that won't + ;; find anything but the bundled sources. + (delete-file "tools/cmake/modules/Findabsl.cmake") + (delete-file "tools/cmake/modules/Findeigen.cmake") + + (substitute* "CMakeLists.txt" + (("find_package\\(eigen REQUIRED") + "find_package(eigen REQUIRED NAMES Eigen3")) + (substitute* "tools/cmake/modules/Findflatbuffers.cmake" + (("get_target_property.*") + (format #false "set(FLATBUFFERS_INCLUDE_DIRS ~a/include)\n" + (assoc-ref inputs "flatbuffers")))) + + ;; Don't fetch source code; we already have everything we need. + (substitute* '("tools/cmake/modules/fft2d.cmake" + "tools/cmake/modules/ruy.cmake" + "tools/cmake/modules/farmhash.cmake" + "tools/cmake/modules/neon2sse.cmake" + "tools/cmake/modules/gemmlowp.cmake") + (("OverridableFetchContent_Populate.*") "")) + + (mkdir-p "/tmp/farmhash") + (with-directory-excursion "/tmp/farmhash" + (invoke "tar" "--strip-components=1" + "-xf" (assoc-ref inputs "farmhash-src"))) + + (mkdir-p "/tmp/fft2d") + (with-directory-excursion "/tmp/fft2d" + (invoke "tar" "--strip-components=1" + "-xf" (assoc-ref inputs "fft2d-src"))) + + (copy-recursively (assoc-ref inputs "neon2sse-src") + "/tmp/neon2sse/") + (copy-recursively (assoc-ref inputs "gemmlowp-src") + "/tmp/gemmlowp/"))) + (add-after 'copy-sources 'prepare-shared-library-build + (lambda _ (chdir "c"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (headers (string-append out "/include/tensorflow/lite"))) + (install-file "../build/libtensorflowlite_c.so" lib) + (with-directory-excursion ".." + (for-each + (lambda (file) + (let ((target-dir (string-append headers "/" (dirname file)))) + (install-file file target-dir))) + (find-files "." "\\.h$"))))))))) + (inputs + `(("abseil-cpp" ,abseil-cpp) + ("eigen" ,eigen-for-tensorflow-lite) + ("flatbuffers" ,flatbuffers) + ("python" ,python))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("gemmlowp-src" + ;; The commit hash is taken from + ;; "tensorflow/lite/tools/cmake/modules/gemmlowp.cmake". + ,(let ((commit "fda83bdc38b118cc6b56753bd540caa49e570745")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/gemmlowp") + (commit commit))) + (file-name (git-file-name "gemmlowp" (string-take commit 8))) + (sha256 + (base32 + "1sbp8kmr2azwlvfbzryy1frxi99jhsh1nc93bdbxdf8zdgpv0kxl"))))) + ("neon2sse-src" + ,(let ((commit "a1652fd5253afbf3e39357b012974f93511f6108")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/ARM_NEON_2_x86_SSE") + (commit commit))) + (file-name (git-file-name "neon2sse" (string-take commit 8))) + (sha256 + (base32 + "1q8gkxag9wlnwdwad2pclsrkwzrdjy94hyrkayrsvxyj7szb5y8i"))))) + ("farmhash-src" + ,(let ((commit "816a4ae622e964763ca0862d9dbd19324a1eaf45")) + (origin + (method url-fetch) + (uri (string-append + "https://mirror.bazel.build/github.com/google/farmhash/archive/" + commit ".tar.gz")) + (file-name (git-file-name "farmhash" (string-take commit 8))) + (sha256 + (base32 + "185b2xdxl4d4cnsnv6abg8s22gxvx8673jq2yaq85bz4cdy58q35"))))) + ("fft2d-src" + ,(origin + (method url-fetch) + (uri (string-append "https://storage.googleapis.com/" + "mirror.tensorflow.org/" + "www.kurims.kyoto-u.ac.jp/~ooura/fft2d.tgz")) + (file-name "fft2d.tar.gz") + (sha256 + (base32 + "1jfflzi74fag9z4qmgwvp90aif4dpbr1657izmxlgvf4hy8fk9xd")))) + ("ruy-src" + ,(let ((commit "9c56af3fce210a8a103eda19bd6f47c08a9e3d90")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/ruy") + (commit commit) + (recursive? #true))) + (file-name (git-file-name "ruy" (string-take commit 8))) + (sha256 + (base32 + "1cfd5gk6kaj8kbl3h98gx1ap8czd59y6p8qq8nr28fklpyzf5cis"))))))) + (home-page "https://tensorflow.org") + (synopsis "Machine learning framework") + (description + "TensorFlow is a flexible platform for building and training machine +learning models. This package provides the \"lite\" variant for mobile +devices.") + (license license:asl2.0))) + (define-public python-iml (package (name "python-iml") @@ -2088,8 +2446,8 @@ that: (define-public gloo (let ((version "0.0.0") ; no proper version tag - (commit "ca528e32fea9ca8f2b16053cff17160290fc84ce") - (revision "0")) + (commit "c22a5cfba94edf8ea4f53a174d38aa0c629d070f") + (revision "1")) (package (name "gloo") (version (git-version version revision commit)) @@ -2102,18 +2460,20 @@ that: (file-name (git-file-name name version)) (sha256 (base32 - "1q9f80zy75f6njrzrqkmhc0g3qxs4gskr7ns2jdqanxa2ww7a99w")))) + "1crmqgybzkgkpbmcx16912gsl5qsj49swa0ikx6mhqgph0chrh11")))) (build-system cmake-build-system) (native-inputs `(("googletest" ,googletest))) + (inputs + `(("openssl" ,openssl))) (arguments `(#:configure-flags '("-DBUILD_TEST=1") #:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "make" "gloo_test") - #t))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "gloo_test"))))))) (synopsis "Collective communications library") (description "Gloo is a collective communications library. It comes with a @@ -2150,3 +2510,219 @@ These include a barrier, broadcast, and allreduce.") technique that can be used for visualisation similarly to t-SNE, but also for general non-linear dimension reduction.") (license license:bsd-3))) + +(define-public xnnpack + ;; There's currently no tag on this repo. + (let ((version "0.0") + (commit "bbe88243aba847f6a3dd86defec0fea4a0e415a1") + (revision "1")) + (package + (name "xnnpack") + (version (git-version version revision commit)) + (home-page "https://github.com/google/XNNPACK") ;fork of QNNPACK + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19j605x1l2h95mjhcj90zwjh1153pdgmqggl35ya5w0wll628iiz")) + (patches (search-patches "xnnpack-system-libraries.patch")))) + (build-system cmake-build-system) + (arguments + '(#:configure-flags '("-DXNNPACK_USE_SYSTEM_LIBS=YES" + "-DBUILD_SHARED_LIBS=ON" + "-DXNNPACK_LIBRARY_TYPE=shared" + "-DXNNPACK_BUILD_TESTS=FALSE" ;FIXME: see below + "-DXNNPACK_BUILD_BENCHMARKS=FALSE") + + ;; FIXME: Building tests leads to a CMake error: + ;; + ;; ADD_LIBRARY cannot create target "all_microkernels" because + ;; another target with the same name already exists. + #:tests? #f)) + (inputs + `(("cpuinfo" ,cpuinfo) + ("pthreadpool" ,pthreadpool) + ("googletest" ,googletest) + ("googlebenchmark" ,googlebenchmark) + ("fxdiv" ,fxdiv) + ("fp16" ,fp16) + ("psimd" ,psimd))) + (synopsis "Optimized floating-point neural network inference operators") + (description + "XNNPACK is a highly optimized library of floating-point neural network +inference operators for ARM, WebAssembly, and x86 platforms. XNNPACK is not +intended for direct use by deep learning practitioners and researchers; +instead it provides low-level performance primitives for accelerating +high-level machine learning frameworks, such as TensorFlow Lite, +TensorFlow.js, PyTorch, and MediaPipe.") + (license license:bsd-3)))) + +(define-public python-pytorch + (package + (name "python-pytorch") + (version "1.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pytorch/pytorch") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cznsh68hwk5761gv7iijb4g6jgjpvs3bbixwpzzmkbkbn2q96c1")) + (patches (search-patches "python-pytorch-system-libraries.patch" + "python-pytorch-runpath.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; XXX: Let's be clear: this package is a bundling fest. We + ;; delete as much as we can, but there's still a lot left. + (for-each (lambda (directory) + (delete-file-recursively + (string-append "third_party/" directory))) + '("benchmark" "cpuinfo" "eigen" + + ;; FIXME: QNNPACK (of which XNNPACK is a fork) + ;; needs these. + ;; "FP16" "FXdiv" "gemmlowp" "psimd" + + "gloo" "googletest" "ios-cmake" + "onnx" "protobuf" "pthreadpool" + "pybind11" "python-enum" "python-peachpy" + "python-six" "tbb" "XNNPACK" "zstd")) + + ;; Adjust references to the onnx-optimizer headers. + (substitute* "caffe2/onnx/backend.cc" + (("onnx/optimizer/") + "onnxoptimizer/")))))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-before 'build 'use-system-libraries + (lambda* (#:key outputs #:allow-other-keys) + ;; Tell 'setup.py' to let 'CMakeLists.txt' know that we + ;; want to use "system libraries" instead of the bundled + ;; ones. + (setenv "USE_SYSTEM_LIBS" "1") + + ;; XXX: Disable that for simplicity for now. + (setenv "USE_FBGEMM" "0"))) + (add-before 'build 'make-things-writable + (lambda _ + ;; The 'build_caffe2' function in + ;; 'tools/build_pytorch_libs.py', called from the + ;; top-level 'setup.py', needs write access to this + ;; directory. + (for-each make-file-writable + (find-files "caffe2/proto" "." + #:directories? #t)))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + ;; Run the test suite following the instructions in + ;; 'CONTRIBUTING.md'. XXX: Unfortunately this doesn't + ;; work, unless you set PYTHONPATH presumably. + (when tests? + (let ((python-site (site-packages inputs outputs))) + (setenv "PYTHONPATH" + (string-append python-site ":" + (getenv "PYTHONPATH"))) + (invoke "python" "test/run_test.py"))))) + (add-after 'install 'remove-test-executables + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Remove test executables, but keep other executables + ;; such as 'torch_shm_manager' and and .so files such as + ;; 'libtorch_global_deps.so'. + (let ((python-site (site-packages inputs outputs))) + (for-each delete-file + (find-files python-site + "(^test_cpp_rpc|_test)$")))))) + + ;; XXX: Tests attempt to download data such as + ;; <https://raw.githubusercontent.com/pytorch/test-infra/master/stats/slow-tests.json>. + #:tests? #f)) + (native-inputs + `(("cmake" ,cmake) + ("ninja" ,ninja))) + (inputs + `(("eigen" ,eigen) + ;; ("fmt" ,fmt) + ("fp16" ,fp16) + ("gemmlowp" ,gemmlowp) + ("googletest" ,googletest) + ("googlebenchmark" ,googlebenchmark) + ("gloo" ,gloo) + ("openblas" ,openblas) + ("openmpi" ,openmpi) + ("pthreadpool" ,pthreadpool) + ("protobuf" ,protobuf) + ("pybind11" ,pybind11) + ("sleef" ,sleef) + ("xnnpack" ,xnnpack) + ("zstd" ,zstd))) + (propagated-inputs + `(("python-astunparse" ,python-astunparse) + ("python-numpy" ,python-numpy) + ("python-pyyaml" ,python-pyyaml) + ("python-cffi" ,python-cffi) + ("python-peachpy" ,python-peachpy) + ("python-typing-extensions" ,python-typing-extensions) + ("python-future" ,python-future) + ("python-six" ,python-six) + ("python-requests" ,python-requests) + ("onnx" ,onnx) ;propagated for its Python modules + ("onnx-optimizer" ,onnx-optimizer) + ("cpuinfo" ,cpuinfo))) + (home-page "https://pytorch.org/") + (synopsis "Python library for tensor computation and deep neural networks") + (description + "PyTorch is a Python package that provides two high-level features: + +@itemize +@item tensor computation (like NumPy) with strong GPU acceleration; +@item deep neural networks (DNNs) built on a tape-based autograd system. +@end itemize + +You can reuse Python packages such as NumPy, SciPy, and Cython to extend +PyTorch when needed. + +Note: currently this package does not provide GPU support.") + (license license:bsd-3))) + +(define-public python-hmmlearn + (package + (name "python-hmmlearn") + (version "0.2.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "hmmlearn" version)) + (sha256 + (base32 + "1my0j3rzp17438idr32ssh0j969a98yjblx5igx5kgiiigr9qa1a")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (with-directory-excursion (string-append (assoc-ref outputs "out") "/lib") + (invoke "python" "-m" "pytest")))))))) + (propagated-inputs + `(("python-cython" ,python-cython) + ("python-numpy" ,python-numpy) + ("python-scikit-learn" ,python-scikit-learn) + ("python-scipy" ,python-scipy) + ("python-setuptools-scm" ,python-setuptools-scm))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/hmmlearn/hmmlearn") + (synopsis "Hidden Markov Models with scikit-learn like API") + (description + "Hmmlearn is a set of algorithms for unsupervised learning and inference +of Hidden Markov Models.") + (license license:bsd-3))) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index bdfc432880..69211ed9b2 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Al McElrath <hello@yrns.org> ;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> @@ -32,7 +32,7 @@ ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org> ;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2021 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> @@ -157,6 +157,7 @@ #:use-module (gnu packages xml) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix svn-download) @@ -167,6 +168,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system go) #:use-module (guix build-system guile) + #:use-module (guix build-system emacs) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) @@ -260,17 +262,16 @@ example, modify the message headers or body, or encrypt or sign the message.") (define-public mailutils (package (name "mailutils") - (version "3.10") + (version "3.13") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mailutils/mailutils-" version ".tar.xz")) (sha256 (base32 - "17smrxjdgbbzbzakik30vj46q4iib85ksqhb82jr4vjp57akszh9")) + "1iwl82d6aa2acsdxbqh1s5xx44sg83b4yxqik408m1s9rcfrf86r")) (patches - ;; Fixes https://issues.guix.gnu.org/43088. - (search-patches "mailutils-fix-uninitialized-variable.patch")))) + (search-patches "mailutils-variable-lookup.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -294,8 +295,9 @@ example, modify the message headers or body, or encrypt or sign the message.") ;; The 'pipeact.at' tests generate a shell script; make ;; sure it uses the right shell. (substitute* '("sieve/tests/testsuite" - "mh/tests/testsuite") - (("#! /bin/sh") + "mh/tests/testsuite" + "libmailutils/tests/lock.at") + (("#! ?/bin/sh") (string-append "#!" (which "sh")))) (substitute* "mh/tests/testsuite" @@ -327,8 +329,9 @@ example, modify the message headers or body, or encrypt or sign the message.") (format port "Path: ~a/Mail-for-tests~%" (getcwd)))) - #t))) - ;; TODO: Add `--with-sql'. + (substitute* "imap4d/tests/testclient.c" + (("\"/bin/sh\"") + (string-append "\"" (which "sh") "\"")))))) #:configure-flags (list "--sysconfdir=/etc" @@ -340,16 +343,20 @@ example, modify the message headers or body, or encrypt or sign the message.") (package-inputs this-package)) (("guile" guile) (version-major+minor - (package-version guile)))))) - - #:parallel-tests? #f)) + (package-version guile)))))))) (native-inputs - `(("perl" ,perl) ;for 'gylwrap' + ;; Regeneration of the build system is triggered by touching the + ;; 'libmailutils/tests/lock.at' file. + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("gettext" ,gettext-minimal) + ("libtool" ,libtool) + ("m4" ,m4) + ("perl" ,perl) ;for 'gylwrap' ("texinfo" ,texinfo) ("dejagnu" ,dejagnu))) (inputs - `(("m4" ,m4) - ("guile" ,guile-3.0) + `(("guile" ,guile-3.0) ("gsasl" ,gsasl) ("gnutls" ,gnutls) ("ncurses" ,ncurses) @@ -357,7 +364,6 @@ example, modify the message headers or body, or encrypt or sign the message.") ("linux-pam" ,linux-pam) ("libltdl" ,libltdl) ("gdbm" ,gdbm) - ;; Required for SEARCH CHARSET. ("libiconv" ,libiconv) ("libunistring" ,libunistring))) @@ -368,7 +374,24 @@ example, modify the message headers or body, or encrypt or sign the message.") processing electronic mail. It contains both utilities and server daemons and all operate in a protocol-agnostic way. The underlying libraries are also available, simplifying the addition of mail capabilities to new -software.") +software. GNU Mailutils provides the following commands: +@itemize @command +@item dotlock +@item decodemail +@item frm +@item from +@item guimb +@item mail +@item mailutils +@item mailutils-config +@item messages +@item mimeview +@item movemail +@item popauth +@item putmail +@item readmsg +@item sieve +@end itemize") (license ;; Libraries are under LGPLv3+, and programs under GPLv3+. (list license:gpl3+ license:lgpl3+)))) @@ -499,7 +522,7 @@ to run without any changes.") (define-public fetchmail (package (name "fetchmail") - (version "6.4.19") + (version "6.4.21") (source (origin (method url-fetch) @@ -507,7 +530,7 @@ to run without any changes.") (version-major+minor version) "/" "fetchmail-" version ".tar.xz")) (sha256 - (base32 "0pvbknpimf38ws4gskad79wd1cvy62kcsjy65sm0rr83s6ii33fd")))) + (base32 "07cxr5137hvrk8jfgn4wd6sq9361c3d40w8krnjxm8fpmwf9qiba")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl))) @@ -534,7 +557,7 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (list @@ -544,7 +567,7 @@ aliasing facilities to work just as they would on normal mail.") version ".tar.gz"))) (sha256 (base32 - "0dqd6gg1wwhxjgdfl8j0kf93mw43kvd6wrwrzkscq2wjrsy5p0w0")) + "0jjjvqkqmpj55v111p1a1i2ry7mpd1bpphn1bhvlr18rgw7xdrja")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs @@ -1045,53 +1068,58 @@ content (body). The program is able to learn from the user's classifications and corrections. It is based on a Bayesian filter.") (license license:gpl3+))) -(define-public offlineimap - (package - (name "offlineimap") - (version "7.3.3") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/OfflineIMAP/offlineimap") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1gg8ry67i20qapj4z20am9bm67m2q28kixcj7ja75m897vhzarnq")))) - (build-system python-build-system) - (native-inputs - `(("asciidoc" ,asciidoc))) - (inputs - `(("python2-pysqlite" ,python2-pysqlite) - ("python2-rfc6555" ,python2-rfc6555) - ("python2-six" ,python2-six))) - (arguments - ;; The setup.py script expects python-2. - `(#:python ,python-2 - ;; Tests require a modifiable IMAP account. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'build 'build-documentation - (lambda _ - (substitute* "docs/Makefile" - ;; Prevent xmllint and xsltproc from downloading a DTD file. - (("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v")) - (invoke "make" "-C" "docs" "man"))) - (add-after 'install 'install-documentation - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (man (string-append out "/share/man"))) - (install-file "docs/offlineimap.1" (string-append man "/man1")) - (install-file "docs/offlineimapui.7" (string-append man "/man7")) - #t)))))) - (home-page "https://www.offlineimap.org") - (synopsis "Sync emails between two repositories") - (description - "OfflineImap synchronizes emails between two repositories, so that you +(define-public offlineimap3 + ;; The OfflineIMAP3 fork does not yet have a release, but it's likely to be + ;; 8.0.0 but the source still reports 7.3.0, see + ;; https://github.com/OfflineIMAP/offlineimap3/issues/10. + (let ((commit "4ca9c75c6f9a0cc8dc7b69dd6abf073e494cc0e5") + (revision "0")) + (package + (name "offlineimap3") + (version (git-version "7.3.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OfflineIMAP/offlineimap3") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nzh5dcc559jfw4yy12gc98s17w82b15zxikspc6apd8filmk9xg")))) + (build-system python-build-system) + (native-inputs + `(("asciidoc" ,asciidoc))) + (inputs + `(("python-distro" ,python-distro) + ("python-imaplib2" ,python-imaplib2) + ("python-rfc6555" ,python-rfc6555))) + (arguments + `(;; Tests require a modifiable IMAP account. + #:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'build 'build-documentation + (lambda _ + (substitute* "docs/Makefile" + ;; Prevent xmllint and xsltproc from downloading a DTD file. + (("a2x -v") "a2x --no-xmllint --xsltproc-opts=--nonet -v")) + (invoke "make" "-C" "docs" "man"))) + (add-after 'install 'install-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man"))) + (install-file "docs/offlineimap.1" (string-append man "/man1")) + (install-file "docs/offlineimapui.7" (string-append man "/man7")))))))) + (home-page "https://www.offlineimap.org") + (synopsis "Sync emails between two repositories") + (description + "OfflineImap synchronizes emails between two repositories, so that you can read the same mailbox from multiple computers. It supports IMAP as REMOTE repository and Maildir/IMAP as LOCAL repository.") - (license license:gpl2+))) + (license license:gpl2+)))) + +(define-public offlineimap + (deprecated-package "offlineimap" offlineimap3)) (define-public emacs-mew (package @@ -1147,7 +1175,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (define-public mu (package (name "mu") - (version "1.4.15") + (version "1.6.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/djcb/mu/releases/" @@ -1155,7 +1183,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") "mu-" version ".tar.xz")) (sha256 (base32 - "0ailz0k5fdgq6gdl5m7jxy315b7qn5ckj6xwd49hsiq9vqblwlpp")))) + "0irqr1z1ljmij2vbj8dr8w9mbfalzikxr4s6340jjwmkmhaslh2h")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1164,7 +1192,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") ("tzdata" ,tzdata-for-tests))) ; for mu/test/test-mu-query.c (inputs `(("xapian" ,xapian) - ("guile" ,guile-2.2) + ("guile" ,guile-3.0) ("glib" ,glib) ("gmime" ,gmime))) (arguments @@ -1182,29 +1210,20 @@ security functionality including PGP, S/MIME, SSH, and SSL.") ;; the lispdir anyway, so we have to modify "configure.ac". (lambda _ (substitute* "configure" - (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") "") - ;; Use latest Guile - (("guile-2.0") "guile-2.2")) - (substitute* '("guile/Makefile.in" - "guile/mu/Makefile.in") - (("share/guile/site/2.0/") "share/guile/site/2.2/")) - #t)) + (("^ +lispdir=\"\\$\\{lispdir\\}/mu4e/\".*") "")))) (add-after 'unpack 'patch-bin-sh-in-tests (lambda _ - (substitute* '("guile/tests/test-mu-guile.c" - "mu/test-mu-cmd.c" - "mu/test-mu-cmd-cfind.c" - "mu/test-mu-query.c" - "mu/test-mu-threads.c") - (("/bin/sh") (which "sh"))) - #t)) + (substitute* '("guile/tests/test-mu-guile.cc" + "mu/test-mu-cmd.cc" + "mu/test-mu-cmd-cfind.cc" + "mu/test-mu-query.cc") + (("/bin/sh") (which "sh"))))) (add-before 'install 'fix-ffi (lambda* (#:key outputs #:allow-other-keys) (substitute* "guile/mu.scm" (("\"libguile-mu\"") (format #f "\"~a/lib/libguile-mu\"" - (assoc-ref outputs "out")))) - #t)) + (assoc-ref outputs "out")))))) (add-before 'check 'check-tz-setup (lambda* (#:key inputs #:allow-other-keys) ;; For mu/test/test-mu-query.c @@ -1215,8 +1234,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.") (emacs-generate-autoloads "mu4e" (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp")) - #t))))) + "/share/emacs/site-lisp"))))))) (home-page "https://www.djcbsoftware.nl/code/mu/") (synopsis "Quickly find emails") (description @@ -1345,31 +1363,18 @@ invoking @command{notifymuch} from the post-new hook.") "1myylb19hj5nb1vriqng252vfjwwkgbi3gxj93pi2q1fzyw7w2lf")))) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) - ((guix build emacs-build-system) #:prefix emacs:) - (guix build utils)) - #:imported-modules (,@%gnu-build-system-modules - (guix build emacs-build-system) - (guix build emacs-utils)) - #:make-flags + `(#:make-flags (list "V=1" ; verbose test output "NOTMUCH_TEST_TIMEOUT=1h") ; don't fail on slow machines #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-notmuch-lib.el - (lambda _ - (substitute* "emacs/notmuch-lib.el" - (("/bin/sh") (which "sh"))))) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) - (setenv "CC" "gcc") + (setenv "CC" ,(cc-for-target)) (setenv "CONFIG_SHELL" (which "sh")) - - (let* ((out (assoc-ref outputs "out")) - (elisp (emacs:elpa-directory out))) + (let* ((out (assoc-ref outputs "out"))) (invoke "./configure" (string-append "--prefix=" out) - (string-append "--emacslispdir=" elisp) - (string-append "--emacsetcdir=" elisp))))) + "--without-emacs")))) (add-before 'check 'disable-failing-tests ;; FIXME: Investigate why these tests are failing, ;; and try removing this for notmuch versions > 0.31. @@ -1378,21 +1383,20 @@ invoking @command{notifymuch} from the post-new hook.") (("\\$NOTMUCH_GMIME_X509_CERT_VALIDITY") "0")))) (add-before 'check 'prepare-test-environment (lambda _ - (setenv "TEST_CC" "gcc") + (setenv "TEST_CC" ,(cc-for-target)) ;; Patch various inline shell invocations. (substitute* (find-files "test" "\\.sh$") - (("/bin/sh") (which "sh"))))) - (add-after 'install 'make-autoloads - (assoc-ref emacs:%standard-phases 'make-autoloads))))) + (("/bin/sh") (which "sh")))))))) (native-inputs `(("bash-completion" ,bash-completion) - ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests ("pkg-config" ,pkg-config) ("python" ,python) ("python-docutils" ,python-docutils) ("sphinx" ,python-sphinx) + ("texinfo" ,texinfo) ;; The following are required for tests only. + ("emacs" ,emacs-no-x) ; -minimal lacks libxml, needed for some tests ("which" ,which) ("dtach" ,dtach) ("gnupg" ,gnupg) @@ -1411,6 +1415,32 @@ invoking @command{notifymuch} from the post-new hook.") ing, and tagging large collections of email messages.") (license license:gpl3+))) +(define-public emacs-notmuch + (package + (inherit notmuch) + (name "emacs-notmuch") + (build-system emacs-build-system) + (native-inputs '()) + (inputs + `(("notmuch" ,notmuch))) + (arguments + `(#:exclude (cons* "make-deps.el" "rstdoc.el" %default-exclude) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "emacs"))) + (add-after 'chdir 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (let ((notmuch (assoc-ref inputs "notmuch"))) + (substitute* "notmuch-lib.el" + (("\"notmuch\"") + (string-append "\"" notmuch "/bin/notmuch\""))))))))) + (synopsis "Run Notmuch within Emacs") + (description + "This package provides an Emacs-based interface to the Notmuch mail +system."))) + (define-public notmuch-addrlookup-c (package (name "notmuch-addrlookup-c") @@ -1628,6 +1658,16 @@ compresses it.") "gtk_update_icon_cache=true") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda* (#:key inputs #:allow-other-keys) + ;; Use absolute paths to referenced programs. + (let* ((mailutils (assoc-ref inputs "mailutils")) + (inc (string-append mailutils "/bin/mu-mh/inc")) + (send-mail (assoc-ref inputs "sendmail")) + (sendmail (string-append send-mail "/sbin/sendmail"))) + (substitute* "src/common/defs.h" + (("/usr/bin/mh/inc") inc) + (("/usr/sbin/sendmail") sendmail))))) (add-before 'build 'patch-mime (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/procmime.c" @@ -1673,6 +1713,7 @@ compresses it.") ("libsm" ,libsm) ("libsoup" ,libsoup) ("libxml2" ,libxml2) + ("mailutils" ,mailutils) ("nettle" ,nettle) ("network-manager" ,network-manager) ("openldap" ,openldap) @@ -1680,6 +1721,7 @@ compresses it.") ("poppler" ,poppler) ("python" ,python) ("python-pygobject" ,python-pygobject) + ("sendmail" ,sendmail) ("shared-mime-info" ,shared-mime-info) ("startup-notification" ,startup-notification) ;;("webkitgtk" ,webkitgtk) @@ -1861,7 +1903,7 @@ facilities for checking incoming mail.") (package (name "dovecot") ;; Also update dovecot-pigeonhole when updating to a new minor version. - (version "2.3.15") + (version "2.3.16") (source (origin (method url-fetch) @@ -1869,7 +1911,7 @@ facilities for checking incoming mail.") (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 "141manrh54cy8xizr7f8fsa3vdzc2ccfgdz87l9rjylm8mfxvfr1")))) + (base32 "04ngqv5mml5z0i4p7fkchp4xw2awy7x7mq2mim9frnav0m9iv9q3")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1930,7 +1972,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") (let ((dovecot-version (version-major+minor (package-version dovecot)))) (package (name "dovecot-pigeonhole") - (version "0.5.15") + (version "0.5.16") (source (origin (method url-fetch) @@ -1938,7 +1980,7 @@ It supports mbox/Maildir and its own dbox/mdbox formats.") "https://pigeonhole.dovecot.org/releases/" dovecot-version "/" "dovecot-" dovecot-version "-pigeonhole-" version ".tar.gz")) (sha256 - (base32 "1l2h0p8ddsl3ja2lnwk0mfqplqh8n0iw8k27awd3ak7prr88yjg1")) + (base32 "0f79qsiqnhaxn7mrrfcrnsjyv6357kzb7wa0chhfd69vwa06g8sw")) (modules '((guix build utils))) (snippet '(begin @@ -2093,14 +2135,14 @@ hashing scheme (such as scrypt) plug-in for @code{Dovecot}.") (define-public isync (package (name "isync") - (version "1.4.2") + (version "1.4.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/isync/isync/" version "/isync-" version ".tar.gz")) (sha256 (base32 - "0hskfpj4r4q3959k3npyqli353daj3r5d9mfia9bbmig87nyfd8r")))) + "024p3glj4p7fhrssw5sr55arls9zna1igxxrspxlfd6sbds21ixl")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) @@ -2386,7 +2428,8 @@ be expected from a simple client.") (sha256 (base32 "1ay282rrl92h0m0m8z5zzjnwiiagi7c78aq2qvhia5mw7prwfyw2")) - (file-name (string-append name "-" version "-checkout")))) + (file-name (string-append name "-" version "-checkout")) + (patches (search-patches "esmtp-add-lesmtp.patch")))) (arguments `(#:phases (modify-phases %standard-phases (replace 'bootstrap @@ -2868,6 +2911,13 @@ powerful user customization features.") (substitute* "devtools/bin/Build" (("SHELL=/bin/sh") (string-append "SHELL=" (which "sh")))) #t)) + (add-before 'build 'replace-/usr + (lambda _ + (substitute* + '("devtools/OS/Linux" + "cf/ostype/mklinux.m4" + "cf/ostype/linux.m4") + (("/usr/sbin") "/sbin")))) (replace 'configure (lambda _ @@ -2879,6 +2929,11 @@ powerful user customization features.") (with-output-to-file "devtools/Site/site.config.m4" (lambda () (format #t " +define(`confEBINDIR', `/sbin') +define(`confSBINDIR', `/sbin') +define(`confMBINDIR', `/sbin') +define(`confUBINDIR', `/bin') +define(`confLINKS', `') define(`confCC', `gcc') define(`confOPTIMIZE', `-g -O2') define(`confLIBS', `-lresolv') @@ -2897,13 +2952,21 @@ define(`confINST_DEP', `') (add-before 'install 'pre-install (lambda _ (let ((out (assoc-ref %outputs "out"))) - (mkdir-p (string-append out "/usr/bin")) - (mkdir-p (string-append out "/usr/sbin")) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/sbin")) (mkdir-p (string-append out "/etc/mail")) (setenv "DESTDIR" out) (with-directory-excursion "cf/cf" (invoke "sh" "Build" "install-cf")) - #t)))) + #t))) + (add-after 'install 'post-install + (lambda _ + ;; Make symbolic links manually, because build script uses + ;; absolute paths for them and ignores DESTDIR. + (for-each + (lambda (name) + (symlink "../sbin/sendmail" (string-append %output "/bin/" name))) + '("hoststat" "newaliases" "mailq" "purgestat"))))) ;; There is no make check. There are some post installation tests, but those ;; require root privileges #:tests? #f)) @@ -3730,14 +3793,14 @@ tools and applications: (define-public balsa (package (name "balsa") - (version "2.6.2") + (version "2.6.3") (source (origin (method url-fetch) (uri (string-append "https://pawsa.fedorapeople.org/balsa/" - "balsa-" version ".tar.bz2")) + "balsa-" version ".tar.xz")) (sha256 - (base32 "1w0239i01mw4wwwy7xh8gz7zgl5khwvfm5wy35x0swvvax021mai")))) + (base32 "1m0x3rk7cp7slr47rmg4y91rbxgs652v706lyxj600m5r5v4bl6l")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -4336,6 +4399,24 @@ based on asyncio.") (license (list license:asl2.0 license:lgpl3)))) ; only for setup_helpers.py +(define-public python-imaplib2 + (package + (name "python-imaplib2") + (version "3.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "imaplib2" version)) + (sha256 + (base32 + "0nqyb274hq30agg1c0zkb5ijmcirgg35sp4dp4n292l665dlijwn")))) + (build-system python-build-system) + (home-page "https://github.com/jazzband/imaplib2/") + (synopsis "Threaded Python IMAP4 client") + (description "This package provides a threaded Python IMAP4 client, based +on RFC 3501 and original @code{imaplib} module.") + (license license:expat))) + (define-public rspamd (package (name "rspamd") @@ -4393,6 +4474,34 @@ score.") undelete email messages from Outlook Express .dbx files.") (license license:gpl3+))) +(define-public libpst + (package + (name "libpst") + (version "0.6.76") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.five-ten-sg.com/libpst/packages/" + "libpst-" version ".tar.gz")) + (sha256 + (base32 + "0hhbbb8ddsgjhv9y1xd8s9ixlhdnjmhw12v06jwx4j6vpgp1na9x")))) + (build-system gnu-build-system) + (inputs + `(("boost" ,boost) + ("libgsf" ,libgsf) + ("python" ,python) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://www.five-ten-sg.com/libpst/") + (synopsis "") + (description "The Libpst utilities include @code{readpst} which can +convert email messages to both mbox and MH mailbox formats, @code{pst2ldif} +which can convert the contacts to @code{.ldif} format for import into LDAP +databases, and other tools to process Outlook email archives.") + (license license:gpl2+))) + (define-public crm114 (package (name "crm114") diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 12e59e9f83..2d7a97488d 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -30,7 +30,7 @@ #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (guix build-system trivial) #:use-module (guix build-system gnu) - #:use-module ((gnu packages) #:select (search-patch)) + #:use-module ((gnu packages) #:select (search-patch search-patches)) #:use-module (gnu packages base) #:use-module (gnu packages cross-base) #:use-module (gnu packages bash) @@ -73,8 +73,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (package (inherit base) (source (origin (inherit (package-source base)) - (patches (cons (search-patch "glibc-bootstrap-system.patch") - (origin-patches (package-source base)))))) + (patches (append (search-patches + "glibc-bootstrap-system.patch" + "glibc-static-nss.patch") + (origin-patches (package-source base)))))) (arguments (substitute-keyword-arguments (package-arguments base) ((#:configure-flags flags) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index b1ecb9dd2a..b4431e5b08 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -255,6 +255,10 @@ the traditional flat-text whatis databases.") "\n")))))))) (native-inputs `(("perl" ,perl))) ;used to run tests (inputs `(("zlib" ,zlib))) + (native-search-paths + (list (search-path-specification + (variable "MANPATH") + (files '("share/man"))))) (synopsis "Tools for BSD mdoc and man pages") (description "mandoc is a suite of tools compiling mdoc, the roff macro language of @@ -270,7 +274,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and (define-public man-pages (package (name "man-pages") - (version "5.12") + (version "5.13") (source (origin (method url-fetch) @@ -280,7 +284,7 @@ PostScript, and PDF. Additional tools include the @command{man} viewer, and (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" "man-pages-" version ".tar.xz"))) (sha256 - (base32 "07ip4f70nyxn24wy0fin6klq1hm1cjjvzr9zh5baqzssl1hckxbs")))) + (base32 "12vb15gs56g8wl5nqlm4llr508brh4m2lfknhq4lizbxzqzawkb1")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index fae85222b1..d5cef67f13 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -787,14 +788,14 @@ infamous 'Wanda the Fish'.") ("libgxps" ,libgxps) ("libjpeg" ,libjpeg-turbo) ("libxml2" ,libxml2) - ("dogtail" ,python2-dogtail) + ("dogtail" ,python-dogtail) ("shared-mime-info" ,shared-mime-info) ("gdk-pixbuf" ,gdk-pixbuf) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("libgnome-keyring" ,libgnome-keyring) ("libarchive" ,libarchive) ("marco" ,marco) - ("openjpeg" ,openjpeg-1) + ("openjpeg" ,openjpeg) ("pango" ,pango) ;;("texlive" ,texlive) ;; TODO: diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e7f82341e8..7b07cb4342 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -47,6 +47,8 @@ ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> +;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,6 +73,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (guix build-system cmake) @@ -83,6 +86,7 @@ #:use-module (gnu packages audio) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -123,9 +127,11 @@ #:use-module (gnu packages m4) #:use-module (gnu packages mpi) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) #:use-module (gnu packages netpbm) #:use-module (gnu packages ocaml) #:use-module (gnu packages onc-rpc) + #:use-module (gnu packages parallel) #:use-module (gnu packages pcre) #:use-module (gnu packages popt) #:use-module (gnu packages perl) @@ -139,6 +145,7 @@ #:use-module (gnu packages ruby) #:use-module (gnu packages tbb) #:use-module (gnu packages scheme) + #:use-module (gnu packages serialization) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages tcl) @@ -164,6 +171,8 @@ (inputs `(("gtk+" ,gtk+) ("libxml2" ,libxml2))) (native-inputs `(("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags '("CFLAGS=-fcommon"))) (synopsis "Natural deduction first-order logic interface") (description "Aris is a program for performing logical proofs. It supports propositional and predicate logic, as well as Boolean algebra and @@ -174,6 +183,39 @@ beginners.") (license license:gpl3+) (home-page "https://www.gnu.org/software/aris/"))) +(define-public bitwise + (package + (name "bitwise") + (version "0.42") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/mellowcandle/bitwise" + "/releases/download/v" version + "/bitwise-v" version ".tar.gz")) + (sha256 + (base32 "1lniw4bsb5qs5ybf018qllf95pzixb1q3lvybzl4k3xz8zpkrm6k")))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses) + ("readline" ,readline))) + (native-inputs + `(("cunit" ,cunit) + ("pkg-config" ,pkg-config))) + (synopsis "Terminal based bit manipulator in ncurses") + (description "Bitwise is a multi base interactive calculator supporting +dynamic base conversion and bit manipulation. It's a handy tool for low level +hackers, kernel developers and device drivers developers. + +Some of the features include: +@itemize +@item Interactive ncurses interface. +@item Command line calculator supporting all bitwise operations. +@item Individual bit manipulator. +@item Bitwise operations such as NOT, OR, AND, XOR, and shifts. +@end itemize") + (license license:gpl3+) + (home-page "https://github.com/mellowcandle/bitwise/"))) + (define-public c-graph (package (name "c-graph") @@ -512,12 +554,21 @@ precision floating point numbers.") (substitute* "linalg/test.c" ((".*gsl_test\\(test_LU_decomp.*") "\n") ((".*gsl_test\\(test_LUc_decomp.*") "\n") + ((".*gsl_test\\(test_QR_decomp_r.*") "\n") ((".*gsl_test\\(test_cholesky_decomp.*") "\n") + ((".*gsl_test\\(test_pcholesky_solve.*") "\n") ((".*gsl_test\\(test_COD_lssolve2.*") "\n")) (substitute* "spmatrix/test.c" ((".*test_all.*") "\n") ((".*test_float.*") "\n") - ((".*test_complex.*") "\n")))))) + ((".*test_complex.*") "\n")) + + ;; XXX: These tests abort with: + ;; gsl: cholesky.c:645: ERROR: matrix is not positive definite + (substitute* '("multifit_nlinear/test.c" + "multilarge_nlinear/test.c") + (("gsl_ieee_env_setup.*" all) + (string-append "exit (77);\n" all))))))) (else '())))))) (home-page "https://www.gnu.org/software/gsl/") @@ -1046,6 +1097,8 @@ computations.") (arguments `(#:parallel-tests? #f #:configure-flags (list "--enable-shared" + "FCFLAGS=-fallow-argument-mismatch" + "FFLAGS=-fallow-argument-mismatch" (string-append "CPPFLAGS=-I" (assoc-ref %build-inputs "libtirpc") "/include/tirpc")) @@ -1079,7 +1132,7 @@ computations.") ;; .so-files. We truncate the hashes to avoid ;; unnecessary store references to those compilers: (substitute* "libhdf4.settings" - (("(/gnu/store/)([a-Z0-9]*)" all prefix hash) + (("(/gnu/store/)([0-9A-Za-z]*)" all prefix hash) (string-append prefix (string-take hash 10) "..."))) #t)) (add-after 'install 'provide-absolute-libjpeg-reference @@ -1625,6 +1678,13 @@ similar to MATLAB, GNU Octave or SciPy.") (sha256 (base32 "1a2fpp15a2rl1m50gcvvzd9y6bavl6vjf9zzf63sz5gdmq06yiqf")) + (modules '((guix build utils))) + (snippet + ;; Make sure this variable is defined only once. Failing to do so + ;; would break builds of 'netcdf-parallel-openmpi' with a + ;; multiple-definition link error with GCC 10. + '(substitute* "ncdump/ocprint.c" + (("^int ocdebug") "static int ocdebug"))) (patches (search-patches "netcdf-date-time.patch")))) (build-system gnu-build-system) (native-inputs @@ -1658,7 +1718,7 @@ similar to MATLAB, GNU Octave or SciPy.") ;; filenames to avoid unnecessary references to the corresponding ;; store items. (substitute* "libnetcdf.settings" - (("(/gnu/store/)([a-Z0-9]*)" all prefix hash) + (("(/gnu/store/)([0-9A-Za-z]*)" all prefix hash) (string-append prefix (string-take hash 10) "..."))) #t))) @@ -1707,7 +1767,9 @@ sharing of scientific data.") "0x4acvfhbsx1q79dkkwrwbgfhm0w5ngnp4zj5kk92s1khihmqfhj")))) (build-system gnu-build-system) (arguments - `(#:parallel-tests? #f)) + `(#:configure-flags '("FCFLAGS=-fallow-argument-mismatch" + "FFLAGS=-fallow-argument-mismatch") + #:parallel-tests? #f)) (inputs `(("netcdf" ,netcdf))) (native-inputs @@ -1800,6 +1862,154 @@ large-scale nonlinear optimization. It provides C++, C, and Fortran interfaces.") (license license:epl2.0))) +(define-public nomad-optimizer + (package + (name "nomad-optimizer") + (version "4.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bbopt/nomad/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0w386d8r5ldbvnv0c0g7vz95pfpvwdxis26vaalk2amsa5akl775")))) + (build-system cmake-build-system) + (native-inputs + `(("python" ,python-wrapper) + ("python-cython" ,python-cython))) + (arguments + `(#:imported-modules ((guix build python-build-system) + ,@%cmake-build-system-modules) + #:modules (((guix build python-build-system) + #:select (python-version site-packages)) + (guix build cmake-build-system) + (guix build utils)) + #:configure-flags + '("-DBUILD_INTERFACES=ON" + "-DBUILD_TESTS=ON") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-sources-for-build + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + ;; CMAKE_INSTALL_PREFIX is accidentally hardcoded. + (("set\\(CMAKE_INSTALL_PREFIX .* FORCE\\)") "") + ;; Requiring GCC version 8 or later is unwarranted. + (("message\\(FATAL_ERROR \"GCC version < 8") + "message(STATUS \"GCC version < 8")) + + (let ((out (assoc-ref outputs "out"))) + (substitute* "interfaces/PyNomad/CMakeLists.txt" + ;; We don't want to build in-place, and anyway the install + ;; command further below runs build_ext as a prerequisite. + (("COMMAND python setup_PyNomad\\.py .* build_ext --inplace\n") + "") + ;; Don't install locally. + (("COMMAND python (setup_PyNomad\\.py .* install) --user\n" + _ args) + (string-append "COMMAND ${CMAKE_COMMAND} -E env" + " CC=" ,(cc-for-target) + " CXX=" ,(cxx-for-target) + " " (which "python") + " " args + " --prefix=" out + "\n"))) + ;; Fix erroneous assumptions about the paths of the include and + ;; library directories. + (substitute* "interfaces/PyNomad/setup_PyNomad.py" + (("^( +os_include_dirs = ).*" _ prefix) + (string-append prefix "[\"../../src\"]\n")) + (("^(installed_lib_dir = ).*" _ prefix) + (string-append prefix "\"" out "/lib\"\n")))) + #t)) + + ;; Fix the tests so they run in out-of-source builds. + (add-after 'fix-sources-for-build 'fix-sources-for-tests + (lambda _ + (substitute* + (map (lambda (d) (string-append "examples/" d "/CMakeLists.txt")) + (append + (map (lambda (d) (string-append "basic/library/" d)) + '("example1" "example2" "example3" + "single_obj_parallel")) + (map (lambda (d) (string-append "advanced/library/" d)) + '("FixedVariable" "NMonly" "PSDMads" "Restart" + "c_api/example1" "c_api/example2" + "exampleSuggestAndObserve")))) + ;; The built examples are assumed to be in the source tree + ;; (which isn't the case here). + (("(COMMAND \\$\\{CMAKE_BINARY_DIR\\}/examples/runExampleTest\\.sh )\\.(/.*)" + _ command test) + (string-append command "${CMAKE_CURRENT_BINARY_DIR}" test))) + ;; (Unrelated to support for out-of-source testing.) + (make-file-writable + "examples/advanced/library/exampleSuggestAndObserve/cache0.txt") + + (let* ((builddir (string-append (getcwd) "/../build")) + ;; The BB_EXE and SURROGATE_EXE paths are interpreted + ;; relative to the configuration file provided to NOMAD. + ;; However, the configuration files are all in the source + ;; tree rather than in the build tree (unlike the compiled + ;; executables). + (fix-exe-path (lambda* (dir #:optional + (file "param.txt") + (exe-opt "BB_EXE")) + (substitute* (string-append dir "/" file) + (((string-append "^" exe-opt " +")) + ;; The $ prevents NOMAD from prefixing + ;; the executable with the path of the + ;; parent directory of the configuration + ;; file NOMAD was provided with as + ;; argument (param.txt or some such). + (string-append exe-opt " $" + builddir "/" dir "/")))))) + (for-each + (lambda (dir) + (let ((dir (string-append "examples/" dir))) + (substitute* (string-append dir "/CMakeLists.txt") + ;; The install phase has not yet run. + (("COMMAND \\$\\{CMAKE_INSTALL_PREFIX\\}/bin/nomad ") + "COMMAND ${CMAKE_BINARY_DIR}/src/nomad ")) + (fix-exe-path dir) + (when (equal? dir "examples/basic/batch/surrogate_sort") + (fix-exe-path dir "param.txt" "SURROGATE_EXE")))) + (append (map (lambda (d) (string-append "basic/batch/" d)) + '("example1" "example2" + "single_obj" "single_obj_parallel" + "surrogate_sort")) + '("advanced/batch/LHonly"))) + + (let ((dir "examples/advanced/batch/FixedVariable")) + (substitute* (string-append dir "/runFixed.sh") + ;; Hardcoded path to NOMAD executable. + (("^\\.\\./\\.\\./\\.\\./\\.\\./bin/nomad ") + (string-append builddir "/src/nomad "))) + (for-each + (lambda (f) (fix-exe-path dir f)) + '("param1.txt" "param2.txt" "param3.txt" "param10.txt")))) + #t)) + + ;; The information in the .egg-info file is not kept up to date. + (add-after 'install 'delete-superfluous-egg-info + (lambda* (#:key inputs outputs #:allow-other-keys) + (delete-file (string-append + (site-packages inputs outputs) + "PyNomad-0.0.0-py" + (python-version (assoc-ref inputs "python")) + ".egg-info")) + #t))))) + (home-page "https://www.gerad.ca/nomad/") + (synopsis "Nonlinear optimization by mesh-adaptive direct search") + (description + "NOMAD is a C++ implementation of the mesh-adaptive direct search (MADS) +algorithm, designed for difficult blackbox optimization problems. These +problems occur when the functions defining the objective and constraints are +the result of costly computer simulations.") + (license license:lgpl3+))) + (define-public cbc (package (name "cbc") @@ -3553,31 +3763,32 @@ processor cores.") (synopsis "Parallel adaptive mesh refinement on forests of octrees"))) (define-public gsegrafix + ;; This is an old and equally dead "experimental fork" of the longer-dead + ;; original. At least it no longer requires the even-deader libgnomeprint{,ui} + ;; libraries, instead rendering plots with Pango. (package (name "gsegrafix") - (version "1.0.6") + (version "1.0.7.2") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/" name "/" name "-" - version ".tar.gz")) - (sha256 - (base32 - "1b13hvx063zv970y750bx41wpx6hwd5ngjhbdrna8w8yy5kmxcda")))) + (method url-fetch) + (uri (string-append "mirror://savannah/gsegrafix-experimental/" + "gsegrafix-experimental-" version ".tar.gz")) + (sha256 + (base32 "0fwh6719xy2zasmqlp0vdx6kzm45hn37ga88xmw5cz0yx7xw4j6f")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("LDFLAGS=-lm"))) + `(#:configure-flags + (list "--disable-static"))) (inputs - `(("libgnomecanvas" ,libgnomecanvas) - ("libbonoboui" ,libbonoboui) - ("libgnomeui" ,libgnomeui) - ("libgnomeprintui" ,libgnomeprintui) - ("popt" ,popt))) + `(("glib" ,glib) + ("gtk+" ,gtk+))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.gnu.org/software/gsegrafix/") (synopsis "GNOME application to create scientific and engineering plots") - (description "GSEGrafix is an application which produces high-quality graphical + (description + "GSEGrafix is an application which produces high-quality graphical plots for science and engineering. Plots are specified via simple ASCII parameter files and data files and are presented in an anti-aliased GNOME canvas. The program supports rectangular two-dimensional plots, histograms, @@ -3600,8 +3811,9 @@ to BMP, JPEG or PNG image formats.") (patches (search-patches "maxima-defsystem-mkdir.patch")))) (build-system gnu-build-system) (inputs - `(("gcl" ,gcl) + `(("bash" ,bash-minimal) ("gnuplot" ,gnuplot) ;for plots + ("sbcl" ,sbcl) ("sed" ,sed) ("tk" ,tk))) ;Tcl/Tk is used by 'xmaxima' (native-inputs @@ -3610,15 +3822,11 @@ to BMP, JPEG or PNG image formats.") ("python" ,python))) (arguments `(#:configure-flags - (list "--enable-gcl" - (string-append "--with-posix-shell=" - (assoc-ref %build-inputs "bash") - "/bin/sh") - (string-append "--with-wish=" - (assoc-ref %build-inputs "tk") - "/bin/wish" - (let ((v ,(package-version tk))) - (string-take v (string-index-right v #\.))))) + ,#~(list "--enable-sbcl" + (string-append "--with-sbcl=" #$sbcl "/bin/sbcl") + (string-append "--with-posix-shell=" #$bash-minimal "/bin/sh") + (string-append "--with-wish=" #$tk "/bin/wish" + #$(version-major+minor (package-version tk)))) ;; By default Maxima attempts to write temporary files to ;; '/tmp/nix-build-maxima-*', which won't exist at run time. ;; Work around that. @@ -3655,7 +3863,7 @@ to BMP, JPEG or PNG image formats.") (invoke "sh" "-c" (string-append "./maxima-local " - "--lisp=gcl " + "--lisp=sbcl " "--batch-string=\"run_testsuite();\" " "| grep -q \"No unexpected errors found\"")))) ;; Make sure the doc and emacs files are found in the @@ -4033,7 +4241,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (define-public openlibm (package (name "openlibm") - (version "0.6.0") + (version "0.7.4") (source (origin (method git-fetch) @@ -4042,11 +4250,12 @@ access to BLIS implementations via traditional BLAS routine calls.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08wfchmmr5200fvmn1kwq9byc1fhsq46hn0y5k8scdl74771c7gh")))) + (base32 "1azms0lpxb7vxb3bln5lyz0wpwx6jnzbffkclclpq2v5aiw8d14i")))) (build-system gnu-build-system) (arguments `(#:make-flags - (list (string-append "prefix=" (assoc-ref %outputs "out"))) + (list (string-append "prefix=" (assoc-ref %outputs "out")) + ,(string-append "CC=" (cc-for-target))) #:phases ;; no configure script (modify-phases %standard-phases (delete 'configure)) @@ -4458,43 +4667,226 @@ specifications.") revised simplex and the branch-and-bound methods.") (license license:lgpl2.1+))) +;; Private Trilinos package for dealii-openmpi (similar to +;; trilinos-serial-xyce and trilinos-parallel-xyce). +;; This version is the latest known to be compatible with deal.II [1]. +;; Since the latest version of Trilinos is not necessarily supported by +;; deal.II, it may be worth keeping this package even if and when Trilinos +;; gets packaged separately for Guix (unless various versions of Trilinos are +;; packaged). +;; +;; An insightful source of information for building Trilinos for deal.II lies +;; in the Trilinos package for candi [2], which is a source-based installer +;; for deal.II and its dependencies. +;; +;; [1]: https://www.dealii.org/current/external-libs/trilinos.html +;; [2]: https://github.com/dealii/candi/blob/master/deal.II-toolchain/packages/trilinos.package +(define trilinos-for-dealii-openmpi + (package + (name "trilinos-for-dealii-openmpi") + (version "12.18.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trilinos/Trilinos/") + (commit + (string-append "trilinos-release-" + (string-replace-substring version "." "-"))))) + (file-name (git-file-name "trilinos" version)) + (sha256 + (base32 "0fnwlhzsh85qj38cq3igbs8nm1b2jdgr2z734sapmyyzsy21mkgp")))) + (build-system cmake-build-system) + (native-inputs + `(("gfortran" ,gfortran) + ;; Trilinos's repository contains several C-shell scripts, but adding + ;; tcsh to the native inputs does not result in the check phase running + ;; any more tests than without it (nor is tcsh required to build + ;; Trilinos). + ;; It seems that Trilinos has replaced its use of C-shell test scripts + ;; with CMake's testing facilities. + ;; For example, + ;; packages/zoltan/doc/Zoltan_html/dev_html/dev_test_script.html [1] + ;; states that Zoltan's C-shell test script + ;; packages/zoltan/test/test_zoltan has been obsoleted by the tests now + ;; performed through CMake. + ;; + ;; Perl is required for some Zoltan tests and Python 2 for one ML test. + ;; + ;; [1]: https://cs.sandia.gov/zoltan/dev_html/dev_test_script.html + ("perl" ,perl) + ("python" ,python-2))) + (inputs + `(("blas" ,openblas) + ("lapack" ,lapack) + ("mumps" ,mumps-openmpi) + ("scalapack" ,scalapack))) + (propagated-inputs + `(("mpi" ,openmpi))) + (arguments + `(#:build-type "Release" + #:configure-flags + `("-DBUILD_SHARED_LIBS=ON" + ;; Obtain the equivalent of RelWithDebInfo but with -O3 (the Release + ;; default) rather than -O2 (the RelWithDebInfo default), to conform + ;; to candi's trilinos.package's compilation flags, which are -g -O3. + "-DCMAKE_C_FLAGS=-g" + "-DCMAKE_CXX_FLAGS=-g" + "-DCMAKE_Fortran_FLAGS=-g" + + ;; Trilinos libraries that deal.II can interface with. + "-DTrilinos_ENABLE_Amesos=ON" + "-DTrilinos_ENABLE_AztecOO=ON" + "-DTrilinos_ENABLE_Epetra=ON" + "-DTrilinos_ENABLE_EpetraExt=ON" + "-DTrilinos_ENABLE_Ifpack=ON" + "-DTrilinos_ENABLE_ML=ON" + "-DTrilinos_ENABLE_MueLu=ON" + "-DTrilinos_ENABLE_ROL=ON" + ;; Optional; required for deal.II's GridIn::read_exodusii, but + ;; depends on netcdf. + ;; Enable if and when someone needs it. + ;;"-DTrilinos_ENABLE_SEACAS=ON" + "-DTrilinos_ENABLE_Sacado=ON" + "-DTrilinos_ENABLE_Teuchos=ON" + "-DTrilinos_ENABLE_Tpetra=ON" + "-DTrilinos_ENABLE_Zoltan=ON" + + ;; Third-party libraries (TPLs) that Trilinos can interface with. + "-DBLAS_LIBRARY_NAMES=openblas" + "-DTPL_ENABLE_MPI=ON" + "-DTPL_ENABLE_MUMPS=ON" + "-DTPL_ENABLE_SCALAPACK=ON" + + ;; Enable the tests but not the examples (which are enabled by + ;; default when enabling tests). + ;; Although some examples are run as tests, they are otherwise + ;; unnecessary since this is a private package meant for + ;; dealii-openmpi. + ;; Besides, some MueLu and ROL examples require a lot of memory to + ;; compile. + ;; + ;; (For future reference, note that some ROL and SEACAS examples + ;; require removing gfortran from CPLUS_INCLUDE_PATH as in the + ;; dune-istl, dune-localfunctions and dune-alugrid packages.) + "-DTrilinos_ENABLE_TESTS=ON" + "-DTrilinos_ENABLE_EXAMPLES=OFF" + ;; MueLu tests require considerably more time and memory to compile + ;; than the rest of the tests. + "-DMueLu_ENABLE_TESTS=OFF" + + ;; The following options were gleaned from candi's trilinos.package. + ;; (We do not enable the complex instantiations, which are anyway + ;; provided only as an option in trilinos.package, because they are + ;; costly in compilation time and memory usage, and disk space [1].) + ;; + ;; [1]: https://www.docs.trilinos.org/files/TrilinosBuildReference.html#enabling-float-and-complex-scalar-types + "-DTrilinos_ENABLE_Ifpack2=OFF" + "-DTeuchos_ENABLE_FLOAT=ON" + "-DTpetra_INST_INT_LONG=ON" + "-DTPL_ENABLE_Boost=OFF") + #:phases + (modify-phases %standard-phases + (add-after 'configure 'fix-kokkos-config + (lambda _ + ;; GNU Make 4.3 accidentally leaves the backslash preceding the + ;; number sign in strings containing a literal backslash–number + ;; sign (\#) [1, 2]. + ;; This is still an issue in Trilinos 13.0.1, but should be fixed + ;; in the following version. + ;; (The latest versions of Kokkos incorporate the fix [2].) + ;; + ;; [1]: https://github.com/GEOSX/thirdPartyLibs/issues/136 + ;; [2]: https://github.com/kokkos/kokkos/blob/3.4.00/Makefile.kokkos#L441 + (substitute* "KokkosCore_config.h" + (("\\\\#") "#")) + #t)) + (add-before 'check 'mpi-setup + ,%openmpi-setup)))) + (home-page "https://trilinos.github.io/") + (synopsis "Algorithms for engineering and scientific problems") + (description + "The Trilinos Project is an effort to develop algorithms and enabling +technologies within an object-oriented software framework for the solution of +large-scale, complex multi-physics engineering and scientific problems. +A unique design feature of Trilinos is its focus on packages.") + ;; The packages are variously licensed under more than just BSD-3 and + ;; LGPL-2.1+, but all the licenses are either BSD- or LGPL-compatible. + ;; See https://trilinos.github.io/license.html. + (license (list license:bsd-3 license:lgpl2.1+)))) + (define-public dealii (package (name "dealii") - (version "9.2.0") + (version "9.3.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/dealii/dealii/releases/" "download/v" version "/dealii-" version ".tar.gz")) (sha256 - (base32 - "0fm4xzrnb7dfn4415j24d8v3jkh0lssi86250x2f5wgi83xq4nnh")) + (base32 "1f0sqvlxvl0myqcn0q6xrn1vnp5pgx143lai4a4jkh1dmdv4cbx6")) (modules '((guix build utils))) (snippet - ;; Remove bundled sources: UMFPACK, TBB, muParser, and boost '(begin + ;; Remove bundled boost, muparser, TBB and UMFPACK. (delete-file-recursively "bundled") #t)))) (build-system cmake-build-system) + (outputs '("out" "doc")) + (native-inputs + ;; Required to build the documentation. + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("perl" ,perl))) (inputs - `(("tbb" ,tbb) - ("zlib" ,zlib) - ("boost" ,boost) - ("p4est" ,p4est) + `(("arpack" ,arpack-ng) ("blas" ,openblas) + ("gfortran" ,gfortran) ("lapack" ,lapack) - ("arpack" ,arpack-ng) ("muparser" ,muparser) - ("gfortran" ,gfortran) - ("suitesparse" ,suitesparse))) ;for UMFPACK + ("zlib" ,zlib))) + (propagated-inputs + ;; Some scripts are installed into share/deal.II/scripts that require + ;; perl and python, but they are not executable (and some are missing the + ;; shebang line) and therefore must be explicitly passed to the + ;; interpreter. + ;; Anyway, they are meant to be used at build time, so rather than adding + ;; the interpreters here, any package depending on them should just add + ;; the requisite interpreter to its native inputs. + `(("boost" ,boost) + ("hdf5" ,hdf5) + ("suitesparse" ,suitesparse) ; For UMFPACK. + ("tbb" ,tbb))) (arguments - `(#:build-type "DebugRelease" ;only supports Release, Debug, or DebugRelease + `(#:build-type "DebugRelease" ; Supports only Debug, Release and DebugRelease. + ;; The tests take too long and must be explicitly enabled with "make + ;; setup_tests". + ;; See https://www.dealii.org/developer/developers/testsuite.html. + ;; (They can also be run for an already installed deal.II.) + #:tests? #f #:configure-flags - ;; Work around a bug in libsuitesparseconfig linking - ;; see https://github.com/dealii/dealii/issues/4745 - '("-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON"))) - (home-page "https://www.dealii.org") + (let ((doc (string-append (assoc-ref %outputs "doc") + "/share/doc/" ,name "-" ,version))) + `("-DDEAL_II_COMPONENT_DOCUMENTATION=ON" + ,(string-append "-DDEAL_II_DOCREADME_RELDIR=" doc) + ,(string-append "-DDEAL_II_DOCHTML_RELDIR=" doc "/html") + ;; Don't compile the examples because the source and CMakeLists.txt + ;; are installed anyway, allowing users to do so for themselves. + "-DDEAL_II_COMPILE_EXAMPLES=OFF" + ,(string-append "-DDEAL_II_EXAMPLES_RELDIR=" doc "/examples"))) + #:phases + (modify-phases %standard-phases + (add-after 'install 'remove-build-logs + ;; These build logs leak the name of the build directory by storing + ;; the values of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR. + (lambda* (#:key outputs #:allow-other-keys) + (let ((doc (string-append (assoc-ref outputs "doc") + "/share/doc/" ,name "-" ,version))) + (for-each delete-file (map (lambda (f) (string-append doc "/" f)) + '("detailed.log" "summary.log")))) + #t))))) + (home-page "https://www.dealii.org/") (synopsis "Finite element library") (description "Deal.II is a C++ program library targeted at the computational solution @@ -4505,30 +4897,25 @@ in finite element programs.") (license license:lgpl2.1+))) (define-public dealii-openmpi - (package (inherit dealii) + (package/inherit dealii (name "dealii-openmpi") (inputs - `(("mpi" ,openmpi) - ;;Supported only with MPI: - ("hdf5" ,hdf5-parallel-openmpi) ;TODO: have petsc-openmpi propagate? + `(("arpack" ,arpack-ng-openmpi) + ("metis" ,metis) + ("scalapack" ,scalapack) + ,@(alist-delete "arpack" (package-inputs dealii)))) + (propagated-inputs + `(("hdf5" ,hdf5-parallel-openmpi) + ("mpi" ,openmpi) ("p4est" ,p4est-openmpi) ("petsc" ,petsc-openmpi) ("slepc" ,slepc-openmpi) - ("metis" ,metis) ;for MUMPS - ("scalapack" ,scalapack) ;for MUMPS - ("mumps" ,mumps-metis-openmpi) ;configure supports only metis orderings - ("arpack" ,arpack-ng-openmpi) - ,@(fold alist-delete (package-inputs dealii) - '("p4est" "arpack")))) + ("trilinos" ,trilinos-for-dealii-openmpi) + ,@(alist-delete "hdf5" (package-propagated-inputs dealii)))) (arguments (substitute-keyword-arguments (package-arguments dealii) - ((#:configure-flags cf) - `(cons "-DDEAL_II_WITH_MPI:BOOL=ON" - ,cf)) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + ((#:configure-flags flags) + `(cons "-DDEAL_II_WITH_MPI=ON" ,flags)))) (synopsis "Finite element library (with MPI support)"))) (define-public flann @@ -4731,7 +5118,7 @@ set.") texlive-latex-framed texlive-latex-geometry texlive-latex-hanging - texlive-latex-hyperref + texlive-hyperref texlive-latex-multirow texlive-latex-natbib texlive-latex-needspace @@ -4743,7 +5130,7 @@ set.") texlive-latex-tocloft texlive-latex-upquote texlive-latex-varwidth - texlive-latex-wasysym + texlive-wasysym texlive-latex-wrapfig))))) (inputs `(("blas" ,openblas) @@ -4854,14 +5241,14 @@ supports compressed MAT files, as well as newer (version 7.3) MAT files.") (define-public vc (package (name "vc") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/VcDevel/Vc/releases/" "download/" version "/Vc-" version ".tar.gz")) (sha256 (base32 - "17qili8bf8r78cng65yf4qmgna8kiqjqbgcqbric6v9j6nkhkrk8")))) + "0lirdqzcxys9walz04bllsphydynk7973aimd5k1h1qbwi8z3lsh")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -6043,7 +6430,7 @@ management via the GIMPS project's Primenet server.") (define-public nauty (package (name "nauty") - (version "2.7r1") + (version "2.7r3") (source (origin (method url-fetch) @@ -6051,7 +6438,7 @@ management via the GIMPS project's Primenet server.") "https://pallini.di.uniroma1.it/" "nauty" (string-join (string-split version #\.) "") ".tar.gz")) (sha256 - (base32 "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn")))) + (base32 "1hl81gpf3xjf809w04jczvilq1ixy9ch1qrax8a7lgx52svna1jg")))) (build-system gnu-build-system) (outputs '("out" "lib")) (arguments @@ -6494,3 +6881,163 @@ high-performance multidimensional array containers for scientific computing.") (license (list license:artistic2.0 license:bsd-3 license:lgpl3+)))) + +(define-public fxdiv + ;; There is currently no tag in this repo. + (let ((commit "63058eff77e11aa15bf531df5dd34395ec3017c8") + (version "0.0") + (revision "1")) + (package + (name "fxdiv") + (version (git-version version revision commit)) + (home-page "https://github.com/Maratyszcza/FXdiv") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zwzh8gmbx4m6b18s5nf13b0dk5yjkd1fs8f421bl7fz5f9gjd9f")) + (patches (search-patches "fxdiv-system-libraries.patch")))) + (build-system cmake-build-system) + (inputs + `(("googletest" ,googletest) + ("googlebenchmark" ,googlebenchmark))) + (synopsis + "C++ library for division via fixed-point multiplication by inverse") + (description + "On modern CPUs and GPUs, integer division is several times slower than +multiplication. FXdiv implements an algorithm to replace an integer division +with a multiplication and two shifts. This algorithm improves performance +when an application performs repeated divisions by the same divisor.") + (license license:expat)))) + +(define-public fp16 + ;; There is currently no tag in this repo. + (let ((commit "0a92994d729ff76a58f692d3028ca1b64b145d91") + (version "0.0") + (revision "1")) + (package + (name "fp16") + (version (git-version version revision commit)) + (home-page "https://github.com/Maratyszcza/FP16") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05mm4vrxsac35hjf5djif9r6rdxj9ippg97ia3p6q6b8lrp7srwv")) + (patches (search-patches "fp16-system-libraries.patch")))) + (build-system cmake-build-system) + (native-inputs + `(("python-wrapper" ,python-wrapper))) + (inputs + `(("psimd" ,psimd) + ("googletest" ,googletest) + ("googlebenchmark" ,googlebenchmark))) + (synopsis "C++ library for half-precision floating point formats") + (description + "This header-only C++ library implements conversion to and from +half-precision floating point formats.") + (license license:expat)))) + +(define-public optizelle + (let ((commit "ed4160b5287518448caeb34789d92dc6a0b7e2cc")) + (package + (name "optizelle") + (version (git-version "1.3.0" "0" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OptimoJoe/Optizelle") + (commit commit))) + (file-name (git-file-name "optizelle" commit)) + (sha256 + (base32 + "0rjrs5sdmd33a9f4xm8an7p0953aa0bxsmr4hs3ss1aad9k181vq")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Reduce the stopping tolerance in one test so that the + ;; convergence check returns the correct stopping + ;; condition. + (substitute* + "src/unit/linear_algebra/tcg_loss_of_orthogonality.cpp" + (("1e-13") "5e-14")) + ;; Skip one set of python tests. See + ;; https://github.com/OptimoJoe/Optizelle/issues/2. + (substitute* + "src/examples/inequality_scaling/CMakeLists.txt" + (("add_unit(.*)\\$\\{interfaces\\}(.*)$" all middle end) + (string-append "add_unit" middle "\"cpp\"" end))) + ;; Install the licence for Optizelle, without also + ;; including the licences for the dependencies. + (substitute* "licenses/CMakeLists.txt" + (("file.*package.*$" all) + (string-append "# " all)) + ((".*[^l].[.]txt\\)\n") "") + (("add_license.*\"\n") "")) + #t)))) + (build-system cmake-build-system) + (arguments + `(#:imported-modules ((guix build python-build-system) + ,@%cmake-build-system-modules) + #:modules (((guix build python-build-system) #:select + (python-version)) + (guix build cmake-build-system) + (guix build utils)) + #:configure-flags `("-DCMAKE_CXX_FLAGS:STRING=-pthread" + "-DENABLE_CPP_UNIT:BOOL=ON" + "-DENABLE_CPP_EXAMPLES:BOOL=ON" + "-DENABLE_PYTHON:BOOL=ON" + "-DENABLE_PYTHON_UNIT:BOOL=ON" + "-DENABLE_PYTHON_EXAMPLES:BOOL=ON" + ,(string-append "-DBLAS_LIBRARY:FILEPATH=" + (assoc-ref %build-inputs + "blas/lapack") + "/lib/libopenblas.so") + ,(string-append "-DLAPACK_LIBRARY:FILEPATH=" + (assoc-ref %build-inputs + "fortran:lib") + "/lib/libgfortran.so;" + (assoc-ref %build-inputs + "fortran:lib") + "/lib/libquadmath.so")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-numpy-path ; Needed for the unit tests. + (lambda* (#:key inputs #:allow-other-keys) + (let* ((pyver (python-version (assoc-ref inputs "python"))) + (npdir (string-append (assoc-ref inputs "numpy") + "/lib/python" pyver + "/site-packages"))) + (substitute* "src/cmake/Modules/Optizelle.cmake" + (("PYTHONPATH=") + (string-append "LD_LIBRARY_PATH=$ENV{LIBRARY_PATH};" + "PYTHONPATH=" npdir ":")))))) + (delete 'install-license-files)))) ; LICENSE.txt is installed. + (inputs + `(("blas/lapack" ,openblas) + ("fortran:lib" ,gfortran "lib") + ("jsoncpp" ,jsoncpp) + ("numpy" ,python-numpy) + ("python" ,python))) + (native-inputs + `(("fortran" ,gfortran) + ("pkg-config" ,pkg-config))) + (home-page "https://www.optimojoe.com/products/optizelle/") + (synopsis "Mathematical optimization library") + (description "@code{optizelle} is a software library designed to +solve nonlinear optimization problems. Four types of problem are +considered: unconstrained, equality constrained, inequality +constrained and constrained. Constraints may be applied as values of +functions or sets of partial differential equations (PDEs). + +Solution algorithms such as the preconditioned nonlinear conjugate +gradient method, sequential quadratic programming (SQP) and the +primal-dual interior-point method are made available. Interfaces are +provided for applications written in C++ and Python. Parallel +computation is supported via MPI.") + (license license:bsd-2)))) diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm index b9dea3b446..e07191e344 100644 --- a/gnu/packages/mc.scm +++ b/gnu/packages/mc.scm @@ -38,14 +38,14 @@ (define-public mc (package (name "mc") - (version "4.8.26") + (version "4.8.27") (source (origin (method url-fetch) - (uri (string-append "https://ftp.midnight-commander.org/mc-" + (uri (string-append "https://ftp.osuosl.org/pub/midnightcommander/mc-" version ".tar.xz")) (sha256 - (base32 "09vc2vf6k12a8k5gdss6hcskwfcbyalrkhn65nidkwlm0p2svpn6")))) + (base32 "1x2g5ahgzg951y4ldbsgkv8icni2mgh3p2wsds0j16gsbwi5kgii")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) @@ -97,6 +97,8 @@ (("usr/bin") "/")) #t))))) (home-page "https://www.midnight-commander.org") + (properties + `((release-monitoring-url . "https://ftp.osuosl.org/pub/midnightcommander/"))) (synopsis "Graphical file manager") (description "GNU Midnight Commander is a command-line file manager laid out in a diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index d289dbf170..f075d28e0a 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -18,7 +18,7 @@ ;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si> -;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz> +;;; Copyright © 2020, 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> @@ -73,6 +73,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) @@ -139,6 +140,45 @@ #:use-module (guix packages) #:use-module (guix utils)) +(define-public omemo-wget + (package + (name "omemo-wget") + (version "0.3.0") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/roobre/omemo-wget") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0s3vfaicw5xbjl9yiyr4ckrzhzqbvfh1w2ih1igavlfpgw4v7kva")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/roobre/omemo-wget" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (let* ((xdg-utils (assoc-ref inputs "xdg-utils")) + (xdg-open (string-append xdg-utils "/bin/xdg-open"))) + (substitute* (find-files "." "\\.go$") + ;; Correct the import path of 'aesgcm' package. + (("roob\\.re/omemo-wget/aesgcm") + "github.com/roobre/omemo-wget/aesgcm") + ;; Use absolute path of 'xdg-open' program. + (("xdg-open") xdg-open)))))))) + (inputs + `(("go-github-com-pkg-errors" ,go-github-com-pkg-errors) + ("xdg-utils" ,xdg-utils))) + (home-page "https://roob.re/omemo-wget") + (synopsis "Program to download and decrypt @code{aesgcm://} URLs") + (description "OMEMO-wget is a tool to handle cryptographic URLs, generated +by @acronym{OMEMO, OMEMO Multi-End Message and Object Encryption}, during +XMPP-based sessions.") + (license license:lgpl3+))) + (define-public psi (package (name "psi") @@ -1796,79 +1836,6 @@ including psyced.") (synopsis "PSYC library in C") (license license:agpl3+))) -;; This commit removes the historic bundled pcre and makes psyclpc reproducible. -(define-public psyclpc - (let* ((commit "61cf9aa81297085e5c40170fd01221c752f8deba") - (revision "2")) - (package - (name "psyclpc") - (version (string-append "20160821-" revision "." (string-take commit 7))) - (source (origin - (method git-fetch) - (uri (git-reference - (url "git://git.psyced.org/git/psyclpc") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1viwqymbhn3cwvx0zl58rlzl5gw47zxn0ldg2nbi55ghm5zxl1z5")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; There are no tests/checks. - #:configure-flags - ;; If you have questions about this part, look at - ;; "src/settings/psyced" and the ebuild. - (list - "--enable-use-tls=yes" - "--enable-use-mccp" ; Mud Client Compression Protocol, leave this enabled. - (string-append "--prefix=" - (assoc-ref %outputs "out")) - ;; src/Makefile: Set MUD_LIB to the directory which contains - ;; the mud data. defaults to MUD_LIB = @libdir@ - (string-append "--libdir=" - (assoc-ref %outputs "out") - "/opt/psyced/world") - (string-append "--bindir=" - (assoc-ref %outputs "out") - "/opt/psyced/bin") - ;; src/Makefile: Set ERQ_DIR to directory which contains the - ;; stuff which ERQ can execute (hopefully) savely. Was formerly - ;; defined in config.h. defaults to ERQ_DIR= @libexecdir@ - (string-append "--libexecdir=" - (assoc-ref %outputs "out") - "/opt/psyced/run")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'chdir-to-src - ;; We need to pass this as env variables - ;; and manually change the directory. - (lambda _ - (chdir "src") - (setenv "CONFIG_SHELL" (which "sh")) - (setenv "SHELL" (which "sh")) - #t))) - #:make-flags (list "install-all"))) - (inputs - `(("zlib" ,zlib) - ("openssl" ,openssl-1.0) - ("pcre" ,pcre))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("bison" ,bison) - ("gettext" ,gettext-minimal) - ("help2man" ,help2man) - ("autoconf" ,autoconf) - ("automake" ,automake))) - (home-page "http://lpc.psyc.eu/") - (synopsis "psycLPC is a multi-user network server programming language") - (description - "LPC is a bytecode language, invented to specifically implement -multi user virtual environments on the internet. This technology is used for -MUDs and also the psyced implementation of the Protocol for SYnchronous -Conferencing (PSYC). psycLPC is a fork of LDMud with some new features and -many bug fixes.") - (license license:gpl2)))) - (define-public loudmouth (package (name "loudmouth") @@ -2257,7 +2224,7 @@ QMatrixClient project.") (define-public mtxclient (package (name "mtxclient") - (version "0.3.1") + (version "0.5.1") (source (origin (method git-fetch) @@ -2266,7 +2233,7 @@ QMatrixClient project.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1dg4dq20g0ah62j5s3gpsxqq4ny7lxkxdxa9q6g54hdwkrb9ms7x")))) + (base32 "1xznfx2bhw0ahwmkxm0rs05vz05ijk5k4190rj6qp3bvb9byiajh")))) (arguments `(#:configure-flags (list @@ -2279,12 +2246,6 @@ QMatrixClient project.") (substitute* "CMakeLists.txt" (("add_test\\((BasicConnectivity|ClientAPI|MediaAPI|Encryption|Pushrules)") "# add_test")) - #t)) - (add-before 'configure 'set-home - (lambda _ - ;; Tries to create package registry file - ;; So, set HOME. - (setenv "HOME" "/tmp") #t))))) (build-system cmake-build-system) (inputs @@ -2307,7 +2268,7 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") (define-public nheko (package (name "nheko") - (version "0.7.2") + (version "0.8.2") (source (origin (method git-fetch) @@ -2316,30 +2277,60 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1cbhgaf9klgxdirrxj571fqwspm0byl75c1xc40l727a6qswvp7s")))) + (base32 "0362hkbprc6jqlgmvzwxyvify4b1ldjakyqdz55m25xsypbpv2f3")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "third_party"))))) (arguments `(#:tests? #f ;no test target #:configure-flags - (list - "-DCMAKE_BUILD_TYPE=Release" - "-DCMAKE_CXX_FLAGS=-fpermissive") + '("-DCMAKE_BUILD_TYPE=Release" + "-DBUILD_DOCS=ON" + ;; Fix required because we are using a static SingleApplication + "-DCMAKE_CXX_FLAGS= \"-DQAPPLICATION_CLASS=QApplication\" " + ;; Compile Qml will make Nheko faster, but you will need to recompile + ;; it, when you update Qt. That's fine for us. + "-DCOMPILE_QML=ON") #:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-Werror - (lambda _ - (substitute* "CMakeLists.txt" - (("-Werror") "")) - #t)) + (add-after 'unpack 'unbundle-dependencies + (lambda* (#:key inputs #:allow-other-keys) + (let ((single-app (assoc-ref inputs "single-application"))) + (substitute* "CMakeLists.txt" + ;; Remove include and source dirs,replace with the correct one + (("third_party/blurhash/blurhash.cpp") "") + (("third_party/cpp-httplib-0.5.12") + (string-append "\"" single-app "/include\"")) + (("add_subdirectory.*third_party/SingleApplication.*") "") + ;; Link using the correct static/shared libs + (("SingleApplication::SingleApplication") + (string-append + ;; Dynamic libraries + "httplib" "\n" "blurhash" "\n" + ;; Static library + single-app "/lib/libSingleApplication.a")))))) (add-after 'unpack 'fix-determinism (lambda _ ;; Make Qt deterministic. - (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") - #t))))) + (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1"))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))) + (wrap-program (string-append out "/bin/nheko") + `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))))))))) (build-system qt-build-system) (inputs `(("boost" ,boost) + ("blurhash" ,blurhash) + ("cpp-httplib" ,cpp-httplib) ("cmark" ,cmark) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-bad" ,gst-plugins-bad) ; sdp & webrtc for voip + ("gst-plugins-good" ,gst-plugins-good) ; rtpmanager for voip ("json-modern-cxx" ,json-modern-cxx) + ("libnice" ,libnice) ; for voip ("libolm" ,libolm) ("lmdb" ,lmdb) ("lmdbxx" ,lmdbxx) @@ -2347,15 +2338,18 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") ("openssl" ,openssl) ("qtbase" ,qtbase-5) ("qtdeclarative" ,qtdeclarative) + ("qtkeychain" ,qtkeychain) ("qtgraphicaleffects" ,qtgraphicaleffects) ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols2" ,qtquickcontrols2) ("qtsvg" ,qtsvg) ("spdlog" ,spdlog) - ("tweeny" ,tweeny) + ("single-application" ,single-application-qt5) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("doxygen" ,doxygen) + ("graphviz" ,graphviz) + ("pkg-config" ,pkg-config) ("qtlinguist" ,qttools))) (home-page "https://github.com/Nheko-Reborn/nheko") (synopsis "Desktop client for Matrix using Qt and C++14") @@ -2363,22 +2357,8 @@ for the Matrix protocol. It is built on to of @code{Boost.Asio}.") Matrix protocol that feels more like a mainstream chat app and less like an IRC client. -There is support for: -@itemize -@item E2E encryption (text messages only: attachments are currently sent unencrypted). -@item User registration. -@item Creating, joining & leaving rooms. -@item Sending & receiving invites. -@item Sending & receiving files and emoji. -@item Typing notifications. -@item Username auto-completion. -@item Message & mention notifications. -@item Redacting messages. -@item Read receipts. -@item Basic communities support. -@item Room switcher (@key{ctrl-K}). -@item Light, Dark & System themes. -@end itemize") +Many matrix features are supported, including user registration, rooms, typing +notification, emojis, E2E encryption, and voip calls.") (license license:gpl3+))) (define-public quaternion diff --git a/gnu/packages/minetest.scm b/gnu/packages/minetest.scm new file mode 100644 index 0000000000..fd1439d4d2 --- /dev/null +++ b/gnu/packages/minetest.scm @@ -0,0 +1,693 @@ +;;; Copyright © 2014, 2015, 2016 David Thompson <dthompson2@worcester.edu> +;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2019 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> +;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2019–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Trevor Hass <thass@okstate.edu> +;;; Copyright © 2020, 2021 Leo Prikler <leo.prikler@student.tugraz.at> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. +(define-module (gnu packages minetest) + #:use-module (gnu packages) + #:use-module (gnu packages audio) + #:use-module (gnu packages base) + #:use-module (gnu packages curl) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages games) + #:use-module (gnu packages gettext) + #:use-module (gnu packages gl) + #:use-module (gnu packages image) + #:use-module (gnu packages lua) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages serialization) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages xiph) + #:use-module (gnu packages xorg) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (guix build-system copy) + #:use-module (guix build-system trivial) + #:use-module (guix build-system minetest) + #:use-module ((guix licenses) #:prefix license:)) + +(define-public minetest + (package + (name "minetest") + (version "5.4.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest/minetest") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8")) + (modules '((guix build utils))) + (patches + (search-patches + "minetest-add-MINETEST_MOD_PATH.patch")) + (snippet + '(begin + ;; Delete bundled libraries. + (delete-file-recursively "lib") + #t)))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DRUN_IN_PLACE=0" + "-DENABLE_FREETYPE=1" + "-DENABLE_GETTEXT=1" + "-DENABLE_SYSTEM_JSONCPP=TRUE" + (string-append "-DIRRLICHT_INCLUDE_DIR=" + (assoc-ref %build-inputs "irrlicht") + "/include/irrlicht") + (string-append "-DCURL_INCLUDE_DIR=" + (assoc-ref %build-inputs "curl") + "/include/curl")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/filesys.cpp" + ;; Use store-path for "rm" instead of non-existing FHS path. + (("\"/bin/rm\"") + (string-append "\"" (assoc-ref inputs "coreutils") "/bin/rm\""))) + (substitute* "src/CMakeLists.txt" + ;; Let minetest binary remain in build directory. + (("set\\(EXECUTABLE_OUTPUT_PATH .*\\)") "")) + (substitute* "src/unittest/test_servermodmanager.cpp" + ;; do no override MINETEST_SUBGAME_PATH + (("(un)?setenv\\(\"MINETEST_SUBGAME_PATH\".*\\);") + "(void)0;")) + (setenv "MINETEST_SUBGAME_PATH" + (string-append (getcwd) "/games")) ; for check + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + ;; Thanks to our substitutions, the tests should also run + ;; when invoked on the target outside of `guix build'. + (when tests? + (setenv "HOME" "/tmp") + (invoke "src/minetest" "--run-unittests"))))))) + (native-search-paths + (list (search-path-specification + (variable "MINETEST_SUBGAME_PATH") + (files '("share/minetest/games"))) + (search-path-specification + (variable "MINETEST_MOD_PATH") + (files '("share/minetest/mods"))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("coreutils" ,coreutils) + ("curl" ,curl) + ("freetype" ,freetype) + ("gettext" ,gettext-minimal) + ("gmp" ,gmp) + ("irrlicht" ,irrlicht) + ("jsoncpp" ,jsoncpp) + ("libjpeg" ,libjpeg-turbo) + ("libpng" ,libpng) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("libxxf86vm" ,libxxf86vm) + ("luajit" ,luajit) + ("mesa" ,mesa) + ("ncurses" ,ncurses) + ("openal" ,openal) + ("sqlite" ,sqlite))) + (propagated-inputs + `(("minetest-data" ,minetest-data))) + (synopsis "Infinite-world block sandbox game") + (description + "Minetest is a sandbox construction game. Players can create and destroy +various types of blocks in a three-dimensional open world. This allows +forming structures in every possible creation, on multiplayer servers or as a +single player. Mods and texture packs allow players to personalize the game +in different ways.") + (home-page "https://www.minetest.net/") + (license license:lgpl2.1+))) + +(define minetest-data + (package + (name "minetest-data") + (version (package-version minetest)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest/minetest_game") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4")))) + (build-system trivial-build-system) + (native-inputs + `(("source" ,source))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((install-dir (string-append + %output + "/share/minetest/games/minetest_game"))) + (mkdir-p install-dir) + (copy-recursively + (assoc-ref %build-inputs "source") + install-dir) + #t)))) + (synopsis "Main game data for the Minetest game engine") + (description + "Game data for the Minetest infinite-world block sandbox game.") + (home-page "https://www.minetest.net/") + (license license:lgpl2.1+))) + +(define-public (minetest-topic topic-id) + "Return an URL (as a string) pointing to the forum topic with +numeric identifier TOPIC-ID on the official Minetest forums." + (string-append "https://forum.minetest.net/viewtopic.php?t=" + (number->string topic-id))) + +(define-public minetest-basic-materials + (package + (name "minetest-basic-materials") + ;; Upstream uses dates as version numbers. + (version "2021-01-30") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/VanessaE/basic_materials.git") + (commit "e72665b2ed98d7be115779a32d35e6d9ffa231bd"))) + (sha256 + (base32 "0v6l3lrjgshy4sccjhfhmfxc3gk0cdy73qb02i9wd2vw506v5asx")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page (minetest-topic 21000)) + (synopsis "Some \"basic\" materials and items for other Minetest mods to use") + (description + "The Minetest mod \"basic_materials\" provides a small selection of +\"basic\" materials and items that other mods should use when possible -- things +like steel bars and chains, wire, plastic strips and sheets, and more.") + (license + (list license:cc-by-sa4.0 license:lgpl3)) + (properties `((upstream-name . "VanessaE/basic_materials"))))) + +(define-public minetest-coloredwood + (package + (name "minetest-coloredwood") + ;; Upstream uses dates as version numbers. + (version "2021-04-14-1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/VanessaE/coloredwood") + (commit "be4df6fc889419155bed8638bbb752493e78cbd5"))) + (sha256 + (base32 "1swirfk6b4xfbiwv8adyw5yl2lyfpp8ymfipzq9ivyvmif8nl3ki")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-unifieddyes" ,minetest-unifieddyes))) + (home-page (minetest-topic 2411)) + (synopsis "Painted wood in Minetest") + (description + "This Minetest mod provides hundreds of colours of wood and fences to +Minetest, using Unified Dyes. If the \"moreblocks\" mod is active, +coloured and cut wood shapes are provided as well.") + (license + ;; LGPL for code, CC-BY-SA for textures + (list license:cc-by-sa4.0 license:lgpl3)) + (properties `((upstream-name . "VanessaE/coloredwood"))))) + +(define-public minetest-ethereal + ;; ContentDB release 2021-07-28 is slightly ahead of the + ;; initial version 1.29 -- i.e., some released changes have been + ;; made to version 1.29 without a corresponding version bump. + (let ((commit "7670c1da9274901f57f6682384af2b3bae005a86") + (revision "0")) + (package + (name "minetest-ethereal") + (version (git-version "1.29" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/TenPlus1/ethereal") + (commit commit))) + (sha256 + (base32 "1hal8bq4fydsip7s8rqz4vlaaqy9rhzxmryd0j2qnqm9286yjgkk")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page (minetest-topic 14638)) + (synopsis "The Ethereal mod adds many new biomes to Minetest") + (description + "The Ethereal Minetest mod uses the v7 map generator to add many new +biomes to the world. It adds new trees, plants, food items, tweaks and some +special items, intending to make an interesting adventure.") + ;; CC0: some textures + (license (list license:cc0 license:expat)) + (properties `((upstream-name . "TenPlus1/ethereal")))))) + +(define-public minetest-homedecor-modpack + (package + (name "minetest-homedecor-modpack") + ;; Upstream doesn't tag releases, so use the release title from + ;; ContentDB as version. + (version "2021-03-27-1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/VanessaE/homedecor_modpack") + (commit "9ffe2b7d691133e1a067546574fbe7364fd02f32"))) + (sha256 + (base32 "1lfajqvc2adf9hqskghky4arccqzpjw4i9a01hv4qcckvivm04ag")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-basic-materials" ,minetest-basic-materials) + ("minetest-unifieddyes" ,minetest-unifieddyes))) + (home-page (minetest-topic 2041)) + (synopsis "Home decor mod for Minetest") + (description + ;; TRANSLATORS: ‘homedecor’ is the name is the name of a Minetest mod + ;; and should not be translated. + "The homedecor Minetest mod provides a large seleection of items that +might be found inside and around homes, such as sofas, chairs, tables, fences +and a variety of other stuff.") + (license + (list license:cc-by-sa4.0 license:lgpl3)) + (properties `((upstream-name . "VanessaE/homedecor_modpack"))))) + +(define-public minetest-mesecons + ;; The release on ContentDB does not have its own version number. + (let ((commit "db5879706d04d3480bc4863ce0c03fa73e5f10c7") + (revision "0")) + (package + (name "minetest-mesecons") + (version (git-version "1.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest-mods/mesecons") + (commit commit))) + (sha256 + (base32 "04m9s9l3frw1lgki41hgvjsw2zkrvfv0sy750b6j12arzb3lv645")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page "https://mesecons.net") + (synopsis + "Digital circuitry for Minetest, including wires, buttons and lights") + (description + "Mesecons is a mod for Minetest implementing various items related +to digital circuitry, such as wires, buttons, lights and programmable +controllers. Among other things, there are also pistons, solar panels, +pressure plates and note blocks. + +Mesecons has a similar goal to Redstone in Minecraft, but works in its own way, +with different rules and mechanics.") + ;; LGPL for code, CC-BY-SA for textures. + ;; The README.md and COPYING.txt disagree about the "+" in license:lgpl3+. + ;; For now, assume README.md is correct. Upstream has been asked to + ;; correct the inconsistency: + ;; <https://github.com/minetest-mods/mesecons/issues/575>. + (license (list license:lgpl3+ license:cc-by-sa3.0)) + (properties `((upstream-name . "Jeija/mesecons")))))) + +(define-public minetest-mineclone + (package + (name "minetest-mineclone") + (version "0.71.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.minetest.land/Wuzzy/MineClone2") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qm809dqvxc7pa1cr9skmglq9vrbq5hhm4c4m5yi46ldh1v96dgf")))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("." "share/minetest/games/mineclone")))) + (synopsis "Minecraft clone based on Minetest engine") + (description + "MineClone is a Minetest subgame, that aims to recreate Minecraft as +closely as the engine allows.") + (home-page "https://content.minetest.net/packages/Wuzzy/mineclone2/") + (license license:gpl3+))) + +(define-public minetest-mobs + (package + (name "minetest-mobs") + ;; Upstream does not tag release, so use the ContentDB release + ;; title instead. + (version "2021-07-22") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/TenPlus1/mobs_redo") + (commit "9f46182bb4b1a390f9a140bc2b443f3cda702332"))) + (sha256 + (base32 "026kqjis4lipgskjivb3jh9ris3iz80vy2q1jvgxhxmfghjjzp4j")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page (minetest-topic 9917)) + (synopsis "Mob library for Minetest mods, for animals, monsters etc.") + (description + "This Minetest mod provides an API for adding mods (moving entities +like animals and monsters), but does not include any mobs itself. To actually +add some mobs, a mod like e.g. @code{mobs_animal} provided by the +@code{minetest-mobs-animal} package needs to be enabled.") + ;; CC0: mob_swing.ogg + ;; CC-BY 3.0: mob_spell.ogg + ;; Expat: everything else + (license (list license:expat license:cc0 license:cc-by3.0)) + (properties `((upstream-name . "TenPlus1/mobs"))))) + +(define-public minetest-mobs-animal + (package + (name "minetest-mobs-animal") + ;; Upstream does not use version numbers, so use the release title + ;; from ContentDB instead; + (version "2021-07-24") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://notabug.org/TenPlus1/mobs_animal") + (commit "c2fa3e300c79c7dd80b6fe91a8b5082bb6b3d934"))) + (sha256 + (base32 "1j719f079ia9vjxrmjrcj8s6jvaz5kgs1r4dh66z8ql6s70kx7vh")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-mobs" ,minetest-mobs))) + (home-page "https://notabug.org/TenPlus1/mobs_animal") + (synopsis "Add animals to Minetest") + (description + "This Minetest mod adds various animals to Minetest, such as bees, +bunnies, chickens, cows, kittens, rats, sheep, warthogs, penguins and pandas.") + ;; CC0: some textures and sounds + (license (list license:cc0 license:expat)) + (properties `((upstream-name . "TenPlus1/mobs_animal"))))) + +(define-public minetest-pipeworks + (package + (name "minetest-pipeworks") + ;; Upstream uses dates as version numbers. + (version "2021-04-14-1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/VanessaE/pipeworks") + (commit "db6d1bd9c109e1e543b97cc3fa8a11400da23bcd"))) + (sha256 + (base32 "1flhcnf17dn1v86kcg47a1n4cb0lybd11ncxrkxn3wmf10ibsrm0")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-basic-materials" ,minetest-basic-materials))) + (home-page (minetest-topic 2155)) + (synopsis "Pipes, item-transport tubes and related devices for Minetest") + (description + "Pipeworks is a mod for Minetest implementing 3D pipes and tubes for +transporting liquids and items and some related devices. Pipes and tubes can +go horizontally or vertically. Item tubes can also be used for sorting items +and extracting items from chests or putting items in chests. Autocrafters can +automatically follow craft recipes to make new items and can be fed by item +tubes. Deployers can place items in the world as a player would. Node +breakers simulate a player punching a node.") + ;; CC-BY-SA for textures, LGPL for code + (license (list license:cc-by-sa4.0 license:lgpl3)) + (properties `((upstream-name . "VanessaE/pipeworks"))))) + +(define-public minetest-technic + (package + (name "minetest-technic") + ;; Upstream doesn't keep version numbers, so use the release + ;; date on ContentDB instead. + (version "2021-04-15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest-mods/technic") + (commit "1c219487d3f4dd03c01ff9aa1f298c7c18c7e189"))) + (sha256 + (base32 "1k9hdgzp7jnhsk6rgrlrv1lr5xrmh8ln4wv6r25v6f0fwbyj57sf")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-pipeworks" ,minetest-pipeworks) + ("minetest-basic-materials" ,minetest-basic-materials))) + (home-page (minetest-topic 2538)) + (synopsis "Machinery and automation for Minetest") + (description + "This Minetest mod adds machinery and automation to Minetest. +It adds various ores that can be processed for constructing various +machinery, such as power generators, force field emitters, quarries +and a workshop for repairing tools. Most machines are electrically +powered.") + ;; CC BY-SA 3.0: some texture + ;; WTFPL: some textures + ;; CC BY-SA3.0: some textures + ;; CC BY-SA4.0: some sounds + (license (list license:lgpl2.1+ license:cc-by-sa3.0 license:cc-by-sa4.0 + license:wtfpl2)) + (properties `((upstream-name . "RealBadAngel/technic"))))) + +(define-public minetest-throwing + ;; The latest release on ContentDB is ahead of the latet + ;; tagged commit. + (let ((commit "31f0cf5f868673dc82f24ddc432b45c9cd282d27") + (revision "0")) + (package + (name "minetest-throwing") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest-mods/throwing") + (commit commit))) + (sha256 + (base32 "1s5kkr6rxxv2dhbbjzv62gw1s617hnpjavw1v9fv11v3mgigdfjb")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page (minetest-topic 16365)) + (synopsis "API for throwing things in Minetest") + (description + "This Minetest mod provides an API for registering throwable things and +throwing things like arrows. However, this mod does not provide an actual +arrow and bow, but @code{minetest-throwing-arrows} does.") + (license license:mpl2.0) + (properties `((upstream-name . "Palige/throwing")))))) + +(define-public minetest-throwing-arrows + ;; There is only one tagged commit (version 1.1), + ;; there are no releases on ContentDB and the latest + ;; commit has a compatibility fix for Minetest 5.4.0-dev. + (let ((commit "059cc897af0aebfbd2c54ac5588f2b842f44f159") + (revision "0")) + (package + (name "minetest-throwing-arrows") + (version (git-version "1.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest-mods/throwing_arrows") + (commit commit))) + (sha256 + (base32 "0m2pmccpfxn878zd00pmrpga2h6gknz4f3qprck0fq94mksmwqs3")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-throwing" ,minetest-throwing))) + (home-page (minetest-topic 16365)) + (synopsis "Arrows and bows for Minetest") + (description + ;; TRANSLATORS: "throwing" is the name of a Minetest mod and should + ;; not be translated. + "This mod adds arrows and bows to Minetest. It is a compatible +replacement for the throwing mod by PilzAdam that uses the throwing API.") + (license license:mpl2.0)))) + +(define-public minetest-worldedit + (package + (name "minetest-worldedit") + (version "1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Uberi/Minetest-WorldEdit") + (commit "2f26fb76459c587868199160b9d7b5d6d7852e50"))) + (sha256 + (base32 "0lsvihkixi2na1b0vmml9vwgs0g24hqqshl73ffhkzh6jsq4cagq")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page (minetest-topic 572)) + (synopsis "In-game world editor for Minetest") + (description + "WorldEdit is a mod for Minetest. It allows for creating various +geometric shapes and copying regions. It can also export and import regions +to and from the file system.") + (license license:agpl3) + (properties `((upstream-name . "sfan5/worldedit"))))) + +(define-public minetest-unifieddyes + (package + (name "minetest-unifieddyes") + ;; Upstream uses dates as version numbers. + (version "2021-04-20-1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/VanessaE/unifieddyes") + (commit "ff3b2d30fa0df5c7181fdd401b989de6271c3bb3"))) + (sha256 + (base32 "0rba9n192xcpmxwnq7ixb6mn32gkpic247j3w4mwinrqcyscacsv")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-basic-materials" ,minetest-basic-materials))) + (home-page (minetest-topic 2178)) + (synopsis + "Unified Dyes expands the standard dye set of Minetest to up to 256 colours") + (description "The purpose of this mod originally was to supply a complete +set of colours for Minetest mod authors to use for colourised nodes or +reference in recipes. Since the advent of the default dyes mod in the standard +Minetest game, this mod has become an extension of the default mod an a library +for general colour handling.") + (license license:gpl2+) + (properties `((upstream-name . "VanessaE/unifieddyes"))))) + +(define-public minetest-unified-inventory + (package + (name "minetest-unified-inventory") + ;; Upstream doesn't keep version numbers, so use the release title + ;; on ContentDB instead. + (version "2021-03-25-1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest-mods/unified_inventory") + (commit "c044f5e3b08f0c68ab028d757b2fa63d9a1b0370"))) + (sha256 + (base32 "198g945gzbfl0kps46gwjw0c601l3b3wvn4c7dw8manskri1jr4g")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page (minetest-topic 12767)) + (synopsis "Replace the default inventory in Minetest and add a crafting guide") + (description + "The Unified Inventory Minetest mod relaces the default survival an +creative inventory. It includes a node, item and tool browser, a crafting +guide, a trash and refill slot for creative mode, bags and waypoints for keeping +track of important locations.") + ;; CC-BY: some textures and icons + ;; CC-BY-SA: some textures and icons + ;; LGLPL2.1+: code and some textures + ;; GPL2+: some textures + ;; GPL3: bags.lua + ;; GFDL: some icons + ;; public domain, CC0: some icons + (license (list license:gpl3 license:gpl2+ license:lgpl2.1+ license:cc-by3.0 + license:cc-by4.0 license:cc-by-sa3.0 license:public-domain + license:cc0 license:fdl1.2+)) + (properties `((upstream-name . "RealBadAngel/unified_inventory"))))) + +(define-public minetest-advtrains + (package + (name "minetest-advtrains") + (version "2.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.bananach.space/advtrains.git") + (commit (string-append "release-" version)))) + (sha256 + (base32 "1ijqlchh269jpvmgmdmdvy3nsnk0bszkvvcqk6vaysvxam695ggw")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (home-page "http://advtrains.de/") + (synopsis "Adds good-looking, realistic trains with realistic rails") + (description + "This mod features realistic trains and various equipment for railways, +with a focus on automated train operation. This package contains no actual +trains, please use @code{minetest-basic-trains}. + +Main features: + +@itemize +@item +almost-realistic tracks with actual curves and switches; +@item +railway signals, controllable by various means; +@item +ATC: simple, command-like automatic train control; +@item +LuaATC: Powerful Lua-scripted automatic train operation (requires some +programming knowledge); +@item +an interlocking system, featuring track sections, routes and automatic +stopping before signals. +@end itemize") + (license (list license:cc-by-sa3.0 license:agpl3+)) + (properties `((upstream-name . "orwell/advtrains"))))) + +(define-public minetest-basic-trains + (package + (name "minetest-basic-trains") + (version "1.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "http://git.bananach.space/basic_trains.git/") + (commit + "d44c410f7c2a7202ee68b66fc50febae89e0c5dc"))) + (sha256 + (base32 + "0vvzndj48kgdz2bfgivfm217sbmc2lmxpp2mispcy7byn4i26prx")) + (file-name (git-file-name name version)))) + (build-system minetest-mod-build-system) + (propagated-inputs + `(("minetest-advtrains" ,minetest-advtrains))) + (home-page + "http://advtrains.de/wiki/doku.php?id=usage:trains:basic_trains") + (synopsis "Collection of basic trains for the Advanced Trains mod") + (description + "This modpack contains the trains which were the ``default'' trains in +advtrains up to version 2.2.1.") + (license (list license:cc-by-sa3.0 license:agpl3+)) + (properties `((upstream-name . "orwell/basic_trains"))))) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index d2aef0eaab..46dea5eeb8 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -9,6 +9,7 @@ ;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org> ;;; Copyright © 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -650,3 +651,35 @@ LAN, if wanted, and clients can switch between multiple hosts on the network. Hostscope features a bridge to Influx DB. So Grafana can be used to visualize the recorded data over time.") (license license:gpl3+))) + +(define-public fatrace + (package + (name "fatrace") + (version "0.16.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/martinpitt/fatrace") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bxz6v1z0icp716jnv3knjyqp8bv6xnkz8gqd8z3g2b6yxj5xff3")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + ;; tests need root to run as root, + ;; and there is no make target for them: + (delete 'check)) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)))) + (synopsis "File access events monitor") + (description "This package provides a utility to report system wide file +access events from all running processes. Its main purpose is to find +processes which keep waking up the disk unnecessarily and thus prevent some +power saving.") + (home-page "https://github.com/martinpitt/fatrace") + (license license:gpl3+))) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index d59a133535..406d010193 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -2,12 +2,14 @@ ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2017, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2021 Simon Streit <simon@netpanic.org> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -372,7 +374,7 @@ This package contains the binary.") (define-public mpg123 (package (name "mpg123") - (version "1.26.5") + (version "1.28.2") (source (origin (method url-fetch) @@ -382,7 +384,7 @@ This package contains the binary.") "https://www.mpg123.org/download/mpg123-" version ".tar.bz2"))) (sha256 - (base32 "01pgcqjbbi2r7nlg5118bkivl0gkv0hq0cw7v4vpxgimv7h9fajh")))) + (base32 "006v44nz4nkpgvxz1k2vbbrfpa2m47hyydscs0wf3iysiyvd9vvy")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--with-default-audio=pulse"))) (native-inputs @@ -411,7 +413,8 @@ command-line tool as well as a C library, libmpg123.") (base32 "0ki8mh76bbmdh77qsiw682dvi8y468yhbdabqwg05igmwc1wqvq5")) (patches - (search-patches "mpg321-CVE-2019-14247.patch")))) + (search-patches "mpg321-CVE-2019-14247.patch" + "mpg321-gcc-10.patch")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-alsa"))) (inputs @@ -543,7 +546,9 @@ format.") (lambda _ (substitute* "Makefile" (("CC[[:blank:]]*:=.*") - "CC := gcc\n")))) + "CC := gcc\n")) + + (setenv "CFLAGS" "-fcommon -g"))) ;allow compilation with GCC 10 (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -645,19 +650,34 @@ FFmpeg, etc.") (define-public python-pyacoustid (package (name "python-pyacoustid") - (version "1.1.7") + (version "1.2.2") (source (origin (method url-fetch) (uri (pypi-uri "pyacoustid" version)) (sha256 (base32 - "1zan6c22ca6sjy0g9ajwjp6mkzw7jv8r3n7jzska09a6x254lf87")))) + "0ha15m41r8ckmanc4k9nrlb9hprvhdjxndzw40a1yj3z1b1xjyf2")))) (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chromaprint-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "chromaprint.py" + (("libchromaprint.so.1") + (string-append (assoc-ref inputs "chromaprint") + "/lib/libchromaprint.so.1"))) + (substitute* "acoustid.py" + (("'fpcalc'") + (string-append "'" (assoc-ref inputs "chromaprint") + "/bin/fpcalc'"))) + #t))))) + (inputs `(("chromaprint" ,chromaprint))) (propagated-inputs `(("python-audioread" ,python-audioread) ("python-requests" ,python-requests))) - (home-page "https://github.com/sampsyo/pyacoustid") + (home-page "https://github.com/beetbox/pyacoustid") (synopsis "Bindings for Chromaprint acoustic fingerprinting") (description "This package provides bindings for the Chromaprint acoustic diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index f115f48d03..3fe8c0b690 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -105,7 +105,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.22.9") + (version "0.22.10") (source (origin (method url-fetch) (uri @@ -114,7 +114,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "0r5w282klk3d9pgsjjr8lnc77cbsxqvvkx39lpa0n962jwr40dzr")))) + "0576z57rgwmnm5djd7rwbc93aikji0n6b3lx1553v74rx4sjbj07")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=enabled"))) @@ -285,13 +285,13 @@ information about tracks being played to a scrobbler, such as Libre.FM.") (define-public python-mpd2 (package (name "python-mpd2") - (version "3.0.1") + (version "3.0.4") (source (origin (method url-fetch) (uri (pypi-uri "python-mpd2" version)) (sha256 (base32 - "0fxssbmnv44m03shjyvbqslc69b0160702j2s0flgvdxjggrnbjj")))) + "1r8saq1460yfa0sxfrvxqs2r453wz2xchlc9gzbpqznr49786rvs")))) (build-system python-build-system) (arguments '(#:phases diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm index 147d19917b..a660606316 100644 --- a/gnu/packages/mtools.scm +++ b/gnu/packages/mtools.scm @@ -29,14 +29,14 @@ (define-public mtools (package (name "mtools") - (version "4.0.31") + (version "4.0.35") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mtools/mtools-" version ".tar.bz2")) (sha256 (base32 - "11nm5mhsq700f3dzvzjpcik89cfcn38mb249yc0sjbwggwkrk2ak")) + "0ja7lkbw6v36p0cq0hs3xsw2ks970k47d350j7cg1lji6wbrwxil")) (patches (search-patches "mtools-mformat-uninitialized.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 492103b715..1ce6264094 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -40,6 +40,9 @@ ;;; Copyright © 2021 Frank Pursel <frank.pursel@gmail.com> ;;; Copyright © 2021 Rovanion Luckey <rovanion.luckey@gmail.com> ;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Simon Streit <simon@netpanic.org> +;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,6 +84,7 @@ #:use-module (gnu packages apr) #:use-module (gnu packages audio) #:use-module (gnu packages autotools) + #:use-module (gnu packages assembly) #:use-module (gnu packages backup) #:use-module (gnu packages base) ;libbdf #:use-module (gnu packages bash) @@ -143,6 +147,7 @@ #:use-module (gnu packages pulseaudio) ;libsndfile #:use-module (gnu packages python) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) @@ -150,6 +155,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages rsync) #:use-module (gnu packages sdl) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages sqlite) #:use-module (gnu packages stb) @@ -175,18 +181,19 @@ (define-public audacious (package (name "audacious") - (version "4.0.5") + (version "4.1") (source (origin (method url-fetch) (uri (string-append "https://distfiles.audacious-media-player.org/" "audacious-" version ".tar.bz2")) (sha256 - (base32 "028zjgz0p7ys15lk2a30m5zcv9xrx3ga50wjsh4m4zxilgkakbji")))) + (base32 "0p734psjjvjcmla2hg5h6a9v1prvy63jj9xm2g2ngs49jy7qan0z")))) (build-system gnu-build-system) (arguments `(#:configure-flags - (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")) + (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") + "--disable-gtk") #:tests? #f ; no check target #:phases (modify-phases %standard-phases @@ -226,7 +233,7 @@ (uri (string-append "https://distfiles.audacious-media-player.org/" "audacious-plugins-" version ".tar.bz2")) (sha256 - (base32 "0ny5w1agr9jaz5w3wyyxf1ygmzmd1sivaf97lcm4z4w6529520lz")))) + (base32 "0k0xnqmxi5lna034i2cnzvfzrykxmv4fbs1nkrc9sd2ma1igrmns")))) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for gdbus-codegen ("pkg-config" ,pkg-config))) @@ -246,9 +253,9 @@ ("libcddb" ,libcddb) ("libcdio-paranoia" ,libcdio-paranoia) ("libcue" ,libcue) - ("libmodplug" ,libmodplug) ("libnotify" ,libnotify) ("libogg" ,libogg) + ("libopenmpt" ,libopenmpt) ("libsamplerate" ,libsamplerate) ("libsndfile" ,libsndfile) ("libvorbis" ,libvorbis) @@ -547,7 +554,7 @@ It is a fork of Clementine aimed at music collectors and audiophiles.") (define-public cmus (package (name "cmus") - (version "2.8.0") + (version "2.9.1") (source (origin (method git-fetch) (uri (git-reference @@ -556,7 +563,7 @@ It is a fork of Clementine aimed at music collectors and audiophiles.") (file-name (git-file-name name version)) (sha256 (base32 - "1ydnvq13ay8b8mfmmgwi5qsgyf220yi1d01acbnxqn775dghmwar")))) + "0zjkimni2fhv4yskrjrgj6b74f33rfj58zgd7khwrz4z8nf88j0w")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; cmus does not include tests @@ -847,7 +854,7 @@ MusePack, Monkey's Audio, and WavPack files.") (define-public extempore (package (name "extempore") - (version "0.8.6") + (version "0.8.9") (source (origin (method git-fetch) (uri (git-reference @@ -855,7 +862,7 @@ MusePack, Monkey's Audio, and WavPack files.") (commit (string-append "v" version)))) (sha256 (base32 - "182jy23qv115dipny7kglwbn21z55dp253w1ykm0kh8n6vkgs7gp")) + "16i12zl3g1zpx6lhg5pg821xirdf9rxx5m11b68inf83wn6hknhb")) (file-name (git-file-name name version)) (patches (search-patches "extempore-unbundle-external-dependencies.patch")) @@ -864,16 +871,12 @@ MusePack, Monkey's Audio, and WavPack files.") '(begin ;; Remove bundled sources. (map delete-file-recursively - '("src/portaudio" - "src/pcre")) + '("src/pcre")) #t)))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DJACK=ON" "-DPACKAGE=ON" - "-DEXTERNAL_SHLIBS_AUDIO=OFF" - "-DEXTERNAL_SHLIBS_GRAPHICS=OFF" - "-DCMAKE_BUILD_TYPE=Release" (string-append "-DEXT_SHARE_DIR=" (assoc-ref %outputs "out") "/share")) @@ -958,7 +961,12 @@ MusePack, Monkey's Audio, and WavPack files.") (("COMMAND extempore" prefix) (string-append prefix " --sharedir " (getcwd) " --mcpu=generic --attr=none"))) - #t))))) + #t)) + (add-after 'unpack 'symlink-assets + (lambda* (#:key inputs #:allow-other-keys) + (let ((assets (assoc-ref inputs "extempore-assets"))) + (symlink assets "assets") + #t)))))) (inputs `(("llvm" ,(package @@ -972,6 +980,19 @@ MusePack, Monkey's Audio, and WavPack files.") (sha256 (base32 "1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs")))))) + ("extempore-assets" + ,(let ((commit "0c9f32c18169b3fbc24bc1ad66283125b54a0c85") + (revision "0") + (version "0.0.0")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/extemporelang/extempore-assets") + (commit commit))) + (file-name (git-file-name "extempore-assets" + (git-version version revision commit))) + (sha256 + (base32 "1pxmcbngd9qx8m71d5rfsmf4h31jnsnd3wjh8vb0rwskif22xz8l"))))) ("libffi" ,libffi) ("jack" ,jack-1) ("libsndfile" ,libsndfile) @@ -1517,7 +1538,7 @@ and auto-mapping slices to MIDI note numbers.") ("imagemagick" ,imagemagick) ("netpbm" ,netpbm) ;for pngtopnm ("texlive" ,(texlive-updmap.cfg (list texlive-metapost - texlive-generic-epsf + texlive-epsf texlive-lh texlive-latex-cyrillic))) ("texinfo" ,texinfo) @@ -1538,9 +1559,9 @@ Guile.") ;; more than an hour of silence, so double the max silent time. (properties `((max-silent-time . 7200))))) -(define-public python-abjad +(define-public abjad (package - (name "python-abjad") + (name "abjad") (version "3.3") (source (origin @@ -1556,11 +1577,6 @@ Guile.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-source - (lambda _ - (substitute* "setup.py" - (("uqbar>=0.5.1, <0.5.0") "uqbar>=0.5.0")) - #t)) (replace 'check (lambda* (#:key tests? #:allow-other-keys) (when tests? @@ -1568,25 +1584,166 @@ Guile.") (invoke "python" "-m" "pytest" "tests") #t)))))) (native-inputs - `(("lilypond" ,lilypond) - ("python-black" ,python-black) + `(("python-black" ,python-black) ("python-flake8" ,python-flake8) ("python-iniconfig" ,python-iniconfig) ("python-isort" ,python-isort) ("python-mypy" ,python-mypy) - ("python-ply" ,python-ply) ("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) ("python-sphinx-autodoc-typehints" ,python-sphinx-autodoc-typehints))) + (inputs + `(("lilypond" ,lilypond))) (propagated-inputs - `(("python-quicktions" ,python-quicktions) + `(("python-ply" ,python-ply) + ("python-quicktions" ,python-quicktions) ("python-roman" ,python-roman) ("python-six" ,python-six) ("python-uqbar" ,python-uqbar))) (home-page "https://abjad.github.io") (synopsis "Python API for building LilyPond files") (description - "This package provides a Python API for building LilyPond files.") + "Abjad helps composers build up complex pieces of music notation in iterative +and incremental ways. Use Abjad to create a symbolic representation of all the notes, +rests, chords, tuplets, beams and slurs in any score. Because Abjad extends the Python +programming language, you can use Abjad to make systematic changes to music as you work. +Because Abjad wraps the LilyPond music notation package, you can use Abjad to control the +typographic detail of symbols on the page.") + (license license:expat))) + +(define-public python-abjad + (deprecated-package "python-abjad" abjad)) + +(define-public abjad-ext-rmakers + (package + (name "abjad-ext-rmakers") + (version "3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Abjad/abjad-ext-rmakers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03nry8lzh3s81yq4lw8y6j63m7zdsl20q7rvx9cfmp3rmbvlaycs")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "pytest" ".") + #t)))))) + (native-inputs + `(("lilypond" ,lilypond) + ("python-black" ,python-black) + ("python-flake8" ,python-flake8) + ("python-iniconfig" ,python-iniconfig) + ("python-isort" ,python-isort) + ("python-mypy" ,python-mypy) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-helpers-namespace" ,python-pytest-helpers-namespace))) + (propagated-inputs + `(("abjad" ,abjad))) + (home-page "https://abjad.github.io") + (synopsis "Abjad rhythm-maker exension package") + (description + "@code{abjad-ext-rmakers} includes a collection of classes for creating and +and manipulating rhythms such as accelerandi, taleas, and more.") + (license license:expat))) + +(define-public abjad-ext-nauert + (package + (name "abjad-ext-nauert") + (version "3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Abjad/abjad-ext-nauert") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "07vgfjh32vmf652lcl2vrbzr0h6nld00qbgwbf9i1kk3xwhvklc9")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "-m" "pytest" "tests") + #t)))))) + (native-inputs + `(("lilypond" ,lilypond) + ("python-black" ,python-black) + ("python-flake8" ,python-flake8) + ("python-iniconfig" ,python-iniconfig) + ("python-isort" ,python-isort) + ("python-mypy" ,python-mypy) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-helpers-namespace" ,python-pytest-helpers-namespace))) + (propagated-inputs + `(("abjad" ,abjad))) + (home-page "https://abjad.github.io") + (synopsis "Abjad quantization extension, based on Paul Nauert's Q-Grids") + (description + "@code{abjad-ext-nauert} provides classes for dealing with composer and +music theorist Paul Nauert's quantization grids or Q-Grids, for short.") + (license license:expat))) + +(define-public abjad-ext-ipython + (package + (name "abjad-ext-ipython") + (version "3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Abjad/abjad-ext-ipython") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vv0alpiz0gf5lgjfvlh4km72dvrxfqkwzxl3k4amzci3i0jzbs2")))) + (build-system python-build-system) + (arguments + ;; UnboundLocalError: local variable 'output_path' referenced before assignment + `(#:tests? #f + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (setenv "HOME" (getcwd)) + (add-installed-pythonpath inputs outputs) + ;; From 'make jupyter-test' + (invoke "jupyter" "nbconvert" "--to=html" + "--ExecutePreprocessor.enabled=True" "tests/test.ipynb"))))))) + (native-inputs + `(("lilypond" ,lilypond) + ("python-black" ,python-black) + ("python-flake8" ,python-flake8) + ("python-iniconfig" ,python-iniconfig) + ("python-isort" ,python-isort) + ("python-mypy" ,python-mypy) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-helpers-namespace" ,python-pytest-helpers-namespace))) + (propagated-inputs + `(("abjad" ,abjad) + ("jupyter" ,jupyter))) + (home-page "https://abjad.github.io") + (synopsis "Abjad IPython Extension") + (description + "@code{abjad-ext-ipython} makes it possible to embed music notation in +@code{jupyter} notebooks.") (license license:expat))) (define-public non-sequencer @@ -1728,7 +1885,7 @@ complete studio.") `(("liblo" ,liblo) ("gtkmm" ,gtkmm) ("alsa-lib" ,alsa-lib) - ("libxmlplusplus" ,libxmlplusplus-2.6))) + ("libxml++" ,libxml++-2))) (native-inputs `(("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) @@ -2055,7 +2212,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.9.22") + (version "0.9.23") (source (origin (method url-fetch) (uri @@ -2063,7 +2220,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "0cmxbsfhkkyqn97rc47cb7d3bv6bd9r71xp4z85mi2kl3q4k569i")))) + "03lvq84pg0agdn16i7ng6j7lp1ii3inf4pzjypnkywb2km7zcpni")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2087,7 +2244,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.9.22") + (version "0.9.23") (source (origin (method url-fetch) (uri @@ -2095,7 +2252,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "0c13l814f5rhbmpmd4w0a07j1ki5wc092xcgy6p6zj5s03zvcrzy")))) + "1jgsml9wxzwnqyb6wjn9zk94qvxs6c898hyj10sza4d9l6r1rnw0")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2120,7 +2277,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.9.22") + (version "0.9.23") (source (origin (method url-fetch) (uri @@ -2128,7 +2285,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "19ajnwzd5w2jlazflh5r9qm4sflkn2s2zc5zh0vlqywxzvb9dp9g")))) + "1bgyz530mpmlabvy592zickrzk4x4rm2i0ixf3z6plgn265km43q")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2153,7 +2310,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.9.22") + (version "0.9.23") (source (origin (method url-fetch) (uri @@ -2161,7 +2318,7 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1wky9v91qc3j866di8mcjz0pf3n8ah888lxg8dpvp6ryh1cm6i6x")))) + "0222n74kykirkhq4va09hr37rybxs0nxjbmamp38jf94bfz5y8gp")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2729,14 +2886,14 @@ browser.") (define-public drumstick (package (name "drumstick") - (version "2.3.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/drumstick/" version "/drumstick-" version ".tar.bz2")) (sha256 (base32 - "12haksnf91ra5w5dwnlc3rcw4js8wj4hsl6kzyqrx4q4fnpvjahk")))) + "1rs248pkgn6d29nkvw9ab6dvi1vsz220jdmz1ddzr29cpyc0adfh")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no test target @@ -3126,14 +3283,14 @@ from the command line.") (define-public qtractor (package (name "qtractor") - (version "0.9.22") + (version "0.9.23") (source (origin (method url-fetch) (uri (string-append "https://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "0n73xn3205afi9vsy6ianixq36ddp8qv6iaq03ldc6mkkfvn0nc5")))) + "1d2d884x5kfa41skwyh0ihyx5jgc9467617gmfjm379qcgnxq00s")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target @@ -3423,7 +3580,7 @@ formats, looking up tracks through metadata and audio fingerprints.") `(("python-pytest" ,python-pytest) ("python-hypothesis" ,python-hypothesis) ("python-flake8" ,python-flake8))) - (home-page "https://bitbucket.org/lazka/mutagen") + (home-page "https://mutagen.readthedocs.io/") (synopsis "Read and write audio tags") (description "Mutagen is a Python module to handle audio metadata. It supports ASF, FLAC, M4A, Monkey’s Audio, MP3, Musepack, Ogg FLAC, Ogg Speex, Ogg @@ -3437,20 +3594,18 @@ streams on an individual packet/page level.") (define-public python-mediafile (package (name "python-mediafile") - (version "0.6.0") + (version "0.8.0") (source (origin (method url-fetch) (uri (pypi-uri "mediafile" version)) - (patches (search-patches "python-mediafile-wavpack.patch")) (sha256 (base32 - "0jmsp3f57xj35ayp8b6didk85nxgl3viw34s5px3l5dwgc055yx3")))) + "0ipb001j19s9wvssmrj8wz0nrkbl0k3zr3dgzyp1bd9cjc6vklnp")))) (build-system python-build-system) (propagated-inputs `(("python-mutagen" ,python-mutagen) - ("python-six" ,python-six) - ("python-tox" ,python-tox))) + ("python-six" ,python-six))) (home-page "https://github.com/beetbox/mediafile") (synopsis "Read and write audio file tags") (description @@ -3463,18 +3618,14 @@ of tags.") (define-public python-musicbrainzngs (package (name "python-musicbrainzngs") - (version "0.6") + (version "0.7.1") (source (origin (method url-fetch) (uri (pypi-uri "musicbrainzngs" version)) (sha256 (base32 - "1dddarpjawryll2wss65xq3v9q8ln8dan7984l5dxzqx88d2dvr8")))) + "09z6k07pxncfgfc8clfmmxl2xqbd7h8x8bjzwr95hc0bzl00275b")))) (build-system python-build-system) - (arguments - '(;; The tests fail suffer from race conditions: - ;; https://github.com/alastair/python-musicbrainzngs/issues/211 - #:tests? #f)) (home-page "https://python-musicbrainzngs.readthedocs.org/") (synopsis "Python bindings for MusicBrainz NGS webservice") (description "Musicbrainzngs implements Python bindings of the MusicBrainz @@ -3544,37 +3695,29 @@ detailed track info including timbre, pitch, rhythm and loudness information. (define-public python-pylast (package (name "python-pylast") - (version "2.0.0") + (version "4.2.1") (source (origin (method url-fetch) (uri (pypi-uri "pylast" version)) (sha256 (base32 - "0r9h7g8i8l2mgqjwkda3v6prfbkb2im5kap1az9ppmhjm9i4jkcf")))) + "0pzzhr4mlwpvfhy9gzq86ppz29fmf5z0w3xkl5if1fm59r1afms7")))) (build-system python-build-system) ;; Tests require network access. See ;; https://github.com/pylast/pylast/issues/105 (arguments '(#:tests? #f)) (native-inputs `(("python-coverage" ,python-coverage) - ("python-pycodestyle" ,python-pycodestyle) - ("python-mock" ,python-mock) - ("python-pep8" ,python-pep8) ("python-pytest" ,python-pytest) ("python-flaky" ,python-flaky) - ("python-pyflakes" ,python-pyflakes) - ("python-pyyaml" ,python-pyyaml))) - (propagated-inputs - `(("python-six" ,python-six))) + ("python-pyyaml" ,python-pyyaml) + ("python-setuptools-scm" ,python-setuptools-scm))) (home-page "https://github.com/pylast/pylast") (synopsis "Python interface to Last.fm and Libre.fm") (description "A Python interface to Last.fm and other API-compatible websites such as Libre.fm.") (license license:asl2.0))) -(define-public python2-pylast - (package-with-python2 python-pylast)) - (define-public instantmusic (let ((commit "300891d09c703525215fa5a116b9294af1c923c8") (revision "1")) @@ -3620,34 +3763,27 @@ websites such as Libre.fm.") (define-public beets (package (name "beets") - (version "1.4.9") + (version "1.5.0") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) - (patches (search-patches "beets-werkzeug-compat.patch")) (sha256 (base32 - "0m40rjimvfgy1dv04p8f8d5dvi2855v4ix99a9xr900cmcn476yj")))) + "0arl4nc3y8iwa331hf6ggai19y8ns9pl03g5d6ac857wq2x7nzw8")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - ;; Reported upstream: <https://github.com/beetbox/beets/issues/3771>. - ;; Disable the faulty test as the fix is unclear. - (add-after 'unpack 'disable-failing-tests - (lambda _ - (substitute* "test/test_mediafile.py" - (("def test_read_audio_properties") "def _test_read_audio_properties")) - #t)) (add-after 'unpack 'set-HOME (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) #t)) (replace 'check - (lambda _ - (invoke "nosetests" "-v"))) - ;; Wrap the executable, so it can find python-gi (aka pygobject) and - ;; gstreamer plugins. + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-v" "test")))) + ;; Wrap the executable, so it can find python-gi (aka + ;; pygobject) and gstreamer plugins. (add-after 'wrap 'wrap-typelib (lambda* (#:key outputs #:allow-other-keys) (let ((prog (string-append (assoc-ref outputs "out") @@ -3659,112 +3795,68 @@ websites such as Libre.fm.") `("GI_TYPELIB_PATH" ":" prefix (,types))) #t)))))) (native-inputs - `(("python-beautifulsoup4" ,python-beautifulsoup4) + `(("gobject-introspection" ,gobject-introspection) ("python-flask" ,python-flask) ("python-mock" ,python-mock) - ("python-mpd2" ,python-mpd2) - ("python-nose" ,python-nose) - ("python-pathlib" ,python-pathlib) - ("python-pyxdg" ,python-pyxdg) - ("python-pylast" ,python-pylast) - ("python-rarfile" ,python-rarfile) + ("python-py7zr" ,python-py7zr) + ("python-pytest" ,python-pytest-6) ("python-responses" ,python-responses))) - ;; TODO: Install optional plugins and dependencies. (inputs - `(("python-discogs-client" ,python-discogs-client) + `(("bash-minimal" ,bash-minimal) + ("gst-plugins-base" ,gst-plugins-base) + ("gst-plugins-good" ,gst-plugins-good) + ("gstreamer" ,gstreamer) + ("python-confuse" ,python-confuse) ("python-jellyfish" ,python-jellyfish) + ("python-mediafile" ,python-mediafile) ("python-munkres" ,python-munkres) ("python-musicbrainzngs" ,python-musicbrainzngs) - ("python-mutagen" ,python-mutagen) - ("python-pyacoustid" ,python-pyacoustid) ("python-pyyaml" ,python-pyyaml) + ("python-six" ,python-six) ("python-unidecode" ,python-unidecode) - ;; For plugin replaygain. - ("python-pygobject" ,python-pygobject) - ("gobject-introspection" ,gobject-introspection) - ("gst-plugins-base" ,gst-plugins-base) - ("gst-plugins-good" ,gst-plugins-good) - ("gstreamer" ,gstreamer))) + ;; Optional dependencies for plugins. Some of these are also required by tests. + ("python-beautifulsoup4" ,python-beautifulsoup4) ; For lyrics. + ("python-discogs-client" ,python-discogs-client) ; For discogs. + ("python-mpd2" ,python-mpd2) ; For mpdstats. + ("python-mutagen" ,python-mutagen) ; For scrub. + ("python-langdetect" ,python-langdetect) ; For lyrics. + ("python-pillow" ,python-pillow) ; For fetchart, embedart, thumbnails. + ("python-pyacoustid" ,python-pyacoustid) ; For chroma. + ("python-pygobject" ,python-pygobject) ; For bpd, replaygain. + ("python-pylast" ,python-pylast) ; For lastgenre, lastimport. + ("python-pyxdg" ,python-pyxdg) ; For thumbnails. + ("python-rarfile" ,python-rarfile) ; For import. + ("python-reflink" ,python-reflink) ; For reflink. + ("python-requests" ,python-requests) + ("python-requests-oauthlib" ,python-requests-oauthlib))) ; For beatport. (home-page "https://beets.io") (synopsis "Music organizer") - (description "The purpose of beets is to get your music collection right - once and for all. It catalogs your collection, automatically improving its - metadata as it goes using the MusicBrainz database. Then it provides a variety - of tools for manipulating and accessing your music.") + (description "The purpose of beets is to get your music collection +right once and for all. It catalogs your collection, automatically +improving its metadata as it goes using the MusicBrainz database. +Then it provides a variety of tools for manipulating and accessing +your music.") (license license:expat))) (define-public beets-next - (let ((commit "04ea754d00e2873ae9aa2d9e07c5cefd790eaee2") - (revision "1")) - (package - (inherit beets) - (name "beets-next") - (version (git-version (package-version beets) revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/beetbox/beets") - (commit commit))) - (file-name (git-file-name "beets" version)) - (sha256 - (base32 - "092a9sss2shhcjmpgbwvscv8brpm5970i5hddkhi81xcff3bg1h4")))) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; XXX: unclear why this fails - (add-after 'unpack 'disable-failing-tests - (lambda _ - (substitute* "test/test_zero.py" - (("def test_album_art") "def _test_album_art")) - #t)) - (add-after 'unpack 'set-HOME - (lambda _ - (setenv "HOME" (string-append (getcwd) "/tmp")) - #t)) - (replace 'check - (lambda _ - ;; Resources must be writable. - (for-each make-file-writable - (find-files "test/rsrc" ".")) - (invoke "nosetests" "-v"))) - ;; Wrap the executable, so it can find python-gi (aka pygobject) and - ;; gstreamer plugins. - (add-after 'wrap 'wrap-typelib - (lambda* (#:key outputs #:allow-other-keys) - (let ((prog (string-append (assoc-ref outputs "out") - "/bin/beet")) - (plugins (getenv "GST_PLUGIN_SYSTEM_PATH")) - (types (getenv "GI_TYPELIB_PATH"))) - (wrap-program prog - `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,plugins)) - `("GI_TYPELIB_PATH" ":" prefix (,types))) - #t)))))) - (inputs - `(("python-confuse" ,python-confuse) - ("python-mediafile" ,python-mediafile) - ("python-reflink" ,python-reflink) - ("python-requests-oauthlib" ,python-requests-oauthlib) - ("opusfile" ,opusfile) - ,@(package-inputs beets)))))) + (deprecated-package "beets-next" beets)) (define-public beets-bandcamp (package (name "beets-bandcamp") - (version "0.1.3") + (version "0.1.4") (source (origin (method url-fetch) (uri (pypi-uri "beets-bandcamp" version)) (sha256 (base32 - "04awg0zdhhg5h510fc1p3qkvr2l1qm6nf85hlr9z8im8a7xlka0i")))) + "0dwbdkrb9c0ppzm5s78h47ndpr88cw1k0z8fgfhkl706wazx2ddg")))) (build-system python-build-system) (arguments '(#:tests? #f)) ; there are no tests (propagated-inputs `(("beets" ,beets) - ("python-isodate" ,python-isodate))) - (inputs - `(("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-isodate" ,python-isodate) + ("python-beautifulsoup4" ,python-beautifulsoup4) ("python-requests" ,python-requests) ("python-six" ,python-six))) (home-page "https://github.com/unrblt/beets-bandcamp") @@ -4529,26 +4621,26 @@ provide a very simple interface for editing and playing MIDI loops.") (define-public python-discogs-client (package (name "python-discogs-client") - (version "2.2.1") + (version "2.3.12") (source (origin (method url-fetch) - (uri (pypi-uri "discogs-client" version)) + (uri (pypi-uri "python3-discogs-client" version)) (sha256 (base32 - "053ld2psh0yj3z0kg6z5bn4y3cr562m727494n0ayhgzbkjbacly")))) + "1zmib0i9jicv9fyphgkcrk418qmpv3l4p38ibl31sh237ki5xqw9")))) (build-system python-build-system) (propagated-inputs - `(("python-oauthlib" ,python-oauthlib) + `(("python-dateutil" ,python-dateutil) + ("python-oauthlib" ,python-oauthlib) ("python-requests" ,python-requests))) - (native-inputs - `(("python-six" ,python-six))) - (home-page "https://github.com/discogs/discogs_client") - (synopsis "Official Python client for the Discogs API") - (description "This is the official Discogs API client for Python. It enables -you to query the Discogs database for information on artists, releases, labels, -users, Marketplace listings, and more. It also supports OAuth 1.0a -authorization, which allows you to change user data such as profile information, -collections and wantlists, inventory, and orders.") + (home-page "https://github.com/joalla/discogs_client") + (synopsis "Python client for the Discogs API") + (description "This is the continuation of the official Discogs API +client for Python. It enables you to query the Discogs database for +information on artists, releases, labels, users, Marketplace listings, +and more. It also supports OAuth 1.0a authorization, which allows you to +change user data such as profile information, collections and wantlists, +inventory, and orders.") (license license:bsd-2))) (define-public python2-discogs-client @@ -4714,7 +4806,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke `(("jack" ,jack-2) ("lv2" ,lv2) ("readline" ,readline) - ("libsndfile" ,libsndfile))) + ("libsndfile" ,libsndfile/fixed))) (home-page "https://github.com/swesterfeld/liquidsfz") (synopsis "Sampler library") (description "The main goal of liquidsfz is to provide an SFZ sampler @@ -4722,6 +4814,51 @@ implementation library that is easy to integrate into other projects. A standalone JACK client and an LV2 plugin is also available.") (license license:lgpl2.1+))) +(define-public sfizz + (package + (name "sfizz") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/sfztools/sfizz" + "/releases/download/" version + "/sfizz-" version ".tar.gz")) + (sha256 + (base32 + "1pk67xvyqkvhjz2q5hbj5v0mnfvdvvl8vl5bsh6ymwiq3glkd41l")) + (modules '((guix build utils))) + (snippet + ;; TODO: pugixml is bundled, but can only be removed in + ;; versions after 1.0.0. + '(for-each delete-file-recursively + '("external/abseil-cpp" + "external/simde" + "plugins/editor/external/vstgui4" + "plugins/vst"))))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DSFIZZ_LV2_UI=OFF" + "-DSFIZZ_VST=OFF" + "-DSFIZZ_VST2=OFF" + "-DSFIZZ_TESTS=ON" + "-DSFIZZ_USE_SYSTEM_ABSEIL=ON"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("abseil-cpp" ,abseil-cpp) + ("glib" ,glib) + ("jack" ,jack-2) + ("lv2" ,lv2) + ("libsamplerate" ,libsamplerate) + ("pugixml" ,pugixml) + ("simde" ,simde))) + (home-page "https://sfz.tools/sfizz/") + (synopsis "SFZ parser and synth library") + (description "Sfizz provides an SFZ parser and synth C++ library. It +includes LV2 plugins and a JACK standalone client.") + (license license:bsd-2))) + (define-public musescore (package (name "musescore") @@ -4869,7 +5006,7 @@ studio.") (define-public gsequencer (package (name "gsequencer") - (version "3.8.13") + (version "3.10.18") (source (origin (method git-fetch) @@ -4878,7 +5015,7 @@ studio.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1gwy7fhbxgrd5n6afq1hnxc6p873wsh4qs63yhkkdfzyl7s412z4")))) + (base32 "126kbvdkxy82mmkl19qhp9k6iz5xclar06chbj7lf580x96c899c")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases @@ -4963,14 +5100,15 @@ specification and header.") (define-public rosegarden (package (name "rosegarden") - (version "21.06") + (version "21.06.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/rosegarden/rosegarden/" - version "/rosegarden-" version ".tar.bz2")) + (version-major+minor version) "/" + "rosegarden-" version ".tar.bz2")) (sha256 - (base32 "0rhbmygzh62hc3mkq60lh9r28wvfkhzzd5kspl1ll0h1ipjgvr6d")))) + (base32 "0yir279gxc5b298sr0fg9jxgdi75bb1gvvy4mh3pxqjsnp00sxc7")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DCMAKE_BUILD_TYPE=Release") @@ -4981,8 +5119,7 @@ specification and header.") (substitute* "CMakeLists.txt" (("BUILD_TESTING OFF") "BUILD_TESTING ON") ;; Make tests work. - ((" -fvisibility=hidden") "")) - #t)) + ((" -fvisibility=hidden") "")))) (add-after 'unpack 'fix-references (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/gui/general/ProjectPackager.cpp" @@ -5000,8 +5137,7 @@ specification and header.") (("\"convert-ly\\>") (string-append "\"" (assoc-ref inputs "lilypond") "/bin/convert-ly")) (("\"lilypond\\>") - (string-append "\"" (assoc-ref inputs "lilypond") "/bin/lilypond"))) - #t)) + (string-append "\"" (assoc-ref inputs "lilypond") "/bin/lilypond"))))) (add-after 'unpack 'make-reproducible (lambda _ ;; Prevent Last-Modified from being written. @@ -5016,16 +5152,14 @@ specification and header.") ;; "qt5_add_resources(rg_SOURCES ../data/data.qrc OPTIONS --format-version 1)") ) ;; Make hashtable traversal order predicable. - (setenv "QT_RCC_TEST" "1") ; important - #t)) + (setenv "QT_RCC_TEST" "1"))) ; important (add-before 'check 'prepare-check (lambda _ (setenv "QT_QPA_PLATFORM" "offscreen") ;; Tests create files in $HOME/.local/share/rosegarden . (mkdir-p "/tmp/foo") (setenv "HOME" "/tmp/foo") - (setenv "XDG_RUNTIME_DIR" "/tmp/foo") - #t))))) + (setenv "XDG_RUNTIME_DIR" "/tmp/foo")))))) (inputs `(("alsa-lib" ,alsa-lib) ("bash" ,bash) @@ -5045,7 +5179,7 @@ specification and header.") ("zlib" ,zlib))) (native-inputs `(("pkg-config" ,pkg-config) - ("qtlinguist" ,qttools))) + ("qttools" ,qttools))) ;for qtlinguist (synopsis "Music composition and editing environment based around a MIDI sequencer") (description "Rosegarden is a music composition and editing environment @@ -5270,6 +5404,10 @@ Recording Code} (ISRC) can be extracted.}") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build + (lambda _ + (substitute* "src/CMakeLists.txt" + (("\\*.inc") "")))) (replace 'check (lambda _ ;; requires network connections @@ -6099,7 +6237,7 @@ Soul Force), MVerb, Nekobi, and ProM.") (define-public avldrums-lv2 (package (name "avldrums-lv2") - (version "0.4.1") + (version "0.4.2") (source (origin (method git-fetch) @@ -6111,7 +6249,7 @@ Soul Force), MVerb, Nekobi, and ProM.") (recursive? #t))) (file-name (git-file-name name version)) (sha256 - (base32 "1vwdp3d8qzd493qa99ddya7iql67bbfxmbcl8hk96lxif2lhmyws")))) + (base32 "14gka5g7va30gm1hn0cas4vvb8s764rfvzcxm67ww86hf54cpnig")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -6119,10 +6257,10 @@ Soul Force), MVerb, Nekobi, and ProM.") (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases + (delete 'configure) ; no configure script (add-before 'build 'set-CC-variable (lambda _ - (setenv "CC" "gcc") #t)) - (delete 'configure)))) + (setenv "CC" "gcc")))))) (inputs `(("cairo" ,cairo) ("dssi" ,dssi) @@ -6332,7 +6470,7 @@ as JACK standalone applications.") (method git-fetch) (uri (git-reference - (url "https://git.zrythm.org/git/zplugins") + (url "https://git.zrythm.org/zrythm/zplugins") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -6690,7 +6828,7 @@ It is provided as an LV2 plugin and as a standalone Jack application.") (substitute* (string-append bin "a2j") (("a2j_control") (string-append bin "a2j_control"))) (wrap-program (string-append bin "a2j_control") - `("PYTHONPATH" prefix (,(getenv "PYTHONPATH")))) + `("PYTHONPATH" prefix (,(getenv "GUIX_PYTHONPATH")))) #t)))))) (build-system meson-build-system) (inputs diff --git a/gnu/packages/ncdu.scm b/gnu/packages/ncdu.scm index 375b528805..9faa7131d3 100644 --- a/gnu/packages/ncdu.scm +++ b/gnu/packages/ncdu.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> -;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,14 +28,14 @@ (define-public ncdu (package (name "ncdu") - (version "1.15.1") + (version "1.16") (source (origin (method url-fetch) (uri (string-append "https://dev.yorhel.nl/download/ncdu-" version ".tar.gz")) (sha256 (base32 - "1c1zxalm5asyhn4p1hd51h7khw17515gbqmvdz63kc8xpx6xqbdh")))) + "1m0gk09jaz114piidiw8fkg0id5l6nhz1cg5nlaf1yl3l595g49b")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (synopsis "Ncurses-based disk usage analyzer") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 71f8388efc..c426c95e71 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -13,7 +13,7 @@ ;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch> ;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> -;;; Copyright © 2017, 2020 Leo Famulari <leo@famulari.name> +;;; Copyright © 2017, 2020, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017, 2019 Gábor Boskovits <boskovits@gmail.com> @@ -24,7 +24,7 @@ ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2018, 2020, 2021 Marius Bakke <marius@gnu.org> -;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com> +;;; Copyright © 2018, 2020, 2021 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Vasile Dumitrascu <va511e@yahoo.com> @@ -43,6 +43,11 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2021 Justin Veilleux <terramorpha@cock.li> +;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> +;;; Copyright © 2021 Milkey Mouse <milkeymouse@meme.institute> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -302,6 +307,7 @@ Android, and ChromeOS.") (native-inputs `(("glib:bin" ,glib "bin") ("gobject-introspection" ,gobject-introspection) + ("graphviz" ,graphviz) ("gtk-doc" ,gtk-doc/stable) ("pkg-config" ,pkg-config))) (inputs @@ -383,6 +389,30 @@ supported, including rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.") ;; Others. license:gpl2+))))) +(define-public slurm-monitor + (package + (name "slurm-monitor") + (version "0.4.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/mattthias/slurm") + (commit (string-append "upstream/" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n6pgrcs8gwrcq5fch1q3yk3jipjwrf21s9a13fbjrl903g5zzv9")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ;no tests + (inputs `(("ncurses" ,ncurses))) + (synopsis "Network load monitor") + (description + "Slurm is a network load monitor. It shows real-time traffic statistics +from any network device in any of three ASCII graph formats.") + (home-page "https://github.com/mattthias/slurm") + (license license:gpl2))) + (define-public srt (package (name "srt") @@ -1027,7 +1057,8 @@ transparently check connection attempts against an access control list.") (sha256 (base32 "1rf3jmi36ms8jh2g5cvi253h43l6xdfq0r7mvp95va7mi4d014y5")))) (build-system gnu-build-system) - (arguments '(#:configure-flags '("--disable-static"))) + (arguments '(#:configure-flags '("--disable-static" + "--enable-drafts"))) (home-page "https://zeromq.org") (synopsis "Library for message-based applications") (description @@ -1441,14 +1472,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.4.6") + (version "3.4.8") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0a26kcj3n1a2kw1f3fc6s1x3rw3f3bj2cq6rp7k0kc4ciwh7i9hj")))) + (base32 "09fpvfj4m7glisj6p4zb8wylkrjkqqw69xnwnz4ah410zs6zm9sq")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1461,8 +1492,7 @@ of the same name.") (lambda _ (substitute* "CMakeLists.txt" (("suite_unittests" all) (string-append "# " all)) - (("suite_extcaps" all) (string-append "# " all))) - #t))) + (("suite_extcaps" all) (string-append "# " all)))))) ;; Build process chokes during `validate-runpath' phase. ;; ;; Errors are like the following: @@ -1820,7 +1850,8 @@ live network and disk I/O bandwidth monitor.") ("zlib" ,zlib))) (arguments `(#:configure-flags - (list "--with-experimental=yes" ; build wesside-ng, etc. + (list "CFLAGS=-fcommon" + "--with-experimental=yes" ; build wesside-ng, etc. "--with-gcrypt") ; openssl's the default #:phases (modify-phases %standard-phases (add-before 'bootstrap 'patch-evalrev @@ -2190,7 +2221,7 @@ It is intended primarily for use in testing.") `(("perl-module-build" ,perl-module-build) ("perl-test-pod" ,perl-test-pod) ("perl-test-pod-coverage" ,perl-test-pod-coverage))) - (inputs `(("perl-socket6" ,perl-socket6))) + (propagated-inputs `(("perl-socket6" ,perl-socket6))) (arguments `(;; Need network socket API #:tests? #f)) (home-page @@ -2223,8 +2254,13 @@ sockets in Perl.") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "ctest" "-E" "url-test")))))) + ;; TODO(core-updates): Make this unconditional. + ,(if (%current-target-system) + '(lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ctest" "-E" "url-test"))) + '(lambda _ + (invoke "ctest" "-E" "url-test"))))))) (synopsis "Library providing automatic proxy configuration management") (description "Libproxy handles the details of HTTP/HTTPS proxy configuration for applications across all scenarios. Applications using @@ -2590,33 +2626,6 @@ enabled due to license conflicts between the BSD advertising clause and the GPL. ;; distribution for clarification. (license (list license:bsd-3 license:bsd-4)))) -(define-public pidentd - (package - (name "pidentd") - (version "3.0.19") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ptrrkssn/pidentd") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1k4rr0b4ygxssbnsykzjvz4hjhazzz4j5arlilyc1iq7b1wzsk7i")))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f)) ; No tests are included - (inputs - `(("openssl" ,openssl-1.0))) ;for the DES library - (home-page "https://www.lysator.liu.se/~pen/pidentd/") - (synopsis "Small Ident Daemon") - (description - "@dfn{Pidentd} (Peter's Ident Daemon) is an identd, which implements a -identification server. Pidentd looks up specific TCP/IP connections and -returns the user name and other information about the connection.") - (license license:public-domain))) - (define-public spiped (package (name "spiped") @@ -3396,12 +3405,11 @@ and targeted primarily for asynchronous processing of HTTP-requests.") (license license:bsd-3))) (define-public opendht - ;; Jami requires unreleased features of OpenDHT. - (let ((commit "c8a0b443f3117e2fa1343d2cb3c091f502b1a24e") + (let ((commit "6c58d4f2e9b7f1de15db8d3a736c8cf1ea5f2886") (revision "1")) (package (name "opendht") - (version (git-version "2.2.0rc7" revision commit)) + (version (git-version "2.3.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -3410,7 +3418,7 @@ and targeted primarily for asynchronous processing of HTTP-requests.") (file-name (git-file-name name version)) (sha256 (base32 - "062irb9yii66n2fzbpsjf7v2v53zzvakr1wjmi4l1jaz33fwx5by")))) + "06l0z1dmxyjh8gdrmxyq4vnfnv3x400bhx0lxm7l90f8zc5r2bim")))) ;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug? (outputs '("out" "tools" "debug")) (build-system cmake-build-system) @@ -3534,6 +3542,39 @@ A very simple IM client working over the DHT. protocol daemons for BGP, IS-IS, LDP, OSPF, PIM, and RIP. ") (license license:gpl2+))) +(define-public bird + (package + (name "bird") + (version "2.0.8") + (source (origin + (method url-fetch) + (uri (string-append "ftp://bird.network.cz/pub/bird/bird-" + version ".tar.gz")) + (sha256 + (base32 + "1xp7f0im1v8pqqx3xqyfkd1nsxk8vnbqgrdrwnwhg8r5xs1xxlhr")))) + (inputs + `(("libssh" ,libssh) + ("readline" ,readline))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) + (arguments + `(#:configure-flags '("--localstatedir=/var" "--enable-ipv6") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'dont-create-sysconfdir + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + ((" \\$\\(DESTDIR)/\\$\\(runstatedir)") ""))))))) + (build-system gnu-build-system) + (home-page "http://bird.network.cz") + (synopsis "Internet Routing Daemon") + (description "BIRD is an Internet routing daemon with full support for all +the major routing protocols. It allows redistribution between protocols with a +powerful route filtering syntax and an easy-to-use configuration interface.") + (license license:gpl2+))) + (define-public iwd (package (name "iwd") @@ -3825,22 +3866,31 @@ some traces for unprivileged users.") license:lgpl2.1+)))) ;for the libsupp subdirectory (define-public vde2 + (let ((commit "8c65ebc464b2f986d5f1f4e6ae829ef4480c9d5a") + (revision "0")) (package (name "vde2") - (version "2.3.2") + (version (git-version "2.3.2" revision commit)) (source (origin - (method url-fetch) - (uri "mirror://sourceforge/vde/vde2/2.3.2/vde2-2.3.2.tar.gz") + (method git-fetch) + (uri (git-reference + (url "https://github.com/virtualsquare/vde-2") + (commit commit))) + (file-name (git-file-name name version)) (sha256 - (base32 "14xga0ib6p1wrv3hkl4sa89yzjxv7f1vfqaxsch87j6scdm59pr2")))) + (base32 "0l5xf71sv9zm5zw0wg8xgip58c0wh8zck2bazyc2a8gb67gc3s8y")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f)) ; Build fails if #t. + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) (inputs `(("python" ,python) ("libpcap" ,libpcap) - ("openssl" ,openssl-1.0))) ; Build fails with 1.1. + ("wolfssl" ,wolfssl))) (home-page "https://github.com/virtualsquare/vde-2") (synopsis "Virtual Distributed Ethernet") (description "VDE is a set of programs to provide virtual software-defined @@ -3852,7 +3902,7 @@ cables.") license:lgpl2.1 ; libvdeplug (license:non-copyleft ; slirpvde "file://COPYING.slirpvde" - "See COPYING.slirpvde in the distribution."))))) + "See COPYING.slirpvde in the distribution.")))))) (define-public haproxy (package @@ -3900,14 +3950,14 @@ thousands of connections is clearly realistic with today's hardware.") (define-public lldpd (package (name "lldpd") - (version "1.0.11") + (version "1.0.12") (source (origin (method url-fetch) (uri (string-append "https://media.luffy.cx/files/lldpd/lldpd-" version ".tar.gz")) (sha256 - (base32 "1r265ns6fh04xwrzj06p2l7kl5rkkns0cdawp1zwpvxs1xq1a7dm")) + (base32 "1wfs50b0694dm60ryjfmxgkxxsqpp9sxqbc4laad364wbddwd56i")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/node-xyz.scm b/gnu/packages/node-xyz.scm index 27a76f59c3..cbb68f77d6 100644 --- a/gnu/packages/node-xyz.scm +++ b/gnu/packages/node-xyz.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org> +;;; Copyright © 2021 Charles <charles.b.jackson@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,32 @@ #:use-module (guix git-download) #:use-module (guix build-system node)) +(define-public node-acorn + (package + (name "node-acorn") + (version "8.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/acornjs/acorn") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "068h5gysz8bbslq31dva8f223rdf8l7w6nxcxjnv4zdprwkzkhaa")))) + (build-system node-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-directory + (lambda _ + (chdir "acorn")))))) + (home-page "https://github.com/acornjs/acorn/tree/master/acorn") + (synopsis "Javascript-based Javascript parser") + (description "Acornjs is a Javascrip parser with many options and an +architecture supporting plugins.") + (license license:expat))) + (define-public node-color-name (package (name "node-color-name") diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index 6285138e06..d5a5be27de 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org> -;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; @@ -38,6 +38,7 @@ #:use-module (gnu packages) #:use-module (gnu packages adns) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages compression) #:use-module (gnu packages gcc) #:use-module (gnu packages icu4c) @@ -48,7 +49,9 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tls) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (ice-9 match) + #:use-module (srfi srfi-26)) (define-public node (package @@ -111,14 +114,15 @@ "test/parallel/test-stdio-closed.js" "test/sequential/test-child-process-emfile.js") (("'/bin/sh'") - (string-append "'" (which "sh") "'"))) + (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) ;; Fix hardcoded /usr/bin/env references. (substitute* '("test/parallel/test-child-process-default-options.js" "test/parallel/test-child-process-env.js" "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") - (string-append "'" (which "env") "'"))) + (string-append "'" (assoc-ref inputs "coreutils") + "/bin/env'"))) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -155,23 +159,66 @@ ;; TODO: Regenerate certs instead. (for-each delete-file '("test/parallel/test-tls-passphrase.js" - "test/parallel/test-tls-server-verify.js")) - #t)) + "test/parallel/test-tls-server-verify.js")))) + (add-before 'configure 'set-bootstrap-host-rpath + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let* ((inputs (or native-inputs inputs)) + (c-ares (assoc-ref inputs "c-ares")) + (http-parser (assoc-ref inputs "http-parser")) + (icu4c (assoc-ref inputs "icu4c")) + (nghttp2 (assoc-ref inputs "nghttp2")) + (openssl (assoc-ref inputs "openssl")) + (libuv (assoc-ref inputs "libuv")) + (zlib (assoc-ref inputs "zlib"))) + (substitute* "deps/v8/gypfiles/v8.gyp" + (("'target_name': 'torque'," target) + (string-append target + "'ldflags': ['-Wl,-rpath=" + c-ares "/lib:" + http-parser "/lib:" + icu4c "/lib:" + nghttp2 "/lib:" + openssl "/lib:" + libuv "/lib:" + zlib "/lib" + "'],")))))) (replace 'configure ;; Node's configure script is actually a python script, so we can't ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) inputs + (lambda* (#:key outputs (configure-flags '()) native-inputs inputs #:allow-other-keys) (let* ((prefix (assoc-ref outputs "out")) + (xflags ,(if (%current-target-system) + `'("--cross-compiling" + ,(string-append + "--dest-cpu=" + (match (%current-target-system) + ((? (cut string-prefix? "arm" <>)) + "arm") + ((? (cut string-prefix? "aarch64" <>)) + "arm64") + ((? (cut string-prefix? "i686" <>)) + "ia32") + ((? (cut string-prefix? "x86_64" <>)) + "x64") + ((? (cut string-prefix? "powerpc64" <>)) + "ppc64") + (_ "unsupported")))) + ''())) (flags (cons (string-append "--prefix=" prefix) - configure-flags))) + (append xflags configure-flags)))) (format #t "build directory: ~s~%" (getcwd)) (format #t "configure flags: ~s~%" flags) ;; Node's configure script expects the CC environment variable to ;; be set. - (setenv "CC" (search-input-file inputs "/bin/gcc")) + (setenv "CC_host" "gcc") + (setenv "CXX_host" "g++") + (setenv "CC" ,(cc-for-target)) + (setenv "CXX" ,(cxx-for-target)) + (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (search-input-file inputs "/bin/python") + (search-input-file (or native-inputs inputs) + "/bin/python") "configure" flags)))) (add-after 'patch-shebangs 'patch-npm-shebang (lambda* (#:key outputs #:allow-other-keys) @@ -180,29 +227,37 @@ (npm (string-append bindir "/npm")) (target (readlink npm))) (with-directory-excursion bindir - (patch-shebang target (list bindir)) - #t)))) + (patch-shebang target (list bindir)))))) (add-after 'install 'patch-node-shebang (lambda* (#:key outputs #:allow-other-keys) (let* ((bindir (string-append (assoc-ref outputs "out") "/bin")) (npx (readlink (string-append bindir "/npx")))) (with-directory-excursion bindir - (patch-shebang npx (list bindir)) - #t))))))) + (patch-shebang npx (list bindir))))))))) (native-inputs - `(("python" ,python-2) + `(;; Runtime dependencies for binaries used as a bootstrap. + ("c-ares" ,c-ares) + ("http-parser" ,http-parser) + ("icu4c" ,icu4c) + ("libuv" ,libuv) + ("nghttp2" ,nghttp2 "lib") + ("openssl" ,openssl) + ("zlib" ,zlib) + ;; Regular build-time dependencies. ("perl" ,perl) ("pkg-config" ,pkg-config) ("procps" ,procps) - ("util-linux" ,util-linux) - ("which" ,which))) + ("python" ,python-2) + ("util-linux" ,util-linux))) (native-search-paths (list (search-path-specification (variable "NODE_PATH") (files '("lib/node_modules"))))) (inputs - `(("c-ares" ,c-ares) + `(("bash" ,bash) + ("coreutils" ,coreutils) + ("c-ares" ,c-ares) ("http-parser" ,http-parser) ("icu4c" ,icu4c) ("libuv" ,libuv) @@ -548,7 +603,8 @@ parser definition into a C output.") (modify-phases %standard-phases (replace 'configure (lambda* (#:key inputs #:allow-other-keys) - (let ((esbuild (search-input-file inputs "/bin/esbuild"))) + (let ((esbuild (search-input-file (or native-inputs inputs) + "/bin/esbuild"))) (invoke esbuild "--platform=node" "--outfile=bin/generate.js" @@ -620,21 +676,74 @@ source files.") "--with-intl=system-icu")) ((#:phases phases) `(modify-phases ,phases + (replace 'set-bootstrap-host-rpath + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (let* ((inputs (or native-inputs inputs)) + (c-ares (assoc-ref inputs "c-ares")) + (google-brotli (assoc-ref inputs "google-brotli")) + (icu4c (assoc-ref inputs "icu4c")) + (nghttp2 (assoc-ref inputs "nghttp2")) + (openssl (assoc-ref inputs "openssl")) + (libuv (assoc-ref inputs "libuv")) + (zlib (assoc-ref inputs "zlib")) + (host-binaries '("torque" + "bytecode_builtins_list_generator" + "gen-regexp-special-case" + "node_mksnapshot" + "mksnapshot"))) + (substitute* '("node.gyp" "tools/v8_gypfiles/v8.gyp") + (((string-append "'target_name': '(" + (string-join host-binaries "|") + ")',") + target) + (string-append target + "'ldflags': ['-Wl,-rpath=" + c-ares "/lib:" + google-brotli "/lib:" + icu4c "/lib:" + nghttp2 "/lib:" + openssl "/lib:" + libuv "/lib:" + zlib "/lib" + "'],")))))) (replace 'configure ;; Node's configure script is actually a python script, so we can't ;; run it with bash. - (lambda* (#:key outputs (configure-flags '()) inputs + (lambda* (#:key outputs (configure-flags '()) native-inputs inputs #:allow-other-keys) (let* ((prefix (assoc-ref outputs "out")) - (flags (cons (string-append "--prefix=" prefix) - configure-flags))) + (xflags ,(if (%current-target-system) + `'("--cross-compiling" + ,(string-append + "--dest-cpu=" + (match (%current-target-system) + ((? (cut string-prefix? "arm" <>)) + "arm") + ((? (cut string-prefix? "aarch64" <>)) + "arm64") + ((? (cut string-prefix? "i686" <>)) + "ia32") + ((? (cut string-prefix? "x86_64" <>)) + "x64") + ((? (cut string-prefix? "powerpc64" <>)) + "ppc64") + (_ "unsupported")))) + ''())) + (flags (cons + (string-append "--prefix=" prefix) + (append xflags configure-flags)))) (format #t "build directory: ~s~%" (getcwd)) (format #t "configure flags: ~s~%" flags) ;; Node's configure script expects the CC environment variable to ;; be set. + (setenv "CC_host" "gcc") + (setenv "CXX_host" "g++") (setenv "CC" ,(cc-for-target)) + (setenv "CXX" ,(cxx-for-target)) + (setenv "PKG_CONFIG" ,(pkg-config-for-target)) (apply invoke - (search-input-file inputs "/bin/python3") + (search-input-file (or native-inputs inputs) + "/bin/python3") "configure" flags)))) (replace 'patch-files (lambda* (#:key inputs #:allow-other-keys) @@ -646,14 +755,15 @@ source files.") "test/parallel/test-stdio-closed.js" "test/sequential/test-child-process-emfile.js") (("'/bin/sh'") - (string-append "'" (which "sh") "'"))) + (string-append "'" (assoc-ref inputs "bash") "/bin/sh'"))) ;; Fix hardcoded /usr/bin/env references. (substitute* '("test/parallel/test-child-process-default-options.js" "test/parallel/test-child-process-env.js" "test/parallel/test-child-process-exec-env.js") (("'/usr/bin/env'") - (string-append "'" (which "env") "'"))) + (string-append "'" (assoc-ref inputs "coreutils") + "/bin/env'"))) ;; FIXME: These tests fail in the build container, but they don't ;; seem to be indicative of real problems in practice. @@ -701,20 +811,33 @@ source files.") (copy-file (string-append llhttp "/src/http.c") "deps/llhttp/src/http.c") (copy-file (string-append llhttp "/include/llhttp.h") - "deps/llhttp/include/llhttp.h")) - #t)))))) + "deps/llhttp/include/llhttp.h")))))))) + (native-inputs + `(;; Runtime dependencies for binaries used as a bootstrap. + ("c-ares" ,c-ares) + ("google-brotli" ,google-brotli) + ("icu4c" ,icu4c-67) + ("libuv" ,libuv-for-node) + ("nghttp2" ,nghttp2 "lib") + ("openssl" ,openssl) + ("zlib" ,zlib) + ;; Regular build-time dependencies. + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("procps" ,procps) + ("python" ,python) + ("util-linux" ,util-linux))) (inputs - `(("c-ares" ,c-ares) + `(("bash" ,bash) + ("coreutils" ,coreutils) + ("c-ares" ,c-ares) ("icu4c" ,icu4c-67) ("libuv" ,libuv-for-node) ("llhttp" ,llhttp-bootstrap) ("google-brotli" ,google-brotli) ("nghttp2" ,nghttp2 "lib") ("openssl" ,openssl) - ("zlib" ,zlib))) - (native-inputs - (alist-replace "python" (list python-3) - (package-native-inputs node))))) + ("zlib" ,zlib))))) (define-public libnode (package/inherit node diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 55eddc0c91..381756e387 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,10 +26,12 @@ (define-module (gnu packages nss) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (guix gexp) #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages perl) @@ -47,15 +50,38 @@ (base32 "1j5b2m8cjlhnnv8sq34587avaagkqvh521w4f95miwgvsn3xlaap")))) (build-system gnu-build-system) + (inputs + ;; TODO(core-updates): Make these inputs unconditional. + ;; For 'compile-et.pl' and 'nspr-config'. + (if (%current-target-system) + `(("perl" ,perl) ; for 'compile-et.pl' + ("bash-minimal" ,bash-minimal)) ; for 'nspr-config' + '())) (native-inputs `(("perl" ,perl))) (arguments - `(#:tests? #f ; no check target - #:configure-flags (list "--disable-static" - "--enable-64bit" - (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") - "/lib")) + `(;; Prevent the 'native' perl from sneaking into the closure. + ;; XXX it would be nice to do the same for 'bash-minimal', + ;; but using 'canonical-package' causes loops. + ,@(if (%current-target-system) + `(#:disallowed-references + (,(gexp-input (this-package-native-input "perl") #:native? #t))) + '()) + #:tests? #f ; no check target + #:configure-flags + (list "--disable-static" + "--enable-64bit" + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib") + ;; Mozilla deviates from Autotools conventions + ;; due to historical reasons. Adjust to Mozilla conventions, + ;; otherwise the Makefile will try to use TARGET-gcc + ;; as a ‘native’ compiler. + ,@(if (%current-target-system) + `(,(string-append "--host=" + (nix-system->gnu-triplet (%current-system))) + ,(string-append "--target=" (%current-target-system))) + '())) ;; Use fixed timestamps for reproducibility. #:make-flags '("SH_DATE='1970-01-01 00:00:01'" ;; This is epoch 1 in microseconds. diff --git a/gnu/packages/ntp.scm b/gnu/packages/ntp.scm index 191eedd158..55b9a73b22 100644 --- a/gnu/packages/ntp.scm +++ b/gnu/packages/ntp.scm @@ -216,54 +216,3 @@ secure, easy to configure, and accurate enough for most purposes, so it's more minimalist than ntpd.") ;; A few of the source files are under bsd-3. (license (list l:isc l:bsd-3)))) - -(define-public tlsdate - (package - (name "tlsdate") - (version "0.0.13") - (home-page "https://github.com/ioerror/tlsdate") - (source (origin - (method git-fetch) - (uri (git-reference - (commit (string-append "tlsdate-" version)) - (url home-page))) - (sha256 - (base32 - "0w3v63qmbhpqlxjsvf4k3zp90k6mdzi8cdpgshan9iphy1f44xgl")) - (file-name (string-append name "-" version "-checkout")))) - (build-system gnu-build-system) - (arguments - `(;; Disable seccomp when it's not supported--e.g., on aarch64. See - ;; 'src/seccomp.c' for the list of supported systems. - #:configure-flags ,(if (any (lambda (system) - (string-contains (or - (%current-target-system) - (%current-system)) - system)) - '("x86_64" "i686" "arm")) - ''() - ''("--disable-seccomp-filter")) - - #:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen - (lambda _ - ;; The ancestor of 'SOURCE_DATE_EPOCH'; it contains the - ;; date that is recorded in binaries. It must be a - ;; "recent date" since it is used to detect bogus dates - ;; received from servers. - (setenv "COMPILE_DATE" (number->string 1530144000)) - (invoke "sh" "autogen.sh")))))) - (inputs `(("openssl" ,openssl-1.0) - ("libevent" ,libevent))) - (native-inputs `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (synopsis "Extract remote time from TLS handshakes") - (description - "@command{tlsdate} sets the local clock by securely connecting with TLS -to remote servers and extracting the remote time out of the secure handshake. -Unlike ntpdate, @command{tlsdate} uses TCP, for instance connecting to a -remote HTTPS or TLS enabled service, and provides some protection against -adversaries that try to feed you malicious time information.") - (license l:bsd-3))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index d987201508..ccbc6dda2b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -22,6 +22,8 @@ ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +45,7 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages compression) @@ -77,6 +80,7 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages time) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization) #:use-module (gnu packages web) #:use-module (gnu packages web-browsers) @@ -87,6 +91,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system ocaml) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -254,6 +259,7 @@ functional, imperative and object-oriented styles of programming.") "http://caml.inria.fr/pub/distrib/ocaml-" (version-major+minor version) "/ocaml-" version ".tar.xz")) + (patches (search-patches "ocaml-4.09-multiple-definitions.patch")) (sha256 (base32 "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj")))))) @@ -265,6 +271,7 @@ functional, imperative and object-oriented styles of programming.") (define ocaml-4.07-boot (package (inherit ocaml-4.09) + (name "ocaml-boot") (version "4.07.1") (source (origin (method url-fetch) @@ -275,6 +282,7 @@ functional, imperative and object-oriented styles of programming.") (sha256 (base32 "1f07hgj5k45cylj1q3k5mk8yi02cwzx849b1fwnwia8xlcfqpr6z")) + (patches (search-patches "ocaml-multiple-definitions.patch")) (modules '((guix build utils))) (snippet `(begin @@ -401,6 +409,7 @@ depend: $(STDLIB_MLIS) $(STDLIB_DEPS)")) (define-public ocaml-4.07 (package (inherit ocaml-4.07-boot) + (name "ocaml") (arguments (substitute-keyword-arguments (package-arguments ocaml-4.09) ((#:phases phases) @@ -450,13 +459,11 @@ depend: $(STDLIB_MLIS) $(STDLIB_DEPS)")) (build-system ocaml-build-system) (arguments `(#:make-flags - (list (string-append "OCAMLBUILD_PREFIX=" (assoc-ref %outputs "out")) - (string-append "OCAMLBUILD_BINDIR=" (assoc-ref %outputs "out") - "/bin") - (string-append "OCAMLBUILD_LIBDIR=" (assoc-ref %outputs "out") - "/lib/ocaml/site-lib") - (string-append "OCAMLBUILD_MANDIR=" (assoc-ref %outputs "out") - "/share/man")) + ,#~(list (string-append "OCAMLBUILD_PREFIX=" #$output) + (string-append "OCAMLBUILD_BINDIR=" #$output "/bin") + (string-append "OCAMLBUILD_LIBDIR=" #$output + "/lib/ocaml/site-lib") + (string-append "OCAMLBUILD_MANDIR=" #$output "/share/man")) #:phases (modify-phases %standard-phases (delete 'configure)) @@ -579,10 +586,9 @@ for day to day programming.") ("ocaml-ounit" ,ocaml-ounit))) (arguments `(#:make-flags - (list - "all" "opt" - (string-append "BINDIR=" (assoc-ref %outputs "out") - "/bin")) + ,#~(list + "all" "opt" + (string-append "BINDIR=" #$output "/bin")) #:phases (modify-phases %standard-phases (delete 'configure)))) @@ -641,13 +647,11 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.") (build-system ocaml-build-system) (arguments `(#:configure-flags - (list (string-append "SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/sh")) + ,#~(list (string-append "SHELL=" + #+(file-append (canonical-package bash-minimal) + "/bin/sh"))) #:make-flags - (list (string-append "LIBDIR=" - (assoc-ref %outputs "out") - "/lib/ocaml/site-lib")) + ,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib")) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-test-script @@ -699,8 +703,8 @@ repository-wide uninstallability checks.") (modify-phases %standard-phases (delete 'configure)) #:build-flags - (list "build" "--lib-dir" - (string-append (assoc-ref %outputs "out") "/lib/ocaml/site-lib")))) + ,#~(list "build" "--lib-dir" + (string-append #$output "/lib/ocaml/site-lib")))) (native-inputs `(("ocaml-findlib" ,ocaml-findlib) ("ocamlbuild" ,ocamlbuild) @@ -746,7 +750,7 @@ let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\") (define-public ocaml-opam-file-format (package (name "ocaml-opam-file-format") - (version "2.0.0") + (version "2.1.3") (source (origin (method git-fetch) (uri (git-reference @@ -755,12 +759,12 @@ let () = String.split_on_char ':' (Sys.getenv \"OCAMLPATH\") (file-name (git-file-name name version)) (sha256 (base32 - "0fqb99asnair0043hhc8r158d6krv5nzvymd0xwycr5y72yrp0hv")))) + "1fxhppdmrysr2nb5z3c448h17np48f3ga9jih33acj78r4rdblcs")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; No tests - #:make-flags (list (string-append "LIBDIR=" (assoc-ref %outputs "out") - "/lib/ocaml/site-lib")) + #:make-flags ,#~(list (string-append "LIBDIR=" #$output + "/lib/ocaml/site-lib")) #:phases (modify-phases %standard-phases (delete 'configure)))) @@ -774,7 +778,7 @@ the opam file format.") (define-public opam (package (name "opam") - (version "2.0.8") + (version "2.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -783,77 +787,99 @@ the opam file format.") (file-name (git-file-name name version)) (sha256 (base32 - "1z0ls6xxa4ws5xw0am5gxmh5apnmyhgkcphrncp53w34j8sfydsj")))) - (build-system ocaml-build-system) + "12l7l4pbzy71k1yc7ym5aczajszvc9bqkdnfg8xhqc8ch8j1h1lj")))) + (build-system dune-build-system) (arguments - `(#:configure-flags - (list (string-append "SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/sh")) - - ;; For some reason, 'ocp-build' needs $TERM to be set. - #:make-flags - (list "TERM=screen" - (string-append "SHELL=" - (assoc-ref %build-inputs "bash") - "/bin/sh")) - - #:test-target "tests" - - #:phases (modify-phases %standard-phases - (add-before 'build 'pre-build - (lambda* (#:key inputs make-flags #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash")) - (bwrap (search-input-file inputs "/bin/bwrap"))) - (substitute* "src/core/opamSystem.ml" - (("\"/bin/sh\"") - (string-append "\"" bash "/bin/sh\"")) - (("getconf") - (which "getconf"))) - ;; Use bwrap from the store directly. - (substitute* "src/state/shellscripts/bwrap.sh" - (("-v bwrap") (string-append "-v " bwrap)) - (("exec bwrap") (string-append "exec " bwrap)) - ;; Mount /gnu and /run/current-system in the - ;; isolated environment when building with opam. - ;; This is necessary for packages to find external - ;; dependencies, such as a C compiler, make, etc... - (("^add_sys_mounts /usr") - "add_sys_mounts /gnu /run/current-system /usr")) - (substitute* "src/client/opamInitDefaults.ml" - (("\"bwrap\"") (string-append "\"" bwrap "\""))) - ;; Generating the documentation needs write access - (for-each - (lambda (f) (chmod f #o644)) - (find-files "doc" ".")) - #t))) - (add-before 'check 'pre-check - (lambda _ - ;; The "repo" test attempts to open some of these files O_WRONLY - ;; and fails with a bogus "OpamSystem.File_not_found" otherwise. - (for-each - (lambda (f) (chmod f #o644)) - (find-files "tests/packages" "\\.opam$")) - - (substitute* "tests/Makefile" - (("/usr/bin/printf") - (which "printf")) - ;; By default tests run twice: once with a "local" repository - ;; and once with a git repository: disable the git tests to - ;; avoid the dependency. - (("all: local git") - "all: local")) - #t))))) + `(#:test-target "." + #:phases + (modify-phases %standard-phases + (add-before 'build 'pre-build + (lambda* (#:key inputs make-flags #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash")) + (bwrap (search-input-file inputs "/bin/bwrap"))) + (substitute* "src/core/opamSystem.ml" + (("\"/bin/sh\"") + (string-append "\"" bash "/bin/sh\"")) + (("getconf") + (which "getconf"))) + ;; Use bwrap from the store directly. + (substitute* "src/state/shellscripts/bwrap.sh" + (("-v bwrap") (string-append "-v " bwrap)) + (("exec bwrap") (string-append "exec " bwrap)) + ;; Mount /gnu and /run/current-system in the + ;; isolated environment when building with opam. + ;; This is necessary for packages to find external + ;; dependencies, such as a C compiler, make, etc... + (("^add_sys_mounts /usr") + (string-append "add_sys_mounts " + (%store-directory) + " /run/current-system /usr"))) + (substitute* "src/client/opamInitDefaults.ml" + (("\"bwrap\"") (string-append "\"" bwrap "\"")))))) + (add-before 'check 'prepare-checks + (lambda* (#:key inputs #:allow-other-keys) + ;; Opam tests need to run an isolated environment from a writable + ;; home directory. + (mkdir-p "test-home") + (setenv "HOME" (string-append (getcwd) "/test-home")) + + ;; Opam tests require data from opam-repository. Instead of + ;; downloading them with wget from the guix environment, copy the + ;; content to the expected directory. + (substitute* "tests/reftests/dune.inc" + (("tar -C.*opam-archive-([0-9a-f]*)[^)]*" _ commit) + (string-append "rmdir %{targets}) (run cp -r " + (assoc-ref inputs (string-append "opam-repo-" commit)) + "/ %{targets}) (run chmod +w -R %{targets}")) + (("wget[^)]*") "touch %{targets}") + ;; Disable a failing test because of different line wrapping + (("diff cli-versioning.test cli-versioning.out") "run true") + ;; Disable a failing test because it tries to clone a git + ;; repository from inside bwrap + (("diff upgrade-format.test upgrade-format.out") "run true")) + (substitute* "tests/reftests/dune" + ;; Because of our changes to the previous file, we cannot check + ;; it can be regenerated + (("diff dune.inc dune.inc.gen") "run true")) + ;; Ensure we can run the generated build.sh (no /bin/sh) + (substitute* '("tests/reftests/legacy-local.test" + "tests/reftests/legacy-git.test") + (("#! ?/bin/sh") + (string-append "#!" + (search-input-file inputs "/bin/sh")))) + (substitute* "tests/reftests/testing-env" + (("OPAMSTRICT=1") + (string-append "OPAMSTRICT=1\nLIBRARY_PATH=" + (assoc-ref inputs "libc") "/lib")))))))) (native-inputs - `(("dune" ,dune) - ("ocaml-cppo" ,ocaml-cppo) - - ;; For tests. - ("openssl" ,openssl) - ("python" ,python-wrapper) - ("rsync" ,rsync) - ("unzip" ,unzip) - ("which" ,which))) + (let ((opam-repo (lambda (commit hash) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml/opam-repository") + (commit commit))) + (file-name (git-file-name "opam-repo" commit)) + (sha256 (base32 hash)))))) + `(("dune" ,dune) + ("ocaml-cppo" ,ocaml-cppo) + + ;; For tests. + ("git" ,git-minimal) + ("openssl" ,openssl) + ("python" ,python-wrapper) + ("rsync" ,rsync) + ("unzip" ,unzip) + ("which" ,which) + + ;; Data for tests + ("opam-repo-009e00fa" ,(opam-repo "009e00fa86300d11c311309a2544e5c6c3eb8de2" + "1wwy0rwrsjf4q10j1rh1dazk32fbzhzy6f7zl6qmndidx9b1bq7w")) + ("opam-repo-ad4dd344" ,(opam-repo "ad4dd344fe5cd1cab49ced49d6758a9844549fb4" + "1a1qj47kj8xjdnc4zc50ijrix1kym1n7k20n3viki80a7518baw8")) + ("opam-repo-c1d23f0e" ,(opam-repo "c1d23f0e17ec83a036ebfbad1c78311b898a2ca0" + "0j9abisx3ifzm66ci3p45mngmz4f0fx7yd9jjxrz3f8w5jffc9ii")) + ("opam-repo-f372039d" ,(opam-repo "f372039db86a970ef3e662adbfe0d4f5cd980701" + "0ld7fcry6ss6fmrpswvr6bikgx299w97h0gwrjjh7kd7rydsjdws"))))) (inputs `(("ocaml" ,ocaml) ("ncurses" ,ncurses) @@ -1087,7 +1113,7 @@ Knuth’s LR(1) parser construction technique.") (define-public lablgtk (package (name "lablgtk") - (version "2.18.10") + (version "2.18.11") (source (origin (method git-fetch) (uri (git-reference @@ -1096,7 +1122,7 @@ Knuth’s LR(1) parser construction technique.") (file-name (git-file-name name version)) (sha256 (base32 - "0w8cdfcv2wc19sd3qzj3qq77qc6rbnbynsz02gzbl15kgrvgrfxi")))) + "179ipx0c6bpxm4gz0syxgqy09dp5p4x9qsdil7s9jlx8ffg1mm0w")))) (build-system gnu-build-system) (native-inputs `(("ocaml" ,ocaml) @@ -1390,9 +1416,8 @@ other XUnit testing frameworks.") (format port "directory=\"../zip\"\n"))))))) #:install-target "install-findlib" #:make-flags - (list "all" "allopt" - (string-append "INSTALLDIR=" (assoc-ref %outputs "out") - "/lib/ocaml")))) + ,#~(list "all" "allopt" + (string-append "INSTALLDIR=" #$output "/lib/ocaml")))) (home-page "https://github.com/xavierleroy/camlzip") (synopsis "Provides easy access to compressed files") (description "Provides easy access to compressed files in ZIP, GZIP and @@ -1427,7 +1452,7 @@ files in these formats.") (define-public ocaml-zarith (package (name "ocaml-zarith") - (version "1.9.1") + (version "1.12") (source (origin (method git-fetch) (uri (git-reference @@ -1436,7 +1461,7 @@ files in these formats.") (file-name (git-file-name name version)) (sha256 (base32 - "0hv5ywz1q2cgn8apfz490clwk5hcynr937g2v8i13x2ax4bnv0lz")))) + "1jslm1rv1j0ya818yh23wf3bb6hz7qqj9pn5fwl45y9mqyqa01s9")))) (build-system ocaml-build-system) (native-inputs `(("perl" ,perl))) @@ -1447,7 +1472,14 @@ files in these formats.") #:phases (modify-phases %standard-phases (replace 'configure - (lambda _ (invoke "./configure")))))) + (lambda _ (invoke "./configure"))) + (add-after 'install 'move-sublibs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib/ocaml/site-lib"))) + (mkdir-p (string-append lib "/stublibs")) + (rename-file (string-append lib "/zarith/dllzarith.so") + (string-append lib "/stublibs/dllzarith.so")))))))) (home-page "https://forge.ocamlcore.org/projects/zarith/") (synopsis "Implements arbitrary-precision integers") (description "Implements arithmetic and logical operations over @@ -1490,9 +1522,8 @@ archive(byte) = \"frontc.cma\" archive(native) = \"frontc.cmxa\"")))) (symlink (string-append out "/lib/ocaml/frontc") (string-append out "/lib/ocaml/FrontC")))))) - #:make-flags (list (string-append "PREFIX=" - (assoc-ref %outputs "out")) - "OCAML_SITE=$(LIB_DIR)/ocaml/"))) + #:make-flags ,#~(list (string-append "PREFIX=" #$output) + "OCAML_SITE=$(LIB_DIR)/ocaml/"))) (properties `((upstream-name . "FrontC"))) (home-page "https://www.irit.fr/FrontC") (synopsis "C parser and lexer library") @@ -1596,7 +1627,7 @@ full_split, cut, rcut, etc..") (define dune-bootstrap (package (name "dune") - (version "2.8.5") + (version "2.9.0") (source (origin (method git-fetch) (uri (git-reference @@ -1605,14 +1636,14 @@ full_split, cut, rcut, etc..") (file-name (git-file-name name version)) (sha256 (base32 - "0a1jj6njzsfjgklsirs6a79079wg4jhy6n888vg3dgp44awwq5jn")))) + "01np4jy0f3czkpzkl38k9b4lsh41qk52ldaqxl98mgigyzhx4w0b")))) (build-system ocaml-build-system) (arguments `(#:tests? #f; require odoc - #:make-flags (list "release" - (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "LIBDIR=" (assoc-ref %outputs "out") - "/lib/ocaml/site-lib")) + #:make-flags ,#~(list "release" + (string-append "PREFIX=" #$output) + (string-append "LIBDIR=" #$output + "/lib/ocaml/site-lib")) #:phases (modify-phases %standard-phases (replace 'configure @@ -2132,8 +2163,8 @@ dates and times.") `(("ocamlbuild" ,ocamlbuild))) (arguments `(#:tests? #f - #:make-flags (list (string-append "LIBDIR=" (assoc-ref %outputs "out") - "/lib/ocaml/site-lib/cmdliner")) + #:make-flags ,#~(list (string-append "LIBDIR=" #$output + "/lib/ocaml/site-lib/cmdliner")) #:phases (modify-phases %standard-phases (delete 'configure) @@ -2845,8 +2876,7 @@ without a complete in-memory representation of the data.") "1dvcl108ir9nqkk4mjm9xhhj4p9dx9bmg8bnms54fizs1x3x8ar3")))) (build-system dune-build-system) (arguments - `(#:test-target "tests" - #:build-flags (list "--profile=release"))) + `(#:test-target "tests")) (propagated-inputs `(("ocaml-cmdliner" ,ocaml-cmdliner))) (home-page "https://www.typerex.org/ocp-indent.html") @@ -3022,7 +3052,7 @@ OCaml code.") (build-system ocaml-build-system) (arguments `(#:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + ,#~(list (string-append "PREFIX=" #$output)) #:tests? #f ; no test target #:phases (modify-phases %standard-phases @@ -3264,8 +3294,7 @@ build system and allows external tools to analyse your project easily.") "1smcc0l6fh2n0y6bp96c69j5nw755jja99w0b206wx3yb2m4w2hs")))) (build-system dune-build-system) (arguments - `(#:tests? #f - #:build-flags (list "--profile" "release"))) + `(#:tests? #f)) (native-inputs `(("ocamlbuild" ,ocamlbuild))) (home-page "https://github.com/mjambon/cppo") @@ -3333,8 +3362,7 @@ standard iterator type starting from 4.07.") (base32 "07ycb103mr4mrkxfd63cwlsn023xvcjp0ra0k7n2gwrg0mwxmfss")))) (build-system dune-build-system) (arguments - `(#:tests? #f - #:build-flags (list "--profile" "release"))) + `(#:tests? #f)) (propagated-inputs `(("ocaml-seq" ,ocaml-seq))) (native-inputs @@ -3697,9 +3725,10 @@ and 4 (random based) according to RFC 4122.") (build-system ocaml-build-system) (arguments `(#:make-flags - (list (string-append "DESTDIR=" (assoc-ref %outputs "out")) - (string-append "SHELL=" (assoc-ref %build-inputs "bash") - "/bin/sh")) + ,#~(list (string-append "DESTDIR=" #$output) + (string-append "SHELL=" + #+(file-append (canonical-package bash-minimal) + "/bin/sh"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'make-files-writable @@ -3811,9 +3840,8 @@ the plugins facilitate extensibility, and the frontends serve as entry points.") "0chn7ldqb3wyf95yhmsxxq65cif56smgz1mhhc7m0dpwmyq1k97h")))) (build-system dune-build-system) (arguments - `(#:build-flags (list "--profile" "release") - #:test-target "camomile-test" - #:tests? #f; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82 + `(#:test-target "camomile-test" + #:tests? #f ; Tests fail, see https://github.com/yoriyuki/Camomile/issues/82 #:phases (modify-phases %standard-phases (add-before 'build 'fix-usr-share @@ -3904,8 +3932,7 @@ connect an engine to your inputs and rendering functions to get an editor.") (base32 "0zcjy6fvf0d3i2ssz96asl889n3r6bplyzk7xvb2s3dkxbgcisyy")))) (build-system dune-build-system) (arguments - `(#:build-flags (list "--profile" "release") - #:tests? #f + `(#:tests? #f #:ocaml ,ocaml-4.07 #:findlib ,ocaml4.07-findlib #:dune ,ocaml4.07-dune)) @@ -4129,28 +4156,23 @@ cross-platform SDL C library.") (build-system ocaml-build-system) (arguments `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (invoke "make") - #t)) - (replace 'check - (lambda _ - (invoke "make" "tests") - #t)) - (add-before 'install 'set-binpath - ;; Change binary path in the makefile - (lambda _ - (let ((out (assoc-ref %outputs "out"))) - (substitute* "GNUmakefile" - (("BINDIR = (.*)$") - (string-append "BINDIR = " out "/bin")))) - #t)) - (replace 'install - (lambda _ - (invoke "make" "install") - #t))))) + ,#~(modify-phases %standard-phases + (delete 'configure) + (replace 'build + (lambda _ + (invoke "make"))) + (replace 'check + (lambda _ + (invoke "make" "tests"))) + (add-before 'install 'set-binpath + ;; Change binary path in the makefile + (lambda _ + (substitute* "GNUmakefile" + (("BINDIR = (.*)$") + (string-append "BINDIR = " #$output "/bin"))))) + (replace 'install + (lambda _ + (invoke "make" "install")))))) (synopsis "Proof-checker for the λΠ-calculus modulo theory, an extension of the λ-calculus") (description "Dedukti is a proof-checker for the λΠ-calculus modulo @@ -4468,12 +4490,7 @@ than the first one.") `(#:phases (modify-phases %standard-phases (add-before 'build 'make-writable - (lambda _ - (for-each - (lambda (file) - (chmod file #o644)) - (find-files "." ".")) - #t))))) + (lambda _ (for-each make-file-writable (find-files "." "."))))))) (inputs `(("ocaml-easy-format" ,ocaml-easy-format))) (native-inputs @@ -4921,16 +4938,6 @@ provided by companion libraries such as (sha256 (base32 "0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir")))) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'build - ;; make warnings non fatal (jbuilder behaviour) - (lambda _ - (invoke "dune" "build" "@install" "--profile=release")))) - #:ocaml ,ocaml-4.07 - #:findlib ,ocaml4.07-findlib - #:dune ,ocaml4.07-dune)) (properties '())))) (define-public ocaml-compiler-libs @@ -5038,7 +5045,7 @@ as part of the same ocaml-migrate-parsetree driver.") (define-public ocaml-ppxlib (package (name "ocaml-ppxlib") - (version "0.22.1") + (version "0.23.0") (home-page "https://github.com/ocaml-ppx/ppxlib") (source (origin @@ -5049,7 +5056,7 @@ as part of the same ocaml-migrate-parsetree driver.") (file-name (git-file-name name version)) (sha256 (base32 - "0cpfg634if1py1b2rljk3cagq9gj68dl2gk1kdg76f9rapvl2i4g")))) + "0jg5v4pssbl66hn5davpin1i57a0r3r54l96vpz5y99xk5w70xi1")))) (build-system dune-build-system) (propagated-inputs `(("ocaml-base" ,ocaml-base) @@ -5329,6 +5336,10 @@ definitions.") (uri (git-reference (url "https://github.com/janestreet/ppx_variants_conv") (commit (string-append "v" version)))) + (patches + (search-patches + ;; Fix build when building with ocaml-ppxlib@0.23.0. + "ocaml-ppx-variants-ppxlib-api-change.patch")) (file-name (git-file-name name version)) (sha256 (base32 @@ -5775,7 +5786,7 @@ else expression.") (define-public ocaml-ppx-optcomp (package (name "ocaml-ppx-optcomp") - (version "0.14.1") + (version "0.14.3") (home-page "https://github.com/janestreet/ppx_optcomp") (source (origin @@ -5786,7 +5797,7 @@ else expression.") (file-name (git-file-name name version)) (sha256 (base32 - "0j5smqa0hig1yn8wfrb4mv0y59kkwsalmqkm5asbd7kcc6589ap4")))) + "1iflgfzs23asw3k6098v84al5zqx59rx2qjw0mhvk56avlx71pkw")))) (build-system dune-build-system) (propagated-inputs `(("ocaml-base" ,ocaml-base) @@ -6428,7 +6439,7 @@ the full Core is not available, such as in Javascript.") (define-public ocaml-markup (package (name "ocaml-markup") - (version "1.0.0") + (version "1.0.2") (home-page "https://github.com/aantron/markup.ml") (source (origin @@ -6439,7 +6450,7 @@ the full Core is not available, such as in Javascript.") (file-name (git-file-name name version)) (sha256 (base32 - "09hkrf9pw6hpb9j06p5bddklpnjwdjpqza3bx2179l970yl67an9")))) + "1kvqwrrcrys5d0kzdwxcj66jpi6sdhfas4pcg02pixx92q87vhqm")))) (build-system dune-build-system) (arguments `(#:package "markup")) @@ -6492,6 +6503,9 @@ stream, and convert everything to UTF-8.") (sha256 (base32 "0aif4abvfmi9xc1pvw5n5rbm6rzkkpsxyvdn0lanr33rjpvkwdlm")))) + (native-inputs + `(("ocaml-ounit" ,ocaml-ounit) + ("pkg-config" ,pkg-config))) (properties '()))) (define-public ocaml-tyxml @@ -6532,7 +6546,7 @@ combinators.") (define-public ocaml-bisect-ppx (package (name "ocaml-bisect-ppx") - (version "1.4.2") + (version "2.6.1") (source (origin (method git-fetch) @@ -6542,24 +6556,14 @@ combinators.") (file-name (git-file-name name version)) (sha256 (base32 - "0900vli5kw7s5kdam0n4cqsfsfqb7mdb3azn3i55595gilg1vyn8")))) + "1knglw1b2kjr9jnd8cpfzmm581abxxdcx9l3cd2balg6gnac7qk1")))) (build-system dune-build-system) (propagated-inputs - `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree-1) - ("ocaml-ppx-tools-versioned" ,ocaml-ppx-tools-versioned) - ("ocaml-ounit" ,ocaml-ounit))) + `(("ocaml-ppxlib" ,ocaml-ppxlib) + ("ocaml-cmdliner" ,ocaml-cmdliner))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'build 'fix-deprecated - (lambda _ - ;; Fixed upstream in 22dd1ad9a0c9629f60599c22d82c6488394d6d32, but - ;; not in a release yet. - (substitute* "src/ppx/instrument.ml" - (("module Ast = Ast_405") - "module Ast = Migrate_parsetree.Ast_405 -module Ast_405 = Ast")) - #t))))) + ;; Tests require ocamlformat which would lead to circular dependencies + '(#:tests? #f)) (home-page "https://github.com/aantron/bisect_ppx") (synopsis "Code coverage for OCaml") (description "Bisect_ppx helps you test thoroughly. It is a small @@ -6612,6 +6616,34 @@ advantage over ocamldoc is an accurate cross-referencer, which handles the complexity of the OCaml module system.") (license license:isc))) +(define-public ocaml-odoc-parser + (package + (name "ocaml-odoc-parser") + (version "0.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-doc/odoc-parser") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jlc6dp3v90r1ra7r0jfw0xs8rylwdz9gymw4rd53h0p17cw1wnj")))) + (build-system dune-build-system) + (propagated-inputs + `(("ocaml-astring" ,ocaml-astring) + ("ocaml-result" ,ocaml-result))) + (native-inputs + `(("ocaml-ppx-expect" ,ocaml-ppx-expect))) + (home-page "https://github.com/ocaml-doc/odoc-parser") + (synopsis "Parser for ocaml documentation comments") + (description + "This package provides a library for parsing the contents of OCaml +documentation comments, formatted using Odoc syntax, an extension of the +language understood by ocamldoc.") + (license license:isc))) + ;; version 1.5.2 requires ocaml-markdown 1.0.0 which does not compile ;; with old version of dune used in package-with-ocaml4.07 (define-public ocaml4.07-odoc @@ -6893,8 +6925,12 @@ support for Mparser."))) (lambda _ (for-each (lambda (file) (chmod file #o644)) - (find-files "." ".")) - #t))))) + (find-files "." ".")))) + (add-before 'build 'set-version + (lambda _ + (substitute* "dune-project" + (("\\(name lablgtk3\\)") + (string-append "(name lablgtk3)\n(version " ,version ")")))))))) (propagated-inputs `(("ocaml-cairo2" ,ocaml-cairo2))) (inputs @@ -6960,6 +6996,197 @@ provides support to program with time varying values: declarative events and client chooses the concrete timeline.") (license license:lgpl2.1+))) +(define-public ocaml-uucd + (package + (name "ocaml-uucd") + (version "13.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://erratique.ch/software/uucd/releases/" + "uucd-" version ".tbz")) + (sha256 + (base32 + "1fg77hg4ibidkv1x8hhzl8z3rzmyymn8m4i35jrdibb8adigi8v2")))) + (build-system ocaml-build-system) + (arguments + '(#:build-flags '("build" "--tests" "true") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (propagated-inputs + `(("ocaml-xmlm" ,ocaml-xmlm))) + (native-inputs + `(("opam" ,opam) + ("ocaml-findlib" ,ocaml-findlib) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-topkg" ,ocaml-topkg))) + (home-page "https://erratique.ch/software/uucd") + (synopsis "Unicode character database decoder for OCaml") + (description "Uucd is an OCaml module to decode the data of the Unicode +character database from its XML representation. It provides high-level (but +not necessarily efficient) access to the data so that efficient +representations can be extracted.") + (license license:isc))) + +(define-public ocaml-uucp + (package + (name "ocaml-uucp") + (version "13.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://erratique.ch/software/uucp/releases/" + "uucp-" version ".tbz")) + (sha256 + (base32 + "19kf8ypxaakacgg1dwwfzkc2zicaj88cmw11fw2z7zl24dn4gyiq")))) + (build-system ocaml-build-system) + (arguments + '(#:build-flags '("build" "--tests" "true") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (native-inputs + `(("opam" ,opam) + ("ocaml-findlib" ,ocaml-findlib) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-topkg" ,ocaml-topkg) + ("ocaml-uucd" ,ocaml-uucd) + ("ocaml-uunf" ,ocaml-uunf) + ("ocaml-uutf" ,ocaml-uutf))) + (home-page "https://erratique.ch/software/uucp") + (synopsis "Unicode character properties for OCaml") + (description "Uucp is an OCaml library providing efficient access to a +selection of character properties of the Unicode character database.") + (license license:isc))) + +(define-public ocaml-uuseg + (package + (name "ocaml-uuseg") + (version "13.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://erratique.ch/software/uuseg/releases/" + "uuseg-" version ".tbz")) + (sha256 + (base32 + "1a635j8ra6p27g1ivfln3387lhwqmf6vq4r6bn7b6n1qsqyi1rls")))) + (build-system ocaml-build-system) + (arguments + '(#:build-flags '("build" "--tests" "true") + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (propagated-inputs + `(("ocaml-uucp" ,ocaml-uucp) + ("ocaml-uutf" ,ocaml-uutf) + ("ocaml-cmdliner" ,ocaml-cmdliner))) + (native-inputs + `(("opam" ,opam) + ("ocaml-findlib" ,ocaml-findlib) + ("ocamlbuild" ,ocamlbuild) + ("ocaml-topkg" ,ocaml-topkg))) + (home-page "https://erratique.ch/software/uuseg") + (synopsis "Unicode text segmentation for OCaml") + (description "Uuseg is an OCaml library for segmenting Unicode text. It +implements the locale independent Unicode text segmentation algorithms to +detect grapheme cluster, word and sentence boundaries and the Unicode line +breaking algorithm to detect line break opportunities. + +The library is independent from any IO mechanism or Unicode text data +structure and it can process text without a complete in-memory +representation.") + (license license:isc))) + +(define-public ocaml-fix + (package + (name "ocaml-fix") + (version "20201120") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.inria.fr/fpottier/fix") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j40mg1gy03c0djzx3nzmpvnl984s14n04zwcmp2xnlidq48kvs4")))) + (build-system dune-build-system) + (arguments + ;; No tests. + '(#:tests? #f)) + (home-page "https://gitlab.inria.fr/fpottier/fix") + (synopsis "Facilities for memoization and fixed points") + (description "This package provides helpers with various constructions +that involve memoization and recursion.") + (license license:lgpl2.0))) + +(define-public ocaml-dune-build-info + (package + (inherit dune) + (name "ocaml-dune-build-info") + (build-system dune-build-system) + (arguments + '(#:package "dune-build-info" + ;; No separate test suite from dune. + #:tests? #f)) + (propagated-inputs + `(("ocaml-odoc" ,ocaml-odoc))) + (synopsis "Embed build informations inside executable") + (description "This package allows one to access information about how the +executable was built, such as the version of the project at which it was built +or the list of statically linked libraries with their versions. It supports +reporting the version from the version control system during development to +get an precise reference of when the executable was built."))) + +(define-public ocamlformat + (package + (name "ocamlformat") + (version "0.19.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocaml-ppx/ocamlformat") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0dp4pkznz9yvqx9gxwbid1z2b8ajkr8i27zay9ghx69624hz3i4z")))) + (build-system dune-build-system) + (arguments + '(#:package "ocamlformat" + ;; FIXME: The expected format is slightly different than what the + ;; produced format is for test/cli/stdin.t + #:tests? #f)) + (propagated-inputs + `(("ocaml-version" ,ocaml-version) + ("ocaml-base" ,ocaml-base) + ("ocaml-cmdliner" ,ocaml-cmdliner) + ("ocaml-dune-build-info" ,ocaml-dune-build-info) + ("ocaml-fix" ,ocaml-fix) + ("ocaml-fpath" ,ocaml-fpath) + ("ocaml-menhir" ,ocaml-menhir) + ("ocaml-odoc" ,ocaml-odoc) + ("ocaml-ppxlib" ,ocaml-ppxlib) + ("ocaml-re" ,ocaml-re) + ("ocaml-odoc-parser" ,ocaml-odoc-parser) + ("ocaml-stdio" ,ocaml-stdio) + ("ocaml-uuseg" ,ocaml-uuseg) + ("ocaml-uutf" ,ocaml-uutf))) + (native-inputs + `(("ocaml-alcotest" ,ocaml-alcotest) + ("ocaml-ocp-indent" ,ocaml-ocp-indent) + ("ocaml-bisect-ppx" ,ocaml-bisect-ppx))) + (home-page "https://github.com/ocaml-ppx/ocamlformat") + (synopsis "Auto-formatter for OCaml code") + (description "OCamlFormat is a tool to automatically format OCaml code in +a uniform style.") + (license license:expat))) + (define-public ocaml-bigstringaf (package (name "ocaml-bigstringaf") @@ -7197,7 +7424,7 @@ browsers and Node.js.") `(("which" ,which) ("texlive" ,(texlive-updmap.cfg (list texlive-fonts-ec texlive-preprint - texlive-latex-hyperref texlive-bibtex))))) + texlive-hyperref texlive-bibtex))))) (propagated-inputs `(("hevea" ,hevea))) (home-page "https://www.lri.fr/~filliatr/bibtex2html/") diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index e95d19db47..2d5ccf0105 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -23,6 +23,7 @@ #:use-module (guix build-system copy) #:use-module (guix build-system python) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) @@ -48,10 +49,13 @@ ;; tests that require such devices are all disabled. ;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html +;; If you update either of opencl-headers, opencl-clhpp or opencl-icd-loader +;; note that they are released together (lockstep) and must be updated +;; together. (define-public opencl-headers (package (name "opencl-headers") - (version "2020.12.18") + (version "2021.06.30") (source (origin (method git-fetch) @@ -60,11 +64,9 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1zslxfzvbb1mrzmsik4pjzj88ds8y3p94ry5nnrnkhv6qm4n4lw9")))) - (build-system copy-build-system) - (arguments - '(#:install-plan - '(("CL" "include/")))) ; TODO: add phase for tests + (base32 "1nrvx0x9r1nz1qpmzbgffnn9h9pn2fwcxsksf101bkpmqziq5lii")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; Not enabled during build. (synopsis "The Khronos OpenCL headers") (description "This package provides the C headers by Khronos for OpenCL programming.") @@ -94,7 +96,7 @@ (define-public opencl-clhpp (package (name "opencl-clhpp") - (version "2.0.10") + (version "2.0.15") (source (origin (method git-fetch) @@ -102,21 +104,14 @@ (url "https://github.com/KhronosGroup/OpenCL-CLHPP") (commit (string-append "v" version)))) (sha256 - (base32 "0h5kpg5cl8wzfnqmv6i26aig2apv06ffm9p3rh35938n9r8rladm")) + (base32 "1wycdbvwbdn7lqdd3sby8471qg2zdisr70218ava6cfvxdsqcp83")) (file-name (git-file-name name version)))) (native-inputs `(("python" ,python-wrapper))) (propagated-inputs `(("opencl-headers" ,opencl-headers))) (arguments - `(#:configure-flags - (let ((out (assoc-ref %outputs "out"))) - (list - "-DBUILD_EXAMPLES=OFF" - "-DBUILD_TESTS=OFF" - (string-append "-DCMAKE_INSTALL_PREFIX=" - (assoc-ref %outputs "out") - "/include"))) + `(#:configure-flags (list "-DBUILD_EXAMPLES=OFF" "-DBUILD_TESTS=OFF") ;; The regression tests require a lot more dependencies. #:tests? #f)) (build-system cmake-build-system) @@ -126,47 +121,50 @@ "This package provides the @dfn{host API} C++ headers for OpenCL.") (license license:expat))) -(define-public ocl-icd +(define-public opencl-icd-loader (package - (name "ocl-icd") - (version "2.2.12") + (name "opencl-icd-loader") + (version "2021.06.30") (source (origin - (method url-fetch) - (uri (string-append - "https://forge.imag.fr/frs/download.php/836/ocl-icd-" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/KhronosGroup/OpenCL-ICD-Loader.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1x2dr8p4dkfds56r38av360i3nv1y3326jmshxvjngaf6mlg6rbn")) - (modules '((guix build utils))) - (snippet - '(delete-file-recursively "khronos-headers")))) - (native-inputs - `(("opencl-headers" ,opencl-headers) - ("ruby" ,ruby))) - (inputs - `(("libgcrypt" ,libgcrypt))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("DEBUG_OCL_ICD=1"))) + "007ws357n1ijrxal1bf9lwy68p0dz1sm9cfcfnnz5f88iwc9xd6m")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; Tests need stub loader setup. (native-search-paths (list (search-path-specification - (variable "OPENCL_VENDOR_PATH") + (variable "OCL_ICD_VENDORS") (files '("etc/OpenCL/vendors"))))) - (search-paths native-search-paths) - (home-page "https://forge.imag.fr/projects/ocl-icd/") - (synopsis "OpenCL loader for Installable Client Drivers (ICDs)") + (home-page "https://github.com/KhronosGroup/OpenCL-ICD-Loader") + (inputs `(("opencl-headers" ,opencl-headers))) + (synopsis "OpenCL Installable Client Driver") (description - "OpenCL implementations are provided as ICDs (Installable Client -Drivers). An OpenCL program can use several ICDs thanks to the use of an ICD -Loader as provided by this package.") - (license license:bsd-2))) + "OpenCL defines an Installable Client Driver (ICD) mechanism to allow +developers to build applications against an Installable Client Driver loader +(ICD loader) rather than linking their applications against a specific OpenCL +implementation. The ICD Loader is responsible for: + +@itemize +@item Exporting OpenCL API entry points +@item Enumerating OpenCL implementations +@item Forwarding OpenCL API calls to the correct implementation +@end itemize + +This package contains the Khronos official OpenCL ICD Loader.") + (license license:asl2.0))) + +(define-public ocl-icd + (deprecated-package "ocl-icd" opencl-icd-loader)) (define-public clinfo (package (name "clinfo") - (version "2.2.18.04.06") + (version "3.0.21.02.21") (source (origin (method git-fetch) @@ -175,26 +173,17 @@ Loader as provided by this package.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0y2q0lz5yzxy970b7w7340vp4fl25vndahsyvvrywcrn51ipgplx")))) + (base32 "1sfxp6ai83i0vwdg7b05h0k07q6873q1z1avnyksj5zmzdnxya6j")))) (build-system gnu-build-system) (native-inputs `(("opencl-headers" ,opencl-headers))) (inputs - `(("ocl-icd" ,ocl-icd))) + `(("opencl-icd-loader" ,opencl-icd-loader))) (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'build - (lambda _ - (let ((cores (number->string (parallel-job-count)))) - (setenv "CC" "gcc") - (invoke "make" "-j" cores)))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "make" "install" (string-append - "PREFIX=" - (assoc-ref outputs "out")))))) + `(#:make-flags + (list ,(string-append "CC=" (cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases (delete 'configure)) #:tests? #f)) (home-page "https://github.com/Oblomov/clinfo") (synopsis "Print information about OpenCL platforms and devices") @@ -239,7 +228,7 @@ the system.") ("libxext" ,libxext) ("mesa-utils" ,mesa-utils) ("ncurses" ,ncurses) - ("ocl-icd" ,ocl-icd) + ("opencl-icd-loader" ,opencl-icd-loader) ("opencl-headers" ,opencl-headers) ("xextproto" ,xextproto) ("zlib" ,zlib))) @@ -306,7 +295,7 @@ back-end for the LLVM compiler framework.") `(("clang" ,clang) ("hwloc" ,hwloc-2 "lib") ("llvm" ,llvm) - ("ocl-icd" ,ocl-icd))) + ("opencl-icd-loader" ,opencl-icd-loader))) (arguments `(#:configure-flags (list "-DENABLE_ICD=ON" @@ -338,20 +327,18 @@ pocl.") (define-public python-pytools (package (name "python-pytools") - (version "2020.4") + (version "2021.2.7") (source (origin (method url-fetch) (uri (pypi-uri "pytools" version)) (sha256 - (base32 "0q7439iy365a874ckpavx6h1mhnnngfy8nl7xj5grdd127zkknrp")))) + (base32 "1yyr4k6sqx859gjhc02633l2vxwdnj6m2f5blmf7dgq0gzzgcf05")))) (build-system python-build-system) + (arguments `(#:tests? #f)) ; Tests depend on packages not present in Guix. (propagated-inputs `(("python-appdirs" ,python-appdirs) - ("python-decorator" ,python-decorator) - ("python-numpy" ,python-numpy) - ("python-six" ,python-six) - ("python-mpi4py" ,python-mpi4py))) + ("python-numpy" ,python-numpy))) (home-page "https://pypi.org/project/pytools/") (synopsis "Assorted tools for Python") (description @@ -377,44 +364,29 @@ A lexer, @code{pytools.lex}. (define-public python-pyopencl (package (name "python-pyopencl") - (version "2019.1.1") + (version "2021.2.6") (source (origin - ;; The tarball on PyPI lacks test programs such as - ;; 'pygpu_language_opencl.cpp' so fetch it from Git. - ;; XXX: The server at git.tiker.net is unreliable. (method git-fetch) (uri (git-reference - (url "http://git.tiker.net/trees/pyopencl.git") + (url "https://github.com/inducer/pyopencl.git") (commit (string-append "v" version)) (recursive? #t))) (file-name (git-file-name name version)) (sha256 (base32 - "12q0rs8yla571vcfpsh0mfrjbdiayv0hi8r1rq0f178m3i3qjz80")))) + "1s2cls7avxvf753zzpx422ikslaxdnm8rz58zg7mal15yak0wv2x")))) (build-system python-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-before 'build 'set-home - (lambda _ - ;; Some of the Python build scripts expect 'HOME' to be - ;; set. - (setenv "HOME" (getcwd)) - #t))) - - ;; Tests in 'compyte/ndarray/setup_opencl.py' appear to rely on - ;; 'nvcc', which is not an option. - #:tests? #f)) + `(#:tests? #f)) ; Tests cannot find pygpu_language_opencl.cpp (inputs - `(("opencl-headers" ,opencl-headers-1.2) ;POCL only supports OpenCL 1.2 + `(("opencl-headers" ,opencl-headers) ("pybind11" ,pybind11) - ("ocl-icd" ,ocl-icd))) ;libOpenCL + ("opencl-icd-loader" ,opencl-icd-loader))) ;libOpenCL (propagated-inputs `(("python-appdirs" ,python-appdirs) - ("python-decorator" ,python-decorator) ("python-numpy" ,python-numpy) ("python-pytools" ,python-pytools) - ("python-six" ,python-six) ("python-mako" ,python-mako))) (home-page "http://mathema.tician.de/software/pyopencl") (synopsis "Python wrapper for OpenCL") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 4ed0dabee3..4f80479623 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> +;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; ;;; This file is part of GNU Guix. ;;; @@ -52,6 +53,7 @@ #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages dejagnu) #:use-module (gnu packages dbm) #:use-module (gnu packages docbook) #:use-module (gnu packages file) @@ -64,6 +66,7 @@ #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages hurd) + #:use-module (gnu packages less) #:use-module (gnu packages libedit) #:use-module (gnu packages linux) #:use-module (gnu packages lisp) @@ -83,6 +86,7 @@ #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) + #:use-module (gnu packages tcl) #:use-module (gnu packages texinfo) #:use-module (gnu packages time) #:use-module (gnu packages tls) @@ -1155,7 +1159,7 @@ outputs of those builds.") (define-public guix-jupyter (package (name "guix-jupyter") - (version "0.2.1") + (version "0.2.2") (home-page "https://gitlab.inria.fr/guix-hpc/guix-kernel") (source (origin (method git-fetch) @@ -1163,7 +1167,7 @@ outputs of those builds.") (commit (string-append "v" version)))) (sha256 (base32 - "1kqwfp5h95s6mirq5nbydsbmlhsinn32grz1ld5mbxvhl6sn2i0j")) + "17m6970wnvwlbarq4gxz5bakhzyhq5ch8qd8jw55ydccpv6473kq")) (file-name (string-append "guix-jupyter-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1302,7 +1306,7 @@ for packaging and deployment of cross-compiled Windows applications.") (define-public libostree (package (name "libostree") - (version "2021.2") + (version "2021.3") (source (origin (method url-fetch) @@ -1310,7 +1314,7 @@ for packaging and deployment of cross-compiled Windows applications.") "https://github.com/ostreedev/ostree/releases/download/v" (version-major+minor version) "/libostree-" version ".tar.xz")) (sha256 - (base32 "0z2x9krnd6nblwq0nz99igzhh3yv022rn3hgcyrzci0xqzkhhh45")))) + (base32 "1cyhr3s7xsgnsais5m4cjwdwcq46naf25r1k042c4n1y1jgs798g")))) (build-system gnu-build-system) (arguments '(#:phases @@ -1494,3 +1498,116 @@ It is mainly meant for programmers who develop portable programs or libraries in but could potentially work for end-users of those programs. It also has a translator from R7RS, which allows most R7RS code to run on R6RS implementations.") (license license:gpl3+))) + +(define-public modules + (package + (name "modules") + (version "4.8.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/modules/Modules/modules-" + version "/modules-" version ".tar.bz2")) + (sha256 (base32 "1amz8qdqbvfdc8jv0j4720vywbz2gi7l3sr1lh37ilfbxy9lq9g9")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list (string-append "--with-bin-search-path=" + (assoc-ref %build-inputs "tcl") "/bin" ":" + (assoc-ref %build-inputs "procps") "/bin" ":" + (assoc-ref %build-inputs "less") "/bin" ":" + (assoc-ref %build-inputs "coreutils") "/bin") + (string-append "--with-tcl=" (assoc-ref %build-inputs "tcl") "/lib") + "--disable-compat-version") + #:test-target "test" + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-add-modules + (lambda* (#:key inputs #:allow-other-keys) + (let ((coreutils (assoc-ref inputs "coreutils"))) + (substitute* "script/add.modules.in" + (("/bin/(cat|cp|rm)" _ command) + (string-append coreutils "/bin/" command)) + (("/bin/echo") + "echo"))))) + (add-before 'configure 'patch-scripts-for-python-3 + (lambda _ + ;; Patch the script for python-3. + (substitute* "script/createmodule.py.in" + (("pathkeys.sort\\(\\)") "pathkeys = sorted(pathkeys)") + (("print\\(\"\\\\t\"\\*") "print(\"\\t\"*int") + (("@PYTHON@") (which "python3"))))) + (add-before 'check 'patch-/bin/sh-and-nixbld-groups-in-tests + (lambda _ + (use-modules (srfi srfi-1)) + (let* ((groups-file (string-append (getcwd) "/nixbld-groups")) + (groups-file-z (string-append groups-file "-z")) + (nixbld-groups + (fold + (lambda (id prev) + (catch #t + (lambda () (cons (group:name (getgrnam id)) prev)) + (lambda _ prev))) + '() + (vector->list (getgroups))))) + ;; Simulate "id -G -n" command output. + (call-with-output-file groups-file + (lambda (port) + (display (string-join nixbld-groups " ") port) + (display #\newline port))) + ;; Simulate "id -G -n -z" command output. + (call-with-output-file groups-file-z + (lambda (port) + (for-each + (lambda (group-name) + (display group-name port) + (display #\null port)) + nixbld-groups))) + ;; Generate "modulecmd-test.tcl" before running "make test". + (invoke "make" "modulecmd-test.tcl") + ;; Substitute shell. + (substitute* + '("modulecmd-test.tcl" + "modulecmd.tcl" + "testsuite/modules.70-maint/380-edit.exp" + "compat/init/filter") + (("/bin/sh") (which "sh"))) + ;; Skip tests that use supplementary groups. + (for-each + delete-file + '("testsuite/modules.20-locate/112-hide-user-group.exp" + "testsuite/modules.20-locate/117-forbid-user-group.exp" + "testsuite/modules.20-locate/119-hide-cascading.exp" + "testsuite/modules.50-cmds/140-system.exp" + "testsuite/modules.50-cmds/287-info-usergroups.exp" + "testsuite/modules.50-cmds/440-module-tag.exp" + "testsuite/modules.70-maint/220-config.exp")) + (for-each + (lambda (file) + (substitute* file + (("/bin/sh") (which "bash")) + ;; For some reason "kvm" group cannot be resolved for + ;; "nixbld" user. We replace "id ..." commands with + ;; "cat ..." that simulates them. + (("exec id -G -n -z") (string-append "exec cat " groups-file-z)) + (("exec id -G -n") (string-append "exec cat " groups-file)))) + '("testsuite/modules.00-init/005-init_ts.exp" + "testsuite/install.00-init/005-init_ts.exp" + "modulecmd-test.tcl")))))))) + (native-inputs + `(("dejagnu" ,dejagnu) + ("autoconf" ,autoconf) + ("which" ,which))) + (inputs + `(("tcl" ,tcl) + ("less" ,less) + ("procps" ,procps) + ("coreutils" ,coreutils) + ("python" ,python-3))) + (home-page "http://modules.sourceforge.net/") + (synopsis "Shell environment variables and aliases management") + (description "Modules simplify shell initialization and let users +modify their environment during the session with modulefiles. Modules are +used on high-performance clusters to dynamically add and remove paths +to specific versions of applications.") + (license license:gpl2+))) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 42826f49d6..01609fcd50 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> -;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> ;;; @@ -31,6 +31,7 @@ (define-module (gnu packages parallel) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module ((guix licenses) #:prefix license:) @@ -41,9 +42,11 @@ #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages check) #:use-module (gnu packages flex) #:use-module (gnu packages freeipmi) #:use-module (gnu packages linux) + #:use-module (gnu packages maths) #:use-module (gnu packages mpi) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -58,14 +61,14 @@ (define-public parallel (package (name "parallel") - (version "20210622") + (version "20210822") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "11pcc5kim104wz25k5q1pqhd6z85d7dx509h74ncaxhyyydjfcvv")))) + (base32 "08iqx2qq2p4a45nphlcj7xnhr2s8nacahzbyvapqxvr64znmj5kq")))) (build-system gnu-build-system) (arguments `(#:phases @@ -378,3 +381,88 @@ and output captured in the notebook. Whatever arguments are accepted by a SLURM command line executable are also accepted by the corresponding magic command---e.g., @code{%salloc}, @code{%sbatch}, etc.") (license license:bsd-3)))) + +(define-public pthreadpool + ;; This repository has only one tag, 0.1, which is older than what users + ;; such as XNNPACK expect. + (let ((commit "1787867f6183f056420e532eec640cba25efafea") + (version "0.1") + (revision "1")) + (package + (name "pthreadpool") + (version (git-version version revision commit)) + (home-page "https://github.com/Maratyszcza/pthreadpool") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02hdvxfn5krw8zivkgjx3b4rk9p02yr4mpdjlp75lsv6z1xf5yrx")) + (patches (search-patches "pthreadpool-system-libraries.patch")))) + (build-system cmake-build-system) + (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) + (inputs + `(("googletest" ,googletest) + ("googlebenchmark" ,googlebenchmark) + ("fxdiv" ,fxdiv))) + (synopsis "Efficient thread pool implementation") + (description + "The pthreadpool library implements an efficient and portable thread +pool, similar to those implemented by OpenMP run-time support libraries for +constructs such as @code{#pragma omp parallel for}, with additional +features.") + (license license:bsd-2)))) + +(define-public cpuinfo + ;; There's currently no tag on this repo. + (let ((version "0.0") + (revision "1") + (commit "866ae6e5ffe93a1f63be738078da94cf3005cce2")) + (package + (name "cpuinfo") + (version (git-version version revision commit)) + (home-page "https://github.com/pytorch/cpuinfo") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lmsf4bpkm19a31i40qwcjn46qf7prggziv4pbsi695bkx5as71p")) + (patches (search-patches "cpuinfo-system-libraries.patch")))) + (build-system cmake-build-system) + (arguments '(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) + (inputs + `(("googletest" ,googletest) + ("googlebenchmark" ,googlebenchmark))) + (synopsis "C/C++ library to obtain information about the CPU") + (description + "The cpuinfo library provides a C/C++ and a command-line interface to +obtain information about the CPU being used: supported instruction set, +processor name, cache information, and topology information.") + (license license:bsd-2)))) + +(define-public psimd + ;; There is currently no tag in this repo. + (let ((commit "072586a71b55b7f8c584153d223e95687148a900") + (version "0.0") + (revision "1")) + (package + (name "psimd") + (version (git-version version revision commit)) + (home-page "https://github.com/Maratyszcza/Psimd") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16mslhvqs0gpqbg7kkq566a8gkn58cgjpqca8ljj9qcv5mk9apwm")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;there are no tests + (synopsis "Portable 128-bit SIMD intrinsics") + (description + "This header-only C++ library provides a portable interface to +single-instruction multiple-data (SIMD) intrinsics.") + (license license:expat)))) diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 504a908100..3d80065d6a 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2015 Steve Sprang <scs@stevesprang.com> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015 Aljosha Papsch <misc@rpapsch.de> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Jessica Tallon <tsyesika@tsyesika.se> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> diff --git a/gnu/packages/patches/adb-libssl_11-compatibility.patch b/gnu/packages/patches/adb-libssl_11-compatibility.patch new file mode 100644 index 0000000000..9affe58b5d --- /dev/null +++ b/gnu/packages/patches/adb-libssl_11-compatibility.patch @@ -0,0 +1,35 @@ +This patch is taken from Debian +URL: https://sources.debian.org/data/main/a/android-platform-system-core/1%3A7.0.0%2Br33-1/debian/patches/adb_libssl_11.diff +Description: adb: Make compatible with openssl 1.1 + OpenSSL version 1.1 brought some API changes which broke the build here, + fix that by accessing rsa->n (and e) directly, using RSA_get0_key instead. +Author: Chirayu Desai <chirayudesai1@gmail.com +Last-Update: 2016-11-10 +--- a/adb/adb_auth_host.cpp ++++ b/adb/adb_auth_host.cpp +@@ -71,6 +71,7 @@ + BIGNUM* rem = BN_new(); + BIGNUM* n = BN_new(); + BIGNUM* n0inv = BN_new(); ++ BIGNUM* e = BN_new(); + + if (RSA_size(rsa) != RSANUMBYTES) { + ret = 0; +@@ -78,7 +79,7 @@ + } + + BN_set_bit(r32, 32); +- BN_copy(n, rsa->n); ++ RSA_get0_key(rsa, &n, &e, NULL); + BN_set_bit(r, RSANUMWORDS * 32); + BN_mod_sqr(rr, r, n, ctx); + BN_div(NULL, rem, n, r32, ctx); +@@ -92,7 +93,7 @@ + BN_div(n, rem, n, r32, ctx); + pkey->n[i] = BN_get_word(rem); + } +- pkey->exponent = BN_get_word(rsa->e); ++ pkey->exponent = BN_get_word(e); + + out: + BN_free(n0inv); diff --git a/gnu/packages/patches/beets-werkzeug-compat.patch b/gnu/packages/patches/beets-werkzeug-compat.patch deleted file mode 100644 index 1a91c3a3f9..0000000000 --- a/gnu/packages/patches/beets-werkzeug-compat.patch +++ /dev/null @@ -1,18 +0,0 @@ -Be compatible with python-werkzeug 1.0.0. - -Taken from upstream: -https://github.com/beetbox/beets/commit/d43d54e21cde97f57f19486925ab56b419254cc8 - -diff --git a/beetsplug/web/__init__.py b/beetsplug/web/__init__.py -index f53fb3a954..21ff5d94ed 100644 ---- a/beetsplug/web/__init__.py -+++ b/beetsplug/web/__init__.py -@@ -169,7 +169,7 @@ def to_python(self, value): - return ids - - def to_url(self, value): -- return ','.join(value) -+ return ','.join(str(v) for v in value) - - - class QueryConverter(PathConverter): diff --git a/gnu/packages/patches/binutils-2.37-file-descriptor-leak.patch b/gnu/packages/patches/binutils-2.37-file-descriptor-leak.patch new file mode 100644 index 0000000000..1fd3d3d9b7 --- /dev/null +++ b/gnu/packages/patches/binutils-2.37-file-descriptor-leak.patch @@ -0,0 +1,231 @@ +From 1c611b40e6bfc8029bff7696814330b5bc0ee5c0 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu" <hjl.tools@gmail.com> +Date: Mon, 26 Jul 2021 05:59:55 -0700 +Subject: [PATCH] bfd: Close the file descriptor if there is no archive fd + +Close the file descriptor if there is no archive plugin file descriptor +to avoid running out of file descriptors on thin archives with many +archive members. + +bfd/ + + PR ld/28138 + * plugin.c (bfd_plugin_close_file_descriptor): Close the file + descriptor there is no archive plugin file descriptor. + +ld/ + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run tmpdir/pr28138 only for + native build. + + PR ld/28138 + * testsuite/ld-plugin/lto.exp: Run ld/28138 tests. + * testsuite/ld-plugin/pr28138.c: New file. + * testsuite/ld-plugin/pr28138-1.c: Likewise. + * testsuite/ld-plugin/pr28138-2.c: Likewise. + * testsuite/ld-plugin/pr28138-3.c: Likewise. + * testsuite/ld-plugin/pr28138-4.c: Likewise. + * testsuite/ld-plugin/pr28138-5.c: Likewise. + * testsuite/ld-plugin/pr28138-6.c: Likewise. + * testsuite/ld-plugin/pr28138-7.c: Likewise. + +(cherry picked from commit 5a98fb7513b559e20dfebdbaa2a471afda3b4742) +(cherry picked from commit 7dc37e1e1209c80e0bab784df6b6bac335e836f2) +--- + bfd/plugin.c | 8 +++++++ + ld/testsuite/ld-plugin/lto.exp | 34 ++++++++++++++++++++++++++++++ + ld/testsuite/ld-plugin/pr28138-1.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-2.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-3.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-4.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-5.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-6.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138-7.c | 6 ++++++ + ld/testsuite/ld-plugin/pr28138.c | 20 ++++++++++++++++++ + 10 files changed, 104 insertions(+) + create mode 100644 ld/testsuite/ld-plugin/pr28138-1.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-2.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-3.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-4.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-5.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-6.c + create mode 100644 ld/testsuite/ld-plugin/pr28138-7.c + create mode 100644 ld/testsuite/ld-plugin/pr28138.c + +diff --git a/bfd/plugin.c b/bfd/plugin.c +index 6cfa2b66470..3bab8febe88 100644 +--- a/bfd/plugin.c ++++ b/bfd/plugin.c +@@ -291,6 +291,14 @@ bfd_plugin_close_file_descriptor (bfd *abfd, int fd) + && !bfd_is_thin_archive (abfd->my_archive)) + abfd = abfd->my_archive; + ++ /* Close the file descriptor if there is no archive plugin file ++ descriptor. */ ++ if (abfd->archive_plugin_fd == -1) ++ { ++ close (fd); ++ return; ++ } ++ + abfd->archive_plugin_fd_open_count--; + /* Dup the archive plugin file descriptor for later use, which + will be closed by _bfd_archive_close_and_cleanup. */ +diff --git a/ld/testsuite/ld-plugin/lto.exp b/ld/testsuite/ld-plugin/lto.exp +index def69e43ab3..999d911ce6a 100644 +--- a/ld/testsuite/ld-plugin/lto.exp ++++ b/ld/testsuite/ld-plugin/lto.exp +@@ -687,6 +687,40 @@ if { [is_elf_format] && [check_lto_shared_available] } { + } + } + ++run_cc_link_tests [list \ ++ [list \ ++ "Build pr28138.a" \ ++ "-T" "" \ ++ {pr28138-1.c pr28138-2.c pr28138-3.c pr28138-4.c pr28138-5.c \ ++ pr28138-6.c pr28138-7.c} {} "pr28138.a" \ ++ ] \ ++ [list \ ++ "Build pr28138.o" \ ++ "" "" \ ++ {pr28138.c} {} \ ++ ] \ ++] ++ ++set exec_output [run_host_cmd "sh" \ ++ "-c \"ulimit -n 20; \ ++ $CC -Btmpdir/ld -o tmpdir/pr28138 \ ++ tmpdir/pr28138.o tmpdir/pr28138.a\""] ++set exec_output [prune_warnings $exec_output] ++if [string match "" $exec_output] then { ++ if { [isnative] } { ++ set exec_output [run_host_cmd "tmpdir/pr28138" ""] ++ if [string match "PASS" $exec_output] then { ++ pass "PR ld/28138" ++ } else { ++ fail "PR ld/28138" ++ } ++ } else { ++ pass "PR ld/28138" ++ } ++} else { ++ fail "PR ld/28138" ++} ++ + set testname "Build liblto-11.a" + remote_file host delete "tmpdir/liblto-11.a" + set catch_output [run_host_cmd "$ar" "rc $plug_opt tmpdir/liblto-11.a tmpdir/lto-11a.o tmpdir/lto-11b.o tmpdir/lto-11c.o"] +diff --git a/ld/testsuite/ld-plugin/pr28138-1.c b/ld/testsuite/ld-plugin/pr28138-1.c +new file mode 100644 +index 00000000000..51d119e1642 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-1.c +@@ -0,0 +1,6 @@ ++extern int a0(void); ++int ++a1(void) ++{ ++ return 1 + a0(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-2.c b/ld/testsuite/ld-plugin/pr28138-2.c +new file mode 100644 +index 00000000000..1120cd797e9 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-2.c +@@ -0,0 +1,6 @@ ++extern int a1(void); ++int ++a2(void) ++{ ++ return 1 + a1(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-3.c b/ld/testsuite/ld-plugin/pr28138-3.c +new file mode 100644 +index 00000000000..ec464947ee6 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-3.c +@@ -0,0 +1,6 @@ ++extern int a2(void); ++int ++a3(void) ++{ ++ return 1 + a2(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-4.c b/ld/testsuite/ld-plugin/pr28138-4.c +new file mode 100644 +index 00000000000..475701b2c5c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-4.c +@@ -0,0 +1,6 @@ ++extern int a3(void); ++int ++a4(void) ++{ ++ return 1 + a3(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-5.c b/ld/testsuite/ld-plugin/pr28138-5.c +new file mode 100644 +index 00000000000..e24f86c363e +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-5.c +@@ -0,0 +1,6 @@ ++extern int a4(void); ++int ++a5(void) ++{ ++ return 1 + a4(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-6.c b/ld/testsuite/ld-plugin/pr28138-6.c +new file mode 100644 +index 00000000000..b5b938bdb21 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-6.c +@@ -0,0 +1,6 @@ ++extern int a5(void); ++int ++a6(void) ++{ ++ return 1 + a5(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138-7.c b/ld/testsuite/ld-plugin/pr28138-7.c +new file mode 100644 +index 00000000000..4ef75bf0f0c +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138-7.c +@@ -0,0 +1,6 @@ ++extern int a6(void); ++int ++a7(void) ++{ ++ return 1 + a6(); ++} +diff --git a/ld/testsuite/ld-plugin/pr28138.c b/ld/testsuite/ld-plugin/pr28138.c +new file mode 100644 +index 00000000000..68252c9f382 +--- /dev/null ++++ b/ld/testsuite/ld-plugin/pr28138.c +@@ -0,0 +1,20 @@ ++#include <stdio.h> ++ ++extern int a7(void); ++ ++int ++a0(void) ++{ ++ return 0; ++} ++ ++int ++main() ++{ ++ if (a7() == 7) ++ { ++ printf ("PASS\n"); ++ return 0; ++ } ++ return 1; ++} +-- +2.27.0 diff --git a/gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch b/gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch new file mode 100644 index 0000000000..0629212688 --- /dev/null +++ b/gnu/packages/patches/c++-gsl-move-array-bounds-tests.patch @@ -0,0 +1,126 @@ +Description: Move tests that trigger -Warray-bounds to separate compilation unit + GCC 10 is now smart enough to detect violation of array boundaries that tests + are actually tested. Along with -Werror this led to tests failure, so I move + such tests to another compilation unit to have the warning deactivated for + only these tests. +Bug-Debian: https://bugs.debian.org/966895 +Author: Nicholas Guriev <guriev-ns@ya.ru> +Last-Modified: Wed, 19 Aug 2020 08:55:52 +0300 + +--- a/tests/CMakeLists.txt ++++ b/tests/CMakeLists.txt +@@ -179,6 +179,7 @@ add_gsl_test(owner_tests) + add_gsl_test(byte_tests) + add_gsl_test(algorithm_tests) + add_gsl_test(strict_notnull_tests) ++add_gsl_test(array_bounds) + + + # No exception tests +--- /dev/null ++++ b/tests/array_bounds.cpp +@@ -0,0 +1,68 @@ ++/////////////////////////////////////////////////////////////////////////////// ++// ++// Copyright (c) 2015 Microsoft Corporation. All rights reserved. ++// ++// This code is licensed under the MIT License (MIT). ++// ++// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE ++// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++// THE SOFTWARE. ++// ++/////////////////////////////////////////////////////////////////////////////// ++ ++#ifdef __GNUC__ ++#pragma GCC diagnostic warning "-Warray-bounds" ++#endif // __GNUC__ ++ ++#include <gtest/gtest.h> ++ ++#include <gsl/multi_span> // for gsl::multi_span ++ ++namespace gsl ++{ ++struct fail_fast; ++} // namespace gsl ++ ++namespace ++{ ++static constexpr char deathstring[] = "Expected Death"; ++} // namespace ++ ++TEST(array_bounds, subspan_from_multi_span_test) ++{ ++ int arr[5] = {1, 2, 3, 4, 5}; ++ gsl::multi_span<int> av = arr; ++ ++ std::set_terminate([] { ++ std::cerr << "Expected Death. subspan"; ++ std::abort(); ++ }); ++ ++ EXPECT_DEATH(av.subspan(6).length(), deathstring); ++} ++ ++TEST(array_bounds, strided_span_bounds_from_strided_span_tests) ++{ ++ int arr[] = {0, 1, 2, 3}; ++ gsl::multi_span<int> av(arr); ++ ++ std::set_terminate([] { ++ std::cerr << "Expected Death. strided_span_bounds"; ++ std::abort(); ++ }); ++ ++ // incorrect sections ++ EXPECT_DEATH(av.section(0, 0)[0], deathstring); ++ EXPECT_DEATH(av.section(1, 0)[0], deathstring); ++ EXPECT_DEATH(av.section(1, 1)[1], deathstring); ++ ++ EXPECT_DEATH(av.section(2, 5), deathstring); ++ EXPECT_DEATH(av.section(5, 2), deathstring); ++ EXPECT_DEATH(av.section(5, 0), deathstring); ++ EXPECT_DEATH(av.section(0, 5), deathstring); ++ EXPECT_DEATH(av.section(5, 5), deathstring); ++} +--- a/tests/multi_span_tests.cpp ++++ b/tests/multi_span_tests.cpp +@@ -1042,10 +1042,6 @@ TEST(multi_span_test, subspan) + EXPECT_TRUE(av.subspan(1).length() == 4); + EXPECT_TRUE(av.subspan(4).length() == 1); + EXPECT_TRUE(av.subspan(5).length() == 0); +- // Disabled test instead of fixing since multi_span is deprecated. (PR#835) +-#if !(defined(__GNUC__) && __GNUC__ == 8) +- EXPECT_DEATH(av.subspan(6).length(), deathstring); +-#endif + auto av2 = av.subspan(1); + for (int i = 0; i < 4; ++i) EXPECT_TRUE(av2[i] == i + 2); + } +--- a/tests/strided_span_tests.cpp ++++ b/tests/strided_span_tests.cpp +@@ -403,20 +403,6 @@ TEST(strided_span_tests, strided_span_bo + }); + + { +- // incorrect sections +- +- EXPECT_DEATH(av.section(0, 0)[0], deathstring); +- EXPECT_DEATH(av.section(1, 0)[0], deathstring); +- EXPECT_DEATH(av.section(1, 1)[1], deathstring); +- +- EXPECT_DEATH(av.section(2, 5), deathstring); +- EXPECT_DEATH(av.section(5, 2), deathstring); +- EXPECT_DEATH(av.section(5, 0), deathstring); +- EXPECT_DEATH(av.section(0, 5), deathstring); +- EXPECT_DEATH(av.section(5, 5), deathstring); +- } +- +- { + // zero stride + strided_span<int, 1> sav{av, {{4}, {}}}; + EXPECT_TRUE(sav[0] == 0); diff --git a/gnu/packages/patches/cheese-vala-update.patch b/gnu/packages/patches/cheese-vala-update.patch new file mode 100644 index 0000000000..cb18952ce4 --- /dev/null +++ b/gnu/packages/patches/cheese-vala-update.patch @@ -0,0 +1,180 @@ +Taken from upstream: +https://gitlab.gnome.org/GNOME/cheese/-/commit/7cf6268e54620bbbe5e6e61800c50fb0cb4bea57.patch. + +From 7cf6268e54620bbbe5e6e61800c50fb0cb4bea57 Mon Sep 17 00:00:00 2001 From: +=?UTF-8?q?Corentin=20No=C3=ABl?= <corentin@elementary.io> Date: Fri, 16 Oct +2020 19:56:26 +0200 Subject: [PATCH] Change GLib.PtrArray into +GLib.GenericArray + +This is the vala-friendly way of handling GPtrArray. +Fix several memory leaks on the go and unnecessary reference increase. +--- + src/cheese-preferences.vala | 26 ++++++++++++-------------- + src/cheese-window.vala | 22 +++++++++++----------- + src/vapi/cheese-common.vapi | 2 +- + 3 files changed, 24 insertions(+), 26 deletions(-) + +diff --git a/src/cheese-preferences.vala b/src/cheese-preferences.vala +index f56af7e0..80a92431 100644 +--- a/src/cheese-preferences.vala ++++ b/src/cheese-preferences.vala +@@ -100,7 +100,7 @@ public PreferencesDialog (Cheese.Camera camera) + */ + private void initialize_camera_devices () + { +- unowned GLib.PtrArray devices = camera.get_camera_devices (); ++ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices (); + camera_model = new Gtk.ListStore (2, typeof (string), typeof (Cheese.CameraDevice)); + + source_combo.model = camera_model; +@@ -357,13 +357,13 @@ public PreferencesDialog (Cheese.Camera camera) + */ + private void on_camera_update_num_camera_devices () + { +- unowned GLib.PtrArray devices = camera.get_camera_devices (); +- Cheese.CameraDevice dev; ++ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices (); ++ unowned Cheese.CameraDevice dev; + + // Add (if) / Remove (else) a camera device. +- if (devices.len > camera_model.iter_n_children (null)) ++ if (devices.length > camera_model.iter_n_children (null)) + { +- dev = (Cheese.CameraDevice) devices.index (devices.len - 1); ++ dev = devices.get (devices.length - 1); + add_camera_device(dev); + } + else +@@ -382,12 +382,11 @@ public PreferencesDialog (Cheese.Camera camera) + bool device_removed = false; + devices.foreach ((device) => + { +- var old_device = (Cheese.CameraDevice) device; + Cheese.CameraDevice new_device; + camera_model.get (iter, 1, out new_device, -1); + + // Found the device that was removed. +- if (old_device != new_device) ++ if (device != new_device) + { + remove_camera_device (iter, new_device, active_device); + device_removed = true; +@@ -418,17 +417,16 @@ public PreferencesDialog (Cheese.Camera camera) + * + * @param device a Cheese.CameraDevice to add to the device combo box model + */ +- private void add_camera_device (void *device) ++ private void add_camera_device (Cheese.CameraDevice device) + { + TreeIter iter; +- Cheese.CameraDevice dev = (Cheese.CameraDevice) device; + + camera_model.append (out iter); + camera_model.set (iter, +- 0, dev.get_name (), +- 1, dev); ++ 0, device.get_name (), ++ 1, device); + +- if (camera.get_selected_device () == dev) ++ if (camera.get_selected_device () == device) + source_combo.set_active_iter (iter); + + if (camera_model.iter_n_children (null) > 1) +@@ -445,12 +443,12 @@ public PreferencesDialog (Cheese.Camera camera) + private void remove_camera_device (TreeIter iter, Cheese.CameraDevice device_node, + Cheese.CameraDevice active_device_node) + { +- unowned GLib.PtrArray devices = camera.get_camera_devices (); ++ GLib.GenericArray<unowned Cheese.CameraDevice> devices = camera.get_camera_devices (); + + // Check if the camera that we want to remove, is the active one + if (device_node == active_device_node) + { +- if (devices.len > 0) ++ if (devices.length > 0) + set_new_available_camera_device (iter); + else + this.hide (); +diff --git a/src/cheese-window.vala b/src/cheese-window.vala +index ff069808..cc119b68 100644 +--- a/src/cheese-window.vala ++++ b/src/cheese-window.vala +@@ -1216,9 +1216,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow + */ + public void on_switch_camera_clicked () + { +- Cheese.CameraDevice selected; +- Cheese.CameraDevice next = null; +- GLib.PtrArray cameras; ++ unowned Cheese.CameraDevice selected; ++ unowned Cheese.CameraDevice next = null; ++ GLib.GenericArray<unowned Cheese.CameraDevice> cameras; + uint i; + + if (camera == null) +@@ -1235,9 +1235,9 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow + + cameras = camera.get_camera_devices (); + +- for (i = 0; i < cameras.len; i++) ++ for (i = 0; i < cameras.length; i++) + { +- next = (Cheese.CameraDevice )cameras.index (i); ++ next = cameras.get (i); + + if (next == selected) + { +@@ -1245,13 +1245,13 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow + } + } + +- if (i + 1 < cameras.len) ++ if (i + 1 < cameras.length) + { +- next = (Cheese.CameraDevice )cameras.index (i + 1); ++ next = cameras.get (i + 1); + } + else + { +- next = (Cheese.CameraDevice )cameras.index (0); ++ next = cameras.get (0); + } + + if (next == selected) +@@ -1269,8 +1269,8 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow + */ + public void set_switch_camera_button_state () + { +- Cheese.CameraDevice selected; +- GLib.PtrArray cameras; ++ unowned Cheese.CameraDevice selected; ++ GLib.GenericArray<unowned Cheese.CameraDevice> cameras; + + if (camera == null) + { +@@ -1288,7 +1288,7 @@ public class Cheese.MainWindow : Gtk.ApplicationWindow + + cameras = camera.get_camera_devices (); + +- if (cameras.len > 1) ++ if (cameras.length > 1) + { + switch_camera_button.set_visible (true); + return; +diff --git a/src/vapi/cheese-common.vapi b/src/vapi/cheese-common.vapi +index 6517cdfc..e4ae7ad3 100644 +--- a/src/vapi/cheese-common.vapi ++++ b/src/vapi/cheese-common.vapi +@@ -35,7 +35,7 @@ namespace Cheese + [CCode (has_construct_function = false)] + public Camera (Clutter.Actor video_texture, string camera_device_node, int x_resolution, int y_resolution); + public bool get_balance_property_range (string property, double min, double max, double def); +- public unowned GLib.PtrArray get_camera_devices (); ++ public GLib.GenericArray<unowned Cheese.CameraDevice> get_camera_devices (); + public unowned Cheese.VideoFormat get_current_video_format (); + public int get_num_camera_devices (); + public unowned Cheese.CameraDevice get_selected_device (); +-- +GitLab + diff --git a/gnu/packages/patches/classpath-miscompilation.patch b/gnu/packages/patches/classpath-miscompilation.patch new file mode 100644 index 0000000000..c3a569ea4f --- /dev/null +++ b/gnu/packages/patches/classpath-miscompilation.patch @@ -0,0 +1,71 @@ +For some reason, the original code gets miscompiled on x86_64, leading +'Java_java_io_VMFile_isFile' to return true when the return value of +'cpio_checkType' is ENOENT (= 2). + +See <https://issues.guix.gnu.org/issue/36685> +and <https://issues.guix.gnu.org/49990>. + +diff --git a/native/jni/java-io/java_io_VMFile.c b/native/jni/java-io/java_io_VMFile.c +index de1320b..6695e1f 100644 +--- a/native/jni/java-io/java_io_VMFile.c ++++ b/native/jni/java-io/java_io_VMFile.c +@@ -240,6 +240,7 @@ Java_java_io_VMFile_exists (JNIEnv * env, + #ifndef WITHOUT_FILESYSTEM + const char *filename; + int result; ++ jboolean exists; + + /* Don't use the JCL convert function because it throws an exception + on failure */ +@@ -250,9 +251,10 @@ Java_java_io_VMFile_exists (JNIEnv * env, + } + + result = cpio_isFileExists (filename); ++ exists = (result == CPNATIVE_OK ? 1 : 0); + (*env)->ReleaseStringUTFChars (env, name, filename); + +- return result == CPNATIVE_OK ? 1 : 0; ++ return exists; + #else /* not WITHOUT_FILESYSTEM */ + return 0; + #endif /* not WITHOUT_FILESYSTEM */ +@@ -278,6 +280,7 @@ Java_java_io_VMFile_isFile (JNIEnv * env, + const char *filename; + int result; + jint entryType; ++ jboolean isfile; + + /* Don't use the JCL convert function because it throws an exception + on failure */ +@@ -288,9 +291,10 @@ Java_java_io_VMFile_isFile (JNIEnv * env, + } + + result = cpio_checkType (filename, &entryType); ++ isfile = (result == CPNATIVE_OK && entryType == CPFILE_FILE ? 1 : 0); + (*env)->ReleaseStringUTFChars (env, name, filename); + +- return result == CPNATIVE_OK && entryType == CPFILE_FILE ? 1 : 0; ++ return isfile; + #else /* not WITHOUT_FILESYSTEM */ + return 0; + #endif /* not WITHOUT_FILESYSTEM */ +@@ -315,6 +319,7 @@ Java_java_io_VMFile_isDirectory (JNIEnv * env, + const char *filename; + int result; + jint entryType; ++ jboolean isdirectory; + + /* Don't use the JCL convert function because it throws an exception + on failure */ +@@ -325,9 +330,10 @@ Java_java_io_VMFile_isDirectory (JNIEnv * env, + } + + result = cpio_checkType (filename, &entryType); ++ isdirectory = (result == CPNATIVE_OK && entryType == CPFILE_DIRECTORY ? 1 : 0); + (*env)->ReleaseStringUTFChars (env, name, filename); + +- return result == CPNATIVE_OK && entryType == CPFILE_DIRECTORY ? 1 : 0; ++ return isdirectory; + #else /* not WITHOUT_FILESYSTEM */ + return 0; + #endif /* not WITHOUT_FILESYSTEM */ diff --git a/gnu/packages/patches/cpuinfo-system-libraries.patch b/gnu/packages/patches/cpuinfo-system-libraries.patch new file mode 100644 index 0000000000..e25446e9da --- /dev/null +++ b/gnu/packages/patches/cpuinfo-system-libraries.patch @@ -0,0 +1,50 @@ +This patch allows the build process to use the provided dependencies instead +of adding their source as CMake sub-directories (in which case "make install" +would install googletest's and googlebenchmark's libraries and headers). + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 57abc26..761c612 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -93,7 +93,7 @@ SET(CONFU_DEPENDENCIES_BINARY_DIR ${CMAKE_BINARY_DIR}/deps + CACHE PATH "Confu-style dependencies binary directory") + + IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS) +- IF(CPUINFO_SUPPORTED_PLATFORM AND NOT DEFINED GOOGLETEST_SOURCE_DIR) ++ IF(FALSE) + MESSAGE(STATUS "Downloading Google Test to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googletest (define GOOGLETEST_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googletest-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -105,7 +105,7 @@ IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS) + ENDIF() + + IF(CPUINFO_BUILD_BENCHMARKS) +- IF(CPUINFO_SUPPORTED_PLATFORM AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR) ++ IF(FALSE) + MESSAGE(STATUS "Downloading Google Benchmark to ${CONFU_DEPENDENCIES_SOURCE_DIR}/googlebenchmark (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -271,14 +271,6 @@ INSTALL(TARGETS cpuinfo + + # ---[ cpuinfo micro-benchmarks + IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_BENCHMARKS) +- # ---[ Build google benchmark +- IF(NOT TARGET benchmark) +- SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "") +- ADD_SUBDIRECTORY( +- "${GOOGLEBENCHMARK_SOURCE_DIR}" +- "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark") +- ENDIF() +- + IF(CMAKE_SYSTEM_NAME MATCHES "^(Linux|Android)$") + ADD_EXECUTABLE(get-current-bench bench/get-current.cc) + TARGET_LINK_LIBRARIES(get-current-bench cpuinfo benchmark) +@@ -289,7 +281,7 @@ IF(CPUINFO_SUPPORTED_PLATFORM AND CPUINFO_BUILD_BENCHMARKS) + ENDIF() + + IF(CPUINFO_SUPPORTED_PLATFORM) +- IF(CPUINFO_BUILD_MOCK_TESTS OR CPUINFO_BUILD_UNIT_TESTS) ++ IF(FALSE) + # ---[ Build google test + IF(NOT TARGET gtest) + IF(MSVC AND NOT CPUINFO_RUNTIME_TYPE STREQUAL "static") diff --git a/gnu/packages/patches/esmtp-add-lesmtp.patch b/gnu/packages/patches/esmtp-add-lesmtp.patch new file mode 100644 index 0000000000..eb863cd397 --- /dev/null +++ b/gnu/packages/patches/esmtp-add-lesmtp.patch @@ -0,0 +1,37 @@ +From 9b09ff673954c459218e2c664386286ca68aae51 Mon Sep 17 00:00:00 2001 +From: Tobias Geerinckx-Rice <me@tobias.gr> +Date: Sat, 24 Jul 2021 23:55:26 +0200 +Subject: [PATCH] gnu: esmtp: Always assume that -lesmtp will work. + +libesmtp 1.1.0 removed the libesmtp-config helper in favour of pkg-config. +This does not use that (I lack the chops and the patience). Assume that +the build environment has everything set up for us, which is true on Guix. +--- + configure.ac | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 9252ec2..7ccf71a 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -32,15 +32,8 @@ then + AC_CHECK_HEADER(libesmtp.h, ,[AC_MSG_ERROR([libesmtp.h not found in $with_libesmtp])]) + fi + AC_MSG_CHECKING(for libESMTP) +-if libesmtp-config --version > /dev/null 2>&1 +-then +- AC_MSG_RESULT(yes) +- CFLAGS="$CFLAGS `libesmtp-config --cflags`" +- LIBS="$LIBS `libesmtp-config --libs`" +-else +- AC_MSG_RESULT(no) +- AC_MSG_ERROR(libESMTP library not found) +-fi ++AC_MSG_RESULT(assumed) ++LIBS="$LIBS -lesmtp" + + jrf_FUNC_GETOPT + +-- +2.32.0 + diff --git a/gnu/packages/patches/evolution-data-server-printableoptions.patch b/gnu/packages/patches/evolution-data-server-printableoptions.patch new file mode 100644 index 0000000000..e40c5f3875 --- /dev/null +++ b/gnu/packages/patches/evolution-data-server-printableoptions.patch @@ -0,0 +1,57 @@ +Patch adapted from upstream c3915bb99638c1ccf57217097b14b5db69bcac96 +by Milan Crha: + + PrintableOptions.cmake: Correct variable name comparison + + CMake 3.20.1 errors out with: + + CMake Error at cmake/modules/PrintableOptions.cmake:38 (message): + variable name cannot be empty + Call Stack (most recent call first): + CMakeLists.txt:152 (add_printable_variable) + + Change how the parameter value is compared, to fix it. + +--- a/cmake/modules/PrintableOptions.cmake ++++ b/cmake/modules/PrintableOptions.cmake +@@ -19,32 +19,32 @@ + # prints all the build options previously added with the above functions + + macro(add_printable_variable_bare _name) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "variable name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + list(APPEND _printable_options ${_name}) + endmacro() + + macro(add_printable_option _name _description _default_value) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "option name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + option(${_name} ${_description} ${_default_value}) + add_printable_variable_bare(${_name}) + endmacro() + + macro(add_printable_variable _name _description _default_value) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "variable name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + set(${_name} ${_default_value} CACHE STRING ${_description}) + add_printable_variable_bare(${_name}) + endmacro() + + macro(add_printable_variable_path _name _description _default_value) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "path variable name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + set(${_name} ${_default_value} CACHE PATH ${_description}) + add_printable_variable_bare(${_name}) + endmacro() diff --git a/gnu/packages/patches/evolution-printableoptions.patch b/gnu/packages/patches/evolution-printableoptions.patch new file mode 100644 index 0000000000..55bee381f4 --- /dev/null +++ b/gnu/packages/patches/evolution-printableoptions.patch @@ -0,0 +1,57 @@ +Patch adapted from evolution-data-server's +c3915bb99638c1ccf57217097b14b5db69bcac96 upstream patch by Milan Crha: + + PrintableOptions.cmake: Correct variable name comparison + + CMake 3.20.1 errors out with: + + CMake Error at cmake/modules/PrintableOptions.cmake:38 (message): + variable name cannot be empty + Call Stack (most recent call first): + CMakeLists.txt:152 (add_printable_variable) + + Change how the parameter value is compared, to fix it. + +--- a/cmake/modules/PrintableOptions.cmake ++++ b/cmake/modules/PrintableOptions.cmake +@@ -19,32 +19,32 @@ + # prints all the build options previously added with the above functions + + macro(add_printable_variable_bare _name) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "variable name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + list(APPEND _printable_options ${_name}) + endmacro() + + macro(add_printable_option _name _description _default_value) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "option name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + option(${_name} ${_description} ${_default_value}) + add_printable_variable_bare(${_name}) + endmacro() + + macro(add_printable_variable _name _description _default_value) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "variable name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + set(${_name} ${_default_value} CACHE STRING ${_description}) + add_printable_variable_bare(${_name}) + endmacro() + + macro(add_printable_variable_path _name _description _default_value) +- if(_name STREQUAL "") ++ if("${_name}" STREQUAL "") + message(FATAL_ERROR "path variable name cannot be empty") +- endif(_name STREQUAL "") ++ endif("${_name}" STREQUAL "") + set(${_name} ${_default_value} CACHE PATH ${_description}) + add_printable_variable_bare(${_name}) + endmacro() diff --git a/gnu/packages/patches/extempore-unbundle-external-dependencies.patch b/gnu/packages/patches/extempore-unbundle-external-dependencies.patch index e9484f7994..e72f995f0b 100644 --- a/gnu/packages/patches/extempore-unbundle-external-dependencies.patch +++ b/gnu/packages/patches/extempore-unbundle-external-dependencies.patch @@ -1,19 +1,27 @@ -Remove build machinery for bundled dependencies. +From b48ef9af13a154939acc245c32d72358001d00f1 Mon Sep 17 00:00:00 2001 +From: Giacomo Leidi <goodoldpaul@autistici.org> +Date: Sun, 20 Jun 2021 12:53:27 +0200 +Subject: [PATCH] Remove build machinery for bundled dependencies. + +--- + CMakeLists.txt | 192 +------------------------------------------------ + 1 file changed, 1 insertion(+), 191 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 89e6125e..c5e90750 100644 +index 17d13d7c..2a7206ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -36,7 +36,7 @@ endif() - if(PACKAGE) - # this needs to be set before project() is called - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12) -- set(ASSETS ON) # necessary for packaging -+ set(ASSETS OFF) # necessary for packaging - message(STATUS "Building Extempore for binary distribution (assets directory will be downloaded)") - endif() +@@ -1,9 +1,6 @@ + cmake_minimum_required(VERSION 3.1) # we use target_sources() + project(Extempore VERSION 0.8.9) -@@ -134,71 +134,6 @@ else() +-# for backwards compatibility with CMake older than 3.19 +-cmake_policy(SET CMP0114 OLD) +- + option(ASSETS "download multimedia assets (approx 500MB)" OFF) + option(BUILD_TESTS "build test targets (including examples)" ON) + option(PACKAGE "set up install targets for packaging" OFF) +@@ -142,55 +139,6 @@ else() message(FATAL_ERROR "Sorry, Extempore isn't supported on this platform - macOS, Linux & Windows only.") endif() @@ -51,90 +59,224 @@ index 89e6125e..c5e90750 100644 -# portaudio # -############# - --add_library(portaudio STATIC -- src/portaudio/src/common/pa_allocation.c -- src/portaudio/src/common/pa_allocation.h -- src/portaudio/src/common/pa_converters.c -- src/portaudio/src/common/pa_converters.h -- src/portaudio/src/common/pa_cpuload.c -- src/portaudio/src/common/pa_cpuload.h -- src/portaudio/src/common/pa_debugprint.c -- src/portaudio/src/common/pa_debugprint.h -- src/portaudio/src/common/pa_dither.c -- src/portaudio/src/common/pa_dither.h -- src/portaudio/src/common/pa_endianness.h -- src/portaudio/src/common/pa_front.c -- src/portaudio/src/common/pa_hostapi.h -- src/portaudio/src/common/pa_memorybarrier.h -- src/portaudio/src/common/pa_process.c -- src/portaudio/src/common/pa_process.h -- src/portaudio/src/common/pa_ringbuffer.c -- src/portaudio/src/common/pa_ringbuffer.h -- src/portaudio/src/common/pa_stream.c -- src/portaudio/src/common/pa_stream.h -- src/portaudio/src/common/pa_trace.c -- src/portaudio/src/common/pa_trace.h -- src/portaudio/src/common/pa_types.h -- src/portaudio/src/common/pa_util.h -- ) +-include(ExternalProject) - --target_include_directories(portaudio -- PRIVATE src/portaudio/include -- PRIVATE src/portaudio/src/common) +-ExternalProject_Add(portaudio_static +- PREFIX portaudio +- URL https://github.com/PortAudio/portaudio/archive/3f7bee79a65327d2e0965e8a74299723ed6f072d.zip +- URL_MD5 182b76e05f6ef21d9f5716da7489905d +- CMAKE_ARGS +- -DPA_BUILD_STATIC=ON +- -DPA_BUILD_SHARED=OFF +- -DPA_LIBNAME_ADD_SUFFIX=OFF +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/portaudio) - - # platform-specific - - if(APPLE) -@@ -224,25 +159,8 @@ if(APPLE) + ############## + # LLVM 3.8.0 # + ############## +@@ -323,11 +271,6 @@ if(UNIX) + set_source_files_properties(src/Scheme.cpp PROPERTIES COMPILE_FLAGS -Wno-switch) + endif() - elseif(UNIX AND NOT APPLE) - # use ALSA on Linux -- target_sources(portaudio -- PRIVATE src/portaudio/src/hostapi/alsa/pa_linux_alsa.c -- PRIVATE src/portaudio/src/os/unix/pa_unix_hostapis.c -- PRIVATE src/portaudio/src/os/unix/pa_unix_util.c -- ) -- target_include_directories(portaudio -- PRIVATE src/portaudio/src/os/unix) -- target_compile_definitions(portaudio -- PRIVATE -DPA_USE_ALSA) -- target_link_libraries(portaudio -- PRIVATE asound) +-# static extempore build dependencies +- +-add_dependencies(extempore pcre) +-add_dependencies(extempore portaudio_static) +- + if(BUILD_LLVM) + if(WIN32) + add_dependencies(extempore LLVM-install) +@@ -342,12 +285,9 @@ endif() - if(JACK) -- target_sources(portaudio -- PRIVATE src/portaudio/src/hostapi/jack/pa_jack.c) -- target_compile_definitions(portaudio -- PRIVATE -DPA_USE_JACK) -- target_link_libraries(portaudio -- PRIVATE jack) - endif() + target_include_directories(extempore + PRIVATE +- src/pcre +- ${CMAKE_BINARY_DIR}/portaudio/include # installed by ExternalProject + ${EXT_LLVM_DIR}/include) - elseif(WIN32) -@@ -292,8 +210,6 @@ if(ASIO) +-target_link_directories(extempore PRIVATE ${CMAKE_BINARY_DIR}/portaudio/lib) +-target_link_libraries(extempore PRIVATE pcre portaudio${CMAKE_STATIC_LIBRARY_SUFFIX} ${LLVM_LIBRARIES}) ++target_link_libraries(extempore PRIVATE pcre portaudio ${LLVM_LIBRARIES}) + if(UNIX AND NOT APPLE) + target_link_libraries(extempore PRIVATE asound) endif() +@@ -425,7 +365,6 @@ elseif(APPLE) # macOS + PRIVATE "-framework AudioToolbox") - if(PACKAGE) -- target_compile_options(portaudio -- PRIVATE -mtune=generic) - endif() + elseif(UNIX AND NOT APPLE) # Linux +- set_property(TARGET pcre PROPERTY POSITION_INDEPENDENT_CODE ON) + set_property(TARGET extempore PROPERTY POSITION_INDEPENDENT_CODE ON) + # target_link_libraries(extempore PRIVATE --export-dynamic) + target_link_libraries(extempore PRIVATE dl) +@@ -529,7 +468,6 @@ else(WIN32) + DEPENDS ${filename} extempore) + set_target_properties(${targetname} PROPERTIES FOLDER AOT) + if(NOT ${group} STREQUAL "core") +- add_dependencies(${targetname} external_shlibs_${group}) + add_dependencies(aot_external_${group} ${targetname}) + endif() + foreach(dep ${ARGN}) +@@ -568,59 +506,6 @@ add_custom_target(clean_aot + if(UNIX) + if(EXTERNAL_SHLIBS_AUDIO) - ############## -@@ -411,8 +327,6 @@ endif() +- # first, download & build the shared libraries themselves (these are all external to Extempore) +- +- ExternalProject_Add(portmidi +- PREFIX portmidi +- URL https://github.com/extemporelang/portmidi/archive/8602f548f71daf5ef638b2f7d224753400cb2158.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(portmidi PROPERTIES FOLDER EXTERNAL_SHLIBS) +- +- ExternalProject_Add(rtmidi +- PREFIX rtmidi +- URL https://github.com/thestk/rtmidi/archive/84d130bf22d878ff1b0e224346e2e0f9e3ba8099.zip +- URL_MD5 d932b9fef01b859a1b8b86a3c8dc6621 +- CMAKE_ARGS +- -DRTMIDI_BUILD_TESTING=OFF +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(rtmidi PROPERTIES FOLDER EXTERNAL_SHLIBS) +- +- ExternalProject_Add(kiss_fft +- PREFIX kiss_fft +- URL https://github.com/extemporelang/kiss_fft/archive/1.3.0.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(kiss_fft PROPERTIES FOLDER EXTERNAL_SHLIBS) +- +- # build with as few deps as we can get away with +- +- ExternalProject_Add(sndfile +- PREFIX libsndfile +- URL https://github.com/erikd/libsndfile/archive/ae64caf9b5946d365971c550875000342e763de6.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR} +- -DBUILD_SHARED_LIBS=ON +- -DBUILD_PROGRAMS=OFF +- -DBUILD_EXAMPLES=OFF +- -DENABLE_EXTERNAL_LIBS=OFF +- -DBUILD_TESTING=OFF +- -DENABLE_CPACK=OFF +- -DENABLE_PACKAGE_CONFIG=OFF) +- set_target_properties(sndfile PROPERTIES FOLDER EXTERNAL_SHLIBS) +- + add_custom_target(aot_external_audio ALL) + set_target_properties(aot_external_audio PROPERTIES FOLDER AOT) + aotcompile_lib(libs/external/fft.xtm audio base math) +@@ -629,76 +514,13 @@ if(UNIX) + aotcompile_lib(libs/external/instruments_ext.xtm audio base sndfile instruments) + aotcompile_lib(libs/external/portmidi.xtm audio base) + +- add_custom_target(external_shlibs_audio +- COMMENT "moving shared libs into ${EXT_PLATFORM_SHLIBS_DIR}" +- DEPENDS LLVM sndfile kiss_fft portmidi rtmidi +- COMMAND ${CMAKE_COMMAND} -E make_directory ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libkiss_fft${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libportmidi${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy librtmidi${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libsndfile${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- WORKING_DIRECTORY ${EXT_DEPS_INSTALL_DIR}/lib) +- set_target_properties(external_shlibs_audio PROPERTIES FOLDER EXTERNAL_SHLIBS) +- + add_dependencies(aot_external_audio extempore) +- add_dependencies(aot_external_audio external_shlibs_audio) - # dependencies + endif(EXTERNAL_SHLIBS_AUDIO) --add_dependencies(extempore pcre portaudio) + if(EXTERNAL_SHLIBS_GRAPHICS) + +- ExternalProject_Add(nanovg +- PREFIX nanovg +- URL https://github.com/extemporelang/nanovg/archive/3c60175fcc2e5fe305b04355cdce35d499c80310.tar.gz +- CMAKE_ARGS +- -DEXTEMPORE_LIB_PATH=${CMAKE_SOURCE_DIR}/libs/platform-shlibs/extempore.lib +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(nanovg PROPERTIES FOLDER EXTERNAL_SHLIBS) - - if(BUILD_LLVM) - if(WIN32) - add_dependencies(extempore LLVM-install) -@@ -553,7 +467,7 @@ else() - install(TARGETS extempore - RUNTIME - DESTINATION ".") -- install(DIRECTORY assets runtime libs examples tests -+ install(DIRECTORY runtime libs examples - DESTINATION "." - PATTERN ".DS_Store" EXCLUDE) - endif() +- add_dependencies(nanovg extempore) +- +- ExternalProject_Add(stb_image +- PREFIX stb_image +- URL https://github.com/extemporelang/stb/archive/152a250a702bf28951bb0220d63bc0c99830c498.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(nanovg PROPERTIES FOLDER EXTERNAL_SHLIBS) +- +- ExternalProject_Add(glfw3 +- PREFIX glfw3 +- URL https://github.com/glfw/glfw/releases/download/3.2.1/glfw-3.2.1.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DBUILD_SHARED_LIBS=ON +- -DGLFW_BUILD_EXAMPLES=OFF +- -DGLFW_BUILD_TESTS=OFF +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(glfw3 PROPERTIES FOLDER EXTERNAL_SHLIBS) +- +- ExternalProject_Add(assimp +- PREFIX assimp +- URL https://github.com/assimp/assimp/archive/v3.2.zip +- CMAKE_ARGS +- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} +- -DCMAKE_C_FLAGS=${EXT_DEPS_C_FLAGS} +- -DCMAKE_CXX_FLAGS=${EXT_DEPS_CXX_FLAGS} +- -DCMAKE_DEBUG_POSTFIX= +- -DASSIMP_BUILD_ASSIMP_TOOLS=OFF +- -DASSIMP_BUILD_SAMPLES=OFF +- -DASSIMP_BUILD_TESTS=OFF +- -DCMAKE_INSTALL_PREFIX=${EXT_DEPS_INSTALL_DIR}) +- set_target_properties(assimp PROPERTIES FOLDER EXTERNAL_SHLIBS) +- + add_custom_target(aot_external_graphics ALL) +- set_target_properties(assimp PROPERTIES FOLDER AOT) + + aotcompile_lib(libs/external/stb_image.xtm graphics base) + aotcompile_lib(libs/external/glfw3.xtm graphics base) +@@ -715,20 +537,8 @@ if(UNIX) + aotcompile_lib(libs/external/assimp.xtm graphics base stb_image graphics-pipeline) + aotcompile_lib(libs/external/gl/glcompat-${GL_BIND_METHOD}.xtm graphics base) + +- add_custom_target(external_shlibs_graphics +- COMMENT "moving shared libs into ${EXT_PLATFORM_SHLIBS_DIR}" +- DEPENDS LLVM assimp glfw3 stb_image nanovg +- COMMAND ${CMAKE_COMMAND} -E make_directory ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libassimp${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libglfw${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libnanovg${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- COMMAND ${CMAKE_COMMAND} -E copy libstb_image${CMAKE_SHARED_LIBRARY_SUFFIX} ${EXT_PLATFORM_SHLIBS_DIR} +- WORKING_DIRECTORY ${EXT_DEPS_INSTALL_DIR}/lib) +- set_target_properties(external_shlibs_graphics PROPERTIES FOLDER EXTERNAL_SHLIBS) +- + # set up these libs for AOT compilation + add_dependencies(aot_external_graphics extempore) +- add_dependencies(aot_external_graphics external_shlibs_graphics) + + endif(EXTERNAL_SHLIBS_GRAPHICS) + endif(UNIX) +-- +2.32.0 + diff --git a/gnu/packages/patches/fp16-system-libraries.patch b/gnu/packages/patches/fp16-system-libraries.patch new file mode 100644 index 0000000000..7f52936c14 --- /dev/null +++ b/gnu/packages/patches/fp16-system-libraries.patch @@ -0,0 +1,105 @@ +This patch allows the build process to use the provided dependencies instead +of adding their source as CMake sub-directories (in which case "make install" +would install googletest's and googlebenchmark's libraries and headers). + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5e7d127..4b269b9 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -28,7 +28,7 @@ MACRO(FP16_TARGET_ENABLE_CXX11 target) + ENDMACRO() + + # ---[ Download deps +-IF(NOT DEFINED PSIMD_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading PSimd to ${CMAKE_BINARY_DIR}/psimd-source (define PSIMD_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadPSimd.cmake "${CMAKE_BINARY_DIR}/psimd-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -38,7 +38,7 @@ IF(NOT DEFINED PSIMD_SOURCE_DIR) + SET(PSIMD_SOURCE_DIR "${CMAKE_BINARY_DIR}/psimd-source" CACHE STRING "PSimd source directory") + ENDIF() + +-IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -48,7 +48,7 @@ IF(FP16_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) + SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory") + ENDIF() + +-IF(FP16_BUILD_BENCHMARKS AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading Google Benchmark to ${CMAKE_BINARY_DIR}/googlebenchmark-source (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CMAKE_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -84,22 +84,7 @@ INSTALL(FILES + include/fp16/avx2.py + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/fp16) + +-# ---[ Configure psimd +-IF(NOT TARGET psimd) +- ADD_SUBDIRECTORY( +- "${PSIMD_SOURCE_DIR}" +- "${CMAKE_BINARY_DIR}/psimd") +-ENDIF() +- + IF(FP16_BUILD_TESTS) +- # ---[ Build google test +- IF(NOT TARGET gtest) +- SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +- ADD_SUBDIRECTORY( +- "${GOOGLETEST_SOURCE_DIR}" +- "${CMAKE_BINARY_DIR}/googletest") +- ENDIF() +- + # ---[ Build FP16 unit tests + ADD_EXECUTABLE(ieee-to-fp32-bits-test test/ieee-to-fp32-bits.cc test/tables.cc) + TARGET_INCLUDE_DIRECTORIES(ieee-to-fp32-bits-test PRIVATE test) +@@ -137,40 +122,32 @@ IF(FP16_BUILD_TESTS) + ENDIF() + + IF(FP16_BUILD_BENCHMARKS) +- # ---[ Build google benchmark +- IF(NOT TARGET benchmark) +- SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "") +- ADD_SUBDIRECTORY( +- "${GOOGLEBENCHMARK_SOURCE_DIR}" +- "${CMAKE_BINARY_DIR}/googlebenchmark") +- ENDIF() +- + # ---[ Build FP16 benchmarks + ADD_EXECUTABLE(ieee-element-bench bench/ieee-element.cc) + TARGET_COMPILE_DEFINITIONS(ieee-element-bench PRIVATE FP16_COMPARATIVE_BENCHMARKS=1) + TARGET_INCLUDE_DIRECTORIES(ieee-element-bench PRIVATE ${PROJECT_SOURCE_DIR}) +- TARGET_LINK_LIBRARIES(ieee-element-bench fp16 psimd benchmark) ++ TARGET_LINK_LIBRARIES(ieee-element-bench fp16 benchmark) + + ADD_EXECUTABLE(alt-element-bench bench/alt-element.cc) +- TARGET_LINK_LIBRARIES(alt-element-bench fp16 psimd benchmark) ++ TARGET_LINK_LIBRARIES(alt-element-bench fp16 benchmark) + + ADD_EXECUTABLE(from-ieee-array-bench bench/from-ieee-array.cc) + FP16_TARGET_ENABLE_CXX11(from-ieee-array-bench) + TARGET_COMPILE_DEFINITIONS(from-ieee-array-bench PRIVATE FP16_COMPARATIVE_BENCHMARKS=1) + TARGET_INCLUDE_DIRECTORIES(from-ieee-array-bench PRIVATE ${PROJECT_SOURCE_DIR}) +- TARGET_LINK_LIBRARIES(from-ieee-array-bench fp16 psimd benchmark) ++ TARGET_LINK_LIBRARIES(from-ieee-array-bench fp16 benchmark) + + ADD_EXECUTABLE(from-alt-array-bench bench/from-alt-array.cc) + FP16_TARGET_ENABLE_CXX11(from-alt-array-bench) +- TARGET_LINK_LIBRARIES(from-alt-array-bench fp16 psimd benchmark) ++ TARGET_LINK_LIBRARIES(from-alt-array-bench fp16 benchmark) + + ADD_EXECUTABLE(to-ieee-array-bench bench/to-ieee-array.cc) + FP16_TARGET_ENABLE_CXX11(to-ieee-array-bench) + TARGET_COMPILE_DEFINITIONS(to-ieee-array-bench PRIVATE FP16_COMPARATIVE_BENCHMARKS=1) + TARGET_INCLUDE_DIRECTORIES(to-ieee-array-bench PRIVATE ${PROJECT_SOURCE_DIR}) +- TARGET_LINK_LIBRARIES(to-ieee-array-bench fp16 psimd benchmark) ++ TARGET_LINK_LIBRARIES(to-ieee-array-bench fp16 benchmark) + + ADD_EXECUTABLE(to-alt-array-bench bench/to-alt-array.cc) + FP16_TARGET_ENABLE_CXX11(to-alt-array-bench) +- TARGET_LINK_LIBRARIES(to-alt-array-bench fp16 psimd benchmark) ++ TARGET_LINK_LIBRARIES(to-alt-array-bench fp16 benchmark) + ENDIF() diff --git a/gnu/packages/patches/fxdiv-system-libraries.patch b/gnu/packages/patches/fxdiv-system-libraries.patch new file mode 100644 index 0000000000..eecfaf7efc --- /dev/null +++ b/gnu/packages/patches/fxdiv-system-libraries.patch @@ -0,0 +1,44 @@ +This patch allows the build process to use the provided dependencies instead +of adding their source as CMake sub-directories (in which case "make install" +would install googletest's and googlebenchmark's libraries and headers). + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bcae6b5..ff6710d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -21,7 +21,7 @@ IF(FXDIV_BUILD_TESTS) + ENDIF() + + # ---[ Download deps +-IF(FXDIV_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -31,7 +31,7 @@ IF(FXDIV_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) + SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory") + ENDIF() + +-IF(FXDIV_BUILD_BENCHMARKS AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading Google Benchmark to ${CMAKE_BINARY_DIR}/googlebenchmark-source (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CMAKE_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -54,7 +54,7 @@ INSTALL(FILES include/fxdiv.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) + + IF(FXDIV_BUILD_TESTS) + # ---[ Build google test +- IF(NOT TARGET gtest) ++ IF(FALSE) + SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE) + ADD_SUBDIRECTORY( + "${GOOGLETEST_SOURCE_DIR}" +@@ -78,7 +78,7 @@ ENDIF() + + IF(FXDIV_BUILD_BENCHMARKS) + # ---[ Build google benchmark +- IF(NOT TARGET benchmark) ++ IF(FALSE) + SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE) + ADD_SUBDIRECTORY( + "${GOOGLEBENCHMARK_SOURCE_DIR}" diff --git a/gnu/packages/patches/glade-gls-set-script-name.patch b/gnu/packages/patches/glade-gls-set-script-name.patch new file mode 100644 index 0000000000..61fbdf3914 --- /dev/null +++ b/gnu/packages/patches/glade-gls-set-script-name.patch @@ -0,0 +1,32 @@ +Taken from upstream: +https://gitlab.gnome.org/GNOME/glade/-/commit/eb0429d318c017b57b9e59de1d5b3f142a0f455e. + +From 6cf1d3e11d4f8035f33c3003d33f6465896025a5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> +Date: Tue, 18 May 2021 19:54:50 +0200 +Subject: [PATCH] plugins: Define an invalid but non-null file path as script + path + +This is following the gjs applications behaviors, setting a valid string +as the script path that will be shown in JS stack traces, even though +won't load a real file through g_file_new_for_commandline_arg() +--- + plugins/gjs/glade-gjs.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plugins/gjs/glade-gjs.c b/plugins/gjs/glade-gjs.c +index e1779665..aeae9906 100644 +--- a/plugins/gjs/glade-gjs.c ++++ b/plugins/gjs/glade-gjs.c +@@ -93,7 +93,7 @@ glade_gjs_init (const gchar *name) + + /* Importing the module will create all the GTypes so that glade can use them at runtime */ + retval = gjs_context_eval (gjs_context_get_current (), +- import_sentence, -1, NULL, ++ import_sentence, -1, "<glade-gjs>", + &exit_status, + &error); + if (!retval && error) +-- +GitLab + diff --git a/gnu/packages/patches/glade-test-widget-null-icon.patch b/gnu/packages/patches/glade-test-widget-null-icon.patch new file mode 100644 index 0000000000..75668a2f68 --- /dev/null +++ b/gnu/packages/patches/glade-test-widget-null-icon.patch @@ -0,0 +1,30 @@ +Taken from upstream: +https://gitlab.gnome.org/GNOME/glade/-/commit/6cf1d3e11d4f8035f33c3003d33f6465896025a5. + +From eb0429d318c017b57b9e59de1d5b3f142a0f455e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= <mail@3v1n0.net> +Date: Wed, 19 May 2021 00:10:29 +0200 +Subject: [PATCH] tests: Do not create a file icon when no filename is provided + +This would fail otherwise as GFileIcon requires a GFile parameter on +construction. +--- + tests/create-widgets.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/tests/create-widgets.c b/tests/create-widgets.c +index 2094059d..db8311f8 100644 +--- a/tests/create-widgets.c ++++ b/tests/create-widgets.c +@@ -106,6 +106,8 @@ main (int argc, + if (G_TYPE_IS_INSTANTIATABLE (adaptor_type) && !G_TYPE_IS_ABSTRACT (adaptor_type) && + /* FIXME: can not create a themed icon without a name */ + !g_type_is_a (adaptor_type, G_TYPE_THEMED_ICON) && ++ /* FIXME: can not create a file icon without a file name */ ++ !g_type_is_a (adaptor_type, G_TYPE_FILE_ICON) && + /* FIXME: GtkPopoverMenu gives a few warnings */ + !g_type_is_a (adaptor_type, GTK_TYPE_POPOVER_MENU) && + /* FIXME: GtkFileChooserNative is hard to test here */ +-- +GitLab + diff --git a/gnu/packages/patches/glib-networking-gnutls-binding.patch b/gnu/packages/patches/glib-networking-gnutls-binding.patch new file mode 100644 index 0000000000..91d0743056 --- /dev/null +++ b/gnu/packages/patches/glib-networking-gnutls-binding.patch @@ -0,0 +1,21 @@ +Skip failing test in 'test_connection_binding_match_tls_unique' +in 'tls/tests/connection.c' when building glib-networking against +GnuTLS 3.7.2. The failure stems from the fact that +'gnutls_session_channel_binding' returns GNUTLS_E_INVALID_REQUEST +is known upstream: + + https://gitlab.gnome.org/GNOME/glib-networking/-/issues/164 + +diff --git a/tls/tests/connection.c b/tls/tests/connection.c +index 036df04..347c7a4 100644 +--- a/tls/tests/connection.c ++++ b/tls/tests/connection.c +@@ -3037,8 +3037,6 @@ main (int argc, + setup_connection, test_connection_missing_server_identity, teardown_connection); + g_test_add ("/tls/" BACKEND "/connection/peer-certificate-notify", TestConnection, NULL, + setup_connection, test_peer_certificate_notify, teardown_connection); +- g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-unique", TestConnection, NULL, +- setup_connection, test_connection_binding_match_tls_unique, teardown_connection); + g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-server-end-point", TestConnection, NULL, + setup_connection, test_connection_binding_match_tls_server_end_point, teardown_connection); + g_test_add ("/tls/" BACKEND "/connection/binding/match-tls-exporter", TestConnection, NULL, diff --git a/gnu/packages/patches/glibc-bootstrap-system.patch b/gnu/packages/patches/glibc-bootstrap-system.patch index fcaf17132d..9c0fac3ff5 100644 --- a/gnu/packages/patches/glibc-bootstrap-system.patch +++ b/gnu/packages/patches/glibc-bootstrap-system.patch @@ -14,7 +14,7 @@ index ebc381ed7c..e0d3ed1bc3 100644 } - if (__posix_spawn (&((_IO_proc_file *) fp)->pid, _PATH_BSHELL, fa, 0, -+ if (posix_spawnp (&((_IO_proc_file *) fp)->pid, "sh", fa, 0, ++ if (__posix_spawnp (&((_IO_proc_file *) fp)->pid, "sh", fa, 0, (char *const[]){ (char*) "sh", (char*) "-c", (char *) command, NULL }, __environ) != 0) return false; @@ -36,7 +36,31 @@ index a03f478fc7..94da6facf3 100644 POSIX_SPAWN_SETSIGDEF | POSIX_SPAWN_SETSIGMASK); - ret = __posix_spawn (&pid, SHELL_PATH, 0, &spawn_attr, -+ ret = posix_spawnp (&pid, SHELL_NAME, 0, &spawn_attr, ++ ret = __posix_spawnp (&pid, SHELL_NAME, 0, &spawn_attr, (char *const[]){ (char *) SHELL_NAME, (char *) "-c", (char *) line, NULL }, + +--- a/include/spawn.h ++++ b/include/spawn.h +@@ -5,6 +5,9 @@ + __typeof (posix_spawn) __posix_spawn; + libc_hidden_proto (__posix_spawn) + ++__typeof (posix_spawnp) __posix_spawnp; ++libc_hidden_proto (__posix_spawnp) ++ + __typeof (posix_spawn_file_actions_addclose) + __posix_spawn_file_actions_addclose attribute_hidden; + +--- a/posix/spawnp.c ++++ b/posix/spawnp.c +@@ -31,6 +31,7 @@ __posix_spawnp (pid_t *pid, const char *file, + SPAWN_XFLAGS_USE_PATH); + } + versioned_symbol (libc, __posix_spawnp, posix_spawnp, GLIBC_2_15); ++libc_hidden_def (__posix_spawnp) + + + #if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_15) + diff --git a/gnu/packages/patches/glibc-skip-c++.patch b/gnu/packages/patches/glibc-skip-c++.patch new file mode 100644 index 0000000000..b2cbe76d3b --- /dev/null +++ b/gnu/packages/patches/glibc-skip-c++.patch @@ -0,0 +1,31 @@ +When building, say, glibc 2.31 using a compiler that's itself linked +against 2.33, linking fails with: + + gcc -Wl,-rpath-link=/tmp/guix-build-glibc-2.31.drv-0/build:/tmp/guix-build-glibc-2.31.drv-0/build/math:/tmp/guix-build-glibc-2.31.drv-0/build/elf:/tmp/guix-build-glibc-2.31.drv-0/build/dlfcn:/tmp/guix-build-glibc-2.31.drv-0/build/nss:/tmp/guix-build-glibc-2.31.drv-0/build/nis:/tmp/guix-build-glibc-2.31.drv-0/build/rt:/tmp/guix-build-glibc-2.31.drv-0/build/resolv:/tmp/guix-build-glibc-2.31.drv-0/build/mathvec:/tmp/guix-build-glibc-2.31.drv-0/build/support:/tmp/guix-build-glibc-2.31.drv-0/build/crypt:/tmp/guix-build-glibc-2.31.drv-0/build/nptl -nostdlib -nostartfiles -o /tmp/guix-build-glibc-2.31.drv-0/build/support/links-dso-program -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /tmp/guix-build-glibc-2.31.drv-0/build/csu/crt1.o /tmp/guix-build-glibc-2.31.drv-0/build/csu/crti.o `gcc --print-file-name=crtbegin.o` /tmp/guix-build-glibc-2.31.drv-0/build/support/links-dso-program.o -lstdc++ -lgcc -lgcc_s -Wl,-dynamic-linker=/gnu/store/...-glibc-2.31/lib/ld-linux-x86-64.so.2 /tmp/guix-build-glibc-2.31.drv-0/build/libc.so.6 /tmp/guix-build-glibc-2.31.drv-0/build/libc_nonshared.a -Wl,--as-needed /tmp/guix-build-glibc-2.31.drv-0/build/elf/ld.so -Wl,--no-as-needed -lgcc `gcc --print-file-name=crtend.o` /tmp/guix-build-glibc-2.31.drv-0/build/csu/crtn.o + ld: /gnu/store/...-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/../../../libstdc++.so: undefined reference to `fstat64@GLIBC_2.33' + ld: /gnu/store/...-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/../../../libstdc++.so: undefined reference to `lstat@GLIBC_2.33' + ld: /gnu/store/...-gcc-10.3.0-lib/lib/gcc/x86_64-unknown-linux-gnu/10.3.0/../../../libstdc++.so: undefined reference to `stat@GLIBC_2.33' + collect2: error: ld returned 1 exit status + +This is unsurprising given that libstdc++.so here is linked against 2.33, +whereas libc.so.6 here is 2.31. + +This patch works around it by not building the offending program. + +diff --git a/support/Makefile b/support/Makefile +index bb9889ef..6614943b 100644 +--- a/support/Makefile ++++ b/support/Makefile +@@ -210,12 +210,7 @@ CFLAGS-support_paths.c = \ + # -fexcess-precision=standard. + CFLAGS-timespec.c += -fexcess-precision=standard + +-ifeq (,$(CXX)) + LINKS_DSO_PROGRAM = links-dso-program-c +-else +-LINKS_DSO_PROGRAM = links-dso-program +-LDLIBS-links-dso-program = -lstdc++ -lgcc -lgcc_s $(libunwind) +-endif + + ifeq (yes,$(have-selinux)) + LDLIBS-$(LINKS_DSO_PROGRAM) += -lselinux diff --git a/gnu/packages/patches/glibc-static-nss.patch b/gnu/packages/patches/glibc-static-nss.patch new file mode 100644 index 0000000000..1a9db616cc --- /dev/null +++ b/gnu/packages/patches/glibc-static-nss.patch @@ -0,0 +1,1244 @@ +This patch reinstates support for static NSS, which glibc 2.33 broke: + + https://sourceware.org/bugzilla/show_bug.cgi?id=27959 + +Patch obtained by running: + + git diff f0c28504a9877be5da3ed1215f2da2d5914bbb0b..f9c8b11ed7726b858cd7b7cea0d3d7c5233d78cf + git diff 5e1ce61e3e71fb7ffe53f58fe96e67cb15f94854{^,} + git diff 135425a1dd50cbe2b9db0628d6c2b36c7889f30b{^,} + +It corresponds to these changes: + + f9c8b11ed7 * nss: Access nss_files through direct references + 6212bb67f4 * nss_files: Move into libc + 36861a968a * nss_files: Add generic code for set*ent, end*ent and file open + f0c28504a9 * nss_files: Allocate nscd file registration data on the heap + 5e1ce61e3e * nss: Fix NSS_DECLARE_MODULE_FUNCTIONS handling of _nss_*_endnetgrent + 135425a1dd * nss: Fix build error with --disable-nscd + +... plus a manual fix in 'files-network.c' to address this compilation error: + + nss_files/files-network.c: In function ‘_nss_files_parse_netent’: + nss_files/files-network.c:72:20: error: implicit declaration of function ‘__inet_network’; did you mean ‘inet_network’? [-Werror=implicit-function-declaration] + 72 | result->n_net = __inet_network (addr); + | ^~~~~~~~~~~~~~ + nss_files/files-parse.c:106:3: note: in definition of macro ‘LINE_PARSER’ + 106 | BODY; \ + | ^~~~ + +diff --git a/include/libc-symbols.h b/include/libc-symbols.h +index 127ea656c2..d41ecf4384 100644 +--- a/include/libc-symbols.h ++++ b/include/libc-symbols.h +@@ -798,29 +798,6 @@ for linking") + # define libdl_hidden_data_ver(local, name) + #endif + +-#if IS_IN (libnss_files) +-# define libnss_files_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +-# define libnss_files_hidden_tls_proto(name, attrs...) \ +- hidden_tls_proto (name, ##attrs) +-# define libnss_files_hidden_def(name) hidden_def (name) +-# define libnss_files_hidden_weak(name) hidden_weak (name) +-# define libnss_files_hidden_ver(local, name) hidden_ver (local, name) +-# define libnss_files_hidden_data_def(name) hidden_data_def (name) +-# define libnss_files_hidden_tls_def(name) hidden_tls_def (name) +-# define libnss_files_hidden_data_weak(name) hidden_data_weak (name) +-# define libnss_files_hidden_data_ver(local, name) hidden_data_ver(local, name) +-#else +-# define libnss_files_hidden_proto(name, attrs...) +-# define libnss_files_hidden_tls_proto(name, attrs...) +-# define libnss_files_hidden_def(name) +-# define libnss_files_hidden_weak(name) +-# define libnss_files_hidden_ver(local, name) +-# define libnss_files_hidden_data_def(name) +-# define libnss_files_hidden_tls_def(name) +-# define libnss_files_hidden_data_weak(name) +-# define libnss_files_hidden_data_ver(local, name) +-#endif +- + #if IS_IN (libnsl) + # define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) + # define libnsl_hidden_tls_proto(name, attrs...) \ +diff --git a/include/netdb.h b/include/netdb.h +index 82e102ff76..4dcdbb8cd4 100644 +--- a/include/netdb.h ++++ b/include/netdb.h +@@ -217,7 +217,7 @@ extern enum nss_status _nss_netgroup_parseline (char **cursor, + struct __netgrent *result, + char *buffer, size_t buflen, + int *errnop); +-libnss_files_hidden_proto (_nss_netgroup_parseline) ++libc_hidden_proto (_nss_netgroup_parseline) + + #define DECLARE_NSS_PROTOTYPES(service) \ + extern enum nss_status _nss_ ## service ## _setprotoent (int); \ +diff --git a/include/nss_files.h b/include/nss_files.h +index 6a0dcdb85b..6190cac6be 100644 +--- a/include/nss_files.h ++++ b/include/nss_files.h +@@ -19,7 +19,11 @@ + #ifndef _NSS_FILES_H + #define _NSS_FILES_H + ++#include <nss.h> + #include <stdio.h> ++#if IS_IN (libc) ++#include <libc-lock.h> ++#endif + + /* Open PATH for reading, as a data source for nss_files. */ + FILE *__nss_files_fopen (const char *path); +@@ -47,6 +51,63 @@ int __nss_readline_seek (FILE *fp, off64_t offset) attribute_hidden; + int __nss_parse_line_result (FILE *fp, off64_t offset, int parse_line_result); + libc_hidden_proto (__nss_parse_line_result) + ++/* Per-file data. Used by the *ent functions that need to preserve ++ state across calls. */ ++struct nss_files_per_file_data ++{ ++ FILE *stream; ++#if IS_IN (libc) ++ /* The size of locks changes between libc and nss_files, so this ++ member must be last and is only available in libc. */ ++ __libc_lock_define (, lock); ++#endif ++}; ++ ++/* File index for __nss_files_data_get. */ ++enum nss_files_file ++ { ++ nss_file_aliasent, ++ nss_file_etherent, ++ nss_file_grent, ++ nss_file_hostent, ++ nss_file_netent, ++ nss_file_protoent, ++ nss_file_pwent, ++ nss_file_rpcent, ++ nss_file_servent, ++ nss_file_sgent, ++ nss_file_spent, ++ ++ nss_file_count ++ }; ++ ++/* Obtains a pointer to the per-file data for FILE, which is written ++ to *PDATA, and tries to open the file at PATH for it. On success, ++ returns NSS_STATUS_SUCCESS, and the caller must later call ++ __nss_files_data_put. On failure, NSS_STATUS_TRYAGAIN is returned, ++ and *ERRNOP and *HERRNOP are updated if these pointers are not ++ null. */ ++enum nss_status __nss_files_data_open (struct nss_files_per_file_data **pdata, ++ enum nss_files_file file, ++ const char *path, ++ int *errnop, int *herrnop); ++libc_hidden_proto (__nss_files_data_open) ++ ++/* Unlock the per-file data, previously obtained by ++ __nss_files_data_open. */ ++void __nss_files_data_put (struct nss_files_per_file_data *data); ++libc_hidden_proto (__nss_files_data_put) ++ ++/* Performs the set*ent operation for FILE. PATH is the file to ++ open. */ ++enum nss_status __nss_files_data_setent (enum nss_files_file file, ++ const char *path); ++libc_hidden_proto (__nss_files_data_setent) ++ ++/* Performs the end*ent operation for FILE. */ ++enum nss_status __nss_files_data_endent (enum nss_files_file file); ++libc_hidden_proto (__nss_files_data_endent) ++ + struct parser_data; + + /* Instances of the parse_line function from +@@ -64,16 +125,25 @@ extern nss_files_parse_line _nss_files_parse_servent; + extern nss_files_parse_line _nss_files_parse_sgent; + extern nss_files_parse_line _nss_files_parse_spent; + +-libnss_files_hidden_proto (_nss_files_parse_etherent) ++libc_hidden_proto (_nss_files_parse_etherent) + libc_hidden_proto (_nss_files_parse_grent) +-libnss_files_hidden_proto (_nss_files_parse_netent) +-libnss_files_hidden_proto (_nss_files_parse_protoent) ++libc_hidden_proto (_nss_files_parse_netent) ++libc_hidden_proto (_nss_files_parse_protoent) + libc_hidden_proto (_nss_files_parse_pwent) +-libnss_files_hidden_proto (_nss_files_parse_rpcent) +-libnss_files_hidden_proto (_nss_files_parse_servent) ++libc_hidden_proto (_nss_files_parse_rpcent) ++libc_hidden_proto (_nss_files_parse_servent) + libc_hidden_proto (_nss_files_parse_sgent) + libc_hidden_proto (_nss_files_parse_spent) + ++NSS_DECLARE_MODULE_FUNCTIONS (files) ++#undef DEFINE_NSS_FUNCTION ++#define DEFINE_NSS_FUNCTION(x) libc_hidden_proto (_nss_files_##x) ++#include <nss/function.def> ++#undef DEFINE_NSS_FUNCTION ++ ++void _nss_files_init (void (*cb) (size_t, struct traced_file *)); ++libc_hidden_proto (_nss_files_init) ++ + /* Generic implementation of fget*ent_r. Reads lines from FP until + EOF or a successful parse into *RESULT using PARSER. Returns 0 on + success, ENOENT on EOF, ERANGE on too-small buffer. */ +diff --git a/nss/Makefile b/nss/Makefile +index 9682a31e20..63a386af18 100644 +--- a/nss/Makefile ++++ b/nss/Makefile +@@ -31,7 +31,8 @@ routines = nsswitch getnssent getnssent_r digits_dots \ + compat-lookup nss_hash nss_files_fopen \ + nss_readline nss_parse_line_result \ + nss_fgetent_r nss_module nss_action \ +- nss_action_parse nss_database ++ nss_action_parse nss_database nss_files_data \ ++ nss_files_functions + + # These are the databases that go through nss dispatch. + # Caution: if you add a database here, you must add its real name +@@ -98,9 +99,11 @@ subdir-dirs = $(services:%=nss_%) + vpath %.c $(subdir-dirs) ../locale/programs ../intl + + +-libnss_files-routines := $(addprefix files-, \ +- $(filter-out key, $(databases))) \ +- files-initgroups files-init ++routines += \ ++ $(addprefix files-, $(filter-out key, $(databases))) \ ++ files-init \ ++ files-initgroups \ ++ # routines + + libnss_db-dbs := $(addprefix db-,\ + $(filter-out hosts network key alias,\ +@@ -116,12 +119,9 @@ libnss_compat-routines := $(addprefix compat-,grp pwd spwd initgroups) \ + install-others += $(inst_vardbdir)/Makefile + + # Build static module into libc if requested +-libnss_files-inhibit-o = $(filter-out .os,$(object-suffixes)) + libnss_db-inhibit-o = $(filter-out .os,$(object-suffixes)) + libnss_compat-inhibit-o = $(filter-out .os,$(object-suffixes)) + ifeq ($(build-static-nss),yes) +-routines += $(libnss_files-routines) +-static-only-routines += $(libnss_files-routines) + tests-static += tst-nss-static + endif + extra-test-objs += nss_test1.os nss_test2.os +@@ -138,8 +138,6 @@ libnss-libc = $(common-objpfx)linkobj/libc.so + # for new links: + $(services:%=$(objpfx)libnss_%.so): libc-for-link = $(libnss-libc) + +-$(objpfx)libnss_db.so: $(objpfx)libnss_files.so +- + $(libnss_db-dbs:%=$(objpfx)%.c): $(objpfx)db-%.c: nss_files/files-%.c + @rm -f $@.new + (echo '#define EXTERN_PARSER';\ +diff --git a/nss/Versions b/nss/Versions +index fdddea104c..e551524aa9 100644 +--- a/nss/Versions ++++ b/nss/Versions +@@ -19,11 +19,12 @@ libc { + __nss_services_lookup2; __nss_next2; __nss_lookup; + __nss_hash; __nss_database_get; + __nss_files_fopen; __nss_readline; __nss_parse_line_result; +- } +-} ++ __nss_files_data_endent; ++ __nss_files_data_open; ++ __nss_files_data_put; ++ __nss_files_data_setent; + +-libnss_files { +- GLIBC_PRIVATE { ++ # Routines formerly in libnss_files.so.2. + _nss_files_setaliasent; + _nss_files_endaliasent; + _nss_files_getaliasbyname_r; +@@ -109,6 +110,14 @@ libnss_files { + } + } + ++libnss_files { ++ GLIBC_PRIVATE { ++ # Keep a version node (with a synthesized local: * directive) so that ++ # __bss_* symbols are hidden on targets that need it. ++ __libnss_files_version_placeholder; ++ } ++} ++ + libnss_db { + GLIBC_PRIVATE { + _nss_db_setetherent; +diff --git a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c +index b4b989d9bb..c158a891bd 100644 +--- a/nss/nss_files/files-XXX.c ++++ b/nss/nss_files/files-XXX.c +@@ -45,10 +45,12 @@ + # include <netdb.h> + # define H_ERRNO_PROTO , int *herrnop + # define H_ERRNO_ARG , herrnop ++# define H_ERRNO_ARG_OR_NULL herrnop + # define H_ERRNO_SET(val) (*herrnop = (val)) + #else + # define H_ERRNO_PROTO + # define H_ERRNO_ARG ++# define H_ERRNO_ARG_OR_NULL NULL + # define H_ERRNO_SET(val) ((void) 0) + #endif + +@@ -58,15 +60,11 @@ + # define EXTRA_ARGS_VALUE + #endif + +-/* Locks the static variables in this file. */ +-__libc_lock_define_initialized (static, lock) + + /* Maintenance of the stream open on the database file. For getXXent + operations the stream needs to be held open across calls, the other + getXXbyYY operations all use their own stream. */ + +-static FILE *stream; +- + /* Open database file if not already opened. */ + static enum nss_status + internal_setent (FILE **stream) +@@ -91,42 +89,16 @@ internal_setent (FILE **stream) + enum nss_status + CONCAT(_nss_files_set,ENTNAME) (int stayopen) + { +- enum nss_status status; +- +- __libc_lock_lock (lock); +- +- status = internal_setent (&stream); +- +- __libc_lock_unlock (lock); +- +- return status; ++ return __nss_files_data_setent (CONCAT (nss_file_, ENTNAME), DATAFILE); + } ++libc_hidden_def (CONCAT (_nss_files_set,ENTNAME)) + +- +-/* Close the database file. */ +-static void +-internal_endent (FILE **stream) +-{ +- if (*stream != NULL) +- { +- fclose (*stream); +- *stream = NULL; +- } +-} +- +- +-/* Thread-safe, exported version of that. */ + enum nss_status + CONCAT(_nss_files_end,ENTNAME) (void) + { +- __libc_lock_lock (lock); +- +- internal_endent (&stream); +- +- __libc_lock_unlock (lock); +- +- return NSS_STATUS_SUCCESS; ++ return __nss_files_data_endent (CONCAT (nss_file_, ENTNAME)); + } ++libc_hidden_def (CONCAT (_nss_files_end,ENTNAME)) + + + /* Parsing the database file into `struct STRUCTURE' data structures. */ +@@ -194,28 +166,22 @@ CONCAT(_nss_files_get,ENTNAME_r) (struct STRUCTURE *result, char *buffer, + size_t buflen, int *errnop H_ERRNO_PROTO) + { + /* Return next entry in host file. */ +- enum nss_status status = NSS_STATUS_SUCCESS; +- +- __libc_lock_lock (lock); + +- /* Be prepared that the set*ent function was not called before. */ +- if (stream == NULL) +- { +- int save_errno = errno; +- +- status = internal_setent (&stream); +- +- __set_errno (save_errno); +- } +- +- if (status == NSS_STATUS_SUCCESS) +- status = internal_getent (stream, result, buffer, buflen, errnop +- H_ERRNO_ARG EXTRA_ARGS_VALUE); ++ struct nss_files_per_file_data *data; ++ enum nss_status status = __nss_files_data_open (&data, ++ CONCAT (nss_file_, ENTNAME), ++ DATAFILE, ++ errnop, H_ERRNO_ARG_OR_NULL); ++ if (status != NSS_STATUS_SUCCESS) ++ return status; + +- __libc_lock_unlock (lock); ++ status = internal_getent (data->stream, result, buffer, buflen, errnop ++ H_ERRNO_ARG EXTRA_ARGS_VALUE); + ++ __nss_files_data_put (data); + return status; + } ++libc_hidden_def (CONCAT (_nss_files_get,ENTNAME_r)) + + /* Macro for defining lookup functions for this file-based database. + +@@ -248,8 +214,9 @@ _nss_files_get##name##_r (proto, \ + == NSS_STATUS_SUCCESS) \ + { break_if_match } \ + \ +- internal_endent (&stream); \ ++ fclose (stream); \ + } \ + \ + return status; \ +-} ++} \ ++libc_hidden_def (_nss_files_get##name##_r) +diff --git a/nss/nss_files/files-alias.c b/nss/nss_files/files-alias.c +index 30971bfe56..8c6e176ff6 100644 +--- a/nss/nss_files/files-alias.c ++++ b/nss/nss_files/files-alias.c +@@ -31,18 +31,11 @@ + #include "nsswitch.h" + #include <nss_files.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- +-/* Locks the static variables in this file. */ +-__libc_lock_define_initialized (static, lock) + + /* Maintenance of the stream open on the database file. For getXXent + operations the stream needs to be held open across calls, the other + getXXbyYY operations all use their own stream. */ + +-static FILE *stream; +- +- + static enum nss_status + internal_setent (FILE **stream) + { +@@ -66,42 +59,16 @@ internal_setent (FILE **stream) + enum nss_status + _nss_files_setaliasent (void) + { +- enum nss_status status; +- +- __libc_lock_lock (lock); +- +- status = internal_setent (&stream); +- +- __libc_lock_unlock (lock); +- +- return status; ++ return __nss_files_data_setent (nss_file_aliasent, "/etc/aliases"); + } ++libc_hidden_def (_nss_files_setaliasent) + +- +-/* Close the database file. */ +-static void +-internal_endent (FILE **stream) +-{ +- if (*stream != NULL) +- { +- fclose (*stream); +- *stream = NULL; +- } +-} +- +- +-/* Thread-safe, exported version of that. */ + enum nss_status + _nss_files_endaliasent (void) + { +- __libc_lock_lock (lock); +- +- internal_endent (&stream); +- +- __libc_lock_unlock (lock); +- +- return NSS_STATUS_SUCCESS; ++ return __nss_files_data_endent (nss_file_aliasent); + } ++libc_hidden_def (_nss_files_endaliasent) + + /* Parsing the database file into `struct aliasent' data structures. */ + static enum nss_status +@@ -131,7 +98,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result, + /* Read the first line. It must contain the alias name and + possibly some alias names. */ + first_unused[room_left - 1] = '\xff'; +- line = fgets_unlocked (first_unused, room_left, stream); ++ line = __fgets_unlocked (first_unused, room_left, stream); + if (line == NULL) + /* Nothing to read. */ + break; +@@ -220,7 +187,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result, + /* If the file does not exist we simply ignore + the statement. */ + if (listfile != NULL +- && (old_line = strdup (line)) != NULL) ++ && (old_line = __strdup (line)) != NULL) + { + while (! feof_unlocked (listfile)) + { +@@ -232,8 +199,8 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result, + } + + first_unused[room_left - 1] = '\xff'; +- line = fgets_unlocked (first_unused, room_left, +- listfile); ++ line = __fgets_unlocked (first_unused, room_left, ++ listfile); + if (line == NULL) + break; + if (first_unused[room_left - 1] != '\xff') +@@ -335,7 +302,7 @@ get_next_alias (FILE *stream, const char *match, struct aliasent *result, + /* The just read character is a white space and so + can be ignored. */ + first_unused[room_left - 1] = '\xff'; +- line = fgets_unlocked (first_unused, room_left, stream); ++ line = __fgets_unlocked (first_unused, room_left, stream); + if (line == NULL) + { + /* Continuation line without any data and +@@ -369,29 +336,25 @@ _nss_files_getaliasent_r (struct aliasent *result, char *buffer, size_t buflen, + int *errnop) + { + /* Return next entry in host file. */ +- enum nss_status status = NSS_STATUS_SUCCESS; + +- __libc_lock_lock (lock); +- +- /* Be prepared that the set*ent function was not called before. */ +- if (stream == NULL) +- status = internal_setent (&stream); +- +- if (status == NSS_STATUS_SUCCESS) +- { +- result->alias_local = 1; ++ struct nss_files_per_file_data *data; ++ enum nss_status status = __nss_files_data_open (&data, nss_file_aliasent, ++ "/etc/aliases", errnop, NULL); ++ if (status != NSS_STATUS_SUCCESS) ++ return status; + +- /* Read lines until we get a definite result. */ +- do +- status = get_next_alias (stream, NULL, result, buffer, buflen, errnop); +- while (status == NSS_STATUS_RETURN); +- } ++ result->alias_local = 1; + +- __libc_lock_unlock (lock); ++ /* Read lines until we get a definite result. */ ++ do ++ status = get_next_alias (data->stream, NULL, result, buffer, buflen, ++ errnop); ++ while (status == NSS_STATUS_RETURN); + ++ __nss_files_data_put (data); + return status; + } +- ++libc_hidden_def (_nss_files_getaliasent_r) + + enum nss_status + _nss_files_getaliasbyname_r (const char *name, struct aliasent *result, +@@ -418,9 +381,10 @@ _nss_files_getaliasbyname_r (const char *name, struct aliasent *result, + do + status = get_next_alias (stream, name, result, buffer, buflen, errnop); + while (status == NSS_STATUS_RETURN); +- } + +- internal_endent (&stream); ++ fclose (stream); ++ } + + return status; + } ++libc_hidden_def (_nss_files_getaliasbyname_r) +diff --git a/nss/nss_files/files-ethers.c b/nss/nss_files/files-ethers.c +index 2fe7f81e4b..7c2c2b9833 100644 +--- a/nss/nss_files/files-ethers.c ++++ b/nss/nss_files/files-ethers.c +@@ -20,8 +20,6 @@ + #include <netinet/if_ether.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + struct etherent_data {}; + + #define ENTNAME etherent +diff --git a/nss/nss_files/files-grp.c b/nss/nss_files/files-grp.c +index 49be38e8b1..a716d948e2 100644 +--- a/nss/nss_files/files-grp.c ++++ b/nss/nss_files/files-grp.c +@@ -19,8 +19,6 @@ + #include <grp.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define STRUCTURE group + #define ENTNAME grent + #define DATABASE "group" +diff --git a/nss/nss_files/files-hosts.c b/nss/nss_files/files-hosts.c +index 2b47ec3e53..d54d91d038 100644 +--- a/nss/nss_files/files-hosts.c ++++ b/nss/nss_files/files-hosts.c +@@ -26,8 +26,6 @@ + #include <alloc_buffer.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + /* Get implementation for some internal functions. */ + #include "../resolv/res_hconf.h" + +@@ -57,12 +55,13 @@ LINE_PARSER + STRING_FIELD (addr, isspace, 1); + + /* Parse address. */ +- if (inet_pton (af == AF_UNSPEC ? AF_INET : af, addr, entdata->host_addr) ++ if (__inet_pton (af == AF_UNSPEC ? AF_INET : af, addr, entdata->host_addr) + > 0) + af = af == AF_UNSPEC ? AF_INET : af; + else + { +- if (af == AF_INET && inet_pton (AF_INET6, addr, entdata->host_addr) > 0) ++ if (af == AF_INET ++ && __inet_pton (AF_INET6, addr, entdata->host_addr) > 0) + { + if (IN6_IS_ADDR_V4MAPPED (entdata->host_addr)) + memcpy (entdata->host_addr, entdata->host_addr + 12, INADDRSZ); +@@ -76,7 +75,7 @@ LINE_PARSER + return 0; + } + else if (af == AF_UNSPEC +- && inet_pton (AF_INET6, addr, entdata->host_addr) > 0) ++ && __inet_pton (AF_INET6, addr, entdata->host_addr) > 0) + af = AF_INET6; + else + /* Illegal address: ignore line. */ +@@ -349,7 +348,7 @@ _nss_files_gethostbyname3_r (const char *name, int af, struct hostent *result, + status = gethostbyname3_multi + (stream, name, af, result, buffer, buflen, errnop, herrnop); + +- internal_endent (&stream); ++ fclose (stream); + } + + if (canonp && status == NSS_STATUS_SUCCESS) +@@ -357,6 +356,7 @@ _nss_files_gethostbyname3_r (const char *name, int af, struct hostent *result, + + return status; + } ++libc_hidden_def (_nss_files_gethostbyname3_r) + + enum nss_status + _nss_files_gethostbyname_r (const char *name, struct hostent *result, +@@ -366,6 +366,7 @@ _nss_files_gethostbyname_r (const char *name, struct hostent *result, + return _nss_files_gethostbyname3_r (name, AF_INET, result, buffer, buflen, + errnop, herrnop, NULL, NULL); + } ++libc_hidden_def (_nss_files_gethostbyname_r) + + enum nss_status + _nss_files_gethostbyname2_r (const char *name, int af, struct hostent *result, +@@ -375,6 +376,7 @@ _nss_files_gethostbyname2_r (const char *name, int af, struct hostent *result, + return _nss_files_gethostbyname3_r (name, af, result, buffer, buflen, + errnop, herrnop, NULL, NULL); + } ++libc_hidden_def (_nss_files_gethostbyname2_r) + + enum nss_status + _nss_files_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat, +@@ -475,7 +477,7 @@ _nss_files_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat, + status = NSS_STATUS_SUCCESS; + } + +- internal_endent (&stream); ++ fclose (stream); + } + else if (status == NSS_STATUS_TRYAGAIN) + { +@@ -490,3 +492,4 @@ _nss_files_gethostbyname4_r (const char *name, struct gaih_addrtuple **pat, + + return status; + } ++libc_hidden_def (_nss_files_gethostbyname4_r) +diff --git a/nss/nss_files/files-init.c b/nss/nss_files/files-init.c +index 717c9fd334..18ed288d04 100644 +--- a/nss/nss_files/files-init.c ++++ b/nss/nss_files/files-init.c +@@ -21,8 +21,7 @@ + #include <string.h> + #include <nscd/nscd.h> + #include <nss.h> +- +-NSS_DECLARE_MODULE_FUNCTIONS (files) ++#include <nss_files.h> + + static void + register_file (void (*cb) (size_t, struct traced_file *), +@@ -49,5 +48,6 @@ _nss_files_init (void (*cb) (size_t, struct traced_file *)) + register_file (cb, servdb, "/etc/services", 0); + register_file (cb, netgrdb, "/etc/netgroup", 0); + } ++libc_hidden_def (_nss_files_init) + + #endif +diff --git a/nss/nss_files/files-initgroups.c b/nss/nss_files/files-initgroups.c +index 6fcea40b55..b44211e50b 100644 +--- a/nss/nss_files/files-initgroups.c ++++ b/nss/nss_files/files-initgroups.c +@@ -28,8 +28,6 @@ + #include <nss.h> + #include <nss_files.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + enum nss_status + _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start, + long int *size, gid_t **groupsp, long int limit, +@@ -129,3 +127,4 @@ _nss_files_initgroups_dyn (const char *user, gid_t group, long int *start, + + return status == NSS_STATUS_SUCCESS && !any ? NSS_STATUS_NOTFOUND : status; + } ++libc_hidden_def (_nss_files_initgroups_dyn) +diff --git a/nss/nss_files/files-netgrp.c b/nss/nss_files/files-netgrp.c +index f8c821c2f0..75bfbd9e44 100644 +--- a/nss/nss_files/files-netgrp.c ++++ b/nss/nss_files/files-netgrp.c +@@ -28,11 +28,9 @@ + #include "netgroup.h" + #include <nss_files.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define DATAFILE "/etc/netgroup" + +-libnss_files_hidden_proto (_nss_files_endnetgrent) ++libc_hidden_proto (_nss_files_endnetgrent) + + #define EXPAND(needed) \ + do \ +@@ -152,7 +150,7 @@ _nss_files_setnetgrent (const char *group, struct __netgrent *result) + + return status; + } +- ++libc_hidden_def (_nss_files_setnetgrent) + + enum nss_status + _nss_files_endnetgrent (struct __netgrent *result) +@@ -164,7 +162,7 @@ _nss_files_endnetgrent (struct __netgrent *result) + result->cursor = NULL; + return NSS_STATUS_SUCCESS; + } +-libnss_files_hidden_def (_nss_files_endnetgrent) ++libc_hidden_def (_nss_files_endnetgrent) + + static char * + strip_whitespace (char *str) +@@ -279,7 +277,7 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result, + + return status; + } +-libnss_files_hidden_def (_nss_netgroup_parseline) ++libc_hidden_def (_nss_netgroup_parseline) + + + enum nss_status +@@ -293,3 +291,4 @@ _nss_files_getnetgrent_r (struct __netgrent *result, char *buffer, + + return status; + } ++libc_hidden_def (_nss_files_getnetgrent_r) +diff --git a/nss/nss_files/files-network.c b/nss/nss_files/files-network.c +index 9cd7d7dc79..217ed78609 100644 +--- a/nss/nss_files/files-network.c ++++ b/nss/nss_files/files-network.c +@@ -22,8 +22,6 @@ + #include <stdint.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define ENTNAME netent + #define DATABASE "networks" + #define NEED_H_ERRNO +@@ -71,7 +69,7 @@ LINE_PARSER + *cp = '\0'; + addr = newp; + } +- result->n_net = inet_network (addr); ++ result->n_net = inet_network (addr); + result->n_addrtype = AF_INET; + + }) +diff --git a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c +index 68c51c7cbf..997eac573a 100644 +--- a/nss/nss_files/files-parse.c ++++ b/nss/nss_files/files-parse.c +@@ -74,13 +74,7 @@ struct parser_data + /* Export the line parser function so it can be used in nss_db. */ + # define parser_stclass /* Global */ + # define parse_line CONCAT(_nss_files_parse_,ENTNAME) +-# if IS_IN (libc) +-/* We are defining one of the functions that actually lives in libc +- because it is used to implement fget*ent and suchlike. */ +-# define nss_files_parse_hidden_def(name) libc_hidden_def (name) +-# else +-# define nss_files_parse_hidden_def(name) libnss_files_hidden_def (name) +-# endif ++# define nss_files_parse_hidden_def(name) libc_hidden_def (name) + #endif + + +diff --git a/nss/nss_files/files-proto.c b/nss/nss_files/files-proto.c +index 98d082c642..13072692c1 100644 +--- a/nss/nss_files/files-proto.c ++++ b/nss/nss_files/files-proto.c +@@ -19,8 +19,6 @@ + #include <netdb.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define ENTNAME protoent + #define DATABASE "protocols" + +diff --git a/nss/nss_files/files-pwd.c b/nss/nss_files/files-pwd.c +index b04165ddde..5c74c6da9b 100644 +--- a/nss/nss_files/files-pwd.c ++++ b/nss/nss_files/files-pwd.c +@@ -19,8 +19,6 @@ + #include <pwd.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define STRUCTURE passwd + #define ENTNAME pwent + #define DATABASE "passwd" +diff --git a/nss/nss_files/files-rpc.c b/nss/nss_files/files-rpc.c +index eeb2725d2c..3dea8f18f2 100644 +--- a/nss/nss_files/files-rpc.c ++++ b/nss/nss_files/files-rpc.c +@@ -19,8 +19,6 @@ + #include <rpc/netdb.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define ENTNAME rpcent + #define DATABASE "rpc" + +diff --git a/nss/nss_files/files-service.c b/nss/nss_files/files-service.c +index f4f0985377..a8d83e094e 100644 +--- a/nss/nss_files/files-service.c ++++ b/nss/nss_files/files-service.c +@@ -20,8 +20,6 @@ + #include <netdb.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define ENTNAME servent + #define DATABASE "services" + +diff --git a/nss/nss_files/files-sgrp.c b/nss/nss_files/files-sgrp.c +index 6b1c9eac02..213a408e7b 100644 +--- a/nss/nss_files/files-sgrp.c ++++ b/nss/nss_files/files-sgrp.c +@@ -19,8 +19,6 @@ + #include <gshadow.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define STRUCTURE sgrp + #define ENTNAME sgent + #define DATABASE "gshadow" +diff --git a/nss/nss_files/files-spwd.c b/nss/nss_files/files-spwd.c +index 976deaf918..d031257a20 100644 +--- a/nss/nss_files/files-spwd.c ++++ b/nss/nss_files/files-spwd.c +@@ -19,8 +19,6 @@ + #include <shadow.h> + #include <nss.h> + +-NSS_DECLARE_MODULE_FUNCTIONS (files) +- + #define STRUCTURE spwd + #define ENTNAME spent + #define DATABASE "shadow" +diff --git a/nss/nss_files_data.c b/nss/nss_files_data.c +new file mode 100644 +index 0000000000..80fbfe5fff +--- /dev/null ++++ b/nss/nss_files_data.c +@@ -0,0 +1,161 @@ ++/* Returns a pointer to the global nss_files data structure. ++ Copyright (C) 2021 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <nss_files.h> ++ ++#include <allocate_once.h> ++#include <errno.h> ++#include <netdb.h> ++#include <nss.h> ++#include <stdlib.h> ++ ++/* This collects all per file-data. */ ++struct nss_files_data ++{ ++ struct nss_files_per_file_data files[nss_file_count]; ++}; ++ ++/* For use with allocate_once. */ ++static void *nss_files_global; ++static void * ++nss_files_global_allocate (void *closure) ++{ ++ struct nss_files_data *result = malloc (sizeof (*result)); ++ if (result != NULL) ++ { ++ for (int i = 0; i < nss_file_count; ++i) ++ { ++ result->files[i].stream = NULL; ++ __libc_lock_init (result->files[i].lock); ++ } ++ } ++ return result; ++} ++/* Like __nss_files_data_open, but does not perform the open call. */ ++static enum nss_status ++__nss_files_data_get (struct nss_files_per_file_data **pdata, ++ enum nss_files_file file, int *errnop, int *herrnop) ++{ ++ struct nss_files_data *data = allocate_once (&nss_files_global, ++ nss_files_global_allocate, ++ NULL, NULL); ++ if (data == NULL) ++ { ++ if (errnop != NULL) ++ *errnop = errno; ++ if (herrnop != NULL) ++ { ++ __set_h_errno (NETDB_INTERNAL); ++ *herrnop = NETDB_INTERNAL; ++ } ++ return NSS_STATUS_TRYAGAIN; ++ } ++ ++ *pdata = &data->files[file]; ++ __libc_lock_lock ((*pdata)->lock); ++ return NSS_STATUS_SUCCESS; ++} ++ ++/* Helper function for opening the backing file at PATH. */ ++static enum nss_status ++__nss_files_data_internal_open (struct nss_files_per_file_data *data, ++ const char *path) ++{ ++ enum nss_status status = NSS_STATUS_SUCCESS; ++ ++ if (data->stream == NULL) ++ { ++ data->stream = __nss_files_fopen (path); ++ ++ if (data->stream == NULL) ++ status = errno == EAGAIN ? NSS_STATUS_TRYAGAIN : NSS_STATUS_UNAVAIL; ++ } ++ ++ return status; ++} ++ ++ ++enum nss_status ++__nss_files_data_open (struct nss_files_per_file_data **pdata, ++ enum nss_files_file file, const char *path, ++ int *errnop, int *herrnop) ++{ ++ enum nss_status status = __nss_files_data_get (pdata, file, errnop, herrnop); ++ if (status != NSS_STATUS_SUCCESS) ++ return status; ++ ++ /* Be prepared that the set*ent function was not called before. */ ++ if ((*pdata)->stream == NULL) ++ { ++ int saved_errno = errno; ++ status = __nss_files_data_internal_open (*pdata, path); ++ __set_errno (saved_errno); ++ if (status != NSS_STATUS_SUCCESS) ++ __nss_files_data_put (*pdata); ++ } ++ ++ return status; ++} ++ ++libc_hidden_def (__nss_files_data_open) ++ ++void ++__nss_files_data_put (struct nss_files_per_file_data *data) ++{ ++ __libc_lock_unlock (data->lock); ++} ++libc_hidden_def (__nss_files_data_put) ++ ++enum nss_status ++__nss_files_data_setent (enum nss_files_file file, const char *path) ++{ ++ struct nss_files_per_file_data *data; ++ enum nss_status status = __nss_files_data_get (&data, file, NULL, NULL); ++ if (status != NSS_STATUS_SUCCESS) ++ return status; ++ ++ if (data->stream == NULL) ++ status = __nss_files_data_internal_open (data, path); ++ else ++ rewind (data->stream); ++ ++ __nss_files_data_put (data); ++ return status; ++} ++libc_hidden_def (__nss_files_data_setent) ++ ++enum nss_status ++__nss_files_data_endent (enum nss_files_file file) ++{ ++ /* No cleanup is necessary if not initialized. */ ++ struct nss_files_data *data = atomic_load_acquire (&nss_files_global); ++ if (data == NULL) ++ return NSS_STATUS_SUCCESS; ++ ++ struct nss_files_per_file_data *fdata = &data->files[file]; ++ __libc_lock_lock (fdata->lock); ++ if (fdata->stream != NULL) ++ { ++ fclose (fdata->stream); ++ fdata->stream = NULL; ++ } ++ __libc_lock_unlock (fdata->lock); ++ ++ return NSS_STATUS_SUCCESS; ++} ++libc_hidden_def (__nss_files_data_endent) +diff --git a/nss/nss_files_functions.c b/nss/nss_files_functions.c +new file mode 100644 +index 0000000000..85720b4311 +--- /dev/null ++++ b/nss/nss_files_functions.c +@@ -0,0 +1,43 @@ ++/* Direct access for nss_files functions for NSS module loading. ++ Copyright (C) 2021 Free Software Foundation, Inc. ++ This file is part of the GNU C Library. ++ ++ The GNU C Library is free software; you can redistribute it and/or ++ modify it under the terms of the GNU Lesser General Public ++ License as published by the Free Software Foundation; either ++ version 2.1 of the License, or (at your option) any later version. ++ ++ The GNU C Library is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ Lesser General Public License for more details. ++ ++ You should have received a copy of the GNU Lesser General Public ++ License along with the GNU C Library; if not, see ++ <https://www.gnu.org/licenses/>. */ ++ ++#include <nss_module.h> ++#include <nss_files.h> ++ ++void ++__nss_files_functions (nss_module_functions_untyped pointers) ++{ ++ void **fptr = pointers; ++ ++ /* Functions which are not implemented. */ ++#define _nss_files_getcanonname_r NULL ++#define _nss_files_gethostbyaddr2_r NULL ++#define _nss_files_getpublickey NULL ++#define _nss_files_getsecretkey NULL ++#define _nss_files_netname2user NULL ++ ++#undef DEFINE_NSS_FUNCTION ++#define DEFINE_NSS_FUNCTION(x) *fptr++ = _nss_files_##x; ++#include "function.def" ++ ++#ifdef PTR_MANGLE ++ void **end = fptr; ++ for (fptr = pointers; fptr != end; ++fptr) ++ PTR_MANGLE (*fptr); ++#endif ++} +diff --git a/nss/nss_module.c b/nss/nss_module.c +index 60c070c851..7b42c585a4 100644 +--- a/nss/nss_module.c ++++ b/nss/nss_module.c +@@ -30,6 +30,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <string.h> ++#include <nss_files.h> + + /* Suffix after .so of NSS service modules. This is a bit of magic, + but we assume LIBNSS_FILES_SO looks like "libnss_files.so.2" and we +@@ -110,10 +111,45 @@ static const function_name nss_function_name_array[] = + #include "function.def" + }; + ++static bool ++module_load_nss_files (struct nss_module *module) ++{ ++ if (is_nscd) ++ { ++ void (*cb) (size_t, struct traced_file *) = nscd_init_cb; ++# ifdef PTR_DEMANGLE ++ PTR_DEMANGLE (cb); ++# endif ++ _nss_files_init (cb); ++ } ++ ++ /* Initialize the function pointers, following the double-checked ++ locking idiom. */ ++ __libc_lock_lock (nss_module_list_lock); ++ switch ((enum nss_module_state) atomic_load_acquire (&module->state)) ++ { ++ case nss_module_uninitialized: ++ case nss_module_failed: ++ __nss_files_functions (module->functions.untyped); ++ module->handle = NULL; ++ /* Synchronizes with unlocked __nss_module_load atomic_load_acquire. */ ++ atomic_store_release (&module->state, nss_module_loaded); ++ break; ++ case nss_module_loaded: ++ /* Nothing to clean up. */ ++ break; ++ } ++ __libc_lock_unlock (nss_module_list_lock); ++ return true; ++} ++ + /* Internal implementation of __nss_module_load. */ + static bool + module_load (struct nss_module *module) + { ++ if (strcmp (module->name, "files") == 0) ++ return module_load_nss_files (module); ++ + void *handle; + { + char *shlib_name; +@@ -360,7 +396,7 @@ __nss_module_freeres (void) + struct nss_module *current = nss_module_list; + while (current != NULL) + { +- if (current->state == nss_module_loaded) ++ if (current->state == nss_module_loaded && current->handle != NULL) + __libc_dlclose (current->handle); + + struct nss_module *next = current->next; +diff --git a/nss/nss_module.h b/nss/nss_module.h +index 05c4791d11..c1a1d90b60 100644 +--- a/nss/nss_module.h ++++ b/nss/nss_module.h +@@ -38,6 +38,10 @@ struct nss_module_functions + typedef void *nss_module_functions_untyped[sizeof (struct nss_module_functions) + / sizeof (void *)]; + ++/* Locate the nss_files functions, as if by dlopen/dlsym. */ ++void __nss_files_functions (nss_module_functions_untyped pointers) ++ attribute_hidden; ++ + /* Initialization state of a NSS module. */ + enum nss_module_state + { +diff --git a/nss/nss_readline.c b/nss/nss_readline.c +index 4b3ecbccc8..a2f397a11f 100644 +--- a/nss/nss_readline.c ++++ b/nss/nss_readline.c +@@ -40,7 +40,7 @@ __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset) + *poffset = __ftello64 (fp); + + buf[len - 1] = '\xff'; /* Marker to recognize truncation. */ +- if (fgets_unlocked (buf, len, fp) == NULL) ++ if (__fgets_unlocked (buf, len, fp) == NULL) + { + if (feof_unlocked (fp)) + { +@@ -61,7 +61,7 @@ __nss_readline (FILE *fp, char *buf, size_t len, off64_t *poffset) + line on the next call. */ + return __nss_readline_seek (fp, *poffset); + +- /* fgets_unlocked succeeded. */ ++ /* __fgets_unlocked succeeded. */ + + /* Remove leading whitespace. */ + char *p = buf; +diff --git a/nss/nss.h b/nss/nss.h +index ae213f9a6c..c6d62adc0f 100644 +--- a/nss/nss.h ++++ b/nss/nss.h +@@ -196,7 +196,7 @@ typedef enum nss_status nss_setspent (int); + extern nss_endgrent _nss_##module##_endgrent; \ + extern nss_endhostent _nss_##module##_endhostent; \ + extern nss_endnetent _nss_##module##_endnetent; \ +- extern nss_endnetgrent _nss_##module##__endnetgrent; \ ++ extern nss_endnetgrent _nss_##module##_endnetgrent; \ + extern nss_endprotoent _nss_##module##_endprotoent; \ + extern nss_endpwent _nss_##module##_endpwent; \ + extern nss_endrpcent _nss_##module##_endrpcent; \ +diff --git a/nss/nss_module.c b/nss/nss_module.c +index 7b42c585a4..7ea5ad9887 100644 +--- a/nss/nss_module.c ++++ b/nss/nss_module.c +@@ -114,14 +114,16 @@ static const function_name nss_function_name_array[] = + static bool + module_load_nss_files (struct nss_module *module) + { ++#ifdef USE_NSCD + if (is_nscd) + { + void (*cb) (size_t, struct traced_file *) = nscd_init_cb; +-# ifdef PTR_DEMANGLE ++# ifdef PTR_DEMANGLE + PTR_DEMANGLE (cb); +-# endif ++# endif + _nss_files_init (cb); + } ++#endif + + /* Initialize the function pointers, following the double-checked + locking idiom. */ diff --git a/gnu/packages/patches/gnupg-1-build-with-gcc10.patch b/gnu/packages/patches/gnupg-1-build-with-gcc10.patch new file mode 100644 index 0000000000..40b2aff98e --- /dev/null +++ b/gnu/packages/patches/gnupg-1-build-with-gcc10.patch @@ -0,0 +1,64 @@ +Borrowed from Debian +https://sources.debian.org/src/gnupg1/1.4.23-1.1/debian/patches/0006-fix-for-gcc10.patch/ + +Subject: Fix build with gcc-10 +Author: Christoph Biedl <debian.axhn@manchmal.in-ulm.de> +Date: 2021-01-04 +Bug: https://dev.gnupg.org/T5215 +Bug-Debian: https://bugs.debian.org/957293 + +--- a/g10/options.h ++++ b/g10/options.h +@@ -29,6 +29,8 @@ + /* Norcraft can't cope with common symbols */ + #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern ++#elif defined (__GNUC__) && __GNUC__ >= 10 ++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__)) + #else + #define EXTERN_UNLESS_MAIN_MODULE + #endif +--- a/include/cipher.h ++++ b/include/cipher.h +@@ -117,6 +117,8 @@ + #ifndef EXTERN_UNLESS_MAIN_MODULE + #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern ++#elif defined (__GNUC__) && __GNUC__ >= 10 ++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__)) + #else + #define EXTERN_UNLESS_MAIN_MODULE + #endif +--- a/include/iobuf.h ++++ b/include/iobuf.h +@@ -72,6 +72,8 @@ + #ifndef EXTERN_UNLESS_MAIN_MODULE + #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern ++#elif defined (__GNUC__) && __GNUC__ >= 10 ++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__)) + #else + #define EXTERN_UNLESS_MAIN_MODULE + #endif +--- a/include/memory.h ++++ b/include/memory.h +@@ -93,6 +93,8 @@ + #ifndef EXTERN_UNLESS_MAIN_MODULE + #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern ++#elif defined (__GNUC__) && __GNUC__ >= 10 ++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__)) + #else + #define EXTERN_UNLESS_MAIN_MODULE + #endif +--- a/include/mpi.h ++++ b/include/mpi.h +@@ -38,6 +38,8 @@ + #ifndef EXTERN_UNLESS_MAIN_MODULE + #if defined (__riscos__) && !defined (INCLUDED_BY_MAIN_MODULE) + #define EXTERN_UNLESS_MAIN_MODULE extern ++#elif defined (__GNUC__) && __GNUC__ >= 10 ++#define EXTERN_UNLESS_MAIN_MODULE __attribute__((__common__)) + #else + #define EXTERN_UNLESS_MAIN_MODULE + #endif diff --git a/gnu/packages/patches/gnutls-guile-eintr-eagain.patch b/gnu/packages/patches/gnutls-guile-eintr-eagain.patch new file mode 100644 index 0000000000..e04c945158 --- /dev/null +++ b/gnu/packages/patches/gnutls-guile-eintr-eagain.patch @@ -0,0 +1,56 @@ +Fixes <https://issues.guix.gnu.org/47867>. + +This fix was merged upstream +in <https://gitlab.com/gnutls/gnutls/-/merge_requests/1417> and will +be in GnuTLS 3.7.3. Upstream commit: + +commit 110e2172dbef1fbdf7399dab1e80780847b61c0c +Author: Ludovic Courtès <ludo@gnu.org> +Date: Sat Apr 24 22:02:14 2021 +0200 + + guile: Writes to record ports handle EAGAIN/EINTR transparently. + +diff --git a/guile/src/core.c b/guile/src/core.c +index a13670fc7b..0926dc8a97 100644 +--- a/guile/src/core.c ++++ b/guile/src/core.c +@@ -985,7 +985,10 @@ write_to_session_record_port (SCM port, const void *data, size_t size) + c_result = gnutls_record_send (c_session, (char *) data + c_sent, + size - c_sent); + if (EXPECT_FALSE (c_result < 0)) +- scm_gnutls_error (c_result, FUNC_NAME); ++ { ++ if (c_result != GNUTLS_E_AGAIN && c_result != GNUTLS_E_INTERRUPTED) ++ scm_gnutls_error (c_result, FUNC_NAME); ++ } + else + c_sent += c_result; + } +@@ -1069,7 +1072,8 @@ read_from_session_record_port (SCM port, SCM dst, size_t start, size_t count) + #undef FUNC_NAME + + /* Return the file descriptor that backs PORT. This function is called upon a +- blocking read--i.e., 'read_from_session_record_port' returned -1. */ ++ blocking read--i.e., 'read_from_session_record_port' or ++ 'write_to_session_record_port' returned -1. */ + static int + session_record_port_fd (SCM port) + { +@@ -1097,7 +1101,16 @@ write_to_session_record_port (SCM port, SCM src, size_t start, size_t count) + c_session = scm_to_gnutls_session (session, 1, FUNC_NAME); + data = (char *) SCM_BYTEVECTOR_CONTENTS (src) + start; + +- result = gnutls_record_send (c_session, data, count); ++ do ++ result = gnutls_record_send (c_session, data, count); ++ while (result == GNUTLS_E_INTERRUPTED ++ || (result == GNUTLS_E_AGAIN ++ && !SCM_GNUTLS_SESSION_TRANSPORT_IS_FD (c_session))); ++ ++ if (result == GNUTLS_E_AGAIN ++ && SCM_GNUTLS_SESSION_TRANSPORT_IS_FD (c_session)) ++ /* Tell Guile that reading would block. */ ++ return (size_t) -1; + + if (EXPECT_FALSE (result < 0)) + scm_gnutls_error (result, FUNC_NAME); diff --git a/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch b/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch new file mode 100644 index 0000000000..7408d4ec16 --- /dev/null +++ b/gnu/packages/patches/go-github-com-urfave-cli-fix-tests.patch @@ -0,0 +1,28 @@ +Backported from upstream PR: https://github.com/urfave/cli/pull/1299 +--- +diff --git a/app_test.go b/app_test.go +index 33024ff..6b3aaa3 100644 +--- a/app_test.go ++++ b/app_test.go +@@ -513,18 +513,18 @@ func TestApp_RunAsSubcommandParseFlags(t *testing.T) { + func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) { + a := App{ + Flags: []Flag{ +- StringFlag{Name: "--foo"}, ++ StringFlag{Name: "foo"}, + }, + Writer: bytes.NewBufferString(""), + } + + set := flag.NewFlagSet("", flag.ContinueOnError) +- _ = set.Parse([]string{"", "---foo"}) ++ _ = set.Parse([]string{"", "-bar"}) + c := &Context{flagSet: set} + + err := a.RunAsSubcommand(c) + +- expect(t, err, errors.New("bad flag syntax: ---foo")) ++ expect(t, err.Error(), "flag provided but not defined: -bar") + } + + func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) { diff --git a/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch b/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch new file mode 100644 index 0000000000..87ccc2b655 --- /dev/null +++ b/gnu/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch @@ -0,0 +1,37 @@ +From upstream PR: https://github.com/urfave/cli/pull/1299 + +From: William Wilson <william.wilson@canonical.com> +Date: Tue, 31 Aug 2021 14:19:17 -0500 +Subject: Make test case compatible with Go 1.17 + +As of Go 1.17, the go flag package will panic if given a syntactically invalid +flag. This causes TestApp_RunAsSubCommandIncorrectUsage to panic and therefore +fail. See https://golang.org/doc/go1.17#flag for more information. + +--- +diff --git a/app_test.go b/app_test.go +index 7c38f6048..76e211d68 100644 +--- a/app_test.go ++++ b/app_test.go +@@ -476,18 +476,18 @@ func TestApp_RunAsSubCommandIncorrectUsage(t *testing.T) { + a := App{ + Name: "cmd", + Flags: []Flag{ +- &StringFlag{Name: "--foo"}, ++ &StringFlag{Name: "foo"}, + }, + Writer: bytes.NewBufferString(""), + } + + set := flag.NewFlagSet("", flag.ContinueOnError) +- _ = set.Parse([]string{"", "---foo"}) ++ _ = set.Parse([]string{"", "-bar"}) + c := &Context{flagSet: set} + + err := a.RunAsSubcommand(c) + +- expect(t, err, errors.New("bad flag syntax: ---foo")) ++ expect(t, err.Error(), "flag provided but not defined: -bar") + } + + func TestApp_CommandWithFlagBeforeTerminator(t *testing.T) { diff --git a/gnu/packages/patches/gtk-doc-respect-xml-catalog.patch b/gnu/packages/patches/gtk-doc-respect-xml-catalog.patch new file mode 100644 index 0000000000..710f208285 --- /dev/null +++ b/gnu/packages/patches/gtk-doc-respect-xml-catalog.patch @@ -0,0 +1,16 @@ +Taken from here: +https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/documentation/gtk-doc/respect-xml-catalog-files-var.patch. + +--- a/m4/gtkdoc_jh_check_xml_catalog.m4 ++++ b/m4/gtkdoc_jh_check_xml_catalog.m4 +@@ -5,8 +5,8 @@ + [ + AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl + AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog]) +- if $jh_found_xmlcatalog && \ +- AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then ++ # empty argument forces libxml to use XML_CATALOG_FILES variable ++ if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then + AC_MSG_RESULT([found]) + ifelse([$3],,,[$3]) + else diff --git a/gnu/packages/patches/instead-use-games-path.patch b/gnu/packages/patches/instead-use-games-path.patch new file mode 100644 index 0000000000..783fd21add --- /dev/null +++ b/gnu/packages/patches/instead-use-games-path.patch @@ -0,0 +1,32 @@ +From 8b350daa847dd8e131d9e6b5b4434ce68a7903d0 Mon Sep 17 00:00:00 2001 +From: Dmitry Polyakov <polyakov@liltechdude.xyz> +Date: Wed, 4 Aug 2021 15:46:33 +0500 +Subject: [PATCH] Add support for INSTEAD_GAMES_PATH + +In some setups, users might prefer to determine on their own the path in +which games are located. This patch enables them to do so by setting +the “INSTEAD_GAMES_PATH” environmnent variable. +--- + src/main.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/src/main.c b/src/main.c +index ba0ada1d..b05497b8 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -394,6 +394,12 @@ int instead_main(int argc, char *argv[]) + setdir(game_cwd); + profile_load(NULL); + ++ char *gamespath_env = NULL; ++ ++ if (gamespath_env = getenv("INSTEAD_GAMES_PATH"), gamespath_env != NULL) { ++ games_sw = strdup(gamespath_env); ++ } ++ + for (i = 1; i < argc; i++) { + if (lua_sw) /* during load profile */ + break; +-- +2.32.0 + diff --git a/gnu/packages/patches/julia-tracker-16-compat.patch b/gnu/packages/patches/julia-tracker-16-compat.patch new file mode 100644 index 0000000000..4fff423e44 --- /dev/null +++ b/gnu/packages/patches/julia-tracker-16-compat.patch @@ -0,0 +1,40 @@ +https://github.com/FluxML/Tracker.jl/commit/f6550ba38a9ea5802e2de4fa9c939929ba711f0d.patch +from an upstream pull request +https://github.com/FluxML/Tracker.jl/pull/94 + + +From f6550ba38a9ea5802e2de4fa9c939929ba711f0d Mon Sep 17 00:00:00 2001 +From: Michael Abbott <me@escbook> +Date: Wed, 3 Feb 2021 22:58:33 +0100 +Subject: [PATCH] two fixes for 1.6 + +--- + src/lib/array.jl | 2 +- + src/lib/real.jl | 1 + + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/lib/array.jl b/src/lib/array.jl +index 92f2b39..f8cbbac 100644 +--- a/src/lib/array.jl ++++ b/src/lib/array.jl +@@ -298,7 +298,7 @@ Base.reverse(xs::TrackedArray; dims) = track(reverse, xs, dims = dims) + @grad reverse(xs; dims) = reverse(data(xs), dims = dims), Δ -> (reverse(Δ, dims = dims), nothing) + Base.reverse(xs::TrackedVector) = track(reverse, xs) + @grad reverse(xs::TrackedVector) = reverse(data(xs)), Δ -> (reverse(Δ),) +-Base.reverse(xs::TrackedVector, start, stop) = track(reverse, xs, start, stop) ++Base.reverse(xs::TrackedVector, start::Integer, stop::Integer) = track(reverse, xs, start, stop) + @grad reverse(xs, start, stop) = reverse(data(xs), start, stop), Δ -> (reverse(Δ, start, stop), nothing, nothing) + + function _kron(mat1::AbstractMatrix,mat2::AbstractMatrix) +diff --git a/src/lib/real.jl b/src/lib/real.jl +index 737afd8..e1975ac 100644 +--- a/src/lib/real.jl ++++ b/src/lib/real.jl +@@ -55,6 +55,7 @@ for f in :[isinf, isnan, isfinite].args + end + + Printf.fix_dec(x::TrackedReal, n::Int, a...) = Printf.fix_dec(data(x), n, a...) ++Printf.tofloat(x::TrackedReal) = Printf.tofloat(data(x)) + + Base.float(x::TrackedReal) = x + diff --git a/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch b/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch new file mode 100644 index 0000000000..e8d5dce0ed --- /dev/null +++ b/gnu/packages/patches/libmicrohttpd-0.9.73-test-ssl3.patch @@ -0,0 +1,35 @@ + Disable usage of SSLv3 in testing + + Integrated uptream version 0.9.74 + + +diff --git a/src/testcurl/https/test_tls_options.c b/src/testcurl/https/test_tls_options.c + +--- a/src/testcurl/https/test_tls_options.c ++++ b/src/testcurl/https/test_tls_options.c +@@ -119,11 +119,6 @@ main (int argc, char *const *argv) + fprintf (stderr, "Curl does not support SSL. Cannot run the test.\n"); + return 77; + } +- if (0 != strncmp (ssl_version, "GnuTLS", 6)) +- { +- fprintf (stderr, "This test can be run only with libcurl-gnutls.\n"); +- return 77; +- } + + if (! testsuite_curl_global_init ()) + return 99; +@@ -152,10 +147,10 @@ main (int argc, char *const *argv) + fprintf (stderr, + "The following handshake should fail (and print an error message)...\n"); + if (0 != +- test_wrap ("TLS1.0 vs SSL3", ++ test_wrap ("TLS1.1 vs TLS1.0", + &test_unmatching_ssl_version, NULL, port, daemon_flags, + aes256_sha, +- CURL_SSLVERSION_SSLv3, ++ CURL_SSLVERSION_TLSv1_1, + MHD_OPTION_HTTPS_MEM_KEY, srv_key_pem, + MHD_OPTION_HTTPS_MEM_CERT, srv_self_signed_cert_pem, + MHD_OPTION_HTTPS_PRIORITIES, + diff --git a/gnu/packages/patches/librime-fix-build-with-gcc10.patch b/gnu/packages/patches/librime-fix-build-with-gcc10.patch new file mode 100644 index 0000000000..49ad011b57 --- /dev/null +++ b/gnu/packages/patches/librime-fix-build-with-gcc10.patch @@ -0,0 +1,41 @@ +From: Felix Gruber <felgru@posteo.net> +Date: Mon, 6 Sep 2021 19:38:17 +0200 +Subject: [PATCH] Add missing <cmath> includes + +Fix a build failure with GCC 10 that manifests like this: + +------ +/tmp/guix-build-librime-1.7.3.drv-0/source/src/rime/gear/script_translator.cc: In member function ‘void rime::ScriptTranslation::PrepareCandidate()’: +/tmp/guix-build-librime-1.7.3.drv-0/source/src/rime/gear/script_translator.cc:490:23: error: ‘exp’ was not declared in this scope + 490 | cand->set_quality(exp(entry->weight) + + | ^~~ +/tmp/guix-build-librime-1.7.3.drv-0/source/src/rime/gear/script_translator.cc:504:23: error: ‘exp’ was not declared in this scope + 504 | cand->set_quality(exp(entry->weight) + + | ^~~ +make[2]: *** [src/CMakeFiles/rime.dir/build.make:1241: src/CMakeFiles/rime.dir/rime/gear/script_translator.cc.o] Error 1 +------ + +diff --git a/src/rime/gear/script_translator.cc b/src/rime/gear/script_translator.cc +index 4a45f05..515c8db 100644 +--- a/src/rime/gear/script_translator.cc ++++ b/src/rime/gear/script_translator.cc +@@ -7,6 +7,7 @@ + // 2011-07-10 GONG Chen <chen.sst@gmail.com> + // + #include <algorithm> ++#include <cmath> + #include <stack> + #include <boost/algorithm/string/join.hpp> + #include <boost/range/adaptor/reversed.hpp> +diff --git a/src/rime/gear/table_translator.cc b/src/rime/gear/table_translator.cc +index 162ac02..dbea76a 100644 +--- a/src/rime/gear/table_translator.cc ++++ b/src/rime/gear/table_translator.cc +@@ -4,6 +4,7 @@ + // + // 2011-07-10 GONG Chen <chen.sst@gmail.com> + // ++#include <cmath> + #include <boost/algorithm/string.hpp> + #include <boost/range/adaptor/reversed.hpp> + #include <utf8.h> diff --git a/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch b/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch new file mode 100644 index 0000000000..f6bc639f33 --- /dev/null +++ b/gnu/packages/patches/llvm-roc-3.0.0-add_libraries.patch @@ -0,0 +1,22 @@ +Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files + +diff -Naur a/clang/lib/Basic/CMakeLists.txt b/clang/lib/Basic/CMakeLists.txt +--- a/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:49.119055933 +0100 ++++ b/clang/lib/Basic/CMakeLists.txt 2019-12-28 07:42:13.265056070 +0100 +@@ -2,6 +2,7 @@ + Core + MC + Support ++ Option + ) + + find_first_existing_vc_file("${LLVM_MAIN_SRC_DIR}" llvm_vc) +diff -Naur a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt +--- a/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:41:39.521056199 +0100 ++++ b/clang/lib/Driver/CMakeLists.txt 2019-12-28 07:40:23.998056487 +0100 +@@ -79,4 +79,5 @@ + LINK_LIBS + clangBasic + ${system_libs} ++ pthread + ) diff --git a/gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch b/gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch new file mode 100644 index 0000000000..f14ec4ac0d --- /dev/null +++ b/gnu/packages/patches/llvm-roc-4.0.0-remove-isystem-usr-include.patch @@ -0,0 +1,29 @@ +Author: Wilfried (justxi) Holzke + +Adopted from https://github.com/justxi/rocm/blob/master/sys-devel/llvm-roc/files/llvm-roc-4.0.0-remove-isystem-usr-include.patch + +Index: llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp +=================================================================== +--- llvm-project-rocm-4.0.0.orig/clang/lib/Driver/ToolChains/AMDGPU.cpp ++++ llvm-project-rocm-4.0.0/clang/lib/Driver/ToolChains/AMDGPU.cpp +@@ -326,11 +326,6 @@ void RocmInstallationDetector::AddHIPInc + // + // ROCm 3.5 does not fully support the wrapper headers. Therefore it needs + // a workaround. +- SmallString<128> P(D.ResourceDir); +- if (UsesRuntimeWrapper) +- llvm::sys::path::append(P, "include", "cuda_wrappers"); +- CC1Args.push_back("-internal-isystem"); +- CC1Args.push_back(DriverArgs.MakeArgString(P)); + } + + if (DriverArgs.hasArg(options::OPT_nogpuinc)) +@@ -341,8 +336,6 @@ void RocmInstallationDetector::AddHIPInc + return; + } + +- CC1Args.push_back("-internal-isystem"); +- CC1Args.push_back(DriverArgs.MakeArgString(getIncludePath())); + if (UsesRuntimeWrapper) + CC1Args.append({"-include", "__clang_hip_runtime_wrapper.h"}); + } diff --git a/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch b/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch new file mode 100644 index 0000000000..f1762a558b --- /dev/null +++ b/gnu/packages/patches/llvm-roc-4.2.0-add_Object.patch @@ -0,0 +1,13 @@ +Taken from https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-devel/llvm-roc/files + +diff --color -uprN orig/lib/Target/AMDGPU/Disassembler/CMakeLists.txt llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt +--- a/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:57:54.222796911 +0800 ++++ b/llvm/lib/Target/AMDGPU/Disassembler/CMakeLists.txt 2021-06-14 11:58:35.206796875 +0800 +@@ -11,6 +11,7 @@ add_llvm_component_library(LLVMAMDGPUDis + MC + MCDisassembler + Support ++ Object + + ADD_TO_COMPONENT + AMDGPU diff --git a/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch b/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch deleted file mode 100644 index 2a1c81648b..0000000000 --- a/gnu/packages/patches/mailutils-fix-uninitialized-variable.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 5ca6382fe8adb5bc436a6d873c8b86c69d5abfd1 Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff <gray@gnu.org> -Date: Sun, 13 Sep 2020 14:43:46 +0300 -Subject: [PATCH] Fix uninitialized variable in readmsg - -* readmsg/readmsg.c (main): Initialize weedc. ---- - readmsg/readmsg.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/readmsg/readmsg.c b/readmsg/readmsg.c -index 9f305bb9c..3a9f420db 100644 ---- a/readmsg/readmsg.c -+++ b/readmsg/readmsg.c -@@ -466,7 +466,7 @@ main (int argc, char **argv) - mu_mailbox_t mbox = NULL; - struct mu_wordsplit ws; - char **weedv; -- int weedc; -+ int weedc = 0; - int unix_header = 0; - - /* Native Language Support */ --- -2.28.0 - diff --git a/gnu/packages/patches/mailutils-variable-lookup.patch b/gnu/packages/patches/mailutils-variable-lookup.patch new file mode 100644 index 0000000000..0069f3596d --- /dev/null +++ b/gnu/packages/patches/mailutils-variable-lookup.patch @@ -0,0 +1,26 @@ +Have 'send-message' look up 'mu-debug' & co. in the right +module: <https://issues.guix.gnu.org/49968>. + +Submitted: https://lists.gnu.org/archive/html/bug-mailutils/2021-09/msg00000.html + +--- + include/mailutils/guile.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/include/mailutils/guile.h b/include/mailutils/guile.h +index f05550678..47f89db39 100644 +--- a/include/mailutils/guile.h ++++ b/include/mailutils/guile.h +@@ -20,7 +20,8 @@ + + #include <libguile.h> + +-#define MU_SCM_SYMBOL_VALUE(p) SCM_VARIABLE_REF(scm_c_lookup(p)) ++#define MU_SCM_SYMBOL_VALUE(p) \ ++ (scm_c_public_ref ("mailutils mailutils", p)) + + typedef struct + { +-- +2.33.0 + diff --git a/gnu/packages/patches/marble-qt-add-qt-headers.patch b/gnu/packages/patches/marble-qt-add-qt-headers.patch new file mode 100644 index 0000000000..77c58317ad --- /dev/null +++ b/gnu/packages/patches/marble-qt-add-qt-headers.patch @@ -0,0 +1,189 @@ +Adapted from Debian: https://salsa.debian.org/qt-kde-team/kde/marble/-/blob/debian/4%2517.08.3-3.1/debian/patches/qt5.11.patch +Upstream status: Probably irrelevant, as this is an old version of this software. + +diff --git a/src/lib/marble/MergedLayerDecorator.cpp b/src/lib/marble/MergedLayerDecorator.cpp +index 40f3ddb..bafff50 100644 +--- a/src/lib/marble/MergedLayerDecorator.cpp ++++ b/src/lib/marble/MergedLayerDecorator.cpp +@@ -36,6 +36,7 @@ + + #include <QPointer> + #include <QPainter> ++#include <QPainterPath> + + using namespace Marble; + +diff --git a/src/lib/marble/VisiblePlacemark.cpp b/src/lib/marble/VisiblePlacemark.cpp +index cfe08af..1a84006 100644 +--- a/src/lib/marble/VisiblePlacemark.cpp ++++ b/src/lib/marble/VisiblePlacemark.cpp +@@ -22,6 +22,7 @@ + + #include <QApplication> + #include <QPainter> ++#include <QPainterPath> + #include <QPalette> + #include <QPixmapCache> + +diff --git a/src/lib/marble/graphicsview/FrameGraphicsItem.cpp b/src/lib/marble/graphicsview/FrameGraphicsItem.cpp +index 8a90526..065f245 100644 +--- a/src/lib/marble/graphicsview/FrameGraphicsItem.cpp ++++ b/src/lib/marble/graphicsview/FrameGraphicsItem.cpp +@@ -18,6 +18,7 @@ + // Qt + #include <QSizeF> + #include <QPainter> ++#include <QPainterPath> + #include <QPixmapCache> + #include <QMargins> + #include <qdrawutil.h> +diff --git a/src/lib/marble/layers/GroundLayer.cpp b/src/lib/marble/layers/GroundLayer.cpp +index 58d409f..df6d226 100644 +--- a/src/lib/marble/layers/GroundLayer.cpp ++++ b/src/lib/marble/layers/GroundLayer.cpp +@@ -14,6 +14,9 @@ + #include "ViewportParams.h" + #include "RenderState.h" + ++#include <QPainter> ++#include <QPainterPath> ++ + namespace Marble + { + +diff --git a/src/plugins/render/compass/CompassFloatItem.cpp b/src/plugins/render/compass/CompassFloatItem.cpp +index d8dc021..66095cc 100644 +--- a/src/plugins/render/compass/CompassFloatItem.cpp ++++ b/src/plugins/render/compass/CompassFloatItem.cpp +@@ -19,6 +19,7 @@ + #include <QRect> + #include <QColor> + #include <QPainter> ++#include <QPainterPath> + #include <QPushButton> + #include <QSvgRenderer> + +diff --git a/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp b/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp +index a790c16..96f5bed 100644 +--- a/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp ++++ b/src/plugins/render/elevationprofilefloatitem/ElevationProfileFloatItem.cpp +@@ -31,6 +31,7 @@ + #include <QContextMenuEvent> + #include <QRect> + #include <QPainter> ++#include <QPainterPath> + #include <QPushButton> + #include <QMenu> + #include <QMouseEvent> +diff --git a/src/plugins/render/foursquare/FoursquareItem.cpp b/src/plugins/render/foursquare/FoursquareItem.cpp +index d9e1f57..ef80472 100644 +--- a/src/plugins/render/foursquare/FoursquareItem.cpp ++++ b/src/plugins/render/foursquare/FoursquareItem.cpp +@@ -13,6 +13,8 @@ + #include "ViewportParams.h" + + #include <QFontMetrics> ++#include <QPainter> ++#include <QPainterPath> + + namespace Marble + { +diff --git a/src/plugins/render/gpsinfo/GpsInfo.cpp b/src/plugins/render/gpsinfo/GpsInfo.cpp +index 522e907..20fd75a 100644 +--- a/src/plugins/render/gpsinfo/GpsInfo.cpp ++++ b/src/plugins/render/gpsinfo/GpsInfo.cpp +@@ -21,6 +21,8 @@ + #include "ViewportParams.h" + #include "GeoDataAccuracy.h" + ++#include <QIcon> ++ + namespace Marble + { + +diff --git a/src/plugins/render/license/License.cpp b/src/plugins/render/license/License.cpp +index 511dfc0..9436083 100644 +--- a/src/plugins/render/license/License.cpp ++++ b/src/plugins/render/license/License.cpp +@@ -23,6 +23,7 @@ + #include <QCommonStyle> + #include <QContextMenuEvent> + #include <QPainter> ++#include <QPainterPath> + #include <QLabel> + #include <QMenu> + #include <QMouseEvent> +diff --git a/src/plugins/render/notes/NotesItem.cpp b/src/plugins/render/notes/NotesItem.cpp +index 9d0961f..0c9fe99 100644 +--- a/src/plugins/render/notes/NotesItem.cpp ++++ b/src/plugins/render/notes/NotesItem.cpp +@@ -9,6 +9,7 @@ + #include "MarbleDirs.h" + + #include <QPainter> ++#include <QPainterPath> + #include <QRect> + + using namespace Marble; +diff --git a/src/plugins/render/postalcode/PostalCodeItem.cpp b/src/plugins/render/postalcode/PostalCodeItem.cpp +index 772c0b2..0ff7957 100644 +--- a/src/plugins/render/postalcode/PostalCodeItem.cpp ++++ b/src/plugins/render/postalcode/PostalCodeItem.cpp +@@ -17,6 +17,7 @@ + // Qt + #include <QFontMetrics> + #include <QPainter> ++#include <QPainterPath> + + using namespace Marble; + +diff --git a/src/plugins/render/progress/ProgressFloatItem.cpp b/src/plugins/render/progress/ProgressFloatItem.cpp +index a465857..6e2452c 100644 +--- a/src/plugins/render/progress/ProgressFloatItem.cpp ++++ b/src/plugins/render/progress/ProgressFloatItem.cpp +@@ -22,6 +22,7 @@ + #include <QColor> + #include <QPaintDevice> + #include <QPainter> ++#include <QPainterPath> + + namespace Marble + { +diff --git a/src/plugins/render/satellites/SatellitesPlugin.cpp b/src/plugins/render/satellites/SatellitesPlugin.cpp +index 04d8321..0a43d24 100644 +--- a/src/plugins/render/satellites/SatellitesPlugin.cpp ++++ b/src/plugins/render/satellites/SatellitesPlugin.cpp +@@ -25,6 +25,7 @@ + + #include "ui_SatellitesConfigDialog.h" + ++#include <QAction> + #include <QUrl> + #include <QMouseEvent> + +diff --git a/src/plugins/render/speedometer/Speedometer.cpp b/src/plugins/render/speedometer/Speedometer.cpp +index 6e9c532..f40a174 100644 +--- a/src/plugins/render/speedometer/Speedometer.cpp ++++ b/src/plugins/render/speedometer/Speedometer.cpp +@@ -19,6 +19,8 @@ + #include "MarbleGraphicsGridLayout.h" + #include "ViewportParams.h" + ++#include <QIcon> ++ + namespace Marble + { + +diff --git a/src/plugins/render/stars/StarsPlugin.cpp b/src/plugins/render/stars/StarsPlugin.cpp +index 6599545..482680f 100644 +--- a/src/plugins/render/stars/StarsPlugin.cpp ++++ b/src/plugins/render/stars/StarsPlugin.cpp +@@ -19,6 +19,8 @@ + #include <QContextMenuEvent> + #include <QMenu> + #include <QColorDialog> ++#include <QPainter> ++#include <QPainterPath> + #include <qmath.h> + + #include "MarbleClock.h" diff --git a/gnu/packages/patches/mesa-opencl-all-targets.patch b/gnu/packages/patches/mesa-opencl-all-targets.patch new file mode 100644 index 0000000000..99d4abcea4 --- /dev/null +++ b/gnu/packages/patches/mesa-opencl-all-targets.patch @@ -0,0 +1,25 @@ +This patch restores LLVM targets needed for OpenCL, *reverting* this +upstream commit: + + From 80817b6e344258ac9b955f824ebf9019a0fc1610 Mon Sep 17 00:00:00 2001 + From: Jesse Natalie <jenatali@microsoft.com> + Date: Wed, 18 Nov 2020 18:30:30 -0800 + Subject: [PATCH] meson: Adjust Clover's required LLVM modules + +diff --git a/meson.build b/meson.build +index 6d1607c35a3..f828eb80faa 100644 +--- b/meson.build ++++ a/meson.build +@@ -1479,10 +1479,9 @@ + endif + if with_gallium_opencl + llvm_modules += [ +- 'linker', 'coverage', 'instrumentation', 'ipo', 'irreader', +- 'lto', 'option', 'objcarcopts', 'profiledata' ++ 'all-targets', 'linker', 'coverage', 'instrumentation', 'ipo', 'irreader', ++ 'lto', 'option', 'objcarcopts', 'profiledata', + ] +- llvm_optional_modules += ['frontendopenmp'] + endif + if with_microsoft_clc + llvm_modules += ['target', 'linker', 'irreader', 'option', 'libdriver'] diff --git a/gnu/packages/patches/mesa-skip-tests.patch b/gnu/packages/patches/mesa-skip-tests.patch index 2622d5d312..8f587ea7ef 100644 --- a/gnu/packages/patches/mesa-skip-tests.patch +++ b/gnu/packages/patches/mesa-skip-tests.patch @@ -1,23 +1,3 @@ -disk_cache_create() here looks up the users home directory from <pwd.h> -which resolves to "/" in the build environment. I could not find an easy -way to set the home directory to something else, so we disable this test -for now. - ---- a/src/compiler/glsl/tests/cache_test.c -+++ b/src/compiler/glsl/tests/cache_test.c -@@ -170,11 +170,6 @@ - unsetenv("MESA_GLSL_CACHE_DIR"); - unsetenv("XDG_CACHE_HOME"); - -- cache = disk_cache_create("test", "make_check", 0); -- expect_non_null(cache, "disk_cache_create with no environment variables"); -- -- disk_cache_destroy(cache); -- - /* Test with XDG_CACHE_HOME set */ - setenv("XDG_CACHE_HOME", CACHE_TEST_TMP "/xdg-cache-home", 1); - cache = disk_cache_create("test", "make_check", 0); - This test fails on i686-linux. I couldn't come up with a regex that could be used to disable it just on i686-linux, so we disable it completely with this patch: diff --git a/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch b/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch new file mode 100644 index 0000000000..a74034a2c5 --- /dev/null +++ b/gnu/packages/patches/minetest-add-MINETEST_MOD_PATH.patch @@ -0,0 +1,156 @@ +From d10ea2ad7efc2364a8a2007b4c6d3e85511e2f84 Mon Sep 17 00:00:00 2001 +From: Maxime Devos <maximedevos@telenet.be> +Date: Tue, 3 Aug 2021 01:00:23 +0200 +Subject: [PATCH] Add environment variable MINETEST_MOD_PATH + +This adds an environment variable MINETEST_MOD_PATH. +When it exists, Minetest will look there for mods +in addition to ~/.minetest/mods/. Mods can still be +installed to ~/.minetest/mods/ with the built-in installer. + +With thanks to Leo Prikler. +--- + builtin/mainmenu/pkgmgr.lua | 7 +++---- + doc/menu_lua_api.txt | 8 +++++++- + src/content/subgames.cpp | 11 +++++++++++ + src/script/lua_api/l_mainmenu.cpp | 23 +++++++++++++++++++++++ + src/script/lua_api/l_mainmenu.h | 2 ++ + 5 files changed, 46 insertions(+), 5 deletions(-) + +diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua +index 787936e31..d8fba0ebe 100644 +--- a/builtin/mainmenu/pkgmgr.lua ++++ b/builtin/mainmenu/pkgmgr.lua +@@ -682,10 +682,9 @@ function pkgmgr.preparemodlist(data) + local game_mods = {} + + --read global mods +- local modpath = core.get_modpath() +- +- if modpath ~= nil and +- modpath ~= "" then ++ local modpaths = core.get_modpaths() ++ --XXX what was ‘modpath ~= ""’ and ‘modpath ~= nil’ for? ++ for _,modpath in ipairs(modpaths) do + get_mods(modpath,global_mods) + end + +diff --git a/doc/menu_lua_api.txt b/doc/menu_lua_api.txt +index b3975bc1d..132444b14 100644 +--- a/doc/menu_lua_api.txt ++++ b/doc/menu_lua_api.txt +@@ -218,7 +218,13 @@ Package - content which is downloadable from the content db, may or may not be i + * returns path to global user data, + the directory that contains user-provided mods, worlds, games, and texture packs. + * core.get_modpath() (possible in async calls) +- * returns path to global modpath ++ * returns path to global modpath, where mods can be installed ++* core.get_modpaths() (possible in async calls) ++ * returns list of paths to global modpaths, where mods have been installed ++ ++ The difference with "core.get_modpath" is that no mods should be installed in these ++ directories by Minetest -- they might be read-only. ++ + * core.get_clientmodpath() (possible in async calls) + * returns path to global client-side modpath + * core.get_gamepath() (possible in async calls) +diff --git a/src/content/subgames.cpp b/src/content/subgames.cpp +index e9dc609b0..d73f95a1f 100644 +--- a/src/content/subgames.cpp ++++ b/src/content/subgames.cpp +@@ -61,6 +61,12 @@ std::string getSubgamePathEnv() + return subgame_path ? std::string(subgame_path) : ""; + } + ++std::string getModPathEnv() ++{ ++ char *mod_path = getenv("MINETEST_MOD_PATH"); ++ return mod_path ? std::string(mod_path) : ""; ++} ++ + SubgameSpec findSubgame(const std::string &id) + { + if (id.empty()) +@@ -110,6 +116,11 @@ SubgameSpec findSubgame(const std::string &id) + std::set<std::string> mods_paths; + if (!user_game) + mods_paths.insert(share + DIR_DELIM + "mods"); ++ ++ Strfnd mod_search_paths(getModPathEnv()); ++ while (!mod_search_paths.at_end()) ++ mods_paths.insert(mod_search_paths.next(PATH_DELIM)); ++ + if (user != share || user_game) + mods_paths.insert(user + DIR_DELIM + "mods"); + +diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp +index 3e9709bde..903ac3a22 100644 +--- a/src/script/lua_api/l_mainmenu.cpp ++++ b/src/script/lua_api/l_mainmenu.cpp +@@ -21,6 +21,7 @@ with this program; if not, write to the Free Software Foundation, Inc., + #include "lua_api/l_internal.h" + #include "common/c_content.h" + #include "cpp_api/s_async.h" ++#include "util/strfnd.h" + #include "gui/guiEngine.h" + #include "gui/guiMainMenu.h" + #include "gui/guiKeyChangeMenu.h" +@@ -502,6 +503,26 @@ int ModApiMainMenu::l_get_modpath(lua_State *L) + return 1; + } + ++/******************************************************************************/ ++int ModApiMainMenu::l_get_modpaths(lua_State *L) ++{ ++ const char *c_modpath = getenv("MINETEST_MOD_PATH"); ++ if (c_modpath == NULL) ++ c_modpath = ""; ++ int index = 1; ++ lua_newtable(L); ++ Strfnd mod_search_paths{std::string(c_modpath)}; ++ while (!mod_search_paths.at_end()) { ++ std::string component = mod_search_paths.next(PATH_DELIM); ++ lua_pushstring(L, component.c_str()); ++ lua_rawseti(L, -2, index); ++ index++; ++ } ++ ModApiMainMenu::l_get_modpath(L); ++ lua_rawseti(L, -2, index); ++ return 1; ++} ++ + /******************************************************************************/ + int ModApiMainMenu::l_get_clientmodpath(lua_State *L) + { +@@ -949,6 +970,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top) + API_FCT(get_mapgen_names); + API_FCT(get_user_path); + API_FCT(get_modpath); ++ API_FCT(get_modpaths); + API_FCT(get_clientmodpath); + API_FCT(get_gamepath); + API_FCT(get_texturepath); +@@ -983,6 +1005,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top) + API_FCT(get_mapgen_names); + API_FCT(get_user_path); + API_FCT(get_modpath); ++ API_FCT(get_modpaths); + API_FCT(get_clientmodpath); + API_FCT(get_gamepath); + API_FCT(get_texturepath); +diff --git a/src/script/lua_api/l_mainmenu.h b/src/script/lua_api/l_mainmenu.h +index 33ac9e721..a6a54a2cb 100644 +--- a/src/script/lua_api/l_mainmenu.h ++++ b/src/script/lua_api/l_mainmenu.h +@@ -112,6 +112,8 @@ class ModApiMainMenu: public ModApiBase + + static int l_get_modpath(lua_State *L); + ++ static int l_get_modpaths(lua_State *L); ++ + static int l_get_clientmodpath(lua_State *L); + + static int l_get_gamepath(lua_State *L); +-- +2.32.0 + diff --git a/gnu/packages/patches/mpg321-gcc-10.patch b/gnu/packages/patches/mpg321-gcc-10.patch new file mode 100644 index 0000000000..8966d9f7c8 --- /dev/null +++ b/gnu/packages/patches/mpg321-gcc-10.patch @@ -0,0 +1,83 @@ +From f930c3b81bdf9c05152fb005562b3869f6e36f34 Mon Sep 17 00:00:00 2001 +From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com> +Date: Thu, 4 Jun 2020 20:41:25 +0300 +Subject: [PATCH] Fix GCC10 compilation + +--- + mpg321.c | 8 ++++++++ + mpg321.h | 16 ++++++++-------- + 2 files changed, 16 insertions(+), 8 deletions(-) + +diff --git a/mpg321.c b/mpg321.c +index 19282bb..663882e 100644 +--- a/mpg321.c ++++ b/mpg321.c +@@ -63,6 +63,14 @@ + #include <pthread.h> + #include <semaphore.h> + ++output_frame *Output_Queue; ++decoded_frames *Decoded_Frames; ++int semarray; ++int mad_decoder_position; ++int output_buffer_position; ++double real[FFT_BUFFER_SIZE]; ++double imag[FFT_BUFFER_SIZE]; ++int loop_remaining; + + int pflag = 0; + int volume = 0; +diff --git a/mpg321.h b/mpg321.h +index 798bff0..235cf4a 100644 +--- a/mpg321.h ++++ b/mpg321.h +@@ -116,7 +116,7 @@ extern char *playlist_file; + extern int quit_now; + extern char remote_input_buf[PATH_MAX + 5]; + extern int file_change; +-int loop_remaining; ++extern int loop_remaining; + + extern int status; + extern int scrobbler_time; +@@ -233,8 +233,8 @@ RETSIGTYPE handle_sigchld(int sig); + #define FFT_BUFFER_SIZE_LOG 9 + #define FFT_BUFFER_SIZE (1 << FFT_BUFFER_SIZE_LOG) /* 512 */ + /*Temporary data stores to perform FFT in */ +-double real[FFT_BUFFER_SIZE]; +-double imag[FFT_BUFFER_SIZE]; ++extern double real[FFT_BUFFER_SIZE]; ++extern double imag[FFT_BUFFER_SIZE]; + + typedef struct { + double real[FFT_BUFFER_SIZE]; +@@ -258,10 +258,10 @@ fft_state *fft_init(void); + /* Output buffer process */ + void frame_buffer_p(); + /* Semaphore array */ +-int semarray; ++extern int semarray; + /* Input/Output buffer position */ +-int mad_decoder_position; +-int output_buffer_position; ++extern int mad_decoder_position; ++extern int output_buffer_position; + /* Output Frame including needed information */ + typedef struct { + unsigned char data[4*1152]; +@@ -285,10 +285,10 @@ typedef struct { + } decoded_frames; + + /* Output frame queue pointer */ +-output_frame *Output_Queue; ++extern output_frame *Output_Queue; + + /* Shared total decoded frames */ +-decoded_frames *Decoded_Frames; ++extern decoded_frames *Decoded_Frames; + + #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) + /* */ +-- +2.26.2 + diff --git a/gnu/packages/patches/ocaml-4.09-multiple-definitions.patch b/gnu/packages/patches/ocaml-4.09-multiple-definitions.patch new file mode 100644 index 0000000000..b2661f822c --- /dev/null +++ b/gnu/packages/patches/ocaml-4.09-multiple-definitions.patch @@ -0,0 +1,41 @@ +Avoid multiply-defined symbols that lead to link errors such as: + + ld: libcamlrund.a(backtrace_bd.o):/tmp/guix-build-ocaml-4.09.0.drv-0/ocaml-4.09.0/runtime/backtrace.c:31: multiple definition of `caml_debug_info'; libcamlrund.a(backtrace_byt_bd.o):/tmp/guix-build-ocaml-4.09.0.drv-0/ocaml-4.09.0/runtime/backtrace_byt.c:47: first defined here + +diff --git a/runtime/backtrace.c b/runtime/backtrace.c +index a3c2c08..f57c81c 100644 +--- a/runtime/backtrace.c ++++ b/runtime/backtrace.c +@@ -28,7 +28,7 @@ + #include "caml/fail.h" + + /* The table of debug information fragments */ +-struct ext_table caml_debug_info; ++static struct ext_table caml_debug_info; + + CAMLexport int32_t caml_backtrace_active = 0; + CAMLexport int32_t caml_backtrace_pos = 0; +diff --git a/runtime/backtrace_byt.c b/runtime/backtrace_byt.c +index b913dac..b5ec926 100644 +--- a/runtime/backtrace_byt.c ++++ b/runtime/backtrace_byt.c +@@ -44,7 +44,7 @@ + #include "caml/backtrace_prim.h" + + /* The table of debug information fragments */ +-struct ext_table caml_debug_info; ++static struct ext_table caml_debug_info; + + CAMLexport char_os * caml_cds_file = NULL; + +diff --git a/runtime/startup_nat.c b/runtime/startup_nat.c +index b4e6bc4..7eca5fa 100644 +--- a/runtime/startup_nat.c ++++ b/runtime/startup_nat.c +@@ -44,6 +44,5 @@ + #endif + + extern int caml_parser_trace; +-CAMLexport header_t caml_atom_table[256]; + char * caml_code_area_start, * caml_code_area_end; + struct ext_table caml_code_fragments_table; diff --git a/gnu/packages/patches/ocaml-multiple-definitions.patch b/gnu/packages/patches/ocaml-multiple-definitions.patch new file mode 100644 index 0000000000..e8678f4f64 --- /dev/null +++ b/gnu/packages/patches/ocaml-multiple-definitions.patch @@ -0,0 +1,43 @@ +Avoid multiply-defined symbols that lead to link errors such as: + + gcc -O2 -fno-strict-aliasing -fwrapv -Wall -fno-tree-vrp -g -D_FILE_OFFSET_BITS=64 -D_REENTRANT -DCAML_NAME_SPACE -Wl,-E -o ocamlruni prims.o libcamlruni.a -lm -ldl -lpthread + ld: libcamlruni.a(backtrace.i.o):/tmp/guix-build-ocaml-4.07.1.drv-0/ocaml-4.07.1/byterun/backtrace.c:31: multiple definition of `caml_debug_info'; libcamlruni.a(backtrace_prim.i.o):/tmp/guix-build-ocaml-4.07.1.drv-0/ocaml-4.07.1/byterun/backtrace_prim.c:47: first defined here + +diff --git a/asmrun/startup.c b/asmrun/startup.c +index 070f0c6..cf8a56f 100644 +--- a/asmrun/startup.c ++++ b/asmrun/startup.c +@@ -44,7 +44,6 @@ + #endif + + extern int caml_parser_trace; +-CAMLexport header_t caml_atom_table[256]; + char * caml_code_area_start, * caml_code_area_end; + struct ext_table caml_code_fragments_table; + +diff --git a/byterun/backtrace.c b/byterun/backtrace.c +index 8dfe9b7..9cc9e72 100644 +--- a/byterun/backtrace.c ++++ b/byterun/backtrace.c +@@ -28,7 +28,7 @@ + #include "caml/fail.h" + + /* The table of debug information fragments */ +-struct ext_table caml_debug_info; ++static struct ext_table caml_debug_info; + + CAMLexport int32_t caml_backtrace_active = 0; + CAMLexport int32_t caml_backtrace_pos = 0; +diff --git a/byterun/backtrace_prim.c b/byterun/backtrace_prim.c +index e69b256..d794f73 100644 +--- a/byterun/backtrace_prim.c ++++ b/byterun/backtrace_prim.c +@@ -44,7 +44,7 @@ + #include "caml/backtrace_prim.h" + + /* The table of debug information fragments */ +-struct ext_table caml_debug_info; ++static struct ext_table caml_debug_info; + + CAMLexport char_os * caml_cds_file = NULL; + diff --git a/gnu/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch b/gnu/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch new file mode 100644 index 0000000000..b437bfb061 --- /dev/null +++ b/gnu/packages/patches/ocaml-ppx-variants-ppxlib-api-change.patch @@ -0,0 +1,42 @@ +From 6103f6fc56f978c847ba7c1f2d9f38ee93a5e337 Mon Sep 17 00:00:00 2001 +From: Sonja Heinze <sonjaleaheinze@gmail.com> +Date: Tue, 9 Mar 2021 12:57:47 +0100 +Subject: [PATCH] Adapt to Ppxlib's API change + +Ppxlib is removing Lexer.keyword_table from the API in exchange for +the more lightweight Keyword.is_keyword. + +Signed-off-by: Sonja Heinze <sonjaleaheinze@gmail.com> +--- +Patch from <https://github.com/janestreet/ppx_variants_conv/pull/9>. + + ppx_variants_conv.opam | 2 +- + src/ppx_variants_conv.ml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ppx_variants_conv.opam b/ppx_variants_conv.opam +index 7e7148d..b56040f 100644 +--- a/ppx_variants_conv.opam ++++ b/ppx_variants_conv.opam +@@ -15,7 +15,7 @@ depends: [ + "base" {>= "v0.14" & < "v0.15"} + "variantslib" {>= "v0.14" & < "v0.15"} + "dune" {>= "2.0.0"} +- "ppxlib" {>= "0.14.0"} ++ "ppxlib" {>= "0.23.0"} + ] + synopsis: "Generation of accessor and iteration functions for ocaml variant types" + description: " +diff --git a/src/ppx_variants_conv.ml b/src/ppx_variants_conv.ml +index 8d60086..112fc78 100644 +--- a/src/ppx_variants_conv.ml ++++ b/src/ppx_variants_conv.ml +@@ -66,7 +66,7 @@ end + + let variant_name_to_string v = + let s = String.lowercase v in +- if Caml.Hashtbl.mem Lexer.keyword_table s ++ if Keyword.is_keyword s + then s ^ "_" + else s + diff --git a/gnu/packages/patches/onnx-optimizer-system-library.patch b/gnu/packages/patches/onnx-optimizer-system-library.patch new file mode 100644 index 0000000000..5c592597e0 --- /dev/null +++ b/gnu/packages/patches/onnx-optimizer-system-library.patch @@ -0,0 +1,53 @@ +Arrange so that onnx-optimizer (1) uses our own ONNX build, +(2) builds as a shared library, and (3) links against the shared +libraries of ONNX. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c2e48b35..8af51076 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -9,8 +9,6 @@ endif(NOT MSVC) + + set(CMAKE_POSITION_INDEPENDENT_CODE ON) + +-set(ONNX_ROOT ${PROJECT_SOURCE_DIR}/third_party/onnx) +-add_subdirectory(${ONNX_ROOT}) + + file(READ "${PROJECT_SOURCE_DIR}/VERSION_NUMBER" ONNX_OPTIMIZER_VERSION) + string(STRIP "${ONNX_OPTIMIZER_VERSION}" ONNX_OPTIMIZER_VERSION) +@@ -21,14 +19,18 @@ file(GLOB_RECURSE onnx_opt_srcs "onnxoptimizer/*.cc" + list(REMOVE_ITEM onnx_opt_srcs "${PROJECT_SOURCE_DIR}/onnxoptimizer/cpp2py_export.cc") + + add_library(onnx_optimizer ${onnx_opt_srcs}) +-target_link_libraries(onnx_optimizer PUBLIC onnx) ++target_link_libraries(onnx_optimizer PUBLIC onnx onnx_proto) + target_include_directories(onnx_optimizer PUBLIC + $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}> + $<INSTALL_INTERFACE:include> + ) + ++# These cpp macros must be defined so the ONNX headers behave ++# correctly. ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DONNX_ML=1 -DONNX_NAMESPACE=onnx") ++ + add_executable(onnx_optimizer_exec examples/onnx_optimizer_exec.cpp) +-target_link_libraries(onnx_optimizer_exec onnx_optimizer) ++target_link_libraries(onnx_optimizer_exec onnx_optimizer protobuf) + + if(BUILD_ONNX_PYTHON) + if("${PY_EXT_SUFFIX}" STREQUAL "") +@@ -79,11 +81,10 @@ if(BUILD_ONNX_PYTHON) + PRIVATE $<TARGET_OBJECTS:onnx_optimizer>) + else() + # Assume everything else is like gcc +- target_link_libraries(onnx_opt_cpp2py_export +- PRIVATE "-Wl,--whole-archive" $<TARGET_FILE:onnx_optimizer> +- "-Wl,--no-whole-archive") ++ target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer) + set_target_properties(onnx_opt_cpp2py_export +- PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL") ++ PROPERTIES LINK_FLAGS ++ "-Wl,-rpath=${CMAKE_INSTALL_PREFIX}/lib") + endif() + + target_link_libraries(onnx_opt_cpp2py_export PRIVATE onnx_optimizer) diff --git a/gnu/packages/patches/onnx-shared-libraries.patch b/gnu/packages/patches/onnx-shared-libraries.patch new file mode 100644 index 0000000000..00583b35da --- /dev/null +++ b/gnu/packages/patches/onnx-shared-libraries.patch @@ -0,0 +1,24 @@ +These linker options for the 'onnx_cpp2py_export.cpython-38-*-gnu.so' +(or similar) extension are meant to be used when building 'libonn.a', +a static archive. This patch adapts the link flags to linking with +'libonnx.so'. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index cede3073..52f846ed 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -475,11 +475,10 @@ if(BUILD_ONNX_PYTHON) + PRIVATE $<TARGET_OBJECTS:onnx>) + else() + # Assume everything else is like gcc +- target_link_libraries(onnx_cpp2py_export +- PRIVATE "-Wl,--whole-archive" $<TARGET_FILE:onnx> +- "-Wl,--no-whole-archive") ++ target_link_libraries(onnx_cpp2py_export PRIVATE onnx) + set_target_properties(onnx_cpp2py_export +- PROPERTIES LINK_FLAGS "-Wl,--exclude-libs,ALL") ++ PROPERTIES LINK_FLAGS ++ "-Wl,-rpath=${CMAKE_INSTALL_PREFIX}/lib") + endif() + + target_link_libraries(onnx_cpp2py_export PRIVATE onnx) diff --git a/gnu/packages/patches/onnx-skip-model-downloads.patch b/gnu/packages/patches/onnx-skip-model-downloads.patch new file mode 100644 index 0000000000..4ab55b4ceb --- /dev/null +++ b/gnu/packages/patches/onnx-skip-model-downloads.patch @@ -0,0 +1,16 @@ +A few tests require downloading models from URLs such as + <https://s3.amazonaws.com/download.onnx/models/opset_9/zfnet512.tar.gz>. +Skip those. + +diff --git a/onnx/backend/test/runner/__init__.py b/onnx/backend/test/runner/__init__.py +index 049ed57b..f236f1bf 100644 +--- a/onnx/backend/test/runner/__init__.py ++++ b/onnx/backend/test/runner/__init__.py +@@ -202,6 +202,7 @@ class Runner(object): + print('Start downloading model {} from {}'.format( + model_test.model_name, + model_test.url)) ++ raise unittest.SkipTest('Skipping download') + urlretrieve(model_test.url, download_file.name) + print('Done') + with tarfile.open(download_file.name) as t: diff --git a/gnu/packages/patches/python-onnx-use-system-googletest.patch b/gnu/packages/patches/onnx-use-system-googletest.patch index 33d2fa12de..5dfcbc6dc3 100644 --- a/gnu/packages/patches/python-onnx-use-system-googletest.patch +++ b/gnu/packages/patches/onnx-use-system-googletest.patch @@ -1,3 +1,6 @@ +ONNX will build googletest from a Git checkout. Patch CMake to use our +googletest package and enable tests by default. + diff --git a/CMakeLists.txt b/CMakeLists.txt index 0aa9fda2..a573170c 100644 --- a/CMakeLists.txt diff --git a/gnu/packages/patches/pipewire-0.2.7-fno-common.patch b/gnu/packages/patches/pipewire-0.2.7-fno-common.patch new file mode 100644 index 0000000000..f7d9b25932 --- /dev/null +++ b/gnu/packages/patches/pipewire-0.2.7-fno-common.patch @@ -0,0 +1,51 @@ +Fixes 'multiple definition errors' when building with GCC 10+ + +From: https://bugs.gentoo.org/710796 +Originally from: https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a62e41e +and https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/7a976c7 + +--- a/spa/plugins/bluez5/a2dp-codecs.h ++++ b/spa/plugins/bluez5/a2dp-codecs.h +@@ -284,15 +284,15 @@ + } + } + +-const a2dp_sbc_t bluez_a2dp_sbc; ++extern const a2dp_sbc_t bluez_a2dp_sbc; + #if ENABLE_MP3 +-const a2dp_mpeg_t bluez_a2dp_mpeg; ++extern const a2dp_mpeg_t bluez_a2dp_mpeg; + #endif + #if ENABLE_AAC +-const a2dp_aac_t bluez_a2dp_aac; ++extern const a2dp_aac_t bluez_a2dp_aac; + #endif + #if ENABLE_APTX +-const a2dp_aptx_t bluez_a2dp_aptx; ++extern const a2dp_aptx_t bluez_a2dp_aptx; + #endif + + #endif +--- a/spa/plugins/bluez5/bluez5-monitor.c ++++ b/spa/plugins/bluez5/bluez5-monitor.c +@@ -75,7 +75,7 @@ + struct spa_list transport_list; + }; + +-struct spa_handle_factory spa_a2dp_sink_factory; ++extern struct spa_handle_factory spa_a2dp_sink_factory; + + static void fill_item(struct spa_bt_monitor *this, struct spa_bt_transport *transport, + struct spa_pod **result, struct spa_pod_builder *builder) +--- a/spa/plugins/bluez5/meson.build ++++ b/spa/plugins/bluez5/meson.build +@@ -1,7 +1,8 @@ + + bluez5_sources = ['plugin.c', + 'a2dp-sink.c', +- 'bluez5-monitor.c'] ++ 'a2dp-codecs.c', ++ 'bluez5-monitor.c'] + + bluez5lib = shared_library('spa-bluez5', + bluez5_sources, diff --git a/gnu/packages/patches/pthreadpool-system-libraries.patch b/gnu/packages/patches/pthreadpool-system-libraries.patch new file mode 100644 index 0000000000..3cfe9c1af6 --- /dev/null +++ b/gnu/packages/patches/pthreadpool-system-libraries.patch @@ -0,0 +1,79 @@ +This patch allows the build process to use the provided dependencies instead +of adding their source as CMake sub-directories (in which case "make install" +would install googletest's and googlebenchmark's libraries and headers). + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c1cba55..627550f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,7 +36,7 @@ MACRO(PTHREADPOOL_TARGET_ENABLE_CXX11 target) + ENDMACRO() + + # ---[ Download deps +-IF(NOT DEFINED FXDIV_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading FXdiv to ${CMAKE_BINARY_DIR}/FXdiv-source (define FXDIV_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadFXdiv.cmake "${CMAKE_BINARY_DIR}/FXdiv-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -46,7 +46,7 @@ IF(NOT DEFINED FXDIV_SOURCE_DIR) + SET(FXDIV_SOURCE_DIR "${CMAKE_BINARY_DIR}/FXdiv-source" CACHE STRING "FXdiv source directory") + ENDIF() + +-IF(PTHREADPOOL_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading Google Test to ${CMAKE_BINARY_DIR}/googletest-source (define GOOGLETEST_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleTest.cmake "${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -56,7 +56,7 @@ IF(PTHREADPOOL_BUILD_TESTS AND NOT DEFINED GOOGLETEST_SOURCE_DIR) + SET(GOOGLETEST_SOURCE_DIR "${CMAKE_BINARY_DIR}/googletest-source" CACHE STRING "Google Test source directory") + ENDIF() + +-IF(PTHREADPOOL_BUILD_BENCHMARKS AND NOT DEFINED GOOGLEBENCHMARK_SOURCE_DIR) ++IF(FALSE) + MESSAGE(STATUS "Downloading Google Benchmark to ${CMAKE_BINARY_DIR}/googlebenchmark-source (define GOOGLEBENCHMARK_SOURCE_DIR to avoid it)") + CONFIGURE_FILE(cmake/DownloadGoogleBenchmark.cmake "${CMAKE_BINARY_DIR}/googlebenchmark-download/CMakeLists.txt") + EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . +@@ -150,27 +150,18 @@ IF(CMAKE_SYSTEM_NAME STREQUAL "Linux") + ENDIF() + + # ---[ Configure FXdiv +-IF(NOT TARGET fxdiv) ++IF(FALSE) + SET(FXDIV_BUILD_TESTS OFF CACHE BOOL "") + SET(FXDIV_BUILD_BENCHMARKS OFF CACHE BOOL "") + ADD_SUBDIRECTORY( + "${FXDIV_SOURCE_DIR}" + "${CMAKE_BINARY_DIR}/FXdiv") + ENDIF() +-TARGET_LINK_LIBRARIES(pthreadpool PRIVATE fxdiv) +- + INSTALL(TARGETS pthreadpool + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + IF(PTHREADPOOL_BUILD_TESTS) +- # ---[ Build google test +- IF(NOT TARGET gtest) +- SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE) +- ADD_SUBDIRECTORY( +- "${GOOGLETEST_SOURCE_DIR}" +- "${CMAKE_BINARY_DIR}/googletest") +- ENDIF() + + ADD_EXECUTABLE(pthreadpool-test test/pthreadpool.cc) + SET_TARGET_PROPERTIES(pthreadpool-test PROPERTIES +@@ -188,14 +179,6 @@ IF(PTHREADPOOL_BUILD_TESTS) + ENDIF() + + IF(PTHREADPOOL_BUILD_BENCHMARKS) +- # ---[ Build google benchmark +- IF(NOT TARGET benchmark) +- SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "") +- ADD_SUBDIRECTORY( +- "${GOOGLEBENCHMARK_SOURCE_DIR}" +- "${CMAKE_BINARY_DIR}/googlebenchmark") +- ENDIF() +- + ADD_EXECUTABLE(latency-bench bench/latency.cc) + SET_TARGET_PROPERTIES(latency-bench PROPERTIES + CXX_STANDARD 11 diff --git a/gnu/packages/patches/pypy3-7.3.1-fix-tests.patch b/gnu/packages/patches/pypy3-7.3.1-fix-tests.patch deleted file mode 100644 index 464aad967f..0000000000 --- a/gnu/packages/patches/pypy3-7.3.1-fix-tests.patch +++ /dev/null @@ -1,278 +0,0 @@ -Fix a few testcases. Adapted from python-3-fix-tests.patch. - -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_callbacks.py pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_callbacks.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_callbacks.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_callbacks.py 2020-05-21 14:19:14.827288853 +0200 -@@ -4,6 +4,7 @@ - from ctypes import * - from ctypes.test import need_symbol - import _ctypes_test -+import platform - - class Callbacks(unittest.TestCase): - functype = CFUNCTYPE -@@ -178,6 +179,8 @@ - - self.assertLess(diff, 0.01, "%s not less than 0.01" % diff) - -+ @unittest.skipIf(platform.machine() in ['mips64'], -+ "This test fails on this platform") - def test_issue_8959_a(self): - from ctypes.util import find_library - libc_path = find_library("c") -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_libc.py pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_libc.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/ctypes/test/test_libc.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/ctypes/test/test_libc.py 2020-05-21 14:19:14.827288853 +0200 -@@ -2,6 +2,7 @@ - - from ctypes import * - import _ctypes_test -+import platform - - lib = CDLL(_ctypes_test.__file__) - -@@ -17,6 +18,8 @@ - import math - self.assertEqual(lib.my_sqrt(2.0), math.sqrt(2.0)) - -+ @unittest.skipIf(platform.machine() in ['mips64'], -+ "This test fails on this platform") - def test_qsort(self): - comparefunc = CFUNCTYPE(c_int, POINTER(c_char), POINTER(c_char)) - lib.my_qsort.argtypes = c_void_p, c_size_t, c_size_t, comparefunc -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_archive_util.py pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_archive_util.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_archive_util.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_archive_util.py 2020-05-21 14:19:14.827288853 +0200 -@@ -333,6 +333,7 @@ - self.assertEqual(os.path.basename(res), 'archive.tar.xz') - self.assertEqual(self._tarinfo(res), self._created_files) - -+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") - def test_make_archive_owner_group(self): - # testing make_archive with owner and group, with various combinations - # this works even if there's not gid/uid support -@@ -362,6 +363,7 @@ - - @unittest.skipUnless(ZLIB_SUPPORT, "Requires zlib") - @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support") -+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") - def test_tarfile_root_owner(self): - tmpdir = self._create_files() - base_name = os.path.join(self.mkdtemp(), 'archive') -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_sdist.py pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_sdist.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/distutils/tests/test_sdist.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/distutils/tests/test_sdist.py 2020-05-21 14:19:14.827288853 +0200 -@@ -443,6 +443,7 @@ - "The tar command is not found") - @unittest.skipIf(find_executable('gzip') is None, - "The gzip command is not found") -+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") - def test_make_distribution_owner_group(self): - # now building a sdist - dist, cmd = self.get_cmd() -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_asyncio/test_base_events.py pypy3.6-v7.3.1-src/lib-python/3/test/test_asyncio/test_base_events.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_asyncio/test_base_events.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_asyncio/test_base_events.py 2020-05-21 14:19:14.827288853 +0200 -@@ -1296,6 +1296,8 @@ - self._test_create_connection_ip_addr(m_socket, False) - - @patch_socket -+ @unittest.skipUnless(support.is_resource_enabled('network'), -+ 'network is not enabled') - def test_create_connection_service_name(self, m_socket): - m_socket.getaddrinfo = socket.getaddrinfo - sock = m_socket.socket.return_value -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_generators.py pypy3.6-v7.3.1-src/lib-python/3/test/test_generators.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_generators.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_generators.py 2020-05-21 14:19:14.827288853 +0200 -@@ -35,6 +35,7 @@ - else: - return "FAILED" - -+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment') - def test_raise_and_yield_from(self): - gen = self.generator1() - gen.send(None) -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/_test_multiprocessing.py pypy3.6-v7.3.1-src/lib-python/3/test/_test_multiprocessing.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/_test_multiprocessing.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/_test_multiprocessing.py 2020-05-21 14:19:14.827288853 +0200 -@@ -1212,6 +1212,7 @@ - if pid is not None: - os.kill(pid, signal.SIGINT) - -+ @unittest.skipIf(True, "This fails for unknown reasons on Guix") - def test_wait_result(self): - if isinstance(self, ProcessesMixin) and sys.platform != 'win32': - pid = os.getpid() -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_normalization.py pypy3.6-v7.3.1-src/lib-python/3/test/test_normalization.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_normalization.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_normalization.py 2020-05-21 14:19:14.827288853 +0200 -@@ -2,6 +2,7 @@ - import unittest - - from http.client import HTTPException -+from urllib.error import URLError - import sys - from unicodedata import normalize, unidata_version - -@@ -43,6 +44,8 @@ - except PermissionError: - self.skipTest(f"Permission error when downloading {TESTDATAURL} " - f"into the test data directory") -+ except URLError: -+ self.skipTest("DNS lookups are not enabled.") - except (OSError, HTTPException): - self.fail(f"Could not retrieve {TESTDATAURL}") - -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pathlib.py pypy3.6-v7.3.1-src/lib-python/3/test/test_pathlib.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pathlib.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_pathlib.py 2020-05-21 14:19:14.827288853 +0200 -@@ -2130,8 +2130,7 @@ - self.assertEqual(given, expect) - self.assertEqual(set(p.rglob("FILEd*")), set()) - -- @unittest.skipUnless(hasattr(pwd, 'getpwall'), -- 'pwd module does not expose getpwall()') -+ @unittest.skipIf(True, "Guix builder home is '/' which causes trouble for these tests") - def test_expanduser(self): - P = self.cls - support.import_module('pwd') -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pdb.py pypy3.6-v7.3.1-src/lib-python/3/test/test_pdb.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_pdb.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_pdb.py 2020-05-21 14:20:24.377203281 +0200 -@@ -1136,11 +1136,11 @@ - > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function() - -> print('pdb %d: %s' % (i, sess._previous_sigint_handler)) - (Pdb) continue -- pdb 1: <built-in function default_int_handler> -+ pdb 1: Handlers.SIG_IGN - > <doctest test.test_pdb.test_pdb_issue_20766[0]>(6)test_function() - -> print('pdb %d: %s' % (i, sess._previous_sigint_handler)) - (Pdb) continue -- pdb 2: <built-in function default_int_handler> -+ pdb 2: Handlers.SIG_IGN - """ - - class PdbTestCase(unittest.TestCase): -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_regrtest.py pypy3.6-v7.3.1-src/lib-python/3/test/test_regrtest.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_regrtest.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_regrtest.py 2020-05-21 14:19:14.827288853 +0200 -@@ -766,6 +766,7 @@ - output = self.run_tests('--fromfile', filename) - self.check_executed_tests(output, tests) - -+ @unittest.skipIf(True, 'Keyboard interrupts do not work in the Guix build environment.') - def test_interrupted(self): - code = TEST_INTERRUPTED - test = self.create_test('sigint', code=code) -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_resource.py pypy3.6-v7.3.1-src/lib-python/3/test/test_resource.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_resource.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_resource.py 2020-05-21 14:19:14.827288853 +0200 -@@ -146,6 +146,7 @@ - - @unittest.skipUnless(hasattr(resource, 'prlimit'), 'no prlimit') - @support.requires_linux_version(2, 6, 36) -+ @unittest.skipIf(True, "Bug: the PermissionError is not raised") - def test_prlimit(self): - self.assertRaises(TypeError, resource.prlimit) - self.assertRaises(ProcessLookupError, resource.prlimit, -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_shutil.py pypy3.6-v7.3.1-src/lib-python/3/test/test_shutil.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_shutil.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_shutil.py 2020-05-21 14:19:14.827288853 +0200 -@@ -1138,6 +1138,7 @@ - self.assertRaises(ValueError, make_archive, base_name, 'xxx') - - @support.requires_zlib -+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") - def test_make_archive_owner_group(self): - # testing make_archive with owner and group, with various combinations - # this works even if there's not gid/uid support -@@ -1166,6 +1167,7 @@ - - - @support.requires_zlib -+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix") - @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support") - def test_tarfile_root_owner(self): - root_dir, base_dir = self._create_files() -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_socket.py pypy3.6-v7.3.1-src/lib-python/3/test/test_socket.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_socket.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_socket.py 2020-05-21 14:19:14.827288853 +0200 -@@ -815,6 +815,8 @@ - if not fqhn in all_host_names: - self.fail("Error testing host resolution mechanisms. (fqdn: %s, all: %s)" % (fqhn, repr(all_host_names))) - -+ @unittest.skipUnless(support.is_resource_enabled('network'), -+ 'network is not enabled') - def test_host_resolution(self): - for addr in [support.HOST, '10.0.0.1', '255.255.255.255']: - self.assertEqual(socket.gethostbyname(addr), addr) -@@ -934,6 +936,8 @@ - self.assertRaises(OverflowError, socket.htonl, k) - self.assertRaises(OverflowError, socket.htons, k) - -+ @unittest.skipUnless(os.path.exists("/etc/services"), -+ "getservbyname uses /etc/services, which is not in the chroot") - def testGetServBy(self): - eq = self.assertEqual - # Find one service that exists, then check all the related interfaces. -@@ -1278,6 +1282,8 @@ - raise - self.assertRaises(TypeError, s.ioctl, socket.SIO_LOOPBACK_FAST_PATH, None) - -+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"), -+ "getaddrinfo() will fail") - def testGetaddrinfo(self): - try: - socket.getaddrinfo('localhost', 80) -@@ -1357,6 +1363,8 @@ - # only IP addresses are allowed - self.assertRaises(OSError, socket.getnameinfo, ('mail.python.org',0), 0) - -+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"), -+ "getaddrinfo() will fail") - @unittest.skipUnless(support.is_resource_enabled('network'), - 'network is not enabled') - def test_idna(self): -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_spwd.py pypy3.6-v7.3.1-src/lib-python/3/test/test_spwd.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_spwd.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_spwd.py 2020-05-21 14:19:14.827288853 +0200 -@@ -5,8 +5,7 @@ - spwd = support.import_module('spwd') - - --@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() == 0, -- 'root privileges required') -+@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow') - class TestSpwdRoot(unittest.TestCase): - - def test_getspall(self): -@@ -56,8 +55,7 @@ - self.assertRaises(TypeError, spwd.getspnam, bytes_name) - - --@unittest.skipUnless(hasattr(os, 'geteuid') and os.geteuid() != 0, -- 'non-root user required') -+@unittest.skipUnless(os.path.exists("/etc/shadow"), 'spwd tests require /etc/shadow') - class TestSpwdNonRoot(unittest.TestCase): - - def test_getspnam_exception(self): -diff -Naur pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_tarfile.py pypy3.6-v7.3.1-src/lib-python/3/test/test_tarfile.py ---- pypy3.6-v7.3.1-src.orig/lib-python/3/test/test_tarfile.py 1970-01-01 01:00:01.000000000 +0100 -+++ pypy3.6-v7.3.1-src/lib-python/3/test/test_tarfile.py 2020-05-21 14:19:14.827288853 +0200 -@@ -2491,9 +2491,12 @@ - import pwd, grp - except ImportError: - return False -- if pwd.getpwuid(0)[0] != 'root': -- return False -- if grp.getgrgid(0)[0] != 'root': -+ try: -+ if pwd.getpwuid(0)[0] != 'root': -+ return False -+ if grp.getgrgid(0)[0] != 'root': -+ return False -+ except KeyError: - return False - return True - diff --git a/gnu/packages/patches/python-chai-drop-python2.patch b/gnu/packages/patches/python-chai-drop-python2.patch new file mode 100644 index 0000000000..0eb980e5db --- /dev/null +++ b/gnu/packages/patches/python-chai-drop-python2.patch @@ -0,0 +1,32 @@ +Patch copied from Gentoo removing obsolete Python2 code. + +--- a/chai/chai.py ++++ b/chai/chai.py +@@ -62,11 +62,6 @@ + try: + func(self, *args, **kwargs) + except UnexpectedCall as e: +- # if this is not python3, use python2 syntax +- if not hasattr(e, '__traceback__'): +- from .python2 import reraise +- reraise( +- AssertionError, '\n\n' + str(e), sys.exc_info()[-1]) + exc = AssertionError('\n\n' + str(e)) + setattr(exc, '__traceback__', sys.exc_info()[-1]) + raise exc +--- a/chai/python2.py ++++ b/chai/python2.py +@@ -1,3 +0,0 @@ +- +-def reraise(exc, msg, traceback): +- raise exc, msg, traceback +--- a/chai.egg-info/SOURCES.txt ++++ b/chai.egg-info/SOURCES.txt +@@ -10,7 +10,6 @@ + chai/exception.py + chai/expectation.py + chai/mock.py +-chai/python2.py + chai/spy.py + chai/stub.py + chai.egg-info/PKG-INFO diff --git a/gnu/packages/patches/python-docopt-pytest6-compat.patch b/gnu/packages/patches/python-docopt-pytest6-compat.patch new file mode 100644 index 0000000000..acd4955778 --- /dev/null +++ b/gnu/packages/patches/python-docopt-pytest6-compat.patch @@ -0,0 +1,29 @@ +https://sources.debian.org/data/main/d/docopt/0.6.2-3/debian/patches/pytest6 + +From: Michael R. Crusoe <crusoe@debian.org> +Subject: fix for pytest 6.x comptability +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=979285 + +--- docopt.orig/conftest.py ++++ docopt/conftest.py +@@ -11,6 +11,8 @@ + + def pytest_collect_file(path, parent): + if path.ext == ".docopt" and path.basename.startswith("test"): ++ if hasattr(DocoptTestFile, "from_parent"): ++ return DocoptTestFile.from_parent(parent, fspath=path) + return DocoptTestFile(path, parent) + + +@@ -41,7 +43,10 @@ + for name, doc, cases in parse_test(raw): + name = self.fspath.purebasename + for case in cases: +- yield DocoptTestItem("%s(%d)" % (name, index), self, doc, case) ++ if hasattr(DocoptTestItem, "from_parent"): ++ yield DocoptTestItem.from_parent(self, name="%s(%d)" % (name, index), doc=doc, case=case) ++ else: ++ yield DocoptTestItem("%s(%d)" % (name, index), self, doc, case) + index += 1 + + diff --git a/gnu/packages/patches/python-execnet-read-only-fix.patch b/gnu/packages/patches/python-execnet-read-only-fix.patch new file mode 100644 index 0000000000..58a4b129a7 --- /dev/null +++ b/gnu/packages/patches/python-execnet-read-only-fix.patch @@ -0,0 +1,77 @@ +From 0d6562a20b0610c5a83d1c66ac879223b84a2746 Mon Sep 17 00:00:00 2001 +From: Maxim Cournoyer <maxim.cournoyer@gmail.com> +Date: Thu, 26 Aug 2021 00:43:26 -0400 +Subject: [PATCH] rsync_remote: Fix a problem when receiving read-only + directories. + +Before this change, when the source directories hierarchy was +read-only, the read-only mode would be preserved at the destination, +preventing child directories to be recreated by a normal user (a +permission denied error, EACCES would be raised). + +* execnet/rsync_remote.py (serve_rsync.receive_directory_structure): +Bitwise OR to ensure the write bit is set on received directories. +* testing/test_rsync.py (TestRSync) +<test_read_only_directories>: New test. +--- + execnet/rsync_remote.py | 8 ++++++-- + testing/test_rsync.py | 17 +++++++++++++++++ + 2 files changed, 23 insertions(+), 2 deletions(-) + +diff --git a/execnet/rsync_remote.py b/execnet/rsync_remote.py +index cd5e765..55d154c 100644 +--- a/execnet/rsync_remote.py ++++ b/execnet/rsync_remote.py +@@ -35,7 +35,11 @@ def serve_rsync(channel): + os.makedirs(path) + mode = msg.pop(0) + if mode: +- os.chmod(path, mode) ++ # Ensure directories are writable, otherwise a ++ # permission denied error (EACCES) would be raised ++ # when attempting to receive read-only directory ++ # structures. ++ os.chmod(path, mode | 0o700) + entrynames = {} + for entryname in msg: + destpath = os.path.join(path, entryname) +@@ -59,7 +63,7 @@ def serve_rsync(channel): + checksum = md5(f.read()).digest() + f.close() + elif msg_mode and msg_mode != st.st_mode: +- os.chmod(path, msg_mode) ++ os.chmod(path, msg_mode | 0o700) + return + else: + return # already fine +diff --git a/testing/test_rsync.py b/testing/test_rsync.py +index 995f229..1d6c30c 100644 +--- a/testing/test_rsync.py ++++ b/testing/test_rsync.py +@@ -157,6 +157,23 @@ class TestRSync: + mode = destdir.stat().mode + assert mode & 511 == 504 + ++ @py.test.mark.skipif("sys.platform == 'win32' or getattr(os, '_name', '') == 'nt'") ++ def test_read_only_directories(self, dirs, gw1): ++ source = dirs.source ++ dest = dirs.dest1 ++ source.ensure("sub", "subsub", dir=True) ++ source.join("sub").chmod(0o500) ++ source.join("sub", "subsub").chmod(0o500) ++ ++ # The destination directories should be created with the write ++ # permission forced, to avoid raising an EACCES error. ++ rsync = RSync(source) ++ rsync.add_target(gw1, dest) ++ rsync.send() ++ ++ assert dest.join("sub").stat().mode & 0o700 ++ assert dest.join("sub").join("subsub").stat().mode & 0o700 ++ + @needssymlink + def test_symlink_rsync(self, dirs, gw1): + source = dirs.source +-- +2.32.0 + diff --git a/gnu/packages/patches/python-fixtures-remove-monkeypatch-test.patch b/gnu/packages/patches/python-fixtures-remove-monkeypatch-test.patch new file mode 100644 index 0000000000..4ffe9b373d --- /dev/null +++ b/gnu/packages/patches/python-fixtures-remove-monkeypatch-test.patch @@ -0,0 +1,59 @@ +https://sources.debian.org/data/main/p/python-fixtures/3.0.0-4/debian/patches/remove-broken-monkey-patch-test.patch + +The last release was May 2016. This can be removed when the next release happens. + +Description: Remove broken monkey patch tests +Author: Thomas Goirand <zigo@debian.org> +Bug-Debian: https://bugs.debian.org/973239 +Forwarded: no +Last-Update: 2020-11-12 + +--- python-fixtures-3.0.0.orig/fixtures/tests/_fixtures/test_monkeypatch.py ++++ python-fixtures-3.0.0/fixtures/tests/_fixtures/test_monkeypatch.py +@@ -181,22 +181,6 @@ class TestMonkeyPatch(testtools.TestCase + self._check_restored_static_or_class_method(oldmethod, oldmethod_inst, + C, 'foo_cls') + +- def test_patch_classmethod_with_classmethod(self): +- oldmethod = C.foo_cls +- oldmethod_inst = C().foo_cls +- fixture = MonkeyPatch( +- 'fixtures.tests._fixtures.test_monkeypatch.C.foo_cls', +- D.bar_cls_args) +- with fixture: +- cls, target_class = C.foo_cls() +- self.expectThat(cls, Is(D)) +- self.expectThat(target_class, Is(C)) +- cls, target_class = C().foo_cls() +- self.expectThat(cls, Is(D)) +- self.expectThat(target_class, Is(C)) +- self._check_restored_static_or_class_method(oldmethod, oldmethod_inst, +- C, 'foo_cls') +- + def test_patch_classmethod_with_function(self): + oldmethod = C.foo_cls + oldmethod_inst = C().foo_cls +@@ -212,23 +196,6 @@ class TestMonkeyPatch(testtools.TestCase + self._check_restored_static_or_class_method(oldmethod, oldmethod_inst, + C, 'foo_cls') + +- def test_patch_classmethod_with_boundmethod(self): +- oldmethod = C.foo_cls +- oldmethod_inst = C().foo_cls +- d = D() +- fixture = MonkeyPatch( +- 'fixtures.tests._fixtures.test_monkeypatch.C.foo_cls', +- d.bar_two_args) +- with fixture: +- slf, cls = C.foo_cls() +- self.expectThat(slf, Is(d)) +- self.expectThat(cls, Is(C)) +- slf, cls = C().foo_cls() +- self.expectThat(slf, Is(d)) +- self.expectThat(cls, Is(C)) +- self._check_restored_static_or_class_method(oldmethod, oldmethod_inst, +- C, 'foo_cls') +- + def test_patch_function_with_staticmethod(self): + oldmethod = fake_no_args + fixture = MonkeyPatch( diff --git a/gnu/packages/patches/python-mediafile-wavpack.patch b/gnu/packages/patches/python-mediafile-wavpack.patch deleted file mode 100644 index 9839fe87b5..0000000000 --- a/gnu/packages/patches/python-mediafile-wavpack.patch +++ /dev/null @@ -1,57 +0,0 @@ -This patch has already been applied upstream, but is not included in the -current release 0.6.0. - -From d2fc3b59f77c515b02dfe7ad936f89264375d2b4 Mon Sep 17 00:00:00 2001 -From: Adrian Sampson <adrian@radbox.org> -Date: Wed, 29 Jul 2020 19:42:57 -0400 -Subject: [PATCH] Fix test for WavPack bitrate - -Fixes #34. ---- - docs/index.rst | 5 +++++ - mediafile.py | 2 +- - test/test_mediafile.py | 2 +- - 3 files changed, 7 insertions(+), 2 deletions(-) - -diff --git a/docs/index.rst b/docs/index.rst -index 7b622df..1465405 100644 ---- a/docs/index.rst -+++ b/docs/index.rst -@@ -100,6 +100,11 @@ Internals - Changelog - --------- - -+v0.7.0 -+'''''' -+ -+- Mutagen 1.45.0 or later is now required. -+ - v0.6.0 - '''''' - -diff --git a/mediafile.py b/mediafile.py -index 23fadaf..9e9d063 100644 ---- a/mediafile.py -+++ b/mediafile.py -@@ -56,7 +56,7 @@ - import six - - --__version__ = '0.6.0' -+__version__ = '0.7.0' - __all__ = ['UnreadableFileError', 'FileTypeError', 'MediaFile'] - - log = logging.getLogger(__name__) -diff --git a/test/test_mediafile.py b/test/test_mediafile.py -index e9e1850..7f17f44 100644 ---- a/test/test_mediafile.py -+++ b/test/test_mediafile.py -@@ -907,7 +907,7 @@ class WavpackTest(ReadWriteTestBase, unittest.TestCase): - 'bitrate': 109312, - 'format': u'WavPack', - 'samplerate': 44100, -- 'bitdepth': 0, -+ 'bitdepth': 16, - 'channels': 1, - } - diff --git a/gnu/packages/patches/python-pyan3-fix-absolute-path-bug.patch b/gnu/packages/patches/python-pyan3-fix-absolute-path-bug.patch new file mode 100644 index 0000000000..0b6a083fa3 --- /dev/null +++ b/gnu/packages/patches/python-pyan3-fix-absolute-path-bug.patch @@ -0,0 +1,160 @@ +From ac1bd55d07fd1bad2f4a92dc0809607c407d9140 Mon Sep 17 00:00:00 2001 +From: "Maciej A. Czyzewski" <maciejanthonyczyzewski@gmail.com> +Date: Wed, 9 Jun 2021 15:29:18 +0200 +Subject: [PATCH] feature: new params for graphviz + solves #70 + +- solve abs path bug #70 +- new params for graphviz (ranksep; layout) +- tested layout `dot`; `fdp` (square graph) +- updated `.gitignore` (files gen. after `visualize_pyan_architecture.sh`) +--- + .gitignore | 5 ++++ + README.md | 6 ++-- + pyan/main.py | 55 +++++++++++++++++++++++++++++++--- + visualize_pyan_architecture.sh | 5 ++++ + 4 files changed, 64 insertions(+), 7 deletions(-) + +diff --git a/.gitignore b/.gitignore +index 990fdc0c..93313aaf 100644 +--- a/.gitignore ++++ b/.gitignore +@@ -162,3 +162,8 @@ htmlcov + .idea/ + .history/ + .vscode/ ++ ++# our vis. of architecture ++architecture.dot ++architecture.html ++architecture.svg +diff --git a/README.md b/README.md +index d1f19dcf..9e6919a3 100644 +--- a/README.md ++++ b/README.md +@@ -48,7 +48,7 @@ See `pyan3 --help`. + + Example: + +-`pyan *.py --uses --no-defines --colored --grouped --annotated --dot >myuses.dot` ++`pyan3 *.py --uses --no-defines --colored --grouped --annotated --dot >myuses.dot` + + Then render using your favorite GraphViz filter, mainly `dot` or `fdp`: + +@@ -56,11 +56,11 @@ Then render using your favorite GraphViz filter, mainly `dot` or `fdp`: + + Or use directly + +-`pyan *.py --uses --no-defines --colored --grouped --annotated --svg >myuses.svg` ++`pyan3 *.py --uses --no-defines --colored --grouped --annotated --svg >myuses.svg` + + You can also export as an interactive HTML + +-`pyan *.py --uses --no-defines --colored --grouped --annotated --html > myuses.html` ++`pyan3 *.py --uses --no-defines --colored --grouped --annotated --html > myuses.html` + + Alternatively, you can call `pyan` from a script + +diff --git a/pyan/main.py b/pyan/main.py +index 5d079714..b1a16f63 100644 +--- a/pyan/main.py ++++ b/pyan/main.py +@@ -141,6 +141,31 @@ def main(cli_args=None): + ), + ) + ++ parser.add_argument( ++ "--dot-ranksep", ++ default="0.5", ++ dest="ranksep", ++ help=( ++ "specifies the dot graph 'ranksep' property for " ++ "controlling desired rank separation, in inches. " ++ "Allowed values: [0.02 .. 1000.0]. " ++ "[dot only]" ++ ), ++ ) ++ ++ parser.add_argument( ++ "--graphviz-layout", ++ default="dot", ++ dest="layout", ++ help=( ++ "specifies the graphviz 'layout' property for " ++ "the name of the layout algorithm to use. " ++ "Allowed values: ['dot', 'neato', 'fdp', 'sfdp', 'twopi', 'circo']. " ++ "Recommended values: ['dot', 'fdp']. " ++ "[graphviz only]" ++ ), ++ ) ++ + parser.add_argument( + "-a", + "--annotated", +@@ -159,7 +184,12 @@ def main(cli_args=None): + + known_args, unknown_args = parser.parse_known_args(cli_args) + +- filenames = [fn2 for fn in unknown_args for fn2 in glob(fn, recursive=True)] ++ ++ filenames = [] ++ for fn in unknown_args: ++ for fn2 in glob(fn, recursive=True): ++ abs_fn2 = os.path.abspath(fn2) ++ filenames.append(abs_fn2) + + # determine root + if known_args.root is not None: +@@ -203,6 +233,11 @@ def main(cli_args=None): + handler = logging.FileHandler(known_args.logname) + logger.addHandler(handler) + ++ logger.debug(f"[files] {unknown_args}") ++ ++ if root: ++ root = os.path.abspath(root) ++ + v = CallGraphVisitor(filenames, logger=logger, root=root) + + if known_args.function or known_args.namespace: +@@ -222,13 +257,25 @@ def main(cli_args=None): + writer = None + + if known_args.dot: +- writer = DotWriter(graph, options=["rankdir=" + known_args.rankdir], output=known_args.filename, logger=logger) ++ writer = DotWriter(graph, options=[ ++ "rankdir=" + known_args.rankdir, ++ "ranksep=" + known_args.ranksep, ++ "layout=" + known_args.layout, ++ ], output=known_args.filename, logger=logger) + + if known_args.html: +- writer = HTMLWriter(graph, options=["rankdir=" + known_args.rankdir], output=known_args.filename, logger=logger) ++ writer = HTMLWriter(graph, options=[ ++ "rankdir=" + known_args.rankdir, ++ "ranksep=" + known_args.ranksep, ++ "layout=" + known_args.layout, ++ ], output=known_args.filename, logger=logger) + + if known_args.svg: +- writer = SVGWriter(graph, options=["rankdir=" + known_args.rankdir], output=known_args.filename, logger=logger) ++ writer = SVGWriter(graph, options=[ ++ "rankdir=" + known_args.rankdir, ++ "ranksep=" + known_args.ranksep, ++ "layout=" + known_args.layout, ++ ], output=known_args.filename, logger=logger) + + if known_args.tgf: + writer = TgfWriter(graph, output=known_args.filename, logger=logger) +diff --git a/visualize_pyan_architecture.sh b/visualize_pyan_architecture.sh +index 22c63342..81b6ca24 100755 +--- a/visualize_pyan_architecture.sh ++++ b/visualize_pyan_architecture.sh +@@ -2,3 +2,8 @@ + echo -ne "Pyan architecture: generating architecture.{dot,svg}\n" + python3 -m pyan pyan/*.py --no-defines --uses --colored --annotate --dot -V >architecture.dot 2>architecture.log + dot -Tsvg architecture.dot >architecture.svg ++echo -ne "Pyan architecture: generating architecture.{html,graphviz=fdp}\n" ++python3 -m pyan pyan/*.py --no-defines --uses \ ++ --grouped --nested-groups \ ++ --graphviz-layout fdp \ ++ --colored --html > architecture.html diff --git a/gnu/packages/patches/python-pyan3-fix-positional-arguments.patch b/gnu/packages/patches/python-pyan3-fix-positional-arguments.patch new file mode 100644 index 0000000000..81923d7a41 --- /dev/null +++ b/gnu/packages/patches/python-pyan3-fix-positional-arguments.patch @@ -0,0 +1,22 @@ +From 37404bb039bd9c5509b4aec8f61e360dfba50715 Mon Sep 17 00:00:00 2001 +From: Wenxin Ling <w.ling@mediaire.de> +Date: Mon, 1 Mar 2021 15:21:16 +0100 +Subject: [PATCH] Fix positional arguments issue for CallGraphVisitor + +--- + pyan/main.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyan/main.py b/pyan/main.py +index 18821a14..5d079714 100644 +--- a/pyan/main.py ++++ b/pyan/main.py +@@ -203,7 +203,7 @@ def main(cli_args=None): + handler = logging.FileHandler(known_args.logname) + logger.addHandler(handler) + +- v = CallGraphVisitor(filenames, logger, root=root) ++ v = CallGraphVisitor(filenames, logger=logger, root=root) + + if known_args.function or known_args.namespace: + diff --git a/gnu/packages/patches/python-pytest-asyncio-python-3.8.patch b/gnu/packages/patches/python-pytest-asyncio-python-3.8.patch new file mode 100644 index 0000000000..519f92c047 --- /dev/null +++ b/gnu/packages/patches/python-pytest-asyncio-python-3.8.patch @@ -0,0 +1,238 @@ +# Modified to apply on 0.10.0. + +From c7a111180b3f35f2fe5a07ead185e4e792f9dfa0 Mon Sep 17 00:00:00 2001 +From: Andrew Svetlov <andrew.svetlov@gmail.com> +Date: Thu, 9 Apr 2020 08:44:46 +0200 +Subject: [PATCH] Test on Python 3.8, drop 3.3 and 3.4 + +--- + .travis.yml | 7 +++--- + setup.py | 1 + + tests/conftest.py | 2 +- + tests/test_hypothesis_integration.py | 2 +- + tests/test_simple.py | 32 +++++++++++----------------- + tests/test_simple_35.py | 17 ++++++--------- + tests/test_subprocess.py | 6 ++---- + tox.ini | 5 +++-- + 8 files changed, 29 insertions(+), 43 deletions(-) + +diff --git a/.travis.yml b/.travis.yml +index fe90234..b93377a 100644 +--- a/.travis.yml ++++ b/.travis.yml +@@ -1,4 +1,5 @@ + language: python ++ + matrix: + include: + - python: 3.5 +@@ -7,10 +8,8 @@ matrix: + env: TOX_ENV=py36 + - python: 3.7 + env: TOX_ENV=py37 +- # TODO: the dist and sudo keys are currently needed to use Python 3.7. +- # They should be removed once Travis-CI supports 3.7 on the default image. +- dist: xenial +- sudo: true ++ - python: 3.8 ++ env: TOX_ENV=py38 + + install: pip install tox-travis coveralls + +diff --git a/setup.py b/setup.py +index 18566bf..6175711 100644 +--- a/setup.py ++++ b/setup.py +@@ -36,6 +36,7 @@ def find_version(): + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", ++ "Programming Language :: Python :: 3.8", + "Topic :: Software Development :: Testing", + "Framework :: Pytest", + ], +diff --git a/tests/conftest.py b/tests/conftest.py +index 6203cf8..cc2ec16 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -17,7 +17,7 @@ def dependent_fixture(event_loop): + async def just_a_sleep(): + """Just sleep a little while.""" + nonlocal event_loop +- await asyncio.sleep(0.1, loop=event_loop) ++ await asyncio.sleep(0.1) + nonlocal counter + counter += 1 + +diff --git a/tests/test_simple.py b/tests/test_simple.py +index 1627139..00c07fc 100644 +--- a/tests/test_simple.py ++++ b/tests/test_simple.py +@@ -1,28 +1,26 @@ + """Quick'n'dirty unit tests for provided fixtures and markers.""" + import asyncio +-import os + import pytest + + import pytest_asyncio.plugin + + +-async def async_coro(loop=None): +- """A very simple coroutine.""" +- await asyncio.sleep(0, loop=loop) ++async def async_coro(): ++ await asyncio.sleep(0) + return 'ok' + + + def test_event_loop_fixture(event_loop): + """Test the injection of the event_loop fixture.""" + assert event_loop +- ret = event_loop.run_until_complete(async_coro(event_loop)) ++ ret = event_loop.run_until_complete(async_coro()) + assert ret == 'ok' + + + @pytest.mark.asyncio +-def test_asyncio_marker(): ++async def test_asyncio_marker(): + """Test the asyncio pytest marker.""" +- yield # sleep(0) ++ await asyncio.sleep(0) + + + @pytest.mark.xfail(reason='need a failure', strict=True) +@@ -45,13 +43,11 @@ async def closer(_, writer): + writer.close() + + server1 = await asyncio.start_server(closer, host='localhost', +- port=unused_tcp_port, +- loop=event_loop) ++ port=unused_tcp_port) + + with pytest.raises(IOError): + await asyncio.start_server(closer, host='localhost', +- port=unused_tcp_port, +- loop=event_loop) ++ port=unused_tcp_port) + + server1.close() + await server1.wait_closed() +@@ -68,20 +64,16 @@ async def closer(_, writer): + unused_tcp_port_factory()) + + server1 = await asyncio.start_server(closer, host='localhost', +- port=port1, +- loop=event_loop) ++ port=port1) + server2 = await asyncio.start_server(closer, host='localhost', +- port=port2, +- loop=event_loop) ++ port=port2) + server3 = await asyncio.start_server(closer, host='localhost', +- port=port3, +- loop=event_loop) ++ port=port3) + + for port in port1, port2, port3: + with pytest.raises(IOError): + await asyncio.start_server(closer, host='localhost', +- port=port, +- loop=event_loop) ++ port=port) + + server1.close() + await server1.wait_closed() +@@ -117,7 +109,7 @@ class Test: + @pytest.mark.asyncio + async def test_asyncio_marker_method(self, event_loop): + """Test the asyncio pytest marker in a Test class.""" +- ret = await async_coro(event_loop) ++ ret = await async_coro() + assert ret == 'ok' + + +diff --git a/tests/test_simple_35.py b/tests/test_simple_35.py +index 1e4d697..4141fb0 100644 +--- a/tests/test_simple_35.py ++++ b/tests/test_simple_35.py +@@ -6,7 +6,7 @@ + + @pytest.mark.asyncio + async def async_coro(loop): +- await asyncio.sleep(0, loop=loop) ++ await asyncio.sleep(0) + return 'ok' + + +@@ -27,8 +27,7 @@ async def closer(_, writer): + writer.close() + + server1 = await asyncio.start_server(closer, host='localhost', +- port=unused_tcp_port, +- loop=event_loop) ++ port=unused_tcp_port) + + server1.close() + await server1.wait_closed() +@@ -45,20 +44,16 @@ async def closer(_, writer): + + async def run_test(): + server1 = await asyncio.start_server(closer, host='localhost', +- port=port1, +- loop=event_loop) ++ port=port1) + server2 = await asyncio.start_server(closer, host='localhost', +- port=port2, +- loop=event_loop) ++ port=port2) + server3 = await asyncio.start_server(closer, host='localhost', +- port=port3, +- loop=event_loop) ++ port=port3) + + for port in port1, port2, port3: + with pytest.raises(IOError): + await asyncio.start_server(closer, host='localhost', +- port=port, +- loop=event_loop) ++ port=port) + + server1.close() + await server1.wait_closed() +diff --git a/tests/test_subprocess.py b/tests/test_subprocess.py +index 83490e8..069c6c2 100644 +--- a/tests/test_subprocess.py ++++ b/tests/test_subprocess.py +@@ -21,8 +21,7 @@ def event_loop(): + async def test_subprocess(event_loop): + """Starting a subprocess should be possible.""" + proc = await asyncio.subprocess.create_subprocess_exec( +- sys.executable, '--version', stdout=asyncio.subprocess.PIPE, +- loop=event_loop) ++ sys.executable, '--version', stdout=asyncio.subprocess.PIPE) + await proc.communicate() + + +@@ -30,6 +29,5 @@ async def test_subprocess(event_loop): + async def test_subprocess_forbid(event_loop): + """Starting a subprocess should be possible.""" + proc = await asyncio.subprocess.create_subprocess_exec( +- sys.executable, '--version', stdout=asyncio.subprocess.PIPE, +- loop=event_loop) ++ sys.executable, '--version', stdout=asyncio.subprocess.PIPE) + await proc.communicate() +diff --git a/tox.ini b/tox.ini +index 13d5155..eed6fb6 100644 +--- a/tox.ini ++++ b/tox.ini +@@ -1,6 +1,7 @@ + [tox] +-envlist = py35, py36, py37 +-minversion = 2.5.0 ++minversion = 3.14.0 ++envlist = py35, py36, py37, py38 ++skip_missing_interpreters = true + + [testenv] + extras = testing diff --git a/gnu/packages/patches/python-pytorch-runpath.patch b/gnu/packages/patches/python-pytorch-runpath.patch new file mode 100644 index 0000000000..6f270ef9b1 --- /dev/null +++ b/gnu/packages/patches/python-pytorch-runpath.patch @@ -0,0 +1,25 @@ +Libraries (such as 'libtorch_cpu.so') and executables (such as 'torch_shm_manager') +get installed, quite surprisingly, to 'lib/python3.8/site-packages/{bin,lib}'. +Make sure RUNPATH matches that. + +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -4,7 +4,7 @@ if(APPLE) + set(CMAKE_MACOSX_RPATH ON) + set(_rpath_portable_origin "@loader_path") + else() +- set(_rpath_portable_origin $ORIGIN) ++ set(_rpath_portable_origin $ORIGIN/../lib) + endif(APPLE) + # Use separate rpaths during build and install phases + set(CMAKE_SKIP_BUILD_RPATH FALSE) + +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -1797,5 +1797,5 @@ if(BUILD_PYTHON) + if(${BUILDING_WITH_TORCH_LIBS}) + # site-packages/caffe2/python/caffe2_pybind11_state + # site-packages/torch/lib +- set(caffe2_pybind11_rpath "${_rpath_portable_origin}/../../torch/lib") ++ set(caffe2_pybind11_rpath $ORIGIN/../../torch/lib) + endif(${BUILDING_WITH_TORCH_LIBS}) diff --git a/gnu/packages/patches/python-pytorch-system-libraries.patch b/gnu/packages/patches/python-pytorch-system-libraries.patch new file mode 100644 index 0000000000..c8d14b3f56 --- /dev/null +++ b/gnu/packages/patches/python-pytorch-system-libraries.patch @@ -0,0 +1,131 @@ +Use our own googletest rather than the bundled one. +Get NNPACK to use our own PeachPy rather than the bundled one. + +diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake +index 5d57b9ca78..620cca4e60 100644 +--- a/cmake/Dependencies.cmake ++++ b/cmake/Dependencies.cmake +@@ -644,11 +644,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST) + # this shouldn't be necessary anymore. + get_property(INC_DIR_temp DIRECTORY PROPERTY INCLUDE_DIRECTORIES) + set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES "") +- add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest) +- set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES ${INC_DIR_temp}) +- +- include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest/googletest/include) +- include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest/googlemock/include) + + # We will not need to test benchmark lib itself. + set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable benchmark testing as we don't need it.") +@@ -1485,7 +1480,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX) + endif() + set_property(TARGET onnx_proto PROPERTY IMPORTED_LOCATION ${ONNX_PROTO_LIBRARY}) + message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}") +- list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx) ++ list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx onnx_optimizer) + endif() + include_directories(${FOXI_INCLUDE_DIRS}) + list(APPEND Caffe2_DEPENDENCY_LIBS foxi_loader) + +diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt +index 50ebb224ce..5953d9ddf7 100644 +--- a/caffe2/CMakeLists.txt ++++ b/caffe2/CMakeLists.txt +@@ -1632,7 +1632,7 @@ if(BUILD_TEST) + if(NOT MSVC) + add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}" ../aten/src/ATen/native/quantized/affine_quantizer_base.cpp) + # TODO: Get rid of c10 dependency (which is only needed for the implementation of AT_ERROR) +- target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest_main) ++ target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest_main gtest) + if(USE_FBGEMM) + target_link_libraries(${test_name}_${CPU_CAPABILITY} fbgemm) + endif() +@@ -1655,7 +1655,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_CPU_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>) + target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) +@@ -1673,7 +1673,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_GPU_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + cuda_add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) + add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>) +@@ -1691,7 +1691,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_VULKAN_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE}) + add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>) +@@ -1709,7 +1709,7 @@ if(BUILD_TEST) + foreach(test_src ${Caffe2_HIP_TEST_SRCS}) + get_filename_component(test_name ${test_src} NAME_WE) + add_executable(${test_name} "${test_src}") +- target_link_libraries(${test_name} torch_library gtest_main) ++ target_link_libraries(${test_name} torch_library gtest_main gtest) + target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>) + target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE} ${Caffe2_HIP_INCLUDE}) + target_compile_options(${test_name} PRIVATE ${HIP_CXX_FLAGS}) + +diff --git a/torch/lib/c10d/test/CMakeLists.txt b/torch/lib/c10d/test/CMakeLists.txt +index b74d4b65f7..fc7c207505 100644 +--- a/torch/lib/c10d/test/CMakeLists.txt ++++ b/torch/lib/c10d/test/CMakeLists.txt +@@ -16,25 +16,25 @@ function(c10d_add_test test_src) + add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>) + endfunction() + +-c10d_add_test(FileStoreTest.cpp c10d gtest_main) +-c10d_add_test(TCPStoreTest.cpp c10d gtest_main) ++c10d_add_test(FileStoreTest.cpp c10d gtest_main gtest) ++c10d_add_test(TCPStoreTest.cpp c10d gtest_main gtest) + if(NOT WIN32) +- c10d_add_test(HashStoreTest.cpp c10d gtest_main) ++ c10d_add_test(HashStoreTest.cpp c10d gtest_main gtest) + endif() + + if(USE_CUDA) + if(USE_C10D_GLOO) +- c10d_add_test(ProcessGroupGlooTest.cpp c10d c10d_cuda_test gtest_main) +- c10d_add_test(ProcessGroupGlooAsyncTest.cpp c10d c10d_cuda_test gtest_main) ++ c10d_add_test(ProcessGroupGlooTest.cpp c10d c10d_cuda_test gtest_main gtest) ++ c10d_add_test(ProcessGroupGlooAsyncTest.cpp c10d c10d_cuda_test gtest_main gtest) + endif() + if(USE_C10D_NCCL) +- c10d_add_test(ProcessGroupNCCLTest.cpp c10d c10d_cuda_test gtest_main) ++ c10d_add_test(ProcessGroupNCCLTest.cpp c10d c10d_cuda_test gtest_main gtest) + c10d_add_test(ProcessGroupNCCLErrorsTest.cpp c10d c10d_cuda_test +- gtest_main) ++ gtest_main gtest) + endif() + else() + if(USE_C10D_GLOO) +- c10d_add_test(ProcessGroupGlooTest.cpp c10d gtest_main) ++ c10d_add_test(ProcessGroupGlooTest.cpp c10d gtest_main gtest) + endif() + endif() + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5ecd2df..24feae3 100644 +--- a/third_party/NNPACK/CMakeLists.txt ++++ b/third_party/NNPACK/CMakeLists.txt +@@ -427,8 +427,7 @@ IF(NNPACK_BACKEND STREQUAL "x86-64") + FILE(MAKE_DIRECTORY ${obj_dir}) + ADD_CUSTOM_COMMAND( + OUTPUT ${obj} +- COMMAND "PYTHONPATH=${PEACHPY_PYTHONPATH}" +- ${PYTHON_EXECUTABLE} -m peachpy.x86_64 ++ COMMAND ${PYTHON_EXECUTABLE} -m peachpy.x86_64 + -mabi=sysv -g4 -mimage-format=${PEACHPY_IMAGE_FORMAT} + "-I${PROJECT_SOURCE_DIR}/src" "-I${PROJECT_SOURCE_DIR}/src/x86_64-fma" "-I${FP16_SOURCE_DIR}/include" + -o ${obj} "${PROJECT_SOURCE_DIR}/${src}" diff --git a/gnu/packages/patches/python-random2-getrandbits-test.patch b/gnu/packages/patches/python-random2-getrandbits-test.patch new file mode 100644 index 0000000000..4f6c56027a --- /dev/null +++ b/gnu/packages/patches/python-random2-getrandbits-test.patch @@ -0,0 +1,23 @@ +From 1bac6355d9c65de847cc445d782c466778b94fbd Mon Sep 17 00:00:00 2001 +From: "Robert T. McGibbon" <rmcgibbo@gmail.com> +Date: Sun, 9 May 2021 11:18:23 -0400 +Subject: [PATCH] Update tests for python3.9 + +--- + src/tests.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/tests.py b/src/tests.py +index d918891..4f2c3de 100644 +--- a/src/tests.py ++++ b/src/tests.py +@@ -448,7 +448,8 @@ def test_genrandbits(self): + self.assertRaises(TypeError, self.gen.getrandbits) + self.assertRaises(TypeError, self.gen.getrandbits, 'a') + self.assertRaises(TypeError, self.gen.getrandbits, 1, 2) +- self.assertRaises(ValueError, self.gen.getrandbits, 0) ++ if sys.version_info < (3, 9): ++ self.assertRaises(ValueError, self.gen.getrandbits, 0) + self.assertRaises(ValueError, self.gen.getrandbits, -1) + + def test_randbelow_logic(self, _log=log, int=int): diff --git a/gnu/packages/patches/python-testtools.patch b/gnu/packages/patches/python-testtools.patch deleted file mode 100644 index 42536e50f9..0000000000 --- a/gnu/packages/patches/python-testtools.patch +++ /dev/null @@ -1,57 +0,0 @@ -https://github.com/testing-cabal/testtools/commit/29004731f9c480b7c44a9c2605513d50d372898f.patch -Should be fixed in the next release - -From 29004731f9c480b7c44a9c2605513d50d372898f Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz> -Date: Thu, 17 May 2018 17:52:26 +0200 -Subject: [PATCH] Fix the tests on Python 3.7 - -Exception's repr got changed not to include trailing comma - -Fixes https://github.com/testing-cabal/testtools/issues/270 ---- - .travis.yml | 1 + - testtools/tests/matchers/test_exception.py | 11 +++++++++-- - 2 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/.travis.yml b/.travis.yml -index 7f1f4db7..784608e0 100644 ---- a/.travis.yml -+++ b/.travis.yml -@@ -5,6 +5,7 @@ python: - - "3.4" - - "3.5" - - "3.6" -+ - "3.7-dev" - - "pypy" - - install: -diff --git a/testtools/tests/matchers/test_exception.py b/testtools/tests/matchers/test_exception.py -index 6cd80af1..acd39252 100644 ---- a/testtools/tests/matchers/test_exception.py -+++ b/testtools/tests/matchers/test_exception.py -@@ -32,15 +32,22 @@ class TestMatchesExceptionInstanceInterface(TestCase, TestMatchersInterface): - matches_matches = [error_foo] - matches_mismatches = [error_bar, error_base_foo] - -+ if sys.version_info >= (3, 7): -+ # exception's repr has changed -+ _e = '' -+ else: -+ _e = ',' -+ - str_examples = [ -- ("MatchesException(Exception('foo',))", -+ ("MatchesException(Exception('foo'%s))" % _e, - MatchesException(Exception('foo'))) - ] - describe_examples = [ - ("%r is not a %r" % (Exception, ValueError), - error_base_foo, - MatchesException(ValueError("foo"))), -- ("ValueError('bar',) has different arguments to ValueError('foo',).", -+ ("ValueError('bar'%s) has different arguments to ValueError('foo'%s)." -+ % (_e, _e), - error_bar, - MatchesException(ValueError("foo"))), - ] diff --git a/gnu/packages/patches/qtwebkit-fix-building-with-bison-3.7.patch b/gnu/packages/patches/qtwebkit-fix-building-with-bison-3.7.patch new file mode 100644 index 0000000000..ddaf8e2849 --- /dev/null +++ b/gnu/packages/patches/qtwebkit-fix-building-with-bison-3.7.patch @@ -0,0 +1,54 @@ +Fix build with Bison 3.7 + +https://bugs.gentoo.org/736499 + +Patch copied from upstream source repository: + +https://github.com/qtwebkit/qtwebkit/commit/d92b11fea65364fefa700249bd3340e0cd4c5b31 + +From d92b11fea65364fefa700249bd3340e0cd4c5b31 Mon Sep 17 00:00:00 2001 +From: Dmitry Shachnev <mitya57@gmail.com> +Date: Tue, 4 Aug 2020 21:04:06 +0300 +Subject: [PATCH] Let Bison generate the header directly, to fix build with + Bison 3.7 + +Starting with Bison 3.7, the generated C++ file #include's the header +by default, instead of duplicating it. So we should not delete it. + +Remove the code to add #ifdef guards to the header, since Bison adds +them itself since version 2.6.3. +--- + Source/WebCore/css/makegrammar.pl | 21 +-------------------- + 1 file changed, 1 insertion(+), 20 deletions(-) + +diff --git a/Source/WebCore/css/makegrammar.pl b/Source/WebCore/css/makegrammar.pl +index 5d63b08102eb5..9435701c70612 100644 +--- a/Source/WebCore/css/makegrammar.pl ++++ b/Source/WebCore/css/makegrammar.pl +@@ -73,25 +73,6 @@ + } + + my $fileBase = File::Spec->join($outputDir, $filename); +-my @bisonCommand = ($bison, "-d", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); ++my @bisonCommand = ($bison, "--defines=$fileBase.h", "-p", $symbolsPrefix, $grammarFilePath, "-o", "$fileBase.cpp"); + push @bisonCommand, "--no-lines" if $^O eq "MSWin32"; # Work around bug in bison >= 3.0 on Windows where it puts backslashes into #line directives. + system(@bisonCommand) == 0 or die; +- +-open HEADER, ">$fileBase.h" or die; +-print HEADER << "EOF"; +-#ifndef CSSGRAMMAR_H +-#define CSSGRAMMAR_H +-EOF +- +-open HPP, "<$fileBase.cpp.h" or open HPP, "<$fileBase.hpp" or die; +-while (<HPP>) { +- print HEADER; +-} +-close HPP; +- +-print HEADER "#endif\n"; +-close HEADER; +- +-unlink("$fileBase.cpp.h"); +-unlink("$fileBase.hpp"); +- diff --git a/gnu/packages/patches/qtwebkit-fix-building-with-glib-2.68.patch b/gnu/packages/patches/qtwebkit-fix-building-with-glib-2.68.patch new file mode 100644 index 0000000000..63840f4bbc --- /dev/null +++ b/gnu/packages/patches/qtwebkit-fix-building-with-glib-2.68.patch @@ -0,0 +1,21 @@ +Fix building with glib 2.68: + +https://github.com/qtwebkit/qtwebkit/issues/1057 + +Patch copied from upstream pull request: + +https://github.com/qtwebkit/qtwebkit/pull/1058/commits/5b698ba3faffd4e198a45be9fe74f53307395e4b + +diff -aurN qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h qtwebkit-5.212.0-alpha4-mod/Source/WTF/wtf/glib/GRefPtr.h +--- qtwebkit-5.212.0-alpha4/Source/WTF/wtf/glib/GRefPtr.h 2020-03-04 18:16:37.000000000 +0100 ++++ qtwebkit-5.212.0-alpha4-mod/Source/WTF/wtf/glib/GRefPtr.h 2021-04-05 06:58:44.763328636 +0200 +@@ -29,9 +29,6 @@ + #include <wtf/RefPtr.h> + #include <algorithm> + +-extern "C" void g_object_unref(gpointer); +-extern "C" gpointer g_object_ref_sink(gpointer); +- + namespace WTF { + + enum GRefPtrAdoptType { GRefPtrAdopt }; diff --git a/gnu/packages/patches/qtwebkit-fix-building-with-icu-68.patch b/gnu/packages/patches/qtwebkit-fix-building-with-icu-68.patch new file mode 100644 index 0000000000..acbfc4c4c8 --- /dev/null +++ b/gnu/packages/patches/qtwebkit-fix-building-with-icu-68.patch @@ -0,0 +1,152 @@ +Fix building with ICU > 68. + +https://bugs.gentoo.org/753260 + +Patch adapted from Gentoo: + +https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=335f29d266c5b169ff1e781f9851a3a203f3198c + +From 335f29d266c5b169ff1e781f9851a3a203f3198c Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Fri, 6 Nov 2020 09:22:15 +0100 +Subject: dev-qt/qtwebkit: Fix build with ICU-68 + +Thanks-to: Lars Wendler <polynomial-c@gentoo.org> +Closes: https://bugs.gentoo.org/753260 +Package-Manager: Portage-3.0.9, Repoman-3.0.2 +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + .../qtwebkit-5.212.0_pre20200309-icu-68.patch | 120 +++++++++++++++++++++ + 1 file changed, 120 insertions(+) + create mode 100644 dev-qt/qtwebkit/files/qtwebkit-5.212.0_pre20200309-icu-68.patch + +(limited to 'dev-qt/qtwebkit/files/qtwebkit-5.212.0_pre20200309-icu-68.patch') + +diff --git a/Source/WebCore/platform/text/TextCodecICU.cpp b/Source/WebCore/platform/text/TextCodecICU.cpp +index dd6ff06..e0f4bd7 100644 +--- a/Source/WebCore/platform/text/TextCodecICU.cpp ++++ b/Source/WebCore/platform/text/TextCodecICU.cpp +@@ -308,7 +308,7 @@ void TextCodecICU::createICUConverter() const + m_converterICU = ucnv_open(m_canonicalConverterName, &err); + ASSERT(U_SUCCESS(err)); + if (m_converterICU) +- ucnv_setFallback(m_converterICU, TRUE); ++ ucnv_setFallback(m_converterICU, true); + } + + int TextCodecICU::decodeToBuffer(UChar* target, UChar* targetLimit, const char*& source, const char* sourceLimit, int32_t* offsets, bool flush, UErrorCode& err) +diff --git a/Source/WebCore/platform/text/icu/UTextProvider.h b/Source/WebCore/platform/text/icu/UTextProvider.h +index c254fc4..6d1e1cb 100644 +--- a/Source/WebCore/platform/text/icu/UTextProvider.h ++++ b/Source/WebCore/platform/text/icu/UTextProvider.h +@@ -80,12 +80,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits<int32_t>::max()); + text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex >= nativeLength && text->chunkNativeLimit == nativeLength) { + text->chunkOffset = text->chunkLength; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } else { +@@ -94,12 +94,12 @@ inline bool uTextAccessInChunkOrOutOfRange(UText* text, int64_t nativeIndex, int + // Ensure chunk offset is well formed if computed offset exceeds int32_t range. + ASSERT(offset < std::numeric_limits<int32_t>::max()); + text->chunkOffset = offset < std::numeric_limits<int32_t>::max() ? static_cast<int32_t>(offset) : 0; +- isAccessible = TRUE; ++ isAccessible = true; + return true; + } + if (nativeIndex <= 0 && !text->chunkNativeStart) { + text->chunkOffset = 0; +- isAccessible = FALSE; ++ isAccessible = false; + return true; + } + } +diff --git a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +index cd6852c..6a864b1 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderLatin1.cpp +@@ -100,23 +100,23 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward) + if (index < uText->chunkNativeLimit && index >= uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (index >= length && uText->chunkNativeLimit == length) { + // Off the end of the buffer, but we can't get it. + uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart); +- return FALSE; ++ return false; + } + } else { + if (index <= uText->chunkNativeLimit && index > uText->chunkNativeStart) { + // Already inside the buffer. Set the new offset. + uText->chunkOffset = static_cast<int32_t>(index - uText->chunkNativeStart); +- return TRUE; ++ return true; + } + if (!index && !uText->chunkNativeStart) { + // Already at the beginning; can't go any farther. + uText->chunkOffset = 0; +- return FALSE; ++ return false; + } + } + +@@ -144,7 +144,7 @@ static UBool uTextLatin1Access(UText* uText, int64_t index, UBool forward) + + uText->nativeIndexingLimit = uText->chunkLength; + +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1Extract(UText* uText, int64_t start, int64_t limit, UChar* dest, int32_t destCapacity, UErrorCode* status) +@@ -336,7 +336,7 @@ static int64_t uTextLatin1ContextAwareNativeLength(UText* text) + static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextLatin1ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -356,7 +356,7 @@ static UBool uTextLatin1ContextAwareAccess(UText* text, int64_t nativeIndex, UBo + ASSERT(newContext == UTextProviderContext::PriorContext); + textLatin1ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextLatin1ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) +diff --git a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +index 7aaac48..9ae0d36 100644 +--- a/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp ++++ b/Source/WebCore/platform/text/icu/UTextProviderUTF16.cpp +@@ -125,7 +125,7 @@ static inline int64_t uTextUTF16ContextAwareNativeLength(UText* text) + static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBool forward) + { + if (!text->context) +- return FALSE; ++ return false; + int64_t nativeLength = uTextUTF16ContextAwareNativeLength(text); + UBool isAccessible; + if (uTextAccessInChunkOrOutOfRange(text, nativeIndex, nativeLength, forward, isAccessible)) +@@ -145,7 +145,7 @@ static UBool uTextUTF16ContextAwareAccess(UText* text, int64_t nativeIndex, UBoo + ASSERT(newContext == UTextProviderContext::PriorContext); + textUTF16ContextAwareSwitchToPriorContext(text, nativeIndex, nativeLength, forward); + } +- return TRUE; ++ return true; + } + + static int32_t uTextUTF16ContextAwareExtract(UText*, int64_t, int64_t, UChar*, int32_t, UErrorCode* errorCode) diff --git a/gnu/packages/patches/qtwebkit-fix-building-with-python-3.9.patch b/gnu/packages/patches/qtwebkit-fix-building-with-python-3.9.patch new file mode 100644 index 0000000000..9f9674de33 --- /dev/null +++ b/gnu/packages/patches/qtwebkit-fix-building-with-python-3.9.patch @@ -0,0 +1,35 @@ +Fix building with Python 3.9: + +https://github.com/qtwebkit/qtwebkit/issues/993 + +Patch copied from upstream source repository: + +https://github.com/qtwebkit/qtwebkit/commit/78360c01c796b6260bf828bc9c8a0ef73c5132fd + +From 78360c01c796b6260bf828bc9c8a0ef73c5132fd Mon Sep 17 00:00:00 2001 +From: Konstantin Tokarev <annulen@yandex.ru> +Date: Wed, 3 Jun 2020 15:01:42 +0300 +Subject: [PATCH] Fix compilation with Python 3.9: avoid passing encoding to + json.load() + +In Python 2.7 UTF-8 is assumed by default, while in Python 3 this argument +is not supported. + +Change-Id: Ic459d60a6b20bc1838d8771bc36ac41614fe61a9 +--- + Source/JavaScriptCore/generate-bytecode-files | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Source/JavaScriptCore/generate-bytecode-files b/Source/JavaScriptCore/generate-bytecode-files +index c5dab429c7b0f..af3431275ecf9 100644 +--- a/Source/JavaScriptCore/generate-bytecode-files ++++ b/Source/JavaScriptCore/generate-bytecode-files +@@ -163,7 +163,7 @@ if __name__ == "__main__": + initBytecodesFile = openOrExit(initASMFileName, "w") + + try: +- bytecodeSections = json.load(bytecodeFile, encoding = "utf-8") ++ bytecodeSections = json.load(bytecodeFile) + except: + print("Unexpected error parsing {0}: {1}".format(bytecodeJSONFile, sys.exc_info())) + diff --git a/gnu/packages/patches/racket-minimal-backport-1629887.patch b/gnu/packages/patches/racket-minimal-backport-1629887.patch new file mode 100644 index 0000000000..aa060ef5aa --- /dev/null +++ b/gnu/packages/patches/racket-minimal-backport-1629887.patch @@ -0,0 +1,28 @@ +From fb1a6ab205fd63a46669a463931af473e2ac0c87 Mon Sep 17 00:00:00 2001 +From: Matthew Flatt <mflatt@racket-lang.org> +Date: Sat, 21 Aug 2021 15:29:59 -0600 +Subject: [PATCH] setup/variant: recognize starter executables + +Related to #3969 + +(cherry picked from commit 1629887071fe3cc8fe8af0a7aa0d3912509cb058) +--- + racket/collects/setup/variant.rkt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/racket/collects/setup/variant.rkt b/racket/collects/setup/variant.rkt +index 81da6f5701..b23131e481 100644 +--- a/racket/collects/setup/variant.rkt ++++ b/racket/collects/setup/variant.rkt +@@ -25,7 +25,7 @@ + (and (file-exists? f) + (with-input-from-file f + (lambda () +- (define m (regexp-match #rx#"bINARy tYPe:..(.)" ++ (define m (regexp-match #rx#"bINARy tYPe:e?..(.)" + (current-input-port))) + (cond + [(not m) '3m] +-- +2.30.2 + diff --git a/gnu/packages/patches/racket-sh-via-rktio.patch b/gnu/packages/patches/racket-minimal-sh-via-rktio.patch index b4fefd1514..6bc2ee8331 100644 --- a/gnu/packages/patches/racket-sh-via-rktio.patch +++ b/gnu/packages/patches/racket-minimal-sh-via-rktio.patch @@ -35,13 +35,13 @@ making this change at the C level is both: conditional and a runtime check that the file in the store exists, we make it much less likely that it will "leak" out of Guix. --- - src/rktio/rktio_process.c | 21 ++++++++++++++++++++- + racket/src/rktio/rktio_process.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) -diff --git a/src/rktio/rktio_process.c b/src/rktio/rktio_process.c +diff --git a/racket/src/rktio/rktio_process.c b/racket/src/rktio/rktio_process.c index 89202436c0..465ebdd5c5 100644 ---- a/src/rktio/rktio_process.c -+++ b/src/rktio/rktio_process.c +--- a/racket/src/rktio/rktio_process.c ++++ b/racket/src/rktio/rktio_process.c @@ -1224,12 +1224,14 @@ int rktio_process_allowed_flags(rktio_t *rktio) /*========================================================================*/ diff --git a/gnu/packages/patches/rapidjson-gcc-compat.patch b/gnu/packages/patches/rapidjson-gcc-compat.patch index b5ffc0a908..8bfdb075d9 100644 --- a/gnu/packages/patches/rapidjson-gcc-compat.patch +++ b/gnu/packages/patches/rapidjson-gcc-compat.patch @@ -16,3 +16,51 @@ index 422a5240..d4039716 100644 #endif #ifdef _MSC_VER + +Cast destination pointers to avoid a GCC error about memmove writing to +a different type. + +Adapted from this upstream commit: +https://github.com/Tencent/rapidjson/commit/fa5963a2f5b231ee2babff771f169ccca22870ed + +diff --git a/include/rapidjson/document.h b/include/rapidjson/document.h +--- a/include/rapidjson/document.h ++++ b/include/rapidjson/document.h +@@ -1425,7 +1425,7 @@ public: + MemberIterator pos = MemberBegin() + (first - MemberBegin()); + for (MemberIterator itr = pos; itr != last; ++itr) + itr->~Member(); +- std::memmove(&*pos, &*last, static_cast<size_t>(MemberEnd() - last) * sizeof(Member)); ++ std::memmove(static_cast<void*>(&*pos), &*last, static_cast<size_t>(MemberEnd() - last) * sizeof(Member)); + data_.o.size -= static_cast<SizeType>(last - first); + return pos; + } +@@ -1628,8 +1628,8 @@ public: + RAPIDJSON_ASSERT(last <= End()); + ValueIterator pos = Begin() + (first - Begin()); + for (ValueIterator itr = pos; itr != last; ++itr) +- itr->~GenericValue(); +- std::memmove(pos, last, static_cast<size_t>(End() - last) * sizeof(GenericValue)); ++ itr->~GenericValue(); ++ std::memmove(static_cast<void*>(pos), last, static_cast<size_t>(End() - last) * sizeof(GenericValue)); + data_.a.size -= static_cast<SizeType>(last - first); + return pos; + } +@@ -1936,7 +1936,7 @@ private: + if (count) { + GenericValue* e = static_cast<GenericValue*>(allocator.Malloc(count * sizeof(GenericValue))); + SetElementsPointer(e); +- std::memcpy(e, values, count * sizeof(GenericValue)); ++ std::memcpy(static_cast<void*>(e), values, count * sizeof(GenericValue)); + } + else + SetElementsPointer(0); +@@ -1949,7 +1949,7 @@ private: + if (count) { + Member* m = static_cast<Member*>(allocator.Malloc(count * sizeof(Member))); + SetMembersPointer(m); +- std::memcpy(m, members, count * sizeof(Member)); ++ std::memcpy(static_cast<void*>(m), members, count * sizeof(Member)); + } + else + SetMembersPointer(0); diff --git a/gnu/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch b/gnu/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch new file mode 100644 index 0000000000..cc510c1cfe --- /dev/null +++ b/gnu/packages/patches/restic-0.9.6-fix-tests-for-go1.15.patch @@ -0,0 +1,51 @@ +This cherry-picked patch fixes tests for Go >= 1.15. Restic v0.10 (which +includes this patch) requires go module support from the Go build system. +Original patch follows. + +--- +From 97950ab81a18de06b95384da6d8646fef87c9d97 Mon Sep 17 00:00:00 2001 +From: Alexander Neumann <alexander@bumpern.de> +Date: Sat, 12 Sep 2020 17:36:44 +0200 +Subject: [PATCH] options: Fix test for Go >= 1.15 + +--- + internal/options/options_test.go | 12 +++++++++--- + 1 file changed, 9 insertions(+), 3 deletions(-) + +diff --git a/internal/options/options_test.go b/internal/options/options_test.go +index de94fc90a1..8d268992a3 100644 +--- a/internal/options/options_test.go ++++ b/internal/options/options_test.go +@@ -3,6 +3,7 @@ package options + import ( + "fmt" + "reflect" ++ "regexp" + "testing" + "time" + ) +@@ -199,7 +200,7 @@ var invalidSetTests = []struct { + "timeout": "2134", + }, + "ns", +- `time: missing unit in duration 2134`, ++ `time: missing unit in duration "?2134"?`, + }, + } + +@@ -212,8 +213,13 @@ func TestOptionsApplyInvalid(t *testing.T) { + t.Fatalf("expected error %v not found", test.err) + } + +- if err.Error() != test.err { +- t.Fatalf("expected error %q, got %q", test.err, err.Error()) ++ matched, err := regexp.MatchString(test.err, err.Error()) ++ if err != nil { ++ t.Fatal(err) ++ } ++ ++ if !matched { ++ t.Fatalf("expected error to match %q, got %q", test.err, err.Error()) + } + }) + } diff --git a/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch new file mode 100644 index 0000000000..c91d273f92 --- /dev/null +++ b/gnu/packages/patches/rocm-comgr-3.1.0-dependencies.patch @@ -0,0 +1,52 @@ +https://github.com/RadeonOpenCompute/ROCm-CompilerSupport/pull/25 + +From c65cba2e73f9118e128b9ab7e655ee0f8a7798e7 Mon Sep 17 00:00:00 2001 +From: Craig Andrews <candrews@integralblue.com> +Date: Sun, 1 Mar 2020 19:24:22 -0500 +Subject: [PATCH] Link additional required LLVM libraries + +Without these additional required dependencies, linking fails with errors such as: +`undefined reference to llvm::errs()'` +--- + CMakeLists.txt | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1794a07..c7b852a 100644 +--- a/lib/comgr/CMakeLists.txt ++++ b/lib/comgr/CMakeLists.txt +@@ -207,7 +207,11 @@ install(FILES + DESTINATION "${AMD_COMGR_PACKAGE_PREFIX}") + + set(CLANG_LIBS +- clangFrontendTool) ++ clangFrontendTool ++ clangFrontend ++ clangBasic ++ clangDriver ++ clangSerialization) + + set(LLD_LIBS + lldELF +@@ -218,8 +222,20 @@ if (LLVM_LINK_LLVM_DYLIB) + else() + llvm_map_components_to_libnames(LLVM_LIBS + ${LLVM_TARGETS_TO_BUILD} ++ Option + DebugInfoDWARF +- Symbolize) ++ Symbolize ++ Support ++ Object ++ BitWriter ++ MC ++ MCParser ++ MCDisassembler ++ Core ++ IRReader ++ CodeGen ++ Linker ++ BinaryFormat) + endif() + + target_link_libraries(amd_comgr diff --git a/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch b/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch new file mode 100644 index 0000000000..d81bb0747f --- /dev/null +++ b/gnu/packages/patches/rocm-opencl-runtime-3.10.0-includes.patch @@ -0,0 +1,14 @@ +Add missing include dirs for ROCclr. + +--- a/amdocl/CMakeLists.txt 2020-12-05 22:05:55.838529158 +0100 ++++ b/amdocl/CMakeLists.txt 2020-12-05 22:07:35.677524507 +0100 +@@ -23,6 +23,9 @@ + include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos) + include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers) + include_directories(${CMAKE_CURRENT_LIST_DIR}/../khronos/headers/opencl2.2) ++include_directories(${ROCclr_DIR}/../../../include) ++include_directories(${ROCclr_DIR}/../../../include/compiler/lib/include/) ++include_directories(${ROCclr_DIR}/../../../include/elf/) + + if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR + (CMAKE_${COMPILER}_COMPILER_ID MATCHES "Clang")) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch new file mode 100644 index 0000000000..5709e0d19a --- /dev/null +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch @@ -0,0 +1,28 @@ +Do not build and install clinfo. + +diff --git a/CMakeLists.txt.orig b/CMakeLists.txt +index 76847d3..3f62bfe 100644 +--- a/CMakeLists.txt.orig ++++ b/CMakeLists.txt +@@ -72,7 +72,7 @@ find_package(ROCclr REQUIRED CONFIG + + add_subdirectory(khronos/icd) + add_subdirectory(amdocl) +-add_subdirectory(tools/clinfo) ++#add_subdirectory(tools/clinfo) + add_subdirectory(tools/cltrace) + if(BUILD_TESTS) + add_subdirectory(tests/ocltst) +@@ -108,9 +108,9 @@ endif() + ###--- Packaging ------------------------------------------------------------### + + # MAIN package +-install(PROGRAMS $<TARGET_FILE:clinfo> +- DESTINATION bin +- COMPONENT MAIN) ++#install(PROGRAMS $<TARGET_FILE:clinfo> ++# DESTINATION bin ++# COMPONENT MAIN) + install(PROGRAMS $<TARGET_FILE:cltrace> + DESTINATION lib + COMPONENT MAIN) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch new file mode 100644 index 0000000000..e0328d7734 --- /dev/null +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-nocltrace.patch @@ -0,0 +1,25 @@ +Do not build and install cltrace. + +diff --git a/CMakeLists.txt.orig b/CMakeLists.txt +index c449db4..9cff673 100644 +--- a/CMakeLists.txt.orig ++++ b/CMakeLists.txt +@@ -73,7 +73,7 @@ find_package(ROCclr REQUIRED CONFIG + #add_subdirectory(khronos/icd) + add_subdirectory(amdocl) + #add_subdirectory(tools/clinfo) +-add_subdirectory(tools/cltrace) ++#add_subdirectory(tools/cltrace) + if(BUILD_TESTS) + add_subdirectory(tests/ocltst) + endif() +@@ -108,9 +108,6 @@ endif() + #install(PROGRAMS $<TARGET_FILE:clinfo> + # DESTINATION bin + # COMPONENT MAIN) +-install(PROGRAMS $<TARGET_FILE:cltrace> +- DESTINATION lib +- COMPONENT MAIN) + install(PROGRAMS $<TARGET_FILE:amdocl64> + DESTINATION lib + COMPONENT MAIN) diff --git a/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch new file mode 100644 index 0000000000..ed20f02503 --- /dev/null +++ b/gnu/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch @@ -0,0 +1,63 @@ +Do not build and install libOpenCL. + +--- b/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -70,7 +70,7 @@ + ${ROCclr_DIR} + ${LIBROCclr_STATIC_DIR}) + +-add_subdirectory(khronos/icd) ++#add_subdirectory(khronos/icd) + add_subdirectory(amdocl) + #add_subdirectory(tools/clinfo) + add_subdirectory(tools/cltrace) +@@ -93,9 +93,6 @@ + OUTPUT_VARIABLE OPENCL_VERSION_GITDATE + OUTPUT_STRIP_TRAILING_WHITESPACE) + +-get_target_property(OPENCL_LIB_VERSION_MAJOR OpenCL SOVERSION) +-get_target_property(OPENCL_LIB_VERSION_STRING OpenCL VERSION) +- + find_package(ROCM QUIET CONFIG PATHS /opt/rocm) + + if(ROCM_FOUND) +@@ -117,25 +114,6 @@ + install(PROGRAMS $<TARGET_FILE:amdocl64> + DESTINATION lib + COMPONENT MAIN) +-install(PROGRAMS $<TARGET_FILE:OpenCL> +- DESTINATION lib +- COMPONENT MAIN) +-install(PROGRAMS $<TARGET_SONAME_FILE:OpenCL> +- DESTINATION lib +- COMPONENT MAIN) +- +-# DEV package +-install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/khronos/headers/opencl2.2/CL" +- DESTINATION include +- COMPONENT DEV +- USE_SOURCE_PERMISSIONS +- PATTERN cl_d3d10.h EXCLUDE +- PATTERN cl_d3d11.h EXCLUDE +- PATTERN cl_dx9_media_sharing.h EXCLUDE +- PATTERN cl_egl.h EXCLUDE) +-install(PROGRAMS $<TARGET_LINKER_FILE:OpenCL> +- DESTINATION lib +- COMPONENT DEV) + + ############################# + # Packaging steps +--- a/khronos/icd/CMakeLists.txt 2020-06-07 16:05:32.425022904 +0200 ++++ b/khronos/icd/CMakeLists.txt 2020-06-07 16:06:03.273022786 +0200 +@@ -132,7 +132,7 @@ + add_subdirectory (test) + endif() + +-install (TARGETS OpenCL +- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} +- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++#install (TARGETS OpenCL ++# RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ++# ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ++# LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch b/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch deleted file mode 100644 index b56c628537..0000000000 --- a/gnu/packages/patches/samba-fix-fcntl-hint-detection.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 454ccd986b61799908a6898a55d0480911f15306 Mon Sep 17 00:00:00 2001 -From: Ralph Boehme <slow@samba.org> -Date: Mon, 21 Sep 2020 07:48:43 +0200 -Subject: [PATCH] s3: fix fcntl waf configure check - -RN: Fix fcntl waf configure check -BUG: https://bugzilla.samba.org/show_bug.cgi?id=14503 - -Signed-off-by: Ralph Boehme <slow@samba.org> -Reviewed-by: Volker Lendecke <vl@samba.org> - -Autobuild-User(master): Volker Lendecke <vl@samba.org> -Autobuild-Date(master): Mon Sep 21 07:26:54 UTC 2020 on sn-devel-184 ---- - source3/wscript | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/source3/wscript b/source3/wscript -index 840ed430c0f..d3ef346eecd 100644 ---- a/source3/wscript -+++ b/source3/wscript -@@ -1244,7 +1244,7 @@ err: - - int main(void) - { -- uint64_t *hint, get_hint; -+ uint64_t hint, get_hint; - int fd; - - fd = open(DATA, O_RDONLY | O_CREAT | O_EXCL); -@@ -1252,8 +1252,8 @@ int main(void) - goto err; - } - -- *hint = RWH_WRITE_LIFE_SHORT; -- int ret = fcntl(fd, F_SET_RW_HINT, hint); -+ hint = RWH_WRITE_LIFE_SHORT; -+ int ret = fcntl(fd, F_SET_RW_HINT, &hint); - if (ret == -1) { - goto err; - } -@@ -1267,8 +1267,8 @@ int main(void) - goto err; - } - -- *hint = RWH_WRITE_LIFE_EXTREME; -- ret = fcntl(fd, F_SET_FILE_RW_HINT, hint); -+ hint = RWH_WRITE_LIFE_EXTREME; -+ ret = fcntl(fd, F_SET_FILE_RW_HINT, &hint); - if (ret == -1) { - goto err; - } --- -2.28.0 - diff --git a/gnu/packages/patches/u-boot-nintendo-nes-serial.patch b/gnu/packages/patches/u-boot-nintendo-nes-serial.patch new file mode 100644 index 0000000000..3588236803 --- /dev/null +++ b/gnu/packages/patches/u-boot-nintendo-nes-serial.patch @@ -0,0 +1,14 @@ +Date: Sun, 5 Sep 2021 23:24:00 +0200 +Author: Danny Milosavljevic <dannym@scratchpost.org> +Description: Set console UART to use pins PB0 and PB1. +--- u-boot-2018.11/configs/Nintendo_NES_Classic_Edition_defconfig.orig 2021-09-05 23:09:15.905846467 +0200 ++++ u-boot-2018.11/configs/Nintendo_NES_Classic_Edition_defconfig 2021-09-05 23:12:21.562774694 +0200 +@@ -21,7 +21,7 @@ + CONFIG_SYS_NAND_OOBSIZE=0x40 + CONFIG_AXP_DLDO1_VOLT=3300 + CONFIG_AXP_ELDO2_VOLT=1800 +-CONFIG_CONS_INDEX=5 ++CONFIG_CONS_INDEX=1 + CONFIG_USB_MUSB_GADGET=y + CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y + CONFIG_USB_FUNCTION_MASS_STORAGE=y diff --git a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch index d6c1987718..468024ab00 100644 --- a/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch +++ b/gnu/packages/patches/u-boot-riscv64-fix-extlinux.patch @@ -30,8 +30,8 @@ Index: u-boot/configs/qemu-riscv64_smode_defconfig +CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr}; fdt addr ${fdtcontroladdr};" Index: u-boot/configs/sifive_fu540_defconfig =================================================================== ---- u-boot.orig/configs/sifive_fu540_defconfig -+++ u-boot/configs/sifive_fu540_defconfig +--- u-boot.orig/configs/sifive_unleashed_defconfig ++++ u-boot/configs/sifive_unleashed_defconfig @@ -27,3 +27,5 @@ CONFIG_SPL_DM_SEQ_ALIAS=y CONFIG_SPL_CLK=y CONFIG_DM_MTD=y diff --git a/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch b/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch new file mode 100644 index 0000000000..a5b92e3e8f --- /dev/null +++ b/gnu/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch @@ -0,0 +1,16 @@ +Description: prevent relocating initrd & fdt, that results in failure to boot +Author: Heinrich Schuchardt (xypron) +Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246 +Index: u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h +=================================================================== +--- u-boot-2021.07~rc4+dfsg.orig/include/configs/sifive-unmatched.h ++++ u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h +@@ -62,6 +62,8 @@ + "name=system,size=-,bootable,type=${type_guid_gpt_system};" + + #define CONFIG_EXTRA_ENV_SETTINGS \ ++ "fdt_high=0xffffffffffffffff\0" \ ++ "initrd_high=0xffffffffffffffff\0" \ + "kernel_addr_r=0x84000000\0" \ + "fdt_addr_r=0x88000000\0" \ + "scriptaddr=0x88100000\0" \ diff --git a/gnu/packages/patches/vigra-python-compat.patch b/gnu/packages/patches/vigra-python-compat.patch deleted file mode 100644 index 63c6abb326..0000000000 --- a/gnu/packages/patches/vigra-python-compat.patch +++ /dev/null @@ -1,18 +0,0 @@ -Fix build with Boost + Python 3.7. - -Taken from upstream: -https://github.com/ukoethe/vigra/commit/a6fa62663c6a6b752ed0707e95f643e25867a0f9 - -diff --git a/vigranumpy/src/core/vigranumpycore.cxx b/vigranumpy/src/core/vigranumpycore.cxx -index ec38d3636..c81c6ae52 100644 ---- a/vigranumpy/src/core/vigranumpycore.cxx -+++ b/vigranumpy/src/core/vigranumpycore.cxx -@@ -61,7 +61,7 @@ UInt32 pychecksum(python::str const & s) - return checksum(data, size); - #else - Py_ssize_t size = 0; -- char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size); -+ const char * data = PyUnicode_AsUTF8AndSize(s.ptr(), &size); - return checksum(data, size); - #endif - } diff --git a/gnu/packages/patches/xnnpack-system-libraries.patch b/gnu/packages/patches/xnnpack-system-libraries.patch new file mode 100644 index 0000000000..ed4a5d93d3 --- /dev/null +++ b/gnu/packages/patches/xnnpack-system-libraries.patch @@ -0,0 +1,1499 @@ +This patch allows the build process to use the provided dependencies instead +of adding their source as CMake sub-directories (in which case "make install" +would install googletest's and googlebenchmark's libraries and headers). + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 177b98d5..937385c3 100755 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -4972,9 +4972,6 @@ IF(NOT TARGET pthreadpool) + ENDIF() + ENDIF() + TARGET_LINK_LIBRARIES(XNNPACK PUBLIC pthreadpool) +-TARGET_LINK_LIBRARIES(all_microkernels PRIVATE pthreadpool) +-TARGET_LINK_LIBRARIES(packing PRIVATE pthreadpool) +-TARGET_LINK_LIBRARIES(indirection PRIVATE pthreadpool) + + # ---[ Configure FXdiv + IF(NOT TARGET fxdiv) +@@ -4993,9 +4990,6 @@ IF(NOT TARGET fxdiv) + SET_PROPERTY(TARGET fxdiv PROPERTY LINKER_LANGUAGE C) + ENDIF() + ENDIF() +-TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fxdiv) +-TARGET_LINK_LIBRARIES(all_microkernels PRIVATE fxdiv) +-TARGET_LINK_LIBRARIES(indirection PRIVATE fxdiv) + + # ---[ Configure FP16 + IF(NOT TARGET fp16) +@@ -5014,8 +5008,6 @@ IF(NOT TARGET fp16) + SET_PROPERTY(TARGET fp16 PROPERTY LINKER_LANGUAGE C) + ENDIF() + ENDIF() +-TARGET_LINK_LIBRARIES(XNNPACK PRIVATE fp16) +-TARGET_LINK_LIBRARIES(all_microkernels PRIVATE fp16) + + INSTALL(TARGETS XNNPACK + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} +@@ -5062,7 +5054,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(add-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(add-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(add-nd-test add-nd-test) + + ADD_EXECUTABLE(argmax-pooling-nhwc-test test/argmax-pooling-nhwc.cc) +@@ -5134,7 +5126,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(convolution-nhwc-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(convolution-nhwc-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(convolution-nhwc-test convolution-nhwc-test) + + ADD_EXECUTABLE(convolution-nchw-test test/convolution-nchw.cc) +@@ -5143,7 +5135,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(convolution-nchw-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(convolution-nchw-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(convolution-nchw-test convolution-nchw-test) + + ADD_EXECUTABLE(copy-nc-test test/copy-nc.cc) +@@ -5188,7 +5180,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(divide-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(divide-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(divide-nd-test divide-nd-test) + + ADD_EXECUTABLE(elu-nc-test test/elu-nc.cc) +@@ -5224,7 +5216,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(global-average-pooling-nwc-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(global-average-pooling-nwc-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(global-average-pooling-nwc-test global-average-pooling-nwc-test) + + ADD_EXECUTABLE(global-average-pooling-ncw-test test/global-average-pooling-ncw.cc) +@@ -5233,7 +5225,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(global-average-pooling-ncw-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(global-average-pooling-ncw-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(global-average-pooling-ncw-test global-average-pooling-ncw-test) + + ADD_EXECUTABLE(hardswish-nc-test test/hardswish-nc.cc) +@@ -5242,7 +5234,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(hardswish-nc-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(hardswish-nc-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(hardswish-nc-test hardswish-nc-test) + + ADD_EXECUTABLE(leaky-relu-nc-test test/leaky-relu-nc.cc) +@@ -5269,7 +5261,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(maximum-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(maximum-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(maximum-nd-test maximum-nd-test) + + ADD_EXECUTABLE(minimum-nd-test test/minimum-nd.cc) +@@ -5278,7 +5270,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(minimum-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(minimum-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(minimum-nd-test minimum-nd-test) + + ADD_EXECUTABLE(multiply-nd-test test/multiply-nd.cc) +@@ -5287,7 +5279,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(multiply-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(multiply-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(multiply-nd-test multiply-nd-test) + + ADD_EXECUTABLE(negate-nc-test test/negate-nc.cc) +@@ -5368,7 +5360,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(squared-difference-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(squared-difference-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(squared-difference-nd-test squared-difference-nd-test) + + ADD_EXECUTABLE(subtract-nd-test test/subtract-nd.cc) +@@ -5377,7 +5369,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(subtract-nd-test PRIVATE src test) +- TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK fp16 gtest gtest_main) ++ TARGET_LINK_LIBRARIES(subtract-nd-test PRIVATE XNNPACK gtest gtest_main) + ADD_TEST(subtract-nd-test subtract-nd-test) + + ADD_EXECUTABLE(truncation-nc-test test/truncation-nc.cc) +@@ -5423,7 +5415,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-dwconv-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-dwconv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-dwconv-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-dwconv-minmax-test f16-dwconv-minmax-test) + + ADD_EXECUTABLE(f16-gavgpool-minmax-test test/f16-gavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5432,7 +5424,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-gavgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-gavgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-gavgpool-minmax-test f16-gavgpool-minmax-test) + + ADD_EXECUTABLE(f16-gemm-minmax-test test/f16-gemm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5441,7 +5433,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-gemm-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-gemm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-gemm-minmax-test f16-gemm-minmax-test) + + ADD_EXECUTABLE(f16-igemm-minmax-test test/f16-igemm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5450,7 +5442,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-igemm-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-igemm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-igemm-minmax-test f16-igemm-minmax-test) + + ADD_EXECUTABLE(f16-spmm-minmax-test test/f16-spmm-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5459,7 +5451,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-spmm-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-spmm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-spmm-minmax-test f16-spmm-minmax-test) + + ADD_EXECUTABLE(f16-vadd-minmax-test test/f16-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5468,7 +5460,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vadd-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vadd-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vadd-minmax-test f16-vadd-minmax-test) + + ADD_EXECUTABLE(f16-vaddc-minmax-test test/f16-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5477,7 +5469,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vaddc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vaddc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vaddc-minmax-test f16-vaddc-minmax-test) + + ADD_EXECUTABLE(f16-vclamp-test test/f16-vclamp.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5486,7 +5478,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vclamp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vclamp-test PRIVATE cpuinfo gtest_main) + ADD_TEST(f16-vclamp-test f16-vclamp-test) + + ADD_EXECUTABLE(f16-vdiv-minmax-test test/f16-vdiv-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5504,7 +5496,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vdivc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vdivc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vdivc-minmax-test f16-vdivc-minmax-test) + + ADD_EXECUTABLE(f16-vrdivc-minmax-test test/f16-vrdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5513,7 +5505,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vrdivc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vrdivc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vrdivc-minmax-test f16-vrdivc-minmax-test) + + ADD_EXECUTABLE(f16-vhswish-test test/f16-vhswish.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5522,7 +5514,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vhswish-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vhswish-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vhswish-test f16-vhswish-test) + + ADD_EXECUTABLE(f16-vmax-test test/f16-vmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5531,7 +5523,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vmax-test f16-vmax-test) + + ADD_EXECUTABLE(f16-vmaxc-test test/f16-vmaxc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5540,7 +5532,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vmaxc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vmaxc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vmaxc-test f16-vmaxc-test) + + ADD_EXECUTABLE(f16-vmin-test test/f16-vmin.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5549,7 +5541,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vmin-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vmin-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vmin-test f16-vmin-test) + + ADD_EXECUTABLE(f16-vminc-test test/f16-vminc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5558,7 +5550,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vminc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vminc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vminc-test f16-vminc-test) + + ADD_EXECUTABLE(f16-vmul-minmax-test test/f16-vmul-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5567,7 +5559,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vmul-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vmul-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vmul-minmax-test f16-vmul-minmax-test) + + ADD_EXECUTABLE(f16-vmulc-minmax-test test/f16-vmulc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5576,7 +5568,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vmulc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vmulc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vmulc-minmax-test f16-vmulc-minmax-test) + + ADD_EXECUTABLE(f16-vmulcaddc-minmax-test test/f16-vmulcaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5585,7 +5577,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vmulcaddc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vmulcaddc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vmulcaddc-minmax-test f16-vmulcaddc-minmax-test) + + ADD_EXECUTABLE(f16-prelu-test test/f16-prelu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5594,7 +5586,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-prelu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-prelu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-prelu-test f16-prelu-test) + + ADD_EXECUTABLE(f16-vsub-minmax-test test/f16-vsub-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5603,7 +5595,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vsub-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vsub-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vsub-minmax-test f16-vsub-minmax-test) + + ADD_EXECUTABLE(f16-vsubc-minmax-test test/f16-vsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5612,7 +5604,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vsubc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vsubc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vsubc-minmax-test f16-vsubc-minmax-test) + + ADD_EXECUTABLE(f16-vrsubc-minmax-test test/f16-vrsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5621,7 +5613,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f16-vrsubc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f16-vrsubc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f16-vrsubc-minmax-test f16-vrsubc-minmax-test) + + ADD_EXECUTABLE(f32-argmaxpool-test test/f32-argmaxpool.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5630,7 +5622,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-argmaxpool-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-argmaxpool-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-argmaxpool-test f32-argmaxpool-test) + + ADD_EXECUTABLE(f32-avgpool-minmax-test test/f32-avgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5639,7 +5631,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-avgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-avgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-avgpool-minmax-test f32-avgpool-minmax-test) + + ADD_EXECUTABLE(f32-conv-hwc-test test/f32-conv-hwc.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5648,7 +5640,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-conv-hwc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-conv-hwc-test f32-conv-hwc-test) + + ADD_EXECUTABLE(f32-conv-hwc2chw-test test/f32-conv-hwc2chw.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5657,7 +5649,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-conv-hwc2chw-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-conv-hwc2chw-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-conv-hwc2chw-test f32-conv-hwc2chw-test) + + ADD_EXECUTABLE(f32-dwconv-test test/f32-dwconv.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5666,7 +5658,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-dwconv-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-dwconv-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-dwconv-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-dwconv-test f32-dwconv-test) + + ADD_EXECUTABLE(f32-dwconv2d-chw-test test/f32-dwconv2d-chw.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5675,7 +5667,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-dwconv2d-chw-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-dwconv2d-chw-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-dwconv2d-chw-test f32-dwconv2d-chw-test) + + ADD_EXECUTABLE(f32-dwconv-minmax-test test/f32-dwconv-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5684,7 +5676,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-dwconv-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-dwconv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-dwconv-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-dwconv-minmax-test f32-dwconv-minmax-test) + + ADD_EXECUTABLE(f32-gavgpool-cw-test test/f32-gavgpool-cw.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5693,7 +5685,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-cw-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-gavgpool-cw-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-gavgpool-cw-test f32-gavgpool-cw-test) + + ADD_EXECUTABLE(f32-gavgpool-minmax-test test/f32-gavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5702,7 +5694,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-gavgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-gavgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-gavgpool-minmax-test f32-gavgpool-minmax-test) + + ADD_EXECUTABLE(f32-gemm-test test/f32-gemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5711,7 +5703,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-gemm-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-gemm-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-gemm-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-gemm-test f32-gemm-test) + + ADD_EXECUTABLE(f32-gemm-relu-test test/f32-gemm-relu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5720,7 +5712,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-gemm-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-gemm-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-gemm-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-gemm-relu-test f32-gemm-relu-test) + + ADD_EXECUTABLE(f32-gemm-minmax-test test/f32-gemm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5729,7 +5721,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-gemm-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-gemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-gemm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-gemm-minmax-test f32-gemm-minmax-test) + + ADD_EXECUTABLE(f32-gemminc-minmax-test test/f32-gemminc-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5738,7 +5730,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-gemminc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-gemminc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-gemminc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-gemminc-minmax-test f32-gemminc-minmax-test) + + ADD_EXECUTABLE(f32-ibilinear-test test/f32-ibilinear.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5747,7 +5739,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-ibilinear-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-ibilinear-test f32-ibilinear-test) + + ADD_EXECUTABLE(f32-ibilinear-chw-test test/f32-ibilinear-chw.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5756,7 +5748,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-ibilinear-chw-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-ibilinear-chw-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-ibilinear-chw-test f32-ibilinear-chw-test) + + ADD_EXECUTABLE(f32-igemm-test test/f32-igemm.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5765,7 +5757,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-igemm-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-igemm-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-igemm-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-igemm-test f32-igemm-test) + + ADD_EXECUTABLE(f32-igemm-relu-test test/f32-igemm-relu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5774,7 +5766,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-igemm-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-igemm-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-igemm-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-igemm-relu-test f32-igemm-relu-test) + + ADD_EXECUTABLE(f32-igemm-minmax-test test/f32-igemm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5787,7 +5779,7 @@ IF(XNNPACK_BUILD_TESTS) + # Work-around for "too many sections" error + TARGET_COMPILE_OPTIONS(f32-igemm-minmax-test PRIVATE "$<$<NOT:$<OR:$<CONFIG:Release>,$<CONFIG:MinSizeRel>>>:-Wa,-mbig-obj>") + ENDIF() +- TARGET_LINK_LIBRARIES(f32-igemm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-igemm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-igemm-minmax-test f32-igemm-minmax-test) + + ADD_EXECUTABLE(f32-maxpool-minmax-test test/f32-maxpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5796,7 +5788,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-maxpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-maxpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-maxpool-minmax-test f32-maxpool-minmax-test) + + ADD_EXECUTABLE(f32-pavgpool-minmax-test test/f32-pavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5805,7 +5797,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-pavgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-pavgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-pavgpool-minmax-test f32-pavgpool-minmax-test) + + ADD_EXECUTABLE(f32-ppmm-minmax-test test/f32-ppmm-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -5814,7 +5806,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-ppmm-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-ppmm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-ppmm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-ppmm-minmax-test f32-ppmm-minmax-test) + + ADD_EXECUTABLE(f32-prelu-test test/f32-prelu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5823,7 +5815,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-prelu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-prelu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-prelu-test f32-prelu-test) + + ADD_EXECUTABLE(f32-raddexpminusmax-test test/f32-raddexpminusmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5832,7 +5824,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-raddexpminusmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-raddexpminusmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-raddexpminusmax-test f32-raddexpminusmax-test) + + ADD_EXECUTABLE(f32-raddextexp-test test/f32-raddextexp.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5841,7 +5833,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-raddextexp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-raddextexp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-raddextexp-test f32-raddextexp-test) + + ADD_EXECUTABLE(f32-raddstoreexpminusmax-test test/f32-raddstoreexpminusmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5850,7 +5842,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-raddstoreexpminusmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-raddstoreexpminusmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-raddstoreexpminusmax-test f32-raddstoreexpminusmax-test) + + ADD_EXECUTABLE(f32-rmax-test test/f32-rmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5859,7 +5851,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-rmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-rmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-rmax-test f32-rmax-test) + + ADD_EXECUTABLE(f32-spmm-minmax-test test/f32-spmm-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5868,7 +5860,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-spmm-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-spmm-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-spmm-minmax-test f32-spmm-minmax-test) + + ADD_EXECUTABLE(f32-vabs-test test/f32-vabs.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5877,7 +5869,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vabs-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vabs-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vabs-test f32-vabs-test) + + ADD_EXECUTABLE(f32-vadd-test test/f32-vadd.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5886,7 +5878,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vadd-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vadd-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vadd-test f32-vadd-test) + + ADD_EXECUTABLE(f32-vadd-minmax-test test/f32-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5895,7 +5887,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vadd-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vadd-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vadd-minmax-test f32-vadd-minmax-test) + + ADD_EXECUTABLE(f32-vadd-relu-test test/f32-vadd-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5904,7 +5896,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vadd-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vadd-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vadd-relu-test f32-vadd-relu-test) + + ADD_EXECUTABLE(f32-vaddc-test test/f32-vaddc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5913,7 +5905,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vaddc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vaddc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vaddc-test f32-vaddc-test) + + ADD_EXECUTABLE(f32-vaddc-minmax-test test/f32-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5922,7 +5914,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vaddc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vaddc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vaddc-minmax-test f32-vaddc-minmax-test) + + ADD_EXECUTABLE(f32-vaddc-relu-test test/f32-vaddc-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5931,7 +5923,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vaddc-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vaddc-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vaddc-relu-test f32-vaddc-relu-test) + + ADD_EXECUTABLE(f32-vclamp-test test/f32-vclamp.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5940,7 +5932,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vclamp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vclamp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vclamp-test f32-vclamp-test) + + ADD_EXECUTABLE(f32-vhswish-test test/f32-vhswish.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5949,7 +5941,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vhswish-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vhswish-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vhswish-test f32-vhswish-test) + + ADD_EXECUTABLE(f32-vdiv-test test/f32-vdiv.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5958,7 +5950,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vdiv-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vdiv-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vdiv-test f32-vdiv-test) + + ADD_EXECUTABLE(f32-vdiv-minmax-test test/f32-vdiv-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5967,7 +5959,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vdiv-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vdiv-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vdiv-minmax-test f32-vdiv-minmax-test) + + ADD_EXECUTABLE(f32-vdiv-relu-test test/f32-vdiv-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5976,7 +5968,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vdiv-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vdiv-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vdiv-relu-test f32-vdiv-relu-test) + + ADD_EXECUTABLE(f32-vdivc-test test/f32-vdivc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5985,7 +5977,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vdivc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vdivc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vdivc-test f32-vdivc-test) + + ADD_EXECUTABLE(f32-vdivc-minmax-test test/f32-vdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -5994,7 +5986,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vdivc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vdivc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vdivc-minmax-test f32-vdivc-minmax-test) + + ADD_EXECUTABLE(f32-vdivc-relu-test test/f32-vdivc-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6003,7 +5995,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vdivc-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vdivc-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vdivc-relu-test f32-vdivc-relu-test) + + ADD_EXECUTABLE(f32-vrdivc-test test/f32-vrdivc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6012,7 +6004,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrdivc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrdivc-test f32-vrdivc-test) + + ADD_EXECUTABLE(f32-vrdivc-minmax-test test/f32-vrdivc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6021,7 +6013,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrdivc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrdivc-minmax-test f32-vrdivc-minmax-test) + + ADD_EXECUTABLE(f32-vrdivc-relu-test test/f32-vrdivc-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6030,7 +6022,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrdivc-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrdivc-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrdivc-relu-test f32-vrdivc-relu-test) + + ADD_EXECUTABLE(f32-velu-test test/f32-velu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6039,7 +6031,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-velu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-velu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-velu-test f32-velu-test) + + ADD_EXECUTABLE(f32-vlrelu-test test/f32-vlrelu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6048,7 +6040,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vlrelu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vlrelu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vlrelu-test f32-vlrelu-test) + + ADD_EXECUTABLE(f32-vmax-test test/f32-vmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6057,7 +6049,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmax-test f32-vmax-test) + + ADD_EXECUTABLE(f32-vmaxc-test test/f32-vmaxc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6066,7 +6058,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmaxc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmaxc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmaxc-test f32-vmaxc-test) + + ADD_EXECUTABLE(f32-vmin-test test/f32-vmin.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6075,7 +6067,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmin-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmin-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmin-test f32-vmin-test) + + ADD_EXECUTABLE(f32-vminc-test test/f32-vminc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6084,7 +6076,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vminc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vminc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vminc-test f32-vminc-test) + + ADD_EXECUTABLE(f32-vmul-test test/f32-vmul.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6093,7 +6085,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmul-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmul-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmul-test f32-vmul-test) + + ADD_EXECUTABLE(f32-vmul-minmax-test test/f32-vmul-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6102,7 +6094,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmul-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmul-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmul-minmax-test f32-vmul-minmax-test) + + ADD_EXECUTABLE(f32-vmul-relu-test test/f32-vmul-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6111,7 +6103,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmul-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmul-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmul-relu-test f32-vmul-relu-test) + + ADD_EXECUTABLE(f32-vmulc-test test/f32-vmulc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6120,7 +6112,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmulc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmulc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmulc-test f32-vmulc-test) + + ADD_EXECUTABLE(f32-vmulc-minmax-test test/f32-vmulc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6129,7 +6121,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmulc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmulc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmulc-minmax-test f32-vmulc-minmax-test) + + ADD_EXECUTABLE(f32-vmulc-relu-test test/f32-vmulc-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6138,7 +6130,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmulc-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmulc-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmulc-relu-test f32-vmulc-relu-test) + + ADD_EXECUTABLE(f32-vmulcaddc-minmax-test test/f32-vmulcaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6147,7 +6139,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vmulcaddc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vmulcaddc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vmulcaddc-minmax-test f32-vmulcaddc-minmax-test) + + ADD_EXECUTABLE(f32-vneg-test test/f32-vneg.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6156,7 +6148,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vneg-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vneg-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vneg-test f32-vneg-test) + + ADD_EXECUTABLE(f32-vrelu-test test/f32-vrelu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6165,7 +6157,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrelu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrelu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrelu-test f32-vrelu-test) + + ADD_EXECUTABLE(f32-vrndne-test test/f32-vrndne.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6174,7 +6166,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrndne-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrndne-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrndne-test f32-vrndne-test) + + ADD_EXECUTABLE(f32-vrndz-test test/f32-vrndz.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6183,7 +6175,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrndz-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrndz-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrndz-test f32-vrndz-test) + + ADD_EXECUTABLE(f32-vrndu-test test/f32-vrndu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6192,7 +6184,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrndu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrndu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrndu-test f32-vrndu-test) + + ADD_EXECUTABLE(f32-vrndd-test test/f32-vrndd.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6201,7 +6193,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrndd-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrndd-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrndd-test f32-vrndd-test) + + ADD_EXECUTABLE(f32-vscaleexpminusmax-test test/f32-vscaleexpminusmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6210,7 +6202,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vscaleexpminusmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vscaleexpminusmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vscaleexpminusmax-test f32-vscaleexpminusmax-test) + + ADD_EXECUTABLE(f32-vscaleextexp-test test/f32-vscaleextexp.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6219,7 +6211,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vscaleextexp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vscaleextexp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vscaleextexp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vscaleextexp-test f32-vscaleextexp-test) + + ADD_EXECUTABLE(f32-vsigmoid-test test/f32-vsigmoid.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6228,7 +6220,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsigmoid-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsigmoid-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsigmoid-test f32-vsigmoid-test) + + ADD_EXECUTABLE(f32-vsqr-test test/f32-vsqr.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6237,7 +6229,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsqr-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsqr-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsqr-test f32-vsqr-test) + + ADD_EXECUTABLE(f32-vsqrdiff-test test/f32-vsqrdiff.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6246,7 +6238,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiff-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsqrdiff-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsqrdiff-test f32-vsqrdiff-test) + + ADD_EXECUTABLE(f32-vsqrdiffc-test test/f32-vsqrdiffc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6255,7 +6247,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsqrdiffc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsqrdiffc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsqrdiffc-test f32-vsqrdiffc-test) + + ADD_EXECUTABLE(f32-vsqrt-test test/f32-vsqrt.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6264,7 +6256,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsqrt-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsqrt-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsqrt-test f32-vsqrt-test) + + ADD_EXECUTABLE(f32-vsub-test test/f32-vsub.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6273,7 +6265,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsub-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsub-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsub-test f32-vsub-test) + + ADD_EXECUTABLE(f32-vsub-minmax-test test/f32-vsub-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6282,7 +6274,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsub-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsub-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsub-minmax-test f32-vsub-minmax-test) + + ADD_EXECUTABLE(f32-vsub-relu-test test/f32-vsub-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6291,7 +6283,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsub-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsub-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsub-relu-test f32-vsub-relu-test) + + ADD_EXECUTABLE(f32-vsubc-test test/f32-vsubc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6300,7 +6292,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsubc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsubc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsubc-test f32-vsubc-test) + + ADD_EXECUTABLE(f32-vsubc-minmax-test test/f32-vsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6309,7 +6301,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsubc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsubc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsubc-minmax-test f32-vsubc-minmax-test) + + ADD_EXECUTABLE(f32-vsubc-relu-test test/f32-vsubc-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6318,7 +6310,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vsubc-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vsubc-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vsubc-relu-test f32-vsubc-relu-test) + + ADD_EXECUTABLE(f32-vrsubc-test test/f32-vrsubc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6327,7 +6319,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrsubc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrsubc-test f32-vrsubc-test) + + ADD_EXECUTABLE(f32-vrsubc-minmax-test test/f32-vrsubc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6336,7 +6328,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrsubc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrsubc-minmax-test f32-vrsubc-minmax-test) + + ADD_EXECUTABLE(f32-vrsubc-relu-test test/f32-vrsubc-relu.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6345,7 +6337,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(f32-vrsubc-relu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-vrsubc-relu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(f32-vrsubc-relu-test f32-vrsubc-relu-test) + + ADD_EXECUTABLE(qc8-dwconv-minmax-fp32-test test/qc8-dwconv-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6354,7 +6346,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qc8-dwconv-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qc8-dwconv-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qc8-dwconv-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qc8-dwconv-minmax-fp32-test qc8-dwconv-minmax-fp32-test) + + ADD_EXECUTABLE(qc8-gemm-minmax-fp32-test test/qc8-gemm-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6363,7 +6355,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qc8-gemm-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qc8-gemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qc8-gemm-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qc8-gemm-minmax-fp32-test qc8-gemm-minmax-fp32-test) + + ADD_EXECUTABLE(qc8-igemm-minmax-fp32-test test/qc8-igemm-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6372,7 +6364,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qc8-igemm-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qc8-igemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qc8-igemm-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qc8-igemm-minmax-fp32-test qc8-igemm-minmax-fp32-test) + + ADD_EXECUTABLE(qs8-dwconv-minmax-fp32-test test/qs8-dwconv-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6381,7 +6373,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-dwconv-minmax-fp32-test qs8-dwconv-minmax-fp32-test) + + ADD_EXECUTABLE(qs8-dwconv-minmax-gemmlowp-test test/qs8-dwconv-minmax-gemmlowp.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6390,7 +6382,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-minmax-gemmlowp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-gemmlowp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-gemmlowp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-dwconv-minmax-gemmlowp-test qs8-dwconv-minmax-gemmlowp-test) + + ADD_EXECUTABLE(qs8-dwconv-minmax-rndnu-test test/qs8-dwconv-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6399,7 +6391,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-dwconv-minmax-rndnu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-dwconv-minmax-rndnu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-dwconv-minmax-rndnu-test qs8-dwconv-minmax-rndnu-test) + + ADD_EXECUTABLE(qs8-gavgpool-minmax-test test/qs8-gavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6408,7 +6400,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-gavgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-gavgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-gavgpool-test qs8-gavgpool-minmax-test) + + ADD_EXECUTABLE(qs8-gemm-minmax-fp32-test test/qs8-gemm-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6417,7 +6409,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-gemm-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-gemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-gemm-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-gemm-minmax-fp32-test qs8-gemm-minmax-fp32-test) + + ADD_EXECUTABLE(qs8-gemm-minmax-gemmlowp-test test/qs8-gemm-minmax-gemmlowp.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6426,7 +6418,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-gemm-minmax-gemmlowp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-gemm-minmax-gemmlowp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-gemm-minmax-gemmlowp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-gemm-minmax-gemmlowp-test qs8-gemm-minmax-gemmlowp-test) + + ADD_EXECUTABLE(qs8-gemm-minmax-rndnu-test test/qs8-gemm-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6435,7 +6427,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-gemm-minmax-rndnu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-gemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-gemm-minmax-rndnu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-gemm-minmax-rndnu-test qs8-gemm-minmax-rndnu-test) + + ADD_EXECUTABLE(qs8-igemm-minmax-fp32-test test/qs8-igemm-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6444,7 +6436,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-igemm-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-igemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-igemm-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-igemm-minmax-fp32-test qs8-igemm-minmax-fp32-test) + + ADD_EXECUTABLE(qs8-igemm-minmax-gemmlowp-test test/qs8-igemm-minmax-gemmlowp.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6453,7 +6445,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-igemm-minmax-gemmlowp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-igemm-minmax-gemmlowp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-igemm-minmax-gemmlowp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-igemm-minmax-gemmlowp-test qs8-igemm-minmax-gemmlowp-test) + + ADD_EXECUTABLE(qs8-igemm-minmax-rndnu-test test/qs8-igemm-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6462,7 +6454,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-igemm-minmax-rndnu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-igemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-igemm-minmax-rndnu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-igemm-minmax-rndnu-test qs8-igemm-minmax-rndnu-test) + + ADD_EXECUTABLE(qs8-vadd-minmax-test test/qs8-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6471,7 +6463,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-vadd-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-vadd-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-vadd-minmax-test qs8-vadd-minmax-test) + + ADD_EXECUTABLE(qs8-vaddc-minmax-test test/qs8-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6480,7 +6472,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qs8-vaddc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qs8-vaddc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qs8-vaddc-minmax-test qs8-vaddc-minmax-test) + + ADD_EXECUTABLE(qu8-avgpool-minmax-test test/qu8-avgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6489,7 +6481,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-avgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-avgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-avgpool-minmax-test qu8-avgpool-minmax-test) + + ADD_EXECUTABLE(qu8-dwconv-minmax-fp32-test test/qu8-dwconv-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6498,7 +6490,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-dwconv-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-dwconv-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-dwconv-minmax-fp32-test qu8-dwconv-minmax-fp32-test) + + ADD_EXECUTABLE(qu8-dwconv-minmax-rndnu-test test/qu8-dwconv-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6507,7 +6499,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-dwconv-minmax-rndnu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-dwconv-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-dwconv-minmax-rndnu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-dwconv-minmax-rndnu-test qu8-dwconv-minmax-rndnu-test) + + ADD_EXECUTABLE(qu8-gavgpool-minmax-test test/qu8-gavgpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6516,7 +6508,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-gavgpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-gavgpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-gavgpool-test qu8-gavgpool-minmax-test) + + ADD_EXECUTABLE(qu8-gemm-minmax-fp32-test test/qu8-gemm-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6525,7 +6517,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-gemm-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-gemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-gemm-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-gemm-minmax-fp32-test qu8-gemm-minmax-fp32-test) + + ADD_EXECUTABLE(qu8-gemm-minmax-gemmlowp-test test/qu8-gemm-minmax-gemmlowp.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6534,7 +6526,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-gemm-minmax-gemmlowp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-gemm-minmax-gemmlowp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-gemm-minmax-gemmlowp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-gemm-minmax-gemmlowp-test qu8-gemm-minmax-gemmlowp-test) + + ADD_EXECUTABLE(qu8-gemm-minmax-rndnu-test test/qu8-gemm-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6543,7 +6535,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-gemm-minmax-rndnu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-gemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-gemm-minmax-rndnu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-gemm-minmax-rndnu-test qu8-gemm-minmax-rndnu-test) + + ADD_EXECUTABLE(qu8-igemm-minmax-fp32-test test/qu8-igemm-minmax-fp32.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6552,7 +6544,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-igemm-minmax-fp32-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-igemm-minmax-fp32-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-igemm-minmax-fp32-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-igemm-minmax-fp32-test qu8-igemm-minmax-fp32-test) + + ADD_EXECUTABLE(qu8-igemm-minmax-gemmlowp-test test/qu8-igemm-minmax-gemmlowp.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6561,7 +6553,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-igemm-minmax-gemmlowp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-igemm-minmax-gemmlowp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-igemm-minmax-gemmlowp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-igemm-minmax-gemmlowp-test qu8-igemm-minmax-gemmlowp-test) + + ADD_EXECUTABLE(qu8-igemm-minmax-rndnu-test test/qu8-igemm-minmax-rndnu.cc $<TARGET_OBJECTS:all_microkernels> $<TARGET_OBJECTS:packing>) +@@ -6570,7 +6562,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-igemm-minmax-rndnu-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-igemm-minmax-rndnu-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-igemm-minmax-rndnu-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-igemm-minmax-rndnu-test qu8-igemm-minmax-rndnu-test) + + ADD_EXECUTABLE(qu8-requantization-test test/qu8-requantization.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6579,7 +6571,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-requantization-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-requantization-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-requantization-test qu8-requantization-test) + + ADD_EXECUTABLE(qu8-vadd-minmax-test test/qu8-vadd-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6588,7 +6580,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-vadd-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-vadd-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-vadd-minmax-test qu8-vadd-minmax-test) + + ADD_EXECUTABLE(qu8-vaddc-minmax-test test/qu8-vaddc-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6597,7 +6589,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(qu8-vaddc-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(qu8-vaddc-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(qu8-vaddc-minmax-test qu8-vaddc-minmax-test) + + ADD_EXECUTABLE(u8-lut32norm-test test/u8-lut32norm.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6606,7 +6598,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(u8-lut32norm-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(u8-lut32norm-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(u8-lut32norm-test u8-lut32norm-test) + + ADD_EXECUTABLE(u8-maxpool-minmax-test test/u8-maxpool-minmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6615,7 +6607,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(u8-maxpool-minmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(u8-maxpool-minmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(u8-maxpool-minmax-test u8-maxpool-minmax-test) + + ADD_EXECUTABLE(u8-rmax-test test/u8-rmax.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6624,7 +6616,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(u8-rmax-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(u8-rmax-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(u8-rmax-test u8-rmax-test) + + ADD_EXECUTABLE(u8-vclamp-test test/u8-vclamp.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6633,7 +6625,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(u8-vclamp-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(u8-vclamp-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(u8-vclamp-test u8-vclamp-test) + + ADD_EXECUTABLE(x32-fill-test test/x32-fill.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6642,7 +6634,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x32-fill-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x32-fill-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x32-fill-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x32-fill-test x32-fill-test) + + ADD_EXECUTABLE(x32-packx-test test/x32-packx.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6651,7 +6643,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x32-packx-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x32-packx-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x32-packx-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x32-packx-test x32-packx-test) + + ADD_EXECUTABLE(x32-pad-test test/x32-pad.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6660,7 +6652,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x32-pad-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x32-pad-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x32-pad-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x32-pad-test x32-pad-test) + + ADD_EXECUTABLE(x32-unpool-test test/x32-unpool.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6669,7 +6661,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x32-unpool-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x32-unpool-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x32-unpool-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x32-unpool-test x32-unpool-test) + + ADD_EXECUTABLE(x32-depthtospace2d-chw2hwc-test test/x32-depthtospace2d-chw2hwc.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6678,7 +6670,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x32-depthtospace2d-chw2hwc-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x32-depthtospace2d-chw2hwc-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x32-depthtospace2d-chw2hwc-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x32-depthtospace2d-chw2hwc-test x32-depthtospace2d-chw2hwc-test) + + ADD_EXECUTABLE(x32-zip-test test/x32-zip.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6687,7 +6679,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x32-zip-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x32-zip-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x32-zip-test x32-zip-test) + + ADD_EXECUTABLE(x8-lut-test test/x8-lut.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6696,7 +6688,7 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x8-lut-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x8-lut-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x8-lut-test x8-lut-test) + + ADD_EXECUTABLE(x8-zip-test test/x8-zip.cc $<TARGET_OBJECTS:all_microkernels>) +@@ -6705,20 +6697,12 @@ IF(XNNPACK_BUILD_TESTS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS YES) + TARGET_INCLUDE_DIRECTORIES(x8-zip-test PRIVATE include src test) +- TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(x8-zip-test PRIVATE cpuinfo gtest gtest_main) + ADD_TEST(x8-zip-test x8-zip-test) + ENDIF() + + # ---[ XNNPACK microbenchmarks + IF(XNNPACK_BUILD_BENCHMARKS) +- # ---[ Build google benchmark +- IF(NOT TARGET benchmark) +- SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "") +- ADD_SUBDIRECTORY( +- "${GOOGLEBENCHMARK_SOURCE_DIR}" +- "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark") +- ENDIF() +- + ADD_LIBRARY(bench-utils bench/utils.cc) + SET_TARGET_PROPERTIES(bench-utils PROPERTIES + CXX_STANDARD 11 +@@ -6783,7 +6767,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-exp-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-exp-eval PRIVATE cpuinfo gtest gtest_main) + + ADD_EXECUTABLE(f32-expm1minus-eval eval/f32-expm1minus.cc $<TARGET_OBJECTS:all_microkernels>) + SET_TARGET_PROPERTIES(f32-expm1minus-eval PROPERTIES +@@ -6791,7 +6775,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-expm1minus-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-expm1minus-eval PRIVATE cpuinfo gtest gtest_main) + + ADD_EXECUTABLE(f32-expminus-eval eval/f32-expminus.cc $<TARGET_OBJECTS:all_microkernels>) + SET_TARGET_PROPERTIES(f32-expminus-eval PROPERTIES +@@ -6799,7 +6783,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-expminus-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-expminus-eval PRIVATE cpuinfo gtest gtest_main) + + ADD_EXECUTABLE(f32-roundne-eval eval/f32-roundne.cc $<TARGET_OBJECTS:all_microkernels>) + SET_TARGET_PROPERTIES(f32-roundne-eval PROPERTIES +@@ -6807,7 +6791,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-roundne-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-roundne-eval PRIVATE cpuinfo gtest gtest_main) + + ADD_EXECUTABLE(f32-roundd-eval eval/f32-roundd.cc $<TARGET_OBJECTS:all_microkernels>) + SET_TARGET_PROPERTIES(f32-roundd-eval PROPERTIES +@@ -6815,7 +6799,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-roundd-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-roundd-eval PRIVATE cpuinfo gtest gtest_main) + + ADD_EXECUTABLE(f32-roundu-eval eval/f32-roundu.cc $<TARGET_OBJECTS:all_microkernels>) + SET_TARGET_PROPERTIES(f32-roundu-eval PROPERTIES +@@ -6823,7 +6807,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-roundu-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-roundu-eval PRIVATE cpuinfo gtest gtest_main) + + ADD_EXECUTABLE(f32-roundz-eval eval/f32-roundz.cc $<TARGET_OBJECTS:all_microkernels>) + SET_TARGET_PROPERTIES(f32-roundz-eval PROPERTIES +@@ -6831,7 +6815,7 @@ IF(XNNPACK_BUILD_BENCHMARKS) + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO) + TARGET_INCLUDE_DIRECTORIES(f32-roundz-eval PRIVATE include src) +- TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE cpuinfo fp16 pthreadpool gtest gtest_main) ++ TARGET_LINK_LIBRARIES(f32-roundz-eval PRIVATE cpuinfo gtest gtest_main) + + # ---[ Build end-to-end microbenchmarks + ADD_LIBRARY(bench-models STATIC diff --git a/gnu/packages/patches/xygrib-fix-finding-data.patch b/gnu/packages/patches/xygrib-fix-finding-data.patch new file mode 100644 index 0000000000..0b718b0eff --- /dev/null +++ b/gnu/packages/patches/xygrib-fix-finding-data.patch @@ -0,0 +1,131 @@ +This is a backport of the commits in PR 235 (“Fixes for packaging on +linux-like systems”), which was merged upstream: + +https://github.com/opengribs/XyGrib/pull/235 + +It fixes finding resources such as icons, maps and translations installed in +the data directory. This patch has been merged upstream and can be removed +with the next release. + +Sightly adapted to find openjpg-2.4. + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64059ab65dae..00cc5d6aea6f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -7,6 +7,9 @@ set(VERSION_PATCH 6) + set(XYGRIB_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}") + set(XYGRIB_VERSION_DATE "2019-07-05") + ++option(GNU_PACKAGE "Install into GNU standard directories" OFF) ++option(GEN_TRANSLATIONS "Generate translations" ON) ++ + set(CMAKE_VERBOSE_MAKEFILE ON) + + # Find includes in corresponding build directories +@@ -25,7 +28,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) + set(CMAKE_CXX_STANDARD 11) + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") + if(UNIX AND NOT APPLE) +-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC") ++add_compile_options(-Wall -fPIC) + endif() + + # Add support for address etc sanitizers, part 1/2 (other half after ADD_EXECUTABLE) +@@ -108,17 +111,12 @@ find_path(OPENJPEG_INCLUDE_DIR + ~/Library/Frameworks/include + /Library/Frameworks/include + /usr/local/include +- /usr/local/include/openjpeg-2.3 +- /usr/include/openjpeg-2.3 +- /usr/local/include/openjpeg-2.1 +- /usr/include/openjpeg-2.1 +- /usr/local/include/openjpeg-2.2 +- /usr/include/openjpeg-2.2 + /usr/include + /sw/include # Fink + /opt/local/include # DarwinPorts + /opt/csw/include # Blastwave + /opt/include ++ PATH_SUFFIXES openjpeg-2.4 openjpeg-2.3 openjpeg-2.2 openjpeg-2.1 + REQUIRED + ) + include_directories(${OPENJPEG_INCLUDE_DIR}) +@@ -212,22 +210,24 @@ include_directories(${PNG_INCLUDE_DIR}) + configure_file(cmake/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include/Version.h) + include_directories(${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/include) + +-if(APPLE) +-set(PREFIX_BIN ${PROJECT_NAME}) +-set(PREFIX_PKGDATA ${PROJECT_NAME}) +-endif() +-if(WIN32) +-set(PREFIX_BIN ".") +-set(PREFIX_PKGDATA ".") +-endif() +-if(UNIX AND NOT APPLE) +-# This is not exactly a good idea on linux - the code should be changed so that the executable would go to /usr/local/bin and the data to /usr/local/share/XyGrib +-set(PREFIX_BIN ${PROJECT_NAME}) +-set(PREFIX_PKGDATA ${PROJECT_NAME}) ++if(GNU_PACKAGE) ++ include(GNUInstallDirs) ++ set(PREFIX_BIN ${CMAKE_INSTALL_FULL_BINDIR}) ++ set(PREFIX_PKGDATA ${CMAKE_INSTALL_FULL_DATADIR}/openGribs/${PROJECT_NAME}) ++else() ++ if(WIN32) ++ set(PREFIX_BIN ".") ++ set(PREFIX_PKGDATA ".") ++ else() ++ set(PREFIX_BIN ${PROJECT_NAME}) ++ set(PREFIX_PKGDATA ${PROJECT_NAME}) ++ endif() + endif() + + add_subdirectory(src) +-add_subdirectory(data/tr) ++if(GEN_TRANSLATIONS) ++ add_subdirectory(data/tr) ++endif() + + # Installation + # macOS bundle parameters +@@ -241,4 +241,14 @@ set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STR + set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${XYGRIB_VERSION}") + set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE_COPYRIGHT "${PROJECT_NAME} Authors") + # Install data +-install(DIRECTORY data DESTINATION ${PREFIX_PKGDATA}) ++install(DIRECTORY data DESTINATION ${PREFIX_PKGDATA} ++ PATTERN "CMakeFiles" EXCLUDE ++ PATTERN "CMakeLists.txt" EXCLUDE ++ PATTERN "Makefile" EXCLUDE ++ PATTERN "cmake_install.cmake" EXCLUDE) ++if(GNU_PACKAGE) ++ install(FILES debian/xygrib.desktop ++ DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/applications) ++ install(FILES debian/xygrib.png ++ DESTINATION ${CMAKE_INSTALL_FULL_DATADIR}/pixmaps) ++endif() +diff --git a/INSTALL.md b/INSTALL.md +index 2c9d3ab4da03..1190cc780182 100644 +--- a/INSTALL.md ++++ b/INSTALL.md +@@ -22,7 +22,19 @@ https://gihub.com/opengribs/XyGrib/releases or on https://opengribs.org in the d + - openSUSE Tumbleweed: `sudo zypper install gcc git cmake libqt5-qtbase-devel libpng-devel openjpeg2-devel libnova-devel libproj-devel zlib-devel libbz2-devel + + ## Build and package ++### Options + ++XyGrib has two CMake options ++- GNU_PACKAGE (DEFAULT: OFF) ++``` ++Files will be installed in GNU standard installation directories such as prefix/bin and prefix/share. ++Packagers are recommended to test this option. ++``` ++- GEN_TRANSLATION (DEFAULT: ON) ++``` ++Create targets to generate translation files. ++Turning this off removes the need for qt-linguist, part of qttools qt5 submodule, during build. ++``` + ### macOS + + - Get the source diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 1a64ef3a94..aa679832db 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -246,7 +246,7 @@ GiB).") (define-public meld (package (name "meld") - (version "3.20.3") + (version "3.20.4") (source (origin (method url-fetch) @@ -254,7 +254,7 @@ GiB).") (version-major+minor version) "/meld-" version ".tar.xz")) (sha256 - (base32 "06h52vaghvj5n507mj0hhk9yrca16pyl4l16c00b3bmkplljpqzh")))) + (base32 "04vx2mdbcdin0g3w8x910czfch5vyrl8drv1f2l8gxh6qvp113pl")))) (build-system python-build-system) (native-inputs `(("intltool" ,intltool) @@ -298,6 +298,13 @@ GiB).") (invoke "py.test" "-v" "-k" ;; TODO: Those tests fail, why? "not test_classify_change_actions"))) + (add-after 'install 'copy-styles + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((styles "/share/gtksourceview-3.0/styles")) + (copy-recursively + (string-append (assoc-ref inputs "gtksourceview") styles) + (string-append (assoc-ref outputs "out") styles)) + #t))) (add-after 'wrap 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap)) (add-after 'wrap 'wrap-typelib diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index 54fcce55f0..e11d7c23fb 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -5,8 +5,10 @@ ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> +;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,6 +30,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages readline) #:use-module (gnu packages) + #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -103,7 +106,10 @@ POSIX regular expression API.") "--enable-pcre2test-libreadline" "--enable-pcre2-16" "--enable-pcre2-32" - "--enable-jit" + ;; pcre2_jit_test fails on powerpc32. + ,@(if (target-ppc32?) + '() + `("--enable-jit")) "--disable-static") #:phases (modify-phases %standard-phases diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index a447e24af0..abe3f44cc7 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -21,6 +21,7 @@ ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,6 +79,7 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages man) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages photo) @@ -263,7 +265,14 @@ please install the @code{flyer-composer-gui} package."))) "-DENABLE_ZLIB=ON" "-DENABLE_BOOST=OFF" ;disable Boost to save size (string-append "-DCMAKE_INSTALL_LIBDIR=" lib) - (string-append "-DCMAKE_INSTALL_RPATH=" lib))))) + (string-append "-DCMAKE_INSTALL_RPATH=" lib))) + ,@(if (%current-target-system) + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-PKG_CONFIG + (lambda _ + (setenv "PKG_CONFIG" ,(pkg-config-for-target)))))) + '()))) (synopsis "PDF rendering library") (description "Poppler is a PDF rendering library based on the xpdf-3.0 code base.") @@ -606,7 +615,7 @@ by using the poppler rendering engine.") (define-public zathura (package (name "zathura") - (version "0.4.7") + (version "0.4.8") (source (origin (method url-fetch) (uri @@ -614,7 +623,7 @@ by using the poppler rendering engine.") version ".tar.xz")) (sha256 (base32 - "1rx1fk9s556fk59lmqgvhwrmv71ashh89bx9adjq46wq5gzdn4p0")))) + "1nr0ym1mi2afk4ycdf1ppmkcv7i7hyzwn4p3r4m0j2qm3nvaiami")))) (native-inputs `(("pkg-config" ,pkg-config) ("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") @@ -898,7 +907,7 @@ using a stylus.") (define-public xournalpp (package (name "xournalpp") - (version "1.0.20") + (version "1.1.0") (source (origin (method git-fetch) @@ -907,7 +916,7 @@ using a stylus.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1c7n03xm3m4lwcwxgplkn25i8c6s3i7rijbkcx86br1j4jadcs3k")))) + (base32 "0ldf58l5sqy52x5dqfpdjdh7ldjilj9mw42jzsl5paxg0md2k0hl")))) (build-system cmake-build-system) (arguments `(#:configure-flags (list "-DENABLE_CPPUNIT=ON") ;enable tests @@ -921,31 +930,31 @@ using a stylus.") (add-after 'unpack 'fix-permissions-on-po-files (lambda _ ;; Make sure 'msgmerge' can modify the PO files. - (for-each (lambda (po) (chmod po #o666)) - (find-files "." "\\.po$")) - #t)) + (for-each make-file-writable + (find-files "." "\\.po$")))) ;; Fix path to addr2line utility, which the crash reporter uses. (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "src/util/Stacktrace.cpp" ;; Match only the commandline. (("\"addr2line ") - (string-append "\"" (which "addr2line") " "))) - #t)) + (string-append "\"" (which "addr2line") " "))))) (add-after 'install 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (native-inputs `(("cppunit" ,cppunit) + ("gcc" ,gcc-8) ("gettext" ,gettext-minimal) + ("help2man" ,help2man) ("pkg-config" ,pkg-config))) (inputs `(("alsa-lib" ,alsa-lib) - ("glib" ,glib) ("gtk+" ,gtk+) + ("librsvg" ,librsvg) ("libsndfile" ,libsndfile) ("libxml2" ,libxml2) ("libzip" ,libzip) - ("lua" ,lua) ;FIXME: It cannot find the Lua library. + ("lua" ,lua) ("poppler" ,poppler) ("portaudio" ,portaudio) ("texlive-bin" ,texlive-bin))) @@ -1135,10 +1144,14 @@ information for every pixel as the input.") (substitute* "mk/Autoconf.mk" (("/bin/echo") "echo") (("/sbin/ldconfig -p") "echo lib")) #t)) + (add-before 'build 'set-fcommon + (lambda _ + (setenv "CFLAGS" "-fcommon"))) (delete 'configure)) #:tests? #f - #:make-flags (list ,(string-append "CC=" (cc-for-target)) - (string-append "prefix=" (assoc-ref %outputs "out"))))) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "prefix=" (assoc-ref %outputs "out"))))) (inputs `(("libjpeg" ,libjpeg-turbo) ("curl" ,curl) ("libtiff" ,libtiff) @@ -1160,7 +1173,6 @@ information for every pixel as the input.") (description "fbida contains a few applications for viewing and editing images on the framebuffer.") - (license license:gpl2+))) (define-public pdf2svg diff --git a/gnu/packages/pep.scm b/gnu/packages/pep.scm index aa0d786d87..dde316e153 100644 --- a/gnu/packages/pep.scm +++ b/gnu/packages/pep.scm @@ -244,7 +244,7 @@ ENGINE_INC_PATH=~a/include `(("boost-python" ,boost-with-python3) ("libpepadapter" ,libpepadapter) ("pep-engine" ,pep-engine) - ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm" ,python-setuptools-scm) ("util-linux" ,util-linux "lib"))) ;; uuid.h (home-page "https://pep.foundation/") (synopsis "Python adapter for p≡p (pretty Easy Privacy)") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 99a152e0ab..4295233c04 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -17,7 +17,7 @@ ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017, 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2018, 2019 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net> @@ -31,6 +31,7 @@ ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -142,15 +143,15 @@ (rename-file "Artistic" "Artistic.perl") (rename-file "Copying" "Copying.perl") (copy-recursively cross-checkout ".")) - (let ((bash (assoc-ref inputs "bash"))) + (let ((bash (search-input-file inputs "bin/bash"))) (substitute* '("Makefile.config.SH" "cnf/config.guess" "cnf/config.sub" "cnf/configure" "cnf/configure_misc.sh" "miniperl_top") - (("! */bin/sh") (string-append "! " bash "/bin/bash")) - ((" /bin/sh") (string-append bash "/bin/bash"))) + (("! */bin/sh") (string-append "! " bash)) + ((" /bin/sh") bash)) (substitute* '("ext/Errno/Errno_pm.PL") (("\\$cpp < errno.c") "$Config{cc} -E errno.c"))))) (replace 'configure @@ -168,7 +169,7 @@ (lambda (x) (or (string-prefix? "-d" x) (string-prefix? "-Dcc=" x)))) configure-flags))) - (bash (assoc-ref inputs "bash"))) + (bash (assoc-ref inputs "bash-minimal"))) (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) @@ -1944,7 +1945,7 @@ and writing of @code{.ini}-style configuration files.") (build-system perl-build-system) (home-page "https://metacpan.org/release/Const-Fast") (synopsis "Facility for creating read-only scalars, arrays, and hashes") - (description "This package provides prodecures to create read-only + (description "This package provides procedures to create read-only scalars, arrays, and hashes.") (license (package-license perl)))) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 2197623363..f292d3e8ba 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -486,6 +486,25 @@ photographic equipment.") "-DBUILD_TESTING=On") #:phases (modify-phases %standard-phases + (add-after 'unpack 'libOpenCL-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Statically link to libOpenCL. + (substitute* "./src/common/dlopencl.c" + (("\"libOpenCL\"") + (string-append "\"" (assoc-ref inputs "opencl-icd-loader") + "/lib/libOpenCL.so\""))) + #t)) + ;; The use of inline is wrong and darktable cannot compile its kernels + ;; with ROCm. See upstream commit + ;; https://github.com/darktable-org/darktable/commit/f0d8710f5ef34eb7e33b4064e022ebf3057b9e53 + (add-after 'unpack 'opencl-inline + (lambda* (#:key inputs #:allow-other-keys) + ;; This is a feature of OpenCL 1.2 and later. + (substitute* "data/kernels/CMakeLists.txt" + (("CL1\\.1") "CL1.2")) + (substitute* (find-files "data/kernels" "\\.(cl|h)$") + (("inline") "static inline")) + #t)) (add-before 'configure 'prepare-build-environment (lambda* (#:key inputs #:allow-other-keys) ;; Rawspeed fails to build with GCC due to OpenMP error: @@ -516,11 +535,7 @@ photographic equipment.") ;; For GtkFileChooserDialog. `("GSETTINGS_SCHEMA_DIR" = (,(string-append (assoc-ref inputs "gtk+") - "/share/glib-2.0/schemas"))) - ;; For libOpenCL.so. - `("LD_LIBRARY_PATH" = - (,(string-append (assoc-ref inputs "ocl-icd") - "/lib")))) + "/share/glib-2.0/schemas")))) #t))))) (native-inputs `(("clang" ,clang-11) @@ -566,7 +581,7 @@ photographic equipment.") ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("lua" ,lua) ;optional, for plugins - ("ocl-icd" ,ocl-icd) ;optional, for OpenCL support + ("opencl-icd-loader" ,opencl-icd-loader) ;optional, for OpenCL support ("openexr" ,openexr) ;optional, for EXR import/export ("openjpeg" ,openjpeg) ;optional, for JPEG2000 export ("osm-gps-map" ,osm-gps-map) ;optional, for geotagging view @@ -769,7 +784,7 @@ a complete panorama and stitch any series of overlapping pictures.") (version "5.8") (source (origin (method url-fetch) - (uri (string-append "http://rawtherapee.com/shared/source/" + (uri (string-append "https://rawtherapee.com/shared/source/" "rawtherapee-" version ".tar.xz")) (sha256 (base32 @@ -809,7 +824,7 @@ a complete panorama and stitch any series of overlapping pictures.") ("libsigc++" ,libsigc++) ("libtiff" ,libtiff) ("zlib" ,zlib))) - (home-page "http://rawtherapee.com") + (home-page "https://rawtherapee.com") (synopsis "Raw image developing and processing") (description "RawTherapee is a raw image processing suite. It comprises a subset of image editing operations specifically aimed at non-destructive raw diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 4edff2cfd8..cecb6150a1 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -36,7 +36,6 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gd) #:use-module (gnu packages gettext) - #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) @@ -61,7 +60,7 @@ (define-public php (package (name "php") - (version "7.4.20") + (version "7.4.22") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -69,7 +68,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0db3nqfbfqfd8fkvrw1k8l6698qcbzv1v5j8rgr0ny0dg6k6r90z")) + "1s5xjy1cchlg0vfxic73wy2wip8spfjr094hzzyc76plsbbqq1wf")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -146,13 +145,11 @@ ;; This file has ISO-8859-1 encoding. (with-fluids ((%default-port-encoding "ISO-8859-1")) (substitute* "main/build-defs.h.in" - (("@CONFIGURE_COMMAND@") "(omitted)"))) - #t)) + (("@CONFIGURE_COMMAND@") "(omitted)"))))) (add-before 'build 'patch-/bin/sh (lambda _ (substitute* '("run-tests.php" "ext/standard/proc_open.c") - (("/bin/sh") (which "sh"))) - #t)) + (("/bin/sh") (which "sh"))))) (add-before 'check 'prepare-tests (lambda _ ;; Some of these files have ISO-8859-1 encoding, whereas others @@ -200,6 +197,20 @@ "Zend/tests/concat_003.phpt"))) '()) + ,@(if (target-ppc64le?) + ;; Drop tests known to fail on powerpc64le. + '((for-each delete-file + (list + ;; phpdbg watchpoints don't work. + ;; Bug tracked upstream at: + ;; https://bugs.php.net/bug.php?id=81408 + "sapi/phpdbg/tests/watch_001.phpt" + "sapi/phpdbg/tests/watch_003.phpt" + "sapi/phpdbg/tests/watch_004.phpt" + "sapi/phpdbg/tests/watch_005.phpt" + "sapi/phpdbg/tests/watch_006.phpt"))) + '()) + ;; Drop tests that are known to fail. (for-each delete-file '("ext/posix/tests/posix_getgrgid.phpt" ; Requires /etc/group. @@ -329,7 +340,9 @@ ;; Expects an empty Array; gets one with " " in it. "ext/pcre/tests/bug80118.phpt" ;; Renicing a process fails in the build environment. - "ext/standard/tests/general_functions/proc_nice_basic.phpt")) + "ext/standard/tests/general_functions/proc_nice_basic.phpt" + ;; Can fail on fast machines? + "Zend/tests/bug74093.phpt")) ;; Accomodate two extra openssl errors flanking the expected one: ;; random number generator:RAND_{load,write}_file:Cannot open file @@ -345,8 +358,7 @@ (setenv "REPORT_EXIT_STATUS" "1") ;; Skip tests requiring I/O facilities that are unavailable in the ;; build environment - (setenv "SKIP_IO_CAPTURE_TESTS" "1") - #t))) + (setenv "SKIP_IO_CAPTURE_TESTS" "1")))) #:test-target "test")) (inputs `(("aspell" ,aspell) @@ -378,7 +390,7 @@ (native-inputs `(("pkg-config" ,pkg-config) ("bison" ,bison) - ("intltool" ,intltool) + ("gettext" ,gettext-minimal) ("procps" ,procps))) ; for tests (synopsis "PHP programming language") (description diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 9c632532be..2b4173a7db 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,8 +22,10 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) + #:use-module (gnu packages bash) #:use-module (guix memoization) #:export (pkg-config)) @@ -130,3 +133,38 @@ build, or a GNU triplet." ;; environment or not. (define-syntax pkg-config (identifier-syntax (pkg-config-for-target (%current-target-system)))) + +;; This hack allows for using both "pkg-config" and "TARGET-pkg-config" +;; at the same time. Simply using '%pkg-config' and 'pkg-config' won't +;; work because they both use the "PKG_CONFIG_PATH" environment variable. +(define-public pkg-config-for-build + (package + (inherit (hidden-package %pkg-config)) + (name "pkg-config-for-build") + (version "0") + (source #f) + (build-system trivial-build-system) + (inputs + `(("bash-minimal" ,bash-minimal) + ("pkg-config" ,%pkg-config))) + (arguments + `(#:modules ((guix build utils)) + #:builder + ,#~(begin + (use-modules (guix build utils)) + (define where (string-append #$output "/bin/pkg-config")) + (mkdir-p (dirname where)) + (call-with-output-file where + (lambda (port) + (format port "#!~a +export PKG_CONFIG_PATH=\"$PKG_CONFIG_PATH_FOR_BUILD\" +exec ~a \"$@\"" + (search-input-file %build-inputs "bin/bash") + (search-input-file %build-inputs "bin/pkg-config")))) + (chmod where #o500)))) + (native-search-paths + (map (lambda (original) + (search-path-specification + (inherit original) + (variable "PKG_CONFIG_FOR_BUILD"))) + (package-native-search-paths %pkg-config))))) diff --git a/gnu/packages/plan9.scm b/gnu/packages/plan9.scm new file mode 100644 index 0000000000..e306e04d85 --- /dev/null +++ b/gnu/packages/plan9.scm @@ -0,0 +1,66 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 宋文武 <iyzsong@member.fsf.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages plan9) + #:use-module (guix build-system gnu) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages xorg)) + +(define-public drawterm + (let ((revision "1") + (commit "c97fe4693f6112504d6f13fab46f7cc8b27685c1")) + (package + (name "drawterm") + (version (git-version "20210628" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://git.9front.org/plan9front/drawterm") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "059sl60ap6c9lz8k91k6bd34694a290wm0s93b2vfszzzv683spw")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "CONF=unix" + (string-append "CC=" ,(cc-for-target))) + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'install ; no install target + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (man (string-append out "/share/man/man1/"))) + (install-file "drawterm" bin) + (install-file "drawterm.1" man))))))) + (inputs + `(("libx11" ,libx11) + ("libxt" ,libxt))) + (synopsis "Connect to Plan 9 systems") + (home-page "http://drawterm.9front.org") + (description + "@command{drawterm} is a client for connecting venerable systems to +Plan 9 systems. It behaves like a Plan 9 kernel and will attempt to +reconstruct a Plan 9 terminal-like experience from a non-Plan 9 system.") + (license license:expat)))) diff --git a/gnu/packages/plotutils.scm b/gnu/packages/plotutils.scm index 0b2c24c743..cb6ac63005 100644 --- a/gnu/packages/plotutils.scm +++ b/gnu/packages/plotutils.scm @@ -230,7 +230,7 @@ colors, styles, options and details.") texlive-latex-base texlive-latex-geometry texlive-latex-graphics - texlive-latex-oberdiek ; for ifluatex + texlive-oberdiek ;for ifluatex texlive-latex-parskip texlive-tex-texinfo))))) (inputs diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index f495d51c83..585e0d8087 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -101,7 +101,12 @@ ("gobject-introspection" ,gobject-introspection))) (arguments `(#:configure-flags '("--sysconfdir=/etc" - "--enable-man-pages") + "--enable-man-pages" + ;; Prevent ‘configure: error: cannot check for + ;; file existence when cross compiling’. + ,@(if (%current-target-system) + '("--with-os-type=unknown") + '())) #:phases (modify-phases %standard-phases (add-after diff --git a/gnu/packages/prolog.scm b/gnu/packages/prolog.scm index a5c57cd37c..4eb0f4d3b6 100644 --- a/gnu/packages/prolog.scm +++ b/gnu/packages/prolog.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2013 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> +;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,7 +43,7 @@ (define-public gprolog (package (name "gprolog") - (version "1.4.5") + (version "1.5.0") (source (origin (method url-fetch) @@ -53,7 +54,7 @@ ".tar.gz"))) (sha256 (base32 - "0z4cc42n3k6i35b8mr816iwsvrpxshw6d7dgz6s2h1hy0l7g1p5z")))) + "009ca4wn2q6xdmb0js0vz647cw5ygsqyyqc9svmjgahg7js441k7")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -61,13 +62,9 @@ "--with-install-dir=" %output "/share/gprolog")) #:phases (modify-phases %standard-phases - (add-before 'configure 'change-dir-n-fix-shells + (add-before 'configure 'change-dir (lambda _ - (chdir "src") - (substitute* "configure" - (("-/bin/sh") (string-append "-" (which "sh"))) - (("= /bin/sh") (string-append "= " (which "sh")))) - #t))))) + (chdir "src")))))) (home-page "https://www.gnu.org/software/gprolog/") (synopsis "Prolog compiler") (description diff --git a/gnu/packages/pth.scm b/gnu/packages/pth.scm index 1908ce7763..8efede068c 100644 --- a/gnu/packages/pth.scm +++ b/gnu/packages/pth.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2015 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages pth) + #:use-module (gnu packages autotools) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) @@ -38,12 +40,20 @@ "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj")))) (build-system gnu-build-system) (arguments - `(#:parallel-build? #f - #:configure-flags (list - ,@(if (string=? "aarch64-linux" - (%current-system)) - '("--host=aarch64-unknown-linux-gnu") - '())))) + '(#:parallel-build? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'update-config-scripts + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.guess and config.sub. + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub"))))))) + (native-inputs + (list config)) (home-page "https://www.gnu.org/software/pth/") (synopsis "Portable thread library") (description diff --git a/gnu/packages/pulseaudio.scm b/gnu/packages/pulseaudio.scm index fa9a111d40..59db96e0ef 100644 --- a/gnu/packages/pulseaudio.scm +++ b/gnu/packages/pulseaudio.scm @@ -122,6 +122,17 @@ SPARC. Hopefully the design of the library will also make it easy to extend for reading and writing new sound file formats.") (license l:gpl2+))) +;; Remove this on core-updates +(define-public libsndfile/fixed + (package + (inherit libsndfile) + (inputs '()) + (propagated-inputs + `(("libvorbis" ,libvorbis) + ("libogg" ,libogg) + ("flac" ,flac) + ("opus" ,opus))))) + (define-public libsamplerate (package (name "libsamplerate") ; aka. Secret Rabbit Code (SRC) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 5436a878c6..b1af78d4f8 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019, 2021 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu> @@ -116,7 +116,7 @@ are useful when writing automated tests in Python.") (define-public python-coveralls (package (name "python-coveralls") - (version "3.1.0") + (version "3.2.0") (home-page "https://github.com/coveralls-clients/coveralls-python") (source (origin @@ -126,7 +126,7 @@ are useful when writing automated tests in Python.") (file-name (git-file-name name version)) (sha256 (base32 - "1rpdv7rhs4xy6q4s63krrfhwihli9vla0qsw64vls0naail9yjn3")))) + "1915ab77nfb1rfw4i2ps0zy19wpf20lwxn81qxxbwyd2gy7m0fn8")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -537,6 +537,7 @@ internet.") `(("python-pytest" ,python-pytest))) (propagated-inputs `(("python-matplotlib" ,python-matplotlib) + ("python-nose" ,python-nose) ("python-pillow" ,python-pillow))) (home-page "https://github.com/matplotlib/pytest-mpl") (synopsis "Pytest plugin to help with testing figures output from Matplotlib") @@ -727,23 +728,26 @@ compliance.") (define-public python-pytest-isort (package (name "python-pytest-isort") - (version "0.3.1") + (version "2.0.0") (source (origin (method url-fetch) (uri (pypi-uri "pytest-isort" version)) (sha256 - (base32 "06myn5hhxs5yp8dqr1yjsgcnnxnsrvsqannm00bvaw0qml6ydzjb")))) + (base32 "05wi28zlqk3jafpjal8j523y5jcsx3xl3id9rx93qfjgkif8q6l2")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) (propagated-inputs `(("python-isort" ,python-isort) ("python-pytest" ,python-pytest))) + (native-inputs + `(("python-mock" ,python-mock))) (home-page "https://github.com/moccu/pytest-isort/") (synopsis "Pytest plugin to check import ordering using isort") (description @@ -1097,6 +1101,71 @@ also ensuring that the notebooks are running without errors.") "This pytest plugin provides fixtures to simplify Flask app testing.") (license license:expat))) +(define-public python-pytest-console-scripts + (package + (name "python-pytest-console-scripts") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-console-scripts" version)) + (sha256 + (base32 + "073l2cz11013dl30zjr575ms78j9b2bsbdl1w0gmig37spbkh8aa")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "--verbose" + ;; This one test fails because of PATH assumptions + "-k" "not test_elsewhere_in_the_path"))))))) + (propagated-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://github.com/kvas-it/pytest-console-scripts") + (synopsis "Pytest plugin for testing console scripts") + (description + "This package provides a pytest plugin for testing console scripts.") + (license license:expat))) + +(define-public python-pytest-tornasync + (package + (name "python-pytest-tornasync") + (version "0.6.0.post2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-tornasync" version)) + (sha256 + (base32 + "0pdyddbzppkfqwa7g17sdfl4w2v1hgsky78l8f4c1rx2a7cvd0fp")))) + (build-system python-build-system) + (arguments + `(#:tests? #false ; TODO: fails at "from test import MESSAGE, PAUSE_TIME" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "--verbose"))))))) + (propagated-inputs + `(("python-pytest" ,python-pytest) + ("python-tornado" ,python-tornado))) + (home-page "https://github.com/eukaryote/pytest-tornasync") + (synopsis "Pytest plugin for testing Tornado code") + (description + "This package provides a simple pytest plugin that provides some helpful +fixtures for testing Tornado (version 5.0 or newer) apps and easy handling of +plain (undecoratored) native coroutine tests.") + (license license:expat))) + (define-public python-pytest-env (package (name "python-pytest-env") diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 30062f43c5..6906f7050c 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -58,7 +58,7 @@ (native-inputs `(("python-pep517" ,python-pep517) ("python-setuptools" ,python-setuptools) - ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm" ,python-setuptools-scm) ("python-coverage" ,python-coverage) ("python-coveralls" ,python-coveralls) ("python-pyannotate" ,python-pyannotate) @@ -86,7 +86,7 @@ were a single file.") (propagated-inputs `(("python-cffi" ,python-cffi) ("python-toml" ,python-toml) - ("python-setuptools-scm" ,python-setuptools-scm/next))) + ("python-setuptools-scm" ,python-setuptools-scm))) (native-inputs `(("python-setuptools" ,python-setuptools) ("python-coverage" ,python-coverage) @@ -114,7 +114,7 @@ Jump conversion filter by CFFI for Python.") `(("python-cffi" ,python-cffi))) (native-inputs `(("python-setuptools" ,python-setuptools) - ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm" ,python-setuptools-scm) ("python-pep517" ,python-pep517) ("python-coverage" ,python-coverage) ("python-pytest" ,python-pytest) @@ -148,7 +148,7 @@ several possible methods.") ("python-zstandard" ,python-zstandard))) (native-inputs `(("python-setuptools" ,python-setuptools) - ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm" ,python-setuptools-scm) ("python-coverage" ,python-coverage) ("python-coveralls" ,python-coveralls) ("python-libarchive-c" ,python-libarchive-c) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index c864835248..38accb2b87 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -25,6 +25,7 @@ ;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,6 +45,7 @@ (define-module (gnu packages python-crypto) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -138,9 +140,6 @@ on the Blowfish password hashing algorithm, as described in Password Scheme\"} by Niels Provos and David Mazieres.") (license license:asl2.0))) -(define-public python2-bcrypt - (package-with-python2 python-bcrypt)) - (define-public python-passlib (package (name "python-passlib") @@ -260,9 +259,6 @@ extension for low level cryptography (PyCrypto), Paramiko itself is a pure Python interface around SSH networking concepts.") (license license:lgpl2.1+))) -(define-public python2-paramiko - (package-with-python2 python-paramiko)) - (define-public python-ecdsa (package (name "python-ecdsa") @@ -839,9 +835,6 @@ Networking and Cryptography library. These libraries have a stated goal of improving usability, security and speed.") (license license:asl2.0))) -(define-public python2-pynacl - (package-with-python2 python-pynacl)) - (define-public python-blurhash (package (name "python-blurhash") @@ -936,6 +929,22 @@ protocol (Javascript Object Signing and Encryption).") (define-public python2-josepy (package-with-python2 python-josepy)) +(define pycryptodome-unbundle-tomcrypt-snippet + #~(begin + ;; Unbundle libtomcrypt. + (delete-file-recursively "src/libtom") + (substitute* "src/DES.c" + (("#include \"libtom/tomcrypt_des.c\"") + "#include <tomcrypt.h>")) + (substitute* "setup.py" + (("include_dirs=\\['src/', 'src/libtom/'\\]") + ;; FIXME: why does '-ltomcrypt' need to be added + ;; manually, even when 'tomcrypt' is added to 'libraries'? + ;; This behaviour is not documented at + ;; <https://docs.python.org/3/extending/building.html>. + "include_dirs=['src/'], libraries=['tomcrypt', 'tommath'], + extra_link_args=['-ltomcrypt', '-ltommath']")))) + (define-public python-pycryptodome (package (name "python-pycryptodome") @@ -946,8 +955,13 @@ protocol (Javascript Object Signing and Encryption).") (uri (pypi-uri "pycryptodome" version)) (sha256 (base32 - "1i4m74f88qj9ci8rpyzrbk2slmsdj5ipmwdkq6qk24byalm203li")))) + "1i4m74f88qj9ci8rpyzrbk2slmsdj5ipmwdkq6qk24byalm203li")) + (modules '((guix build utils))) + (snippet pycryptodome-unbundle-tomcrypt-snippet))) (build-system python-build-system) + (inputs + `(("libtomcrypt" ,libtomcrypt) + ("libtommath" ,libtommath))) (home-page "https://www.pycryptodome.org") (synopsis "Low-level cryptographic Python library") (description @@ -1000,7 +1014,9 @@ PyCryptodome variants, the other being python-pycryptodomex.") (method url-fetch) (uri (pypi-uri "pycryptodomex" version)) (sha256 - (base32 "0lbx4qk3xmwqiidhmkj8qa7bh2lf8bwzg0xjpsh2w5zqjrc7qnvv")))) + (base32 "0lbx4qk3xmwqiidhmkj8qa7bh2lf8bwzg0xjpsh2w5zqjrc7qnvv")) + (modules '((guix build utils))) + (snippet pycryptodome-unbundle-tomcrypt-snippet))) (description "PyCryptodome is a self-contained Python package of low-level cryptographic primitives. It's not a wrapper to a separate C library like diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 6fce8d2319..738b504e3b 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -35,6 +35,7 @@ #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages check) + #:use-module (gnu packages databases) #:use-module (gnu packages gcc) #:use-module (gnu packages image-processing) #:use-module (gnu packages machine-learning) @@ -44,6 +45,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -327,49 +329,55 @@ of the SGP4 satellite tracking algorithm.") (define-public python-pandas (package (name "python-pandas") - (version "1.0.5") + (version "1.3.0") (source (origin (method url-fetch) (uri (pypi-uri "pandas" version)) (sha256 - (base32 "1a2gv3g6jr6vb5ca43fkwjl5xf86wpfz8y3zcy787adjl0hdkib9")))) + (base32 "1qi2cv450m05dwccx3p1s373k5b4ncvwi74plnms2pidrz4ycm65")))) (build-system python-build-system) (arguments `(#:modules ((guix build utils) (guix build python-build-system) (ice-9 ftw) + (srfi srfi-1) (srfi srfi-26)) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-which - (lambda* (#:key inputs #:allow-other-keys) - (let ((which (assoc-ref inputs "which"))) - (substitute* "pandas/io/clipboard/__init__.py" - (("^WHICH_CMD = .*") - (string-append "WHICH_CMD = \"" which "\"\n")))) - #t)) - (add-before 'check 'prepare-x - (lambda _ - (system "Xvfb &") - (setenv "DISPLAY" ":0") - ;; xsel needs to write a log file. - (setenv "HOME" "/tmp") - #t)) - (replace 'check - (lambda _ - (let ((build-directory - (string-append - (getcwd) "/build/" - (car (scandir "build" - (cut string-prefix? "lib." <>)))))) - ;; Disable the "strict data files" option which causes - ;; the build to error out if required data files are - ;; not available (as is the case with PyPI archives). - (substitute* "setup.cfg" - (("addopts = --strict-data-files") "addopts = ")) - (with-directory-excursion build-directory - (invoke "pytest" "-vv" "pandas" "--skip-slow" - "--skip-network")))))))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-which + (lambda* (#:key inputs #:allow-other-keys) + (let ((which (assoc-ref inputs "which"))) + (substitute* "pandas/io/clipboard/__init__.py" + (("^WHICH_CMD = .*") + (string-append "WHICH_CMD = \"" which "\"\n")))))) + (add-before 'check 'prepare-x + (lambda _ + (system "Xvfb &") + (setenv "DISPLAY" ":0") + ;; xsel needs to write a log file. + (setenv "HOME" "/tmp"))) + (replace 'check + (lambda _ + (let ((build-directory + (string-append + (getcwd) "/build/" + (first (scandir "build" + (cut string-prefix? "lib." <>)))))) + (with-directory-excursion build-directory + (invoke "pytest" "-vv" "pandas" "--skip-slow" + "--skip-network" + "-k" + ;; These tets access the internet: + ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[lxml] + ;; pandas/tests/io/xml/test_xml.py::test_wrong_url[etree] + ;; TODO: the excel tests fail for unknown reasons + (string-append "not test_wrong_url" + " and not test_excelwriter_fspath" + " and not test_ExcelWriter_dispatch" + ;; TODO: Missing input + " and not TestS3" + " and not s3"))))))))) (propagated-inputs `(("python-jinja2" ,python-jinja2) ("python-numpy" ,python-numpy) @@ -835,3 +843,141 @@ and more @end itemize") (license license:gpl3))) +(define-public python-distributed + (package + (name "python-distributed") + (version "2021.07.1") + (source + (origin + ;; The test files are not included in the archive on pypi + (method git-fetch) + (uri (git-reference + (url "https://github.com/dask/distributed") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0i55zf3k55sqjxnwlzsyj3h3v1588fn54ng4mj3dfiqzh3nlj0dg")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-references + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("distributed/comm/tests/test_ucx_config.py" + "distributed/tests/test_client.py" + "distributed/tests/test_queues.py" + "distributed/tests/test_variable.py" + "distributed/cli/tests/test_tls_cli.py" + "distributed/cli/tests/test_dask_spec.py" + "distributed/cli/tests/test_dask_worker.py" + "distributed/cli/tests/test_dask_scheduler.py") + (("\"dask-scheduler\"") + (format #false "\"~a/bin/dask-scheduler\"" + (assoc-ref outputs "out"))) + (("\"dask-worker\"") + (format #false "\"~a/bin/dask-worker\"" + (assoc-ref outputs "out")))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "DISABLE_IPV6" "1") + (invoke "pytest" "-vv" "distributed" + "-m" "not slow and not gpu and not ipython and not avoid_ci" + "-k" + ;; TODO: These tests fail for unknown reasons: + ;; Assertion error. + (string-append + "not test_version_option" + ;; "The 'distributed' distribution was not found" + " and not test_register_backend_entrypoint" + ;; "AttributeError: module 'distributed.dashboard' has no attribute 'scheduler'" + " and not test_get_client_functions_spawn_clusters")))))))) + (propagated-inputs + `(("python-click" ,python-click) + ("python-cloudpickle" ,python-cloudpickle) + ("python-cryptography" ,python-cryptography) + ("python-dask" ,python-dask) + ("python-msgpack" ,python-msgpack) + ("python-psutil" ,python-psutil) + ("python-pyyaml" ,python-pyyaml) + ("python-setuptools" ,python-setuptools) + ("python-sortedcontainers" ,python-sortedcontainers) + ("python-tblib" ,python-tblib) + ("python-toolz" ,python-toolz) + ("python-tornado" ,python-tornado-6) + ("python-zict" ,python-zict))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://distributed.dask.org") + (synopsis "Distributed scheduler for Dask") + (description "Dask.distributed is a lightweight library for distributed +computing in Python. It extends both the @code{concurrent.futures} and +@code{dask} APIs to moderate sized clusters.") + (license license:bsd-3))) + +(define-public python-modin + (package + (name "python-modin") + (version "0.10.1") + (source + (origin + ;; The archive on pypi does not include all required files. + (method git-fetch) + (uri (git-reference + (url "https://github.com/modin-project/modin") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "128ghfb9ncmnn8km409xjcdppvn9nr9jqw8rkvsfavh7wnwlk509")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-files-writable + (lambda _ + (for-each make-file-writable (find-files ".")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "MODIN_ENGINE" "dask") + (invoke "python" "-m" "pytest" + "modin/pandas/test/test_concat.py") + (setenv "MODIN_ENGINE" "python") + (invoke "python" "-m" "pytest" + "modin/pandas/test/test_concat.py"))))))) + (propagated-inputs + `(("python-cloudpickle" ,python-cloudpickle) + ("python-dask" ,python-dask) + ("python-distributed" ,python-distributed) + ("python-numpy" ,python-numpy) + ("python-packaging" ,python-packaging) + ("python-pandas" ,python-pandas))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-jinja2" ,python-jinja2) + ("python-lxml" ,python-lxml) + ("python-matplotlib" ,python-matplotlib) + ("python-msgpack" ,python-msgpack) + ("python-openpyxl" ,python-openpyxl) + ("python-psutil" ,python-psutil) + ("python-pyarrow" ,python-pyarrow) + ("python-pytest" ,python-pytest) + ("python-pytest-benchmark" ,python-pytest-benchmark) + ("python-pytest-cov" ,python-pytest-cov) + ("python-pytest-xdist" ,python-pytest-xdist) + ("python-scipy" ,python-scipy) + ("python-sqlalchemy" ,python-sqlalchemy) + ("python-tables" ,python-tables) + ("python-tqdm" ,python-tqdm) + ("python-xarray" ,python-xarray) + ("python-xlrd" ,python-xlrd))) + (home-page "https://github.com/modin-project/modin") + (synopsis "Make your pandas code run faster") + (description + "Modin uses Ray or Dask to provide an effortless way to speed up your +pandas notebooks, scripts, and libraries. Unlike other distributed DataFrame +libraries, Modin provides seamless integration and compatibility with existing +pandas code.") + (license license:asl2.0))) diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index 3ce4eb9ab2..9c8e328959 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2013, 2014, 2015, 2016, 2020 Andreas Enge <andreas@enge.fr> @@ -16,7 +16,7 @@ ;;; Copyright © 2016, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com> -;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2016 Dylan Jeffers <sapientech@sapientech@openmailbox.org> ;;; Copyright © 2016 David Craven <david@craven.ch> @@ -43,6 +43,7 @@ ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2021 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -64,6 +65,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system python) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) @@ -281,14 +283,14 @@ using @url{https://github.com/saghul/pycares,pycares}.") (define-public python-aiorpcx (package (name "python-aiorpcx") - (version "0.18.3") + (version "0.22.1") (source (origin (method url-fetch) (uri (pypi-uri "aiorpcX" version)) (sha256 (base32 - "0k545hc7wl6sh1svydzbv6x7sx5pig2pqkl3yxs9riwmvzawx9xp")))) + "0lx54bcinp44fmr8q4bbffsqbkg8kdcwykf9i5jj0bj3sfzgf9k0")))) (build-system python-build-system) (propagated-inputs `(("python-attrs" ,python-attrs))) @@ -303,6 +305,18 @@ The package includes a module with full coverage of JSON RPC versions 1.0 and comes with a SOCKS proxy client.") (license (list license:expat license:bsd-2)))) +(define-public python-aiorpcx-0.18 + (package + (inherit python-aiorpcx) + (version "0.18.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "aiorpcX" version)) + (sha256 + (base32 + "1rswrspv27x33xa5bnhrkjqzhv0sknv5kd7pl1vidw9d2z4rx2l0")))))) + (define-public python-asgiref (package (name "python-asgiref") @@ -357,13 +371,13 @@ WSGI. This package includes libraries for implementing ASGI servers.") (define-public python-aws-sam-translator (package (name "python-aws-sam-translator") - (version "1.36.0") + (version "1.38.0") (source (origin (method url-fetch) (uri (pypi-uri "aws-sam-translator" version)) (sha256 (base32 - "115mcbb4r205c1hln199llqrvvbijfqz075rwx991l99jc6rj6zs")))) + "1djwlsjpbh13m4biglimrm9lq7hmla0k29giay7k3cjsrylxvjhf")))) (build-system python-build-system) (arguments `(;; XXX: Tests are not distributed with the PyPI archive, and would @@ -457,7 +471,7 @@ emit information from within their applications to the AWS X-Ray service.") (define-public python-cfn-lint (package (name "python-cfn-lint") - (version "0.51.0") + (version "0.54.1") (home-page "https://github.com/aws-cloudformation/cfn-python-lint") (source (origin (method git-fetch) @@ -467,7 +481,7 @@ emit information from within their applications to the AWS X-Ray service.") (file-name (git-file-name name version)) (sha256 (base32 - "1027s243sik25c6sqw6gla7k7vl3jdicrik5zdsa8pafxh2baja4")))) + "161mzzlpbi85q43kwzrj39qb32l6wg6xhnbbd4z860yrfbymsn87")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -480,7 +494,7 @@ emit information from within their applications to the AWS X-Ray service.") "test/unit/module/maintenance/test_update_documentation.py") (delete-file "test/unit/module/maintenance/test_update_resource_specs.py") - (invoke "python" "-m" "unittest" "discover" + (invoke "python" "-m" "unittest" "discover" "-v" "-s" "test"))))))) (native-inputs `(("python-pydot" ,python-pydot) @@ -1051,6 +1065,31 @@ Origin Resource Sharing}, making cross-origin AJAX possible.") into Jinja2 by default.") (license license:bsd-3))) +(define-public python-flask-misaka + (package + (name "python-flask-misaka") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Flask-Misaka" version)) + (sha256 + (base32 + "12gm6hq3lvlj0ddw8p6lk5pky8jk3pw758ihffjl49shnnzc68zl")))) + (build-system python-build-system) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-mock" ,python-mock))) + (propagated-inputs + `(("python-flask" ,python-flask) + ("python-misaka" ,python-misaka))) + (home-page "https://github.com/singingwolfboy/flask-misaka/") + (synopsis "Flask interface to Misaka, a Markdown parsing library") + (description + "This package provides an interface between the Flask web framework and +the Misaka Markdown parser.") + (license license:expat))) + (define-public python-flask-session (package (name "python-flask-session") @@ -1139,7 +1178,8 @@ and written in Python.") `(("libxml2" ,libxml2))) (propagated-inputs `(("python-lxml" ,python-lxml) - ("python-beautifulsoup4" ,python-beautifulsoup4))) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("python-chardet" ,python-chardet))) (home-page "https://html5-parser.readthedocs.io") (synopsis "Fast C-based HTML5 parsing for Python") (description "This package provides a fast implementation of the HTML5 @@ -2905,20 +2945,21 @@ minimum of WSGI.") (define-public python-flask (package (name "python-flask") - (version "1.1.2") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "Flask" version)) (sha256 (base32 - "0q3h295izcil7lswkzfnyg3k5gq4hpmqmpl6i7s5m1n9szi1myjf")))) + "0mcgwq7b4qd99mf5bsvs3wphchxarf8kgil4hwww3blj31xjak0w")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest" "-vv" "tests")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv" "tests"))))))) (native-inputs `(("python-pytest" ,python-pytest))) (propagated-inputs @@ -3476,13 +3517,13 @@ applications.") (define-public python-flask-sqlalchemy (package (name "python-flask-sqlalchemy") - (version "2.4.4") + (version "2.5.1") (source (origin (method url-fetch) (uri (pypi-uri "Flask-SQLAlchemy" version)) (sha256 (base32 - "1rgsj49gnx361hnb3vn6c1h17497qh22yc3r70l1r6w0mw71bixz")))) + "04jrx4sjrz1b20j38qk4qin975xwz30krzq59rfv3b3w7ss49nib")))) (build-system python-build-system) (propagated-inputs `(("python-flask" ,python-flask) @@ -3762,22 +3803,18 @@ CSS tidy. Also supports URL rewriting in CSS files.") (define-public python-elasticsearch (package (name "python-elasticsearch") - (version "7.1.0") + (version "7.13.4") (source (origin (method url-fetch) (uri (pypi-uri "elasticsearch" version)) (sha256 (base32 - "0rnjvlhw4v3vg14l519qliy1s1zpmx3827q0xfviwvk42rr7hh01")))) + "1q38w9nh2j2yi82d8rhzb57597l4lq5zx7xzfg45xf7ffrgsipaj")))) (build-system python-build-system) - (native-inputs - `(("python-mock" ,python-mock) - ("python-nosexcover" ,python-nosexcover) - ("python-pyaml" ,python-pyaml) - ("python-requests" ,python-requests))) (propagated-inputs - `(("urllib3" ,python-urllib3))) + `(("python-certifi" ,python-certifi) + ("python-urllib3" ,python-urllib3))) (arguments ;; tests require the test_elasticsearch module but it is not distributed. `(#:tests? #f)) @@ -4023,28 +4060,31 @@ List. Forked from and using the same API as the publicsuffix package.") (define-public python-werkzeug (package (name "python-werkzeug") - (version "1.0.1") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "Werkzeug" version)) (sha256 (base32 - "0z74sa1xw5h20yin9faj0vvdbq713cgbj84klc72jr9nmpjv303c")))) + "0hlwawnn8c41f254qify5jnjj8xb97n294h09bqimzqhs0qdpq8x")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "python" "-m" "pytest")))))) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "python" "-m" "pytest" + ;; Test tries to use the network. + "-k not test_reloader_sys_path"))))))) (propagated-inputs `(("python-requests" ,python-requests))) (native-inputs `(("python-pytest" ,python-pytest) - ("python-pytest-timeout" ,python-pytest-timeout))) + ("python-pytest-timeout" ,python-pytest-timeout) + ("python-pytest-xprocess" ,python-pytest-xprocess))) (home-page "https://palletsprojects.com/p/werkzeug/") (synopsis "Utilities for WSGI applications") (description "One of the most advanced WSGI utility modules. It includes a @@ -4076,28 +4116,37 @@ addon modules.") (define-public python-wtforms (package (name "python-wtforms") - (version "2.1") + (version "2.3.3") (source (origin (method url-fetch) - (uri (pypi-uri "WTForms" version ".zip")) + (uri (pypi-uri "WTForms" version)) (sha256 (base32 - "0vyl26y9cg409cfyj8rhqxazsdnd0jipgjw06civhrd53yyi1pzz")))) + "17427m7p9nn9byzva697dkykykwcp2br3bxvi8vciywlmkh5s6c1")))) (build-system python-build-system) (arguments - '(#:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-django-test - ;; Don't fail the tests when the inputs for the optional tests cannot be found. + (add-after 'unpack 'delete-bundled-test (lambda _ - (substitute* - "tests/runtests.py" - (("'ext_django.tests', 'ext_sqlalchemy', 'ext_dateutil', 'locale_babel'") "") - (("sys.stderr.write(\"### Disabled test '%s', dependency not found\n\" % name)") "")) - #t))))) + ;; Delete test copied from a third party package that fails + ;; with newer SQLAlchemy. This can be removed for 3.0. + ;; See <https://github.com/wtforms/wtforms/issues/696>. + (delete-file "tests/ext_sqlalchemy.py"))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "python" "setup.py" "compile_catalog") + (invoke "python" "tests/runtests.py"))))))) (native-inputs - `(("unzip" ,unzip))) + `(("python-dateutil" ,python-dateutil) + ("python-sqlalchemy" ,python-sqlalchemy))) + (propagated-inputs + `(("python-babel" ,python-babel) + ("python-email-validator" ,python-email-validator) + ("python-markupsafe" ,python-markupsafe))) (home-page "http://wtforms.simplecodes.com/") (synopsis "Form validation and rendering library for Python web development") @@ -4107,9 +4156,6 @@ for Python web development. It is very similar to the web form API available in Django, but is a standalone package.") (license license:bsd-3))) -(define-public python2-wtforms - (package-with-python2 python-wtforms)) - (define-public python-paste (package (name "python-paste") @@ -4227,17 +4273,36 @@ name resolutions asynchronously.") (define-public python-yarl (package (name "python-yarl") - (version "1.1.1") + (version "1.6.3") (source (origin (method url-fetch) (uri (pypi-uri "yarl" version)) (sha256 (base32 - "1s6z13g8vgxfkkqwhn6imnm7pl7ky9arv4jygnn6bcndcbidg7d6")))) + "045z4ssg8g5h0qhz8hnx74hswgkndaldqq1xi5l1n5s0j996d44a")) + (modules '((guix build utils))) + (snippet + #~(begin + (delete-file "yarl/_quoting_c.c"))))) (build-system python-build-system) + (arguments + (list #:tests? #f ; test suite can't find yarl._quoting_c + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'cythonize-code + (lambda _ + (invoke "cython" "yarl/_quoting_c.pyx"))) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (substitute* "setup.cfg" + (("--cov=yarl") "")) + (add-installed-pythonpath inputs outputs) + (invoke "python" "-m" "pytest"))))))) (native-inputs - `(("python-pytest" ,python-pytest) + `(("python-cython" ,python-cython) + ("python-pytest" ,python-pytest) ("python-pytest-runner" ,python-pytest-runner))) (propagated-inputs `(("python-idna" ,python-idna) @@ -4280,7 +4345,15 @@ Google search engine. Its module is called @code{googlesearch}.") "1wpbbbxfpy9mwxdy3kn352cb590ladv574j1aa2l4grjdqw3ln05")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; tests require internet access + `(#:tests? #f ; tests require internet access + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-setup-py + (lambda _ + (substitute* "setup.py" + (("googleapiclient/discovery_cache") + "googleapiclient.discovery_cache")) + #t))))) (native-inputs `(("python-httplib2" ,python-httplib2) ("python-six" ,python-six) @@ -6097,3 +6170,65 @@ your code non-blocking and speedy.") "Socks is a library providing core proxy (SOCKS4, SOCKS5, HTTP tunneling) functionality.") (license license:asl2.0))) + +(define-public python-azure-nspkg + (package + (name "python-azure-nspkg") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "azure-nspkg" version ".zip")) + (sha256 + (base32 + "1l4xwdh0fcnvrv0mzig4g2kgqkfbsy64zjm1ggc6grk3mykcxlz7")))) + (build-system python-build-system) + (native-inputs `(("unzip" ,unzip))) + (home-page "https://github.com/Azure/azure-sdk-for-python") + (synopsis "Azure namespace internals") + (description + "This package is an internal Azure namespace package.") + (license license:expat))) + +(define-public python-azure-storage-nspkg + (package + (name "python-azure-storage-nspkg") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "azure-storage-nspkg" version)) + (sha256 + (base32 + "049qcmgshz7dj9yaqma0fwcgbxwddgwyfcw4gmv45xfmaa3bwfvg")))) + (build-system python-build-system) + (propagated-inputs + `(("python-azure-nspkg" ,python-azure-nspkg))) + (home-page "https://github.com/Azure/azure-storage-python") + (synopsis "Microsoft Azure Storage Namespace package") + (description + "This project provides a client library in Python that makes it easy to +communicate with Microsoft Azure Storage services.") + (license license:expat))) + +(define-public python-w3lib + (package + (name "python-w3lib") + (version "1.22.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "w3lib" version)) + (sha256 + (base32 + "1pv02lvvmgz2qb61vz1jkjc04fgm4hpfvaj5zm4i3mjp64hd1mha")))) + (build-system python-build-system) + (native-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/scrapy/w3lib") + (synopsis "Python library of web-related functions") + (description + "This is a Python library of web-related functions, such as: remove comments, +or tags from HTML snippets, extract base url from HTML snippets, translate entites +on HTML strings, among other things.") + (license license:bsd-3))) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 60a0ea5f5d..b319793b38 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com> ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu> ;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015, 2016, 2020 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2016, 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2019 Leo Famulari <leo@famulari.name> @@ -37,7 +37,7 @@ ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> ;;; Copyright © 2017, 2018 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au> -;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com> +;;; Copyright © 2017, 2018, 2019, 2021 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org> ;;; Copyright © 2017, 2020, 2021 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> @@ -62,11 +62,11 @@ ;;; Copyright © 2019 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2019, 2020, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019 Jacob MacDonald <jaccarmac@gmail.com> ;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> -;;; Copyright © 2019, 2020 Tanguy Le Carrour <tanguy@bioneland.org> +;;; Copyright © 2019, 2020, 2021 Tanguy Le Carrour <tanguy@bioneland.org> ;;; Copyright © 2019, 2021 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2020 Riku Viitanen <riku.viitanen@protonmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> @@ -105,6 +105,11 @@ ;;; Copyright © 2021 Danial Behzadi <dani.behzi@ubuntu.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 Hugo Lecomte <hugo.lecomte@inria.fr> +;;; Copyright © 2021 Franck Pérignon <franck.perignon@univ-grenoble-alpes.fr> +;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> +;;; Copyright © 2021 Simon Streit <simon@netpanic.org> +;;; Copyright © 2021 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de> +;;; Copyright © 2021 Pradana Aumars <paumars@courrier.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -141,6 +146,7 @@ #:use-module (gnu packages enchant) #:use-module (gnu packages file) #:use-module (gnu packages fontutils) + #:use-module (gnu packages freedesktop) #:use-module (gnu packages gcc) #:use-module (gnu packages geo) #:use-module (gnu packages ghostscript) @@ -189,8 +195,9 @@ #:use-module (gnu packages readline) #:use-module (gnu packages regex) #:use-module (gnu packages sdl) - #:use-module (gnu packages search) #:use-module (gnu packages scanner) + #:use-module (gnu packages search) + #:use-module (gnu packages serialization) #:use-module (gnu packages shells) #:use-module (gnu packages sphinx) #:use-module (gnu packages ssh) @@ -216,6 +223,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix hg-download) + #:use-module (guix gexp) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -1400,6 +1408,39 @@ to users of that module.") ;; by the Expat license. (license (list license:isc license:expat)))) +(define-public python-ncclient + (package + (name "python-ncclient") + (version "0.6.12") + (source + (origin + (method git-fetch) ;no tests in PyPI release + (uri (git-reference + (url "https://github.com/ncclient/ncclient") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cb568z5syg6hh0dv813bw7s1mjy7ga5xzxbm9naf4zz2qfdg4js")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-lxml" ,python-lxml) + ("python-paramiko" ,python-paramiko))) + (home-page "https://github.com/ncclient/ncclient") + (synopsis "Python library for NETCONF clients") + (description "@code{ncclient} is a Python library that facilitates +client-side scripting and application development around the NETCONF +protocol.") + (license license:asl2.0))) + (define-public python-license-expression (package (name "python-license-expression") @@ -2486,14 +2527,14 @@ Python 3.3+.") (define-public python-pyicu (package (name "python-pyicu") - (version "2.4.3") + (version "2.7.4") (source (origin (method url-fetch) (uri (pypi-uri "PyICU" version)) (sha256 (base32 - "075bw66b3w0nw6mc5k32fwmrhyrmq3d7da3q2mw212qfmm0pgjn0")))) + "0mkz1673qxldxs4mrqg9882xgmz5fhpia17yrsd6z8dfw8156rf0")))) (build-system python-build-system) (inputs `(("icu4c" ,icu4c))) @@ -3330,14 +3371,15 @@ compare, diff, and patch JSON and JSON-like structures in Python.") '(#:phases (modify-phases %standard-phases (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (invoke "trial" "jsonschema")))))) + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (setenv "JSON_SCHEMA_TEST_SUITE" "json") + (invoke "trial" "jsonschema"))))))) (native-inputs `(("python-setuptools_scm" ,python-setuptools-scm) ("python-twisted" ,python-twisted))) (propagated-inputs `(("python-attrs" ,python-attrs) - ("python-importlib-metadata" ,python-importlib-metadata) ;; python < 3.8 ("python-pyrsistent" ,python-pyrsistent) ("python-six" ,python-six))) (home-page "https://github.com/Julian/jsonschema") @@ -3353,6 +3395,7 @@ compare, diff, and patch JSON and JSON-like structures in Python.") (package/inherit jsonschema (propagated-inputs `(("python2-functools32" ,python2-functools32) + ("python2-importlib-metadata" ,python2-importlib-metadata) ,@(package-propagated-inputs jsonschema)))))) (define-public python-schema @@ -3611,14 +3654,14 @@ visualisation and class tracker statistics.") (define-public python-itsdangerous (package (name "python-itsdangerous") - (version "1.1.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "itsdangerous" version)) (sha256 (base32 - "068zpbksq5q2z4dckh2k1zbcq43ay74ylqn77rni797j0wyh66rj")))) + "1w6gfb2zhbcmrfj6digwzw1z68w6zg1q87rm6la2m412zil4swly")))) (build-system python-build-system) (home-page "https://palletsprojects.com/p/itsdangerous/") (synopsis "Python library for passing data to/from untrusted environments") @@ -3699,7 +3742,7 @@ e.g. filters, callbacks and errbacks can all be promises.") ("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-appdirs" ,python-appdirs) - ("python-distlib" ,python-distlib/next) + ("python-distlib" ,python-distlib) ("python-filelock" ,python-filelock) ("python-six" ,python-six))) (home-page "https://virtualenv.pypa.io/") @@ -3742,20 +3785,21 @@ e.g. filters, callbacks and errbacks can all be promises.") (define-public python-markupsafe (package (name "python-markupsafe") - (version "1.1.1") + (version "2.0.1") (source (origin (method url-fetch) (uri (pypi-uri "MarkupSafe" version)) (sha256 (base32 - "0sqipg4fk7xbixqd8kq6rlkxj664d157bdwbh93farcphf92x1r9")))) + "02k2ynmqvvd0z0gakkf8s4idyb606r7zgga41jrkhqmigy06fk2r")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) (native-inputs `(("python-pytest" ,python-pytest))) (home-page "https://github.com/mitsuhiko/markupsafe") @@ -3771,14 +3815,14 @@ for Python.") (define-public python-jinja2 (package (name "python-jinja2") - (version "2.11.2") + (version "3.0.1") (source (origin (method url-fetch) (uri (pypi-uri "Jinja2" version)) (sha256 (base32 - "1c1v3djnr0ymp5xpy1h3h60abcaqxdlm4wsqmls9rxby88av5al9")))) + "197ms1wimxql650245v63wkv04n8bicj549wfhp51bx68x5lhgvh")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -5268,6 +5312,42 @@ color scales, and color space conversion easy. It has support for: (define-public python2-spectra (package-with-python2 python-spectra)) +(define-public python-pyspnego + (package + (name "python-pyspnego") + (version "0.1.6") + (source + (origin + (method git-fetch) ;no tests in PyPI release + (uri (git-reference + (url "https://github.com/jborean93/pyspnego") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pfh2x0539f0k2qi2pbjm64b2fqp64c63xxpinvg1yfaw915kgpb")))) + (build-system python-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest"))))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-mock" ,python-pytest-mock))) + (propagated-inputs + `(("python-cryptography" ,python-cryptography) + ("python-gssapi" ,python-gssapi) + ("python-ruamel.yaml" ,python-ruamel.yaml))) + (home-page "https://github.com/jborean93/pyspnego") + (synopsis "Python SPNEGO library") + (description "The @code{pyspnego} Python library handles Negotiate, NTLM, +Kerberos (SPNEGO) and CredSSP authentication. It also includes a packet +parser that can be used to decode raw NTLM/SPNEGO/Kerberos tokens into a human +readable format.") + (license license:expat))) + (define-public python-numpy-documentation (package (name "python-numpy-documentation") @@ -5280,16 +5360,16 @@ color scales, and color space conversion easy. It has support for: ("pkg-config" ,pkg-config) ("python-sphinx" ,python-sphinx) ("python-numpydoc" ,python-numpydoc) - ("texlive" ,(texlive-updmap.cfg (list texlive-fonts-cm-super + ("texlive" ,(texlive-updmap.cfg (list texlive-cm-super texlive-fonts-ec - texlive-generic-ifxetex - texlive-generic-pdftex + texlive-generic-iftex + texlive-pdftex texlive-amsfonts texlive-latex-capt-of texlive-latex-cmap texlive-latex-environ texlive-latex-eqparbox - texlive-latex-etoolbox + texlive-etoolbox texlive-latex-expdlist texlive-latex-fancyhdr texlive-latex-fancyvrb @@ -5298,11 +5378,11 @@ color scales, and color space conversion easy. It has support for: texlive-latex-framed texlive-latex-geometry texlive-latex-graphics - texlive-latex-hyperref + texlive-hyperref texlive-latex-mdwtools texlive-latex-multirow texlive-latex-needspace - texlive-latex-oberdiek + texlive-oberdiek texlive-latex-parskip texlive-latex-preview texlive-latex-tabulary @@ -5311,7 +5391,7 @@ color scales, and color space conversion easy. It has support for: texlive-latex-trimspaces texlive-latex-ucs texlive-latex-upquote - texlive-latex-url + texlive-url texlive-latex-varwidth texlive-latex-wrapfig))) ("texinfo" ,texinfo) @@ -5534,14 +5614,14 @@ that client code uses to construct the grammar directly in Python code.") (define-public python-numexpr (package (name "python-numexpr") - (version "2.6.5") + (version "2.7.3") (source (origin (method url-fetch) (uri (pypi-uri "numexpr" version)) (sha256 (base32 - "1frnbcwmsi312154x274xl28xazr1k8vjby83fwyla2n10a81bgq")))) + "09d8yfsx33ddwfkpn8805w2mxnn4cvf47yc66g4azldpz4lnaqa3")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; no tests included (propagated-inputs @@ -5626,21 +5706,20 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (define-public python-matplotlib (package (name "python-matplotlib") - (version "3.1.2") + (version "3.4.3") (source (origin (method url-fetch) (uri (pypi-uri "matplotlib" version)) (sha256 - (base32 "1nmshfqh7wyg15i16hx1yiylcvzkws29ivn66n3i0wyqwcpjr3lf")) - (patches - (search-patches "python-matplotlib-run-under-wayland-gtk3.patch")))) + (base32 "06032j0ccjxldx4z9kf97qps2g36mfgvy1nap3b9n75kzmnm4kzw")))) (build-system python-build-system) (propagated-inputs ; the following packages are all needed at run time `(("python-cycler" ,python-cycler) ("python-kiwisolver" ,python-kiwisolver) ("python-pyparsing" ,python-pyparsing) ("python-pygobject" ,python-pygobject) + ("python-certifi" ,python-certifi) ("gobject-introspection" ,gobject-introspection) ("python-tkinter" ,python "tk") ("python-dateutil" ,python-dateutil) @@ -5657,6 +5736,7 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (inputs `(("libpng" ,libpng) ("freetype" ,freetype) + ("qhull" ,qhull) ("cairo" ,cairo) ("glib" ,glib) ;; FIXME: Add backends when available. @@ -5667,6 +5747,7 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. `(("pkg-config" ,pkg-config) ("python-pytest" ,python-pytest) ("python-mock" ,python-mock) + ("python-wheel" ,python-wheel) ("unzip" ,unzip) ("jquery-ui" ,(origin @@ -5689,7 +5770,8 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. "test_.*\\.py$")) (("^from matplotlib" match) (string-append "import pytest\n" match)) - (("( *)@image_comparison" match indent) + (("( *)@([^_]+_)*(image_comparison|check_figures_equal)" match + indent) (string-append indent "@pytest.mark.skip(reason=\"unknown minor image differences\")\n" match))) @@ -5698,7 +5780,9 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (for-each delete-file ;; test_normal_axes, test_get_tightbbox_polar '("lib/matplotlib/tests/test_axes.py" - ;; We don't use the webagg backend and this test forces it. + "lib/matplotlib/tests/test_polar.py" + ;; We don't use the webagg backend and this test + ;; forces it. "lib/matplotlib/tests/test_backend_webagg.py" ;; test_outward_ticks "lib/matplotlib/tests/test_tightlayout.py" @@ -5713,9 +5797,11 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (lambda* (#:key outputs inputs #:allow-other-keys) (let* ((python-version (python-version (assoc-ref inputs "python"))) - (dir (string-append (assoc-ref outputs "out") - "/lib/python" python-version "/site-packages" - "/matplotlib/backends/web_backend/"))) + (dir + (string-append (assoc-ref outputs "out") + "/lib/python" python-version + "/site-packages" + "/matplotlib/backends/web_backend/"))) (mkdir-p dir) (invoke "unzip" (assoc-ref inputs "jquery-ui") @@ -5738,7 +5824,10 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. (setenv "CFLAGS" "-ffloat-store")) (call-with-output-file "setup.cfg" (lambda (port) - (format port "[directories]~% + (format port "[libs]~% +system_freetype = true +system_qhull = true +[directories]~% basedirlist = ~a,~a~% [packages]~% tests = True~%" @@ -5826,11 +5915,11 @@ toolkits.") texlive-latex-type1cm texlive-latex-ucs - texlive-generic-pdftex + texlive-pdftex texlive-fonts-ec - texlive-fonts-adobe-times - texlive-fonts-txfonts))) + texlive-times + texlive-txfonts))) ("texinfo" ,texinfo) ,@(package-native-inputs python-matplotlib))) (arguments @@ -5884,6 +5973,30 @@ toolkits.") (description (package-description python-matplotlib)) (license (package-license python-matplotlib)))) +(define-public python-matplotlib-inline + (package + (name "python-matplotlib-inline") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "matplotlib-inline" version)) + (sha256 + (base32 "1vilzwj3xp00mxprmmn1hlafm3p23vn56s46kx3ra4qd5signjx0")))) + (build-system python-build-system) + (propagated-inputs + `(("python-matplotlib" ,python-matplotlib) + ("python-traitlets" ,python-traitlets))) + (arguments + ;; Tests disabled because of a circular dependency with ipython. + `(#:tests? #f)) + (home-page "https://github.com/ipython/matplotlib-inline") + (synopsis "Inline Matplotlib backend for Jupyter") + (description + "This package provides a Matplotlib inline back-end for IPython and +Jupyter.") + (license license:bsd-3))) + (define-public python-matplotlib-venn (package (name "python-matplotlib-venn") @@ -6227,19 +6340,6 @@ relate to packaging and distribution of Python software. It is intended to be used as the basis for third-party packaging tools.") (license license:psfl))) -;; TODO: Merge with 'python-distlib' on the next rebuild cycle. -(define-public python-distlib/next - (package - (inherit python-distlib) - (version "0.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "distlib" version ".zip")) - (sha256 - (base32 - "1wdzv7fsjhrkhh1wfkarlhcwa8m00mgcpdsvknmf2qy8f9l13xpd")))))) - (define-public python-distutils-extra (package (name "python-distutils-extra") @@ -6321,20 +6421,20 @@ the OleFileIO module from PIL, the Python Image Library.") (define-public python-pikepdf (package (name "python-pikepdf") - (version "2.14.2") + (version "2.16.1") (source (origin (method url-fetch) (uri (pypi-uri "pikepdf" version)) (sha256 - (base32 "01f173af5j0fmrzg6czfr92d331bqdbs3dkch7p41ykyv4fsv6kn")))) + (base32 "1phdpi9cm2pbvgcxqvwr8ck327sxhdw4dnxmzhrbf7hzydmgykg2")))) (build-system python-build-system) (arguments `(#:tests? #false)) ;require python-xmp-toolkit (native-inputs `(("pybind11" ,pybind11) ("python-setuptools" ,python-setuptools) - ("python-setuptools-scm" ,python-setuptools-scm/next) + ("python-setuptools-scm" ,python-setuptools-scm) ("python-setuptools-scm-git-archive" ,python-setuptools-scm-git-archive) ("python-toml" ,python-toml) ("python-wheel" ,python-wheel))) @@ -6416,7 +6516,11 @@ a general image processing tool.") (uri (pypi-uri "Pillow" version)) (sha256 (base32 - "0l5rv8jkdrb5q846v60v03mcq64yrhklidjkgwv6s1pda71g17yv"))))))) + "0l5rv8jkdrb5q846v60v03mcq64yrhklidjkgwv6s1pda71g17yv")))) + (arguments + (substitute-keyword-arguments (package-arguments python-pillow) + ;; FIXME: One of the tests is failing. + ((#:tests? _ #f) #f)))))) (define-public python-pillow-2.9 (package @@ -6974,13 +7078,13 @@ PNG, PostScript, PDF, and SVG file output.") (define-public python-decorator (package (name "python-decorator") - (version "4.4.2") + (version "5.0.9") (source (origin (method url-fetch) (uri (pypi-uri "decorator" version)) (sha256 - (base32 "1rxzhk5zwiggk45hl53zydvy70lk654kg0nc1p54090p402jz9p3")))) + (base32 "1mcy64hllgm938v8k1x2a4g0q9swsnrfnsvhz59kr28a6ajgpv3j")))) (build-system python-build-system) (home-page "https://pypi.org/project/decorator/") (synopsis "Python module to simplify usage of decorators") @@ -7177,6 +7281,31 @@ The output of all running processes is collected by honcho and displayed.") (license license:expat))) +(define-public python-pebble + (package + (name "python-pebble") + (version "4.6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Pebble" version)) + (sha256 + (base32 "16siqc3brbk7dp4d9sg48bjl6a8wyy24aib3il1hf4y2624draxh")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest))) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ (invoke "python" "-m" "pytest" "-sv")))))) + (home-page "https://github.com/noxdafox/pebble") + (synopsis "Threading and multiprocessing for Python") + (description + "Pebble aims to help manage threads and processes in an easier way. It +wraps Python's standard library threading and multiprocessing objects.") + (license license:lgpl3+))) + (define-public python-pexpect (package (name "python-pexpect") @@ -7248,18 +7377,6 @@ child application and control it as if a human were typing commands.") them as the version argument or in a SCM managed file.") (license license:expat))) -;; TODO: Merge with 'python-setuptools-scm' on the next rebuild cycle. -(define-public python-setuptools-scm/next - (package - (inherit python-setuptools-scm) - (version "5.0.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "setuptools_scm" version)) - (sha256 - (base32 "0ahlrxxkx2xhmxskx57gc96w3bdndflxx30304ihvm7ds136nny8")))))) - (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) @@ -7771,12 +7888,12 @@ without using the configuration machinery.") (add-after 'unpack 'patch-testsuite (lambda _ ;; test_not_on_path() and test_path_priority() try to run a test - ;; that loads jupyter_core, so we need PYTHONPATH + ;; that loads jupyter_core, so we need GUIX_PYTHONPATH (substitute* "jupyter_core/tests/test_command.py" (("env = \\{'PATH': ''\\}") - "env = {'PATH': '', 'PYTHONPATH': os.environ['PYTHONPATH']}") + "env = {'PATH': '', 'PYTHONPATH': os.environ['GUIX_PYTHONPATH']}") (("env = \\{'PATH': str\\(b\\)\\}") - "env = {'PATH': str(b), 'PYTHONPATH': os.environ['PYTHONPATH']}")) + "env = {'PATH': str(b), 'PYTHONPATH': os.environ['GUIX_PYTHONPATH']}")) #t)) ;; Migration is running whenever etc/jupyter exists, but the ;; Guix-managed directory will never contain any migratable IPython @@ -7985,13 +8102,13 @@ callback signature using a prototype function.") (define-public python-ipython (package (name "python-ipython") - (version "7.9.0") + (version "7.27.0") (source (origin (method url-fetch) (uri (pypi-uri "ipython" version ".tar.gz")) (sha256 - (base32 "103jkw18z7fnwdal1mdbijjxi1fndzn31g887lmj7ddpf2r07lyz")))) + (base32 "04xgymypnbfgf2q0d5b0hanjbjsp53f055sh1p8xlq52vyzmxdaq")))) (build-system python-build-system) (propagated-inputs `(("python-backcall" ,python-backcall) @@ -7999,6 +8116,7 @@ callback signature using a prototype function.") ("python-prompt-toolkit" ,python-prompt-toolkit-2) ("python-terminado" ,python-terminado) ("python-matplotlib" ,python-matplotlib) + ("python-matplotlib-inline" ,python-matplotlib-inline) ("python-numpy" ,python-numpy) ("python-numpydoc" ,python-numpydoc) ("python-jedi" ,python-jedi) @@ -8057,6 +8175,9 @@ callback signature using a prototype function.") (delete-file "IPython/core/tests/test_display.py") ;; AttributeError: module 'IPython.core' has no attribute 'formatters' (delete-file "IPython/core/tests/test_interactiveshell.py") + ;; AttributeError: module 'matplotlib_inline' has no + ;; attribute 'backend_inline' + (delete-file "IPython/core/tests/test_pylabtools.py") #t))))) (home-page "https://ipython.org") (synopsis "IPython is a tool for interactive computing in Python") @@ -8114,13 +8235,13 @@ computing.") ;; FIXME: It's possible that a smaller union would work just as well. ("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts texlive-fonts-ec - texlive-generic-ifxetex + texlive-generic-iftex texlive-pdftex texlive-latex-capt-of texlive-latex-cmap texlive-latex-environ texlive-latex-eqparbox - texlive-latex-etoolbox + texlive-etoolbox texlive-latex-expdlist texlive-latex-fancyhdr texlive-latex-fancyvrb @@ -8129,11 +8250,11 @@ computing.") texlive-latex-framed texlive-latex-geometry texlive-latex-graphics - texlive-latex-hyperref + texlive-hyperref texlive-latex-mdwtools texlive-latex-multirow texlive-latex-needspace - texlive-latex-oberdiek + texlive-oberdiek texlive-latex-parskip texlive-latex-preview texlive-latex-tabulary @@ -8142,7 +8263,7 @@ computing.") texlive-latex-trimspaces texlive-latex-ucs texlive-latex-upquote - texlive-latex-url + texlive-url texlive-latex-varwidth texlive-latex-wrapfig))) ("texinfo" ,texinfo))))) @@ -8448,10 +8569,15 @@ converts incoming documents to Unicode and outgoing documents to UTF-8.") (base32 "1k70gpn2d3vgdyxbdy536dgm4kchcraxz6lmgsfg3324iy2789q5")))) (build-system python-build-system) - (arguments `(#:tests? #f)) - ;;XXX: 2 tests fail currently despite claming they were to be - ;;skipped. Also, beautifulsoup4 may depend on this in the future, so we - ;;don't want to create a circular dependency. + (arguments + ;;XXX: 2 tests fail currently despite claming they were to be + ;;skipped. Also, beautifulsoup4 may depend on this in the future, so we + ;;don't want to create a circular dependency. + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; Circular dependency with python-beautifulsoup4. + (delete 'sanity-check)))) (home-page "https://github.com/facelessuser/soupsieve") (synopsis "CSS selector library") (description @@ -8507,13 +8633,13 @@ interfaces in an easy and portable manner.") (define-public python-networkx (package (name "python-networkx") - (version "2.5.1") + (version "2.6.2") (source (origin (method url-fetch) (uri (pypi-uri "networkx" version)) (sha256 - (base32 "0ni3pdisdr8vfp5m9sw8jzr7jwzgqqmc9hq327vrf4n4ra2xb70h")))) + (base32 "1fqrq7gc0nn4rd4zqibw96cap75vb5nlixapkajwawp71jaz21i3")))) (build-system python-build-system) (arguments '(#:phases (modify-phases %standard-phases @@ -10044,6 +10170,110 @@ Supported netlink families and protocols include: (define-public python2-wrapt (package-with-python2 python-wrapt)) +(define-public python-commentjson + (package + (name "python-commentjson") + (version "0.9.0") + (source (origin + ;; The PyPI release is missing some test files. + (method git-fetch) + (uri (git-reference + (url "https://github.com/vaidik/commentjson") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01iscgrc6bkyrxbzmf46csbf9c0n7g6dygdmxs3fq8fkzrrciybl")))) + (build-system python-build-system) + (arguments + `(#:modules ((guix build python-build-system) + (guix build utils) + (ice-9 ftw) + (ice-9 textual-ports)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "setup.py" + (("lark-parser>=0.7.1,<0.8.0") + "lark-parser>=0.7.1")))) + (add-after 'unpack 'delete-unspported-tests + ;; Some tests rely on the 'test' module of Python itself, + ;; which is not available with the Python package in Guix; + ;; remove them. + (lambda _ + ;; XXX: Copied from (guix build dub-build-system). + (define (grep string file-name) + (string-contains (call-with-input-file file-name get-string-all) + string)) + + (with-directory-excursion "commentjson/tests/test_json" + (let* ((dot? (lambda (x) (member x '("." "..")))) + (test-files (scandir "." (negate dot?)))) + (for-each delete-file + (filter (lambda (f) (grep "from test." f)) + test-files))))))))) + (propagated-inputs + `(("python-lark-parser" ,python-lark-parser))) + (native-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/vaidik/commentjson") + (synopsis "Python library for adding comments to JSON files") + (description "Comment JSON is a Python package that helps you create JSON +files with Python and JavaScript style inline comments. Its API is very +similar to the Python standard library's @code{json} module.") + (license license:expat))) + +(define-public python-resolvelib + (package + (name "python-resolvelib") + (version "0.7.1") + (source + (origin + ;; Tests are missing from the PyPI release. + (method git-fetch) + (uri (git-reference + (url "https://github.com/sarugaku/resolvelib") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fqz75riagizihvf4j7wc3zjw6kmg1dd8sf49aszyml105kb33n8")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest"))))))) + (native-inputs + `(("python-commentjson" ,python-commentjson) + ("python-packaging" ,python-packaging) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/sarugaku/resolvelib") + (synopsis "Abstract dependencies resolver") + (description "The ResolveLib library provides a @code{Resolver} class that +includes dependency resolution logic.") + (license license:isc))) + +;;; This older version is required by ansible-core. +(define-public python-resolvelib-0.5 + (package/inherit python-resolvelib + (name "python-resolvelib") + (version "0.5.4") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sarugaku/resolvelib") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0697y330sqhiclk25v151qxg7aixzpj434lbg5qib0qlna5zg9la")))))) + (define-public python-commonmark (package (name "python-commonmark") @@ -10350,6 +10580,26 @@ your package is installed, via @code{pkg_resources} (part of primary use case is APIs defined before keyword-only parameters existed.") (license license:gpl3+))) +(define-public python-langdetect + (package + (name "python-langdetect") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "langdetect" version)) + (sha256 + (base32 "1805svvb7xjm4sf1j7b6nc3409x37pd1xmabfwwjf1ldkzwgxhfb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/Mimino666/langdetect") + (synopsis "Language detection library") + (description + "This library is a port of Nakatani Shuyo's language-detection library +(version from 03/03/2014) to Python.") + (license license:expat))) + (define-public python-pyasn1 (package (name "python-pyasn1") @@ -11153,18 +11403,18 @@ time.") texlive-eurosym texlive-fonts-rsfs texlive-generic-ulem - texlive-iftex + texlive-generic-iftex texlive-jknappen texlive-latex-amsmath texlive-latex-enumitem texlive-latex-fancyvrb texlive-latex-float - texlive-latex-fontspec + texlive-fontspec texlive-latex-geometry - texlive-latex-hyperref + texlive-hyperref texlive-latex-jknapltx texlive-latex-ms - texlive-latex-oberdiek + texlive-oberdiek texlive-latex-parskip texlive-latex-trimspaces texlive-latex-upquote @@ -11516,7 +11766,8 @@ automatically detect a wide range of file encodings.") (file-name (git-file-name name version)) (sha256 (base32 - "0aad9gbswnnhssin2q0m5lmpm0ahyf80ahs2zjigbn5y7fvljnd0")))) + "0aad9gbswnnhssin2q0m5lmpm0ahyf80ahs2zjigbn5y7fvljnd0")) + (patches (search-patches "python-docopt-pytest6-compat.patch")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) @@ -11524,7 +11775,9 @@ automatically detect a wide range of file encodings.") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ (invoke "py.test")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "py.test"))))))) (home-page "http://docopt.org") (synopsis "Command-line interface description language for Python") (description "This library allows the user to define a command-line @@ -11912,24 +12165,31 @@ pure Python module that works on virtually all Python versions.") (define-public python-execnet (package (name "python-execnet") - (version "1.4.1") + (version "1.9.0") (source (origin - (method url-fetch) - (uri (pypi-uri "execnet" version)) - (sha256 - (base32 - "1rpk1vyclhg911p3hql0m0nrpq7q7mysxnaaw6vs29cpa6kx8vgn")))) + (method url-fetch) + (uri (pypi-uri "execnet" version)) + (sha256 + (base32 + "1ia7dvrh0gvzzpi758mx55f9flr16bzdqlmi12swm4ncm4xlyscg")) + (patches (search-patches "python-execnet-read-only-fix.patch")))) (build-system python-build-system) (arguments - `(;; 2 failed, 275 passed, 670 skipped, 4 xfailed - ;; The two test failures are caused by the lack of an `ssh` executable. - ;; The test suite can be run with pytest after the 'install' phase. - #:tests? #f)) + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + ;; Unset PYTHONDONTWRITEBYTECODE to match the + ;; expectations of a test in + ;; 'testing/test_gateway.py'. + (unsetenv "PYTHONDONTWRITEBYTECODE") + + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv"))))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-setuptools-scm" ,python-setuptools-scm))) - (propagated-inputs - `(("python-apipkg" ,python-apipkg))) (synopsis "Rapid multi-Python deployment") (description "Execnet provides a share-nothing model with channel-send/receive communication for distributing execution across many @@ -13383,16 +13643,15 @@ way.") (define-public python-munkres (package (name "python-munkres") - (version "1.0.8") + (version "1.1.4") (source (origin (method url-fetch) (uri (pypi-uri "munkres" version)) (sha256 (base32 - "0mbspx4zv8id4x6pim6ybsa1xh96qwpbqj7skbqz4c9c9nf1lpqq")))) + "00yvj8bxmhhhhd74v7j0x673is7vizmxwgb3dd5xmnkr74ybyi7w")))) (build-system python-build-system) - (arguments - '(#:tests? #f)) ; no test suite + (native-inputs `(("python-pytest" ,python-pytest-6))) (home-page "https://software.clapper.org/munkres/") (synopsis "Implementation of the Munkres algorithm") (description "The Munkres module provides an implementation of the Munkres @@ -13521,29 +13780,30 @@ ambiguities (forward vs. backward slashes, etc.). (define-public python-jellyfish (package (name "python-jellyfish") - (version "0.5.6") + (version "0.8.8") (source (origin (method url-fetch) (uri (pypi-uri "jellyfish" version)) (sha256 (base32 - "1j9rplb16ba2prjj6mip46z0w9pnhnqpwgiwi0x93vnas14rlyl8")))) + "0p2s6b30sfffx8sya2i8kz0i0riw9fq1fi0k89s8kdgrmjf0h1h5")))) (build-system python-build-system) + (arguments + `(#:tests? #f ; XXX: Tests cannot find C coded version. + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv" "jellyfish/test.py"))))))) (native-inputs `(("python-pytest" ,python-pytest))) (home-page "https://github.com/jamesturk/jellyfish") (synopsis "Approximate and phonetic matching of strings") (description "Jellyfish uses a variety of string comparison and phonetic encoding algorithms to do fuzzy string matching.") - (license license:bsd-2) - (properties `((python2-variant . ,(delay python2-jellyfish)))))) - -(define-public python2-jellyfish - (let ((jellyfish (package-with-python2 - (strip-python2-variant python-jellyfish)))) - (package/inherit jellyfish - (native-inputs `(("python2-unicodecsv" ,python2-unicodecsv) - ,@(package-native-inputs jellyfish)))))) + (license license:bsd-2))) (define-public python2-unicodecsv (package @@ -13623,33 +13883,39 @@ can also be used to get the exact location, font or color of the text.") (define-public python-rarfile (package (name "python-rarfile") - (version "2.8") + (version "4.0") (source (origin (method url-fetch) (uri (pypi-uri "rarfile" version)) (sha256 (base32 - "0qfad483kcbga0bn4qmcz953xjk16r52fahiy46zzn56v80y89ra")))) + "1882wv9szcm29mnyhjmspyflyr2l7z73srn14w4dlnww49lqfm37")))) (build-system python-build-system) (arguments - '(#:phases + `(#:tests? #f ;; The bsdtar utility is very limited and most tests fail. + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "rarfile.py" + ;; Disable unrar and unar, which are unavailable on Guix. + (("(unrar|unar)=True" all tool) (string-append tool "=False")) + ;; Hardcode path to bsdtar + (("\"bsdtar\"") + (string-append "\"" (assoc-ref inputs "libarchive") "/bin/bsdtar\""))) + #t)) (replace 'check - ;; Many tests fail, but the installation proceeds. - (lambda _ (invoke "make" "-C" "test" "test")))))) - (native-inputs - `(("which" ,which))) ; required for tests - (propagated-inputs - `(("libarchive" ,libarchive))) + (lambda* (#:key inputs tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) + (native-inputs `(("python-pytest" ,python-pytest))) + (inputs `(("libarchive" ,libarchive))) (home-page "https://github.com/markokr/rarfile") (synopsis "RAR archive reader for Python") (description "This is Python module for RAR archive reading. The interface is made as zipfile like as possible.") (license license:isc))) -(define-public python2-rarfile - (package-with-python2 python-rarfile)) - (define-public python-rich (package (name "python-rich") @@ -13966,39 +14232,25 @@ respectively.") Python. It generates C++ code and a Makefile.")) (license (list license:gpl3 license:bsd-3 license:expat)))) -(define-public python2-rope +(define-public python-rope (package - (name "python2-rope") - (version "0.11.0") + (name "python-rope") + (version "0.19.0") (source (origin - (method url-fetch) - (uri (pypi-uri "rope" version)) - (sha256 + (method url-fetch) + (uri (pypi-uri "rope" version)) + (sha256 (base32 - "1cppm0pa9aqgsbkq130lskrzmrvjs5vpiavjjbhpz2fdw52w8251")))) - (arguments - ;; Rope has only partial python3 support, see `python-rope' - `(#:python ,python-2)) + "1nlhkmsfvn2p1msrmwqnypnvr993alzawnpc1605q7rfad3xgrk4")))) (build-system python-build-system) - (native-inputs - `(("python2-unittest2" ,python2-unittest2))) (home-page "https://github.com/python-rope/rope") (synopsis "Refactoring library for Python") (description "Rope is a refactoring library for Python. It facilitates the renaming, moving and extracting of attributes, functions, modules, fields and parameters in Python 2 source code. These refactorings can also be applied to occurrences in strings and comments.") - (license license:gpl2))) - -(define-public python-rope - (package/inherit python2-rope - (name "python-rope") - (arguments `(#:python ,python-wrapper - ;; XXX: Only partial python3 support, results in some failing - ;; tests: <https://github.com/python-rope/rope/issues/247>. - #:tests? #f)) - (properties `((python2-variant . ,(delay python2-rope)))))) + (license license:lgpl3+))) (define-public python-py3status (package @@ -14033,29 +14285,6 @@ functionality in a modular way, allowing you to extend your panel with your own code, responding to click events and updating clock every second.") (license license:bsd-3))) -(define-public python2-selectors2 - (package - (name "python2-selectors2") - (version "2.0.1") - (source (origin - (method url-fetch) - (uri (pypi-uri "selectors2" version)) - (sha256 - (base32 - "110qr00b9axz1f1jm12b495jkvrz80smknxvssqlhwk0dx67rdw1")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2)) - (native-inputs - `(("python2-mock" ,python2-mock) - ("python2-psutil" ,python2-psutil))) - (home-page "https://www.github.com/SethMichaelLarson/selectors2") - (synopsis "Backport of the selectors module from Python 3.5+") - (description - "This package provides a drop-in replacement for the @code{selectors} -module in Python 3.5 and later.") - (license license:expat))) - (define-public python-tblib (package (name "python-tblib") @@ -14096,13 +14325,13 @@ multiple processes (imagine multiprocessing, billiard, futures, celery etc). (define-public python-greenlet (package (name "python-greenlet") - (version "1.0.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (pypi-uri "greenlet" version)) (sha256 (base32 - "1y6wbg9yhm9dw6m768n4yslp56h85pnxkk3drz6icn15g6f1d7ki")))) + "10gllbrcbazxck84nr7dw3js3gq0rxrsr4kkvy5hg542rms2gwn0")))) (build-system python-build-system) (home-page "https://greenlet.readthedocs.io/") (synopsis "Lightweight in-process concurrent programming") @@ -14513,7 +14742,8 @@ etc.") (uri (pypi-uri "chai" version)) (sha256 (base32 - "1k6n6zbgrrs83crp6mr3yqj9zlv40b8rpisyrliwsq7naml2p3gz")))) + "1k6n6zbgrrs83crp6mr3yqj9zlv40b8rpisyrliwsq7naml2p3gz")) + (patches (search-patches "python-chai-drop-python2.patch")))) (build-system python-build-system) (home-page "https://github.com/agoragames/chai") (synopsis "Mocking framework for Python") @@ -14522,9 +14752,6 @@ etc.") objects, patterned after the Mocha library for Ruby.") (license license:bsd-3))) -(define-public python2-chai - (package-with-python2 python-chai)) - (define-public python-inflection (package (name "python-inflection") @@ -15070,13 +15297,13 @@ parsing UK postcodes.") (define-public python-faker (package (name "python-faker") - (version "4.0.2") + (version "8.12.1") (source (origin (method url-fetch) (uri (pypi-uri "Faker" version)) (sha256 (base32 - "13qq485ydxmdnqn3xbfv1xfyqbf9qfnfw33v1vw5l6jyy9p8cgrd")))) + "1f95g8adzdh97cbfq7j3482iy4yskbahhjma2cm2mrhrdmi5j241")))) (build-system python-build-system) (arguments '(#:phases @@ -15246,40 +15473,77 @@ characters, mouse support, and auto suggestions.") (package-with-python2 python-prompt-toolkit-1)) (define-public python-jedi - (package - (name "python-jedi") - (version "0.17.2") - (source - (origin - (method url-fetch) - (uri (pypi-uri "jedi" version)) - (sha256 - (base32 "080xyf97ifabdz7jp8clg00b8zv5g33fva1fb2xf80q6fndpvvc6")))) - (build-system python-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (setenv "HOME" "/tmp") - (invoke "python" "-m" "pytest" "-vv")) - #t))))) - (native-inputs - `(("python-pytest" ,python-pytest) - ("python-docopt" ,python-docopt))) - (propagated-inputs - `(("python-parso" ,python-parso))) - (home-page "https://github.com/davidhalter/jedi") - (synopsis "Autocompletion and static analysis library for Python") - (description - "Jedi is a static analysis tool for Python that can be used in Integrated + ;; The 0.18.0 release tests do not work with Python 3.9.6. Use a more + ;; recent commit. + (let ((commit "1d944943c311b2d71655432f8870d68b2cf7d44b") + (revision "1")) + (package + (name "python-jedi") + (version + (git-version "0.18.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidhalter/jedi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "052szkbv2pf9hy21any6zb4dhx3c5w1v6b9hn5grlc84zfm350vq")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-submodule-sources + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "python-django-stubs") + "jedi/third_party/django-stubs") + (copy-recursively (assoc-ref inputs "python-typeshed") + "jedi/third_party/typeshed") + #t)) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "HOME" "/tmp") + ;; Disable the pytest tests that fail with pytest 6. See: + ;; https://github.com/davidhalter/jedi/issues/1660. + (invoke "pytest" "-vv" "-k" + "not test_completion[pytest")) + #t))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-docopt" ,python-docopt) + ("python-django-stubs" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidhalter/django-stubs") + (commit "3d2534ea8d8300c4c9db8f18e300355d5fd5488b"))) + (file-name "django-stubs-checkout") + (sha256 + (base32 "1fpvn4lcqkd2q18z29rcnwakm649fccw2k6jik5d64j7p6xns08r")))) + ("python-typeshed" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/davidhalter/typeshed") + (commit "ae9d4f4b21bb5e1239816c301da7b1ea904b44c3"))) + (file-name "typeshed-checkout") + (sha256 + (base32 "02xdip4amj0a7z9xph2mj46x1k55bjxl8d0gkpy25575acyx1kjq")))))) + (propagated-inputs + `(("python-parso" ,python-parso))) + (home-page "https://github.com/davidhalter/jedi") + (synopsis "Autocompletion and static analysis library for Python") + (description + "Jedi is a static analysis tool for Python that can be used in Integrated Development Environments (@dfn{IDE}s) and text editors. It understands Python on a deeper level than many other static analysis frameworks for Python. Jedi understands docstrings and you can use Jedi autocompletion in your REPL as well.") - (license license:expat))) + (license license:expat)))) (define-public python2-jedi (package-with-python2 python-jedi)) @@ -15407,6 +15671,12 @@ documentation to argparse configuration.") (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + ;; See https://github.com/torproject/stem/issues/56 + (lambda _ + (substitute* "run_tests.py" + (("test\\.task\\.MOCK_VERSION,") + "")))) (replace 'check (lambda _ (invoke "./run_tests.py" "--unit") @@ -15721,20 +15991,17 @@ Python to manipulate OpenDocument 1.2 files.") (define-public python-natsort (package (name "python-natsort") - (version "7.0.1") + (version "7.1.1") (source (origin (method url-fetch) (uri (pypi-uri "natsort" version)) (sha256 (base32 - "1ksqfai72dbcfbwx43pxl658j59mx2rvqypjy1fk0ax2qd6lccx6")))) + "00y49bfsi7rrsd1s42gc2w95a6arl9ipdsx2493hr0v54fj07ih0")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-before 'check 'set-cachedir - ;; Tests require write access to $HOME by default - (lambda _ (setenv "PYTHON_EGG_CACHE" "/tmp") #t)) (replace 'check (lambda _ (invoke "pytest" "-v")))))) @@ -15756,23 +16023,7 @@ on a list such as @code{[@code{a20}, @code{a9}, @code{a1}, @code{a4}, identifies numbers and sorts them separately from strings. It can also sort version numbers, real numbers, mixed types and more, and comes with a shell command @command{natsort} that exposes this functionality in the command line.") - (license license:expat) - (properties `((python2-variant . ,(delay python2-natsort)))))) - -;; Natsort 6.x are the last versions with support for Python 2. -(define-public python2-natsort - (let ((base (package-with-python2 (strip-python2-variant python-natsort)))) - (package (inherit base) - (version "6.2.1") - (source (origin - (method url-fetch) - (uri (pypi-uri "natsort" version)) - (sha256 - (base32 - "1mc9hbh6fv76xyz13frm7dgi05cf74f9j5wvcyjiy5234gylz565")))) - (native-inputs - `(("python2-pathlib" ,python2-pathlib) - ,@(package-native-inputs base)))))) + (license license:expat))) (define-public glances (package @@ -15945,7 +16196,9 @@ focus on building massively scalable web applications.") (uri (pypi-uri "random2" version ".zip")) (sha256 (base32 - "01y0s4747plsx8fdnxy0nz83dp69naddz58m81r9h0s1qfm31b9l")))) + "01y0s4747plsx8fdnxy0nz83dp69naddz58m81r9h0s1qfm31b9l")) + (patches + (search-patches "python-random2-getrandbits-test.patch")))) (build-system python-build-system) (native-inputs `(("unzip" ,unzip))) (home-page "http://pypi.python.org/pypi/random2") @@ -17023,34 +17276,29 @@ happens using the @code{logging} library.") (license license:gpl3+))) (define-public python-astroid - (let ((revision "1") - (commit "5f67396894c79c4661e357ec8bb03aa134a51109")) - (package - (name "python-astroid") - (version (git-version "2.4.2" revision commit)) - (source - (origin - ;; The current 2.4.2 release doesn't support Python 3.9. - (method git-fetch) - (uri (git-reference - (url "https://github.com/PyCQA/astroid") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1ir5716wqgz39jva7x9chhjy41yi3n7fkymb8snh5giwig8kyipk")))) - (build-system python-build-system) - (propagated-inputs - `(("python-lazy-object-proxy" ,python-lazy-object-proxy) - ("python-six" ,python-six) - ("python-wrapt" ,python-wrapt))) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-pytest" ,python-pytest) - ("python-pytest-runner" ,python-pytest-runner))) - (home-page "https://github.com/PyCQA/astroid") - (synopsis "Common base representation of python source code for pylint and + (package + (name "python-astroid") + (version "2.6.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/PyCQA/astroid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1amzf996inwmh4r3mlpzmch60xs6lrg86vppfnwl1y0l8r0y7zxh")))) + (build-system python-build-system) + (propagated-inputs + `(("python-lazy-object-proxy" ,python-lazy-object-proxy) + ("python-wrapt" ,python-wrapt))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/PyCQA/astroid") + (synopsis "Common base representation of python source code for pylint and other projects") - (description "@code{python-astroid} provides a common base representation + (description "@code{python-astroid} provides a common base representation of python source code for projects such as pychecker, pyreverse, pylint, etc. It provides a compatible representation which comes from the _ast module. It @@ -17059,8 +17307,8 @@ down the AST and building an extended ast. The new node classes have additional methods and attributes for different usages. They include some support for static inference and local name scopes. Furthermore, astroid builds partial trees by inspecting living objects.") - (license license:lgpl2.1+) - (properties `((python2-variant . ,(delay python2-astroid))))))) + (license license:lgpl2.1+) + (properties `((python2-variant . ,(delay python2-astroid)))))) (define-public python2-astroid (let ((base (package-with-python2 @@ -17350,39 +17598,6 @@ applications in seconds while maintaining all the flexibility.") older Pythons because it was not part of the standard library back then.") (license license:psfl))) -(define-public python-fudge - (package - (name "python-fudge") - ;; 0.9.6 is the latest version suitable for testing the "fabric" Python 2 - ;; package, which is currently the only use of this package. - (version "0.9.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "fudge" version)) - (sha256 - (base32 - "185ia3vr3qk4f2s1a9hdxb8ci4qc0x0xidrad96pywg8j930qs9l")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ;XXX: Tests require the NoseJS Python package. - (home-page "https://github.com/fudge-py/fudge") - (synopsis "Replace real objects with fakes/mocks/stubs while testing") - (description - "Fudge is a Python module for using fake objects (mocks and stubs) to -test real ones. - -In readable Python code, you declare the methods available on your fake object -and how they should be called. Then you inject that into your application and -start testing. This declarative approach means you don’t have to record and -playback actions and you don’t have to inspect your fakes after running code. -If the fake object was used incorrectly then you’ll see an informative -exception message with a traceback that points to the culprit.") - (license license:expat))) - -(define-public python2-fudge - (package-with-python2 python-fudge)) - (define-public python-mwclient (package (name "python-mwclient") @@ -17713,14 +17928,14 @@ information.") (define-public python-relatorio (package (name "python-relatorio") - (version "0.8.0") + (version "0.10.0") (source (origin (method url-fetch) (uri (pypi-uri "relatorio" version)) (sha256 (base32 - "1na6hlhz1awi1hbjg1gyclq0khz42iz90wvdjw7mmj655788bpxx")))) + "09nhrz80dfm60nssbvjgz4czzy4yzfa8gxczcdlzbgcnnvm914vb")))) (build-system python-build-system) (propagated-inputs `(("python-lxml" ,python-lxml) @@ -18064,16 +18279,8 @@ validation of URIs (see RFC 3986) and IRIs (see RFC 3987).") "Python implementation of the Happy Eyeballs Algorithm described in RFC 6555. Provided with a single file and dead-simple API to allow easy vendoring and integration into other projects.") - (properties `((python2-variant . ,(delay python2-rfc6555)))) (license license:asl2.0)))) -(define-public python2-rfc6555 - (let ((base (package-with-python2 - (strip-python2-variant python-rfc6555)))) - (package/inherit base - (propagated-inputs - `(("python2-selectors2" ,python2-selectors2)))))) - (define-public python-bagit (package (name "python-bagit") @@ -19391,6 +19598,50 @@ and works only with Python 2 and NumPy < 1.9.") (define-public python2-phonenumbers (package-with-python2 python-phonenumbers)) +(define-public python-heapdict + (package + (name "python-heapdict") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "HeapDict" version)) + (sha256 + (base32 + "1dnd7v9adqd21bf4ih2wzn9a7b41m0nccb0vbxny9n037rxzb5c4")))) + (build-system python-build-system) + (home-page "http://stutzbachenterprises.com/") + (synopsis "Heap with decrease-key and increase-key operations") + (description + "heapdict implements the MutableMapping ABC, meaning it works pretty much +like a regular Python @code{dict}. It’s designed to be used as a priority +queue.") + (license license:bsd-3))) + +(define-public python-zict + (package + (name "python-zict") + (version "2.0.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "zict" version)) + (sha256 + (base32 + "05pd1hyhqvpw87rnbvl3vdyf619snpyccbswaxisdj17frwnjacf")))) + (build-system python-build-system) + (propagated-inputs + `(("python-heapdict" ,python-heapdict))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://zict.readthedocs.io/en/latest/") + (synopsis "Composable mutable mapping tools") + (description "This package provides abstract @code{MutableMapping} classes +that consume and build on other @code{MutableMappings}. Several of these can +be composed with one another to form intuitive interfaces over complex storage +systems policies.") + (license license:bsd-3))) + (define-public python-send2trash (package (name "python-send2trash") @@ -19934,13 +20185,13 @@ Included are implementations of: (define-public bpython (package (name "bpython") - (version "0.20.1") + (version "0.21") (source (origin (method url-fetch) (uri (pypi-uri "bpython" version)) (sha256 - (base32 "00vmkkc79mlnkyvwww1cr7bpwmf4p61704dhayz6kd0kc203hxvf")))) + (base32 "11wlf12nm6ggn9512y4yqs26s8gdgpx0h9ls94k7fsjgjy4rpal8")))) (build-system python-build-system) (arguments `(#:phases @@ -19966,14 +20217,17 @@ Included are implementations of: ("python-curtsies" ,python-curtsies) ("python-greenlet" ,python-greenlet) ("python-six" ,python-six) - ("python-wcwidth" ,python-wcwidth) + ("python-cwcwidth" ,python-cwcwidth) + ("python-pyxdg" ,python-pyxdg) ;; optional dependencies ("python-urwid" ,python-urwid) ; for bpython-urwid only ("python-watchdog" ,python-watchdog) ("python-jedi" ,python-jedi))) (native-inputs `(("python-sphinx" ,python-sphinx) - ("python-mock" ,python-mock))) + ("python-mock" ,python-mock) + ("python-tox" ,python-tox) + ("python-wheel" ,python-wheel))) (home-page "https://bpython-interpreter.org/") (synopsis "Fancy interface to the Python interpreter") (description "Bpython is a fancy interface to the Python @@ -20171,13 +20425,13 @@ time-based (TOTP) passwords.") (define-public python-parso (package (name "python-parso") - (version "0.7.1") + (version "0.8.2") (source (origin (method url-fetch) (uri (pypi-uri "parso" version)) (sha256 - (base32 "1f9fc99mjx0h2ad4mgsid728nnmw58hvnq3411g8ljlr9dr49fna")))) + (base32 "161k8771m7w60qakyvrwf9q62lvakmix7mpfylpy7713qs939f0j")))) (native-inputs `(("python-pytest" ,python-pytest))) (build-system python-build-system) @@ -20677,9 +20931,12 @@ library to allow local file system access via @code{file://} URLs.") (arguments `(#:phases (modify-phases %standard-phases + ;; system-error "utime" "~A" ("No such file or directory") + (delete 'ensure-no-mtimes-pre-1980) (replace 'check - (lambda _ - (invoke "pytest" "-vv")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "pytest" "-vv"))))))) (native-inputs `(("python-coverage" ,python-coverage) ("python-pytest" ,python-pytest))) @@ -20726,6 +20983,43 @@ Public Suffix List's private domains as well.") (define-public python2-tldextract (package-with-python2 python-tldextract)) +(define-public python-tldr + (package + (name "python-tldr") + (version "1.2.1") + (source + (origin + ;; There's no test in PyPI. + (method git-fetch) + (uri (git-reference + (url "https://github.com/tldr-pages/tldr-python-client") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0n9wqvjxspm18vlxf9j9slrcydshk4rkv5nwkrqhfq606n6zvks4")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; This test fails. It tries to open a network socket. + (invoke "pytest" "-vv" "-k" "not test_error_message"))))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (inputs + `(("python-argcomplete" ,python-argcomplete) + ("python-colorama" ,python-colorama) + ("python-termcolor" ,python-termcolor))) + (home-page "https://github.com/tldr-pages/tldr-python-client") + (synopsis "Python command-line client for tldr pages") + (description "This package provides the @code{tldr} command allowing users +to view @code{tldr} pages from a shell. The @code{tldr} pages are a community +effort to simplify the man pages with practical examples.") + (license license:expat))) ; MIT license + (define-public python-nodeenv (package (name "python-nodeenv") @@ -21010,15 +21304,18 @@ N-dimensional arrays for Python.") (version "0.7.6") (source (origin - (method url-fetch) - (uri (pypi-uri "anndata" version)) + ;; The tarball from PyPi doesn't include tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/theislab/anndata") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ch8yp0xmag6z0kl01pljm35lbbwax7lrimfhiclpkd4m6xngk53")))) + "1q30bsfsq9xfqm8nmabg3bjh9gix3yng0170xiiyw1lin4xncf0q")))) (build-system python-build-system) (arguments - `(#:tests? #f ; The tarball from PyPi doesn't include tests. - #:phases + `(#:phases (modify-phases %standard-phases (delete 'check) (add-before 'build 'relax-dependency-requirements @@ -21029,6 +21326,7 @@ N-dimensional arrays for Python.") (("pandas>=1.1.1") "pandas>=1.0.5")))) (replace 'build (lambda _ + (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" ,version) ;; ZIP does not support timestamps before 1980. (setenv "SOURCE_DATE_EPOCH" "315532800") (invoke "flit" "build"))) @@ -21250,30 +21548,56 @@ pure-Python.") (define-public python2-sortedcontainers (package-with-python2 python-sortedcontainers)) -(define-public python-cloudpickle +(define python-cloudpickle-testpkg (package - (name "python-cloudpickle") - (version "1.3.0") + (name "python-cloudpickle-testpkg") + (version "1.6.0") (source (origin - (method url-fetch) - (uri (pypi-uri "cloudpickle" version)) + ;; Archive on pypi does not include test infrastructure. + (method git-fetch) + (uri (git-reference + (url "https://github.com/cloudpipe/cloudpickle") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0lx7gy9clp427qwcm7b23zdsldpr03gy3vxxhyi8fpbhwz859brq")))) + "1584d21d4rcpryn8yfz0pjnjprk4zm367m0razdcz8cjbsh0dxp6")))) (build-system python-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (if tests? - (invoke "pytest" "-s" "-vv") - (format #t "test suite not run~%"))))))) + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "tests/cloudpickle_testpkg")))))) + (home-page "https://github.com/cloudpipe/cloudpickle") + (synopsis "Extended pickling support for Python objects") + (description + "Cloudpickle makes it possible to serialize Python constructs not +supported by the default pickle module from the Python standard library. It +is especially useful for cluster computing where Python expressions are +shipped over the network to execute on remote hosts, possibly close to the +data.") + (license license:bsd-3))) + +(define-public python-cloudpickle + (package + (inherit python-cloudpickle-testpkg) + (name "python-cloudpickle") + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (if tests? + (invoke "pytest" "-s" "-vv") + (format #t "test suite not run~%"))))))) (native-inputs `(;; For tests. + ("python-cloudpickle-testpkg" ,python-cloudpickle-testpkg) ("python-psutil" ,python-psutil) ("python-pytest" ,python-pytest) - ("python-tornado" ,python-tornado))) + ("python-tornado" ,python-tornado-6))) (home-page "https://github.com/cloudpipe/cloudpickle") (synopsis "Extended pickling support for Python objects") (description @@ -21288,9 +21612,20 @@ data.") (define-public python2-cloudpickle (let ((base (package-with-python2 (strip-python2-variant python-cloudpickle)))) (package/inherit base + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cloudpickle" version)) + (sha256 + (base32 + "0lx7gy9clp427qwcm7b23zdsldpr03gy3vxxhyi8fpbhwz859brq")))) (native-inputs - `(("python-mock" ,python2-mock) - ,@(package-native-inputs base))) + `(;; For tests. + ("python-mock" ,python2-mock) + ("python-psutil" ,python2-psutil) + ("python-pytest" ,python2-pytest) + ("python-tornado" ,python2-tornado))) (propagated-inputs `(("python-futures" ,python2-futures) ,@(package-propagated-inputs base)))))) @@ -21354,14 +21689,14 @@ This Python package wraps the Blosc library.") (define-public python-partd (package (name "python-partd") - (version "0.3.9") + (version "1.2.0") (source (origin (method url-fetch) (uri (pypi-uri "partd" version)) (sha256 (base32 - "0sz6rwlnl4fqq220pyz863cnv0gjdxl4m7lscl71ishl5z0xkmhz")))) + "1sy3vdfyyx3bc5590zb7gwpsmimqz8m992x9hsydq8nmhixqjrxa")))) (build-system python-build-system) (propagated-inputs `(("python-blosc" ,python-blosc) @@ -21401,13 +21736,13 @@ decisions with any given backend.") (define-public python-dask (package (name "python-dask") - (version "2.14.0") + (version "2021.7.1") (source (origin (method url-fetch) (uri (pypi-uri "dask" version)) (sha256 - (base32 "031j0j26s0675v0isyps2dphm03330n7dy8ifdy70jgvf78d119q")))) + (base32 "131c1bp193d7wp4gx09j6wark1c322c8sqjy22i0jaafl5rqfbz7")))) (build-system python-build-system) (arguments `(#:phases @@ -21418,14 +21753,7 @@ decisions with any given backend.") (substitute* "dask/tests/test_threaded.py" (("def test_interrupt\\(\\)" m) (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" - m))) - ;; This one fails with a type error: - ;; TypeError: Already tz-aware, use tz_convert to convert. - (substitute* "dask/dataframe/tests/test_shuffle.py" - (("def test_set_index_timestamp\\(\\)" m) - (string-append "@pytest.mark.skip(reason=\"Disabled by Guix\")\n" - m))) - #t)) + m))))) (replace 'check (lambda _ (invoke "pytest" "-vv")))))) (propagated-inputs @@ -21681,13 +22009,13 @@ distribution.") (define-public python-gast (package (name "python-gast") - (version "0.3.3") + (version "0.5.2") (source (origin (method url-fetch) (uri (pypi-uri "gast" version)) (sha256 - (base32 "0mrvvfzqafj1wzd0xxfmjf4vphnlxypbhpic1m283aj9i8lfz0dq")))) + (base32 "1xv77kzghiqfm4fnvlv0p878ma152dvcfkly3jij89lqigxcw7zq")))) (build-system python-build-system) (propagated-inputs `(("python-astunparse" ,python-astunparse))) @@ -22039,6 +22367,28 @@ processes may share the same data.") format.") (license license:expat))) +(define-public python-crontab + (package + (name "python-crontab") + (version "2.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri name version)) + (sha256 + (base32 "0cccrqc10r8781ba81x8r2frs3pl2m4hkm599k5358ak0xr7xgjb")))) + (build-system python-build-system) + (arguments + ;; Comptability tests fail so they are disabled. + `(#:tests? #f)) + (inputs + `(("python-dateutil" ,python-dateutil))) + (home-page "https://gitlab.com/doctormo/python-crontab/") + (synopsis "Module for reading and writing crontab files") + (description "This Python module can read, write crontab files, and +access the system cron automatically and simply using a direct API.") + (license license:lgpl3+))) + (define-public python-pylzma (package (name "python-pylzma") @@ -22157,14 +22507,13 @@ compatible).") (define-public python-bsddb3 (package (name "python-bsddb3") - (version "6.2.6") + (version "6.2.9") (source (origin (method url-fetch) (uri (pypi-uri "bsddb3" version)) (sha256 - (base32 - "019db2y6bfmiqbrgg9x9f6h72qjmqh05czdn2v5sy9bl0gs23mj2")))) + (base32 "00bqdsfx8jgmfz5bgkx10nlw5bfsw11a86f91zkl53snvk45xl3h")))) (build-system python-build-system) (inputs `(("bdb" ,bdb))) @@ -22623,6 +22972,89 @@ bindings for Python 3.") standard error channel (stderr) in your program.") (license license:expat)))) +(define-public python-anyio + (package + (name "python-anyio") + (version "3.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "anyio" version)) + (sha256 + (base32 + "0x03hsprdrs86wjjkj96zm2jswy3a5bgyrknyi58pzz5hdsscmxf")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-compatibility + (lambda _ + (substitute* "tests/test_taskgroups.py" + (("import pytest") + "import pytest\nimport _pytest\nfrom _pytest import logging") + (("pytest.LogCaptureFixture") + "_pytest.logging.LogCaptureFixture")))) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-vv" "-p" "no:asyncio" + "-m" "not network" + "-k" + (string-append + "not test_is_block_device" + + ;; These fail because of network (or specifically + ;; IPv6 network) access. + " and not test_accept" + " and not test_accept_after_close" + " and not test_close_during_receive" + " and not test_close_from_other_task" + " and not test_concurrent_receive" + " and not test_concurrent_send" + " and not test_connect_tcp_with_tls" + " and not test_connect_tcp_with_tls_cert_check_fail" + " and not test_connection_refused" + " and not test_extra_attributes" + " and not test_getaddrinfo" + " and not test_getnameinfo" + " and not test_happy_eyeballs" + " and not test_iterate" + " and not test_receive_after_close" + " and not test_receive_timeout" + " and not test_reuse_port" + " and not test_run_process" + " and not test_send_after_close" + " and not test_send_after_eof" + " and not test_send_after_peer_closed" + " and not test_send_eof" + " and not test_send_large_buffer" + " and not test_send_receive" + " and not test_socket_options")))))))) + (propagated-inputs + `(("python-idna" ,python-idna) + ("python-sniffio" ,python-sniffio) + ("python-typing-extensions" ,python-typing-extensions))) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-hypothesis" ,python-hypothesis) + ("python-iniconfig" ,python-iniconfig) + ("python-mock" ,python-mock) + ("python-pytest" ,python-pytest-6) + ("python-pytest-mock" ,python-pytest-mock) + ("python-pytest-trio" ,python-pytest-trio) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-trustme" ,python-trustme) + ("python-uvloop" ,python-uvloop))) + (home-page "https://github.com/agronholm/anyio") + (synopsis "Compatibility layer for multiple asynchronous event loops") + (description + "AnyIO is an asynchronous networking and concurrency library that works +on top of either asyncio or trio. It implements trio-like structured +concurrency on top of asyncio, and works in harmony with the native SC of trio +itself.") + (license license:expat))) + (define-public python-argh ;; There are 21 commits since the latest release containing important ;; improvements. @@ -23445,7 +23877,10 @@ Python.") (base32 "0v8vg0naa9rywvd31cpq65ljbdclpsrx09788v4xj7lg10np8nk0")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; TODO: package dependencies required for tests. + ;; TODO: package dependencies required for tests. + '(#:tests? #f + #:phases (modify-phases %standard-phases + (delete 'sanity-check)))) (synopsis "Interface for Open Geospatial Consortium web service") (description "OWSLib is a Python package for client programming with Open Geospatial @@ -24377,6 +24812,28 @@ For the most part it's transliterated from C, the major differences are: "Jinxed is an implementation of a subset of the Python curses library.") (license license:mpl2.0))) +(define-public python-svgutils + (package + (name "python-svgutils") + (version "0.3.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "svgutils" version)) + (sha256 + (base32 + "0lz0w2ajdvwd269a7ppnzawmx8px0116j0nx8xvhlihxrd28zx4y")))) + (build-system python-build-system) + (propagated-inputs + `(("python-lxml" ,python-lxml))) + (home-page "https://svgutils.readthedocs.io") + (synopsis "Python SVG editor") + (description "This is an utility package that helps with editing and +concatenating SVG files. It is especially directed at scientists preparing +final figures for submission to journals. So far it supports arbitrary +placement and scaling of SVG figures and adding markers, such as labels.") + (license license:expat))) + (define-public python-blessed (package (name "python-blessed") @@ -24784,8 +25241,8 @@ By default it uses the open Python vulnerability database Safety DB.") (native-inputs `(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts texlive-fonts-ec - texlive-latex-hyperref - texlive-latex-oberdiek + texlive-hyperref + texlive-oberdiek texlive-lm texlive-xcolor))))) (arguments @@ -25116,10 +25573,16 @@ process.") (inputs `(("libpng" ,libpng) ("libtiff" ,libtiff) - ("python2-wxpython" ,python2-wxpython) ("zlib" ,zlib))) (arguments - `(#:python ,python-2)) + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-wx-support + (lambda _ + (substitute* "setup.py" + (("no_wx = False") + "no_wx = True"))))))) (synopsis "Framework for building document analysis applications") (description "Gamera is a toolkit for building document image recognition systems.") @@ -25411,20 +25874,19 @@ Qt applications.") (define-public python-confuse (package (name "python-confuse") - (version "1.4.0") + (version "1.5.0") (source (origin (method url-fetch) (uri (pypi-uri "confuse" version)) (sha256 (base32 - "0r74djc8r6lfx6ldsqnhpvfsn256gsfzbl33qcm77hp2qr8h9z4j")))) + "0bh2kyj8wd7h9gg4nsvrbykl5ly0f70f0wi3fbm204b1f0fcmywj")))) (build-system python-build-system) (propagated-inputs - `(("python-pathlib" ,python-pathlib) - ("python-pyyaml" ,python-pyyaml))) + `(("python-pyyaml" ,python-pyyaml))) (home-page "https://github.com/beetbox/confuse") - (synopsis "Painless YAML configuration.") + (synopsis "Painless YAML configuration") (description "Confuse is a configuration library for Python that uses YAML. It takes care of defaults, overrides, type checking, command-line integration, human-readable errors, and standard OS-specific locations.") @@ -25878,3 +26340,226 @@ result.") "This packages provides a docutils-compatibility bridge to CommonMark, enabling you to write CommonMark inside of Docutils & Sphinx projects.") (license license:expat))) + +(define-public python-pyhull + (package + (name "python-pyhull") + (version "2015.2.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyhull" version)) + (sha256 + (base32 + "091sph52c4yk1jlm5w8xidxpzbia9r7s42bnb23q4m4b56ihmzyj")))) + (build-system python-build-system) + (propagated-inputs + `(("python-numpy" ,python-numpy))) + (home-page "https://github.com/materialsvirtuallab/pyhull") + (synopsis "Python wrapper to Qhull") + (description + "This package provides a Python wrapper to @uref{http://www.qhull.org/, +Qhull} for the computation of the convex hull, Delaunay triangulation, and +Voronoi diagram.") + (license license:expat))) + +(define-public python-opcodes + ;; There are no tags in this repo, but 'opcodes/__init__.py' specifies a + ;; version number, which is what we use here. + (let ((commit "0f7c7d63f5e13ce5a89d9acc3934f1b6e247ec1f")) + (package + (name "python-opcodes") + (version "0.3.14") ;from 'opcodes/__init__.py' + (home-page "https://github.com/Maratyszcza/Opcodes") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fvxkr83gfl9f0ikd2wl2lzazzya2qz1hk4yn2a0pq742brbwpys")))) + (build-system python-build-system) + (synopsis "Database of processor instructions and opcodes") + (description + "This project documents instruction sets in a format convenient for +tools development. An instruction set is represented by three files: + +@itemize +@item an XML file that describes instructions; +@item an XSD file that describes the structure of the XML file; +@item a Python module that reads the XML file and represents it as a set of +Python objects; +@end itemize + +It currently provides descriptions for most user-mode x86, x86_64, and k1om +instructions up to AVX-512 and SHA (including 3dnow!+, XOP, FMA3, FMA4, TBM +and BMI2).") + (license license:bsd-2)))) + +(define-public python-peachpy + ;; There is no tag in this repo. + (let ((commit "906d578266dc7188bf61e4cdbc9f8ea7d69edec0") + (version "0.2.0") ;from 'peachpy/__init__.py' + (revision "1")) + (package + (name "python-peachpy") + (version (git-version version revision commit)) + (home-page "https://github.com/Maratyszcza/PeachPy") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yy62k3cjr6556nbp651w6v4hzl7kz4y75wy2dfqgndgbnixskx2")))) + (build-system python-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "setup.py" "nosetests"))))))) + (native-inputs + `(("python-nose" ,python-nose) + ("python-rednose" ,python-rednose))) + (propagated-inputs + `(("python-six" ,python-six) + ("python-opcodes" ,python-opcodes))) + (synopsis "Efficient assembly code generation in Python") + (description + "PeachPy is a Python framework for writing high-performance assembly kernels. +PeachPy aims to simplify writing optimized assembly kernels while preserving +all optimization opportunities of traditional assembly. + +PeachPy can generate ELF, MS-COFF, Mach-O object files, and assembly listings +for the Go language tool chain; it adapts to different calling conventions and +application binary interfaces (ABIs); it takes care of register allocation; it +supports x86_64 instructions up to AVX-512 and SHA.") + (license license:bsd-2)))) + +(define-public python-sgmllib3k + (let ((commit "799964676f35349ca2dd04503e34c2b3ad522c0d") + (revision "1")) + (package + (name "python-sgmllib3k") + (version + (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hsoft/sgmllib") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bzf6pv85dzfxfysm6zbj8m40hp0xzr9h8qlk4hp3nmy88rznqvr")))) + (build-system python-build-system) + (home-page "https://github.com/hsoft/sgmllib") + (synopsis "Python 3 port of sgmllib") + (description "This package is a port of sgmllib that is no longer part +of Python 3.") + (license license:bsd-3)))) + +(define-public python-cwcwidth + (package + (name "python-cwcwidth") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "cwcwidth" version)) + (sha256 + (base32 + "1azrphpkcyggg38xvkfb9dpc4xmmm90p02kf8dkqd4d6j5w96aj8")))) + (build-system python-build-system) + (native-inputs + `(("python-cython" ,python-cython) + ("python-pytest" ,python-pytest) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-toml" ,python-toml) + ("python-wheel" ,python-wheel))) + (home-page + "https://github.com/sebastinas/cwcwidth") + (synopsis "Python bindings for wc(s)width") + (description "This package provides bindings for wcwidth and wcswidth +functions defined in POSIX.1-2001 and POSIX.1-2008.") + (license license:expat))) + +(define-public python-pyan3 + (package + (name "python-pyan3") + (version "1.2.0") + (source + (origin + ;; Source tarball on PyPI lacks tests. + (method git-fetch) + (uri (git-reference + (url "https://github.com/Technologicat/pyan") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1367x25rcy2y8f0x9c2dbxl2qgdln3arr7ddyzybz2c28g6jrv5z")) + (patches (search-patches "python-pyan3-fix-positional-arguments.patch" + "python-pyan3-fix-absolute-path-bug.patch")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Extend PYTHONPATH so the built package will be found. + (setenv "GUIX_PYTHONPATH" + (string-append (getcwd) ":" (getenv "GUIX_PYTHONPATH"))) + (invoke "pytest"))))))) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov) + ("python-wheel" ,python-wheel))) + (propagated-inputs + `(("python-jinja2" ,python-jinja2))) + (home-page "https://github.com/Technologicat/pyan") + (synopsis "Offline call graph generator for Python 3") + (description "Pyan takes one or more Python source files, performs +a (rather superficial) static analysis, and constructs a directed graph of the +objects in the combined source, and how they define or use each other. The +graph can be output for rendering by GraphViz or yEd.") + (license license:gpl2))) + +(define-public date2name + (let ((commit "6c8f37277e8ec82aa50f90b8921422be30c4e798") + (revision "1")) + (package + (name "date2name") + (version (git-version "0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/novoid/date2name") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vq96b7n16d932nyfhnzwdwxff0zrqanidmwr4cxj2p67ad9y3w7")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((bindir (string-append (assoc-ref outputs "out") "/bin")) + (binary (string-append bindir "/date2name"))) + (mkdir-p bindir) + (copy-file "date2name/__init__.py" binary) + (chmod binary #o555))))))) + (synopsis "Handling time-stamps and date-stamps in file names") + (description "By default, date2name gets the modification time of matching +files and directories and adds a datestamp in standard ISO 8601+ format +YYYY-MM-DD at the beginning of the file or directory name.") + (home-page "https://github.com/novoid/date2name") + (license license:gpl3+)))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9e637a03d0..08d7c2f41e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com> ;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu> ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr> ;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2021 Leo Famulari <leo@famulari.name> @@ -311,8 +311,8 @@ (when (file-exists? dir) (delete-file-recursively dir)))) '("email/test" "ctypes/test" "unittest/test" "tkinter/test" - "sqlite3/test" "bsddb/test" "lib-tk/test" "lib2to3/tests" - "json/tests" "distutils/tests")))))))) + "sqlite3/test" "bsddb/test" "lib-tk/test" "json/tests" + "distutils/tests")))))))) (add-after 'remove-tests 'move-tk-inter (lambda* (#:key outputs #:allow-other-keys) ;; When Tkinter support is built move it to a separate output so @@ -748,15 +748,14 @@ ease from the desktop to a microcontroller or embedded system.") (define-public pypy3 (package (name "pypy3") - (version "7.3.1") + (version "7.3.5") (source (origin (method url-fetch) - (uri (string-append "https://bitbucket.org/pypy/pypy/downloads/" ; - "pypy3.6-v" version "-src.tar.bz2")) + (uri (string-append "https://downloads.python.org/pypy/" + "pypy3.7-v" version "-src.tar.bz2")) (sha256 (base32 - "10zsk8jby8j6visk5mzikpb1cidvz27qq4pfpa26jv53klic6b0c")) - (patches (search-patches "pypy3-7.3.1-fix-tests.patch")))) + "18lrdmpcczlbk3cfarkgwqdmilrybz56i1dafk8dkjlyk90gw86r")))) (build-system gnu-build-system) (native-inputs `(("python-2" ,python-2) @@ -778,10 +777,9 @@ ease from the desktop to a microcontroller or embedded system.") ("tcl" ,tcl) ("tk" ,tk) ("glibc" ,glibc) - ("bash-minimal" ,bash-minimal) ; Used as /bin/sh ("xz" ,xz))) ; liblzma (arguments - `(#:tests? #f ;FIXME: Disabled for now, there are many tests failing. + `(#:tests? #f ;FIXME: 43 out of 364 tests are failing #:modules ((ice-9 ftw) (ice-9 match) (guix build utils) (guix build gnu-build-system)) #:phases (modify-phases %standard-phases @@ -810,6 +808,12 @@ ease from the desktop to a microcontroller or embedded system.") (substitute* '("lib_pypy/_curses_build.py") ;; Find curses (("/usr/local") (assoc-ref inputs "ncurses"))) + (substitute* '("lib_pypy/_dbm.py") + ;; Use gdbm compat library, so we don’t need to pull + ;; in bdb. + (("ctypes.util.find_library\\('db'\\)") + (format #f "'~a/lib/libgdbm_compat.so'" + (assoc-ref inputs "gdbm")))) (substitute* '("lib_pypy/_sqlite3_build.py") ;; Always use search paths (("sys\\.platform\\.startswith\\('freebsd'\\)") "True") @@ -825,8 +829,7 @@ ease from the desktop to a microcontroller or embedded system.") (search-input-file inputs "/bin/sh"))) (substitute* '("lib-python/3/distutils/unixccompiler.py") ;; gcc-toolchain does not provide symlink cc -> gcc - (("\"cc\"") "\"gcc\"")) - #t)) + (("\"cc\"") "\"gcc\"")))) (add-after 'unpack 'set-source-file-times-to-1980 ;; copied from python package, required by zip testcase @@ -834,8 +837,7 @@ ease from the desktop to a microcontroller or embedded system.") (let ((circa-1980 (* 10 366 24 60 60))) (ftw "." (lambda (file stat flag) (utime file circa-1980 circa-1980) - #t)) - #t))) + #t))))) (replace 'build (lambda* (#:key inputs #:allow-other-keys) (with-directory-excursion "pypy/goal" @@ -845,7 +847,8 @@ ease from the desktop to a microcontroller or embedded system.") (string-append "--make-jobs=" (number->string (parallel-job-count))) "-Ojit" - "targetpypystandalone")) + "targetpypystandalone" + "--allworkingmodules")) ;; Build c modules and package everything, so tests work. (with-directory-excursion "pypy/tool/release" (invoke "python2" "package.py" @@ -864,44 +867,45 @@ ease from the desktop to a microcontroller or embedded system.") "pypy/test_all.py" "--pypy=pypy/tool/release/pypy-dist/bin/pypy3" "lib-python")) - (format #t "test suite not run~%")) - #t)) + (format #t "test suite not run~%")))) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) - (with-directory-excursion "pypy/tool/release" - ;; Delete test data. - (for-each - (lambda (x) - (delete-file-recursively (string-append - "pypy-dist/lib-python/3/" x))) - '("tkinter/test" - "test" - "sqlite3/test" - "lib2to3/tests" - "idlelib/idle_test" - "distutils/tests" - "ctypes/test" - "unittest/test")) - ;; Patch shebang referencing python2 - (substitute* '("pypy-dist/lib-python/3/cgi.py" - "pypy-dist/lib-python/3/encodings/rot_13.py") - (("#!.+/bin/python") - (string-append "#!" (assoc-ref outputs "out") "/bin/pypy3"))) - (with-fluids ((%default-port-encoding "ISO-8859-1")) - (substitute* '("pypy-dist/lib_pypy/_md5.py" - "pypy-dist/lib_pypy/_sha1.py") - (("#!.+/bin/python") - (string-append "#!" (assoc-ref outputs "out") "/bin/pypy3")))) - (copy-recursively "pypy-dist" (assoc-ref outputs "out"))) - #t))))) + (let* ((out (assoc-ref outputs "out")) + (bin-pypy3 (string-append out "/bin/pypy3")) + (shebang-match-python "#!.+/bin/python") + (shebang-pypy3 (string-append "#!" bin-pypy3)) + (dist-dir "pypy/tool/release/pypy-dist")) + (with-directory-excursion dist-dir + ;; Delete test data. + (for-each + (lambda (x) + (delete-file-recursively (string-append + "lib-python/3/" x))) + '("tkinter/test" + "test" + "sqlite3/test" + "lib2to3/tests" + "idlelib/idle_test" + "distutils/tests" + "ctypes/test" + "unittest/test")) + ;; Patch shebang referencing python2 + (substitute* '("lib-python/3/cgi.py" + "lib-python/3/encodings/rot_13.py") + ((shebang-match-python) shebang-pypy3)) + (with-fluids ((%default-port-encoding "ISO-8859-1")) + (substitute* '("lib_pypy/_md5.py" + "lib_pypy/_sha1.py") + ((shebang-match-python) shebang-pypy3)))) + (copy-recursively dist-dir out))))))) (home-page "https://www.pypy.org/") (synopsis "Python implementation with just-in-time compilation") (description "PyPy is a faster, alternative implementation of the Python programming language employing a just-in-time compiler. It supports most Python code natively, including C extensions.") - (license (list license:expat ; pypy itself; _pytest/ - license:psfl ; python standard library in lib-python/ - license:asl2.0 ; dotviewer/font/ and some of lib-python/ + (license (list license:expat ; pypy itself; _pytest/ + license:psfl ; python standard library in lib-python/ + license:asl2.0 ; dotviewer/font/ and some of lib-python/ license:gpl3+ ; ./rpython/rlib/rvmprof/src/shared/libbacktrace/dwarf2.* license:bsd-3 ; lib_pypy/cffi/_pycparser/ply/ (license:non-copyleft diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index f80ea336d8..5ce4220cb0 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2021 Nicolò Balzarotti <nicolo@nixo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -48,6 +49,7 @@ #:use-module (guix build-system trivial) #:use-module (guix build-system python) #:use-module (guix build-system qt) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix deprecation) #:use-module (guix utils) @@ -220,11 +222,11 @@ window managers, that don't provide Qt integration by themselves.") (arguments `(#:tests? #f ; No target #:configure-flags - (list - (string-append "-DCMAKE_CXX_FLAGS=-I" - (assoc-ref %build-inputs "qtbase") - "/include/qt5/QtXkbCommonSupport/" - ,(package-version qtbase-5))))) + ,#~(list + (string-append "-DCMAKE_CXX_FLAGS=-I" + #$(this-package-input "qtbase") + "/include/qt5/QtXkbCommonSupport/" + #$(package-version qtbase-5))))) (native-inputs `(("cmake-shared" ,cmake-shared) ("extra-cmake-modules" ,extra-cmake-modules) @@ -1938,7 +1940,9 @@ using the Enchant spell-checking library.") (invoke "qmake" "QT_BUILD_PARTS = libs tools" "--" "--webengine-printing-and-pdf=no" "--webengine-ffmpeg=system" - "--webengine-icu=system" + ;; FIXME: Building qtwebengine 5.12.2 with + ;; icu4c >= 68 fails. + ;;"--webengine-icu=system" "--webengine-pepper-plugins=no" "-webengine-proprietary-codecs"))))) ;; Tests are disabled due to "Could not find QtWebEngineProcess error" @@ -1958,6 +1962,61 @@ using the Chromium browser project. The Chromium source code has Google service and binaries removed, and adds modular support for using system libraries.") (license license:lgpl2.1+))) +(define-public single-application-qt5 + ;; Change in function signature, nheko requires at least this commit + (let ((commit "dc8042b5db58f36e06ba54f16f38b16c5eea9053")) + (package + (name "single-application-qt5") + (version (string-append "3.2.0-" (string-take commit 7))) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/itay-grudev/SingleApplication") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "163aa2x2qb0h8w26si5ql833ilj427jjbdwlz1p2p8iaq6dh0vq1")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no check target + ;; Projects can decide how to build this library. You might need to + ;; override this flag (QApplication, QGuiApplication or + ;; QCoreApplication). + #:configure-flags '("-DQAPPLICATION_CLASS=QApplication") + #:phases + (modify-phases %standard-phases + ;; No install target, install things manually + (replace 'install + (lambda* (#:key inputs outputs source #:allow-other-keys) + (let* ((qt (assoc-ref inputs "qtbase")) + (qt-version ,(version-major (package-version qtbase-5))) + (out (assoc-ref outputs "out"))) + (install-file + "libSingleApplication.a" (string-append out "/lib")) + (for-each + (lambda (file) + (install-file + (string-append source "/" file) + (string-append out "/include"))) + '("SingleApplication" + "singleapplication.h" "singleapplication_p.h")) + #t)))))) + (inputs + `(("qtbase" ,qtbase-5))) + (home-page "https://github.com/itay-grudev/SingleApplication") + (synopsis "Replacement of QtSingleApplication for Qt5 and Qt6") + (description + "SingleApplication is a replacement of the QtSingleApplication for Qt5 and Qt6. + +It keeps the Primary Instance of your Application and kills each subsequent +instances. It can (if enabled) spawn secondary (non-related to the primary) +instances and can send data to the primary instance from secondary +instances.") + (license license:expat)))) + (define-public python-sip (package (name "python-sip") @@ -2624,7 +2683,11 @@ different kinds of sliders, and much more.") (sha256 (base32 "1rm9sjkabxna67dl7myx9d9vpdyfxfdhrk9w7b94srkkjbd2d8cw")) - (patches (search-patches "qtwebkit-pbutils-include.patch")))) + (patches (search-patches "qtwebkit-pbutils-include.patch" + "qtwebkit-fix-building-with-bison-3.7.patch" + "qtwebkit-fix-building-with-glib-2.68.patch" + "qtwebkit-fix-building-with-icu-68.patch" + "qtwebkit-fix-building-with-python-3.9.patch")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) diff --git a/gnu/packages/racket.scm b/gnu/packages/racket.scm index 2d606071fe..661443e0c3 100644 --- a/gnu/packages/racket.scm +++ b/gnu/packages/racket.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2018, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> @@ -31,7 +31,9 @@ #:use-module (srfi srfi-1) #:use-module (ice-9 match) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bash) + #:use-module (gnu packages chez) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages fontutils) @@ -40,123 +42,208 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libedit) + #:use-module (gnu packages libffi) #:use-module (gnu packages multiprecision) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages xorg)) +;; Commentary: +;; +;; Here's how bootstrapping minimal Racket works: +;; +;; - Racket BC [CGC] can be built with only a C compiler (except for +;; one caveat discussed below). +;; - Racket BC [3M] needs an existing Racket to run "xform", +;; which transforms its own C source code to add additional annotations +;; for the precise garbage collector. +;; - Racket CS needs (bootfiles for) Racket's fork of Chez Scheme. +;; It also needs an existing Racket to compile Racket-implemented +;; parts of the runtime system to R6RS libraries. +;; - Chez Scheme also needs bootfiles for itself, but Racket can simulate +;; enough of Chez Scheme to load Racket's fork of the Chez Scheme compiler +;; purely from source into Racket and apply the compiler to itself, +;; producing the needed bootfiles (albeit very slowly). +;; Any variant of Racket since version 7.1 can run the simulation. +;; +;; So, we build CGC to build 3M to build bootfiles and CS. +;; +;; One remaining bootstrapping limitation is that Racket's reader, module +;; system, and macro expander are implemented in Racket. For Racket CS, +;; they are compiled to R6RS libraries as discussed above. This note from the +;; README file applies to all such subsystems: +;; +;; The Racket version must be practically the same as the current Racket +;; verson, although it can be the Racket BC implementation (instead of +;; the Racket CS implementation). +;; +;; Unlike Chez Scheme boot files, the files generated in "schemified" +;; are human-readable and -editable Scheme code. That provides a way +;; out of bootstrapping black holes, even without BC. +;; +;; However, other Racket subsystems implemented in Racket for Racket CS +;; use older C implementations for Racket BC, whereas the reader, expander, +;; and module system were completely replaced with the Racket implementation +;; as of Racket 7.0. +;; +;; For Racket BC, the compiled "linklet" s-expressions (primitive modules) +;; are embeded in C as a static string constant. Eventually, they are further +;; compiled by the C-implemented Racket BC bytecode and JIT compilers. +;; (On platforms where Racket BC's JIT is not supported, yet another compiler +;; instead compiles the linklets to C code, but this is not a bootstrapping +;; issue.) +;; +;; Code: -(define %installer-mirrors - ;; Source: - ;; https://github.com/racket/racket-lang-org/blob/master/download/data.rkt#L58 - ;; Matthew Flatt says: "note that many are commented out" - ;; INVARIANT: End with a trailing "/"! - '("https://mirror.racket-lang.org/installers/" - "https://www.cs.utah.edu/plt/installers/" - "https://plt.cs.northwestern.edu/racket-mirror/" - "https://mirror.csclub.uwaterloo.ca/racket/racket-installers/" - ;; Universität Tübingen is using a self-signed HTTPS certificate: - "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" - "https://racket.infogroep.be/" - )) +(define cfg-flag:sh-for-rktio + `(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" + (assoc-ref %build-inputs "sh") + "/bin/sh")) +(define cfg-flag:enable-lt + `(string-append "--enable-lt=" + (assoc-ref %build-inputs "libtool") + "/bin/libtool")) +(define cfg-flag:enable-racket + `(let ((racket (assoc-ref %build-inputs "racket"))) + (string-append "--enable-racket=" + racket + "/bin/racket"))) + +(define unpack-nanopass+stex + ;; Copied from chez-scheme. + ;; TODO: Eventually, we should refactor Chez Scheme + ;; enough to share more directly, so that we can make + ;; Racket's version of Chez avalable as a Guix package, + ;; e.g. for architectures not supported upstream. + ;; For now, we let Racket drive the Chez build process + ;; other than this step. + `(for-each (lambda (dep) + (define src + (assoc-ref (or native-inputs inputs) dep)) + (copy-recursively src dep + #:keep-mtime? #t)) + '("nanopass" "stex"))) (define-public racket-minimal (package (name "racket-minimal") - (version "8.1") ; note: remember to also update racket! + (version "8.2") ; note: remember to also update racket! (source (origin - (method url-fetch) - (uri (map (lambda (base) - (string-append base version "/racket-minimal-src.tgz")) - %installer-mirrors)) - (sha256 "04zzqybpxss50n1jrwwq98539gw0y0ygpw9civl2sq3s4ww7m8l3") - (patches (search-patches - "racket-sh-via-rktio.patch")))) - (home-page "https://racket-lang.org") - (synopsis "Racket without bundled packages such as DrRacket") + (method git-fetch) + (uri (git-reference + (url "https://github.com/racket/racket") + (commit (string-append "v" version)))) + (sha256 + "061bhiyjlvazph0dj9i3i3x2q5z53rp8h5cjwg3frjimkr45lncn") + (file-name (git-file-name name version)) + (patches (search-patches "racket-minimal-sh-via-rktio.patch" + ;; Remove the following in version 8.3: + "racket-minimal-backport-1629887.patch")) + (modules '((guix build utils))) + (snippet + (with-imported-modules '((guix build utils)) + #~(begin + ;; Unbundle Chez submodules. + (with-directory-excursion "racket/src/ChezScheme" + ;; Remove bundled libraries (copied from 'chez-scheme'). + (for-each delete-file-recursively + '("stex" + "nanopass" + "lz4" + "zlib"))) + ;; Unbundle libffi. + (delete-file-recursively "racket/src/bc/foreign/libffi")))))) (inputs - `(("openssl" ,openssl) + `(;; common to all racket-minimal variants: + ("openssl" ,openssl) ("sqlite" ,sqlite) ("sh" ,bash-minimal) + ;; only for CS ("zlib" ,zlib) ("zlib:static" ,zlib "static") ("lz4" ,lz4) ("lz4:static" ,lz4 "static"))) + (native-inputs + `(("bootfiles" ,racket-bootstrap-chez-bootfiles) + ,@(package-native-inputs racket-bootstrap-chez-bootfiles))) (build-system gnu-build-system) (arguments `(#:configure-flags - `(,(string-append "CPPFLAGS=-DGUIX_RKTIO_PATCH_BIN_SH=" - (assoc-ref %build-inputs "sh") - "/bin/sh") - "--enable-libz" - "--enable-liblz4") - #:modules - ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-1)) + (list "--enable-csonly" + "--enable-libz" + "--enable-liblz4" + ,cfg-flag:enable-racket + ,cfg-flag:sh-for-rktio) + #:out-of-source? #true + ;; Tests are in packages like racket-test-core and + ;; main-distribution-test that aren't part of the main distribution. + #:tests? #f + #:modules ((ice-9 match) + (guix build gnu-build-system) + (guix build utils)) #:phases (modify-phases %standard-phases - (add-before 'configure 'pre-configure-minimal + (add-after 'unpack 'unpack-nanopass+stex + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (with-directory-excursion "racket/src/ChezScheme" + ,unpack-nanopass+stex) + #t)) + (add-after 'unpack-nanopass+stex 'unpack-bootfiles (lambda* (#:key inputs #:allow-other-keys) - (chdir "src") + (with-directory-excursion "racket/src/ChezScheme" + (copy-recursively + (string-append (assoc-ref inputs "bootfiles") "/boot") + "boot")) #t)) - (add-after 'build 'patch-config.rktd-lib-search-dirs - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; We do this between the `build` and `install` phases - ;; so that we have racket to read and write the hash table, - ;; but it comes before `raco setup`, when foreign libraries - ;; are needed to build the documentation. - (define out (assoc-ref outputs "out")) - (apply invoke - "./cs/c/racketcs" - "-e" - ,(format #f - "~s" - '(let* ((args - (vector->list - (current-command-line-arguments))) - (file (car args)) - (extra-lib-search-dirs (cdr args))) - (write-to-file - (hash-update - (file->value file) - 'lib-search-dirs - (lambda (dirs) - (append dirs extra-lib-search-dirs)) - null) - #:exists 'truncate/replace - file))) - "--" - "../etc/config.rktd" - (filter-map (lambda (lib) - (cond - ((assoc-ref inputs lib) - => (lambda (pth) - (string-append pth "/lib"))) - (else - #f))) - '("cairo" - "fontconfig" - "glib" - "glu" - "gmp" - "gtk+" - "libjpeg" - "libpng" - "libx11" - "mesa" - "mpfr" - "openssl" - "pango" - "sqlite" - "unixodbc" - "libedit"))) - #t))) - ;; Tests are in packages like racket-test-core and - ;; main-distribution-test that aren't part of the main distribution. - #:tests? #f)) + (add-before 'configure 'initialize-config.rktd + (lambda* (#:key inputs #:allow-other-keys) + (define (write-racket-hash alist) + ;; inside must use dotted pair notation + (display "#hash(") + (for-each (match-lambda + ((k . v) + (format #t "(~s . ~s)" k v))) + alist) + (display ")\n")) + (mkdir-p "racket/etc") + (with-output-to-file "racket/etc/config.rktd" + (lambda () + (write-racket-hash + `((lib-search-dirs + . (#f ,@(map (lambda (lib) + (string-append (assoc-ref inputs lib) + "/lib")) + '("openssl" + "sqlite")))) + (build-stamp . "") + (catalogs + . (,(string-append + "https://download.racket-lang.org/releases/" + ,version + "/catalog/") + #f)))))) + #t)) + (add-before 'configure 'change-directory + (lambda _ + (chdir "racket/src") + #t)) + (add-after 'install 'remove-pkgs-directory + ;; If the configured pkgs-dir exists, "pkgs.rktd" does not + ;; exist, and a lock file does not exist, commands like + ;; `raco pkg show` will try to create a lock file and fail + ;; due to the read-only store. + ;; Arguably this may be a bug in `pkg/private/lock`: + ;; see <https://github.com/racket/racket/issues/3851>. + ;; As a workaround, remove the directory. + (lambda* (#:key outputs #:allow-other-keys) + ;; rmdir because we want an error if it isn't empty + (rmdir (string-append (assoc-ref outputs "out") + "/share/racket/pkgs")) + #t))))) + (home-page "https://racket-lang.org") + (synopsis "Racket without bundled packages such as DrRacket") (description "Racket is a general-purpose programming language in the Scheme family, with a large set of libraries and a compiler based on Chez Scheme. Racket is @@ -167,7 +254,164 @@ The ``minimal Racket'' distribution includes just enough of Racket for you to use @command{raco pkg} to install more. Bundled packages, such as the DrRacket IDE, are not included.") ;; https://download.racket-lang.org/license.html - (license (list lgpl3+ asl2.0 expat)))) + ;; The LGPL components are only used by Racket BC. + (license (list asl2.0 expat)))) + + +(define-public racket-minimal-bc-3m + (hidden-package + (package + (inherit racket-minimal) + (name "racket-minimal-bc-3m") + (inputs + `(("libffi" ,libffi) ;; <- only for BC variants + ,@(fold alist-delete + (package-inputs racket-minimal) + '("zlib" "zlib:static" "lz4" "lz4:static")))) + (native-inputs + `(("libtool" ,libtool) + ("racket" ,(if (%current-target-system) + racket-minimal + racket-minimal-bc-cgc)))) + (arguments + (substitute-keyword-arguments (package-arguments racket-minimal) + ((#:configure-flags _ '()) + `(list "--enable-bconly" + ,cfg-flag:enable-racket + ,cfg-flag:enable-lt + ,cfg-flag:sh-for-rktio)) + ((#:phases usual-phases) + `(modify-phases ,usual-phases + (delete 'unpack-nanopass+stex) + (delete 'unpack-bootfiles))))) + (synopsis "Minimal Racket with the BC [3M] runtime system") + (description "The Racket BC (``before Chez'' or ``bytecode'') +implementation was the default before Racket 8.0. It uses a compiler written +in C targeting architecture-independent bytecode, plus a JIT compiler on most +platforms. Racket BC has a different C API and supports a slightly different +set of architectures than the current default runtime system, Racket CS (based +on ``Chez Scheme''). + +This package is the normal implementation of Racket BC with a precise garbage +collector, 3M (``Moving Memory Manager'').") + ;; https://download.racket-lang.org/license.html + ;; The LGPL components are only used by Racket BC. + (license (list lgpl3+ asl2.0 expat))))) + + +(define-public racket-minimal-bc-cgc + (package + (inherit racket-minimal-bc-3m) + (name "racket-minimal-bc-cgc") + (native-inputs + (alist-delete "racket" (package-native-inputs racket-minimal-bc-3m))) + (arguments + (substitute-keyword-arguments (package-arguments racket-minimal-bc-3m) + ((#:configure-flags _ '()) + `(list "--enable-cgcdefault" + ,cfg-flag:enable-lt + ,cfg-flag:sh-for-rktio)))) + (synopsis "Old Racket implementation used for bootstrapping") + (description "This variant of the Racket BC (``before Chez'' or +``bytecode'') implementation is not recommended for general use. It uses +CGC (a ``Conservative Garbage Collector''), which was succeeded as default in +PLT Scheme version 370 (which translates to 3.7 in the current versioning +scheme) by the 3M variant, which in turn was succeeded in version 8.0 by the +Racket CS implementation. + +Racket BC [CGC] is primarily used for bootstrapping Racket BC [3M]. It may +also be used for embedding applications without the annotations needed in C +code to use the 3M garbage collector."))) + + +(define-public racket-bootstrap-chez-bootfiles + (hidden-package + (package + (inherit racket-minimal) + (name "racket-bootstrap-chez-bootfiles") + (inputs `()) + (native-inputs + `(("racket" ,(if (%current-target-system) + racket-minimal + racket-minimal-bc-3m)) + ("stex" ,@(assoc-ref (package-native-inputs chez-scheme) "stex")) + ("nanopass" ,@(assoc-ref (package-native-inputs chez-scheme) + "nanopass")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'unpack-nanopass+stex + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (with-directory-excursion "racket/src/ChezScheme" + ,unpack-nanopass+stex) + #t)) + (delete 'configure) + (delete 'patch-generated-file-shebangs) + (replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion "racket/src/ChezScheme" + (invoke (string-append (assoc-ref inputs "racket") + "/bin/racket") + "rktboot/main.rkt" + "--dest" (assoc-ref outputs "out"))) + #t)) + (delete 'check) + (delete 'install)))) + (synopsis "Chez Scheme bootfiles bootstrapped by Racket") + (description "Chez Scheme is a self-hosting compiler: building it +requires ``bootfiles'' containing the Scheme-implemented portions compiled for +the current platform. (Chez can then cross-compile bootfiles for all other +supported platforms.) + +The Racket package @code{cs-bootstrap} (part of the main Racket Git +repository) implements enough of a Chez Scheme simulation to load the Chez +Scheme compiler purely from source into Racket and apply the compiler to +itself, thus bootstrapping Chez Scheme. Bootstrapping takes about 10 times as +long as using an existing Chez Scheme, but @code{cs-bootstrap} supports Racket +7.1 and later, including the Racket BC variant. + +Note that the generated bootfiles are specific to Racket's fork of Chez +Scheme, and @code{cs-bootstrap} does not currently support building upstream +Chez Scheme.") + (license (list asl2.0))))) + + +(define %installer-mirrors + ;; Source: + ;; https://github.com/racket/racket-lang-org/blob/master/download/data.rkt#L58 + ;; Matthew Flatt says: "note that many are commented out" + ;; INVARIANT: End with a trailing "/"! + '("https://mirror.racket-lang.org/installers/" + "https://www.cs.utah.edu/plt/installers/" + "https://plt.cs.northwestern.edu/racket-mirror/" + "https://mirror.csclub.uwaterloo.ca/racket/racket-installers/" + ;; Universität Tübingen is using a self-signed HTTPS certificate: + "http://mirror.informatik.uni-tuebingen.de/mirror/racket/" + "https://racket.infogroep.be/" + )) + +(define %main-repo-main-distribution-pkgs + ;; These are the packages developed in the main Racket Git repository + ;; that are part of the main distribution. + '("at-exp-lib" + "base" + "compiler-lib" + ;; NOT "compiler-test" + "compiler" + "net-doc" + "net-lib" + ;; NOT "net-test" + "net" + ;; NOT "plt-services" + ;; NOT "racket-benchmarks" + ;; NOT "racket-build-guide" + "racket-doc" + "racket-index" + "racket-lib" + ;; NOT "racket-test-core" + ;; NOT "racket-test-extra" + ;; NOT "racket-test" + "zo-lib")) (define-public racket @@ -177,16 +421,32 @@ DrRacket IDE, are not included.") (version (package-version racket-minimal)) ; needed for origin uri to work (source (origin - (inherit (package-source racket-minimal)) + (method url-fetch) (uri (map (lambda (base) (string-append base version "/racket-src.tgz")) %installer-mirrors)) (sha256 (base32 - "0xdqwrwm604bbnr97h75dps2ixxz2svlw0fn0f674bn04dcfd60f")))) + "10sgzsraxzxp1k2y2wvz8rcjwvhbcd6k72l9lyqr34yazlwfdz26")) + (snippet + #~(begin + (use-modules (guix build utils) + (ice-9 match) + (ice-9 regex)) + ;; unbundle minimal Racket + (for-each delete-file-recursively + '("collects" + "doc" + "etc" + "README" + "src")) + ;; unbundle package sources included elsewhere + (with-directory-excursion "share/pkgs" + (for-each delete-file-recursively + '#+%main-repo-main-distribution-pkgs)) + #t)))) (inputs - `(;; sqlite and libraries for `racket/draw' are needed to build the doc. - ("cairo" ,cairo) + `(("cairo" ,cairo) ("fontconfig" ,fontconfig) ("glib" ,glib) ("glu" ,glu) @@ -199,8 +459,77 @@ DrRacket IDE, are not included.") ("mpfr" ,mpfr) ("pango" ,pango) ("unixodbc" ,unixodbc) - ("libedit" ,libedit) - ,@(package-inputs racket-minimal))) + ("libedit" ,libedit))) + (native-inputs + `(("racket" ,racket-minimal) + ("extend-layer" ,extend-layer) + ("main-repo" ,(package-source racket-minimal)))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'unpack-packages + (let ((unpack (assoc-ref %standard-phases 'unpack))) + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let* ((racket (assoc-ref (or native-inputs inputs) "racket")) + (prefix (assoc-ref outputs "out")) + (pkgs-dir (string-append prefix "/share/racket/pkgs"))) + (mkdir-p pkgs-dir) + (copy-recursively + "share/links.rktd" + (string-append prefix "/share/racket/links.rktd")) + (copy-recursively "share/pkgs" pkgs-dir) + ;; NOTE: unpack changes the working directory + (unpack #:source (assoc-ref (or native-inputs inputs) + "main-repo")) + (for-each (lambda (pkg) + (define dest (string-append pkgs-dir "/" pkg)) + (mkdir-p dest) + (copy-recursively (string-append "pkgs/" pkg) + dest)) + ',%main-repo-main-distribution-pkgs) + #t)))) + (replace 'configure + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (let ((racket (assoc-ref (or native-inputs inputs) "racket")) + (prefix (assoc-ref outputs "out"))) + (apply invoke + (string-append racket "/bin/racket") + (assoc-ref inputs "extend-layer") + racket + prefix + (map + (lambda (lib) + (string-append (assoc-ref inputs lib) "/lib")) + '("cairo" + "fontconfig" + "glib" + "glu" + "gmp" + "gtk+" + "libjpeg" + "libpng" + "libx11" + "mesa" + "mpfr" + "pango" + "unixodbc" + "libedit"))) + #t))) + (replace 'build + (lambda* (#:key native-inputs inputs outputs #:allow-other-keys) + (invoke (string-append (assoc-ref (or native-inputs inputs) + "racket") + "/bin/racket") + "--config" + (string-append (assoc-ref outputs "out") + "/etc/racket") + "-l" + "raco" + "setup") + #t)) + (delete 'install)) + ;; we still don't have these: + #:tests? #f)) (synopsis "A programmable programming language in the Scheme family") (description "Racket is a general-purpose programming language in the Scheme family, @@ -211,3 +540,83 @@ languages to complete language implementations. The main Racket distribution comes with many bundled packages, including the DrRacket IDE, libraries for GUI and web programming, and implementations of languages such as Typed Racket, R5RS and R6RS Scheme, Algol 60, and Datalog."))) + + +(define extend-layer + (scheme-file + "extend-layer.rkt" + `(module + extend-layer racket/base + (require racket/cmdline + racket/match + racket/file + racket/list + racket/pretty) + (define config-file-pth + "etc/racket/config.rktd") + (define (build-path-string . args) + (path->string (apply build-path args))) + (define rx:racket + ;; Guile's reader doesn't support #rx"racket" + (regexp "racket")) + (command-line + #:args (parent-layer prefix . lib-dir*) + (let* ([config + (for/fold + ([config (file->value (build-path parent-layer + config-file-pth))]) + ([spec (in-list + '((lib-dir lib-search-dirs "lib/racket") + (share-dir share-search-dirs "share/racket") + (links-file + links-search-files + "share/racket/links.rktd") + (pkgs-dir pkgs-search-dirs "share/racket/pkgs") + (bin-dir bin-search-dirs "bin") + (man-dir man-search-dirs "share/man") + (doc-dir doc-search-dirs "share/doc/racket") + (include-dir + include-search-dirs + "include/racket")))]) + (match-define (list main-key search-key pth) spec) + (hash-set* + config + main-key + (build-path-string prefix pth) + search-key + (list* #f + (hash-ref config + main-key + (build-path-string parent-layer pth)) + (filter values (hash-ref config search-key null)))))] + [config + (hash-set config + 'apps-dir + (build-path-string prefix "share/applications"))] + [config + ;; place new foreign lib-search-dirs before old + ;; foreign dirs, but after Racket layers + (let-values + ([(rkt extra) + (partition (lambda (pth) + (or (not pth) + (regexp-match? rx:racket pth))) + (hash-ref config 'lib-search-dirs))]) + (hash-set config + 'lib-search-dirs + (append rkt + lib-dir* + extra)))] + [bin-dir + (hash-ref config 'bin-dir)] + [config + (hash-set* config + 'config-tethered-console-bin-dir bin-dir + 'config-tethered-gui-bin-dir bin-dir)] + [new-config-pth + (build-path prefix config-file-pth)]) + (make-parent-directory* new-config-pth) + (call-with-output-file* + new-config-pth + (lambda (out) + (pretty-write config out)))))))) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index d8f4161eb7..e9e8e08aa5 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -26,6 +26,7 @@ (define-module (gnu packages radio) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -72,7 +73,9 @@ #:use-module (gnu packages networking) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-science) #:use-module (gnu packages python-web) @@ -531,7 +534,7 @@ used by RDS Spy, and audio files containing @dfn{multiplex} signals (MPX).") ("python-numpy" ,python-numpy) ("python-pycairo" ,python-pycairo) ("python-pygobject" ,python-pygobject) - ("python-pyqt" ,python-pyqt) + ("python-pyqt" ,python-pyqt-without-qtwebkit) ("python-pyyaml" ,python-pyyaml) ("qtbase" ,qtbase-5) ("qwt" ,qwt) @@ -872,7 +875,7 @@ using GNU Radio and the Qt GUI toolkit.") (define-public fldigi (package (name "fldigi") - (version "4.1.19") + (version "4.1.20") (source (origin (method git-fetch) @@ -881,7 +884,7 @@ using GNU Radio and the Qt GUI toolkit.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "08rmc7vb2irb67g3sry7md653n9ac0x0b44az729lj6sljqvw3bv")))) + (base32 "0y43241s3p8qzn7x6x28v5v2bf934riznj14bb7m6k6vgd849qzl")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1684,7 +1687,8 @@ intended for people who want to learn receiving and sending morse code.") ("osm-gps-map" ,osm-gps-map) ("pulseaudio" ,pulseaudio))) (arguments - `(#:tests? #f ; No test suite + `(#:configure-flags '("-DCMAKE_C_FLAGS=-fcommon") + #:tests? #f ; No test suite #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-paths @@ -1782,16 +1786,16 @@ Compatible hardware/software: (string-append "documentation.path = " (assoc-ref outputs "out") "/share/man/man1")) - (("/usr/include/pulse/") - (search-input-directory inputs "include/pulse")) + (("/usr/include/pulse") + (search-input-directory inputs "/include/pulse")) (("/usr/include/sndfile\\.h") (search-input-file inputs "/include/sndfile.h")) - (("/usr/include/opus/") - (search-input-directory inputs "include/opus")) - (("/usr/include/speex/") - (search-input-directory inputs "include/speex")) - (("/usr/include/qwt/") - (search-input-directory inputs "include/qwt")) + (("/usr/include/opus") + (search-input-directory inputs "/include/opus")) + (("/usr/include/speex") + (search-input-directory inputs "/include/speex")) + (("/usr/include/qwt") + (search-input-directory inputs "/include/qwt")) (("\\$\\$OUT_PWD/include/neaacdec\\.h") (search-input-file inputs "/include/neaacdec.h"))))) (replace 'configure @@ -2080,20 +2084,20 @@ voice formats.") (arguments `(#:tests? #f ; No test suite. #:configure-flags - (list (string-append "-DAPT_DIR=" - (assoc-ref %build-inputs "aptdec")) - (string-append "-DDAB_DIR=" - (assoc-ref %build-inputs "libdab")) - (string-append "-DDSDCC_DIR=" - (assoc-ref %build-inputs "dsdcc")) - (string-append "-DMBE_DIR=" - (assoc-ref %build-inputs "mbelib")) - (string-append "-DSERIALDV_DIR=" - (assoc-ref %build-inputs "serialdv")) - (string-append "-DSGP4_DIR=" - (assoc-ref %build-inputs "sgp4")) - (string-append "-DSOAPYSDR_DIR=" - (assoc-ref %build-inputs "soapysdr"))))) + ,#~(list (string-append "-DAPT_DIR=" + #$(this-package-input "aptdec")) + (string-append "-DDAB_DIR=" + #$(this-package-input "libdab")) + (string-append "-DDSDCC_DIR=" + #$(this-package-input "dsdcc")) + (string-append "-DMBE_DIR=" + #$(this-package-input "mbelib")) + (string-append "-DSERIALDV_DIR=" + #$(this-package-input "serialdv")) + (string-append "-DSGP4_DIR=" + #$(this-package-input "sgp4")) + (string-append "-DSOAPYSDR_DIR=" + #$(this-package-input "soapysdr"))))) (home-page "https://github.com/f4exb/sdrangel/wiki") (synopsis "Software defined radio") (description @@ -2278,3 +2282,74 @@ To install the rfcat udev rules, you must extend @code{udev-service-type} with this package. E.g.: @code{(udev-rules-service 'rfcat rfcat)}") (license (list license:bsd-3 license:gpl2))))) + +(define-public gnss-sdr + (package + (name "gnss-sdr") + (version "0.0.14") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gnss-sdr/gnss-sdr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1kjh9bnf6h9q71bnn8nrwlc80wcnkib97ylzvb102acii4p0fm08")))) + (build-system cmake-build-system) + (native-inputs + `(("gfortran" ,gfortran) + ("googletest-source" ,(package-source googletest)) + ("orc" ,orc) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("python-mako" ,python-mako))) + (inputs + `(("armadillo" ,armadillo) + ("boost" ,boost) + ("gflags" ,gflags) + ("glog" ,glog) + ("gmp" ,gmp) + ("gnuradio" ,gnuradio) + ("gr-osmosdr" ,gr-osmosdr) + ("lapack" ,lapack) + ("libpcap" ,libpcap) + ("log4cpp" ,log4cpp) + ("matio" ,matio) + ("openblas" ,openblas) + ("openssl" ,openssl) + ("protobuf" ,protobuf) + ("pugixml" ,pugixml) + ("volk" ,volk))) + (arguments + `(#:configure-flags + (list "-DENABLE_GENERIC_ARCH=ON" + "-DENABLE_OSMOSDR=ON" + (string-append "-DGFLAGS_ROOT=" + (assoc-ref %build-inputs "gflags")) + (string-append "-DGLOG_ROOT=" + (assoc-ref %build-inputs "glog")) + (string-append "-DGTEST_DIR=" + (assoc-ref %build-inputs "googletest-source"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + (lambda _ + ;; Some tests fail to compile when the FILESYSTEM package is + ;; available, so we disable it (and the tests will use Boost + ;; Filesystem instead). + (substitute* "CMakeLists.txt" + (("find_package\\(FILESYSTEM COMPONENTS Final Experimental\\)") + "")))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) + (home-page "https://gnss-sdr.org/") + (synopsis "Global Navigation Satellite Systems software-defined receiver") + (description + "This program is a software-defined receiver which is able to process +(that is, to perform detection, synchronization, demodulation and decoding of +the navigation message, computation of observables and, finally, computation of +position fixes) the signals of the BeiDou, Galileo, GLONASS and GPS Global +Navigation Satellite System.") + (license license:gpl3+))) diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm index 30523deefe..adfbe7de06 100644 --- a/gnu/packages/rdesktop.scm +++ b/gnu/packages/rdesktop.scm @@ -108,7 +108,6 @@ to remotely control a user's Windows desktop.") ("libjpeg" ,libjpeg-turbo) ("libusb" ,libusb) ("libx11" ,libx11) - ("libxkbcommon" ,libxkbcommon) ("libxkbfile" ,libxkbfile) ("libxcursor" ,libxcursor) ("libxext" ,libxext) @@ -118,10 +117,12 @@ to remotely control a user's Windows desktop.") ("libxrender" ,libxrender) ("libxinerama" ,libxinerama) ("libxshmfence" ,libxshmfence) - ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) - ("wayland" ,wayland) ("zlib" ,zlib))) + (propagated-inputs + `(("libxkbcommon" ,libxkbcommon) + ("openssl" ,openssl) + ("wayland" ,wayland))) (arguments `(#:build-type "RELEASE" #:configure-flags diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 0baed8fc17..fb84d8053d 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -443,3 +443,30 @@ parser and serializer.") RDF data that can also be queried for Triple Patterns. This package provides a C++ library as well as various command-line tools to to work with HDT.") (license license:lgpl2.1+))) + +(define-public python-sparqlwrapper + (package + (name "python-sparqlwrapper") + (version "1.8.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RDFLib/sparqlwrapper.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ia5h06zf6kpw6gdi7f80pzx10m79brj08zrbffb5wn9hzz8x528")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; The test suite simply queries external HTTP endpoints. + (native-inputs + `(("python-nose" ,python-nose))) + (propagated-inputs + `(("python-rdflib" ,python-rdflib))) + (home-page "https://rdflib.dev/sparqlwrapper/") + (synopsis "SPARQL Endpoint interface to Python") + (description "Python wrapper around a SPARQL service. It helps in creating +the query URI and, possibly, convert the result into a more manageable +format.") + (license license:w3c))) diff --git a/gnu/packages/re2c.scm b/gnu/packages/re2c.scm index e13d15e97a..ba96727d56 100644 --- a/gnu/packages/re2c.scm +++ b/gnu/packages/re2c.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2020 Sergei Trofimovich <slyfox@inbox.ru> +;;; Copyright © 2021 Sergei Trofimovich <slyich@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -20,13 +21,14 @@ (define-module (gnu packages re2c) #:use-module (guix licenses) #:use-module (guix packages) + #:use-module (gnu packages python) #:use-module (guix download) #:use-module (guix build-system gnu)) (define-public re2c (package (name "re2c") - (version "2.1.1") + (version "2.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/skvadrik/" name @@ -34,9 +36,11 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1y0iwxpkdmw5fcqacs209ix49aasfy88hqmx3qa26m7xz9jf4vh3")))) + "1nkbv3bxz1kwwql1pdlnj3lxy5h2vsaif393ivb5b9d8610mxi0g")))) (build-system gnu-build-system) (home-page "https://re2c.org/") + (native-inputs + `(("python" ,python))) ; for the test driver (synopsis "Lexer generator for C/C++") (description "@code{re2c} generates minimalistic hard-coded state machine (as opposed diff --git a/gnu/packages/rocm.scm b/gnu/packages/rocm.scm new file mode 100644 index 0000000000..9a015d2490 --- /dev/null +++ b/gnu/packages/rocm.scm @@ -0,0 +1,330 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> +;;; +;;; This program is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; This program is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with this program. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages rocm) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix git-download) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages elf) + #:use-module (gnu packages gl) + #:use-module (gnu packages linux) + #:use-module (gnu packages llvm) + #:use-module (gnu packages opencl) + #:use-module (gnu packages version-control) + #:use-module (gnu packages vim)) + +;; The components are tightly integrated and can only be upgraded as a unit. If +;; you want to upgrade ROCm, bump this version number and update hashes below. +(define %rocm-version "4.3.0") + +(define-public rocm-cmake + (package + (name "rocm-cmake") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/rocm-cmake.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0sic2zxmzl2pb2865vvq55mbpcr8pby8v19pjdlm08pypqw5h6h6")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; Tests try to use git commit + (native-inputs `(("git" ,git))) + (home-page "https://github.com/RadeonOpenCompute/rocm-cmake") + (synopsis "ROCm cmake modules") + (description "ROCm cmake modules provides cmake modules for common build +tasks needed for the ROCM software stack.") + (license license:ncsa))) + +(define-public rocm-device-libs + (package + (name "rocm-device-libs") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/ROCm-Device-Libs.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1f8xsylfajpxqjk6ayjnrry53y8b0a6lh9d72pd41nffxfyzvw3w")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DCMAKE_SKIP_BUILD_RPATH=FALSE" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE"))) + (inputs `(("llvm" ,llvm-for-rocm))) + (home-page "https://github.com/RadeonOpenCompute/ROCm-Device-Libs") + (synopsis "ROCm Device libraries") + (description "AMD-specific device-side language runtime libraries, namely +oclc, ocml, ockl, opencl, hip and hc.") + (license license:ncsa))) + +(define-public rocm-comgr + (package + (name "rocm-comgr") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bakbm7shr0l67lph44b5cnc9psd6rivg1mp79qizaawkn380x60")) + (patches + (search-patches "rocm-comgr-3.1.0-dependencies.patch")))) + (build-system cmake-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "lib/comgr")))))) + (inputs + `(("rocm-device-libs" ,rocm-device-libs) + ("llvm" ,llvm-for-rocm) + ("lld" ,lld))) + (home-page "https://github.com/RadeonOpenCompute/ROCm-CompilerSupport") + (synopsis "ROCm Code Object Manager") + (description "The Comgr library provides APIs for compiling and inspecting +AMDGPU code objects.") + (license license:ncsa))) + +(define-public roct-thunk-interface + (package + (name "roct-thunk-interface") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ffqhrrscmcydfqf61dk58d7nnxk6n2k68jhqfj7a4hvhlphb74f")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; Not sure how to run tests. + (inputs `(("numactl" ,numactl))) + (home-page "https://github.com/RadeonOpenCompute/ROCT-Thunk-Interface") + (synopsis "Radeon Open Compute Thunk Interface") + (description "User-mode API interfaces used to interact with the ROCk +driver.") + (license license:ncsa))) + +(define-public rocr-runtime + (package + (name "rocr-runtime") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/ROCR-Runtime.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jqfqf5ymwlbpac065bhigmkgsk7mbyimdgvca7ymn38wpf80ka7")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + `(,(string-append + "-DBITCODE_DIR=" + (assoc-ref %build-inputs "rocm-device-libs") + "/amdgcn/bitcode/")) + #:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "src")))))) + (inputs + `(("libelf" ,libelf) + ("numactl" ,numactl) + ("llvm" ,llvm-for-rocm) + ("roct-thunk-interface" ,roct-thunk-interface) + ("rocm-device-libs" ,rocm-device-libs))) ; For bitcode. + (native-inputs `(("xxd" ,xxd))) + (home-page "https://github.com/RadeonOpenCompute/ROCR-Runtime") + (synopsis "ROCm Platform Runtime") + (description "User-mode API interfaces and libraries necessary for host +applications to launch compute kernels to available HSA ROCm kernel agents.") + (license license:ncsa))) + +(define-public rocclr + (package + (name "rocclr") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ROCm-Developer-Tools/ROCclr.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pm1y020zriz7zmi95w0rcpka0jrsc7wwh81sssnysi8wxk3nnfy")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests. + #:configure-flags + `(,(string-append + "-DOPENCL_DIR=" + (assoc-ref %build-inputs "rocm-opencl-runtime-src"))))) + (inputs + `(("mesa" ,mesa) + ("rocm-comgr" ,rocm-comgr) + ("llvm" ,llvm-for-rocm) + ("rocm-device-libs" ,rocm-device-libs) + ("rocr-runtime" ,rocr-runtime) + ("rocm-cmake" ,rocm-cmake) + ;; rocclr depends on a few headers provided by rocm-opencl-runtime. + ("rocm-opencl-runtime-src" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cglpiaj3ny1z74ssmy6j63vj92sfy4q38ix6qsga0mg3b2wvqz3")))))) + (home-page "https://github.com/ROCm-Developer-Tools/ROCclr") + (synopsis "Radeon Open Compute Common Language Runtime") + (description "ROCclr is a virtual device interface that compute runtimes +interact with to different backends such as ROCr or PAL. This abstraction +allows runtimes to work on Windows as well as on Linux without much effort.") + (license license:ncsa))) + +(define-public rocm-opencl-runtime + (package + (name "rocm-opencl-runtime") + (version %rocm-version) + (home-page "https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cglpiaj3ny1z74ssmy6j63vj92sfy4q38ix6qsga0mg3b2wvqz3")) + (patches + (search-patches + "rocm-opencl-runtime-3.10.0-includes.patch" + ;; Do not install libOpenCL, which ocl-icd provides. + "rocm-opencl-runtime-4.3-noopencl.patch" + ;; Guix includes a program clinfo already. + "rocm-opencl-runtime-4.3-noclinfo.patch" + ;; cltrace linking fails, remove it. + "rocm-opencl-runtime-4.3-nocltrace.patch")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; Not sure how to run them. + #:phases + (modify-phases %standard-phases + (add-after 'install 'create-icd + ;; Manually install ICD, which simply consists of dumping + ;; the path of the .so into the correct file. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (vendors (string-append out "/etc/OpenCL/vendors")) + (sopath (string-append out "/lib/libamdocl64.so"))) + (mkdir-p vendors) + (with-output-to-file (string-append vendors "/amdocl64.icd") + (lambda _ (display sopath))))))))) + (inputs + `(("mesa" ,mesa) + ("rocm-comgr" ,rocm-comgr) + ("rocr-runtime" ,rocr-runtime) + ("rocclr" ,rocclr) + ("opencl-icd-loader" ,opencl-icd-loader) + ("glew" ,glew))) + (native-inputs `()) + (synopsis "ROCm OpenCL Runtime") + (description "OpenCL 2.0 compatible language runtime, supporting offline +and in-process/in-memory compilation.") + (license license:ncsa))) + +(define-public rocminfo + (package + (name "rocminfo") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/rocminfo.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pcm308vwkjrwnrk507iya20mkil8j0vx699w9jk2gas4n4jvkcz")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-binary-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "rocminfo.cc" + (("lsmod") + (string-append (assoc-ref inputs "kmod") "/bin/lsmod")) + (("grep") (which "grep")))))))) + (inputs + `(("rocr-runtime" ,rocr-runtime) + ("kmod" ,kmod))) + (home-page "https://github.com/RadeonOpenCompute/rocminfo") + (synopsis "ROCm Application for Reporting System Info") + (description "List @acronym{HSA,Heterogeneous System Architecture} Agents +available to ROCm and show their properties.") + (license license:ncsa))) + +(define-public rocm-bandwidth-test + (package + (name "rocm-bandwidth-test") + (version %rocm-version) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/RadeonOpenCompute/rocm_bandwidth_test.git") + (commit (string-append "rocm-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0a14kwkjpiyljgzxblh031qibn6xgbxp6m12zdy1pmwb2c44jjmm")))) + (build-system cmake-build-system) + (arguments `(#:tests? #f)) ; No tests. + (inputs `(("rocr-runtime" ,rocr-runtime))) + (home-page "https://github.com/RadeonOpenCompute/rocm_bandwidth_test") + (synopsis "Bandwidth test for ROCm") + (description "RocBandwidthTest is designed to capture the performance +characteristics of buffer copying and kernel read/write operations. The help +screen of the benchmark shows various options one can use in initiating +cop/read/writer operations. In addition one can also query the topology of the +system in terms of memory pools and their agents.") + (license license:ncsa))) + diff --git a/gnu/packages/rpm.scm b/gnu/packages/rpm.scm new file mode 100644 index 0000000000..008ddd6fe7 --- /dev/null +++ b/gnu/packages/rpm.scm @@ -0,0 +1,200 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages rpm) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module (guix build-system cmake) + #:use-module (guix build-system meson) + #:use-module (gnu packages bash) + #:use-module (gnu packages check) + #:use-module (gnu packages compression) + #:use-module (gnu packages curl) + #:use-module (gnu packages docbook) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) + #:use-module (gnu packages man) + #:use-module (gnu packages package-management) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) + #:use-module (gnu packages python) + #:use-module (gnu packages serialization) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages tls) + #:use-module (gnu packages xml)) + +(define-public drpm + (package + (name "drpm") + (version "0.5.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rpm-software-management/drpm") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m269nl8s31yjyz7kknv4jl9mx12xjpx2ly6wf66zs5613m4rj1z")))) + (build-system cmake-build-system) + (native-inputs + `(("cmocka" ,cmocka) + ("pkg-config" ,pkg-config))) + (inputs + `(("bzip2" ,bzip2) + ("lzlib" ,lzlib) + ("openssl" ,openssl) + ("popt" ,popt) + ("rpm" ,rpm) + ("xz" ,xz) + ("zlib" ,zlib) + ("zstd" ,zstd "lib"))) + (home-page "https://github.com/rpm-software-management/drpm") + (synopsis "Delta RPM library") + (description "This package provides a library for making, reading and +applying deltarpms, compatible with the original deltarpm packages.") + (license license:lgpl2.1+))) + +(define-public libmodulemd + (package + (name "libmodulemd") + (version "2.13.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/fedora-modularity/" + "libmodulemd/releases/download/" version + "/modulemd-" version ".tar.xz")) + (sha256 + (base32 + "1g4wizr2wwl5x77ni5j46nfcax8fbb7nqq5nr7va9sccyigwwwnc")))) + (build-system meson-build-system) + (outputs '("out" "doc")) ;2.6 MiB of HTML documentation + (arguments + `(#:configure-flags + (list (string-append "-Dgobject_overrides_dir_py3=" + (python:site-packages %build-inputs %outputs))) + #:imported-modules (,@%meson-build-system-modules + (guix build python-build-system)) + #:modules ((guix build meson-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-glib-doc-prefix + (lambda* (#:key inputs #:allow-other-keys) + (let ((glib:doc (assoc-ref inputs "glib:doc"))) + (substitute* "meson.build" + (("glib_docpath = .*") + (format #f "glib_docpath = '~a'~%" + (string-append glib:doc + "/share/gtk-doc/html"))))))) + (add-after 'unpack 'fix-docbook-references + ;; gtk-doc doesn't seem to honor DocBook 4.1.2's docbook.cat's + ;; catalog file, even when adding it to XML_CATALOG_FILES. Work + ;; around it by adjusting the DocBook references directly. + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "modulemd/modulemd-docs.xml" + (("http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd") + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/docbookx.dtd"))))) + (add-after 'install 'move-documentation + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc")) + (src (string-append out "/share/gtk-doc")) + (dst (string-append doc "/share/gtk-doc"))) + (mkdir-p (dirname dst)) + (rename-file src dst))))))) + (native-inputs + `(("docbook-xml" ,docbook-xml-4.1.2) + ("glib:bin" ,glib "bin") + ("glib:doc" ,glib-with-documentation "doc") + ("gobject-introspection" ,gobject-introspection) ;for g-ir-scanner + ("gtk-doc" ,gtk-doc) + ("help2man" ,help2man) + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk" ,gtk+) + ("python-pygobject" ,python-pygobject))) + (propagated-inputs + ;; glib and gobject are listed as 'Requires' in modulemd-2.0.pc. + `(("glib" ,glib) + ;; yaml and rpm are listed as 'Requires.private' in modulemd-2.0.pc. + ("libyaml" ,libyaml) + ("rpm" ,rpm))) + (home-page "https://github.com/fedora-modularity/libmodulemd") + (synopsis "C library for manipulating module metadata files") + (description "The libmodulemd API provides a number of convenience tools +for interacting with repodata (that is, streams of YAML that contains +information on multiple streams, default data and translations).") + (license license:expat))) + +(define-public createrepo-c + (package + (name "createrepo-c") + (version "0.17.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rpm-software-management/createrepo_c") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1fgf71mkhghgbp0pf2pazc7hyaix5igb5nl4fqsisjksfvzdfm5k")))) + (build-system cmake-build-system) + (arguments + `(#:imported-modules (,@%cmake-build-system-modules + (guix build python-build-system)) + #:modules ((guix build cmake-build-system) + ((guix build python-build-system) #:prefix python:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-python-site-prefix + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "src/python/CMakeLists.txt" + (("EXECUTE_PROCESS.*OUTPUT_VARIABLE PYTHON_INSTALL_DIR.*") + (format #f "set (PYTHON_INSTALL_DIR ~a)~%" + (python:site-packages inputs outputs)))))) + (add-after 'unpack 'fix-bash-completion-prefix + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "CMakeLists.txt" + (("execute_process.*OUTPUT_VARIABLE BASHCOMP_DIR.*") + (format #f "set (BASHCOMP_DIR ~a\ +/share/bash-completion/completions)~%" (assoc-ref outputs "out"))))))))) + (native-inputs + `(("bash-completion" ,bash-completion) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + `(("bzip2" ,bzip2) + ("curl" ,curl) + ("drpm" ,drpm) + ("libmodulemd" ,libmodulemd) + ("libxml2" ,libxml2) + ("openssl" ,openssl) + ("sqlite" ,sqlite) + ("zchunk" ,zchunk))) + (home-page "https://rpm-software-management.github.io/createrepo_c/") + (synopsis "C implementation of the createrepo tool") + (description "This package provides the @command{createrepo} command, +which can be used to create RPM repositories.") + (license license:gpl2+))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2fe60c4fa2..9dfa5043ed 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017, 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2018, 2019 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> @@ -154,21 +154,16 @@ a focus on simplicity and productivity.") (define-public ruby-2.7 (package (inherit ruby-2.6) - (version "2.7.2") + (version "2.7.4") (source (origin - (method url-fetch) + (inherit (package-source ruby-2.6)) (uri (string-append "https://cache.ruby-lang.org/pub/ruby/" (version-major+minor version) "/ruby-" version ".tar.gz")) (sha256 (base32 - "1m63461mxi3fg4y3bspbgmb0ckbbb1ldgf9xi0piwkpfsk80cmvf")) - (modules '((guix build utils))) - (snippet `(begin - ;; Remove bundled libffi - (delete-file-recursively "ext/fiddle/libffi-3.2.1") - #t)))) + "0nxwkxh7snmjqf787qsp4i33mxd1rbf9yzyfiky5k230i680jhrh")))) (arguments `(#:test-target "test" #:configure-flags '("--enable-shared") ; dynamic linking @@ -197,7 +192,7 @@ a focus on simplicity and productivity.") (define-public ruby-3.0 (package (inherit ruby-2.7) - (version "3.0.0") + (version "3.0.2") (source (origin (method url-fetch) @@ -206,12 +201,12 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "1cbcixwnr0y8q0lg67wjgplp06kjd6p6hjjh680csv3v0bpsxgv8")))))) + "0h2w2ms4gx2s96v3lzdr3add94bd2qqkhdjzaycmaqhg21rpf3jp")))))) (define-public ruby-2.5 (package (inherit ruby-2.6) - (version "2.5.8") + (version "2.5.9") (source (origin (method url-fetch) @@ -220,12 +215,7 @@ a focus on simplicity and productivity.") "/ruby-" version ".tar.xz")) (sha256 (base32 - "0vad5ah1lrdhxsyqr5iqc8c7r7qczpmm76cz8rsf4crimpzv5483")) - (modules '((guix build utils))) - (snippet `(begin - ;; Remove bundled libffi - (delete-file-recursively "ext/fiddle/libffi-3.2.1") - #t)))))) + "1w2qncacm7h3f3il1whghdabwnv9fvwmz9f1a9vcg32006ljyzx8")))))) (define-public ruby-2.4 (package @@ -1183,14 +1173,18 @@ structure. Supports custom object formatting via plugins.") (("('|\")pandoc" _ quote) (string-append quote pandoc)) (("\\^pandoc") - ".*pandoc")) - #t))) + ".*pandoc"))))) + (add-after 'unpack 'adjust-tests + ;; The tests expect filenames with spaces. Because they don't have + ;; spaces the quotes around the output are dropped automatically. + (lambda _ + (substitute* "test/test_pandoc_ruby.rb" + (("\\\\\"#\\{file\\.path\\}\\\\\"") "#{file.path}")))) (add-after 'extract-gemspec 'remove-Gemfile.lock (lambda _ (delete-file "Gemfile.lock") (substitute* "pandoc-ruby.gemspec" - (("Gemfile\\.lock") "")) - #t))))) + (("Gemfile\\.lock") ""))))))) (native-inputs `(("ruby-mocha" ,ruby-mocha))) (inputs @@ -1281,7 +1275,7 @@ syntax to the minimum while remaining clear.") (define-public ruby-asciidoctor (package (name "ruby-asciidoctor") - (version "2.0.10") + (version "2.0.16") (source (origin (method git-fetch) ;the gem release lacks a Rakefile @@ -1291,7 +1285,7 @@ syntax to the minimum while remaining clear.") (file-name (git-file-name name version)) (sha256 (base32 - "0jaxpnsdnx3qyjw5p2lsx1swny12q1i2vxw2kgdp4vlsyjv95z95")))) + "086i17v9rxx0sxac26xp8c5v75jqba6rqjlk57x94qjvrh8vzyw2")))) (build-system ruby-build-system) (arguments `(#:test-target "test:all" @@ -1305,7 +1299,8 @@ syntax to the minimum while remaining clear.") (string-append stripped "\n"))) #t))))) (native-inputs - `(("ruby-erubis" ,ruby-erubis) + `(("ruby-erubi" ,ruby-erubi) + ("ruby-erubis" ,ruby-erubis) ("ruby-minitest" ,ruby-minitest) ("ruby-nokogiri" ,ruby-nokogiri) ("ruby-asciimath" ,ruby-asciimath) @@ -1942,7 +1937,7 @@ PDF library. It has features such as: (define-public ruby-ast (package (name "ruby-ast") - (version "2.4.1") + (version "2.4.2") (source (origin (method git-fetch) ;no test included in gem from v2.4.1 @@ -1952,7 +1947,7 @@ PDF library. It has features such as: (file-name (git-file-name name version)) (sha256 (base32 - "0k8vya256chimy473g818gim06m5rjgh6mz5sc5g8xz3csh3rysi")))) + "0vm94yml8rknr7z034vg6s3fpx6lml2prz9fn3hr67cx0143bb4h")))) (build-system ruby-build-system) (arguments '(#:phases @@ -1964,24 +1959,25 @@ PDF library. It has features such as: (("Coveralls::SimpleCov::Formatter") "")) #t)) (add-after 'extract-gemspec 'remove-unnecessary-requirements - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (substitute* "ast.gemspec" ((".*coveralls.*") "\n") (("%q<rest-client>.*") "%q<rest-client>.freeze, [\">= 0\"])\n") (("%q<mime-types>.*") "%q<mime-types>.freeze, [\">= 0\"])\n") - (("%q<rake>.*") "%q<rake>.freeze, [\">= 0\"])\n")) + (("%q<rake>.*") "%q<rake>.freeze, [\">= 0\"])\n") + (("12\\.3") "13.0")) #t))))) (native-inputs `(("bundler" ,bundler) - ("ruby-simplecov" ,ruby-simplecov) + ("ruby-bacon" ,ruby-bacon) + ("ruby-bacon-colored-output" ,ruby-bacon-colored-output) ("ruby-json-pure" ,ruby-json-pure) - ("ruby-mime-times" ,ruby-mime-types) - ("ruby-yard" ,ruby-yard) ("ruby-kramdown" ,ruby-kramdown) + ("ruby-mime-types" ,ruby-mime-types) + ("ruby-racc" ,ruby-racc) ("ruby-rest-client" ,ruby-rest-client) - ("ruby-bacon" ,ruby-bacon) - ("ruby-bacon-colored-output" ,ruby-bacon-colored-output) - ("ruby-racc" ,ruby-racc))) + ("ruby-simplecov" ,ruby-simplecov) + ("ruby-yard" ,ruby-yard))) (synopsis "Library for working with Abstract Syntax Trees") (description "@code{ast} is a Ruby library for working with Abstract Syntax Trees. @@ -2104,8 +2100,6 @@ value is found.") (invoke "ruby" "-Ilib" "-Itest" "-rrubygems" file)) (find-files "test" ".*rb$"))) #t))))) - (propagated-inputs - `(("ruby-rexml" ,ruby-rexml))) (synopsis "Simple JSON and XML parsing for Ruby") (description "@code{crack} provides really simple JSON and XML parsing, extracted from @@ -3755,13 +3749,13 @@ temporary files and directories during tests.") (define-public ruby-test-unit (package (name "ruby-test-unit") - (version "3.2.5") + (version "3.4.4") (source (origin (method url-fetch) (uri (rubygems-uri "test-unit" version)) (sha256 (base32 - "05bx36fw01iqz0xqhvjfrwjgnj1zx3b2vn6w1fzp19rchd7zqc52")))) + "15isy7vhppbfd0032klirj9gxp65ygkzjdwrmm28xpirlcsk6qpd")))) (build-system ruby-build-system) (propagated-inputs `(("ruby-power-assert" ,ruby-power-assert))) @@ -4299,13 +4293,13 @@ number, support for interrupted tests, better backtraces, and more.") (define-public ruby-mocha (package (name "ruby-mocha") - (version "1.11.2") + (version "1.13.0") (source (origin (method url-fetch) (uri (rubygems-uri "mocha" version)) (sha256 (base32 - "0hxmkm8qxd04vwj8mqnpyrf2dwy7g1k9zipdfhl4y71cw7ijm9n4")))) + "15s53ggsykk69kxqvs4416s8yxdhz6caggva55n8sjgy4ixzwp10")))) (build-system ruby-build-system) (arguments `(#:phases @@ -4324,7 +4318,7 @@ number, support for interrupted tests, better backtraces, and more.") (description "Mocha is a mocking and stubbing library with JMock/SchMock syntax, which allows mocking and stubbing of methods on real (non-mock) classes.") - (home-page "http://gofreerange.com/mocha/docs") + (home-page "https://mocha.jamesmead.org/") ;; Mocha can be used with either license at the users choice. (license (list license:expat license:ruby)))) @@ -4404,13 +4398,13 @@ client protocol.") (define-public ruby-minitest (package (name "ruby-minitest") - (version "5.12.2") + (version "5.14.4") (source (origin (method url-fetch) (uri (rubygems-uri "minitest" version)) (sha256 (base32 - "0zjm24aiz42i9n37mcw8lydd7n0y7wfk27by06jx77ypcld3qvkw")))) + "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl")))) (build-system ruby-build-system) (native-inputs `(("ruby-hoe" ,ruby-hoe))) @@ -4628,7 +4622,8 @@ MiniTest @code{Object#stub} with a global @code{stub} method.") "1hbq9jk904xkz868yha1bqcm6azm7kmjsll2k4pn2nrcib508h2a")))) (build-system ruby-build-system) (arguments - `(#:phases + `(#:tests? #f ; Test suite has bitrotted. + #:phases (modify-phases %standard-phases (add-before 'check 'clean-dependencies (lambda _ @@ -4746,17 +4741,20 @@ minitest 5.12, and is planned to be removed from minitest 6.") (define-public ruby-minitest-hooks (package (name "ruby-minitest-hooks") - (version "1.4.2") + (version "1.5.0") (source (origin (method url-fetch) (uri (rubygems-uri "minitest-hooks" version)) (sha256 (base32 - "0lnpvzijbjrvxjc43d155jnbk2mkfshrz22an711wh004scavlzc")))) + "05z8r6sw3fz4s44fs1150ndlcmcy82vlxmhps5nncg8vk59k3gmf")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec")) + '(#:test-target "spec" + ;; Test suite is incompatible with ruby-2.7. + ;; https://github.com/jeremyevans/minitest-hooks/issues/19 + #:tests? #f)) (native-inputs `(("ruby-sequel" ,ruby-sequel) ("ruby-sqlite3" ,ruby-sqlite3))) @@ -4970,7 +4968,7 @@ net/http library.") (define-public ruby-multi-json (package (name "ruby-multi-json") - (version "1.13.1") + (version "1.15.0") (source (origin (method git-fetch) @@ -4982,20 +4980,17 @@ net/http library.") (file-name (git-file-name name version)) (sha256 (base32 - "18wpb6p01rrkl4v33byh70vxj2a5jxkfxzv3pz8z6pssy4ymwkm4")))) + "0mkdvy6i00yyksjvnv6znh7wf89j9506qzzjq6bsbmbkyqrszp4d")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'remove-signing-key-reference + (add-before 'check 'pre-check (lambda _ - (substitute* "multi_json.gemspec" - ((".*spec.signing_key.*") "")) - #t))))) + ;; As seen in the .travis.yml file. + (setenv "SKIP_ADAPTERS" "gson,jr_jackson,nsjsonserialization")))))) (native-inputs - `(("bundler" ,bundler) - ("ruby-rspec" ,ruby-rspec) - ("ruby-yard" ,ruby-yard) + `(("ruby-rspec" ,ruby-rspec) ("ruby-json-pure" ,ruby-json-pure) ("ruby-oj" ,ruby-oj) ("ruby-yajl-ruby" ,ruby-yajl-ruby))) @@ -5971,13 +5966,13 @@ documentation for Ruby code.") (define-public ruby-tins (package (name "ruby-tins") - (version "1.15.0") + (version "1.29.1") (source (origin (method url-fetch) (uri (rubygems-uri "tins" version)) (sha256 (base32 - "09whix5a7ics6787zrkwjmp16kqyh6560p9f317syks785805f7s")))) + "0nzp88y19rqlcizp1nw8m44fvfxs9g3bhjpscz44dwfawfrmr0cb")))) (build-system ruby-build-system) ;; This gem needs gem-hadar at development time, but gem-hadar needs tins ;; at runtime. To avoid the dependency on gem-hadar we disable rebuilding @@ -5993,6 +5988,8 @@ documentation for Ruby code.") (substitute* "tins.gemspec" (("\"lib/spruz\", ") "")) (invoke "gem" "build" "tins.gemspec")))))) + (propagated-inputs + `(("ruby-sync" ,ruby-sync))) (synopsis "Assorted tools for Ruby") (description "Tins is a Ruby library providing assorted tools.") (home-page "https://github.com/flori/tins") @@ -6228,13 +6225,13 @@ a native C extension.") (define-public ruby-json-pure (package (name "ruby-json-pure") - (version "2.2.0") + (version "2.3.1") (source (origin (method url-fetch) (uri (rubygems-uri "json_pure" version)) (sha256 (base32 - "0m0j1mfwv0mvw72kzqisb26xjl236ivqypw1741dkis7s63b8439")))) + "00pziwkfqwk8vj19s65sdki31q1wvmf5v9b3sfglxm94qfvas1lx")))) (build-system ruby-build-system) (arguments `(#:phases @@ -6243,28 +6240,13 @@ a native C extension.") (lambda _ (substitute* "Rakefile" ;; Since this is not a git repository, do not call 'git'. - (("`git ls-files`") "`find . -type f |sort`") - ;; Loosen dependency constraint. - (("'test-unit', '~> 2.0'") "'test-unit', '>= 2.0'")) - #t)) - (add-after 'replace-git-ls-files 'regenerate-gemspec - (lambda _ - ;; Regenerate gemspec so loosened dependency constraints are - ;; propagated. - (invoke "rake" "gemspec"))) - (add-after 'regenerate-gemspec 'fix-json-java.gemspec - (lambda _ - ;; This gemspec doesn't look to be generated by the above - ;; command, so patch it separately. - (substitute* "json-java.gemspec" - (("%q<test-unit>\\.freeze, \\[\"~> 2\\.0\"\\]") - "%q<test-unit>.freeze, [\">= 2.0\"]")) - #t))))) + (("`git ls-files`") "`find . -type f |sort`"))))))) (native-inputs `(("bundler" ,bundler) ("ragel" ,ragel) ("ruby-simplecov" ,ruby-simplecov) - ("ruby-test-unit" ,ruby-test-unit))) + ("ruby-test-unit" ,ruby-test-unit) + ("which" ,which))) (synopsis "JSON implementation in pure Ruby") (description "This package provides a JSON implementation written in pure Ruby.") @@ -6531,6 +6513,24 @@ acceptable elements, attributes, and CSS properties, Sanitize will remove all unacceptable HTML and/or CSS from a string.") (license license:expat))) +(define-public ruby-sync + (package + (name "ruby-sync") + (version "0.5.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "sync" version)) + (sha256 + (base32 + "1z9qlq4icyiv3hz1znvsq1wz2ccqjb1zwd6gkvnwg6n50z65d0v6")))) + (build-system ruby-build-system) + (synopsis "Ruby module with a two-phase lock and counter") + (description "This package provides a Ruby module that provides a two-phase +lock with a counter.") + (home-page "https://github.com/ruby/sync") + (license license:bsd-2))) + (define-public ruby-oj (package (name "ruby-oj") @@ -6652,31 +6652,6 @@ with PostgreSQL 9.0 and later.") (define-public ruby-byebug (package (name "ruby-byebug") - (version "9.0.6") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "byebug" version)) - (sha256 - (base32 - "1kbfcn65rgdhi72n8x9l393b89rvi5z542459k7d1ggchpb0idb0")))) - (build-system ruby-build-system) - (arguments - '(#:tests? #f)) ; no tests - (synopsis "Debugger for Ruby 2") - (description "Byebug is a Ruby 2 debugger implemented using the Ruby 2 -TracePoint C API for execution control and the Debug Inspector C API for call -stack navigation. The core component provides support that front-ends can -build on. It provides breakpoint handling and bindings for stack frames among -other things and it comes with a command line interface.") - (home-page "https://github.com/deivid-rodriguez/byebug") - (license license:bsd-2))) - -;;; TODO: Make it the default byebug in core-updates. -(define-public ruby-byebug-11 - (package - (inherit ruby-byebug) - (name "ruby-byebug") (version "11.1.3") (source (origin @@ -6700,9 +6675,9 @@ other things and it comes with a command line interface.") (("load File\\.expand_path\\(\"bundle\".*") "") (("require \"bundler/setup\".*") ""))) #t)))) + (build-system ruby-build-system) (arguments - `(#:tests? #t - #:phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'skip-tmp-path-sensitive-test (lambda _ @@ -6713,6 +6688,12 @@ other things and it comes with a command line interface.") (add-before 'build 'compile (lambda _ (invoke "rake" "compile"))) + (add-before 'check 'disable-misbehaving-test + ;; Expects 5, gets 162. From a file containing ~10 lines. + (lambda _ + (substitute* "test/commands/finish_test.rb" + (("test_finish_inside_autoloaded_files") + "finish_inside_autoloaded_files")))) (add-before 'check 'set-home (lambda _ (setenv "HOME" (getcwd)) @@ -6724,7 +6705,15 @@ other things and it comes with a command line interface.") ("ruby-pry" ,ruby-pry) ("ruby-rake-compiler" ,ruby-rake-compiler) ("ruby-rubocop" ,ruby-rubocop) - ("ruby-yard" ,ruby-yard))))) + ("ruby-yard" ,ruby-yard))) + (synopsis "Debugger for Ruby 2") + (description "Byebug is a Ruby 2 debugger implemented using the Ruby 2 +TracePoint C API for execution control and the Debug Inspector C API for call +stack navigation. The core component provides support that front-ends can +build on. It provides breakpoint handling and bindings for stack frames among +other things and it comes with a command line interface.") + (home-page "https://github.com/deivid-rodriguez/byebug") + (license license:bsd-2))) (define-public ruby-netrc (package @@ -6746,8 +6735,11 @@ other things and it comes with a command line interface.") (lambda _ (for-each (lambda (file) (invoke "ruby" "-Itest" file)) - (find-files "./test" "test_.*\\.rb")) - #t))))) + (find-files "./test" "test_.*\\.rb")))) + (add-before 'check 'patch-tests-for-newer-ruby + (lambda _ + (substitute* "test/test_netrc.rb" + (("Dir.pwd, '.netrc'") "Netrc.home_path, '.netrc'"))))))) (native-inputs `(("ruby-minitest" ,ruby-minitest))) (synopsis "Library to read and update netrc files") @@ -6850,15 +6842,17 @@ differences (added or removed nodes) between two XML/HTML documents.") (define-public ruby-racc (package (name "ruby-racc") - (version "1.4.14") + (version "1.5.2") (source (origin (method url-fetch) (uri (rubygems-uri "racc" version)) (sha256 (base32 - "00yhs2ag7yy5v83mqvkbnhk9bvsh6mx3808k53n61ddzx446v1zl")))) + "178k7r0xn689spviqzhvazzvxfq6fyjldxb3ywjbgipbfi4s8j1g")))) (build-system ruby-build-system) + (arguments + `(#:tests? #f)) ; Fails while parsing test instructions. (native-inputs `(("ruby-hoe" ,ruby-hoe) ("ruby-rake-compiler" ,ruby-rake-compiler))) @@ -7225,35 +7219,38 @@ following: @code{[1, 2, 3, 4, 6, 8, 9, 10]} into @code{[1..4, 6..6, 8..10]}.") (license license:expat))) (define-public ruby-regexp-property-values - (package - (name "ruby-regexp-property-values") - (version "1.0.0") - (source - (origin - (method git-fetch) - (uri (git-reference ;no test suite in distributed gem - (url "https://github.com/jaynetics/regexp_property_values") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0l3fjmscg1wxn7kc6bl022cc6k5d91pwb7daq1b5w36kvsx52w1j")))) - (build-system ruby-build-system) - (arguments - '(#:test-target "default")) - (native-inputs - `(("ruby-character-set" ,ruby-character-set) - ("ruby-rake-compiler" ,ruby-rake-compiler) - ("ruby-range-compressor" ,ruby-range-compressor) - ("ruby-rspec" ,ruby-rspec))) - (synopsis "Inspect Ruby's regex engine property values") - (description "This small library lets you see which property values are + (let ((commit "03007a66c912949a7130b973cc0eca109c20811f") + (revision "1")) + (package + (name "ruby-regexp-property-values") + (version (git-version "1.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference ;no test suite in distributed gem + (url "https://github.com/jaynetics/regexp_property_values") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zsax784p16zdkf60lyq9z924zvsafhx9ckxx9srsgkyiqrifi1s")))) + (build-system ruby-build-system) + (arguments + '(#:test-target "default")) + (native-inputs + `(("ruby-character-set" ,ruby-character-set) + ("ruby-rake" ,ruby-rake) + ("ruby-rake-compiler" ,ruby-rake-compiler) + ("ruby-range-compressor" ,ruby-range-compressor) + ("ruby-rspec" ,ruby-rspec))) + (synopsis "Inspect Ruby's regex engine property values") + (description "This small library lets you see which property values are supported by the regular expression engine of the Ruby version you are running and can directly read out their code point ranges. In other words, it determines all supported values for @code{\\p{value}} expressions and what they match.") - (home-page "https://github.com/jaynetics/regexp_property_values") - (license license:expat))) + (home-page "https://github.com/jaynetics/regexp_property_values") + (license license:expat)))) (define-public ruby-regexp-parser (package @@ -7384,7 +7381,6 @@ run.") ("ruby-parser" ,ruby-parser) ("ruby-rainbow" ,ruby-rainbow) ("ruby-regexp-parser" ,ruby-regexp-parser) - ("ruby-rexml" ,ruby-rexml) ("ruby-rubocop-ast" ,ruby-rubocop-ast) ("ruby-progressbar" ,ruby-progressbar) ("ruby-unicode-display-width" ,ruby-unicode-display-width))) @@ -7665,7 +7661,7 @@ notes.") ("ruby-rubocop" ,ruby-rubocop) ("ruby-simplecov" ,ruby-simplecov))) (propagated-inputs - `(("ruby-byebug" ,ruby-byebug-11) + `(("ruby-byebug" ,ruby-byebug) ("ruby-pry" ,ruby-pry))) (synopsis "Step-by-step debugging and stack navigation in Pry") (description "This package adds step-by-step debugging and stack @@ -7676,15 +7672,26 @@ navigation capabilities to @code{pry}, using @code{byebug}.") (define-public ruby-stackprof (package (name "ruby-stackprof") - (version "0.2.16") + (version "0.2.17") (source - (origin - (method url-fetch) - (uri (rubygems-uri "stackprof" version)) - (sha256 - (base32 - "147rb66p3n062vc433afqhkd99iazvkrqnghxgh871r62yhha93f")))) + (origin + (method url-fetch) + (uri (rubygems-uri "stackprof" version)) + (sha256 + (base32 "06lz70k8c0r7fyxk1nc3idh14x7nvsr21ydm1bsmbj00jyhmfzsn")))) (build-system ruby-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'skip-dubious-test + ;; This unreliable test can fail with "Expected 0 to be >= 1." + (lambda _ + (substitute* "test/test_stackprof.rb" + (("def test_(cputime)" _ name) + (string-append "def skip_" name))))) + (add-before 'check 'build-tests + (lambda _ + (invoke "rake" "compile")))))) (native-inputs `(("ruby-mocha" ,ruby-mocha) ("ruby-rake-compiler" ,ruby-rake-compiler))) @@ -7763,14 +7770,14 @@ variable length integers (varint) in Ruby Protocol Buffers.") (define-public ruby-ruby-prof (package (name "ruby-ruby-prof") - (version "1.4.1") + (version "1.4.3") (source (origin (method url-fetch) (uri (rubygems-uri "ruby-prof" version)) (sha256 (base32 - "12cd91m08ih0imfpy4k87618hd4mhyz291a6bx2hcskza4nf6d27")))) + "1r3xalp91l07m0cwllcxjzg6nkviiqnxkcbgg5qnzsdji6rgy65m")))) (build-system ruby-build-system) (arguments `(#:phases @@ -9942,14 +9949,14 @@ generation.") (define-public ruby-sequel (package (name "ruby-sequel") - (version "4.49.0") + (version "5.47.0") (source (origin (method url-fetch) (uri (rubygems-uri "sequel" version)) (sha256 (base32 - "010p4a60npppvgbyw7pq5xia8aydpgxdlhh3qjm2615kwjsw3fl8")))) + "03pmhj4kc3ga75wy397l57bvd18jxxmrk3qsznjw93b993qgvj3z")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; Avoid dependency loop with ruby-minitest-hooks. @@ -10657,7 +10664,8 @@ the @file{spec} directory.") `(("ruby-sass-listen" ,ruby-sass-listen))) (native-inputs `(("ruby-sass-spec" ,ruby-sass-spec) - ("ruby-mathn" ,ruby-mathn))) + ("ruby-mathn" ,ruby-mathn) + ("ruby-cmath" ,ruby-cmath))) (home-page "https://sass-lang.com/") (synopsis "CSS extension language") (description "Sass is a CSS extension language. It extends CSS with @@ -12443,3 +12451,28 @@ resource assignment, cost and revenue planning, risk and communication management, status tracking and reporting.") (home-page "https://taskjuggler.org") (license license:gpl2))) + +(define-public ruby-cmath + (package + (name "ruby-cmath") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "cmath" version)) + (sha256 + (base32 + "1xkz6xyhpkjbdvpdib8450w62rls1mjryz0gzbbnadxkxn82nb8m")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #false)) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rake-compiler" ,ruby-rake-compiler))) + (synopsis "Trigonometric functions for complex numbers") + (description + "This gem is a library that provides trigonometric and transcendental +functions for complex numbers. The functions in this module accept integers, +floating-point numbers or complex numbers as arguments.") + (home-page "https://github.com/ruby/cmath") + (license license:bsd-2))) diff --git a/gnu/packages/rust-apps.scm b/gnu/packages/rust-apps.scm index 7aabc12876..3225703e26 100644 --- a/gnu/packages/rust-apps.scm +++ b/gnu/packages/rust-apps.scm @@ -34,6 +34,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (gnu packages admin) #:use-module (gnu packages compression) #:use-module (gnu packages crates-io) #:use-module (gnu packages crates-graphics) @@ -42,6 +43,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages gtk) #:use-module (gnu packages jemalloc) + #:use-module (gnu packages linux) #:use-module (gnu packages ssh) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) @@ -88,14 +90,14 @@ low-end hardware and serving many concurrent requests.") (define-public bat (package (name "bat") - (version "0.18.1") + (version "0.18.3") (source (origin (method url-fetch) (uri (crate-uri "bat" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0nvqkddpjxsmd27gqn8czql07faad50mihin5ivb9sxxnni28wnc")))) + (base32 "0qlk032dd6zxda1v7clah33nafxygaw3x7f73ajwlvk956nrn1js")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -104,7 +106,6 @@ low-end hardware and serving many concurrent requests.") ("rust-atty" ,rust-atty-0.2) ("rust-bugreport" ,rust-bugreport-0.4) ("rust-clap" ,rust-clap-2) - ("rust-clap" ,rust-clap-2) ("rust-clircle" ,rust-clircle-0.3) ("rust-console" ,rust-console-0.14) ("rust-content-inspector" ,rust-content-inspector-0.2) @@ -113,6 +114,7 @@ low-end hardware and serving many concurrent requests.") ("rust-error-chain" ,rust-error-chain-0.12) ("rust-git2" ,rust-git2-0.13) ("rust-globset" ,rust-globset-0.4) + ("rust-grep-cli" ,rust-grep-cli-0.1) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-path-abs" ,rust-path-abs-0.5) ("rust-semver" ,rust-semver-0.11) @@ -124,7 +126,7 @@ low-end hardware and serving many concurrent requests.") ("rust-wild" ,rust-wild-2)) #:cargo-development-inputs (("rust-assert-cmd" ,rust-assert-cmd-1) - ("rust-nix" ,rust-nix-0.20) + ("rust-nix" ,rust-nix-0.21) ("rust-predicates" ,rust-predicates-1) ("rust-serial-test" ,rust-serial-test-0.5) ("rust-tempfile" ,rust-tempfile-3) @@ -392,8 +394,7 @@ characters, ASCII whitespace characters, other ASCII characters and non-ASCII.") "0m5lrvx6wwkxqdc5digm1k4diiaqcg5j4pia77s5nw1aam7k51hy")))) (build-system cargo-build-system) (arguments - `(#:rust ,rust-1.46 - #:modules ((guix build cargo-build-system) + `(#:modules ((guix build cargo-build-system) (guix build utils) (srfi srfi-26)) #:cargo-inputs @@ -645,6 +646,60 @@ gitignore rules.") (base32 "13jzbmjz1bmmfr0i80hw6ar484mgabx3hbpb2ynhk0ddqi0yr58m")))))) +(define-public sniffglue + (package + (name "sniffglue") + (version "0.12.1") + (source + (origin + (method url-fetch) + (uri (crate-uri "sniffglue" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1q1kwkw1hq38qgvc6j4b5l9m85a6lpn1jls4bm27c5kha9cg8l24")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-ansi-term" ,rust-ansi-term-0.12) + ("rust-anyhow" ,rust-anyhow-1) + ("rust-atty" ,rust-atty-0.2) + ("rust-base64" ,rust-base64-0.13) + ("rust-dhcp4r" ,rust-dhcp4r-0.2) + ("rust-dirs-next" ,rust-dirs-next-2) + ("rust-dns-parser" ,rust-dns-parser-0.8) + ("rust-env-logger" ,rust-env-logger-0.8) + ("rust-libc" ,rust-libc-0.2) + ("rust-log" ,rust-log-0.4) + ("rust-nix" ,rust-nix-0.20) + ("rust-nom" ,rust-nom-6) + ("rust-num-cpus" ,rust-num-cpus-1) + ("rust-pcap-sys" ,rust-pcap-sys-0.1) + ("rust-pktparse" ,rust-pktparse-0.5) + ("rust-reduce" ,rust-reduce-0.1) + ("rust-serde" ,rust-serde-1) + ("rust-serde-derive" ,rust-serde-derive-1) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-sha2" ,rust-sha2-0.9) + ("rust-structopt" ,rust-structopt-0.3) + ("rust-syscallz" ,rust-syscallz-0.15) + ("rust-tls-parser" ,rust-tls-parser-0.10) + ("rust-toml" ,rust-toml-0.5) + ("rust-users" ,rust-users-0.11)) + #:cargo-development-inputs + (("rust-boxxy" ,rust-boxxy-0.11)))) + (inputs + `(("libpcap" ,libpcap) + ("libseccomp" ,libseccomp))) + (home-page "https://github.com/kpcyrd/sniffglue") + (synopsis "Secure multithreaded packet sniffer") + (description + "This package provides a network sniffer written in Rust. Packets +are parsed concurrently using a thread pool to utilize all cpu cores. A goal +of the project is to be runnable on untrusted networks without crashing.") + (license license:gpl3))) + (define-public tectonic (package (name "tectonic") diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index fd67e4b8ba..359a345029 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> @@ -172,15 +172,14 @@ external dependencies.") (define-public samba (package (name "samba") - (version "4.13.4") + (version "4.13.10") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 - (base32 "0y2wc7njhyhg055krp878xfv9c3wbhrhzn02d5ich30hyxilrcx1")) - (patches (search-patches "samba-fix-fcntl-hint-detection.patch")) + (base32 "00q5hf2r71dyma785dckcyksv3082mqfgyy9q6k6rc6kqjwkirzh")) (modules '((guix build utils))) (snippet '(begin @@ -281,14 +280,14 @@ Desktops into Active Directory environments using the winbind daemon.") (define-public talloc (package (name "talloc") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/talloc/talloc-" version ".tar.gz")) (sha256 (base32 - "1mvv57srpzcc1qh6vjjyjhgpdlcw4bmmsxfz4j8pfk9qkvwkx817")))) + "1ala3l6v8qk2pwq97z1zdkj1isnfnrp1923srp2g22mxd0impsbb")))) (build-system gnu-build-system) (arguments '(#:phases @@ -348,14 +347,14 @@ destructors. It is the core memory allocator used in Samba.") (define-public tevent (package (name "tevent") - (version "0.10.2") + (version "0.11.0") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/tevent/tevent-" version ".tar.gz")) (sha256 (base32 - "15k6i8ad5lpxfjsjyq9h64zlyws8d3cm0vwdnaw8z1xjwli7hhpq")))) + "1fl2pj4p8p5fa2laykwf1sfjdw7pkw9slklj3vzc5ah8x348d6pf")))) (build-system gnu-build-system) (arguments '(#:phases @@ -368,7 +367,8 @@ destructors. It is the core memory allocator used in Samba.") (string-append "--prefix=" out) "--bundled-libraries=NONE"))))))) (native-inputs - `(("pkg-config" ,pkg-config) + `(("cmocka" ,cmocka) + ("pkg-config" ,pkg-config) ("python" ,python) ("which" ,which))) (propagated-inputs @@ -384,14 +384,14 @@ many event types, including timers, signals, and the classic file descriptor eve (define-public ldb (package (name "ldb") - (version "1.5.6") + (version "2.4.0") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "0nwpkqidsna4yz3vhjzzadm4hpviwnyk80yml8ay82gi1d6lg0pz")) + "10rd1z2llqz8xdx6m7yyxb9a118gx2xxwri18bhkkab9n1w55rvn")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 9b405a59af..00d094cc4b 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -23,14 +23,18 @@ (define-module (gnu packages scanner) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages compression) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages textutils) #:use-module (gnu packages xml) #:use-module (guix build-system gnu) #:use-module (guix download) @@ -190,6 +194,66 @@ proving access to any raster image scanner hardware (flatbed scanner, hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The package contains the library and drivers."))) +(define-public scanbd + (package + (name "scanbd") + (version "1.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/scanbd/releases/" + "scanbd-" version ".tgz")) + (sha256 + (base32 "0pvy4qirfjdfm8aj6x5rkbgl7hk3jfa2s21qkk8ic5dqfjjab75n")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--disable-debug" + "--sysconfdir=/etc") + #:phases + (modify-phases %standard-phases + (replace 'install + (lambda* (#:key make-flags outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (conf (string-append out "/etc/scanbd"))) + (apply invoke "make" "install" + ;; Install example configuration to the store, not /etc. + ;; These don't inherit from each other, so we need both. + (string-append "scanbdconfdir=" conf) + (string-append "scannerconfdir=" conf "/scanner.d") + make-flags)))) + (add-after 'install 'install-extra-documentation + ;; The README provides more detailed set-up instructions than the + ;; man page. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + ,name "-" ,version))) + (install-file "doc/README.txt" doc))))))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("dbus" ,dbus) + ("libconfuse" ,libconfuse) + ("sane-backends" ,sane-backends) + ("udev" ,eudev) + ("zlib" ,zlib))) + (home-page "https://scanbd.sourceforge.io") + (synopsis "Configurable scanner button monitor") + (description "Scanbd stands for scanner button daemon. It regulary polls +scanners for pressed buttons, function knob changes, or other events such +as (un)plugging the scanner or inserting and removing paper. Then it performs +the desired action(s) such as saving, copying, or e-mailing the image. + +Actions can be fully customized through scripts, based on any combination of +switch or knob settings. Events are also signaled over D-Bus and scans can +even be triggered over D-Bus from foreign applications. + +Scanbd talks to scanners through the @acronym{SANE, Scanner Access Now Easy} +back-end library. This means that it supports almost all existing scanners, +provided the driver also exposes the buttons.") + (license license:gpl2+))) + (define-public xsane (package (name "xsane") diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 3a87dad69f..ea1adb99ee 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -90,7 +90,7 @@ (define-public mit-scheme (package (name "mit-scheme") - (version "10.1.3") + (version "11.2") (source #f) ; see below (outputs '("out" "doc")) (build-system gnu-build-system) @@ -173,11 +173,14 @@ ("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool) - ("texlive" ,(texlive-updmap.cfg (list texlive-tex-texinfo))) + ("texlive" ,(texlive-updmap.cfg (list texlive-tex-texinfo + texlive-epsf))) ("texinfo" ,texinfo) + ("ghostscript" ,ghostscript) ("m4" ,m4))) (inputs `(("libx11" ,libx11) + ("ncurses" ,ncurses) ("source" @@ -193,8 +196,8 @@ (match (%current-system) ("x86_64-linux" (string-append version "-x86-64")) - ("i686-linux" - (string-append version "-i386")) + ("aarch64-linux" + (string-append version "-aarch64le")) (_ (string-append "c-" version))) ".tar.gz")) @@ -202,10 +205,10 @@ (match (%current-system) ("x86_64-linux" (base32 - "03m7cc035w3avs91j2pcz9f15ssgvgp3rm045d1vbydqrkzfyw8k")) - ("i686-linux" + "17822hs9y07vcviv2af17p3va7qh79dird49nj50bwi9rz64ia3w")) + ("aarch64-linux" (base32 - "05sjyz90xxfnmi87qv8x0yx0fcallnzl1dciygdafp317pn489is")) + "11maixldk20wqb5js5p4imq221zz9nf27649v9pqkdf8fv7rnrs9")) (_ (base32 "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")))))))) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 362eb0d95e..44d5b631ca 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2021 Vinicius Monego <monego@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,7 +25,7 @@ (define-module (gnu packages search) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ bsd-3 x11 perl-license)) + #:select (gpl2 gpl2+ gpl3+ agpl3+ lgpl2.1+ bsd-3 x11 perl-license)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -43,9 +44,11 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pdf) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sphinx) + #:use-module (gnu packages time) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml)) @@ -207,6 +210,54 @@ files and directories.") command line tool for interacting with libtocc.") (license gpl3+))) +(define-public searx + (package + (name "searx") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/searx/searx") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0ghkx8g8jnh8yd46p4mlbjn2zm12nx27v7qflr4c8xhlgi0px0mh")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ;what tests do is make online requests to each engine + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + ;; These packages are outdated in Guix at the time of packaging. + ;; When they are updated, remove corresponding substitutions. + ;; Tests can run after build with 'searx-checker' tool in /bin. + (substitute* "requirements.txt" + (("flask-babel==2.0.0") "flask-babel>=1.0.0") + (("jinja2==2.11.3") "jinja2>=2.11.2") + (("lxml==4.6.3") "lxml>=4.4.2") + (("pygments==2.8.0") "pygments>=2.7.3") + (("requests\\[socks\\]==2.25.1") "requests>=2.25") + (("==") ">="))))))) + (propagated-inputs + `(("python-babel" ,python-babel) + ("python-certifi" ,python-certifi) + ("python-dateutil" ,python-dateutil) + ("python-flask" ,python-flask) + ("python-flask-babel" ,python-flask-babel) + ("python-idna" ,python-idna) + ("python-jinja2" ,python-jinja2) + ("python-langdetect" ,python-langdetect) + ("python-lxml" ,python-lxml) + ("python-pygments" ,python-pygments) + ("python-pyyaml" ,python-pyyaml) + ("python-requests" ,python-requests))) + (home-page "https://searx.github.io/searx/") + (synopsis "Privacy-respecting metasearch engine") + (description "Searx is a privacy-respecting, hackable metasearch engine.") + (license agpl3+))) + (define-public bool (package (name "bool") diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index f722c27cd7..5304f90649 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2021 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Mike Gerwitz <mtg@gnu.org> ;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> @@ -12,6 +12,7 @@ ;;; Copyright © 2021 Antero Mejr <antero@kodmin.com> ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Sergey Trofimov <sarg@sarg.org.ru> +;;; Copyright © 2021 Dhruvin Gandhi <contact@dhruvin.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -225,14 +226,14 @@ with a PKCS #11 Cryptographic Token Interface.") (define-public pcsc-lite (package (name "pcsc-lite") - (version "1.9.1") + (version "1.9.3") (source (origin (method url-fetch) (uri (string-append "https://pcsclite.apdu.fr/files/" "pcsc-lite-" version ".tar.bz2")) (sha256 (base32 - "0fk8bvjpcci43iq2jzlvkml8bzjxclhxlg291ykk7a3ng2dpii3k")))) + "0n9y9m1wr5bwanpnylpdza3sf7lawi63jjizrl1aj5yxf4y46mk9")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--enable-usbdropdir=/var/lib/pcsc/drivers" @@ -659,6 +660,23 @@ implementing a Relying Party.") (base32 "11rsmcaj60k3y5m5gdhr2nbbz0w5dm3m04klyxz0fh5hnpcmr7fm")))) (build-system python-build-system) + (arguments + '(#:modules ((srfi srfi-1) + (guix build utils) + (guix build python-build-system)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-libykpers-reference + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ykman/driver_otp.py" + (("Ykpers\\('ykpers-1', '1'\\)") + (string-append + "Ykpers('" + (find (negate symbolic-link?) + (find-files (assoc-ref inputs "yubikey-personalization") + "^libykpers-.*\\.so\\..*")) + "')"))) + #t))))) (propagated-inputs `(("python-six" ,python-six) ("python-pyscard" ,python-pyscard) diff --git a/gnu/packages/selinux.scm b/gnu/packages/selinux.scm index 8a75538d10..ecc18865cb 100644 --- a/gnu/packages/selinux.scm +++ b/gnu/packages/selinux.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -69,6 +70,7 @@ (string-append "MAN3DIR=" out "/share/man/man3") (string-append "MAN5DIR=" out "/share/man/man5") (string-append "MAN8DIR=" out "/share/man/man8") + (string-append "CFLAGS=-Wno-error") (string-append "LDFLAGS=-Wl,-rpath=" out "/lib") (string-append "CC=" ,(cc-for-target)))) #:phases diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 7fd083f93d..c8dcf65905 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -1,9 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2017, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2017, 2019, 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2016, 2019, 2020 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr> ;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net> ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> @@ -11,6 +11,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com> ;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net> +;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,6 +32,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix hg-download) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cmake) @@ -333,6 +335,74 @@ that implements both the msgpack and msgpack-rpc specifications.") (inputs `(("lua" ,lua-5.2))))) +(define-public libyaml + (package + (name "libyaml") + (version "0.2.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://pyyaml.org/download/libyaml/yaml-" + version ".tar.gz")) + (sha256 + (base32 + "1x4fcw13r3lqy8ndydr3ili87wicplw2awbcv6r21qgyfndswhn6")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) + (home-page "https://pyyaml.org/wiki/LibYAML") + (synopsis "YAML 1.1 parser and emitter written in C") + (description + "LibYAML is a YAML 1.1 parser and emitter written in C.") + (license license:expat))) + +(define-public libyaml+static + (package + (inherit libyaml) + (name "libyaml+static") + (arguments + '(#:configure-flags '("--enable-static"))))) + +(define-public libcyaml + (package + (name "libcyaml") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tlsa/libcyaml") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (patches (search-patches "libcyaml-libyaml-compat.patch")) + (sha256 + (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "CC=gcc")) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (replace 'check + (lambda _ + (setenv "CC" "gcc") + (invoke "make" "test")))))) + (inputs + `(("libyaml" ,libyaml))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "C library for reading and writing YAML") + (description + "LibCYAML is a C library written in ISO C11 for reading and writing +structured YAML documents. The fundamental idea behind CYAML is to allow +applications to construct schemas which describe both the permissible +structure of the YAML documents to read/write, and the C data structure(s) +in which the loaded data is arranged in memory.") + (home-page "https://github.com/tlsa/libcyaml") + (license license:isc))) + (define-public yaml-cpp (package (name "yaml-cpp") @@ -462,21 +532,23 @@ it is comparable to protobuf.") (define-public python-ruamel.yaml (package (name "python-ruamel.yaml") - (version "0.15.83") + (version "0.16.13") (source (origin (method url-fetch) (uri (pypi-uri "ruamel.yaml" version)) (sha256 (base32 - "0p4i8ad28cbbbjja8b9274irkhnphhvhap3aym6yb8xfp1d72kpw")))) + "0hm9yg785f46bkrgqknd6fdvmkby9dpzjnm0b63qf0i748acaj5v")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-ruamel.yaml.clib" ,python-ruamel.yaml.clib))) (arguments `(;; TODO: Tests require packaging "ruamel.std.pathlib". #:tests? #f)) - (home-page "https://bitbucket.org/ruamel/yaml") + (home-page "https://sourceforge.net/projects/ruamel-yaml/") (synopsis "YAML 1.2 parser/emitter") (description "This package provides YAML parser/emitter that supports roundtrip @@ -486,8 +558,43 @@ and has round-trip loaders and dumpers. It supports comments. Block style and key ordering are kept, so you can diff the source.") (license license:expat))) -(define-public python2-ruamel.yaml - (package-with-python2 python-ruamel.yaml)) +(define-public python-ruamel.yaml.clib + (package + (name "python-ruamel.yaml.clib") + (version "0.2.6") + (source + (origin + ;; pypi release code has cythonized code without corresponding source. + (method hg-fetch) + (uri (hg-reference + (url "http://hg.code.sf.net/p/ruamel-yaml-clib/code") + (changeset version))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "05m3y7pjfbaarqbbgw1k6gs6cnnmxnwadjipxvw1aaaqk3s236cs")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file "_ruamel_yaml.c"))))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; This package is split from python-ruamel.yaml and + ; depends on modules from it for the test suite. + #:phases + (modify-phases %standard-phases + (delete 'sanity-check) ; Depends on python-ruamel.yaml + (add-after 'unpack 'cythonize-code + (lambda _ + (invoke "cython" "_ruamel_yaml.pyx")))))) + (native-inputs + `(("python-cython" ,python-cython))) + (home-page "https://sourceforge.net/p/ruamel-yaml-clib/code/ci/default/tree") + (synopsis "C version of reader, parser and emitter for ruamel.yaml") + (description + "This package provides a C version of the reader, parser and emitter for +@code{ruamel.yaml} derived from libyaml.") + (license license:expat))) (define-public python-cbor (package @@ -514,22 +621,28 @@ to generate and parse. The two primary functions are @code{cbor.loads} and (define-public flatbuffers (package (name "flatbuffers") - (version "1.10.0") + (version "2.0.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/google/flatbuffers/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/flatbuffers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0z4swldxs0s31hnkqdhsbfmc8vx3p7zsvmqaw4l31r2iikdy651p")))) + "1zbf6bdpps8369r1ql00irxrp58jnalycc8jcapb8iqg654vlfz8")))) (build-system cmake-build-system) (arguments '(#:build-type "Release" #:configure-flags - (list (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") "/lib")))) + (list "-DFLATBUFFERS_BUILD_SHAREDLIB=ON" + (string-append "-DCMAKE_INSTALL_LIBDIR=" + (assoc-ref %outputs "out") "/lib")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'make-writable + (lambda _ (for-each make-file-writable (find-files "."))))))) (home-page "https://google.github.io/flatbuffers/") (synopsis "Memory-efficient serialization library") (description "FlatBuffers is a cross-platform serialization library for C++, diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 44a77e1de5..7c8c1aeef6 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018 Nikita <nikita@n0.is> ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> -;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2017, 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> @@ -18,6 +18,7 @@ ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Marius Bakke <marius@gnu.org> ;;; Copyright © 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,14 +79,14 @@ (define-public dash (package (name "dash") - (version "0.5.11.4") + (version "0.5.11.5") (source (origin (method url-fetch) (uri (string-append "http://gondor.apana.org.au/~herbert/dash/files/" "dash-" version ".tar.gz")) (sha256 - (base32 "13g06zqfy4n7jkrbb5l1vw0xcnjvq76i16al8fjc5g33afxbf5af")) + (base32 "1g93w4lpn3jfwn2gaq17a1lxdig11x0j7gr9byc3fy8zi4882xyv")) (modules '((guix build utils))) (snippet '(begin @@ -840,14 +841,14 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.8.11") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "12fhcqgv0sm3i9i4qa7yggjf2qsbjlmi6yblwxb735f86357ps8a")))) + (base32 "0jm9bmjhdpa30i16glssp735f4yqijl1zkmyywifkpxis4kwmqkg")))) (build-system gnu-build-system) (arguments `(#:strip-binaries? #f ; strip breaks the binary @@ -865,11 +866,11 @@ Shell (pdksh).") ;; The tests are not distributed in the tarballs but upstream ;; recommends running this smoke test. ;; https://github.com/oilshell/oil/blob/release/0.8.0/INSTALL.txt#L38-L48 - (lambda _ - (let* ((oil "_bin/oil.ovm")) - (invoke/quiet oil "osh" "-c" "echo hi") - (invoke/quiet oil "osh" "-n" "configure") - #t)))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (let* ((oil "_bin/oil.ovm")) + (invoke/quiet oil "osh" "-c" "echo hi") + (invoke/quiet oil "osh" "-n" "configure")))))))) (inputs `(("readline" ,readline))) (home-page "https://www.oilshell.org") @@ -956,7 +957,7 @@ files and text.") (define-public nushell (package (name "nushell") - (version "0.32.0") + (version "0.36.0") (source (origin (method git-fetch) @@ -965,51 +966,67 @@ files and text.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1wj054rzv88ys4ask4zp7crrw0dxrck8svlj3i16qqd8x5dnyhqs")))) + (base32 "1db521jrs0yxwmvkkl8wssa8qyi0m62n69l7xxl2gpyz1v8nvw76")))) (build-system cargo-build-system) (arguments - `(#:tests? #false ;missing files + `(#:rust ,rust-1.52 + #:tests? #false ;missing files #:features '("extra") #:cargo-inputs - (("rust-clap" ,rust-clap-2) - ("rust-ctrlc" ,rust-ctrlc-3) + (("rust-ctrlc" ,rust-ctrlc-3) ("rust-futures" ,rust-futures-0.3) ("rust-itertools" ,rust-itertools-0.10) - ("rust-log" ,rust-log-0.4) - ("rust-nu-cli" ,rust-nu-cli-0.32) - ("rust-nu-command" ,rust-nu-command-0.32) - ("rust-nu-data" ,rust-nu-data-0.32) - ("rust-nu-engine" ,rust-nu-engine-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-parser" ,rust-nu-parser-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) - ("rust-nu-plugin-binaryview" ,rust-nu-plugin-binaryview-0.32) - ("rust-nu-plugin-chart" ,rust-nu-plugin-chart-0.32) - ("rust-nu-plugin-fetch" ,rust-nu-plugin-fetch-0.32) - ("rust-nu-plugin-from-bson" ,rust-nu-plugin-from-bson-0.32) - ("rust-nu-plugin-from-sqlite" ,rust-nu-plugin-from-sqlite-0.32) - ("rust-nu-plugin-inc" ,rust-nu-plugin-inc-0.32) - ("rust-nu-plugin-match" ,rust-nu-plugin-match-0.32) - ("rust-nu-plugin-post" ,rust-nu-plugin-post-0.32) - ("rust-nu-plugin-ps" ,rust-nu-plugin-ps-0.32) - ("rust-nu-plugin-query-json" ,rust-nu-plugin-query-json-0.32) - ("rust-nu-plugin-s3" ,rust-nu-plugin-s3-0.32) - ("rust-nu-plugin-selector" ,rust-nu-plugin-selector-0.32) - ("rust-nu-plugin-start" ,rust-nu-plugin-start-0.32) - ("rust-nu-plugin-sys" ,rust-nu-plugin-sys-0.32) - ("rust-nu-plugin-textview" ,rust-nu-plugin-textview-0.32) - ("rust-nu-plugin-to-bson" ,rust-nu-plugin-to-bson-0.32) - ("rust-nu-plugin-to-sqlite" ,rust-nu-plugin-to-sqlite-0.32) - ("rust-nu-plugin-tree" ,rust-nu-plugin-tree-0.32) - ("rust-nu-plugin-xpath" ,rust-nu-plugin-xpath-0.32) - ("rust-pretty-env-logger" ,rust-pretty-env-logger-0.4)) + ("rust-mp4" ,rust-mp4-0.8) + ("rust-nu-cli" ,rust-nu-cli-0.36) + ("rust-nu-command" ,rust-nu-command-0.36) + ("rust-nu-completion" ,rust-nu-completion-0.36) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-engine" ,rust-nu-engine-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-parser" ,rust-nu-parser-0.36) + ("rust-nu-path" ,rust-nu-path-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) + ("rust-nu-plugin-binaryview" + ,rust-nu-plugin-binaryview-0.36) + ("rust-nu-plugin-chart" + ,rust-nu-plugin-chart-0.36) + ("rust-nu-plugin-fetch" + ,rust-nu-plugin-fetch-0.36) + ("rust-nu-plugin-from-bson" + ,rust-nu-plugin-from-bson-0.36) + ("rust-nu-plugin-from-sqlite" + ,rust-nu-plugin-from-sqlite-0.36) + ("rust-nu-plugin-inc" ,rust-nu-plugin-inc-0.36) + ("rust-nu-plugin-match" + ,rust-nu-plugin-match-0.36) + ("rust-nu-plugin-post" ,rust-nu-plugin-post-0.36) + ("rust-nu-plugin-ps" ,rust-nu-plugin-ps-0.36) + ("rust-nu-plugin-query-json" + ,rust-nu-plugin-query-json-0.36) + ("rust-nu-plugin-s3" ,rust-nu-plugin-s3-0.36) + ("rust-nu-plugin-selector" + ,rust-nu-plugin-selector-0.36) + ("rust-nu-plugin-start" + ,rust-nu-plugin-start-0.36) + ("rust-nu-plugin-sys" ,rust-nu-plugin-sys-0.36) + ("rust-nu-plugin-textview" + ,rust-nu-plugin-textview-0.36) + ("rust-nu-plugin-to-bson" + ,rust-nu-plugin-to-bson-0.36) + ("rust-nu-plugin-to-sqlite" + ,rust-nu-plugin-to-sqlite-0.36) + ("rust-nu-plugin-tree" ,rust-nu-plugin-tree-0.36) + ("rust-nu-plugin-xpath" + ,rust-nu-plugin-xpath-0.36)) #:cargo-development-inputs (("rust-dunce" ,rust-dunce-1) ("rust-hamcrest2" ,rust-hamcrest2-0.3) - ("rust-nu-test-support" ,rust-nu-test-support-0.32) + ("rust-nu-test-support" + ,rust-nu-test-support-0.36) + ("rust-rstest" ,rust-rstest-0.10) ("rust-serial-test" ,rust-serial-test-0.5)))) (native-inputs `(("pkg-config" ,pkg-config) @@ -1033,22 +1050,24 @@ directory. These values can be piped through a series of steps, in a series of commands called a ``pipeline''.") (license license:expat))) -(define-public rust-nu-ansi-term-0.32 +(define-public rust-nu-ansi-term-0.36 (package (name "rust-nu-ansi-term") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-ansi-term" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1dz9gf2rbka2v0rz2yh6dw8qy3qmbq630scs4grpq0afvpnwqb8p")))) + (base32 "0p68s0djx4xr93vn7lh8774srazjw4dxsi3px8c8mbv0a4ixg5wr")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-serde" ,rust-serde-1) + (("rust-itertools" ,rust-itertools-0.10) + ("rust-overload" ,rust-overload-0.1) + ("rust-serde" ,rust-serde-1) ("rust-winapi" ,rust-winapi-0.3)))) (home-page "https://www.nushell.sh") (synopsis "Library for ANSI terminal colors and styles (bold, underline)") @@ -1057,159 +1076,79 @@ of commands called a ``pipeline''.") underline).") (license license:expat))) -(define-public rust-nu-cli-0.32 +(define-public rust-nu-cli-0.36 (package (name "rust-nu-cli") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-cli" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1cycw1g7qzy9lhj2vhaz4sh02r2dn5mxv42kdv2iszyvr4hb150l")))) + (base32 "1zb6x6knn1hrpkyryniq73vkrgg9arqnxy50klm8963dnq49082v")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-arboard" ,rust-arboard-1) - ("rust-async-recursion" - ,rust-async-recursion-0.3) - ("rust-async-trait" ,rust-async-trait-0.1) - ("rust-base64" ,rust-base64-0.13) - ("rust-bigdecimal" ,rust-bigdecimal-0.2) - ("rust-byte-unit" ,rust-byte-unit-4) - ("rust-bytes" ,rust-bytes-1) - ("rust-calamine" ,rust-calamine-0.17) - ("rust-chrono" ,rust-chrono-0.4) - ("rust-chrono-tz" ,rust-chrono-tz-0.5) - ("rust-clap" ,rust-clap-2) - ("rust-codespan-reporting" - ,rust-codespan-reporting-0.11) - ("rust-csv" ,rust-csv-1) - ("rust-ctrlc" ,rust-ctrlc-3) - ("rust-derive-new" ,rust-derive-new-0.5) - ("rust-directories-next" - ,rust-directories-next-2) - ("rust-dirs-next" ,rust-dirs-next-2) - ("rust-dtparse" ,rust-dtparse-1) - ("rust-dunce" ,rust-dunce-1) - ("rust-eml-parser" ,rust-eml-parser-0.1) - ("rust-encoding-rs" ,rust-encoding-rs-0.8) - ("rust-filesize" ,rust-filesize-0.2) - ("rust-fs-extra" ,rust-fs-extra-1) - ("rust-futures" ,rust-futures-0.3) - ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-futures-codec" ,rust-futures-codec-0.4) - ("rust-getset" ,rust-getset-0.1) - ("rust-glob" ,rust-glob-0.3) - ("rust-htmlescape" ,rust-htmlescape-0.3) - ("rust-ical" ,rust-ical-0.7) + (("rust-ctrlc" ,rust-ctrlc-3) ("rust-indexmap" ,rust-indexmap-1) - ("rust-inflector" ,rust-inflector-0.11) - ("rust-itertools" ,rust-itertools-0.10) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) - ("rust-meval" ,rust-meval-0.2) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-command" ,rust-nu-command-0.32) - ("rust-nu-data" ,rust-nu-data-0.32) - ("rust-nu-engine" ,rust-nu-engine-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-json" ,rust-nu-json-0.32) - ("rust-nu-parser" ,rust-nu-parser-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-stream" ,rust-nu-stream-0.32) - ("rust-nu-table" ,rust-nu-table-0.32) - ("rust-nu-test-support" - ,rust-nu-test-support-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) - ("rust-num-bigint" ,rust-num-bigint-0.3) - ("rust-num-format" ,rust-num-format-0.4) - ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-parking-lot" ,rust-parking-lot-0.11) - ("rust-pin-utils" ,rust-pin-utils-0.1) - ("rust-ptree" ,rust-ptree-0.3) - ("rust-query-interface" - ,rust-query-interface-0.3) - ("rust-quick-xml" ,rust-quick-xml-0.21) - ("rust-quickcheck" ,rust-quickcheck-1) - ("rust-quickcheck-macros" ,rust-quickcheck-macros-1) - ("rust-rand" ,rust-rand-0.8) - ("rust-rayon" ,rust-rayon-1) - ("rust-regex" ,rust-regex-1) - ("rust-roxmltree" ,rust-roxmltree-0.14) - ("rust-rusqlite" ,rust-rusqlite-0.25) - ("rust-rust-embed" ,rust-rust-embed-5) - ("rust-rustyline" ,rust-rustyline-8) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-command" ,rust-nu-command-0.36) + ("rust-nu-completion" ,rust-nu-completion-0.36) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-engine" ,rust-nu-engine-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-parser" ,rust-nu-parser-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-stream" ,rust-nu-stream-0.36) + ("rust-pretty-env-logger" + ,rust-pretty-env-logger-0.4) + ("rust-rustyline" ,rust-rustyline-9) ("rust-serde" ,rust-serde-1) - ("rust-serde-bytes" ,rust-serde-bytes-0.11) - ("rust-serde-ini" ,rust-serde-ini-0.2) - ("rust-serde-json" ,rust-serde-json-1) - ("rust-serde-urlencoded" - ,rust-serde-urlencoded-0.7) ("rust-serde-yaml" ,rust-serde-yaml-0.8) - ("rust-sha2" ,rust-sha2-0.9) - ("rust-shadow-rs" ,rust-shadow-rs-0.5) - ("rust-shadow-rs" ,rust-shadow-rs-0.5) - ("rust-shellexpand" ,rust-shellexpand-2) + ("rust-shadow-rs" ,rust-shadow-rs-0.6) + ("rust-shadow-rs" ,rust-shadow-rs-0.6) ("rust-strip-ansi-escapes" - ,rust-strip-ansi-escapes-0.1) - ("rust-sxd-document" ,rust-sxd-document-0.3) - ("rust-sxd-xpath" ,rust-sxd-xpath-0.4) - ("rust-tempfile" ,rust-tempfile-3) - ("rust-term" ,rust-term-0.7) - ("rust-term-size" ,rust-term-size-0.3) - ("rust-termcolor" ,rust-termcolor-1) - ("rust-titlecase" ,rust-titlecase-1) - ("rust-toml" ,rust-toml-0.5) - ("rust-trash" ,rust-trash-1) - ("rust-umask" ,rust-umask-1) - ("rust-unicode-segmentation" - ,rust-unicode-segmentation-1) - ("rust-url" ,rust-url-2) - ("rust-users" ,rust-users-0.11) - ("rust-uuid" ,rust-uuid-0.8) - ("rust-which" ,rust-which-4) - ("rust-zip" ,rust-zip-0.5)))) + ,rust-strip-ansi-escapes-0.1)))) (home-page "https://www.nushell.sh") (synopsis "CLI for nushell") (description "CLI for nushell") (license license:expat))) -(define-public rust-nu-command-0.32 +(define-public rust-nu-command-0.36 (package (name "rust-nu-command") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-command" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0dicwzw60n4nfsmqxa9b1d9gnaxip0d6irsw15dyydnnpmsyvr01")))) + (base32 "0690iw3wn0jas04471dyvsqswbwxpab2qp2r3r5ma0za98s4p3ry")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-arboard" ,rust-arboard-1) ("rust-base64" ,rust-base64-0.13) - ("rust-bigdecimal" ,rust-bigdecimal-0.2) + ("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-byte-unit" ,rust-byte-unit-4) ("rust-bytes" ,rust-bytes-1) - ("rust-calamine" ,rust-calamine-0.17) + ("rust-calamine" ,rust-calamine-0.18) ("rust-chrono" ,rust-chrono-0.4) ("rust-chrono-tz" ,rust-chrono-tz-0.5) - ("rust-clap" ,rust-clap-2) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) ("rust-crossterm" ,rust-crossterm-0.19) ("rust-csv" ,rust-csv-1) ("rust-ctrlc" ,rust-ctrlc-3) ("rust-derive-new" ,rust-derive-new-0.5) + ("rust-digest" ,rust-digest-0.9) ("rust-directories-next" ,rust-directories-next-2) ("rust-dirs-next" ,rust-dirs-next-2) @@ -1229,41 +1168,44 @@ underline).") ("rust-itertools" ,rust-itertools-0.10) ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) - ("rust-md5" ,rust-md5-0.7) + ("rust-md-5" ,rust-md-5-0.9) ("rust-meval" ,rust-meval-0.2) ("rust-minus" ,rust-minus-3) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-data" ,rust-nu-data-0.32) - ("rust-nu-engine" ,rust-nu-engine-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-json" ,rust-nu-json-0.32) - ("rust-nu-parser" ,rust-nu-parser-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-stream" ,rust-nu-stream-0.32) - ("rust-nu-table" ,rust-nu-table-0.32) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-engine" ,rust-nu-engine-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-json" ,rust-nu-json-0.36) + ("rust-nu-parser" ,rust-nu-parser-0.36) + ("rust-nu-path" ,rust-nu-path-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-serde" ,rust-nu-serde-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-stream" ,rust-nu-stream-0.36) + ("rust-nu-table" ,rust-nu-table-0.36) ("rust-nu-test-support" - ,rust-nu-test-support-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ,rust-nu-test-support-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-format" ,rust-num-format-0.4) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-parking-lot" ,rust-parking-lot-0.11) ("rust-pin-utils" ,rust-pin-utils-0.1) - ("rust-polars" ,rust-polars-0.13) - ("rust-ptree" ,rust-ptree-0.3) + ("rust-polars" ,rust-polars-0.15) ("rust-query-interface" ,rust-query-interface-0.3) - ("rust-quick-xml" ,rust-quick-xml-0.21) - ("rust-rand" ,rust-rand-0.7) + ("rust-quick-xml" ,rust-quick-xml-0.22) + ("rust-quickcheck-macros" + ,rust-quickcheck-macros-1) + ("rust-rand" ,rust-rand-0.8) ("rust-rayon" ,rust-rayon-1) ("rust-regex" ,rust-regex-1) ("rust-roxmltree" ,rust-roxmltree-0.14) ("rust-rusqlite" ,rust-rusqlite-0.25) ("rust-rust-embed" ,rust-rust-embed-5) - ("rust-rustyline" ,rust-rustyline-8) + ("rust-rustyline" ,rust-rustyline-9) ("rust-serde" ,rust-serde-1) ("rust-serde-bytes" ,rust-serde-bytes-0.11) ("rust-serde-ini" ,rust-serde-ini-0.2) @@ -1272,8 +1214,7 @@ underline).") ,rust-serde-urlencoded-0.7) ("rust-serde-yaml" ,rust-serde-yaml-0.8) ("rust-sha2" ,rust-sha2-0.9) - ("rust-shadow-rs" ,rust-shadow-rs-0.5) - ("rust-shellexpand" ,rust-shellexpand-2) + ("rust-shadow-rs" ,rust-shadow-rs-0.6) ("rust-strip-ansi-escapes" ,rust-strip-ansi-escapes-0.1) ("rust-sxd-document" ,rust-sxd-document-0.3) @@ -1282,6 +1223,7 @@ underline).") ("rust-term" ,rust-term-0.7) ("rust-term-size" ,rust-term-size-0.3) ("rust-termcolor" ,rust-termcolor-1) + ("rust-thiserror" ,rust-thiserror-1) ("rust-titlecase" ,rust-titlecase-1) ("rust-toml" ,rust-toml-0.5) ("rust-trash" ,rust-trash-1) @@ -1298,22 +1240,56 @@ underline).") (description "CLI for nushell") (license license:expat))) -(define-public rust-nu-data-0.32 +(define-public rust-nu-completion-0.36 + (package + (name "rust-nu-completion") + (version "0.36.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nu-completion" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1kmn80cwpi8dd25vxm4r7ap35igfy4mqax20z31c51qwj2a8r6cx")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-dirs-next" ,rust-dirs-next-2) + ("rust-indexmap" ,rust-indexmap-1) + ("rust-is-executable" ,rust-is-executable-1) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-engine" ,rust-nu-engine-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-parser" ,rust-nu-parser-0.36) + ("rust-nu-path" ,rust-nu-path-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-test-support" + ,rust-nu-test-support-0.36)))) + (home-page "https://www.nushell.sh") + (synopsis "Completions for nushell") + (description "Completions for nushell") + (license license:expat))) + +(define-public rust-nu-data-0.36 (package (name "rust-nu-data") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-data" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0qgv84cxm90vr2d25c304l68z5h6j9x7w9mz6a2j18vzhnnqir8l")))) + (base32 "02m4zyrgaxkpvvbknqang9cqbzqmbp8bvmvisxp5yijwadzjr66y")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-byte-unit" ,rust-byte-unit-4) ("rust-chrono" ,rust-chrono-0.4) ("rust-common-path" ,rust-common-path-1) @@ -1324,14 +1300,14 @@ underline).") ("rust-getset" ,rust-getset-0.1) ("rust-indexmap" ,rust-indexmap-1) ("rust-log" ,rust-log-0.4) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-table" ,rust-nu-table-0.32) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-table" ,rust-nu-table-0.36) ("rust-nu-test-support" - ,rust-nu-test-support-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ,rust-nu-test-support-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-format" ,rust-num-format-0.4) ("rust-num-traits" ,rust-num-traits-0.2) @@ -1347,17 +1323,17 @@ underline).") (description "CLI for nushell") (license license:expat))) -(define-public rust-nu-engine-0.32 +(define-public rust-nu-engine-0.36 (package (name "rust-nu-engine") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-engine" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0wzlcx53hc9s5djl9lv44j6b7fz1g03spa0f29ndjjb1ckmhqk2s")))) + (base32 "03nngv2pcn10ydc1wq3chvd31rzgh4j7jrvkgmgps4ml1avn6yfr")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1366,7 +1342,7 @@ underline).") ("rust-async-recursion" ,rust-async-recursion-0.3) ("rust-async-trait" ,rust-async-trait-0.1) - ("rust-bigdecimal" ,rust-bigdecimal-0.2) + ("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-bytes" ,rust-bytes-0.5) ("rust-chrono" ,rust-chrono-0.4) ("rust-codespan-reporting" @@ -1385,18 +1361,20 @@ underline).") ("rust-glob" ,rust-glob-0.3) ("rust-indexmap" ,rust-indexmap-1) ("rust-itertools" ,rust-itertools-0.10) + ("rust-lazy-static" ,rust-lazy-static-1) ("rust-log" ,rust-log-0.4) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-data" ,rust-nu-data-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-parser" ,rust-nu-parser-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-stream" ,rust-nu-stream-0.32) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-parser" ,rust-nu-parser-0.36) + ("rust-nu-path" ,rust-nu-path-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-stream" ,rust-nu-stream-0.36) ("rust-nu-test-support" - ,rust-nu-test-support-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ,rust-nu-test-support-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-format" ,rust-num-format-0.4) ("rust-num-traits" ,rust-num-traits-0.2) @@ -1416,29 +1394,29 @@ underline).") (description "Core commands for nushell") (license license:expat))) -(define-public rust-nu-errors-0.32 +(define-public rust-nu-errors-0.36 (package (name "rust-nu-errors") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-errors" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "04pgg4v1q5np7c99jvbfkbkwwr9jdrn99805v774vpddw40psbn9")))) + (base32 "0k5xpfl9igz99sf4czhc9zrgkzfza915a9isvkm0kda2zyy1fnwf")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) ("rust-derive-new" ,rust-derive-new-0.5) ("rust-getset" ,rust-getset-0.1) ("rust-glob" ,rust-glob-0.3) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-serde" ,rust-serde-1) @@ -1450,17 +1428,17 @@ underline).") (description "Core error subsystem for Nushell") (license license:expat))) -(define-public rust-nu-json-0.32 +(define-public rust-nu-json-0.36 (package (name "rust-nu-json") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-json" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1ia7sr7z1vna9mxb079vipc0wc2kky4l13pkpiq881h0nxcik3b3")))) + (base32 "145h7npb8j24x7a8mggqbvafssc0qmfh53azvp88a3svv4n5q16x")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1476,22 +1454,22 @@ underline).") (description "This package is a fork of @code{serde-hjson}.") (license license:expat))) -(define-public rust-nu-parser-0.32 +(define-public rust-nu-parser-0.36 (package (name "rust-nu-parser") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-parser" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0q00pbajyv23w2qrw2c07zyfwij2dxkbnk7nxjiwh2igyzvb518a")))) + (base32 "1i3wyvpvv7xsdjlvl7c6hpic4dcsqbvvfppdb8z298wkk8v65hd4")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-codespan-reporting" ,rust-codespan-reporting-0.11) ("rust-derive-new" ,rust-derive-new-0.5) @@ -1501,25 +1479,47 @@ underline).") ("rust-indexmap" ,rust-indexmap-1) ("rust-itertools" ,rust-itertools-0.10) ("rust-log" ,rust-log-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-path" ,rust-nu-path-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-nu-test-support" - ,rust-nu-test-support-0.32) + ,rust-nu-test-support-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-serde" ,rust-serde-1) - ("rust-shellexpand" ,rust-shellexpand-2) ("rust-smart-default" ,rust-smart-default-0.6)))) (home-page "https://www.nushell.sh") (synopsis "Nushell parser") (description "Nushell parser") (license license:expat))) -(define-public rust-nu-plugin-0.32 +(define-public rust-nu-path-0.36 + (package + (name "rust-nu-path") + (version "0.36.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nu-path" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1pjx76zblqmpllkv3p6hrf5my85xf9jwds0v067a9d3nfpm2c46g")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-dirs-next" ,rust-dirs-next-2) + ("rust-dunce" ,rust-dunce-1)))) + (home-page "https://www.nushell.sh") + (synopsis "Nushell parser") + (description "Nushell parser") + (license license:expat))) + +(define-public rust-nu-plugin-0.36 (package (name "rust-nu-plugin") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) @@ -1527,19 +1527,19 @@ underline).") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0nr9b2xxa3as0fm7chpwgw92ri4aj5vdk7ci9806ach92y7dmbqr")))) + (base32 "08qll1q26igfjkp6xc2gd6rkpw379x828wan4xsh1dmaspikvqh9")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-indexmap" ,rust-indexmap-1) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-nu-test-support" - ,rust-nu-test-support-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ,rust-nu-test-support-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-serde" ,rust-serde-1) ("rust-serde-json" ,rust-serde-json-1)))) @@ -1548,17 +1548,17 @@ underline).") (description "Nushell Plugin") (license license:expat))) -(define-public rust-nu-plugin-binaryview-0.32 +(define-public rust-nu-plugin-binaryview-0.36 (package (name "rust-nu-plugin-binaryview") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_binaryview" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0af5vpww0awpbc20l25z6yrbd613q54i3m7cln9qj9waknhhgr8s")))) + (base32 "1ma52kw575bq5552x6pz5dzfwj1n33c1z27p9md0iw1zl1zc79zm")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1566,12 +1566,12 @@ underline).") (("rust-crossterm" ,rust-crossterm-0.19) ("rust-image" ,rust-image-0.22) ("rust-neso" ,rust-neso-0.5) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-pretty-hex" ,rust-nu-pretty-hex-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-rawkey" ,rust-rawkey-0.1)))) (home-page "https://www.nushell.sh") (synopsis "Binary viewer plugin for Nushell") @@ -1579,47 +1579,46 @@ underline).") "This package provides a binary viewer plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-chart-0.32 +(define-public rust-nu-plugin-chart-0.36 (package (name "rust-nu-plugin-chart") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_chart" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1xf6nf097mbrcjir45kynmk55zap987v8kz3gvljfiymx7mylilm")))) + (base32 "0m8mvvnxipzxyigzfzb0xp4d8zb71lbxrs62k8jqkrb79j82rlfr")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-crossterm" ,rust-crossterm-0.19) - ("rust-nu-cli" ,rust-nu-cli-0.32) - ("rust-nu-data" ,rust-nu-data-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) - ("rust-tui" ,rust-tui-0.14)))) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) + ("rust-tui" ,rust-tui-0.15)))) (home-page "https://www.nushell.sh") (synopsis "Plugin to display charts") (description "This package provides a plugin to display charts in Nushell.") (license license:expat))) -(define-public rust-nu-plugin-fetch-0.32 +(define-public rust-nu-plugin-fetch-0.36 (package (name "rust-nu-plugin-fetch") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_fetch" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0p2cmliwlz1wqr40276qvbdhgiq3dqwijhc3m30cdaarj2lg3s7b")))) + (base32 "1zi86kcsj7ys103w9q9f59p7nmjpssbdrkmj6dh60n2nbwcc9i49")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1627,10 +1626,10 @@ underline).") (("rust-base64" ,rust-base64-0.13) ("rust-futures" ,rust-futures-0.3) ("rust-mime" ,rust-mime-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-surf" ,rust-surf-2) ("rust-url" ,rust-url-2)))) (home-page "https://www.nushell.sh") @@ -1638,28 +1637,28 @@ underline).") (description "This package provides a URL fetch plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-from-bson-0.32 +(define-public rust-nu-plugin-from-bson-0.36 (package (name "rust-nu-plugin-from-bson") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_from_bson" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "19rn6r7m3sydkrjcql0sp5shypxhwspqny3l8qj05k4r9ykjrw9f")))) + (base32 "08pk0hcpkyg5i6z6k7bknwrn490sj9i7wn3cxpj53mxyb0lvjs06")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-bson" ,rust-bson-0.14) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://www.nushell.sh") (synopsis "Converter plugin to the bson format for Nushell") @@ -1668,27 +1667,27 @@ underline).") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-from-sqlite-0.32 +(define-public rust-nu-plugin-from-sqlite-0.36 (package (name "rust-nu-plugin-from-sqlite") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_from_sqlite" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "115s68yf30kgxq1qwwn4d2rr566a6bl2vgq2qific3anlhplqlfs")))) + (base32 "1asbwimvj5fk9vafq67rfr13pg3sw53f97a56snspnlgx31v5zwn")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-rusqlite" ,rust-rusqlite-0.25) ("rust-tempfile" ,rust-tempfile-3)))) @@ -1699,28 +1698,28 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-inc-0.32 +(define-public rust-nu-plugin-inc-0.36 (package (name "rust-nu-plugin-inc") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_inc" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1pla6640qm9bj2hya5gg43g5h990hfbgjbrbk93sqghi70r32yd7")))) + (base32 "1vrvrdyhb9rvrbdaq25b1b9ibpwr52hz3p60kl3xn0zs437vqhzs")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + (("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-nu-test-support" - ,rust-nu-test-support-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ,rust-nu-test-support-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-semver" ,rust-semver-0.11)))) (home-page "https://www.nushell.sh") (synopsis "Version incrementer plugin for Nushell") @@ -1729,25 +1728,25 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-match-0.32 +(define-public rust-nu-plugin-match-0.36 (package (name "rust-nu-plugin-match") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_match" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0axx77bjpz0yk9nqjx60185ndq4xlc5srby8jl9yvvnd8dhjg3zr")))) + (base32 "1lvmg155kriqgddhnmx2b7c2qsfsv75hdlb3wnrwlg8yqbl5kl9a")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + (("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-regex" ,rust-regex-1)))) (home-page "https://www.nushell.sh") (synopsis "Regex match plugin for Nushell") @@ -1755,17 +1754,17 @@ Nushell.") "This package provides a regex match plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-post-0.32 +(define-public rust-nu-plugin-post-0.36 (package (name "rust-nu-plugin-post") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_post" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0nj2kgnk8vwnkrkn407gk3h3kvr8bg9pnhymj3ld0dlw1qcwvphs")))) + (base32 "0f1nh4227a5if3sg9214nqkd0ry6x79xvz2pgwqnbcwmps98nc26")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -1773,10 +1772,10 @@ Nushell.") (("rust-base64" ,rust-base64-0.13) ("rust-futures" ,rust-futures-0.3) ("rust-mime" ,rust-mime-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-serde-json" ,rust-serde-json-1) ("rust-surf" ,rust-surf-2) @@ -1786,27 +1785,27 @@ Nushell.") (description "This package is an HTTP POST plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-ps-0.32 +(define-public rust-nu-plugin-ps-0.36 (package (name "rust-nu-plugin-ps") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_ps" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "098s1gf3fg9mi6gf703h5i5dab6w5as5wc06yanac31ic1anaib3")))) + (base32 "1hw6adsvsl1hpxyw06r0g9x1n14nkfin44ckxpr5605wbv89yrbx")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) ("rust-futures-timer" ,rust-futures-timer-3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-sysinfo" ,rust-sysinfo-0.16)))) (home-page "https://www.nushell.sh") @@ -1815,105 +1814,105 @@ Nushell.") "This package provides a process list plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-query-json-0.32 +(define-public rust-nu-plugin-query-json-0.36 (package (name "rust-nu-plugin-query-json") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_query_json" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1jn5pcjf2jl824d8xg7hk336l1v6k1islv21kwr3lqkcipkh4ql2")))) + (base32 "0ij135vx94gyaypryn24imgkq6r68j66d2nfymg98acn85ynv31q")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-gjson" ,rust-gjson-0.7) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32)))) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36)))) (home-page "https://www.nushell.sh") (synopsis "Query JSON files with Gjson") (description "query json files with gjson") (license license:expat))) -(define-public rust-nu-plugin-s3-0.32 +(define-public rust-nu-plugin-s3-0.36 (package (name "rust-nu-plugin-s3") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_s3" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0khdn04s0ln8ygnp2xxqf9yd8alp5ngzh650qb80m37fiiadaii6")))) + (base32 "0yl1jkmr88ri22fzi78q5wqwv9j6589k0rsqydv5711dllkdgcp5")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-s3handler" ,rust-s3handler-0.6)))) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-s3handler" ,rust-s3handler-0.7)))) (home-page "https://www.nushell.sh") (synopsis "S3 plugin for Nushell") (description "This package is an S3 plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-selector-0.32 +(define-public rust-nu-plugin-selector-0.36 (package (name "rust-nu-plugin-selector") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_selector" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0r12rilc5js3x4zr5j96h6754vq1yh5prybha7x1r0wzpacaygd0")))) + (base32 "02sx6mdwgnaixfrkglin2l5svly1mn58swp0c9zqvhqyp0k8f09r")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-nipper" ,rust-nipper-0.1) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32)))) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36)))) (home-page "https://www.nushell.sh") (synopsis "Web scraping using CSS selector") (description "This package provides web scraping using CSS selector.") (license license:expat))) -(define-public rust-nu-plugin-start-0.32 +(define-public rust-nu-plugin-start-0.36 (package (name "rust-nu-plugin-start") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_start" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0d3m165yw91w1rnapnd9scmk97yhwa0119l85z7zd2arjsqndpi0")))) + (base32 "0qk32snivd4r4jbmbmvx457qfvb2cycsl8l2bnghashh0x6jyc8b")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-glob" ,rust-glob-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-open" ,rust-open-1) ("rust-url" ,rust-url-2) ("rust-webbrowser" ,rust-webbrowser-0.5)))) @@ -1924,10 +1923,10 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-sys-0.32 +(define-public rust-nu-plugin-sys-0.36 (package (name "rust-nu-plugin-sys") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) @@ -1935,46 +1934,46 @@ Nushell.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0429rf83c3qlr6s7rf349ldd54nhlyyp7balpwrchjl17i978ndf")))) + (base32 "07jsg3a8s5aa9ykvfama7i3pkz947md7ryfvffpbrd66r0szxrag")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) ("rust-futures-util" ,rust-futures-util-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) - ("rust-sysinfo" ,rust-sysinfo-0.16)))) + ("rust-sysinfo" ,rust-sysinfo-0.18)))) (home-page "https://www.nushell.sh") (synopsis "System info plugin for Nushell") (description "This package provides a system info plugin for Nushell.") (license license:expat))) -(define-public rust-nu-plugin-textview-0.32 +(define-public rust-nu-plugin-textview-0.36 (package (name "rust-nu-plugin-textview") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_textview" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0x504ps9llzmj1izz07rnz0760avxc13kn2krvzkvbnhi43n2f96")))) + (base32 "0bz6khgjvr8qbybg8hd8m26w5xd3g3xk9m2xpjmmgw5a5mvfdrck")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bat" ,rust-bat-0.17) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) - ("rust-nu-data" ,rust-nu-data-0.32) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + (("bat" ,bat) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) + ("rust-nu-data" ,rust-nu-data-0.36) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-term-size" ,rust-term-size-0.3) ("rust-url" ,rust-url-2)))) (home-page "https://www.nushell.sh") @@ -1983,27 +1982,27 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-to-bson-0.32 +(define-public rust-nu-plugin-to-bson-0.36 (package (name "rust-nu-plugin-to-bson") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_to_bson" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "14vqqdb1v6ksphz4i86ihcd14b93fm4gbnz0crm4siw3h5ljjmbw")))) + (base32 "1kardsbic0wv8704m81cnbzlhs6qrb93130x30wfs89z400xfn43")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-bson" ,rust-bson-0.14) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://www.nushell.sh") (synopsis "Converter plugin to the bson format for Nushell") @@ -2012,27 +2011,27 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-to-sqlite-0.32 +(define-public rust-nu-plugin-to-sqlite-0.36 (package (name "rust-nu-plugin-to-sqlite") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_to_sqlite" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1z6rlmhxkjbkdj2f953ind7p3fnic2hdpq2rvnf5c0d8x46jvjs3")))) + (base32 "193prp16msshw3n2nfmlckphhkm7bzwrc3qza2g7s4mnyh7d88x5")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-hex" ,rust-hex-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-traits" ,rust-num-traits-0.2) ("rust-rusqlite" ,rust-rusqlite-0.25) ("rust-tempfile" ,rust-tempfile-3)))) @@ -2043,26 +2042,26 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-tree-0.32 +(define-public rust-nu-plugin-tree-0.36 (package (name "rust-nu-plugin-tree") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_tree" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0h3g5jxqvggij7z3nvd4bfwd7d64l6h0wfrfgq5z7ixjqvyk64zb")))) + (base32 "0vz8ncglzhq4nvbr3xi9zv3nqpgyf8vyxjnhjd9kjy91d0inj869")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-derive-new" ,rust-derive-new-0.5) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-ptree" ,rust-ptree-0.3)))) (home-page "https://www.nushell.sh") (synopsis "Tree viewer plugin for Nushell") @@ -2070,27 +2069,27 @@ Nushell.") Nushell.") (license license:expat))) -(define-public rust-nu-plugin-xpath-0.32 +(define-public rust-nu-plugin-xpath-0.36 (package (name "rust-nu-plugin-xpath") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu_plugin_xpath" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0kryfql0xscnvnnag41ls0xd1kp4xhmj4jyl9pirlwmis614iglv")))) + (base32 "19dqw28y5qfpd8a432qkjjf1hmjh7ghsyr1dpb7jr8b0dv68h4lb")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-indexmap" ,rust-indexmap-1) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-plugin" ,rust-nu-plugin-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-plugin" ,rust-nu-plugin-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-sxd-document" ,rust-sxd-document-0.3) ("rust-sxd-xpath" ,rust-sxd-xpath-0.4)))) (home-page "https://www.nushell.sh") @@ -2098,23 +2097,23 @@ Nushell.") (description "Traverses XML") (license license:expat))) -(define-public rust-nu-pretty-hex-0.32 +(define-public rust-nu-pretty-hex-0.36 (package (name "rust-nu-pretty-hex") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-pretty-hex" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0c076j68lv6vakgp0579nn1qrcrxpk6g6lvnczqsvkp3gzl15msl")))) + (base32 "1d4qvry8xknlsqr1dmqjsfwz3l2avxwwa5jg9p3rrbwcqxppvsq1")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-heapless" ,rust-heapless-0.6) - ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) + ("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) ("rust-rand" ,rust-rand-0.8)))) (home-page "https://www.nushell.sh") (synopsis "Pretty hex dump of bytes slice in the common style") @@ -2123,52 +2122,85 @@ Nushell.") style.") (license license:expat))) -(define-public rust-nu-protocol-0.32 +(define-public rust-nu-protocol-0.36 (package (name "rust-nu-protocol") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-protocol" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1dlkmc9ml4wjxwcd633r43h7c6va6hlsddnf2mb40znnd0vwm492")))) + (base32 "1r50ybwipk63ryq6zjkjym2dph84y7x26bmn679p9vcglys7rhn7")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-byte-unit" ,rust-byte-unit-4) ("rust-chrono" ,rust-chrono-0.4) + ("rust-chrono-humanize" + ,rust-chrono-humanize-0.2) ("rust-derive-new" ,rust-derive-new-0.5) ("rust-getset" ,rust-getset-0.1) ("rust-indexmap" ,rust-indexmap-1) ("rust-log" ,rust-log-0.4) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-num-integer" ,rust-num-integer-0.1) ("rust-num-traits" ,rust-num-traits-0.2) - ("rust-polars" ,rust-polars-0.13) + ("rust-polars" ,rust-polars-0.15) ("rust-serde" ,rust-serde-1) - ("rust-serde-bytes" ,rust-serde-bytes-0.11)))) + ("rust-serde-bytes" ,rust-serde-bytes-0.11) + ("rust-serde-json" ,rust-serde-json-1) + ("rust-serde-yaml" ,rust-serde-yaml-0.8) + ("rust-toml" ,rust-toml-0.5)))) (home-page "https://www.nushell.sh") (synopsis "Core values and protocols for Nushell") (description "Core values and protocols for Nushell") (license license:expat))) -(define-public rust-nu-source-0.32 +(define-public rust-nu-serde-0.36 + (package + (name "rust-nu-serde") + (version "0.36.0") + (source + (origin + (method url-fetch) + (uri (crate-uri "nu-serde" version)) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "1271qkyphjd3w5as0kwkdzmhcv0fx5j2nak07mm476qf63naprhz")))) + (build-system cargo-build-system) + (arguments + `(#:skip-build? #t + #:cargo-inputs + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) + ("rust-insta" ,rust-insta-1) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-serde" ,rust-serde-1) + ("rust-thiserror" ,rust-thiserror-1)))) + (home-page "https://www.nushell.sh") + (synopsis "Turn any value into a @code{nu-protocol::Value} with Serde") + (description + "This crate turns any value into a @code{nu-protocol::Value} with +Serde.") + (license license:expat))) + +(define-public rust-nu-source-0.36 (package (name "rust-nu-source") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-source" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "1isncb8k9qccpy1i609wfbnq85f04mggnq18qbhaq78sbkwywn14")))) + (base32 "0vs05k2ld5big5byf083wnb2i0pvz0lpmgp34vmw8x5ca4aw4hij")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t @@ -2185,46 +2217,46 @@ style.") Nushell.") (license license:expat))) -(define-public rust-nu-stream-0.32 +(define-public rust-nu-stream-0.36 (package (name "rust-nu-stream") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-stream" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "188p0a1kr4x1ha11znjgh42q0b7f256mvy4cwsgqxh5bijyzb2df")))) + (base32 "0siqhyxdbl9zpyxkdlysrd1369lrvikp72awx7pii5dzvgv2aaaj")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-futures" ,rust-futures-0.3) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32)))) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36)))) (home-page "https://www.nushell.sh") (synopsis "Nushell stream") (description "This package provides Nushell stream.") (license license:expat))) -(define-public rust-nu-table-0.32 +(define-public rust-nu-table-0.36 (package (name "rust-nu-table") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-table" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "02k80w4wha2njriaa54qlvcw9cqwfcmqjbh9sbpd4fkn5vhw3nz6")))) + (base32 "1akxq806gix38b6663ijs02ma0zbzq9yvyvr39bgjyikyqahwkpw")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-nu-ansi-term" ,rust-nu-ansi-term-0.32) + (("rust-nu-ansi-term" ,rust-nu-ansi-term-0.36) ("rust-regex" ,rust-regex-1) ("rust-unicode-width" ,rust-unicode-width-0.1)))) (home-page "https://www.nushell.sh") @@ -2232,32 +2264,32 @@ Nushell.") (description "Nushell table printing") (license license:expat))) -(define-public rust-nu-test-support-0.32 +(define-public rust-nu-test-support-0.36 (package (name "rust-nu-test-support") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) (uri (crate-uri "nu-test-support" version)) (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "0s7psdq0dra3y7hrj7ci61lmrhd59m2d1rxszppxcn5r1dnz5d3x")))) + (base32 "0ip2fm8r26s5y0qbfn8r7yhacg82aa998kyic70y60j9kmnwk4q1")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs - (("rust-bigdecimal" ,rust-bigdecimal-0.2) + (("rust-bigdecimal-rs" ,rust-bigdecimal-rs-0.2) ("rust-chrono" ,rust-chrono-0.4) ("rust-dunce" ,rust-dunce-1) ("rust-getset" ,rust-getset-0.1) ("rust-glob" ,rust-glob-0.3) ("rust-hamcrest2" ,rust-hamcrest2-0.3) ("rust-indexmap" ,rust-indexmap-1) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) - ("rust-nu-value-ext" ,rust-nu-value-ext-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) + ("rust-nu-value-ext" ,rust-nu-value-ext-0.36) ("rust-num-bigint" ,rust-num-bigint-0.3) ("rust-tempfile" ,rust-tempfile-3)))) (home-page "https://www.nushell.sh") @@ -2266,10 +2298,10 @@ Nushell.") tests.") (license license:expat))) -(define-public rust-nu-value-ext-0.32 +(define-public rust-nu-value-ext-0.36 (package (name "rust-nu-value-ext") - (version "0.32.0") + (version "0.36.0") (source (origin (method url-fetch) @@ -2277,16 +2309,16 @@ tests.") (file-name (string-append name "-" version ".tar.gz")) (sha256 - (base32 "11842fw90wxiyj97q4vynyq0cq57nfzljfi7s4zxa65alfhqqj0s")))) + (base32 "1cd09378h4lfb58s0dl87mgiwldfk60h9z1a0vi4v7k10v9xhsis")))) (build-system cargo-build-system) (arguments `(#:skip-build? #t #:cargo-inputs (("rust-indexmap" ,rust-indexmap-1) ("rust-itertools" ,rust-itertools-0.10) - ("rust-nu-errors" ,rust-nu-errors-0.32) - ("rust-nu-protocol" ,rust-nu-protocol-0.32) - ("rust-nu-source" ,rust-nu-source-0.32) + ("rust-nu-errors" ,rust-nu-errors-0.36) + ("rust-nu-protocol" ,rust-nu-protocol-0.36) + ("rust-nu-source" ,rust-nu-source-0.36) ("rust-num-traits" ,rust-num-traits-0.2)))) (home-page "https://www.nushell.sh") (synopsis "@code{Extension} traits for values in Nushell") diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index 26e26b351e..f5fe3fcf1d 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-science) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages tls) @@ -50,6 +51,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix svn-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) @@ -821,33 +823,29 @@ tools and a collection of Python modules for programmatic use.") (define-public python-pygmsh (package (name "python-pygmsh") - (version "7.1.9") + (version "7.1.11") (source (origin - (method url-fetch) - (uri (pypi-uri "pygmsh" version)) + (method git-fetch) + (uri (git-reference + (url "https://github.com/nschloe/pygmsh") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1q7nr0cq581wlif537y6awj7vz9jywxg14c8znmsx5ip8x24754j")) + "0g4yllmxks7yb50vild5xi1cma0yl16vsq6rfvdwmqaj4hwxcabk")) (modules '((guix build utils))) (snippet '(begin (let ((file (open-file "setup.py" "a"))) (display "from setuptools import setup\nsetup()" file) (close-port file)) - ;; setuptools is supplied by the build system. An extra - ;; reference in the original configuration file triggers - ;; an attempt to download the package again. This fails. - ;; The extra reference is unnecessary and is removed. + ;; A reference to setuptools in the configuration file + ;; triggers an attempt to download the package from pypi. + ;; The reference is not needed since the package is + ;; provided by the build system. (substitute* "setup.cfg" (("^[[:blank:]]+setuptools>=42\n") "")) - ;; FIXME: gmsh version 4.7.0 introduces new field option - ;; names. See gmsh commit 6eab8028. pygmsh needs to use - ;; one of the old option names for compatibility with gmsh - ;; version 4.6.0. - (with-directory-excursion "pygmsh/common" - (substitute* "size_field.py" - (("NumPointsPerCurve") "NNodesByEdge"))) #t)))) (build-system python-build-system) (native-inputs @@ -865,10 +863,7 @@ tools and a collection of Python modules for programmatic use.") (lambda* (#:key inputs outputs tests? #:allow-other-keys) (when tests? (add-installed-pythonpath inputs outputs) - ;; The readme test is skipped. It requires the exdown - ;; module which is not available. - (invoke "python" "-m" "pytest" "-v" "test" - "--ignore" "test/test_readme.py")) + (invoke "python" "-m" "pytest" "-v" "tests")) #t))))) (home-page "https://github.com/nschloe/pygmsh") (synopsis "Python frontend for Gmsh") @@ -879,3 +874,82 @@ way the meshing of complex geometries using high-level abstractions is made possible. The package provides a Python library together with a command-line utility for mesh optimisation.") (license license:lgpl3))) + +(define-public python-dolfin-adjoint + (package + (name "python-dolfin-adjoint") + (version "2019.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/dolfin-adjoint/pyadjoint") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xhy76a5f33hz94wc9g2mc5qmwkxfccbbc6yxl7psm130afp8lhn")) + (modules '((guix build utils))) + (snippet + '(begin + ;; One of the migration tests attempts to call openmpi + ;; recursively and fails. See + ;; https://bitbucket.org/mpi4py/mpi4py/issues/95. Run the + ;; test sequentially instead. + (with-directory-excursion "tests/migration/optimal_control_mms" + (substitute* "test_optimal_control_mms.py" + (("\\\"mpirun\\\", \\\"-n\\\", \\\"2\\\", ") ""))) + ;; Result files are regenerated in the check phase. + (delete-file-recursively + "tests/migration/viscoelasticity/test-results") + #t)))) + (build-system python-build-system) + (inputs + `(("fenics" ,fenics) + ("openmpi" ,openmpi) + ("pybind11" ,pybind11))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-coverage" ,python-coverage) + ("python-decorator" ,python-decorator) + ("python-flake8" ,python-flake8) + ("python-pkgconfig" ,python-pkgconfig) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("scipy" ,python-scipy))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'mpi-setup + ,%openmpi-setup) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((doc (string-append (assoc-ref outputs "out") + "/share/doc/" ,name "-" + ,version)) + (examples (string-append doc "/examples"))) + (mkdir-p examples) + (copy-recursively "examples" examples)) + #t)) + (replace 'check + (lambda* (#:key inputs outputs tests? #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (setenv "HOME" (getcwd)) + (and (invoke "py.test" "-v" "tests/fenics_adjoint") + (invoke "py.test" "-v" "tests/migration") + (invoke "py.test" "-v" "tests/pyadjoint"))) + #t))))) + (home-page "http://www.dolfin-adjoint.org") + (synopsis "Automatic differentiation library") + (description "@code{python-dolfin-adjoint} is a solver of +differential equations associated with a governing system and a +functional of interest. Working from the forward model the solver +automatically derives the discrete adjoint and tangent linear models. +These additional models are key ingredients in many algorithms such as +data assimilation, optimal control, sensitivity analysis, design +optimisation and error estimation. The dolfin-adjoint project +provides the necessary tools and data structures for cases where the +forward model is implemented in @code{fenics} or +@url{https://firedrakeproject.org,firedrake}.") + (license license:lgpl3))) diff --git a/gnu/packages/sphinx.scm b/gnu/packages/sphinx.scm index 2e55c067aa..e7407e1ba1 100644 --- a/gnu/packages/sphinx.scm +++ b/gnu/packages/sphinx.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2017 Danny Milosavljevic <dannym+a@scratchpost.org> ;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com> -;;; Copyright © 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2017 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> @@ -56,14 +56,14 @@ (define-public python-sphinx (package (name "python-sphinx") - (version "4.0.1") + (version "4.0.3") (source (origin (method url-fetch) (uri (pypi-uri "Sphinx" version)) (sha256 (base32 - "0k0bfjw4f76k2yyz8k2rl3s66ig2mn7y13m8dzqbgckifmvh8lfg")))) + "1f7vnk3g135b2zs9yq3kgrczxa91mhrlfw8243dpxsq8lbk5gwyz")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 5c065151d1..b21394ea8a 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -349,24 +349,14 @@ resolution scaling on graphical console window resize.") (base32 "0azj3rqr2smg0lai24xrn3zr628xmjfrzcggay877zrr64ybj1c0")))) (build-system meson-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "tests/setup-softhsm2.sh" - (("\\/usr\\/lib64\\/pkcs11\\/libsofthsm2\\.so") - (search-input-file inputs - "/lib/softhsm/libsofthsm2.so")))))))) (propagated-inputs `(("glib" ,glib) ; Requires: in the pkg-config file - ("nss" ,nss))) ; Requires.private: in the pkg-config - ; file + ("nss" ,nss) ; Requires.private: in the pkg-config + ("pcsc-lite" ,pcsc-lite))) ; file (native-inputs `(("openssl" ,openssl) ("nss" ,nss "bin") ("opensc" ,opensc) - ("softhsm" ,softhsm) ("gnutls" ,gnutls) ("pkg-config" ,pkg-config) ("which" ,which))) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 7723390c16..028c3cf7e5 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015, 2016, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -126,16 +127,15 @@ file names. (define-public libssh (package (name "libssh") - (version "0.9.5") + (version "0.9.6") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.libssh.org/projects/libssh.git") - (commit (string-append "libssh-" version)))) + (method url-fetch) + (uri (string-append "https://www.libssh.org/files/" + (version-major+minor version) + "/libssh-" version ".tar.xz")) (sha256 (base32 - "1b2klflmn0mdkcyjl4dqfg116bf9nhmqm4qla5cqa9xis89a5bn6")) - (file-name (git-file-name name version)))) + "16w2mc7pyv9mijjlgacbz8dgczc7ig2m6m70w1pld04vpn2zig46")))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments @@ -186,7 +186,7 @@ a server that supports the SSH-2 protocol.") (define-public openssh (package (name "openssh") - (version "8.6p1") + (version "8.7p1") (source (origin (method url-fetch) (uri (string-append "mirror://openbsd/OpenSSH/portable/" @@ -194,7 +194,7 @@ a server that supports the SSH-2 protocol.") (patches (search-patches "openssh-hurd.patch")) (sha256 (base32 - "1bnpivgk98h2f9afpp88jv6g9ps83vnpxd031n2jqxi12vdf9rn3")))) + "090yxpi03pxxzb4ppx8g8hdpw7c4nf8p0avr6c7ybsaana5lp8vw")))) (build-system gnu-build-system) (native-inputs `(("groff" ,groff) ("pkg-config" ,pkg-config))) @@ -797,14 +797,14 @@ shell services and remote host selection.") (define-public python-asyncssh (package (name "python-asyncssh") - (version "2.5.0") + (version "2.7.1") (source (origin (method url-fetch) (uri (pypi-uri "asyncssh" version)) (sha256 (base32 - "02xpzir9rmw7b7k07m3f912h6jvy9yzan9yn3ckrmqx2ffpy4r8b")))) + "0lnhh2h1mj79j66ni883s9f3xldnbjb10vh80g24b7m003mm524c")))) (build-system python-build-system) (propagated-inputs `(("python-cryptography" ,python-cryptography) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index dd8965312b..47276cb95e 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com> +;;; Copyright © 2021 Lars-Dominik Braun <lars@6xq.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -187,7 +188,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") (define r-with-tests (package (name "r-with-tests") - (version "4.1.0") + (version "4.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://cran/src/base/R-" @@ -195,7 +196,7 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") version ".tar.gz")) (sha256 (base32 - "109732arm6dq6d6v3fl1nyx63lcvv9569j8g6r3s2b18sxcqkrp8")))) + "0r6kpnxjbvb7gdfg4m1z8zc6xd225vw81wrnf05ps9ajawk06pji")))) (build-system gnu-build-system) (arguments `(#:disallowed-references (,tzdata-for-tests) @@ -214,11 +215,14 @@ This package also provides @command{xls2csv} to export Excel files to CSV.") (substitute* "src/library/base/makebasedb.R" (("compress = TRUE") "compress = FALSE")) #t)) - (add-before 'configure 'patch-uname + (add-before 'configure 'patch-coreutils-paths (lambda* (#:key inputs #:allow-other-keys) - (let ((uname-bin (search-input-file inputs "/bin/uname"))) + (let ((uname-bin (search-input-file inputs "/bin/uname")) + (rm-bin (search-input-file inputs "/bin/rm"))) (substitute* "src/scripts/R.sh.in" - (("uname") uname-bin))) + (("uname") uname-bin)) + (substitute* "src/unix/sys-std.c" + (("rm -Rf ") (string-append rm-bin " -Rf ")))) #t)) (add-after 'unpack 'build-reproducibly (lambda _ @@ -345,12 +349,11 @@ as.POSIXct(if (\"\" != Sys.getenv(\"SOURCE_DATE_EPOCH\")) {\ texlive-latex-base texlive-latex-fancyvrb texlive-latex-graphics - texlive-latex-hyperref - texlive-latex-l3backend - texlive-latex-oberdiek + texlive-hyperref + texlive-oberdiek texlive-latex-tools texlive-latex-upquote - texlive-latex-url + texlive-url texlive-latex-xkeyval))) ("tzdata" ,tzdata-for-tests) ("xz" ,xz))) @@ -713,14 +716,14 @@ analysis.") (define-public r-survival (package (name "r-survival") - (version "3.2-11") + (version "3.2-12") (source (origin (method url-fetch) (uri (cran-uri "survival" version)) (sha256 (base32 - "0w0gkni1w8rbmfw7yl08bl1s9lij1yhbkj4dvmxcarkkw26sjjzs")))) + "1152zpd961bzwnabkhf6q9jgb72bj68023dsn2dcdmxqdi72mps5")))) (build-system r-build-system) (propagated-inputs `(("r-matrix" ,r-matrix))) @@ -1041,14 +1044,14 @@ solution for sending email, including attachments, from within R.") (define-public r-stringi (package (name "r-stringi") - (version "1.6.2") + (version "1.7.3") (source (origin (method url-fetch) (uri (cran-uri "stringi" version)) (sha256 (base32 - "1bidc1xzsv5nz2glf6z4sjxqlbs6zq595wwdmiq66sc2p7cis59s")))) + "0mhz7dkjdm8ap2zav1pmivhr8s0l6p2f6piij2hy08nwszqk51nr")))) (build-system r-build-system) (inputs `(("icu4c" ,icu4c))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1513,19 +1516,19 @@ the execution time of R expressions.") (define-public r-pryr (package (name "r-pryr") - (version "0.1.4") + (version "0.1.5") (source (origin (method url-fetch) (uri (cran-uri "pryr" version)) (sha256 (base32 - "06vj5xl9x37kbd3l5bw7sbgfdnp37spvrjrn976rxi04clqk966k")))) + "02vp1y7zhv22id43j5c0gdcgn9171dyypqp8rqrlc3w5a7n565kv")))) (build-system r-build-system) (propagated-inputs - `(("r-stringr" ,r-stringr) - ("r-codetools" ,r-codetools))) - (native-inputs - `(("r-rcpp" ,r-rcpp))) + `(("r-codetools" ,r-codetools) + ("r-lobstr" ,r-lobstr) + ("r-rcpp" ,r-rcpp) + ("r-stringr" ,r-stringr))) (home-page "https://github.com/hadley/pryr") (synopsis "Tools for computing on the R language") (description @@ -1637,13 +1640,13 @@ flexible and easy to set up.") (define-public r-r6 (package (name "r-r6") - (version "2.5.0") + (version "2.5.1") (source (origin (method url-fetch) (uri (cran-uri "R6" version)) (sha256 (base32 - "00ifi2kwa7kn67xf0z1w6jfdicjczygbyi5mhfw2qlzc4sbazhdf")))) + "0j5z0b0myzjyyykk310xsa9n2mcm9bz8yqbq4xgz2yzdq8lvv4ld")))) (build-system r-build-system) (home-page "https://github.com/wch/R6/") (synopsis "Classes with reference semantics in R") @@ -1677,14 +1680,14 @@ like tidy evaluation.") (define-public r-tibble (package (name "r-tibble") - (version "3.1.2") + (version "3.1.3") (source (origin (method url-fetch) (uri (cran-uri "tibble" version)) (sha256 (base32 - "1vmwz1a756lar0jsigx6dhmj9mwk5mhywhq0prifwih3abhvszmn")))) + "1gpy90hg0bd4an0wqj0xx16a6x37fhc94z1v63y46dpiz231xfks")))) (build-system r-build-system) (propagated-inputs `(("r-ellipsis" ,r-ellipsis) @@ -2552,13 +2555,13 @@ time-of-day values, based on the @code{difftime} class.") (define-public r-readr (package (name "r-readr") - (version "1.4.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "readr" version)) (sha256 (base32 - "1fa67h4l9d30ig460xizgzl115i9pm3bk9dvsbrw6awbmf51ic82")))) + "0cj5k3ykkhixgdsqm1gnmpc0d8z04l3fhvm2dr5xp7cpmhgsrpfr")))) (build-system r-build-system) (propagated-inputs `(("r-cli" ,r-cli) @@ -2570,7 +2573,8 @@ time-of-day values, based on the @code{difftime} class.") ("r-tibble" ,r-tibble) ("r-r6" ,r-r6) ("r-rlang" ,r-rlang) - ("r-bh" ,r-bh))) + ("r-tzdb" ,r-tzdb) + ("r-vroom" ,r-vroom))) (native-inputs `(("r-knitr" ,r-knitr))) (home-page "https://github.com/hadley/readr") @@ -2644,13 +2648,13 @@ well as additional utilities such as panel and axis annotation functions.") (define-public r-rcpparmadillo (package (name "r-rcpparmadillo") - (version "0.10.5.0.0") + (version "0.10.6.0.0") (source (origin (method url-fetch) (uri (cran-uri "RcppArmadillo" version)) (sha256 (base32 - "059qi872f9h40ns65166qsq1i1jq1mvizm29a0xmqlyn7a5y9ca3")))) + "1bcx8fk5l5mmwb6cw36ndvld9v3amkz6vyc19059dw0xp7mxx04v")))) (properties `((upstream-name . "RcppArmadillo"))) (build-system r-build-system) (propagated-inputs @@ -2736,13 +2740,13 @@ certain criterion, e.g., it contains a certain regular file.") (define-public r-rmarkdown (package (name "r-rmarkdown") - (version "2.9") + (version "2.10") (source (origin (method url-fetch) (uri (cran-uri "rmarkdown" version)) (sha256 - (base32 "0s46x819zhf45k8qzpiwz79i5pn4gv99jfadywcjca3wka5szrbc")))) + (base32 "1p2cc9ysj906gkl4c6ac7s8njh32p2kcx1ib4gjj3jmfz915k9jk")))) (properties `((upstream-name . "rmarkdown"))) (build-system r-build-system) (propagated-inputs @@ -2829,13 +2833,13 @@ that package, other packages are unaffected.") (define-public r-blob (package (name "r-blob") - (version "1.2.1") + (version "1.2.2") (source (origin (method url-fetch) (uri (cran-uri "blob" version)) (sha256 (base32 - "1slb5mvxfyi92i8ifx2qa31hp57inilwhq1g9lzvgha6jrxbqm7g")))) + "1yn7f13icaix0apxp4drnciwdn8bx8xmbd129jd7ck4rcly0axj9")))) (build-system r-build-system) (propagated-inputs `(("r-rlang" ,r-rlang) @@ -2851,13 +2855,13 @@ a column in data frame.") (define-public r-rsqlite (package (name "r-rsqlite") - (version "2.2.7") + (version "2.2.8") (source (origin (method url-fetch) (uri (cran-uri "RSQLite" version)) (sha256 (base32 - "1j89n4ydv42y5hqqv8nz72sa5wncws074kg527s902k1a67s69ii")))) + "1hscgi11px9hq0sx78c2lkfzq121rlvmhxmqf305xg6lgqdxr2hv")))) (properties `((upstream-name . "RSQLite"))) (build-system r-build-system) (propagated-inputs @@ -2924,13 +2928,13 @@ ldap, and also supports cookies, redirects, authentication, etc.") (define-public r-xml (package (name "r-xml") - (version "3.99-0.6") + (version "3.99-0.7") (source (origin (method url-fetch) (uri (cran-uri "XML" version)) (sha256 (base32 - "0qibvacbfm7gl41ylway3vdyi1qbpa211d48rg3k5i30d48rbf58")))) + "024038g1mrzkv7b7fyrzpzpxlch3sifsnaa584g98y3c3g6jbrz0")))) (properties `((upstream-name . "XML"))) (build-system r-build-system) @@ -3410,14 +3414,14 @@ Stochastic Neighbor Embedding using a Barnes-Hut implementation.") (define-public r-e1071 (package (name "r-e1071") - (version "1.7-7") + (version "1.7-8") (source (origin (method url-fetch) (uri (cran-uri "e1071" version)) (sha256 (base32 - "1phqrx787fkiamgx56sjjmzl9nh5wgpffah0mlwd7ijrf446qz3r")))) + "16lw0pr71h00whndkkv9zh2ixm6vc8bkp8m4i5wwhmihd9abdkdb")))) (build-system r-build-system) (propagated-inputs `(("r-class" ,r-class) @@ -3658,13 +3662,13 @@ t-probabilities, quantiles, random deviates and densities.") (define-public r-matrixstats (package (name "r-matrixstats") - (version "0.59.0") + (version "0.60.0") (source (origin (method url-fetch) (uri (cran-uri "matrixStats" version)) (sha256 (base32 - "178baqrd7rbin3l10zyrkps5sda0q9mdqil9r12b3n99mlk8fhh7")))) + "08azjib5pwqs683dpgr3p5gid0silddcq6baqmvmazncrw1r7q0f")))) (properties `((upstream-name . "matrixStats"))) (build-system r-build-system) (arguments @@ -5444,14 +5448,14 @@ diagnostic tools (@code{ctlcurves} and @code{DiscrFact}).") (define-public r-ranger (package (name "r-ranger") - (version "0.12.1") + (version "0.13.1") (source (origin (method url-fetch) (uri (cran-uri "ranger" version)) (sha256 (base32 - "1vr5akgh388iivrxi0g4pl2npq9dc4cim3ljk4kjf637q058wc7w")))) + "02idcc6zbdz4wsi1mcwh7qyhmlbwvnzxwkdvvppxw7n2rh54z4v0")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) @@ -6215,3 +6219,117 @@ various statistical models with linear predictors.") factors for simple designs, including contingency tables, one- and two-sample designs, one-way designs, general ANOVA designs, and linear regression.") (license license:gpl2))) + +(define-public r-norm + (package + (name "r-norm") + (version "1.0-9.5") + (source (origin + (method url-fetch) + (uri (cran-uri "norm" version)) + (sha256 + (base32 + "01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h")))) + (build-system r-build-system) + (native-inputs + `(("gfortran" ,gfortran))) + (home-page "https://cran.r-project.org/web/packages/norm/") + (synopsis "Analysis of multivariate normal datasets with missing values") + (description "Multiple imputation of multivariate continuous data under a +normal model.") + ;; Custom license, see https://cran.r-project.org/web/packages/norm/LICENSE. + (license (license:non-copyleft "file://LICENSE")))) + +(define-public r-naniar + (package + (name "r-naniar") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (cran-uri "naniar" version)) + (sha256 + (base32 + "0l3l2x85v3srilww483kpgp4zlwixyml257b0cqly8kcpwawlinm")))) + (build-system r-build-system) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-norm" ,r-norm) + ("r-forcats" ,r-forcats) + ("r-ggplot2" ,r-ggplot2) + ("r-glue" ,r-glue) + ("r-magrittr" ,r-magrittr) + ("r-purrr" ,r-purrr) + ("r-rlang" ,r-rlang) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) + ("r-upsetr" ,r-upsetr) + ("r-viridis" ,r-viridis) + ("r-visdat" ,r-visdat))) + (native-inputs + `(("r-knitr" ,r-knitr))) + (home-page "https://github.com/njtierney/naniar") + (synopsis + "Data structures, summaries, and visualisations for missing data") + (description + "Missing values are ubiquitous in data and need to be explored and +handled in the initial stages of analysis. The package provides data structures +and functions that facilitate the plotting of missing values and examination of +imputations. This allows missing data dependencies to be explored with minimal +deviation from the common work patterns of @code{ggplot2} and tidy data.") + (license license:expat))) + +(define-public r-glinternet + (package + (name "r-glinternet") + (version "1.0.11") + (source + (origin + (method url-fetch) + (uri (cran-uri "glinternet" version)) + (sha256 + (base32 + "1lqph2hj0h826gcfyk290ahkfalpnrd6jzymm60xi2qxia14lzk5")))) + (build-system r-build-system) + (home-page "http://web.stanford.edu/~hastie/Papers/glinternet_jcgs.pdf") + (synopsis "Learning interactions via hierarchical group-lasso regularization") + (description "Group-Lasso INTERaction-NET. Fits linear pairwise-interaction +models that satisfy strong hierarchy: if an interaction coefficient is estimated +to be nonzero, then its two associated main effects also have nonzero estimated +coefficients. Accommodates categorical variables (factors) with arbitrary +numbers of levels, continuous variables, and combinations thereof. Implements +the machinery described in the paper \"Learning interactions via hierarchical +group-lasso regularization\" (JCGS 2015, Volume 24, Issue 3). +Michael Lim & Trevor Hastie (2015)") + (license license:gpl2))) + +(define-public r-datasaurus + (package + (name "r-datasaurus") + (version "0.1.4") + (source + (origin + (method url-fetch) + (uri (cran-uri "datasauRus" version)) + (sha256 + (base32 + "1w1yhwwrmh95bklacz44wjwynxd8cj3z8b9zvsnzmk18m5a4k0fl")))) + (properties `((upstream-name . "datasauRus"))) + (build-system r-build-system) + (native-inputs `(("r-knitr" ,r-knitr))) + (home-page + "https://github.com/lockedata/datasauRus") + (synopsis "Datasets from the Datasaurus Dozen") + (description + "The Datasaurus Dozen is a set of datasets with the same summary +statistics. They retain the same summary statistics despite having radically +different distributions. The datasets represent a larger and quirkier object +lesson that is typically taught via Anscombe's Quartet (available in the +'datasets' package). Anscombe's Quartet contains four very different +distributions with the same summary statistics and as such highlights the value +of visualisation in understanding data, over and above summary statistics. As +well as being an engaging variant on the Quartet, the data is generated in a +novel way. The simulated annealing process used to derive datasets from the +original Datasaurus is detailed in \"Same Stats, Different Graphs: Generating +Datasets with Varied Appearance and Identical Statistics through Simulated +Annealing\" @url{doi:10.1145/3025453.3025912}.") + (license license:expat))) diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm index 0f0491b39b..4200793021 100644 --- a/gnu/packages/suckless.scm +++ b/gnu/packages/suckless.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,6 +50,78 @@ #:use-module (guix utils) #:use-module (guix packages)) +(define-public slscroll + (package + (name "slscroll") + (version "0.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.suckless.org/tools/scroll-" + version ".tar.gz")) + (sha256 + (base32 "1mpfrvn122lnaqid1pi99ckpxd6x679b0w91pl003xmdwsfdbcly")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:make-flags + (list + (string-append "CC=" ,(cc-for-target)) + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) ; no configure script + (home-page "https://tools.suckless.org/scroll/") + (synopsis "Scroll-back buffer program for st") + (description "Scroll is a program that provides a scroll back buffer for +terminal like @code{st}.") + (license license:isc))) + +(define-public tabbed + (package + (name "tabbed") + (version "0.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://dl.suckless.org/tools/tabbed-" + version ".tar.gz")) + (sha256 + (base32 "0hhwckyzvsj9aim2l6m69wmvl2n7gzd6b1ly8qjnlpgcrcxfllbn")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* "config.mk" + (("/usr/local") + (assoc-ref outputs "out")) + (("/usr/X11R6") + (assoc-ref inputs "libx11")) + (("/usr/include/freetype2") + (string-append (assoc-ref inputs "freetype") + "/include/freetype2")) + (("CC = cc") + (string-append "CC = " ,(cc-for-target)))))) + (delete 'configure)))) ; no configure script + (inputs + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libx11" ,libx11) + ("libxft" ,libxft))) + (home-page "https://tools.suckless.org/tabbed/") + (synopsis "Tab interface for application supporting Xembed") + (description "Tabbed is a generic tabbed frontend to xembed-aware +applications. It was originally designed for surf but also usable with many +other applications, i.e. st, uzbl, urxvt and xterm.") + (license + ;; Dual-licensed. + (list + license:expat + license:x11)))) + (define-public slstatus ;; No release tarballs yet. (let ((commit "84a2f117a32f0796045941260cdc4b69852b41e0") diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 5cb8449e44..4deb60bee2 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -45,9 +45,9 @@ (define-public syncthing (package (name "syncthing") - (version "1.15.1") + (version "1.16.1") ; XXX After the go-build-system can use "Go modules", stop using bundled - ; dependenices for Syncthing. + ; dependencies for Syncthing. (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -55,11 +55,11 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "04b90zwinl7frxrpjliq41mkbhpnkszmhdc5j2vbqwyhd82warxq")))) + "0m5k37sp3px8acs3y9an5wzy1wbcbdvqq74jy0pwzfk4bjbr999j")))) (build-system go-build-system) ;; The primary Syncthing executable goes to "out", while the auxiliary ;; server programs and utility tools go to "utils". This reduces the size - ;; of "out" by ~80 MiB. + ;; of "out" by ~144 MiB. (outputs '("out" "utils")) (arguments `(#:modules ((srfi srfi-26) ; for cut @@ -76,14 +76,6 @@ (("120s") "999s")) #t)) - (add-before 'build 'pre-build - (lambda _ - (with-directory-excursion "src/github.com/syncthing/syncthing" - ;; Don't set a local GOBIN, it breaks cross compiling. - (substitute* "build.go" - ((".*GOBIN.*") ""))) - #t)) - (replace 'build (lambda _ (with-directory-excursion "src/github.com/syncthing/syncthing" @@ -92,7 +84,7 @@ ;; "build syncthing" again with -no-upgrade. ;; https://github.com/syncthing/syncthing/issues/6118 (invoke "go" "run" "build.go") - (for-each delete-file (find-files "../../../../bin" "syncthing")) + (delete-file "bin/syncthing") (invoke "go" "run" "build.go" "-no-upgrade" "build" "syncthing")))) (replace 'check @@ -106,11 +98,15 @@ (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) (utils (assoc-ref outputs "utils"))) - (with-directory-excursion "src/github.com/syncthing/syncthing" - (install-file "syncthing" (string-append out "/bin"))) - (for-each (cut install-file <> (string-append utils "/bin/")) - (find-files "bin")) - #t))) + (with-directory-excursion "src/github.com/syncthing/syncthing/bin" + (install-file "../syncthing" (string-append out "/bin")) + (for-each (cut install-file <> (string-append utils "/bin/")) + '("stcompdirs" "stcrashreceiver" + "stdisco" "stdiscosrv" "stevents" "stfileinfo" + "stfinddevice" "stfindignored" "stgenfiles" + "strelaypoolsrv" "strelaysrv" "stsigtool" + "stvanity" "stwatchfile" "uraggregate" "ursrv")) + #t)))) (add-after 'install 'install-docs (lambda* (#:key outputs #:allow-other-keys) diff --git a/gnu/packages/syndication.scm b/gnu/packages/syndication.scm index a55f1180f7..dc577b87f0 100644 --- a/gnu/packages/syndication.scm +++ b/gnu/packages/syndication.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2017, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -246,7 +247,6 @@ cards.") (guix build utils) ((guix build gnu-build-system) #:prefix gnu:)) #:vendor-dir "vendor" - #:rust ,rust-1.48 ; or newer #:install-source? #f #:cargo-inputs (("rust-backtrace" ,rust-backtrace-0.3) @@ -276,29 +276,21 @@ cards.") (lambda* (#:key vendor-dir #:allow-other-keys) ;; Don't keep the whole tarball in the vendor directory (delete-file-recursively - (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")) - #t)) + (string-append vendor-dir "/" ,name "-" ,version ".tar.xz")))) (add-after 'unpack 'patch-source - (lambda _ + (lambda* (#:key outputs #:allow-other-keys) (substitute* "Makefile" - (("Cargo.lock") "")) - #t)) + (("Cargo.lock") "") + ;; Replace the prefix in the Makefile. + (("/usr/local") (assoc-ref outputs "out"))))) (replace 'build - (lambda* args - ((assoc-ref gnu:%standard-phases 'build) - #:make-flags - (list (string-append "prefix=" (assoc-ref %outputs "out")))))) + (assoc-ref gnu:%standard-phases 'build)) (replace 'check - (lambda* args + (lambda args ((assoc-ref gnu:%standard-phases 'check) - #:test-target "test" - #:make-flags - (list (string-append "prefix=" (assoc-ref %outputs "out")))))) + #:test-target "test"))) (replace 'install - (lambda* args - ((assoc-ref gnu:%standard-phases 'install) - #:make-flags - (list (string-append "prefix=" (assoc-ref %outputs "out"))))))))) + (assoc-ref gnu:%standard-phases 'install))))) (native-search-paths ;; Newsboat respects CURL_CA_BUNDLE. (package-native-search-paths curl)) @@ -474,9 +466,10 @@ a simple interface that makes it easy to organize and browse feeds.") `(#:phases (modify-phases %standard-phases (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key tests? inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) - (invoke "pytest")))))) + (when tests? + (invoke "pytest"))))))) (inputs `(("python-beautifulsoup4" ,python-beautifulsoup4) ("python-decorator" ,python-decorator) @@ -604,7 +597,7 @@ that aims to be quite fast and comfortable to its user.") (lambda* (#:key outputs #:allow-other-keys) (wrap-program (string-append (assoc-ref outputs "out") "/bin/gfeeds") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) + `("PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))) `("XDG_DATA_DIRS" ":" prefix (,(getenv "XDG_DATA_DIRS")))) #t))))) diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm index db2a6d9f54..80ad8163ea 100644 --- a/gnu/packages/task-management.scm +++ b/gnu/packages/task-management.scm @@ -190,7 +190,7 @@ a task.") (define-public blanket (package (name "blanket") - (version "0.3.1") + (version "0.4.1") (source (origin (method git-fetch) @@ -199,7 +199,7 @@ a task.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "13xip9b2p2ai2jchkck71c849s2rlxzfvlbsgpraw9hswi0rk0jg")))) + (base32 "1rk9xxiflj8rf75q56s907xp3jzxc7r88njlmxg07gl6i35mmcmi")))) (build-system meson-build-system) (arguments `(#:glib-or-gtk? #t diff --git a/gnu/packages/task-runners.scm b/gnu/packages/task-runners.scm index 49a07fa3bd..1c1fa69894 100644 --- a/gnu/packages/task-runners.scm +++ b/gnu/packages/task-runners.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> +;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,8 +20,14 @@ (define-module (gnu packages task-runners) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) + #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix utils) + #:use-module (gnu packages bash) + #:use-module (gnu packages compression) #:use-module (gnu packages golang) + #:use-module (gnu packages mail) + #:use-module (guix build-system gnu) #:use-module (guix build-system go)) (define-public run @@ -47,3 +54,60 @@ using a Runfile.") (home-page "https://github.com/TekWizely/run") (license license:expat))) + +(define-public task-spooler + (package + (name "task-spooler") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://vicerveza.homeunix.net/~viric/soft/ts/ts-" version ".tar.gz")) + (sha256 (base32 "0y32sm2i2jxs88c307h76449fynk75p9qfw1k11l5ixrn03z67pl")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (let ((c-flags "-g -O2")) + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + ,(string-append "CC=" (cc-for-target)) + (string-append "CFLAGS=" c-flags))) + #:phases + (modify-phases %standard-phases + (delete 'configure) ;; no configuration script + (add-after 'unpack 'rename-and-patch-paths + (lambda _ + ;; Rename "ts" to "tsp" to not interfere with "ts" command + ;; from moreutils package. + (rename-file "ts.1" "tsp.1"); + (substitute* '("Makefile" "testbench.sh") + (("\\bts\\b") "tsp")) + ;; Patch gzip/sendmail/shell paths. + (substitute* "execute.c" + (("execlp\\(\"gzip\"") + (format #f "execlp(\"~a/bin/gzip\"" + (assoc-ref %build-inputs "gzip")))) + (substitute* "list.c" + (("/bin/sh\\b") (which "sh"))) + (substitute* "env.c" + (("execlp\\(\"/bin/sh\"") + (format #f "execlp(\"~a/bin/sh\"" + (assoc-ref %build-inputs "bash")))) + (substitute* "mail.c" + (("execl\\(\"/usr/sbin/sendmail\"") + (format #f "execl(\"~a/sbin/sendmail\"" + (assoc-ref %build-inputs "sendmail")))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "PATH" (string-join (list (getenv "PATH") (getcwd)) ":")) + (invoke "./testbench.sh"))))))) + (inputs + `(("bash" ,bash-minimal) + ("gzip" ,gzip) + ("sendmail" ,sendmail))) + (synopsis "UNIX task queue system") + (description "Task spooler lets users run shell commands asynchronously +one after the other in a separate process.") + (home-page "https://vicerveza.homeunix.net/~viric/soft/ts/") + (license license:gpl2+))) diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm index 5f1438667d..2aa31225df 100644 --- a/gnu/packages/tbb.scm +++ b/gnu/packages/tbb.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,79 +24,25 @@ #:use-module (guix licenses) #:use-module (guix git-download) #:use-module (guix utils) - #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (gnu packages)) (define-public tbb (package (name "tbb") - (version "2020.3") + (version "2021.3.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/01org/tbb") + (url "https://github.com/oneapi-src/oneTBB") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0r9axsdlmacjlcnax4vkzg86nwf8lsx7wbqdi3wnryaxk0xvdcx6")) - (modules '((guix build utils))) - (snippet - '(begin - (substitute* "build/common.inc" - (("export tbb_build_prefix.+$") - "export tbb_build_prefix?=guix\n")) - - ;; Don't capture the build time and kernel version. - (substitute* "build/version_info_linux.sh" - (("uname -srv") "uname -s") - (("`date -u`") "01 Jan 1970")) - - (substitute* "build/linux.inc" - (("os_kernel_version:=.*") - "os_kernel_version:=5\n") - (("os_version:=.*") - "os_version:=1\n")) - #t)))) - (outputs '("out" "doc")) - (build-system gnu-build-system) + "1bz039my3ma87f24ngcsqs16f8jlpdgaqg01ab4g60nfqbrz1lkq")))) + (build-system cmake-build-system) (arguments - `(#:test-target "test" - #:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fail-on-test-errors - (lambda _ - (substitute* "Makefile" - (("-\\$\\(MAKE") "$(MAKE")) - #t)) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "build/linux.gcc.inc" - (("LIB_LINK_FLAGS =") - (string-append "LIB_LINK_FLAGS = -Wl,-rpath=" - (assoc-ref outputs "out") "/lib"))))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((doc (string-append - (assoc-ref outputs "doc") "/doc")) - (examples (string-append doc "/examples")) - (lib (string-append - (assoc-ref outputs "out") "/lib")) - (include (string-append - (assoc-ref outputs "out") "/include"))) - (mkdir-p lib) - (for-each - (lambda (f) - (copy-file f - (string-append lib "/" - (basename f)))) - (find-files "build/guix_release" "\\.so")) - (copy-recursively "doc" doc) - (copy-recursively "examples" examples) - (copy-recursively "include" include) - #t)))))) + `(#:configure-flags '("-DTBB_STRICT=OFF"))) ;; Don't fail on warnings (home-page "https://www.threadingbuildingblocks.org") (synopsis "C++ library for parallel programming") (description diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 9924031993..3035809225 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> +;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> ;;; ;;; This file is part of GNU Guix. ;;; @@ -413,7 +414,7 @@ internet.") (define-public libsrtp (package (name "libsrtp") - (version "2.3.0") + (version "2.4.0") (source (origin (method git-fetch) (uri (git-reference @@ -422,7 +423,7 @@ internet.") (file-name (git-file-name name version)) (sha256 (base32 - "1f7i3jdh1wzdv7zjlz7gs3xw5jqig9zw8z9awsqqcp54f94xdpvd")))) + "0syl2ywddgqz29h43d6rc7waf3hp2yc14yhnrvdsja2bg8wrv6sb")))) (native-inputs `(("psmisc" ,psmisc) ;some tests require 'killall' ("procps" ,procps))) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 496b725543..d4464f8f9e 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2019, 2021 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2019, 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Valentin Ignatev <valentignatev@gmail.com> @@ -25,6 +25,8 @@ ;;; Copyright © 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2021 Ekaitz Zarraga <ekaitz@elenq.tech> ;;; Copyright © 2021 Raphaël Mélotte <raphael.melotte@mind.be> +;;; Copyright © 2021 ikasero <ahmed@ikasero.com> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,6 +68,7 @@ #:use-module (gnu packages docbook) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages fribidi) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) #:use-module (gnu packages gl) @@ -388,6 +391,47 @@ combining, and so on, with a simple interface.") (home-page "http://www.leonerd.org.uk/code/libtermkey") (license license:expat))) +(define-public mlterm + (package + (name "mlterm") + (version "3.9.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/mlterm/01release/mlterm-" + version "/mlterm-" version ".tar.gz")) + (sha256 + (base32 "03fnynwv7d1aicwk2rp31sgncv5m65agvygqvsgn59v9di40gnnb")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no tests + #:configure-flags + (list (string-append "--prefix=" (assoc-ref %outputs "out")) + "--disable-static" + "--enable-optimize-redrawing" + "--with-imagelib=gdk-pixbuf"))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("fribidi" ,fribidi) + ("gdk-pixbuf" ,gdk-pixbuf) + ("gtk+" ,gtk+) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxft" ,libxft))) + (home-page "http://mlterm.sourceforge.net/") + (synopsis "Multi-Lingual TERMinal emulator") + (description + "mlterm is a multi-lingual terminal emulator. It supports various complex +character sets and encodings from around the world. It can display double-width +(e.g. East Asian) glyphs, combining characters used for, e.g., Thai and +Vietnamese, and bi-directional scripts like Arabic and Hebrew.") + (license license:bsd-3))) + (define-public picocom (package (name "picocom") @@ -739,7 +783,7 @@ a server/client mode.") (define-public sakura (package (name "sakura") - (version "3.7.1") + (version "3.8.3") (source (origin (method url-fetch) (uri (string-append "https://launchpad.net/sakura/trunk/" @@ -747,7 +791,7 @@ a server/client mode.") ".tar.bz2")) (sha256 (base32 - "12wjmckf03qbnm8cb7qma0980anzajn3l92rj2yr8hhafl74x6kj")))) + "1r2kpvxx21r407s07m5p5x0dam6x863991nmcv6k5ap873fxqh2h")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no check phase @@ -966,14 +1010,14 @@ than a terminal.") (define-public python-curtsies (package (name "python-curtsies") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) (uri (pypi-uri "curtsies" version)) (sha256 (base32 - "019bpf5wmng4f6ic2ykg893ypfihpfvzi6dhblcagfwbincl79ac")))) + "1g8dwafx4vx06isjkn28r3cwb0hw1bv67lgygaz34yk66lrzz1x5")))) (build-system python-build-system) (arguments `(#:phases @@ -983,7 +1027,7 @@ than a terminal.") (invoke "nosetests" "-v")))))) (propagated-inputs `(("python-blessings" ,python-blessings) - ("python-wcwidth" ,python-wcwidth))) + ("python-cwcwidth" ,python-cwcwidth))) (native-inputs `(("python-mock" ,python-mock) ("python-pyte" ,python-pyte) @@ -1264,7 +1308,7 @@ basic input/output.") (define-public alacritty (package (name "alacritty") - (version "0.7.2") + (version "0.9.0") (source (origin ;; XXX: The crate at "crates.io" has limited contents. In particular, @@ -1275,18 +1319,18 @@ basic input/output.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1isa61rivqchzfms8aakr4nks4kflwnfr9f2pik91157hg1plxam")))) + (base32 "068y0b1a0m33r7a3j2xf6k602sc8062gm4d5568ynfx6w5n481lj")))) (build-system cargo-build-system) (arguments `(#:install-source? #f ; virtual manifest #:cargo-test-flags '("--release" "--" "--skip=config_read_eof") #:cargo-inputs (("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.1) - ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.13) + ("rust-alacritty-terminal" ,rust-alacritty-terminal-0.15) ("rust-clap" ,rust-clap-2) ("rust-cocoa" ,rust-cocoa-0.24) ("rust-copypasta" ,rust-copypasta-0.7) - ("rust-crossfont" ,rust-crossfont-0.2) + ("rust-crossfont" ,rust-crossfont-0.3) ("rust-embed-resource" ,rust-embed-resource-1) ("rust-fnv" ,rust-fnv-1) ("rust-gl-generator" ,rust-gl-generator-0.14) @@ -1399,7 +1443,7 @@ basic input/output.") ("libxxf86vm" ,libxxf86vm) ("mesa" ,mesa) ("rust-bitflags" ,rust-bitflags-1) - ("rust-dirs" ,rust-dirs-2) + ("rust-dirs" ,rust-dirs-3) ("rust-libc" ,rust-libc-0.2) ("rust-unicode-width" ,rust-unicode-width-0.1) ("rust-wayland-client" ,rust-wayland-client-0.28) @@ -1429,8 +1473,8 @@ terminal. Note that you need support for OpenGL 3.2 or higher.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/wtarreau/bootterm") - (commit (string-append "v" version)))) + (url "https://github.com/wtarreau/bootterm") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index b23b5256d7..5da6d8dbbe 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -385,6 +385,15 @@ files from LOCATIONS with expected checksum HASH. CODE is not currently in use. (("^\\./omfonts -ofm2opl \\$srcdir/tests/check tests/xcheck \\|\\| exit 1") "./omfonts -ofm2opl $srcdir/tests/check tests/xcheck || exit 77")) #t)) + ,@(if (target-ppc32?) + ;; Some mendex tests fail on some architectures. + `((add-after 'unpack 'skip-mendex-tests + (lambda _ + (substitute* '("texk/mendexk/tests/mendex.test" + "texk/upmendex/tests/upmendex.test") + (("srcdir/tests/pprecA-0.ind pprecA-0.ind1 \\|\\| exit 1") + "srcdir/tests/pprecA-0.ind pprecA-0.ind1 || exit 77"))))) + '()) (add-after 'unpack 'unpack-texlive-extra (lambda* (#:key inputs #:allow-other-keys) (mkdir "texlive-extra") @@ -561,6 +570,12 @@ This package contains the binaries.") (description "kpathsea is a library, whose purpose is to return a filename from a list of user-specified directories similar to how shells look up executables. It is maintained as a part of TeX Live."))) + +(define-syntax-rule (define-deprecated-package old-name name) + "Define OLD-NAME as a deprecated package alias for NAME." + (define-deprecated/public old-name name + (deprecated-package (symbol->string 'old-name) name))) + (define texlive-docstrip (package @@ -598,8 +613,7 @@ set up and one for initializing XeTeX character classes as has been carried out to date by @code{unicode-letters.tex}. ") (license license:lppl1.3c+))) -(define-public texlive-generic-unicode-data - (deprecated-package "texlive-generic-unicode-data" texlive-unicode-data)) +(define-deprecated-package texlive-generic-unicode-data texlive-unicode-data) (define-public texlive-hyphen-base (package @@ -662,8 +676,7 @@ allow existing format source files to be used with newer engines, for example to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.") (license license:public-domain))) -(define-public texlive-generic-tex-ini-files - (deprecated-package "texlive-generic-tex-ini-files" texlive-tex-ini-files)) +(define-deprecated-package texlive-generic-tex-ini-files texlive-tex-ini-files) (define-public texlive-metafont (package @@ -723,8 +736,7 @@ to adapt the plain e-TeX source file to work with XeTeX and LuaTeX.") build fonts using the Metafont system.") (license license:knuth))) -(define-public texlive-metafont-base - (deprecated-package "texlive-metafont-base" texlive-metafont)) +(define-deprecated-package texlive-metafont-base texlive-metafont) (define-public texlive-fontinst (let ((template (simple-texlive-package @@ -814,8 +826,7 @@ metrics (and related information) for a font family that TeX needs to do any typesetting in these fonts.") (license license:lppl1.1+)))) -(define-public texlive-tex-fontinst-base - (deprecated-package "texlive-tex-fontinst-base" texlive-fontinst)) +(define-deprecated-package texlive-tex-fontinst-base texlive-fontinst) (define-public texlive-fontname (package @@ -908,8 +919,7 @@ display, and mathematical fonts in a range of styles, based on Monotype Modern 8A.") (license license:knuth)))) -(define-public texlive-fonts-cm - (deprecated-package "texlive-fonts-cm" texlive-cm)) +(define-deprecated-package texlive-fonts-cm texlive-cm) (define-public texlive-cm-super (let ((template (simple-texlive-package @@ -943,8 +953,7 @@ originals.") ;; With font exception (license license:gpl2+)))) -(define-public texlive-fonts-cm-super - (deprecated-package "texlive-fonts-cm-super" texlive-cm-super)) +(define-deprecated-package texlive-fonts-cm-super texlive-cm-super) (define-public texlive-courier (package @@ -1038,8 +1047,7 @@ Computers & Typesetting series.") ;; additional but not legally binding clause. (license license:lppl1.3c+))) -(define-public texlive-fonts-lm - (deprecated-package "texlive-fonts-lm" texlive-lm)) +(define-deprecated-package texlive-fonts-lm texlive-lm) (define-public texlive-knuth-lib (let ((template (simple-texlive-package @@ -1102,8 +1110,7 @@ from Donald Knuth, including the plain format, plain base, and the MF logo fonts.") (license license:knuth)))) -(define-public texlive-fonts-knuth-lib - (deprecated-package "texlive-fonts-knuth-lib" texlive-knuth-lib)) +(define-deprecated-package texlive-fonts-knuth-lib texlive-knuth-lib) (define-public texlive-fonts-latex (package @@ -1254,8 +1261,7 @@ Knuthian mflogo fonts described in The Metafontbook and to typeset Metafont logos in LaTeX documents.") (license license:lppl)))) -(define-public texlive-latex-mflogo - (deprecated-package "texlive-latex-mflogo" texlive-mflogo)) +(define-deprecated-package texlive-latex-mflogo texlive-mflogo) (define-public texlive-mflogo-font (package @@ -1278,8 +1284,7 @@ source; they have since been autotraced and reissued in Adobe Type 1 format by Taco Hoekwater.") (license license:knuth))) -(define-public texlive-fonts-mflogo-font - (deprecated-package "texlive-fonts-mflogo-font" texlive-mflogo-font)) +(define-deprecated-package texlive-fonts-mflogo-font texlive-mflogo-font) (define-public texlive-amsfonts (let ((template (simple-texlive-package @@ -1413,11 +1418,9 @@ Modern family of fonts. The Euler fonts are supported by separate packages; details can be found in the documentation.") (license license:silofl1.1)))) -(define-public texlive-fonts-amsfonts - (deprecated-package "texlive-fonts-amsfonts" texlive-amsfonts)) +(define-deprecated-package texlive-fonts-amsfonts texlive-amsfonts) -(define-public texlive-latex-amsfonts - (deprecated-package "texlive-latex-amsfonts" texlive-amsfonts)) +(define-deprecated-package texlive-latex-amsfonts texlive-amsfonts) (define-public texlive-mkpattern (package @@ -2509,8 +2512,7 @@ converters, will completely supplant the older patterns.") license:public-domain license:wtfpl2)))) -(define-public texlive-generic-hyph-utf8 - (deprecated-package "texlive-generic-hyph-utf8" texlive-hyph-utf8)) +(define-deprecated-package texlive-generic-hyph-utf8 texlive-hyph-utf8) (define-public texlive-dehyph-exptl (package @@ -2534,8 +2536,7 @@ bundle.") ;; under LPPL. (license (list license:expat license:lppl)))) -(define-public texlive-generic-dehyph-exptl - (deprecated-package "texlive-generic-dehyph-exptl" texlive-dehyph-exptl)) +(define-deprecated-package texlive-generic-dehyph-exptl texlive-dehyph-exptl) (define-public texlive-ukrhyph (package @@ -2733,10 +2734,9 @@ formats.") "platex-dev eptex" "uplatex-dev euptex" "csplain pdftex" "mf mf-nowin" "mex pdftex" "pdfmex pdftex" "luacsplain luatex" "optex luatex" - ;; LuaJIT is not ported to powerpc64le* yet. - ,@(if (string-prefix? "powerpc64le" - (or (%current-target-system) - (%current-system))) + ;; LuaJIT is not ported to powerpc64le* yet and + ;; building these fail on powerpc. + ,@(if (target-powerpc?) '("luajittex" "luajithbtex" "mfluajit") '()) "cont-en xetex" "cont-en pdftex" "pdfcsplain xetex" "pdfcsplain pdftex" "pdfcsplain luatex" "cslatex pdftex" @@ -2869,6 +2869,7 @@ formats.") ("texlive-ukrhyph" ,texlive-ukrhyph) ("texlive-ruhyphen" ,texlive-ruhyphen) ("texlive-latex-l3kernel" ,texlive-latex-l3kernel) + ("texlive-latex-l3backend" ,texlive-latex-l3backend) ;; TODO: This dependency isn't needed for LaTeX version 2021-06-01 ;; and later. See: ;; https://tug.org/pipermail/tex-live/2021-June/047180.html @@ -2982,8 +2983,7 @@ bundle of packages. (The latex-graphics bundle is also available to Plain TeX users, via its Plain TeX version.)") (license license:public-domain))) -(define-public texlive-generic-epsf - (deprecated-package "texlive-generic-epsf" texlive-epsf)) +(define-deprecated-package texlive-generic-epsf texlive-epsf) (define-public texlive-latex-fancyvrb (package @@ -3119,8 +3119,7 @@ row colors plus repeated non-aligned material (like horizontal lines) in tables.") (license license:lppl1.2+)))) -(define-public texlive-latex-xcolor - (deprecated-package "texlive-latex-xcolor" texlive-xcolor)) +(define-deprecated-package texlive-latex-xcolor texlive-xcolor) (define-public texlive-xmltex (let ((template (simple-texlive-package @@ -3245,8 +3244,7 @@ pdf and HTML backends. The package is distributed with the @code{backref} and @code{nameref} packages, which make use of the facilities of @code{hyperref}.") (license license:lppl1.3+)))) -(define-public texlive-latex-hyperref - (deprecated-package "texlive-latex-hyperref" texlive-hyperref)) +(define-deprecated-package texlive-latex-hyperref texlive-hyperref) (define-public texlive-oberdiek (package @@ -3281,8 +3279,7 @@ better accessibility support for PDF files; extensible chemists reaction arrows; record information about document class(es) used; and many more.") (license license:lppl1.3+))) -(define-public texlive-latex-oberdiek - (deprecated-package "texlive-latex-oberdiek" texlive-oberdiek)) +(define-deprecated-package texlive-latex-oberdiek texlive-oberdiek) (define-public texlive-latex-rerunfilecheck (package @@ -3367,8 +3364,7 @@ of file names.") ;; the latest version is 1.3c. (license license:lppl1.3c+))) -(define-public texlive-latex-url - (deprecated-package "texlive-latex-url" texlive-url)) +(define-deprecated-package texlive-latex-url texlive-url) (define-public texlive-tetex (package @@ -3546,8 +3542,7 @@ the NFSS in LaTeX running on XeTeX or LuaTeX engines. The package requires the l3kernel and xparse bundles from the LaTeX 3 development team.") (license license:lppl1.3+)))) -(define-public texlive-latex-fontspec - (deprecated-package "texlive-latex-fontspec" texlive-fontspec)) +(define-deprecated-package texlive-latex-fontspec texlive-fontspec) (define-public texlive-l3build (let ((template (simple-texlive-package @@ -3664,8 +3659,7 @@ loading fonts by their proper names instead of file names.") ;; GPL version 2 only (license license:gpl2)))) -(define-public texlive-luatex-luaotfload - (deprecated-package "texlive-luatex-luaotfload" texlive-luaotfload)) +(define-deprecated-package texlive-luatex-luaotfload texlive-luaotfload) (define-public texlive-latex-amsmath (package @@ -3724,8 +3718,7 @@ material. The material is made available as part of the AMS-LaTeX distribution.") (license license:lppl1.3c+)))) -(define-public texlive-latex-amscls - (deprecated-package "texlive-latex-amscls" texlive-amscls)) +(define-deprecated-package texlive-latex-amscls texlive-amscls) (define-public texlive-babel (let ((template (simple-texlive-package @@ -3774,8 +3767,7 @@ what has to be done for each language. Users of XeTeX are advised to use the polyglossia package rather than Babel.") (license license:lppl1.3+)))) -(define-public texlive-latex-babel - (deprecated-package "texlive-latex-babel" texlive-babel)) +(define-deprecated-package texlive-latex-babel texlive-babel) (define-public texlive-generic-babel-english (package @@ -3995,8 +3987,7 @@ means to select single glyphs from symbol fonts. The bundle as a whole is part of the LaTeX required set of packages.") (license license:lppl1.2+)))) -(define-public texlive-latex-psnfss - (deprecated-package "texlive-latex-psnfss" texlive-psnfss)) +(define-deprecated-package texlive-latex-psnfss texlive-psnfss) ;; For user profiles (define-public texlive-base @@ -4065,7 +4056,7 @@ configuration of a base set of packages plus PACKAGES." (file-name "updmap.cfg") (sha256 (base32 - "1q3l7yx5sng080ibfb8z3rdah0hhq170j6xw8z1w8i4w9m37lp94")))) + "0zhpyld702im6352fwp41f2hgfkpj2b4j1kfsjqbkijlcmvb6w2c")))) (name "texlive-updmap.cfg") (build-system copy-build-system) (arguments @@ -4433,8 +4424,7 @@ mode. The functionality is provided by purely expandable macros or by faster but non-expandable ones.") (license license:lppl1.3+))) -(define-public texlive-latex-filemod - (deprecated-package "texlive-latex-filemod" texlive-filemod)) +(define-deprecated-package texlive-latex-filemod texlive-filemod) (define-public texlive-latex-hanging (package @@ -4573,7 +4563,7 @@ rotated.") #:trivial? #t)) (propagated-inputs `(("texlive-latex-bigfoot" ,texlive-latex-bigfoot) ; for suffix - ("texlive-latex-filemod" ,texlive-latex-filemod) + ("texlive-filemod" ,texlive-filemod) ("texlive-latex-graphics" ,texlive-latex-graphics) ("texlive-latex-ifplatform" ,texlive-latex-ifplatform) ("texlive-latex-l3kernel" ,texlive-latex-l3kernel) ; for expl3 @@ -4591,8 +4581,7 @@ drastically speeding up compilation time when only a single figure needs re-processing.") (license license:lppl))) -(define-public texlive-latex-pstool - (deprecated-package "texlive-latex-pstool" texlive-pstool)) +(define-deprecated-package texlive-latex-pstool texlive-pstool) (define-public texlive-latex-refcount (package @@ -4633,8 +4622,7 @@ recent classes such as powerdot or beamer, both of which are tuned to 21st-century presentation styles.") (license license:lppl1.2+))) -(define-public texlive-latex-seminar - (deprecated-package "texlive-latex-seminar" texlive-seminar)) +(define-deprecated-package texlive-latex-seminar texlive-seminar) (define-public texlive-latex-stackengine (package @@ -4758,8 +4746,7 @@ hyperlink to the target of the DOI.") ;; Any version of the LPPL. (license license:lppl1.3+))) -(define-public texlive-latex-doi - (deprecated-package "texlive-latex-doi" texlive-doi)) +(define-deprecated-package texlive-latex-doi texlive-doi) (define-public texlive-etoolbox (package @@ -4782,8 +4769,7 @@ some LaTeX kernel commands; nevertheless, the package will not modify any part of the LaTeX kernel.") (license license:lppl1.3+))) -(define-public texlive-latex-etoolbox - (deprecated-package "texlive-latex-etoolbox" texlive-etoolbox)) +(define-deprecated-package texlive-latex-etoolbox texlive-etoolbox) (define-public texlive-latex-fncychap (package @@ -5617,8 +5603,7 @@ Adobe's basic set.") ;; No license version specified. (license license:gpl3+))) -(define-public texlive-fonts-adobe-times - (deprecated-package "texlive-fonts-adobe-times" texlive-times)) +(define-deprecated-package texlive-fonts-adobe-times texlive-times) (define-public texlive-palatino (package @@ -5646,8 +5631,7 @@ Adobe's basic set.") ;; No license version specified. (license license:gpl3+))) -(define-public texlive-fonts-adobe-palatino - (deprecated-package "texlive-fonts-adobe-palatino" texlive-palatino)) +(define-deprecated-package texlive-fonts-adobe-palatino texlive-palatino) (define-public texlive-zapfding (package @@ -5672,8 +5656,7 @@ Adobe's basic set.") ;; No license version specified. (license license:gpl3+))) -(define-public texlive-fonts-adobe-zapfding - (deprecated-package "texlive-fonts-adobe-zapfding" texlive-zapfding)) +(define-deprecated-package texlive-fonts-adobe-zapfding texlive-zapfding) (define-public texlive-fonts-rsfs (package @@ -5999,8 +5982,7 @@ use under LaTeX; the package supports the @code{only} option (provided by the the whole font.") (license license:lppl)))) -(define-public texlive-fonts-stmaryrd - (deprecated-package "texlive-fonts-stmaryrd" texlive-stmaryrd)) +(define-deprecated-package texlive-fonts-stmaryrd texlive-stmaryrd) (define-public texlive-latex-subfigure (package @@ -6125,8 +6107,7 @@ TeX metrics (VF and TFM files) and macros for use with LaTeX.") ;; Any version of the GPL with font exception. (license license:gpl3+))) -(define-public texlive-fonts-txfonts - (deprecated-package "texlive-fonts-txfonts" texlive-txfonts)) +(define-deprecated-package texlive-fonts-txfonts texlive-txfonts) (define-public texlive-fonts-iwona (package @@ -6462,8 +6443,7 @@ CM-Super family of fonts. The package also offers its own LaTeX support for OT2 encoded fonts, CM bright shaped fonts and Concrete shaped fonts.") (license license:lppl)))) -(define-public texlive-latex-lh - (deprecated-package "texlive-latex-lh" texlive-lh)) +(define-deprecated-package texlive-latex-lh texlive-lh) (define-public texlive-marvosym (package @@ -6619,8 +6599,7 @@ male and female symbols and astronomical symbols, as well as the complete implements an easy to use interface for these symbols.") (license license:lppl))) -(define-public texlive-latex-wasysym - (deprecated-package "texlive-latex-wasysym" texlive-wasysym)) +(define-deprecated-package texlive-latex-wasysym texlive-wasysym) (define-public texlive-latex-wrapfig (package @@ -6756,19 +6735,28 @@ e-TeX.") (inherit (simple-texlive-package "texlive-pdftex" (list "/doc/pdftex/" - "/doc/man/man1/pdfetex.1" "/doc/man/man1/pdftex.1" - + "/doc/man/man1/pdfetex.1" "/fonts/map/dvips/dummy-space/dummy-space.map" "/fonts/tfm/public/pdftex/dummy-space.tfm" "/fonts/type1/public/pdftex/dummy-space.pfb" "/scripts/simpdftex/simpdftex" - "/tex/generic/config/pdftex-dvi.tex" - "/tex/generic/pdftex/") + "/tex/generic/pdftex/glyphtounicode.tex" + "/tex/generic/pdftex/pdfcolor.tex") (base32 "1wx928rqsv0x1a8vc7aq49w3nglr4bmlhl822slqglymfxrmb91b") #:trivial? #t)) + ;; TODO: add this missing package: + ;; dehyph + (propagated-inputs + `(("texlive-cm" ,texlive-cm) + ("texlive-etex" ,texlive-etex) + ("texlive-fonts-knuth-lib" ,texlive-fonts-knuth-lib) + ("texlive-hyphen-base" ,texlive-hyphen-base) + ("texlive-kpathsea" ,texlive-kpathsea) + ("texlive-tex-ini-files" ,texlive-tex-ini-files) + ("texlive-tex-plain" ,texlive-tex-plain))) (home-page "https://www.ctan.org/pkg/pdftex") (synopsis "TeX extension for direct creation of PDF") (description @@ -6776,8 +6764,7 @@ e-TeX.") directly generate PDF documents instead of DVI.") (license license:gpl2+))) -(define-public texlive-generic-pdftex - (deprecated-package "texlive-generic-pdftex" texlive-pdftex)) +(define-deprecated-package texlive-generic-pdftex texlive-pdftex) (define texlive-texmf (package @@ -6820,9 +6807,15 @@ directly generate PDF documents instead of DVI.") (share (string-append out "/share")) (texmfroot (string-append share "/texmf-dist/web2c")) (texmfcnf (string-append texmfroot "/texmf.cnf")) + (fmtutilcnf (string-append texmfroot "/fmtutil.cnf")) (texlive-bin (assoc-ref inputs "texlive-bin")) (texbin (string-append texlive-bin "/bin")) (tlpkg (string-append texlive-bin "/share/tlpkg"))) + ;; LuaJIT is not ported to powerpc64* yet. + (if ,(target-ppc64le?) + (substitute* fmtutilcnf + (("^(luajittex|luajithbtex|mfluajit)" m) + (string-append "#! " m)))) ;; Register SHARE as TEXMFROOT in texmf.cnf. (substitute* texmfcnf (("TEXMFROOT = \\$SELFAUTOPARENT") @@ -7150,10 +7143,10 @@ develop documents with LaTeX, in a single application.") #t))))) (native-inputs `(("texlive" ,(texlive-updmap.cfg (list texlive-amsfonts - texlive-fonts-adobe-palatino - texlive-fonts-adobe-zapfding + texlive-palatino + texlive-zapfding texlive-knuth-lib - texlive-fonts-mflogo-font + texlive-mflogo-font texlive-pdftex))) ("automake" ,automake))) (home-page "https://www.gnu.org/software/teximpatient/") @@ -7503,7 +7496,7 @@ striking out (line through words) and crossing out (/// over words).") (base32 "05zdq7y3am109m5534ahqqp9x5iar3ha68v1r4zkrdly2mijxz2j")))))) (propagated-inputs - `(("texlive-latex-xcolor" ,texlive-latex-xcolor))) + `(("texlive-xcolor" ,texlive-xcolor))) (arguments `(#:modules ((guix build utils)) #:builder @@ -7983,11 +7976,9 @@ AMS-LaTeX, AMS-TeX, and plain TeX). The distribution includes Michael Barr's @code{diag} package, which was previously distributed stand-alone.") (license license:gpl3+)))) -(define-public texlive-fonts-xypic - (deprecated-package "texlive-fonts-xypic" texlive-xypic)) +(define-deprecated-package texlive-fonts-xypic texlive-xypic) -(define-public texlive-generic-xypic - (deprecated-package "texblive-generic-xypic" texlive-xypic)) +(define-deprecated-package texlive-generic-xypic texlive-xypic) (define-public texlive-bibtex (package @@ -8037,6 +8028,9 @@ package, such as @command{natbib} as well).") (base32 "09l5ymgz48s3hyn776l01g3isk3dnhrj1vdavdw4qq4kfxxpqdn9") #:trivial? #t)) + ;; This provides charter.map. + (propagated-inputs + `(("texlive-psnfss" ,texlive-psnfss))) (home-page "https://www.ctan.org/pkg/charter") (synopsis "Charter fonts for TeX") (description "This package provides a copy of the Charter Type-1 fonts @@ -8046,50 +8040,51 @@ Support for use with LaTeX is available in @code{freenfss}, part of (license (license:non-copyleft "http://mirrors.ctan.org/fonts/charter/readme.charter")))) -(define-public texlive-fonts-charter - (deprecated-package "texlive-fonts-charter" texlive-charter)) - -(define-public texlive-context-base - (package - (name "texlive-context-base") - (version (number->string %texlive-revision)) - (source (origin - (method svn-fetch) - (uri (svn-reference - (url (string-append "svn://www.tug.org/texlive/tags/" - %texlive-tag "/Master/texmf-dist/" - "/tex/context/base")) - (revision %texlive-revision))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1xprxdy0a5bwhyiyzdffq0q0dd4ijhra8hs39djdjd32r1mk3n8a")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils)) - (let ((target (string-append (assoc-ref %outputs "out") - "/share/texmf-dist/tex/context/case"))) - (mkdir-p target) - (copy-recursively (assoc-ref %build-inputs "source") target) - #t)))) - (home-page "https://www.ctan.org/pkg/context") - (synopsis "Full featured, parameter driven macro package for TeX") - (description "A full featured, parameter driven macro package, which fully -supports advanced interactive documents. See the ConTeXt garden for a wealth -of support information.") - (license license:gpl2+))) +(define-deprecated-package texlive-fonts-charter texlive-charter) (define-public texlive-context (package (inherit (simple-texlive-package "texlive-context" (list "/doc/context/" - ;; XXX Omitting /doc/man/man1/*.pdf - "/bibtex/bst/context/mkii/" - "/context/data/" + "/doc/man/man1/context.1" + "/doc/man/man1/luatools.1" + "/doc/man/man1/mtx-babel.1" + "/doc/man/man1/mtx-base.1" + "/doc/man/man1/mtx-bibtex.1" + "/doc/man/man1/mtx-cache.1" + "/doc/man/man1/mtx-chars.1" + "/doc/man/man1/mtx-check.1" + "/doc/man/man1/mtx-colors.1" + "/doc/man/man1/mtx-context.1" + "/doc/man/man1/mtx-dvi.1" + "/doc/man/man1/mtx-epub.1" + "/doc/man/man1/mtx-evohome.1" + "/doc/man/man1/mtx-fcd.1" + "/doc/man/man1/mtx-flac.1" + "/doc/man/man1/mtx-fonts.1" + "/doc/man/man1/mtx-grep.1" + "/doc/man/man1/mtx-interface.1" + "/doc/man/man1/mtx-metapost.1" + "/doc/man/man1/mtx-modules.1" + "/doc/man/man1/mtx-package.1" + "/doc/man/man1/mtx-pdf.1" + "/doc/man/man1/mtx-plain.1" + "/doc/man/man1/mtx-profile.1" + "/doc/man/man1/mtx-rsync.1" + "/doc/man/man1/mtx-scite.1" + "/doc/man/man1/mtx-server.1" + "/doc/man/man1/mtx-texworks.1" + "/doc/man/man1/mtx-timing.1" + "/doc/man/man1/mtx-tools.1" + "/doc/man/man1/mtx-unicode.1" + "/doc/man/man1/mtx-unzip.1" + "/doc/man/man1/mtx-update.1" + "/doc/man/man1/mtx-watch.1" + "/doc/man/man1/mtx-youless.1" + + "/bibtex/bst/context/" + "/context/" "/fonts/afm/hoekwater/context/contnav.afm" "/fonts/cid/fontforge/Adobe-CNS1-4.cidmap" @@ -8104,21 +8099,36 @@ of support information.") "/fonts/map/luatex/context/" "/fonts/map/pdftex/context/" "/fonts/misc/xetex/fontmapping/context/" - "/fonts/tfm/hoekwater/context/contnav.tfm" + "/fonts/tfm/hoekwater/context/" "/fonts/type1/hoekwater/context/" - "/metapost/context/" "/scripts/context/" - "/tex/context/" - - "/tex/generic/context/luatex/" - "/tex/generic/context/ppchtex/" + "/tex/context/base/" + "/tex/context/bib/" + "/tex/context/colors/" + "/tex/context/fonts/" + "/tex/context/interface/" + "/tex/context/modules/" + "/tex/context/patterns/" + "/tex/context/sample/" + "/tex/context/test/" + "/tex/context/user/" + "/tex/generic/context/" "/tex/latex/context/") (base32 - "0qrc9278h50c9k94jdjlbcbjnsmidxf7pqh10azqf6sgzifx3d7s") + "1rsw760f52rj62i7ms89xgxdi0qw6hag5fs5hb667nclr4kdkam8") #:trivial? #t)) + ;; TODO: add these missing packages: + ;; xetex, luatex, lm-math, manfnt-font, and mptopdf + (propagated-inputs + `(("texlive-amsfonts" ,texlive-amsfonts) + ("texlive-lm" ,texlive-lm) + ("texlive-pdftex" ,texlive-pdftex) + ("texlive-metapost" ,texlive-metapost) + ("texlive-fonts-stmaryrd" ,texlive-fonts-stmaryrd) + ("texlive-mflogo-font" ,texlive-mflogo-font))) (home-page "https://www.ctan.org/pkg/context") - (synopsis "ConTeXt macro package") + (synopsis "Full featured, parameter driven macro package for TeX") (description "ConTeXt is a full featured, parameter driven macro package, which fully supports advanced interactive documents. See the ConTeXt garden for a wealth of support information.") @@ -8128,6 +8138,8 @@ for a wealth of support information.") license:gpl2+ license:cc-by-sa4.0)))) +(define-deprecated-package texlive-context-base texlive-context) + (define-public texlive-beamer (package (inherit (simple-texlive-package @@ -8138,9 +8150,9 @@ for a wealth of support information.") "091n27n4l3iac911bvmpp735ffryyzaq46mkclgn3q9jsvc4ngiv") #:trivial? #t)) (propagated-inputs - `(("texlive-latex-hyperref" ,texlive-latex-hyperref) + `(("texlive-hyperref" ,texlive-hyperref) ("texlive-oberdiek" ,texlive-oberdiek) - ("texlive-latex-etoolbox" ,texlive-latex-etoolbox) + ("texlive-etoolbox" ,texlive-etoolbox) ("texlive-latex-pgf" ,texlive-latex-pgf))) (home-page "https://www.ctan.org/pkg/beamer") (synopsis "LaTeX class for producing presentations and slides") @@ -8157,8 +8169,7 @@ effects, varying slide transitions and animations.") ;; dual-licensed under either FDLv1.3+ or LPPL1.3c+. (license (list license:lppl1.3c+ license:gpl2+ license:fdl1.3+)))) -(define-public texlive-latex-beamer - (deprecated-package "texlive-latex-beamer" texlive-beamer)) +(define-deprecated-package texlive-latex-beamer texlive-beamer) (define-public texlive-latex-xmpincl (package @@ -8220,8 +8231,7 @@ the file to which it applies.") standards-compliant PDF documents with pdfTeX, LuaTeX and XeTeX.") (license license:lppl1.2+)))) -(define-public texlive-latex-pdfx - (deprecated-package "texlive-latex-pdfx" texlive-pdfx)) +(define-deprecated-package texlive-latex-pdfx texlive-pdfx) (define-public texlive-ydoc (let ((template (simple-texlive-package @@ -8356,11 +8366,9 @@ package also provides the @code{\\RequirePDFTeX}, @code{\\RequireXeTeX}, and LuaTeX (respectively) is not the engine in use.") (license license:lppl1.3+)))) -(define-public texlive-iftex - (deprecated-package "texlive-iftex" texlive-generic-iftex)) +(define-deprecated-package texlive-iftex texlive-generic-iftex) -(define-public texlive-generic-ifxetex - (deprecated-package "texlive-generic-ifxetex" texlive-generic-iftex)) +(define-deprecated-package texlive-generic-ifxetex texlive-generic-iftex) (define-public texlive-tools (let ((template (simple-texlive-package @@ -8449,7 +8457,6 @@ are part of the LaTeX required tools distribution, comprising the packages: #t)))))) (native-inputs `(("texlive-latex-base" ,texlive-latex-base) - ("texlive-latex-l3backend" ,texlive-latex-l3backend) ("texlive-cm" ,texlive-cm) ("texlive-lm" ,texlive-lm) ("texlive-url" ,texlive-url) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index de3953c8d9..d05e1c904a 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -9,13 +9,14 @@ ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2019 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr> -;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch> ;;; Copyright © 2020 Mark Meyer <mark@ofosos.org> ;;; Copyright © 2020 Maxime Devos <maximedevos@telenet.be> ;;; Copyright © 2021 aecepoglu <aecepoglu@fastmail.fm> ;;; Copyright © 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2021 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2021 Calum Irwin <calumirwin1@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ (define-module (gnu packages text-editors) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system cargo) @@ -47,6 +49,7 @@ #:use-module (gnu packages aspell) #:use-module (gnu packages assembly) #:use-module (gnu packages autotools) + #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages code) #:use-module (gnu packages crates-io) @@ -162,7 +165,7 @@ based command language.") (define-public kakoune (package (name "kakoune") - (version "2020.09.01") + (version "2021.08.28") (source (origin (method url-fetch) @@ -170,7 +173,7 @@ based command language.") "releases/download/v" version "/" "kakoune-" version ".tar.bz2")) (sha256 - (base32 "0x81rxy7bqnhd9374g5ypy4w4nxmm0vnqw6b52bf62jxdg2qj6l6")))) + (base32 "1jvn4b9rma5jjvg3xz8nf224pbq3ry570j6qvc834wn5v3gxfvkg")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -193,11 +196,10 @@ based command language.") (add-before 'build 'chdir (lambda _ (chdir "src") #t))))) (native-inputs - `(("asciidoc" ,asciidoc) + `(("gcc", gcc-10) ; See https://github.com/mawww/kakoune/issues/4318 + ("asciidoc" ,asciidoc) ("pkg-config" ,pkg-config) ("ruby" ,ruby))) - (inputs - `(("ncurses" ,ncurses))) (synopsis "Vim-inspired code editor") (description "Kakoune is a code editor heavily inspired by Vim, as such most of its @@ -505,7 +507,7 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (define-public mg (package (name "mg") - (version "20180927") + (version "20210609") (source (origin (method git-fetch) (uri (git-reference @@ -514,46 +516,37 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on (file-name (git-file-name name version)) (sha256 (base32 - "14vrm8lvwksf697sqks7xfd1xaqjlqjc9afjk33sksq5p27wr203")) + "04c2vqxg31mk15cfrhzrivykis8fmf0m1d8h1qdjdmlfxd4qwaqf")) (modules '((guix build utils))) (snippet '(begin (substitute* "GNUmakefile" - (("/usr/bin/") "")) - #t)))) + (("/usr/bin/") "")))))) (build-system gnu-build-system) - (native-inputs - `(("pkg-config" ,pkg-config))) - (inputs - `(("libbsd" ,libbsd) - ("ncurses" ,ncurses))) + (native-inputs (list pkg-config)) + (inputs (list diffutils libbsd ncurses)) (arguments ;; No test suite available. - `(#:tests? #f - #:make-flags (list (string-append "prefix=" %output) - (string-append "CC=" ,(cc-for-target))) - #:phases (modify-phases %standard-phases - (delete 'configure) ; no configure script - (add-before 'build 'correct-location-of-difftool - (lambda _ - (substitute* "buffer.c" - (("/usr/bin/diff") - (which "diff"))))) - (add-before 'build 'pkg-config-for-cross-compiling-target - (lambda _ - (substitute* "GNUmakefile" - (("pkg-config") - (or (which "pkg-config") - (string-append ,(%current-target-system) - "-pkg-config")))))) - (add-before 'install 'patch-tutorial-location - (lambda* (#:key outputs #:allow-other-keys) - (substitute* "mg.1" - (("/usr") (assoc-ref outputs "out"))))) - (add-after 'install 'install-tutorial - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/mg"))) - (install-file "tutorial" doc))))))) + (list #:tests? #f + #:make-flags + #~(list (string-append "prefix=" #$output) + (string-append "CC=" #$(cc-for-target)) + (string-append "PKG_CONFIG=" #$(pkg-config-for-target))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-before 'build 'correct-location-of-diff + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "buffer.c" + (("/usr/bin/diff") + (search-input-file inputs "/bin/diff"))))) + (add-before 'install 'patch-tutorial-location + (lambda _ + (substitute* "mg.1" + (("/usr") #$output)))) + (add-after 'install 'install-tutorial + (lambda _ + (let ((doc (string-append #$output "/share/doc/mg"))) + (install-file "tutorial" doc))))))) (home-page "https://homepage.boetes.org/software/mg/") (synopsis "Microscopic GNU Emacs clone") (description @@ -932,14 +925,14 @@ Octave. TeXmacs is completely extensible via Guile.") (define-public scintilla (package (name "scintilla") - (version "5.1.0") + (version "5.1.1") (source (origin (method url-fetch) (uri (let ((v (apply string-append (string-split version #\.)))) (string-append "https://www.scintilla.org/scintilla" v ".tgz"))) (sha256 - (base32 "0figd543inpi00yr6han73qd2fzx99r099vzcbg9mhpzsgxfwz4f")))) + (base32 "1d0yjx2wlx4fj5bccxdgfmrr7nzazkw4m08i6h4c0a54sb484yif")))) (build-system gnu-build-system) (arguments `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") @@ -1088,7 +1081,7 @@ card. It offers: (define-public ne (package (name "ne") - (version "3.3.0") + (version "3.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -1097,7 +1090,7 @@ card. It offers: (file-name (git-file-name name version)) (sha256 (base32 - "01aglnsfljlvx0wvyvpjfn4y88jf450a06qnj9a8lgdqv1hdkq1a")))) + "0sg2f6lxq6cjkpd3dvlxxns82hvq826rjnams5in97pssmknr77g")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) @@ -1113,11 +1106,14 @@ card. It offers: "/lib")) #:phases (modify-phases %standard-phases + (add-before 'configure 'patch-early-shebang + (lambda _ + (substitute* "version.pl" + (("/usr/bin/env .*perl") (which "perl"))))) (replace 'configure (lambda _ (substitute* "src/makefile" - (("-lcurses") "-lncurses")) - #t))))) + (("-lcurses") "-lncurses"))))))) (home-page "https://ne.di.unimi.it/") (synopsis "Text editor with menu bar") (description "This package provides a modeless text editor with menu bar. diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index c3f4580a47..c86cfd7de1 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -20,6 +20,9 @@ ;;; Copyright © 2019 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2019 Wiktor Żelazny <wzelazny@vurv.cz> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me> +;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +66,7 @@ #:use-module (gnu packages python-build) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages slang) #:use-module (gnu packages web)) @@ -201,6 +205,46 @@ normalization, case-folding, and other operations for data in the UTF-8 encoding, supporting Unicode version 9.0.0.") (license license:expat))) +(define-public utf8proc-2.6.1 + (package + (inherit utf8proc) + (name "utf8proc") + (version "2.6.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaStrings/utf8proc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1zqc6airkzkssbjxanx5v8blfk90180gc9id0dx8ncs54f1ib8w7")))) + (arguments + (substitute-keyword-arguments (package-arguments utf8proc) + ((#:phases phases) + `(modify-phases ,phases + (replace 'check-data + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (display native-inputs) + (for-each (lambda (i) + (copy-file (assoc-ref (or native-inputs inputs) i) + (string-append "data/" i))) + '("NormalizationTest.txt" "GraphemeBreakTest.txt" + "DerivedCoreProperties.txt")))))))) + (native-inputs + (append + (package-native-inputs utf8proc) + (let ((UNICODE_VERSION "13.0.0")) + `(("DerivedCoreProperties.txt" + ,(origin + (method url-fetch) + (uri (string-append "https://www.unicode.org/Public/" + UNICODE_VERSION "/ucd/DerivedCoreProperties.txt")) + (sha256 + (base32 "0j12x112cd8fpgazkc8izxnhhpia44p1m36ff8yapslxndcmzm55")))) + ;; For tests + ("ruby" ,ruby))))))) + (define-public libconfuse (package (name "libconfuse") @@ -1167,7 +1211,7 @@ OpenDocument presentations (*.odp).") (chdir "python") (mkdir-p dist) (setenv "PYTHONPATH" - (string-append dist ":" (getenv "PYTHONPATH"))) + (string-append dist ":" (getenv "GUIX_PYTHONPATH"))) (invoke "python" "setup.py" "install" "--root=/" "--single-version-externally-managed" (string-append "--prefix=" out)) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index eca20964ed..c73559cb73 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -4,13 +4,13 @@ ;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Thompson <davet@gnu.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Leo Famulari <leo@famulari.name> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017, 2019, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017, 2018, 2019, 2020, 2021 Marius Bakke <marius@gnu.org> -;;; Copyright © 2017–2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> @@ -51,6 +51,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages compression) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages curl) @@ -180,7 +181,8 @@ living in the same process.") (version-major+minor version) "/gnutls-" version ".tar.xz")) (patches (search-patches "gnutls-skip-trust-store-test.patch" - "gnutls-cross.patch")) + "gnutls-cross.patch" + "gnutls-guile-eintr-eagain.patch")) (sha256 (base32 "0li7mwjnm64mbxhacz0rpf6i9qd83f53fvbrx96alpqqk9d6qvk4")))) @@ -341,6 +343,7 @@ OpenSSL for TARGET." (package (name "openssl") (version "1.1.1k") + (replacement openssl-1.1.1l) (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -378,6 +381,14 @@ OpenSSL for TARGET." #$(target->openssl-target (%current-target-system)))))) #~()) + ;; This test seems to be dependant on kernel features. + ;; https://github.com/openssl/openssl/issues/12242 + #$@(if (target-arm?) + #~((replace 'check + (lambda* (#:key tests? test-target #:allow-other-keys) + (when tests? + (invoke "make" "TESTS=-test_afalg" test-target))))) + #~()) (replace 'configure (lambda* (#:key configure-flags #:allow-other-keys) (let* ((out #$output) @@ -457,11 +468,11 @@ OpenSSL for TARGET." (license license:openssl) (home-page "https://www.openssl.org/"))) -(define-public openssl-1.0 +;; Replacement package to fix multiple CVEs. +(define openssl-1.1.1l (package (inherit openssl) - (name "openssl") - (version "1.0.2u") + (version "1.1.1l") (source (origin (method url-fetch) (uri (list (string-append "https://www.openssl.org/source/openssl-" @@ -471,84 +482,118 @@ OpenSSL for TARGET." (string-append "ftp://ftp.openssl.org/source/old/" (string-trim-right version char-set:letter) "/openssl-" version ".tar.gz"))) + (patches (search-patches "openssl-1.1-c-rehash-in.patch")) (sha256 (base32 - "05lxcs4hzyfqd5jn0d9p0fvqna62v2s4pc9qgmq0dpcknkzwdl7c")) - (patches (search-patches "openssl-runpath.patch" - "openssl-c-rehash-in.patch")))) - (outputs '("out" - "doc" ;1.5MiB of man3 pages - "static")) ;6MiB of .a files - (arguments - (substitute-keyword-arguments (package-arguments openssl) - ;; Parallel build is not supported in 1.0.x. - ((#:parallel-build? _ #f) #f) - ((#:phases phases) - #~(modify-phases #$phases - (add-before 'patch-source-shebangs 'patch-tests - (lambda* (#:key inputs native-inputs #:allow-other-keys) - (let ((bash (assoc-ref (or native-inputs inputs) "bash"))) - (substitute* (find-files "test" ".*") - (("/bin/sh") - (string-append bash "/bin/sh")) - (("/bin/rm") - "rm")) - #t))) - (add-before 'configure 'patch-Makefile.org - (lambda* (#:key outputs #:allow-other-keys) - ;; The default MANDIR is some unusual place. Fix that. - (let ((out (assoc-ref outputs "out"))) - (patch-makefile-SHELL "Makefile.org") - (substitute* "Makefile.org" - (("^MANDIR[[:blank:]]*=.*$") - (string-append "MANDIR = " out "/share/man\n"))) - #t))) - (replace 'configure - ;; Override this phase because OpenSSL 1.0 does not understand -rpath. - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (invoke #$@(if (%current-target-system) - #~("./Configure") - #~("./config")) - "shared" ;build shared libraries - "--libdir=lib" + "1lbblxps2fhmz7bqh058iywh5wxfignbfx1s1kz2fj63b5g3wyhb")))))) - ;; The default for this catch-all directory is - ;; PREFIX/ssl. Change that to something more - ;; conventional. - (string-append "--openssldir=" out - "/share/openssl-" #$version) +;; We will not add any new uses of this package. If you add new code that uses +;; this package, your change will be reverted! +;; +;; The only acceptable use for this package is to bootstrap Rust, in +;; ((gnu packages rust) rust-1.19). +;; +;; OpenSSL 1.0 is no longer suppported upstream [0] and has several security +;; vulnerabilities that will not be fixed [1]. +;; +;; For more information from the Guix point of view, see +;; <https://bugs.gnu.org/46602>. +;; +;; [0] https://www.openssl.org/policies/releasestrat.html +;; [1] https://www.openssl.org/news/vulnerabilities.html +(define-public openssl-1.0 + (hidden-package + (package + (inherit openssl) + (name "openssl") + (version "1.0.2u") + (source (origin + (method url-fetch) + (uri (list (string-append "https://www.openssl.org/source/openssl-" + version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/" + "openssl-" version ".tar.gz") + (string-append "ftp://ftp.openssl.org/source/old/" + (string-trim-right version char-set:letter) + "/openssl-" version ".tar.gz"))) + (sha256 + (base32 + "05lxcs4hzyfqd5jn0d9p0fvqna62v2s4pc9qgmq0dpcknkzwdl7c")) + (patches (search-patches "openssl-runpath.patch" + "openssl-c-rehash-in.patch")))) + (outputs '("out" + "doc" ;1.5MiB of man3 pages + "static")) ;6MiB of .a files + (arguments + (substitute-keyword-arguments (package-arguments openssl) + ;; Parallel build is not supported in 1.0.x. + ((#:parallel-build? _ #f) #f) + ((#:phases phases) + #~(modify-phases #$phases + (add-before 'patch-source-shebangs 'patch-tests + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (let ((bash (assoc-ref (or native-inputs inputs) "bash"))) + (substitute* (find-files "test" ".*") + (("/bin/sh") + (string-append bash "/bin/sh")) + (("/bin/rm") + "rm")) + #t))) + (add-before 'configure 'patch-Makefile.org + (lambda* (#:key outputs #:allow-other-keys) + ;; The default MANDIR is some unusual place. Fix that. + (let ((out (assoc-ref outputs "out"))) + (patch-makefile-SHELL "Makefile.org") + (substitute* "Makefile.org" + (("^MANDIR[[:blank:]]*=.*$") + (string-append "MANDIR = " out "/share/man\n"))) + #t))) + (replace 'configure + ;; Override this phase because OpenSSL 1.0 does not understand -rpath. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke #$@(if (%current-target-system) + #~("./Configure") + #~("./config")) + "shared" ;build shared libraries + "--libdir=lib" - (string-append "--prefix=" out) - #$@(if (%current-target-system) - '((getenv "CONFIGURE_TARGET_ARCH")) - '()))))) - (delete 'move-extra-documentation) - (add-after 'install 'move-man3-pages - (lambda* (#:key outputs #:allow-other-keys) - ;; Move section 3 man pages to "doc". - (let* ((out (assoc-ref outputs "out")) - (man3 (string-append out "/share/man/man3")) - (doc (assoc-ref outputs "doc")) - (target (string-append doc "/share/man/man3"))) - (mkdir-p target) - (for-each (lambda (file) - (rename-file file - (string-append target "/" - (basename file)))) - (find-files man3)) - (delete-file-recursively man3) - #t))) - ;; XXX: Duplicate this phase to make sure 'version' evaluates - ;; in the current scope and not the inherited one. - (replace 'remove-miscellany - (lambda* (#:key outputs #:allow-other-keys) - ;; The 'misc' directory contains random undocumented shell and Perl - ;; scripts. Remove them to avoid retaining a reference on Perl. - (let ((out (assoc-ref outputs "out"))) - (delete-file-recursively (string-append out "/share/openssl-" - #$version "/misc")) - #t))))))))) + ;; The default for this catch-all directory is + ;; PREFIX/ssl. Change that to something more + ;; conventional. + (string-append "--openssldir=" out + "/share/openssl-" #$version) + + (string-append "--prefix=" out) + #$@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) + (delete 'move-extra-documentation) + (add-after 'install 'move-man3-pages + (lambda* (#:key outputs #:allow-other-keys) + ;; Move section 3 man pages to "doc". + (let* ((out (assoc-ref outputs "out")) + (man3 (string-append out "/share/man/man3")) + (doc (assoc-ref outputs "doc")) + (target (string-append doc "/share/man/man3"))) + (mkdir-p target) + (for-each (lambda (file) + (rename-file file + (string-append target "/" + (basename file)))) + (find-files man3)) + (delete-file-recursively man3) + #t))) + ;; XXX: Duplicate this phase to make sure 'version' evaluates + ;; in the current scope and not the inherited one. + (replace 'remove-miscellany + (lambda* (#:key outputs #:allow-other-keys) + ;; The 'misc' directory contains random undocumented shell and Perl + ;; scripts. Remove them to avoid retaining a reference on Perl. + (let ((out (assoc-ref outputs "out"))) + (delete-file-recursively (string-append out "/share/openssl-" + #$version "/misc")) + #t)))))))))) (define-public libressl (package @@ -593,13 +638,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "1.16.0") + (version "1.17.0") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0mvqc8z30sxgr1m4p3yi3rm76sndnvl5khv4ybwx6zyq42403y51")))) + "03ij1wp7jwvppv70qbjkgdg7w824yh6j4gfb68jj20wicx08xx1a")))) (build-system python-build-system) (arguments `(#:phases @@ -647,7 +692,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri "certbot" version)) (sha256 (base32 - "0z90pcndbks8f62f47m5nkqcmkabb8r526by29lp30x4gjc0xs04")))) + "0wyipx6q78fmvngf1i6g50s01qpjqh07qlk1b5vyxwgl3080lhgg")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) @@ -1033,6 +1078,14 @@ coding footprint.") (native-inputs `(("gzip" ,gzip) ("tar" ,tar))) + ;; The following definition is copied from the cURL package to prevent a + ;; cycle between the curl and tls modules. + (native-search-paths + (list (search-path-specification + (variable "CURL_CA_BUNDLE") + (file-type 'regular) + (separator #f) + (files '("etc/ssl/certs/ca-certificates.crt"))))) (home-page "https://dehydrated.io/") (synopsis "Let's Encrypt/ACME client implemented as a shell script") (description "Dehydrated is a client for signing certificates with an @@ -1098,3 +1151,34 @@ default set of preferences. Remaining on a specific version for backwards compatibility is also supported.") (home-page "https://github.com/awslabs/s2n") (license license:asl2.0))) + +(define-public wolfssl + (package + (name "wolfssl") + (version "4.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/wolfSSL/wolfssl") + (commit (string-append "v" version "-stable")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1w9gs9cq2yhj5s3diz3x1l15pgrc1pbm00jccizvcjyibmwyyf2h")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + '("--enable-reproducible-build"))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (synopsis "SSL/TLS implementation") + (description "The wolfSSL embedded SSL library (formerly CyaSSL) is an +SSL/TLS library written in ANSI C and targeted for embedded, RTOS, and +resource-constrained environments - primarily because of its small size, speed, +and feature set. wolfSSL supports industry standards up to the current TLS 1.3 +and DTLS 1.2, is up to 20 times smaller than OpenSSL, and offers progressive +ciphers such as ChaCha20, Curve25519, NTRU, and Blake2b.") + (home-page "https://www.wolfssl.com/") + (license license:gpl2+))) ; Audit diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index c9ede9e25b..e0aa2b3751 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -67,36 +67,39 @@ continue running in the background, then later reattached.") (license license:isc))) (define-public tmux-themepack - (let ((commit "03a372866f7677f7fe63bcee140b48b9fd372c48") - (revision "1")) - (package - (name "tmux-themepack") - (version (git-version "0.0.0" revision commit)) ; no version tags - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/jimeh/tmux-themepack") - (commit commit))) - (sha256 - (base32 - "1d3k87mq5lca042jbap5kxskjy3kg79wjhhpnm6jacbn3anc67zl")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - `(#:tests? #f ; no test suite - #:phases (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (string-append - (assoc-ref outputs "out") - "/share/" ,name "-" ,version))) - (copy-recursively "." out))))))) - (home-page "https://github.com/jimeh/tmux-themepack") - (synopsis "Collection of themes for Tmux") - (description "A collection of various themes for Tmux.") - (license license:wtfpl2)))) + (package + (name "tmux-themepack") + (version "1.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jimeh/tmux-themepack") + (commit version))) + (sha256 + (base32 + "00dmd16ngyag3n46rbnl9vy82ih6g0y02yfwkid32a1c8vdbvb3z")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no test suite + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (string-append + (assoc-ref outputs "out") + "/share/" ,name))) + (copy-recursively "powerline" (string-append out "/powerline")) + (for-each (lambda (file) (copy-file file (string-append out "/" file))) + '("basic.tmuxtheme" + "default.tmuxtheme" + "themepack.tmux")))))))) + (home-page "https://github.com/jimeh/tmux-themepack") + (synopsis "Collection of themes for Tmux") + (description + "This package provides several themes for Tmux, the terminal multiplexer.") + (license license:wtfpl2))) (define-public tmuxifier (package diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e4f16f6caa..972160fb8e 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -45,6 +45,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) @@ -56,14 +57,14 @@ (define-public tor (package (name "tor") - (version "0.4.6.6") + (version "0.4.6.7") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "04ifi18cj4cw5lhfzgfrrc42j7qqdmbvxq24xlhj0dsmljdih8rl")))) + "16hga7195va8v0x062dc05nbz4sm3dscifcqpl8235dj47hmqrpz")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -226,7 +227,7 @@ networks.") (define-public onionshare-cli (package (name "onionshare-cli") - (version "2.3.1") + (version "2.3.2") (source (origin (method git-fetch) @@ -235,13 +236,14 @@ networks.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1llvnvb676s2cs6a4y7isxdj75ddfvskw1p93v5m35vsw7f72kqz")))) + (base32 "1qk0zvbaws9md1lmi0al1jc8v86l65nf7n3w1s36iwsfzazc6clv")))) (build-system python-build-system) (native-inputs `(("python-pytest" ,python-pytest))) (inputs ;; TODO: obfs4proxy `(("python-click" ,python-click) + ("python-colorama" ,python-colorama) ("python-eventlet" ,python-eventlet) ("python-flask" ,python-flask) ("python-flask-httpauth" ,python-flask-httpauth) @@ -303,10 +305,14 @@ OnionShare.") ;; - test_autostart_timer_too_short ;; - test_autostop_timer_too_short (substitute* "desktop/tests/test_gui_share.py" + (("import os" &) + (string-append "import pytest\n" &)) (("( *)def test_autost(art|op)_(timer(_too_short)?|and_[^(]*)\\(" & >) (string-append > "@pytest.mark.skip\n" &))) ;; - test_13_quit_with_server_started_should_warn (substitute* "desktop/tests/test_gui_tabs.py" + (("import os" &) + (string-append "import pytest\n" &)) (("( *)def test_13" & >) (string-append > "@pytest.mark.skip\n" &))) ;; Remove multiline load-path adjustment, so that onionshare-cli @@ -429,14 +435,14 @@ Potential client and exit connections are scrubbed of sensitive information.") (define-public tractor (package (name "tractor") - (version "3.10") + (version "3.12") (source (origin (method url-fetch) (uri (pypi-uri "traxtor" version)) (sha256 (base32 - "0cysxfynsnf5p61m7n6kb58bn1cf81n68clxh5irp44kjshi0q6l")))) + "0bwj4l6szvx7hpjr8va3hlv0g79sxz02hsb60l61hb314c6d4r3q")))) (build-system python-build-system) (native-inputs `(("glib:bin" ,glib "bin"))) ; for glib-compile-schemas. diff --git a/gnu/packages/tryton.scm b/gnu/packages/tryton.scm index 5fbbeb53be..364544c6d9 100644 --- a/gnu/packages/tryton.scm +++ b/gnu/packages/tryton.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com> ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -41,15 +42,15 @@ (define-public trytond (package (name "trytond") - (version "5.8.2") + (version "6.0.6") (source (origin (method url-fetch) (uri (pypi-uri "trytond" version)) (sha256 - (base32 "1h1x0cmmmxvjclbglvvxkv634jw6av5ilymbix1lln5lq0gd39yy")))) + (base32 "1jp5cadqpwkcnml8r1hj6aak5kc8an2d5ai62p96x77nn0dp3ny4")))) (build-system python-build-system) - (inputs + (propagated-inputs `(("python-dateutil" ,python-dateutil) ("python-genshi" ,python-genshi) ("python-lxml" ,python-lxml) @@ -62,7 +63,8 @@ ("python-werkzeug" ,python-werkzeug) ("python-wrapt" ,python-wrapt))) (native-inputs - `(("python-mock" ,python-mock))) + `(("python-mock" ,python-mock) + ("python-pillow" ,python-pillow))) (arguments `(#:phases (modify-phases %standard-phases @@ -85,13 +87,13 @@ and security.") (define-public tryton (package (name "tryton") - (version "5.8.2") + (version "6.0.5") (source (origin (method url-fetch) (uri (pypi-uri "tryton" version)) (sha256 - (base32 "0kr5ngmmldgb9a9d5ylkmppy5p8vlf9d8iwv9lnci2fyxg2705wh")))) + (base32 "15cbp2r25pkr7lp4yliqgb6d0n779z70d4gckv56bx5aw4z27f66")))) (build-system python-build-system) (arguments `(#:phases @@ -110,7 +112,7 @@ and security.") (native-inputs `(("glib-compile-schemas" ,glib "bin") ("gobject-introspection" ,gobject-introspection))) - (inputs + (propagated-inputs `(("gdk-pixbuf" ,gdk-pixbuf+svg) ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("gtk+" ,gtk+) @@ -126,13 +128,13 @@ and security.") (define-public python-proteus (package (name "python-proteus") - (version "5.8.1") + (version "6.0.2") (source (origin (method url-fetch) (uri (pypi-uri "proteus" version)) (sha256 - (base32 "03z5ssvjcvxv1p10y7c1y0jah0k3yyc9hlyi7xax98sfqyk13bnw")))) + (base32 "0qr7rir7ysxvy2kyfzp2d2kcw9qzq4vdkddbwswzgddxjpycksdh")))) (build-system python-build-system) ;; Tests require python-trytond-party which requires python-proteus. (arguments @@ -170,38 +172,39 @@ the build system." ;;; Tryton modules - please sort alphabetically ;;; -(define-public python-trytond-account +(define %standard-trytond-native-inputs + ;; native-inputs required by most of the tryton module for running the test + `(("python-dateutil" ,python-dateutil) + ("python-genshi" ,python-genshi) + ("python-lxml" ,python-lxml) + ("python-magic" ,python-magic) + ("python-passlib" ,python-passlib) + ("python-polib" ,python-polib) + ("python-proteus" ,python-proteus) + ("python-relatorio" ,python-relatorio) + ("python-sql" ,python-sql) + ("python-werkzeug" ,python-werkzeug) + ("python-wrapt" ,python-wrapt))) + +(define-public trytond-account (package - (name "python-trytond-account") - (version "5.8.1") + (name "trytond-account") + (version "6.0.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account" version)) (sha256 - (base32 "16ny67vcnxk9ngcxd56cfixm441vs9jxv3apmb16xsi47yk2xd7w")))) + (base32 "0j1mn8sd5n8rkwgfvcy9kf8s7s3qxvnilnc72i83ac573zj922xc")))) (build-system python-build-system) (arguments (tryton-arguments "account")) - (native-inputs - `(("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-dateutil" ,python-dateutil) - ("python-simpleeval" ,python-simpleeval) - ("python-sql" ,python-sql) - ("python-trytond-company" - ,python-trytond-company) - ("python-trytond-currency" - ,python-trytond-currency) - ("python-trytond-party" ,python-trytond-party) - ("trytond" ,trytond))) + `(("python-simpleeval" ,python-simpleeval) + ("trytond" ,trytond) + ("trytond-company" ,trytond-company) + ("trytond-currency" ,trytond-currency) + ("trytond-party" ,trytond-party))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for accounting") (description @@ -209,43 +212,30 @@ the build system." most of accounting needs.") (license license:gpl3+))) -(define-public python-trytond-account-invoice +(define-public python-trytond-account + (deprecated-package "python-trytond-account" trytond-account)) + +(define-public trytond-account-invoice (package - (name "python-trytond-account-invoice") - (version "5.8.1") + (name "trytond-account-invoice") + (version "6.0.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_invoice" version)) (sha256 - (base32 "0drccambg6855p7ai8654c7f9v85jzwicwpxmagyrr09qz6qzgcz")))) + (base32 "0r8zigb4qmv40kf835x8jd7049nnhk5g7g0aibvfd0y9p28lspnz")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice")) - (native-inputs - `(("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-dateutil" ,python-dateutil) - ("python-sql" ,python-sql) - ("python-trytond-account" - ,python-trytond-account) - ("python-trytond-account-product" - ,python-trytond-account-product) - ("python-trytond-company" - ,python-trytond-company) - ("python-trytond-currency" - ,python-trytond-currency) - ("python-trytond-party" ,python-trytond-party) - ("python-trytond-product" - ,python-trytond-product) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-account" ,trytond-account) + ("trytond-account-product" ,trytond-account-product) + ("trytond-company" ,trytond-company) + ("trytond-currency" ,trytond-currency) + ("trytond-party" ,trytond-party) + ("trytond-product" ,trytond-product))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for invoicing") (description @@ -253,39 +243,27 @@ most of accounting needs.") term.") (license license:gpl3+))) -(define-public python-trytond-account-invoice-stock +(define-public python-trytond-account-invoice + (deprecated-package "python-trytond-account-invoice" trytond-account-invoice)) + +(define-public trytond-account-invoice-stock (package - (name "python-trytond-account-invoice-stock") - (version "5.8.1") + (name "trytond-account-invoice-stock") + (version "6.0.0") (source (origin (method url-fetch) - (uri (pypi-uri - "trytond_account_invoice_stock" - version)) + (uri (pypi-uri "trytond_account_invoice_stock" version)) (sha256 - (base32 "02m6ikcc38ac41ddzg5xp5l9jz0k6j7j1g2xa62ki4v093yn4z5v")))) + (base32 "1228n6vsx0rdjsy3idvpyssa3n21nhvz9gqaacwa46c0hp2251bp")))) (build-system python-build-system) (arguments (tryton-arguments "account_invoice_stock")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-sql" ,python-sql) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-trytond-account-invoice" - ,python-trytond-account-invoice) - ("python-trytond-product" - ,python-trytond-product) - ("python-trytond-stock" ,python-trytond-stock) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-account-invoice" ,trytond-account-invoice) + ("trytond-product" ,trytond-product) + ("trytond-stock" ,trytond-stock))) (home-page "https://www.tryton.org/") (synopsis "Tryton module to link stock and invoice") (description @@ -294,40 +272,29 @@ lines and stock moves. The unit price of the stock move is updated with the average price of the posted invoice lines that are linked to it.") (license license:gpl3+))) -(define-public python-trytond-account-product +(define-public python-trytond-account-invoice-stock + (deprecated-package + "python-trytond-account-invoice-stock" trytond-account-invoice-stock)) + +(define-public trytond-account-product (package - (name "python-trytond-account-product") - (version "5.8.1") + (name "trytond-account-product") + (version "6.0.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_account_product" version)) (sha256 - (base32 "10bpbkkmllbh9lm5ajydmc5nvqm9bbdn9rmm03jqgik23s5kyx2z")))) + (base32 "1z0dn1p22smzb4a9v451224wrpxcw94inl7jxkarc0q088gasn7d")))) (build-system python-build-system) (arguments (tryton-arguments "account_product")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-sql" ,python-sql) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-trytond-account" - ,python-trytond-account) - ("python-trytond-analytic-account" - ,python-trytond-analytic-account) - ("python-trytond-company" - ,python-trytond-company) - ("python-trytond-product" - ,python-trytond-product) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-account" ,trytond-account) + ("trytond-analytic-account" ,trytond-analytic-account) + ("trytond-company" ,trytond-company) + ("trytond-product" ,trytond-product))) (home-page "https://www.tryton.org/") (synopsis "Tryton module to add accounting on product") (description @@ -335,39 +302,28 @@ average price of the posted invoice lines that are linked to it.") and category.") (license license:gpl3+))) -(define-public python-trytond-analytic-account +(define-public python-trytond-account-product + (deprecated-package "python-trytond-account-product" trytond-account-product)) + +(define-public trytond-analytic-account (package - (name "python-trytond-analytic-account") - (version "5.8.1") + (name "trytond-analytic-account") + (version "6.0.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_analytic_account" version)) (sha256 - (base32 "10rn2rf1ji7d1gxmgca368yvabql1ahklqg7p8sh5bl79vn5qx5x")))) + (base32 "09j9xz41n5hk3j7w63xbw1asd3p00prqvl652qcm9x1nrlmqiw3r")))) (build-system python-build-system) (arguments (tryton-arguments "analytic_account")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-sql" ,python-sql) - ("python-trytond-account" - ,python-trytond-account) - ("python-trytond-company" - ,python-trytond-company) - ("python-trytond-currency" - ,python-trytond-currency) - ("python-trytond-party" ,python-trytond-party) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-account" ,trytond-account) + ("trytond-company" ,trytond-company) + ("trytond-currency" ,trytond-currency) + ("trytond-party" ,trytond-party))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for analytic accounting") (description @@ -375,35 +331,27 @@ and category.") required to analyse accounting using multiple different axes.") (license license:gpl3+))) -(define-public python-trytond-company +(define-public python-trytond-analytic-account + (deprecated-package + "python-trytond-analytic-account" trytond-analytic-account)) + +(define-public trytond-company (package - (name "python-trytond-company") - (version "5.8.1") + (name "trytond-company") + (version "6.0.3") (source (origin (method url-fetch) (uri (pypi-uri "trytond_company" version)) (sha256 - (base32 "1bwy2rkgfw32cwhq5fh3rpy7bx425h44ap10i9kjx5ak86bfnpz9")))) + (base32 "1q4qdyg32dn00pn3pj2yjl3jhxaqpv7a1cv5s5c95cpy5p46p02n")))) (build-system python-build-system) (arguments (tryton-arguments "company")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-sql" ,python-sql) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-trytond-currency" - ,python-trytond-currency) - ("python-trytond-party" ,python-trytond-party) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-currency" ,trytond-currency) + ("trytond-party" ,trytond-party))) (home-page "https://www.tryton.org/") (synopsis "Tryton module with companies and employees") (description @@ -411,31 +359,23 @@ required to analyse accounting using multiple different axes.") company and employee and extend the user model.") (license license:gpl3+))) -(define-public python-trytond-country +(define-public python-trytond-company + (deprecated-package "python-trytond-company" trytond-company)) + +(define-public trytond-country (package - (name "python-trytond-country") - (version "5.8.1") + (name "trytond-country") + (version "6.0.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_country" version)) (sha256 - (base32 "1lkspk5w5pb0gg2h27zb7vwcj993gkm1f84qdxmqlpkc8raqvicj")))) + (base32 "1ksinysac7p0k8avsz8xqzfkmm21s6i93qyrsma5h4y5477cwmw7")))) (build-system python-build-system) ;; Doctest contains one test that requires internet access. (arguments (tryton-arguments "country" "--no-doctest")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-sql" ,python-sql) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs `(("python-pycountry" ,python-pycountry) ("trytond" ,trytond))) @@ -445,31 +385,26 @@ company and employee and extend the user model.") "This package provides a Tryton module with countries.") (license license:gpl3+))) -(define-public python-trytond-currency +(define-public python-trytond-country + (deprecated-package "python-trytond-country" trytond-country)) + +(define-public trytond-currency (package - (name "python-trytond-currency") - (version "5.8.1") + (name "trytond-currency") + (version "6.0.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_currency" version)) (sha256 - (base32 "0b5p7ibil7nlsv7f31j69rka4xj5za798262algx7xa88a6h7mmx")))) + (base32 "0fs2wvhgvc0l4yzs5m9l8z4lbzazr42hgz0859malhnlp1sya2kq")))) (build-system python-build-system) - (arguments (tryton-arguments "currency")) + ;; Doctest 'scenario_currency_rate_update.rst' fails. + (arguments (tryton-arguments "currency" "--no-doctest")) (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) + `(,@%standard-trytond-native-inputs ("python-forex-python" ,python-forex-python) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-pycountry" ,python-pycountry) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + ("python-pycountry" ,python-pycountry))) (propagated-inputs `(("python-sql" ,python-sql) ("trytond" ,trytond))) @@ -480,35 +415,27 @@ company and employee and extend the user model.") currency and rate.") (license license:gpl3+))) -(define-public python-trytond-party +(define-public python-trytond-currency + (deprecated-package "python-trytond-currency" trytond-currency)) + +(define-public trytond-party (package - (name "python-trytond-party") - (version "5.8.1") + (name "trytond-party") + (version "6.0.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_party" version)) (sha256 - (base32 "1hapfq7ip99s4qp9xra1m40q4n379p9pmfnz2x4ggd79ss76bghc")))) + (base32 "0aikzpr0ambc98v76dl6xqa42b08dy3b011y33lvxjp5mcha3f7y")))) (build-system python-build-system) ;; Doctest 'scenario_party_phone_number.rst' fails. (arguments (tryton-arguments "party" "--no-doctest")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-sql" ,python-sql) - ("python-stnum" ,python-stdnum) - ("python-trytond-country" ,python-trytond-country) - ("trytond" ,trytond))) + `(("python-stdnum" ,python-stdnum) + ("trytond" ,trytond) + ("trytond-country" ,trytond-country))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for parties and addresses") (description @@ -516,35 +443,26 @@ currency and rate.") addresses.") (license license:gpl3+))) -(define-public python-trytond-product +(define-public python-trytond-party + (deprecated-package "python-trytond-party" trytond-party)) + +(define-public trytond-product (package - (name "python-trytond-product") - (version "5.8.1") + (name "trytond-product") + (version "6.0.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_product" version)) (sha256 - (base32 "0x18ngpjyrdwjwg17bz98jph4jv5gcv0qc0p2kxpam4lqsy34ic2")))) + (base32 "1xvvqxkvzyqy6fn2sj5h3zj0g17igzwx6s18sxkdz72vqz6kpv0l")))) (build-system python-build-system) (arguments (tryton-arguments "product")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-sql" ,python-sql) - ("python-stdnum" ,python-stdnum) - ("python-trytond-company" - ,python-trytond-company) - ("trytond" ,trytond))) + `(("python-stdnum" ,python-stdnum) + ("trytond" ,trytond) + ("trytond-company" ,trytond-company))) (home-page "https://www.tryton.org/") (synopsis "Tryton module with products") (description @@ -552,85 +470,60 @@ addresses.") Template and Product.") (license license:gpl3+))) -(define-public python-trytond-purchase +(define-public python-trytond-product + (deprecated-package "python-trytond-product" trytond-product)) + +(define-public trytond-purchase (package - (name "python-trytond-purchase") - (version "5.8.1") + (name "trytond-purchase") + (version "6.0.2") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase" version)) (sha256 - (base32 "0na74zijj46b12gypy9si3las02a96rh5ygl503c7razha61g1b0")))) + (base32 "12drjw30ik3alckn6xrny4814vzi3ysh17wgiawiy9319yahsvay")))) (build-system python-build-system) (arguments (tryton-arguments "purchase")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-sql" ,python-sql) - ("python-trytond-account" - ,python-trytond-account) - ("python-trytond-account-invoice" - ,python-trytond-account-invoice) - ("python-trytond-account-invoice-stock" - ,python-trytond-account-invoice-stock) - ("python-trytond-account-product" - ,python-trytond-account-product) - ("python-trytond-company" - ,python-trytond-company) - ("python-trytond-currency" - ,python-trytond-currency) - ("python-trytond-party" ,python-trytond-party) - ("python-trytond-product" - ,python-trytond-product) - ("python-trytond-stock" ,python-trytond-stock) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-account" ,trytond-account) + ("trytond-account-invoice" ,trytond-account-invoice) + ("trytond-account-invoice-stock" ,trytond-account-invoice-stock) + ("trytond-account-product" ,trytond-account-product) + ("trytond-company" ,trytond-company) + ("trytond-currency" ,trytond-currency) + ("trytond-party" ,trytond-party) + ("trytond-product" ,trytond-product) + ("trytond-stock" ,trytond-stock))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for purchase") (description "This package provides a Tryton module that defines the Purchase model.") (license license:gpl3+))) -(define-public python-trytond-purchase-request +(define-public python-trytond-purchase + (deprecated-package "python-trytond-purchase" trytond-purchase)) + +(define-public trytond-purchase-request (package - (name "python-trytond-purchase-request") - (version "5.8.1") + (name "trytond-purchase-request") + (version "6.0.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_purchase_request" version)) (sha256 - (base32 "1m92snnvgisnv083nml6cz5qgnfdg539rd5bwg3lqrknm7343w16")))) + (base32 "0yhf3lh5b24qpk80r5pbmmswf5757bxa0s7ckl40vf6lkjkccv5i")))) (build-system python-build-system) ;; Doctest 'scenario_purchase_request.rst' fails. (arguments (tryton-arguments "purchase_request" "--no-doctest")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-sql" ,python-sql) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-trytond-product" - ,python-trytond-product) - ("python-trytond-purchase" - ,python-trytond-purchase) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-product" ,trytond-product) + ("trytond-purchase" ,trytond-purchase))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for purchase requests") (description @@ -639,39 +532,30 @@ Purchase Requests which are central points to collect purchase requests generated by other process from Tryton.") (license license:gpl3+))) -(define-public python-trytond-stock +(define-public python-trytond-purchase-request + (deprecated-package + "python-trytond-purchase-request" trytond-purchase-request)) + +(define-public trytond-stock (package - (name "python-trytond-stock") - (version "5.8.2") + (name "trytond-stock") + (version "6.0.6") (source (origin (method url-fetch) (uri (pypi-uri "trytond_stock" version)) (sha256 - (base32 "0yb8kd3alwqkivrlpx0ni4jxv3x14i37lmwism9yi81xwchyrcjk")))) + (base32 "1v6pvkwj6vhjqbz2zn0609kb7kx4g0dsn1xhvax4z2dqigh7ywpx")))) (build-system python-build-system) (arguments (tryton-arguments "stock")) - (native-inputs - `(("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs `(("python-simpleeval" ,python-simpleeval) - ("python-sql" ,python-sql) - ("python-trytond-company" - ,python-trytond-company) - ("python-trytond-currency" - ,python-trytond-currency) - ("python-trytond-party" ,python-trytond-party) - ("python-trytond-product" - ,python-trytond-product) - ("trytond" ,trytond))) + ("trytond" ,trytond) + ("trytond-company" ,trytond-company) + ("trytond-currency" ,trytond-currency) + ("trytond-party" ,trytond-party) + ("trytond-product" ,trytond-product))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for stock and inventory") (description @@ -681,80 +565,62 @@ between these locations, shipments for product arrivals and departures and inventory to control and update stock levels.") (license license:gpl3+))) -(define-public python-trytond-stock-lot +(define-public python-trytond-stock + (deprecated-package "python-trytond-stock" trytond-stock)) + +(define-public trytond-stock-lot (package - (name "python-trytond-stock-lot") - (version "5.8.2") + (name "trytond-stock-lot") + (version "6.0.0") (source (origin (method url-fetch) (uri (pypi-uri "trytond_stock_lot" version)) (sha256 - (base32 "0w2f62cfzm7j8wnw8igmjslpxc1a8s82dkdizyvim5qhjg6mrsym")))) + (base32 "18cwrvnrzjk1wb765gr6hp3plpdpwz1a7cwimjhxi47iw7w5c84g")))) (build-system python-build-system) (arguments (tryton-arguments "stock_lot")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-sql" ,python-sql) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-trytond-product" - ,python-trytond-product) - ("python-trytond-stock" ,python-trytond-stock) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-product" ,trytond-product) + ("trytond-stock" ,trytond-stock))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for lot of products") (description "This package provides a Tryton module that defines lot of products.") (license license:gpl3+))) -(define-public python-trytond-stock-supply +(define-public python-trytond-stock-lot + (deprecated-package "python-trytond-stock-lot" trytond-stock-lot)) + +(define-public trytond-stock-supply (package - (name "python-trytond-stock-supply") - (version "5.8.1") + (name "trytond-stock-supply") + (version "6.0.1") (source (origin (method url-fetch) (uri (pypi-uri "trytond_stock_supply" version)) (sha256 - (base32 "01cgpxlznldrba79a3xmj4d0csyfc3ccgs66c490j8v8rdnqpbww")))) + (base32 "1p5l3yjjy6l25kk9xnhbl691l3v8gfg9fhc87jc6qszhxlqxk730")))) (build-system python-build-system) (arguments (tryton-arguments "stock_supply")) - (native-inputs - `(("python-dateutil" ,python-dateutil) - ("python-genshi" ,python-genshi) - ("python-lxml" ,python-lxml) - ("python-magic" ,python-magic) - ("python-passlib" ,python-passlib) - ("python-polib" ,python-polib) - ("python-proteus" ,python-proteus) - ("python-relatorio" ,python-relatorio) - ("python-werkzeug" ,python-werkzeug) - ("python-wrapt" ,python-wrapt))) + (native-inputs `(,@%standard-trytond-native-inputs)) (propagated-inputs - `(("python-sql" ,python-sql) - ("python-trytond-account" - ,python-trytond-account) - ("python-trytond-party" ,python-trytond-party) - ("python-trytond-product" - ,python-trytond-product) - ("python-trytond-purchase" - ,python-trytond-purchase) - ("python-trytond-purchase-request" - ,python-trytond-purchase-request) - ("python-trytond-stock" ,python-trytond-stock) - ("trytond" ,trytond))) + `(("trytond" ,trytond) + ("trytond-account" ,trytond-account) + ("trytond-party" ,trytond-party) + ("trytond-product" ,trytond-product) + ("trytond-purchase" ,trytond-purchase) + ("trytond-purchase-request" ,trytond-purchase-request) + ("trytond-stock" ,trytond-stock))) (home-page "https://www.tryton.org/") (synopsis "Tryton module for stock supply") (description "This package provides a Tryton module that adds automatic supply mechanisms and introduces the concepts of order point.") (license license:gpl3+))) + +(define-public python-trytond-stock-supply + (deprecated-package "python-trytond-stock-supply" trytond-stock-supply)) diff --git a/gnu/packages/uglifyjs.scm b/gnu/packages/uglifyjs.scm new file mode 100644 index 0000000000..275553bb60 --- /dev/null +++ b/gnu/packages/uglifyjs.scm @@ -0,0 +1,50 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Charles <charles.b.jackson@protonmail.com> +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages uglifyjs) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system node) + #:use-module (gnu packages node-xyz)) + +(define-public node-uglify-js + (package + (name "node-uglify-js") + (version "3.13.9") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mishoo/UglifyJS") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0q1f91xwwm829cl5v727d4qkxy4yh7wri3pgl89f0m3a4y1n7hi4")))) + (build-system node-build-system) + (native-inputs + `(("node-acorn" ,node-acorn) + ("node-semver" ,node-semver))) + (home-page "https://lisperator.net/uglifyjs/") + (synopsis "JavaScript parser / mangler / compressor / beautifier toolkit") + (description "UglifyJS is a JavaScript compressor/minifier written in +JavaScript. It also contains tools that allow one to automate working with +JavaScript code: parser, code generator, compressor, mangler, scope analyzer, +tree walker, and tree transformer.") + (license license:bsd-2))) + +(define-public uglifyjs node-uglify-js) diff --git a/gnu/packages/uucp.scm b/gnu/packages/uucp.scm index 1bb4fdb975..120417dea1 100644 --- a/gnu/packages/uucp.scm +++ b/gnu/packages/uucp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,10 +18,13 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages uucp) + #:use-module (gnu packages golang) + #:use-module (gnu packages texinfo) #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix build-system go)) (define-public uucp (package @@ -54,3 +58,115 @@ set of utilities for remotely transferring files, email and net news between computers.") (license gpl2+))) + +(define-public nncp + (package + (name "nncp") + (version "7.5.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.nncpgo.org/download/nncp-" + version ".tar.xz")) + (sha256 + (base32 + "1r1zgj7gpkdmdm3wf31m0xi8y313kzd4dbyp4r4y8khnp32jvn8l")) + (modules '((ice-9 ftw) + (guix build utils))) + (snippet + '(begin + ;; Unbundle dependencies. + ;; TODO: go.cypherpunks.ru was down at the time of + ;; packaging. Unbundle go.cypherpunks dependencies as well once it + ;; comes back online. + (for-each (lambda (file) + (unless (member file (list "." ".." "go.cypherpunks.ru")) + (delete-file-recursively (string-append "src/vendor/" file)))) + (scandir "src/vendor")) + ;; Delete built documentation. + (delete-file "doc/nncp.info") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + ((guix build go-build-system) #:prefix go:) + (guix build utils)) + #:imported-modules ,%go-build-system-modules + #:phases + (modify-phases %standard-phases + (add-before 'unpack 'setup-go-environment + (assoc-ref go:%standard-phases 'setup-go-environment)) + (add-after 'unpack 'go-unpack + (lambda* (#:key source #:allow-other-keys) + ;; Copy source to GOPATH. + (copy-recursively "src" "../src/go.cypherpunks.ru/nncp/v7") + ;; Move bundled dependencies to GOPATH. + (for-each (lambda (dependency) + (rename-file (string-append "src/vendor/go.cypherpunks.ru/" + dependency) + (string-append "../src/go.cypherpunks.ru/" + dependency))) + (list "balloon" "recfile")) + ;; Delete empty bundled dependencies directory. + (delete-file-recursively "src/vendor"))) + (replace 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + ;; Set configuration path. + (setenv "CFGPATH" "/etc/nncp.hjson") + ;; Set output directories. + (setenv "BINDIR" (string-append out "/bin")) + (setenv "INFODIR" (string-append out "/share/info")) + (setenv "DOCDIR" (string-append out "/share/doc/nncp"))) + ;; Set absolute store paths to sh and cat. + (substitute* (list "src/pipe.go" "src/toss_test.go") + (("/bin/sh") (which "sh"))) + (substitute* "src/toss_test.go" + (("; cat") (string-append "; " (which "cat")))) + ;; Remove module flags. + (substitute* (list "bin/default.do" "bin/hjson-cli.do" "test.do") + ((" -mod=vendor") "") + ((" -m") "")) + ;; Use the correct module path. `go list` does not report the + ;; correct module path since we have moved the source files. + (substitute* "bin/default.do" + (("^mod=[^\n]*" all) "mod=go.cypherpunks.ru/nncp/v7")) + ;; Disable timeout in tests. Tests can take longer than the + ;; default timeout on spinning disks. + (substitute* "test.do" + (("test") "test -timeout 0")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "contrib/do" "-c" "test")))) + (add-after 'install 'remove-go-references + (assoc-ref go:%standard-phases 'remove-go-references))))) + (inputs + `(("go-github-com-davecgh-go-xdr" ,go-github-com-davecgh-go-xdr) + ("go-github-com-dustin-go-humanize" ,go-github-com-dustin-go-humanize) + ("go-github-com-flynn-noise" ,go-github-com-flynn-noise) + ("go-github-com-gorhill-cronexpr" ,go-github-com-gorhill-cronexpr) + ("go-github-com-hjson-hjson-go" ,go-github-com-hjson-hjson-go) + ("go-github-com-klauspost-compress" ,go-github-com-klauspost-compress) + ("go-golang-org-x-crypto" ,go-golang-org-x-crypto) + ("go-golang-org-x-net" ,go-golang-org-x-net) + ("go-golang-org-x-term" ,go-golang-org-x-term) + ("go-lukechampine-com-blake3" ,go-lukechampine-com-blake3))) + (native-inputs + `(("go" ,go) + ("texinfo" ,texinfo))) + (home-page "http://www.nncpgo.org/") + (synopsis "Store and forward utilities") + (description "NNCP (Node to Node copy) is a collection of utilities +simplifying secure store-and-forward files, mail and command exchanging. +These utilities are intended to help build up small size (dozens of nodes) +ad-hoc friend-to-friend (F2F) statically routed darknet delay-tolerant +networks for fire-and-forget secure reliable files, file requests, Internet +mail and commands transmission. All packets are integrity checked, end-to-end +encrypted, explicitly authenticated by known participants public keys. Onion +encryption is applied to relayed packets. Each node acts both as a client and +server, can use push and poll behaviour model. Multicasting areas, offline +sneakernet/floppynet, dead drops, sequential and append-only CD-ROM/tape +storages, air-gapped computers and online TCP daemon with full-duplex +resumable data transmission exists are all supported.") + (license gpl3))) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 8bdac8df53..f2ea8ddb18 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -26,7 +26,7 @@ ;;; Copyright © 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Roel Janssen <roel@gnu.org> -;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 John D. Boy <jboy@bius.moe> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> @@ -39,6 +39,7 @@ ;;; Copyright © 2021 LibreMiami <packaging-guix@libremiami.org> ;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz> ;;; Copyright © 2021 François J. <francois-oss@avalenn.eu> +;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -93,6 +94,7 @@ #:use-module (gnu packages golang) #:use-module (gnu packages groff) #:use-module (gnu packages guile) + #:use-module (gnu packages guile-xyz) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages mail) @@ -114,6 +116,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages rsync) #:use-module (gnu packages sqlite) + #:use-module (gnu packages texinfo) #:use-module (gnu packages admin) #:use-module (gnu packages xml) #:use-module (gnu packages emacs) @@ -175,14 +178,14 @@ as well as the classic centralized workflow.") (define-public git (package (name "git") - (version "2.32.0") + (version "2.33.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "08rnm3ipjqdd2n31dw7mxl3iv9g4nxgc409krmz892a37kd43a38")))) + "0kqcs8nj5h7rh3q86pw5777awq7gn77lgxk88ynjl1rfz2snlg5z")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -202,7 +205,7 @@ as well as the classic centralized workflow.") version ".tar.xz")) (sha256 (base32 - "1hba3wh1fmhrwzw93a0m7q4kb3kwwwi1bx4457c4lkf94l2cpqqr")))) + "0cdwqhj6yx3rlzvvfh0jamzjva9svd8kxmb5kqsp8nz47yz8mlyn")))) ;; For subtree documentation. ("asciidoc" ,asciidoc) ("docbook-xsl" ,docbook-xsl) @@ -538,6 +541,13 @@ as well as the classic centralized workflow.") (description "Git is a free distributed version control system designed to handle everything from small to very large projects with speed and efficiency.") + ;; XXX: Ignore this CVE to work around a name clash with the unrelated + ;; "cpe:2.3:a:jenkins:git" package. The proper fix is for (guix cve) to + ;; account for "vendor names". + (properties '((lint-hidden-cve . ("CVE-2018-1000182" + "CVE-2018-1000110" + "CVE-2019-1003010" + "CVE-2020-2136")))) (license license:gpl2) (home-page "https://git-scm.com/"))) @@ -1036,7 +1046,7 @@ a built-in cache to decrease server I/O pressure.") "'")) (("/usr/sbin/sendmail") (search-input-file inputs - "/usr/sbin/sendmail")))))))) + "/sbin/sendmail")))))))) (inputs `(("git" ,git) ("sendmail" ,sendmail))) @@ -1514,10 +1524,79 @@ also walk each side of a merge and test those changes individually.") control to Git repositories.") (license license:gpl2))) +(define-public gitile + (package + (name "gitile") + (version "0.1.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.lepiller.eu/git/gitile") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1fnmgrrsdc24mvicj2gkv3vasag7h5x27xc12w55i0id9vw7k9sw")))) + (build-system gnu-build-system) + (arguments + `(#:imported-modules ((guix build guile-build-system) + ,@%gnu-build-system-modules) + #:make-flags (list "GUILE_AUTO_COMPILE=0") + #:phases + (modify-phases %standard-phases + (add-after 'install-bin 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (use-modules (guix build guile-build-system)) + ;; Wrap the 'gitile' command to refer to the right modules. + (let* ((out (assoc-ref outputs "out")) + (commonmark (assoc-ref inputs "guile-commonmark")) + (git (assoc-ref inputs "guile-git")) + (bytes (assoc-ref inputs "guile-bytestructures")) + (fibers (assoc-ref inputs "guile-fibers")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) + (syntax-highlight (assoc-ref inputs "guile-syntax-highlight")) + (deps (list out commonmark git bytes fibers gcrypt + syntax-highlight)) + (guile (assoc-ref inputs "guile")) + (effective (target-guile-effective-version)) + (mods (string-drop-right ;drop trailing colon + (string-join deps + (string-append "/share/guile/site/" + effective ":") + 'suffix) + 1)) + (objs (string-drop-right + (string-join deps + (string-append "/lib/guile/" effective + "/site-ccache:") + 'suffix) + 1))) + (wrap-program (string-append out "/bin/gitile") + `("GUILE_LOAD_PATH" ":" prefix (,mods)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,objs))))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("guile" ,guile-3.0) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,guile-3.0) + ("guile-commonmark" ,guile-commonmark) + ("guile-fibers" ,guile-fibers) + ("guile-gcrypt" ,guile-gcrypt) + ("guile-git" ,guile-git) + ("guile-syntax-highlight" ,guile-syntax-highlight-for-gitile) + ("gnutls" ,gnutls))) + (home-page "https://git.lepiller.eu/gitile") + (synopsis "Simple Git forge written in Guile") + (description "Gitile is a Git forge written in Guile that lets you +visualize your public Git repositories on a web interface.") + (license license:agpl3+))) + (define-public pre-commit (package (name "pre-commit") - (version "2.13.0") + (version "2.15.0") (source (origin ;; No tests in the PyPI tarball. @@ -1527,7 +1606,7 @@ control to Git repositories.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "02lr8d6fkr32j4rpp2ac84a5gjwq16k1hb74j6js0kxg83qw6raf")))) + (base32 "0hyynhg52qq8rd37cwk2gl1jjy7hpqh74zl2lg89kkdhhx0xfiaj")))) (build-system python-build-system) (arguments `(#:phases @@ -1560,16 +1639,14 @@ control to Git repositories.") ;; Ruby and Node tests require node and gem. "--ignore=tests/languages/node_test.py" "--ignore=tests/languages/ruby_test.py" - ;; FIXME: Python tests fail because of distlib version - ;; mismatch. Even with python-distlib/next it is - ;; pulling version 0.3.0, while 0.3.1 is required. - "--ignore=tests/languages/python_test.py" "-k" + "-k" (string-append ;; TODO: these tests fail with AssertionError. It may ;; be possible to fix them. "not test_install_existing_hooks_no_overwrite" " and not test_uninstall_restores_legacy_hooks" - " and not test_installed_from_venv"))))) + " and not test_installed_from_venv" + " and not test_healthy_venv_creator"))))) (add-before 'reset-gzip-timestamps 'make-gz-writable (lambda* (#:key outputs #:allow-other-keys) ;; Make sure .gz files are writable so that the @@ -1581,7 +1658,7 @@ control to Git repositories.") `(("git" ,git-minimal) ("python-covdefaults" ,python-covdefaults) ("python-coverage" ,python-coverage) - ("python-distlib" ,python-distlib/next) + ("python-distlib" ,python-distlib) ("python-pytest" ,python-pytest) ("python-pytest-env" ,python-pytest-env) ("python-re-assert" ,python-re-assert) @@ -1605,7 +1682,7 @@ execution of any hook written in any language before every commit.") (define-public mercurial (package (name "mercurial") - (version "5.8") + (version "5.8.1") (source (origin (method url-fetch) (uri (string-append "https://www.mercurial-scm.org/" @@ -1613,7 +1690,7 @@ execution of any hook written in any language before every commit.") (patches (search-patches "mercurial-hg-extension-path.patch")) (sha256 (base32 - "17rhlmmkqz5ll3k68jfzpcifg3nndbcbc2nx7kw8xn3qcj7nlpgw")))) + "16xi4bmjqzi7ig8sfa5mnypfpbbbiyafmmqrs4nxmgc743za7fl1")))) (build-system gnu-build-system) (arguments `(#:make-flags diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 12b98fe9a1..bc6924341e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -39,7 +39,7 @@ ;;; Copyright © 2020 Josh Holland <josh@inv.alid.pw> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> -;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; Copyright © 2020 Alex McGrath <amk@amk.ie> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net> @@ -53,6 +53,7 @@ ;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name> +;;; Copyright © 2021 Thiago Jung Bauermann <bauermann@kolabnow.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -205,6 +206,7 @@ (arguments `(#:configure-flags (list + "CFLAGS=-fcommon" ;; XXX: Broken API. ;; Undeclared variables 'sys_nerr' and 'sys_errlist'. ;; "--enable-libv4l2" @@ -676,12 +678,22 @@ stream decoding") "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv")))) (build-system gnu-build-system) (native-inputs - `(("makeinfo" ,texinfo))) + `(("config" ,config) + ("makeinfo" ,texinfo))) (inputs `(("ncurses" ,ncurses))) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'update-config-scripts + (lambda* (#:key inputs native-inputs #:allow-other-keys) + ;; Replace outdated config.guess and config.sub. + (for-each (lambda (file) + (install-file + (search-input-file + (or native-inputs inputs) + (string-append "/bin/" file)) ".")) + '("config.guess" "config.sub")))) (replace 'configure (lambda* (#:key build inputs outputs #:allow-other-keys) ;; This old `configure' script doesn't support @@ -692,17 +704,6 @@ stream decoding") (invoke "./configure" (string-append "--prefix=" out) (string-append "--build=" build) - ;; The ancient config.guess is unable to - ;; guess the host triplet on mips64el. - ,@(if (string=? "mips64el-linux" - (%current-system)) - '("--host=mips64el-unknown-linux-gnu") - '()) - ;; The same is also true with aarch64. - ,@(if (string=? "aarch64-linux" - (%current-system)) - '("--host=aarch64-unknown-linux-gnu") - '()) (string-append "--with-ncurses=" ncurses)))))))) (home-page "http://aa-project.sourceforge.net/aalib/") @@ -781,7 +782,7 @@ television and DVD. It is also known as AC-3.") (define-public libaom (package (name "libaom") - (version "3.1.1") + (version "3.1.2") (source (origin (method git-fetch) (uri (git-reference @@ -790,7 +791,7 @@ television and DVD. It is also known as AC-3.") (file-name (git-file-name name version)) (sha256 (base32 - "11fy2xw35ladkjcz71samhcpqlqr3y0n1n17nk90i13aydrll66f")))) + "1c7yrhb56qj5c3lz54n1f9cbrvdr32g2yrrdiiy72sib8ycq9hz2")))) (build-system cmake-build-system) (native-inputs `(("perl" ,perl) @@ -977,7 +978,7 @@ H.264 (MPEG-4 AVC) video streams.") #t))) (add-before 'configure 'add-googletest (lambda* (#:key inputs #:allow-other-keys) - (symlink (search-input-file inputs "/include/gtest") + (symlink (search-input-directory inputs "/include/gtest") "lib/gtest"))) (replace 'build (lambda _ @@ -1028,7 +1029,7 @@ H.264 (MPEG-4 AVC) video streams.") (define-public pipe-viewer (package (name "pipe-viewer") - (version "0.1.2") + (version "0.1.4") (source (origin (method git-fetch) @@ -1038,7 +1039,7 @@ H.264 (MPEG-4 AVC) video streams.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1d2gfkd3nc0c4ah67250lqskkd85wpljrikw8a378ni398ngaq14")))) + (base32 "0d8b3gcr9dndw8qlwfrm0wgp4vjmn8fwd151kmzz7kkw57f5jfch")))) (build-system perl-build-system) (arguments `(#:imported-modules @@ -1057,7 +1058,11 @@ H.264 (MPEG-4 AVC) video streams.") (modify-phases %standard-phases (add-after 'unpack 'patch-source (lambda* (#:key inputs #:allow-other-keys) - (substitute* (find-files "." ".*-viewer$") + (substitute* (find-files "lib" "\\.pm$") + (("\"youtube-dl\"") + (format #f "\"~a/bin/youtube-dl\"" + (assoc-ref inputs "youtube-dl")))) + (substitute* (find-files "bin" ".*-viewer$") (("'ffmpeg'") (format #f "'~a/bin/ffmpeg'" (assoc-ref inputs "ffmpeg"))) @@ -4217,7 +4222,7 @@ tools for styling them, including a built-in real-time video preview.") (define-public pitivi ;; Pitivi switched to a non-semantic versioning scheme close before 1.0 (let ((latest-semver "0.999.0") - (%version "2021.01.0")) + (%version "2021.05.0")) (package (name "pitivi") (version (string-append latest-semver "-" %version)) @@ -4229,7 +4234,7 @@ tools for styling them, including a built-in real-time video preview.") (commit %version))) (file-name (git-file-name name version)) (sha256 - (base32 "1jics10l16ismi5br6wxi4jxz3dd4p0c0xv8l0l3nvksvda4aafi")))) + (base32 "08x2fs2bak1fbmkvjijgx1dsawispv91bpv5j5gkqbv5dfgf7wah")))) (build-system meson-build-system) (inputs `(("glib" ,glib) @@ -4273,8 +4278,7 @@ tools for styling them, including a built-in real-time video preview.") ;; necessary or optional. Let the user's packages take ;; precedence in case they have e.g. the full gst-plugins-bad. `("GST_PLUGIN_SYSTEM_PATH" suffix - (,(getenv "GST_PLUGIN_SYSTEM_PATH"))))) - #t))))) + (,(getenv "GST_PLUGIN_SYSTEM_PATH")))))))))) (home-page "http://www.pitivi.org") (synopsis "Video editor based on GStreamer Editing Services") (description "Pitivi is a video editor built upon the GStreamer Editing @@ -4673,7 +4677,7 @@ transitions, and effects and then export your film to many common formats.") (define-public shotcut (package (name "shotcut") - (version "21.06.29") + (version "21.08.29") (source (origin (method git-fetch) @@ -4682,7 +4686,7 @@ transitions, and effects and then export your film to many common formats.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0384iv2129mpalia39x8mn5xlbgx9ip994700jzjjxdqfq23a9qm")))) + (base32 "0lj3ini0fymvcwxk8l1l8ms5519n5n87gdvh0yfhilwp0zqyqkc6")))) (build-system qt-build-system) (arguments `(#:tests? #f ;there are no tests @@ -4748,7 +4752,7 @@ and audio capture, network stream playback, and many more.") (define-public dav1d (package (name "dav1d") - (version "0.9.0") + (version "0.9.2") (source (origin (method git-fetch) @@ -4757,7 +4761,7 @@ and audio capture, network stream playback, and many more.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0ki3wlyaqr80gl1srbbd18dd5bs1sl9icxym8ar62abpvgzxl5yk")))) + (base32 "0bkps488h9s15ylvkm4fmfywgrpbw570glawpnv6khpq9n223dzl")))) (build-system meson-build-system) (native-inputs `(("nasm" ,nasm))) (home-page "https://code.videolan.org/videolan/dav1d") diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index e14c5aadca..4cc8b4a75f 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -899,16 +899,16 @@ through its msgpack-rpc API.") (define-public vim-guix-vim (package (name "vim-guix-vim") - (version "0.2.1") + (version "0.3.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://gitlab.com/Efraim/guix.vim") + (url "https://gitlab.com/Efraim/guix.vim.git/") (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "1fyfwsvv787al88lqjgqcgykav8pcf4xgj5d4i0j7wjcfb3mh1vw")))) + "0bk2mnvbv1rfr0zzx4m8jjdw98wbbmdffx1h9svrjpg25lcvqv1b")))) (build-system copy-build-system) (arguments '(#:install-plan @@ -978,6 +978,34 @@ asynchronous adapters (including tmux, screen, and a headless mode), and when the job completes, errors will be loaded and parsed automatically.") (license license:vim))) +(define-public vim-gemini-vim + ;; No releases have been tagged. + (let ((commit "f300c54174fc0db8fb68f1bc04307b58612e9630") + (revision "1")) + (package + (name "vim-gemini-vim") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~torresjrjr/gemini.vim") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "05ffhhfahjqwxyrqmsinsahrs15wknzl2qbj8mznyv319mn2civ2")))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("ftdetect" "share/vim/vimfiles/") + ("syntax" "share/vim/vimfiles/")))) + (home-page "https://git.sr.ht/~torresjrjr/gemini.vim") + (synopsis "Vim syntax highlighting plugin for Gemini") + (description "This Vim plugin provides a Vim syntax highlighting plugin +for Gemini Text, the text/gemini media type, as defined in the Gemini protocol +specification.") + (license license:gpl3)))) + (define-public vim-eunuch (let ((commit "33e875b31c8b811a0a47908884a5e2339106bbe8") (revision "1")) @@ -1005,3 +1033,35 @@ the job completes, errors will be loaded and parsed automatically.") This package includes commands such as @code{SudoWrite} and @code{SudoEdit} and help working on Vim buffers and the files they reference with one command.") (license license:vim)))) + +(define-public vim-slime + ;; No tagged releases. + (let ((commit "a522fed677e50175f52efc5848cc35209af33216") + (revision "1")) + (package + (name "vim-slime") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jpalardy/vim-slime") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k4b629jn6xlxyjxdl3cgm06v9dmx967rqnslv5m82c9kscwpyh4")))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("autoload" "share/vim/vimfiles/") + ("doc" "share/vim/vimfiles/") + ("ftplugin" "share/vim/vimfiles/") + ("plugin" "share/vim/vimfiles/")))) + (home-page "https://technotales.wordpress.com/2007/10/03/like-slime-for-vim/") + (synopsis "Vim plugin to give you some slime") + (description "SLIME is an Emacs plugin to turn Emacs into a Lisp IDE. You +can type text in a file, send it to a live REPL, and avoid having to reload all +your code every time you make a change. @code{Vim-slime} is an attempt at +getting some of these features into Vim. It works with any REPL and isn't tied +to Lisp.") + (license license:expat)))) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index b223016d17..8e6c9ed636 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2018. 2019, 2020 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018. 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca> @@ -371,6 +371,7 @@ server and embedded PowerPC, and S390 guests.") (package (inherit qemu) (name "qemu-minimal") + (outputs '("out" "doc")) (synopsis "Machine emulator and virtualizer (without GUI) for the host architecture") (arguments @@ -406,11 +407,16 @@ server and embedded PowerPC, and S390 guests.") "--target-list=riscv32-softmmu,riscv64-softmmu") (else ; An empty list actually builds all the targets. '())))) - `(cons ,target-list-arg ,configure-flags))))) + `(cons ,target-list-arg ,configure-flags))) + ((#:phases phases) + `(modify-phases ,phases + (delete 'configure-user-static) + (delete 'build-user-static) + (delete 'install-user-static))))) ;; Remove dependencies on optional libraries, notably GUI libraries. (native-inputs (fold alist-delete (package-native-inputs qemu) - '("gettext"))) + '("gettext" "glib:static" "pcre:static" "zlib:static"))) (inputs (fold alist-delete (package-inputs qemu) '("libusb" "mesa" "sdl2" "spice" "virglrenderer" "gtk+" "usbredir" "libdrm" "libepoxy" "pulseaudio" "vde2" @@ -970,7 +976,8 @@ all common programming languages. Vala bindings are also provided.") "0qz4l7mlhq7hx53q606qgvkyzyr01glsw290v8ppzvxn1fydlrci")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("docbook2x" ,docbook2x))) (inputs `(("gnutls" ,gnutls) ("libcap" ,libcap) @@ -1274,7 +1281,7 @@ virtualization library.") #t)) (add-after 'install 'glib-or-gtk-compile-schemas (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-compile-schemas)) - (add-after 'install 'glib-or-gtk-wrap + (add-after 'wrap 'glib-or-gtk-wrap (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (inputs `(("dconf" ,dconf) @@ -1769,14 +1776,14 @@ by default and can be made read-only.") (define-public bochs (package (name "bochs") - (version "2.6.11") + (version "2.7") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/bochs/files/bochs/" version "/bochs-" version ".tar.gz")) (sha256 - (base32 "0ql8q6y1k356li1g9gbvl21448mlxphxxi6kjb2b3pxvzd0pp2b3")))) + (base32 "0ymiwnfqg5npq2dk9ngidbbfn3qw8z6i491finhcaan7zldsn450")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no tests exist @@ -2032,14 +2039,14 @@ administrators and developers in managing the database.") (define-public osinfo-db (package (name "osinfo-db") - (version "20201218") + (version "20210809") (source (origin (method url-fetch) (uri (string-append "https://releases.pagure.org/libosinfo/osinfo-db-" version ".tar.xz")) (sha256 (base32 - "0ydbindwgw7kg861rqii5036gq0dbbbmv35dzrmmv937ddfsxwh0")))) + "16gas6ahxwim1vdjlc4p1gm6q5gfy25h82ngykcm94x69sl6qsan")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/visidata.scm b/gnu/packages/visidata.scm index 966afea849..a1b16e5ca6 100644 --- a/gnu/packages/visidata.scm +++ b/gnu/packages/visidata.scm @@ -31,14 +31,14 @@ (define-public visidata (package (name "visidata") - (version "2.4") + (version "2.5") (source (origin (method url-fetch) (uri (pypi-uri "visidata" version)) (sha256 (base32 - "1g9g4gd3mqi23damxghwj76zxi2ig9vf4jv8dnvl7q7ssb7gz60d")))) + "19fbjr9j91pcazcz0bqx3qrasmr8xdsb13haf5lfbpyxj23f7f1j")))) (build-system python-build-system) (arguments '(#:phases diff --git a/gnu/packages/vnc.scm b/gnu/packages/vnc.scm index 3ee4fae91c..4c2b13c93c 100644 --- a/gnu/packages/vnc.scm +++ b/gnu/packages/vnc.scm @@ -61,7 +61,7 @@ (define-public remmina (package (name "remmina") - (version "1.4.19") + (version "1.4.20") (source (origin (method git-fetch) @@ -71,7 +71,7 @@ (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1d0yxhrnkmj2wzsj1njw32sqkarmgqkzamwks6dl8pdi20x69br2")))) + (base32 "0apm4lqcmqskdp2fjxl8dbg3686cm4w0b5806fqj7w43hdmd8w4v")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; No target diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 2236dca0b9..cda9dee32f 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -19,6 +19,7 @@ ;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca> ;;; Copyright © 2021 Alexander Krotov <krotov@iitp.ru> ;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com> +;;; Copyright © 2021 Christopher Howard <christopher@librehacker.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -147,37 +148,6 @@ management, extensions such as advertisement blocker and colorful tabs.") (home-page "https://www.midori-browser.org") (license license:lgpl2.1+))) -(define-public dillo - (package - (name "dillo") - (version "3.0.5") - (source (origin - (method url-fetch) - (uri (string-append "https://www.dillo.org/download/" - "dillo-" version ".tar.bz2")) - (sha256 - (base32 - "12ql8n1lypv3k5zqgwjxlw1md90ixz3ag6j1gghfnhjq3inf26yv")))) - (build-system gnu-build-system) - (arguments `(#:configure-flags '("--enable-ssl" "--enable-ipv6"))) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("fltk" ,fltk) - ("fontconfig" ,fontconfig) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libxcursor" ,libxcursor) - ("libxft" ,libxft) - ("libxi" ,libxi) - ("libxinerama" ,libxinerama) - ("openssl" ,openssl-1.0) ;XXX try latest openssl for dillo > 3.0.5 - ("perl" ,perl) - ("zlib" ,zlib))) - (synopsis "Very small and fast graphical web browser") - (description "Dillo is a minimalistic web browser particularly intended for -older or slower computers and embedded systems.") - (home-page "https://www.dillo.org") - (license license:gpl3+))) - (define-public links (package (name "links") @@ -303,7 +273,7 @@ and the GTK+ toolkit.") (define-public lynx (package (name "lynx") - (version "2.9.0dev.6") + (version "2.9.0dev.9") (source (origin (method url-fetch) (uri (string-append @@ -311,7 +281,7 @@ and the GTK+ toolkit.") "/lynx" version ".tar.bz2")) (sha256 (base32 - "1cjkpwxc1r8x8q73bgh9a4skaph1bwa0anml6f6lvf7lh5zvxw3q")))) + "06jhv8ibfw1xkf8d8zrnkc2aw4d462s77hlp6f6xa6k8awzxvmkg")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) @@ -490,7 +460,7 @@ interface.") (define-public qutebrowser (package (name "qutebrowser") - (version "2.2.2") + (version "2.3.1") (source (origin (method url-fetch) @@ -498,7 +468,7 @@ interface.") "qutebrowser/releases/download/v" version "/" "qutebrowser-" version ".tar.gz")) (sha256 - (base32 "11vjp20gzmdjj09b7wxzn7ar6viih0bk76y618yqsyqqkffylmbq")))) + (base32 "05n64mw9lzzxpxr7lhakbkm9ir3x8p0rwk6vbbg01aqg5iaanyj0")))) (build-system python-build-system) (native-inputs `(("python-attrs" ,python-attrs))) ; for tests @@ -912,22 +882,20 @@ interface.") (define-public telescope (package (name "telescope") - (version "0.3") + (version "0.5.1") (source (origin (method url-fetch) - (uri (string-append "https://git.omarpolo.com/telescope/snapshot/" - "telescope-" version ".tar.gz")) + (uri (string-append "https://github.com/omar-polo/telescope/releases/download/" + version "/telescope-" version ".tar.gz")) (sha256 - (base32 "1wg5x04n9iri7jx1lzhmd79j41grhjm3mpxn9qq9nf8n102wlvm3")))) + (base32 "1fgv7gg2lwrjcihq6mkraqm10a6a7h430ikrjpcwfcpv1gvj8ckz")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ;no tests (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("bison" ,bison) - ("gettext" ,gettext-minimal))) + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) (inputs `(("libevent" ,libevent) ("libressl" ,libressl) @@ -936,3 +904,31 @@ interface.") (synopsis "Gemini client with a terminal interface") (description "Telescope is a w3m-like browser for Gemini.") (license license:x11))) + +(define-public av-98 + (package + (name "av-98") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "AV-98" version)) + (sha256 + (base32 + "02fjnc2rvm010gb3i07p8r4xlhrmnv1wca1qymfjcymr7vm68h0i")))) + (build-system python-build-system) + (home-page "https://tildegit.org/solderpunk/AV-98/") + (synopsis "Command line Gemini client") + (description "AV-98 is an experimental client for the Gemini protocol. +Features include +@itemize +@item TOFU or CA server certificate validation; +@item Extensive client certificate support if an openssl binary is available; +@item Ability to specify external handler programs for different MIME types; +@item Gopher proxy support; +@item Advanced navigation tools like tour and mark (as per VF-1); +@item Bookmarks; +@item IPv6 support; +@item Support for any character encoding recognised by Python. +@end itemize") + (license license:bsd-2))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index ea3c5e9114..fe7ebd5e1b 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Bake Timmons <b3timmons@speedymail.org> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> -;;; Copyright © 2017, 2018, 2020 Marius Bakke <mbakke@fastmail.com> +;;; Copyright © 2017, 2018, 2020, 2021 Marius Bakke <marius@gnu.org> ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2017 Petter <petter@mykolab.ch> ;;; Copyright © 2017, 2021 Pierre Langlois <pierre.langlois@gmx.com> @@ -39,7 +39,6 @@ ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com> ;;; Copyright © 2019, 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si> -;;; Copyright © 2020 Alexandros Theodotou <alex@zrythm.org> ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2018, 2019, 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -51,6 +50,9 @@ ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> ;;; Copyright © 2021 la snesne <lasnesne@lagunposprasihopre.org> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> +;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev> +;;; Copyright © 2021 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -96,6 +98,7 @@ #:use-module (gnu packages apr) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages bittorrent) #:use-module (gnu packages boost) @@ -164,6 +167,7 @@ #:use-module (gnu packages re2c) #:use-module (gnu packages readline) #:use-module (gnu packages search) + #:use-module (gnu packages serialization) #:use-module (gnu packages sphinx) #:use-module (gnu packages texinfo) #:use-module (gnu packages textutils) @@ -369,15 +373,15 @@ the same, being completely separated from the Internet.") ;; Track the ‘mainline’ branch. Upstream considers it more reliable than ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) - ;; Consider updating the nginx-documentation package together with this one. - (version "1.21.0") + ;; Please update the nginx-documentation package together with this one! + (version "1.21.2") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0w87zhm5nfx88x9hj6drrvm5f3m02kzbjp39x1lsglrbmi5jl6gy")))) + "11ail85iw6mg8fxd2qnxhcghi0frjk5r70cfar83dms61rb1qxri")))) (build-system gnu-build-system) (inputs `(("libxml2" ,libxml2) ("libxslt" ,libxslt) @@ -472,9 +476,9 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (define-public nginx-documentation ;; This documentation should be relevant for the current nginx package. - (let ((version "1.21.0") - (revision 2726) - (changeset "a7a36efd10af")) + (let ((version "1.21.2") + (revision 2764) + (changeset "bc9c5d11b67c")) (package (name "nginx-documentation") (version (simple-format #f "~A-~A-~A" version revision changeset)) @@ -486,7 +490,7 @@ and as a proxy to reduce the load on back-end HTTP or mail servers.") (file-name (string-append name "-" version)) (sha256 (base32 - "1fl7rkbfdd26c78h85x4w3kas16rpj4pxzjhc071qvx7znwgm2pn")))) + "05n72q9vqxx37dyw3yl7jssmpqkw3rwxa2y3m6s0c0ih0z2bx58n")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; no test suite @@ -772,6 +776,64 @@ documentation.") (description "This NGINX module provides a scripting support with Lua programming language."))) +(define-public nginx-rtmp-module + (package + (inherit nginx) + (name "nginx-rtmp-module") + (version "1.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arut/nginx-rtmp-module") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0y45bswk213yhkc2v1xca2rnsxrhx8v6azxz9pvi71vvxcggqv6h")))) + (build-system gnu-build-system) + (inputs + `(("nginx-sources" ,(package-source nginx)) + ,@(package-inputs nginx))) + (arguments + (substitute-keyword-arguments + `(#:configure-flags '("--add-dynamic-module=.") + #:make-flags '("modules") + #:modules ((guix build utils) + (guix build gnu-build-system)) + ,@(package-arguments nginx)) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'unpack-nginx-sources + (lambda* (#:key inputs native-inputs #:allow-other-keys) + (begin + ;; The nginx source code is part of the module’s source. + (format #t "decompressing nginx source code~%") + (invoke "tar" "xvf" (assoc-ref inputs "nginx-sources") + ;; This packages's LICENSE file would be + ;; overwritten with the one from nginx when + ;; unpacking the nginx source, so rename the nginx + ;; one when unpacking. + "--transform=s,/LICENSE$,/LICENSE.nginx," + "--strip-components=1") + #t))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((modules-dir (string-append (assoc-ref outputs "out") + "/etc/nginx/modules"))) + (install-file "objs/ngx_rtmp_module.so" modules-dir) + #t))) + (delete 'fix-root-dirs) + (delete 'install-man-page))))) + (home-page "https://github.com/arut/nginx-rtmp-module") + (synopsis "NGINX module for audio and video streaming with RTMP") + (description "This NGINX module provides streaming with the @acronym{RTMP, +Real-Time Messaging Protocol}, @acronym{DASH, Dynamic Adaptive Streaming over HTTP}, +and @acronym{HLS, HTTP Live Streaming} protocols. It allows NGINX to accept +incoming RTMP streams for recording or redistribution. It also supports +on-demand streaming from a file on disk and pulling from an upstream RTMP +stream. Remote control of the module is possible over HTTP.") + (license license:bsd-2))) + (define-public lighttpd (package (name "lighttpd") @@ -1321,8 +1383,7 @@ current version of any major web browser.") '(begin ;; Remove code using the problematic JSON license (see ;; <https://www.gnu.org/licenses/license-list.html#JSON>). - (delete-file-recursively "bin/jsonchecker") - #t)))) + (delete-file-recursively "bin/jsonchecker"))))) (build-system cmake-build-system) (arguments (if (string-prefix? "aarch64" (or (%current-target-system) @@ -1332,10 +1393,8 @@ current version of any major web browser.") (add-after 'unpack 'patch-aarch-march-detection (lambda _ (substitute* (find-files "." "^CMakeLists\\.txt$") - (("native") "armv8-a")) - #t)))) - ;; Disable CPU optimization for reproducibility. - '(#:configure-flags '("-DRAPIDJSON_ENABLE_INSTRUMENTATION_OPT=OFF")))) + (("native") "armv8-a")))))) + '())) (home-page "https://github.com/Tencent/rapidjson") (synopsis "JSON parser/generator for C++ with both SAX/DOM style API") (description @@ -1615,13 +1674,17 @@ used to validate and fix HTML data.") #t)))) (build-system go-build-system) (arguments - '(#:import-path "github.com/evanw/esbuild/cmd/esbuild" + `(#:import-path "github.com/evanw/esbuild/cmd/esbuild" #:unpack-path "github.com/evanw/esbuild" #:phases (modify-phases %standard-phases (replace 'check (lambda* (#:key tests? unpack-path #:allow-other-keys) (when tests? + ;; The "Go Race Detector" is only supported on 64-bit + ;; platforms, this variable disables it. + (unless ,(target-64bit?) + (setenv "ESBUILD_RACE" "")) (with-directory-excursion (string-append "src/" unpack-path) (invoke "make" "test-go"))) #t))))) @@ -1794,34 +1857,6 @@ hash/signatures.") ;; Source code may be distributed under either license. (license (list license:expat license:gpl2+)))) -(define-public libyaml - (package - (name "libyaml") - (version "0.2.5") - (source - (origin - (method url-fetch) - (uri (string-append "https://pyyaml.org/download/libyaml/yaml-" - version ".tar.gz")) - (sha256 - (base32 - "1x4fcw13r3lqy8ndydr3ili87wicplw2awbcv6r21qgyfndswhn6")))) - (build-system gnu-build-system) - (arguments - '(#:configure-flags '("--disable-static"))) - (home-page "https://pyyaml.org/wiki/LibYAML") - (synopsis "YAML 1.1 parser and emitter written in C") - (description - "LibYAML is a YAML 1.1 parser and emitter written in C.") - (license license:expat))) - -(define-public libyaml+static - (package - (inherit libyaml) - (name "libyaml+static") - (arguments - '(#:configure-flags '("--enable-static"))))) - (define-public libquvi-scripts (package (name "libquvi-scripts") @@ -3482,14 +3517,14 @@ and multipart/form-data.") (define-public perl-http-cookiejar (package (name "perl-http-cookiejar") - (version "0.010") + (version "0.012") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/D/DA/DAGOLDEN/" "HTTP-CookieJar-" version ".tar.gz")) (sha256 - (base32 "1l7mqsca4fmls7agzwmp6yq1x16y9jwq4114i6i75n654gl37qsn")))) + (base32 "0jk0ps4i67dhhhwaxwwa9nkv3n6n5w44xlnwyzvk59735pwvyjh0")))) (build-system perl-build-system) (native-inputs `(("perl-test-deep" ,perl-test-deep) @@ -4729,15 +4764,17 @@ their web site.") (define-public python-feedparser (package (name "python-feedparser") - (version "6.0.2") + (version "6.0.8") (source (origin (method url-fetch) (uri (pypi-uri "feedparser" version ".tar.gz")) (sha256 (base32 - "0x0hm9brh3j71645pydvlkrwxaaca9dnwd7xahwjyjaz882s200v")))) + "0qcnkyjjfj5gg5rhd1j4zzlqx5h34bma18zwgj68q95b0l543q2w")))) (build-system python-build-system) + (propagated-inputs + `(("python-sgmllib3k" ,python-sgmllib3k))) (arguments '(#:tests? #f)) (home-page @@ -5057,6 +5094,12 @@ fast and flexible way of exploring HTML from the terminal.") ("pkg-config" ,pkg-config))) (inputs `(("libsoup" ,libsoup))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'set-home-for-tests + (lambda _ + (setenv "HOME" "/tmp")))))) (home-page "https://gitlab.com/groups/uhttpmock") (synopsis "Library for mocking web service APIs which use HTTP or HTTPS") (description @@ -5354,7 +5397,13 @@ developed as part of the Netsurf project.") "libcss-" version "-src.tar.gz")) (sha256 (base32 - "1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j")))) + "1p66sdiiqm7w4jkq23hsf08khsnmq93hshh9f9m8sbirjdpf3p6j")) + (modules '((guix build utils))) + (snippet + '(begin + ;; This can be removed with the next release. + (substitute* "src/select/computed.c" + (("css_unit unit;") "css_unit unit = CSS_UNIT_PX;")))))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) @@ -5371,46 +5420,6 @@ developed as part of the Netsurf project.") written in C. It is developed as part of the NetSurf project.") (license license:expat))) -(define-public libcyaml - (package - (name "libcyaml") - (version "1.1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tlsa/libcyaml") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (patches (search-patches "libcyaml-libyaml-compat.patch")) - (sha256 - (base32 "0428p0rwq71nhh5nzcbapsbrjxa0x5l6h6ns32nxv7j624f0zd93")))) - (build-system gnu-build-system) - (arguments - `(#:make-flags - (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - (string-append "CC=gcc")) - #:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (replace 'check - (lambda _ - (setenv "CC" "gcc") - (invoke "make" "test")))))) - (inputs - `(("libyaml" ,libyaml))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (synopsis "C library for reading and writing YAML") - (description - "LibCYAML is a C library written in ISO C11 for reading and writing -structured YAML documents. The fundamental idea behind CYAML is to allow -applications to construct schemas which describe both the permissible -structure of the YAML documents to read/write, and the C data structure(s) -in which the loaded data is arranged in memory.") - (home-page "https://github.com/tlsa/libcyaml") - (license license:isc))) - (define-public libdom (package (name "libdom") @@ -6003,16 +6012,17 @@ deployments.") (package (name "varnish") (home-page "https://varnish-cache.org/") - (version "6.5.1") + (version "7.0.0") (source (origin (method url-fetch) (uri (string-append home-page "_downloads/varnish-" version ".tgz")) (sha256 (base32 - "1dfdswri6lkfk6kml3szvffm91y49pajgqy1k5y26llqixl4r5hi")))) + "11z0pa618lh925ih67wmp1gqk7i46l486j4spjy71g1n3w5mqylc")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") + (string-append "CC=" ,(cc-for-target)) ;; Use absolute path of GCC so it's found at runtime. (string-append "PTHREAD_CC=" (assoc-ref %build-inputs "gcc") @@ -6021,23 +6031,26 @@ deployments.") #:phases (modify-phases %standard-phases (add-after 'unpack 'use-absolute-file-names - (lambda _ - (substitute* '("bin/varnishtest/vtc_varnish.c" - "bin/varnishtest/vtc_process.c" - "bin/varnishd/mgt/mgt_vcc.c" - "bin/varnishtest/tests/u00014.vtc") - (("/bin/sh") (which "sh"))) - (substitute* "bin/varnishd/mgt/mgt_shmem.c" - (("rm -rf") (string-append (which "rm") " -rf"))) - (substitute* "bin/varnishtest/vtc_main.c" - (("/bin/rm") (which "rm"))) - #t)) + (lambda* (#:key inputs #:allow-other-keys) + (let* ((bash (assoc-ref inputs "bash-minimal")) + (sh (string-append bash "/bin/sh")) + (coreutils (assoc-ref inputs "coreutils")) + (rm (string-append coreutils "/bin/rm"))) + (substitute* '("bin/varnishtest/vtc_varnish.c" + "bin/varnishtest/vtc_process.c" + "bin/varnishtest/vtc_haproxy.c" + "bin/varnishtest/tests/u00014.vtc" + "bin/varnishd/mgt/mgt_vcc.c") + (("/bin/sh") sh)) + (substitute* "bin/varnishd/mgt/mgt_shmem.c" + (("rm -rf") (string-append rm " -rf"))) + (substitute* "bin/varnishtest/vtc_main.c" + (("/bin/rm") rm))))) (add-before 'install 'patch-Makefile (lambda _ (substitute* "Makefile" ;; Do not create /var/varnish during install. - (("^install-data-am: install-data-local") "install-data-am: ")) - #t)) + (("^install-data-am: install-data-local") "install-data-am: ")))) (add-after 'install 'wrap-varnishd ;; Varnish uses GCC to compile VCL, so wrap it with required GCC ;; environment variables to avoid propagating them to profiles. @@ -6050,17 +6063,18 @@ deployments.") ;; Add binutils to PATH so gcc finds the 'as' executable. `("PATH" ":" prefix (,PATH)) ;; Make sure 'crti.o' et.al is found. - `("LIBRARY_PATH" ":" prefix (,LIBRARY_PATH))) - #t)))))) + `("LIBRARY_PATH" ":" prefix (,LIBRARY_PATH))))))))) (native-inputs `(("pkg-config" ,pkg-config) ("python-sphinx" ,python-sphinx) ("rst2man" ,python-docutils))) (inputs - `(("jemalloc" ,jemalloc) + `(("bash-minimal" ,bash-minimal) + ("coreutils" ,coreutils) + ("jemalloc" ,jemalloc) ("ncurses" ,ncurses) - ("pcre" ,pcre) - ("python" ,python-wrapper) + ("pcre2" ,pcre2) + ("python" ,python) ("readline" ,readline))) (synopsis "Web application accelerator") (description @@ -6077,14 +6091,14 @@ configuration language.") (package (name "varnish-modules") (home-page "https://github.com/varnish/varnish-modules") - (version "0.17.1") + (version "0.19.0") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit version))) (file-name (git-file-name name version)) (sha256 (base32 - "1mzkad9r4rpm1fi7j7skwrsyzzbwcapfnlvvl1ls3rng2djcqb5j")))) + "0qq5g6bbd1a1ml1wk8jj9z39a899jzqbf7aizr3pvyz0f4kz8mis")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -6619,42 +6633,10 @@ file links.") license:psfl ; linkcheck/gzip2.py license:expat)))) ; linkcheck/mem.py -(define-public cadaver - (package - (name "cadaver") - (version "0.23.3") - (source - (origin - (method url-fetch) - (uri (string-append "http://www.webdav.org/cadaver/" - name "-" version ".tar.gz")) - (sha256 - (base32 - "1jizq69ifrjbjvz5y79wh1ny94gsdby4gdxwjad4bfih6a5fck7x")))) - (build-system gnu-build-system) - ;; TODO: Unbundle libneon and make build succeed with new neon. - (arguments - `(#:configure-flags (list "--with-ssl=openssl") - #:tests? #f)) ;No tests included - (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("intltool" ,intltool))) - (inputs - `(("expat" ,expat) - ("openssl" ,openssl-1.0))) - (home-page "http://www.webdav.org/cadaver/") - (synopsis "Command-line WebDAV client") - (description - "Cadaver is a command-line WebDAV client for Unix. It supports -file upload, download, on-screen display, namespace operations (move/copy), -collection creation and deletion, and locking operations.") - (license license:gpl2))) - (define-public castor (package (name "castor") - (version "0.8.16") + (version "0.8.18") (source (origin (method git-fetch) @@ -6663,7 +6645,7 @@ collection creation and deletion, and locking operations.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0rwg1w7srjwa23mkypl8zk6674nhph4xsc6nc01f6g5k959szylr")))) + (base32 "1l72r6a917ymc9pn8dllbal1xdczfai376nvqkiys5fm4j4s3zmj")))) (build-system cargo-build-system) (arguments `(#:cargo-inputs @@ -7692,87 +7674,83 @@ compressed JSON header blocks. (license license:expat))) (define-public hpcguix-web - (let ((commit "9de63562b06b4aef3a3afe5ecb18d3c91e57ee74") - (revision "5")) - (package - (name "hpcguix-web") - (version (git-version "0.0.1" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/UMCUGenetics/hpcguix-web") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0wjgj2s7v2cyz6dx24c111rxs99i84sfvxl4ch8brnh02j2606jz")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build gnu-build-system) - (guix build utils) - (srfi srfi-26) - (ice-9 popen) - (ice-9 rdelim)) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'set-variables - (lambda _ - ;; This prevents a few warnings - (setenv "GUILE_AUTO_COMPILE" "0") - (setenv "XDG_CACHE_HOME" (getcwd)) - #t)) - (add-after 'install 'wrap-program - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (guix (assoc-ref inputs "guix")) - (guile (assoc-ref inputs "guile")) - (gcrypt (assoc-ref inputs "guile-gcrypt")) - (git (assoc-ref inputs "guile-git")) - (bs (assoc-ref inputs "guile-bytestructures")) - (json (assoc-ref inputs "guile-json")) - (guile-cm (assoc-ref inputs - "guile-commonmark")) - (deps (list guile gcrypt git bs guile-cm guix json)) - (effective - (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (path (string-join - (map (cut string-append <> - "/share/guile/site/" - effective) - deps) - ":")) - (gopath (string-join - (map (cut string-append <> - "/lib/guile/" effective - "/site-ccache") - deps) - ":"))) - (wrap-program (string-append out "/bin/run") - `("GUILE_LOAD_PATH" ":" prefix (,path)) - `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath))) - - #t)))))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("uglify-js" ,uglify-js) - ("pkg-config" ,pkg-config))) - (inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) - ("guix" ,guix))) - (propagated-inputs - `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) - ("guile-commonmark" ,guile-commonmark) - ("guile-json" ,guile-json-4))) - (home-page "https://github.com/UMCUGenetics/hpcguix-web") - (synopsis "Web interface for cluster deployments of Guix") - (description "Hpcguix-web provides a web interface to the list of packages + (package + (name "hpcguix-web") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/UMCUGenetics/hpcguix-web") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02lz5k1hhkwfz3nr3lsd69icsz6n0q82z047d3svi09qpxw6y0cj")))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26) + (ice-9 popen) + (ice-9 rdelim)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'set-variables + (lambda _ + ;; This prevents a few warnings + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "XDG_CACHE_HOME" (getcwd)))) + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (guix (assoc-ref inputs "guix")) + (guile (assoc-ref inputs "guile")) + (gcrypt (assoc-ref inputs "guile-gcrypt")) + (git (assoc-ref inputs "guile-git")) + (bs (assoc-ref inputs "guile-bytestructures")) + (json (assoc-ref inputs "guile-json")) + (guile-cm (assoc-ref inputs + "guile-commonmark")) + (deps (list guile gcrypt git bs guile-cm guix json)) + (effective + (read-line + (open-pipe* OPEN_READ + (string-append guile "/bin/guile") + "-c" "(display (effective-version))"))) + (path (string-join + (map (cut string-append <> + "/share/guile/site/" + effective) + deps) + ":")) + (gopath (string-join + (map (cut string-append <> + "/lib/guile/" effective + "/site-ccache") + deps) + ":"))) + (wrap-program (string-append out "/bin/hpcguix-web") + `("GUILE_LOAD_PATH" ":" prefix (,path)) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,gopath))))))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("uglify-js" ,uglify-js) + ("pkg-config" ,pkg-config))) + (inputs + `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ("guix" ,guix) + ("bash-minimal" ,bash-minimal))) ;for 'wrap-program' + (propagated-inputs + `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) + ("guile-commonmark" ,guile-commonmark) + ("guile-json" ,guile-json-4))) + (home-page "https://github.com/UMCUGenetics/hpcguix-web") + (synopsis "Web interface for cluster deployments of Guix") + (description "Hpcguix-web provides a web interface to the list of packages provided by Guix. The list of packages is searchable and provides instructions on how to use Guix in a shared HPC environment.") - (license license:agpl3+)))) + (license license:agpl3+))) (define-public httrack (package @@ -7967,8 +7945,8 @@ solution for any project's interface needs: (license license:expat))) (define-public gmnisrv - (let ((commit "d484ba0ab0020866535a44be5948c9482b8f2b8d") - (revision "1")) + (let ((commit "32854b79c73b278bf33eb5123abf1c36abdc7c01") + (revision "2")) (package (name "gmnisrv") (version (git-version "0" revision commit)) @@ -7980,24 +7958,22 @@ solution for any project's interface needs: (commit commit))) (sha256 (base32 - "11phipixsxx1jgm42agp76p5s68l0zj65kgb41vzaymgwcq79ivn")) + "0lbb3ablwkdcgm1cjr1hikr55y8gpl420nh8b8g9wn4abhm2xgr9")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'set-variables - (lambda _ - (setenv "CC" "gcc") - #t)) - (delete 'check)))) + `(#:tests? #f ; no check target + #:configure-flags (list "--sysconfdir=/etc" + (string-append "--with-mimedb=" + (assoc-ref %build-inputs "mailcap") + "/etc/mime.types")) + #:make-flags (list (string-append "CC=" ,(cc-for-target))))) (inputs - `(("openssl" ,openssl))) + `(("mailcap" ,mailcap) + ("openssl" ,openssl))) (native-inputs `(("pkg-config" ,pkg-config) ("scdoc" ,scdoc))) - (propagated-inputs - `(("mailcap" ,mailcap))) (synopsis "Simple Gemini protocol server") (description "gmnisrv is a simple Gemini protocol server written in C.") (license (list license:gpl3+ diff --git a/gnu/packages/webkit.scm b/gnu/packages/webkit.scm index f5c0a74ec5..6b94c108ba 100644 --- a/gnu/packages/webkit.scm +++ b/gnu/packages/webkit.scm @@ -226,14 +226,14 @@ acceleration in mind, leveraging common 3D graphics APIs for best performance.") (define-public webkitgtk (package (name "webkitgtk") - (version "2.32.1") + (version "2.32.3") (source (origin (method url-fetch) (uri (string-append "https://www.webkitgtk.org/releases/" "webkitgtk-" version ".tar.xz")) (sha256 (base32 - "05v9hgpkc6mi2klrd8nqql1n8xzq8rgdz3hvyy369xkhgwqifq8k")) + "1g1clppby019bng43ry50xd2dvzfzgrd9yv2xx6gwkk5mksrdx61")) (patches (search-patches "webkitgtk-share-store.patch" "webkitgtk-bind-all-fonts.patch")))) (build-system cmake-build-system) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index d05b5c1b8c..d77d1070e1 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -75,7 +75,7 @@ (define-public wine (package (name "wine") - (version "6.8") + (version "6.16") (source (origin (method url-fetch) @@ -87,7 +87,7 @@ (string-append "https://dl.winehq.org/wine/source/" dir "wine-" version ".tar.xz"))) (sha256 - (base32 "1n7bd6kkhfgi23bz981qml3lajgvbs3ibqrc2mqjhhfqczg2shjv")))) + (base32 "1s7sz1rimax4kxij1ngkwnx4hcljwjq3q5gksz22k8cq1l2r4l39")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) @@ -194,7 +194,16 @@ (substitute* "include/config.h" (("(#define SONAME_.* )\"(.*)\"" _ defso soname) (format #f "~a\"~a\"" defso (find-so soname)))) - #t)))))) + #t))) + (add-after 'patch-generated-file-shebangs 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "Makefile") ; Makefile is first regenerated + (substitute* "Makefile" + (("-lntdll" id) + (string-append id + " -Wl,-rpath=" (assoc-ref outputs "out") + "/lib/wine32/wine/$(ARCH)-unix"))) + #t))))) (home-page "https://www.winehq.org/") (synopsis "Implementation of the Windows API (32-bit only)") (description @@ -254,6 +263,15 @@ integrate Windows applications into your desktop.") #t))))) (_ `())) + (add-after 'patch-generated-file-shebangs 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + (invoke "make" "Makefile") ; Makefile is first regenerated + (substitute* "Makefile" + (("-lntdll" id) + (string-append id + " -Wl,-rpath=" (assoc-ref outputs "out") + "/lib/wine64/wine/$(ARCH)-unix"))) + #t)) (add-after 'install 'copy-wine32-binaries (lambda* (#:key outputs #:allow-other-keys) (let* ((wine32 (assoc-ref %build-inputs "wine")) diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm index 9451e24d33..b704111db0 100644 --- a/gnu/packages/wireservice.scm +++ b/gnu/packages/wireservice.scm @@ -123,7 +123,7 @@ code. Agate was previously known as journalism."))) (define-public python-agate-sql (wireservice-package (name "python-agate-sql") - (version "0.5.4") + (version "0.5.7") (source (origin (method git-fetch) (uri (git-reference @@ -132,7 +132,7 @@ code. Agate was previously known as journalism."))) (file-name (git-file-name name version)) (sha256 (base32 - "16q0b211n5b1qmhzkfl2jr56lda0rvyh5j1wzw26h2n4pm4wxlx2")))) + "1q6ywm0wzkkwcwk0884k0lycf8k7pzwz94rzb1y5ssm8b1gl0i62")))) (native-inputs `(("python-nose" ,python-nose) ("python-sphinx" ,python-sphinx) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 66440e5008..1986fbb60c 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2021 Sharlatan Hellseher <sharlatanus@gmail.com> ;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 lasnesne <lasnesne@lagunposprasihopre.org> +;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -384,14 +385,14 @@ from many programming languages.") (define-public i3lock (package (name "i3lock") - (version "2.11.1") + (version "2.13") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/i3lock/i3lock-" version ".tar.bz2")) (sha256 (base32 - "015dn534m7cxjvqdncpvaq9p8b2r4w5hp1yanbdy2abmhbcc7a7j")))) + "02szjsaz7rqrdkd0r2nwgwa85c4hwfrcskxw7ryk695kmjcfhzv3")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -411,6 +412,43 @@ from many programming languages.") Despite the name it should work with any X11 window manager.") (license license:bsd-3))) +(define-public i3lock-blur + (package + (name "i3lock-blur") + (version "2.10") + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/karulont/i3lock-blur") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bd5nrlga5g1sz1f64gnc3dqy8yfrr4q1ss59krymbpxa1hhf55c")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("automake" ,automake) + ("autoconf" ,autoconf))) + (inputs + `(("cairo" ,cairo) + ("mesa" ,mesa) + ("libev" ,libev) + ("linux-pam" ,linux-pam) + ("libxcb" ,libxcb) + ("libxkbcommon" ,libxkbcommon) + ("xcb-util" ,xcb-util) + ("xcb-util-image" ,xcb-util-image) + ("xcb-util-xrm" ,xcb-util-xrm))) + (home-page "https://github.com/karulont/i3lock-blur") + (synopsis "Lightweight screen locker with transparent blurring background") + (description + "Simple X11 screen locker with transparent blurring background developed +alongside the i3 project. Despite the name it should work with any X11 window +manager.") + (license license:expat))) + (define-public i3blocks (package (name "i3blocks") @@ -641,6 +679,7 @@ Features include: (inputs `(("imagemagick" ,imagemagick) ("wmctrl" ,wmctrl) + ("i3lock" ,i3lock) ("gawk" ,gawk))) (home-page "https://github.com/meskarune/i3lock-fancy") (synopsis "Screen locker with screenshot function") diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index d13392ae77..391231f483 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -9,7 +9,7 @@ ;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015 xd1le <elisp.vim@gmail.com> ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> @@ -50,6 +50,8 @@ ;;; Copyright © 2021 Paul A. Patience <paul@apatience.com> ;;; Copyright © 2021 Niklas Eklund <niklas.eklund@posteo.net> ;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me> +;;; Copyright © 2021 ikasero <ahmed@ikasero.com> +;;; Copyright © 2021 Felix Gruber <felgru@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -101,6 +103,7 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages man) @@ -638,7 +641,7 @@ rasterisation.") (define-public libdrm (package (name "libdrm") - (version "2.4.104") + (version "2.4.107") (source (origin (method url-fetch) (uri (string-append @@ -646,7 +649,7 @@ rasterisation.") version ".tar.xz")) (sha256 (base32 - "1jqvx9c23hgwhq109zqj6vg3ng40pcvh3r1k2fn1a424qasxhsnn")))) + "127qf1rzhaf13vdd75a58v5q34617hvangjlfnlkcdh37gqcwm65")))) (build-system meson-build-system) (arguments `(#:configure-flags @@ -661,9 +664,10 @@ rasterisation.") #:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "meson" "test" "--timeout-multiplier" "5")))))) - (inputs + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "meson" "test" "--timeout-multiplier" "5"))))))) + (propagated-inputs `(("libpciaccess" ,libpciaccess))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -768,7 +772,7 @@ move windows, switch between desktops, etc.).") (define-public scrot (package (name "scrot") - (version "1.5") + (version "1.6") (source (origin (method git-fetch) @@ -778,14 +782,16 @@ move windows, switch between desktops, etc.).") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0x64b7xqi5cbq29pb8s8r2kzbxaday1f5k0j70n3s2p7sahjxy72")))) + (base32 "1qanx2xx9m5l995csqzfcm1ks2nhk90zga1wzbkjjl75ga4iik2h")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) ("autoconf-archive" ,autoconf-archive) - ("automake" ,automake))) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) (inputs `(("giblib" ,giblib) + ("imlib2" ,imlib2) ("libx11" ,libx11) ("libxcomposite" ,libxcomposite) ("libxext" ,libxext) @@ -911,6 +917,55 @@ xedit, for example. The human factors crowd would agree it should make things less distracting.") (license license:public-domain))) +(define-public unclutter-xfixes + (package + (name "unclutter-xfixes") + (version "1.5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Airblader/unclutter-xfixes") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "148m4wx8v57s3l2wb69y9imb00y8ca2li27hsxibwnl1wrkb7z4b")))) + (build-system gnu-build-system) + (arguments `(#:tests? #f + #:make-flags + (list ,(string-append "CC=" (cc-for-target)) + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("libx11" ,libx11) + ("libev" ,libev) + ("libxfixes" ,libxfixes) + ("libxi" ,libxi))) + (native-inputs + `(("asciidoc" ,asciidoc) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/Airblader/unclutter-xfixes") + (synopsis "Hide idle mouse cursor") + (description + "unclutter-xfixes is a rewrite of the popular tool unclutter, but +using the x11-xfixes extension. This means that this rewrite doesn't +use fake windows or pointer grabbing and hence causes less problems +with window managers and/or applications. + +Unclutter is a program which runs permanently in the background of an +X11 session. It checks on the X11 pointer (cursor) position every few +seconds, and when it finds it has not moved (and no buttons are pressed +on the mouse, and the cursor is not in the root window) it creates a +small sub-window as a child of the window the cursor is in. The new +window installs a cursor of size 1x1 but a mask of all 0, i.e. an +invisible cursor. This allows you to see all the text in an xterm or +xedit, for example. The human factors crowd would agree it should make +things less distracting.") + (license license:expat))) + (define-public xautomation (package (name "xautomation") @@ -978,7 +1033,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") (define-public xlockmore (package (name "xlockmore") - (version "5.66") + (version "5.67") (source (origin (method url-fetch) (uri (list (string-append "http://sillycycle.com/xlock/" @@ -989,7 +1044,7 @@ shows it again when the mouse cursor moves or a mouse button is pressed.") "xlockmore-" version ".tar.xz"))) (sha256 (base32 - "0wdb7gpyjw3sigmhiplgg1bqxz6wipr0c3n9492x2a18cv1saxjr")))) + "0k13gxgnk4i041g1fzixfwlf3l5hrvvkhfvxf27szx0d1qbpwq58")))) (build-system gnu-build-system) (arguments '(#:configure-flags (list (string-append "--enable-appdefaultdir=" @@ -1040,14 +1095,14 @@ transparent text on your screen.") (define-public wob (package (name "wob") - (version "0.11") + (version "0.12") (source (origin (method url-fetch) (uri (string-append "https://github.com/francma/wob/releases/download/" version "/wob-" version ".tar.gz")) (sha256 - (base32 "1vgngcg8wxn6zfg34czn9w55ia0zmhlgnpzf0gh31dc72li9353k")))) + (base32 "080pwz8pvqqq068lavzz48dl350iszpdswjd86bjk6zra5h5d10q")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1505,7 +1560,7 @@ protocol.") ;; to Python libraries. (wrap-program (string-append (assoc-ref outputs "out") "/bin/gammastep-indicator") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH"))) + `("PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH"))) `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))))))) (native-inputs @@ -1640,30 +1695,45 @@ Saver extension) library.") (license license:gpl3+))) (define-public xsel - (package - (name "xsel") - (version "1.2.0") - (source (origin - (method url-fetch) - (uri (string-append "http://www.vergenet.net/~conrad/software" - "/xsel/download/xsel-" version ".tar.gz")) - (sha256 - (base32 - "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr")))) - (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt))) - (home-page "http://www.vergenet.net/~conrad/software/xsel/") - (synopsis "Manipulate X selection") - (description - "XSel is a command-line program for getting and setting the contents of + ;; The 1.2.0 release no longer compiles with GCC 8 and upper, see: + ;; https://github.com/kfish/xsel/commit/d88aa9a8dba9228e6780d6bb5a5720a36f854918. + (let ((commit "062e6d373537c60829fa9b5dcddbcd942986b3c3") + (revision "1")) + (package + (name "xsel") + (version (git-version "1.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kfish/xsel") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fbf80zsc22vcqp59r9fdx4icxhrkv7l3lphw83326jrmkzy6kri")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + (invoke "autoreconf" "-vfi")))))) + (native-inputs `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("libxt" ,libxt))) + (home-page "http://www.vergenet.net/~conrad/software/xsel/") + (synopsis "Manipulate X selection") + (description + "XSel is a command-line program for getting and setting the contents of the X selection. Normally this is only accessible by manually highlighting information and pasting it with the middle mouse button. XSel reads from standard input and writes to standard output by default, but can also follow a growing file, display contents, delete entries and more.") - (license (license:x11-style "file://COPYING" - "See COPYING in the distribution.")))) + (license (license:x11-style "file://COPYING" + "See COPYING in the distribution."))))) (define-public xdpyprobe (package @@ -1690,15 +1760,15 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.6.1") + (version "1.7.0") (source (origin (method url-fetch) - (uri (string-append "https://github.com/DaveDavenport/rofi/" + (uri (string-append "https://github.com/davatorium/rofi/" "releases/download/" version "/rofi-" version ".tar.xz")) (sha256 (base32 - "12p9z8bl1gg8k024m4a6zfz7gf1zbyffardh98raqgabn6knwk22")))) + "1929q3dks8fqd3pfkzs0ba06gwzhlgcrfar9fpga43f3byrrbfxa")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) @@ -1710,6 +1780,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") ("libxkbcommon" ,libxkbcommon) ("libxcb" ,libxcb) ("xcb-util" ,xcb-util) + ("xcb-util-cursor" ,xcb-util-cursor) ("xcb-util-xrm" ,xcb-util-xrm) ("xcb-util-wm" ,xcb-util-wm))) (native-inputs @@ -1729,7 +1800,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (("~") "") (("g_get_home_dir \\(\\)") "\"/\"")) #t))))) - (home-page "https://github.com/DaveDavenport/rofi") + (home-page "https://github.com/davatorium/rofi") (synopsis "Application launcher") (description "Rofi is a minimalist application launcher. It memorizes which applications you regularly use and also allows you to search for an application @@ -2155,7 +2226,7 @@ to automatically turn it on on login.") (define-public xrandr-invert-colors (package (name "xrandr-invert-colors") - (version "0.01") + (version "0.02") (source (origin (method git-fetch) (uri (git-reference @@ -2164,7 +2235,7 @@ to automatically turn it on on login.") (file-name (git-file-name name version)) (sha256 (base32 - "1br3x9vr6xm4ika06n8cfxx1b3wdchdqvyzjl4y1chmivrml8x9h")))) + "0gk1fgxb2kjyr78xn8m0ckjdic99ras7msa67piwnhj3j4scg1ih")))) (build-system gnu-build-system) (arguments `(#:make-flags (list ,(string-append "CC=" (cc-for-target))) @@ -2173,11 +2244,14 @@ to automatically turn it on on login.") (modify-phases %standard-phases (delete 'configure) (replace 'install + ;; It's simpler to install the single binary ourselves than to patch + ;; the Makefile's install target into working. (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin"))) - (install-file "xrandr-invert-colors.bin" bin) - #t)))))) + (mkdir-p bin) + (copy-file "xrandr-invert-colors.bin" + (string-append bin "/xrandr-invert-colors")))))))) (inputs `(("libxrandr" ,libxrandr))) (home-page "https://github.com/zoltanp/xrandr-invert-colors") @@ -2396,7 +2470,7 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.") (define-public xwallpaper (package (name "xwallpaper") - (version "0.6.6") + (version "0.7.3") (source (origin (method git-fetch) @@ -2405,7 +2479,7 @@ can optionally use some appearance settings from XSettings, tint2 and GTK.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "10klm81rs3k3l2i7whpvcsg95x51ja11l86fmwbrvg3kq705p2sr")))) + (base32 "1rsv42cl0s149sbpdxz9yqqjip3si95jv3dglwzrcm7pjfg7519v")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -2961,3 +3035,31 @@ System. This includes such features as MouseKeys, AccessX, StickyKeys, BounceKeys, and SlowKeys. It includes a graphical program to help with MouseKeys-acceleration management.") (license license:bsd-3))) + +(define-public wlsunset + (package + (name "wlsunset") + (version "0.2.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~kennylevinsen/wlsunset/") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hhsddh3rs066rbsjksr8kcwg8lvglbvs67dq0r5wx5c1xcwb51w")))) + (build-system meson-build-system) + (inputs + `(("wayland" ,wayland) + ("wayland-protocols" ,wayland-protocols))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (synopsis "Day/night gamma adjustments for Wayland compositors") + (home-page "https://sr.ht/~kennylevinsen/wlsunset/") + (description + "wlunset adjusts gamma based on day-night cycles on Wayland compositors +that support @samp{wlr-gamma-control-unstable-v1}. It is also known as a blue +light filter or night light.") + (license license:expat))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index b41c14f18f..b613362b31 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2021 André A. Gomes <andremegafone@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -223,7 +224,7 @@ to share commonly used Xfce widgets among the Xfce applications.") (define-public catfish (package (name "catfish") - (version "1.4.13") + (version "4.16.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -231,7 +232,7 @@ to share commonly used Xfce widgets among the Xfce applications.") "/catfish-" version ".tar.bz2")) (sha256 (base32 - "0fg89946z6n8njxn4mv29jksw8yavg8vypsljn9031pjwl3fmh2q")))) + "0md6ypirr97ch7x8qliwzixzwj6zzd68ivb2dzj90hm2lcn7wc8h")))) (build-system python-build-system) (arguments '(#:phases @@ -263,6 +264,7 @@ to share commonly used Xfce widgets among the Xfce applications.") ("intltool" ,intltool))) (inputs `(("which" ,which) + ("xfconf" ,xfconf) ("xdg-utils" ,xdg-utils))) (propagated-inputs `(("gtk+" ,gtk+) @@ -779,7 +781,7 @@ like appearance, display, keyboard and mouse settings.") (define-public thunar (package (name "thunar") - (version "4.16.8") + (version "4.16.8") ;stable version = even minor (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -795,6 +797,7 @@ like appearance, display, keyboard and mouse settings.") (inputs `(("exo" ,exo) ("gobject-introspection" ,gobject-introspection) + ("gvfs" ,gvfs) ("libexif" ,libexif) ("libgudev" ,libgudev) ("libnotify" ,libnotify) @@ -1242,7 +1245,7 @@ of data to either CD/DVD/BD.") (define-public mousepad (package (name "mousepad") - (version "0.5.5") + (version "0.5.6") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/mousepad/" @@ -1250,7 +1253,7 @@ of data to either CD/DVD/BD.") version ".tar.bz2")) (sha256 (base32 - "1qdbch7g8ppwn1rsm8nq9rbvabvx02lvn3dxb45ga3g1w005zhs0")))) + "03rmjraxb6a3w7gknmf6mdzkfc0m8shs1vkb2chvv28xn1irhma2")))) (build-system gnu-build-system) (arguments '(#:configure-flags '(;; Use the GSettings keyfile backend rather than diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 092d238626..3b0ab90574 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -295,81 +295,6 @@ formulas and hyperlinks to multiple worksheets in an Excel 2007+ XLSX file.") (license (list license:bsd-2 license:public-domain)))) ; third_party/md5 -;; This is the latest stable release. -(define-public libxmlplusplus - (package - (name "libxmlplusplus") - (version "3.2.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/libxmlplusplus/libxmlplusplus") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0wjz591rjlgbah7dcq8i0yn0zw9d62b7g6r0pppx81ic0cx8n8ga")))) - (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-documentation - (lambda* (#:key inputs #:allow-other-keys) - (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook")) - (xsldoc (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl)))) - (substitute* '("examples/dom_xpath/example.xml" - "docs/manual/libxml++_without_code.xml") - (("http://.*/docbookx\\.dtd") - (string-append xmldoc "/docbookx.dtd"))) - (setenv "SGML_CATALOG_FILES" - (string-append xmldoc "/catalog.xml")) - (substitute* "docs/manual/docbook-customisation.xsl" - (("http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl") - (string-append xsldoc "/html/chunk.xsl")))) - #t))))) - (propagated-inputs - `(("libxml2" ,libxml2))) - (inputs - `(("glibmm" ,glibmm))) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("doxygen" ,doxygen) - ("docbook-xml" ,docbook-xml) - ("docbook-xsl" ,docbook-xsl) - ("graphviz" ,graphviz) ; for dot - ("libtool" ,libtool) - ("libxslt" ,libxslt) - ("mm-common" ,mm-common) - ("perl" ,perl) - ("pkg-config" ,pkg-config))) - (home-page "https://github.com/libxmlplusplus/libxmlplusplus/") - (synopsis "C++ bindings for libxml2") - (description - "libxml++ (a.k.a. libxmlplusplus) provides a C++ interface to XML files. -It uses libxml2 to access the XML files.") - (license license:lgpl2.1+))) - -;; This is the last release providing the 2.6 API, hence the name. -;; This is needed by tascam-gtk -(define-public libxmlplusplus-2.6 - (package - (inherit libxmlplusplus) - (name "libxmlplusplus") - (version "2.40.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/libxmlplusplus/libxmlplusplus") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0gbfi4l88w828gmyc9br11l003ylyi4vigp5d1kfgsn0k4cig3y9")))))) - (define-public python-libxml2 (package/inherit libxml2 (name "python-libxml2") @@ -2071,8 +1996,9 @@ advantage of JIT JVMs.") (version "2.1.10") (source (origin (method url-fetch) - (uri (string-append "http://www.extreme.indiana.edu/xgws/xsoap/" - "PullParser/PullParser" version ".tgz")) + ;; Unfortunately, archive.org does not have a copy of this file. + (uri (string-append "https://ftp.fau.de/gentoo/distfiles/" + "PullParser" version ".tgz")) (sha256 (base32 "1kw9nhyqb7bzhn2zjbwlpi5vp5rzj89amzi3hadw2acyh2dmd0md")) @@ -2088,7 +2014,8 @@ advantage of JIT JVMs.") #:phases (modify-phases %standard-phases (replace 'install (install-jars "build/lib"))))) - (home-page "http://www.extreme.indiana.edu/xgws/xsoap/xpp/") + (home-page (string-append "https://web.archive.org/web/20210225153105/" + "https://www.extreme.indiana.edu/")) (synopsis "Streaming pull XML parser") (description "Xml Pull Parser (in short XPP) is a streaming pull XML parser and should be used when there is a need to process quickly and diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8d6dc21c4f..235ff184f9 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Matthew James Kraai <kraai@ftbfs.org> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,7 @@ #:use-module (gnu packages aidc) #:use-module (gnu packages anthy) #:use-module (gnu packages autotools) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages check) #:use-module (gnu packages compression) @@ -100,6 +102,16 @@ +;; When cross-compiling certain packages, "--disable-malloc0returnsnull" +;; needs to be passed. Otherwise, the configure script will try to run a +;; binary for the host on the build machine. +(define (malloc0-flags) + (if (%current-target-system) + ;; At least on glibc-based systems, malloc(0) evaluates to a non-NULL + ;; pointer (except in out-of-memory situations). On other systems, + ;; --enable-malloc0returnsnull might be required instead. + '("--disable-malloc0returnsnull") + '())) ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to @@ -1518,11 +1530,10 @@ treat it as part of their software base when porting.") (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static"))) - (inputs - `(("libxext" ,libxext) - ("libx11" ,libx11))) (propagated-inputs - `(("xorgproto" ,xorgproto))) + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("xorgproto" ,xorgproto))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://www.x.org/wiki/") @@ -2541,7 +2552,7 @@ including most mice, keyboards, tablets and touchscreens.") (define-public xf86-input-libinput (package (name "xf86-input-libinput") - (version "1.0.1") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append @@ -2549,7 +2560,7 @@ including most mice, keyboards, tablets and touchscreens.") name "-" version ".tar.bz2")) (sha256 (base32 - "0nr4r9x8c7y1l0ipivjch5zps093mxmg2nqmfn2934am26fc9ppx")))) + "05ldqr10f2rrnshyk3lc773rz0gp3ccdzwa8n7lsc94i850jl7g1")))) (build-system gnu-build-system) (arguments '(#:configure-flags @@ -2717,14 +2728,14 @@ as USB mice.") (define-public xf86-video-amdgpu (package (name "xf86-video-amdgpu") - (version "19.1.0") + (version "21.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/driver/" "xf86-video-amdgpu-" version ".tar.bz2")) (sha256 - (base32 "0pgy4ihnja0vm8504qw7qxh3pdpa3p9k6967nz15m6b1mvha83jg")))) + (base32 "125dq85n46yqmnmr2hknxwcqicwlvz2b2phf0m963fpg9l1j6y30")))) (build-system gnu-build-system) (inputs `(("xorg-server" ,xorg-server))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -2782,27 +2793,36 @@ X server.") (license license:x11))) (define-public xf86-video-ati - (package - (name "xf86-video-ati") - (version "19.1.0") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://xorg/individual/driver/" - "xf86-video-ati-" version ".tar.bz2")) - (sha256 - (base32 "0j9w4axsqlycv4v14g53xyhkm9h7d27b2fcv9lrzb9gf54b5m7v5")))) - (build-system gnu-build-system) - (inputs `(("mesa" ,mesa) - ("xorgproto" ,xorgproto) - ("xorg-server" ,xorg-server))) - (native-inputs `(("pkg-config" ,pkg-config))) - (home-page "https://www.x.org/wiki/") - (synopsis "ATI Radeon video driver for X server") - (description - "xf86-video-ati is an ATI Radeon video driver for the Xorg + ;; The current release is too old to build with our inputs. + (let ((commit "5eba006e4129e8015b822f9e1d2f1e613e252cda") + (revision "1")) + (package + (name "xf86-video-ati") + (version (git-version "19.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1n49wx0v13jh8vv17sxgrmmpi1mk3n2wph07jfmxmzqahpcn4lkn")))) + (build-system gnu-build-system) + (inputs `(("mesa" ,mesa) + ("xorgproto" ,xorgproto) + ("xorg-server" ,xorg-server))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (home-page "https://www.x.org/wiki/") + (synopsis "ATI Radeon video driver for X server") + (description + "xf86-video-ati is an ATI Radeon video driver for the Xorg X server.") - (license license:x11))) + (license license:x11)))) (define-public xf86-video-cirrus @@ -2910,7 +2930,13 @@ framebuffer device.") `(#:configure-flags (list (string-append "--with-xorg-conf-dir=" (assoc-ref %outputs "out") - "/share/X11/xorg.conf.d")))) + "/share/X11/xorg.conf.d")) + #:phases + (modify-phases %standard-phases + (replace 'bootstrap + (lambda _ + ;; autogen.sh calls configure unconditionally. + (invoke "autoreconf" "-vfi")))))) (home-page "https://www.x.org/wiki/") (synopsis "Adreno video driver for X server") (description @@ -3915,7 +3941,7 @@ alternative implementations like XRandR or TwinView.") (license license:x11))) -(define xkbcomp-intermediate ;used as input for xkeyboard-config +(define-public xkbcomp-intermediate ;used as input for xkeyboard-config (package (name "xkbcomp-intermediate") (version "1.4.5") @@ -3948,11 +3974,16 @@ explicitly specify most aspects of keyboard behaviour on per-key basis and to more closely track the logical and physical state of the keyboard. It also includes a number of keyboard controls designed to make keyboards more accessible to people with physical impairments.") - (license license:x11))) + (license license:x11) + + ;; The only reason this package is public is to make sure it's built and + ;; published by the continuous integration tool. + (properties '((hidden? . #t))))) (define-public xkbcomp ; using xkeyboard-config as input (package (inherit xkbcomp-intermediate) (name "xkbcomp") + (properties '()) (inputs `(,@(package-inputs xkbcomp-intermediate) ("xkeyboard-config" ,xkeyboard-config))) @@ -4413,17 +4444,14 @@ and Reflect (RandR) extension.") (define-public xrdb (package (name "xrdb") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/xrdb-" - version - ".tar.bz2")) + (uri (string-append "mirror://xorg/individual/app/xrdb-" + version ".tar.bz2")) (sha256 - (base32 - "0ik9gh6363c47pr0dp7q22nfs8vmavjg2v4bsr0604ppl77nafpj")))) + (base32 "1d78prd8sfszq2rwwlb32ksph4fymf988lp75aj8iysg44f06pag")))) (build-system gnu-build-system) (inputs `(("libxmu" ,libxmu) @@ -4586,17 +4614,14 @@ extension.") (define-public xwd (package (name "xwd") - (version "1.0.7") + (version "1.0.8") (source (origin (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/xwd-" - version - ".tar.bz2")) + (uri (string-append "mirror://xorg/individual/app/xwd-" + version ".tar.bz2")) (sha256 - (base32 - "1537i8q8pgf0sjklakzfvjwrq5b246qjywrx9ll8xfg0p6w1as6d")))) + (base32 "06q36fh55r62ms0igfxsanrn6gv8lh794q1bw9xzw51p2qs2papv")))) (build-system gnu-build-system) (inputs `(("libxt" ,libxt) @@ -4776,10 +4801,7 @@ cannot be adequately worked around on the client side of the wire.") (string-append "--mandir=" (assoc-ref %outputs "doc") "/share/man") - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4810,7 +4832,7 @@ cannot be adequately worked around on the client side of the wire.") "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '("--disable-static" ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -4869,11 +4891,7 @@ cannot be adequately worked around on the client side of the wire.") (build-system gnu-build-system) (arguments `(#:configure-flags - (list "--disable-static" - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + (list "--disable-static" ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto))) (inputs @@ -5189,10 +5207,11 @@ new API's in libXft, or the legacy API's in libX11.") (build-system gnu-build-system) (outputs '("out" "doc")) ;man pages represent 28% of the total (arguments - '(#:configure-flags (list "--disable-static" + `(#:configure-flags (list "--disable-static" (string-append "--mandir=" (assoc-ref %outputs "doc") - "/share/man")))) + "/share/man") + ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libx11" ,libx11) @@ -5221,7 +5240,7 @@ new API's in libXft, or the legacy API's in libX11.") "08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '("--disable-static" ,@(malloc0-flags)))) (propagated-inputs ;; In accordance with xrandr.pc. `(("libx11" ,libx11) @@ -5282,7 +5301,7 @@ new API's in libXft, or the legacy API's in libX11.") "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--disable-static"))) + `(#:configure-flags '("--disable-static" ,@(malloc0-flags)))) (propagated-inputs `(("libxext" ,libxext) ("xorgproto" ,xorgproto))) @@ -5546,11 +5565,7 @@ draggable titlebars and borders.") (assoc-ref %outputs "doc") "/share/man") "--disable-static" - - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + ,@(malloc0-flags)))) (propagated-inputs `(("xorgproto" ,xorgproto) ("libxcb" ,libxcb))) @@ -5628,10 +5643,7 @@ draggable titlebars and borders.") (assoc-ref %outputs "doc") "/share/man") "--disable-static" - ;; Disable zero malloc check that fails when cross-compiling. - ,@(if (%current-target-system) - '("--disable-malloc0returnsnull") - '())))) + ,@(malloc0-flags)))) (propagated-inputs `(("libx11" ,libx11) ("libice" ,libice) @@ -6330,18 +6342,18 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "4.2") + (version "4.2.1") (source (origin (method url-fetch) (uri (string-append "https://www.xpra.org/src/xpra-" version ".tar.gz")) (sha256 - (base32 "1yg9asi3i3wf73ibc006xv3g77axvbyp81lyinwq27syabh30i1a")) + (base32 "0gqdcw5cfk919jk8g0g4xjxbsvr5j9gskn8q3cmrz388pvfvm8x7")) (patches (search-patches "xpra-4.2-systemd-run.patch")))) (build-system python-build-system) ;; see also http://xpra.org/trac/wiki/Dependencies - (inputs `( + (inputs `(("bash-minimal" ,bash-minimal) ; for wrap-program ;; Essential dependencies. ("libjpeg" ,libjpeg-turbo) ("libwebp" ,libwebp) @@ -6473,7 +6485,8 @@ X11 servers, Windows, or macOS.") `(("anthy" ,anthy) ("libedit" ,libedit) ("libxft" ,libxft) - ("m17n-lib" ,m17n-lib))) + ("m17n-lib" ,m17n-lib) + ("ncurses" ,ncurses))) (native-inputs `(("emacs" ,emacs-minimal) ("intltool" ,intltool) @@ -6924,3 +6937,38 @@ an existing user-specified one, writes a cookie to it, and then starts the the server and cleaning up before returning the exit status of the command.") (license (list license:x11 ; the script license:gpl2+)))) ; the man page + +(define-public setroot + (package + (name "setroot") + (version "2.0.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ttzhou/setroot") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0w95828v0splk7bj5kfacp4pq6wxpyamvyjmahyvn5hc3ycq21mq")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + (string-append "DESTDIR=" (assoc-ref %outputs "out")) + "PREFIX=" + "xinerama=1") + #:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (delete 'configure)))) + (inputs + `(("imlib2" ,imlib2) + ("libx11" ,libx11) + ("libxinerama" ,libxinerama))) + (home-page "https://github.com/ttzhou/setroot") + (synopsis "Simple X background setter inspired by imlibsetroot and feh") + (description "Setroot is a lightweight X background setter with feh's +syntax without its image viewing capabilities. It supports multiple monitors +and can restore previously set wallpapers and options.") + (license license:gpl3+))) diff --git a/gnu/services.scm b/gnu/services.scm index 8d413e198e..1655218f2d 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -1,9 +1,11 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2021 raid5atemyhomework <raid5atemyhomework@protonmail.com> +;;; Copyright © 2020 Christine Lemmer-Webber <cwebber@dustycloud.org> +;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +42,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages hurd) + #:use-module (gnu system setuid) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) @@ -801,15 +804,38 @@ directory." FILES must be a list of name/file-like object pairs." (service etc-service-type files)) +(define (setuid-program->activation-gexp programs) + "Return an activation gexp for setuid-program from PROGRAMS." + (let ((programs (map (lambda (program) + ;; FIXME This is really ugly, I didn't managed to use + ;; "inherit" + (let ((program-name (setuid-program-program program)) + (setuid? (setuid-program-setuid? program)) + (setgid? (setuid-program-setgid? program)) + (user (setuid-program-user program)) + (group (setuid-program-group program)) ) + #~(setuid-program + (setuid? #$setuid?) + (setgid? #$setgid?) + (user #$user) + (group #$group) + (program #$program-name)))) + programs))) + (with-imported-modules (source-module-closure + '((gnu system setuid))) + #~(begin + (use-modules (gnu system setuid)) + + (activate-setuid-programs (list #$@programs)))))) + (define setuid-program-service-type (service-type (name 'setuid-program) (extensions (list (service-extension activation-service-type - (lambda (programs) - #~(activate-setuid-programs - (list #$@programs)))))) + setuid-program->activation-gexp))) (compose concatenate) - (extend append) + (extend (lambda (config extensions) + (append config extensions))) (description "Populate @file{/run/setuid-programs} with the specified executables, making them setuid-root."))) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index ab3e441a7b..50865055fe 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -12,9 +12,10 @@ ;;; Copyright © 2019 John Soo <jsoo1@asu.edu> ;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> -;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 qblade <qblade@protonmail.com> ;;; Copyright © 2021 Hui Lu <luhuins@163.com> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -311,17 +312,20 @@ FILE-SYSTEM." (define (file-system-shepherd-service file-system) "Return the shepherd service for @var{file-system}, or @code{#f} if -@var{file-system} is not auto-mounted upon boot." +@var{file-system} is not auto-mounted or doesn't have its mount point created +upon boot." (let ((target (file-system-mount-point file-system)) (create? (file-system-create-mount-point? file-system)) + (mount? (file-system-mount? file-system)) (dependencies (file-system-dependencies file-system)) (packages (file-system-packages (list file-system)))) - (and (file-system-mount? file-system) + (and (or mount? create?) (with-imported-modules (source-module-closure '((gnu build file-systems))) (shepherd-service (provision (list (file-system->shepherd-service-name file-system))) - (requirement `(root-file-system udev + (requirement `(root-file-system + udev ,@(map dependency->shepherd-service-name dependencies))) (documentation "Check, mount, and unmount the given file system.") (start #~(lambda args @@ -329,24 +333,26 @@ FILE-SYSTEM." #~(mkdir-p #$target) #t) - (let (($PATH (getenv "PATH"))) - ;; Make sure fsck.ext2 & co. can be found. - (dynamic-wind - (lambda () - ;; Don’t display the PATH settings. - (with-output-to-port (%make-void-port "w") - (lambda () - (set-path-environment-variable "PATH" - '("bin" "sbin") - '#$packages)))) - (lambda () - (mount-file-system - (spec->file-system - '#$(file-system->spec file-system)) - #:root "/")) - (lambda () - (setenv "PATH" $PATH))) - #t))) + #$(if mount? + #~(let (($PATH (getenv "PATH"))) + ;; Make sure fsck.ext2 & co. can be found. + (dynamic-wind + (lambda () + ;; Don’t display the PATH settings. + (with-output-to-port (%make-void-port "w") + (lambda () + (set-path-environment-variable "PATH" + '("bin" "sbin") + '#$packages)))) + (lambda () + (mount-file-system + (spec->file-system + '#$(file-system->spec file-system)) + #:root "/")) + (lambda () + (setenv "PATH" $PATH)))) + #t) + #t)) (stop #~(lambda args ;; Normally there are no processes left at this point, so ;; TARGET can be safely unmounted. @@ -365,7 +371,10 @@ FILE-SYSTEM." (define (file-system-shepherd-services file-systems) "Return the list of Shepherd services for FILE-SYSTEMS." - (let* ((file-systems (filter file-system-mount? file-systems))) + (let* ((file-systems (filter (lambda (x) + (or (file-system-mount? x) + (file-system-create-mount-point? x))) + file-systems))) (define sink (shepherd-service (provision '(file-systems)) @@ -1383,14 +1392,8 @@ information on the configuration file syntax." (let ((security-limits ;; Create /etc/security containing the provided "limits.conf" file. (lambda (limits-file) - `(("security" - ,(computed-file - "security" - #~(begin - (mkdir #$output) - (stat #$limits-file) - (symlink #$limits-file - (string-append #$output "/limits.conf")))))))) + `(("security/limits.conf" + ,limits-file)))) (pam-extension (lambda (pam) (let ((pam-limits (pam-entry @@ -1700,21 +1703,21 @@ proxy of 'guix-daemon'...~%") (define (guix-activation config) "Return the activation gexp for CONFIG." - (match config - (($ <guix-configuration> guix build-group build-accounts authorize-key? keys) - ;; Assume that the store has BUILD-GROUP as its group. We could - ;; otherwise call 'chown' here, but the problem is that on a COW overlayfs, - ;; chown leads to an entire copy of the tree, which is a bad idea. - - ;; Generate a key pair and optionally authorize substitute server keys. - #~(begin - (unless (file-exists? "/etc/guix/signing-key.pub") - (system* #$(file-append guix "/bin/guix") "archive" - "--generate-key")) - - #$(if authorize-key? - (substitute-key-authorization keys guix) - #~#f))))) + (match-record config <guix-configuration> + (guix authorize-key? authorized-keys) + #~(begin + ;; Assume that the store has BUILD-GROUP as its group. We could + ;; otherwise call 'chown' here, but the problem is that on a COW overlayfs, + ;; chown leads to an entire copy of the tree, which is a bad idea. + + ;; Generate a key pair and optionally authorize substitute server keys. + (unless (file-exists? "/etc/guix/signing-key.pub") + (system* #$(file-append guix "/bin/guix") "archive" + "--generate-key")) + + #$(if authorize-key? + (substitute-key-authorization authorized-keys guix) + #~#f)))) (define* (references-file item #:optional (name "references")) "Return a file that contains the list of references of ITEM." diff --git a/gnu/services/configuration.scm b/gnu/services/configuration.scm index fd07b6fa49..df3d3b6f9b 100644 --- a/gnu/services/configuration.scm +++ b/gnu/services/configuration.scm @@ -25,10 +25,12 @@ #:use-module (guix records) #:use-module (guix gexp) #:use-module ((guix utils) #:select (source-properties->location)) + #:use-module ((guix diagnostics) #:select (location-file)) + #:use-module ((guix modules) #:select (file-name->module-name)) #:autoload (texinfo) (texi-fragment->stexi) #:autoload (texinfo serialize) (stexi->texi) #:use-module (ice-9 match) - #:use-module ((srfi srfi-1) #:select (append-map)) + #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:export (configuration-field @@ -252,35 +254,62 @@ does not have a default value" field kind))) ;; A little helper to make it easier to document all those fields. (define (generate-documentation documentation documentation-name) (define (str x) (object->string x)) + + (define (package->symbol package) + "Return the first symbol name of a package that matches PACKAGE, else #f." + (let* ((module (file-name->module-name + (location-file (package-location package)))) + (symbols (filter-map + identity + (module-map (lambda (symbol var) + (and (equal? package (variable-ref var)) + symbol)) + (resolve-module module))))) + (if (null? symbols) + #f + (first symbols)))) + (define (generate configuration-name) (match (assq-ref documentation configuration-name) ((fields . sub-documentation) - `((para "Available " (code ,(str configuration-name)) " fields are:") - ,@(map - (lambda (f) - (let ((field-name (configuration-field-name f)) - (field-type (configuration-field-type f)) - (field-docs (cdr (texi-fragment->stexi - (configuration-field-documentation f)))) - (default (catch #t - (configuration-field-default-value-thunk f) - (lambda _ '%invalid)))) - (define (show-default? val) - (or (string? val) (number? val) (boolean? val) - (and (symbol? val) (not (eq? val '%invalid))) - (and (list? val) (and-map show-default? val)))) - `(deftypevr (% (category - (code ,(str configuration-name)) " parameter") - (data-type ,(str field-type)) - (name ,(str field-name))) - ,@field-docs - ,@(if (show-default? default) - `((para "Defaults to " (samp ,(str default)) ".")) - '()) - ,@(append-map - generate - (or (assq-ref sub-documentation field-name) '()))))) - fields))))) + `((deftp (% (category "Data Type") (name ,(str configuration-name))) + (para "Available " (code ,(str configuration-name)) " fields are:") + (table + (% (formatter (asis))) + ,@(map + (lambda (f) + (let ((field-name (configuration-field-name f)) + (field-type (configuration-field-type f)) + (field-docs (cdr (texi-fragment->stexi + (configuration-field-documentation f)))) + (default (catch #t + (configuration-field-default-value-thunk f) + (lambda _ '%invalid)))) + (define (show-default? val) + (or (string? val) (number? val) (boolean? val) + (package? val) + (and (symbol? val) (not (eq? val '%invalid))) + (and (list? val) (and-map show-default? val)))) + + (define (show-default val) + (cond + ((package? val) + (symbol->string (package->symbol val))) + (else (str val)))) + + `(entry (% (heading + (code ,(str field-name)) + ,@(if (show-default? default) + `(" (default: " + (code ,(show-default default)) ")") + '()) + " (type: " ,(str field-type) ")")) + (para ,@field-docs) + ,@(append-map + generate + (or (assq-ref sub-documentation field-name) + '()))))) + fields))))))) (stexi->texi `(*fragment* . ,(generate documentation-name)))) (define (configuration->documentation configuration-symbol) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index 99b137e05e..83e63fe79c 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -25,6 +25,7 @@ #:use-module (guix channels) #:use-module (guix gexp) #:use-module (guix records) + #:use-module (guix store) #:use-module (guix utils) #:use-module (gnu packages admin) #:use-module (gnu packages ci) @@ -72,6 +73,8 @@ (default "/var/log/cuirass-remote-server.log")) (cache cuirass-remote-server-configuration-cache ;string (default "/var/cache/cuirass/remote/")) + (publish? cuirass-remote-server-configuration-publish? ;boolean + (default #t)) (trigger-url cuirass-remote-server-trigger-url ;string (default #f)) (public-key cuirass-remote-server-configuration-public-key ;string @@ -191,8 +194,8 @@ (stop #~(make-kill-destructor))) ,@(if remote-server (match-record remote-server <cuirass-remote-server-configuration> - (backend-port publish-port log-file cache trigger-url - public-key private-key) + (backend-port publish-port log-file cache publish? + trigger-url public-key private-key) (list (shepherd-service (documentation "Run Cuirass remote build server.") @@ -225,6 +228,9 @@ "--trigger-substitute-url=" trigger-url)) '()) + #$@(if publish? + '() + (list "--no-publish")) #$@(if public-key (list (string-append "--public-key=" @@ -333,6 +339,8 @@ (default "/var/log/cuirass-remote-worker.log")) (publish-port cuirass-remote-worker-configuration-publish-port ;int (default 5558)) + (substitute-urls cuirass-remote-worker-configuration-substitute-urls + (default %default-substitute-urls)) ;list of strings (public-key cuirass-remote-worker-configuration-public-key ;string (default #f)) (private-key cuirass-remote-worker-configuration-private-key ;string @@ -343,7 +351,7 @@ CONFIG." (match-record config <cuirass-remote-worker-configuration> (cuirass workers server systems log-file publish-port - public-key private-key) + substitute-urls public-key private-key) (list (shepherd-service (documentation "Run Cuirass remote build worker.") (provision '(cuirass-remote-worker)) @@ -366,6 +374,11 @@ CONFIG." "--publish-port=" (number->string publish-port))) '()) + #$@(if substitute-urls + (list (string-append + "--substitute-urls=" + (string-join substitute-urls))) + '()) #$@(if public-key (list (string-append "--public-key=" diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm index af1a1e4c3a..e7b3dac166 100644 --- a/gnu/services/dbus.scm +++ b/gnu/services/dbus.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ (define-module (gnu services dbus) #:use-module (gnu services) #:use-module (gnu services shepherd) + #:use-module (gnu system setuid) #:use-module (gnu system shadow) #:use-module (gnu system pam) #:use-module ((gnu packages glib) #:select (dbus)) @@ -156,10 +158,12 @@ includes the @code{etc/dbus-1/system.d} directories of each package listed in (shell (file-append shadow "/sbin/nologin"))))) (define dbus-setuid-programs - ;; Return the file name of the setuid program that we need. + ;; Return a list of <setuid-program> for the program that we need. (match-lambda (($ <dbus-configuration> dbus services) - (list (file-append dbus "/libexec/dbus-daemon-launch-helper"))))) + (list (setuid-program + (program (file-append + dbus "/libexec/dbus-daemon-launch-helper"))))))) (define (dbus-activation config) "Return an activation gexp for D-Bus using @var{config}." @@ -335,8 +339,9 @@ tuples, are all set as environment variables when the bus daemon launches it." (define polkit-setuid-programs (match-lambda (($ <polkit-configuration> polkit) - (list (file-append polkit "/lib/polkit-1/polkit-agent-helper-1") - (file-append polkit "/bin/pkexec"))))) + (map file-like->setuid-program + (list (file-append polkit "/lib/polkit-1/polkit-agent-helper-1") + (file-append polkit "/bin/pkexec")))))) (define polkit-service-type (service-type (name 'polkit) diff --git a/gnu/services/desktop.scm b/gnu/services/desktop.scm index cd800fcc2b..64d0e85301 100644 --- a/gnu/services/desktop.scm +++ b/gnu/services/desktop.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2019 David Wilson <david@daviwil.com> ;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Reza Alizadeh Majd <r.majd@pantherx.org> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -40,6 +41,7 @@ #:use-module ((gnu system file-systems) #:select (%elogind-file-systems file-system)) #:use-module (gnu system) + #:use-module (gnu system setuid) #:use-module (gnu system shadow) #:use-module (gnu system pam) #:use-module (gnu packages glib) @@ -1034,14 +1036,15 @@ rules." (define (enlightenment-setuid-programs enlightenment-desktop-configuration) (match-record enlightenment-desktop-configuration - <enlightenment-desktop-configuration> - (enlightenment) - (list (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_sys") - (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_system") - (file-append enlightenment - "/lib/enlightenment/utils/enlightenment_ckpasswd")))) + <enlightenment-desktop-configuration> + (enlightenment) + (map file-like->setuid-program + (list (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_sys") + (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_system") + (file-append enlightenment + "/lib/enlightenment/utils/enlightenment_ckpasswd"))))) (define enlightenment-desktop-service-type (service-type @@ -1204,8 +1207,11 @@ or setting its password with passwd."))) ;; Allow desktop users to also mount NTFS and NFS file systems ;; without root. (simple-service 'mount-setuid-helpers setuid-program-service-type - (list (file-append nfs-utils "/sbin/mount.nfs") - (file-append ntfs-3g "/sbin/mount.ntfs-3g"))) + (map (lambda (program) + (setuid-program + (program program))) + (list (file-append nfs-utils "/sbin/mount.nfs") + (file-append ntfs-3g "/sbin/mount.ntfs-3g")))) ;; The global fontconfig cache directory can sometimes contain ;; stale entries, possibly referencing fonts that have been GC'd, diff --git a/gnu/services/docker.scm b/gnu/services/docker.scm index be85316180..ef551480aa 100644 --- a/gnu/services/docker.scm +++ b/gnu/services/docker.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2020 Jesse Dowell <jessedowell@gmail.com> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (gnu services base) #:use-module (gnu services dbus) #:use-module (gnu services shepherd) + #:use-module (gnu system setuid) #:use-module (gnu system shadow) #:use-module (gnu packages docker) #:use-module (gnu packages linux) ;singularity @@ -195,9 +197,10 @@ bundles in Docker containers.") "-helper"))) '("action" "mount" "start"))))) - (list (file-append helpers "/singularity-action-helper") - (file-append helpers "/singularity-mount-helper") - (file-append helpers "/singularity-start-helper"))) + (map file-like->setuid-program + (list (file-append helpers "/singularity-action-helper") + (file-append helpers "/singularity-mount-helper") + (file-append helpers "/singularity-start-helper")))) (define singularity-service-type (service-type (name 'singularity) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index eeb1487116..7e310b70ec 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -15,8 +15,9 @@ ;;; Copyright © 2019 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com> -;;; Copyright © 2021 Christopher Lemmer Webber <cwebber@dustycloud.org> +;;; Copyright © 2021 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be> +;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -363,8 +364,9 @@ Protocol (DHCP) client, on all the non-loopback network interfaces."))) (lambda _ (display "")))) ;; Validate the config. (invoke/quiet - #$(file-append package "/sbin/dhcpd") "-t" "-cf" - #$config-file)))))) + #$(file-append package "/sbin/dhcpd") + #$(string-append "-" version) + "-t" "-cf" #$config-file)))))) (define dhcpd-service-type (service-type diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm index e1259cc2df..fd90840324 100644 --- a/gnu/services/telephony.scm +++ b/gnu/services/telephony.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 nee <nee-git@hidamari.blue> +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,16 +18,45 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu services telephony) - #:use-module (gnu services) + #:use-module ((gnu build jami-service) #:select (account-fingerprint?)) + #:use-module ((gnu services) #:hide (delete)) + #:use-module (gnu services configuration) #:use-module (gnu services shepherd) #:use-module (gnu system shadow) #:use-module (gnu packages admin) + #:use-module (gnu packages certs) + #:use-module (gnu packages glib) + #:use-module (gnu packages jami) #:use-module (gnu packages telephony) #:use-module (guix records) + #:use-module (guix modules) + #:use-module (guix packages) #:use-module (guix gexp) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) + #:use-module (srfi srfi-26) + #:use-module (ice-9 format) #:use-module (ice-9 match) - #:export (murmur-configuration + #:export (jami-account + jami-account-archive + jami-account-allowed-contacts + jami-account-moderators + jami-account-rendezvous-point? + jami-account-discovery? + jami-account-bootstrap-uri + jami-account-name-server-uri + + jami-configuration + jami-configuration-jamid + jami-configuration-dbus + jami-configuration-enable-logging? + jami-configuration-debug? + jami-configuration-auto-answer? + jami-configuration-accounts + + jami-service-type + + murmur-configuration make-murmur-configuration murmur-configuration? murmur-configuration-package @@ -74,6 +104,652 @@ murmur-service-type)) + +;;; +;;; Jami daemon. +;;; + +;;; XXX: Passing a computed-file object as the account is used for tests. +(define (string-or-computed-file? val) + (or (string? val) + (computed-file? val))) + +(define (string-list? val) + (and (list? val) + (and-map string? val))) + +(define (account-fingerprint-list? val) + (and (list? val) + (and-map account-fingerprint? val))) + +(define-maybe string-list) + +(define-maybe/no-serialization account-fingerprint-list) + +(define-maybe boolean) + +(define-maybe string) + +;;; The following serializers are used to derive an account details alist from +;;; a <jami-account> record. +(define (serialize-string-list _ val) + (string-join val ";")) + +(define (serialize-boolean _ val) + (format #f "~:[false~;true~]" val)) + +(define (serialize-string _ val) + val) + +;;; Note: Serialization is used to produce an account details alist that can +;;; be passed to the SET-ACCOUNT-DETAILS procedure. Fields that do not map to +;;; a Jami account 'detail' should have their serialization disabled via the +;;; 'empty-serializer' procedure. +(define-configuration jami-account + (archive + (string-or-computed-file) + "The account archive (backup) file name of the account. This is used to +provision the account when the service starts. The account archive should +@emph{not} be encrypted. It is highly recommended to make it readable only to +the @samp{root} user (i.e., not in the store), to guard against leaking the +secret key material of the Jami account it contains." + empty-serializer) + (allowed-contacts + (maybe-account-fingerprint-list 'disabled) + "The list of allowed contacts for the account, entered as their 40 +characters long fingerprint. Messages or calls from accounts not in that list +will be rejected. When unspecified, the configuration of the account archive +is used as-is with respect to contacts and public inbound calls/messaging +allowance, which typically defaults to allow any contact to communicate with +the account." + empty-serializer) + (moderators + (maybe-account-fingerprint-list 'disabled) + "The list of contacts that should have moderation privileges (to ban, mute, +etc. other users) in rendezvous conferences, entered as their 40 characters +long fingerprint. When unspecified, the configuration of the account archive +is used as-is with respect to moderation, which typically defaults to allow +anyone to moderate." + empty-serializer) + ;; The serializable fields below are to be set with set-account-details. + (rendezvous-point? + (maybe-boolean 'disabled) + "Whether the account should operate in the rendezvous mode. In this mode, +all the incoming audio/video calls are mixed into a conference. When left +unspecified, the value from the account archive prevails.") + (peer-discovery? + (maybe-boolean 'disabled) + "Whether peer discovery should be enabled. Peer discovery is used to +discover other OpenDHT nodes on the local network, which can be useful to +maintain communication between devices on such network even when the +connection to the the Internet has been lost. When left unspecified, the +value from the account archive prevails.") + (bootstrap-hostnames + (maybe-string-list 'disabled) + "A list of hostnames or IPs pointing to OpenDHT nodes, that should be used +to initially join the OpenDHT network. When left unspecified, the value from +the account archive prevails.") + (name-server-uri + (maybe-string 'disabled) + "The URI of the name server to use, that can be used to retrieve the +account fingerprint for a registered username.")) + +(define (jami-account->alist jami-account-object) + "Serialize the JAMI-ACCOUNT object as an alist suitable to be passed to +SET-ACCOUNT-DETAILS." + (define (field-name->account-detail name) + (match name + ('rendezvous-point? "Account.rendezVous") + ('peer-discovery? "Account.peerDiscovery") + ('bootstrap-hostnames "Account.hostname") + ('name-server-uri "RingNS.uri") + (_ #f))) + + (filter-map (lambda (field) + (and-let* ((name (field-name->account-detail + (configuration-field-name field))) + (value ((configuration-field-serializer field) + name ((configuration-field-getter field) + jami-account-object))) + ;; The define-maybe default serializer produces an + ;; empty string for the 'disabled value. + (value* (if (string-null? value) + #f + value))) + (cons name value*))) + jami-account-fields)) + +(define (jami-account-list? val) + (and (list? val) + (and-map jami-account? val))) + +(define-maybe/no-serialization jami-account-list) + +(define-configuration/no-serialization jami-configuration + (jamid + (package libring) + "The Jami daemon package to use.") + (dbus + (package dbus) + "The D-Bus package to use to start the required D-Bus session.") + (nss-certs + (package nss-certs) + "The nss-certs package to use to provide TLS certificates.") + (enable-logging? + (boolean #t) + "Whether to enable logging to syslog.") + (debug? + (boolean #f) + "Whether to enable debug level messages.") + (auto-answer? + (boolean #f) + "Whether to force automatic answer to incoming calls.") + (accounts + (maybe-jami-account-list 'disabled) + "A list of Jami accounts to be (re-)provisioned every time the Jami daemon +service starts. When providing this field, the account directories under +@file{/var/lib/jami/} are recreated every time the service starts, ensuring a +consistent state.")) + +(define %jami-accounts + (list (user-group (name "jami") (system? #t)) + (user-account + (name "jami") + (group "jami") + (system? #t) + (comment "Jami daemon user") + (home-directory "/var/lib/jami")))) + +(define (jami-configuration->command-line-arguments config) + "Derive the command line arguments to used to launch the Jami daemon from +CONFIG, a <jami-configuration> object." + (match-record config <jami-configuration> + (jamid dbus enable-logging? debug? auto-answer?) + `(,(file-append jamid "/lib/ring/dring") + "--persistent" ;stay alive after client quits + ,@(if enable-logging? + '() ;logs go to syslog by default + (list "--console")) ;else stdout/stderr + ,@(if debug? + (list "--debug") + '()) + ,@(if auto-answer? + (list "--auto-answer") + '())))) + +(define (jami-dbus-session-activation config) + "Create a directory to hold the Jami D-Bus session socket." + (with-imported-modules (source-module-closure '((gnu build activation))) + #~(begin + (use-modules (gnu build activation)) + (let ((user (getpwnam "jami"))) + (mkdir-p/perms "/var/run/jami" user #o700))))) + +(define (jami-shepherd-services config) + "Return a <shepherd-service> running the Jami daemon." + (let* ((jamid (jami-configuration-jamid config)) + (nss-certs (jami-configuration-nss-certs config)) + (dbus (jami-configuration-dbus config)) + (dbus-daemon (file-append dbus "/bin/dbus-daemon")) + (dbus-send (file-append dbus "/bin/dbus-send")) + (accounts (jami-configuration-accounts config)) + (declarative-mode? (not (eq? 'disabled accounts)))) + + (with-imported-modules (source-module-closure + '((gnu build jami-service) + (gnu build shepherd) + (gnu system file-systems))) + + (define list-accounts-action + (shepherd-action + (name 'list-accounts) + (documentation "List the available Jami accounts. Return the account +details alists keyed by their account username.") + (procedure + #~(lambda _ + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + ;; Print the accounts summary or long listing, according to + ;; user-provided option. + (let* ((usernames (get-usernames)) + (accounts (map-in-order username->account usernames))) + (match accounts + (() ;empty list + (format #t "There is no Jami account available.~%")) + ((one two ...) + (format #t "The following Jami accounts are available:~%") + (for-each + (lambda (account) + (define fingerprint (assoc-ref account + "Account.username")) + (define human-friendly-name + (or (assoc-ref account + "Account.registeredName") + (assoc-ref account + "Account.displayName") + (assoc-ref account + "Account.alias"))) + (define disabled? + (and=> (assoc-ref account "Account.enable") + (cut string=? "false" <>))) + + (format #t " - ~a~@[ (~a)~] ~:[~;[disabled]~]~%" + fingerprint human-friendly-name disabled?)) + accounts) + (display "\n"))) + ;; Return the account-details-list alist. + (map cons usernames accounts))))))) + + (define list-account-details-action + (shepherd-action + (name 'list-account-details) + (documentation "Display the account details of the available Jami +accounts in the @code{recutils} format. Return the account details alists +keyed by their account username.") + (procedure + #~(lambda _ + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (let* ((usernames (get-usernames)) + (accounts (map-in-order username->account usernames))) + (for-each (lambda (account) + (display (account-details->recutil account)) + (display "\n\n")) + accounts) + (map cons usernames accounts))))))) + + (define list-contacts-action + (shepherd-action + (name 'list-contacts) + (documentation "Display the contacts for each Jami account. Return +an alist containing the contacts keyed by the account usernames.") + (procedure + #~(lambda _ + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (let* ((usernames (get-usernames)) + (contacts (map-in-order username->contacts usernames))) + (for-each (lambda (username contacts) + (format #t "Contacts for account ~a:~%" + username) + (format #t "~{ - ~a~%~}~%" contacts)) + usernames contacts) + (map cons usernames contacts))))))) + + (define list-moderators-action + (shepherd-action + (name 'list-moderators) + (documentation "Display the moderators for each Jami account. Return +an alist containing the moderators keyed by the account usernames.") + (procedure + #~(lambda _ + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (let* ((usernames (get-usernames)) + (moderators (map-in-order username->moderators + usernames))) + (for-each + (lambda (username moderators) + (if (username->all-moderators? username) + (format #t "Anyone can moderate for account ~a~%" + username) + (begin + (format #t "Moderators for account ~a:~%" username) + (format #t "~{ - ~a~%~}~%" moderators)))) + usernames moderators) + (map cons usernames moderators))))))) + + (define add-moderator-action + (shepherd-action + (name 'add-moderator) + (documentation "Add a moderator for a given Jami account. The +MODERATOR contact must be given as its 40 characters fingerprint, while the +Jami account can be provided as its registered USERNAME or fingerprint. + +@example +herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f username +@end example + +Return the moderators for the account known by USERNAME.") + (procedure + #~(lambda (_ moderator username) + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (set-all-moderators #f username) + (add-contact moderator username) + (set-moderator moderator #t username) + (username->moderators username)))))) + + (define ban-contact-action + (shepherd-action + (name 'ban-contact) + (documentation "Ban a contact for a given or all Jami accounts, and +clear their moderator flag. The CONTACT must be given as its 40 characters +fingerprint, while the Jami account can be provided as its registered USERNAME +or fingerprint, or omitted. When the account is omitted, CONTACT is banned +from all accounts. + +@example +herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f [username] +@end example") + (procedure + #~(lambda* (_ contact #:optional username) + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (let ((usernames (or (and=> username list) + (get-usernames)))) + (for-each (lambda (username) + (set-moderator contact #f username) + (remove-contact contact username #:ban? #t)) + usernames))))))) + + (define list-banned-contacts-action + (shepherd-action + (name 'list-banned-contacts) + (documentation "List the banned contacts for each accounts. Return +an alist of the banned contacts, keyed by the account usernames.") + (procedure + #~(lambda _ + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + + (define banned-contacts + (let ((usernames (get-usernames))) + (map cons usernames + (map-in-order (lambda (x) + (receive (_ banned) + (username->contacts x) + banned)) + usernames)))) + + (for-each (match-lambda + ((username . banned) + (unless (null? banned) + (format #t "Banned contacts for account ~a:~%" + username) + (format #t "~{ - ~a~%~}~%" banned)))) + banned-contacts) + banned-contacts))))) + + (define enable-account-action + (shepherd-action + (name 'enable-account) + (documentation "Enable an account. It takes USERNAME as an argument, +either a registered username or the fingerprint of the account.") + (procedure + #~(lambda (_ username) + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (enable-account username)))))) + + (define disable-account-action + (shepherd-action + (name 'disable-account) + (documentation "Disable an account. It takes USERNAME as an +argument, either a registered username or the fingerprint of the account.") + (procedure + #~(lambda (_ username) + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + (disable-account username)))))) + + (list (shepherd-service + (documentation "Run a D-Bus session for the Jami daemon.") + (provision '(jami-dbus-session)) + (modules `((gnu build shepherd) + (gnu build jami-service) + (gnu system file-systems) + ,@%default-modules)) + ;; The requirement on dbus-system is to ensure other required + ;; activation for D-Bus, such as a /etc/machine-id file. + (requirement '(dbus-system syslogd)) + (start + #~(lambda args + (define pid + ((make-forkexec-constructor/container + (list #$dbus-daemon "--session" + "--address=unix:path=/var/run/jami/bus" + "--nofork" "--syslog-only" "--nopidfile") + #:mappings (list (file-system-mapping + (source "/dev/log") ;for syslog + (target source)) + (file-system-mapping + (source "/var/run/jami") + (target source) + (writable? #t))) + #:user "jami" + #:group "jami" + #:environment-variables + ;; This is so that the cx.ring.Ring service D-Bus + ;; definition is found by dbus-send. + (list (string-append "XDG_DATA_DIRS=" + #$jamid "/share"))))) + + ;; XXX: This manual synchronization probably wouldn't be + ;; needed if we were using a PID file, but providing it via a + ;; customized config file with <pidfile> would not override + ;; the one inherited from the base config of D-Bus. + (let ((sock (socket PF_UNIX SOCK_STREAM 0))) + (with-retries 20 1 (catch 'system-error + (lambda () + (connect sock AF_UNIX + "/var/run/jami/bus") + (close-port sock) + #t) + (lambda args + #f)))) + + pid)) + (stop #~(make-kill-destructor))) + + (shepherd-service + (documentation "Run the Jami daemon.") + (provision '(jami)) + (actions (list list-accounts-action + list-account-details-action + list-contacts-action + list-moderators-action + add-moderator-action + ban-contact-action + list-banned-contacts-action + enable-account-action + disable-account-action)) + (requirement '(jami-dbus-session)) + (modules `((ice-9 format) + (ice-9 ftw) + (ice-9 match) + (ice-9 receive) + (srfi srfi-1) + (srfi srfi-26) + (gnu build jami-service) + (gnu build shepherd) + (gnu system file-systems) + ,@%default-modules)) + (start + #~(lambda args + (define (delete-file-recursively/safe file) + ;; Ensure we're not deleting things outside of + ;; /var/lib/jami. This prevents a possible attack in case + ;; the daemon is compromised and an attacker gains write + ;; access to /var/lib/jami. + (let ((parent-directory (dirname file))) + (if (eq? 'symlink (stat:type (stat parent-directory))) + (error "abnormality detected; unexpected symlink found at" + parent-directory) + (delete-file-recursively file)))) + + (when #$declarative-mode? + ;; Clear the Jami configuration and accounts, to enforce the + ;; declared state. + (catch #t + (lambda () + (for-each (cut delete-file-recursively/safe <>) + '("/var/lib/jami/.cache/jami" + "/var/lib/jami/.config/jami" + "/var/lib/jami/.local/share/jami" + "/var/lib/jami/accounts"))) + (lambda args + #t)) + ;; Copy the Jami account archives from somewhere readable + ;; by root to a place only the jami user can read. + (let* ((accounts-dir "/var/lib/jami/accounts/") + (pwd (getpwnam "jami")) + (user (passwd:uid pwd)) + (group (passwd:gid pwd))) + (mkdir-p accounts-dir) + (chown accounts-dir user group) + (for-each (lambda (f) + (let ((dest (string-append accounts-dir + (basename f)))) + (copy-file f dest) + (chown dest user group))) + '#$(and declarative-mode? + (map jami-account-archive accounts))))) + + ;; Start the daemon. + (define daemon-pid + ((make-forkexec-constructor/container + '#$(jami-configuration->command-line-arguments config) + #:mappings + (list (file-system-mapping + (source "/dev/log") ;for syslog + (target source)) + (file-system-mapping + (source "/var/lib/jami") + (target source) + (writable? #t)) + (file-system-mapping + (source "/var/run/jami") + (target source) + (writable? #t)) + ;; Expose TLS certificates for GnuTLS. + (file-system-mapping + (source #$(file-append nss-certs "/etc/ssl/certs")) + (target "/etc/ssl/certs"))) + #:user "jami" + #:group "jami" + #:environment-variables + (list (string-append "DBUS_SESSION_BUS_ADDRESS=" + "unix:path=/var/run/jami/bus") + ;; Expose TLS certificates for OpenSSL. + "SSL_CERT_DIR=/etc/ssl/certs")))) + + (parameterize ((%send-dbus-binary #$dbus-send) + (%send-dbus-bus "unix:path=/var/run/jami/bus") + (%send-dbus-user "jami") + (%send-dbus-group "jami")) + + ;; Wait until the service name has been acquired by D-Bus. + (with-retries 20 1 + (dbus-service-available? "cx.ring.Ring")) + + (when #$declarative-mode? + ;; Provision the accounts via the D-Bus API of the daemon. + (let* ((jami-account-archives + (map (cut string-append + "/var/lib/jami/accounts/" <>) + (scandir "/var/lib/jami/accounts/" + (lambda (f) + (not (member f '("." ".."))))))) + (usernames (map-in-order (cut add-account <>) + jami-account-archives))) + + (define (archive-name->username archive) + (list-ref + usernames + (list-index (lambda (f) + (string-suffix? (basename archive) f)) + jami-account-archives))) + + (for-each + (lambda (archive allowed-contacts moderators + account-details) + (let ((username (archive-name->username + archive))) + (when (not (eq? 'disabled allowed-contacts)) + ;; Reject calls from unknown contacts. + (set-account-details + '(("DHT.PublicInCalls" . "false")) username) + ;; Remove all contacts. + (for-each (cut remove-contact <> username) + (username->contacts username)) + ;; Add allowed ones. + (for-each (cut add-contact <> username) + allowed-contacts)) + (when (not (eq? 'disabled moderators)) + ;; Disable the 'AllModerators' property. + (set-all-moderators #f username) + ;; Remove all moderators. + (for-each (cut set-moderator <> #f username) + (username->moderators username)) + ;; Add declared moderators. + (for-each (cut set-moderator <> #t username) + moderators)) + ;; Set the various account parameters. + (set-account-details account-details username))) + '#$(and declarative-mode? + (map-in-order (cut jami-account-archive <>) + accounts)) + '#$(and declarative-mode? + (map-in-order + (cut jami-account-allowed-contacts <>) + accounts)) + '#$(and declarative-mode? + (map-in-order (cut jami-account-moderators <>) + accounts)) + '#$(and declarative-mode? + (map-in-order jami-account->alist accounts)))))) + + ;; Finally, return the PID of the daemon process. + daemon-pid)) + (stop + #~(lambda (pid . args) + (kill pid SIGKILL) + ;; Wait for the process to exit; this prevents overlapping + ;; processes when issuing 'herd restart'. + (waitpid pid) + #f))))))) + +(define jami-service-type + (service-type + (name 'jami) + (default-value (jami-configuration)) + (extensions + (list (service-extension shepherd-root-service-type + jami-shepherd-services) + (service-extension account-service-type + (const %jami-accounts)) + (service-extension activation-service-type + jami-dbus-session-activation))) + (description "Run the Jami daemon (@command{dring}). This service is +geared toward the use case of hosting Jami rendezvous points over a headless +server. If you use Jami on your local machine, you may prefer to setup a user +Shepherd service for it instead; this way, the daemon will be shared via your +normal user D-Bus session bus."))) + + +;;; +;;; Murmur. +;;; + ;; https://github.com/mumble-voip/mumble/blob/master/scripts/murmur.ini (define-record-type* <murmur-configuration> murmur-configuration @@ -305,3 +981,7 @@ suite.") (service-extension account-service-type murmur-accounts))) (default-value (murmur-configuration)))) + +;; Local Variables: +;; eval: (put 'with-retries 'scheme-indent-function 2) +;; End: diff --git a/gnu/services/version-control.scm b/gnu/services/version-control.scm index 8cb5633165..3315e80c6f 100644 --- a/gnu/services/version-control.scm +++ b/gnu/services/version-control.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2018 Christopher Baines <mail@cbaines.net> +;;; Copyright © 2021 Julien Lepiller <julien@lepiller.eu> ;;; ;;; This file is part of GNU Guix. ;;; @@ -54,11 +55,26 @@ <gitolite-rc-file> gitolite-rc-file gitolite-rc-file-umask + gitolite-rc-file-unsafe-pattern gitolite-rc-file-git-config-keys gitolite-rc-file-roles gitolite-rc-file-enable - gitolite-service-type)) + gitolite-service-type + + gitile-configuration + gitile-configuration-package + gitile-configuration-host + gitile-configuration-port + gitile-configuration-database + gitile-configuration-repositories + gitile-configuration-git-base-url + gitile-configuration-index-title + gitile-configuration-intro + gitile-configuration-footer + gitile-configuration-nginx + + gitile-service-type)) ;;; Commentary: ;;; @@ -226,6 +242,8 @@ access to exported repositories under @file{/srv/git}." gitolite-rc-file? (umask gitolite-rc-file-umask (default #o0077)) + (unsafe-pattern gitolite-rc-file-unsafe-pattern + (default #f)) (git-config-keys gitolite-rc-file-git-config-keys (default "")) (roles gitolite-rc-file-roles @@ -245,7 +263,7 @@ access to exported repositories under @file{/srv/git}." (define-gexp-compiler (gitolite-rc-file-compiler (file <gitolite-rc-file>) system target) (match file - (($ <gitolite-rc-file> umask git-config-keys roles enable) + (($ <gitolite-rc-file> umask unsafe-pattern git-config-keys roles enable) (apply text-file* "gitolite.rc" `("%RC = (\n" " UMASK => " ,(format #f "~4,'0o" umask) ",\n" @@ -264,6 +282,9 @@ access to exported repositories under @file{/srv/git}." " ],\n" ");\n" "\n" + ,(if unsafe-pattern + (string-append "$UNSAFE_PATT = qr(" unsafe-pattern ");") + "") "1;\n"))))) (define-record-type* <gitolite-configuration> @@ -380,3 +401,114 @@ access to exported repositories under @file{/srv/git}." By default, the @code{git} user is used, but this is configurable. Additionally, Gitolite can integrate with with tools like gitweb or cgit to provide a web interface to view selected repositories."))) + +;;; +;;; Gitile +;;; + +(define-record-type* <gitile-configuration> + gitile-configuration make-gitile-configuration gitile-configuration? + (package gitile-configuration-package + (default gitile)) + (host gitile-configuration-host + (default "127.0.0.1")) + (port gitile-configuration-port + (default 8080)) + (database gitile-configuration-database + (default "/var/lib/gitile/gitile-db.sql")) + (repositories gitile-configuration-repositories + (default "/var/lib/gitolite/repositories")) + (base-git-url gitile-configuration-base-git-url) + (index-title gitile-configuration-index-title + (default "Index")) + (intro gitile-configuration-intro + (default '())) + (footer gitile-configuration-footer + (default '())) + (nginx gitile-configuration-nginx)) + +(define (gitile-config-file host port database repositories base-git-url + index-title intro footer) + (define build + #~(write `(config + (port #$port) + (host #$host) + (database #$database) + (repositories #$repositories) + (base-git-url #$base-git-url) + (index-title #$index-title) + (intro #$intro) + (footer #$footer)) + (open-output-file #$output))) + + (computed-file "gitile.conf" build)) + +(define gitile-nginx-server-block + (match-lambda + (($ <gitile-configuration> package host port database repositories + base-git-url index-title intro footer nginx) + (list (nginx-server-configuration + (inherit nginx) + (locations + (append + (list + (nginx-location-configuration + (uri "/") + (body + (list + #~(string-append "proxy_pass http://" #$host + ":" (number->string #$port) + "/;"))))) + (map + (lambda (loc) + (nginx-location-configuration + (uri loc) + (body + (list + #~(string-append "root " #$package "/share/gitile/assets;"))))) + '("/css" "/js" "/images")) + (nginx-server-configuration-locations nginx)))))))) + +(define gitile-shepherd-service + (match-lambda + (($ <gitile-configuration> package host port database repositories + base-git-url index-title intro footer nginx) + (list (shepherd-service + (provision '(gitile)) + (requirement '(loopback)) + (documentation "gitile") + (start (let ((gitile (file-append package "/bin/gitile"))) + #~(make-forkexec-constructor + `(,#$gitile "-c" #$(gitile-config-file + host port database + repositories + base-git-url index-title + intro footer)) + #:user "gitile" + #:group "git"))) + (stop #~(make-kill-destructor))))))) + +(define %gitile-accounts + (list (user-group + (name "git") + (system? #t)) + (user-account + (name "gitile") + (group "git") + (system? #t) + (comment "Gitile user") + (home-directory "/var/empty") + (shell (file-append shadow "/sbin/nologin"))))) + +(define gitile-service-type + (service-type + (name 'gitile) + (description "Run Gitile, a small Git forge. Expose public repositories +on the web.") + (extensions + (list (service-extension account-service-type + (const %gitile-accounts)) + (service-extension shepherd-root-service-type + gitile-shepherd-service) + (service-extension nginx-service-type + gitile-nginx-server-block))))) diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index c8adcd06d0..bca5f56b87 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -131,6 +131,10 @@ (libvirt (package libvirt) "Libvirt package.") + (qemu + (package qemu) + "Qemu package.") + (listen-tls? (boolean #t) "Flag listening for secure TLS connections on the public TCP/IP port. @@ -168,7 +172,7 @@ stopping the Avahi daemon.") "Default mDNS advertisement name. This must be unique on the immediate broadcast network.") (unix-sock-group - (string "root") + (string "libvirt") "UNIX domain socket group ownership. This can be used to allow a 'trusted' set of users access to management capabilities without becoming root.") @@ -485,7 +489,7 @@ potential infinite waits blocking libvirt.")) (lambda (config) (list (libvirt-configuration-libvirt config) - qemu))) + (libvirt-configuration-qemu config)))) (service-extension activation-service-type %libvirt-activation) (service-extension shepherd-root-service-type @@ -594,13 +598,6 @@ potential infinite waits blocking libvirt.")) (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00")) (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) -(define %i486 - (qemu-platform - (name "i486") - (family "i386") - (magic (bv "\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00")) - (mask (bv "\xff\xff\xff\xff\xff\xfe\xfe\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff")))) - (define %alpha (qemu-platform (name "alpha") @@ -757,7 +754,7 @@ potential infinite waits blocking libvirt.")) (mask (bv "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff")))) (define %qemu-platforms - (list %i386 %i486 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k + (list %i386 %alpha %arm %sparc32plus %ppc %ppc64 %ppc64le %m68k %mips %mipsel %mipsn32 %mipsn32el %mips64 %mips64el %riscv32 %riscv64 %sh4 %sh4eb %s390x %aarch64 %hppa)) @@ -901,7 +898,7 @@ that will be listening to receive secret keys on port 1004, TCP." (timezone "Europe/Amsterdam") (bootloader (bootloader-configuration (bootloader grub-minimal-bootloader) - (target "/dev/vda") + (targets '("/dev/vda")) (timeout 0))) (packages (cons* gdb-minimal (operating-system-packages diff --git a/gnu/services/web.scm b/gnu/services/web.scm index bfcdfe7421..6a093cf4e4 100644 --- a/gnu/services/web.scm +++ b/gnu/services/web.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 David Thompson <davet@gnu.org> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017, 2018 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2017 Christopher Baines <mail@cbaines.net> @@ -1163,7 +1163,7 @@ a webserver.") (provision '(hpcguix-web)) (requirement '(networking)) (start #~(make-forkexec-constructor - (list #$(file-append hpcguix-web "/bin/run") + (list #$(file-append hpcguix-web "/bin/hpcguix-web") (string-append "--config=" #$(scheme-file "hpcguix-web.scm" specs))) #:user "hpcguix-web" diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 8ffea3b9dd..d5c5316d3f 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -8,6 +8,8 @@ ;;; Copyright © 2020 shtwzrd <shtwzrd@protonmail.com> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> ;;; Copyright © 2020 Alex Griffin <a@ajgrf.com> +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2021 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +31,7 @@ #:use-module (gnu services) #:use-module (gnu services shepherd) #:use-module (gnu system pam) + #:use-module (gnu system setuid) #:use-module (gnu system keyboard) #:use-module (gnu services base) #:use-module (gnu services dbus) @@ -159,6 +162,7 @@ xorg-configuration make-xorg-configuration xorg-configuration? (modules xorg-configuration-modules ;list of packages + (thunked) ; filter out modules not supported on current system (default (filter (lambda (p) @@ -541,6 +545,8 @@ a `service-extension', as used by `set-xorg-configuration'." (default slim)) (allow-empty-passwords? slim-configuration-allow-empty-passwords? (default #t)) + (gnupg? slim-configuration-gnupg? + (default #f)) (auto-login? slim-configuration-auto-login? (default #f)) (default-user slim-configuration-default-user @@ -570,7 +576,9 @@ a `service-extension', as used by `set-xorg-configuration'." "slim" #:login-uid? #t #:allow-empty-passwords? - (slim-configuration-allow-empty-passwords? config)))) + (slim-configuration-allow-empty-passwords? config) + #:gnupg? + (slim-configuration-gnupg? config)))) (define (slim-shepherd-service config) (let* ((xinitrc (xinitrc #:fallback-session @@ -681,7 +689,7 @@ reboot_cmd " shepherd "/sbin/reboot\n" #:allow-empty-passwords? empty?))))) (define screen-locker-setuid-programs - (compose list screen-locker-program)) + (compose list file-like->setuid-program screen-locker-program)) (define screen-locker-service-type (service-type (name 'screen-locker) diff --git a/gnu/system.scm b/gnu/system.scm index a7c2b1bca4..2b919d8b4a 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019, 2020 Miguel Ángel Arruga Vivas <rosen644835@gmail.com> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> -;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re> +;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re> ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <jannek@gnu.org> @@ -74,6 +74,7 @@ #:use-module (gnu system locale) #:use-module (gnu system pam) #:use-module (gnu system linux-initrd) + #:use-module (gnu system setuid) #:use-module (gnu system uuid) #:use-module (gnu system file-systems) #:use-module (gnu system mapped-devices) @@ -268,7 +269,8 @@ (pam-services operating-system-pam-services ; list of PAM services (default (base-pam-services))) (setuid-programs operating-system-setuid-programs - (default %setuid-programs)) ; list of string-valued gexps + (default %setuid-programs) ; list of <setuid-program> + (sanitize ensure-setuid-program-list)) (sudoers-file operating-system-sudoers-file ; file-like (default %sudoers-specification)) @@ -967,7 +969,12 @@ fi\n"))) ;; Some programs (e.g., GLib) look at /etc/timezone to find the ;; name of the current timezone. For details, see ;; https://lists.gnu.org/archive/html/guix-devel/2019-07/msg00166.html - ("timezone" ,(plain-file "timezone" (operating-system-timezone os))) + ;; Some programs expect a terminating newline. + ("timezone" ,(plain-file "timezone" + (string-append + (string-trim-both + (operating-system-timezone os)) + "\n"))) ("localtime" ,(file-append tzdata "/share/zoneinfo/" (operating-system-timezone os))) ,@(if sudoers @@ -1065,25 +1072,50 @@ use 'plain-file' instead~%") ;; TODO: Remove when glibc@2.23 is long gone. ("GUIX_LOCPATH" . "/run/current-system/locale"))) +(define-syntax-rule (ensure-setuid-program-list lst) + "Ensure LST is a list of <setuid-program> records and warn otherwise." + (%ensure-setuid-program-list lst (current-source-location))) + +(define (%ensure-setuid-program-list lst location) + (define warned? #f) + + (define (warn-once) + (unless warned? + (warning (source-properties->location location) + (G_ "representing setuid programs with file-like objects is \ +deprecated; use 'setuid-program' instead~%")) + (set! warned? #t))) + + (map (match-lambda + ((? setuid-program? program) + program) + (program + ;; PROGRAM is a file-like or a gexp like #~(string-append #$foo + ;; "/bin/bar"). + (warn-once) + (setuid-program (program program)))) + lst)) + (define %setuid-programs ;; Default set of setuid-root programs. (let ((shadow (@ (gnu packages admin) shadow))) - (list (file-append shadow "/bin/passwd") - (file-append shadow "/bin/sg") - (file-append shadow "/bin/su") - (file-append shadow "/bin/newgrp") - (file-append shadow "/bin/newuidmap") - (file-append shadow "/bin/newgidmap") - (file-append inetutils "/bin/ping") - (file-append inetutils "/bin/ping6") - (file-append sudo "/bin/sudo") - (file-append sudo "/bin/sudoedit") - (file-append fuse "/bin/fusermount") - - ;; To allow mounts with the "user" option, "mount" and "umount" must - ;; be setuid-root. - (file-append util-linux "/bin/mount") - (file-append util-linux "/bin/umount")))) + (map file-like->setuid-program + (list (file-append shadow "/bin/passwd") + (file-append shadow "/bin/sg") + (file-append shadow "/bin/su") + (file-append shadow "/bin/newgrp") + (file-append shadow "/bin/newuidmap") + (file-append shadow "/bin/newgidmap") + (file-append inetutils "/bin/ping") + (file-append inetutils "/bin/ping6") + (file-append sudo "/bin/sudo") + (file-append sudo "/bin/sudoedit") + (file-append fuse "/bin/fusermount") + + ;; To allow mounts with the "user" option, "mount" and "umount" must + ;; be setuid-root. + (file-append util-linux "/bin/mount") + (file-append util-linux "/bin/umount"))))) (define %sudoers-specification ;; Default /etc/sudoers contents: 'root' and all members of the 'wheel' diff --git a/gnu/system/examples/asus-c201.tmpl b/gnu/system/examples/asus-c201.tmpl index c08f85367f..6b6aa706fa 100644 --- a/gnu/system/examples/asus-c201.tmpl +++ b/gnu/system/examples/asus-c201.tmpl @@ -14,7 +14,7 @@ ;; "my-root" is the label of the target root file system. (bootloader (bootloader-configuration (bootloader depthcharge-bootloader) - (target "/dev/mmcblk0p1"))) + (targets '("/dev/mmcblk0p1")))) ;; The ASUS C201PA requires a very particular kernel to boot, ;; as well as the following arguments. diff --git a/gnu/system/examples/bare-bones.tmpl b/gnu/system/examples/bare-bones.tmpl index 1035ab1d60..387e4b12ba 100644 --- a/gnu/system/examples/bare-bones.tmpl +++ b/gnu/system/examples/bare-bones.tmpl @@ -15,7 +15,7 @@ ;; root file system. (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/sdX"))) + (targets '("/dev/sdX")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") diff --git a/gnu/system/examples/bare-hurd.tmpl b/gnu/system/examples/bare-hurd.tmpl index 135ed23cb6..f0dd0cf742 100644 --- a/gnu/system/examples/bare-hurd.tmpl +++ b/gnu/system/examples/bare-hurd.tmpl @@ -32,7 +32,7 @@ (inherit %hurd-default-operating-system) (bootloader (bootloader-configuration (bootloader grub-minimal-bootloader) - (target "/dev/sdX"))) + (targets '("/dev/sdX")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl index def05e807d..90dab62062 100644 --- a/gnu/system/examples/beaglebone-black.tmpl +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -14,7 +14,7 @@ ;; the label of the target root file system. (bootloader (bootloader-configuration (bootloader u-boot-beaglebone-black-bootloader) - (target "/dev/mmcblk1"))) + (targets '("/dev/mmcblk1")))) ;; This module is required to mount the SD card. (initrd-modules (cons "omap_hsmmc" %base-initrd-modules)) diff --git a/gnu/system/examples/desktop.tmpl b/gnu/system/examples/desktop.tmpl index 716b9feb8d..c928008c92 100644 --- a/gnu/system/examples/desktop.tmpl +++ b/gnu/system/examples/desktop.tmpl @@ -19,7 +19,7 @@ ;; Partition mounted on /boot/efi. (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) - (target "/boot/efi") + (targets '("/boot/efi")) (keyboard-layout keyboard-layout))) ;; Specify a mapped device for the encrypted root partition. diff --git a/gnu/system/examples/docker-image.tmpl b/gnu/system/examples/docker-image.tmpl index ca633cc838..bdc6afa6f0 100644 --- a/gnu/system/examples/docker-image.tmpl +++ b/gnu/system/examples/docker-image.tmpl @@ -35,7 +35,7 @@ ;; This will be ignored. (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "does-not-matter"))) + (targets '("does-not-matter")))) ;; This will be ignored, too. (file-systems (list (file-system (device "does-not-matter") diff --git a/gnu/system/examples/lightweight-desktop.tmpl b/gnu/system/examples/lightweight-desktop.tmpl index d5a63dc457..d4330ecc8e 100644 --- a/gnu/system/examples/lightweight-desktop.tmpl +++ b/gnu/system/examples/lightweight-desktop.tmpl @@ -16,7 +16,7 @@ ;; Partition mounted on /boot/efi. (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) - (target "/boot/efi"))) + (targets '("/boot/efi")))) ;; Assume the target root file system is labelled "my-root", ;; and the EFI System Partition has UUID 1234-ABCD. diff --git a/gnu/system/examples/vm-image.tmpl b/gnu/system/examples/vm-image.tmpl index 697019e877..a59d91587b 100644 --- a/gnu/system/examples/vm-image.tmpl +++ b/gnu/system/examples/vm-image.tmpl @@ -51,7 +51,7 @@ accounts.\x1b[0m ;; Adjust as needed. (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vda") + (targets '("/dev/vda")) (terminal-outputs '(console)))) (file-systems (cons (file-system (mount-point "/") diff --git a/gnu/system/examples/yggdrasil.tmpl b/gnu/system/examples/yggdrasil.tmpl index be80bf4de9..4d34f49b54 100644 --- a/gnu/system/examples/yggdrasil.tmpl +++ b/gnu/system/examples/yggdrasil.tmpl @@ -15,7 +15,7 @@ ;; root file system. (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/sdX"))) + (targets '("/dev/sdX")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") diff --git a/gnu/system/hurd.scm b/gnu/system/hurd.scm index 8f3a27834b..e976494d74 100644 --- a/gnu/system/hurd.scm +++ b/gnu/system/hurd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> ;;; ;;; This file is part of GNU Guix. @@ -39,6 +39,7 @@ #:use-module (gnu services hurd) #:use-module (gnu services shepherd) #:use-module (gnu system) + #:use-module (gnu system setuid) #:use-module (gnu system shadow) #:use-module (gnu system vm) #:export (%base-packages/hurd @@ -92,14 +93,15 @@ (define %setuid-programs/hurd ;; Default set of setuid-root programs. - (list (file-append shadow "/bin/passwd") - (file-append shadow "/bin/sg") - (file-append shadow "/bin/su") - (file-append shadow "/bin/newgrp") - (file-append shadow "/bin/newuidmap") - (file-append shadow "/bin/newgidmap") - (file-append sudo "/bin/sudo") - (file-append sudo "/bin/sudoedit"))) + (map file-like->setuid-program + (list (file-append shadow "/bin/passwd") + (file-append shadow "/bin/sg") + (file-append shadow "/bin/su") + (file-append shadow "/bin/newgrp") + (file-append shadow "/bin/newuidmap") + (file-append shadow "/bin/newgidmap") + (file-append sudo "/bin/sudo") + (file-append sudo "/bin/sudoedit")))) (define %hurd-default-operating-system (operating-system @@ -108,7 +110,7 @@ (hurd hurd) (bootloader (bootloader-configuration (bootloader grub-minimal-bootloader) - (target "/dev/vda"))) + (targets '("/dev/vda")))) (initrd #f) (initrd-modules (lambda _ '())) (firmware '()) diff --git a/gnu/system/images/hurd.scm b/gnu/system/images/hurd.scm index eac5b7f7e6..fc2dbe3209 100644 --- a/gnu/system/images/hurd.scm +++ b/gnu/system/images/hurd.scm @@ -42,7 +42,7 @@ (inherit %hurd-default-operating-system) (bootloader (bootloader-configuration (bootloader grub-minimal-bootloader) - (target "/dev/sdX"))) + (targets '("/dev/sdX")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") diff --git a/gnu/system/images/novena.scm b/gnu/system/images/novena.scm index 1cd724ff88..63227af509 100644 --- a/gnu/system/images/novena.scm +++ b/gnu/system/images/novena.scm @@ -39,7 +39,7 @@ (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-novena-bootloader) - (target "/dev/vda"))) + (targets '("/dev/vda")))) (initrd-modules '("sdhci-esdhc-imx" "ahci_imx" "i2c-dev")) ;(kernel linux-libre-arm-generic) (kernel-arguments '("console=ttymxc1,115200")) diff --git a/gnu/system/images/pine64.scm b/gnu/system/images/pine64.scm index 613acd5cfd..808c71295f 100644 --- a/gnu/system/images/pine64.scm +++ b/gnu/system/images/pine64.scm @@ -38,7 +38,7 @@ (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-pine64-lts-bootloader) - (target "/dev/vda"))) + (targets '("/dev/vda")))) (initrd-modules '()) (kernel linux-libre-arm64-generic) (file-systems (cons (file-system diff --git a/gnu/system/images/pinebook-pro.scm b/gnu/system/images/pinebook-pro.scm index b56a7ea409..b6b844cef6 100644 --- a/gnu/system/images/pinebook-pro.scm +++ b/gnu/system/images/pinebook-pro.scm @@ -38,7 +38,7 @@ (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-pinebook-pro-rk3399-bootloader) - (target "/dev/vda"))) + (targets '("/dev/vda")))) (initrd-modules '()) (kernel linux-libre-arm64-generic) (file-systems (cons (file-system @@ -49,7 +49,7 @@ (services (cons (service agetty-service-type (agetty-configuration (extra-options '("-L")) ; no carrier detect - (baud-rate "115200") + (baud-rate "1500000") (term "vt100") (tty "ttyS2"))) %base-services)))) diff --git a/gnu/system/images/rock64.scm b/gnu/system/images/rock64.scm index 3f193e8528..68d3742adc 100644 --- a/gnu/system/images/rock64.scm +++ b/gnu/system/images/rock64.scm @@ -39,7 +39,7 @@ (locale "en_US.utf8") (bootloader (bootloader-configuration (bootloader u-boot-rock64-rk3328-bootloader) - (target "/dev/sda"))) + (targets '("/dev/sda")))) (initrd-modules '()) (kernel linux-libre-arm64-generic) (file-systems (cons (file-system diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 7fa5c15324..7b394184ad 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -25,6 +25,7 @@ (define-module (gnu system install) #:use-module (gnu) #:use-module (gnu system) + #:use-module (gnu system setuid) #:use-module (gnu bootloader u-boot) #:use-module (guix gexp) #:use-module (guix store) @@ -453,7 +454,7 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m (name-service-switch %mdns-host-lookup-nss) (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/sda"))) + (targets '("/dev/sda")))) (label (string-append "GNU Guix installation " (package-version guix))) @@ -502,7 +503,8 @@ Access documentation at any time by pressing Alt-F2.\x1b[0m ;; We don't need setuid programs, except for 'passwd', which can be handy ;; if one is to allow remote SSH login to the machine being installed. - (setuid-programs (list (file-append shadow "/bin/passwd"))) + (setuid-programs (list (setuid-program + (program (file-append shadow "/bin/passwd"))))) (pam-services ;; Explicitly allow for empty passwords. @@ -528,7 +530,7 @@ operating-system's kernel-arguments (\"console=ttyS0\" or similar)." (bootloader (bootloader-configuration (bootloader (bootloader (inherit u-boot-bootloader) (package (make-u-boot-package board triplet)))) - (target bootloader-target))))) + (targets (list bootloader-target)))))) (define* (embedded-installation-os bootloader bootloader-target tty #:key (extra-modules '())) @@ -540,7 +542,7 @@ The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET." (inherit installation-os) (bootloader (bootloader-configuration (bootloader bootloader) - (target bootloader-target))) + (targets (list bootloader-target)))) (kernel linux-libre) (kernel-arguments (cons (string-append "console=" tty) diff --git a/gnu/system/pam.scm b/gnu/system/pam.scm index ad02586be8..a31daada59 100644 --- a/gnu/system/pam.scm +++ b/gnu/system/pam.scm @@ -27,6 +27,7 @@ #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module ((guix utils) #:select (%current-system)) + #:use-module (gnu packages linux) #:export (pam-service pam-service-name pam-service-account @@ -207,14 +208,16 @@ dumped in /etc/pam.d/NAME, where NAME is the name of SERVICE." (env (pam-entry ; to honor /etc/environment. (control "required") (module "pam_env.so")))) - (lambda* (name #:key allow-empty-passwords? (allow-root? #f) motd - login-uid?) + (lambda* (name #:key allow-empty-passwords? allow-root? motd + login-uid? gnupg?) "Return a standard Unix-style PAM service for NAME. When ALLOW-EMPTY-PASSWORDS? is true, allow empty passwords. When ALLOW-ROOT? is true, allow root to run the command without authentication. When MOTD is true, it should be a file-like object used as the message-of-the-day. When LOGIN-UID? is true, require the 'pam_loginuid' module; that module sets -/proc/self/loginuid, which the libc 'getlogin' function relies on." +/proc/self/loginuid, which the libc 'getlogin' function relies on. When +GNUPG? is true, require the 'pam_gnupg.so' module; that module hands over +the login password to 'gpg-agent'." ;; See <http://www.linux-pam.org/Linux-PAM-html/sag-configuration-example.html>. (pam-service (name name) @@ -229,7 +232,12 @@ When LOGIN-UID? is true, require the 'pam_loginuid' module; that module sets (control "required") (module "pam_unix.so") (arguments '("nullok"))) - unix)))) + unix)) + (if gnupg? + (list (pam-entry + (control "required") + (module (file-append pam-gnupg "/lib/security/pam_gnupg.so")))) + '()))) (password (list (pam-entry (control "required") (module "pam_unix.so") @@ -247,6 +255,11 @@ When LOGIN-UID? is true, require the 'pam_loginuid' module; that module sets (control "required") (module "pam_loginuid.so"))) '()) + ,@(if gnupg? + (list (pam-entry + (control "required") + (module (file-append pam-gnupg "/lib/security/pam_gnupg.so")))) + '()) ,env ,unix)))))) (define (rootok-pam-service command) diff --git a/gnu/system/setuid.scm b/gnu/system/setuid.scm new file mode 100644 index 0000000000..83111d932c --- /dev/null +++ b/gnu/system/setuid.scm @@ -0,0 +1,57 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu system setuid) + #:use-module (guix records) + #:export (setuid-program + setuid-program? + setuid-program-program + setuid-program-setuid? + setuid-program-setgid? + setuid-program-user + setuid-program-group + + file-like->setuid-program)) + +;;; Commentary: +;;; +;;; Data structures representing setuid/setgid programs. This is meant to be +;;; used both on the host side and at run time--e.g., in activation snippets. +;;; +;;; Code: + +(define-record-type* <setuid-program> + setuid-program make-setuid-program + setuid-program? + ;; Path to program to link with setuid permissions + (program setuid-program-program) ;file-like + ;; Whether to set user setuid bit + (setuid? setuid-program-setuid? ;boolean + (default #t)) + ;; Whether to set group setgid bit + (setgid? setuid-program-setgid? ;boolean + (default #f)) + ;; The user this should be set to (defaults to root) + (user setuid-program-user ;integer or string + (default 0)) + ;; Group we want to set this to (defaults to root) + (group setuid-program-group ;integer or string + (default 0))) + +(define (file-like->setuid-program program) + (setuid-program (program program))) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index da076a95f9..72b2656ccb 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org> -;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2016 Christine Lemmer-Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> @@ -630,7 +630,7 @@ environment with the store shared with the host. MAPPINGS is a list of (bootloader (bootloader-configuration (inherit (operating-system-bootloader os)) (bootloader grub-bootloader) - (target "/dev/vda"))) + (targets '("/dev/vda")))) (initrd (lambda (file-systems . rest) (apply (operating-system-initrd os) diff --git a/gnu/tests.scm b/gnu/tests.scm index eb636873a2..85f38ae8c9 100644 --- a/gnu/tests.scm +++ b/gnu/tests.scm @@ -222,7 +222,7 @@ the system under test." (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/sdX"))) + (targets '("/dev/sdX")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") diff --git a/gnu/tests/data/jami-dummy-account.dat b/gnu/tests/data/jami-dummy-account.dat new file mode 100644 index 0000000000..0e908396ca --- /dev/null +++ b/gnu/tests/data/jami-dummy-account.dat @@ -0,0 +1,392 @@ +;;; -*- mode: scheme; -*- +;;; JSON extracted from an actual Jami account and processed with +;;; Emacs/guile-json. +(define %jami-account-content-sexp + '(("RINGCAKEY" . "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQURBTkJna3F\ +oa2lHOXcwQkFRRUZBQVNDQ1Mwd2dna3BBZ0VBQW9JQ0FRQzBxWUozSkYvTzhQRGEKRnUwRnpRcHBCaD\ +gybGJMdURrNTlVU0I0MUJSaS9kdDZGV1BRN29YOVpsY25vNGZzM2dmUHQ0dU1hRVBkVFBGKwowbGN2Q\ +jc2cytQTEFlcjlOZGpVQzQ2ZXp0UnNiNE9aQXc4ZUk1M3EwSU04QWJFd0o0ZjllLzBmQUFueHgrK3Qw\ +CmZDeGV1YTBUaVBqVHBpZVJMNmpwQkd5UGI2Qk5pU2ViTkZCNzJOMTBnbzI4REVQYlhkNE9CNkN1blZ\ +5RGZKSU0KOC9PRy8rMndNamI4WkRwT3JrYy93U2ZHbnQyZXA3U0xKSkgwOFIzV1FKWklsSndrcGdLTH\ +FRakVwWFNpclN4dAozSkdtdXdBdE9LaXFFTXh1R043elV3ZlNINEtHdkRaUFNkZklZVXJ3eEp4aDJZZ\ +3lobG5RRC9SSnhRN3d4YlJBCjFhMUZVV0FzbDhLODk5cEtESk1GL09VOWZMRUx6QlViblpaRDRmSlg1\ +NmcyTlluUnJobS94NG9FbFk0MFNYMUUKcHYzb01hNnZrVGN5RjJnUFhKL2FkUVJoS0dFaGRjaHBpeDl\ +5UVphaDFCUFBGYW5jNzBMcjhOaDZJeHFNQ1hiMQozMG9vWHpWZmZNMVFOd28rL3hzRnBlRkRqUTAxQ0\ +9pdWZocitKREcyc0txb0o0V0JwYVhubWI1YXVrVWUvV1RKCjAxVmRyaEkvSVExd3V4QzNMMnpac3dVU\ +1NTaDk0aXg1M0hpU3pWbkI5UkxmaVhZUUVCcFEyNHVoRTdiYlo0bm0KZTczZC9zenpPTXMzYUt3OWtW\ +a2VLMTVtYWhSVWZjdEdhSVQxTkhGWUNYYXByaWExakdNdVpmSk1pSUtZUzNidQpMbUhZckF6dEptNDZ\ +0aHpjdnN3NHlhMnFoa2xUUlFJREFRQUJBb0lDQVFDaHZaUm85KzZ5aFhFTHZ6U3FXZHcxCkZGOERibG\ +hIMmhVWkNuV0kxMDM5SmdyRkxMczFSU1krSzg1aFZYMk9hV1VTNk44TmNCYzUyL1hrdFltS09HUFQKM\ +WZqMnE2M3pPcDNSSFdGNWVPMXhNeExRN3JZSDhqMGZZTFFTUytKemdwb3ZRVnJLSXkrb21JSSt3aUN6\ +R1laRApGQUM0ODJzL0J5MHdtRjVjdC9JTEdIeVY3ZXNVUlo1Vi9iL0ltQzUwQ1lDUWpQR2xBb3JkeUx\ +1MHp2NjZZUXc2CkQycTg0VHAyVUg3SExEVmhFNytUbDg4Q04xWll0VGtpSkthbkNpMFVmbStPKzJFM0\ +5HM01hajk1aDl2NktqYkoKUlkxeTNDRTVmQmkyUFNLbVVzRjN3SzdhbzJDRks5MTgybmlxL2FaNm5WO\ +Xc3NmVrRjhEOWUvS1pqUE5ZT0xkaApFczBSL2laV3RpbUx2RHdXQWNWNFNnSFFjNXJvNU9yOEFUS1ZK\ +VmlzZGFuWXkvdUhmVXZWN3U5cDVLK2E4SHU2CllabW13ZTh4bnF5M3V2M0VabE9LY20zTnZvWllVMnJ\ +HUUFQQW1sWWQ4WlRsZGxPa1JCSGxxYzllMmJuSnNTQW8KNUhhS0N3aDJsWmZpalVGNXFrMXNQcm1kN3\ +BlMld2VVV3QmVuSjJnS1ZoTE5VVGtHWmtTWGhzNlV3WWRRMjVtRQppQzl6WjhXNkQ2OXBvb0lsTTVXT\ +01ySEs0Rng1ck9vT05kUHQ4NEk1bTI3cnpnbXM4QnJXVUlGLytZZjJ0bGdmClBIR0V4c3ZCK3JRQk52\ +WHU3dXoxcVdFTlJTL2YwR2E3dVF4ZW5sZ2dubHc5M1pNOW1GWXpXb1RpdWFmdnphTnAKWEsrTEVrV2F\ +RYUs1Q0VaNEhmUlhBUUtDQVFFQTUyK240OUxQODlyQkR2bFdsTkxNanJqTDdSb0xyQ3FVZGpQWQpyT1\ +hZS3ZkTkxyS2NTc1hNdkY4YW5HQng1UG5oVDZGY05ic2dzQ3BUUXowMThZYmcrbUUxQno5ZTdFNTJGZ\ +i9NCk9BbWZqSllXUnZueUtiNnB3SGlvOHlXUXlVVk1zZU1CcmpvWk1kNkpPZEZ0K2JITHBWOS9iSkdR\ +a3NTRE04WTkKbWxGQUlUL0gyNTh1K1ZKTWsrT0prU28zZmJQSk5Ja1Q2WVBKVmNaSnZTRGI5QU83WDF\ +lendCOXVRL0FEblZ6YwpSQkJOUVZaTStZS2ZNWFJBdmFuWnlmWFFwaUxCQW8rRVRPSHJCR1dDRUhtSF\ +RCaEZIMTkyamtxNlcrTStvS0R1Cm1xMitMc2hZWTVFc2NpL2hPOVZjK2FCM0hhaGliME03M092MHFNc\ +WZoTncyU1BncHdRS0NBUUVBeDlaR1gxQnQKL3MwdGtNcGV1QWhlWjFqTklnZmFEY0RRTWlmU0k4QjRx\ +WUhiL1hOREQ5NjFQME9zMDdCN2wzNE1iZ3U2QlNwcwpXdSt0Y1hjSFlqQVJUc0Qzd0pSaVRIb0RSQzR\ +YYkxEa2pHRUVCVzRKbFVqZTA1QWZrU0QrdkZSMkJwZStxQlBLCm5yb3Mwd1BWL3RXa3MzY2VFOUlBTV\ +pWWDhQeFA3RVNXbitVZDJEWkZhcVFLb0JybHZXRXhxelpYUEJSVjhoS3QKcFBqWnFkZXFQLzhUZTBtS\ +zh5MEVreXVXOWhFdGZ2Sm5HWXhMNStrSG9xd2hQVk1tODZ5YlZNVHRQYWJTdCtPUwp0WHhJTE9RMWRN\ +QkFabzRxSnNkUUZJcTJnSHA5WFYwa2ZNUms1ajdJT1Q4c2Z6TlpKVkRNK1k5VHVlSGJXSnduCnZsWld\ +VZ2NVZTlBaWhRS0NBUUVBbFJaK2h1ckUvNGdLR2dWUld5bTRrTEJHM2dTTFJHdGhuQXVtSnlzaFoveE\ +wKZ2l1Wk55bll5L2hRQWpDMjdoUnlxb04rRFRid3hjdGVPOUJ3c1poNzBZOVJROHYwOERGVExMVE43O\ +E56UG5OcApBbXY5TGhzZTYxaFBMZU1qTkNVcVZPV3hyWFRMeWk1YkpCM2Z4SnhlWGJmNU5BMUpudUpz\ +eXF1SC82TWJ0cytKCmhkY3p3WFRjMCtBZVBKOS9nOENQZXdKYkMzRFVBQ2R1VlNHWHo4ZWZxcm1xbDd\ +jbnB5ZzBpK2pJRkNpVU8rVEcKVFcxeDg3KzUvUFF2MGtSQ0Z1UUloZ2ZCNkcwWW9vcHBrUWRZdXhKZl\ +pPaHdUUldpbTVMMlF5K294WWZySGVQOQozSlltbGFCMmJiN3kxL1FoQjcvek9VMk1nTEtYdHl4Z09ve\ +EpoQlFwZ1FLQ0FRQkIwSUE4dy9CMkNuMEhRcDhQClhUSTZOelRZRUYzd1NhQkg1SFdBOE5MTWdNaERJ\ +TUxsWnlPcVFrK1pLSGFMM2llWjFxTGRNS3VmQjNESC9idWcKeXRQb2JBVXNsN0lJSGVjVmZWaVpvMml\ +pRXhHUCtEMlB2UUFtRFVGWU90V3FrT2FPSlV2VmJ5ODhOM1NyeW9lZgo5aHpZUGxMWmxFQWNGR055S3\ +FibjJXOENHaU5LSWhXYW1Zd21UclY3T1pkeUcrTi9GZk40Vms1NkZyc1pCTDQ5CmRYU2xGZ045TTBaZ\ +WNleTEvZEpPRE9lSHNuME5VK0gvNFZEUk1hR1NmelpwSkxJOXE4T2FiSWpVM0ttb24wQTcKdzFWeWNU\ +L1FwYlBxRUFVckt5dytvMzV3MlAyaUZ1czZiMlBvUUxFTGFTRVl6K3R6UEw5UTM1ejNRdGdMQytuagp\ +IUmxCQW9JQkFES0Q4NGhrYkphczlIQ00zanNNSU9kb213ZEMvcktxVUxKNHFWZU5QR0xDY2VpNEdocn\ +dlQnNICnNoN0hibFlZSDN2U2Y3RW1iZEVCb2xlWVJsaUx5ZzJDQU1ZOGpNK0lpUEwydk1yM2Y3SzZPT\ +mU0UkVPUFJSZkcKWlJDcTh4a0ZPQlg1SUJUbkVCV3QzdVdyb1NGY2x4RTdUa2I4VkUyVzExTG9ZNlkw\ +TUNPaHdxN21xYXRUVnNrawpTRDNySmkrTFR6a2Y4OEx1bjZZNjdiaFNOTWpKZkFaUXNQc0FTRkJBUTJ\ +rQnE5alRLZGVuaU4yYTJIbm0xNCtrCnJDeU9ZVE14Q2hQbWNpS25pVy9MWnFUL0U1dlNRUGdBVzc0dT\ +VLazJoSjRBajNjRW9NVEwxSytZbStWYWh2U0cKTi8xOFdYQ1JRQkg1d0p2eXJYczBtT29GQlRnTWg4d\ +z0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=") + ("ringAccountKey" . "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRUUlCQURBTk\ +Jna3Foa2lHOXcwQkFRRUZBQVNDQ1Nzd2dna25BZ0VBQW9JQ0FRRDNCdDRnOUVUdk9EVnYKM3hWV0ZlS\ +1Nnbk5uVEF3S2dYa3IrQ1FhdU8vTGZWM01RenNSNHliL3hoaWhhb1Z2c2FtZ3ZRU1haL0M1R3I5QQpE\ +YlAxbHNHclRCK1pXMC9uMXVEb3hmVWdZRWY3SGtVanJtdVFjUGlFWGlUVkNiY002U0NzdVNrMnRxdE1\ +BNjBNClRacVo2LzAvbkEvblR5TnFNaUJNSmFRN0NUb2xOTTh2Z2tvd0tBRW14OGpJUG9YZEttMnd6MD\ +Z6SnhwU1d4WjUKc0FBTkdSSHU0b2ZXNWJiMERvamtnRzFBYUJ6Nm9uSmdKK1JFSWV1UkpNQWFHYmtzW\ +TQ4Z1Z1b21BVTU0UFNvUApFb3psVGdHd1k0cnhJTGE0V1Y0RVZMVExrR240ZTYrRUYrSjIvRURBUFdN\ +bXREdFpUeURCc2t5bStLaDRUT2xPCjdnN3JlUUhLdDd1R21YU0RnbzVKZ2hOOHNVRFUxL1Z2YmFFcUZ\ +tTDJrZWNGOVlVZmNsUWRGY1ZncmIrMkh5R3AKRVc0b3RkZjlYYzhOMWxrbGk1dFBqRGZuQ1U3OHB6QT\ +BxQmV1SWhZTnF1VjhGSm1NemhXeVFDbE1MUEFYbXFVdwpWYlY0MWduM0NkektuUlVhZXFONXlzOG5KQ\ +mRJNDBleWlYRUlvU0VKcFpyT1Z5ck1icnNCQzltaVFpZUFhSnlBClFvcjFaRGlwMkpZNUFza2phUGQ0\ +NGk0MGNkeFpob1RhNnpzako5UjZScllFYjhWTmZQemFLaElwSXJSd2NpbCsKWjFrbUUwSE1kY21ITXR\ +hbWZhK0l6WUR4dDV6OGVOZys1RGpVVG1MRkdyQUVWRW5hNDcxdllxYnk5UCs1T1cvNQpSdkxtUER2Tj\ +dlUURpTlZENlBYRFk5OTY4bTZaaHdJREFRQUJBb0lDQURjOEkrTCtlNE41OEFqcHV0MmEyeVNqCllxY\ +VFUSWowMW1GTWhOWXMwQUdTTUswQncyMkdleXZwNFl3R1EzdnNIOSsvSkEydXdoYkJzazNpUW9FQmlx\ +Q0EKenZmOWdPcDRFNlk0elV6RitwSmQvRnUwSG4wWHBab0Rhdnp2eFN4djNFeUN3b0puYWZuL1FHeGw\ +xZEhoQUtsKwpmZGZjekRCc3NPZ1Y2cGtBd1MyY2wwOHFOT2g3cVhaQWFkYk1sQ1lWM0owU1hhaVZiNz\ +lHZXNvTzNwUVBMUUZiClNjQjFjT2sxYnNxWkpOU244d0xmMis5QVBEdzMwWEtNNHg5eTdRTE42Q3oxQ\ +WpvcFJLQ0NIS3R1SEc4UmVETTIKcnRTbjJmTnltQ0VqeDZGVTB6MHFldDV3Y01UbU5weEZuYXdEMU5s\ +dFpnZXBsSllwTjVKZXNEUmo2cFlnWXBPKwo5UDU2cEdtZVNTVzVxcHRoWFFLQmFsdy8wWXp2YUlYdHp\ +hTnZyNUJzRFNrWkU3cldzODIvQmFzUE1RckFmOGpLClZFMU9pSzcrVllUVTRFVWVoZ0FZOXdzNjFqYk\ +lSSEpQbW9VQXpkWHcyL0d0Vk9JUTFwUFJnOXNYN0JaMmUyV1YKdmd5aThPUEJxRWtwblBiMkU5Z0d1U\ +25rY01OeWFVbUl0c3pFandadW14dnZrUW5HanlTb3pjY2R3dnNQNnBJagpoN0g5VUNQTHdOM0N5N1lp\ +UmliSlZBWlNjZkF6QzhubXNLODQrTzJUZHBzTXk0SEZDMmM4dlZiclpteTVkWC9qCk1ESnBzS25JWlZ\ +JMmpXSzRpRS82aUdIWVdoY3JvWnYvVEJ0YW1SQUxTWDVOYkhhWTI0bXVRSG5yMldtaytld3EKbHRGbC\ +90bXgyVkpWUitMZ0JCUGhBb0lCQVFENEI0MjQyVTgvbkJ4d2RzelhCdWxBOVFTa0I5Zktud0RlRkV3S\ +wp3Nks0eU14YVdRU04ycjRxRDhLcW93OVZVMzRYdkRWbFh0RUlDaVh3Q0hZdW5IL3g3cXNSdEVzbHJM\ +aWg4UHRPClpDSU8zUml4RmlIQXFlQUh2YXF0NVhXdndaREx6WnV2THRJOTdINkZ1QjYxck5qMnhxdlR\ +IN05pUmp2S0R0WXgKR1VtNURoQ094cm9tR0NkWHRnWHJGaS9WRU1TSmpQMkM3OTNrN1pTNmNZL0Nkc1\ +RqWEsrZ1UzeWM3OC9kN1pYbwpKMGg2WFlSdmhlQW9Bd2dkVTl4MWtYL2ZmY2tZK1hUcFRwV2xXWmtlU\ +ytsejBpQkRnUlJzMm45OFZDeTZDRmRZCldsZXZaZy9SWXZ6dzlKdWFVcXArOHpHbHNXR2xuOEhtZW5X\ +Q1luSHJnNFBxQnRkL0FvSUJBUUQrOXhDL1N5ZGIKVWZxMUJHYy95YktZc3RLb3A1azB0d3M0SlUwTzN\ +aT1U3MlZ5YTdLT2lTemdPSzVnL2QzckhMMXR2dHViTDBWNAo1dEF4a1AzSkVYbmxZZU5IVkpROTc2RH\ +NGS3Ztc0FGL2JJdVBsdFBRT1dyM3g1eW1RU3lCOTBUczV0dFdWMTVQCktYYVNnMTZidDhwNS9MeERkZ\ +ng2c1YzN1o5RDFRd21EQllreVFIcWQ4clljTm9ad1M5ZnI3UTZhN1ZNSDVtT3IKbEF5dzBCYVdZQk9k\ +bjFGd0pVV3NlRlpmTy9vNUVqZk9Hd0xMR1hiOEVmQ1hqdlRYcUNHLzNrT1JvN1NkOWY1eQowVjIxMmt\ +YVVNINHNDbFB0SmwzeHpaMWJxQ2RMVDNITWNLUTk5UGFFVFppQnNXQ1lOcXg1c0Q0RGhoMzdZQ2hKCm\ +hlN3VUM1E0MElINUFvSUJBREN1VXR1b0UweloyQjhld2grbUpKdnlPMEh5cENFSnlrTE1Xd3gxejNkV\ +E9nQzEKbmhZMWk4TjNxbTZSYUk0SHdDVHFkTlI3b3ExZ1NJZnZNVHIrem9IdXBUYnBXeUorM3hJeDJU\ +Rk9wL3lnMnByUApURHFqWE94SUJycnc0WU5vaTRIa3poeTVKTnl3a1RpdnBaOWsySVMvQTdTQmNWVGx\ +raENianVDK0pPRWthSTJOClpiWGFZY1p1WElVQ3FzcTM2c3RRbCtWZUxRQWt2VjlHc0wrclRnT09Dbz\ +UrTkdRZEVZQnVoRkMzZlJzL1JhSVoKOWFBRTBFL3BTTWp1a05tTnQ2Mm1NSk1tTUdydXhnWFRRblBRR\ +npNSW43aXB2Z0hxQjRsUDM4emdsbnMvbmZVcgo1NWRuZXk3ejhMRFFETHVIc0RHd3hINzNKQjgrTVR2\ +WGFVbkNwQU1DZ2dFQVNBSGxBL0dvdXR6TFRvWmcxcDRUClI1YnhjZHBycFh5d3VYbW5hclJmY3VldG9\ +nUVNtTGpiS0xRNVk0RXZSTENJTzA5MDNENGNnOG5FTU10L01XTXoKSnZwZll3emJGU2J4THR1anRQSX\ +VhaHR3eXV2UkJIVEM1aG5FL3h0WEE1bWZLTDBHWXpzbmtubm1WL2lzSnBSZwpwZFVnSW5sWEJodkRyR\ +FlreUsvWEp0N1FZWlhlUzI5NXlUd0krZndoamlzVVBlTWEyUmRUUE9rQ01JbUVaNUhZCjJHSmZjS25H\ +SkxDVHpDKzNPcGtQazdFRE4vTUlMS2F3YVUxaGp1cVlKWVVUVmpXQzFEM2VUL1ViWHptM0VQNHMKVEN\ +uYWpCYVMzN0N2YVd4ek5JektXZS9TSXdGbEFmYWNSTHlneUR4Z3Q3bHp1akVObEtvU2xya3h3ckpEND\ +Z2WAptUUtDQVFBcTVQWWxSQjgvNnFiWWt1OTA0NUZRdXk2QWtlYXBaMW0raS9SQzZtbFRvUXB6NDlPU\ +Gs4ZGx5YjVtCndvSVhpaEo2V05jN1RsWlRYMnpQTTRBS0M5VFNBUWJrWDg5bjEyU2VDSUlHbXVINnk0\ +TjZiY2lxZjVVcSsvc0IKcHJKeFRNYlRSUFpqS0VVd1N0SFg1MUQ1bi9sQnZERGY3Y2VEZytsYlE0RjR\ +KMTlPd09oZ1lGcjFheGQvNXd2VgpURjNoVlQwbFZGN2RyRC9iMHZOcmxnbUNjbEk4UDg1a2dkRUhZbG\ +ZtTFoxeXJIMkNXVy9SS0lsWk9ZdFVuNFNpCkp5a2VlNDROWElXU3ovalRBdFRta3VQTzRvUjF5d3dRc\ +jdhUTF5a3hRVm9rVm5vY2xqU0tyQlk4R294a0I0eDIKUDNrb3F1UnkvcUd3QzBnN1o4ZjBTQjNQZVZt\ +eQotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0tCg==") + ("ringAccountCert" . "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZXakNDQTBLZ\ +0F3SUJBZ0lJRm1tNmZuaWRndEl3RFFZSktvWklodmNOQVFFTUJRQXdUREVRTUE0R0ExVUUKQXhNSFNt\ +RnRhU0JEUVRFNE1EWUdDZ21TSm9tVDhpeGtBUUVUS0RjNVpqSTJaVFZpWTJNeU9EWXlPREppT0dFMwp\ +PRFF6TUdOak1EWXpNakV4T1RFNFkyWm1PVGd3SGhjTk1qRXdOREUyTVRjek1qRXdXaGNOTXpFd05ERT\ +BNVGN6Ck1qRXdXakJKTVEwd0N3WURWUVFERXdSS1lXMXBNVGd3TmdZS0NaSW1pWlB5TEdRQkFSTW9aa\ +k16TkRWbU1qYzMKTldSa1ptVXdOMkUwWWpCa09UVmtZV1ZoTVRFeFpERTFabUpqTVRFNU9UQ0NBaUl3\ +RFFZSktvWklodmNOQVFFQgpCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFQY0czaUQwUk84NE5XL2ZGVllWNHB\ +LQ2MyZE1EQXFCZVN2NEpCcTQ3OHQ5ClhjeERPeEhqSnYvR0dLRnFoVyt4cWFDOUJKZG44TGthdjBBTn\ +MvV1d3YXRNSDVsYlQrZlc0T2pGOVNCZ1Ivc2UKUlNPdWE1QncrSVJlSk5VSnR3enBJS3k1S1RhMnEwd\ +0RyUXhObXBuci9UK2NEK2RQSTJveUlFd2xwRHNKT2lVMAp6eStDU2pBb0FTYkh5TWcraGQwcWJiRFBU\ +ck1uR2xKYkZubXdBQTBaRWU3aWg5Ymx0dlFPaU9TQWJVQm9IUHFpCmNtQW41RVFoNjVFa3dCb1p1U3h\ +qanlCVzZpWUJUbmc5S2c4U2pPVk9BYkJqaXZFZ3RyaFpYZ1JVdE11UWFmaDcKcjRRWDRuYjhRTUE5WX\ +lhME8xbFBJTUd5VEtiNHFIaE02VTd1RHV0NUFjcTN1NGFaZElPQ2prbUNFM3l4UU5UWAo5Vzl0b1NvV\ +1l2YVI1d1gxaFI5eVZCMFZ4V0N0djdZZklha1JiaWkxMS8xZHp3M1dXU1dMbTArTU4rY0pUdnluCk1E\ +U29GNjRpRmcycTVYd1VtWXpPRmJKQUtVd3M4QmVhcFRCVnRYaldDZmNKM01xZEZScDZvM25Lenlja0Y\ +wamoKUjdLSmNRaWhJUW1sbXM1WEtzeHV1d0VMMmFKQ0o0Qm9uSUJDaXZWa09LbllsamtDeVNObzkzam\ +lMalJ4M0ZtRwpoTnJyT3lNbjFIcEd0Z1J2eFUxOC9Ob3FFaWtpdEhCeUtYNW5XU1lUUWN4MXlZY3kxc\ +Vo5cjRqTmdQRzNuUHg0CjJEN2tPTlJPWXNVYXNBUlVTZHJqdlc5aXB2TDAvN2s1Yi9sRzh1WThPODN0\ +NUFPSTFVUG85Y05qMzNyeWJwbUgKQWdNQkFBR2pRekJCTUIwR0ExVWREZ1FXQkJUek5GOG5kZDMrQjZ\ +TdzJWMnVvUkhSWDd3Um1UQVBCZ05WSFJNQgpBZjhFQlRBREFRSC9NQThHQTFVZER3RUIvd1FGQXdNSE\ +JnQXdEUVlKS29aSWh2Y05BUUVNQlFBRGdnSUJBRDMrCjlscFluMjZyeG5pekY2UkNvZFFFVmgvOVF2R\ +Wp1V3dHUWZqa3gxb3VlVjdDMzUyWnpIT2hWU3VGcG43TUxkVFcKamI2dWhMRkpoMWtlTDlYZ0pHalMy\ +V0UwdDlJUGp2UWx5UHIwRWJoWGRJNDJMYUR0NDk0dWQ2MEE0bWg0bW1zbwovcjY2NERKOWMwUjZBOUd\ +QZUJjWi9zekhMQjJ4VmM5M3hYNjVjcmNoVTFLMDBVK2ZZUWtHS0xidFFXeUZzdnlKCmRHdFRxamVlYV\ +VNeGt5dFFWNWFxVHJ1SG4vV3U2RWRZejYrZ0ViQXJHUURRK1J3QmMxMDNGcWRIU0xReWdEWHoKd0pNV\ +GhDREdBVmR6V2NCemJYL1JIZms5bTZzK01HblNJUFBrNG9FOUdFbGdQc2JUZ2FrTzc3aElUdzRxZXJi\ +TAp2M0tiaTVOeVZZVFNVa3hDb0VRSkIrWlZJT3BVNFhRdVAvNkZkWldBRk1LU0Jkd1JLcnRmT1hZT1E\ +xcVBvYU1uCjZPR1VGMU0rYWZ0dTNCMkNhZ2ZMaE5hbVBoSjdxWTNSMzJhK2VRVllvYWlESXZKMElIUH\ +FnQ0NuWXlIaVBHTjQKS3VvaE9IZFpXTkxOUXdIQTg3SDV5NEwrSGZISmdFZFppdWYrbTNMa3JJcnN5M\ +WFoUjgyaEpZVkhreHVyZVRDcQpIR2NJaUIvTHpkSG91WFVrWGNrNjRvWXVRQnM3ZE9KVEx6bGlibU8x\ +elRzVWRoc0d4dE9zc2lYWkFjUURmZHBnCjNHdFJ3UkRwd0ZtL2k5TC9UWjMzMjBwY0VZd21aN1dBSzJ\ +Ra3Z6eWZlelRGeXdLWmh3c0RQRkwycllzLzhXdWsKRk1sek5BVmRMTytTS1RxeGlkM0l1elFaQ0FwU0\ +5ybTJMY2ZVN2grWAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBV\ +EUtLS0tLQpNSUlGWFRDQ0EwV2dBd0lCQWdJSXV0T3MxUXBsSVRvd0RRWUpLb1pJaHZjTkFRRU1CUUF3\ +VERFUU1BNEdBMVVFCkF4TUhTbUZ0YVNCRFFURTRNRFlHQ2dtU0pvbVQ4aXhrQVFFVEtEYzVaakkyWlR\ +WaVkyTXlPRFl5T0RKaU9HRTMKT0RRek1HTmpNRFl6TWpFeE9URTRZMlptT1Rnd0hoY05NakV3TkRFMk\ +1UY3pNakExV2hjTk16RXdOREUwTVRjegpNakExV2pCTU1SQXdEZ1lEVlFRREV3ZEtZVzFwSUVOQk1UZ\ +3dOZ1lLQ1pJbWlaUHlMR1FCQVJNb056bG1NalpsCk5XSmpZekk0TmpJNE1tSTRZVGM0TkRNd1kyTXdO\ +ak15TVRFNU1UaGpabVk1T0RDQ0FpSXdEUVlKS29aSWh2Y04KQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0l\ +CQUxTcGduY2tYODd3OE5vVzdRWE5DbWtHSHphVnN1NE9UbjFSSUhqVQpGR0w5MjNvVlk5RHVoZjFtVn\ +llamgremVCOCszaTR4b1E5MU04WDdTVnk4SHZxejQ4c0I2djAxMk5RTGpwN08xCkd4dmc1a0REeDRqb\ +mVyUWd6d0JzVEFuaC8xNy9SOEFDZkhINzYzUjhMRjY1clJPSStOT21KNUV2cU9rRWJJOXYKb0UySko1\ +czBVSHZZM1hTQ2pid01ROXRkM2c0SG9LNmRYSU44a2d6ejg0Yi83YkF5TnZ4a09rNnVSei9CSjhhZQo\ +zWjZudElza2tmVHhIZFpBbGtpVW5DU21Bb3VwQ01TbGRLS3RMRzNja2FhN0FDMDRxS29Rekc0WTN2Tl\ +RCOUlmCmdvYThOazlKMThoaFN2REVuR0haaURLR1dkQVA5RW5GRHZERnRFRFZyVVZSWUN5WHdyejMya\ +29Na3dYODVUMTgKc1F2TUZSdWRsa1BoOGxmbnFEWTFpZEd1R2IvSGlnU1ZqalJKZlVTbS9lZ3hycStS\ +TnpJWGFBOWNuOXAxQkdFbwpZU0YxeUdtTEgzSkJscUhVRTg4VnFkenZRdXZ3Mkhvakdvd0pkdlhmU2l\ +oZk5WOTh6VkEzQ2o3L0d3V2w0VU9OCkRUVUk2SzUrR3Y0a01iYXdxcWduaFlHbHBlZVp2bHE2UlI3OV\ +pNblRWVjJ1RWo4aERYQzdFTGN2Yk5tekJSSkoKS0gzaUxIbmNlSkxOV2NIMUV0K0pkaEFRR2xEYmk2R\ +VR0dHRuaWVaN3ZkMyt6UE00eXpkb3JEMlJXUjRyWG1acQpGRlI5eTBab2hQVTBjVmdKZHFtdUpyV01Z\ +eTVsOGt5SWdwaExkdTR1WWRpc0RPMG1ianEySE55K3pEakpyYXFHClNWTkZBZ01CQUFHalF6QkJNQjB\ +HQTFVZERnUVdCQlI1OG01YnpDaGlncmluaERETUJqSVJrWXovbURBUEJnTlYKSFJNQkFmOEVCVEFEQV\ +FIL01BOEdBMVVkRHdFQi93UUZBd01IQmdBd0RRWUpLb1pJaHZjTkFRRU1CUUFEZ2dJQgpBRWFDblluY\ +m9yWmRhWWZRUmxSb0dtSE94T1g5VFdNMXY0dWEweCtFcG11RDVWRDVlWEY1QVZkMlZadEdaeHYvCkd2\ +VnFBU2l0UTk3ampKV2p2bURWTUZtb3hQSmRYWDFkYTd5cmJYeFRmYm1mM1pac1RpdmZVdWQxYThxdUN\ +3dTUKTnBrdHFjV0JyMHRnNzFhOXlidHJOdm1GczZGRE1WMXkrY2JxYlp1UWlDWnc0WmZhekFaeTRQRG\ +NocE9SNjRCSwpBWFZIT05HcWFoV2hwcDkwd2E0TFEwUTE1U3FDR25kYVI4SHg5MHJOeEdkRjM1T1BLU\ +jd1TDdrWDU4ZGxaWStDClJJK1pKMndYMzJUZzgrc1RtTmNaUTliWDdvS0t3R3E5Uk94SjZJSUhOSnN2\ +bXhaSnlPcmE2N21hNTd3OWxiQnUKSzJlQ3cwZjRDeHdLNU1LNStkbWx6R3dhZmJlMG00TTBvVjlhWUx\ +ZTzAwR3Iza05heW9PdjRRVGtEM2pCMzVSMQpDMGJnQmk2eU1sTVJ2akZ5eEZkOFJpL003VG1jcXNObT\ +B5aklqbkZaenVtMFZTR1NLMXlRU3Flak40S0Y2R0JMCllpZ2JpM3c4WG5HYm9pZGdBUE9ncVVJeTJ1d\ +EU1MllzVXFsVHVncXhtM2xDOUhzaDM2UFJLNURDUG93eHVUNlgKcXo1M1ZiN2h6TkxLelpiRlJzbUdF\ +OFY2cWM2bXZTbUFXa25nL3QwaStXVmdGVkZuZFQrQ0oyNTJsa0ZacGljdAp6ekdETW44VUNDRUp4TDR\ +KTklTM2lLOUhlRys2MlZuay9QOEM3YVpLSXpVdjFud25rcVdUUUFYWDBKckJGdDdICjI5ZDk1RElmRT\ +RuT0FyS0JFNHc2Z1R4SU1uZzVzWi9ZbDFjcG5wUHlsR3VICi0tLS0tRU5EIENFUlRJRklDQVRFLS0tL\ +S0K") + ("ethKey" . "fN8cOT1lYNziaW0+pjBIgZ8r6+zMMhHsukkWBNPDsFo=") + ("TURN.username" . "ring") + ("TURN.server" . "turn.jami.net") + ("TURN.realm" . "ring") + ("TURN.password" . "ring") + ("TURN.enable" . "true") + ("TLS.verifyServer" . "true") + ("TLS.verifyClient" . "true") + ("TLS.serverName" . "") + ("TLS.requireClientCertificate" . "true") + ("TLS.privateKeyFile" . "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUpRd0lCQU\ +RBTkJna3Foa2lHOXcwQkFRRUZBQVNDQ1Mwd2dna3BBZ0VBQW9JQ0FRQzM5b1Z0cXNtUGdaSUgKcHpTV\ +GtlT3BlWC9CSEx2KzFTYnJPSFpVRHEwNFZCUU5BNmJmSFNSWTJpbHE1WEVheXNVSmwzQmsvM0txZEhS\ +cQpEV01wQ1dpcE1Vc2FwSGxJR0tSWHEwbXhQZ29WODZSUVBub1dCRTdhWVVEZTlJZXlxMmllZXpDK1l\ +YSnBtWTljCk5tblpaMFlHOHJGMEVpWFA0SHpVWGphZklTKzdKTTJ5ZTZyUlpINXBvdHBQNmV4NXhqVU\ +VuNEFFdWhuWGJ6U0EKNnZMaC9wYnhIUVBHMVlmNHFhcU9TY1lXV0ZWaE5ySVBCVFJNZ2RaTWRGRTh0W\ +VFyaUNkNTV4dUhrYncrQmY1VQpmVENqN25tVEcybDJNbGcrSXBHVkFXUFRWNkl0NFNiS3VadW5MZmRD\ +S2FrSU03SnA3V2dJWjZNRHdkaFFQWjJNClJPQzN0b0c1ajh4aFZOU0Q5QlZiOGZBcnRmeHdldlliQk1\ +yOEdRV2JQYlRKYk9tZHZnUGRGcXNTb1F4QnRUcWQKSG1TMG53RjJ4UGZrdm1Cd3BSWWhHNHpuZlVtMl\ +BQcDBIK1g5Sk96d0R1QWI5K0c0cWZtK3Z6bDd1N0o3anJ0TQpHQlJlSlREdGFNd2RHa0lmcUNRZGREZ\ +HFpM1hzVHVVOVNubVN4NkdxT2V6ZU04bk55dmtZWjR2Uk9vODFzU1JjCjQ4L3pZZjJ1OFBJUm4vVy9x\ +Zk9hbjVIbkcxeFNBUDZkcHAzQ1Y0YTgwUFduZyszcXQ4NW5Ha2k2Nk00NUlnRjgKNHZwRGUyM2YyZnp\ +rTk5OOTk1VTBvUStKVGg5eG1HaWJmenlCaXk5d3RUVHVYWDB3Y3gwTm9wNjdYaFFDVVBGSApybVd6Wj\ +V5bXhEdkRhcUN1U3NwcG0vTkRVRWQyc1FJREFRQUJBb0lDQUYyWXo4bzhXdERvMjZPSkx2Ym1BeTcyC\ +jRra2VsWWZTYXpyQ1AzSUZCWnpqS2xCMHl6STVZWVRUZXI4b2ZhTmtCMXdaOE5WeUlxVVhHeVBhSzls\ +MU1BcmwKU1pFRW5iQlEyVXpCbVh6VVU4MVhhUUpxeHpMc2ZqSWR5U09teG1QaFVobFFGRHpJMTYxaXM\ +4MzI0V1A3WjJXaApsU2U1RkFQdjg1TVpYREVhY1c2R0N5SUVTYVMvdkpHQ2loQ2VzL0pCSmpoejdtNT\ +VRU3liSjl0dnJxUE5KSDhJCmhDTm1BUWhEU3NPYVJXNlpBdGV6UEdUb0FQUHNHMXhLMGdwUlVDM1YyR\ +C90bGRRa0VlSjhxaW5TaUN6ZjZIc3cKTnpncjVUbTMzTm96R3Rjc2Z4ZFl0cVB1UzRPRG40bktLSFpE\ +MTBLTng2Qi9HakdQTHIra21jUUVSMUV4U2s2QwpSemtzSTRzRml6VnVLYTFNK2ZqaVNVc3RTdHV1cTJ\ +QQTJJNzFNTTZlMHJmU3ZKM3VESEJYOWY5T1RFaGxZUFBkCnB1VWM2ek1pdEJKRTg2SFo1M08wR0MzdG\ +p1M1BnSnhmWnJyMHBCU20rSzQ3ajVTUFNkaytiVGh3UDZDZDhzWGUKNmljS3YvMXI0SjVqd1pFTmRna\ +2hKeHVuMkE1WVA0c0NBU21JSFFXWmU1cGdFQ0ljUXBHZjNBVllVdVpGeXZ6cApLL3VBRTc0L3NMK0VU\ +UnhDUlhkN0ZJM2cwZFVySTA2WUFIV1FkY1JpdWpIUU12ZXB3V2RrdUdkaE9wV3VRTy9oCjc0MGgvRlZ\ +0dFdOMjc3ajhhc3ptSDA3T2lRWFIwTU1mN2FEaldMaElMYkd2YkV4TzN0TnRBYXZ6cGxmMUNSNk8KUm\ +1nNDdhVTZpR3lON1MwTE85RUJBb0lCQVFEWWMwelh2UmJHTWxkVVZnOFFTT1ZHKzV4NXVocTVyQ2xtQ\ +lp2ZApvYitWS1hkMXBONThraWkxTFBiYUJmZG9JcWVUamdOK0E0YnVpT3RGNjdCWUdISkp0WTk4ZWR5\ +RkpZREtCSzIyCmthRml2eWVuV01UWG5jaHMvUmNXMnVGS1M3cFAyNDRXYkF2clQxZGxmTTF3L1JzbTZ\ +QVjF1dndPSmNJcEdLSzgKWWgyN2hiaThUbEF6bnJCSS9TbGZwNlpxV3Y0MFRLanNNdmVGVFNWRU5yd1\ +F2MVl4TjcxbjA1UWRVUkIrT0lJSQpPenpNMWpNcm43cjNmS3RKTEx0RllEdUhJZzJDL2E0cUZORmpjM\ +296V1laQkhlcDkrWlEyOTgxdy96VTJIZ0oxCkxiajZjMy9qQU5EakI3MnRkcWMxVUkvMWhwVUh2WDJz\ +emY2czM0L3VSY3RlaFgxWEFvSUJBUURaazVaT01RdVMKNzlVQkhCeTRFbFR2cVkvUUxjMUd1aG9LVXE\ +0dzhONEtJZlpMSDk5TTcwek9JWjNoaEdaYWJDREZHN3RqSDl4Vwo3UnhXVWt5cFRDK1h5TTc1YjF0YW\ +9jRVVyZ1hnUnE4R1JFRXg3OUtwWUE3ei95TVc1OHJCTWhHTWlGZ1JTM00zCmNQSzg2dHBvaTFDN2crd\ +lUxcjJwcDEzN0habzZiUHpKTFRPNXA1OG1tTFRPQVpKd1VSZ3pzZWJnc1dsWXZlR0wKZWNBZ3lYbUtt\ +WmVSeGRNUFlCK0NmMno1TWZ5Ujk4MHRVSDJPaitGQjlJNExzRTExREphZ2wwS1lHMWxKRTBFagpodEV\ +1cTFOTG9DcVkzYXVKYjhtRUpqNlA2Ylc2SytCZTBlUi9CS1MraGxxb3VOYWEySnlhSDc4Qis2U1VZWE\ +RuCnd6MityWUhVZEI4M0FvSUJBRFlXc2ZnaloyS0Z4KzdxUm45aVIvRXlCUXNpSjNXSWdSdmVnUEdrY\ +nRTZWRSeXYKNDIwcnRRSjVSd0o2aFRXL216S3pSVW9qSlgvTU5VYld1ODEzNW05bThJRkJqb3F6TVhq\ +S0xJSzM1NlZlY1ZGUApUSGs1RTVHd3VTbGI3dnA2N0FieXJaSUswL3VzYXdHUWEySTF6YWd1aE5BenR\ +yTHVXcE9jZFdZditwQVd2WEJJCi9aKzRvd0xLU0tGL3FvVmZVYkRPQzFSaTlCbWFpcHArTndiVVdYeV\ +pHanFzMDVGejVYUTFPTUZIMUV5M3BqZmIKaFlRODRpeTZBZDQzU3dqY3lKV1lRUUtCQzBZWDRFeWVyW\ +Dd1TTkvaEUxbWRHUGlJdmNwVk8zWCt3Ly9LQndZNQorUGtTd1NKc3lTSDRqTkRsSGE2K2VuNUpSNy81\ +YWVVNENiY0lFcWNDZ2dFQkFLelMvNnhDWnZnalN5V2poK2hxCm4wN3plQW1icUJmTEVZNHJtTFBGVUF\ +ucWFqSElNbDV4SXFnRnFkd05pQ1BCQ2RLbnNaUU9KYjVpZjRUTndKa2wKckJRNzdMUFRVVlJQY2dnVU\ +p4Uzc4S0Rnckl5Vys5V1FPTEIxZEJEb3MzUDhhbFlmb3h5eHV1Wko4SFpCY3BWaQpQQkdHdTFnSDd3V\ +0lyUzBmbVhkWlJQNGp5cGRvM3hFUWNXWEZkK1dCZE9EektmcEcwZkFzZTdDSFdDWnpBdmttCkFYQklH\ +OXQxdGZHNWQvMEZTS05GbTVPb0FPT3h3L0xZNTgrL0RmZXd0U0VBcFdRZkxTL1BmSWxVdUdvQ3FwcEM\ +Kc2pOVXVNSGxxc011Z2JsY29mNHNoZityWjMzQldYOEJSNWdIb21mRE1ibDNDQWp5TXd1dHpybzVxcD\ +BBUTBWWApxOGNDZ2dFQkFLakFXVVRYY1F2TE8yYkxOZmJBTUlSVXk1T2lTZmJCbDNYRThSZnNzaUt2V\ +VBnTFcwSlV1V3FLCjdGdUFxTlJPRHhrS0pMSTdyQlo2YVNqNitFWHpUMnJwY2dFWktnSjFOUEFRdFNs\ +UjNJUkcyU3JJdjBFK3UzbkUKK1laa3pOa2Q0MUJqTkRjRm1HV21lZk5ROUJmaVIrZlZFSkZmcE5oSkl\ +mNUloSWU0RUtZUE5VUXNua0tSVTlxUApzWi9idXBXc2w4bWVFcko3bllJQ05ucHpnSHRpNXdSMlliVF\ +VXT01odmRFUldxMnhTV3BBYmtNMElhZDBUc05kCmUrYVRQVmJOMXFibFZLMm1qUTl2YS9JSkVuSE51V\ +E9TREtJeUpvcVArQkxiRTVjQU5acXQ2OFFadWdOc2RxNHkKV2FoeStydU5LS1F3Mk5MYzQzZUtsNmxv\ +bXdtRlFZOD0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQo=") + ("TLS.password" . "") + ("TLS.negotiationTimeoutSec" . "-1") + ("TLS.method" . "Automatic") + ("TLS.ciphers" . "") + ("TLS.certificateFile" . "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZHVENDQ\ +XdHZ0F3SUJBZ0lJU1pUdlZPQnh3akF3RFFZSktvWklodmNOQVFFTUJRQXdTVEVOTUFzR0ExVUUKQXhN\ +RVNtRnRhVEU0TURZR0NnbVNKb21UOGl4a0FRRVRLR1l6TXpRMVpqSTNOelZrWkdabE1EZGhOR0l3WkR\ +rMQpaR0ZsWVRFeE1XUXhOV1ppWXpFeE9Ua3dIaGNOTWpFd05ERTJNVGN6TWpFd1doY05NekV3TkRFME\ +1UY3pNakV3CldqQlFNUlF3RWdZRFZRUURFd3RLWVcxcElHUmxkbWxqWlRFNE1EWUdDZ21TSm9tVDhpe\ +GtBUUVUS0dFM09XTmwKTURVNE16VmhPRFV5WlRsbU5qWmxOelF3TURjeU5EUXdPVFZpTVdaa1kyVXdO\ +bVV3Z2dJaU1BMEdDU3FHU0liMwpEUUVCQVFVQUE0SUNEd0F3Z2dJS0FvSUNBUUMzOW9WdHFzbVBnWkl\ +IcHpTVGtlT3BlWC9CSEx2KzFTYnJPSFpVCkRxMDRWQlFOQTZiZkhTUlkyaWxxNVhFYXlzVUpsM0JrLz\ +NLcWRIUnFEV01wQ1dpcE1Vc2FwSGxJR0tSWHEwbXgKUGdvVjg2UlFQbm9XQkU3YVlVRGU5SWV5cTJpZ\ +WV6QytZWEpwbVk5Y05tblpaMFlHOHJGMEVpWFA0SHpVWGphZgpJUys3Sk0yeWU2clJaSDVwb3RwUDZl\ +eDV4alVFbjRBRXVoblhielNBNnZMaC9wYnhIUVBHMVlmNHFhcU9TY1lXCldGVmhOcklQQlRSTWdkWk1\ +kRkU4dFlRcmlDZDU1eHVIa2J3K0JmNVVmVENqN25tVEcybDJNbGcrSXBHVkFXUFQKVjZJdDRTYkt1Wn\ +VuTGZkQ0tha0lNN0pwN1dnSVo2TUR3ZGhRUFoyTVJPQzN0b0c1ajh4aFZOU0Q5QlZiOGZBcgp0Znh3Z\ +XZZYkJNcjhHUVdiUGJUSmJPbWR2Z1BkRnFzU29ReEJ0VHFkSG1TMG53RjJ4UGZrdm1Cd3BSWWhHNHpu\ +CmZVbTJQUHAwSCtYOUpPendEdUFiOStHNHFmbSt2emw3dTdKN2pydE1HQlJlSlREdGFNd2RHa0lmcUN\ +RZGREZHEKaTNYc1R1VTlTbm1TeDZHcU9lemVNOG5OeXZrWVo0dlJPbzgxc1NSYzQ4L3pZZjJ1OFBJUm\ +4vVy9xZk9hbjVIbgpHMXhTQVA2ZHBwM0NWNGE4MFBXbmcrM3F0ODVuR2tpNjZNNDVJZ0Y4NHZwRGUyM\ +2YyZnprTk5OOTk1VTBvUStKClRoOXhtR2liZnp5Qml5OXd0VFR1WFgwd2N4ME5vcDY3WGhRQ1VQRkhy\ +bVd6WjV5bXhEdkRhcUN1U3NwcG0vTkQKVUVkMnNRSURBUUFCTUEwR0NTcUdTSWIzRFFFQkRBVUFBNEl\ +DQVFCZmRCc0p4RVVWeFRBeG5vNll1bEFoR1ZvUAplWG8xMHIwOE5DcDZRZlJxeGJlTkZ5aXEvKzEwSE\ +NpL1RoZk41OVdLNlpudFF4NlFNZUxEUVZTb0NjNzlaaWQ4ClE2RUdsWkp1c2RTTmg0VjVteXRCQVZHZ\ +2J2aXJFWU1Wcm5jWWg3bHR2LzVuSGRsbyt2WXV3Vzh0aEhHTk1TUkIKQmhJN2xydmpqY3NkbVl6L1Bp\ +NFNZdkg3c3RaVWpRYmUzNzh3UE90b3lBMTNybEtQUTF4QjJFbUxISDYya21WTQowa25wL1hQQ2o2alR\ +zakpFWko1NzZNMmloYy9DTzkvREVlWWZ4RFlJb004NEF5dTc0UU9UUVN1cnVHRjF5T1RKCmlxRkltTH\ +hMcWRxNk1Zdmx1QjFmTzlKaU9QaS84UEJFTTVpeGYzajlGOFVMQTZUTU1NSklFR1ROeUNzOWpzQloKR\ +UNiWVgweTY4WWtGYnYzQmNWaGk2K1VVWVhBVUd0akhwQ3Z2VThYaHowL0RVZFVaTkpqejRJeWl1ZE5N\ +dnFjQgppSEJDdkxFS1B4VFd1ZlFZaGM5ZkVXTm1valc1WSsvalBVeDcrQWxPM1RXZm1OclBpWDJuSEd\ +5UG5tYjZIR2hWCmp3UU0wT1h4cGxnZ2dQMWpVZ0VYWWRucStjYzdRMy94RFIvdi9Fd244T1d4OVB3eV\ +Y0WFZwZXY5QnpmeWwyQTMKdFhWVkFKMzJtcTlPQmVadXczdWlWU2E2TWdCVG80eXcrYnBjU2VIU2xXO\ +XNRc1NYY3dUNjhvOUdhR2hMNjdXMApwQWx4R2VxSWRtbTZ0MkxIUCtQQnBtL3BweTMvTmh1NFIwMTNv\ +Znp5V2Y0bEcrVnpWVGE0eXVqU1J3UlluYmZyCjlSWER0L0I5VEg5TnNsamdBQT09Ci0tLS0tRU5EIEN\ +FUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZXakNDQTBLZ0F3SU\ +JBZ0lJRm1tNmZuaWRndEl3RFFZSktvWklodmNOQVFFTUJRQXdUREVRTUE0R0ExVUUKQXhNSFNtRnRhU\ +0JEUVRFNE1EWUdDZ21TSm9tVDhpeGtBUUVUS0RjNVpqSTJaVFZpWTJNeU9EWXlPREppT0dFMwpPRFF6\ +TUdOak1EWXpNakV4T1RFNFkyWm1PVGd3SGhjTk1qRXdOREUyTVRjek1qRXdXaGNOTXpFd05ERTBNVGN\ +6Ck1qRXdXakJKTVEwd0N3WURWUVFERXdSS1lXMXBNVGd3TmdZS0NaSW1pWlB5TEdRQkFSTW9aak16Tk\ +RWbU1qYzMKTldSa1ptVXdOMkUwWWpCa09UVmtZV1ZoTVRFeFpERTFabUpqTVRFNU9UQ0NBaUl3RFFZS\ +ktvWklodmNOQVFFQgpCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFQY0czaUQwUk84NE5XL2ZGVllWNHBLQ2My\ +ZE1EQXFCZVN2NEpCcTQ3OHQ5ClhjeERPeEhqSnYvR0dLRnFoVyt4cWFDOUJKZG44TGthdjBBTnMvV1d\ +3YXRNSDVsYlQrZlc0T2pGOVNCZ1Ivc2UKUlNPdWE1QncrSVJlSk5VSnR3enBJS3k1S1RhMnEwd0RyUX\ +hObXBuci9UK2NEK2RQSTJveUlFd2xwRHNKT2lVMAp6eStDU2pBb0FTYkh5TWcraGQwcWJiRFBUck1uR\ +2xKYkZubXdBQTBaRWU3aWg5Ymx0dlFPaU9TQWJVQm9IUHFpCmNtQW41RVFoNjVFa3dCb1p1U3hqanlC\ +VzZpWUJUbmc5S2c4U2pPVk9BYkJqaXZFZ3RyaFpYZ1JVdE11UWFmaDcKcjRRWDRuYjhRTUE5WXlhME8\ +xbFBJTUd5VEtiNHFIaE02VTd1RHV0NUFjcTN1NGFaZElPQ2prbUNFM3l4UU5UWAo5Vzl0b1NvV1l2YV\ +I1d1gxaFI5eVZCMFZ4V0N0djdZZklha1JiaWkxMS8xZHp3M1dXU1dMbTArTU4rY0pUdnluCk1EU29GN\ +jRpRmcycTVYd1VtWXpPRmJKQUtVd3M4QmVhcFRCVnRYaldDZmNKM01xZEZScDZvM25Lenlja0YwamoK\ +UjdLSmNRaWhJUW1sbXM1WEtzeHV1d0VMMmFKQ0o0Qm9uSUJDaXZWa09LbllsamtDeVNObzkzamlMalJ\ +4M0ZtRwpoTnJyT3lNbjFIcEd0Z1J2eFUxOC9Ob3FFaWtpdEhCeUtYNW5XU1lUUWN4MXlZY3kxcVo5cj\ +RqTmdQRzNuUHg0CjJEN2tPTlJPWXNVYXNBUlVTZHJqdlc5aXB2TDAvN2s1Yi9sRzh1WThPODN0NUFPS\ +TFVUG85Y05qMzNyeWJwbUgKQWdNQkFBR2pRekJCTUIwR0ExVWREZ1FXQkJUek5GOG5kZDMrQjZTdzJW\ +MnVvUkhSWDd3Um1UQVBCZ05WSFJNQgpBZjhFQlRBREFRSC9NQThHQTFVZER3RUIvd1FGQXdNSEJnQXd\ +EUVlKS29aSWh2Y05BUUVNQlFBRGdnSUJBRDMrCjlscFluMjZyeG5pekY2UkNvZFFFVmgvOVF2RWp1V3\ +dHUWZqa3gxb3VlVjdDMzUyWnpIT2hWU3VGcG43TUxkVFcKamI2dWhMRkpoMWtlTDlYZ0pHalMyV0Uwd\ +DlJUGp2UWx5UHIwRWJoWGRJNDJMYUR0NDk0dWQ2MEE0bWg0bW1zbwovcjY2NERKOWMwUjZBOUdQZUJj\ +Wi9zekhMQjJ4VmM5M3hYNjVjcmNoVTFLMDBVK2ZZUWtHS0xidFFXeUZzdnlKCmRHdFRxamVlYVVNeGt\ +5dFFWNWFxVHJ1SG4vV3U2RWRZejYrZ0ViQXJHUURRK1J3QmMxMDNGcWRIU0xReWdEWHoKd0pNVGhDRE\ +dBVmR6V2NCemJYL1JIZms5bTZzK01HblNJUFBrNG9FOUdFbGdQc2JUZ2FrTzc3aElUdzRxZXJiTAp2M\ +0tiaTVOeVZZVFNVa3hDb0VRSkIrWlZJT3BVNFhRdVAvNkZkWldBRk1LU0Jkd1JLcnRmT1hZT1ExcVBv\ +YU1uCjZPR1VGMU0rYWZ0dTNCMkNhZ2ZMaE5hbVBoSjdxWTNSMzJhK2VRVllvYWlESXZKMElIUHFnQ0N\ +uWXlIaVBHTjQKS3VvaE9IZFpXTkxOUXdIQTg3SDV5NEwrSGZISmdFZFppdWYrbTNMa3JJcnN5MWFoUj\ +gyaEpZVkhreHVyZVRDcQpIR2NJaUIvTHpkSG91WFVrWGNrNjRvWXVRQnM3ZE9KVEx6bGlibU8xelRzV\ +WRoc0d4dE9zc2lYWkFjUURmZHBnCjNHdFJ3UkRwd0ZtL2k5TC9UWjMzMjBwY0VZd21aN1dBSzJRa3Z6\ +eWZlelRGeXdLWmh3c0RQRkwycllzLzhXdWsKRk1sek5BVmRMTytTS1RxeGlkM0l1elFaQ0FwU05ybTJ\ +MY2ZVN2grWAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCi0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS\ +0tLQpNSUlGWFRDQ0EwV2dBd0lCQWdJSXV0T3MxUXBsSVRvd0RRWUpLb1pJaHZjTkFRRU1CUUF3VERFU\ +U1BNEdBMVVFCkF4TUhTbUZ0YVNCRFFURTRNRFlHQ2dtU0pvbVQ4aXhrQVFFVEtEYzVaakkyWlRWaVky\ +TXlPRFl5T0RKaU9HRTMKT0RRek1HTmpNRFl6TWpFeE9URTRZMlptT1Rnd0hoY05NakV3TkRFMk1UY3p\ +NakExV2hjTk16RXdOREUwTVRjegpNakExV2pCTU1SQXdEZ1lEVlFRREV3ZEtZVzFwSUVOQk1UZ3dOZ1\ +lLQ1pJbWlaUHlMR1FCQVJNb056bG1NalpsCk5XSmpZekk0TmpJNE1tSTRZVGM0TkRNd1kyTXdOak15T\ +VRFNU1UaGpabVk1T0RDQ0FpSXdEUVlKS29aSWh2Y04KQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxT\ +cGduY2tYODd3OE5vVzdRWE5DbWtHSHphVnN1NE9UbjFSSUhqVQpGR0w5MjNvVlk5RHVoZjFtVnllamg\ +remVCOCszaTR4b1E5MU04WDdTVnk4SHZxejQ4c0I2djAxMk5RTGpwN08xCkd4dmc1a0REeDRqbmVyUW\ +d6d0JzVEFuaC8xNy9SOEFDZkhINzYzUjhMRjY1clJPSStOT21KNUV2cU9rRWJJOXYKb0UySko1czBVS\ +HZZM1hTQ2pid01ROXRkM2c0SG9LNmRYSU44a2d6ejg0Yi83YkF5TnZ4a09rNnVSei9CSjhhZQozWjZu\ +dElza2tmVHhIZFpBbGtpVW5DU21Bb3VwQ01TbGRLS3RMRzNja2FhN0FDMDRxS29Rekc0WTN2TlRCOUl\ +mCmdvYThOazlKMThoaFN2REVuR0haaURLR1dkQVA5RW5GRHZERnRFRFZyVVZSWUN5WHdyejMya29Na3\ +dYODVUMTgKc1F2TUZSdWRsa1BoOGxmbnFEWTFpZEd1R2IvSGlnU1ZqalJKZlVTbS9lZ3hycStSTnpJW\ +GFBOWNuOXAxQkdFbwpZU0YxeUdtTEgzSkJscUhVRTg4VnFkenZRdXZ3Mkhvakdvd0pkdlhmU2loZk5W\ +OTh6VkEzQ2o3L0d3V2w0VU9OCkRUVUk2SzUrR3Y0a01iYXdxcWduaFlHbHBlZVp2bHE2UlI3OVpNblR\ +WVjJ1RWo4aERYQzdFTGN2Yk5tekJSSkoKS0gzaUxIbmNlSkxOV2NIMUV0K0pkaEFRR2xEYmk2RVR0dH\ +RuaWVaN3ZkMyt6UE00eXpkb3JEMlJXUjRyWG1acQpGRlI5eTBab2hQVTBjVmdKZHFtdUpyV01ZeTVsO\ +Gt5SWdwaExkdTR1WWRpc0RPMG1ianEySE55K3pEakpyYXFHClNWTkZBZ01CQUFHalF6QkJNQjBHQTFV\ +ZERnUVdCQlI1OG01YnpDaGlncmluaERETUJqSVJrWXovbURBUEJnTlYKSFJNQkFmOEVCVEFEQVFIL01\ +BOEdBMVVkRHdFQi93UUZBd01IQmdBd0RRWUpLb1pJaHZjTkFRRU1CUUFEZ2dJQgpBRWFDblluYm9yWm\ +RhWWZRUmxSb0dtSE94T1g5VFdNMXY0dWEweCtFcG11RDVWRDVlWEY1QVZkMlZadEdaeHYvCkd2VnFBU\ +2l0UTk3ampKV2p2bURWTUZtb3hQSmRYWDFkYTd5cmJYeFRmYm1mM1pac1RpdmZVdWQxYThxdUN3dTUK\ +TnBrdHFjV0JyMHRnNzFhOXlidHJOdm1GczZGRE1WMXkrY2JxYlp1UWlDWnc0WmZhekFaeTRQRGNocE9\ +SNjRCSwpBWFZIT05HcWFoV2hwcDkwd2E0TFEwUTE1U3FDR25kYVI4SHg5MHJOeEdkRjM1T1BLUjd1TD\ +drWDU4ZGxaWStDClJJK1pKMndYMzJUZzgrc1RtTmNaUTliWDdvS0t3R3E5Uk94SjZJSUhOSnN2bXhaS\ +nlPcmE2N21hNTd3OWxiQnUKSzJlQ3cwZjRDeHdLNU1LNStkbWx6R3dhZmJlMG00TTBvVjlhWUxZTzAw\ +R3Iza05heW9PdjRRVGtEM2pCMzVSMQpDMGJnQmk2eU1sTVJ2akZ5eEZkOFJpL003VG1jcXNObTB5akl\ +qbkZaenVtMFZTR1NLMXlRU3Flak40S0Y2R0JMCllpZ2JpM3c4WG5HYm9pZGdBUE9ncVVJeTJ1dEU1Ml\ +lzVXFsVHVncXhtM2xDOUhzaDM2UFJLNURDUG93eHVUNlgKcXo1M1ZiN2h6TkxLelpiRlJzbUdFOFY2c\ +WM2bXZTbUFXa25nL3QwaStXVmdGVkZuZFQrQ0oyNTJsa0ZacGljdAp6ekdETW44VUNDRUp4TDRKTklT\ +M2lLOUhlRys2MlZuay9QOEM3YVpLSXpVdjFud25rcVdUUUFYWDBKckJGdDdICjI5ZDk1RElmRTRuT0F\ +yS0JFNHc2Z1R4SU1uZzVzWi9ZbDFjcG5wUHlsR3VICi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K") + ("STUN.server" . "") + ("STUN.enable" . "false") + ("SRTP.rtpFallback" . "false") + ("SRTP.keyExchange" . "sdes") + ("SRTP.enable" . "true") + ("RingNS.uri" . "") + ("RingNS.account" . "0790738ce15fa05933b49dd77034312787da86c3") + ("DHT.PublicInCalls" . "true") + ("Account.videoPortMin" . "49152") + ("Account.videoPortMax" . "65534") + ("Account.videoEnabled" . "true") + ("Account.username" . "f3345f2775ddfe07a4b0d95daea111d15fbc1199") + ("Account.useragent" . "") + ("Account.upnpEnabled" . "true") + ("Account.type" . "RING") + ("Account.ringtoneEnabled" . "true") + ("Account.rendezVous" . "true") + ("Account.publishedSameAsLocal" . "true") + ("Account.publishedPort" . "5060") + ("Account.publishedAddress" . "") + ("Account.presenceSubscribeSupported" . "true") + ("Account.peerDiscovery" . "false") + ("Account.managerUsername" . "") + ("Account.managerUri" . "") + ("Account.mailbox" . "") + ("Account.localModeratorsEnabled" . "true") + ("Account.localInterface" . "default") + ("Account.hostname" . "bootstrap.jami.net") + ("Account.hasCustomUserAgent" . "false") + ("Account.enable" . "true") + ("Account.dtmfType" . "overrtp") + ("Account.displayName" . "dummy") + ("Account.defaultModerators" . "") + ("Account.audioPortMin" . "16384") + ("Account.audioPortMax" . "32766") + ("Account.archiveHasPassword" . "false") + ("Account.allowCertFromTrusted" . "true") + ("Account.allowCertFromHistory" . "true") + ("Account.allowCertFromContact" . "true") + ("Account.allModeratorEnabled" . "true") + ("Account.alias" . "dummy") + ("Account.activeCallLimit" . "-1") + ("Account.accountPublish" . "false") + ("Account.accountDiscovery" . "false"))) diff --git a/gnu/tests/ganeti.scm b/gnu/tests/ganeti.scm index 19c26b86dd..b64a332dde 100644 --- a/gnu/tests/ganeti.scm +++ b/gnu/tests/ganeti.scm @@ -38,7 +38,7 @@ (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vda"))) + (targets '("/dev/vda")))) (file-systems (cons (file-system (device (file-system-label "my-root")) (mount-point "/") diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 80604361e0..130a4f76b0 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2020 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org> -;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> +;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -97,7 +97,7 @@ (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system (device (file-system-label "my-root")) @@ -135,7 +135,7 @@ (bootloader (bootloader-configuration (bootloader extlinux-bootloader-gpt) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system (device (file-system-label "my-root")) @@ -418,7 +418,7 @@ per %test-installed-os, this test is expensive in terms of CPU and storage.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vda"))) + (targets (list "/dev/vda")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system (device (file-system-label "my-root")) @@ -494,7 +494,7 @@ reboot\n") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets '("/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons* (file-system (device (file-system-label "my-root")) @@ -549,7 +549,7 @@ partition. In particular, home directories must be correctly created (see (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons* (file-system (device (file-system-label "root-fs")) @@ -626,7 +626,7 @@ where /gnu lives on a separate partition.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) ;; Add a kernel module for RAID-1 (aka. "mirror"). @@ -709,7 +709,7 @@ by 'mdadm'.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets '("/dev/vdb")))) ;; Note: Do not pass "console=ttyS0" so we can use our passphrase prompt ;; detection logic in 'enter-luks-passphrase'. @@ -842,7 +842,7 @@ build (current-guix) and then store a couple of full system images.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (mapped-devices (list (mapped-device @@ -929,7 +929,7 @@ reboot\n") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (mapped-devices (list (mapped-device (source @@ -1029,7 +1029,7 @@ store a couple of full system images.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system (device (file-system-label "my-root")) @@ -1103,7 +1103,7 @@ build (current-guix) and then store a couple of full system images.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system @@ -1171,7 +1171,7 @@ RAID-0 (stripe) root partition.") (locale "en_US.UTF-8") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons* (file-system (device (file-system-label "btrfs-pool")) @@ -1264,7 +1264,7 @@ build (current-guix) and then store a couple of full system images.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system (device (file-system-label "my-root")) @@ -1337,7 +1337,7 @@ build (current-guix) and then store a couple of full system images.") (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/vdb"))) + (targets (list "/dev/vdb")))) (kernel-arguments '("console=ttyS0")) (file-systems (cons (file-system (device (file-system-label "my-root")) diff --git a/gnu/tests/nfs.scm b/gnu/tests/nfs.scm index 9b2b785176..a0c091eadb 100644 --- a/gnu/tests/nfs.scm +++ b/gnu/tests/nfs.scm @@ -50,7 +50,7 @@ (bootloader (bootloader-configuration (bootloader grub-bootloader) - (target "/dev/sdX"))) + (targets '("/dev/sdX")))) (file-systems %base-file-systems) (users %base-user-accounts) (packages (cons* diff --git a/gnu/tests/reconfigure.scm b/gnu/tests/reconfigure.scm index 52beeef447..001b5d185a 100644 --- a/gnu/tests/reconfigure.scm +++ b/gnu/tests/reconfigure.scm @@ -261,7 +261,7 @@ bootloader's configuration file." ;; would attempt to write directly to the virtual disk if the ;; installation script were run. (test - (install-bootloader-program #f #f #f bootcfg bootcfg-file #f "/"))))) + (install-bootloader-program #f #f #f bootcfg bootcfg-file '(#f) "/"))))) (define %test-switch-to-system diff --git a/gnu/tests/telephony.scm b/gnu/tests/telephony.scm new file mode 100644 index 0000000000..aeb6500c47 --- /dev/null +++ b/gnu/tests/telephony.scm @@ -0,0 +1,366 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gnu.org>. +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu tests telephony) + #:use-module (gnu) + #:use-module (gnu packages) + #:use-module (gnu packages guile) + #:use-module (gnu tests) + #:use-module (gnu system vm) + #:use-module (gnu services) + #:use-module (gnu services dbus) + #:use-module (gnu services networking) + #:use-module (gnu services ssh) + #:use-module (gnu services telephony) + #:use-module (guix gexp) + #:use-module (guix modules) + #:export (%test-jami + %test-jami-provisioning)) + +;;; +;;; Jami daemon. +;;; + +(include "data/jami-dummy-account.dat") ;defines %jami-account-content-sexp + +(define %dummy-jami-account-archive + ;; A Jami account archive is a gzipped JSON file. + (computed-file + "dummy-jami-account.gz" + (with-extensions (list guile-json-4 guile-zlib) + #~(begin + (use-modules (json) (zlib)) + (let ((port (open-output-file #$output))) + (call-with-gzip-output-port port + (lambda (port) + (scm->json '#$%jami-account-content-sexp port)))))))) + +(define %allowed-contacts '("1dbcb0f5f37324228235564b79f2b9737e9a008f" + "2dbcb0f5f37324228235564b79f2b9737e9a008f")) + +(define %moderators '("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb")) + +(define %dummy-jami-account (jami-account + (archive %dummy-jami-account-archive) + (allowed-contacts %allowed-contacts) + (moderators %moderators) + (rendezvous-point? #t) + (peer-discovery? #f) + (bootstrap-hostnames '("bootstrap.me" + "fallback.another.host")) + (name-server-uri "https://my.name.server"))) + +(define* (make-jami-os #:key provisioning?) + (operating-system + (host-name "jami") + (timezone "America/Montreal") + (locale "en_US.UTF-8") + + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (targets '("/dev/sdX")))) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (firmware '()) + + (services (cons* (service jami-service-type + (if provisioning? + (jami-configuration + (debug? #t) + (accounts (list %dummy-jami-account))) + (jami-configuration + (debug? #t)))) + (service dbus-root-service-type) + ;; The following services/packages are added for + ;; debugging purposes. + (service dhcp-client-service-type) + (service openssh-service-type + (openssh-configuration + (permit-root-login #t) + (allow-empty-passwords? #t))) + %base-services)) + (packages (cons* (specification->package "recutils") + (specification->package "strace") + %base-packages)))) + +(define %jami-os + (make-jami-os)) + +(define %jami-os-provisioning + (make-jami-os #:provisioning? #t)) + +(define* (run-jami-test #:key provisioning?) + "Run tests in %JAMI-OS. When PROVISIONING? is true, test the +accounts provisioning feature of the service." + (define os (marionette-operating-system + (if provisioning? + %jami-os-provisioning + %jami-os) + #:imported-modules '((gnu services herd) + (guix combinators)))) + (define vm (virtual-machine + (operating-system os) + (memory-size 512))) + + (define username (assoc-ref %jami-account-content-sexp + "Account.username")) + + (define test + (with-imported-modules (source-module-closure + '((gnu build marionette) + (gnu build jami-service))) + #~(begin + (use-modules (rnrs base) + (srfi srfi-11) + (srfi srfi-64) + (gnu build marionette) + (gnu build jami-service)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "jami") + + (test-assert "service is running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'jami) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-assert "service can be stopped" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base)) + (setenv "PATH" "/run/current-system/profile/bin") + (let ((pid (match (start-service 'jami) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) pid)))))) + + (assert (number? pid)) + + (match (stop-service 'jami) + (services ;a list of service symbols + (member 'jami services))) + ;; Sometimes, the process still appear in pgrep, even + ;; though we are using waitpid after sending it SIGTERM + ;; in the service; use retries. + (with-retries 20 1 + (not (zero? (status:exit-val + (system* "pgrep" "dring"))))))) + marionette)) + + (test-assert "service can be restarted" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base)) + ;; Start and retrieve the current PID. + (define pid (match (start-service 'jami) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) pid))))) + (assert (number? pid)) + + ;; Restart the service. + (restart-service 'jami) + + (define new-pid (match (start-service 'jami) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) pid))))) + (assert (number? new-pid)) + + (not (eq? pid new-pid))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami accounts provisioning, account present" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base)) + ;; Accounts take some time to appear after being added. + (with-retries 20 1 + (with-shepherd-action 'jami ('list-accounts) results + (let ((account (assoc-ref (car results) #$username))) + (assert (string=? #$username + (assoc-ref account + "Account.username"))))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami accounts provisioning, allowed-contacts" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + ;; Public mode is disabled. + (with-shepherd-action 'jami ('list-account-details) + results + (let ((account (assoc-ref (car results) #$username))) + (assert (string=? "false" + (assoc-ref account + "DHT.PublicInCalls"))))) + + ;; Allowed contacts match those declared in the configuration. + (with-shepherd-action 'jami ('list-contacts) results + (let ((contacts (assoc-ref (car results) #$username))) + (assert (lset= string-ci=? contacts '#$%allowed-contacts))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami accounts provisioning, moderators" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + ;; Moderators match those declared in the configuration. + (with-shepherd-action 'jami ('list-moderators) results + (let ((moderators (assoc-ref (car results) #$username))) + (assert (lset= string-ci=? moderators '#$%moderators)))) + + ;; Moderators can be added via the Shepherd action. + (with-shepherd-action 'jami + ('add-moderator "cccccccccccccccccccccccccccccccccccccccc" + #$username) results + (let ((moderators (car results))) + (assert (lset= string-ci=? moderators + (cons "cccccccccccccccccccccccccccccccccccccccc" + '#$%moderators)))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami service actions, ban/unban contacts" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + ;; Globally ban a contact. + (with-shepherd-action 'jami + ('ban-contact "1dbcb0f5f37324228235564b79f2b9737e9a008f") _ + (with-shepherd-action 'jami ('list-banned-contacts) results + (every (match-lambda + ((username . banned-contacts) + (member "1dbcb0f5f37324228235564b79f2b9737e9a008f" + banned-contacts))) + (car results)))) + + ;; Ban a contact for a single account. + (with-shepherd-action 'jami + ('ban-contact "dddddddddddddddddddddddddddddddddddddddd" + #$username) _ + (with-shepherd-action 'jami ('list-banned-contacts) results + (every (match-lambda + ((username . banned-contacts) + (let ((found? (member "dddddddddddddddddddddddddddddddddddddddd" + banned-contacts))) + (if (string=? #$username username) + found? + (not found?))))) + (car results))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami service actions, enable/disable accounts" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base)) + + (with-shepherd-action 'jami + ('disable-account #$username) _ + (with-shepherd-action 'jami ('list-accounts) results + (let ((account (assoc-ref (car results) #$username))) + (assert (string= "false" + (assoc-ref account "Account.enable")))))) + + (with-shepherd-action 'jami + ('enable-account #$username) _ + (with-shepherd-action 'jami ('list-accounts) results + (let ((account (assoc-ref (car results) #$username))) + (assert (string= "true" + (assoc-ref account "Account.enable"))))))) + marionette)) + + (unless #$provisioning? (test-skip 1)) + (test-assert "jami account parameters" + (marionette-eval + '(begin + (use-modules (gnu services herd) + (rnrs base) + (srfi srfi-1)) + + (with-shepherd-action 'jami ('list-account-details) results + (let ((account-details (assoc-ref (car results) + #$username))) + (assert (lset<= + equal? + '(("Account.hostname" . + "bootstrap.me;fallback.another.host") + ("Account.peerDiscovery" . "false") + ("Account.rendezVous" . "true") + ("RingNS.uri" . "https://my.name.server")) + account-details))))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation (if provisioning? + "jami-provisioning-test" + "jami-test") + test)) + +(define %test-jami + (system-test + (name "jami") + (description "Basic tests for the jami service.") + (value (run-jami-test)))) + +(define %test-jami-provisioning + (system-test + (name "jami-provisioning") + (description "Provisioning test for the jami service.") + (value (run-jami-test #:provisioning? #t)))) + +;; Local Variables: +;; eval: (put 'with-retries 'scheme-indent-function 2) +;; End: diff --git a/gnu/tests/version-control.scm b/gnu/tests/version-control.scm index d3cf19c913..a7cde1f163 100644 --- a/gnu/tests/version-control.scm +++ b/gnu/tests/version-control.scm @@ -38,7 +38,8 @@ #:use-module (guix modules) #:export (%test-cgit %test-git-http - %test-gitolite)) + %test-gitolite + %test-gitile)) (define README-contents "Hello! This is what goes inside the 'README' file.") @@ -63,7 +64,10 @@ (invoke git "commit" "-m" "That's a commit.")) (mkdir-p "/srv/git") - (rename-file "/tmp/test-repo/.git" "/srv/git/test"))))) + (rename-file "/tmp/test-repo/.git" "/srv/git/test") + (with-output-to-file "/srv/git/test/git-daemon-export-ok" + (lambda _ + (display ""))))))) (define %test-repository-service ;; Service that creates /srv/git/test. @@ -416,3 +420,133 @@ HTTP-PORT." (name "gitolite") (description "Clone the Gitolite admin repository.") (value (run-gitolite-test)))) + +;;; +;;; Gitile. +;;; + +(define %gitile-configuration-nginx + (nginx-server-configuration + (root "/does/not/exists") + (try-files (list "$uri" "=404")) + (listen '("19418")) + (ssl-certificate #f) + (ssl-certificate-key #f))) + +(define %gitile-os + ;; Operating system under test. + (simple-operating-system + (service dhcp-client-service-type) + (simple-service 'srv-git activation-service-type + #~(mkdir-p "/srv/git")) + (service gitile-service-type + (gitile-configuration + (base-git-url "http://localhost") + (repositories "/srv/git") + (nginx %gitile-configuration-nginx))) + %test-repository-service)) + +(define* (run-gitile-test #:optional (http-port 19418)) + "Run tests in %GITOLITE-OS, which has nginx running and listening on +HTTP-PORT." + (define os + (marionette-operating-system + %gitile-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (port-forwardings `((8081 . ,http-port))))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette) + (web uri) + (web client) + (web response)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "gitile") + + ;; XXX: Shepherd reads the config file *before* binding its control + ;; socket, so /var/run/shepherd/socket might not exist yet when the + ;; 'marionette' service is started. + (test-assert "shepherd socket ready" + (marionette-eval + `(begin + (use-modules (gnu services herd)) + (let loop ((i 10)) + (cond ((file-exists? (%shepherd-socket-file)) + #t) + ((> i 0) + (sleep 1) + (loop (- i 1))) + (else + 'failure)))) + marionette)) + + ;; Wait for nginx to be up and running. + (test-assert "nginx running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'nginx)) + marionette)) + + ;; Make sure the PID file is created. + (test-assert "PID file" + (marionette-eval + '(file-exists? "/var/run/nginx/pid") + marionette)) + + ;; Make sure Git test repository is created. + (test-assert "Git test repository" + (marionette-eval + '(file-exists? "/srv/git/test") + marionette)) + + (sleep 2) + + ;; Make sure we can access pages that correspond to our repository. + (letrec-syntax ((test-url + (syntax-rules () + ((_ path code) + (test-equal (string-append "GET " path) + code + (let-values (((response body) + (http-get (string-append + "http://localhost:8081" + path)))) + (response-code response)))) + ((_ path) + (test-url path 200))))) + (test-url "/") + (test-url "/css/gitile.css") + (test-url "/test") + (test-url "/test/commits") + (test-url "/test/tree" 404) + (test-url "/test/tree/-") + (test-url "/test/tree/-/README") + (test-url "/test/does-not-exist" 404) + (test-url "/test/tree/-/does-not-exist" 404) + (test-url "/does-not-exist" 404)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "gitile-test" test)) + +(define %test-gitile + (system-test + (name "gitile") + (description "Connect to a running Gitile server.") + (value (run-gitile-test)))) |