me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into core-updates-frozen

Conflicts:
	gnu/packages/algebra.scm
	gnu/packages/games.scm
	gnu/packages/golang.scm
	gnu/packages/kerberos.scm
	gnu/packages/mail.scm
	gnu/packages/python.scm
	gnu/packages/ruby.scm
	gnu/packages/scheme.scm
	gnu/packages/tex.scm
	gnu/packages/tls.scm
	gnu/packages/version-control.scm
Marius Bakke 2021-08-12 00:30:27 +02:00
commit c4133c43c7
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
181 changed files with 256111 additions and 218870 deletions

View File

@ -148,6 +148,8 @@
(eval . (put 'with-paginated-output-port 'scheme-indent-function 1))
(eval . (put 'with-shepherd-action 'scheme-indent-function 3))
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))

View File

@ -492,6 +492,7 @@ SCM_TESTS = \
tests/services/file-sharing.scm \
tests/services/configuration.scm \
tests/services/linux.scm \
tests/services/telephony.scm \
tests/sets.scm \
tests/size.scm \
tests/status.scm \

View File

@ -16122,7 +16122,8 @@ gexps to introduce job definitions that are passed to mcron
(lambda ()
(execl (string-append #$findutils "/bin/updatedb")
"updatedb"
"--prunepaths=/tmp /var/tmp /gnu/store"))))
"--prunepaths=/tmp /var/tmp /gnu/store"))
"updatedb"))
(define garbage-collector-job
;; Collect garbage 5 minutes after midnight every day.
@ -16151,6 +16152,14 @@ gexps to introduce job definitions that are passed to mcron
%base-services)))
@end lisp
@quotation Tip
When providing the action of a job specification as a procedure, you
should provide an explicit name for the job via the optional 3rd
argument as done in the @code{updatedb-job} example above. Otherwise,
the job would appear as ``Lambda function'' in the output of
@command{herd schedule mcron}, which is not nearly descriptive enough!
@end quotation
For more complex jobs defined in Scheme where you need control over the top
level, for instance to introduce a @code{use-modules} form, you can move your
code to a separate program using the @code{program-file} procedure of the
@ -22735,6 +22744,234 @@ and Error.
@node Telephony Services
@subsection Telephony Services
@cindex telephony, services
The @code{(gnu services telephony)} module contains Guix service
definitions for telephony services. Currently it provides the following
services:
@subsubheading Jami
@cindex jami, service
This section describes how to configure a Jami server that can be used
to host video (or audio) conferences, among other uses. The following
example demonstrates how to specify Jami account archives (backups) to
be provisioned automatically:
@lisp
(service jami-service-type
(jami-configuration
(accounts
(list (jami-account
(archive "/etc/jami/unencrypted-account-1.gz"))
(jami-account
(archive "/etc/jami/unencrypted-account-2.gz"))))))
@end lisp
When the accounts field is specified, the Jami account files of the
service found under @file{/var/lib/jami} are recreated every time the
service starts.
Jami accounts and their corresponding backup archives can be generated
using either the @code{jami-qt} or @code{jami-gnome} Jami clients. The
accounts should not be password-protected, but it is wise to ensure
their files are only readable by @samp{root}.
The next example shows how to declare that only some contacts should be
allowed to communicate with a given account:
@lisp
(service jami-service-type
(jami-configuration
(accounts
(list (jami-account
(archive "/etc/jami/unencrypted-account-1.gz")
(peer-discovery? #t)
(rendezvous-point? #t)
(allowed-contacts
'("1dbcb0f5f37324228235564b79f2b9737e9a008f"
"2dbcb0f5f37324228235564b79f2b9737e9a008f")))))))
@end lisp
In this mode, only the declared @code{allowed-contacts} can initiate
communication with the Jami account. This can be used, for example,
with rendezvous point accounts to create a private video conferencing
space.
To put the system administrator in full control of the conferences
hosted on their system, the Jami service supports the following actions:
@example sh
# herd doc jami list-actions
(list-accounts
list-account-details
list-banned-contacts
list-contacts
list-moderators
add-moderator
ban-contact
enable-account
disable-account)
@end example
The above actions aim to provide the most valuable actions for
moderation purposes, not to cover the whole Jami API. Users wanting to
interact with the Jami daemon from Guile may be interested in
experimenting with the @code{(gnu build jami-service)} module, which
powers the above Shepherd actions.
@c TODO: This should be auto-generated from the doc already defined on
@c the shepherd-actions themselves in (gnu services telephony).
The @code{add-moderator} and @code{ban-contact} actions accept a contact
@emph{fingerprint} (40 characters long hash) as first argument and an
account fingerprint or username as second argument:
@example sh
# herd add-moderator jami 1dbcb0f5f37324228235564b79f2b9737e9a008f \
f3345f2775ddfe07a4b0d95daea111d15fbc1199
# herd list-moderators jami
Moderators for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:
- 1dbcb0f5f37324228235564b79f2b9737e9a008f
@end example
In the case of @code{ban-contact}, the second username argument is
optional; when omitted, the account is banned from all Jami accounts:
@example sh
# herd ban-contact jami 1dbcb0f5f37324228235564b79f2b9737e9a008f
# herd list-banned-contacts jami
Banned contacts for account f3345f2775ddfe07a4b0d95daea111d15fbc1199:
- 1dbcb0f5f37324228235564b79f2b9737e9a008f
@end example
Banned contacts are also stripped from their moderation privileges.
The @code{disable-account} action allows to completely disconnect an
account from the network, making it unreachable, while
@code{enable-account} does the inverse. They accept a single account
username or fingerprint as first argument:
@example sh
# herd disable-account jami f3345f2775ddfe07a4b0d95daea111d15fbc1199
# herd list-accounts jami
The following Jami accounts are available:
- f3345f2775ddfe07a4b0d95daea111d15fbc1199 (dummy) [disabled]
@end example
The @code{list-account-details} action prints the detailed parameters of
each accounts in the Recutils format, which means the @command{recsel}
command can be used to select accounts of interest (@pxref{Selection
Expressions,,,recutils, GNU recutils manual}). Note that period
characters (@samp{.}) found in the account parameter keys are mapped to
underscores (@samp{_}) in the output, to meet the requirements of the
Recutils format. The following example shows how to print the account
fingerprints for all accounts operating in the rendezvous point mode:
@example sh
# herd list-account-details jami | \
recsel -p Account.username -e 'Account.rendezVous ~ "true"'
Account_username: f3345f2775ddfe07a4b0d95daea111d15fbc1199
@end example
The remaining actions should be self-explanatory.
The complete set of available configuration options is detailed below.
@c TODO: Ideally, the following fragments would be auto-generated at
@c build time, so that they needn't be manually duplicated.
@c Auto-generated via (configuration->documentation 'jami-configuration)
@deftp {Data Type} jami-configuration
Available @code{jami-configuration} fields are:
@table @asis
@item @code{jamid} (default: @code{libring}) (type: package)
The Jami daemon package to use.
@item @code{dbus} (default: @code{dbus}) (type: package)
The D-Bus package to use to start the required D-Bus session.
@item @code{nss-certs} (default: @code{nss-certs}) (type: package)
The nss-certs package to use to provide TLS certificates.
@item @code{enable-logging?} (default: @code{#t}) (type: boolean)
Whether to enable logging to syslog.
@item @code{debug?} (default: @code{#f}) (type: boolean)
Whether to enable debug level messages.
@item @code{auto-answer?} (default: @code{#f}) (type: boolean)
Whether to force automatic answer to incoming calls.
@item @code{accounts} (default: @code{disabled}) (type: maybe-jami-account-list)
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.
@end table
@end deftp
@c Auto-generated via (configuration->documentation 'jami-account)
@deftp {Data Type} jami-account
Available @code{jami-account} fields are:
@table @asis
@item @code{archive} (type: 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.
@item @code{allowed-contacts} (default: @code{disabled}) (type: maybe-account-fingerprint-list)
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.
@item @code{moderators} (default: @code{disabled}) (type: maybe-account-fingerprint-list)
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.
@item @code{rendezvous-point?} (default: @code{disabled}) (type: maybe-boolean)
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.
@item @code{peer-discovery?} (default: @code{disabled}) (type: maybe-boolean)
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.
@item @code{bootstrap-hostnames} (default: @code{disabled}) (type: maybe-string-list)
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.
@item @code{name-server-uri} (default: @code{disabled}) (type: maybe-string)
The URI of the name server to use, that can be used to retrieve the
account fingerprint for a registered username.
@end table
@end deftp
@subsubheading Murmur (VoIP server)
@cindex Murmur (VoIP server)
@cindex VoIP server
This section describes how to set up and run a Murmur server. Murmur is

View File

@ -23,7 +23,7 @@
# If adding a language, update the following variables, and info_TEXINFOS.
MANUAL_LANGUAGES = de es fa fr it ko pt_BR ru sk zh_CN
COOKBOOK_LANGUAGES = de fa fr ko zh_Hans
COOKBOOK_LANGUAGES = de fa fr ko ru sk zh_Hans
# Arg1: A list of languages codes.
# Arg2: The file name stem.
@ -47,6 +47,8 @@ info_TEXINFOS = %D%/guix.texi \
%D%/guix-cookbook.fa.texi \
%D%/guix-cookbook.fr.texi \
%D%/guix-cookbook.ko.texi \
%D%/guix-cookbook.ru.texi \
%D%/guix-cookbook.sk.texi \
%D%/guix-cookbook.zh_Hans.texi
%C%_guix_TEXINFOS = \

View File

@ -4,6 +4,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,7 +37,9 @@
(ice-9 popen)
(ice-9 match)
(ice-9 rdelim)
(ice-9 textual-ports))
(ice-9 regex)
(ice-9 textual-ports)
(guix gexp))
(define* (break-string str #:optional (max-line-length 70))
"Break the string STR into lines that are no longer than MAX-LINE-LENGTH.
@ -65,6 +68,13 @@ Return a single string."
(string-join (reverse (cons (restore-line last-words) lines))
"\n"))))))
(define* (break-string-with-newlines str #:optional (max-line-length 70))
"Break the lines of string STR into lines that are no longer than
MAX-LINE-LENGTH. Return a single string."
(string-join (map (cut break-string <> max-line-length)
(string-split str #\newline))
"\n"))
(define (read-excursion port)
"Read an expression from PORT and reset the port position before returning
the expression."
@ -252,6 +262,32 @@ corresponding to the top-level definition containing the staged changes."
"gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
variable-name file-name variable-name))
(define* (custom-commit-message file-name variable-name message changelog
#:optional (port (current-output-port)))
"Print custom commit message for a change to VARIABLE-NAME in FILE-NAME, using
MESSAGE as the commit message and CHANGELOG as the body of the ChangeLog
entry. If CHANGELOG is #f, the commit message is reused. If CHANGELOG already
contains ': ', no colon is inserted between the location and body of the
ChangeLog entry."
(define (trim msg)
(string-trim-right (string-trim-both msg) (char-set #\.)))
(define (changelog-has-location? changelog)
(->bool (string-match "^[[:graph:]]+:[[:blank:]]" changelog)))
(let* ((message (trim message))
(changelog (if changelog (trim changelog) message))
(message/f (format #f "gnu: ~a: ~a." variable-name message))
(changelog/f (if (changelog-has-location? changelog)
(format #f "* ~a (~a)~a."
file-name variable-name changelog)
(format #f "* ~a (~a): ~a."
file-name variable-name changelog))))
(format port
"~a~%~%~a~%"
(break-string-with-newlines message/f 72)
(break-string-with-newlines changelog/f 72))))
(define (group-hunks-by-sexp hunks)
"Return a list of pairs associating all hunks with the S-expression they are
modifying."
@ -280,6 +316,15 @@ modifying."
(define %delay 1000)
(define (main . args)
(define* (change-commit-message* file-name old new #:rest rest)
(let ((changelog #f))
(match args
((or (message changelog) (message))
(apply custom-commit-message
file-name (second old) message changelog rest))
(_
(apply change-commit-message file-name old new rest)))))
(match (diff-info)
(()
(display "Nothing to be done.\n" (current-error-port)))
@ -325,13 +370,12 @@ modifying."
(error "Cannot apply")))
(usleep %delay))
hunks)
(change-commit-message (hunk-file-name (first hunks))
old new
(current-output-port))
(change-commit-message* (hunk-file-name (first hunks))
old new)
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(change-commit-message (hunk-file-name (first hunks))
old new
port)
(change-commit-message* (hunk-file-name (first hunks))
old new
port)
(usleep %delay)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit")))))
@ -339,4 +383,4 @@ modifying."
;; insertions lead to offsets.
(new+old+hunks (diff-info)))))))
(main)
(apply main (cdr (command-line)))

View File

@ -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-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:

View File

@ -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. "

View File

@ -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.
#
@ -687,6 +688,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 \
@ -724,6 +726,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
@ -789,7 +792,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 = \
@ -1233,6 +1237,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 \
@ -1386,6 +1391,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 \
@ -1490,6 +1498,7 @@ dist_patch_DATA = \
%D%/packages/patches/ocaml-4.09-multiple-definitions.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 \
@ -1522,7 +1531,6 @@ dist_patch_DATA = \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/pthreadpool-system-libraries.patch \
%D%/packages/patches/samba-fix-fcntl-hint-detection.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 \
@ -1621,13 +1629,14 @@ dist_patch_DATA = \
%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-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 \
@ -1664,10 +1673,16 @@ dist_patch_DATA = \
%D%/packages/patches/rtags-separate-rct.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 \
@ -1749,6 +1764,7 @@ dist_patch_DATA = \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.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 \

View File

@ -3440,52 +3440,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")

View File

@ -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 © 20172021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@ -343,7 +343,7 @@ precision.")
(define-public giac
(package
(name "giac")
(version "1.7.0-23")
(version "1.7.0-25")
(source
(origin
(method url-fetch)
@ -355,7 +355,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
(base32 "06dv46y4lh8f9pzj7vcimdl2rp1kk5d16q94zq0iajzzcwppqdz1"))))
(base32 "0d11shsifnd5p23iym5h0kqa7bp7p0p25rwvya7hdji2kwvgr3cl"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@ -1071,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")

View File

@ -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)
@ -657,12 +659,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 +683,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 +746,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 +914,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 +933,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)

View File

@ -7128,14 +7128,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
@ -9932,14 +9932,14 @@ self-organizing map clustering and minimal spanning trees.")
(define-public r-mixomics
(package
(name "r-mixomics")
(version "6.16.2")
(version "6.16.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mixOmics" version))
(sha256
(base32
"0kbljjwm5caf2znqnkhrbmcfsv1mhppp9h491210q477y8bjlkja"))))
"1x6dbw4q6p9vngm256fr96r9fjxk5nik5ivkhbl5a9zqyq8wagpa"))))
(properties `((upstream-name . "mixOmics")))
(build-system r-build-system)
(propagated-inputs
@ -10319,14 +10319,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
@ -13386,14 +13386,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 +13661,44 @@ 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-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)))

View File

@ -10380,7 +10380,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.18")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@ -10388,7 +10388,7 @@ once. This package provides tools to perform Drop-seq analyses.")
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
"0k9zj50bij3sjwq08v8l8waddcx8k66m3vdq8mx5vc23p19qz42s"))))
"1622l6grmsk0wm859rvllngx29q3v16jjvzcdq2bmrlamccrj82y"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
@ -10671,7 +10671,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/"
@ -10679,7 +10679,7 @@ based methods.")
"/pigx_sars-cov2-ww-" version ".tar.gz"))
(sha256
(base32
"0yrbza7lbzijjc8ifk06b646n959a4k7id94x3ndz795892f64l0"))))
"1hhdbwsnl0d37lrmisw5hr630xr8s41qvxflm05anh11rj8n22yw"))))
(build-system gnu-build-system)
(inputs
`(("bash-minimal" ,bash-minimal)
@ -14735,3 +14735,75 @@ ploidy and allele-specific copy number profiles.")
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-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))))

View File

@ -56,6 +56,7 @@
#: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)
@ -492,20 +493,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 +522,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 +532,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 +560,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 +712,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"))
@ -873,15 +867,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")))
@ -939,9 +929,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)

View File

@ -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

View File

@ -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.131")
(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.131-1-0-g4a9534c")
(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"))))
"1nbgknj5ba116y47sxbp7pbma1bp0lmkyi3vk915x837ysaf6mrd"))))
(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"))
"0fnfyh61w6dmavvfbf2x1zzrby0xpx4jd4ifjsgyc39rsl789b5n"))
(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)
@ -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)

View File

@ -2291,12 +2291,21 @@ reading from and writing to ZIP archives. ")
(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)))
`(("curl" ,curl)
("zstd" ,zstd)))
(propagated-inputs
`(("zstd" ,zstd "lib"))) ;in Requires.private of zck.pc
`(("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

View File

@ -591,14 +591,14 @@ variables.")
(define-public r-ggpp
(package
(name "r-ggpp")
(version "0.4.1")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggpp" version))
(sha256
(base32
"17j8b46vn0kdpm7x6xyfqzz3la8mwzhjql6dbgyvqnrylbx4svyl"))))
"0m2wq9kqlxqxlzyx9fd0c4iw6qb7kpjrq7fqqa2kvwyj79vx6ahj"))))
(properties `((upstream-name . "ggpp")))
(build-system r-build-system)
(propagated-inputs
@ -638,21 +638,19 @@ variables.")
(define-public r-ggpmisc
(package
(name "r-ggpmisc")
(version "0.4.0")
(version "0.4.2")
(source (origin
(method url-fetch)
(uri (cran-uri "ggpmisc" version))
(sha256
(base32
"1vfzhpd4bqskq1sxh60dkab02m51g0dhj9i8mfqqbakhmkqggxa3"))))
"0ma0xcwjgj0sp9483s2y62ylv992dqjxqfgb3zl8f1pksypqdbac"))))
(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)
@ -661,10 +659,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/")
@ -2774,20 +2769,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
@ -2796,8 +2789,7 @@ including functions for geolocation and routing.")
(lambda _
;; Not required, since were not building readstat.
(substitute* "src/Makevars"
(("-lz") "-lreadstat"))
#t)))))
(("-lz") "-lreadstat")))))))
(inputs
`(("readstat" ,readstat)))
(native-inputs
@ -2812,10 +2804,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
@ -8427,14 +8419,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.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "rbibutils" version))
(sha256
(base32
"16z79rvxkgdg0xq21f5aykikg6vjaiw1p9j9q42k2bz8qdswfd3b"))))
"0ks43z6vvdz0d0jv5d2qrm12yb4cwvi7p3kjk6byi4farhh368di"))))
(properties `((upstream-name . "rbibutils")))
(build-system r-build-system)
(home-page "https://geobosh.github.io/rbibutils/")
@ -10296,24 +10288,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
@ -11723,14 +11715,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
@ -16990,14 +16982,14 @@ package.")
(define-public r-ggplotify
(package
(name "r-ggplotify")
(version "0.0.7")
(version "0.0.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggplotify" version))
(sha256
(base32
"1vx2fg91ivssrxr4kzs9737hr8bsfs0q5pvd7lck7ffjpkjbclhh"))))
"08c9vxm8pg6l5g3r7wsfgzsq00xdrc6v4xnn7pd3qcyw7cc8s969"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
@ -21003,14 +20995,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)))
@ -25815,14 +25807,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
@ -25832,7 +25824,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)))
@ -27716,16 +27708,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
@ -29957,3 +29951,231 @@ 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-tensorflow
(package
(name "r-tensorflow")
(version "2.5.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "tensorflow" version))
(sha256
(base32
"00g9w4xmdyjl4578kmhng58k7afjkj2vwgcq2ik8rqwljkcz5pph"))))
(properties `((upstream-name . "tensorflow")))
(build-system r-build-system)
(inputs `(("tensorflow" ,tensorflow)))
(propagated-inputs
`(("r-config" ,r-config)
("r-jsonlite" ,r-jsonlite)
("r-processx" ,r-processx)
("r-reticulate" ,r-reticulate)
("r-rstudioapi" ,r-rstudioapi)
("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.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "keras" version))
(sha256
(base32
"00bw5f5d81md8db1k6bf2a91by4k25xvlwxiwv188y4vw3bfc7md"))))
(properties `((upstream-name . "keras")))
(build-system r-build-system)
(propagated-inputs
`(("r-generics" ,r-generics)
("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)))

View File

@ -5716,6 +5716,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")
@ -7746,6 +7777,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")
@ -18586,8 +18641,44 @@ getters and setters on fields.")
`(#:cargo-inputs
(("rust-cc" ,rust-cc-1))))))
(define-public rust-gfa-0.10
(package
(name "rust-gfa")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "gfa" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1hadm6vfjwyqw41bqci18wb4wv80rydmrag7a5c02pdp1gid14fw"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("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-json" ,rust-serde-json-1))
#:cargo-development-inputs
(("rust-criterion" ,rust-criterion-0.3))))
(home-page "https://github.com/chfi/rs-gfa")
(synopsis "Library for graphs in the GFA (Graphical Fragment Assembly) format")
(description
"This package provides a library for working with graphs in the
@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
@ -18599,7 +18690,6 @@ getters and setters on fields.")
(sha256
(base32
"0ghmy4r0324s6vvmj9nmh326346nkwm7nybnpcpswnjvf02b85gw"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-bstr" ,rust-bstr-0.2)
@ -18609,13 +18699,7 @@ getters and setters on fields.")
("rust-regex" ,rust-regex-1)
("rust-serde" ,rust-serde-1))
#:cargo-development-inputs
(("rust-criterion" ,rust-criterion-0.3))))
(home-page "https://github.com/chfi/rs-gfa")
(synopsis "Library for graphs in the GFA (Graphical Fragment Assembly) format")
(description
"This package provides a library for working with graphs in the
@acronym{GFA, Graphical Fragment Assembly} format.")
(license license:expat)))
(("rust-criterion" ,rust-criterion-0.3))))))
(define-public rust-ghash-0.3
(package
@ -25788,7 +25872,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)
@ -25797,14 +25881,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))))
@ -34835,6 +34919,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")
@ -45510,6 +45615,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")
@ -55620,6 +55749,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")
@ -56476,7 +56628,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)
@ -56485,18 +56637,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")
@ -56756,10 +56910,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)
@ -56768,20 +56951,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")

View File

@ -1119,7 +1119,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.

View File

@ -1381,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.
@ -1612,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

View File

@ -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)))

View File

@ -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.0")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-resolver/"
"knot-resolver-" version ".tar.xz"))
(sha256
(base32
"0dhlq25lig8wmn72ambfmb1njwwp980d98i9q7a24d79bxyl8vwb"))))
"0pl1l167fqb1lgmrmkx8i140l41wgnfwr6h3awxv4cw4p5qzcjjk"))))
(build-system meson-build-system)
(outputs '("out" "doc"))
(arguments

View File

@ -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

View File

@ -138,6 +138,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)
@ -209,6 +210,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)
@ -408,6 +410,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")
@ -585,13 +630,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")
@ -733,7 +778,7 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(define-public emacs-magit
(package
(name "emacs-magit")
(version "3.2.0")
(version "3.2.1")
(source
(origin
(method git-fetch)
@ -742,7 +787,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 "1ig4yzvd9hzvajjc46wk2g4xyg1ign92wgasa4wgn4hh878i3r1y"))))
(base32 "179mgh8l5p7fhfmbg5rz810mhbzsxqsxd66jdb2a68vsazs1jw2m"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs-no-x ;module support is required
@ -2045,14 +2090,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
(version "7.5")
(version "7.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
(base32 "0d7nsx2idzbp6d5im5rrsnwppbr2cimvxgx31bhwsm2aq3ya5v2j"))))
(base32 "03cp6mr0kxy41dg4ri5ymbzpkw7bd8zg7hx0a2rb4axiss5qmx7i"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("emms-print-metadata")
@ -2808,7 +2853,7 @@ of bibliographic references.")
(define-public emacs-corfu
(package
(name "emacs-corfu")
(version "0.10")
(version "0.11")
(source
(origin
(method git-fetch)
@ -2817,7 +2862,7 @@ of bibliographic references.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1z61qrwjg1d28vhh39yrbrxsjbmnqws74bs3dwbw7d854d5wsy9q"))))
(base32 "0x4aa5fk1ywlfs8gvwj3v2bycyl4nx7mzz1ci37x69bdjl9wal80"))))
(build-system emacs-build-system)
(home-page "https://github.com/minad/corfu")
(synopsis "Completion overlay region function")
@ -2841,6 +2886,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)))
@ -3687,7 +3744,7 @@ a command.")
(define-public emacs-olivetti
(package
(name "emacs-olivetti")
(version "1.11.4")
(version "2.0.0")
(source
(origin
(method git-fetch)
@ -3696,7 +3753,7 @@ a command.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1pw1zc0pdwwi9dv8fypfxgn6xbfvm88qzhss880lspialff1wcxn"))))
(base32 "0c0nkxik74p6s1pbf1l8pix5yy4xgnakqkwrrmf2ic1x1m4xv3hj"))))
(build-system emacs-build-system)
(home-page "https://github.com/rnkn/olivetti")
(synopsis "Emacs minor mode for a nice writing environment")
@ -3949,7 +4006,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)
@ -3958,7 +4015,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")
@ -4511,15 +4568,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")
@ -8143,7 +8201,7 @@ style, or as multiple word prefixes.")
(define-public emacs-consult
(package
(name "emacs-consult")
(version "0.9")
(version "0.10")
(source
(origin
(method git-fetch)
@ -8151,7 +8209,7 @@ style, or as multiple word prefixes.")
(url "https://github.com/minad/consult")
(commit version)))
(sha256
(base32 "0iy6lrqbpi4lv7141rdawpn278rxinfxspwb81n04azyxrk28vlw"))
(base32 "131342149xvmrcr3iwmx05id7358158i6m9an8izdpggsnwhs3i4"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
@ -8191,7 +8249,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)
@ -8200,7 +8258,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")
@ -10087,7 +10145,7 @@ with Elfeed.")
(define-public emacs-elfeed-score
(package
(name "emacs-elfeed-score")
(version "0.7.9")
(version "0.7.10")
(source
(origin
(method git-fetch)
@ -10096,8 +10154,7 @@ with Elfeed.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"17hf6b5db4d0cm1996z4sl00y4c8gl3rga97xxp2bmwbhdr7kaxw"))))
(base32 "15gjsp4whrdw9yx3mw1517wfynv9yya5yhalqqdb738q5c32p9lm"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-elfeed" ,emacs-elfeed)))
@ -10467,6 +10524,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")
@ -11309,7 +11389,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
@ -11319,7 +11399,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
@ -13559,13 +13639,13 @@ containing words from the Rime project.")
(define-public emacs-pyim
(package
(name "emacs-pyim")
(version "3.9.3")
(version "3.9.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
(sha256
(base32 "0rjaimvbh0fadbqiq4ggyxr0y4pfzld76wb64v7l5874qczn8dfr"))))
(base32 "0ggnl2jidcklyhqd5av5kk1f855gsq29wq2nhvp1yjzn35hz6xij"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-async" ,emacs-async)
@ -20887,28 +20967,26 @@ 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-github-review
(let ((commit "a13a3b4f1b6114a32af843971a145ab880f51232")
@ -25407,40 +25485,37 @@ it forcibly
(license license:gpl3+))))
(define-public emacs-elpher
;; No tagged release upstream, but the commit below corresponds to the 2.10.3
;; release.
(let ((commit "b0272de36cea3e1cd41cd15a012c8141b4b04575"))
(package
(name "emacs-elpher")
(version "2.10.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://thelambdalab.xyz/elpher.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1m6lq47i4j6k76f81vcch6akab9mqph7kna3fn356295fvgm7j7q"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'build-doc
(lambda _
(invoke "makeinfo" "elpher.texi"))))))
(home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
(synopsis "Gopher and gemini client for Emacs")
(description "Elpher is a full-featured gopher and gemini client for
(package
(name "emacs-elpher")
(version "3.2.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "git://thelambdalab.xyz/elpher.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fzqm5gpadqzsl71r1bq72ki8dw8125v4nmhdd3b4rz9jy1rqm2g"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'build-doc
(lambda _
(invoke "makeinfo" "elpher.texi"))))))
(home-page "gopher://thelambdalab.xyz/1/projects/elpher/")
(synopsis "Gopher and gemini client for Emacs")
(description "Elpher is a full-featured gopher and gemini client for
Emacs. Its features include intuitive keyboard and mouse-driven browsing,
out-of-the-box compatibility with evil-mode, clickable links in plain text,
caching of visited sites, pleasant and configurable visualization of Gopher
directories, direct visualisation of image files, jumping directly to links by
name (with autocompletion), a simple bookmark management system and
connections using TLS encryption.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-zerodark-theme
(package
@ -25675,14 +25750,14 @@ federated microblogging social network.")
(define-public emacs-ebdb
(package
(name "emacs-ebdb")
(version "0.7")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ebdb-" version ".tar"))
(sha256
(base32 "0q4ywgh87d6hjac3031s21w91gld2hh7s8nbva94dnzwn6y9d0v1"))))
(base32 "1z5lh1mib60mvs5kbdsrw2h4whz4n5ad4qkpphs2xjvaz92jgq6s"))))
(build-system emacs-build-system)
(home-page "https://github.com/girzel/ebdb")
(synopsis "EIEIO port of BBDB, Emacs's contact-management package")
@ -28912,7 +28987,7 @@ and preferred services can easily be configured.")
(define-public emacs-vertico
(package
(name "emacs-vertico")
(version "0.13")
(version "0.14")
(source
(origin
(method git-fetch)
@ -28921,7 +28996,7 @@ and preferred services can easily be configured.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "09zrrjbfbvj5lfrgjq21nsavdm69iwdsa0a80618v7xlkfk56wf1"))))
(base32 "0rddk76ih44b574lsr6d6r9wa2l7c9zlb9kcyw5xvly17ciiq16h"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))

View File

@ -1947,11 +1947,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

View File

@ -1169,16 +1169,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 +1209,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

View File

@ -501,7 +501,7 @@ do so.")
(define-public electrum
(package
(name "electrum")
(version "4.0.9")
(version "4.1.5")
(source
(origin
(method url-fetch)
@ -509,7 +509,7 @@ do so.")
version "/Electrum-"
version ".tar.gz"))
(sha256
(base32 "1fvjiagi78f32nxgr2rx8jas8hxfvpp1c8fpfcalvykmlhdc2gva"))
(base32 "188r4zji985z8pm9b942xhmvv174yndk6jxagxl7ljk03wl2wiwi"))
(modules '((guix build utils)))
(snippet
'(begin
@ -523,7 +523,7 @@ 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)

View File

@ -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
@ -2111,6 +2112,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")

View File

@ -63,6 +63,7 @@
;;; 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.
;;;
@ -552,6 +553,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")
@ -6530,14 +6572,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
@ -6917,7 +6959,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
@ -6925,7 +6967,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
@ -6934,8 +6976,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)))
@ -6958,8 +6999,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"
@ -7024,8 +7064,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 MajEyal (ToME) RPG, featuring tactical turn-based
combat and advanced character building. Play as one of many unique races and
@ -7152,15 +7191,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")))
@ -8332,38 +8382,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)
@ -8995,7 +9040,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
@ -9004,7 +9049,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
@ -9023,7 +9068,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
@ -9032,7 +9077,7 @@ action RPGs.")
(file-name (git-file-name name version))
(sha256
(base32
"0bd5g7sd89a9176ilr408hdqzdfv4j7wj0idd685c1n6s01c3h6p"))))
"0h9i128kq6disppbrplkf13zdmsg4cq23nim53mgwpawc4mqz7ga"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no test
@ -11996,7 +12041,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"))))

View File

@ -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)))

View File

@ -11950,7 +11950,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(define-public komikku
(package
(name "komikku")
(version "0.29.2")
(version "0.30.0")
(source
(origin
(method git-fetch)
@ -11960,7 +11960,7 @@ integrated profiler via Sysprof, debugging support, and more.")
(file-name (git-file-name name version))
(sha256
(base32
"0g1whk0y3k1cy6ix20gz226ww1vzpb9hinn5d24z6j38mdgqqa5l"))))
"1l6iqxa497fisn64mn2qgia4y6zryfa5pbnd8609flfi9qmgrzn7"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
@ -11998,6 +11998,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)

View File

@ -691,8 +691,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.13.0-guix0-preview1")
(define %icecat-build-id "20210810000000") ;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 +714,7 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"043lplq5i4ax6nh4am3b2bm8dbn4rzzcji1zp0yy1pad4nwahmcb"))))
"0v2g5clp9qlsbqfjb6yz614nq8x8c4k1p6m4axyv6g27qbiaky8r"))))
(upstream-icecat-base-version "78.7.0") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
@ -1304,11 +1304,11 @@ standards of the IceCat project.")
(cpe-version . ,(first (string-split version #\-)))))))
;; Update this together with icecat!
(define %icedove-build-id "20210713000000") ;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.12.0")
(version "78.13.0")
(source icecat-source)
(properties
`((cpe-name . "thunderbird_esr")))
@ -1592,7 +1592,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 "6796ff47626a009d169a1e9fd1f307a6c14b7ed5"))
,(let ((changeset "adcfedf831da719455116546865f9a5faea848a6"))
(origin
(method hg-fetch)
(uri (hg-reference
@ -1601,7 +1601,7 @@ standards of the IceCat project.")
(file-name (string-append "thunderbird-" version "-checkout"))
(sha256
(base32
"1nnz90h5w9skpdwm8ilndcwfx9d7k9cn6gzh32y4jil95da13813")))))
"1dahf3y8bm3kh7amf341wnmh82a2r0ksqihc6dwiakh6x86a94cm")))))
("autoconf" ,autoconf-2.13)
("cargo" ,rust "cargo")
("clang" ,clang)

File diff suppressed because it is too large Load Diff

View File

@ -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))

View File

@ -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

View File

@ -2683,14 +2683,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

View File

@ -344,14 +344,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "8.20210714")
(version "8.20210803")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "0pkzqa8qmckv4fcc9pndlplz4w0ndlqkp18hx6pyycckycljdyzy"))))
(base32 "0777q454bgkzr930wacn48xm6ygi4i6rxsizvxjm3a0dlffnv3b2"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags

View File

@ -4,7 +4,7 @@
;;; 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>
;;;
@ -356,7 +356,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 +366,7 @@ Japanese language input in most graphical applications.")
(file-name (git-file-name name version))
(sha256
(base32
"1avmy2yyag22cl2j8085n5czsk93sxv440pdb3a2diwcxwwmzm9v"))
"0pqk0i3zcii3fx5laj9qzbgd58jvq6wn31j76w4zix2i4b1lqcqv"))
(modules '((guix build utils)))
(snippet
'(begin
@ -409,38 +409,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 +446,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 +459,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 +519,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 +549,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 +649,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 +678,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 +722,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)

View File

@ -2265,7 +2265,7 @@ focus on speed and slick struct mapping.")
(define-public julia-lazyarrays
(package
(name "julia-lazyarrays")
(version "0.21.11")
(version "0.21.14")
(source
(origin
(method git-fetch)
@ -2274,7 +2274,7 @@ focus on speed and slick struct mapping.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1vdli4zr94xhrx5bpvrqiysz21nzlcgmqz0zhza1ayw0zjgzihfw"))))
(base32 "130kqyfk0h17s9dr9r1p9n1dgvzzlb1jwn6pj14lwr83s36glpv1"))))
(build-system julia-build-system)
(propagated-inputs
`(("julia-arraylayouts" ,julia-arraylayouts)

View File

@ -32,7 +32,6 @@
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages base)
#:use-module (gnu packages certs)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
@ -273,7 +272,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
(define-public julia
(package
(name "julia")
(version "1.6.1")
(version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -281,7 +280,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
version "/julia-" version ".tar.gz"))
(sha256
(base32
"1mfzbjyqcmx7wb1sa7qab5fl78yzd7ap088krqbphbwvpn880srn"))
"0plbj4laifzz8ppk889iv3gaxj1mdddzv7yad6ghml6bfnn24r6m"))
(patches
(search-patches "julia-SOURCE_DATE_EPOCH-mtime.patch"))))
(build-system gnu-build-system)
@ -341,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))
@ -484,9 +503,6 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
"@test_broken ispath(ca_roots_path())")
(("@test ca_roots_path\\(\\) \\!= bundled_ca_roots\\(\\)")
"@test_broken ca_roots_path() != bundled_ca_roots()"))
;; Some digraphs are too wide for some terminals during testing.
(substitute* "stdlib/Unicode/test/runtests.jl"
(("test collect\\(graphemes") "test_broken collect(grapemes"))
;; WARNING: failed to select UTF-8 encoding, using ASCII
;; Using 'setlocale' doesn't affect the test failures.
;(setlocale LC_ALL "en_US.utf8")
@ -644,8 +660,7 @@ libraries. It is also a bit like @code{ldd} and @code{otool -L}.")
("dsfmt" ,dsfmt)
("libwhich" ,libwhich)))
(native-inputs
`(("nss-certs" ,nss-certs)
("openssl" ,openssl)
`(("openssl" ,openssl)
("perl" ,perl)
("patchelf" ,patchelf)
("pkg-config" ,pkg-config)

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 20192021 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

View File

@ -225,14 +225,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 +257,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

View File

@ -356,7 +356,7 @@ 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.7")
(define-public linux-libre-5.13-version "5.13.9")
(define deblob-scripts-5.13
(linux-libre-deblob-scripts
linux-libre-5.13-version
@ -364,7 +364,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "153jf5l5x4438zgxwggaky2ahjlfl48j438vhpzks6h77lzc51a5")))
(define-public linux-libre-5.13-pristine-source
(let ((version linux-libre-5.13-version)
(hash (base32 "0fg41dv62vsnv2hywym15zz0n08rhdzwqvcarspm9r5gac85c7pr")))
(hash (base32 "16hm6sb64f1hlr0qmf2w81zv55s6flj1x8jr2q326d9ny30przkj")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.13)))
@ -372,7 +372,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; 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.55")
(define-public linux-libre-5.10-version "5.10.57")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
linux-libre-5.10-version
@ -380,12 +380,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0c9x07gplzajm0h5if3fpw2rvfb7psw3yp7i2n6ws7ggq1dvmki2")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "12c8zrbj2c578ysz6j72g4azk0wj39z4aay3bjy9b837mlyi30bm")))
(hash (base32 "0b8lwfjlyd6j0csk71v07bxb5lrrzp545g1wv6kdk0kzq6maxfq0")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.137")
(define-public linux-libre-5.4-version "5.4.139")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
@ -393,12 +393,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xghbbnaisjd0k1klbyn1p7r6r4x5a1bpmkm56a3gh2zvw4s7mj8")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "0z0zlfm9jkwk3wi059q66xjx33qk2zpjk8ndhzlbvn75dhv5x7ph")))
(hash (base32 "0zx3hj8fc0qpdmkn56cna5438wjxmj42a69msbkxlg4mnz6d0w84")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.200")
(define-public linux-libre-4.19-version "4.19.202")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@ -406,12 +406,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "06q8ws1lsrvhssp9qwdlq47sbsf7wzzxbp97sdjfnvmlqvchjx1h")))
(hash (base32 "09ya7n0il8fipp8ksb8cyl894ihny2r75g70vbhclbv20q2pv0pj")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.241")
(define-public linux-libre-4.14-version "4.14.243")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@ -419,12 +419,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0zczi2hv6ib67niycn6s2gaw73y0nxz0c75w11xa4jqmf2xh9fxm")))
(hash (base32 "0wdk93qv91pa6bd3ff1gv7manhkzh190c5blcpl14cbh9m2ms8vz")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.277")
(define-public linux-libre-4.9-version "4.9.279")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@ -432,12 +432,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "1pkjcz9llc7hkmzfyjcx20b5njnqbkwlzyy1ncc8na71nn6rvsg6")))
(hash (base32 "01rf3xh2jcz6l2h79g0m02i8f9q51j64wvgvzi8lmq0gx9yvbv91")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.277")
(define-public linux-libre-4.4-version "4.4.280")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@ -445,7 +445,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
(hash (base32 "1m5zkssh523f15fvy80rcvfwqzdkldz3jhny6vbaj8q0zvk3w5r5")))
(hash (base32 "1b9jx9zkycj0xjmy35890q5phiznayaz730dmsv3mdjg4qgfn18y")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@ -3568,7 +3568,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

View File

@ -903,7 +903,7 @@ the HTML documentation of TXR.")
(define-public txr
(package
(name "txr")
(version "266")
(version "268")
(source
(origin
(method git-fetch)
@ -912,7 +912,7 @@ the HTML documentation of TXR.")
(commit (string-append "txr-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1k9mj3zaxdsylgnb8g6cq0cmp6420x7fp3nnsqdmds4gh8ib95wn"))))
(base32 "0q97qddbgk9356gx4xp8iip4pwj3ln03dvjfgrny76f3wmmiwsw6"))))
(build-system gnu-build-system)
(native-inputs
;; Required to build the documentation.
@ -957,10 +957,7 @@ the HTML documentation of TXR.")
(lambda _
(substitute* (list "tests/017/realpath.tl"
"tests/017/realpath.expected")
(("/usr/bin") "/"))
(substitute* "tests/018/path-test.tl"
(("/bin") (dirname (which "sh"))))
#t))
(("/usr/bin") "/"))))
(replace 'configure
;; ./configure is a hand-written script that can't handle standard
;; autotools arguments like CONFIG_SHELL.

View File

@ -1253,6 +1253,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)

View File

@ -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,10 +65,12 @@
#: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)
@ -86,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)
@ -660,6 +664,50 @@ standard data types.")
;; 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")
@ -701,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)
@ -737,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
@ -758,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")
@ -2030,6 +2114,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")
@ -2194,8 +2447,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))
@ -2208,18 +2461,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
@ -2265,7 +2520,7 @@ general non-linear dimension reduction.")
(package
(name "xnnpack")
(version (git-version version revision commit))
(home-page "https://github.com/google/XNNPACK")
(home-page "https://github.com/google/XNNPACK") ;fork of QNNPACK
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
@ -2305,3 +2560,134 @@ 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)))

View File

@ -499,7 +499,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 +507,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)))
@ -1147,7 +1147,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
(define-public mu
(package
(name "mu")
(version "1.4.15")
(version "1.6.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/djcb/mu/releases/"
@ -1155,7 +1155,7 @@ security functionality including PGP, S/MIME, SSH, and SSL.")
"mu-" version ".tar.xz"))
(sha256
(base32
"0ailz0k5fdgq6gdl5m7jxy315b7qn5ckj6xwd49hsiq9vqblwlpp"))))
"0jlpkx1486ac8649jc2kxjklzsfaxj9qf2kji4kszy4axd0iwi1p"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -1164,7 +1164,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 +1182,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 +1206,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
@ -1634,7 +1624,7 @@ compresses it.")
(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 "/usr/sbin/sendmail")))
(sendmail (string-append send-mail "/sbin/sendmail")))
(substitute* "src/common/defs.h"
(("/usr/bin/mh/inc") inc)
(("/usr/sbin/sendmail") sendmail)))))
@ -1873,7 +1863,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)
@ -1881,7 +1871,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)))
@ -1942,7 +1932,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)
@ -1950,7 +1940,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
@ -2881,6 +2871,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 _
@ -2892,6 +2889,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')
@ -2910,13 +2912,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))

View File

@ -124,6 +124,7 @@
#: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)
@ -141,6 +142,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)
@ -176,6 +178,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")
@ -4610,6 +4645,154 @@ 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 backslashnumber
;; 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")
@ -4705,6 +4888,7 @@ in finite element programs.")
("p4est" ,p4est-openmpi)
("petsc" ,petsc-openmpi)
("slepc" ,slepc-openmpi)
("trilinos" ,trilinos-for-dealii-openmpi)
,@(alist-delete "hdf5" (package-propagated-inputs dealii))))
(arguments
(substitute-keyword-arguments (package-arguments dealii)
@ -6735,3 +6919,103 @@ when an application performs repeated divisions by the same divisor.")
"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))))

View File

@ -2,7 +2,7 @@
;;; 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 © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
@ -372,7 +372,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 +382,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

View File

@ -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")))

View File

@ -40,6 +40,7 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@ -177,18 +178,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
@ -228,7 +230,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)))
@ -248,9 +250,9 @@
("libcddb" ,libcddb)
("libcdio-paranoia" ,libcdio-paranoia)
("libcue" ,libcue)
("libmodplug" ,libmodplug)
("libnotify" ,libnotify)
("libogg" ,libogg)
("libopenmpt" ,libopenmpt)
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
("libvorbis" ,libvorbis)

View File

@ -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>
@ -3826,22 +3826,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
@ -3853,7 +3862,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

View File

@ -4479,12 +4479,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
@ -6543,7 +6538,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)
@ -6553,24 +6548,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
@ -6975,6 +6960,196 @@ 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.18.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
"0n6363km8xr81pvyk453n6h2mb0256c5yxw3p1li4dn83f3lwxr1"))))
(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-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")

View File

@ -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

View File

@ -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
)

View File

@ -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"});
}

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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})

View File

@ -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}"

View File

@ -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);

View File

@ -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())
}
})
}

View File

@ -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

View File

@ -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"))

View File

@ -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)

View File

@ -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)

View File

@ -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})

View File

@ -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

View File

@ -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

View File

@ -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" \

View File

@ -486,6 +486,24 @@ 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 "ocl-icd") "/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 +534,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)
@ -769,7 +783,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 +823,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

View File

@ -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

View File

@ -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

View File

@ -138,9 +138,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 +257,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 +833,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")

View File

@ -282,14 +282,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)))
@ -304,6 +304,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")
@ -6142,3 +6154,43 @@ 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)))

View File

@ -8516,13 +8516,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
@ -17377,39 +17377,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 dont have to record and
playback actions and you dont have to inspect your fakes after running code.
If the fake object was used incorrectly then youll 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")
@ -26041,3 +26008,77 @@ enabling you to write CommonMark inside of Docutils & Sphinx projects.")
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))))

View File

@ -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 dont 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

View File

@ -872,7 +872,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 +881,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)

View File

@ -0,0 +1,365 @@
;;;
;;; 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 llvm-for-rocm
(hidden-package
(package
;; Actually based on LLVM 13 as of v4.3, but llvm-12 works just fine.
(inherit llvm-12)
(name "llvm-for-rocm")
(version %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=")))))))
(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)
("ocl-icd" ,ocl-icd)
("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)))

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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"))))))))

View File

@ -621,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++,

File diff suppressed because it is too large Load Diff

View File

@ -351,8 +351,8 @@ resolution scaling on graphical console window resize.")
(build-system meson-build-system)
(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")

View File

@ -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.
;;;
@ -6300,3 +6301,35 @@ 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)))

View File

@ -8,6 +8,7 @@
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 20182021 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")

View File

@ -474,9 +474,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)

View File

@ -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+)))

View File

@ -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 © 20172019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20172021 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)
@ -1034,6 +1035,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
@ -1099,3 +1108,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

View File

@ -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)))

View File

@ -1036,7 +1036,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)))
@ -1603,7 +1603,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/"
@ -1611,7 +1611,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

View File

@ -781,7 +781,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 +790,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)
@ -4752,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.1")
(source
(origin
(method git-fetch)
@ -4761,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 "15ngaqyjbwkj0rd9mvxaqf3i9vzsnlrqgr50cnxxjqnpf7xdmslj"))))
(build-system meson-build-system)
(native-inputs `(("nasm" ,nasm)))
(home-page "https://code.videolan.org/videolan/dav1d")

View File

@ -303,7 +303,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 +311,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 +490,7 @@ interface.")
(define-public qutebrowser
(package
(name "qutebrowser")
(version "2.2.2")
(version "2.3.1")
(source
(origin
(method url-fetch)
@ -498,7 +498,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

View File

@ -1382,8 +1382,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)
@ -1393,10 +1392,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

View File

@ -50,6 +50,7 @@
;;; 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>
;;;
;;; This file is part of GNU Guix.
;;;
@ -101,6 +102,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)
@ -912,6 +914,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")

View File

@ -1243,7 +1243,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/"
@ -1251,7 +1251,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

Some files were not shown because too many files have changed in this diff Show More