1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00

Merge branch 'master' into gnome-team

This commit is contained in:
Liliana Marie Prikler
2023-10-09 21:21:29 +02:00
113 changed files with 85482 additions and 33070 deletions

View File

@@ -410,6 +410,10 @@ AUX_FILES = \
gnu/packages/aux-files/chromium/master-preferences.json \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/guix.vim \
gnu/packages/aux-files/linux-libre/6.5-arm.conf \
gnu/packages/aux-files/linux-libre/6.5-arm64.conf \
gnu/packages/aux-files/linux-libre/6.5-i686.conf \
gnu/packages/aux-files/linux-libre/6.5-x86_64.conf \
gnu/packages/aux-files/linux-libre/6.4-arm.conf \
gnu/packages/aux-files/linux-libre/6.4-arm64.conf \
gnu/packages/aux-files/linux-libre/6.4-i686.conf \

View File

@@ -23,6 +23,7 @@ choice.
* Building from Git:: The latest and greatest.
* Running Guix Before It Is Installed:: Hacker tricks.
* The Perfect Setup:: The right tools.
* Alternative Setups:: Other posible tools that do the job.
* Packaging Guidelines:: Growing the distribution.
* Coding Style:: Hygiene of the contributor.
* Submitting Patches:: Share your work.
@@ -427,9 +428,13 @@ configuration file:
(zero-or-one
(seq "#" (one-or-more
(char "0-9"))))))
(seq "<https://bugs.gnu.org/"
(seq (? "<") "https://bugs.gnu.org/"
(group-n 2 (one-or-more (char "0-9")))
">")))))
(? ">"))
(seq (? "<") "https://issues.guix.gnu.org/"
(? "issue/")
(group-n 2 (one-or-more (char "0-9")))
(? ">"))))))
(setq bug-reference-url-format "https://issues.guix.gnu.org/%s")
(require 'debbugs)
@@ -453,6 +458,83 @@ For more information, refer to @ref{Bug Reference,,, emacs, The GNU
Emacs Manual} and @ref{Minor Mode,,, debbugs-ug, The Debbugs User
Guide}.
@node Alternative Setups
@section Alternative Setups
Alternative setups than Emacs may let you work on Guix with a
similar development experience and they might work better with the
tools you currently use or help you make the transition to Emacs.
The options listed below only provide the alternatives to the Emacs
based setup, which is the most widely used in the Guix community. If
you want to really understand how is the perfect setup for Guix
development supposed to work, we encourage you to read the section
before this regardless the editor you choose to use.
@menu
* Guile Studio:: First step in your transition to Emacs.
* Vim and NeoVim:: When you are evil to the root.
@end menu
@node Guile Studio
@subsection Guile Studio
Guile Studio is a pre-configured Emacs with mostly everything you need
to start hacking in Guile. If you are not familiar with Emacs it makes
the transition easier for you.
@example
guix install guile-studio
@end example
Guile Studio comes with Geiser preinstalled and prepared for action.
@node Vim and NeoVim
@subsection Vim and NeoVim
Vim (and NeoVim) are also packaged in Guix, just in case you decided
to go for the evil path.
@example
guix install vim
@end example
If you want to enjoy a similar development experience to that in the perfect
setup, you should install several plugins to configure the editor. Vim (and
NeoVim) have the equivalent to Paredit,
@uref{https://www.vim.org/scripts/script.php?script_id=3998,
@code{paredit.vim}}, that will help you with the structural editing of Scheme
files (the support for very large files is not great, though).
@example
guix install vim-paredit
@end example
We also recommend that you run @code{:set autoindent} so that your code is
automatically indented as you type.
For the interaction with Git,
@uref{https://www.vim.org/scripts/script.php?script_id=2975
@code{fugitive.vim}} is the most commonly used plugin:
@example
guix install vim-fugitive
@end example
And of course if you want to interact with Guix directly from inside of
vim, using the built-in terminal emulator, we have our very own
@code{guix.vim} package!
@example
guix install vim-guix-vim
@end example
In NeoVim you can even make a similar setup to Geiser using
@url{https://conjure.fun/, Conjure} that lets you connect to a running Guile
process and inject your code there live (sadly it's not packaged in Guix yet).
@node Packaging Guidelines
@section Packaging Guidelines
@@ -1226,6 +1308,17 @@ Guile Reference Manual}); pattern matching for records is better done
using @code{match-record} from @code{(guix records)}, which, unlike
@code{match}, verifies field names at macro-expansion time.
When defining a new record type, keep the @dfn{record type descriptor}
(RTD) private (@pxref{Records,,, guile, GNU Guile Reference Manual}, for
more on records and RTDs). As an example, the @code{(guix packages)}
module defines @code{<package>} as the RTD for package records but it
does not export it; instead, it exports a type predicate, a constructor,
and field accessors. Exporting RTDs would make it harder to change the
application binary interface (because code in other modules might be
matching fields by position) and would make it trivial for users to
forge records of that type, bypassing any checks we may have in the
official constructor (such as ``field sanitizers'').
@node Formatting Code
@subsection Formatting Code
@@ -1257,13 +1350,6 @@ rules. To automatically indent a package definition, you can also run:
@noindent
@xref{Invoking guix style}, for more information.
@cindex Vim, Scheme code editing
If you are editing code with Vim, we recommend that you run @code{:set
autoindent} so that your code is automatically indented as you type.
Additionally,
@uref{https://www.vim.org/scripts/script.php?script_id=3998,
@code{paredit.vim}} may help you deal with all these parentheses.
We require all top-level procedures to carry a docstring. This
requirement can be relaxed for simple private procedures in the
@code{(guix build @dots{})} name space, though.

View File

@@ -1485,6 +1485,14 @@ name, and they will be scheduled on matching build machines.
@end table
@end deftp
@quotation Note
On Guix System, instead of managing @file{/etc/guix/machines.scm}
independently, you can choose to specify build machines directly in the
@code{operating-system} declaration, in the @code{build-machines} field
of @code{guix-configuration}. @xref{guix-configuration-build-machines,
@code{build-machines} field of @code{guix-configuration}}.
@end quotation
The @command{guix} command must be in the search path on the build
machines. You can check whether this is the case by running:
@@ -5665,7 +5673,7 @@ Generation 19 Aug 27 2018 16:20:48
@noindent
The output of @command{guix describe} above shows that we're now running
Generation@tie{}19 and that it includes
both Guix and packages from the @code{variant-personal-packages} channel
both Guix and packages from the @code{variant-packages} channel
(@pxref{Invoking guix describe}).
@node Using a Custom Guix Channel
@@ -19263,6 +19271,28 @@ The type of compression used for build logs---one of @code{gzip},
Whether to discover substitute servers on the local network using mDNS
and DNS-SD.
@anchor{guix-configuration-build-machines}
@item @code{build-machines} (default: @code{#f})
This field must be either @code{#f} or a list of gexps evaluating to a
@code{build-machine} record (@pxref{Daemon Offload Setup}).
When it is @code{#f}, the @file{/etc/guix/machines.scm} file is left
untouched. Otherwise, the list of of gexps is written to
@file{/etc/guix/machines.scm}; if a previously-existing file is found,
it is backed up as @file{/etc/guix/machines.scm.bak}. This allows you
to declare build machines for offloading directly in the operating
system declaration, like so:
@lisp
(guix-configuration
(build-machines
(list #~(build-machine (name "foo.example.org") @dots{})
#~(build-machine (name "bar.example.org") @dots{}))))
@end lisp
Additional build machines may be added @i{via} the @code{guix-extension}
mechanism (see below).
@item @code{extra-options} (default: @code{'()})
List of extra command-line options for @command{guix-daemon}.
@@ -19300,7 +19330,6 @@ Environment variables to be set before starting the daemon, as a list of
@end deftp
@deftp {Data Type} guix-extension
This data type represents the parameters of the Guix build daemon that
are extendable. This is the type of the object that must be used within
a guix service extension.
@@ -19313,6 +19342,16 @@ A list of file-like objects where each element contains a public key.
@item @code{substitute-urls} (default: @code{'()})
A list of strings where each element is a substitute URL.
@item @code{build-machines} (default: @code{'()})
A list of gexps that evaluate to @code{build-machine} records
(@pxref{Daemon Offload Setup}).
Using this field, a service may add new build machines to receive builds
offloaded by the daemon. This is useful for a service such as
@code{hurd-vm-service-type}, which can make a GNU/Hurd virtual machine
directly usable for offloading (@pxref{hurd-vm,
@code{hurd-vm-service-type}}).
@item @code{chroot-directories} (default: @code{'()})
A list of file-like objects or strings pointing to additional directories the build daemon can use.
@end table
@@ -28149,7 +28188,7 @@ to maintain communication between devices on such network even when the
connection to the Internet has been lost. When left unspecified,
the value from the account archive prevails.
@item @code{bootstrap-hostnames} (type: maybe-string-list)
@item @code{bootstrap-hostnames} (type: maybe-list-of-strings)
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.
@@ -34470,7 +34509,7 @@ The group to run mpd as.
The default @code{%mpd-group} is a system group with name ``mpd''.
@item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbol)
@item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbols)
A list of symbols naming Shepherd services that this service
will depend on.
@@ -34720,7 +34759,7 @@ Available @code{mympd-configuration} fields are:
@item @code{package} (default: @code{mympd}) (type: file-like)
The package object of the myMPD server.
@item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbol)
@item @code{shepherd-requirement} (default: @code{'()}) (type: list-of-symbols)
This is a list of symbols naming Shepherd services that this service
will depend on.
@@ -35654,6 +35693,7 @@ host. If empty, QEMU uses a default file name.
@end deftp
@anchor{hurd-vm}
@subsubheading The Hurd in a Virtual Machine
@cindex @code{hurd}
@@ -35682,10 +35722,14 @@ guix shell tigervnc-client -- vncviewer localhost:5900
The default configuration (see @code{hurd-vm-configuration} below)
spawns a secure shell (SSH) server in your GNU/Hurd system, which QEMU
(the virtual machine emulator) redirects to port 10222 on the host.
Thus, you can connect over SSH to the childhurd with:
By default, the service enables @dfn{offloading} such that the host
@code{guix-daemon} automatically offloads GNU/Hurd builds to the
childhurd (@pxref{Daemon Offload Setup}). This is what happens when
running a command like the following one, where @code{i586-gnu} is the
system type of 32-bit GNU/Hurd:
@example
ssh root@@localhost -p 10022
guix build emacs-minimal -s i586-gnu
@end example
The childhurd is volatile and stateless: it starts with a fresh root
@@ -35696,6 +35740,57 @@ initialize ``secrets'' inside the VM: SSH host keys, authorized
substitute keys, and so on---see the explanation of @code{secret-root}
below.
You will probably find it useful to create an account for you in the
GNU/Hurd virtual machine and to authorize logins with your SSH key. To
do that, you can define the GNU/Hurd system in the usual way
(@pxref{Using the Configuration System}), and then pass that operating
system as the @code{os} field of @code{hurd-vm-configuration}, as in
this example:
@lisp
(define childhurd-os
;; Definition of my GNU/Hurd system, derived from the default one.
(operating-system
(inherit %hurd-vm-operating-system)
;; Add a user account.
(users (cons (user-account
(name "charlie")
(comment "This is me!")
(group "users")
(supplementary-groups '("wheel"))) ;for 'sudo'
%base-user-accounts))
(services
;; Modify the SSH configuration to allow login as "root"
;; and as "charlie" using public key authentication.
(modify-services (operating-system-user-services
%hurd-vm-operating-system)
(openssh-service-type
config => (openssh-configuration
(inherit config)
(authorized-keys
`(("root"
,(local-file
"/home/charlie/.ssh/id_rsa.pub"))
("charlie"
,(local-file
"/home/charlie/.ssh/id_rsa.pub"))))))))))
(operating-system
;; @dots{}
(services
;; Add the 'hurd-vm' service, configured to use the
;; operating system configuration above.
(append (list (service hurd-vm-service-type
(hurd-vm-configuration
(os %childhurd-os))))
%base-services)))
@end lisp
That's it! The remainder of this section provides the reference of the
service configuration.
@defvar hurd-vm-service-type
This is the type of the Hurd in a Virtual Machine service. Its value
must be a @code{hurd-vm-configuration} object, which specifies the
@@ -35730,8 +35825,8 @@ permissive OpenSSH secure shell daemon listening on port 2222
The QEMU package to use.
@item @code{image} (default: @var{hurd-vm-disk-image})
The procedure used to build the disk-image built from this
configuration.
The image object representing the disk image of this virtual machine
(@pxref{System Images}).
@item @code{disk-size} (default: @code{'guess})
The size of the disk image.
@@ -35769,6 +35864,41 @@ with forwarded ports:
@var{vnc-port}: @code{(+ 15900 (* 1000 @var{ID}))}
@end example
@cindex childhurd, offloading
@cindex Hurd, offloading
@item @code{offloading?} (default: @code{#t})
Whether to automatically set up offloading of builds to the childhurd.
When enabled, this lets you run GNU/Hurd builds on the host and have
them transparently offloaded to the VM, for instance when running a
command like this:
@example
guix build coreutils -s i586-gnu
@end example
This option automatically sets up offloading like so:
@enumerate
@item
Authorizing the childhurd's key on the host so that the host accepts
build results coming from the childhurd, which can be done like so
(@pxref{Invoking guix archive, @command{guix archive --authorize}}, for
more on that).
@item
Creating a user account called @code{offloading} dedicated to offloading
in the childhurd.
@item
Creating an SSH key pair on the host and making it an authorized key of
the @code{offloading} account in the childhurd.
@item
Adding the childhurd to @file{/etc/guix/machines.scm} (@pxref{Daemon
Offload Setup}).
@end enumerate
@item @code{secret-root} (default: @file{/etc/childhurd})
The root directory with out-of-band secrets to be installed into the
childhurd once it runs. Childhurds are volatile which means that on
@@ -35786,38 +35916,13 @@ with the following non-volatile secrets, unless they already exist:
/etc/childhurd/etc/guix/acl
/etc/childhurd/etc/guix/signing-key.pub
/etc/childhurd/etc/guix/signing-key.sec
/etc/childhurd/etc/ssh/authorized_keys.d/offloading
/etc/childhurd/etc/ssh/ssh_host_ed25519_key
/etc/childhurd/etc/ssh/ssh_host_ecdsa_key
/etc/childhurd/etc/ssh/ssh_host_ed25519_key.pub
/etc/childhurd/etc/ssh/ssh_host_ecdsa_key.pub
@end example
These files are automatically sent to the guest Hurd VM when it boots,
including permissions.
@cindex childhurd, offloading
@cindex Hurd, offloading
Having these files in place means that only a couple of things are
missing to allow the host to offload @code{i586-gnu} builds to the
childhurd:
@enumerate
@item
Authorizing the childhurd's key on the host so that the host accepts
build results coming from the childhurd, which can be done like so:
@example
guix archive --authorize < \
/etc/childhurd/etc/guix/signing-key.pub
@end example
@item
Adding the childhurd to @file{/etc/guix/machines.scm} (@pxref{Daemon
Offload Setup}).
@end enumerate
We're working towards making that happen automatically---get in touch
with us at @email{guix-devel@@gnu.org} to discuss it!
@end table
@end deftp
@@ -42471,54 +42576,33 @@ and to make it easier to create Scheme bindings for these configuration
files, you can use the utilities defined in the @code{(gnu services
configuration)} module.
The main utility is the @code{define-configuration} macro, which you
will use to define a Scheme record type (@pxref{Record Overview,,,
guile, GNU Guile Reference Manual}). The Scheme record will be
serialized to a configuration file by using @dfn{serializers}, which are
procedures that take some kind of Scheme value and returns a
G-expression (@pxref{G-Expressions}), which should, once serialized to
the disk, return a string. More details are listed below.
The main utility is the @code{define-configuration} macro, a helper
used to define a Scheme record type (@pxref{Record Overview,,,
guile, GNU Guile Reference Manual}). The fields from this Scheme record
can be serialized using @dfn{serializers}, which are procedures that take
some kind of Scheme value and translates them into another Scheme value or
@ref{G-Expressions}.
@defmac define-configuration name clause1 clause2 @dots{}
Create a record type named @code{@var{name}} that contains the
fields found in the clauses.
A clause can have one of the following forms:
A clause has the following form:
@example
(@var{field-name}
(@var{type} @var{default-value})
@var{documentation})
(@var{field-name}
(@var{type} @var{default-value})
@var{type-decl}
@var{documentation}
(serializer @var{serializer}))
(@var{field-name}
(@var{type})
@var{documentation})
(@var{field-name}
(@var{type})
@var{documentation}
(serializer @var{serializer}))
(@var{field-name}
(@var{type})
@var{documentation}
(sanitizer @var{sanitizer})
(@var{field-name}
(@var{type})
@var{documentation}
(sanitizer @var{sanitizer})
(serializer @var{serializer}))
@var{option*}
@dots{})
@end example
@var{field-name} is an identifier that denotes the name of the field in
the generated record.
@var{type-decl} is either @code{@var{type}} for fields that require a
value to be set or @code{(@var{type} @var{default})} otherwise.
@var{type} is the type of the value corresponding to @var{field-name};
since Guile is untyped, a predicate
procedure---@code{@var{type}?}---will be called on the value
@@ -42536,6 +42620,28 @@ an object of the record type.
@var{documentation} is a string formatted with Texinfo syntax which
should provide a description of what setting this field does.
@var{option*} is one of the following subclauses:
@table @asis
@item @code{empty-serializer}
Exclude this field from serialization.
@item @code{(serializer @var{serializer})}
@var{serializer} is the name of a procedure which takes two arguments,
the first is the name of the field, and the second is the value
corresponding to the field. The procedure should return a string or
@ref{G-Expressions} that represents the content that will be serialized
to the configuration file. If none is specified, a procedure of the
name @code{serialize-@var{type}} will be used.
An example of a simple serializer procedure:
@lisp
(define (serialize-boolean field-name value)
(let ((value (if value "true" "false")))
#~(string-append '#$field-name " = " #$value)))
@end lisp
@item @code{(sanitizer @var{sanitizer})}
@var{sanitizer} is a procedure which takes one argument,
a user-supplied value, and returns a ``sanitized'' value for the field.
If no sanitizer is specified, a default sanitizer is used, which raises
@@ -42549,21 +42655,7 @@ symbols looks like this:
((symbol? value) (symbol->string value))
(else (error "bad value"))))
@end lisp
@var{serializer} is the name of a procedure which takes two arguments,
the first is the name of the field, and the second is the value
corresponding to the field. The procedure should return a string or
G-expression (@pxref{G-Expressions}) that represents the content that
will be serialized to the configuration file. If none is specified, a
procedure of the name @code{serialize-@var{type}} will be used.
A simple serializer procedure could look like this:
@lisp
(define (serialize-boolean field-name value)
(let ((value (if value "true" "false")))
#~(string-append #$field-name #$value)))
@end lisp
@end table
In some cases multiple different configuration records might be defined
in the same file, but their serializers for the same type might have to
@@ -42584,13 +42676,13 @@ manually specify a custom @var{serializer} for every field.
(define-configuration foo-configuration
(label
(string)
string
"The name of label.")
(prefix foo-))
(define-configuration bar-configuration
(ip-address
(string)
string
"The IPv4 address for this device.")
(prefix bar-))
@end lisp
@@ -42682,11 +42774,6 @@ Return a G-expression that contains the values corresponding to the
disk by using something like @code{mixed-text-file}.
@end deffn
@deffn {Procedure} empty-serializer field-name value
A serializer that just returns an empty string. The
@code{serialize-package} procedure is an alias for this.
@end deffn
Once you have defined a configuration record, you will most likely also
want to document it so that other people know to use it. To help with
that, there are two procedures, both of which are documented below.
@@ -42789,7 +42876,7 @@ Below is an example of a record type created using
(define-configuration contact-configuration
(name
(string)
string
"The name of the contact."
serialize-contact-name)
(phone-number
@@ -42799,15 +42886,15 @@ Below is an example of a record type created using
maybe-string
"The person's email address.")
(married?
(boolean)
boolean
"Whether the person is married."))
(define-configuration contacts-list-configuration
(name
(string)
string
"The name of the owner of this contact list.")
(email
(string)
string
"The owner's email address.")
(contacts
(list-of-contact-configurations '())
@@ -44133,7 +44220,7 @@ Extra options will be passed to @command{ssh-agent}, please run
@cindex GNU Privacy Guard, Home service
@cindex GPG, Home service
The @code{(gnu home services gnupg)} modules provides services that help
The @code{(gnu home services gnupg)} module provides services that help
you set up the GNU Privacy Guard, also known as GnuPG or GPG, in your
home environment.

View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2021-2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -94,34 +94,41 @@ an empty directory if ORIGIN could not be disassembled."
(#f "anonymous-tarball.dis"))
build))
(define (disarchive-collection origins)
"Return a directory containing all the Disarchive metadata for ORIGINS."
(directory-union "disarchive-collection"
(filter-map (lambda (origin)
(and (tarball-origin? origin)
;; Dismiss origins with (sha256 #f) such
;; as that of IceCat.
(and=> (origin-hash origin)
content-hash-value)
;; FIXME: Exclude the Chromium tarball
;; because it's huge and "disarchive
;; disassemble" exceeds the max-silent
;; timeout.
(not (string-prefix?
"chromium-"
(origin-actual-file-name origin)))
(origin->disarchive origin)))
origins)
#:copy? #t))
;; The manifest containing Disarchive data.
(let ((origins (all-origins)))
(let* ((origins (all-origins))
(disarchives
(filter-map (lambda (origin)
(and (tarball-origin? origin)
;; Dismiss origins with (sha256 #f) such as that of
;; IceCat.
(and=> (origin-hash origin)
content-hash-value)
;; FIXME: Exclude the Chromium tarball because it's
;; huge and "disarchive disassemble" exceeds the
;; max-silent timeout.
(not (string-prefix?
"chromium-"
(origin-actual-file-name origin)))
(manifest-entry
(name
(string-append (origin-actual-file-name origin)
".dis"))
(version "0")
(item (origin->disarchive origin)))))
origins)))
(manifest
(list (manifest-entry
(cons (manifest-entry
(name "disarchive-collection")
(version (number->string (length origins)))
(item (disarchive-collection origins))))))
(item (directory-union "disarchive-collection"
(map manifest-entry-item disarchives)
#:copy? #t)))
;; Cuirass can distribute derivation builds to build machines if and
;; only if it has one "job" per derivation. Thus, add them here in
;; addition to "disarchive-collection".
disarchives)))

View File

@@ -26,6 +26,59 @@
(channel-news
(version 0)
(entry (commit "953c65ffdd43c02c934518fb7a1c68542584b223")
(title
(en "Declarative offloading on Guix System and childhurds")
(de "Auslagern kann deklariert werden auf Guix System und Childhurds")
(fr "Déclaration du déchargement dans Guix System et childhurds"))
(body
(en "When configuring Guix System, it is now possible to declare
build machines to offload to directly from the @code{operating-system}
declaration by specifying the @code{build-machines} field of
@code{guix-configuration}. When you do this, @command{guix system} generates
a @file{/etc/guix/machines.scm} file by concatenating the @code{(build-machine
@dots{})} expressions you specified.
This mechanism is used by @code{hurd-vm-service-type}, also known as
``childhurd'', to create virtual machines running the GNU/Hurd operating
system one can offload to, without additional configuration steps.
Run @command{info \"(guix) Daemon Offload Setup\"} for more info on
offloading; run @command{info \"(guix) Virtualization Services\"} for info on
@code{hurd-vm-service-type}.")
(de "In der Betriebssystemkonfiguration von Guix System können jetzt
auch die Erstellungsmaschinen deklariert werden, an die Erstellungen ausgelagert
werden. Diese geben Sie im Feld @code{build-machines} einer
@code{guix-configuration} an. In diesem Fall wird @command{guix system} eine
Datei @file{/etc/guix/machines.scm} anlegen, die der Aneinanderreihung der
angegebenen @code{(build-machine @dots{})}-Ausdrücke entspricht.
Der Mechanismus wird für @code{hurd-vm-service-type} eingesetzt, auch bekannt
als Childhurd, um virtuelle Maschinen anzulegen, auf denen das
GNU/Hurd-Betriebssystem läuft und auf die man auslagern kann, ohne weitere
Einstellungen vorzunehmen.
Führen Sie @command{info \"(guix.de) Auslagern des Daemons einrichten\"} aus, um
mehr Informationen über das Auslagern zu bekommen; führen Sie
@command{info \"(guix.de) Virtualisierungsdienste\"} aus für Informationen zu
@code{hurd-vm-service-type}.")
(fr "Dans sa configuration Guix System, il est désormais possible de
déclarer les machines de construction vers lesquelles se décharger directement
dans la déclaration @code{operating-system} en spécifiant le champ
@code{build-machines} de @code{guix-configuration}. Quand on fait cela,
@command{guix system} produit un fichier @file{/etc/guix/machines.scm} en
concaténant les expressions @code{(build-machine @dots{})} fournies.
Ce mécanisme est utilisé par @code{hurd-vm-service-type}, également appelé
«childhurd», pour créer des machines virtuelles faisant tourner le système
d'exploitation GNU/Hurd vers lesquelles se décharger, sans étape
supplémentaire de configuration.
Lancer @command{info \"(guix.fr) Réglages du déchargement du démon\"} pour
plus d'informations sur le délestage; lancer @command{info \"(guix.fr)
Services de virtualisation\"} pour en apprendre sur
@code{hurd-vm-service-type}.")))
(entry (commit "db775e7367e8deffb513aad94f4afb875d796d0b")
(title
(en "Linux-libre 6.3 removed due to end of upstream support")

View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2019, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2019, 2021, 2023 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -525,7 +525,15 @@ password from USERS."
(lookup-procedure current-shadow shadow-entry-name))
(define now
(days-since-epoch current-time))
;; On machines without a real-time clock (typically Arm SBCs), the system
;; clock may be at 1970-01-01 while booting, while would lead us to define
;; NOW as zero.
;;
;; However, the 'isexpired' function in Shadow interprets the combination
;; uninitialized password + last-change = 0 as "The password has expired,
;; it must be changed", which prevents logins altogether. To avoid that,
;; never set 'last-change' to zero.
(max (days-since-epoch current-time) 1))
(map (lambda (user passwd)
(or (previous-entry (password-entry-name passwd))

View File

@@ -247,6 +247,19 @@ set."
"pty-slave" ,(string-append "/dev/ptyp" n))
#o666))))
(iota 10 0))
,@(append-map (lambda (n)
(let* ((n (number->string n))
(disk (string-append "hd" n))
(drive (string-append "dev/" disk)))
`((,drive ("/hurd/storeio" ,disk) #o600)
,@(map (lambda (p)
(let ((p (number->string p)))
`(,(string-append drive "s" p)
("/hurd/storeio"
,(string-append disk "s" p))
#o660)))
(iota 4 1)))))
(iota 4 0))
,@(append-map (lambda (n)
(let* ((n (number->string n))
(drive (string-append "dev/wd" n))

View File

@@ -95,7 +95,7 @@ Return #t in the former case and #f in the latter case."
(define* (secret-service-send-secrets port secret-root
#:key (retry 60)
(handshake-timeout 120))
(handshake-timeout 180))
"Copy all files under SECRET-ROOT using TCP to secret-service listening at
local PORT. If connect fails, sleep 1s and retry RETRY times; once connected,
wait for at most HANDSHAKE-TIMEOUT seconds for handshake to complete. Return

View File

@@ -13,7 +13,7 @@
# Copyright © 2016-2023 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
# Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017, 2018, 2023 Clément Lassieur <clement@lassieur.org>
# Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017, 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
# Copyright © 2018 Amirouche Boubekki <amirouche@hypermove.net>
@@ -59,6 +59,7 @@
# Copyright © 2023 Zheng Junjie <873216071@qq.com>
# Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
# Copyright © 2023 Andy Tai <atai@atai.org>
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
#
# This file is part of GNU Guix.
@@ -127,6 +128,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/anthy.scm \
%D%/packages/antivirus.scm \
%D%/packages/apl.scm \
%D%/packages/apple.scm \
%D%/packages/apparmor.scm \
%D%/packages/apr.scm \
%D%/packages/arcan.scm \
@@ -1068,8 +1070,6 @@ dist_patch_DATA = \
%D%/packages/patches/debops-constants-for-external-program-names.patch \
%D%/packages/patches/debops-debops-defaults-fall-back-to-less.patch \
%D%/packages/patches/dee-vapi.patch \
%D%/packages/patches/desmume-gcc6-fixes.patch \
%D%/packages/patches/desmume-gcc7-fixes.patch \
%D%/packages/patches/dfu-programmer-fix-libusb.patch \
%D%/packages/patches/diffutils-fix-signal-processing.patch \
%D%/packages/patches/directfb-davinci-glibc-228-compat.patch \
@@ -1099,7 +1099,9 @@ dist_patch_DATA = \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/elogind-fix-rpath.patch \
%D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \
%D%/packages/patches/emacs-debbugs-keep-patch-subject.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-elpy-dup-test-name.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch \
%D%/packages/patches/emacs-git-email-missing-parens.patch \
@@ -1110,6 +1112,8 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
%D%/packages/patches/emacs-native-comp-driver-options.patch \
%D%/packages/patches/emacs-next-exec-path.patch \
%D%/packages/patches/emacs-next-native-comp-driver-options.patch \
%D%/packages/patches/emacs-pasp-mode-quote-file-names.patch \
%D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
%D%/packages/patches/emacs-telega-path-placeholder.patch \
@@ -1273,6 +1277,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-no-header-uuid.patch \
%D%/packages/patches/ghostscript-no-header-creationdate.patch \
%D%/packages/patches/gitg-fix-positional-argument.patch \
%D%/packages/patches/gklib-suitesparse.patch \
%D%/packages/patches/glib-appinfo-watch.patch \
%D%/packages/patches/glib-networking-gnutls-binding.patch \
%D%/packages/patches/glib-skip-failing-test.patch \
@@ -1416,6 +1421,7 @@ dist_patch_DATA = \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch \
%D%/packages/patches/icedtea-7-hotspot-pointer-comparison.patch \
%D%/packages/patches/icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/id3lib-UTF16-writing-bug.patch \
%D%/packages/patches/idris-test-ffi008.patch \
@@ -1990,7 +1996,6 @@ dist_patch_DATA = \
%D%/packages/patches/softhsm-fix-openssl3-tests.patch \
%D%/packages/patches/spectre-meltdown-checker-externalize-fwdb.patch \
%D%/packages/patches/spdlog-fix-tests.patch \
%D%/packages/patches/spectre-meltdown-checker-find-kernel.patch \
%D%/packages/patches/sphinxbase-fix-doxygen.patch \
%D%/packages/patches/sssd-system-directories.patch \
%D%/packages/patches/steghide-fixes.patch \
@@ -2036,7 +2041,6 @@ dist_patch_DATA = \
%D%/packages/patches/tootle-glib-object-naming.patch \
%D%/packages/patches/tootle-reason-phrase.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transfig-gcc10-fno-common.patch \
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \
%D%/packages/patches/trytond-add-guix_trytond_path.patch \
%D%/packages/patches/ttf2eot-cstddef.patch \
@@ -2114,6 +2118,7 @@ dist_patch_DATA = \
%D%/packages/patches/wacomtablet-add-missing-includes.patch \
%D%/packages/patches/wacomtablet-qt5.15.patch \
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
%D%/packages/patches/wcstools-extend-makefiles.patch \
%D%/packages/patches/wdl-link-libs-and-fix-jnetlib.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
@@ -2133,6 +2138,9 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-nouveau-fixup-ABI.patch \
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xfig-Enable-error-message-for-missing-libraries.patch \
%D%/packages/patches/xfig-Fix-double-free-when-requesting-MediaBox.patch \
%D%/packages/patches/xfig-Use-pkg-config-to-set-fontconfig-CFLAGS-and-LIBS.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-settings-defaults.patch \
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \

View File

@@ -1366,6 +1366,40 @@ objects.")
;; safe side, we drop them for now.
(license license:gpl2+)))
(define-public spectra
(package
(name "spectra")
(version "1.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/yixuan/spectra")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1krgx7763g0phrp879rgq10dvfyxrdx9rzwxiyzn6qi3iqr6d8hx"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DBUILD_TESTS=ON")
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; This test failed.
(invoke "ctest" "--exclude-regex"
"GenEigsRealShift")))))))
(inputs (list eigen))
(home-page "https://spectralib.org/")
(synopsis "C++ library for large scale eigenvalue problems")
(description "Spectra stands for Sparse Eigenvalue Computation Toolkit as
a Redesigned ARPACK. It is a C++ library for large scale eigenvalue problems,
built on top of Eigen. It is implemented as a header-only C++ library and can
be easily embedded in C++ projects that require calculating eigenvalues of
large matrices.")
(license license:mpl2.0)))
(define-public gappa
(package
(name "gappa")

59
gnu/packages/apple.scm Normal file
View File

@@ -0,0 +1,59 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages apple)
#:use-module (gnu packages bison)
#:use-module (guix build-system gnu)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:))
(define-public apple-bash
(package
(name "apple-bash")
(version "125")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apple-oss-distributions/bash.git")
(commit (string-append "bash-" version))))
(sha256
(base32 "1d4s1z57yiyhgb6i22kb9al31j1fv9a4rp1bb747ny6grdvc4919"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs (list bison))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; An XCode project wraps the actual bash source.
(chdir "bash-3.2")
;; The xlocale.h header was removed in glibc 2.26.
(substitute* "lib/glob/smatch.c"
(("xlocale.h") "locale.h"))
;; EBADEXEC is XNU-specific.
(substitute* "execute_cmd.c"
(("EBADEXEC") "ENOEXEC")))))))
(home-page "https://github.com/apple-oss-distributions/bash/")
(synopsis "Bash used on Apple macOS systems")
(description
"This is the version of Bash, forked from GNU Bash 3.2, released on Apple
macOS systems.")
(license license:gpl2+)))

View File

@@ -754,6 +754,39 @@ header.")
(base32 "1m3bx6gh5w3c7vvsqcki0x20mg8lilg13m0i8nh7za89w58dxy4w"))))
(properties '((hidden? . #t)))))
(define-public wcstools
(package
(name "wcstools")
(version "3.9.7")
(source
(origin
(method url-fetch)
(uri (string-append
"http://tdc-www.harvard.edu/software/wcstools/wcstools-"
version ".tar.gz"))
(sha256
(base32 "125hqzspvqrx6372smzsmxwg06ib2arjc5awnwnq53w1xdq6jpsj"))
(patches (search-patches "wcstools-extend-makefiles.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ;No tests provided.
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
(home-page "http://tdc-www.harvard.edu/software/wcstools/")
(synopsis "Handle the WCS of a FITS image")
(description
"WCSTools is a set of software utilities, written in C, which create,
display and manipulate the world coordinate system of a FITS or IRAF image,
using specific keywords in the image header which relate pixel position within
the image to position on the sky. Auxillary programs search star catalogs and
manipulate images.")
(license license:gpl2+)))
(define-public weightwatcher
(package
(name "weightwatcher")
@@ -1624,6 +1657,37 @@ encompassing software system for the operations and analysis of the ESA satelite
Herschel.")
(license license:gpl3+)))
(define-public python-casa-formats-io
(package
(name "python-casa-formats-io")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "casa-formats-io" version))
(sha256
(base32
"07cchih2ws6jf6q1a4xhkv0jk96s3w08kzxx9l1911wzqk0pw9pj"))))
(build-system pyproject-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'build-extensions
(lambda _
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list python-pytest python-pytest-cov python-pytest-openfiles))
(propagated-inputs
(list python-astropy python-click python-dask python-numpy))
(home-page "https://casa-formats-io.readthedocs.io/")
(synopsis "Dask-based reader for CASA data")
(description
"The @code{casa-formats-io} package is a small package which implements
functionality to read data stored in @acronym{CASA, Common Astronomy Software
Applications} formats (such as @file{.image} datasets). This implementation
is independent of and does not use @code{casacore}.")
(license license:lgpl2.0)))
(define-public python-ccdproc
(package
(name "python-ccdproc")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1382,7 +1382,9 @@ to the @code{share/locale} sub-directory of this package.")
locale ".UTF-8")))
',locales)
#t))))
(native-inputs (list glibc gzip))
(native-inputs
`(("glibc" ,glibc)
("gzip" ,gzip)))
(synopsis (if default-locales?
(P_ "Small sample of UTF-8 locales")
(P_ "Customized sample of UTF-8 locales")))

View File

@@ -34,6 +34,7 @@
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix search-paths)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@@ -70,11 +71,10 @@
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
;; Lazily resolve the gcc-toolchain to avoid a circular dependency. Always
;; use the latest available toolchain to avoid conflicts in user profiles.
;; Lazily resolve the gcc-toolchain to avoid a circular dependency.
(define gcc-toolchain*
(delay (module-ref (resolve-interface '(gnu packages commencement))
'gcc-toolchain-12)))
'gcc-toolchain)))
(define-public fio
(package
@@ -351,24 +351,39 @@ file metadata operations that can be performed per second.")
(invoke "./install-sh" #$output "--free-software-only")))
(add-after 'install 'wrap-binary
(lambda* (#:key inputs #:allow-other-keys)
(let ((pts (string-append #$output "/bin/phoronix-test-suite")))
(let ((pts (string-append #$output "/bin/phoronix-test-suite"))
(gcc #$(this-package-input "gcc-toolchain")))
(wrap-program pts
(list "PATH" 'prefix
(map (lambda (binary)
(dirname (search-input-file
inputs (string-append "bin/" binary))))
'("bash" "cat" ;coreutils
"gzip" "make" "php" "sed" "tar" "which"))))))))))
"gcc"
"gzip" "make" "php" "sed" "tar" "which")))
;; Wrap the GCC compiler paths.
(list "C_INCLUDE_PATH" 'prefix
(list (string-append gcc "/include")))
(list "CPLUS_INCLUDE_PATH" 'prefix
(list (string-append gcc "/include/c++")
(string-append gcc "/include")))
(list "LIBRARY_PATH" 'prefix
(list (string-append gcc "/lib"))))))))))
(build-system gnu-build-system)
(native-inputs (list python which))
;; Wrap the most basic build tools needed by Phoronix Test Suite to build
;; simple tests such as 'fio'.
(inputs (list bash coreutils gnu-make gzip php sed tar which))
;; Phoronix Test Suite builds and caches the benchmarking tools itself;
;; the user is required to manually install extra libraries depending on
;; the selected test; but at least a working C/C++ toolchain is assumed to
;; be available.
(propagated-inputs (list (force gcc-toolchain*)))
(inputs
(list bash
coreutils
(force gcc-toolchain*)
gnu-make
gzip
php
sed
tar
which))
(native-search-paths %gcc-search-paths)
(home-page "https://www.phoronix-test-suite.com/")
(synopsis "Automated testing/benchmarking software")
(description

View File

@@ -118,6 +118,28 @@ analysis.")
based on mapping using Entrez Gene identifiers.")
(license license:artistic2.0)))
(define-public r-org-sc-sgd-db
(package
(name "r-org-sc-sgd-db")
(version "3.17.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "org.Sc.sgd.db" version
'annotation))
(sha256
(base32 "1anxk5sgzgkdk4n1c7gjyzy56wa2bkifghs9m1mh82l95kyvk2ig"))))
(properties `((upstream-name . "org.Sc.sgd.db")))
(build-system r-build-system)
(propagated-inputs (list r-annotationdbi))
(home-page "https://bioconductor.org/packages/org.Sc.sgd.db")
(synopsis "Genome wide annotation for Yeast")
(description
"This package provides genome wide annotation for Yeast, primarily based
on mapping using ORF identifiers from @acronym{SGD, Saccharomyces Genome
Database}.")
(license license:artistic2.0)))
(define-public r-pd-mapping50k-xba240
(package
(name "r-pd-mapping50k-xba240")
@@ -2863,13 +2885,13 @@ analysis, modelling, and visualization of spike-in controls.")
(define-public r-ancombc
(package
(name "r-ancombc")
(version "2.2.1")
(version "2.2.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "ANCOMBC" version))
(sha256
(base32
"05gngz6cqihxg4zlf7ymw93qj61a1i19hgp4fkc0cxnkq0pambrd"))))
"0jws3wqgwc0gnp7smc0lsqfw9jbcik36pl7vz9a8ndgwpp9c8653"))))
(properties `((upstream-name . "ANCOMBC")))
(build-system r-build-system)
(propagated-inputs
@@ -3494,6 +3516,67 @@ Bioconductor microarray data containers @code{(ExpressionSet},
supported.")
(license license:lgpl2.0+)))
(define-public r-arraymvout
(package
(name "r-arraymvout")
(version "1.58.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "arrayMvout" version))
(sha256
(base32 "1wdqcfa0h070lky4m2h5k4wg8lg7014y0gk95gip5zags29zjwqb"))))
(properties `((upstream-name . "arrayMvout")))
(build-system r-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(add-before 'install 'change-home-dir
(lambda _
;; Change from /homeless-shelter to /tmp for write permission.
(setenv "HOME" "/tmp"))))))
(propagated-inputs
(list r-affy
r-affycontam
r-biobase
r-lumi
r-mdqc
r-parody))
(home-page "https://bioconductor.org/packages/arrayMvout")
(synopsis "Multivariate outlier detection for expression array QA")
(description
"This package supports the application of diverse quality metrics to
AffyBatch instances, summarizing these metrics via PCA, and then performing
parametric outlier detection on the PCs to identify aberrant arrays with a
fixed Type I error rate.")
(license license:artistic2.0)))
(define-public r-arrayquality
(package
(name "r-arrayquality")
(version "1.78.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "arrayQuality" version))
(sha256
(base32 "0lq59y4pi13z4v1i1ah78xlchxy34x1lplsh0n42wlk88rk0rqxd"))))
(properties `((upstream-name . "arrayQuality")))
(build-system r-build-system)
(propagated-inputs
(list r-gridbase
r-hexbin
r-limma
r-marray
r-rcolorbrewer))
(home-page "http://arrays.ucsf.edu/")
(synopsis "Assessing array quality on spotted arrays")
(description
"This package provides functions for performing print-run and array level
quality assessment.")
(license license:lgpl2.0+)))
(define-public r-asafe
(package
(name "r-asafe")
@@ -6152,13 +6235,13 @@ powerful online queries from gene annotation to database mining.")
(define-public r-biomartr
(package
(name "r-biomartr")
(version "1.0.4")
(version "1.0.5")
(source (origin
(method url-fetch)
(uri (cran-uri "biomartr" version))
(sha256
(base32
"0hv4z6ycmn58ha7j7zfmyhvs2i37cm48gcalg19dli2kaw1c4210"))))
"14nw44dkyrfw43dc4zwsnvkrmdhsl131m9w1wa80j3qkbhyaypfl"))))
(properties `((upstream-name . "biomartr")))
(build-system r-build-system)
(propagated-inputs
@@ -7005,14 +7088,14 @@ visualization of Illumina DNA methylation array data.")
(define-public r-ensembldb
(package
(name "r-ensembldb")
(version "2.24.0")
(version "2.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ensembldb" version))
(sha256
(base32
"0rl5ix755055i95y5xfb4zv5gih2gkqwqia1r1b3yx12z5ybvkc6"))))
"1x73lln0rlnypl8iia54srl3wrazs94f8rspmjsaqsxwknkym319"))))
(build-system r-build-system)
(propagated-inputs
(list r-annotationdbi
@@ -7195,13 +7278,13 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
(version "1.36.3")
(version "1.36.4")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
"04bh4481jcj91xdh11ic4519jczck6zmysbpnpbbhykanp31z4pf"))))
"0wwh72sj894m3awk4g2zmkkwqafdjyxzsr49vnd1fiyz909hw02a"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
@@ -7848,14 +7931,14 @@ Shiny-based display methods for Bioconductor objects.")
(define-public r-keggrest
(package
(name "r-keggrest")
(version "1.40.0")
(version "1.40.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "KEGGREST" version))
(sha256
(base32
"1zmsk5w8i3cq0983nx1d24a6awrbq7aj2wrapsnizq9gvrsrhbbb"))))
"13pbw5nlkjwplliv2pdwazv2idfjklvw0ykx5ja8rchvzs5f1vk4"))))
(properties `((upstream-name . "KEGGREST")))
(build-system r-build-system)
(propagated-inputs
@@ -8099,6 +8182,31 @@ experiments.")
and visualizaton of alternative splicing events generated by rMATS.")
(license license:expat)))
(define-public r-mdqc
(package
(name "r-mdqc")
(version "1.62.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "mdqc" version))
(sha256
(base32 "0y35z9sw3h77a5g4ah0fxrk5xh7irdw9z0y2jhh6dp0xxcqh6i0k"))))
(properties `((upstream-name . "mdqc")))
(build-system r-build-system)
(propagated-inputs
(list r-cluster
r-mass))
(home-page "https://bioconductor.org/packages/mdqc")
(synopsis "Mahalanobis distance quality control for microarrays")
(description
"MDQC is a multivariate quality assessment method for microarrays based
on quality control (QC) reports. The Mahalanobis distance of an array's
quality attributes is used to measure the similarity of the quality of that
array against the quality of the other arrays. Then, arrays with unusually
high distances can be flagged as potentially low-quality.")
(license license:lgpl2.0+)))
(define-public r-metagenomeseq
(package
(name "r-metagenomeseq")
@@ -10264,13 +10372,13 @@ tools either included in speaq or available elsewhere on CRAN.")
(define-public r-spectra
(package
(name "r-spectra")
(version "1.10.2")
(version "1.10.3")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "Spectra" version))
(sha256
(base32
"1jrlfm6k6v4vhzl4lg6sa49yw35ds9x3v7iyc2cvbxqmpp5haila"))))
"1fx6xkl29frfk8bzz5jvr1cn0hjyi46ck23izb1cypiag4lsrf8v"))))
(properties `((upstream-name . "Spectra")))
(build-system r-build-system)
(propagated-inputs (list r-biocgenerics
@@ -10582,24 +10690,25 @@ of gene-level counts.")
(define-public r-valr
(package
(name "r-valr")
(version "0.6.8")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "valr" version))
(sha256
(base32
"156sqh474synjvdm1j332ab75rqab0n81d674xbgs3rfxlr2ksgz"))))
"038s5n8cbffpb9132rpw7q82cxfzlsc86fcywhv63c8szm5g9nrk"))))
(build-system r-build-system)
(propagated-inputs
(list r-broom
r-cli
r-dplyr
r-ggplot2
r-lifecycle
r-rcpp
r-readr
r-rlang
r-rtracklayer ;bioconductor package
r-rtracklayer
r-stringr
r-tibble))
(native-inputs
@@ -11080,32 +11189,57 @@ problems in genomics, brain imaging, astrophysics, and data mining.")
@code{Rcpp}.")
(license license:gpl2+)))
(define-public r-apcomplex
(package
(name "r-apcomplex")
(version "2.66.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "apComplex" version))
(sha256
(base32 "057p1bsqqw3r49bsx78prqc4jha468bfx50gpl62giix0cfs007f"))))
(properties `((upstream-name . "apComplex")))
(build-system r-build-system)
(propagated-inputs
(list r-graph
r-org-sc-sgd-db
r-rbgl
r-rgraphviz))
(home-page "https://bioconductor.org/packages/apComplex")
(synopsis "Estimate protein complex membership using AP-MS protein data")
(description
"This package provides functions to estimate a bipartite graph of protein
complex membership using @acronym{AP-MS, affinity purificationmass
spectrometry} data.")
(license license:lgpl2.0+)))
(define-public r-apeglm
(package
(name "r-apeglm")
(version "1.22.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "apeglm" version))
(sha256
(base32
"19r1mhpkn3xy6l188c14k9xgn25xqc718bwrlmnz63lak6mp4ws7"))))
(properties `((upstream-name . "apeglm")))
(build-system r-build-system)
(propagated-inputs
(list r-emdbook
r-genomicranges
r-rcpp
r-rcppeigen
r-rcppnumerical
r-summarizedexperiment))
(native-inputs (list r-knitr r-rmarkdown))
(home-page "https://bioconductor.org/packages/apeglm")
(synopsis "Approximate posterior estimation for GLM coefficients")
(description "This package provides Bayesian shrinkage estimators for
(name "r-apeglm")
(version "1.22.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "apeglm" version))
(sha256
(base32
"19r1mhpkn3xy6l188c14k9xgn25xqc718bwrlmnz63lak6mp4ws7"))))
(properties `((upstream-name . "apeglm")))
(build-system r-build-system)
(propagated-inputs
(list r-emdbook
r-genomicranges
r-rcpp
r-rcppeigen
r-rcppnumerical
r-summarizedexperiment))
(native-inputs (list r-knitr r-rmarkdown))
(home-page "https://bioconductor.org/packages/apeglm")
(synopsis "Approximate posterior estimation for GLM coefficients")
(description "This package provides Bayesian shrinkage estimators for
effect sizes for a variety of GLM models, using approximation of the
posterior for individual coefficients.")
(license license:gpl2)))
(license license:gpl2)))
(define-public r-greylistchip
(package
@@ -14197,6 +14331,42 @@ analyzed in parallel the library performs a number of tests to assure that
the data set is suitable for such analysis.")
(license license:gpl3)))
(define-public r-anota2seq
(package
(name "r-anota2seq")
(version "1.22.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "anota2seq" version))
(sha256
(base32 "0pmk45276bl3qppzxlp4jpc8bsvdpca8nzrdl6c4n9r3xhzfpyq0"))))
(properties `((upstream-name . "anota2seq")))
(build-system r-build-system)
(propagated-inputs
(list r-deseq2
r-edger
r-limma
r-multtest
r-qvalue
r-rcolorbrewer
r-summarizedexperiment))
(native-inputs (list r-knitr))
(home-page "https://bioconductor.org/packages/anota2seq")
(synopsis "Transcriptome-wide analysis of translational efficiency")
(description
"The anota2seq package provides analysis of translational efficiency and
differential expression analysis for polysome-profiling and ribosome-profiling
studies (two or more sample classes) quantified by RNA sequencing or
DNA-microarray. Polysome-profiling and ribosome-profiling typically generate
data for two RNA sources, translated mRNA and total mRNA. Analysis of
differential expression is used to estimate changes within each RNA source.
Analysis of translational efficiency aims to identify changes in translation
efficiency leading to altered protein levels that are independent of total
mRNA levels or buffering, a mechanism regulating translational efficiency so
that protein levels remain constant despite fluctuating total mRNA levels.")
(license license:gpl3)))
(define-public r-sigpathway
(package
(name "r-sigpathway")
@@ -14355,18 +14525,19 @@ correspondance between different data sources.")
(define-public r-enrichplot
(package
(name "r-enrichplot")
(version "1.20.1")
(version "1.20.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "enrichplot" version))
(sha256
(base32
"0yxnh5bmfcfsciwm852rbb707v9zbky3lsz2xsyyaapm5jjb6npk"))))
"11hgxs42wvirv6b9ywr2jb51s67k4r0pm21dkvm7xjbsbarlkhmh"))))
(build-system r-build-system)
(propagated-inputs
(list r-aplot
r-dose
r-ggfun
r-ggnewscale
r-ggplot2
r-ggraph
@@ -15439,14 +15610,14 @@ decomposition algorithms.")
(define-public r-yapsa
(package
(name "r-yapsa")
(version "1.25.0")
(version "1.26.8")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "YAPSA" version))
(sha256
(base32
"0xva7vljq2k78rzjnjlp4x3ylwk86jaqn2cgbff4h4sb8rfdya7c"))))
"16rr2bkni3jx5qskr5fz5lvf23d03xgd3m4068mnd3n9r23hpb4p"))))
(properties `((upstream-name . "YAPSA")))
(build-system r-build-system)
(propagated-inputs
@@ -18302,14 +18473,14 @@ using whole genome sequencing data.")
(define-public r-activepathways
(package
(name "r-activepathways")
(version "2.0.0")
(version "2.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "ActivePathways" version))
(sha256
(base32
"1niwzbzqs1s0mx6ia8fmvg9db6kajs0rdxgnnn1pq68yd8rjn79g"))))
"1h0ih87pf6b5mdhmh65frv3nqx7v5adqv37wn2p3gkpszd6hwc79"))))
(properties
`((upstream-name . "ActivePathways")))
(build-system r-build-system)
@@ -18499,6 +18670,37 @@ the read count and GC content bias.")
validating output, provides an S4 SBML DOM, converts SBML to R graph objects.")
(license license:artistic2.0)))
(define-public r-hybridmtest
(package
(name "r-hybridmtest")
(version "1.44.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "HybridMTest" version))
(sha256
(base32 "19pycad35hc7ylnsz75bv029y1r6j9xvrbhzk4i64i7jn8gi7ngh"))))
(properties `((upstream-name . "HybridMTest")))
(build-system r-build-system)
(propagated-inputs
(list r-biobase
r-fdrtool
r-mass
r-survival))
(home-page "https://bioconductor.org/packages/HybridMTest")
(synopsis "Hybrid multiple testing")
(description
"This package performs hybrid multiple testing that incorporates method
selection and assumption evaluations into the analysis using @acronym{EBP,
empirical Bayes probability} estimates obtained by Grenander density
estimation. For instance, for 3-group comparison analysis, Hybrid Multiple
testing considers EBPs as weighted EBPs between F-test and H-test with EBPs
from Shapiro Wilk test of normality as weigth. Instead of just using EBPs
from F-test only or using H-test only, this methodology combines both types of
EBPs through EBPs from Shapiro Wilk test of normality. This methodology uses
then the law of total EBPs.")
(license license:gpl2+)))
(define-public r-hypergraph
(package
(name "r-hypergraph")
@@ -18964,13 +19166,13 @@ different graph related packages produced by Bioconductor.")
(define-public r-biocstyle
(package
(name "r-biocstyle")
(version "2.28.0")
(version "2.28.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "BiocStyle" version))
(sha256
(base32
"04npnfmz1p1vpwrdsim309k7518i4p1li04xnmw8c9zgdb6yl61a"))))
"11v3gzy88fai0rhdymvj9k74g7hjc6n9fihfrrnw0qfr447z1d61"))))
(properties
`((upstream-name . "BiocStyle")))
(build-system r-build-system)
@@ -19700,13 +19902,13 @@ array-like semantic. It also provides:
(define-public r-s4vectors
(package
(name "r-s4vectors")
(version "0.38.1")
(version "0.38.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "S4Vectors" version))
(sha256
(base32
"0qpjx64ilc1niglhf6pn47damgaf5vdzwkvnlhcixqzpl28ndbs9"))))
"0n1w451647pxii6qrrxbvdi9z6rqdwibczkbs7k7a9j33bv3nqv8"))))
(properties
`((upstream-name . "S4Vectors")))
(build-system r-build-system)
@@ -21001,14 +21203,14 @@ family of feature/genome hypotheses.")
(define-public r-gviz
(package
(name "r-gviz")
(version "1.44.1")
(version "1.44.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Gviz" version))
(sha256
(base32
"0yfmpxvx7h344fp6i3iny7r61n904bj0qdy14qbsp3d0z4g8a5fn"))))
"0laismy8kklzkg81r5vf1194fbhp2hw952g6jc3zvn2z5y2d4524"))))
(properties `((upstream-name . "Gviz")))
(build-system r-build-system)
(propagated-inputs
@@ -21258,6 +21460,27 @@ statistical dependencies in messy, complex data.")
other functional sequencing data.")
(license license:gpl2)))
(define-public r-parody
(package
(name "r-parody")
(version "1.58.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "parody" version))
(sha256
(base32 "0n2pmpnpwh16hb58v821xn42jm4a7wjsdf6sqxapjjw9w432mjac"))))
(properties `((upstream-name . "parody")))
(build-system r-build-system)
(native-inputs (list r-knitr))
(home-page "https://bioconductor.org/packages/parody")
(synopsis "Parametric and resistant outlier detection")
(description
"The parody package provides routines for univariate and multivariate
outlier detection with a focus on parametric methods, but support for some
methods based on resistant statistics.")
(license license:artistic2.0)))
(define-public r-pathview
(package
(name "r-pathview")
@@ -21853,19 +22076,20 @@ the Bioconductor project.")
(define-public r-biodb
(package
(name "r-biodb")
(version "1.8.0")
(version "1.8.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "biodb" version))
(sha256
(base32
"1lcjq1zfarhc7pqqrkqnaycsv2f27n4n8mfvrc3c9ww4lsza555k"))))
"18j70ma85qb42qqpzz8fw3g4x6cav4j0pc2ab5ym22791dr8izck"))))
(properties `((upstream-name . "biodb")))
(build-system r-build-system)
(propagated-inputs
(list r-biocfilecache
r-chk
r-git2r
r-jsonlite
r-lgr
r-lifecycle
@@ -21979,6 +22203,15 @@ design.")
"0n026b744ah5kcnipsyiqqs7vlz5n5im1kgv35i2pgxyzvf7a8sn"))))
(properties `((upstream-name . "biomvRCNS")))
(build-system r-build-system)
(arguments
(list
#:phases
'(modify-phases %standard-phases
(add-after 'unpack 'patch-constants
(lambda _
(substitute* "src/biomvRCNS.c"
(("DOUBLE_XMIN") "DBL_MIN")
(("DOUBLE_XMAX") "DBL_MAX")))))))
(propagated-inputs
(list r-genomicranges r-gviz r-iranges r-mvtnorm))
(home-page "https://bioconductor.org/packages/biomvRCNS")
@@ -22380,13 +22613,13 @@ interest on transformed methylation proportions.")
(define-public r-omnipathr
(package
(name "r-omnipathr")
(version "3.8.0")
(version "3.8.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "OmnipathR" version))
(sha256
(base32 "0r2nv3nbadnvqby7p5bdpl9fxjb30h0c8kjv1dkqqnhk5rbfl4hf"))))
(base32 "13ac98jj03vkzrc1ghrs98qrfvr74wz099w26lgc7jw2yxj575as"))))
(properties `((upstream-name . "OmnipathR")))
(build-system r-build-system)
(arguments
@@ -22406,13 +22639,13 @@ interest on transformed methylation proportions.")
r-later
r-logger
r-magrittr
r-rmarkdown
r-progress
r-purrr
r-rappdirs
r-readr
r-readxl
r-rlang
r-rmarkdown
r-rvest
r-stringr
r-tibble
@@ -22581,14 +22814,14 @@ embeddings and functions to build new reference.")
(define-public r-tximeta
(package
(name "r-tximeta")
(version "1.18.1")
(version "1.18.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "tximeta" version))
(sha256
(base32
"02240v41scaqxabjb62zh6shkkzb9520dhn0lfc2jbimnb26yj7f"))))
"01s8x8a3rb0a5i599pxc5miz84ssvh10b4vha79nmbhkqccffvml"))))
(properties `((upstream-name . "tximeta")))
(build-system r-build-system)
(propagated-inputs

View File

@@ -58,8 +58,8 @@
#:use-module ((guix search-paths) #:select ($SSL_CERT_DIR)))
(define-public cuirass
(let ((commit "613188072c468fe2ffa4e8f83b48aefeb2488a2c")
(revision "18"))
(let ((commit "797b26a4ef80dce278481b1cc3391791ef2cbbaf")
(revision "19"))
(package
(name "cuirass")
(version (git-version "1.1.0" revision commit))
@@ -72,7 +72,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"13ai3xmf62kx9ijc5imapcjwyvkhj2kxnh36chh3vbh3sxbbanzz"))))
"10hs9nxl9xlnswm7qv8mw5s3rf65q4ip8ikqvgq5rprcv1lf26ad"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build utils)
@@ -158,7 +158,7 @@
guix))
(native-inputs
(list autoconf automake pkg-config texinfo ephemeralpg))
(list autoconf-2.71 automake pkg-config texinfo ephemeralpg))
(native-search-paths
;; For HTTPS access, Cuirass itself honors these variables, with the
;; same semantics as Git and OpenSSL (respectively).

View File

@@ -435,7 +435,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(define-public universal-ctags
(package
(name "universal-ctags")
(version "6.0.20230212.0")
(version "6.0.20231001.0")
(source
(origin
(method git-fetch)
@@ -445,7 +445,7 @@ features that are not supported by the standard @code{stdio} implementation.")
(file-name (git-file-name name version))
(sha256
(base32
"0616y8sqbydh4baixs1fndknjvhfpf57p7a0yr1l5n732lknk2pm"))
"0qik6rsai254prydfx8k2bq7wpim3a272jiw1y37r734k4s9xbrb"))
(modules '((guix build utils)))
(snippet
'(begin

File diff suppressed because it is too large Load Diff

View File

@@ -22398,6 +22398,66 @@ accessor functions on enums.")
("rust-quote" ,rust-quote-0.6)
("rust-syn" ,rust-syn-0.15))))))
(define-public rust-enum-derive-0.1
(package
(name "rust-enum-derive")
(version "0.1.7")
(source (origin
(method url-fetch)
(uri (crate-uri "enum-derive" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"05n8mdca3y2c8pvl1isncj52fa80wplvx28lxvwqmpzfr6lc4sj0"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-development-inputs
(("rust-custom-derive" ,rust-custom-derive-0.1))))
(home-page "https://github.com/DanielKeep/rust-custom-derive")
(synopsis "Macros for deriving additional functionality for enums")
(description
"This crate provides macros for deriving additional functionality for enums.")
(license (list license:expat license:asl2.0))))
(define-public rust-enum-dispatch-0.3
(package
(name "rust-enum-dispatch")
(version "0.3.11")
(source (origin
(method url-fetch)
(uri (crate-uri "enum_dispatch" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qlxlxjvy92s0fwcwlnd2cdkkyml1755xap2lq8v4812hsanxwqi"))
(modules '((guix build utils)))
(snippet
'(begin (substitute* "Cargo.toml"
(("\"= ?([[:digit:]]+(\\.[[:digit:]]+)*)" _ version)
(string-append "\"^" version)))))))
(build-system cargo-build-system)
(arguments
(list
#:skip-build? #t ; Needs newer version of rust-smol
#:cargo-inputs
`(("rust-once-cell" ,rust-once-cell-1)
("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1))
#:cargo-development-inputs
`(("rust-custom-derive" ,rust-custom-derive-0.1)
("rust-enum-derive" ,rust-enum-derive-0.1)
("rust-rand" ,rust-rand-0.6)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-smol" ,rust-smol-1))))
(home-page "https://gitlab.com/antonok/enum_dispatch")
(synopsis "Faster alternative to dynamically dispatched method calls")
(description
"This crate transforms your trait objects into concrete compound types,
increasing their method call speed up to 10x.")
(license (list license:expat license:asl2.0))))
(define-public rust-enum-map-derive-0.4
(package
(name "rust-enum-map-derive")
@@ -37548,6 +37608,34 @@ parallelize and optimize.")
`(#:cargo-inputs (("rust-rawpointer" ,rust-rawpointer-0.1))
#:cargo-development-inputs (("rust-bencher" ,rust-bencher-0.1))))))
(define-public rust-maybe-async-0.2
(package
(name "rust-maybe-async")
(version "0.2.7")
(source (origin
(method url-fetch)
(uri (crate-uri "maybe-async" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"01gksgxmzgl8hvg831vv993fvrwz8hjwgcln99ilp08zrc9qq6qg"))))
(build-system cargo-build-system)
(arguments
(list #:cargo-inputs
`(("rust-proc-macro2" ,rust-proc-macro2-1)
("rust-quote" ,rust-quote-1)
("rust-syn" ,rust-syn-1)
("rust-async-std" ,rust-async-std-1)
("rust-async-trait" ,rust-async-trait-0.1)
("rust-tokio" ,rust-tokio-1)
("rust-trybuild" ,rust-trybuild-1))))
(home-page "https://github.com/fMeow/maybe-async-rs")
(synopsis "Procedural macro to unify sync and async Rust code")
(description
"This package provides a procedural macro that unifies sync and
async code in Rust.")
(license license:expat)))
(define-public rust-maybe-rayon-0.1
(package
(name "rust-maybe-rayon")
@@ -45938,6 +46026,28 @@ Rust with reasonable performance.")
path.Clean.")
(license (list license:expat license:asl2.0))))
(define-public rust-path-slash-0.2
(package
(name "rust-path-slash")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (crate-uri "path-slash" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0hjgljv4vy97qqw9gxnwzqhhpysjss2yhdphfccy3c388afhk48y"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-development-inputs (("rust-lazy-static" ,rust-lazy-static-1))))
(home-page "https://github.com/rhysd/path-slash")
(synopsis "Rust library to convert a file path from/to slash path")
(description
"This package provides @code{path-slash}, a tiny library to convert a file
path (e.g. @code{foo/bar}, @code{foo\\bar} or @code{C:\\foo\\bar}) from/to a
slash path (e.g. @code{foo/bar}, @code{C:/foo/bar}).")
(license license:expat)))
(define-public rust-pathdiff-0.2
(package
(name "rust-pathdiff")
@@ -55067,6 +55177,167 @@ can handle huge texts and memory-incoherent edits with ease.")
rust.")
(license license:mpl2.0)))
(define-public rust-rspotify-0.11
(package
(name "rust-rspotify")
(version "0.11.7")
(source (origin
(method url-fetch)
(uri (crate-uri "rspotify" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0jxpdiic1550h13j8gaqk1g3xlv3b7p7dzyjrf6xx6j8hzh74kjw"))))
(build-system cargo-build-system)
(arguments
(list #:cargo-inputs
`(("rust-async-stream" ,rust-async-stream-0.3)
("rust-async-trait" ,rust-async-trait-0.1)
("rust-base64" ,rust-base64-0.20)
("rust-chrono" ,rust-chrono-0.4)
("rust-dotenv" ,rust-dotenv-0.15)
("rust-futures" ,rust-futures-0.3)
("rust-getrandom" ,rust-getrandom-0.2)
("rust-log" ,rust-log-0.4)
("rust-maybe-async" ,rust-maybe-async-0.2)
("rust-rspotify-http" ,rust-rspotify-http-0.11)
("rust-rspotify-macros" ,rust-rspotify-macros-0.11)
("rust-rspotify-model" ,rust-rspotify-model-0.11)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-sha2" ,rust-sha2-0.10)
("rust-thiserror" ,rust-thiserror-1)
("rust-url" ,rust-url-2)
("rust-webbrowser" ,rust-webbrowser-0.8))
#:cargo-development-inputs
`(("rust-env-logger" ,rust-env-logger-0.10)
("rust-futures-util" ,rust-futures-util-0.3)
("rust-tokio" ,rust-tokio-1))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
;; This test requires RSPOTIFY_CLIENT_ID and RSPOTIFY_CLIENT_SECRET
(lambda _
(delete-file "tests/test_with_credential.rs"))))))
(native-inputs (list pkg-config openssl))
(home-page "https://github.com/ramsayleung/rspotify")
(synopsis "Spotify API wrapper")
(description "This package provides a wrapper API for the Spotify
streaming service.")
(license license:expat)))
(define-public rust-rspotify-0.10
(package
(inherit rust-rspotify-0.11)
(name "rust-rspotify")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (crate-uri "rspotify" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"196wd157l3fn6hlyixgffhl2x516g4fpa3s91arhcikiifsppzgf"))))
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-base64" ,rust-base64-0.10)
("rust-chrono" ,rust-chrono-0.4)
("rust-derive-builder" ,rust-derive-builder-0.7)
("rust-dotenv" ,rust-dotenv-0.13)
("rust-env-logger" ,rust-env-logger-0.6)
("rust-failure" ,rust-failure-0.1)
("rust-itertools" ,rust-itertools-0.8)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-log" ,rust-log-0.4)
("rust-percent-encoding" ,rust-percent-encoding-1)
("rust-rand" ,rust-rand-0.6)
("rust-random" ,rust-random-0.12)
("rust-reqwest" ,rust-reqwest-0.10)
("rust-serde" ,rust-serde-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-url" ,rust-url-1)
("rust-webbrowser" ,rust-webbrowser-0.5))))))
(define-public rust-rspotify-http-0.11
(package
(name "rust-rspotify-http")
(version "0.11.7")
(source (origin
(method url-fetch)
(uri (crate-uri "rspotify-http" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1a1xdvnlksb0gbkyrw9q4l7fyy8ba0mfsjs71qv2r6bbpadij0d8"))))
(build-system cargo-build-system)
(arguments
(list #:cargo-inputs
`(("rust-async-trait" ,rust-async-trait-0.1)
("rust-log" ,rust-log-0.4)
("rust-maybe-async" ,rust-maybe-async-0.2)
("rust-reqwest" ,rust-reqwest-0.11)
("rust-serde-json" ,rust-serde-json-1)
("rust-thiserror" ,rust-thiserror-1)
("rust-ureq" ,rust-ureq-2))
#:cargo-development-inputs
`(("rust-rspotify-model" ,rust-rspotify-model-0.11)
("rust-tokio" ,rust-tokio-1))))
(native-inputs (list pkg-config openssl))
(home-page "https://github.com/ramsayleung/rspotify")
(synopsis "HTTP compatibility layer for RSpotify")
(description "RSpotify is a wrapper for the Spotify Web API. This
package contains a HTTP compatibility layer for RSpotify.")
(license license:expat)))
(define-public rust-rspotify-macros-0.11
(package
(name "rust-rspotify-macros")
(version "0.11.7")
(source (origin
(method url-fetch)
(uri (crate-uri "rspotify-macros" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"00zjxnbhljak54bf5q1h09487bh7sza3mqsxk21x43q7pw5jlrkg"))))
(build-system cargo-build-system)
(arguments
(list #:cargo-development-inputs
`(("rust-serde-json" ,rust-serde-json-1))))
(home-page "https://github.com/ramsayleung/rspotify")
(synopsis "Macros for RSpotify")
(description "RSpotify is a wrapper for the Spotify Web API. This crate
contains Macros for RSpotify.")
(license license:expat)))
(define-public rust-rspotify-model-0.11
(package
(name "rust-rspotify-model")
(version "0.11.7")
(source (origin
(method url-fetch)
(uri (crate-uri "rspotify-model" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1j0fy5n3f0gwq2qnn4qss0sx5kvbghfr8149jb0bp8azzvlg3gbg"))))
(build-system cargo-build-system)
(arguments
(list #:cargo-inputs
`(("rust-chrono" ,rust-chrono-0.4)
("rust-enum-dispatch" ,rust-enum-dispatch-0.3)
("rust-serde" ,rust-serde-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-strum" ,rust-strum-0.24)
("rust-thiserror" ,rust-thiserror-1))))
(home-page "https://github.com/ramsayleung/rspotify")
(synopsis "API endpoint response model object for RSpotify")
(description "RSpotify is a wrapper for the Spotify Web API. This crate
contains the API endpoint response objects.")
(license license:expat)))
(define-public rust-rstar-0.9
(package
(name "rust-rstar")
@@ -63718,45 +63989,6 @@ OIDs)")
("rust-bincode" ,rust-bincode-1)
("rust-tobj" ,rust-tobj-2))))))
(define-public rust-rspotify-0.10
(package
(name "rust-rspotify")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "rspotify" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "196wd157l3fn6hlyixgffhl2x516g4fpa3s91arhcikiifsppzgf"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-base64" ,rust-base64-0.10)
("rust-chrono" ,rust-chrono-0.4)
("rust-derive-builder" ,rust-derive-builder-0.7)
("rust-dotenv" ,rust-dotenv-0.13)
("rust-env-logger" ,rust-env-logger-0.6)
("rust-failure" ,rust-failure-0.1)
("rust-itertools" ,rust-itertools-0.8)
("rust-lazy-static" ,rust-lazy-static-1)
("rust-log" ,rust-log-0.4)
("rust-percent-encoding" ,rust-percent-encoding-1)
("rust-rand" ,rust-rand-0.6)
("rust-random" ,rust-random-0.12)
("rust-reqwest" ,rust-reqwest-0.10)
("rust-serde" ,rust-serde-1)
("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1)
("rust-url" ,rust-url-1)
("rust-webbrowser" ,rust-webbrowser-0.5))))
(home-page "https://github.com/ramsayleung/rspotify")
(synopsis "Spotify API wrapper")
(description "This package provides wrapper API forSpotify streaming
service.")
(license license:expat)))
(define-public rust-spsc-buffer-0.1
(package
(name "rust-spsc-buffer")
@@ -73479,7 +73711,7 @@ the Trust-DNS client to use rustls for TLS.")
(uri (crate-uri "trybuild" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0ab7ahdx563n6kbm14pm3qnxq4fp06pz42nh5ii4acvlzycnwdh4"))))
(base32 "17xpybcdx76dm54dk7jvr5aickc4ia66qf57bazg7myx8pf6yzcq"))))
(arguments
`(#:cargo-inputs
(("rust-toml" ,rust-toml-0.5)

View File

@@ -65,6 +65,7 @@
(package
(name "curl")
(version "7.85.0")
(replacement curl/fixed)
(source (origin
(method url-fetch)
(uri (string-append "https://curl.se/download/curl-"
@@ -154,6 +155,20 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
(define curl/fixed
(let ((%version "8.3.0"))
(package
(inherit curl)
(version "8.3.0a") ; add lowercase 'a' for grafting
(source (origin
(method url-fetch)
(uri (string-append "https://curl.se/download/curl-"
%version ".tar.xz"))
(sha256
(base32
"0qza6yf20y2l4aaxkn8dfw8p3fls1mxljvdb0m8z1i6ncxvn4v9p"))
(patches (search-patches "curl-use-ssl-cert-env.patch")))))))
(define-public curl-ssh
(package/inherit curl
(arguments

View File

@@ -532,7 +532,7 @@ the in DocBook SGML DTDs.")
(base32
"0yd09nypswy3q4scri1dg7dr99d7gd6r2dwx0xm81l9f4y32gs0n"))))
(build-system python-build-system)
;; TODO: Add xfig/transfig for fig2dev utility
;; TODO: Add fig2dev for fig2dev utility.
(inputs
`(("texlive" ,(texlive-updmap.cfg (list texlive-anysize
texlive-appendix

View File

@@ -765,10 +765,10 @@ configuration language which makes it trivial to write your own themes.")
(license license:gpl3+)))
(define-public emacs-inspector
(let ((commit "daff792202d36638033f83902fc0849130270d39")) ;version bump
(let ((commit "4e85b25e3e80c9989fcf7f518606837a54d9fab6")) ;version bump
(package
(name "emacs-inspector")
(version "0.33")
(version "0.36")
(source
(origin
(uri (git-reference
@@ -776,7 +776,7 @@ configuration language which makes it trivial to write your own themes.")
(commit commit)))
(method git-fetch)
(sha256
(base32 "1wak0xd51l9iimvd1j9qg07i4bhn5fl9ncw6b6gg3fh7wk9wwpfy"))
(base32 "05bb8ph355x8f46wbahfmg3060r13j31zq930cb1xq8i9nx8j8h4"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
@@ -794,10 +794,10 @@ Common Lisp or Smalltalk, but for Emacs Lisp.")
(license license:gpl3+))))
(define-public emacs-tree-inspector
(let ((commit "495ef1874fba9d75842087f4acf0ebd75cf09e97"))
(let ((commit "bbb8d2dfe84fbf857fcc1579de5a1324b09a877e"))
(package
(name "emacs-tree-inspector")
(version "0.3")
(version "0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -806,7 +806,7 @@ Common Lisp or Smalltalk, but for Emacs Lisp.")
(file-name (git-file-name name version))
(sha256
(base32
"011pk5gr2j9m4qnv70qz63bh58ga72nqahv0zkf2qpbr2a5df09c"))))
"01ad4r97hfr9nndbifyggscb5108y7h2qm95jsmh5b9qgzqm39nx"))))
(build-system emacs-build-system)
(arguments
(list
@@ -814,7 +814,17 @@ Common Lisp or Smalltalk, but for Emacs Lisp.")
#:test-command #~(list "emacs" "-Q" "--batch"
"-L" "."
"-l" "tree-inspector-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
"-f" "ert-run-tests-batch-and-exit")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-library-loading
;; The library calls `hash-table-keys', which is not
;; auto-loaded. Explicitly require `subr-x', where it is
;; defined.
(lambda _
(substitute* "tree-inspector.el"
(("\\(require 'cl-lib\\)" line)
(string-append line "(require 'subr-x)"))))))))
(propagated-inputs (list emacs-treeview))
(home-page "https://github.com/mmontone/emacs-tree-inspector")
(synopsis "Inspection tool for Emacs Lisp objects that uses a tree view")
@@ -1269,13 +1279,13 @@ face properties and allows configuration of faces and colors.")
(define-public emacs-project
(package
(name "emacs-project")
(version "0.9.8")
(version "0.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/project-" version ".tar"))
(sha256
(base32 "0i1q9blvpj3bygjh98gv0kqn2rm01b8lqp9vra82sy3hzzj39pyx"))))
(base32 "060iw06c60vjy1bp771zz0n24x4s7kpyvdjs51147v2kz35n08pb"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-xref))
(home-page "https://elpa.gnu.org/packages/project.html")
@@ -1652,14 +1662,14 @@ code files.")
(define-public emacs-mct
(package
(name "emacs-mct")
(version "0.5.1")
(version "1.0.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/protesilaos/mct")
(commit version)))
(sha256
(base32 "0vmlss546z0x8y26cxb1iis926pwjfv466gwm0clb8jfqkvr0qmh"))
(base32 "1xagrc06rvzsrv1k0arx8d5jxy1x4s9rp46gwfmnl1732irx8z3r"))
(file-name (git-file-name name version))))
(native-inputs (list texinfo))
(build-system emacs-build-system)
@@ -4263,7 +4273,7 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(define-public emacs-bm
(package
(name "emacs-bm")
(version "201905")
(version "202309")
(source
(origin
(method git-fetch)
@@ -4272,8 +4282,14 @@ searches. Unlike code@{emacs-wiki.el}, it can be combined with any format.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "180b3rc13asrmsdh7v405d54jkrininvaj52xhp71vw91ng51dkn"))))
(base32 "1a47dcda196sb6qx45w94d0vfzyfprfs3g7yj0scjmna79rr3fqa"))))
(build-system emacs-build-system)
(arguments
(list
#:tests? #true
#:test-command #~(list "emacs" "-Q" "--batch"
"-l" "bm-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
(home-page "https://github.com/joodland/bm")
(synopsis "Visual bookmarks for Emacs")
(description "This package provides visible, buffer local bookmarks and
@@ -5005,14 +5021,14 @@ window).")
(define-public emacs-mmm-mode
(package
(name "emacs-mmm-mode")
(version "0.5.9")
(version "0.5.10")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"mmm-mode-" version ".tar"))
(sha256
(base32 "12fss1ccb66xc87m5wpr3vg7bfrzz5m0q6s7pa0avvhsm2f8r2yh"))))
(base32 "1ny9gm87qah4qy0iphw2nlhz2pfc87hzzsv58lrxl18gr69qhndi"))))
(build-system emacs-build-system)
(home-page "https://github.com/purcell/mmm-mode")
(synopsis "Allow multiple major modes in an Emacs buffer")
@@ -6094,7 +6110,7 @@ files and directories.")
(define-public emacs-fountain-mode
(package
(name "emacs-fountain-mode")
(version "3.6.2")
(version "3.6.3")
(source
(origin
(method git-fetch)
@@ -6103,7 +6119,7 @@ files and directories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0mml0in6xxhfv4mdb7rl9k8m6xwmrjl5bb301p8d56sfng982pdl"))))
(base32 "18s1dp2n9q6f3py3f1yc3918yqpncdkwkgi3b3bc2868n6sw0n84"))))
(arguments
(list
#:phases #~(modify-phases %standard-phases
@@ -6766,7 +6782,7 @@ then refine or modify the search results.")
(define-public emacs-inf-ruby
(package
(name "emacs-inf-ruby")
(version "2.5.2")
(version "2.8.0")
(source
(origin
(method git-fetch)
@@ -6775,7 +6791,7 @@ then refine or modify the search results.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0a1hhvfbl6mq8rjsi77fg9fh5a91hi5scjrg9rjqc5ffbql67y0v"))))
(base32 "0dxjcr34xsa0m25yw8pp4iwjq8cqdgs6r8ls4lwfb69rnii7jmn5"))))
(build-system emacs-build-system)
(home-page "https://github.com/nonsequitur/inf-ruby")
(synopsis "Provides a REPL buffer connected to a Ruby subprocess in Emacs")
@@ -8519,20 +8535,19 @@ user.")
(define-public emacs-subed
(package
(name "emacs-subed")
(version "1.2.3")
(version "1.2.4")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
version ".tar"))
(sha256
(base32
"0np4wp7pmpayz8r9p3cl7z1i7yfq8xmkn862n9d104szf4ffk0if"))))
"05pnjdrf9gq32bayvbd0yvp1lxpwj2xsarcy3s2jjb6zcgm6djyb"))))
(arguments
(list
#:tests? #t
#:test-command #~(list "make" "test-only")))
(native-inputs
(list emacs-buttercup))
(native-inputs (list emacs-buttercup))
(build-system emacs-build-system)
(home-page "https://elpa.nongnu.org/nongnu/subed.html")
(synopsis "Major mode for editing subtitles")
@@ -8646,7 +8661,8 @@ by a query, so both a link can refer to several mails.")
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32 "1rzv13shadbvy583vjj4zg13v920zpiqrsnn10r3cqqyli89ivn2"))))
(base32 "1rzv13shadbvy583vjj4zg13v920zpiqrsnn10r3cqqyli89ivn2"))
(patches (search-patches "emacs-debbugs-keep-patch-subject.patch"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@@ -9032,7 +9048,7 @@ languages.")
(define-public emacs-irony-mode
(package
(name "emacs-irony-mode")
(version "1.5.0")
(version "1.6.0")
(home-page "https://github.com/Sarcasm/irony-mode")
(source
(origin
@@ -9042,7 +9058,7 @@ languages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ilvfqn7hzrjjy2zrv08dbdnmgksdgsmrdcvx05s8704430ag0pb"))))
(base32 "1zwmarjy9lzi57m82dw67aj69cn4nscdgp4fm8glx1krk9xh35hp"))))
(build-system emacs-build-system)
(arguments
(list
@@ -10369,7 +10385,7 @@ sgml/html integration, and indentation (working with sgml).")
(define-public emacs-jinx
(package
(name "emacs-jinx")
(version "0.8")
(version "0.9")
(source
(origin
(method git-fetch)
@@ -10380,7 +10396,7 @@ sgml/html integration, and indentation (working with sgml).")
(file-name (git-file-name name version))
(sha256
(base32
"1y097rnf9zg26jf4vh74a0laddfp4x6pp1fjqs3xqgwc0cmdq59w"))))
"0xayrqnsws2n2p0qbdl291fva4ljp3kqrr591xbq1wr6n95hfyn5"))))
(build-system emacs-build-system)
(arguments
(list
@@ -11411,40 +11427,39 @@ them easier to distinguish from other, less important buffers.")
(license license:expat)))
(define-public emacs-embark
(let ((commit "c914efe881df2bc6a2bd35cc7ee975d3e9d4a418")) ;version bump
(package
(name "emacs-embark")
(version "0.22.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/oantolin/embark")
(commit commit)))
(sha256
(base32 "1l288w27wav0r71hprqi74r77042d1fx3p1zmi05vl6z6230h48b"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'makeinfo
(lambda* (#:key outputs #:allow-other-keys)
(invoke "emacs"
"--batch"
"--eval=(require 'ox-texinfo)"
"--eval=(find-file \"README.org\")"
"--eval=(org-texinfo-export-to-info)")
(install-file "embark.info"
(string-append #$output "/share/info")))))))
(native-inputs (list texinfo))
(propagated-inputs
(list emacs-avy emacs-consult))
(home-page "https://github.com/oantolin/embark")
(synopsis "Emacs mini-buffer actions rooted in keymaps")
(description
"This package provides a sort of right-click contextual menu for Emacs
(package
(name "emacs-embark")
(version "0.23")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/oantolin/embark")
(commit version)))
(sha256
(base32 "1dmsaw1m819kzmai45c4cqh5lyyha451f7dxzwwfz9crmzg2w5sf"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'makeinfo
(lambda* (#:key outputs #:allow-other-keys)
(invoke "emacs"
"--batch"
"--eval=(require 'ox-texinfo)"
"--eval=(find-file \"README.org\")"
"--eval=(org-texinfo-export-to-info)")
(install-file "embark.info"
(string-append #$output "/share/info")))))))
(native-inputs (list texinfo))
(propagated-inputs
(list emacs-avy emacs-consult))
(home-page "https://github.com/oantolin/embark")
(synopsis "Emacs mini-buffer actions rooted in keymaps")
(description
"This package provides a sort of right-click contextual menu for Emacs
offering you relevant @emph{actions} to use on a @emph{target} determined by
the context.
@@ -11458,7 +11473,7 @@ get offered actions like deleting, copying, renaming, visiting in another
window, running a shell command on the file, etc. For buffers the actions
include switching to or killing the buffer. For package names the actions
include installing, removing or visiting the homepage.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-prescient
(package
@@ -12951,7 +12966,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
(define-public emacs-clojure-mode
(package
(name "emacs-clojure-mode")
(version "5.16.2")
(version "5.17.0")
(source
(origin
(method git-fetch)
@@ -12960,7 +12975,7 @@ allowing unprefixed keys to insert their respective characters as expected.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0axqdzq4rjjxsxx4b8n2g2gf82wrznbzdilp2kv831wyl33z29mk"))))
(base32 "0knx3y53z0dn49xisa78bac55vhhkwxs2iw3jvalx41wfwvkirxc"))))
(build-system emacs-build-system)
(native-inputs
(list emacs-buttercup emacs-dash emacs-paredit emacs-s))
@@ -13003,7 +13018,7 @@ Clojure projects from templates.")
(define-public emacs-clj-refactor
(package
(name "emacs-clj-refactor")
(version "3.9.1")
(version "3.9.4")
(source
(origin
(method git-fetch)
@@ -13012,7 +13027,7 @@ Clojure projects from templates.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c7ndc81j3pljgf7n188f3mm6vm3gyiplh4mnb4y5wbkbnpiwgdc"))))
(base32 "1j9pkkpnbvyl9p45dycngdiq2kyj6bmyb709pdxj3nar2d8ryl1h"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-cider
@@ -13967,7 +13982,7 @@ much easier.")
(define-public emacs-elfeed-protocol
(package
(name "emacs-elfeed-protocol")
(version "0.8.1")
(version "0.9.0")
(source
(origin
(method git-fetch)
@@ -13976,7 +13991,7 @@ much easier.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0k9rkghp9rg7aidmx7q0n4wpb9z5cwr7j8z167yzaqgf9s3y4jj2"))))
(base32 "0cgq280gxw40vxn2pvax9k5k22gd1kwsjw4yl35206d3mb9wb0fa"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-elfeed))
@@ -14291,8 +14306,8 @@ indentation guides in Emacs:
;; https://github.com/jorgenschaefer/elpy/issues/1824
;; https://github.com/jorgenschaefer/elpy/pull/1951
;; https://github.com/jorgenschaefer/elpy/issues/1940.
(let ((commit "1746e7009000b7635c0ea6f1559018143aa61642")
(revision "1"))
(let ((commit "7ff8ffa918411887d165764f7a5a12bc46646e73")
(revision "2"))
(package
(name "emacs-elpy")
(version (git-version "1.35.0" revision commit))
@@ -14304,7 +14319,8 @@ indentation guides in Emacs:
(file-name (git-file-name name version))
(sha256
(base32
"120xzzaa8jxls3lri6d53zq6gafnkc6d9mlg09an334kkmh8k2fc"))))
"0lh8w5a1abxaa7lf1c4yzgr0sh9szcwdnwd8w2004hv6mrcmyqc6"))
(patches (search-patches "emacs-elpy-dup-test-name.patch"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include)
@@ -14339,6 +14355,12 @@ indentation guides in Emacs:
(string-append all " :expected-result :failed\n")))
(substitute* "elpy-shell-echo-inputs-and-outputs-test.el"
(("elpy-shell-should-echo-outputs.*" all)
(string-append all " :expected-result :failed\n")))
;; This test started failing with Emacs 29 (see:
;; https://github.com/jorgenschaefer/elpy/issues/2032).
(substitute* "elpy-folding-fold-blocks-test.el"
(("elpy-fold-at-point-should-NOT-fold-and-unfold-functions\
-from-after.*" all)
(string-append all " :expected-result :failed\n"))))))
;; The default environment of the RPC uses Virtualenv to install
;; Python dependencies from PyPI. We don't want/need this in Guix.
@@ -14684,7 +14706,7 @@ that uses the standard completion function completing-read.")
(define-public emacs-yaml
(package
(name "emacs-yaml")
(version "0.5.2")
(version "0.5.4")
(source
(origin
(method git-fetch)
@@ -14693,7 +14715,7 @@ that uses the standard completion function completing-read.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05ps0lsapi0xymkyvqwnxhgkp6qzbfz1xpgq6s9d6g0ycc2fbmcm"))))
(base32 "10sdcihgd8yvdf7yab5fsvq65amp25msjh7mbrxgk3w4zc96fxzi"))))
(build-system emacs-build-system)
(home-page "https://github.com/zkry/yaml.el")
(synopsis "YAML parser in Elisp")
@@ -14706,7 +14728,7 @@ parsing utility.")
(define-public emacs-yaml-mode
(package
(name "emacs-yaml-mode")
(version "0.0.15")
(version "0.0.16")
(source
(origin
(method git-fetch)
@@ -14715,7 +14737,7 @@ parsing utility.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0gsa153yp8lmwrvcc3nzpw5lj037y7q2nm23k5k404r5as4k355l"))))
(base32 "0jqg2hmh7qsgqywwd6fy3k8z8j45nqhpdzr3hw4hd5s2hry3zhg1"))))
(build-system emacs-build-system)
(home-page "https://github.com/yoshiki/yaml-mode")
(synopsis "Major mode for editing YAML files")
@@ -14776,7 +14798,7 @@ Emacs.")
(define-public emacs-web-mode
(package
(name "emacs-web-mode")
(version "17.2.1")
(version "17.3.13")
(source
(origin
(method git-fetch)
@@ -14785,7 +14807,7 @@ Emacs.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0sd2ysysn8x4iwz2fhnvh8knr3pdqgkvhkhsl948smmfl0dwj42f"))))
(base32 "0d4j97vywfqabc896w8d30niig19lg2q1bdd3kxyvz3b8027zn4g"))))
(build-system emacs-build-system)
(synopsis "Major mode for editing web templates")
(description "Web mode is an Emacs major mode for editing web templates
@@ -14851,7 +14873,7 @@ ack, ag, helm and pt.")
(define-public emacs-helm
(package
(name "emacs-helm")
(version "3.9.4")
(version "3.9.5")
(source
(origin
(method git-fetch)
@@ -14860,7 +14882,7 @@ ack, ag, helm and pt.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0p3031qa3vdy483yw4hvhrrs1xcfhgl7f0ab5m8kixfnr3facad9"))))
(base32 "067nc728dfbwzfs07z26cwcqjj00l4lvw3n9bl1zw094v0x6hxxm"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-async emacs-popup))
@@ -15542,7 +15564,7 @@ Lua programming language}.")
(define-public emacs-ebuild-mode
(package
(name "emacs-ebuild-mode")
(version "1.66")
(version "1.67")
(source
(origin
(method url-fetch)
@@ -15551,7 +15573,7 @@ Lua programming language}.")
"ebuild-mode-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32 "1n36avqbr8yr712950yvzva01b28nl5n3k8r6pbx8mjjlaj5hvqf"))))
(base32 "0hbx3vrv2h2vfi45q4mj6z9kqsma530gxjsr5hyd4bj1xnk4gb76"))))
(build-system emacs-build-system)
(arguments
(list
@@ -16626,7 +16648,7 @@ by zenburn, sinburn and similar themes, but slowly diverging from them.")
(define-public emacs-dracula-theme
(package
(name "emacs-dracula-theme")
(version "1.8.0")
(version "1.8.1")
(source
(origin
(method git-fetch)
@@ -16635,7 +16657,7 @@ by zenburn, sinburn and similar themes, but slowly diverging from them.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0zxcfcgkssjpnwa3s0ryz6j7c8cmdpjhza3x9wycfahq35qf2r0k"))))
(base32 "0mb7pix1wbmg4laba06fvcb8q822584iq0cw8mwf0nzaf1yh12l8"))))
(build-system emacs-build-system)
(home-page "https://draculatheme.com/")
(synopsis "Dark theme for Emacs")
@@ -16717,14 +16739,14 @@ editing nginx config files.")
(define-public emacs-stream
(package
(name "emacs-stream")
(version "2.2.5")
(version "2.3.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"stream-" version ".tar"))
(sha256
(base32 "00c3n4gyxzv7vczqms0d62kl8zsmjfyxa92mwxn2snyx857a9jfw"))))
(base32 "1jvk5j0wn2f4dxnyqji85f8cgbpyrxk02mz5dzyw4xlqr0d9zc9n"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/stream.html")
(synopsis "Implementation of streams for Emacs")
@@ -16864,14 +16886,14 @@ such files while providing facilities to link between them.")
(define-public emacs-denote-menu
(package
(name "emacs-denote-menu")
(version "1.1.1")
(version "1.2.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"denote-menu-" version ".tar"))
(sha256
(base32 "12ry0rv45hv1vrwx9wih72s9h0f3r18xssnkzfa9ilp77kgbas5q"))))
(base32 "1zm68bz6hya360g5zvs4r5naznykamgzqxhvfhpfyxb70hsnmx5w"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-denote))
(home-page "https://www.scss.tcd.ie/~sulimanm/posts/denote-menu.html")
@@ -18491,16 +18513,16 @@ containing words from the Rime project.")
(define-public emacs-pyim
(package
(name "emacs-pyim")
(version "5.3.2")
(version "5.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
(sha256
(base32 "13irkmhlfq99glyy0vhj559si5672cqcysjxlxn7lvckxr298vzc"))))
(base32 "04dz3gdqq6pcxycpzkzzmhbg6lk629v41y64jlh6si21jwfr6wnx"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-async emacs-popup emacs-posframe emacs-xr))
(list emacs-async emacs-posframe emacs-xr))
(home-page "https://github.com/tumashu/pyim")
(synopsis "Chinese input method")
(description
@@ -19307,7 +19329,7 @@ variable instead, to remind you of that variable's meaning.")
(define-public emacs-eldoc-box
(package
(name "emacs-eldoc-box")
(version "1.10.1")
(version "1.11.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -19316,7 +19338,7 @@ variable instead, to remind you of that variable's meaning.")
(file-name (git-file-name name version))
(sha256
(base32
"076bbn2nnrx02zk2hs4b39q0w3s7afbgfdxnwk2y2s8lkq1l6l87"))))
"0fzcyjg61icwjw1ml3p9qzd4a10vl7n1hqdpynqr5nlq9ih7rrgq"))))
(build-system emacs-build-system)
(home-page "https://github.com/casouri/eldoc-box")
(synopsis "Childframe doc for eglot and anything that uses eldoc")
@@ -20106,7 +20128,7 @@ which avoids some of the issues with using Emacss built-in Url library.")
(define-public emacs-ement
(package
(name "emacs-ement")
(version "0.11")
(version "0.13")
(source
(origin
(method git-fetch)
@@ -20115,7 +20137,7 @@ which avoids some of the issues with using Emacss built-in Url library.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "08wsqld0qic2gn5b6vhxrpbbnabgb2mlrlcxww6dgf25phw82r0l"))))
(base32 "0bcsg8mp1z35q6k7zwm7p2ka8gvs9kkazmyjcsk9siqz4mlarv7s"))))
(build-system emacs-build-system)
(arguments
(list #:emacs emacs)) ;need libxml support
@@ -22121,7 +22143,7 @@ match and total match information in the mode-line in various search modes.")
(define-public emacs-pg
(package
(name "emacs-pg")
(version "0.20")
(version "0.24")
(source (origin
(method git-fetch)
(uri (git-reference (url "https://github.com/emarsden/pg-el")
@@ -22129,7 +22151,7 @@ match and total match information in the mode-line in various search modes.")
(file-name (git-file-name name version))
(sha256
(base32
"0a38rvl5rwfb77p4xxmjhrs6s67pfkzjfm0pdxvf0b6xh7h404kh"))))
"0228yig42g3x79gj1yakgmsj119v0agzvyn888nq6qgcd04i1w0d"))))
(build-system emacs-build-system)
(home-page "https://github.com/emarsden/pg-el")
(synopsis "Emacs Lisp interface for PostgreSQL")
@@ -22524,7 +22546,7 @@ for defining recurring tasks and easily scheduling them.")
(define-public emacs-org-super-agenda
(package
(name "emacs-org-super-agenda")
(version "1.2")
(version "1.3")
(source
(origin
(method git-fetch)
@@ -22533,24 +22555,24 @@ for defining recurring tasks and easily scheduling them.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "10l9h2n09cql4ih7nc0ma3ghdsq9l5v9xlj1lg7kq67icdwjlsvy"))))
(base32 "07fv4zgmfc8ppppbr7ylhx89wcw6r6vmz4a6pg0iy4v7sn5pp1wa"))))
(build-system emacs-build-system)
(arguments
`(#:tests? #f ;FIXNE: Tests try to read "~/org/test.org"
#:test-command '("test/run" "--debug")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-tests.el
(lambda _
(make-file-writable "test/test.el")
(emacs-substitute-variables "test/test.el"
("org-super-agenda-test-results-file"
(string-append (getcwd) "/test/results.el")))
;; The following tests fail (see:
;; https://github.com/alphapapa/org-super-agenda/issues/183).
(substitute* "test/test.el"
((".*org-super-agenda-test--:auto-(map|tags).*" all)
(string-append all " (skip-unless nil)\n"))))))))
(list
#:tests? #true
#:test-command #~(list "test/run" "--debug")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'prepare-for-tests.el
(lambda _
(make-file-writable "test/test.el")
(emacs-substitute-variables "test/test.el"
("org-super-agenda-test-results-file"
(string-append (getcwd) "/test/results.el")))
;; The following tests fail.
(substitute* "test/test.el"
((".* org-super-agenda-test--with-retained-sorting .*" all)
(string-append all " (skip-unless nil)\n"))))))))
(native-inputs
(list emacs-f util-linux))
(propagated-inputs
@@ -22826,7 +22848,7 @@ interactive commands and functions, such as @code{completing-read}.")
(define-public emacs-org-ql
(package
(name "emacs-org-ql")
(version "0.7")
(version "0.7.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -22834,7 +22856,7 @@ interactive commands and functions, such as @code{completing-read}.")
(commit version)))
(sha256
(base32
"092ckddjbs5d3h6w5x2zkpnm0qzcl00lb8q2656wa81q1kf6928k"))
"1nxjhk0yd0njlscnxvsxnlf1wy6027spcaks64qgvnrzzq9vnzrj"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
@@ -22842,7 +22864,7 @@ interactive commands and functions, such as @code{completing-read}.")
#:tests? #t
#:test-command #~(list "buttercup" "-L" ".")))
(native-inputs
(list emacs-buttercup emacs-with-simulated-input))
(list emacs-buttercup emacs-with-simulated-input emacs-xr))
(propagated-inputs
(list emacs-dash
emacs-f
@@ -23441,7 +23463,7 @@ given function is invoked.")
(define-public emacs-datetime
(package
(name "emacs-datetime")
(version "0.8")
(version "0.9.1")
(source
(origin
(method git-fetch)
@@ -23450,7 +23472,7 @@ given function is invoked.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "01byg5c6ffhgpaiccdg1g5fkh1hk92br3hw3hpjqpwwpj9skg4yz"))))
(base32 "0d918312gpdiyx7zq8kdy19bdww6jqg94hs4j5l0n63bwrxsqdx2"))))
(build-system emacs-build-system)
(arguments
`(#:include (cons "^[^/]*\\.extmap$" %default-include)))
@@ -24453,7 +24475,7 @@ powerful Org contents.")
(define-public emacs-org-re-reveal
(package
(name "emacs-org-re-reveal")
(version "3.19.2")
(version "3.23.0")
(source
(origin
(method git-fetch)
@@ -24462,7 +24484,7 @@ powerful Org contents.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "06i7a64yqlcwzpbk7fdsz16q99nxfizhl4944cc7mg7hh53fbqrs"))))
(base32 "1ss71iy1xnhr3p4mmfbnbgvp7kjqxpqag49f851wgmmwwg8gajvd"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-htmlize emacs-org))
@@ -24692,7 +24714,7 @@ and doesn't require memorisation of commands.
(define-public emacs-logview
(package
(name "emacs-logview")
(version "0.17")
(version "0.17.1")
(source
(origin
(method git-fetch)
@@ -24701,7 +24723,7 @@ and doesn't require memorisation of commands.
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0i23hyxypagz0rs7wb5l77xwz38wxng21p57n5f0vnz4p24yv108"))))
(base32 "12vahr4nln20yflxbav9q7y0clhni28h2cajji8q11jyrd4w84jx"))))
(propagated-inputs
(list emacs-datetime emacs-extmap))
(build-system emacs-build-system)
@@ -27905,30 +27927,41 @@ and comments.")
(define-public emacs-yeetube
(package
(name "emacs-yeetube")
(version "1.4.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.sr.ht/~thanosapollo/yeetube.el")
(commit version)))
(sha256
(base32
"0vfap6sri6qnswrjsp6qvmrp98bvrfh58gwdqbjiakq1fzvcrm03"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
(list mpv yt-dlp))
(home-page "https://sr.ht/~thanosapollo/yeetube.el")
(synopsis "Youtube & Invidious front-end for Emacs")
(description
"This package offers an Emacs interface that allows you to search YouTube
or an Invidious instance for a specific query. The search results are shown as
links in an org-mode buffer. The videos can be opened to a user-defined video
player(by default mpv) or downloaded using yt-dlp. This package also includes
a yt-dlp front-end.")
(license license:gpl3+)))
(name "emacs-yeetube")
(version "2.0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.com/yeetube")
(commit version)))
(sha256
(base32
"1pb6pb624icnjp7210vqrxj4sb38kydfaxc88bj1xmk1dh332h1k"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'locate-binaries
(lambda* (#:key inputs #:allow-other-keys)
(emacs-substitute-variables "yeetube.el"
("yeetube-ytdlp"
(search-input-file inputs "/bin/yt-dlp")))
(emacs-substitute-variables "yeetube-mpv.el"
("yeetube-mpv-path"
(search-input-file inputs "/bin/mpv"))))))))
(inputs (list mpv yt-dlp))
(home-page "https://thanosapollo.com/blog/yeetube/")
(synopsis "Youtube and Invidious front-end for Emacs")
(description
"This package offers an Emacs interface that allows you to search YouTube
or an Invidious instance for a specific query. The search results are shown
as links in an Org mode buffer. The videos can be opened to a user-defined
video player (by default @command{mpv}) or downloaded using @command{yt-dlp}.
This package also includes a @code{yt-dlp} front-end.")
(license license:gpl3+)))
(define-public emacs-org-web-tools
(package
@@ -29431,7 +29464,7 @@ interface to attach and interact with the processes.")
(define-public emacs-dtrt-indent
(package
(name "emacs-dtrt-indent")
(version "1.14")
(version "1.15")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -29440,7 +29473,7 @@ interface to attach and interact with the processes.")
(file-name (git-file-name name version))
(sha256
(base32
"19a1zsgipw2klwkjq8cxcjrv0lwfkgvyw57ixs43bxhfr315jfrm"))))
"1vddrpplc7887gcfg7d52fv1nxv6sgn3w310gr06c6nfk3lwas9y"))))
(build-system emacs-build-system)
(home-page "https://github.com/jscheid/dtrt-indent")
(synopsis "Minor mode that guesses the indentation offset")
@@ -31308,7 +31341,7 @@ current tree.")
(define-public emacs-org-dynamic-agenda
(package
(name "emacs-org-dynamic-agenda")
(version "0.2.0")
(version "0.3.1")
(source
(origin
(method git-fetch)
@@ -31317,7 +31350,7 @@ current tree.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1yw5ns7ar5mbj8yfhd6m5kigssb3csxjhwvmjggksq1557w1ypmx"))))
(base32 "0g59ckcrc9qd0h78qwq4qm3kn97nvnc2a0yj4g3fh74wr1mg80ad"))))
(build-system emacs-build-system)
(arguments
(list #:include
@@ -31788,14 +31821,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.6.1.2")
(version "2.6.1.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "0nazcrpkwy59dxbyzarj75zvz7vh4pgq4yzqgf6zfbvqp7q73wbn"))))
(base32 "0z7q55yilwicgzl2m69r275pq6bzpyksxcjaf8fb3bcr3zvzil0y"))))
(build-system emacs-build-system)
(arguments
(list
@@ -32832,14 +32865,14 @@ federated microblogging social network.")
(define-public emacs-ebdb
(package
(name "emacs-ebdb")
(version "0.8.17")
(version "0.8.18")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"ebdb-" version ".tar"))
(sha256
(base32 "0d2csc7b4mhaqcj8g3v46j11f5xcvbvgx06wxxfq2w0p2nzz1sik"))))
(base32 "1mb1qsw3dfaa6x52vsg73by6w7x5i6w5l7b0d2jr667y006q2vvf"))))
(build-system emacs-build-system)
(home-page "https://github.com/girzel/ebdb")
(synopsis "EIEIO port of BBDB, Emacs's contact-management package")
@@ -33274,7 +33307,7 @@ Emacs that integrate with major modes like Org-mode.")
(define-public emacs-modus-themes
(package
(name "emacs-modus-themes")
(version "4.2.0")
(version "4.3.0")
(source
(origin
(method git-fetch)
@@ -33283,7 +33316,7 @@ Emacs that integrate with major modes like Org-mode.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1r6m2jsfn6066155pnlkdgs6dz2fdsampdhdz796z2jy53k7srsg"))))
(base32 "12i32y7y6hcv7mqc6g7pcmxr2f54xf3vl2yavdv76643vlhay32v"))))
(native-inputs (list texinfo))
(build-system emacs-build-system)
(arguments
@@ -33738,8 +33771,8 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
(license license:gpl3+)))
(define-public emacs-telega-server
(let ((commit "01e8f9e397bb18522b76d3bcdb74f5798e7c4999")
(revision "0"))
(let ((commit "17bfa50c8f2e70daeb8866f3bf195f15623ab520")
(revision "1"))
(package
(name "emacs-telega-server")
(version (git-version "0.8.03" revision commit))
@@ -33750,7 +33783,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
(url "https://github.com/zevlg/telega.el")
(commit commit)))
(sha256
(base32 "0fv0czx61rsvgf9jnn8nvng7flnihnjhym73hli5fzfgdx15lam7"))
(base32 "1057zr4g8llxmzy47l5klyi89x66q8qx5vrd50pmpsp4c6772jz9"))
(file-name (git-file-name "emacs-telega" version))
(patches
(search-patches "emacs-telega-path-placeholder.patch"
@@ -34454,7 +34487,7 @@ data, including buffers, window configuration, variables, and more.")
(define-public emacs-parseedn
(package
(name "emacs-parseedn")
(version "1.1.0")
(version "1.2.0")
(source
(origin
(method git-fetch)
@@ -34463,7 +34496,7 @@ data, including buffers, window configuration, variables, and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "01j8nrkcm2s0ps277b5zb4pys29lk4cq49rlcqpj19gbfpkwcvdv"))))
(base32 "1pxm50i74id3c4c0j2ifac0wx5zkdq431dmcqbyb6w6k0s05l23c"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-a emacs-parseclj))
@@ -35179,7 +35212,7 @@ state to and restoring it from a file, with auto-saving and backups.")
(define-public emacs-company-emoji
(package
(name "emacs-company-emoji")
(version "2.7.0")
(version "2.8.0")
(source
(origin
(method git-fetch)
@@ -35188,7 +35221,7 @@ state to and restoring it from a file, with auto-saving and backups.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1prcjdqm4djp5nr93m2axddhhdmn1s0y157px9zsk7g5yi36dn6q"))))
(base32 "0j35z7hjcg3dkwgd7mdx1yaxcmxkn00h91y9kl8qdci7m4lja460"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-company))
@@ -35962,7 +35995,7 @@ and Emacs lisp commands.")
(define-public emacs-extmap
(package
(name "emacs-extmap")
(version "1.2.1")
(version "1.3")
(source
(origin
(method git-fetch)
@@ -35971,7 +36004,7 @@ and Emacs lisp commands.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "00415w4l9wfpw9v0a35dm1av2w1m6s36yr9f9286jg844x6l375f"))))
(base32 "1djqvqxjhc8rzzcrwby2jwbj73q7m5368jv0b011dnnq11rinna4"))))
(build-system emacs-build-system)
(home-page "https://github.com/doublep/extmap")
(synopsis "Externally-stored constant mapping for Emacs Lisp")
@@ -37353,13 +37386,13 @@ buffer.")
(define-public emacs-seq
(package
(name "emacs-seq")
(version "2.23")
(version "2.24")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/seq-" version ".tar"))
(sha256
(base32 "1lbxnrzq88z8k9dyylg2636pg9vc8bzfprs1hxwp9ah0zkvsn52p"))))
(base32 "1w2cysad3qwnzdabhq9xipbslsjm528fcxkwnslhlkh8v07karml"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/seq.html")
(synopsis "Sequence manipulation functions")
@@ -37646,7 +37679,7 @@ parallel fetching of tiles with cURL, and more.")
(define-public emacs-corfu-terminal
(package
(name "emacs-corfu-terminal")
(version "0.5")
(version "0.7")
(source
(origin
(method git-fetch)
@@ -37656,7 +37689,7 @@ parallel fetching of tiles with cURL, and more.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15pwv48v6plvc33715x1j1g6vf53ds4880ly5h96x2idffh7fncl"))))
(base32 "0ddj0x1mivrnxpdmnim9vkdpyjrhkfkvmcpfas1wznn4wfr559yj"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-corfu emacs-popon))
(home-page "https://codeberg.org/akib/emacs-corfu-terminal/")

View File

@@ -498,7 +498,12 @@ editor (with wide ints)" )
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9")))))))
(base32 "00mwpq1msr3jij281w5piqmbwq968xr8dn9hqbf4r947ck754kn9"))
(patches
(search-patches "emacs-next-exec-path.patch"
"emacs-fix-scheme-indent-function.patch"
"emacs-next-native-comp-driver-options.patch"
"emacs-pgtk-super-key-fix.patch")))))))
(define* (emacs->emacs-next emacs #:optional name
#:key (version (package-version emacs-next-minimal))

View File

@@ -19,6 +19,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2023 c4droid <c4droid@foxmail.com>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Hendursaga <hendursaga@aol.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,6 +47,7 @@
#:use-module (guix hg-download)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages algebra)
#:use-module (gnu packages assembly)
#:use-module (gnu packages audio)
@@ -219,28 +221,39 @@ console.")
(define-public desmume
(package
(name "desmume")
(version "0.9.11")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/desmume/desmume/"
version "/desmume-" version ".tar.gz"))
(sha256
(base32
"15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs"))
(patches (search-patches "desmume-gcc6-fixes.patch"
"desmume-gcc7-fixes.patch"))))
(build-system gnu-build-system)
(version "0.9.13")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/TASEmulators/desmume")
(commit (string-append "release_"
(string-replace-substring version
"." "_")))))
(file-name (git-file-name name version))
(sha256
(base32
"1ylxv0gjcxwj6dgwly2fjhyr0wrs5yazkim9nvqb8p72mxfwls5y"))))
(build-system meson-build-system)
(arguments
;; Enable support for WiFi and microphone.
`(#:configure-flags '("--enable-wifi"
"--enable-openal")))
(native-inputs
(list pkg-config intltool))
(inputs
(list zlib sdl glib gtk+-2 glu))
(home-page "http://desmume.org/")
(list #:configure-flags #~(list "-Dfrontend-cli=true"
"-Dfrontend-gtk=true"
"-Dgdb-stub=true"
"-Dopenal=true")
#:phases #~(modify-phases %standard-phases
;; meson.build is in a subdirectory.
(add-after 'unpack 'chdir
(lambda _
(chdir "desmume/src/frontend/posix"))))))
(native-inputs (list `(,glib "bin") gettext-minimal intltool pkg-config))
(inputs (list agg
alsa-lib
gtk+
libpcap
openal
sdl2
soundtouch
zlib))
(home-page "https://desmume.org/")
(synopsis "Nintendo DS emulator")
(description
"DeSmuME is an emulator for the Nintendo DS handheld gaming console.")

View File

@@ -38,6 +38,7 @@
;;; Copyright © 2022, 2023 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2023 Theofilos Pechlivanis <theofilos.pechlivanis@gmail.com>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -123,7 +124,9 @@
#:use-module (gnu packages lisp)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
@@ -1089,7 +1092,7 @@ Emacs).")
(define-public kicad
(package
(name "kicad")
(version "7.0.7")
(version "7.0.8")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1097,7 +1100,7 @@ Emacs).")
(commit version)))
(sha256
(base32
"1xbzf29rhqh6kl0vggdn2dblgp927096fc1lr3y4yw63b8n0qq50"))
"1gaj833hm3avyb7gyjnl4jk9cckcmj8084y6q45ysjvh283rxsy4"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1197,7 +1200,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"00f51rcnki08x2jkyla5vmqx7nhck3cyz86wiy0qkmc8klb1a6ba"))))
"1ya9kwcbsh8cqbinjr1hr14sd0g6rls1awmvw8hwd7715f97x8fg"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DBUILD_FORMATS=html")
@@ -1231,7 +1234,7 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(file-name (git-file-name name version))
(sha256
(base32
"1wr754m4ykidds3i14gqhvyrj3mbkchp2hkfnr0rjsdaqf4zmqdf"))))
"176zb7df25vz3wbhs94plmpabcgzxsnzbqmpdyssqr7m2wb2424a"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no tests exist
@@ -1260,7 +1263,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"0xnnivlqgcyaz9qay73p43jnvmvshp2b3fbh3569j7rmgi5pn8x0"))))
"1560m5mwwq0jrjhr8zdh2xrm1w7pgr250p81xzhdc4wj7zsb0rrp"))))
(synopsis "Official KiCad footprint libraries")
(description "This package contains the official KiCad footprint libraries.")))
@@ -1277,7 +1280,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"141r5wd8s1bgyf77kvb9q14cpsiwwv4zmfzwbgcd42rflsk2lcbc"))))
"1ypy2nzs1x8i98jr5kmlxfd6y592qs22aq73yl8nq0s6640fc4kk"))))
(synopsis "Official KiCad 3D model libraries")
(description "This package contains the official KiCad 3D model libraries.")))
@@ -1294,7 +1297,7 @@ libraries.")
(file-name (git-file-name name version))
(sha256
(base32
"1qi20mrsfn4fxmr1fyphmil2i9p2nzmwk5rlfchc5aq2194nj3lq"))))
"11582ldnv7hkljmhaym83962kixq1hjbfmdrn5laq7l4jk3l19vh"))))
(synopsis "Official KiCad project and worksheet templates")
(description "This package contains the official KiCad project and
worksheet templates.")))
@@ -2322,33 +2325,101 @@ parallel computing platforms. It also supports serial execution.")
(define-public librepcb
(package
(name "librepcb")
(version "0.1.5")
(version "1.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.librepcb.org/releases/"
version "/librepcb-" version "-source.zip"))
(modules `((guix build utils)))
(snippet
;; Delete libraries that we already have or don't need.
;; TODO: try to unbundle more (see lib/).
`(begin
(let ((third-parties '("fontobene-qt5"
"googletest"
"hoedown"
"muparser"
"polyclipping"
"quazip")))
(with-directory-excursion "libs"
(map (lambda (third-party)
(delete-file-recursively third-party))
third-parties)))))
(sha256
(base32 "0smp1p7wnrj0vh4rmz1cr2krfawc2lzx0pbzmgyay7xdp6jxympr"))))
(build-system gnu-build-system)
(base32 "02qfwyhdq1pklb5gkwn3rbsdhwvcgiksd21swaphz3kw6s4p9i8v"))))
(build-system cmake-build-system)
(inputs
(list qtbase-5 qtsvg-5 zlib))
(list clipper
fontconfig
fontobene-qt5
glu
hoedown
muparser
opencascade-occt
qtbase-5
qtdeclarative-5
qtquickcontrols2-5
qtsvg-5
quazip
zlib))
(native-inputs
(list qttools-5 ; for lrelease
(list googletest
pkg-config
qttools-5
unzip))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(mkdir-p "build")
(chdir "build")
(let ((lrelease (search-input-file inputs "/bin/lrelease"))
(out (assoc-ref outputs "out")))
(invoke "qmake"
(string-append "QMAKE_LRELEASE=" lrelease)
(string-append "PREFIX=" out)
"../librepcb.pro")))))))
`(#:configure-flags (list
"-DUNBUNDLE_FONTOBENE_QT5=ON"
"-DUNBUNDLE_GTEST=ON"
"-DUNBUNDLE_HOEDOWN=ON"
"-DUNBUNDLE_MUPARSER=ON"
"-DUNBUNDLE_POLYCLIPPING=ON"
"-DUNBUNDLE_QUAZIP=ON")
#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(let ((test-include (list "*"))
(test-exclude
(list
;; These tests all fail when run by the build
;; process even though they pass when manually
;; run as a normal user.
;; TODO: verify that the failing tests don't
;; point to any actual underlying issues
"SystemInfoTest.testGetUsername"
"OrderPcbDialogTest.testAutoOpenBrowser"
"DxfImportDialogTest.testLayerName"
"DxfImportDialogTest.testCirclesAsDrills"
"DxfImportDialogTest.testJoinTangentPolylines"
"DxfImportDialogTest.testLineWidth"
"DxfImportDialogTest.testScaleFactor"
"DxfImportDialogTest.testPlacementPosition"
"GraphicsExportDialogTest.testPageSize"
"GraphicsExportDialogTest.testOrientation"
"GraphicsExportDialogTest.testMargins"
"GraphicsExportDialogTest.testShowPinNumbers"
"GraphicsExportDialogTest.testRotate"
"GraphicsExportDialogTest.testMirror"
"GraphicsExportDialogTest.testScale"
"GraphicsExportDialogTest.testPixmapDpi"
"GraphicsExportDialogTest.testBlackWhite"
"GraphicsExportDialogTest.testBackgroundColor"
"GraphicsExportDialogTest.testMinLineWidth"
"GraphicsExportDialogTest.testLayerColors"
"GraphicsExportDialogTest.testOpenExportedFiles"
"AddComponentDialogTest.testAddMore")))
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "QT_QUICK_BACKEND" "software")
(display "Running unittests...\n")
(invoke "./tests/unittests/librepcb-unittests"
(string-append
"--gtest_filter="
(string-join test-include ":")
"-"
(string-join test-exclude ":"))))))))))
(home-page "https://librepcb.org/")
(synopsis "Electronic Design Automation tool")
(description "LibrePCB is @dfn{Electronic Design Automation} (EDA)
@@ -2356,17 +2427,12 @@ software to develop printed circuit boards. It features human readable file
formats and complete project management with library, schematic and board
editors.")
(license (list license:gpl3+
license:boost1.0 ; libs/clipper,
; libs/optional/tests/catch.hpp,
; libs/sexpresso/tests/catch.hpp
license:boost1.0 ; libs/optional/tests/catch.hpp,
license:expat ; libs/delaunay-triangulation,
; libs/parseagle, libs/type_safe
license:asl2.0 ; libs/fontobene, libs/googletest,
; libs/parseagle
license:isc ; libs/hoedown
license:cc0 ; libs/optional, libs/sexpresso
license:bsd-2 ; libs/optional/tests/catch.hpp
license:lgpl2.1+)))) ; libs/quazip
license:asl2.0 ; libs/parseagle
license:cc0 ; libs/optional
license:bsd-2)))) ; libs/optional/tests/catch.hpp
(define-public gpx
(package
@@ -2604,7 +2670,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(define-public python-scikit-rf
(package
(name "python-scikit-rf")
(version "0.28.0")
(version "0.29.1")
(source (origin
(method git-fetch) ;PyPI misses some files required for tests
(uri (git-reference
@@ -2612,7 +2678,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
(commit (string-append "v" version))))
(sha256
(base32
"11pxl8q356f6q4cvadasg52js3k446l87hwmc87b1n9cy8sxcfvi"))
"11pbcgbq34xyjv5gjwi3a8cpgqqwmd73ps1fwyjajl26q2nkmcdh"))
(file-name (git-file-name name version))))
(build-system pyproject-build-system)
(propagated-inputs (list python-matplotlib
@@ -2630,6 +2696,7 @@ measurement devices and test equipment via GPIB, RS232, Ethernet or USB.")
python-networkx
python-pytest
python-pytest-cov
python-pytest-mock
python-pyvisa))
(home-page "https://scikit-rf.org/")
(synopsis "Radio frequency and Microwave Engineering Scikit")

View File

@@ -35,6 +35,7 @@
;;; Copyright © 2023 Frank Pursel <frank.pursel@gmail.com>
;;; Copyright © 2023 Skylar Hill <stellarskylark@posteo.net>
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -925,7 +926,7 @@ Bech32 and segwit addresses.")
;; the toplevel app called trezor-agent.
(package
(name "python-trezor-agent")
(version "0.14.4")
(version "0.14.7")
(source
(origin
(method git-fetch)
@@ -934,7 +935,7 @@ Bech32 and segwit addresses.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ksv494xpga27ifrjyn1bkqaya5h769lqb9rx1ng0n4kvmnrqr3l"))))
(base32 "04dds5bbw73nk36zm8d02qw6qr92nrlcf8r1cq8ba96mzi34jbk0"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -962,8 +963,12 @@ Bech32 and segwit addresses.")
python-semver
python-unidecode
python-wheel))
(native-inputs
(list gnupg python-mock python-pytest))
(native-inputs ; Only needed for running the tests
(list gnupg
python-bech32
python-cryptography
python-mock
python-pytest))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Use hardware wallets as SSH and GPG agent")
(description
@@ -1094,7 +1099,7 @@ Nano dongle.")
(define-public python-trezor
(package
(name "python-trezor")
(version "0.13.0")
(version "0.13.7")
(source
(origin
(method git-fetch)
@@ -1103,7 +1108,7 @@ Nano dongle.")
(commit (string-append "python/v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1wy584bxx5p2av4lv1bx9hl1q0b5n7hqz0hnqb9shjriarvl5ckd"))
(base32 "13wyl9b15c8iscfakprwfvh2akw180hfqdjww79b78ywz51y7hdh"))
(modules
'((guix build utils)
(srfi srfi-26)
@@ -1129,25 +1134,24 @@ Nano dongle.")
(build-system python-build-system)
(propagated-inputs
(list python-attrs
;; TOOD: Use the latest click version after release 0.13.1 or later
;; is made (see:
;; https://github.com/trezor/trezor-firmware/issues/2199).
python-click-7
python-construct
python-click
python-construct-classes
python-ecdsa
python-hidapi
python-libusb1
python-mnemonic
python-requests
python-typing-extensions))
(native-inputs
;; For tests.
(native-inputs ; Only needed for running the tests
(list protobuf
python-black
python-isort
python-pillow
python-protobuf
python-pyqt
python-pytest))
python-pytest
python-simple-rlp
python-wheel))
(home-page "https://github.com/trezor/python-trezor")
(synopsis "Python library for communicating with TREZOR Hardware Wallet")
(description "@code{trezor} is a Python library for communicating with
@@ -1205,21 +1209,21 @@ the KeepKey Hardware Wallet.")
(define-public trezor-agent
(package
(name "trezor-agent")
(version "0.14.4")
;; There are multiple Python apps/packages in the same git repo. The git
;; tag seems to track libagent's version (which is called
;; python-trezor-agent in the Guix namespace). Currently trezor-agent's
;; version is set in `agents/trezor/setup.py` to a different value than
;; libagent, but as discussed with upstream in issue
;; https://github.com/romanz/trezor-agent/issues/369, we are copying our
;; version from that of libagent.
(version (package-version python-trezor-agent))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/romanz/trezor-agent")
;; The version mismatch is not a mistake. Multiple Python
;; apps/packages are in the same git repo, and they have
;; different versions. The git tag seems to track libagent,
;; i.e. python-trezor-agent in the Guix namespace. See
;; e.g. ./agents/trezor/setup.py.
(commit "v0.14.4")))
(uri (origin-uri (package-source python-trezor-agent)))
(file-name (git-file-name name version))
(sha256
(base32 "1ksv494xpga27ifrjyn1bkqaya5h769lqb9rx1ng0n4kvmnrqr3l"))
(base32 "04dds5bbw73nk36zm8d02qw6qr92nrlcf8r1cq8ba96mzi34jbk0"))
(modules
'((guix build utils)
(ice-9 ftw)
@@ -1238,13 +1242,16 @@ the KeepKey Hardware Wallet.")
(string-append "./" file-name)))
(scandir "./agents/trezor/"
(negate (cut member <> '("." "..") string=))))
(delete-file-recursively "./agents")))))
(delete-file-recursively "./agents")
;; Without deleting ./contrib the sanity-check phase fails. Reported
;; upstream as https://github.com/romanz/trezor-agent/issues/429.
(delete-file-recursively "./contrib")
;; Without deleting ./libagent setuptools complains as follows:
;; "error: Multiple top-level packages discovered in a flat-layout: ['contrib', 'libagent']."
(delete-file-recursively "./libagent")))))
(arguments
`(#:phases
(modify-phases %standard-phases
;; This package only has a Python script, not a Python module, so the
;; sanity-check phase can't work.
(delete 'sanity-check)
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
@@ -1267,8 +1274,10 @@ the KeepKey Hardware Wallet.")
(build-system python-build-system)
(inputs
(list python-trezor python-trezor-agent))
(native-inputs
(list python-attrs))
(native-inputs ; Only needed for running the tests
(list python-attrs
python-bech32
python-simple-rlp))
(home-page "https://github.com/romanz/trezor-agent")
(synopsis "Using Trezor as hardware SSH/GPG agent")
(description "This package allows using Trezor as a hardware SSH/GPG
@@ -1657,7 +1666,7 @@ trezord as a regular user instead of needing to it run as root.")
(define-public trezord
(package
(name "trezord")
(version "2.0.31")
(version "2.0.33")
(source
(origin
(method git-fetch)
@@ -1665,16 +1674,18 @@ trezord as a regular user instead of needing to it run as root.")
(url "https://github.com/trezor/trezord-go")
(commit (string-append "v" version))))
(sha256
(base32 "130nhk1pnr3xx9qkcij81mm3jxrl5zvvdqhvrgvrikqg3zlb6v5b"))
(base32 "0nnfh9qkb8ljajkxwrn3nn85zrsw10hp7c5i4zh60qgfyl0djppw"))
(file-name (git-file-name name version))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/trezor/trezord-go"))
`(#:import-path "github.com/trezor/trezord-go"
;; Requires go 1.18 or later: https://github.com/trezor/trezord-go/commit/f559ee5079679aeb5f897c65318d3310f78223ca
#:go ,go-1.20))
(native-inputs
`(("github.com/gorilla-csrf" ,go-github-com-gorilla-csrf)
("github.com/gorilla/handlers" ,go-github-com-gorilla-handlers)
("github.com/gorilla/mux" ,go-github-com-gorilla-mux)
("gopkg.in/natefinch/lumberjack.v2" ,go-gopkg-in-natefinch-lumberjack.v2)))
(list go-github-com-gorilla-csrf
go-github-com-gorilla-handlers
go-github-com-gorilla-mux
go-gopkg-in-natefinch-lumberjack.v2))
(home-page "https://trezor.io")
(synopsis "Trezor Communication Daemon aka Trezor Bridge (written in Go)")
(description "This allows a Trezor hardware wallet to communicate to the

View File

@@ -58,6 +58,7 @@
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2023 chris <chris@bumblehead.com>
;;; Copyright © 2023 Luis Felipe López Acevedo <sirgazil@zoho.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1937,7 +1938,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
(define-public font-sarasa-gothic
(package
(name "font-sarasa-gothic")
(version "0.42.0")
(version "0.42.1")
(source
(origin
(method url-fetch)
@@ -1945,7 +1946,7 @@ weights and five widths in both Roman and Italic, plus variable fonts.")
"/releases/download/v" version
"/sarasa-gothic-ttc-" version ".7z"))
(sha256
(base32 "06yvymkkmp8g7innmwg9xc6wdsfngj118k1fhp8fcav4110qx585"))))
(base32 "0lrhipis21cafpsf8wsrdavlblfgzz424r23rj78ik8npbws1a3v"))))
(build-system font-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -3144,7 +3145,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
(version "1.300")
(version "1.310")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3152,7 +3153,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
"1vywhvzj8l3hw2j0np5jhmwli037mxgs05s7n3y3xw3z46r7rwx4"))))
"10z8ilcpfxmll6j6ck4yj90x48vh3c7ck0lm61qjangpw9fcgfb1"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")
@@ -3166,7 +3167,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
(package
(inherit font-lxgw-wenkai)
(name "font-lxgw-wenkai-tc")
(version "1.000")
(version "1.010")
(source (origin
(method url-fetch)
(uri (string-append
@@ -3174,7 +3175,7 @@ within GB 2312, standard glyphs for Mainland China is used.")
version "/lxgw-wenkai-tc-v" version ".tar.gz"))
(sha256
(base32
"1jhmqwrx7311iwng3b00j3lwjzacam605dm4n6wd8amqc9azi9b2"))))
"1yppqrfmynai1canlq0hksl3yaj8kflbnj41ljl4lxwaz6q9i1ly"))))
(home-page "https://github.com/lxgw/LxgwWenKaitc")
(synopsis "Traditional Chinese Imitation Song typeface")
(description
@@ -3209,7 +3210,7 @@ prevalent typefaces in Traditional Chinese regions.")
(package
(inherit font-chiron-sung-hk)
(name "font-chiron-hei-hk")
(version "2.506")
(version "2.508")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3218,7 +3219,7 @@ prevalent typefaces in Traditional Chinese regions.")
(file-name (git-file-name name version))
(sha256
(base32
"1v40wcj3h38ai9gacpjfd02nas97scpdkz3g3h8a5yzp0n0pfknw"))))
"0drvkqk629z63k62v3ds559phl82dmkyvpx2r8mi99nnsz22a8ps"))))
(synopsis "Traditional Chinese Gothic typeface")
(description
"Chiron Hei HK is a Traditional Chinese Gothic typeface based on the Hong
@@ -3457,3 +3458,29 @@ interfaces.")
is to provide fonts that conform to existing standards and recommendations, so
that it can be a reference implementation.")
(license license:gpl2+)))
(define-public font-orbitron
(let ((version "0")
(commit "13e6a5222aa6818d81c9acd27edd701a2d744152")
(revision "0"))
(package
(name "font-orbitron")
(version (git-version version revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/theleagueof/orbitron")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1c6jb7ayr07j1pbnzf3jxng9x9bbqp3zydf8mqdw9ifln1b4ycyf"))))
(build-system font-build-system)
(home-page "https://github.com/theleagueof/orbitron")
(synopsis "Futuristic geometric sans-serif")
(description "Orbitron is a geometric sans-serif typeface intended
for display purposes. It features four weights (light, medium, bold,
and black), a stylistic alternative, small caps, and many alternate
glyphs.")
(license license:silofl1.1))))

View File

@@ -18,6 +18,7 @@
;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 pinoaffe <pinoaffe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -65,6 +66,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@@ -369,6 +371,37 @@ but also provides many useful font conversion and analysis facilities.
python-ufonormalizer
python-ufoprocessor))))
(define-public python-beziers
(package
(name "python-beziers")
(version "0.5.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/simoncozens/beziers.py")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1dyr45m15sclbgaz1mrcnw8kny50h09gd45dlpfkgv9qpfxphkg3"))))
(build-system python-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs (list python-pytest python-dotmap python-matplotlib))
(propagated-inputs (list python-pyclipper))
(home-page "https://simoncozens.github.io/beziers.py/index.html")
(synopsis "Python bezier manipulation library")
(description
"Beziers provides a variety of classes for constructing,
manipulating and drawing Bezier curves and paths. Principally designed for
font design software, it allows you to join, split, offset, and perform many
other operations on paths.")
(license license:expat)))
(define-public python-cffsubr
(package
(name "python-cffsubr")
@@ -960,6 +993,35 @@ value (e.g. @samp{x=\"95.0\"} becomes @samp{x=\"95\"})
@end itemize")
(license license:bsd-3)))
(define-public fontobene-qt5
(package
(name "fontobene-qt5")
(version "0.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fontobene/fontobene-qt5")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0gy3sfraf23k7dm4ha8nqpd6madzk0zmxkcb204micyn5b5l8ljg"))))
(inputs (list qtbase-5))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "./tests/fontobene-qt5-tests")))))))
(home-page "https://github.com/fontobene/fontobene-qt5")
(synopsis "Parser for FontoBene stroke fonts")
(description "FontoBene-Qt5 is a header-only library to parse FontoBene
stroke fonts with C++11/Qt5.")
;; Dual-licensed, either license applies.
(license (list license:asl2.0 license:expat))))
(define-public ttfautohint
(package
(name "ttfautohint")

View File

@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -18,11 +19,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages forth)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages m4))
#:use-module (gnu packages m4)
#:use-module (gnu packages vim))
(define-public gforth
(package
@@ -58,3 +62,53 @@ and history. A generic virtual machine environment, vmgen, is also
included.")
(home-page "https://www.gnu.org/software/gforth/")
(license license:gpl3+)))
(define-public smithforth
(package
(name "smithforth")
(version "220711")
(source
(origin
(method url-fetch)
(uri (string-append "https://dacvs.neocities.org/SF/SForth"
version "dmp.txt"))
(sha256
(base32 "0a39pv7529llsa3f48fmvwvlcp3f9v8qkn5ziw2l6kxf0qvli3lm"))))
(build-system trivial-build-system)
(native-inputs (list xxd))
(arguments
(list
#:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils)
(ice-9 textual-ports))
(let* ((sforth.dmp #$(package-source this-package))
(system.fs #$(origin
(method url-fetch)
(uri (string-append
"https://dacvs.neocities.org/SF/system"
version "fs.txt"))
(sha256
(base32
"17v1pp64s6n8q8w3kg48nd7zdcx2208y4svr5fpfms5lkyzg7z1m"))))
(xxd (string-append (assoc-ref %build-inputs "xxd")
"/bin/xxd"))
(bin (string-append (assoc-ref %outputs "out") "/bin")))
(copy-file sforth.dmp "sforth.dmp")
(substitute* "sforth.dmp" (("#.*$") "\n"))
(with-output-to-file "sforth"
(lambda _
(invoke xxd "-p" "-r" "sforth.dmp")
(call-with-input-file system.fs
(lambda (port) (display (get-string-all port)))))
#:binary #t)
(chmod "sforth" #o755)
(install-file "sforth" bin)))))
(home-page "https://dacvs.neocities.org/SF/")
(synopsis "Forth programming language for x86-64 desktop computers")
(description "SmithForth is an implementation of the Forth programming
language for x86-64 desktop computers. SmithForth is a text interpreter that
runs in a Linux text console.")
(supported-systems '("x86_64-linux"))
(license license:expat-0)))

View File

@@ -2635,7 +2635,7 @@ fiction and classic point-and-click adventures.")
(define-public openvr
(package
(name "openvr")
(version "1.8.19")
(version "1.26.7")
(home-page "https://github.com/ValveSoftware/openvr/")
(source
(origin
@@ -2645,7 +2645,7 @@ fiction and classic point-and-click adventures.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b8cppvw6ib0kvx0vjq7jsk3plg1vh171w8xr230vjn05381wp52"))))
(base32 "09rvrja3pz6ggs41ra71p4dwjl4n0rpqrqw8jiy92xl33hhxbsmx"))))
(build-system cmake-build-system)
(arguments
;; No tests.

View File

@@ -11191,100 +11191,97 @@ and unsafe rides. Which path will you take?")
(license license:gpl2)))
(define-public ultrastar-deluxe
;; The last release is quite old and does not support recent ffmpeg versions.
(let ((commit "43484b0a10ce6aae339e19d81ae2f7b37caf6baa")
(revision "1"))
(package
(name "ultrastar-deluxe")
(version (git-version "2020.4.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/UltraStar-Deluxe/USDX.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"078g1rbm1ympmwq9s64v68sxvcms7rr0qid12d2wgm4r04ana47r"))
(patches (search-patches "ultrastar-deluxe-no-freesans.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Remove Windows binaries.
(for-each delete-file (find-files "game" "\\.dll$"))
;; Remove font blobs.
(let ((font-directories
(list "DejaVu" "FreeSans" "NotoSans"
"wqy-microhei")))
(for-each
(lambda (d) (delete-file-recursively
(string-append "game/fonts/" d)))
font-directories))))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-configure
(lambda* (#:key inputs configure-flags outputs #:allow-other-keys)
(define (where inputs file)
(dirname (search-input-file inputs file)))
;; The configure script looks for lua$version, but we
;; provide lua-$version.
(substitute* "configure.ac"
(("lua\\$i") "lua-$i"))
;; fpc does not pass -lfoo to the linker, but uses its own
;; linker script, which references libs. Pass the libraries
;; listed in that linker script, so our custom linker adds
;; a correct rpath.
(substitute* "src/Makefile.in"
(("linkflags\\s+:= ")
(string-append
"linkflags := -lpthread -lsqlite3 -lSDL2"
" -lSDL2_image -ldl "
" -lz -lfreetype -lportaudio -lavcodec"
" -lavformat -lavutil -lswresample"
" -lswscale -llua -ldl -lX11 -lportmidi"
" -L" (where inputs "lib/libz.so")
" -L" (where inputs "lib/libX11.so")
" -L" (where inputs "lib/libportmidi.so"))))))
(add-after 'install 'font-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (string-append
(assoc-ref outputs "out")
"/share/ultrastardx/fonts/fonts.ini")
(("=NotoSans/") (string-append "=" #$font-google-noto
"/share/fonts/truetype/"))
(("=DejaVu/") (string-append "=" #$font-dejavu
"/share/fonts/truetype/"))))))))
(inputs (list ffmpeg-5
font-dejavu
font-google-noto
; Not needed, since we dont have freesans.
;font-wqy-microhei
freetype
libx11
lua
portaudio
portmidi
sdl2
sdl2-image
sqlite
zlib))
(native-inputs (list pkg-config fpc autoconf automake))
(synopsis "Karaoke game")
(description
"UltraStar Deluxe (USDX) is a karaoke game. It allows up to six players
(package
(name "ultrastar-deluxe")
(version "2023.9.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/UltraStar-Deluxe/USDX.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0sm0f67hpsys072yvp5phhza686ivbb18qlfy62vsdv0v9cizxia"))
(patches (search-patches "ultrastar-deluxe-no-freesans.patch"))
(modules '((guix build utils)))
(snippet
#~(begin
;; Remove Windows binaries.
(for-each delete-file (find-files "game" "\\.dll$"))
;; Remove font blobs.
(let ((font-directories
(list "DejaVu" "FreeSans" "NotoSans"
"wqy-microhei")))
(for-each
(lambda (d) (delete-file-recursively
(string-append "game/fonts/" d)))
font-directories))))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; No tests.
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-configure
(lambda* (#:key inputs configure-flags outputs #:allow-other-keys)
(define (where inputs file)
(dirname (search-input-file inputs file)))
;; The configure script looks for lua$version, but we
;; provide lua-$version.
(substitute* "configure.ac"
(("lua\\$i") "lua-$i"))
;; fpc does not pass -lfoo to the linker, but uses its own
;; linker script, which references libs. Pass the libraries
;; listed in that linker script, so our custom linker adds
;; a correct rpath.
(substitute* "src/Makefile.in"
(("linkflags\\s+:= ")
(string-append
"linkflags := -lpthread -lsqlite3 -lSDL2"
" -lSDL2_image -ldl "
" -lz -lfreetype -lportaudio -lavcodec"
" -lavformat -lavutil -lswresample"
" -lswscale -llua -ldl -lX11 -lportmidi"
" -L" (where inputs "lib/libz.so")
" -L" (where inputs "lib/libX11.so")
" -L" (where inputs "lib/libportmidi.so"))))))
(add-after 'install 'font-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* (string-append
(assoc-ref outputs "out")
"/share/ultrastardx/fonts/fonts.ini")
(("=NotoSans/") (string-append "=" #$font-google-noto
"/share/fonts/truetype/"))
(("=DejaVu/") (string-append "=" #$font-dejavu
"/share/fonts/truetype/"))))))))
(inputs (list ffmpeg-5
font-dejavu
font-google-noto
; Not needed, since we dont have freesans.
;font-wqy-microhei
freetype
libx11
lua
portaudio
portmidi
sdl2
sdl2-image
sqlite
zlib))
(native-inputs (list pkg-config fpc autoconf automake))
(synopsis "Karaoke game")
(description
"UltraStar Deluxe (USDX) is a karaoke game. It allows up to six players
to sing along with music using microphones in order to score points, depending
on the pitch of the voice and the rhythm of singing.")
(home-page "https://usdx.eu/")
(license license:gpl2+))))
(home-page "https://usdx.eu/")
(license license:gpl2+)))
(define-public steam-devices-udev-rules
;; Last release from 2019-04-10
(let ((commit "d87ef558408c5e7a1a793d738db4c9dc2cb5f8fa")
(revision "0"))
(let ((commit "13443480a64fe8f10676606bd57da6de89f8ccb1")
(revision "1"))
(package
(name "steam-devices-udev-rules")
(version (git-version "1.0.0.61" revision commit))
@@ -11296,7 +11293,7 @@ on the pitch of the voice and the rhythm of singing.")
(file-name (git-file-name name version))
(sha256
(base32
"1yqigraz9f19018ma5n2pbx7naadh9960lia3z8ayg7vz1fjdl54"))))
"0i086gmnk93q76sw1laa9br6b7zj2r6nrrw7d64y4q9wcrlxw2bi"))))
(build-system copy-build-system)
(arguments
'(#:install-plan '(("./" "lib/udev/rules.d"

View File

@@ -1050,6 +1050,29 @@ scrollable tiling of windows and per monitor workspaces. It's inspired by paper
notebooks and tiling window managers.")
(license license:gpl3)))
(define-public gnome-shell-extension-night-theme-switcher
(package
(name "gnome-shell-extension-night-theme-switcher")
(version "65")
(source
(origin
(method git-fetch)
(uri (git-reference
(url
"https://gitlab.com/rmnvgr/nightthemeswitcher-gnome-shell-extension")
(commit version)))
(sha256
(base32 "0qhi2g2lh6m8vhrmmfi60977f0i4k9x1zj68lrvpzzlqndz8cgh9"))
(file-name (git-file-name name version))))
(build-system meson-build-system)
(native-inputs (list pkg-config (list glib "bin")))
(synopsis "Automatic theme switcher for GNOME Shell")
(description
"Automatically toggle your GNOME desktop's color scheme between light and
dark, switch backgrounds and run custom commands at sunset and sunrise.")
(home-page "https://nightthemeswitcher.romainvigier.fr")
(license license:gpl2+)))
(define-public gpaste
(package
(name "gpaste")

View File

@@ -5,7 +5,7 @@
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016, 2017, 2018, 2019, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2023 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017, 2018 Nikita <nikita@n0.is>
;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
@@ -393,7 +393,12 @@ from collections.abc import MutableSequence"))))
"-src.tgz"))
(sha256
(base32
"0iccpdvc0kvpww5a31k9gjkqigyz016i7v80r9zamd34w4fl6mx4")))))))
"0iccpdvc0kvpww5a31k9gjkqigyz016i7v80r9zamd34w4fl6mx4"))
(patches
(cons
(search-patch
"icu4c-fix-TestHebrewCalendarInTemporalLeapYear.patch")
(origin-patches (package-source icu4c)))))))))
;;;
;;; Localization helper procedures.
@@ -542,9 +547,9 @@ variable defined below. It requires guile-json to be installed."
;; XXXX: Workaround 'snippet' limitations.
(define computed-origin-method (@@ (guix packages) computed-origin-method))
(define %icecat-base-version "115.3.0")
(define %icecat-base-version "115.3.1")
(define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
(define %icecat-build-id "20230926000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20230928000000") ;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'
@@ -564,12 +569,12 @@ variable defined below. It requires guile-json to be installed."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"1jkhfrnjyjr3c7xs724ny0wv3jamld8ia6ggx273ppw17l5wa7ca"))))
"0lqymabkhxpdhmgz81if8za1hdakh8nlm4cmsir4y1fa95p2bnkx"))))
;; The upstream-icecat-base-version may be older than the
;; %icecat-base-version.
(upstream-icecat-base-version "115.3.0")
(gnuzilla-commit "3486a3e29280093102e11411d4f05987133ba789")
(upstream-icecat-base-version "115.3.1")
(gnuzilla-commit "1b0f0ba84716023657dd7dff72cb408e35380a60")
(gnuzilla-source
(origin
(method git-fetch)
@@ -581,7 +586,7 @@ variable defined below. It requires guile-json to be installed."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"0x3dlrvf59w8sgg5n6ryaj39yxr2573zmshimfh4mzbidv3j4aw5"))))
"0kvdyg2kzjabldqa10any5ad8r06pcybamvfnkn7nwcvd86g8s0v"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.

View File

@@ -139,7 +139,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
(version "2.24")
(version "2.26")
(source
(origin
(method url-fetch)
@@ -147,7 +147,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
"04y9x3dcxmlrz5m8n5sx0xhvr30qq0vwcc749nxcvmdv4c2nm100"))
"1mn7ma8w4spqc0p4slp1s14q45z7hzyp49ikvd1spsz9jqz8ycpk"))
(modules '((guix build utils)))
(snippet
'(begin

View File

@@ -2,7 +2,7 @@
;;; Copyright © 2015, 2016, 2021, 2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2019, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2018, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
@@ -1505,7 +1505,7 @@ in Julia).")
(define-public povray
(package
(name "povray")
(version "3.7.0.8")
(version "3.7.0.10")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1514,43 +1514,41 @@ in Julia).")
(file-name (git-file-name name version))
(sha256
(base32
"1q114n4m3r7qy3yn954fq7p46rg7ypdax5fazxr9yj1jklf1lh6z"))
"19bv962clwc6sk53kq8bqf77fh0v46afm2knjbki8yj0m1mnyyd0"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled libraries.
(delete-file-recursively "libraries")
#t))))
;; Delete bundled libraries.
'(delete-file-recursively "libraries"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake pkg-config))
(inputs
`(("boost" ,boost)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("openexr" ,openexr-2)
("sdl" ,sdl)
("zlib" ,zlib)))
(list boost
libjpeg-turbo
libpng
libtiff
openexr-2
sdl
zlib))
(arguments
'(#:configure-flags
(list "COMPILED_BY=Guix"
(string-append "--with-boost-libdir="
(assoc-ref %build-inputs "boost") "/lib")
"--disable-optimiz-arch")
(list
#:configure-flags
#~(list "COMPILED_BY=Guix"
(string-append "--with-boost-libdir="
#$(this-package-input "boost") "/lib")
"--disable-optimiz-arch")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'run-prebuild
(lambda _
(setenv "HOME" (getcwd))
(with-directory-excursion "unix"
(substitute* "prebuild.sh"
(("/bin/sh") (which "sh")))
(invoke "sh" "prebuild.sh"))
#t))
;; The bootstrap script is run by the prebuild script in the
;; "run-prebuild" phase.
(delete 'bootstrap))))
'(modify-phases %standard-phases
(add-after 'unpack 'run-prebuild
(lambda _
(setenv "HOME" (getcwd))
(with-directory-excursion "unix"
(substitute* "prebuild.sh"
(("/bin/sh") (which "sh")))
(invoke "sh" "prebuild.sh"))))
;; The bootstrap script is run by the prebuild script in the
;; "run-prebuild" phase.
(delete 'bootstrap))))
(synopsis "Tool for creating three-dimensional graphics")
(description
"@code{POV-Ray} is short for the Persistence of Vision Raytracer, a tool

View File

@@ -1680,7 +1680,7 @@ Scheme by using Guiles foreign function interface.")
(replace "guile" guile-2.2)))))
(define-public guile-mastodon
(let ((commit "74b75bcf547df92acee1e0466ecd7ec07f775392")
(let ((commit "0a94ae6bbca63d440eb3f6d7e636630aca6d2b52")
(revision "1"))
(package
(name "guile-mastodon")
@@ -1693,7 +1693,7 @@ Scheme by using Guiles foreign function interface.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1wx5h6wa9c0na8mrnr2nv1nzjvq68zyrly8yyp11dsskhaw4y33h"))))
"17ic44jypv1yq296w8b4nm99189fdgmdw1pdx0172x97dicsf2j6"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake emacs-minimal pkg-config texinfo))
@@ -5468,7 +5468,7 @@ with a FSM is being built (for example, from a Makefile.)")
guile-lib
guile-smc))
(inputs (list bash-minimal guile-3.0 guile-lib))
(propagated-inputs (list guile-smc))
(propagated-inputs (list guile-lib guile-smc))
(home-page "https://github.com/artyom-poptsov/guile-ini")
(synopsis "Guile library for INI format support")
(description

View File

@@ -655,7 +655,7 @@ hardware works with a fully free operating system or not.")
(define-public headsetcontrol
(package
(name "headsetcontrol")
(version "2.6.1")
(version "2.7.0")
(source
(origin
(method git-fetch)
@@ -664,7 +664,7 @@ hardware works with a fully free operating system or not.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1pkgi87wjyris53frw3qmjdqvkzyyl55ikjgn8cidnbr6i3rqls9"))))
(base32 "0l8bvdaj70s6qf8pds8bl367355j9lqb9mvc4lskz0n4ya8xs2dl"))))
(build-system cmake-build-system)
(inputs
(list hidapi))

View File

@@ -221,15 +221,15 @@ written in Go.")
(define-public go-ipfs
(package
(name "go-ipfs")
(version "0.13.0")
(version "0.14.0")
(source
(origin
(method url-fetch/tarbomb)
(uri (string-append
"https://dist.ipfs.io/go-ipfs/v" version
"/go-ipfs-source.tar.gz"))
"https://dist.ipfs.io/kubo/v" version
"/kubo-source.tar.gz"))
(sha256
(base32 "1cx47ais2zn62c0r7lmrpfzia2gjyr61qi8my5wg3pj3dfr0fhkq"))
(base32 "0n7nfiymh6knj3h672gdrb24g9vz9j15x3vn6aml2nk7pv9dsy7p"))
(file-name (string-append name "-" version "-source"))
(modules '((guix build utils)))
(snippet '(for-each delete-file-recursively
@@ -282,8 +282,8 @@ written in Go.")
(build-system go-build-system)
(arguments
(list
#:unpack-path "github.com/ipfs/go-ipfs"
#:import-path "github.com/ipfs/go-ipfs/cmd/ipfs"
#:unpack-path "github.com/ipfs/kubo"
#:import-path "github.com/ipfs/kubo/cmd/ipfs"
#:phases
#~(modify-phases %standard-phases
;; https://github.com/ipfs/kubo/blob/master/docs/command-completion.md

View File

@@ -9,7 +9,7 @@
;;; Copyright © 2017, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018-2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019, 2020, 2021 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2020 Raghav Gururajan <raghavgururajan@disroot.org>
@@ -1078,6 +1078,18 @@ new Date();"))
(substitute-keyword-arguments (package-arguments openjdk9)
((#:phases phases)
`(modify-phases ,phases
,@(if (target-aarch64?)
`((replace 'patch-for-aarch64
(lambda _
(substitute* "src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp"
;; This line is duplicated, so remove both occurrences,
;; then add back one occurrence by substituting a
;; comment that occurs once.
(("using MacroAssembler::call_VM_leaf_base;") "")
(("Interpreter specific version of call_VM_base")
(string-append "Interpreter specific version of call_VM_base\n"
" using MacroAssembler::call_VM_leaf_base;"))))))
'())
(replace 'fix-java-shebangs
(lambda _
;; This file was "fixed" by patch-source-shebangs, but it requires
@@ -1451,6 +1463,18 @@ new Date();"))
(substitute-keyword-arguments (package-arguments openjdk11)
((#:phases phases)
#~(modify-phases #$phases
#$@(if (target-aarch64?)
#~((add-after 'unpack 'patch-for-aarch64
(lambda _
(substitute* "src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp"
;; This line is duplicated, so remove both occurrences,
;; then add back one occurrence by substituting a
;; comment that occurs once.
(("using MacroAssembler::call_VM_leaf_base;") "")
(("Interpreter specific version of call_VM_base")
(string-append "Interpreter specific version of call_VM_base\n"
" using MacroAssembler::call_VM_leaf_base;"))))))
#~())
(replace 'fix-java-shebangs
(lambda _
;; 'blocked' was renamed to 'blacklisted' in this version for

View File

@@ -492,6 +492,21 @@ 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-6.5-version "6.5.5")
(define-public linux-libre-6.5-gnu-revision "gnu")
(define deblob-scripts-6.5
(linux-libre-deblob-scripts
linux-libre-6.5-version
linux-libre-6.5-gnu-revision
(base32 "01mm6v67bcrhgm97axsw46x0iix9im7hmlb765f3bkjhwklpxdy7")
(base32 "132ps1jprxw6kqyscsar38fn7s12kg416mfhz7w702f4ajgq1ndi")))
(define-public linux-libre-6.5-pristine-source
(let ((version linux-libre-6.5-version)
(hash (base32 "15gg8sb6cfgk1afwj7fl7mj4nkj14w43vzwvw0qsg3nzyxwh7wcc")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.5)))
(define-public linux-libre-6.4-version "6.4.16")
(define-public linux-libre-6.4-gnu-revision "gnu")
(define deblob-scripts-6.4
@@ -628,6 +643,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(patches (append (origin-patches source)
patches))))
(define-public linux-libre-6.5-source
(source-with-patches linux-libre-6.5-pristine-source
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch)))
(define-public linux-libre-6.4-source
(source-with-patches linux-libre-6.4-pristine-source
(list %boot-logo-patch
@@ -747,6 +767,11 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(description "Headers of the Linux-Libre kernel.")
(license license:gpl2)))
(define-public linux-libre-headers-6.5
(make-linux-libre-headers* linux-libre-6.5-version
linux-libre-6.5-gnu-revision
linux-libre-6.5-source))
(define-public linux-libre-headers-6.4
(make-linux-libre-headers* linux-libre-6.4-version
linux-libre-6.4-gnu-revision
@@ -1091,6 +1116,14 @@ Linux kernel. It has been modified to remove all non-free binary blobs.")
;;; Generic kernel packages.
;;;
(define-public linux-libre-6.5
(make-linux-libre* linux-libre-6.5-version
linux-libre-6.5-gnu-revision
linux-libre-6.5-source
'("x86_64-linux" "i686-linux" "armhf-linux"
"aarch64-linux" "powerpc64le-linux" "riscv64-linux")
#:configuration-file kernel-config))
(define-public linux-libre-6.4
(make-linux-libre* linux-libre-6.4-version
linux-libre-6.4-gnu-revision
@@ -1828,6 +1861,36 @@ Linux kernel module, it also contains a modprobe configuration and udev rules,
which need to be installed separately.")
(license license:gpl3+)))
(define-public vendor-reset-linux-module
(let ((commit "4b466e92a2d9f76ce1082cde982c7be0be91e248")
(revision "0"))
(package
(name "vendor-reset-linux-module")
(version (git-version "0.1.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gnif/vendor-reset")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1gaf4j20grng689c9fylcqri3j9ycnhr2bsva2z6qcdqvzl6yxbi"))))
(build-system linux-module-build-system)
(arguments
(list #:tests? #f)) ;no test suite
(home-page "https://github.com/gnif/vendor-reset")
(synopsis
"Kernel module that resets GPUs that are affected by the reset bug")
(description
"This package provides a kernel module that is capable of
resetting hardware devices into a state where they can be
re-initialized or passed through into a virtual machine (VFIO).
While it would be great to have these in the kernel as PCI quirks,
some of the reset procedures are very complex and would never be
accepted as a quirk (ie AMD Vega 10).")
(license license:gpl2))))
;;;
;;; Pluggable authentication modules (PAM).
@@ -10316,7 +10379,7 @@ error detection and correction (EDAC).")
(define-public spectre-meltdown-checker
(package
(name "spectre-meltdown-checker")
(version "0.45")
(version "0.46")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -10325,15 +10388,14 @@ error detection and correction (EDAC).")
(file-name (git-file-name name version))
(patches
(search-patches
"spectre-meltdown-checker-externalize-fwdb.patch"
"spectre-meltdown-checker-find-kernel.patch"))
"spectre-meltdown-checker-externalize-fwdb.patch"))
;; Remove builtin firmware database.
(modules '((guix build utils)))
(snippet '(substitute* "spectre-meltdown-checker.sh"
(("^# [AI],.*") "")))
(sha256
(base32
"1xx8h5791lhc2xw0dcbzjkklzvlxwxkjzh8di4g8divfy24fqsn8"))))
"0j42p6dayb7k87kf8sqimxlaswis3qh0569a15zccyknv9vf129k"))))
(build-system copy-build-system)
(arguments
(list
@@ -10352,11 +10414,11 @@ error detection and correction (EDAC).")
(find-command inputs cmd))
;; Commands safe to substitute directly.
(("\\<(awk|(base|dir)name|bunzip|g(un)?zip|lz4)\\>" all cmd)
(("\\<(awk|(base|dir)name|bunzip2|g(un)?zip|lz4)\\>" all cmd)
(find-command inputs cmd))
(("\\<(modprobe|pgrep|rmmod|umount|unlzma)\\>" all cmd)
(("\\<(lzop|mktemp|modprobe|pgrep|rmmod|umount)\\>" all cmd)
(find-command inputs cmd))
(("\\<(unxz|unzstd|uuencode)\\>" all cmd)
(("\\<(unlzma|unxz|unzstd|uuencode)\\>" all cmd)
(find-command inputs cmd))
;; Commands which should only be substituted based on their

View File

@@ -3502,6 +3502,37 @@ values in other options.")
(define-public ecl-py-configparser
(sbcl-package->ecl-package sbcl-py-configparser))
(define-public sbcl-cl-ini
(let ((commit "e630acb405022a7ae11969bf908669fee1191ab7")
(revision "0"))
(package
(name "sbcl-cl-ini")
(version (git-version "0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/compufox/cl-ini")
(commit commit)))
(file-name (git-file-name "sbcl-cl-ini" version))
(sha256
(base32
"12vy3gspqn0wmkyz5id1xrgv1scgb16m7pkvmbmi19vlpj2iyq7p"))))
(build-system asdf-build-system/sbcl)
(native-inputs (list sbcl-prove))
(inputs (list sbcl-cl-str))
(home-page "https://github.com/compufox/cl-ini")
(synopsis "INI file parser for Common Lisp")
(description
"Parse INI formatted files into a Common Lisp list structure.")
(license license:expat))))
(define-public cl-ini
(sbcl-package->cl-source-package sbcl-cl-ini))
(define-public ecl-cl-ini
(sbcl-package->ecl-package sbcl-cl-ini))
(define-public sbcl-pythonic-string-reader
(let ((commit "47a70ba1e32362e03dad6ef8e6f36180b560f86a"))
(package

View File

@@ -53,6 +53,7 @@
;;; Copyright © 2022 ( <paren@disroot.org>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Arjan Adriaanse <arjan@adriaan.se>
;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1885,7 +1886,7 @@ delivery.")
(define-public exim
(package
(name "exim")
(version "4.96")
(version "4.96.1")
(source
(origin
(method url-fetch)
@@ -1899,7 +1900,7 @@ delivery.")
(string-append "https://ftp.exim.org/pub/exim/exim4/old/"
file-name))))
(sha256
(base32 "18ziihkpa23lybm7m2l9wp2farxw0bd5ng7xm9ylgcrfgf95d6i9"))))
(base32 "0g83cxkq3znh5b3r2a3990qxysw7d2l71jwcxaxzvq8pqdahgb4k"))))
(build-system gnu-build-system)
(arguments
(list #:phases
@@ -2228,6 +2229,16 @@ hashing scheme (such as scrypt) plug-in for @code{Dovecot}.")
;; Likely to be included in next version
(search-patches "isync-openssl3-fix.patch"))))
(build-system gnu-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'substitute-openssl-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* (string-append #$output "/bin/mbsync-get-cert")
(("openssl s_client")
(string-append (search-input-file inputs "/bin/openssl")
" s_client"))))))))
(native-inputs
(list perl))
(inputs

File diff suppressed because it is too large Load Diff

View File

@@ -28,7 +28,7 @@
;;; Copyright © 2020, 2022 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2020, 2021 Robert Karszniewicz <avoidr@posteo.de>
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2021 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 jgart <jgart@dismail.de>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
@@ -1480,14 +1480,14 @@ Qt-based XMPP library QXmpp.")
(define-public prosody
(package
(name "prosody")
(version "0.12.3")
(version "0.12.4")
(source (origin
(method url-fetch)
(uri (string-append "https://prosody.im/downloads/source/"
"prosody-" version ".tar.gz"))
(sha256
(base32
"0091vc0v8xnxkpdi4qpy4dirn92y4pa09q1qssi40q7l3w1hvnim"))))
"0mjqss1h2cw0nlyj9nkxdg1bnq1j0zndlv1g8665aa9g7hki5ms7"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;tests require "busted"
@@ -2636,41 +2636,43 @@ replacement.")
(license license:gpl2+)))
(define-public tdlib
(package
(name "tdlib")
(version "1.8.10")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tdlib/td")
(commit "ef4c3902fe082b83192d578af7a0bb956a917fed")))
(sha256
(base32 "1pi53v8qjl0lzann99pv90i4qx2lbjz10rvnwzkbqbn932y3j3gg"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list
#:build-type "Release"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-tests
(lambda _
(substitute* "test/CMakeLists.txt"
;; The test cases are compiled into a distinct binary
;; which uses mtproto.cpp to attempt to connect to
;; a remote server. Removing this file from the sources
;; list disables those specific test cases.
(("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") "")))))))
(native-inputs
(list gperf openssl zlib php doxygen))
(synopsis "Cross-platform library for building Telegram clients")
(description "Tdlib is a cross-platform library for creating custom
(let ((commit "4d1d22d6f477d61f6ff2b8f6e49de1847092c5b4")
(revision "0"))
(package
(name "tdlib")
(version (git-version "1.8.16" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/tdlib/td")
(commit commit)))
(sha256
(base32 "0nv921k795kq0l993rxzd5pm5v3l3mnwbaxb7d7d0m0506l4w9fk"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
(list
#:build-type "Release"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-tests
(lambda _
(substitute* "test/CMakeLists.txt"
;; The test cases are compiled into a distinct binary
;; which uses mtproto.cpp to attempt to connect to
;; a remote server. Removing this file from the sources
;; list disables those specific test cases.
(("\\$\\{CMAKE_CURRENT_SOURCE_DIR\\}/mtproto.cpp") "")))))))
(native-inputs
(list gperf openssl zlib php doxygen))
(synopsis "Cross-platform library for building Telegram clients")
(description "Tdlib is a cross-platform library for creating custom
Telegram clients following the official Telegram API. It can be easily used
from almost any programming language with a C-FFI and features first-class
support for high performance Telegram Bot creation.")
(home-page "https://core.telegram.org/tdlib")
(license license:boost1.0)))
(home-page "https://core.telegram.org/tdlib")
(license license:boost1.0))))
(define-public purple-mm-sms
(package
@@ -3193,7 +3195,7 @@ designed for experienced users.")
(define-public matterbridge
(package
(name "matterbridge")
(version "1.25.2")
(version "1.26.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3202,7 +3204,7 @@ designed for experienced users.")
(file-name (git-file-name name version))
(sha256
(base32
"0csvxsgl62fjkrmk0wy64h2qaiy16m0wh6pqfbhz0kfacq16p9an"))))
"0939fiy7z53izznfhlr7c6vaskbmkbj3ncb09fzx5dmz9cjngy80"))))
;; Using the go-build-system results in the same error message
;; than in the bug 1551[1]. So we fix it by running go build
;; manually in the git repository as-is as this is the solution

View File

@@ -246,7 +246,16 @@ protocol.")
;; actually invoked.
(lambda _
(substitute* "doc/meson.build"
(("rsync") "ls")))))))
(("rsync") "ls"))))
(add-after 'install 'move-completion
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(contrib (string-append out "/share/doc/mpc/contrib"))
(completion
(string-append out "/etc/bash-completion.d/")))
(mkdir-p completion)
(rename-file (string-append contrib "/mpc-completion.bash")
(string-append completion "/mpc"))))))))
(inputs (list libmpdclient))
(native-inputs
(list pkg-config python-sphinx))
@@ -613,7 +622,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd
(package
(name "mympd")
(version "12.0.2")
(version "12.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -622,7 +631,7 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version))
(sha256
(base32
"19139ina79jdfmc2vh6xcp5n0z8c41fi2fz2fmvg623bpix3fcgf"))))
"06g0b7j12lrrz8mrg6wp2fxy0qm4x9z2fri05by40399z1akgsx4"))))
(build-system cmake-build-system)
(arguments
(list

View File

@@ -4103,7 +4103,7 @@ using the beets FetchArt plugin.")
(define-public milkytracker
(package
(name "milkytracker")
(version "1.03.00")
(version "1.04.00")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4112,7 +4112,7 @@ using the beets FetchArt plugin.")
(file-name (git-file-name name version))
(sha256
(base32
"025fj34gq2kmkpwcswcyx7wdxb89vm944dh685zi4bxx0hz16vvk"))
"0zxaq69yb30wyw4dmx3hypzgyxsypp6i9qrv599jlbbbzhwjysqc"))
(modules '((guix build utils)))
;; Remove non-FSDG compliant sample songs.
(snippet

View File

@@ -174,8 +174,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.4.0")
(commit "d0438fcf658cb8c95b32381fac44b0a6278459ed")
(revision 11))
(commit "e863274e67e2242b970845783172c9f4e49405ca")
(revision 13))
(package
(name "guix")
@@ -191,7 +191,7 @@
(commit commit)))
(sha256
(base32
"05i32m7cxs7vhl54hvs0f9g84jhnn2dbc9qcgaqvqnqc4i8yhhxr"))
"0g8p0w9qrqbzz3b4fzbvvqpdfgwhlxpz75n3ysa6haima5s19mp3"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@@ -64,14 +64,14 @@
(define-public parallel
(package
(name "parallel")
(version "20230822")
(version "20230922")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/parallel/parallel-"
version ".tar.bz2"))
(sha256
(base32 "0ppwdgp9j7r0a5l5zb0mla70jq24wmy1n33b5naw44y1lfclanab"))
(base32 "0qz0pzy6icgdr6ak0gszzlxqm4s0w514ayyg2d8gcpayvlb78i0i"))
(snippet
'(begin
(use-modules (guix build utils))

View File

@@ -1,59 +0,0 @@
From: zeromus
Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
Subject: fix GCC6 issues
Bug: https://sourceforge.net/p/desmume/bugs/1570/
Bug-Debian: http://bugs.debian.org/811691
Index: desmume/src/MMU_timing.h
===================================================================
--- desmume/src/MMU_timing.h (revision 5513)
+++ desmume/src/MMU_timing.h (revision 5517)
@@ -155,8 +155,8 @@
enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
- enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
- enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << BLOCKSIZESHIFT) };
+ enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
+ enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << BLOCKSIZESHIFT) };
enum { WORDSIZE = sizeof(u32) };
enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
Index: desmume/src/ctrlssdl.cpp
===================================================================
--- desmume/src/ctrlssdl.cpp (revision 5513)
+++ desmume/src/ctrlssdl.cpp (revision 5517)
@@ -200,7 +200,7 @@
break;
case SDL_JOYAXISMOTION:
/* Dead zone of 50% */
- if( (abs(event.jaxis.value) >> 14) != 0 )
+ if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
{
key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event.jaxis.axis & 127) << 1);
if (event.jaxis.value > 0) {
@@ -370,7 +370,7 @@
Note: button constants have a 1bit offset. */
case SDL_JOYAXISMOTION:
key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | ((event->jaxis.axis & 127) << 1);
- if( (abs(event->jaxis.value) >> 14) != 0 )
+ if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
{
if (event->jaxis.value > 0)
key_code |= 1;
Index: desmume/src/wifi.cpp
===================================================================
--- desmume/src/wifi.cpp (revision 5429)
+++ desmume/src/wifi.cpp (revision 5430)
@@ -320,9 +320,9 @@
#if (WIFI_LOGGING_LEVEL >= 1)
#if WIFI_LOG_USE_LOGC
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
#else
- #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
+ #define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
#endif
#else
#define WIFI_LOG(level, ...) {}

View File

@@ -1,18 +0,0 @@
From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001
From: rogerman <rogerman@users.sf.net>
Date: Mon, 17 Aug 2015 21:15:04 +0000
Subject: Fix bug with libfat string handling.
diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
index 765d7ae5..b6d7f01f 100644
--- a/src/utils/libfat/directory.cpp
+++ b/src/utils/libfat/directory.cpp
@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len
int bytes;
size_t count = 0;
- while (count < len-1 && src != '\0') {
+ while (count < len-1 && *src != '\0') {
bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
if (bytes > 0) {
*dst = (ucs2_t)tempChar;

View File

@@ -0,0 +1,29 @@
Preserve subject when replying to patch threads.
Upstream status: likely to be in the next release (bug#66330)
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index f366fba11d..cd549e364d 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1747,6 +1747,12 @@ MERGED is the list of bugs merged with this one."
(format "Re: bug#%d: %s" id (alist-get 'subject status)))
(debbugs-gnu-summary-mode 1)))
+(defcustom debbugs-gnu-summary-keep-subject
+ (rx "[PATCH" (? (0+ (not (any digit "/]"))) (1+ digit) "/" (1+ digit)) "]")
+ "Regular expression which keeps the original message subject in replies."
+ :version "29.1"
+ :type 'regexp)
+
(defvar debbugs-gnu-summary-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "C" #'debbugs-gnu-send-control-message)
@@ -1778,6 +1784,8 @@ MERGED is the list of bugs merged with this one."
(cons new new))
address))))))
,@(and debbugs-gnu-subject
+ (not (string-match-p debbugs-gnu-summary-keep-subject
+ debbugs-gnu-subject))
`((subject ,debbugs-gnu-subject)))))))
(defun debbugs-gnu-guess-current-id ()

View File

@@ -0,0 +1,60 @@
Forwarded upstream: https://github.com/jorgenschaefer/elpy/pull/2031
diff --git a/test/elpy-config--insert-help-test.el b/test/elpy-config--insert-help-test.el
index bb293ff..2584fd4 100644
--- a/test/elpy-config--insert-help-test.el
+++ b/test/elpy-config--insert-help-test.el
@@ -2,6 +2,6 @@
;; with output. We will test its constituent functions later, and just
;; make sure it doesn't throw an error here.
-(ert-deftest elpy-config-should-not-fail ()
+(ert-deftest elpy-config-should-not-fail-insert-help ()
(elpy-testcase ()
(elpy-config--insert-help)))
diff --git a/test/elpy-library-root-test.el b/test/elpy-library-root-test.el
index fdc88b2..2f7484c 100644
--- a/test/elpy-library-root-test.el
+++ b/test/elpy-library-root-test.el
@@ -4,7 +4,7 @@
(should (f-equal? (elpy-library-root)
project-root))))
-(ert-deftest elpy-library-root-should-find-current-directory ()
+(ert-deftest elpy-library-root-should-find-current-directory-2 ()
(elpy-testcase ((:project project-root
"p1/p2/test.py"
"p1/p2/__init__.py"
diff --git a/test/elpy-open-and-indent-line-above-test.el b/test/elpy-open-and-indent-line-above-test.el
index d846712..790dd26 100644
--- a/test/elpy-open-and-indent-line-above-test.el
+++ b/test/elpy-open-and-indent-line-above-test.el
@@ -1,4 +1,4 @@
-(ert-deftest elpy-open-and-indent-line-below ()
+(ert-deftest elpy-open-and-indent-line-above ()
(elpy-testcase ()
(elpy-enable)
(python-mode)
diff --git a/test/elpy-rpc-get-usages-test.el b/test/elpy-rpc-get-usages-test.el
index 85f0ad4..be5d7c5 100644
--- a/test/elpy-rpc-get-usages-test.el
+++ b/test/elpy-rpc-get-usages-test.el
@@ -1,4 +1,4 @@
-(ert-deftest elpy-rpc-get-completions ()
+(ert-deftest elpy-rpc-get-completions-usages ()
(elpy-testcase ()
(mletf* ((called-args nil)
(elpy-rpc (&rest args) (setq called-args args)))
diff --git a/test/elpy-rpc-test.el b/test/elpy-rpc-test.el
index 8b5bdca..3ff6965 100644
--- a/test/elpy-rpc-test.el
+++ b/test/elpy-rpc-test.el
@@ -17,7 +17,7 @@
(should (equal error 'elpy-rpc--default-error-callback))))
(elpy-rpc "test-method" nil 'success))))
-(ert-deftest elpy-rpc-should-use-default-without-error-callback ()
+(ert-deftest elpy-rpc-should-use-default-without-error-callback-2 ()
(elpy-testcase ()
(mletf* ((elpy-rpc--call-blocking
(method params)

View File

@@ -0,0 +1,18 @@
Do not capture the build-time value of $PATH in the 'emacs' executable
since this can noticeably increase the size of the closure of Emacs
with things like GCC being referenced.
Index: emacs-next/lisp/loadup.el
===================================================================
--- emacs-next.orig/lisp/loadup.el
+++ emacs-next/lisp/loadup.el
@@ -599,7 +599,8 @@ lost after dumping")))
((equal dump-mode "dump") "emacs")
((equal dump-mode "bootstrap") "emacs")
((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
- (t (error "Unrecognized dump mode %s" dump-mode)))))
+ (t (error "Unrecognized dump mode %s" dump-mode))))
+ (exec-path nil))
(when (and (featurep 'native-compile)
(equal dump-mode "pdump"))
;; Don't enable this before bootstrap is completed, as the

View File

@@ -0,0 +1,18 @@
We substitute this anyway, so let's make it easier to substitute.
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -203,9 +203,7 @@ and above."
:type '(repeat string)
:version "28.1")
-(defcustom native-comp-driver-options
- (cond ((eq system-type 'darwin) '("-Wl,-w"))
- ((eq system-type 'cygwin) '("-Wl,-dynamicbase")))
+(defcustom native-comp-driver-options nil
"Options passed verbatim to the native compiler's back-end driver.
Note that not all options are meaningful; typically only the options
affecting the assembler and linker are likely to be useful.
--
2.38.0

View File

@@ -0,0 +1,65 @@
This patch contains the relevant changes to GKlib made in SuiteSparse
(CHOLMOD) for the version 7.2.0
(https://github.com/DrTimothyAldenDavis/SuiteSparse/commit/8a7641cdb4809533c681417e94f98058c07c5da2).
The disabling of signal handling when MATLAB_MEX_FILE is defined is omitted.
diff -ur a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,8 @@
option(BUILD_SHARED_LIBS "Build shared libraries (.dll/.so) instead of static ones (.lib/.a)" OFF)
+find_package ( SuiteSparse_config 7.1.0 REQUIRED )
+
get_filename_component(abs "." ABSOLUTE)
set(GKLIB_PATH ${abs})
unset(abs)
diff -ur a/GKlib.h b/GKlib.h
--- a/GKlib.h
+++ b/GKlib.h
@@ -59,6 +59,24 @@
#include <omp.h>
#endif
+/* -------------------------------------------------------------------------- */
+/* Added for incorporation into SuiteSparse.
+ Tim Davis, Oct 31, 2022, Texas A&M University. */
+#include "SuiteSparse_config.h"
+#define malloc SuiteSparse_config_malloc
+#define calloc SuiteSparse_config_calloc
+#define realloc SuiteSparse_config_realloc
+#define free(p) \
+{ \
+ if ((p) != NULL) \
+ { \
+ SuiteSparse_config_free (p) ; \
+ (p) = NULL ; \
+ } \
+}
+
+/* -------------------------------------------------------------------------- */
+
diff -ur a/memory.c b/memory.c
--- a/memory.c
+++ b/memory.c
@@ -108,6 +108,8 @@
/*************************************************************************/
int gk_malloc_init()
{
+ gkmcore = NULL;
+#if 0
if (gkmcore == NULL)
gkmcore = gk_gkmcoreCreate();
@@ -115,6 +117,7 @@
return 0;
gk_gkmcorePush(gkmcore);
+#endif
return 1;
}

View File

@@ -0,0 +1,33 @@
From b6b3e89231a623441940889b5badd90f74bdce2b Mon Sep 17 00:00:00 2001
From: Frank Tang <ftang@chromium.org>
Date: Mon, 18 Sep 2023 20:20:42 -0700
Subject: [PATCH] ICU-22512 Fix broken TestHebrewCalendarInTemporalLeapYear
Fix broken test mistakenly landed in
https://github.com/unicode-org/icu/pull/2274
Some important steps were missed in the last landing.
---
icu4c/source/test/intltest/caltest.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/icu4c/source/test/intltest/caltest.cpp b/icu4c/source/test/intltest/caltest.cpp
index 9d89f468eef0..18b96f231ba3 100644
--- a/source/test/intltest/caltest.cpp
+++ b/source/test/intltest/caltest.cpp
@@ -4028,6 +4028,7 @@ void CalendarTest::TestHebrewCalendarInTemporalLeapYear() {
for (gc.set(startYear, UCAL_JANUARY, 1);
gc.get(UCAL_YEAR, status) <= stopYear;
gc.add(UCAL_DATE, incrementDays, status)) {
+ cal->setTime(gc.getTime(status), status);
if (failure(status, "add/get/set/getTime/setTime incorrect")) return;
int32_t cal_year = cal->get(UCAL_EXTENDED_YEAR, status);
@@ -4036,6 +4037,7 @@ void CalendarTest::TestHebrewCalendarInTemporalLeapYear() {
leapTest->set(UCAL_MONTH, 0);
leapTest->set(UCAL_DATE, 1);
// If 10 months after TISHRI is TAMUZ, then it is a leap year.
+ leapTest->add(UCAL_MONTH, 10, status);
hasLeapMonth = leapTest->get(UCAL_MONTH, status) == icu::HebrewCalendar::TAMUZ;
yearForHasLeapMonth = cal_year;
}

View File

@@ -0,0 +1,71 @@
This patch fixes the compilation with hdf5 version >= 1.10. Adapted from
https://aur.archlinux.org/cgit/aur.git/plain/hdf5_18_api.patch?h=scilab-git.
diff -ur a/scilab/modules/hdf5/includes/HDF5Objects.h b/scilab/modules/hdf5/includes/HDF5Objects.h
--- a/scilab/modules/hdf5/includes/HDF5Objects.h
+++ b/scilab/modules/hdf5/includes/HDF5Objects.h
@@ -16,14 +16,12 @@
#ifndef __HDF5OBJECTS_H__
#define __HDF5OBJECTS_H__
-#define H5_NO_DEPRECATED_SYMBOLS
#undef H5_USE_16_API
+#define H5_USE_18_API
-#define H5Eset_auto_vers 2
#include <hdf5.h>
#include <hdf5_hl.h>
-#undef H5_NO_DEPRECATED_SYMBOLS
//#define __HDF5OBJECTS_DEBUG__
//#define __HDF5ERROR_PRINT__
diff -ur a/scilab/modules/hdf5/Makefile.am b/scilab/modules/hdf5/Makefile.am
--- a/scilab/modules/hdf5/Makefile.am
+++ b/scilab/modules/hdf5/Makefile.am
@@ -104,8 +104,7 @@
-DH5Gopen_vers=2 \
-DH5Tget_array_dims_vers=2 \
-DH5Acreate_vers=2 \
- -DH5Rdereference_vers=2 \
- -DNO_DEPRECATED_SYMBOLS
+ -DH5Rdereference_vers=2
libscihdf5_la_CPPFLAGS = \
diff -ur a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
--- a/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
+++ b/scilab/modules/hdf5/sci_gateway/cpp/sci_hdf5_listvar_v3.cpp
@@ -13,6 +13,8 @@
*
*/
+#define H5_USE_18_API
+
#include <vector>
#include "function.hxx"
#include "string.hxx"
diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
--- a/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile.c
@@ -13,7 +13,7 @@
*
*/
-#define H5_NO_DEPRECATED_SYMBOLS
+#define H5_USE_18_API
#ifndef _MSC_VER
#include <sys/time.h>
diff -ur a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
--- a/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
+++ b/scilab/modules/hdf5/src/c/h5_readDataFromFile_v1.c
@@ -13,7 +13,7 @@
*
*/
-#define H5_NO_DEPRECATED_SYMBOLS
+#define H5_USE_18_API
#ifndef _MSC_VER
#include <sys/time.h>

View File

@@ -1,27 +1,28 @@
From 340b08737e552c3c186863d76d123808d853a159 Mon Sep 17 00:00:00 2001
From 8caeb440a176cb7f8908403da51106c74e2b5cb8 Mon Sep 17 00:00:00 2001
From: Hilton Chain <hako@ultrarare.space>
Date: Sat, 12 Nov 2022 22:45:24 +0800
Date: Thu, 27 Jul 2023 14:45:14 +0800
Subject: [PATCH] Replace fwdb downloader with a local file option.
Also warn about non-free software.
---
spectre-meltdown-checker.sh | 180 +++---------------------------------
1 file changed, 15 insertions(+), 165 deletions(-)
spectre-meltdown-checker.sh | 253 +++---------------------------------
1 file changed, 17 insertions(+), 236 deletions(-)
diff --git a/spectre-meltdown-checker.sh b/spectre-meltdown-checker.sh
index 30f760c..ce46970 100755
index e7b6b33..33bdf71 100755
--- a/spectre-meltdown-checker.sh
+++ b/spectre-meltdown-checker.sh
@@ -22,8 +22,6 @@ exit_cleanup()
@@ -23,9 +23,6 @@ exit_cleanup()
[ -n "${dumped_config:-}" ] && [ -f "$dumped_config" ] && rm -f "$dumped_config"
[ -n "${kerneltmp:-}" ] && [ -f "$kerneltmp" ] && rm -f "$kerneltmp"
[ -n "${kerneltmp2:-}" ] && [ -f "$kerneltmp2" ] && rm -f "$kerneltmp2"
- [ -n "${mcedb_tmp:-}" ] && [ -f "$mcedb_tmp" ] && rm -f "$mcedb_tmp"
- [ -n "${intel_tmp:-}" ] && [ -d "$intel_tmp" ] && rm -rf "$intel_tmp"
- [ -n "${linuxfw_tmp:-}" ] && [ -f "$linuxfw_tmp" ] && rm -f "$linuxfw_tmp"
[ "${mounted_debugfs:-}" = 1 ] && umount /sys/kernel/debug 2>/dev/null
[ "${mounted_procfs:-}" = 1 ] && umount "$procfs" 2>/dev/null
[ "${insmod_cpuid:-}" = 1 ] && rmmod cpuid 2>/dev/null
@@ -93,9 +91,9 @@ show_usage()
@@ -97,9 +94,9 @@ show_usage()
--vmm [auto,yes,no] override the detection of the presence of a hypervisor, default: auto
--allow-msr-write allow probing for write-only MSRs, this might produce kernel logs or be blocked by your system
--cpu [#,all] interact with CPUID and MSR of CPU core number #, or all (default: CPU core 0)
@@ -34,10 +35,33 @@ index 30f760c..ce46970 100755
--dump-mock-data used to mimick a CPU on an other system, mainly used to help debugging this script
Return codes:
@@ -837,147 +833,6 @@ show_header()
@@ -858,217 +855,6 @@ show_header()
_info
}
-# Family-Model-Stepping to CPUID
-# prints CPUID in base-10 to stdout
-fms2cpuid()
-{
- _family="$1"
- _model="$2"
- _stepping="$3"
-
- if [ "$(( _family ))" -le 15 ]; then
- _extfamily=0
- _lowfamily=$(( _family ))
- else
- # when we have a family > 0xF, then lowfamily is stuck at 0xF
- # and extfamily is ADDED to it (as in "+"), to ensure old software
- # never sees a lowfamily < 0xF for newer families
- _lowfamily=15
- _extfamily=$(( (_family) - 15 ))
- fi
- _extmodel=$(( (_model & 0xF0 ) >> 4 ))
- _lowmodel=$(( (_model & 0x0F ) >> 0 ))
- echo $(( (_stepping & 0x0F) | (_lowmodel << 4) | (_lowfamily << 8) | (_extmodel << 16) | (_extfamily << 20) ))
-}
-
-[ -z "$HOME" ] && HOME="$(getent passwd "$(whoami)" | cut -d: -f6)"
-mcedb_cache="$HOME/.mcedb"
-update_fwdb()
@@ -97,13 +121,15 @@ index 30f760c..ce46970 100755
- echo ERROR "please install the \`sqlite3\` program"
- return 1
- fi
- mcedb_revision=$(sqlite3 "$mcedb_tmp" "select revision from MCE")
- mcedb_revision=$(sqlite3 "$mcedb_tmp" "SELECT \"revision\" from \"MCE\"")
- if [ -z "$mcedb_revision" ]; then
- echo ERROR "downloaded file seems invalid"
- return 1
- fi
- sqlite3 "$mcedb_tmp" "alter table Intel add column origin text"
- sqlite3 "$mcedb_tmp" "update Intel set origin='mce'"
- sqlite3 "$mcedb_tmp" "ALTER TABLE \"Intel\" ADD COLUMN \"origin\" TEXT"
- sqlite3 "$mcedb_tmp" "ALTER TABLE \"AMD\" ADD COLUMN \"origin\" TEXT"
- sqlite3 "$mcedb_tmp" "UPDATE \"Intel\" SET \"origin\"='mce'"
- sqlite3 "$mcedb_tmp" "UPDATE \"AMD\" SET \"origin\"='mce'"
-
- echo OK "MCExtractor database revision $mcedb_revision"
-
@@ -141,7 +167,7 @@ index 30f760c..ce46970 100755
- _version=$(echo "$_line" | awk '{print $8}')
- _version=$(( _version ))
- _version=$(printf "0x%08X" "$_version")
- _sqlstm="$(printf "INSERT INTO Intel (origin,cpuid,version,yyyymmdd) VALUES (\"%s\",\"%s\",\"%s\",\"%s\");" "intel" "$(printf "%08X" "$_cpuid")" "$(printf "%08X" "$_version")" "$_date")"
- _sqlstm="$(printf "INSERT INTO \"Intel\" (\"origin\",\"cpuid\",\"version\",\"yyyymmdd\") VALUES ('%s','%s','%s','%s');" "intel" "$(printf "%08X" "$_cpuid")" "$(printf "%08X" "$_version")" "$_date")"
- sqlite3 "$mcedb_tmp" "$_sqlstm"
- done
- _intel_timestamp=$(stat -c %Y "$intel_tmp/Intel-Linux-Processor-Microcode-Data-Files-main/license" 2>/dev/null)
@@ -150,10 +176,52 @@ index 30f760c..ce46970 100755
- _intel_latest_date=$(date +%Y%m%d -d @"$_intel_timestamp")
- else
- echo "Falling back to the latest microcode date"
- _intel_latest_date=$(sqlite3 "$mcedb_tmp" "SELECT yyyymmdd from Intel WHERE origin = 'intel' ORDER BY yyyymmdd DESC LIMIT 1;")
- _intel_latest_date=$(sqlite3 "$mcedb_tmp" "SELECT \"yyyymmdd\" FROM \"Intel\" WHERE \"origin\"='intel' ORDER BY \"yyyymmdd\" DESC LIMIT 1;")
- fi
- echo DONE "(version $_intel_latest_date)"
-
- # now parse the most recent linux-firmware amd-ucode README file
- _info_nol "Fetching latest amd-ucode README from linux-firmware project... "
- linuxfw_url="https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/amd-ucode/README"
- linuxfw_tmp=$(mktemp -t smc-linuxfw-XXXXXX)
- if command -v wget >/dev/null 2>&1; then
- wget -q "$linuxfw_url" -O "$linuxfw_tmp"; ret=$?
- elif command -v curl >/dev/null 2>&1; then
- curl -sL "$linuxfw_url" -o "$linuxfw_tmp"; ret=$?
- elif command -v fetch >/dev/null 2>&1; then
- fetch -q "$linuxfw_url" -o "$linuxfw_tmp"; ret=$?
- else
- echo ERROR "please install one of \`wget\`, \`curl\` of \`fetch\` programs"
- return 1
- fi
- if [ "$ret" != 0 ]; then
- echo ERROR "error $ret while downloading linux-firmware README"
- return $ret
- fi
- echo DONE
-
- _info_nol "Parsing the README... "
- nbfound=0
- for line in $(grep -E 'Family=0x[0-9a-f]+ Model=0x[0-9a-f]+ Stepping=0x[0-9a-f]+: Patch=0x[0-9a-f]+' "$linuxfw_tmp" | tr " " ","); do
- _debug "Parsing line $line"
- _family=$( echo "$line" | grep -Eoi 'Family=0x[0-9a-f]+' | cut -d= -f2)
- _model=$( echo "$line" | grep -Eoi 'Model=0x[0-9a-f]+' | cut -d= -f2)
- _stepping=$(echo "$line" | grep -Eoi 'Stepping=0x[0-9a-f]+' | cut -d= -f2)
- _version=$( echo "$line" | grep -Eoi 'Patch=0x[0-9a-f]+' | cut -d= -f2)
- _version=$(printf "0x%08X" "$(( _version ))")
- _cpuid=$(fms2cpuid "$_family" "$_model" "$_stepping")
- _cpuid=$(printf "0x%08X" "$_cpuid")
- _date="20000101"
- _sqlstm="$(printf "INSERT INTO \"AMD\" (\"origin\",\"cpuid\",\"version\",\"yyyymmdd\") VALUES ('%s','%s','%s','%s');" "linux-firmware" "$(printf "%08X" "$_cpuid")" "$(printf "%08X" "$_version")" "$_date")"
- _debug "family $_family model $_model stepping $_stepping cpuid $_cpuid"
- _debug "$_sqlstm"
- sqlite3 "$mcedb_tmp" "$_sqlstm"
- nbfound=$((nbfound + 1))
- unset _family _model _stepping _version _cpuid _date _sqlstm
- done
- echo "found $nbfound microcodes"
- unset nbfound
-
- dbversion="$mcedb_revision+i$_intel_latest_date"
-
- if [ "$1" != builtin ] && [ -n "$previous_dbversion" ] && [ "$previous_dbversion" = "v$dbversion" ]; then
@@ -165,8 +233,11 @@ index 30f760c..ce46970 100755
- {
- echo "# Spectre & Meltdown Checker";
- echo "# %%% MCEDB v$dbversion";
- sqlite3 "$mcedb_tmp" "SELECT '# I,0x'||t1.cpuid||',0x'||MAX(t1.version)||','||t1.yyyymmdd FROM Intel AS t1 LEFT OUTER JOIN Intel AS t2 ON t2.cpuid=t1.cpuid AND t2.yyyymmdd > t1.yyyymmdd WHERE t2.yyyymmdd IS NULL GROUP BY t1.cpuid ORDER BY t1.cpuid ASC;" | grep -v '^# .,0x00000000,';
- sqlite3 "$mcedb_tmp" "SELECT '# A,0x'||t1.cpuid||',0x'||MAX(t1.version)||','||t1.yyyymmdd FROM AMD AS t1 LEFT OUTER JOIN AMD AS t2 ON t2.cpuid=t1.cpuid AND t2.yyyymmdd > t1.yyyymmdd WHERE t2.yyyymmdd IS NULL GROUP BY t1.cpuid ORDER BY t1.cpuid ASC;" | grep -v '^# .,0x00000000,';
- # ensure the official Intel DB always has precedence over mcedb, even if mcedb has seen a more recent fw
- sqlite3 "$mcedb_tmp" "DELETE FROM \"Intel\" WHERE \"origin\"!='intel' AND \"cpuid\" IN (SELECT \"cpuid\" FROM \"Intel\" WHERE \"origin\"='intel' GROUP BY \"cpuid\" ORDER BY \"cpuid\" ASC);"
- # we'll use the more recent fw for Intel and AMD
- sqlite3 "$mcedb_tmp" "SELECT '# I,0x'||\"t1\".\"cpuid\"||',0x'||MAX(\"t1\".\"version\")||','||\"t1\".\"yyyymmdd\" FROM \"Intel\" AS \"t1\" LEFT OUTER JOIN \"Intel\" AS \"t2\" ON \"t2\".\"cpuid\"=\"t1\".\"cpuid\" AND \"t2\".\"yyyymmdd\" > \"t1\".\"yyyymmdd\" WHERE \"t2\".\"yyyymmdd\" IS NULL GROUP BY \"t1\".\"cpuid\" ORDER BY \"t1\".\"cpuid\" ASC;" | grep -v '^# .,0x00000000,';
- sqlite3 "$mcedb_tmp" "SELECT '# A,0x'||\"t1\".\"cpuid\"||',0x'||MAX(\"t1\".\"version\")||','||\"t1\".\"yyyymmdd\" FROM \"AMD\" AS \"t1\" LEFT OUTER JOIN \"AMD\" AS \"t2\" ON \"t2\".\"cpuid\"=\"t1\".\"cpuid\" AND \"t2\".\"yyyymmdd\" > \"t1\".\"yyyymmdd\" WHERE \"t2\".\"yyyymmdd\" IS NULL GROUP BY \"t1\".\"cpuid\" ORDER BY \"t1\".\"cpuid\" ASC;" | grep -v '^# .,0x00000000,';
- } > "$mcedb_cache"
- echo DONE "(version $dbversion)"
-
@@ -182,7 +253,7 @@ index 30f760c..ce46970 100755
parse_opt_file()
{
# parse_opt_file option_name option_value
@@ -1067,12 +922,15 @@ while [ -n "${1:-}" ]; do
@@ -1158,12 +944,15 @@ while [ -n "${1:-}" ]; do
# deprecated, kept for compatibility
opt_explain=0
shift
@@ -204,7 +275,7 @@ index 30f760c..ce46970 100755
elif [ "$1" = "--dump-mock-data" ]; then
opt_mock=1
shift
@@ -2033,21 +1891,11 @@ is_xen_domU()
@@ -2192,21 +1981,11 @@ is_xen_domU()
fi
}
@@ -228,7 +299,7 @@ index 30f760c..ce46970 100755
fi
read_mcedb()
{
@@ -2063,7 +1911,9 @@ is_latest_known_ucode()
@@ -2222,7 +2001,9 @@ is_latest_known_ucode()
return 2
fi
ucode_latest="latest microcode version for your CPU model is unknown"
@@ -240,5 +311,5 @@ index 30f760c..ce46970 100755
elif is_amd; then
cpu_brand_prefix=A
--
2.38.1
2.41.0

View File

@@ -1,26 +0,0 @@
From 5b757d930ec0cf102b03fb9817d17e06c72e74b3 Mon Sep 17 00:00:00 2001
From: Hilton Chain <hako@ultrarare.space>
Date: Sat, 5 Nov 2022 23:22:31 +0800
Subject: [PATCH] Locate the kernel bzimage used by Guix System
---
spectre-meltdown-checker.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/spectre-meltdown-checker.sh b/spectre-meltdown-checker.sh
index 248a444..855a090 100755
--- a/spectre-meltdown-checker.sh
+++ b/spectre-meltdown-checker.sh
@@ -2251,6 +2251,8 @@ if [ "$opt_live" = 1 ]; then
[ -e "/boot/kernel-genkernel-$(uname -m)-$(uname -r)" ] && opt_kernel="/boot/kernel-genkernel-$(uname -m)-$(uname -r)"
# NixOS:
[ -e "/run/booted-system/kernel" ] && opt_kernel="/run/booted-system/kernel"
+ # Guix System:
+ [ -e "/run/booted-system/kernel/bzImage" ] && opt_kernel="/run/booted-system/kernel/bzImage"
# systemd kernel-install:
[ -e "/etc/machine-id" ] && [ -e "/boot/$(cat /etc/machine-id)/$(uname -r)/linux" ] && opt_kernel="/boot/$(cat /etc/machine-id)/$(uname -r)/linux"
# Clear Linux:
base-commit: a6c943d38f315f339697ec26e7374a09b88f2183
--
2.38.0

View File

@@ -1,33 +0,0 @@
Fixes "multiple definition" errors when building with GCC 10+.
Based on <https://bugs.gentoo.org/show_bug.cgi?id=706706>.
--- a/fig2dev/dev/gensvg.c 2010-07-01 22:41:16.000000000 +0200
+++ b/fig2dev/dev/gensvg.c 2022-02-27 20:02:33.379945500 +0100
@@ -230,10 +230,12 @@
};
/* arrowhead arrays */
-Point points[50], fillpoints[50], clippoints[50];
-int npoints, nfillpoints, nclippoints;
-int arrowx1, arrowy1; /* first point of object */
-int arrowx2, arrowy2; /* second point of object */
+Point fillpoints[50];
+int nfillpoints;
+extern Point points[50], clippoints[50];
+extern int npoints, nclippoints;
+extern int arrowx1, arrowy1; /* first point of object */
+extern int arrowx2, arrowy2; /* second point of object */
static int tileno=0; /* number of current tile */
--- a/fig2dev/fig2dev.h 2010-03-16 19:53:20.000000000 +0100
+++ b/fig2dev/fig2dev.h 2022-02-27 19:56:06.072253991 +0100
@@ -126,7 +126,7 @@
extern char *prog, *from, *to;
extern char *name;
extern double font_size;
-Boolean correct_font_size; /* use correct font size */
+extern Boolean correct_font_size; /* use correct font size */
extern double mag, fontmag;
extern FILE *tfp;

View File

@@ -0,0 +1,358 @@
From d702ed6d9da604e522625d08750636f680536743 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <sharlatanus@gmail.com>
Date: Mon, 11 Sep 2023 21:12:53 +0100
Subject: [PATCH] wcstools: Extend makefiles.
This patch was partly sourced from Debian Astro:
- source: https://salsa.debian.org/debian-astro-team/wcstools/-/tree/master/
- file: debian/patches/Rename-libwcs-to-libwcstools-to-avoid-conflicts-with-Mark.patch
- commit: 91eb27654fa096d6adebb26dab8d94f5fc2fc721
Additional changes applied:
- do not rename library from libwcs to libwcstools
- add 'install' target
- add PREFIX and VERSION to ease packaging process
---
Makefile | 146 ++++++++++++++++++++++++++----------------------
libwcs/Makefile | 22 ++++++--
2 files changed, 96 insertions(+), 72 deletions(-)
diff --git a/Makefile b/Makefile
index cdc8a46..caadd97 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,13 @@
-CFLAGS= -g -D_FILE_OFFSET_BITS=64
-CC= cc
+CC = cc
LIBWCS = libwcs/libwcs.a
LIBS = $(LIBWCS) -lm
-#LIBS = $(LIBWCS) -lm -lnsl -lsocket
+
+PREFIX ?= /usr
BIN = bin
+
.PRECIOUS: ${LIBWCS} ${LIBNED}
.c.o:
- $(CC) -c $(CFLAGS) $(DEFS) $<
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(DEFS) $<
all: cphead delwcs delhead edhead fixpix gethead i2f imcat imhead immatch \
imrot imsize imstar imwcs scat sethead addpix getpix setpix sky2xy \
@@ -16,196 +17,205 @@ all: cphead delwcs delhead edhead fixpix gethead i2f imcat imhead immatch \
isfile simpos bincat
addpix: addpix.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/addpix addpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/addpix addpix.c $(LIBS)
bincat: bincat.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/bincat bincat.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/bincat bincat.c $(LIBS)
char2sp: char2sp.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/char2sp char2sp.c $(LIBWCS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/char2sp char2sp.c $(LIBWCS)
conpix: conpix.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/conpix conpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/conpix conpix.c $(LIBS)
cphead: cphead.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/cphead cphead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/cphead cphead.c $(LIBS)
crlf: crlf.c
- $(CC) $(CFLAGS) -o $(BIN)/crlf crlf.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/crlf crlf.c
delwcs: delwcs.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/delwcs delwcs.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/delwcs delwcs.c $(LIBS)
delhead: delhead.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/delhead delhead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/delhead delhead.c $(LIBS)
edhead: edhead.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/edhead edhead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/edhead edhead.c $(LIBS)
filename: filename.c
- $(CC) $(CFLAGS) -o $(BIN)/filename filename.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/filename filename.c
filedir: filedir.c
- $(CC) $(CFLAGS) -o $(BIN)/filedir filedir.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/filedir filedir.c
fileroot: fileroot.c
- $(CC) $(CFLAGS) -o $(BIN)/fileroot fileroot.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/fileroot fileroot.c
filext: filext.c
- $(CC) $(CFLAGS) -o $(BIN)/filext filext.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/filext filext.c
fixhead: fixhead.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/fixhead fixhead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/fixhead fixhead.c $(LIBS)
fixpix: fixpix.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/fixpix fixpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/fixpix fixpix.c $(LIBS)
getcol: getcol.c $(LIBWCS) libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/getcol getcol.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getcol getcol.c $(LIBS)
getdate: getdate.c $(LIBWCS) libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/getdate getdate.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getdate getdate.c $(LIBS)
gethead: gethead.c $(LIBWCS) libwcs/wcs.h libwcs/fitsfile.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/gethead gethead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/gethead gethead.c $(LIBS)
getfits: getfits.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/getfits getfits.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getfits getfits.c $(LIBS)
getpix: getpix.c $(LIBWCS) libwcs/wcs.h libwcs/fitsfile.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/getpix getpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/getpix getpix.c $(LIBS)
gettab: gettab.c $(LIBWCS) libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/gettab gettab.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/gettab gettab.c $(LIBS)
httpget: httpget.c $(LIBWCS) libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/httpget httpget.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/httpget httpget.c $(LIBS)
htmlsp: htmlsp.c
- $(CC) $(CFLAGS) -o $(BIN)/htmlsp htmlsp.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/htmlsp htmlsp.c
i2f: i2f.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/i2f i2f.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/i2f i2f.c $(LIBS)
imcat: imcat.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/imcat imcat.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imcat imcat.c $(LIBS)
imfill: imfill.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/imfill imfill.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imfill imfill.c $(LIBS)
imresize: imresize.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/imresize imresize.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imresize imresize.c $(LIBS)
imsmooth: imsmooth.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/imsmooth imsmooth.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imsmooth imsmooth.c $(LIBS)
imhead: imhead.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/imhead imhead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imhead imhead.c $(LIBS)
imrot: imrot.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/imrot imrot.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imrot imrot.c $(LIBS)
imsize: imsize.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/imsize imsize.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imsize imsize.c $(LIBS)
imstack: imstack.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/imstack imstack.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imstack imstack.c $(LIBS)
imextract: imextract.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/imextract imextract.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imextract imextract.c $(LIBS)
imstar: imstar.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h libwcs/lwcs.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/imstar imstar.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imstar imstar.c $(LIBS)
isfile: isfile.c $(LIBWCS) libwcs/fitshead.h
- $(CC) $(CFLAGS) -o $(BIN)/isfile isfile.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isfile isfile.c $(LIBS)
isfits: isfits.c $(LIBWCS) libwcs/fitshead.h
- $(CC) $(CFLAGS) -o $(BIN)/isfits isfits.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isfits isfits.c $(LIBS)
isnum: isnum.c $(LIBWCS) libwcs/fitshead.h
- $(CC) $(CFLAGS) -o $(BIN)/isnum isnum.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isnum isnum.c $(LIBS)
isdate: isdate.c $(LIBWCS) libwcs/fitshead.h
- $(CC) $(CFLAGS) -o $(BIN)/isdate isdate.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isdate isdate.c $(LIBS)
isimlist: isimlist.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/isimlist isimlist.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isimlist isimlist.c $(LIBS)
isrange: isrange.c
- $(CC) $(CFLAGS) -o $(BIN)/isrange isrange.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/isrange isrange.c
imwcs: imwcs.c $(LIBWCS) libwcs/fitsfile.h libwcs/lwcs.h
- $(CC) $(CFLAGS) -o $(BIN)/imwcs imwcs.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/imwcs imwcs.c $(LIBS)
immatch: immatch.c $(LIBWCS) libwcs/fitsfile.h libwcs/lwcs.h
- $(CC) $(CFLAGS) -o $(BIN)/immatch immatch.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/immatch immatch.c $(LIBS)
immwcs: immwcs.c $(LIBWCS) libwcs/fitsfile.h libwcs/lwcs.h
- $(CC) $(CFLAGS) -o $(BIN)/immwcs immwcs.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/immwcs immwcs.c $(LIBS)
keyhead: keyhead.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/keyhead keyhead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/keyhead keyhead.c $(LIBS)
matchcat: matchcat.c $(LIBWCS) libwcs/wcscat.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/matchcat matchcat.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/matchcat matchcat.c $(LIBS)
newfits: newfits.c $(LIBWCS) libwcs/fitshead.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/newfits newfits.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/newfits newfits.c $(LIBS)
remap: remap.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/remap remap.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/remap remap.c $(LIBS)
scat: scat.c $(LIBWCS) libwcs/wcscat.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/scat scat.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/scat scat.c $(LIBS)
sethead: sethead.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcs.h
- $(CC) $(CFLAGS) -o $(BIN)/sethead sethead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sethead sethead.c $(LIBS)
setpix: setpix.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/setpix setpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/setpix setpix.c $(LIBS)
sky2xy: sky2xy.c $(LIBWCS) libwcs/wcs.h libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/sky2xy sky2xy.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sky2xy sky2xy.c $(LIBS)
skycoor: skycoor.c $(LIBWCS) libwcs/wcs.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/skycoor skycoor.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/skycoor skycoor.c $(LIBS)
sp2char: sp2char.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/sp2char sp2char.c $(LIBWCS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sp2char sp2char.c $(LIBWCS)
subpix: subpix.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/subpix subpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/subpix subpix.c $(LIBS)
sumpix: sumpix.c $(LIBWCS) libwcs/fitsfile.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/sumpix sumpix.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/sumpix sumpix.c $(LIBS)
wcshead: wcshead.c $(LIBWCS) libwcs/fitsfile.h
- $(CC) $(CFLAGS) -o $(BIN)/wcshead wcshead.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/wcshead wcshead.c $(LIBS)
xy2sky: xy2sky.c $(LIBWCS) libwcs/wcs.h libwcs/wcscat.h
- $(CC) $(CFLAGS) -o $(BIN)/xy2sky xy2sky.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/xy2sky xy2sky.c $(LIBS)
simpos: simpos.c libwcs/libwcs.a
- $(CC) $(CFLAGS) -o $(BIN)/simpos simpos.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/simpos simpos.c $(LIBS)
gsc2cat: gsc2cat.c $(LIBWCS)
- $(CC) $(CFLAGS) -o $(BIN)/gsc2cat gsc2cat.c $(LIBS)
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/gsc2cat gsc2cat.c $(LIBS)
tmcat: tmcat.c
- $(CC) $(CFLAGS) -o $(BIN)/tmcat tmcat.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/tmcat tmcat.c
tmcate: tmcate.c
- $(CC) $(CFLAGS) -o $(BIN)/tmcate tmcate.c
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(BIN)/tmcate tmcate.c
$(LIBWCS): libwcs/*.c libwcs/*.h
- cd libwcs; make
+ $(MAKE) CC=$(CC) -C libwcs
+
+install:
+ test -e $(DESTDIR)$(PREFIX)/bin || mkdir -p $(DESTDIR)$(PREFIX)/bin
+ test -e $(DESTDIR)$(PREFIX)/include || mkdir -p $(DESTDIR)$(PREFIX)/include/wcstools
+ test -e $(DESTDIR)$(PREFIX)/lib/wcstools || mkdir -p $(DESTDIR)$(PREFIX)/lib/wcstools
+ test -e $(DESTDIR)$(PREFIX)/share/wcstools || mkdir -p $(DESTDIR)$(PREFIX)/share/wcstools
+ install ./bin/* $(DESTDIR)$(PREFIX)/bin
+ install ./libwcs/*.so $(DESTDIR)$(PREFIX)/lib/wcstools
+ install ./libwcs/*.so.* $(DESTDIR)$(PREFIX)/lib/wcstools
objclean:
- cd libwcs; make clean
+ $(MAKE) -C libwcs clean
binclean:
rm -f ./bin/*
clean:
- make objclean; make binclean
+ objclean binclean
diff --git a/libwcs/Makefile b/libwcs/Makefile
index ec2fae0..038ec61 100644
--- a/libwcs/Makefile
+++ b/libwcs/Makefile
@@ -1,5 +1,10 @@
-CFLAGS= -g -D_FILE_OFFSET_BITS=64
-CC= cc
+CFLAGS+= -fPIC
+
+VERSION?= 3.9.7
+VERSION_PARTS= $(subst ., ,$(VERSION))
+VERSION_MAJOR= $(word 1,$(VERSION_PARTS))
+VERSION_MINOR= $(word 2,$(VERSION_PARTS))
+VERSION_MICRO= $(word 3,$(VERSION_PARTS))
OBJS = imsetwcs.o imgetwcs.o matchstar.o findstar.o daoread.o wcscon.o \
fitswcs.o wcsinit.o wcs.o ty2read.o webread.o tmcread.o \
@@ -11,10 +16,19 @@ OBJS = imsetwcs.o imgetwcs.o matchstar.o findstar.o daoread.o wcscon.o \
sortstar.o platefit.o iget.o fileutil.o \
wcslib.o lin.o cel.o proj.o sph.o wcstrig.o distort.o poly.o
-libwcs.a: $(OBJS)
+all: libwcs.so.$(VERSION) libwcs.a
ar rv $@ $?
ranlib $@
+libwcs.a: $(OBJS)
+ ar rv $@ $?
+ ranlib $@
+
+libwcs.so.$(VERSION): $(OBJS)
+ $(CC) $(LDFLAGS) -shared -o $@ -Wl,-soname,libwcs.so.$(VERSION_MAJOR) $? -lm
+ ln -s libwcs.so.$(VERSION) libwcs.so.$(VERSION_MAJOR)
+ ln -s libwcs.so.$(VERSION) libwcs.so
+
actread.o: fitsfile.h wcscat.h wcs.h fitshead.h wcslib.h
binread.o: wcscat.h wcs.h fitshead.h wcslib.h
ctgread.o: wcscat.h wcs.h fitshead.h wcslib.h
@@ -67,4 +81,4 @@ webread.o: wcscat.h
worldpos.o: wcs.h fitshead.h wcslib.h
clean:
- rm -f *.a *.o
+ rm -f *.a *.o *.so *.so.*
--
2.41.0

View File

@@ -0,0 +1,39 @@
From 84685930d5cfc7005f3414601230a23e28a18f59 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Tue, 5 Sep 2023 22:02:55 +0200
Subject: [PATCH 1/3] Enable error message for missing libraries
Move the check for missing libraries to a place where the queried
variables are set.
---
configure.ac | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index 035b9d7..47452c5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -95,9 +95,6 @@ dnl AC_CHECK_PROG(XDG_MENU, [xdg-desktop-menu], [xdg-desktop-menu])
AC_SEARCH_LIBS([pow], [m])dnl
dnl AC_SEARCH_LIBS([deflate], [z]) # libz is not needed.
AC_SEARCH_LIBS([FcInit], [fontconfig])
-AS_IF([test "x$ac_cv_search_pow" = xno \
- || test "x$ac_cv_search_png_read_info" = xno],
- [AC_MSG_ERROR([Necessary libraries not found.])])
# Checks for header files.
@@ -187,6 +184,10 @@ PostScript files. To disable calling ghostscript, set to the empty string,
AC_SUBST([gsman])
AM_SUBST_NOTMAKE([gsman])
+AS_IF([test "x$ac_cv_search_pow" = xno \
+ || test "x$ac_cv_search_png_read_info" = xno],
+ [AC_MSG_ERROR([Necessary libraries not found.])])
+
# Checks for typedefs, structures, and compiler characteristics.
AC_C_BIGENDIAN
--
2.40.1

View File

@@ -0,0 +1,58 @@
From a9181df87d78828318f2e9f8d4ea012bc06883b9 Mon Sep 17 00:00:00 2001
From: Bruno Victal <mirai@makinata.eu>
Date: Thu, 7 Sep 2023 16:51:23 +0100
Subject: [PATCH 3/3] Fix double-free when requesting MediaBox.
Explicitly close the Ghostscript PDF interpreter before calling quit.
References:
[1]: <https://bugs.ghostscript.com/show_bug.cgi?id=705855>
[2]: <https://bugs.ghostscript.com/show_bug.cgi?id=705836>
---
src/u_ghostscript.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/u_ghostscript.c b/src/u_ghostscript.c
index 5974b31..d14674f 100644
--- a/src/u_ghostscript.c
+++ b/src/u_ghostscript.c
@@ -317,10 +317,10 @@ gsexe(FILE **out, bool *isnew, char *exenew, char *exeold)
* Call ghostscript to extract the /MediaBox from the pdf given in file.
* Command line, for gs >= 9.50,
* gs -q -dNODISPLAY --permit-file-read=in.pdf -c \
- * "(in.pdf) (r) file runpdfbegin 1 pdfgetpage /MediaBox pget pop == quit"
+ * "(in.pdf) (r) file runpdfbegin 1 pdfgetpage /MediaBox pget pop == runpdfend quit"
* gs < 9.50:
* gs -q -dNODISPLAY -dNOSAFER -c \
- * "(in.pdf) (r) file runpdfbegin 1 pdfgetpage /MediaBox pget pop == quit"
+ * "(in.pdf) (r) file runpdfbegin 1 pdfgetpage /MediaBox pget pop == runpdfend quit"
* The command line was found, and modified a bit, at
*https://stackoverflow.com/questions/2943281/using-ghostscript-to-get-page-size
* Beginning with gs 9.50, "-dSAFER" is the default, and permission to access
@@ -349,9 +349,11 @@ gsexe_mediabox(char *file, int *llx, int *lly, int *urx, int *ury)
return -3;
exenew = "%s -q -dNODISPLAY \"--permit-file-read=%s\" -c \"(%s) (r) "
- "file runpdfbegin 1 pdfgetpage /MediaBox pget pop == quit\"";
+ "file runpdfbegin 1 pdfgetpage /MediaBox pget pop == "
+ "runpdfend quit\"";
exeold = "%s -q -dNODISPLAY -c \"(%s) (r) "
- "file runpdfbegin 1 pdfgetpage /MediaBox pget pop == quit\"";
+ "file runpdfbegin 1 pdfgetpage /MediaBox pget pop == "
+ "runpdfend quit\"";
/* malloc() buffers for the command line, if necessary */
fmt = exenew;
@@ -445,7 +447,8 @@ gslib_mediabox(char *file, int *llx, int *lly, int *urx, int *ury)
argnew[3] = "--permit-file-read=%s"; /* file */
argnew[4] = "-c";
argnew[5] =
- "(%s) (r) file runpdfbegin 1 pdfgetpage /MediaBox pget pop == quit";
+ "(%s) (r) file runpdfbegin 1 pdfgetpage /MediaBox pget pop == "
+ "runpdfend quit";
argold[0] = argnew[0];
argold[1] = argnew[1];
--
2.40.1

View File

@@ -0,0 +1,89 @@
From 4320b1d82da1bfe1519800ae3ac35b6b59a9da56 Mon Sep 17 00:00:00 2001
From: Thomas Loimer <thomas.loimer@tuwien.ac.at>
Date: Fri, 8 Sep 2023 18:43:00 +0200
Subject: [PATCH 2/3] Use pkg-config to set fontconfig CFLAGS and LIBS
---
configure.ac | 16 +++++++++++++---
src/Makefile.am | 8 +++-----
tests/Makefile.am | 4 ++--
3 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 47452c5..3113db8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,11 +81,23 @@ AC_PROG_SED
AM_PROG_AR
# Search for pkg-config and set PKG_CONFIG to the path found, else empty.
-# PKG_PROG_PKG_CONFIG
+PKG_PROG_PKG_CONFIG
# On debian, pkg-config does not find xaw3d. On archlinux, pkg-config
# --libs xaw3d yields -lXaw3d -lXmu -lXt -lX11 -- but -lXmu is not
# strictly necessary. Use hard-coded paths instead of pkg-config.
+# First try pkg-config, as a side-effect this might set flags that are
+# useful later, e.g., for libpng.
+dnl Under archlinux, PKG_CHECK_MODULES(FT, fontconfig) would write during
+dnl ./configure "checking for FT...", under debian the line is
+dnl "checking for fontconfig...". Stay on the comprehensible side.
+AS_IF([test "x$PKG_CONFIG" != x],
+ [PKG_CHECK_MODULES([fontconfig], [fontconfig])],
+ [fontconfig_CFLAGS='-I$(oldincludedir)/freetype2 '
+ AC_SEARCH_LIBS([FcInit], [fontconfig])])
+AC_SUBST([fontconfig_CFLAGS])
+AC_SUBST([fontconfig_LIBS])
+
dnl Not useful for packagers.
dnl AC_CHECK_PROG(XDG_ICON, [xdg-icon-resource], [xdg-icon-resource])
dnl AC_CHECK_PROG(XDG_MENU, [xdg-desktop-menu], [xdg-desktop-menu])
@@ -93,8 +105,6 @@ dnl AC_CHECK_PROG(XDG_MENU, [xdg-desktop-menu], [xdg-desktop-menu])
# Checks for libraries.
AC_SEARCH_LIBS([pow], [m])dnl
-dnl AC_SEARCH_LIBS([deflate], [z]) # libz is not needed.
-AC_SEARCH_LIBS([FcInit], [fontconfig])
# Checks for header files.
diff --git a/src/Makefile.am b/src/Makefile.am
index 3cbd5ee..73d5132 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -23,13 +23,11 @@
# "`u' modifier ignored since `D' is the default...".
ARFLAGS = cr
-# Xft #includes <ft2build.h>, not <freetype2/ft2build.h>, hence freetype2
-# must be put into the search path.
-
-AM_CPPFLAGS = -I$(oldincludedir)/freetype2 $(XCPPFLAGS) -DNDEBUG -DXFIGLIBDIR="\"$(compkeydbdir)\"" \
+AM_CPPFLAGS = $(fontconfig_CFLAGS) $(XCPPFLAGS) -DNDEBUG \
+ -DXFIGLIBDIR="\"$(compkeydbdir)\"" \
-DOBJLIBDIR="\"$(pkgdatadir)/Libraries\"" -DXFIGDOCDIR="\"$(docdir)\""
-AM_LDFLAGS = $(XLDFLAGS)
+AM_LDFLAGS = $(fontconfig_LIBS) $(XLDFLAGS)
# LIBOBJS must be placed in LDADD or xfig_LDADD - otherwise, the
# lib-dir is not distributed
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 2f529ac..c158806 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -39,9 +39,9 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
echo 'm4_define([AT_PACKAGE_URL], [@PACKAGE_URL@])'; \
} >'$(srcdir)/package.m4'
-AM_CPPFLAGS = -I$(top_srcdir)/src -I$(oldincludedir)/freetype2 $(XCPPFLAGS)
+AM_CPPFLAGS = -I$(top_srcdir)/src $(fontconfig_CFLAGS) $(XCPPFLAGS)
-AM_LDFLAGS = $(XLDFLAGS)
+AM_LDFLAGS = $(fontconfig_LIBS) $(XLDFLAGS)
LDADD = $(top_builddir)/src/libxfig.a $(XLIBS)
check_PROGRAMS = test1 test2 test3 test4
--
2.40.1

View File

@@ -820,14 +820,14 @@ and based on PDF specification 1.7.")
(define-public mupdf
(package
(name "mupdf")
(version "1.22.2")
(version "1.23.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://mupdf.com/downloads/archive/"
"mupdf-" version "-source.tar.gz"))
(sha256
(base32 "1dxybd4fzjdmkpwd984yj511nmjxjbpj00yccycfm37gwvs6mijl"))
(base32 "1b8ajj5xmi2p9c92l8fd46amfshmxdw6zcg1hqajg8y0kd0ady8y"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-1)))

View File

@@ -493,6 +493,26 @@ any dependency management. It aims to keep dependencies to a minimum, in
order to make bootstrapping easier.")
(license license:expat)))
(define-public python-poetry-core-1.0
(package
(name "python-poetry-core")
(version "1.0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "poetry-core" version))
(sha256
(base32 "01n2rbsvks7snrq3m1d08r3xz9q2715ajb62fdb6rvqnb9sirhcq"))))
(build-system python-build-system)
(home-page "https://github.com/python-poetry/poetry-core")
(synopsis "Poetry PEP 517 build back-end")
(description
"The @code{poetry-core} module provides a PEP 517 build back-end
implementation developed for Poetry. This project is intended to be
a light weight, fully compliant, self-contained package allowing PEP 517
compatible build front-ends to build Poetry managed projects.")
(license license:expat)))
(define-public python-poetry-core
(package
(name "python-poetry-core")

View File

@@ -630,6 +630,31 @@ Python module with the same interface, but (hopefully) faster.")
written in C.")
(license license:bsd-2)))
(define-public python-numpoly
(package
(name "python-numpoly")
(version "1.2.11")
(source (origin
(method git-fetch) ;; PyPI is missing some Pytest fixtures
(uri (git-reference
(url "https://github.com/jonathf/numpoly")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"01g21v91f4d66xd0bvap0n6d6485w2fnq1636gx6h2s42550rlbd"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-importlib-metadata python-numpy))
(native-inputs (list python-pytest python-sympy))
(home-page "https://numpoly.readthedocs.io/en/master/")
(synopsis "Polynomials as a numpy datatype")
(description "Numpoly is a generic library for creating, manipulating and
evaluating arrays of polynomials based on @code{numpy.ndarray objects}.")
;; Tests fail with dtype mismatches on 32-bit architectures, suggesting
;; that numpoly only supports 64 bit platforms.
(supported-systems '("x86_64-linux" "aarch64-linux" "powerpc64le-linux"))
(license license:bsd-2)))
(define-public python-baycomp
(package
(name "python-baycomp")
@@ -1296,7 +1321,8 @@ Mathematics (GLM) library to Python.")
"test_tls_temporary_credentials_functional"
"test_variable_in_task"
"test_worker_preload_text"
"test_worker_uses_same_host_as_nanny")
"test_worker_uses_same_host_as_nanny"
"test_nanny_timeout") ; access to 127.0.0.1
" and not ")
;; These fail because it doesn't find dask[distributed]
@@ -1319,7 +1345,8 @@ Mathematics (GLM) library to Python.")
;; These tests are rather flaky
" and not test_quiet_quit_when_cluster_leaves"
" and not multiple_clients_restart"))
" and not multiple_clients_restart"
" and not test_steal_twice"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'versioneer

View File

@@ -1923,13 +1923,13 @@ service.")
(define-public python-openai
(package
(name "python-openai")
(version "0.27.8")
(version "0.28.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "openai" version))
(sha256
(base32
"0dlmxnib71fih9xzmd3v41alwv4qb8qrxixsrrsf5vmigmf0k0r4"))))
"1j6wsavgrxzh6ls8hp45nllz8f5l65a6vzk0lvhlqnx6579xmqab"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -8820,3 +8820,28 @@ Grid5000 resources interactively using the embedded shell.")
scientific testbeds. It lets you deploy networks of machines on actual
hardware on Grid'5000 or via OpenStack, to Vagrant, Chameleon, and more.")
(license license:gpl3+)))
(define-public python-pynetbox
(package
(name "python-pynetbox")
(version "7.2.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pynetbox" version))
(sha256
(base32
"1pzmkl4nr247v4022i33v32jlx88wwcdy7ycyfd4pnl19vag8d9p"))))
(build-system pyproject-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'disable-failing-tests
(lambda _
;; Integration tests depend on docker.
(delete-file-recursively "tests/integration"))))))
(propagated-inputs (list python-requests))
(native-inputs (list python-pytest python-pyyaml python-setuptools-scm))
(home-page "https://github.com/netbox-community/pynetbox")
(synopsis "NetBox API client library")
(description "Python module to query and edit data stored in a
@url{https://netbox.dev,NetBox} instance.")
(license license:asl2.0)))

View File

@@ -143,6 +143,7 @@
;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com>
;;; Copyright © c4droid <c4droid@foxmail.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 Attila Lendvai <attila@lendvai.name>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -834,6 +835,31 @@ names for 256 color terminal setups.")
as functions or string constants to form colored terminal output.")
(license license:expat)))
(define-public python-construct-classes
(package
(name "python-construct-classes")
(version "0.1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/matejcik/construct-classes")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fmr8nfg543lyqk4164a52jb6lwpq98radicbkhhdfckq9lib2wp"))))
(build-system pyproject-build-system)
(propagated-inputs
(list python-construct))
(native-inputs
(list python-poetry-core
python-pytest))
(home-page "https://github.com/matejcik/construct-classes")
(synopsis "Parse binary structs into dataclasses")
(description "This package provides a parser to parse binary structs
into dataclasses.")
(license license:expat)))
(define-public python-yaspin
(package
(name "python-yaspin")
@@ -1524,7 +1550,7 @@ of a loop structure or other iterative computation.")
(define-public python-glymur
(package
(name "python-glymur")
(version "0.12.0")
(version "0.12.8")
(source
(origin
(method git-fetch) ; no tests data in PyPi package
@@ -1533,7 +1559,7 @@ of a loop structure or other iterative computation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03nny8k42yxdyw7sjv43szmg23x3rqplbaf7m0a0lpvwla1dl78i"))))
(base32 "0mfyn9j7h13242d41vg12acw55yl2mv6lmgi265hfp11k7g52b6n"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1562,7 +1588,7 @@ of a loop structure or other iterative computation.")
;; which is patched above.
(delete-file "tests/test_config.py"))))))
(native-inputs
(list python-pytest))
(list python-pytest python-scikit-image))
(inputs
(list openjpeg ; glymur/lib/openjp2.py
libtiff)) ; glymur/lib/tiff.py
@@ -11493,6 +11519,26 @@ GA4GH Task Execution API.")
algorithm.")
(license license:asl2.0)))
(define-public python-altgraph
(package
(name "python-altgraph")
(version "0.17.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "altgraph" version))
(sha256
(base32 "01j48np3g50g6insjkszsz0vifwlm6gspria5vdwlkbciywznnhv"))))
(build-system pyproject-build-system)
(native-inputs (list python-pytest))
(home-page "https://altgraph.readthedocs.io")
(synopsis "Python graph network package")
(description
"This package provides tools for constructing graphs, BFS and DFS
traversals, topological sort, shortest paths, and more with graphviz
output.")
(license license:expat)))
(define-public python-three-merge
(package
(name "python-three-merge")
@@ -13493,6 +13539,37 @@ reading and writing MessagePack data.")
(base32
"1109s2yynrahwi64ikax68hx0mbclz8p35afmpphw5dwynb49q7s"))))))
;; This msgpack library's name changed from "python-msgpack" to "msgpack" with
;; release 0.5. Some packages like borg still call it by the old name for now.
;; <https://bugs.gnu.org/30662>
(define-public python-msgpack-transitional
(package
(inherit python-msgpack)
(name "python-msgpack-transitional")
(version "0.5.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "msgpack" version))
(sha256
(base32
"1hz2dba1nvvn52afg34liijsm7kn65cmn06dl0xbwld6bb4cis0f"))))
(arguments
(substitute-keyword-arguments (package-arguments python-msgpack)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'configure-transitional
(lambda _
;; Keep using the old name.
(substitute* "setup.py"
(("TRANSITIONAL = False")
"TRANSITIONAL = 1"))
;; This old version is not compatible with Python 3.9
(substitute* '("test/test_buffer.py" "test/test_extension.py")
((".tostring\\(") ".tobytes("))
(substitute* '("test/test_buffer.py" "test/test_extension.py")
((".fromstring\\(") ".frombytes("))
#t))))))))
(define-public python-netaddr
(package
(name "python-netaddr")
@@ -19251,26 +19328,25 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
(define-public poetry
(package
(name "poetry")
(version "1.4.2")
(version "1.1.12")
(source
(origin
(method url-fetch)
(uri (pypi-uri "poetry" version))
(sha256
(base32
"0g0vczn6qa4b2bdkq4k7fm1g739vyxp2iiblwwsrcmw24jj81m8b"))))
"0rr54mvcfcv9cv6vw2122y28xvd2pwqpv2x8c8j5ayz3gwsy4rjw"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;PyPI does not have tests
;; #:phases
;; (modify-phases %standard-phases
;; (add-before 'build 'patch-setup-py
;; (lambda _
;; (substitute* "setup.py"
;; ;; Relax some of the requirements.
;; (("(keyring>=21.2.0),<22.0.0" _ keyring) keyring)
;; (("(packaging>=20.4),<21.0" _ packaging) packaging)))))
))
#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-setup-py
(lambda _
(substitute* "setup.py"
;; Relax some of the requirements.
(("(keyring>=21.2.0),<22.0.0" _ keyring) keyring)
(("(packaging>=20.4),<21.0" _ packaging) packaging)))))))
(propagated-inputs
(list python-cachecontrol
python-cachy
@@ -19279,12 +19355,14 @@ database, file, dict stores. Cachy supports python versions 2.7+ and 3.2+.")
python-entrypoints
python-html5lib
python-keyring
python-msgpack
; Use of deprecated version of msgpack reported upstream:
; https://github.com/python-poetry/poetry/issues/3607
python-msgpack-transitional
python-packaging
python-pexpect
python-pip
python-pkginfo
python-poetry-core
python-poetry-core-1.0
python-requests
python-requests-toolbelt
python-shellingham
@@ -31817,13 +31895,13 @@ development, testing, production]};
(define-public python-pudb
(package
(name "python-pudb")
(version "2022.1.3")
(version "2023.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "pudb" version))
(sha256
(base32
"0jk61qgacvwy6zkz1f55jawax4ggb1aawy6w3wnfkzqrkvd3ms2q"))))
"00rgx80inpvsbcydp29mrhw44xizyqdqxvv6lqcak1xs79h3rpqm"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases

View File

@@ -69,10 +69,12 @@
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
#:use-module (gnu packages javascript)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages mp3)
#:use-module (gnu packages multiprecision)
@@ -501,6 +503,30 @@ library. It also adds hamlib support, which provides basic gain and frequency
controls for certain tuners which may be paired with an audio device.")
(license license:expat))))
(define-public soapybladerf
(let ((commit "85f6dc554ed4c618304d99395b19c4e1523675b0")
(revision "1"))
(package
(name "soapybladerf")
(version (git-version "0.4.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pothosware/SoapyBladeRF")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05c5mv1b55jv7dcr740hv4b3gplfaqryflfvprhlkm7bycr8pp16"))))
(build-system cmake-build-system)
(inputs (list bladerf soapysdr))
(arguments (list #:tests? #f)) ; No test suite
(home-page "https://github.com/pothosware/SoapyBladeRF/wiki")
(synopsis "SoapySDR BladeRF module")
(description "This package provides BladeRF devices support to the
SoapySDR library.")
(license license:lgpl2.1+))))
(define-public soapyhackrf
;; Some fixes are not yet in a tagged release.
(let ((commit "6c0c33f0aa44c3080674e6bca0273184d3e9eb44")
@@ -919,57 +945,62 @@ environment.")
(license license:gpl3+)))
(define-public gr-osmosdr
;; No tag for version supporting Gnuradio 3.9; use commit.
(let ((commit "a100eb024c0210b95e4738b6efd836d48225bd03")
(revision "0"))
(package
(name "gr-osmosdr")
(version (git-version "0.2.3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.osmocom.org/gr-osmosdr")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1pk5gnyznfyy510lbqzg9ijcb1fnhmn547n24aiqyrxd6i6vv1ki"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen pkg-config pybind11 python-mako python-six))
(inputs
(list airspy
airspyhf
boost
fftwf
gmp
gnuradio
hackrf
libsndfile
log4cpp
python
python-numpy
python-pyqt
rtl-sdr
soapysdr
spdlog
volk))
(arguments
`(#:modules ((guix build cmake-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules (,@%cmake-build-system-modules
(guix build python-build-system))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap)))))
(synopsis "GNU Radio block for interfacing with various radio hardware")
(description "This is a block for GNU Radio allowing to use a common API
(package
(name "gr-osmosdr")
(version "0.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.osmocom.org/gr-osmosdr")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1qpa908bb7iagvaa7h541k1x092mb6dfrmw5ayy4p51qks45nj3p"))))
(build-system cmake-build-system)
(native-inputs
(list doxygen pkg-config pybind11 python-mako python-six))
(inputs
(list airspy
airspyhf
bladerf
boost
fftwf
gmp
gnuradio
gr-iqbal
hackrf
libsndfile
log4cpp
python
python-numpy
python-pyqt
rtl-sdr
soapysdr
spdlog
volk))
(arguments
(list #:modules '((guix build cmake-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%cmake-build-system-modules
(guix build python-build-system))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-gnuradio-iqbalance-detection
(lambda _
(substitute* "CMakeLists.txt"
(("find_package\\(gnuradio-iqbalance PATHS \\$\\{Gnuradio_DIR\\}\\)")
(string-append "find_package(gnuradio-iqbalance PATHS "
#$(this-package-input "gr-iqbal")
"/lib/cmake/gnuradio)")))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap)))))
(synopsis "GNU Radio block for interfacing with various radio hardware")
(description "This is a block for GNU Radio allowing to use a common API
to access different radio hardware.")
(home-page "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR")
(license license:gpl3+))))
(deprecated-package "gnuradio-osmosdr" gr-osmosdr)
(home-page "https://osmocom.org/projects/gr-osmosdr/wiki/GrOsmoSDR")
(license license:gpl3+)))
(define-public libosmo-dsp
(package
@@ -1166,7 +1197,7 @@ satellites.")
(define-public gqrx
(package
(name "gqrx")
(version "2.16")
(version "2.17")
(source
(origin
(method git-fetch)
@@ -1175,7 +1206,7 @@ satellites.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "189cgmp88kabv823l5bfn1xfyyj6sldi5sdbmflvncxicf51b0yp"))))
(base32 "0gg2i4x4z9ggliflpb00434q28831qfrxr0dv7d83ahagy428z22"))))
(build-system qt-build-system)
(native-inputs
(list pkg-config))
@@ -1416,6 +1447,43 @@ you must extend 'udev-service-type' with this package. E.g.:
@code{(udev-rules-service 'hackrf hackrf #:groups '(\"dialout\"))}.")
(license license:gpl2)))
(define-public bladerf
(package
(name "bladerf")
(version "2023.02")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Nuand/bladeRF")
(commit version)
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32 "038v9qdmrwx9mxsrq4l36bap0bsypyg4i8hs7l7srv4b0c2s7ynp"))))
(build-system cmake-build-system)
(native-inputs (list doxygen help2man pkg-config))
(inputs (list libedit libusb))
(arguments
(list #:configure-flags #~(list "-DTAGGED_RELEASE=ON"
(string-append "-DUDEV_RULES_PATH="
#$output
"/lib/udev/rules.d")
"-DBLADERF_GROUP=dialout"
"-DBUILD_DOCUMENTATION=ON")
#:tests? #f)) ; No test suite
(home-page "https://www.nuand.com/")
(synopsis "User-space library and utilities for BladeRF SDR")
(description
"This package contains a library and command line utilities for
controlling the BladeRF Software Defined Radio (SDR) over USB. To install the
bladerf udev rules, you must extend 'udev-service-type' with this package.
E.g.: @code{(udev-rules-service 'bladerf bladerf)}.")
(license (list license:bsd-3
license:expat
license:gpl2+
license:lgpl2.1+))))
(define-public hamlib
(package
(name "hamlib")
@@ -1793,13 +1861,12 @@ gain and standing wave ratio.")
(native-inputs
(list pkg-config))
(inputs
(list hackrf libusb ncurses rtl-sdr))
(list bladerf hackrf libusb ncurses rtl-sdr))
(arguments
(list
#:test-target "test"
#:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
"BLADERF=no")
#~(list (string-append "CC=" #$(cc-for-target)))
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
@@ -2517,6 +2584,7 @@ voice formats.")
airspyhf
alsa-lib
aptdec
bladerf
boost
cm256cc
codec2
@@ -2614,6 +2682,7 @@ various hardware.")
(list airspy
airspyhf
alsa-lib
bladerf
codec2
fftwf
glew
@@ -2629,7 +2698,8 @@ various hardware.")
(list zstd "lib")))
(arguments
(list #:tests? #f ; No test suite.
#:configure-flags #~(list "-DOPT_BUILD_PLUTOSDR_SOURCE=OFF"
#:configure-flags #~(list "-DOPT_BUILD_BLADERF_SOURCE=ON"
"-DOPT_BUILD_PLUTOSDR_SOURCE=OFF"
"-DOPT_BUILD_M17_DECODER=ON")
#:phases
#~(modify-phases %standard-phases
@@ -2866,7 +2936,9 @@ of devices than RTL-SDR.")
python-pytest
xorg-server-for-tests))
(inputs
(list gnuradio
(list airspy
bladerf
gnuradio
gr-osmosdr
hackrf
python-numpy
@@ -2995,6 +3067,7 @@ Navigation Satellite System.")
(inputs
(list airspy
airspyhf
bladerf
fftwf
glew
glfw

View File

@@ -96,7 +96,7 @@ to remotely control a user's Windows desktop.")
(define-public freerdp
(package
(name "freerdp")
(version "2.11.1")
(version "2.11.2")
(source
(origin
(method git-fetch)
@@ -105,7 +105,7 @@ to remotely control a user's Windows desktop.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1mxx711phzsaa6l022xnn41dq1315y81cgxka3rxy0fg638wipn7"))))
(base32 "1c17skq16ic036829bndqsr5g0yrp0ya5lmn2w28x9gkz2qjgqkf"))))
(build-system cmake-build-system)
(native-inputs
(list docbook-xml

View File

@@ -43,6 +43,7 @@
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
@@ -54,12 +55,15 @@
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
#:use-module (gnu packages emacs-xyz)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
@@ -90,6 +94,7 @@
#:use-module (gnu packages sphinx)
#:use-module (gnu packages ssh)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@@ -647,13 +652,13 @@ estimation) corresponding to the book: Wand, M.P. and Jones, M.C. (1995)
(define-public r-lattice
(package
(name "r-lattice")
(version "0.21-8")
(version "0.21-9")
(source (origin
(method url-fetch)
(uri (cran-uri "lattice" version))
(sha256
(base32
"0af3c0mk0s3gnpmg7xmd4hjjynwv4ym3iv4grjvcmrk28abxdlwa"))))
"0ak9k6s6drd1a25m7mwzb426ms92a2p3ps04h2pacifwnk74ca59"))))
(build-system r-build-system)
(home-page "https://lattice.r-forge.r-project.org/")
(synopsis "High-level data visualization system")
@@ -667,14 +672,14 @@ also flexible enough to handle most nonstandard requirements.")
(define-public r-matrix
(package
(name "r-matrix")
(version "1.6-1")
(version "1.6-1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "Matrix" version))
(sha256
(base32
"01qcrv4y1fm3ah5h4j90xvzlwvzcnbpa10cpg6k9hp363xh0pip5"))))
"1hlcxr38p4ybb67n25cc1ssh2q2r8cj0flc59lid8hclzvqv27ik"))))
(properties `((upstream-name . "Matrix")))
(build-system r-build-system)
(propagated-inputs
@@ -1091,13 +1096,13 @@ in which the whole-plots or split-plots or both can be freely exchangeable.")
(define-public r-plyr
(package
(name "r-plyr")
(version "1.8.8")
(version "1.8.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "plyr" version))
(sha256
(base32 "030706kwgqa2s5jd93ck271iqb0pj3fshrj9frg4wgp1pfs12cm7"))))
(base32 "00z1mvqisnzbbwcwax1gm9ilahpgp21kk4l7hqdz8fym27vygd8m"))))
(build-system r-build-system)
(propagated-inputs (list r-rcpp))
(home-page "http://had.co.nz/plyr")
@@ -1446,13 +1451,13 @@ for template use among CRAN packages.")
(define-public r-evaluate
(package
(name "r-evaluate")
(version "0.21")
(version "0.22")
(source (origin
(method url-fetch)
(uri (cran-uri "evaluate" version))
(sha256
(base32
"1f92kjlds2nckmsjxx07xm2pikpc9x6hcvc0538xf5w9xsfcjy1i"))))
"0sz4zimz4brbd9sawdazfgipkmfzzdmdq01b5m8pnrql5xrxhiwh"))))
(build-system r-build-system)
(home-page "https://github.com/hadley/evaluate")
(synopsis "Parsing and evaluation tools for R")
@@ -1532,13 +1537,13 @@ data derived from /etc/mime.types in UNIX-type systems.")
(define-public r-markdown
(package
(name "r-markdown")
(version "1.8")
(version "1.9")
(source (origin
(method url-fetch)
(uri (cran-uri "markdown" version))
(sha256
(base32
"1az5l2dnrdfx36kcdi5x8qnrbwmylf0wqd6a4hg2l9m8q1vpgs8d"))))
"0201v3spgl8a5c5xkddac5a3z9zh8d0nm9yg6alyhhj4cjwmgibh"))))
(build-system r-build-system)
;; Skip check phase because the tests require the r-knitr package to be
;; installed. This prevents installation failures. Knitr normally
@@ -1864,14 +1869,14 @@ database.")
(define-public r-dbplyr
(package
(name "r-dbplyr")
(version "2.3.3")
(version "2.3.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "dbplyr" version))
(sha256
(base32
"1d3m7bhd8n5l0x1phfwzgrw2kwfyahb9yd61bbcnryd6m8c8kr3w"))))
"1b6y1jhf5ix4vry165vwid5nqm0d99q61vxak6aw3vfkj379vgk9"))))
(build-system r-build-system)
(propagated-inputs
(list r-blob
@@ -2234,6 +2239,32 @@ modeling focusing on advanced Markov chain Monte Carlo (MCMC) and variational
inference (VI) algorithms.")
(license license:asl2.0)))
(define-public python-chaospy
(package
(name "python-chaospy")
(version "4.3.13")
(source (origin ;; PyPI misses Pytest fixtures.
(method git-fetch)
(uri (git-reference
(url "https://github.com/jonathf/chaospy")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1bn4jmwygs5h0dskbniivj20qblgm75pyi9hcjf47r25kawd730m"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-importlib-metadata python-numpoly
python-numpy python-scipy))
(native-inputs (list python-pytest python-scikit-learn))
(home-page "https://chaospy.readthedocs.io/en/master/")
(synopsis "Numerical tool for performing uncertainty quantification")
(description "Chaospy is a numerical toolbox for performing uncertainty
quantification using polynomial chaos expansions, advanced Monte Carlo
methods implemented in Python. It also include a full suite of tools for
doing low-discrepancy sampling, quadrature creation, polynomial manipulations,
and a lot more.")
(license license:expat)))
(define-public python-patsy
(package
(name "python-patsy")
@@ -2265,6 +2296,30 @@ building design matrices.")
;; and is covered by the PSFL.
(license (list license:bsd-2 license:psfl))))
(define-public python-mapie
(package
(name "python-mapie")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "MAPIE" version))
(sha256
(base32
"1nvi547avvwrck1n7rf5jh7d0ml6jaqjs2p59iwcq2a5xjmdsmsc"))))
(build-system pyproject-build-system)
(native-inputs (list python-pandas python-pytest))
(propagated-inputs (list python-numpy python-scikit-learn))
(home-page "https://github.com/scikit-learn-contrib/MAPIE")
(synopsis "Module for estimating prediction intervals")
(description "MAPIE allows you to easily estimate prediction intervals
(or prediction sets) using your favourite scikit-learn-compatible model for
single-output regression or multi-class classification settings.
Prediction intervals output by MAPIE encompass both aleatoric and epistemic
uncertainties and are backed by strong theoretical guarantees thanks to
conformal prediction methods intervals.")
(license license:bsd-3)))
(define-public python-statsmodels
(package
(name "python-statsmodels")
@@ -2319,6 +2374,94 @@ statistical computations including descriptive statistics and estimation and
inference for statistical models.")
(license license:bsd-3)))
(define-public python-openturns
(package
(name "python-openturns")
(version "1.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/openturns/openturns")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "05lbx8npvvk7jyakvfpgi9ggdp6cnzwv2hjmjrkji2s42axv0q6d"))))
(build-system cmake-build-system)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(delete 'check)
;; This is a Python package which is fully managed by CMake. In
;; cmake-build-system the check phase runs before install, but the
;; Python modules required for testing are only installed in the
;; install phase. Move check to after the install phase.
(add-after 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "ctest" "--exclude-regex"
;; XXX: Cpp tests fail in 'No such file or directory',
;; skip for now and only run the Python tests.
;; TODO: To pass the Python tests below, Ipopt must be
;; built with MUMPS support, but simply adding mumps
;; to the inputs doesn't work for it to be found,
;; possibly because MUMPS doesn't generate a .pc file.
(string-join
(list "^cpp"
"pyinstallcheck_Bonmin_std"
"pyinstallcheck_Bonmin_4dsoo"
"pyinstallcheck_Bonmin_MIT15"
"pyinstallcheck_Bonmin_swiler2014"
"pyinstallcheck_Ipopt_std"
"pyinstallcheck_example_plot_optimization_bonmin"
"pyinstallcheck_coupling_tools")
"|"))))))))
(native-inputs
(list bison
dvisvgm
flex
python-numpydoc
python-sphinx
;; python-sphinx-gallery ;; Currently broken
swig))
(inputs
(list openblas ; the only required dependency
;; The dependecies below are all optional.
bonmin
boost
cbc ;; Maybe this should be propagated by Bonmin?
ceres
cminpack
dlib
hdf5
hmat
ipopt
libxml2
mpc
mpfr
nlopt
pagmo
primesieve
python-wrapper
spectra
tbb))
(propagated-inputs
(list python-chaospy
python-dill
python-matplotlib
python-numpy
python-pandas
python-scipy))
(home-page "https://openturns.github.io/www/")
(synopsis "Uncertainty treatment library")
(description
"OpenTURNS is a scientific C++ and Python library including an internal
data model and algorithms dedicated to the treatment of uncertainties. The
main goal of this library is giving to specific applications all the
functionalities needed to treat uncertainties in studies.")
(license license:lgpl3+)))
(define-public r-coda
(package
(name "r-coda")
@@ -2673,14 +2816,14 @@ collation, and NAMESPACE files.")
(define-public r-openssl
(package
(name "r-openssl")
(version "2.1.0")
(version "2.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "openssl" version))
(sha256
(base32
"0fg5avcrjjn7sv6rzbp19y6jwjjr77xpldxg4xssp5s1p832wnk2"))))
"1p2bnr4z4vx3yqq5isqb3z4d9vg2isiz8i0h3vxdb5ramzwjd9zs"))))
(properties
`((upstream-name . "openssl")
(updater-extra-inputs . ("openssl"))))
@@ -2826,13 +2969,13 @@ tools to simplify the devolpment of R packages.")
(define-public r-withr
(package
(name "r-withr")
(version "2.5.0")
(version "2.5.1")
(source (origin
(method url-fetch)
(uri (cran-uri "withr" version))
(sha256
(base32
"1h4bzj0am9lawbh1cam1jmgk1xjmn9da14r90w3q984hswz7nc9p"))))
"1kndhxl0fxn40v9yx0iglilani3ym3ywbjf6zbg1pnb52ncf0nm9"))))
(build-system r-build-system)
(native-inputs
(list r-knitr))
@@ -3055,13 +3198,13 @@ certain criterion, e.g., it contains a certain regular file.")
(define-public r-rmarkdown
(package
(name "r-rmarkdown")
(version "2.24")
(version "2.25")
(source
(origin
(method url-fetch)
(uri (cran-uri "rmarkdown" version))
(sha256
(base32 "11ixspf7w5zsr02c5545w0ra7l9c8kb4bls97dhx5cgldnjfywrq"))))
(base32 "0m814598vc67sjwk83xh9g17n72618l32dgg7fz8y0gycqk6dr06"))))
(properties
`((upstream-name . "rmarkdown")
(updater-extra-propagated-inputs . ("pandoc"))))
@@ -3837,13 +3980,13 @@ using the multicore functionality of the parallel package.")
extensions)))))
(package
(name "r-dt")
(version "0.29")
(version "0.30")
(source (origin
(method url-fetch)
(uri (cran-uri "DT" version))
(sha256
(base32
"1b9qshrjv9xaak92rvg65vkak4pyci9js4j7nkfcg0p19ghnvlm8"))
"13k9zyapx6rqfsrl5afpgaqyni57qq88hxa1j3y3wjcv5bim66ig"))
(modules '((guix build utils)
(ice-9 match)))
(snippet
@@ -3926,7 +4069,7 @@ using the multicore functionality of the parallel package.")
(list js-selectize))
(native-inputs
`(("r-knitr" ,r-knitr)
("uglifyjs" ,node-uglify-js)
("esbuild" ,esbuild)
("datatables-plugins"
,(let ((version "1.13.4"))
(origin
@@ -5782,13 +5925,13 @@ groupings.")
(define-public r-vgam
(package
(name "r-vgam")
(version "1.1-8")
(version "1.1-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "VGAM" version))
(sha256
(base32 "1k6i18ywfh0xlc7ipgvz1g9gdgkyz5phf1cwyfv8mn2nwgag3h6l"))))
(base32 "1l5gn6495k8vqp2b4hj4g5ani7j4cli2p7n8fwkw7bmc42q13m6l"))))
(properties `((upstream-name . "VGAM")))
(build-system r-build-system)
(native-inputs
@@ -6305,14 +6448,14 @@ is supported.")
(define-public r-lubridate
(package
(name "r-lubridate")
(version "1.9.2")
(version "1.9.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "lubridate" version))
(sha256
(base32
"19s4cm6a73b9q519mmgf2qxjmd2bsjff19ds3hk8ksgz98d46xl9"))))
"1zvzycng2hsks9d7552nb93abzjrs43c975rc16s3c1is8318vib"))))
(build-system r-build-system)
(propagated-inputs
(list r-generics r-timechange))
@@ -6913,18 +7056,18 @@ Methods are provided for a variety of fitted models, including @code{lm()} and
(define-public r-puniform
(package
(name "r-puniform")
(version "0.2.6")
(version "0.2.7")
(source
(origin
(method url-fetch)
(uri (cran-uri "puniform" version))
(sha256
(base32
"1rfd7d14an28hba1rhldxn418qagnlk8ngvimb86i3774ll9blvi"))))
"15q5wlcps7387rjz7p1f5kifg1fl5yxxy7gjx6fvspvqwjkjbs4z"))))
(properties `((upstream-name . "puniform")))
(build-system r-build-system)
(propagated-inputs
(list r-adgoftest r-metafor r-rcpp r-rcpparmadillo))
(list r-adgoftest r-metafor r-numderiv r-rcpp r-rcpparmadillo))
(home-page
"https://github.com/RobbievanAert/puniform")
(synopsis
@@ -7082,14 +7225,14 @@ various statistical models with linear predictors.")
(define-public r-bayesfactor
(package
(name "r-bayesfactor")
(version "0.9.12-4.4")
(version "0.9.12-4.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "BayesFactor" version))
(sha256
(base32
"02bhlamnkxp9wqi2cp1i0dxmqdf3y3l872ad9z39xwripbi4kc7a"))))
"10bclqzczawpssjwa3b177xpab4mdhczfj1qj23xn2yvrrw1z9mh"))))
(properties `((upstream-name . "BayesFactor")))
(build-system r-build-system)
(propagated-inputs

View File

@@ -1509,7 +1509,7 @@ basic input/output.")
(define-public alacritty
(package
(name "alacritty")
(version "0.12.2")
(version "0.12.3")
(source
(origin
;; XXX: The crate at "crates.io" has limited contents. In particular,
@@ -1520,11 +1520,10 @@ basic input/output.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "17a7v32gxsy79cj1ap71ckrypxv7i9jv4lnibg0ymcpwk9zpwxjz"))))
(base32 "1jbyxnza38c22k7ri8apzn03q91l06isj8la9xca7cz06kn0hha9"))))
(build-system cargo-build-system)
(arguments
`(#:install-source? #f ; virtual manifest
#:cargo-test-flags '("--release" "--" "--skip=config_read_eof")
#:cargo-inputs
(("rust-alacritty-config" ,rust-alacritty-config-0.1)
("rust-alacritty-config-derive" ,rust-alacritty-config-derive-0.2)
@@ -1577,10 +1576,9 @@ basic input/output.")
(search-input-file inputs "lib/libEGL.so"))
(("libGL\\.so")
(search-input-file inputs "lib/libGL.so"))
;; Lots of libraries from rust-x11-dl.
;; XXX: Not all X11 libraries are inside the build enclosure.
;(("libX.*\\.so" all)
; (search-input-file inputs (string-append "lib/" all)))
;; Lots of libraries from rust-x11-dl and others.
(("libX[[:alpha:]]*\\.so" all)
(search-input-file inputs (string-append "lib/" all)))
;; There are several libwayland libraries.
(("libwayland-.*\\.so" all)
@@ -1630,23 +1628,31 @@ basic input/output.")
(install-file "extra/completions/alacritty.fish"
(string-append share "/fish/vendor_completions.d"))))))))
(native-inputs
`(("ncurses" ,ncurses)
("pkg-config" ,pkg-config)
("python3" ,python)))
(list ncurses
pkg-config
python))
(inputs
`(("expat" ,expat)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libx11" ,libx11)
("libxcb" ,libxcb)
("libxcursor" ,libxcursor)
("libxi" ,libxi)
("libxkbcommon" ,libxkbcommon)
("libxrandr" ,libxrandr)
("libxxf86vm" ,libxxf86vm)
("mesa" ,mesa)
("xdg-utils" ,xdg-utils)
("wayland" ,wayland)))
(list expat
fontconfig
freetype
libx11
libxcb
libxcursor
libxext
libxft
libxi
libxinerama
libxkbcommon
libxmu
libxpresent
libxrandr
libxscrnsaver
libxt
libxtst
libxxf86vm
mesa
xdg-utils
wayland))
(native-search-paths
;; FIXME: This should only be located in 'ncurses'. Nonetheless it is
;; provided for usability reasons. See <https://bugs.gnu.org/22138>.

View File

@@ -40434,7 +40434,7 @@ glossaries, ...) should be correctly managed.
@item @file{figlatex.sty}: a LaTeX package to easily insert Xfig figures. It
can interact with LaTeX.mk so that the latter automatically invokes
@command{transfig} if needed.
@command{fig2dev} if needed.
@end itemize")
(license license:gpl3+)))

View File

@@ -173,6 +173,11 @@ standard operating system features.")
(arguments
(substitute-keyword-arguments (package-arguments imgui)
((#:make-flags flags ''())
;; Remove the "-DImDrawIdx=unsigned int" make-flag as this breaks
;; mangohud, the only user of this version.
#~(delete "-DImDrawIdx=unsigned int" #$flags))))))
;; Remove "-DImDrawIdx=unsigned int" and "-DIMGUI_ENABLE_FREETYPE"
;; from make-flags as this breaks MangoHud, the only user of this
;; version.
#~(filter (negate (lambda (x) (string-prefix? "-D" x)))
#$flags))))
(inputs
(modify-inputs (package-inputs imgui)
(delete "freetype")))))

View File

@@ -6,6 +6,7 @@
;;; Copyright © 2023 Andrew Tropin <andrew@trop.in>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Raven Hallsby <karl@hallsby.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -446,8 +447,8 @@ which will be used as a snippet in origin."
(define-public tree-sitter-java
(tree-sitter-grammar
"java" "Java"
"1i9zfgqibinz3rkx6yws1wk49iys32x901dki65qihbxcmcfh341"
"0.20.0"))
"0440xh8x8rkbdlc1f1ail9wzl4583l29ic43x9lzl8290bm64q5l"
"0.20.1"))
(define-public tree-sitter-json
;; Not tagged
@@ -607,3 +608,16 @@ which will be used as a snippet in origin."
(use-modules (guix build utils))
(delete-file "binding.gyp")
(delete-file-recursively "bindings"))))))
(define-public tree-sitter-lua
(tree-sitter-grammar
"lua" "Lua"
"05irhg6gg11r9cnzh0h3691pnxjhd396sa1x8xrgqjz2fd09brf3"
"0.0.19"
#:repository-url "https://github.com/MunifTanjim/tree-sitter-lua"))
(define-public tree-sitter-scala
(tree-sitter-grammar
"scala" "Scala"
"0hs6gmkq5cx9qrmgfz1mh0c34flwffc0k2mhwf13laawswnywfkz"
"0.20.2"))

View File

@@ -1040,73 +1040,71 @@ collaboration using typical untrusted file hosts or services.")
"193d990ym10qlslk0p8mjwp2j6rhqa7fq0y1iff65lvbyv914pss"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; XXX: fail to build the in-source git.
#:test-target "test"
#:make-flags '("CC=gcc" "SHELL_PATH=sh")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unpack-git
(lambda* (#:key inputs #:allow-other-keys)
;; Unpack the source of git into the 'git' directory.
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
(assoc-ref inputs "git-source"))))
(add-after 'unpack 'patch-absolute-file-names
(lambda* (#:key inputs #:allow-other-keys)
(define (quoted-file-name input path)
(string-append "\"" input path "\""))
(substitute* "ui-snapshot.c"
(("\"gzip\"")
(quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip"))
(("\"bzip2\"")
(quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2"))
(("\"xz\"")
(quoted-file-name (assoc-ref inputs "xz") "/bin/xz")))
(list
#:tests? #f ; XXX: fail to build the in-source git.
#:test-target "test"
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
"SHELL_PATH=sh")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'unpack-git
(lambda* (#:key inputs #:allow-other-keys)
;; Unpack the source of git into the 'git' directory.
(invoke "tar" "--strip-components=1" "-C" "git" "-xf"
(assoc-ref inputs "git-source"))))
(add-after 'unpack 'patch-absolute-file-names
(lambda* (#:key inputs #:allow-other-keys)
(define (quoted-file-name input path)
(string-append "\"" input path "\""))
(substitute* "ui-snapshot.c"
(("\"gzip\"")
(quoted-file-name (assoc-ref inputs "gzip") "/bin/gzip"))
(("\"bzip2\"")
(quoted-file-name (assoc-ref inputs "bzip2") "/bin/bzip2"))
(("\"xz\"")
(quoted-file-name (assoc-ref inputs "xz") "/bin/xz")))
(substitute* "filters/about-formatting.sh"
(("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out")
"/lib/cgit/filters"))
(("\\| tr") (string-append "| " (which "tr"))))
(substitute* "filters/about-formatting.sh"
(("$\\(dirname $0\\)") (string-append (assoc-ref outputs "out")
"/lib/cgit/filters"))
(("\\| tr") (string-append "| " (which "tr"))))
(substitute* "filters/html-converters/txt2html"
(("sed") (which "sed")))
(substitute* "filters/html-converters/txt2html"
(("sed") (which "sed")))
(substitute* "filters/html-converters/man2html"
(("groff") (which "groff")))
(substitute* "filters/html-converters/man2html"
(("groff") (which "groff")))
(substitute* "filters/html-converters/rst2html"
(("rst2html\\.py") (which "rst2html.py")))
#t))
(delete 'configure) ; no configure script
(add-after 'build 'build-man
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "doc-man" make-flags)))
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(apply invoke
"make" "install" "install-man"
(string-append "prefix=" out)
(string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
make-flags)
;; Move the platform-dependent 'cgit.cgi' into lib to get it
;; stripped.
(rename-file (string-append out "/share/cgit/cgit.cgi")
(string-append out "/lib/cgit/cgit.cgi"))
#t)))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (file)
(wrap-program (string-append (assoc-ref outputs "out")
"/lib/cgit/filters/" file)
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
'("syntax-highlighting.py"
"html-converters/md2html"))
#t)))))
(substitute* "filters/html-converters/rst2html"
(("rst2html\\.py") (which "rst2html.py")))))
(delete 'configure) ; no configure script
(add-after 'build 'build-man
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "doc-man" make-flags)))
(replace 'install
(lambda* (#:key make-flags outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(apply invoke
"make" "install" "install-man"
(string-append "prefix=" out)
(string-append "CGIT_SCRIPT_PATH=" out "/share/cgit")
make-flags)
;; Move the platform-dependent 'cgit.cgi' into lib to get it
;; stripped.
(rename-file (string-append out "/share/cgit/cgit.cgi")
(string-append out "/lib/cgit/cgit.cgi")))))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key outputs #:allow-other-keys)
(for-each
(lambda (file)
(wrap-program (string-append (assoc-ref outputs "out")
"/lib/cgit/filters/" file)
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))))
'("syntax-highlighting.py"
"html-converters/md2html")))))))
(native-inputs
;; For building manpage.
(list asciidoc gzip bzip2 xz))
(list asciidoc))
(inputs
`(;; Building cgit requires a Git source tree.
("git-source"
@@ -1117,13 +1115,20 @@ collaboration using typical untrusted file hosts or services.")
(uri "mirror://kernel.org/software/scm/git/git-2.25.4.tar.xz")
(sha256
(base32 "11am6s46wmn1yll5614smjhzlghbqq6gysgcs64igjr9y5wzpdxq"))))
("bash-minimal" ,bash-minimal)
("openssl" ,openssl)
("groff" ,groff)
("python" ,python)
("python-docutils" ,python-docutils)
("python-markdown" ,python-markdown)
("python-pygments" ,python-pygments)
("zlib" ,zlib)))
("zlib" ,zlib)
;; bzip2, groff, gzip and xz are inputs (not native inputs)
;; since they are actually substituted into cgit source and
;; referenced by the built package output.
("bzip2" ,bzip2)
("groff" ,groff)
("gzip" ,gzip)
("xz" ,xz)))
(home-page "https://git.zx2c4.com/cgit/")
(synopsis "Web frontend for git repositories")
(description
@@ -1131,6 +1136,52 @@ collaboration using typical untrusted file hosts or services.")
a built-in cache to decrease server I/O pressure.")
(license license:gpl2)))
(define-public cgit-pink
(package
(inherit cgit)
(name "cgit-pink")
(version "1.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.causal.agency/cgit-pink")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0yp6rm60pz8pj8wrm1aglix51hhy00al86mm94ag2bifc92q23ar"))))
(arguments
(substitute-keyword-arguments (package-arguments cgit)
((#:tests? _ #f)
(not (%current-target-system)))
((#:make-flags _ '())
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PERL_PATH="
(search-input-file %build-inputs "/bin/perl"))
;; It is important to set an absolute path in SHELL_PATH
;; because it is used as the shebang of generated scripts that
;; are invoked during the test phase.
(string-append "SHELL_PATH="
(search-input-file %build-inputs "/bin/sh"))))))
(inputs
(modify-inputs (package-inputs cgit)
(replace "git-source"
;; cgit-pink is tightly bound to git. Use GIT_VER from the Makefile,
;; which may not match the current (package-version git).
(origin
(method url-fetch)
(uri "mirror://kernel.org/software/scm/git/git-2.36.1.tar.xz")
(sha256
(base32
"0w43a35mhc2qf2gjkxjlnkf2lq8g0snf34iy5gqx2678yq7llpa0"))))))
(native-inputs
(modify-inputs (package-native-inputs cgit)
(append gnu-gettext perl)))
(home-page "https://git.causal.agency/cgit-pink/about/")
(description "cgit-pink is a fast web interface for the Git SCM, using a
built-in cache to decrease server I/O pressure. cgit-pink is a fork of
cgit.")))
(define-public python-git-multimail
(package
(name "python-git-multimail")

View File

@@ -3277,7 +3277,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(define-public mlt
(package
(name "mlt")
(version "7.18.0")
(version "7.20.0")
(source
(origin
(method git-fetch)
@@ -3286,7 +3286,7 @@ from sites like Twitch.tv and pipes them into a video player of choice.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1b79wcf4l099w6bp4jlhgdwnbaydkrp8rj1hflggihzn3awcrayy"))))
(base32 "1dc09j8yvis6ilba5a13qicf6wbgxnzwllab6h48kzfl1lc0n8g7"))))
(build-system cmake-build-system)
(arguments
(list
@@ -4996,7 +4996,7 @@ transitions, and effects and then export your film to many common formats.")
(define-public shotcut
(package
(name "shotcut")
(version "23.07.29")
(version "23.09.29")
(source
(origin
(method git-fetch)
@@ -5005,7 +5005,7 @@ transitions, and effects and then export your film to many common formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1xdybjs39bg361jl7i3rlqdiwhi2xai7x45j7f6cgzygdd833pw5"))))
(base32 "1r380lpa79i6821r3v84dm47vqxk4smx2k1wvf9afylw95v3i8zv"))))
(build-system qt-build-system)
(arguments
`(#:tests? #f ;there are no tests

View File

@@ -81,7 +81,7 @@
(define-public vim
(package
(name "vim")
(version "9.0.1672")
(version "9.0.2001")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -90,7 +90,7 @@
(file-name (git-file-name name version))
(sha256
(base32
"1cl4a7rzks0ll0b8y0ffrbin622k0qww3l0nz9kb0mz2favw0b9q"))))
"1y0xfvndnyfv677gn4mkq0jf5k15mm1dngl96l9j90sp4lbqrszx"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@@ -147,7 +147,11 @@
(string-append line "return\n")))
(substitute* "src/testdir/test_popupwin.vim"
((".*Test_popup_drag_termwin.*" line)
(string-append line "return\n")))))
(string-append line "return\n")))
(with-fluids ((%default-port-encoding #f))
(substitute* "src/testdir/test_writefile.vim"
((".*Test_write_with_xattr_support.*" line)
(string-append line "return\n"))))))
(add-before 'install 'fix-installman.sh
(lambda _
(substitute* "src/installman.sh"

View File

@@ -4,6 +4,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Ivan Vilata i Balaguer <ivan@selidor.net>
;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,20 +23,26 @@
(define-module (gnu packages xfig)
#:use-module (guix packages)
#:use-module ((guix licenses) #:select (bsd-2))
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages xorg)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages image)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages compression))
(define-public xfig
(define-public fig2dev
(package
(name "xfig")
(version "3.2.8b")
(name "fig2dev")
(version "3.2.9")
(source
(origin
(method url-fetch)
@@ -43,27 +50,114 @@
name "-" version ".tar.xz"))
(sha256
(base32
"0fndgbm1mkqb1sn2v2kj3nx9mxj70jbp31y2bjvzcmmkry0q3k5j"))))
"1cch429zbmrg2zy1mkx9xwnpvkjhmlw40c88bvi2virws744dqhm"))))
(build-system gnu-build-system)
(native-inputs
;; For tests.
(list desktop-file-utils ghostscript))
(inputs
`(("libxaw3d" ,libxaw3d)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libxpm" ,libxpm)
("libx11" ,libx11)
("libxt" ,libxt)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'strip-bogus-exec-prefix
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "xfig.desktop"
;; The patch-dot-desktop-files phase requires a relative name.
(("Exec=/usr/bin/xfig") "Exec=xfig"))
#t)))))
(list
#:modules '((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(let ((programs
(find-files (string-append #$output "/bin")))
(path
(search-path-as-list
'("bin")
(map (cut assoc-ref inputs <>)
(list "ghostscript" "imagemagick")))))
(for-each (lambda (program)
(wrap-program program
`("PATH" ":" prefix ,path)))
programs)))))))
(inputs
(list libpng zlib
;; Quoth INSTALL:
;; “To run fig2dev, the packages
;; ghostscript, and one out of
;; netpbm | ImageMagick | GraphicsMagick
;; are needed to produce various bitmap output formats, or process
;; fig files with embedded images.”
ghostscript
imagemagick))
(native-inputs
;; XXX: Tests fail if netpbm is absent.
(list netpbm))
(home-page "https://sourceforge.net/projects/mcj")
(synopsis "Translate Fig to other graphic description formats")
(description "Fig2dev is a set of tools for creating TeX documents with
graphics which are portable, in the sense that they can be printed in a wide
variety of environments.")
(license
(license:non-copyleft "file://Makefile.am"
"See <https://spdx.org/licenses/Xfig.html>."))))
(define-public transfig
(deprecated-package "transfig" fig2dev))
(define-public xfig
(package
(name "xfig")
(version "3.2.9")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mcj/"
name "-" version ".tar.xz"))
(sha256
(base32
"1xy2zqbd1wn2fij95kgnj39850r7xk74kvx7kp0dxhmvs429vv8k"))
;; TODO: Remove these patches and snippet when updating,
;; upstreamed since commit `84375ac05e923b46bbacc8b336b0dfbe29497b6b'.
(patches
(search-patches "xfig-Enable-error-message-for-missing-libraries.patch"
"xfig-Use-pkg-config-to-set-fontconfig-CFLAGS-and-LIBS.patch"
"xfig-Fix-double-free-when-requesting-MediaBox.patch"))
(modules '((guix build utils)))
(snippet
;; The patch-dot-desktop-files phase requires a relative name.
#~(begin
(substitute* "xfig.desktop"
(("^(Exec=)/usr/bin/" _ key) key))
;; This forces autoreconf to be invoked, needed for patches
;; to be effective.
(delete-file "configure")))))
(build-system gnu-build-system)
(arguments
(list
#:modules '((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(let ((path
(search-path-as-list
'("bin")
(map (cut assoc-ref inputs <>)
(list "ghostscript" "fig2dev")))))
(wrap-program (string-append #$output "/bin/xfig")
`("PATH" ":" prefix ,path))))))))
(native-inputs
(list pkg-config
;; TODO: Remove the import on (gnu packages autotools)
;; and related packages in the next update.
autoconf automake libtool
;; For tests.
desktop-file-utils))
(inputs
(list ghostscript
fig2dev
libxaw3d
libjpeg-turbo
libpng
libxpm
libx11
libxft
libxt))
(home-page "https://mcj.sourceforge.net/")
(synopsis "Interactive drawing tool")
(description
@@ -73,85 +167,6 @@ spline curves, text, etc. It is also possible to import images in formats
such as GIF, JPEG, EPSF (PostScript), etc. Those objects can be created,
deleted, moved or modified. Attributes such as colors or line styles can be
selected in various ways. For text, 35 fonts are available.")
(license bsd-2)))
(define-public transfig
(package
(name "transfig")
(version "3.2.5e")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mcj/mcj-source/transfig."
version ".tar.gz"))
(sha256
(base32
"0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))
(patches
(search-patches
"transfig-gcc10-fno-common.patch")))) ; fix GCC10 build
(build-system gnu-build-system)
(native-inputs
(list imake makedepend))
(inputs
`(("xfig" ,xfig)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libxpm" ,libxpm)
("libx11" ,libx11)
("zlib" ,zlib)))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((imake (assoc-ref inputs "imake"))
(out (assoc-ref outputs "out")))
(substitute* '("fig2dev/Imakefile"
"transfig/Imakefile")
(("XCOMM (BINDIR = )[[:graph:]]*" _ front)
(string-append front out "/bin"))
(("XCOMM USEINLINE") "USEINLINE")
;; The variable name is deceptive. The directory is used as an
;; installation path for bitmaps.
(("(XFIGLIBDIR =[[:blank:]]*)[[:graph:]]*" _ front)
(string-append front out "/lib"))
(("(XPMLIBDIR = )[[:graph:]]*" _ front)
(string-append front (assoc-ref inputs "libxpm") "/lib"))
(("(XPMINC = -I)[[:graph:]]*" _ front)
(string-append front (assoc-ref inputs "libxpm") "/include/X11"))
(("/usr/local/lib/fig2dev") (string-append out "/lib")))
;; The -a argument is required in order to pick up the correct paths
;; to several X header files.
(invoke "xmkmf" "-a")
(substitute* '("Makefile"
"fig2dev/Makefile"
"fig2dev/dev/Makefile"
"transfig/Makefile")
;; These imake variables somehow remain undefined
(("DefaultGcc2[[:graph:]]*Opt") "-O2")
;; Reset a few variable defaults that are set in imake templates
((imake) out)
(("(MANPATH = )[[:graph:]]*" _ front)
(string-append front out "/share/man"))
(("(CONFDIR = )([[:graph:]]*)" _ front default)
(string-append front out default))
;; The "l" option was silently ignored until binutils 2.36,
;; where it got a different purpose. So remove it to avoid
;; "ar: libdeps specified more than once".
(("((AR|MODAR) = ar )clq" _ front)
(string-append front "cq")))
#t)))
(add-after 'install 'install/doc
(lambda _
(invoke "make" "install.man"))))))
(home-page "https://mcj.sourceforge.net/")
(synopsis "Create portable LaTeX figures")
(description
"Transfig creates a makefile to translate figures described in Fig code
or PIC into a specified LaTeX graphics language. PIC files are identified by
the suffix \".pic\"; Fig files can be specified either with or without the
suffix \".fig\". Transfig also creates a TeX macro file appropriate to the
target language.")
(license bsd-2)))
(license
(license:non-copyleft "file://Makefile.am"
"See <https://spdx.org/licenses/Xfig.html>."))))

View File

@@ -36,6 +36,7 @@
;;; Copyright © 2021 Lu Hui <luhux76@gmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1432,6 +1433,7 @@ treat it as part of their software base when porting.")
(package
(name "libxpm")
(version "3.5.13")
(replacement libxpm/fixed)
(source
(origin
(method url-fetch)
@@ -1455,6 +1457,21 @@ treat it as part of their software base when porting.")
(description "XPM (X Pixmap) image file format library.")
(license license:x11)))
(define-public libxpm/fixed
(package
(inherit libxpm)
(version "3.5.17")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://xorg/individual/lib/libXpm-"
version
".tar.xz"))
(sha256
(base32
"0hvf49qy55gwldpwpw7ihcmn5i2iinpjh2rbha63hzcy060izcv4"))))))
(define-public libxres
(package
(name "libxres")
@@ -5341,7 +5358,7 @@ Wayland.")
(define-public libx11-fixed
(package
(inherit libx11)
(version "1.8.6")
(version "1.8.7")
(source
(origin
(method url-fetch)
@@ -5349,7 +5366,7 @@ Wayland.")
version ".tar.xz"))
(sha256
(base32
"1jawl8zp1h7hdmxx1sc6kmxkki187d9yixr2l03ai6wqqry5nlsr"))))))
"1vlrgrdibp4lr84wgmsdy1ihzaai8bvvqc68npi1m19wir36gwh5"))))))
;; packages of height 5 in the propagated-inputs tree

View File

@@ -138,9 +138,6 @@
str)
#\-) "_")))
(define list-of-symbol?
(list-of symbol?))
;; Helpers for deprecated field types, to be removed later.
(define %lazy-group (make-symbol "%lazy-group"))
@@ -428,7 +425,7 @@ to be appended to the audio output configuration.")
(sanitizer mpd-group-sanitizer))
(shepherd-requirement
(list-of-symbol '())
(list-of-symbols '())
"This is a list of symbols naming Shepherd services that this service
will depend on."
empty-serializer)
@@ -763,7 +760,7 @@ user-group instead~%"))
empty-serializer)
(shepherd-requirement
(list-of-symbol '())
(list-of-symbols '())
"This is a list of symbols naming Shepherd services that this service
will depend on."
empty-serializer)

View File

@@ -62,8 +62,9 @@
util-linux xfsprogs))
#:use-module (gnu packages bash)
#:use-module ((gnu packages base)
#:select (coreutils glibc glibc-utf8-locales tar
canonical-package))
#:select (coreutils glibc glibc/hurd
glibc-utf8-locales make-glibc-utf8-locales
tar canonical-package))
#:use-module ((gnu packages compression) #:select (gzip))
#:use-module (gnu packages fonts)
#:autoload (gnu packages guile-xyz) (guile-netlink)
@@ -87,6 +88,7 @@
#:use-module ((guix self) #:select (make-config.scm))
#:use-module (guix diagnostics)
#:use-module (guix i18n)
#:autoload (guix utils) (target-hurd?)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
@@ -1741,6 +1743,31 @@ archive' public keys, with GUIX."
(list (file-append guix "/share/guix/berlin.guix.gnu.org.pub")
(file-append guix "/share/guix/bordeaux.guix.gnu.org.pub")))
(define (guix-machines-files-installation machines)
"Return a gexp to install MACHINES, a list of gexps, as
/etc/guix/machines.scm, which is used for offloading."
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
(define machines-file
"/etc/guix/machines.scm")
;; If MACHINES-FILE already exists, move it out of the way.
;; Create a backup if it's a regular file: it's likely that the
;; user manually updated it.
(if (file-exists? machines-file)
(if (and (symbolic-link? machines-file)
(store-file-name? (readlink machines-file)))
(delete-file machines-file)
(rename-file machines-file
(string-append machines-file ".bak")))
(mkdir-p (dirname machines-file)))
;; Installed the declared machines file.
(symlink #+(scheme-file "machines.scm" machines)
machines-file))))
(define-record-type* <guix-configuration>
guix-configuration make-guix-configuration
guix-configuration?
@@ -1778,6 +1805,8 @@ archive' public keys, with GUIX."
(default #f))
(tmpdir guix-tmpdir ;string | #f
(default #f))
(build-machines guix-build-machines ;list of gexps | #f
(default #f))
(environment guix-configuration-environment ;list of strings
(default '())))
@@ -1831,6 +1860,12 @@ proxy of 'guix-daemon'...~%")
(define (guix-shepherd-service config)
"Return a <shepherd-service> for the Guix daemon service with CONFIG."
(define locales
(let-system (system target)
(if (target-hurd? (or target system))
(make-glibc-utf8-locales glibc/hurd)
glibc-utf8-locales)))
(match-record config <guix-configuration>
(guix build-group build-accounts authorize-key? authorized-keys
use-substitutes? substitute-urls max-silent-time timeout
@@ -1912,8 +1947,7 @@ proxy of 'guix-daemon'...~%")
;; 'nss-certs'. See
;; <https://bugs.gnu.org/32942>.
(string-append "GUIX_LOCPATH="
#$glibc-utf8-locales
"/lib/locale")
#$locales "/lib/locale")
"LC_ALL=en_US.utf8"
;; Make 'tar' and 'gzip' available so
;; that 'guix perform-download' can use
@@ -1958,8 +1992,15 @@ proxy of 'guix-daemon'...~%")
(system* #$(file-append guix "/bin/guix") "archive"
"--generate-key"))
;; Optionally install /etc/guix/acl...
#$(if authorize-key?
(substitute-key-authorization authorized-keys guix)
#~#f)
;; ... and /etc/guix/machines.scm.
#$(if (guix-build-machines config)
(guix-machines-files-installation
#~(list #$@(guix-build-machines config)))
#~#f))))
(define-record-type* <guix-extension>
@@ -1969,6 +2010,8 @@ proxy of 'guix-daemon'...~%")
(default '()))
(substitute-urls guix-extension-substitute-urls ;list of strings
(default '()))
(build-machines guix-extension-build-machines ;list of gexps
(default '()))
(chroot-directories guix-extension-chroot-directories ;list of file-like/strings
(default '())))
@@ -1978,6 +2021,8 @@ proxy of 'guix-daemon'...~%")
(guix-extension-authorized-keys b)))
(substitute-urls (append (guix-extension-substitute-urls a)
(guix-extension-substitute-urls b)))
(build-machines (append (guix-extension-build-machines a)
(guix-extension-build-machines b)))
(chroot-directories (append (guix-extension-chroot-directories a)
(guix-extension-chroot-directories b)))))
@@ -2001,6 +2046,11 @@ proxy of 'guix-daemon'...~%")
(guix-configuration-authorized-keys config)))
(substitute-urls (append (guix-extension-substitute-urls extension)
(guix-configuration-substitute-urls config)))
(build-machines
(and (or (guix-build-machines config)
(pair? (guix-extension-build-machines extension)))
(append (or (guix-build-machines config) '())
(guix-extension-build-machines extension))))
(chroot-directories
(append (guix-extension-chroot-directories extension)
(guix-configuration-chroot-directories config))))))

View File

@@ -42,6 +42,7 @@
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-171)
#:export (configuration-field
configuration-field-name
configuration-field-type
@@ -59,6 +60,10 @@
define-configuration/no-serialization
no-serialization
empty-serializer?
tfilter-maybe-value
base-transducer
serialize-configuration
define-maybe
define-maybe/no-serialization
@@ -75,7 +80,9 @@
interpose
list-of
list-of-packages?
list-of-strings?
list-of-symbols?
alist?
serialize-file-like
text-config?
@@ -125,13 +132,36 @@ does not have a default value" field kind)))
(default-value-thunk configuration-field-default-value-thunk)
(documentation configuration-field-documentation))
(define (empty-serializer? field)
"Predicate that checks whether FIELD is exempt from serialization."
(eq? empty-serializer
(configuration-field-serializer field)))
(define (tfilter-maybe-value config)
"Return a transducer for CONFIG that removes all maybe-type fields whose
value is '%unset-marker."
(tfilter (lambda (field)
(let ((field-value ((configuration-field-getter field) config)))
(maybe-value-set? field-value)))))
(define (base-transducer config)
"Return a transducer for CONFIG that calls the serializing procedures only
for fields marked for serialization and whose values are not '%unset-marker."
(compose (tremove empty-serializer?)
;; Only serialize fields whose value isn't '%unset-marker%.
(tfilter-maybe-value config)
(tmap (lambda (field)
((configuration-field-serializer field)
(configuration-field-name field)
((configuration-field-getter field) config))))))
(define (serialize-configuration config fields)
"Return a G-expression that contains the values corresponding to the
FIELDS of CONFIG, a record that has been generated by `define-configuration'.
The G-expression can then be serialized to disk by using something like
`mixed-text-file'."
#~(string-append
#$@(map (lambda (field)
((configuration-field-serializer field)
(configuration-field-name field)
((configuration-field-getter field) config)))
fields)))
#$@(list-transduce (base-transducer config) rcons fields)))
(define-syntax-rule (id ctx parts ...)
"Assemble PARTS into a raw (unhygienic) identifier."
@@ -190,32 +220,32 @@ does not have a default value" field kind)))
(define (normalize-extra-args s)
"Extract and normalize arguments following @var{doc}."
(let loop ((s s)
(sanitizer* %unset-value)
(serializer* %unset-value))
(sanitizer* #f)
(serializer* #f))
(syntax-case s (sanitizer serializer empty-serializer)
(((sanitizer proc) tail ...)
(if (maybe-value-set? sanitizer*)
(syntax-violation 'sanitizer "duplicate entry"
#'proc)
(if sanitizer*
(syntax-violation 'sanitizer
"duplicate entry" #'proc)
(loop #'(tail ...) #'proc serializer*)))
(((serializer proc) tail ...)
(if (maybe-value-set? serializer*)
(syntax-violation 'serializer "duplicate or conflicting entry"
#'proc)
(if serializer*
(syntax-violation 'serializer
"duplicate or conflicting entry" #'proc)
(loop #'(tail ...) sanitizer* #'proc)))
((empty-serializer tail ...)
(if (maybe-value-set? serializer*)
(if serializer*
(syntax-violation 'empty-serializer
"duplicate or conflicting entry" #f)
(loop #'(tail ...) sanitizer* #'empty-serializer)))
(() ; stop condition
(values (list sanitizer* serializer*)))
((proc) ; TODO: deprecated, to be removed.
(null? (filter-map maybe-value-set? (list sanitizer* serializer*)))
(not (or sanitizer* serializer*))
(begin
(warning #f (G_ "specifying serializers after documentation is \
deprecated, use (serializer ~a) instead~%") (syntax->datum #'proc))
(values (list %unset-value #'proc)))))))
(values (list #f #'proc)))))))
(syntax-case syn ()
((_ stem (field field-type+def doc extra-args ...) ...)
@@ -239,11 +269,11 @@ deprecated, use (serializer ~a) instead~%") (syntax->datum #'proc))
default-value))
#'((field-type def) ...)))
((field-sanitizer ...)
(map maybe-value #'(sanitizer* ...)))
#'(sanitizer* ...))
((field-serializer ...)
(map (lambda (type proc)
(and serialize?
(or (maybe-value proc)
(or proc
(if serializer-prefix
(id #'stem serializer-prefix #'serialize- type)
(id #'stem #'serialize- type)))))
@@ -472,6 +502,11 @@ DELIMITER interposed LS. Support 'infix and 'suffix GRAMMAR values."
(cons delimiter acc))))
'() ls))
;;;
;;; Commonly used predicates
;;;
(define (list-of pred?)
"Return a procedure that takes a list and check if all the elements of
the list result in @code{#t} when applying PRED? on them."
@@ -480,10 +515,20 @@ the list result in @code{#t} when applying PRED? on them."
(every pred? x)
#f)))
(define list-of-packages?
(list-of package?))
(define list-of-strings?
(list-of string?))
(define list-of-symbols?
(list-of symbol?))
;;;
;;; Special serializers
;;;
(define alist?
(list-of pair?))

View File

@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016-2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2020 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
@@ -274,6 +274,9 @@
(cuirass-remote-server-configuration-cache
remote-server)))
(user (cuirass-configuration-user config))
;; RUNSTATEDIR contains the "bridge" Unix-domain socket that 'cuirass
;; web' connects to to communicate with 'cuirass register'.
(runstatedir "/var/run/cuirass")
(log "/var/log/cuirass")
(profile (string-append "/var/guix/profiles/per-user/" user))
(roots (string-append profile "/cuirass"))
@@ -285,6 +288,7 @@
(mkdir-p #$cache)
(mkdir-p #$log)
(mkdir-p #$roots)
(mkdir-p #$runstatedir)
(when #$remote-cache
(mkdir-p #$remote-cache))
@@ -295,6 +299,8 @@
(chown #$log uid gid)
(chown #$roots uid gid)
(chown #$profile uid gid)
(chown #$runstatedir uid gid)
(chmod #$runstatedir #o700)
(when #$remote-cache
(chown #$remote-cache uid gid)))))))

View File

@@ -41,6 +41,7 @@
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:use-module (srfi srfi-171)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:export (earlyoom-configuration
@@ -252,13 +253,9 @@ more information)."
(prefix fstrim-))
(define (serialize-fstrim-configuration config)
(concatenate
(filter list?
(map (lambda (field)
((configuration-field-serializer field)
(configuration-field-name field)
((configuration-field-getter field) config)))
fstrim-configuration-fields))))
(list-transduce (compose (base-transducer config) tconcatenate)
rcons
fstrim-configuration-fields))
(define (fstrim-mcron-job config)
(match-record config <fstrim-configuration> (package schedule)

View File

@@ -165,7 +165,7 @@ files."
(ice-9 popen) ;for the 'schedule' action
(ice-9 rdelim)
(ice-9 match)
((shepherd support) #:select (%user-log-dir))
((shepherd support) #:hide (mkdir-p)) ;for '%user-log-dir'
,@%default-modules))
(start #~(make-forkexec-constructor
(list #$(file-append mcron "/bin/mcron")

View File

@@ -37,6 +37,7 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-2)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-171)
#:use-module (ice-9 format)
#:use-module (ice-9 match)
#:export (jami-account
@@ -116,15 +117,10 @@
(or (string? val)
(computed-file? val)))
(define (string-list? val)
(and (list? val)
(and-map string? val)))
(define account-fingerprint-list?
(list-of account-fingerprint?))
(define (account-fingerprint-list? val)
(and (list? val)
(and-map account-fingerprint? val)))
(define-maybe string-list)
(define-maybe list-of-strings)
(define-maybe/no-serialization account-fingerprint-list)
@@ -134,7 +130,7 @@
;;; The following serializers are used to derive an account details alist from
;;; a <jami-account> record.
(define (serialize-string-list _ val)
(define (serialize-list-of-strings _ val)
(string-join val ";"))
(define (serialize-boolean _ val)
@@ -187,7 +183,7 @@ maintain communication between devices on such network even when the
connection to the the Internet has been lost. When left unspecified, the
value from the account archive prevails.")
(bootstrap-hostnames
maybe-string-list
maybe-list-of-strings
"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.")
@@ -204,26 +200,23 @@ SET-ACCOUNT-DETAILS."
('rendezvous-point? "Account.rendezVous")
('peer-discovery? "Account.peerDiscovery")
('bootstrap-hostnames "Account.hostname")
('name-server-uri "RingNS.uri")
(_ #f)))
('name-server-uri "RingNS.uri")))
(filter-map (lambda (field)
(and-let* ((name (field-name->account-detail
(define jami-account-transducer
(compose (tremove empty-serializer?)
(tfilter-maybe-value jami-account-object)
(tmap (lambda (field)
(let* ((name (field-name->account-detail
(configuration-field-name field)))
(value ((configuration-field-serializer field)
name ((configuration-field-getter field)
jami-account-object)))
;; The define-maybe default serializer produces an
;; empty string for unspecified values.
(value* (if (string-null? value)
#f
value)))
(cons name value*)))
jami-account-fields))
(value ((configuration-field-serializer field)
name ((configuration-field-getter field)
jami-account-object))))
(cons name value))))))
(define (jami-account-list? val)
(and (list? val)
(and-map jami-account? val)))
(list-transduce jami-account-transducer rcons jami-account-fields))
(define jami-account-list?
(list-of jami-account?))
(define-maybe/no-serialization jami-account-list)

View File

@@ -27,7 +27,9 @@
#:use-module (gnu bootloader grub)
#:use-module (gnu image)
#:use-module (gnu packages admin)
#:use-module (gnu packages bash)
#:use-module (gnu packages gdb)
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages package-management)
#:use-module (gnu packages ssh)
#:use-module (gnu packages virtualization)
@@ -50,6 +52,8 @@
#:use-module (guix records)
#:use-module (guix store)
#:use-module (guix utils)
#:autoload (guix self) (make-config.scm)
#:autoload (guix platform) (platform-system)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
@@ -1061,6 +1065,40 @@ that will be listening to receive secret keys on port 1004, TCP."
;;; The Hurd in VM service: a Childhurd.
;;;
(define (operating-system-with-offloading-account os)
(define accounts
(list (user-group
(name "offloading")
(system? #t))
(user-account
(name "offloading")
(group "offloading")
(system? #t)
(comment "Offloading privilege separation user")
(home-directory "/var/run/offloading")
(shell (file-append bash-minimal "/bin/sh")))))
(operating-system
(inherit os)
(services (cons (simple-service 'offloading-account
account-service-type
accounts)
(operating-system-user-services os)))))
(define (operating-system-with-locked-root-account os)
"Return OS with a 'root' account whose password is uninitialized, thereby
preventing password-based authentication as 'root'."
(define root
;; %ROOT-ACCOUNT has an empty password; change that to an uninitialized
;; password.
(user-account
(inherit %root-account)
(password #f)))
(operating-system
(inherit os)
(users (cons root (operating-system-users os)))))
(define %hurd-vm-operating-system
(operating-system
(inherit %hurd-default-operating-system)
@@ -1078,8 +1116,7 @@ that will be listening to receive secret keys on port 1004, TCP."
(openssh-configuration
(openssh openssh-sans-x)
(use-pam? #f)
(port-number 2222)
(permit-root-login #t)
(permit-root-login 'prohibit-password)
(allow-empty-passwords? #t)
(password-authentication? #t)))
@@ -1100,7 +1137,7 @@ that will be listening to receive secret keys on port 1004, TCP."
(default %hurd-vm-operating-system))
(qemu hurd-vm-configuration-qemu ;file-like
(default qemu-minimal))
(image hurd-vm-configuration-image ;string
(image hurd-vm-configuration-image ;<image>
(thunked)
(default (hurd-vm-disk-image this-record)))
(disk-size hurd-vm-configuration-disk-size ;number or 'guess
@@ -1114,20 +1151,32 @@ that will be listening to receive secret keys on port 1004, TCP."
(net-options hurd-vm-configuration-net-options ;list of string
(thunked)
(default (hurd-vm-net-options this-record)))
(offloading? hurd-vm-configuration-offloading? ;Boolean
(default #t))
(secret-root hurd-vm-configuration-secret-root ;string
(default "/etc/childhurd")))
(define (hurd-vm-disk-image config)
"Return a disk-image for the Hurd according to CONFIG. The secret-service
is added to the OS specified in CONFIG."
(let* ((os (secret-service-operating-system
(hurd-vm-configuration-os config)))
(define transform
(compose secret-service-operating-system
;; When offloading is enabled, (1) add the 'offloading' account,
;; and (2) prevent users from logging in as 'root' without a
;; password as this would allow any user on the host to populate
;; the host's store indirectly (for example by logging in as root
;; in the Hurd VM over VNC).
(if (hurd-vm-configuration-offloading? config)
(compose operating-system-with-locked-root-account
operating-system-with-offloading-account)
identity)))
(let* ((os (transform (hurd-vm-configuration-os config)))
(disk-size (hurd-vm-configuration-disk-size config))
(type (lookup-image-type-by-name 'hurd-qcow2))
(os->image (image-type-constructor type)))
(system-image
(image (inherit (os->image os))
(size disk-size)))))
(image (inherit (os->image os))
(size disk-size))))
(define (hurd-vm-port config base)
"Return the forwarded vm port for this childhurd config."
@@ -1146,7 +1195,7 @@ is added to the OS specified in CONFIG."
"-:1004"
",hostfwd=tcp:127.0.0.1:"
(number->string (hurd-vm-port config %hurd-vm-ssh-port))
"-:2222"
"-:22"
",hostfwd=tcp:127.0.0.1:"
(number->string (hurd-vm-port config %hurd-vm-vnc-port))
"-:5900")))
@@ -1169,7 +1218,7 @@ is added to the OS specified in CONFIG."
"-m" (number->string #$memory-size)
#$@net-options
#$@options
"--hda" #+image
"--hda" #+(system-image image)
;; Cause the service to be respawned if the guest
;; reboots (it can reboot for instance if it did not
@@ -1272,6 +1321,50 @@ is added to the OS specified in CONFIG."
(program-file "initialize-hurd-vm-substitutes" run))
(define (authorize-guest-substitutes-on-host)
"Return a program that authorizes the guest's archive signing key (passed as
an argument) on the host."
(define not-config?
(match-lambda
('(guix config) #f)
(('guix _ ...) #t)
(('gnu _ ...) #t)
(_ #f)))
(define run
(with-extensions (list guile-gcrypt)
(with-imported-modules `(((guix config) => ,(make-config.scm))
,@(source-module-closure
'((guix pki)
(guix build utils))
#:select? not-config?))
#~(begin
(use-modules (ice-9 match)
(ice-9 textual-ports)
(gcrypt pk-crypto)
(guix pki)
(guix build utils))
(match (command-line)
((_ guest-config-directory)
(let ((guest-key (string-append guest-config-directory
"/signing-key.pub")))
(if (file-exists? guest-key)
;; Add guest key to the host's ACL.
(let* ((key (string->canonical-sexp
(call-with-input-file guest-key
get-string-all)))
(acl (public-keys->acl
(cons key (acl->public-keys (current-acl))))))
(with-atomic-file-replacement %acl-file
(lambda (_ port)
(write-acl acl port))))
(format (current-error-port)
"warning: guest key missing from '~a'~%"
guest-key)))))))))
(program-file "authorize-guest-substitutes-on-host" run))
(define (hurd-vm-activation config)
"Return a gexp to activate the Hurd VM according to CONFIG."
(with-imported-modules '((guix build utils))
@@ -1287,15 +1380,71 @@ is added to the OS specified in CONFIG."
(define guix-directory
(string-append secret-directory "/etc/guix"))
(define offloading-ssh-key
#$(hurd-vm-configuration-offloading-ssh-key config))
(unless (file-exists? ssh-directory)
;; Generate SSH host keys under SSH-DIRECTORY.
(mkdir-p ssh-directory)
(invoke #$(file-append openssh "/bin/ssh-keygen")
"-A" "-f" secret-directory))
(unless (or (not #$(hurd-vm-configuration-offloading? config))
(file-exists? offloading-ssh-key))
;; Generate a user SSH key pair for the host to use when offloading
;; to the guest.
(mkdir-p (dirname offloading-ssh-key))
(invoke #$(file-append openssh "/bin/ssh-keygen")
"-t" "ed25519" "-N" ""
"-f" offloading-ssh-key)
;; Authorize it in the guest for user 'offloading'.
(let ((authorizations
(string-append ssh-directory
"/authorized_keys.d/offloading")))
(mkdir-p (dirname authorizations))
(copy-file (string-append offloading-ssh-key ".pub")
authorizations)
(chmod (dirname authorizations) #o555)))
(unless (file-exists? guix-directory)
(invoke #$(initialize-hurd-vm-substitutes)
guix-directory)))))
guix-directory))
(when #$(hurd-vm-configuration-offloading? config)
;; Authorize the archive signing key from GUIX-DIRECTORY in the host.
(invoke #$(authorize-guest-substitutes-on-host) guix-directory)))))
(define (hurd-vm-configuration-offloading-ssh-key config)
"Return the name of the file containing the SSH key of user 'offloading'."
(string-append "/etc/guix/offload/ssh/childhurd"
(or (and=> (hurd-vm-configuration-id config)
number->string)
"")))
(define (hurd-vm-guix-extension config)
"When offloading is enabled, add this childhurd to the list of offlading
machines in /etc/guix/machines.scm."
(if (hurd-vm-configuration-offloading? config)
(let* ((image (hurd-vm-configuration-image config))
(platform (image-platform image))
(system (platform-system platform))
(vm-ssh-key (string-append
(hurd-vm-configuration-secret-root config)
"/etc/ssh/ssh_host_ed25519_key.pub"))
(host-ssh-key (hurd-vm-configuration-offloading-ssh-key config)))
(guix-extension
(build-machines
(list #~(build-machine
(name "localhost")
(port #$(hurd-vm-port config %hurd-vm-ssh-port))
(systems '(#$system))
(host-key (call-with-input-file #$vm-ssh-key
(@ (ice-9 textual-ports)
get-string-all)))
(user "offloading")
(private-key #$host-ssh-key))))))
(guix-extension)))
(define hurd-vm-service-type
(service-type
@@ -1304,6 +1453,8 @@ is added to the OS specified in CONFIG."
hurd-vm-shepherd-service)
(service-extension account-service-type
(const %hurd-vm-accounts))
(service-extension guix-service-type
hurd-vm-guix-extension)
(service-extension activation-service-type
hurd-vm-activation)))
(default-value (hurd-vm-configuration))

View File

@@ -19,8 +19,7 @@
(define-module (gnu system accounts)
#:use-module (guix records)
#:use-module (ice-9 match)
#:export (<user-account>
user-account
#:export (user-account
user-account?
user-account-name
user-account-password

View File

@@ -4,6 +4,9 @@
(use-modules (gnu))
(use-service-modules networking ssh)
;; If you want to use HTTPS, you most likely want to include
;; "certs" in the line below. Also read the comment about
;; "nss-certs" later in this file.
(use-package-modules screen ssh)
(operating-system
@@ -43,10 +46,12 @@
%base-user-accounts))
;; Globally-installed packages.
;; Add "nss-certs" for Mozilla's approved CA certs. You would
;; have to have included "certs" in use-package-modules above.
(packages (cons screen %base-packages))
;; Add services to the baseline: a DHCP client and
;; an SSH server.
;; Add services to the baseline: a DHCP client and an SSH
;; server. You may wish to add an NTP service here.
(services (append (list (service dhcp-client-service-type)
(service openssh-service-type
(openssh-configuration

View File

@@ -246,7 +246,7 @@ set to the given OS."
(name 'qcow2)
(constructor (cut image-with-os
(image
(inherit mbr-disk-image)
(inherit mbr-hybrid-disk-image)
(name 'image.qcow2)
(format 'compressed-qcow2))
<>))))

View File

@@ -144,7 +144,8 @@ fi
alias ls='ls -p --color=auto'
alias ll='ls -l'
alias grep='grep --color=auto'\n"))
alias grep='grep --color=auto'
alias ip='ip -color=auto'\n"))
(define (default-skeletons)
"Return the default skeleton files for /etc/skel. These files are copied by

View File

@@ -87,41 +87,6 @@
;; conservative default.
(define %default-msize-value (* 100 (expt 2 20))) ;100 MiB
(define %linux-vm-file-systems
;; File systems mounted for 'derivation-in-linux-vm'. These are shared with
;; the host over 9p.
;;
;; The 9p documentation says that cache=loose is "intended for exclusive,
;; read-only mounts", without additional details. It's much faster than the
;; default cache=none, especially when copying and registering store items.
;; Thus, use cache=loose, except for /xchg where we want to ensure
;; consistency.
(list (file-system
(mount-point (%store-prefix))
(device "store")
(type "9p")
(needed-for-boot? #t)
(flags '(read-only))
(options (format #f "trans=virtio,cache=loose,msize=~a"
%default-msize-value))
(check? #f))
(file-system
(mount-point "/xchg")
(device "xchg")
(type "9p")
(needed-for-boot? #t)
(options (format #f "trans=virtio,msize=~a" %default-msize-value))
(check? #f))
(file-system
(mount-point "/tmp")
(device "tmp")
(type "9p")
(needed-for-boot? #t)
(options (format #f "trans=virtio,cache=loose,msize=~a"
%default-msize-value))
(check? #f))))
;;;
;;; VMs that share file systems with the host.
;;;
@@ -145,6 +110,12 @@
(device (file-system->mount-tag source))
(type "9p")
(flags (if writable? '() '(read-only)))
;; The 9p documentation says that cache=loose is "intended for
;; exclusive, read-only mounts", without additional details. It's
;; faster than the default cache=none, especially when copying and
;; registering store items. Thus, use cache=loose, except for writable
;; mounts, to ensure consistency.
(options (string-append "trans=virtio"
(if writable? "" ",cache=loose")
",msize=" (number->string %default-msize-value)))

View File

@@ -24,9 +24,11 @@
#:use-module (gnu tests)
#:use-module (gnu image)
#:use-module (gnu system)
#:use-module (gnu system accounts)
#:use-module (gnu system file-systems)
#:use-module (gnu system image)
#:use-module (gnu system images hurd)
#:use-module ((gnu system shadow) #:select (%base-user-accounts))
#:use-module (gnu system vm)
#:use-module (gnu services)
#:use-module (gnu services dbus)
@@ -37,6 +39,7 @@
#:use-module (guix gexp)
#:use-module (guix records)
#:use-module (guix store)
#:use-module (guix modules)
#:export (%test-libvirt
%test-qemu-guest-agent
%test-childhurd))
@@ -225,31 +228,33 @@
;;; GNU/Hurd virtual machines, aka. childhurds.
;;;
;; Copy of `hurd-vm-disk-image', using plain disk-image for test
(define (hurd-vm-disk-image-raw config)
(let ((os ((@@ (gnu services virtualization) secret-service-operating-system)
(hurd-vm-configuration-os config)))
(disk-size (hurd-vm-configuration-disk-size config)))
(system-image
(image
(inherit hurd-disk-image)
(format 'disk-image)
(size disk-size)
(operating-system os)))))
(define %childhurd-os
(simple-operating-system
(service dhcp-client-service-type)
(service hurd-vm-service-type
(hurd-vm-configuration
(image (hurd-vm-disk-image-raw this-record))))))
(os (operating-system
(inherit %hurd-vm-operating-system)
(users (cons (user-account
(name "test")
(group "users")
(password "")) ;empty password
%base-user-accounts))))))))
(define (run-childhurd-test)
(define (import-module? module)
;; This module is optional and depends on Guile-Gcrypt, do skip it.
(and (guix-module-name? module)
(not (equal? module '(guix store deduplication)))))
(define os
(marionette-operating-system
%childhurd-os
#:imported-modules '((gnu services herd)
(guix combinators))))
#:imported-modules (source-module-closure
'((gnu services herd)
(guix combinators)
(gnu build install))
#:select? import-module?)))
(define vm
(virtual-machine
@@ -269,7 +274,7 @@
(ice-9 match)
(ice-9 textual-ports))
(let ((session (make-session #:user "root"
(let ((session (make-session #:user "test"
#:port 10022
#:host "localhost"
#:log-verbosity 'rare)))
@@ -293,7 +298,10 @@
(ice-9 match))
(define marionette
(make-marionette (list #$vm)))
;; Emulate the host CPU so that KVM is available inside as well
;; ("nested KVM"), provided
;; /sys/module/kvm_intel/parameters/nested (or similar) allows it.
(make-marionette (list #$vm "-cpu" "host")))
(test-runner-current (system-test-runner #$output))
(test-begin "childhurd")
@@ -371,6 +379,31 @@
(pk 'drv (string-trim-right drv)))
drv)))
(test-assert "copy-on-write store"
;; Set up a writable store. The root partition is already an
;; overlayfs, which is not suitable as the bottom part of this
;; additional overlayfs; thus, create a tmpfs for the backing
;; store.
;; TODO: Remove this when <virtual-machine> creates a writable
;; store.
(marionette-eval
'(begin
(use-modules (gnu build install)
(guix build syscalls))
(mkdir "/run/writable-store")
(mount "none" "/run/writable-store" "tmpfs")
(mount-cow-store "/run/writable-store" "/backing-store")
(system* "df" "-hT"))
marionette))
(test-equal "offloading"
0
(marionette-eval
'(and (file-exists? "/etc/guix/machines.scm")
(system* "guix" "offload" "test"))
marionette))
(test-end))))
(gexp->derivation "childhurd-test" test))

View File

@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018, 2023 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
@@ -41,15 +41,15 @@
`((guix build minify-build-system)
,@%gnu-build-system-modules))
(define (default-uglify-js)
(define (default-esbuild)
"Return the default package to minify JavaScript source files."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((mod (resolve-interface '(gnu packages uglifyjs))))
(module-ref mod 'uglifyjs)))
(let ((mod (resolve-interface '(gnu packages web))))
(module-ref mod 'esbuild)))
(define* (lower name
#:key source inputs native-inputs outputs system
(uglify-js (default-uglify-js))
(esbuild (default-esbuild))
#:allow-other-keys
#:rest arguments)
"Return a bag for NAME."
@@ -64,7 +64,7 @@
'())
,@inputs
,@(standard-packages)))
(build-inputs `(("uglify-js" ,uglify-js)
(build-inputs `(("esbuild" ,esbuild)
,@native-inputs))
(outputs outputs)
(build minify-build)

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