me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into gnome-team

master
Liliana Marie Prikler 2024-01-01 21:56:00 +01:00
commit 1cd97066c2
No known key found for this signature in database
GPG Key ID: 442A84B8C70E2F87
133 changed files with 41059 additions and 35613 deletions

View File

@ -457,7 +457,7 @@ configuration file:
(group-n 3 (one-or-more digit))
line-end))
;; Reduce the number of prompts with 'M-x debbugs-gnu'.
;; Change the default when run as 'M-x debbugs-gnu'.
(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
;; Show feature requests.

View File

@ -77,6 +77,7 @@ manual}).
* Packaging:: Packaging tutorials
* System Configuration:: Customizing the GNU System
* Containers:: Isolated environments and nested systems
* Virtual Machines:: Virtual machines usage and configuration
* Advanced package management:: Power to the users!
* Software Development:: Environments, continuous integration, etc.
* Environment management:: Control environment
@ -155,6 +156,11 @@ Guix System Containers
* A Database Container::
* Container Networking::
Virtual Machines
* Network bridge for QEMU::
* Routed network for libvirt::
Advanced package management
* Guix Profiles in Practice:: Strategies for multiple profiles and manifests.
@ -3702,6 +3708,236 @@ sudo ip netns del $ns
sudo ip link del $host
@end example
@c *********************************************************************
@node Virtual Machines
@chapter Virtual Machines
Guix can produce disk images (@pxref{Invoking guix system,,, guix, GNU
Guix Reference Manual}) that can be used with virtual machines solutions
such as virt-manager, GNOME Boxes or the more bare QEMU, among others.
This chapter aims to provide hands-on, practical examples that relates
to the usage and configuration of virtual machines on a Guix System.
@menu
* Network bridge for QEMU::
* Routed network for libvirt::
@end menu
@node Network bridge for QEMU
@section Network bridge for QEMU
@cindex Network bridge interface
@cindex networking, bridge
@cindex qemu, network bridge
By default, QEMU uses a so-called ``user mode'' host network back-end,
which is convenient as it does not require any configuration.
Unfortunately, it is also quite limited. In this mode, the guest
@abbr{VM, virtual machine} can access the network the same way the host
would, but it cannot be reached from the host. Additionally, since the
QEMU user networking mode relies on ICMP, ICMP-based networking tools
such as @command{ping} do @emph{not} work in this mode. Thus, it is
often desirable to configure a network bridge, which enables the guest
to fully participate in the network. This is necessary, for example,
when the guest is to be used as a server.
@subsection Creating a network bridge interface
There are many ways to create a network bridge. The following command
shows how to use NetworkManager and its @command{nmcli} command line
interface (CLI) tool, which should already be available if your
operating system declaration is based on one of the desktop templates:
@example sh
# nmcli con add type bridge con-name br0 ifname br0
@end example
To have this bridge be part of your network, you must associate your
network bridge with the Ethernet interface used to connect with the
network. Assuming your interface is named @samp{enp2s0}, the following
command can be used to do so:
@example sh
# nmcli con add type bridge-slave ifname enp2s0 master br0
@end example
@quotation Important
Only Ethernet interfaces can be added to a bridge. For wireless
interfaces, consider the routed network approach detailed in
@xref{Routed network for libvirt}.
@end quotation
By default, the network bridge will allow your guests to obtain their IP
address via DHCP, if available on your local network. For simplicity,
this is what we will use here. To easily find the guests, they can be
configured to advertise their host names via mDNS.
@subsection Configuring the QEMU bridge helper script
QEMU comes with a helper program to conveniently make use of a network
bridge interface as an unprivileged user @pxref{Network options,,, QEMU,
QEMU Documentation}. The binary must be made setuid root for proper
operation; this can be achieved by adding it to the
@code{setuid-programs} field of your (host) @code{operating-system}
definition, as shown below:
@example lisp
(setuid-programs
(cons (file-append qemu "/libexec/qemu-bridge-helper")
%setuid-programs))
@end example
The file @file{/etc/qemu/bridge.conf} must also be made to allow the
bridge interface, as the default is to deny all. Add the following to
your list of services to do so:
@example lisp
(extra-special-file "/etc/qemu/host.conf" "allow br0\n")
@end example
@subsection Invoking QEMU with the right command line options
When invoking QEMU, the following options should be provided so that the
network bridge is used, after having selected a unique MAC address for
the guest.
@quotation Important
By default, a single MAC address is used for all guests, unless
provided. Failing to provided different MAC addresses to each virtual
machine making use of the bridge would cause networking issues.
@end quotation
@example sh
$ qemu-system-x86_64 [...] \
-device virtio-net-pci,netdev=user0,mac=XX:XX:XX:XX:XX:XX \
-netdev bridge,id=user0,br=br0 \
[...]
@end example
To generate MAC addresses that have the QEMU registered prefix, the
following snippet can be employed:
@example sh
mac_address="52:54:00:$(dd if=/dev/urandom bs=512 count=1 2>/dev/null \
| md5sum \
| sed -E 's/^(..)(..)(..).*$/\1:\2:\3/')"
echo $mac_address
@end example
@subsection Networking issues caused by Docker
If you use Docker on your machine, you may experience connectivity
issues when attempting to use a network bridge, which are caused by
Docker also relying on network bridges and configuring its own routing
rules. The solution is add the following @code{iptables} snippet to
your @code{operating-system} declaration:
@example lisp
(service iptables-service-type
(iptables-configuration
(ipv4-rules (plain-file "iptables.rules" "\
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i br0 -o br0 -j ACCEPT
COMMIT
"))
@end example
@node Routed network for libvirt
@section Routed network for libvirt
@cindex Virtual network bridge interface
@cindex networking, virtual bridge
@cindex libvirt, virtual network bridge
If the machine hosting your virtual machines is connected wirelessly to
the network, you won't be able to use a true network bridge as explained
in the preceding section (@pxref{Network bridge for QEMU}). In this
case, the next best option is to use a @emph{virtual} bridge with static
routing and to configure a libvirt-powered virtual machine to use it
(via the @command{virt-manager} GUI for example). This is similar to
the default mode of operation of QEMU/libvirt, except that instead of
using @abbr{NAT, Network Address Translation}, it relies on static
routes to join the @abbr{VM, virtual machine} IP address to the
@abbr{LAN, local area network}. This provides two-way connectivity to
and from the virtual machine, which is needed for exposing services
hosted on the virtual machine.
@subsection Creating a virtual network bridge
A virtual network bridge consists of a few components/configurations,
such as a @abbr{TUN, network tunnel} interface, DHCP server (dnsmasq)
and firewall rules (iptables). The @command{virsh} command, provided by
the @code{libvirt} package, makes it very easy to create a virtual
bridge. You first need to choose a network subnet for your virtual
bridge; if your home LAN is in the @samp{192.168.1.0/24} network, you
could opt to use e.g.@: @samp{192.168.2.0/24}. Define an XML file,
e.g.@: @file{/tmp/virbr0.xml}, containing the following:
@example
<network>
<name>virbr0</name>
<bridge name="virbr0" />
<forward mode="route"/>
<ip address="192.168.2.0" netmask="255.255.255.0">
<dhcp>
<range start="192.168.2.1" end="192.168.2.254"/>
</dhcp>
</ip>
</network>
@end example
Then create and configure the interface using the @command{virsh}
command, as root:
@example
virsh net-define /tmp/virbr0.xml
virsh net-autostart virbr0
virsh net-start virbr0
@end example
The @samp{virbr0} interface should now be visible e.g.@: via the
@samp{ip address} command. It will be automatically started every time
your libvirt virtual machine is started.
@subsection Configuring the static routes for your virtual bridge
If you configured your virtual machine to use your newly created
@samp{virbr0} virtual bridge interface, it should already receive an IP
via DHCP such as @samp{192.168.2.15} and be reachable from the server
hosting it, e.g.@: via @samp{ping 192.168.2.15}. There's one last
configuration needed so that the VM can reach the external network:
adding static routes to the network's router.
In this example, the LAN network is @samp{192.168.1.0/24} and the router
configuration web page may be accessible via e.g.@: the
@url{http://192.168.1.1} page. On a router running the
@url{https://librecmc.org/, libreCMC} firmware, you would navigate to
the @clicksequence{Network @click{} Static Routes} page
(@url{https://192.168.1.1/cgi-bin/luci/admin/network/routes}), and you
would add a new entry to the @samp{Static IPv4 Routes} with the
following information:
@table @samp
@item Interface
lan
@item Target
192.168.2.0
@item IPv4-Netmask
255.255.255.0
@item IPv4-Gateway
@var{server-ip}
@item Route type
unicast
@end table
where @var{server-ip} is the IP address of the machine hosting the VMs,
which should be static.
After saving/applying this new static route, external connectivity
should work from within your VM; you can e.g.@: run @samp{ping gnu.org}
to verify that it functions correctly.
@c *********************************************************************
@node Advanced package management

View File

@ -12197,6 +12197,11 @@ This is like the form above, but referring explicitly to the
@var{output} of @var{obj}---this is useful when @var{obj} produces
multiple outputs (@pxref{Packages with Multiple Outputs}).
Sometimes a gexp unconditionally refers to the @code{"out"} output, but
the user of that gexp would still like to insert a reference to another
output. The @code{gexp-input} procedure aims to address that.
@xref{gexp-input}.
@item #+@var{obj}
@itemx #+@var{obj}:output
@itemx (ungexp-native @var{obj})
@ -12309,10 +12314,9 @@ When @var{references-graphs} is true, it must be a list of tuples of one of the
following forms:
@example
(@var{file-name} @var{package})
(@var{file-name} @var{package} @var{output})
(@var{file-name} @var{derivation})
(@var{file-name} @var{derivation} @var{output})
(@var{file-name} @var{obj})
(@var{file-name} @var{obj} @var{output})
(@var{file-name} @var{gexp-input})
(@var{file-name} @var{store-item})
@end example
@ -12590,6 +12594,39 @@ The example above returns an object that corresponds to the i686 build
of Coreutils, regardless of the current value of @code{%current-system}.
@end defmac
@anchor{gexp-input}
@deffn {Procedure} gexp-input @var{obj} [@var{output}] [#:native? #f]
Return a @dfn{gexp input} record for the given @var{output} of file-like
object @var{obj}, with @code{#:native?} determining whether this is a
native reference (as with @code{ungexp-native}) or not.
This procedure is helpful when you want to pass a reference to a
specific output of an object to some procedure that may not know about
that output. For example, assume you have this procedure, which takes
one file-like object:
@lisp
(define (make-symlink target)
(computed-file "the-symlink"
#~(symlink #$target #$output)))
@end lisp
Here @code{make-symlink} can only ever refer to the default output of
@var{target}---the @code{"out"} output (@pxref{Packages with Multiple
Outputs}). To have it refer to, say, the @code{"lib"} output of the
@code{hwloc} package, you can call it like so:
@lisp
(make-symlink (gexp-input hwloc "lib"))
@end lisp
You can also compose it like any other file-like object:
@lisp
(make-symlink
(file-append (gexp-input hwloc "lib") "/lib/libhwloc.so"))
@end lisp
@end deffn
Of course, in addition to gexps embedded in ``host'' code, there are
also modules containing build tools. To make it clear that they are
@ -34161,6 +34198,9 @@ The Laminar package to use.
@item @code{home-directory} (default: @code{"/var/lib/laminar"})
The directory for job configurations and run directories.
@item @code{supplementary-groups} (default: @code{()})
Supplementary groups for the Laminar user account.
@item @code{bind-http} (default: @code{"*:8080"})
The interface/port or unix socket on which laminard should listen for
incoming connections to the web frontend.
@ -35169,17 +35209,24 @@ services.
@subsubheading Libvirt daemon
@code{libvirtd} is the server side daemon component of the libvirt
virtualization management system. This daemon runs on host servers
and performs required management tasks for virtualized guests.
virtualization management system. This daemon runs on host servers and
performs required management tasks for virtualized guests. To connect
to the libvirt daemon as an unprivileged user, it must be added to the
@samp{libvirt} group, as shown in the example below.
@defvar libvirt-service-type
This is the type of the @uref{https://libvirt.org, libvirt daemon}.
Its value must be a @code{libvirt-configuration}.
@lisp
(users (cons (user-account
(name "user")
(group "users")
(supplementary-groups '("libvirt"
"audio" "video" "wheel")))
%base-user-accounts))
(service libvirt-service-type
(libvirt-configuration
(unix-sock-group "libvirt")
(tls-port "16555")))
@end lisp
@end defvar
@ -35261,7 +35308,7 @@ UNIX domain socket group ownership. This can be used to allow a
'trusted' set of users access to management capabilities without
becoming root.
Defaults to @samp{"root"}.
Defaults to @samp{"libvirt"}.
@end deftypevr
@ -38761,58 +38808,6 @@ the coordinator database, and is used by the agent to authenticate.
@end table
@end deftp
The Guix Build Coordinator package contains a script to query an
instance of the Guix Data Service for derivations to build, and then
submit builds for those derivations to the coordinator. The service
type below assists in running this script. This is an additional tool
that may be useful when building derivations contained within an
instance of the Guix Data Service.
@defvar guix-build-coordinator-queue-builds-service-type
Service type for the
guix-build-coordinator-queue-builds-from-guix-data-service script. Its
value must be a @code{guix-build-coordinator-queue-builds-configuration}
object.
@end defvar
@deftp {Data Type} guix-build-coordinator-queue-builds-configuration
Data type representing the options to the queue builds from guix data
service script.
@table @asis
@item @code{package} (default: @code{guix-build-coordinator})
The Guix Build Coordinator package to use.
@item @code{user} (default: @code{"guix-build-coordinator-queue-builds"})
The system user to run the service as.
@item @code{coordinator} (default: @code{"http://localhost:8746"})
The URI to use when connecting to the coordinator.
@item @code{systems} (default: @code{#f})
The systems for which to fetch derivations to build.
@item @code{systems-and-targets} (default: @code{#f})
An association list of system and target pairs for which to fetch
derivations to build.
@item @code{guix-data-service} (default: @code{"https://data.guix.gnu.org"})
The Guix Data Service instance from which to query to find out about
derivations to build.
@item @code{guix-data-service-build-server-id} (default: @code{#f})
The Guix Data Service build server ID corresponding to the builds being
submitted. Providing this speeds up the submitting of builds as
derivations that have already been submitted can be skipped before
asking the coordinator to build them.
@item @code{processed-commits-file} (default: @code{"/var/cache/guix-build-coordinator-queue-builds/processed-commits"})
A file to record which commits have been processed, to avoid needlessly
processing them again if the service is restarted.
@end table
@end deftp
@subsubheading Guix Data Service
The @uref{http://data.guix.gnu.org,Guix Data Service} processes, stores
and provides data about GNU Guix. This includes information about
@ -45119,6 +45114,7 @@ sound support.
@cindex PulseAudio, home service
@cindex RTP, for PulseAudio
@subsubheading PulseAudio RTP Streaming Services
The following services dynamically reconfigure the
@uref{https://pulseaudio.org,PulseAudio sound server}: they let you
@ -45206,6 +45202,77 @@ Stopping the Shepherd service turns off broadcasting.
This is the multicast address used by default by the two services above.
@end defvar
@cindex PipeWire, home service
@subsubheading PipeWire Home Service
@uref{https://pipewire.org, PipeWire} provides a low-latency,
graph-based audio and video processing service. In addition to its
native protocol, it can also be used as a replacement for both JACK and
PulseAudio.
While PipeWire provides the media processing and API, it does not,
directly, know about devices such as sound cards, nor how you might want
to connect applications, hardware, and media processing filters.
Instead, PipeWire relies on a @dfn{session manager} to specify all these
relationships. While you may use any session manager you wish, for most
people the @url{https://pipewire.pages.freedesktop.org/wireplumber/,
WirePlumber} session manager, a reference implementation provided by the
PipeWire project itself, suffices, and that is the one
@code{home-pipewire-service-type} uses.
PipeWire can be used as a replacement for PulseAudio by setting
@code{enable-pulseaudio?} to @code{#t} in
@code{home-pipewire-configuration}, so that existing PulseAudio clients
may use it without any further configuration.
In addition, JACK clients may connect to PipeWire by using the
@command{pw-jack} program, which comes with PipeWire. Simply prefix the
command with @command{pw-jack} when you run it, and audio data should go
through PipeWire:
@example
pw-jack mpv -ao=jack sound-file.wav
@end example
For more information on PulseAudio emulation, see
@uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PulseAudio},
for JACK, see
@uref{https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-JACK}.
As PipeWire does not use @code{dbus} to start its services on demand
(as PulseAudio does), @code{home-pipewire-service-type} uses Shepherd
to start services when logged in, provisioning the @code{pipewire},
@code{wireplumber}, and, if configured, @code{pipewire-pulseaudio}
services. @xref{Shepherd Home Service}.
@defvar home-pipewire-service-type
This provides the service definition for @command{pipewire}, which will
run on login. Its value is a @code{home-pipewire-configuration} object.
To start the service, add it to the @code{service} field of your
@code{home-environment}, such as:
@lisp
(service home-pipewire-service-type)
@end lisp
@end defvar
@deftp {Data Type} home-pipewire-configuration
Available @code{home-pipewire-configuration} fields are:
@table @asis
@item @code{pipewire} (default: @code{pipewire}) (type: file-like)
The PipeWire package to use.
@item @code{wireplumber} (default: @code{wireplumber}) (type: file-like)
The WirePlumber package to use.
@item @code{enable-pulseaudio?} (default: @code{#t}) (type: boolean)
When true, enable PipeWire's PulseAudio emulation support, allowing
PulseAudio clients to use PipeWire transparently.
@end table
@end deftp
@node Mail Home Services
@subsection Mail Home Services

View File

@ -477,7 +477,9 @@ asdf-build-system."
#:description
"Taking care about Icecat and Icedove, built from Mozilla Firefox
and Thunderbird."
#:scope (list "gnu/packages/gnuzilla.scm")))
#:scope (list "gnu/build/icecat-extension.scm"
"gnu/packages/browser-extensions.scm"
"gnu/packages/gnuzilla.scm")))
(define-team racket
(team 'racket
@ -676,6 +678,10 @@ GLib/GIO, GTK, GStreamer and Webkit."
"ekaitz@elenq.tech")
bootstrap zig)
(define-member (person "Clément Lassieur"
"clement@lassieur.org")
mozilla)
(define (find-team name)
(or (hash-ref %teams (string->symbol name))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2023 Herman Rimm <herman_rimm@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,6 +38,7 @@
u-boot-mx6cuboxi-bootloader
u-boot-nintendo-nes-classic-edition-bootloader
u-boot-novena-bootloader
u-boot-orangepi-r1-plus-lts-rk3328-bootloader
u-boot-pine64-plus-bootloader
u-boot-pine64-lts-bootloader
u-boot-pinebook-bootloader
@ -93,6 +95,15 @@
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 69 1024)))))
(define install-orangepi-r1-plus-lts-rk3328-u-boot
#~(lambda (bootloader root-index image)
(let ((idb (string-append bootloader "/libexec/idbloader.img"))
(u-boot (string-append bootloader "/libexec/u-boot.itb")))
(write-file-on-device idb (stat:size (stat idb))
image (* 64 512))
(write-file-on-device u-boot (stat:size (stat u-boot))
image (* 16384 512)))))
(define install-puma-rk3399-u-boot
#~(lambda (bootloader root-index image)
(let ((spl (string-append bootloader "/libexec/idbloader.img"))
@ -233,6 +244,12 @@
(inherit u-boot-imx-bootloader)
(package u-boot-novena)))
(define u-boot-orangepi-r1-plus-lts-rk3328-bootloader
(bootloader
(inherit u-boot-bootloader)
(package u-boot-orangepi-r1-plus-lts-rk3328)
(disk-image-installer install-orangepi-r1-plus-lts-rk3328-u-boot)))
(define u-boot-pine64-plus-bootloader
(bootloader
(inherit u-boot-allwinner64-bootloader)

View File

@ -120,12 +120,7 @@ format."
when installed, will make the extension contained in PKG available as a
Chromium browser extension. PKG-OUTPUT specifies which output of PKG to use."
(let* ((name (package-name pkg))
(version (package-version pkg))
(private-key (make-signing-key name))
(public-key (signing-key->public-der private-key))
(checksum (file-sha256sum public-key))
(crx (make-crx private-key pkg pkg-output))
(json (crx->chromium-json crx version)))
(version (package-version pkg)))
(package
(inherit pkg)
(name (string-append name "-chromium"))
@ -138,18 +133,24 @@ Chromium browser extension. PKG-OUTPUT specifies which output of PKG to use."
(arguments
(list #:modules '((guix build utils))
#:builder
#~(begin
(use-modules (guix build utils))
(define (base16-char->chromium-base16 char)
;; Translate CHAR, a hexadecimal character, to a Chromium-style
;; representation using the letters a-p (where a=0, p=15).
(string-ref "abcdefghijklmnop"
(string-index "0123456789abcdef" char)))
(let ((file-name (string-map base16-char->chromium-base16
(string-take #$checksum 32)))
(extension-directory
(string-append #$output
"/share/chromium/extensions")))
(mkdir-p extension-directory)
(symlink #$json (string-append extension-directory "/"
file-name ".json")))))))))
(let*
((private-key (make-signing-key name))
(public-key (signing-key->public-der private-key))
(checksum (file-sha256sum public-key))
(crx (make-crx private-key pkg pkg-output))
(json (crx->chromium-json crx version)))
#~(begin
(use-modules (guix build utils))
(define (base16-char->chromium-base16 char)
;; Translate CHAR, a hexadecimal character, to a Chromium-style
;; representation using the letters a-p (where a=0, p=15).
(string-ref "abcdefghijklmnop"
(string-index "0123456789abcdef" char)))
(let ((file-name (string-map base16-char->chromium-base16
(string-take #$checksum 32)))
(extension-directory
(string-append #$output
"/share/chromium/extensions")))
(mkdir-p extension-directory)
(symlink #$json (string-append extension-directory "/"
file-name ".json"))))))))))

View File

@ -33,7 +33,6 @@
%precious-signals)
#:autoload (shepherd system) (unblock-signals)
#:export (default-mounts
make-forkexec-constructor/container
fork+exec-command/container))
;;; Commentary:
@ -101,27 +100,6 @@
(file-exists? (file-system-mapping-source mapping)))
mappings)))))
(define* (read-pid-file/container pid pid-file #:key (max-delay 5))
"Read PID-FILE in the container namespaces of PID, which exists in a
separate mount and PID name space. Return the \"outer\" PID. "
(match (container-excursion* pid
(lambda ()
;; XXX: Trick for Shepherd 0.9: prevent 'read-pid-file' from
;; using (@ (fibers) sleep), which would try to suspend the
;; current task, which doesn't work in this extra process.
(with-continuation-barrier
(lambda ()
(read-pid-file pid-file
#:max-delay max-delay)))))
(#f
;; Send SIGTERM to the whole process group.
(catch-system-error (kill (- pid) SIGTERM))
#f)
((? integer? container-pid)
;; XXX: When COMMAND is started in a separate PID namespace, its
;; PID is always 1, but that's not what Shepherd needs to know.
pid)))
(define* (exec-command* command #:key user group log-file pid-file
(supplementary-groups '())
(directory "/") (environment-variables (environ)))
@ -144,74 +122,6 @@ shepherd (PID 1)."
#:directory directory
#:environment-variables environment-variables))
(define* (make-forkexec-constructor/container command
#:key
(namespaces
(default-namespaces args))
(mappings '())
(user #f)
(group #f)
(supplementary-groups '())
(log-file #f)
pid-file
(pid-file-timeout 5)
(directory "/")
(environment-variables
(environ))
#:rest args)
"This is a variant of 'make-forkexec-constructor' that starts COMMAND in
NAMESPACES, a list of Linux namespaces such as '(mnt ipc). MAPPINGS is the
list of <file-system-mapping> to make in the case of a separate mount
namespace, in addition to essential bind-mounts such /proc."
(define container-directory
(match command
((program _ ...)
(string-append "/var/run/containers/" (basename program)))))
(define auto-mappings
`(,@(if log-file
(list (file-system-mapping
(source log-file)
(target source)
(writable? #t)))
'())))
(define mounts
(append (map file-system-mapping->bind-mount
(append auto-mappings mappings))
(default-mounts #:namespaces namespaces)))
(lambda args
(mkdir-p container-directory)
(when log-file
;; Create LOG-FILE so we can map it in the container.
(unless (file-exists? log-file)
(close (open log-file (logior O_CREAT O_APPEND O_CLOEXEC) #o640))
(when user
(let ((pw (getpwnam user)))
(chown log-file (passwd:uid pw) (passwd:gid pw))))))
(let ((pid (run-container container-directory
mounts namespaces 1
(lambda ()
(exec-command* command
#:user user
#:group group
#:supplementary-groups
supplementary-groups
#:pid-file pid-file
#:log-file log-file
#:directory directory
#:environment-variables
environment-variables)))))
(if pid-file
(if (or (memq 'mnt namespaces) (memq 'pid namespaces))
(read-pid-file/container pid pid-file
#:max-delay pid-file-timeout)
(read-pid-file pid-file #:max-delay pid-file-timeout))
pid))))
(define* (fork+exec-command/container command
#:key pid
#:allow-other-keys

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2023 Brian Cully <bjc@spork.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -19,13 +20,112 @@
(define-module (gnu home services sound)
#:use-module (gnu home services)
#:use-module (gnu home services shepherd)
#:use-module (gnu home services xdg)
#:use-module (gnu packages linux)
#:use-module (gnu services configuration)
#:use-module (guix records)
#:use-module (guix gexp)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:export (home-pulseaudio-rtp-sink-service-type
home-pulseaudio-rtp-source-service-type
%pulseaudio-rtp-multicast-address))
%pulseaudio-rtp-multicast-address
home-pipewire-configuration
home-pipewire-service-type))
;;;
;;; PipeWire support.
;;;
(define-configuration/no-serialization home-pipewire-configuration
(pipewire
(file-like pipewire)
"The PipeWire package to use.")
(wireplumber
(file-like wireplumber)
"The WirePlumber package to use.")
(enable-pulseaudio?
(boolean #t)
"When true, enable PipeWire's PulseAudio emulation support, allowing
PulseAudio clients to use PipeWire transparently."))
(define (home-pipewire-shepherd-service config)
(shepherd-service
(documentation "PipeWire media processing.")
(provision '(pipewire))
(requirement '(dbus))
(start #~(make-forkexec-constructor
(list #$(file-append
(home-pipewire-configuration-pipewire config)
"/bin/pipewire"))))
(stop #~(make-kill-destructor))))
(define (home-pipewire-pulseaudio-shepherd-service config)
(shepherd-service
(documentation "Drop-in PulseAudio replacement service for PipeWire.")
(provision '(pipewire-pulseaudio))
(requirement '(pipewire))
(start #~(make-forkexec-constructor
(list #$(file-append
(home-pipewire-configuration-pipewire config)
"/bin/pipewire-pulse"))))
(stop #~(make-kill-destructor))))
(define (home-wireplumber-shepherd-service config)
(shepherd-service
(documentation "WirePlumber session management for PipeWire.")
(provision '(wireplumber))
(requirement '(pipewire))
(start #~(make-forkexec-constructor
(list #$(file-append
(home-pipewire-configuration-wireplumber config)
"/bin/wireplumber"))))
(stop #~(make-kill-destructor))))
(define (home-pipewire-shepherd-services config)
(cons* (home-pipewire-shepherd-service config)
(home-wireplumber-shepherd-service config)
(if (home-pipewire-configuration-enable-pulseaudio? config)
(list (home-pipewire-pulseaudio-shepherd-service config))
'())))
(define (home-pipewire-asoundrc config)
(match-record config <home-pipewire-configuration>
(pipewire)
(mixed-text-file
"asoundrc"
"<" pipewire "/share/alsa/alsa.conf.d/50-pipewire.conf>\n"
"<" pipewire "/share/alsa/alsa.conf.d/99-pipewire-default.conf>\n"
"pcm_type.pipewire {\n"
" lib \"" pipewire "/lib/alsa-lib/libasound_module_pcm_pipewire.so\"\n"
"}\n"
"ctl_type.pipewire {\n"
" lib \"" pipewire "/lib/alsa-lib/libasound_module_ctl_pipewire.so\"\n"
"}\n")))
(define home-pipewire-disable-pulseaudio-auto-start
(plain-file "client.conf" "autospawn = no"))
(define (home-pipewire-xdg-configuration config)
(cons* `("alsa/asoundrc" ,(home-pipewire-asoundrc config))
(if (home-pipewire-configuration-enable-pulseaudio? config)
`(("pulse/client.conf"
,home-pipewire-disable-pulseaudio-auto-start))
'())))
(define home-pipewire-service-type
(service-type
(name 'pipewire)
(extensions
(list (service-extension home-shepherd-service-type
home-pipewire-shepherd-services)
(service-extension home-xdg-configuration-files-service-type
home-pipewire-xdg-configuration)))
(description
"Start essential PipeWire services.")
(default-value (home-pipewire-configuration))))
;;;

View File

@ -45,10 +45,10 @@
#:autoload (gnu packages gnupg) (guile-gcrypt)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages linux)
#:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages package-management)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (gnu system locale)

View File

@ -62,6 +62,7 @@
# Copyright © 2023 B. Wilson <elaexuotee@wilsonb.com>
# Copyright © 2023 Bruno Victal <mirai@makinata.eu>
# Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
# Copyright © 2023 Herman Rimm <herman@rimm.ee>
#
# This file is part of GNU Guix.
#
@ -240,7 +241,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/dvtm.scm \
%D%/packages/easyrpg.scm \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
%D%/packages/efi.scm \
%D%/packages/electronics.scm \
@ -456,7 +456,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/musl.scm \
%D%/packages/mtools.scm \
%D%/packages/myrddin.scm \
%D%/packages/nano.scm \
%D%/packages/ncdu.scm \
%D%/packages/ncurses.scm \
%D%/packages/netpbm.scm \
@ -753,6 +752,7 @@ GNU_SYSTEM_MODULES = \
\
%D%/system/images/hurd.scm \
%D%/system/images/novena.scm \
%D%/system/images/orangepi-r1-plus-lts-rk3328.scm \
%D%/system/images/pine64.scm \
%D%/system/images/pinebook-pro.scm \
%D%/system/images/rock64.scm \
@ -1071,6 +1071,7 @@ dist_patch_DATA = \
%D%/packages/patches/cursynth-wave-rand.patch \
%D%/packages/patches/cvs-CVE-2017-12836.patch \
%D%/packages/patches/d-feet-drop-unused-meson-argument.patch \
%D%/packages/patches/dante-non-darwin.patch \
%D%/packages/patches/date-output-pkg-config-files.patch \
%D%/packages/patches/datefudge-gettimeofday.patch \
%D%/packages/patches/dbacl-include-locale.h.patch \
@ -1726,6 +1727,7 @@ dist_patch_DATA = \
%D%/packages/patches/online-judge-tools.patch \
%D%/packages/patches/onnx-optimizer-system-library.patch \
%D%/packages/patches/onnx-use-system-googletest.patch \
%D%/packages/patches/onnx-1.13.1-use-system-googletest.patch \
%D%/packages/patches/onnx-shared-libraries.patch \
%D%/packages/patches/onnx-skip-model-downloads.patch \
%D%/packages/patches/openbios-aarch64-riscv64-support.patch \
@ -1782,6 +1784,7 @@ dist_patch_DATA = \
%D%/packages/patches/python-random2-getrandbits-test.patch \
%D%/packages/patches/python-poppler-qt5-fix-build.patch \
%D%/packages/patches/python-pypdf-annotate-tests-appropriately.patch \
%D%/packages/patches/python-pytorch2-system-libraries.patch \
%D%/packages/patches/python-sip-include-dirs.patch \
%D%/packages/patches/python-sgmllib3k-assertions.patch \
%D%/packages/patches/python-sphinx-prompt-docutils-0.19.patch \
@ -2009,10 +2012,7 @@ dist_patch_DATA = \
%D%/packages/patches/shakespeare-spl-fix-grammar.patch \
%D%/packages/patches/shared-mime-info-xdgmime-path.patch \
%D%/packages/patches/sharutils-CVE-2018-1000097.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
%D%/packages/patches/slim-sigusr1.patch \
%D%/packages/patches/slim-reset.patch \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slim-display.patch \
%D%/packages/patches/stex-copy-from-immutable-store.patch \
@ -2069,6 +2069,7 @@ dist_patch_DATA = \
%D%/packages/patches/tofi-32bit-compat.patch \
%D%/packages/patches/tpetra-remove-duplicate-using.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transmission-4.0.5-fix-build.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 \
@ -2078,13 +2079,9 @@ dist_patch_DATA = \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-bcg729.patch \
%D%/packages/patches/u-boot-allow-disabling-openssl.patch \
%D%/packages/patches/u-boot-fix-build-python-3.10.patch \
%D%/packages/patches/u-boot-fix-u-boot-lib-build.patch \
%D%/packages/patches/u-boot-nintendo-nes-serial.patch \
%D%/packages/patches/u-boot-patman-change-id.patch \
%D%/packages/patches/u-boot-rockchip-inno-usb.patch \
%D%/packages/patches/u-boot-sifive-prevent-reloc-initrd-fdt.patch \
%D%/packages/patches/u-boot-rk3399-enable-emmc-phy.patch \
%D%/packages/patches/ucx-tcp-iface-ioctl.patch \
%D%/packages/patches/ultrastar-deluxe-no-freesans.patch \
%D%/packages/patches/ungoogled-chromium-extension-search-path.patch \
@ -2174,6 +2171,7 @@ dist_patch_DATA = \
%D%/packages/patches/xgboost-use-system-dmlc-core.patch \
%D%/packages/patches/xmonad-dynamic-linking.patch \
%D%/packages/patches/xnnpack-system-libraries.patch \
%D%/packages/patches/xnnpack-for-torch2-system-libraries.patch \
%D%/packages/patches/xplanet-1.3.1-cxx11-eof.patch \
%D%/packages/patches/xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch \
%D%/packages/patches/xplanet-1.3.1-libimage_gif.c.patch \

View File

@ -407,7 +407,7 @@ interface and is based on GNU Guile.")
(define-public swineherd
(package
(name "swineherd")
(version "0.0.3")
(version "0.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
@ -416,7 +416,7 @@ interface and is based on GNU Guile.")
(file-name (git-file-name name version))
(sha256
(base32
"0il1ikaj478n7xs4vqgawbshvmwq3nd0gp235mwqvmf4knra6j3g"))))
"0iij1pl0y410k1dk1ifa56dxmjb1blv0y3k5rxy794gwg6w6c480"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")

View File

@ -41,7 +41,6 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages documentation)
#:use-module (gnu packages ed)
#:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
#:use-module (gnu packages gcc)
@ -63,6 +62,7 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)

View File

@ -320,9 +320,9 @@ runtime.")
(toolchain (assoc-ref inputs "cross-toolchain"))
(includes (string-append
toolchain
"/arm-none-eabi/include:"
"/arm-none-eabi/include/c++:"
toolchain
"/arm-none-eabi/include/arm-none-eabi/armv7e-m")))
"/arm-none-eabi/include/c++/arm-none-eabi/armv7e-m")))
(display
(string-append "#!" (which "sh") "\n"
"export CROSS_CPATH=" includes "\n"
@ -333,8 +333,7 @@ runtime.")
" -Daxoloti_release=" runtime
" -Daxoloti_runtime=" runtime
" -jar " dir "/Axoloti.jar")))))
(chmod target #o555))
#t)))
(chmod target #o555)))))
(add-after 'install 'strip-jar-timestamps
(assoc-ref ant:%standard-phases 'strip-jar-timestamps)))))
(inputs

View File

@ -48,7 +48,6 @@
#:use-module (gnu packages attr)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages ed)
#:use-module (gnu packages gcc)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
@ -57,6 +56,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages hurd)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)

View File

@ -7611,13 +7611,13 @@ genomic intervals. In addition, it can use BAM or BigWig files as input.")
(define-public r-genomeinfodb
(package
(name "r-genomeinfodb")
(version "1.38.2")
(version "1.38.5")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomeInfoDb" version))
(sha256
(base32
"07xncxak8yjy04m7zh779jfjbsdmdbk8a5xs4rbajx4zp3hm4wb7"))))
"17w5zrvpk2x0sc55xfkbn9krphg4aszmvwmj1qfsf1bdrazfpwic"))))
(properties
`((upstream-name . "GenomeInfoDb")))
(build-system r-build-system)
@ -13085,14 +13085,14 @@ samples.")
(define-public r-biocneighbors
(package
(name "r-biocneighbors")
(version "1.20.0")
(version "1.20.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "BiocNeighbors" version))
(sha256
(base32
"0a5wg099fgwjbzd6r3mr4l02rcmjqlkdcz1w97qzwx1mir41fmas"))))
"0w7hd6w0lmj1jaaq9zd5gwnnpkzcr0byqm5q584wjg4xgvsb981j"))))
(properties `((upstream-name . "BiocNeighbors")))
(build-system r-build-system)
(propagated-inputs
@ -13242,14 +13242,14 @@ data.")
(define-public r-metapod
(package
(name "r-metapod")
(version "1.10.0")
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "metapod" version))
(sha256
(base32
"1nhxwj6gwc3hqji7icp1q6n0hj1gnvv1y5zhd2myhm7kj3sic2qc"))))
"05cy3xvj78n2p9l2pxfys7aczr51gm2ywprn4qmzr7ppb6rq5f66"))))
(properties `((upstream-name . "metapod")))
(build-system r-build-system)
(propagated-inputs
@ -13728,14 +13728,14 @@ multiplication and calculation of row/column sums or means.")
(define-public r-batchelor
(package
(name "r-batchelor")
(version "1.18.0")
(version "1.18.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "batchelor" version))
(sha256
(base32
"1d5zik3bhz26ky2kpxd9kdzs9ff696qqys5gl8qwmmp8qym520l2"))))
"1z4ddkdd3mzqg0c6l94qmrdwrm7427k5xiwzgkzx43gh1j4911d5"))))
(properties `((upstream-name . "batchelor")))
(build-system r-build-system)
(propagated-inputs
@ -15821,14 +15821,14 @@ type and symbol colors.")
(define-public r-genomicscores
(package
(name "r-genomicscores")
(version "2.14.2")
(version "2.14.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GenomicScores" version))
(sha256
(base32
"1wjq6lb2x7vazlr838hlh1ar5pis2bgzya9lm8ki30d1m0hpk66k"))))
"0rhyfbm5whz4jygar9cqcrfy92h1lyam5wd8d9svhh80f15v53m9"))))
(properties `((upstream-name . "GenomicScores")))
(build-system r-build-system)
(propagated-inputs
@ -21332,13 +21332,13 @@ variable and significantly correlated genes.")
(define-public r-sparsearray
(package
(name "r-sparsearray")
(version "1.2.2")
(version "1.2.3")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "SparseArray" version))
(sha256
(base32 "1kjs3v2ycpcc0plr88af1661ngmclmalkiy6am7i4m75cpa3889p"))))
(base32 "19cy1nmmi65fxh012ymgp1kg112yl1m0khcs4y034p5iwlfv7fp6"))))
(properties `((upstream-name . "SparseArray")))
(build-system r-build-system)
(propagated-inputs (list r-biocgenerics

View File

@ -161,6 +161,7 @@
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
#:use-module (gnu packages uglifyjs)
#:use-module (gnu packages video)
#:use-module (gnu packages vim)
#:use-module (gnu packages web)
#:use-module (gnu packages wget)
@ -4287,6 +4288,107 @@ annotations of the genome.")
other types of unwanted sequence from high-throughput sequencing reads.")
(license license:expat)))
(define-public lammps
(let ((commit "stable_2Aug2023_update2"))
(package
(name "lammps")
(version (string-append "0." commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lammps/lammps.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"11xagacgxgldkx34qdzyjrjvn8x3hpl0kgzhh9zh7skpq79pwycz"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no check target
#:make-flags
'(list "CC=mpicc" "mpi"
"LMP_INC=-DLAMMPS_GZIP \
-DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN=64"
"LIB=-gz -ljpeg -lpng -lavcodec")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "src")))
(replace 'configure
(lambda _
(substitute* "MAKE/Makefile.mpi"
(("SHELL =.*")
(string-append "SHELL=" (which "bash") "\n"))
(("cc ") "mpicc "))
(substitute* "Makefile"
(("SHELL =.*")
(string-append "SHELL=" (which "bash") "\n")))))
(add-after 'configure 'configure-modules
(lambda _
(invoke "make"
"yes-molecule"
"yes-misc"
"yes-granular"
(string-append "HDF5_PATH="
#$(this-package-input "hdf5")))))
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin")))
(mkdir-p bin)
(install-file "lmp_mpi" bin)))))))
(inputs
(list ffmpeg
gfortran
gzip
hdf5
libjpeg-turbo
libpng
openmpi
python-wrapper))
(native-inputs (list bc))
(home-page "https://www.lammps.org/")
(synopsis "Classical molecular dynamics simulator")
(description "LAMMPS is a classical molecular dynamics simulator
designed to run efficiently on parallel computers. LAMMPS has potentials for
solid-state materials (metals, semiconductors), soft matter (biomolecules,
polymers), and coarse-grained or mesoscopic systems. It can be used to model
atoms or, more generically, as a parallel particle simulator at the atomic,
meso, or continuum scale.")
(license license:gpl2+))))
(define-public lammps-serial
(package
(inherit lammps)
(name "lammps-serial")
(arguments
(substitute-keyword-arguments (package-arguments lammps)
((#:make-flags flags)
'(list "CC=gcc" "serial"
"LMP_INC=-DLAMMPS_GZIP \
-DLAMMPS_JPEG -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN=64"
"LIB=-gz -ljpeg -lpng -lavcodec"))
((#:phases phases)
#~(modify-phases #$phases
(replace 'configure
(lambda _
(substitute* "MAKE/Makefile.serial"
(("SHELL =.*")
(string-append "SHELL=" (which "bash") "\n"))
(("cc ") "gcc "))
(substitute* "Makefile"
(("SHELL =.*")
(string-append "SHELL=" (which "bash") "\n")))))
(replace 'install
(lambda _
(let ((bin (string-append #$output "/bin")))
(mkdir-p bin)
(install-file "lmp_serial" bin))))))))
(inputs
(modify-inputs (package-inputs lammps)
(delete "openmpi")))))
(define-public libbigwig
(package
(name "libbigwig")
@ -17894,12 +17996,40 @@ The tool enables the de novo search for new structural elements and
facilitates comparative analysis of known RNA families.")
(license license:bsd-3)))
(define-public r-databaselinke-r
(let ((commit "cf3d6cc3d36f2e1c9a557390232e9a8ed5abb7fd")
(revision "1"))
(package
(name "r-databaselinke-r")
(version (git-version "1.7.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/vertesy/DatabaseLinke.R")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0hk76sb3w1v8a7c1knpc572ypsbgqlrv0p49c9y55a0dr12n16s1"))))
(properties `((upstream-name . "DatabaseLinke.R")))
(build-system r-build-system)
(propagated-inputs (list r-readwriter))
(home-page "https://github.com/vertesy/DatabaseLinke.R")
(synopsis
"Parse links to databases from your list of gene symbols")
(description
"This package provides a set of functions to parse and open (search
query) links to genomics related and other websites for R. Useful when you
want to explore e.g.: the function of a set of differentially expressed
genes.")
(license license:gpl3))))
(define-public r-seurat-utils
(let ((commit "0b6f5b548a49148cfbeaa654e8a618c0a020afa5")
(let ((commit "c0374cc9e25ce391ba8013fda0f8c7babbb9201d")
(revision "1"))
(package
(name "r-seurat-utils")
(version (git-version "1.6.5" revision commit))
(version (git-version "2.5.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -17908,12 +18038,15 @@ facilitates comparative analysis of known RNA families.")
(file-name (git-file-name name version))
(sha256
(base32
"1mn64h375mkj6x4ix5493z32gqg96yc507j5jr0lx9g5wk1bf762"))))
"15l86b43q245gzz7gsr5rhs4sir74lc14d64yqxfqcb0zrb2bzzd"))))
(properties `((upstream-name . "Seurat.utils")))
(build-system r-build-system)
(propagated-inputs (list r-codeandroll2
r-cowplot
r-databaselinke-r
r-dplyr
r-enhancedvolcano
r-foreach
r-ggcorrplot
r-ggexpress
r-ggplot2
@ -17921,15 +18054,21 @@ facilitates comparative analysis of known RNA families.")
r-ggrepel
r-hgnchelper
r-htmlwidgets
r-job
r-magrittr
r-markdownhelpers
r-markdownreports
r-matrix
r-matrixstats
r-pheatmap
r-plotly
r-princurve
r-qs
r-r-utils
r-readr
r-readwriter
r-reshape2
r-rstudioapi
r-scales
r-seurat
r-soupx
@ -17938,6 +18077,7 @@ facilitates comparative analysis of known RNA families.")
r-stringr
r-tibble
r-tictoc
r-tidyverse
r-vroom))
(home-page "https://github.com/vertesy/Seurat.utils")
(synopsis "Collection of utility functions for Seurat")

View File

@ -87,15 +87,16 @@
(define-public transmission
(package
(name "transmission")
(version "4.0.4")
(version "4.0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/transmission/transmission"
"/releases/download/" version "/transmission-"
version ".tar.xz"))
(patches (search-patches "transmission-4.0.5-fix-build.patch"))
(sha256
(base32
"19nm7f4x3zq610da5fl63vpycj4kv07np6ldm8czpgyziwqv9xqm"))))
"0mv3ds3bbp1fbmdlrjinmzvk46acpafydirh7h2014j7988zys7x"))))
(build-system cmake-build-system)
(outputs '("out" ; library and command-line interface
"gui")) ; graphical user interface
@ -253,8 +254,8 @@ XML-RPC over SCGI.")
(license l:gpl2+)))
(define-public tremc
(let ((commit "6c15e3f5637c8f3641473328bd8c5b0cc122d930")
(revision "0"))
(let ((commit "d8deaa5ac25bb45a2ca3a930309d6ecc74836a54")
(revision "1"))
(package
(name "tremc")
(version (git-version "0.9.3" revision commit))
@ -267,7 +268,7 @@ XML-RPC over SCGI.")
(file-name (git-file-name name version))
(sha256
(base32
"1anlqzbwgmhrxlh20pfzf4iyw5l2w227h95rq6xf29ai7vddr82k"))))
"08kpqmgisja98918f2hlmdrld5662dqlkssp0pqlki38l6fvbj7r"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite

View File

@ -18,6 +18,7 @@
;;; Copyright © 2022, 2023 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
;;; Copyright © 2021 Stefan <stefan-guix@vodafonemail.de>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@ -692,34 +693,19 @@ tree binary files. These are board description files used by Linux and BSD.")
;; and https://patchwork.ozlabs.org/project/uboot/patch/20210406151059.1187379-1-icenowy@aosc.io
(search-patch "u-boot-rockchip-inno-usb.patch"))
(define %u-boot-sifive-prevent-relocating-initrd-fdt
;; Fix boot in 2021.07 on Hifive unmatched, see
;; https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246
(search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch"))
(define %u-boot-allow-disabling-openssl-patch
;; Fixes build of u-boot 2021.10 without openssl
;; https://lists.denx.de/pipermail/u-boot/2021-October/462728.html
(search-patch "u-boot-allow-disabling-openssl.patch"))
(define %u-boot-rk3399-enable-emmc-phy-patch
;; Fix emmc boot on rockpro64 and pinebook-pro, this was a regression
;; therefore should hopefully be fixed when updating u-boot.
;; https://lists.denx.de/pipermail/u-boot/2021-November/466329.html
(search-patch "u-boot-rk3399-enable-emmc-phy.patch"))
(define u-boot
(package
(name "u-boot")
(version "2023.07.02")
(version "2023.10")
(source (origin
(patches
(list %u-boot-rockchip-inno-usb-patch
%u-boot-allow-disabling-openssl-patch
%u-boot-sifive-prevent-relocating-initrd-fdt
%u-boot-rk3399-enable-emmc-phy-patch
(search-patch "u-boot-fix-build-python-3.10.patch")
(search-patch "u-boot-fix-u-boot-lib-build.patch")
(search-patch "u-boot-patman-change-id.patch")))
(method url-fetch)
(uri (string-append
@ -727,7 +713,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"1m91w3fpywllkwm000dqsw3294j0szs1lz6qbgwv1aql3ic4hskb"))))
"0039rravvjq9yi41645fynycw4c869px024xfc0n212f05pnq3p0"))))
(build-system gnu-build-system)
(native-inputs
(list bison
@ -778,6 +764,7 @@ also initializes the boards (RAM etc).")
(modify-inputs (package-native-inputs u-boot)
(append fontconfig
python-sphinx
python-sphinx-prompt
texinfo
which)))
(synopsis "U-Boot documentation")
@ -1201,6 +1188,21 @@ device while it's being turned on (and a while longer).")))
version, contrary to Novena upstream, does not load u-boot.img from the first
partition."))
(define-public u-boot-orangepi-r1-plus-lts-rk3328
(let ((base (make-u-boot-package "orangepi-r1-plus-lts-rk3328" "aarch64-linux-gnu")))
(package
(inherit base)
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
#~(modify-phases #$phases
(add-after 'unpack 'set-environment
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(setenv "BL31" (search-input-file inputs "bl31.elf"))))))))
(inputs
(modify-inputs (package-inputs base)
(append arm-trusted-firmware-rk3328))))))
(define-public u-boot-cubieboard
(make-u-boot-package "Cubieboard" "arm-linux-gnueabihf"))

View File

@ -21,6 +21,7 @@
(define-module (gnu packages browser-extensions)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@ -155,7 +156,7 @@ ungoogled-chromium.")
(define-public passff-host
(package
(name "passff-host")
(version "1.2.3")
(version "1.2.4")
(home-page "https://github.com/passff/passff-host")
(source (origin
(method git-fetch)
@ -163,7 +164,7 @@ ungoogled-chromium.")
(file-name (git-file-name name version))
(sha256
(base32
"1p18l1jh20x4v8dj64z9qjlp96fxsl5h069iynxfpbkzj6hd74yl"))))
"1lcwa1qzfxlifmj33qndp1wgi6yx6vj21ir0az79vhm5k03p961z"))))
(build-system copy-build-system)
(arguments
(let ((native-manifests "lib/icecat/native-messaging-hosts"))
@ -193,7 +194,7 @@ properly.")
(define passff
(package
(name "passff")
(version "1.15")
(version "1.16")
(home-page "https://github.com/passff/passff")
(source (origin
(method git-fetch)
@ -201,7 +202,7 @@ properly.")
(file-name (git-file-name name version))
(sha256
(base32
"1gymqyqppr8k9fqv5js7f6pk6hcc47qpf51x5cy6aahsk2v1qssj"))))
"0y3cbgy89lgvq6lfabp7mi1zhphdvihcccn3yw5mmaql9yrdm5kc"))))
(propagated-inputs (list passff-host))
(build-system copy-build-system)
(properties '((addon-id . "passff@invicem.pro")))
@ -251,3 +252,28 @@ with the @uref{https://keepassxc.org, KeePassXC} password manager.")
(define-public keepassxc-browser/icecat
(make-icecat-extension keepassxc-browser))
(define noscript
(package
(name "noscript")
(version "11.4.29")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
"https://noscript.net/download/releases/noscript-" version
".xpi"))
(sha256
(base32
"1k94zvv2ypmhc29f5d2zrvigwh1xgi5kwm1kqfxarwjyn108if85"))))
(build-system copy-build-system)
(properties '((addon-id . "{73a6fe31-595d-460b-a920-fcc0f8843232}")))
(arguments
`(#:install-plan '(("." ,(assq-ref properties 'addon-id)))))
(home-page "https://noscript.net")
(synopsis "Software providing extra protection for various browsers.")
(description "The NoScript Security Suite is a software providing extra
protection for web browsers.")
(license license:gpl3+)))
(define-public noscript/icecat
(make-icecat-extension noscript))

View File

@ -14,6 +14,7 @@
;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -233,10 +234,35 @@ files.")
`(#:tests? #f ; there is no check target
#:parallel-build? #f ;randomly fails to link
#:configure-flags ; Add $libdir to the RUNPATH of all the executables.
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
(list (string-append "LDFLAGS=-Wl,-rpath="
,(if (%current-target-system)
'(assoc-ref %outputs "out")
'%output)
"/lib"))
;; Building in parallel is flaky: “ld: […]/cachetest.c:393: undefined
;; reference to `paranoia_free'”.
#:parallel-build? #f))
#:parallel-build? #f
,@(if (and (or (target-riscv64?)
(target-aarch64?))
(%current-target-system))
'(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'update-config-scripts
(lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Replace outdated config.guess and config.sub.
(for-each (lambda (file)
(install-file
(search-input-file
(or native-inputs inputs)
(string-append "/bin/" file)) "."))
'("config.guess" "config.sub"))))))
'())))
(native-inputs
(if (and (or (target-riscv64?)
(target-aarch64?))
(%current-target-system))
(list config)
'()))
(home-page "https://www.xiph.org/paranoia/")
(synopsis "Audio CD reading utility")
(description "Cdparanoia retrieves audio tracks from CDDA capable CDROM

View File

@ -22,10 +22,10 @@
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (gnu packages ed)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages groff)
#:use-module (gnu packages text-editors)
#:use-module (guix build-system gnu))
(define-public cook

View File

@ -484,7 +484,7 @@ operating on batches.")
(define-public google-highway
(package
(name "google-highway")
(version "1.0.5")
(version "1.0.7")
(source
(origin
(method git-fetch)
@ -493,10 +493,11 @@ operating on batches.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "01ig4iqicm57nycl9q8mx1b22gvl4wj5j1vfp1jczhmrga4bca8v"))))
(base32 "0cx38hnislqyd4vd47mlpgjpr1zmpf1fms2bj6nb00fjv53q1sb7"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on")))
`(#:configure-flags (list "-DHWY_SYSTEM_GTEST=on"
"-DBUILD_SHARED_LIBS=ON")))
(native-inputs
(list googletest))
(home-page "https://github.com/google/highway")

File diff suppressed because it is too large Load Diff

View File

@ -971,7 +971,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
(uri (crate-uri "gl-generator" version))
(uri (crate-uri "gl_generator" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@ -997,7 +997,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
(uri (crate-uri "gl-generator" version))
(uri (crate-uri "gl_generator" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@ -1012,7 +1012,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
(uri (crate-uri "gl-generator" version))
(uri (crate-uri "gl_generator" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@ -1228,7 +1228,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
(uri (crate-uri "glutin-egl-sys" version))
(uri (crate-uri "glutin_egl_sys" version))
(file-name
(string-append name "-" version ".tar.gz"))
(sha256
@ -1252,7 +1252,7 @@ EUI-64, also known as MAC-48 media access control addresses.")
(source
(origin
(method url-fetch)
(uri (crate-uri "glutin-egl-sys" version))
(uri (crate-uri "glutin_egl_sys" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0g81bz7ppvaksvwcw1jg553g8b2shvmnfm9ms6hixwvinj20z438"))))

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,11 @@
;; The default is OpenSSL which provides better PBKDF performance.
"--with-crypto_backend=gcrypt"
;; GRUB 2.06 supports LUKS2, but does it reliably support all set-ups…?
"--with-default-luks-format=LUKS1")))
"--with-default-luks-format=LUKS1"
;; libgcrypt is not found otherwise when cross-compiling.
;; <https://issues.guix.gnu.org/63864>
(string-append "--with-libgcrypt-prefix="
(assoc-ref %build-inputs "libgcrypt")))))
(native-inputs
(list pkg-config))
(inputs

View File

@ -627,7 +627,7 @@ error reporting, better tracing, profiling, and a debugger.")
(define-public rr
(package
(name "rr")
(version "5.6.0")
(version "5.7.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -635,7 +635,7 @@ error reporting, better tracing, profiling, and a debugger.")
(commit version)))
(sha256
(base32
"0sdpsd7bcbmx9gmp7lv71znzxz708wm8qxq5apbyc6hh80z4fzqz"))
"0y50gynh3bb28vsxspn0g71b0m1mmqdgs63pbq08sv7vps35nllz"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments

View File

@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "252")
(version "253")
(source
(origin
(method git-fetch)
@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1hnsnqpr0v9siqja1wxm64wv0vjacg6j9ph9n4xsiaarpndj1b4r"))))
(base32 "1nvq0lv246rah0ryb2qd20yf3gfy0iwfi3335rg9c3gpz0ha4wnb"))))
(build-system python-build-system)
(arguments
(list

View File

@ -27,6 +27,7 @@
;;; Copyright © 2022 Disseminate Dissent <disseminatedissent@protonmail.com>
;;; Copyright © 2023 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2023 Morgan Smith <Morgan.J.Smith@outlook.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -843,18 +844,18 @@ systems. Output format is completely customizable.")
(base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'build 'build-extra
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "extra" make-flags)))
(add-after 'build 'install-extra
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "install-extra" make-flags))))))
(list #:tests? #f ; no check target
#:make-flags #~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'build 'build-extra
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "extra" make-flags)))
(add-after 'build 'install-extra
(lambda* (#:key make-flags #:allow-other-keys)
(apply invoke "make" "install-extra" make-flags))))))
(inputs
(list eudev parted))
(home-page "http://oss.digirati.com.br/f3/")

View File

@ -486,59 +486,46 @@ GTK+, lets you select a desktop session and log in to it.")
(define-public slim
(package
(name "slim")
(version "1.3.6")
(source (origin
(method url-fetch)
;; Used to be available from download.berlios.de.
(uri (string-append
"mirror://sourceforge/slim.berlios/slim-"
version ".tar.gz"))
(sha256
(base32 "1pqhk22jb4aja4hkrm7rjgbgzjyh7i4zswdgf5nw862l2znzxpi1"))
(patches (search-patches "slim-config.patch"
"slim-reset.patch"
"slim-login.patch"
"slim-session.patch"
"slim-sigusr1.patch"
"slim-display.patch"))))
(version "1.4.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/slim-fork/slim-" version
".tar.gz"))
(sha256
(base32 "011jfmksy0kgw4z0y70mc80bm5kmz5i1sgm6krrfj0h00zak22rm"))
(patches (search-patches "slim-config.patch"
"slim-login.patch"
"slim-display.patch"))))
(build-system cmake-build-system)
(inputs `(("linux-pam" ,linux-pam)
("libpng" ,libpng)
("libjpeg" ,libjpeg-turbo)
("freeglut" ,freeglut)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("freetype" ,freetype)
("fontconfig" ,fontconfig)
("libx11" ,libx11)
("libxft" ,libxft)
("libxmu" ,libxmu)
("xauth" ,xauth)))
(native-inputs
(list pkg-config))
(inputs (list fontconfig
freeglut
freetype
libjpeg-turbo
libpng
libx11
libxft
libxmu
libxrandr
libxrender
linux-pam
xauth))
(native-inputs (list pkg-config))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-new-etc-location
(lambda _
(substitute* "CMakeLists.txt"
(("/etc")
(string-append (assoc-ref %outputs "out") "/etc"))
(("install.*systemd.*")
;; The build system's logic here is: if "Linux", then
;; "systemd". Strip that.
""))
#t))
(add-before 'configure 'fix-0-pointer-comparison
(lambda _
(substitute* "panel.cpp"
(("WinGC < 0") "WinGC == NULL")))))
#:configure-flags '("-DUSE_PAM=yes"
"-DUSE_CONSOLEKIT=no")
#:tests? #f))
;; This used to be at <http://slim.berlios.de/>.
(home-page "https://github.com/iwamatsu/slim")
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'configure 'set-new-etc-location
(lambda _
(substitute* "CMakeLists.txt"
(("/etc")
(string-append #$output "/etc"))))))
#:configure-flags
#~(list "-DUSE_PAM=yes" "-DUSE_CONSOLEKIT=no")
#:tests? #f))
;; The original project (https://github.com/iwamatsu/slim) has not been
;; maintained since 2013, so we use slim-fork instead.
(home-page "https://slim-fork.sourceforge.io/")
(synopsis "Desktop-independent graphical login manager for X11")
(description
"SLiM is a Desktop-independent graphical login manager for X11, derived

View File

@ -1,58 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2019, 2022 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; 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 ed)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages compression))
(define-public ed
(package
(name "ed")
(version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.lz"))
(sha256
(base32
"0krb8rsb0cd8mgz0c5pqgnjbbrj7zjl7mf9099r8gi80k2nyza5c"))))
(build-system gnu-build-system)
(native-inputs (list lzip))
(arguments
`(#:configure-flags (list ,(string-append "CC=" (cc-for-target)))
#:phases
(modify-phases %standard-phases
(add-before 'patch-source-shebangs 'patch-test-suite
(lambda _
(substitute* "testsuite/check.sh"
(("/bin/sh") (which "sh"))))))))
(home-page "https://www.gnu.org/software/ed/")
(synopsis "Line-oriented text editor")
(description
"Ed is a line-oriented text editor: rather than offering an overview of
a document, ed performs editing one line at a time. It can be executed both
interactively and via shell scripts. Its method of command input allows
complex tasks to be performed in an automated way. GNU ed offers several
extensions over the standard utility.")
(license gpl3+)))

View File

@ -310,7 +310,7 @@ supported devices, as well as input/output file format support.")
(native-inputs
(list pkg-config
python
glad
glad-0.1
stb-image
utf8-h))
(inputs

View File

@ -10647,7 +10647,7 @@ sgml/html integration, and indentation (working with sgml).")
(define-public emacs-jinx
(package
(name "emacs-jinx")
(version "0.9")
(version "1.0")
(source
(origin
(method git-fetch)
@ -10657,8 +10657,7 @@ sgml/html integration, and indentation (working with sgml).")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0xayrqnsws2n2p0qbdl291fva4ljp3kqrr591xbq1wr6n95hfyn5"))))
(base32 "00rlp7iby02zd3sqigpyskph4a26r0dgp53y17hm4xjr6zqifhz5"))))
(build-system emacs-build-system)
(arguments
(list
@ -17616,7 +17615,7 @@ been adapted to also work with mu4e.")
(define-public emacs-tempel
(package
(name "emacs-tempel")
(version "0.8")
(version "1.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -17625,7 +17624,7 @@ been adapted to also work with mu4e.")
(file-name (git-file-name name version))
(sha256
(base32
"10dcf56x74jrbdzaa9kphyzq2rz5alv800dnnzpbnvwzh29lfyka"))))
"0f1z5p6vbbjsh7cn7hqhv4c6h4awczpf14sbwpzsnwqsxsfjdh34"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@ -17637,8 +17636,8 @@ the Emacs Tempo library. You may also write your templates in Lisp.")
(license license:gpl3+)))
(define-public emacs-tempel-collection
(let ((commit "cd9529b2a2fdfd49010117d2a1fc49adf9725051")
(revision "0"))
(let ((commit "4a1d717eb30a78680c8f4df2d71e395c846c5371")
(revision "1"))
(package
(name "emacs-tempel-collection")
(version (git-version "0.1" revision commit))
@ -17650,7 +17649,7 @@ the Emacs Tempo library. You may also write your templates in Lisp.")
(file-name (git-file-name name version))
(sha256
(base32
"02x6jq5k7fa46ni64qf8wrmkay6zfbmkildb727zs6wchmyg2znn"))))
"0ifmzn5d9mpsjwvg2ir0sy3r4czxa7d6j97l8rrp8ai7jqvydadm"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-tempel))
(home-page "https://github.com/Crandel/tempel-collection")
@ -27113,37 +27112,6 @@ to start sxiv from a Dired buffer, allowing you to mark or unmark image files
in said buffer using sxiv.")
(license license:unlicense)))
(define-public emacs-mu4e-conversation
(let ((commit "98110bb9c300fc9866dee8e0023355f9f79c9b96")
(revision "5"))
(package
(name "emacs-mu4e-conversation")
(version (git-version "0.0.1" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/Ambrevar/mu4e-conversation.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"080s96jkcw2p288sp1vgds91rgl693iz6hi2dv56p2ih0nnivwlg"))))
(build-system emacs-build-system)
(propagated-inputs
(list mu))
(home-page
"https://gitlab.com/Ambrevar/mu4e-conversation")
(synopsis
"Show a complete thread in a single buffer")
(description
"This package offers an alternate view to mu4e's e-mail display. It
shows all e-mails of a thread in a single view, where each correspondent has
their own face. Threads can be displayed linearly (in which case e-mails are
displayed in chronological order) or as an Org document where the node tree
maps the thread tree.")
(license license:gpl3+))))
;; Package has no releases or tags. Version is extracted from "Version:"
;; keyword in main file.
(define-public emacs-mu4e-dashboard

View File

@ -11,6 +11,7 @@
;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
;;; Copyright © 2021, 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2022 Brian Cully <bjc@spork.org>
;;; Copyright © 2023 Aaron Covrig <aaron.covrig.us@ieee.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -64,8 +65,10 @@
#:use-module (gnu packages docbook)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gawk)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-check)
@ -81,6 +84,7 @@
#:use-module (gnu packages nfs)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages openldap)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
@ -91,6 +95,7 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages rsync)
#:use-module (gnu packages sssd)
@ -2112,3 +2117,29 @@ filtering and ordering functionality.
@end itemize\n")
(license license:gpl3)))
(define-public sirikali
(package
(name "sirikali")
(version "1.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mhogomchungu/sirikali")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1l52s8rxkfcxcx3s2fnsh08wy6hhjjvp7gcggdi84aqc4dq3rdnm"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ;No tests
#:configure-flags '("-DQT5=true")))
(inputs (list xdg-utils libpwquality libgcrypt libsecret qtbase-5))
(native-inputs (list pkg-config))
(home-page "https://mhogomchungu.github.io/sirikali/")
(synopsis "Graphical program for managing encrypted file-systems")
(description "@dfn{SiriKali} is a Qt / C++ @acronym{GUI, graphical user
interface} application that manages ecryptfs, cryfs, encfs, gocryptfs, fscrypt
and securefs based encrypted folders.")
(license license:gpl2+)))

View File

@ -142,7 +142,7 @@
;; <https://bitcoincore.org/en/lifecycle/#schedule>.
(package
(name "bitcoin-core")
(version "25.1")
(version "26.0")
(source (origin
(method url-fetch)
(uri
@ -150,7 +150,7 @@
version "/bitcoin-" version ".tar.gz"))
(sha256
(base32
"1jcq2686x6f1g8xk91h3qfw89v1klw931wbpbcvc5a6zv2cabhmy"))))
"18f0rl7nzr64m54d6hmrphg7z39mmj2ix47kv78n5nr8dqkrj7db"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf

View File

@ -3159,7 +3159,7 @@ and readability. This package bundles those icons into a font.")
(define-public font-lxgw-wenkai
(package
(name "font-lxgw-wenkai")
(version "1.311")
(version "1.315")
(source (origin
(method url-fetch)
(uri (string-append
@ -3167,7 +3167,7 @@ and readability. This package bundles those icons into a font.")
version "/lxgw-wenkai-v" version ".tar.gz"))
(sha256
(base32
"0f5fnqcwp8kicrbkncn5j1w06cil771jfdcjf2w48vl62m4gmf27"))))
"0isb7rbg8yb6hv8xk1ngngkgzpyb3papkl19jczwrwm373m8bn3f"))))
(build-system font-build-system)
(home-page "https://lxgw.github.io/2021/01/28/Klee-Simpchin/")
(synopsis "Simplified Chinese Imitation Song typeface")

View File

@ -56,6 +56,7 @@
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
@ -2583,6 +2584,57 @@ added. The permanent goal is to create a Quake 3 distribution upon which
people base their games, ports to new platforms, and other projects.")
(license license:gpl2))))
(define-public inform
;; The latest release does not yet have a build system.
;; This commit is the earliest to have one.
(let ((commit "20cbfff96015938809d0e3da6cd0d83b76d27f14")
(revision "0"))
(package
(name "inform")
(version (git-version "6.41" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://jxself.org/git/inform.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "19z8pgrj1s2irany5s6xxwsm3bdnri1as46fdi16zdp4aah523jy"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake))
(synopsis "The Inform 6 compiler")
(description
"Inform 6 is a programming language designed for interactive fiction.
This version of the compiler has been modified slightly to work better when the
Inform standard library is in a non-standard location.")
(home-page "https://jxself.org/git/inform.git")
(license license:gpl3+))))
(define-public informlib
(package
(name "informlib")
(version "6.12.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://jxself.org/git/informlib.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0fcnw4jjzln402qk097n2s8y24vw1p3mmlmh6k1mbr2zfajjcn5r"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan
#~'(("." "lib"))))
(synopsis "Inform 6 standard library")
(description
"This package provides the standard library for Inform 6.")
(home-page "https://jxself.org/git/informlib.git")
(license license:agpl3+)))
(define-public instead
(package
(name "instead")

View File

@ -10939,6 +10939,80 @@ implemented using ncurses user interface. An SDL graphical version is also
available.")
(license license:gpl3+)))
(define-public devours
(let ((commit "d50e745aa14aa48f7555ae12eb3d1000de1cc150")
(revision "0"))
(package
(name "devours")
(version (git-version "3" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://jxself.org/git/devours.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1ksl6mh76jfx64rmasz2571f88ws45vby2977srhgkh355zp3lzn"))))
(build-system gnu-build-system)
(arguments
(list
#:tests? #f ; no tests
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure
(replace 'build
(lambda _
(invoke "inform"
(string-append "+include_path="
#$(this-package-native-input "informlib")
"/lib")
"devours.inf")))
(replace 'install
(lambda* (#:key inputs #:allow-other-keys)
;; Create standalone executable.
(let* ((bash (search-input-file inputs "/bin/bash"))
(share (string-append #$output "/share"))
(scummvm (search-input-file inputs "/bin/scummvm"))
(bin (string-append #$output "/bin"))
(executable (string-append bin "/devours")))
(mkdir-p share)
(copy-file "devours.z5" (string-append share "/devours.z5"))
(mkdir-p bin)
(with-output-to-file executable
(lambda ()
(format #t "#!~a~%" bash)
(format #t
"exec ~a --path=~a glk:zcode~%"
scummvm share)))
(chmod executable #o755))))
(add-after 'install-executable 'install-desktop-file
(lambda _
(let* ((apps (string-append #$output "/share/applications"))
(share (string-append #$output "")))
(mkdir-p apps)
(make-desktop-entry-file
(string-append apps "/devours.desktop")
#:name "All Things Devours"
#:generic-name "All Things Devours"
#:exec (string-append #$output "/bin/devours")
#:categories '("AdventureGame" "Game" "RolePlaying")
#:keywords '("game" "adventure" "sci-fi")
#:comment '((#f "Sci-fi text adventure game")))))))))
(inputs
(list bash scummvm))
(native-inputs
(list inform informlib))
(synopsis "All Things Devours")
(description
"All Things Devours is a short piece of sci-fi interactive fiction,
leaning strongly towards the text-adventure end of the spectrum.
Any move you make may put things into an unwinnable state. You are therefore
encouraged to save frequently, and also to realise that you will probably have
to start over several times to find the most satisfactory ending.")
(home-page "https://jxself.org/git/devours.git")
(license license:agpl3+))))
(define-public schiffbruch
;; There haven't been any releases for several years, so I've taken the most
;; recent commit from the master branch that didn't fail to build (the last

View File

@ -1182,6 +1182,21 @@ provides the GNU compiler for the Go programming language.")
(substitute-keyword-arguments (package-arguments gccgo)
((#:phases phases)
#~(modify-phases #$phases
#$@(if (version>=? (package-version gccgo) "12.0")
#~((add-after 'unpack 'adjust-libgo-dependencies
(lambda _
(substitute* "Makefile.in"
;; libgo.la depends on libbacktrace.la but the
;; current dependency rules don't have libbacktrace
;; building early enough for libgo. When built
;; with more than 1 core this issue doesn't appear.
;; see commit 5fee5ec362f7a243f459e6378fd49dfc89dc9fb5.
(("all-target-libgo: maybe-all-target-libffi")
(string-append
"all-target-libgo: maybe-all-target-libbacktrace\n"
"all-target-libgo: maybe-all-target-libffi\n"
"all-target-libgo: maybe-all-target-libatomic"))))))
#~())
(add-after 'install 'wrap-go-with-tool-path
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View File

@ -1939,7 +1939,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
(version "18822")
(version "18907")
(source (origin
(method svn-fetch)
(uri (svn-reference
@ -1948,7 +1948,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
"0b4q6n3jbqrh7dsfmcf2g0xdd1wjj62sjq8lwvggvrpqlk1fyn1b"))
"0vkczijw537f4y1b7hfxa45k3ww6nf2cf485b19dnbgh9ab6mnjl"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
@ -1962,6 +1962,7 @@ to the OSM opening hours specification.")
(list java-commons-jcs
java-commons-compress
java-jmapviewer
java-jakarta-annotations-api
java-jakarta-json
java-jsr305
java-metadata-extractor
@ -2328,7 +2329,7 @@ associated attribute file (@file{.dbf}).")
(define-public spatialite-tools
(package
(name "spatialite-tools")
(version "5.1.0")
(version "5.1.0a")
(source
(origin
(method url-fetch)
@ -2336,7 +2337,7 @@ associated attribute file (@file{.dbf}).")
"spatialite-tools-sources/"
"spatialite-tools-" version ".tar.gz"))
(sha256
(base32 "1dc3hnqa9ns0ycsac6wyl96pi052y7rrf233lq7sk708ghv30c6z"))))
(base32 "1kh1amab452m3801knmpn1jcg27axakb90gd8fxwv240irsk97hi"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))

View File

@ -18,6 +18,7 @@
;;; Copyright © 2021, 2022, 2023 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Kaelyn Takata <kaelyn.alexi@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -189,7 +190,7 @@ rendering modes are: Bitmaps, Anti-aliased pixmaps, Texture maps, Outlines,
Polygon meshes, and Extruded polygon meshes.")
(license license:x11)))
(define-public glad
(define-public glad-0.1
(package
(name "glad")
(version "0.1.36")
@ -208,19 +209,45 @@ Polygon meshes, and Extruded polygon meshes.")
"0m55ya1zrmg6n2cljkajy80ilmi5sblln8742fm0k1sw9k7hzn8n"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'install 'install-cmakelists.txt
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/" ,name)))
(install-file "CMakeLists.txt" share)))))))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'install 'install-cmakelists.txt
(lambda _
(let ((share (string-append #$output "/share/"
#$(package-name this-package))))
(install-file "CMakeLists.txt" share)))))))
(home-page "https://github.com/Dav1dde/glad")
(synopsis "Multi-language GL/GLES/EGL/GLX/WGL loader generator")
(description "Glad uses the official Khronos XML specifications to
generate a GL/GLES/EGL/GLX/WGL loader tailored for specific requirements.")
(license license:expat)))
(define-public glad
(package
(inherit glad-0.1)
(name "glad")
(version "2.0.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Dav1dde/glad")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1pam6imhcmcyqrqi6wzzxprb23y8x6zdbvsjavnz26k72i9dbbja"))))
(build-system python-build-system)
(arguments
(substitute-keyword-arguments (package-arguments glad-0.1)
((#:phases phases '%standard-phases)
#~(modify-phases #$phases
(replace 'install-cmakelists.txt
(lambda _
(let ((share (string-append #$output "/share/"
#$(package-name this-package))))
(install-file "cmake/CMakeLists.txt" share))))))))
(propagated-inputs (list python-jinja2))))
(define-public s2tc
(package
(name "s2tc")
@ -888,7 +915,7 @@ OpenGL.")
(define-public glfw
(package
(name "glfw")
(version "3.3.4")
(version "3.3.9")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/glfw/glfw"
@ -896,7 +923,7 @@ OpenGL.")
"/glfw-" version ".zip"))
(sha256
(base32
"1kcrpl4d6b6h23ib5j9q670d9w3knd07whgbanbmwwhbcqnc9lmv"))))
"023dn97n4h14n5lbjpzjv0y6a2plj254c0w3rr3wraf3z08189jm"))))
(build-system cmake-build-system)
(arguments
(list

View File

@ -7557,7 +7557,7 @@ metadata in photo and video files of various formats.")
libwebp
libxml2
sqlite
webkitgtk))
webkitgtk-for-gtk3))
(home-page "https://wiki.gnome.org/Apps/Shotwell")
(synopsis "Photo manager for GNOME 3")
(description
@ -11872,19 +11872,18 @@ functionality.")
"1s4lqy883s296mbh4fywd1l3z79811ia00xs57c316pb1an97mmd"))))
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
#:configure-flags
;; Ensure the RUNPATH contains all installed library locations.
(list (string-append "-Dc_link_args=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib/gthumb/extensions")
(string-append "-Dcpp_link_args=-Wl,-rpath="
(assoc-ref %outputs "out")
"/lib/gthumb/extensions"))))
(list
#:glib-or-gtk? #t
#:configure-flags
;; Ensure the RUNPATH contains all installed library locations.
#~(list (string-append "-Dc_link_args=-Wl,-rpath=" #$output
"/lib/gthumb/extensions")
(string-append "-Dcpp_link_args=-Wl,-rpath=" #$output
"/lib/gthumb/extensions"))))
(native-inputs
(list desktop-file-utils ; for update-desktop-database
`(,glib "bin") ; for glib-compile-resources
`(,gtk+ "bin") ; for gtk-update-icon-cache
(list desktop-file-utils ; for update-desktop-database
`(,glib "bin") ; for glib-compile-resources
`(,gtk+ "bin") ; for gtk-update-icon-cache
intltool
itstool
pkg-config

View File

@ -262,7 +262,7 @@ supports HTTP, HTTPS and GnuTLS.")
(define-public gnunet
(package
(name "gnunet")
(version "0.19.4")
(version "0.20.0")
(source
(origin
(method url-fetch)
@ -270,14 +270,7 @@ supports HTTP, HTTPS and GnuTLS.")
".tar.gz"))
(sha256
(base32
"16q0mkkr9b33wlm307ignfgvv0kilzr42155m5dpz66m13s3v9h0"))
(modules '((guix build utils)))
(snippet
#~(begin
;; This is fixed in the upstream repository but the fix
;; has not been released.
(substitute* "src/gns/test_proxy.sh"
(("test_gnunet_proxy.conf") "test_gns_proxy.conf"))))))
"064mmhksznbsymanikwqkgmdhk2f0zjll2aq2cmxa14wm5w9w0jn"))))
(build-system gnu-build-system)
(inputs
(list bluez
@ -450,14 +443,14 @@ The following services are supported:
(define-public gnunet-gtk
(package (inherit gnunet)
(name "gnunet-gtk")
(version "0.19.0")
(version "0.20.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnunet/gnunet-gtk-"
version ".tar.gz"))
(sha256
(base32
"0z2731l69vnfsa0cdsw8wh8g1d08wz15y5n0a58qjpf7baric01k"))))
"0bandj2f24v4wfq1v5j73zn5jp25dn8r7y0wd7znlkmbh86fb4g9"))))
(arguments
(list #:configure-flags
#~(list "--with-libunique"

View File

@ -70,7 +70,6 @@
#:use-module (gnu packages swig)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages tor)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
@ -1123,7 +1122,7 @@ files, to verify signatures, and to manage the private and public keys.")
perl-try-tiny
perl-type-tiny
perl-types-path-tiny
torsocks))
(@ (gnu packages tor) torsocks))) ;avoid dependency loop
(native-inputs
(list perl-file-which
perl-gnupg-interface

View File

@ -547,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.5.0")
(define %icecat-base-version "115.6.0")
(define %icecat-version (string-append %icecat-base-version "-guix0-preview1"))
(define %icecat-build-id "20231121000000") ;must be of the form YYYYMMDDhhmmss
(define %icecat-build-id "20231219000000") ;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'
@ -569,12 +569,12 @@ variable defined below. It requires guile-json to be installed."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
"0a578r4kri7jdw8pkkzp7f1mm9idlk7sjxjghcb08k5p14172gyv"))))
"0rmw486yhkb1is1j2fy51djl5p5qggf2fhp2hgzfdj4s2bjydmv6"))))
;; The upstream-icecat-base-version may be older than the
;; %icecat-base-version.
(upstream-icecat-base-version "115.5.0")
(gnuzilla-commit "bd66797f3bb057c9d051d4276d63843b4d7ee854")
(upstream-icecat-base-version "115.6.0")
(gnuzilla-commit "6a76a10682b6e63f562e4b9f26f3ef12f88bd839")
(gnuzilla-source
(origin
(method git-fetch)
@ -586,7 +586,7 @@ variable defined below. It requires guile-json to be installed."
(string-take gnuzilla-commit 8)))
(sha256
(base32
"0v3ckm8yv566f2y9a2bfzakbsk529f1ykr7dj69kb9k93dgny3ja"))))
"15bvlz7c4d8mk10zc317rai91hd96wnchikcfdfxzl35zdnd315r"))))
;; '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

@ -414,6 +414,18 @@ Features include:
@end itemize")
(license license:expat)))
(define-public go-github-com-stretchr-testify-bootstrap
(hidden-package
(package
(inherit go-github-com-stretchr-testify)
(arguments
'(#:import-path "github.com/stretchr/testify"
#:tests? #f
#:phases (modify-phases %standard-phases
(delete 'build))))
(propagated-inputs
(list go-gopkg-in-yaml-v3)))))
(define-public go-github-com-tdewolff-test
(package
(name "go-github-com-tdewolff-test")

View File

@ -971,6 +971,140 @@ in the style of communicating sequential processes (@dfn{CSP}).")
;; https://go.dev/issue/44505
(alist-replace "go" (list go-1.17) (package-native-inputs go-1.17)))))
(define-public go-1.21
(package
(inherit go-1.20)
(name "go")
(version "1.21.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/golang/go")
(commit (string-append "go" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0f11kya6rpqfldpw82g0yiknz657i655d3c0yh3qy6f8xa8x7zn2"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.20)
;; Source patching phases are broken up into discrete steps to allow
;; future versions to discard individual phases without having to
;; discard all source patching.
((#:phases phases)
#~(modify-phases #$phases
(delete 'skip-TestGoPathShlibGccgo-tests)
(delete 'patch-source)
(add-after 'unpack 'patch-os-tests
(lambda _
(substitute* "src/os/os_test.go"
(("/usr/bin") (getcwd))
(("/bin/sh") (which "sh")))))
(add-after 'unpack 'apply-patches
(lambda* (#:key inputs #:allow-other-keys)
;; Having the patch in the 'patches' field of <origin> breaks
;; the 'TestServeContent' test due to the fact that timestamps
;; are reset. Thus, apply it from here.
(invoke "patch" "-p1" "--force" "-i"
(assoc-ref inputs "go-fix-script-tests.patch"))))
(add-after 'unpack 'patch-src/net
(lambda* (#:key inputs #:allow-other-keys)
(let ((net-base (assoc-ref inputs "net-base")))
(substitute* "src/net/lookup_unix.go"
(("/etc/protocols")
(string-append net-base "/etc/protocols")))
(substitute* "src/net/port_unix.go"
(("/etc/services")
(string-append net-base "/etc/services"))))))
(add-after 'unpack 'patch-zoneinfo
(lambda* (#:key inputs #:allow-other-keys)
;; Add the path to this specific version of tzdata's zoneinfo
;; file to the top of the list to search. We don't want to
;; replace any sources because it will affect how binaries
;; compiled with this Go toolchain behave on non-guix
;; platforms.
(substitute* "src/time/zoneinfo_unix.go"
(("var platformZoneSources.+" all)
(format #f "~a~%\"~a/share/zoneinfo\",~%"
all
(assoc-ref inputs "tzdata"))))))
(add-after 'unpack 'patch-cmd/go/testdata/script
(lambda _
(substitute* "src/cmd/go/testdata/script/cgo_path_space.txt"
(("/bin/sh") (which "sh")))))
(add-after 'enable-external-linking 'enable-external-linking-1.21
(lambda _
;; Invoke GCC to link any archives created with GCC (that is,
;; any packages built using 'cgo'), because Go doesn't know
;; how to handle the runpaths but GCC does. Use substitute*
;; rather than a patch since these files are liable to change
;; often.
;;
;; XXX: Replace with GO_EXTLINK_ENABLED=1 or similar when
;; <https://github.com/golang/go/issues/31544> and/or
;; <https://github.com/golang/go/issues/43525> are resolved.
(substitute* "src/cmd/link/internal/ld/config.go"
(("\\(iscgo && \\(.+\\)") "iscgo"))
(substitute* "src/internal/testenv/testenv.go"
(("!CanInternalLink.+") "true {\n"))
(substitute* "src/syscall/exec_linux_test.go"
(("testenv.MustHaveExecPath\\(t, \"whoami\"\\)")
"t.Skipf(\"no passwd file present\")"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
;; Notably, we do not install archives (180M), which Go will
;; happily recompile quickly (and cache) if needed, almost
;; surely faster than they could be substituted.
;;
;; The main motivation for pre-compiled archives is to use
;; libc-linked `net' or `os' packages without a C compiler,
;; but on Guix a C compiler is necessary to properly link the
;; final binaries anyway. Many build flags also invalidate
;; these pre-compiled archives, so in practice Go often
;; recompiles them anyway.
;;
;; Upstream is also planning to no longer install these
;; archives: <https://github.com/golang/go/issues/47257>.
;;
;; When necessary, a custom pre-compiled library package can
;; be created with `#:import-path "std"' and used with
;; `-pkgdir'.
;;
;; When moving files into place, any files that come from
;; GOROOT should remain in GOROOT to continue functioning. If
;; they need to be referenced from some other directory, they
;; need to be symlinked from GOROOT. For more information,
;; please see <https://github.com/golang/go/issues/61921>.
(let* ((out (assoc-ref outputs "out"))
(tests (assoc-ref outputs "tests")))
(for-each
(lambda (file)
(copy-recursively file (string-append out "/lib/go/" file)))
'("bin" "go.env" "lib" "VERSION" "pkg/include" "pkg/tool"))
(symlink "lib/go/bin" (string-append out "/bin"))
(for-each
(match-lambda
((file dest output)
;; Copy to output/dest and symlink from
;; output/lib/go/file.
(let ((file* (string-append output "/lib/go/" file))
(dest* (string-append output "/" dest)))
(copy-recursively file dest*)
(mkdir-p (dirname file*))
(symlink (string-append "../../" dest) file*))))
`(("src" "share/go/src" ,out)
("misc" "share/go/misc" ,out)
("doc" "share/doc/go/doc" ,out)
("api" "share/go/api" ,tests)
("test" "share/go/test" ,tests))))))))))))
(define-public go go-1.17)
(define make-go-std
@ -1013,6 +1147,7 @@ in the style of communicating sequential processes (@dfn{CSP}).")
(define-public go-std-1.18 (make-go-std go-1.18))
(define-public go-std-1.19 (make-go-std go-1.19))
(define-public go-std-1.20 (make-go-std go-1.20))
(define-public go-std-1.21 (make-go-std go-1.21))
(define-public go-0xacab-org-leap-shapeshifter
(let ((commit "0aa6226582efb8e563540ec1d3c5cfcd19200474")
@ -4466,17 +4601,6 @@ Go.")
slices, JSON and other data.")
(license license:expat)))
(define go-github-com-stretchr-testify-bootstrap
(package
(inherit go-github-com-stretchr-testify)
(arguments
'(#:import-path "github.com/stretchr/testify"
#:tests? #f
#:phases (modify-phases %standard-phases
(delete 'build))))
(propagated-inputs
(list go-gopkg-in-yaml-v3))))
(define-public go-github-com-technoweenie-multipartstreamer
(package
(name "go-github-com-technoweenie-multipartstreamer")

View File

@ -2267,7 +2267,7 @@ users and in some situations.")
(define-public guile-udev
(package
(name "guile-udev")
(version "0.2.4")
(version "0.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2276,7 +2276,7 @@ users and in some situations.")
(file-name (git-file-name name version))
(sha256
(base32
"1q1snj8gz2bvqw2v2jvwlzn5xfh7f7wlp922isnzismrp4adc918"))))
"0zvn7ph6sbz5q8jnbkrxxlbxlyf0j8q34hr4a2yxklvg29ya7sd3"))))
(build-system gnu-build-system)
(arguments
(list
@ -2289,7 +2289,10 @@ users and in some situations.")
(substitute* (find-files "." "\\.scm")
(("load-extension \"libguile-udev\"")
(format #f "load-extension \"~a/lib/libguile-udev.so\""
#$output))))))))
#$output)))))
(delete 'check) ;moved after install
(add-after 'install 'check
(assoc-ref %standard-phases 'check)))))
(native-inputs (list autoconf
automake
gettext-minimal

View File

@ -21,9 +21,12 @@
(define-module (gnu packages i2p)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls)
#:use-module (gnu packages upnp)
#:use-module (guix gexp)
#:use-module (guix packages)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
@ -32,7 +35,7 @@
(define-public i2pd
(package
(name "i2pd")
(version "2.44.0")
(version "2.50.0")
(source
(origin
(method git-fetch)
@ -41,41 +44,18 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0fwaalfxqdahgvx5rfkvdmf6gl10w328a18ddhyn5kvpmp9x7fgl"))))
(base32 "1vr251mgffawi3rj51dzlnv3fs1ssz6gl17qbsyhfr5fcd7s0hc5"))))
(build-system cmake-build-system)
(native-inputs (list check pkg-config))
(inputs
(list boost miniupnpc openssl zlib))
(arguments
'(#:configure-flags
(let ((source (assoc-ref %build-inputs "source")))
(list (string-append "-S" source "/build")
"-DWITH_PCH=OFF"
"-DWITH_STATIC=OFF"
"-DWITH_UPNP=ON"
"-DWITH_LIBRARY=ON"
"-DBUILD_SHARED_LIBS=ON"
"-DWITH_BINARY=ON"))
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key
tests?
(make-flags '())
(parallel-tests? #t)
#:allow-other-keys)
(let ((source (assoc-ref %build-inputs "source")))
(when tests?
(copy-recursively (string-append source "/tests")
"./tests")
(with-directory-excursion "tests"
(substitute* "Makefile"
(("../libi2pd") (string-append source "/libi2pd")))
(apply invoke "make" "all"
`(,@(if parallel-tests?
`("-j" ,(number->string
(parallel-job-count)))
'())
,@make-flags))))))))))
(list
#:configure-flags
#~(list (string-append "-S" #$source "/build")
"-DWITH_UPNP=ON"
"-DBUILD_SHARED_LIBS=ON"
"-DBUILD_TESTING=ON")))
(home-page "https://i2pd.website/")
(synopsis "Router for an end-to-end encrypted and anonymous internet")
(description "i2pd is a client for the anonymous I2P network, upon which

View File

@ -617,7 +617,7 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
(define-public jpegoptim
(package
(name "jpegoptim")
(version "1.4.7")
(version "1.5.5")
(source
(origin
(method git-fetch)
@ -626,35 +626,17 @@ official designation is ISO/IEC 29199-2). This library is an implementation of t
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "06f6d08xvmsiki4mc1qs985gsjqmsxx793a93b72y25q84wbg9x9"))))
(base32 "18zq7ada7n17vgkkcixpisxsbs7i8xp5qjp78hyyvmmb9dqy97fy"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
,@(if (and (target-riscv64?)
(%current-target-system))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'update-config-scripts
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(for-each (lambda (file)
(install-file
(search-input-file
(or native-inputs inputs)
(string-append "/bin/" file)) "./tools"))
'("config.guess" "config.sub"))))))
'())))
(list #:tests? #f))
(inputs (list libjpeg-turbo))
(native-inputs
(if (and (target-riscv64?)
(%current-target-system))
(list config)
'()))
(synopsis "Optimize JPEG images")
(description
"jpegoptim provides lossless optimization (based on optimizing
the Huffman tables) and \"lossy\" optimization based on setting
maximum quality factor.")
(license license:gpl2+)
(license license:gpl3+)
(home-page "https://www.kokkonen.net/tjko/projects.html#jpegoptim")))
(define-public libicns
@ -1501,6 +1483,26 @@ channels.")
(base32
"1lvxnpds0vcf0lil6ia2036ghqlbl740c4d2sz0q5g6l93fjyija"))))
(build-system gnu-build-system)
(arguments
(if (and (target-riscv64?)
(%current-target-system))
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'update-config-scripts
(lambda* (#:key inputs native-inputs #:allow-other-keys)
;; Replace outdated config.guess and config.sub.
(for-each (lambda (file)
(install-file
(search-input-file
(or native-inputs inputs)
(string-append "/bin/" file)) "."))
'("config.guess" "config.sub"))))))
'()))
(native-inputs
(if (and (target-riscv64?)
(%current-target-system))
(list config)
'()))
(propagated-inputs
;; These are all in the 'Libs.private' field of libmng.pc.
(list lcms libjpeg-turbo zlib))

View File

@ -13719,6 +13719,34 @@ Processing specification.")
;; with classpath exception
(license license:epl2.0)))
(define-public java-jakarta-annotations-api
(package
(name "java-jakarta-annotations-api")
(version "2.1.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jakartaee/common-annotations-api")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0xq2n2pijal5p75vl9dz10i6hhdmaxw5q8j3aza717xkpxxby9p6"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jakarta-annotations-api.jar"
#:source-dir "api/src/main/java"
#:tests? #f; no tests
#:jdk ,openjdk11))
(home-page "https://github.com/jakartaee/common-annotations-api")
(synopsis "Collection of Java annotations")
(description "Jakarta Annotations defines a collection of annotations
representing common semantic concepts that enable a declarative style of
programming that applies across a variety of Java technologies.")
;; with classpath exception
(license (list license:epl2.0
license:gpl2))))
(define-public java-xmp
(package
(name "java-xmp")

View File

@ -494,7 +494,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-6.6-version "6.6.7")
(define-public linux-libre-6.6-version "6.6.8")
(define-public linux-libre-6.6-gnu-revision "gnu")
(define deblob-scripts-6.6
(linux-libre-deblob-scripts
@ -504,7 +504,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hg3ck1j8288fhlhcvhgs1zzwh3i62nfvphw7x3vsaqr75kiwbjp")))
(define-public linux-libre-6.6-pristine-source
(let ((version linux-libre-6.6-version)
(hash (base32 "0hfqdyxl4nqmm4pspfm1ang8616dbsaj0d968c0186ch0738xrhc")))
(hash (base32 "05i4ayj9wyjkd1s8ixx7bxwcyagqyx8rhj1zvbc3cjqyw4sc8djh")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.6)))
@ -512,7 +512,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-6.1-version "6.1.68")
(define-public linux-libre-6.1-version "6.1.69")
(define-public linux-libre-6.1-gnu-revision "gnu")
(define deblob-scripts-6.1
(linux-libre-deblob-scripts
@ -522,12 +522,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1hdibv43xbn1lv83i6qjgfmf1bvqxvq17fryfsq4r4sjgs9212js")))
(define-public linux-libre-6.1-pristine-source
(let ((version linux-libre-6.1-version)
(hash (base32 "1qc4cwqlfni9i6mzh6arghdsd842hp9lb7s832dxw1p261mg4prn")))
(hash (base32 "0hdm28k49kmy9r96hckps0bvvaq9m06l72n8ih305rccs6a2cgby")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-6.1)))
(define-public linux-libre-5.15-version "5.15.143")
(define-public linux-libre-5.15-version "5.15.145")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -537,12 +537,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1idjrn2w8jrixj8ifkk1awxyyq5042nc4p2mld4rda96azlnp948")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "00lyv7zsj97mkg9i7dkb1a6km22mnr0qr687d9zz4ckjq1pb2sq9")))
(hash (base32 "086nssif66s86wkixz4yb7xilz1k49g32l0ib28r8fjzc23rv95j")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.204")
(define-public linux-libre-5.10-version "5.10.205")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -552,12 +552,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0xrrnmb5kcc5r21bdm24aq0fnkk1imn367c1cxlj78b6l6gigx4b")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "1vnamiyr378q52xgkg7kvpx80zck729dim77vp06a3q6n580g5gz")))
(hash (base32 "0qw8g0h4k0b4dyvspbj51cwr68ihwjzsi2b2261ipy3l1nl1fln5")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.264")
(define-public linux-libre-5.4-version "5.4.265")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -567,12 +567,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0sw67b2pk3lng4y67diqqnhxaggnp3nbkx8dxc5fs27rinfxr4m1")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "1c5n47dq9khb15hz24a000k3hj913vv1dda6famnm8wpjbfr176k")))
(hash (base32 "05cvvwjiznn7hfd02qklklalg0chahvh5v18w64lcva6kzj9kbjd")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.302")
(define-public linux-libre-4.19-version "4.19.303")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -582,12 +582,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1425mhkfxn18vxn05bb4h3li7x1jl7l1hf1zi8xhnqv3wa31h9wl")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1kkkpm34p5rq0iijzrzwaq0cb62w543argargw5p1wzg8803rlsk")))
(hash (base32 "0dlbl47xs7z4yf9cxbxqzd7zs1f9070jr6ck231wgppa6lwwwb82")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.333")
(define-public linux-libre-4.14-version "4.14.334")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -597,7 +597,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1faagsj4i31z2bp83hflx3q9vrddjnn37a3ah2b47iaplva7z1nd")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "0j5nrankrhi56qzmyjg1pznqx1zgk5f7cfa154smjbn3zlm7lcv6")))
(hash (base32 "0iaaqdkszmfarvjfszc9rf7y9zsv3w82934xmvmzmsbiz86547ca")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
@ -9474,6 +9474,19 @@ providing convenience for writing the daemon's modules as well as external
tools for managing PipeWire.")
(license license:expat)))
(define-public wireplumber-minimal
(let ((base wireplumber))
(package
(inherit base)
(name "wireplumber-minimal")
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:configure-flags flags ''())
#~(cons "-Delogind=disabled" #$flags))))
(inputs
(modify-inputs (package-inputs base)
(delete "elogind"))))))
(define-public ell
(package
(name "ell")

View File

@ -3284,8 +3284,8 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
(sbcl-package->ecl-package sbcl-colorize))
(define-public sbcl-3bmd
(let ((commit "4e08d82d7c8fb1b8fc708c87f4d9d13a1ab490cb")
(revision "3"))
(let ((commit "e68b2d442f29b4534c1c8e2f2cdf7583643a2fc5")
(revision "4"))
(package
(name "sbcl-3bmd")
(version (git-version "0.0.0" revision commit))
@ -3296,7 +3296,7 @@ C, C++, Java, Python, Erlang, Haskell, Objective-C, Diff, Webkit.")
(url "https://github.com/3b/3bmd")
(commit commit)))
(sha256
(base32 "1j885ykg2yds0l7dmw21lrhs7pd66lf541pf9lb677nkhc2f62jz"))
(base32 "12xqih1gnwsn1baqm7bq3kxss73phn06gvd0v1h1vwsjd1xgpq3g"))
(file-name (git-file-name "cl-3bmd" version))))
(build-system asdf-build-system/sbcl)
(arguments
@ -3666,11 +3666,11 @@ processes that doesn't run under Emacs. Lisp processes created by
(sbcl-package->ecl-package sbcl-slime-swank))
(define-public sbcl-mgl-pax
(let ((commit "ed82a80207b70801fab061f6592cf7d7355294a6")
(revision "0"))
(let ((commit "6782eb041c152721972420dfafa192692d16b7ce")
(revision "1"))
(package
(name "sbcl-mgl-pax")
(version (git-version "0.1.0" revision commit))
(version (git-version "0.3.0" revision commit))
(source
(origin
(method git-fetch)
@ -3678,7 +3678,7 @@ processes that doesn't run under Emacs. Lisp processes created by
(url "https://github.com/melisgl/mgl-pax")
(commit commit)))
(sha256
(base32 "008wfa70q68cj6npi4107mfjhjzfjmvrhm1x51jpndsn2165c5bx"))
(base32 "0fjbzc2fn17m80lfsc8121sa0bk7fg42fqlwhm01sk1fj4s48pma"))
(file-name (git-file-name "cl-mgl-pax" version))))
(build-system asdf-build-system/sbcl)
;; (native-inputs
@ -3690,7 +3690,8 @@ processes that doesn't run under Emacs. Lisp processes created by
sbcl-md5
sbcl-named-readtables
sbcl-pythonic-string-reader
sbcl-slime-swank))
sbcl-slime-swank
sbcl-trivial-utf-8))
(arguments
`(#:asd-systems '("mgl-pax"
"mgl-pax/navigate"
@ -18752,19 +18753,20 @@ attributes not supported by the Common Lisp standard functions.")
(sbcl-package->cl-source-package sbcl-file-attributes))
(define-public sbcl-filesystem-utils
(let ((commit "4455bb6c43f4433dd68a34ddad9ed5aa9b649243"))
(let ((commit "a07e8b61b89d4b46408fb9294d9b8130e8c8a02e")
(revision "2"))
(package
(name "sbcl-filesystem-utils")
(version (git-version "1.0.0" "1" commit))
(version (git-version "1.0.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Shinmera/filesystem-utils/")
(commit commit)))
(file-name (git-file-name "filesystem-utils" version))
(file-name (git-file-name "cl-filesystem-utils" version))
(sha256
(base32 "0rww9r26zh44qwmj0b4sl95jngdn2h0239x5gjzak3gpdc3i3nbr"))))
(base32 "1zv2i2gndnbs7hz3bgkkq1qfx604wbndpc7qqlqvg23fssn9w59f"))))
(build-system asdf-build-system/sbcl)
(inputs
(list sbcl-documentation-utils
@ -19939,8 +19941,8 @@ lQuery.")
(sbcl-package->cl-source-package sbcl-clip))
(define-public sbcl-pathname-utils
(let ((commit "13189c08f2480802a6cba207304c2e0cfdc57f47")
(revision "2"))
(let ((commit "f28068a79825f37002e96d13dfd739172382bf94")
(revision "3"))
(package
(name "sbcl-pathname-utils")
(version (git-version "1.1.0" revision commit))
@ -19952,7 +19954,7 @@ lQuery.")
(commit commit)))
(file-name (git-file-name "cl-pathname-utils" version))
(sha256
(base32 "0b5pjsrpfw0pmahi1zydzpaa5missg3cxqnyz4k6xwvk8fqscpha"))))
(base32 "10xs0wnnkbdiirr1cb7q7hzi2zmksfsrj0p7yws0j1l215vz8qs8"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-parachute))
@ -26752,7 +26754,13 @@ inspired by Haskell package @code{Data.List}.")
sbcl-trivial-open-browser
sbcl-websocket-driver))
(arguments
'(#:asd-systems '("clog" "clog/docs" "clog/tools")))
'(#:asd-systems '("clog" "clog/docs" "clog/tools")
#:phases (modify-phases %standard-phases
(add-after 'unpack 'fix-symbol-name
(lambda _
(substitute* "source/clog-docs.lisp"
(("clog:@CLOG-MANUAL")
"clog::@CLOG_MANUAL")))))))
(home-page "https://github.com/rabbibotton/clog")
(synopsis "Common Lisp Omnificent GUI")
(description

View File

@ -67,7 +67,6 @@
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages dbm)
#:use-module (gnu packages ed)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@ -95,6 +94,7 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xorg)

View File

@ -1214,6 +1214,29 @@ an extensible computation graph model, as well as definitions of built-in
operators and standard data types.")
(license license:expat)))
(define-public onnx-for-torch2
(package
(inherit onnx)
(name "onnx")
(version "1.13.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/onnx/onnx")
(commit (string-append "v" version))))
(sha256
(base32
"16967dbq2j40diqd0s37r19llsab8q8vbxkg1ppgy0p9fpdhfhyp"))
(file-name (git-file-name name version))
(patches (search-patches "onnx-1.13.1-use-system-googletest.patch"
"onnx-shared-libraries.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "third_party")
(substitute* "onnx/backend/test/runner/__init__.py"
(("urlretrieve\\(.*") "raise unittest.SkipTest('Skipping download')\n"))))))))
(define-public python-onnx
;; This used to be called "python-onnx" because it provided nothing but
;; Python bindings. The package now provides shared libraries and C++
@ -1259,6 +1282,13 @@ aim is to provide all such passes along with ONNX so that they can be re-used
with a single function call.")
(license license:expat)))
(define-public onnx-optimizer-for-torch2
(package
(inherit onnx-optimizer)
(inputs
(modify-inputs (package-inputs onnx-optimizer)
(replace "onnx" onnx-for-torch2)))))
(define-public rxcpp
(package
(name "rxcpp")
@ -3109,7 +3139,7 @@ advanced research.")
(define-public tensorflow-lite
(package
(name "tensorflow-lite")
(version "2.13.0")
(version "2.13.1")
(source
(origin
(method git-fetch)
@ -3119,7 +3149,7 @@ advanced research.")
(file-name (git-file-name name version))
(sha256
(base32
"07g6vlrs0aayrg2mfdl15gxg5dy103wx2xlqkran15dib40nkbj6"))
"09mfskmpvpbq919wibnw3bnhi1y3hkx3qrzm72gdr0gsivn1yb3w"))
(patches (search-patches "tensorflow-lite-unbundle.patch"))))
(build-system cmake-build-system)
(arguments
@ -3878,6 +3908,34 @@ high-level machine learning frameworks, such as TensorFlow Lite,
TensorFlow.js, PyTorch, and MediaPipe.")
(license license:bsd-3))))
(define-public xnnpack-for-torch2
;; There's currently no tag on this repo.
(let ((version "0.0")
(commit "51a987591a6fc9f0fc0707077f53d763ac132cbf")
(revision "3"))
(package
(inherit xnnpack)
(name "xnnpack")
(version (git-version version revision commit))
(home-page "https://github.com/google/XNNPACK") ;fork of QNNPACK
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1rzby82xq8d0rl1d148yz88jh9cpsw5c8b2yw7yg39mi7qmr55rm"))
(patches (search-patches "xnnpack-for-torch2-system-libraries.patch"))))
(arguments
(list
#:tests? #false
#:configure-flags '(list "-DXNNPACK_USE_SYSTEM_LIBS=YES"
"-DBUILD_SHARED_LIBS=ON"
"-DCMAKE_POSITION_INDEPENDENT_CODE=ON"
"-DXNNPACK_LIBRARY_TYPE=shared"
"-DXNNPACK_BUILD_TESTS=FALSE" ;FIXME: see below
"-DXNNPACK_BUILD_BENCHMARKS=FALSE"))))))
;; Please also update python-torchvision when updating this package.
(define-public python-pytorch
(package
@ -4027,7 +4085,59 @@ PyTorch when needed.
Note: currently this package does not provide GPU support.")
(license license:bsd-3)))
(define-public python-pytorch-for-r-torch python-pytorch)
(define-public python-pytorch-for-r-torch
(package
(inherit python-pytorch)
(name "python-pytorch")
(version "2.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/pytorch/pytorch")
(commit (string-append "v" version))
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
(base32
"14m7v54zyd2qg2xk9mqdpbf4ps7091mdzinzh4vq9p5k4bpznj65"))
(patches (search-patches "python-pytorch2-system-libraries.patch"
"python-pytorch-runpath.patch"))
(modules '((guix build utils)))
(snippet
'(begin
;; XXX: Let's be clear: this package is a bundling fest. We
;; delete as much as we can, but there's still a lot left.
(for-each (lambda (directory)
(delete-file-recursively
(string-append "third_party/" directory)))
'("benchmark" "cpuinfo" "eigen"
;; FIXME: QNNPACK (of which XNNPACK is a fork)
;; needs these.
;; "FP16" "FXdiv" "gemmlowp" "psimd"
"gloo" "googletest" "ios-cmake" "NNPACK"
"onnx" "protobuf" "pthreadpool"
"pybind11" "python-enum" "python-peachpy"
"python-six" "tbb" "XNNPACK" "zstd"))
(substitute* "caffe2/CMakeLists.txt"
(("target_link_libraries\\(\\$\\{test_name\\}_\\$\\{CPU_CAPABILITY\\} c10 sleef gtest_main\\)")
"target_link_libraries(${test_name}_${CPU_CAPABILITY} c10 sleef gtest gtest_main)"))
(substitute* "functorch/CMakeLists.txt"
(("\\$\\{_rpath_portable_origin\\}/../torch/lib")
"$ORIGIN/../torch/lib"))))))
(inputs
(modify-inputs (package-inputs python-pytorch)
(replace "xnnpack" xnnpack-for-torch2)))
(propagated-inputs
(modify-inputs (package-propagated-inputs python-pytorch)
(append python-filelock
python-jinja2
python-networkx
python-opt-einsum
python-sympy)
(replace "onnx" onnx-for-torch2)
(replace "onnx-optimizer" onnx-optimizer-for-torch2)))))
(define-public python-lightning-cloud
(package
@ -4440,70 +4550,74 @@ of Hidden Markov Models.")
;; Keep this in sync with the r-torch package.
(define-public liblantern
(package
(name "liblantern")
(version "0.10.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mlverse/torch")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12480fac9xq7rgw0q5f2cnvmakhakjsnq1gvh2ncjfwxz34n8fl7"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #false ;no test target
#:phases
(let ((python-version (version-major+minor (package-version python))))
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "src/lantern")))
(add-after 'chdir 'do-not-download-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
(("retrieve_lib\\(.*") ""))
(let ((site-packages (string-append "/lib/python"
#$python-version
"/site-packages")))
(setenv "LIBRARY_PATH"
(string-append
(search-input-directory
inputs (string-append site-packages "/torch/lib"))
":" (or (getenv "LIBRARY_PATH") "")))
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory
inputs (string-append
site-packages "/torch/include/torch/csrc/api/include/"))
":"
(search-input-directory
inputs (string-append site-packages "/torch/include/"))
":"
(or (getenv "CPLUS_INCLUDE_PATH") "")))
(setenv "C_INCLUDE_PATH"
(string-append
(search-input-directory
inputs (string-append site-packages "/torch/include/"))
":"
(or (getenv "C_INCLUDE_PATH") ""))))))
(replace 'install
(lambda _
(install-file
"../build/liblantern.so"
(string-append #$output "/lib"))
(copy-recursively
"../lantern/include"
(string-append #$output "/include"))))))))
(inputs (list python-pytorch-for-r-torch))
(home-page "https://github.com/mlverse/torch/")
(synopsis "C API to libtorch")
(description
"Lantern provides a C API to the libtorch machine learning library.")
(license license:expat)))
;; There has been no release or tagged commit for r-torch 0.12.0. The
;; selected commit corresponds to the 0.12.0 release.
(let ((commit "4d83bd087be581f7db321c27f55897ff021d2537")
(revision "1"))
(package
(name "liblantern")
(version (git-version "0.11.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mlverse/torch")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1xxc6vr7sr2mg0va0hc2fs4f6v5b78mx43dp2shzzbcgw90mgpvk"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #false ;no test target
#:phases
(let ((python-version (version-major+minor (package-version python))))
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _ (chdir "src/lantern")))
(add-after 'chdir 'do-not-download-binaries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("find_package\\(Torch.*") "set(TORCH_CXX_FLAGS \"-ltorch\")\n")
(("retrieve_lib\\(.*") ""))
(let ((site-packages (string-append "/lib/python"
#$python-version
"/site-packages")))
(setenv "LIBRARY_PATH"
(string-append
(search-input-directory
inputs (string-append site-packages "/torch/lib"))
":" (or (getenv "LIBRARY_PATH") "")))
(setenv "CPLUS_INCLUDE_PATH"
(string-append
(search-input-directory
inputs (string-append
site-packages "/torch/include/torch/csrc/api/include/"))
":"
(search-input-directory
inputs (string-append site-packages "/torch/include/"))
":"
(or (getenv "CPLUS_INCLUDE_PATH") "")))
(setenv "C_INCLUDE_PATH"
(string-append
(search-input-directory
inputs (string-append site-packages "/torch/include/"))
":"
(or (getenv "C_INCLUDE_PATH") ""))))))
(replace 'install
(lambda _
(install-file
"../build/liblantern.so"
(string-append #$output "/lib"))
(copy-recursively
"../lantern/include"
(string-append #$output "/include"))))))))
(inputs (list python-pytorch-for-r-torch))
(home-page "https://github.com/mlverse/torch/")
(synopsis "C API to libtorch")
(description
"Lantern provides a C API to the libtorch machine learning library.")
(license license:expat))))
(define-public python-lap
(package

View File

@ -4475,7 +4475,7 @@ implemented in ANSI C, and MPI for communications.")
(define-public scotch
(package
(name "scotch")
(version "7.0.1")
(version "7.0.4")
(source
(origin
(method git-fetch)
@ -4484,7 +4484,7 @@ implemented in ANSI C, and MPI for communications.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1fvgxd3ipl5xswswyadvxvlcgv6an8c229ispnlksgnlwphg10ig"))))
(base32 "0rbc51albpd2923dkirpkj8rfkic6rsvwqqnv1mmsk391zhk3amr"))))
(build-system cmake-build-system)
(inputs
(list zlib))

View File

@ -12,6 +12,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2022 Joeke de Graaf <joeke@posteo.net>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -162,7 +163,25 @@ This package contains the library.")
Version: ~a~@
Libs: -L${libdir} -lid3tag -lz~@
Cflags: -I${includedir}~%"
out ,version)))))))))
out ,version))))))
,@(if (and (%current-target-system)
(or (target-riscv64?)
(target-aarch64?)))
`((add-after 'unpack 'update-config
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(for-each
(lambda (file)
(install-file
(search-input-file (or native-inputs inputs)
(string-append "/bin/" file))
"."))
'("config.guess" "config.sub")))))
'()))))
(native-inputs (if (and (%current-target-system)
(or (target-riscv64?)
(target-aarch64?)))
(list config)
'()))
(inputs (list zlib))
(synopsis "Library for reading ID3 tags")
(description

View File

@ -623,7 +623,7 @@ mpdevil loads all tags and covers on demand.")
(define-public mympd
(package
(name "mympd")
(version "13.0.5")
(version "13.0.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -632,7 +632,7 @@ mpdevil loads all tags and covers on demand.")
(file-name (git-file-name name version))
(sha256
(base32
"1ly3iw4irybfxyafgrldldwc28a879wwnd1pg32m2sgrwyhr0czm"))))
"17mx6qkdcnm4z6qw0ns8wmihahcnk3kidfcr6fapa34cdadsjapg"))))
(outputs '("out" "doc"))
(build-system cmake-build-system)
(arguments

View File

@ -1,51 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages nano)
#:use-module (guix licenses)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ncurses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public nano
(package
(name "nano")
(version "7.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
(sha256
(base32 "09j5gb44yiv18fvn0iy17jnl9d5lh3gkry4kqv776a5xd0kl9ww6"))))
(build-system gnu-build-system)
(inputs
(list gettext-minimal ncurses))
(home-page "https://www.nano-editor.org/")
(synopsis "Small, user-friendly console text editor")
(description
"GNU nano is a small and simple text editor for use in a terminal. Besides
basic editing, it supports: undo/redo, syntax highlighting, spell checking,
justifying, auto-indentation, bracket matching, interactive search-and-replace
(with regular expressions), and the editing of multiple files.")
(license gpl3+))) ; some files are under GPLv2+

View File

@ -3640,13 +3640,10 @@ and check if the WLAN key or the master key was transmitted unencrypted.")
(uri (string-append "https://www.inet.no/dante/files/dante-"
version ".tar.gz"))
(sha256
(base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))))
(base32 "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1"))
(patches (search-patches "dante-non-darwin.patch"))))
(build-system gnu-build-system)
(arguments
;; XXX: The dynamic socks library doesn't work with 'libc.so' (GNU ld
;; script). When preloading is enabled, 'sockd' failed with:
;; … Failed to open library "libc.so": …: invalid ELF header
'(#:configure-flags '("--disable-preload")))
(arguments '(#:configure-flags '("--with-libc=libc.so.6")))
(home-page "https://www.inet.no/dante/")
(synopsis "SOCKS server and client")
(description "Dante is a SOCKS client and server implementation. It can

View File

@ -347,6 +347,35 @@ random number generator.")
Javascript.")
(license license:expat)))
(define-public node-normalize-path
(package
(name "node-normalize-path")
(version "3.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jonschlinkert/normalize-path")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1l079szbgw2b9i5zx6zbwvxiivssa55a4pwfy4m7n6rdkcmsxf7f"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(add-after 'patch-dependencies 'delete-dependencies
(lambda _
(delete-dependencies '("gulp-format-md" "mocha")))))))
(native-inputs (list node-minimist))
(home-page "https://github.com/jonschlinkert/normalize-path")
(synopsis "Normalize slashes in a file path")
(description
"Normalize slashes in a file path to be POSIX/Unix-like forward slashes.
Can also condense repeated slashes to a single slash and remove trailing
slashes, unless disabled.")
(license license:expat)))
(define-public node-oop
;; No releases, last commit was February 2013.
(let ((commit "f9d87cda0958886955c14a0a716e57021ed295dc")
@ -467,6 +496,48 @@ written in Javascript.")
resolve all imports.")
(license license:expat)))
(define-public node-safe-stable-stringify
(package
(name "node-safe-stable-stringify")
(version "2.4.3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/BridgeAR/safe-stable-stringify")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "008adig8j13rn2a21ngnp770y4zz6yq176ix5rkskjbb8g2qwapg"))))
(build-system node-build-system)
(arguments
'(#:tests? #f
#:phases (modify-phases %standard-phases
(add-after 'patch-dependencies 'delete-dependencies
(lambda _
(delete-dependencies '("benchmark" "clone"
"fast-json-stable-stringify"
"fast-safe-stringify"
"fast-stable-stringify"
"faster-stable-stringify"
"fastest-stable-stringify"
"json-stable-stringify"
"json-stringify-deterministic"
"json-stringify-safe"
"standard"
"tap"
"typescript"
"@types/node"
"@types/json-stable-stringify")))))))
(home-page "https://github.com/BridgeAR/safe-stable-stringify")
(synopsis "Serialization of javascript objects")
(description
"Safe, deterministic and fast serialization alternative to JSON.stringify.
Gracefully handles circular structures and bigint instead of throwing.
Optional custom circular values, deterministic behavior or strict JSON
compatibility check.")
(license license:expat)))
(define-public node-stack-trace
;; There have been improvements since the last release.
(let ((commit "4fd379ee78965ce7ce8820b436f1b1b590d5dbcf")

View File

@ -738,14 +738,14 @@ source files.")
(define-public node-lts
(package
(inherit node)
(version "18.18.2")
(version "18.19.0")
(source (origin
(method url-fetch)
(uri (string-append "https://nodejs.org/dist/v" version
"/node-v" version ".tar.gz"))
(sha256
(base32
"0ci1faxjsbp0lv05kskh5anfljn6zawqcf7dawiby5d5qg7x572h"))
"05qc1dgmrms73073n4l36jrcxf6ygqj959d3cngy5qclrg0isk6x"))
(modules '((guix build utils)))
(snippet
'(begin

File diff suppressed because it is too large Load Diff

View File

@ -1510,8 +1510,8 @@ environments.")
"0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc")))))))
(define-public guix-build-coordinator
(let ((commit "78df0b3a9f4f27df8341da36d4dfa8e49dfad900")
(revision "92"))
(let ((commit "e4af682452580298b34681d37818a16771a17c66")
(revision "93"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@ -1522,7 +1522,7 @@ environments.")
(commit commit)))
(sha256
(base32
"06xp38k6yfvsvl20hrqvmarpysd07nkbj53an729lqr50qdd4jcq"))
"1i8x9nfpvg832lxwbpjl1kadldpkcnjlxdxl4c5jqx2hz680ylf3"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -1570,6 +1570,9 @@ environments.")
,@(or (and=> (assoc-ref inputs "sqitch")
list)
'())))
`("GUIX_LOCPATH" ":" prefix
(,(string-append (assoc-ref inputs "glibc-utf8-locales")
"/lib/locale")))
`("GUILE_LOAD_PATH" ":" prefix
(,scm ,(string-join
(map (lambda (input)
@ -1608,6 +1611,7 @@ environments.")
(list (first (assoc-ref (package-native-inputs guix) "guile"))
sqlite
bash-minimal
(libc-utf8-locales-for-target)
sqitch))
(propagated-inputs
(list guile-prometheus
@ -1647,7 +1651,8 @@ outputs of those builds.")
(first (assoc-ref (package-native-inputs guix) "guile"))))
(inputs
(list (first (assoc-ref (package-native-inputs guix) "guile"))
bash-minimal))
bash-minimal
(libc-utf8-locales-for-target)))
(propagated-inputs
(list guile-prometheus
guile-gcrypt

View File

@ -1123,7 +1123,7 @@ It supports both vim-like keybindings and the mouse.")
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:make-flags (list "CC=gcc"
#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" (assoc-ref %outputs "out"))
"LIBRARY_REL=lib"
(string-append "ARGON2_VERSION=" ,version)

View File

@ -0,0 +1,15 @@
Disable runtime check for Darwin so we don't have to substitute uname.
--- a/bin/socksify.in
+++ b/bin/socksify.in
@@ -65,11 +65,6 @@
unset FULLPATH
fi
-#use "FLAT_NAMESPACE" on Darwin in attempt to match LD_PRELOAD behavior
-if test x`uname` = xDarwin; then
- export DYLD_FORCE_FLAT_NAMESPACE=t
-fi
-
#dlib/Makefile.am libtool flags should produce a predictable library name
#(ending in SOLIB_POSTFIX).
LIBRARY="${SOCKS_LIBRARY:-${FULLPATH}libdsocks.@SOLIB_POSTFIX@}"

View File

@ -0,0 +1,55 @@
ONNX will build googletest from a Git checkout. Patch CMake to use our
googletest package and enable tests by default.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0aa9fda2..a573170c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@ option(BUILD_ONNX_PYTHON "Build Python binaries" OFF)
option(ONNX_GEN_PB_TYPE_STUBS "Generate protobuf python type stubs" ON)
option(ONNX_WERROR "Build with Werror" OFF)
option(ONNX_COVERAGE "Build with coverage instrumentation" OFF)
-option(ONNX_BUILD_TESTS "Build ONNX C++ APIs Tests" OFF)
+option(ONNX_BUILD_TESTS "Build ONNX C++ APIs Tests" ON)
option(ONNX_USE_LITE_PROTO "Use lite protobuf instead of full." OFF)
option(ONNXIFI_ENABLE_EXT "Enable onnxifi extensions." OFF)
if(NOT DEFINED ONNX_ML)
@@ -82,8 +82,10 @@ if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
endif()
if(ONNX_BUILD_TESTS)
- list(APPEND CMAKE_MODULE_PATH ${ONNX_ROOT}/cmake/external)
- include(googletest)
+ find_package(GTest REQUIRED)
+ if(NOT GTest_FOUND)
+ message(FATAL_ERROR "cannot find googletest")
+ endif()
endif()
if((ONNX_USE_LITE_PROTO AND TARGET protobuf::libprotobuf-lite) OR ((NOT ONNX_USE_LITE_PROTO) AND TARGET protobuf::libprotobuf))
diff --git a/cmake/unittest.cmake b/cmake/unittest.cmake
index e29a93ff..ae146390 100644
--- a/cmake/unittest.cmake
+++ b/cmake/unittest.cmake
@@ -7,7 +7,7 @@
find_package(Threads)
-set(${UT_NAME}_libs ${googletest_STATIC_LIBRARIES})
+set(${UT_NAME}_libs ${GTEST_LIBRARIES})
list(APPEND ${UT_NAME}_libs onnx)
list(APPEND ${UT_NAME}_libs onnx_proto)
@@ -22,9 +22,9 @@
list(REMOVE_DUPLICATES _UT_SOURCES)
add_executable(${_UT_TARGET} ${_UT_SOURCES})
- add_dependencies(${_UT_TARGET} onnx onnx_proto googletest)
+ add_dependencies(${_UT_TARGET} onnx onnx_proto)
target_include_directories(${_UT_TARGET}
- PUBLIC ${googletest_INCLUDE_DIRS}
+ PUBLIC ${GTEST_INCLUDE_DIRS}
${ONNX_INCLUDE_DIRS}
${PROTOBUF_INCLUDE_DIRS}
${ONNX_ROOT}

View File

@ -0,0 +1,156 @@
Use our own googletest rather than the bundled one.
Get NNPACK to use our own PeachPy rather than the bundled one.
diff --git a/caffe2/CMakeLists.txt b/caffe2/CMakeLists.txt
--- a/caffe2/CMakeLists.txt 2023-12-27 12:14:24.308751288 +0100
+++ b/caffe2/CMakeLists.txt 2023-12-27 12:30:15.941562126 +0100
@@ -1570,7 +1570,7 @@
add_executable(static_runtime_bench "${STATIC_RUNTIME_BENCHMARK_SRCS}")
add_executable(static_runtime_test "${STATIC_RUNTIME_TEST_SRCS}")
target_link_libraries(static_runtime_bench torch_library benchmark)
- target_link_libraries(static_runtime_test torch_library gtest_main)
+ target_link_libraries(static_runtime_test torch_library gtest_main gtest)
endif()
if(BUILD_TENSOREXPR_BENCHMARK)
@@ -1601,7 +1601,7 @@
foreach(test_src ${ATen_MOBILE_TEST_SRCS})
get_filename_component(test_name ${test_src} NAME_WE)
add_executable(${test_name} "${test_src}")
- target_link_libraries(${test_name} torch_library gtest_main)
+ target_link_libraries(${test_name} torch_library gtest_main gtest)
target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
target_include_directories(${test_name} PRIVATE ${ATen_CPU_INCLUDE})
@@ -1628,7 +1628,7 @@
endif()
else()
add_executable(${test_name}_${CPU_CAPABILITY} "${test_src}")
- target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library gtest_main)
+ target_link_libraries(${test_name}_${CPU_CAPABILITY} torch_library gtest_main gtest)
endif()
target_include_directories(${test_name}_${CPU_CAPABILITY} PRIVATE $<INSTALL_INTERFACE:include>)
target_include_directories(${test_name}_${CPU_CAPABILITY} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
@@ -1645,7 +1645,7 @@
foreach(test_src ${Caffe2_CPU_TEST_SRCS})
get_filename_component(test_name ${test_src} NAME_WE)
add_executable(${test_name} "${test_src}")
- target_link_libraries(${test_name} torch_library gtest_main)
+ target_link_libraries(${test_name} torch_library gtest_main gtest)
target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE})
@@ -1666,7 +1666,7 @@
foreach(test_src ${Caffe2_MPS_TEST_SRCS})
get_filename_component(test_name ${test_src} NAME_WE)
add_executable(${test_name} "${test_src}")
- target_link_libraries(${test_name} torch_library gtest_main)
+ target_link_libraries(${test_name} torch_library gtest_main gtest)
target_include_directories(${test_name} PRIVATE $<INSTALL_INTERFACE:include>)
target_include_directories(${test_name} PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/include>)
target_include_directories(${test_name} PRIVATE ${Caffe2_CPU_INCLUDE})
diff --git a/cmake/Dependencies.cmake b/cmake/Dependencies.cmake
index 557ab649..ee9cf410 100644
--- a/cmake/Dependencies.cmake
+++ b/cmake/Dependencies.cmake
@@ -732,11 +732,6 @@ if(BUILD_TEST OR BUILD_MOBILE_BENCHMARK OR BUILD_MOBILE_TEST)
# this shouldn't be necessary anymore.
get_property(INC_DIR_temp DIRECTORY PROPERTY INCLUDE_DIRECTORIES)
set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES "")
- add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest)
- set_property(DIRECTORY PROPERTY INCLUDE_DIRECTORIES ${INC_DIR_temp})
-
- include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest/googletest/include)
- include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR}/../third_party/googletest/googlemock/include)
# We will not need to test benchmark lib itself.
set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable benchmark testing as we don't need it.")
@@ -1543,7 +1538,7 @@ if(CAFFE2_CMAKE_BUILDING_WITH_MAIN_REPO AND NOT INTERN_DISABLE_ONNX)
endif()
set_property(TARGET onnx_proto PROPERTY IMPORTED_LOCATION ${ONNX_PROTO_LIBRARY})
message("-- Found onnx: ${ONNX_LIBRARY} ${ONNX_PROTO_LIBRARY}")
- list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx)
+ list(APPEND Caffe2_DEPENDENCY_LIBS onnx_proto onnx onnx_optimizer)
endif()
include_directories(${FOXI_INCLUDE_DIRS})
list(APPEND Caffe2_DEPENDENCY_LIBS foxi_loader)
diff --git a/cmake/External/nnpack.cmake b/cmake/External/nnpack.cmake
index a41343cb..6075bdd0 100644
--- a/cmake/External/nnpack.cmake
+++ b/cmake/External/nnpack.cmake
@@ -40,7 +40,7 @@ endif()
# (3) Android, iOS, Linux, macOS - supported
##############################################################################
-if(ANDROID OR IOS OR ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+if(FALSE)
message(STATUS "Brace yourself, we are building NNPACK")
set(CAFFE2_THIRD_PARTY_ROOT ${PROJECT_SOURCE_DIR}/third_party)
@@ -114,6 +114,5 @@ endif()
# (4) Catch-all: not supported.
##############################################################################
-message(WARNING "Unknown platform - I don't know how to build NNPACK. "
- "See cmake/External/nnpack.cmake for details.")
-set(USE_NNPACK OFF)
+set(NNPACK_FOUND TRUE)
+set(USE_NNPACK ON)
diff --git a/test/cpp/c10d/CMakeLists.txt b/test/cpp/c10d/CMakeLists.txt
index bf91460c..ef56948f 100644
--- a/test/cpp/c10d/CMakeLists.txt
+++ b/test/cpp/c10d/CMakeLists.txt
@@ -16,14 +16,14 @@ function(c10d_add_test test_src)
add_test(NAME ${test_name} COMMAND $<TARGET_FILE:${test_name}>)
endfunction()
-c10d_add_test(FileStoreTest.cpp torch_cpu gtest_main)
-c10d_add_test(TCPStoreTest.cpp torch_cpu gtest_main)
+c10d_add_test(FileStoreTest.cpp torch_cpu gtest_main gtest)
+c10d_add_test(TCPStoreTest.cpp torch_cpu gtest_main gtest)
if(INSTALL_TEST)
install(TARGETS FileStoreTest DESTINATION bin)
install(TARGETS TCPStoreTest DESTINATION bin)
endif()
if(NOT WIN32)
- c10d_add_test(HashStoreTest.cpp torch_cpu gtest_main)
+ c10d_add_test(HashStoreTest.cpp torch_cpu gtest_main gtest)
if(INSTALL_TEST)
install(TARGETS HashStoreTest DESTINATION bin)
endif()
@@ -31,11 +31,11 @@ endif()
if(USE_CUDA)
if(USE_GLOO AND USE_C10D_GLOO)
- c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu c10d_cuda_test gtest_main)
+ c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu c10d_cuda_test gtest_main gtest)
if(INSTALL_TEST)
install(TARGETS ProcessGroupGlooTest DESTINATION bin)
endif()
- c10d_add_test(ProcessGroupGlooAsyncTest.cpp torch_cpu c10d_cuda_test gtest_main)
+ c10d_add_test(ProcessGroupGlooAsyncTest.cpp torch_cpu c10d_cuda_test gtest_main gtest)
endif()
if(USE_NCCL AND USE_C10D_NCCL)
# NCCL is a private dependency of libtorch, but the tests include some
@@ -56,7 +56,7 @@ if(USE_CUDA)
endif()
else()
if(USE_GLOO AND USE_C10D_GLOO)
- c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu gtest_main)
+ c10d_add_test(ProcessGroupGlooTest.cpp torch_cpu gtest_main gtest)
endif()
endif()
diff --git a/test/cpp/tensorexpr/CMakeLists.txt b/test/cpp/tensorexpr/CMakeLists.txt
index 8fc5a0a1..643202f6 100644
--- a/test/cpp/tensorexpr/CMakeLists.txt
+++ b/test/cpp/tensorexpr/CMakeLists.txt
@@ -53,7 +53,7 @@ target_include_directories(tutorial_tensorexpr PRIVATE ${ATen_CPU_INCLUDE})
# pthreadpool header. For some build environment we need add the dependency
# explicitly.
if(USE_PTHREADPOOL)
- target_link_libraries(test_tensorexpr PRIVATE pthreadpool_interface)
+ target_link_libraries(test_tensorexpr PRIVATE pthreadpool)
endif()
if(USE_CUDA)
target_link_libraries(test_tensorexpr PRIVATE

View File

@ -1,27 +1,36 @@
Allow the configuration file and theme directory to be specified at run time.
Patch by Eelco Dolstra, from Nixpkgs.
--- slim-1.3.6/app.cpp 2013-10-02 00:38:05.000000000 +0200
+++ slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
@@ -200,7 +200,9 @@
/* Read configuration and theme */
cfg = new Cfg;
- cfg->readConf(CFGFILE);
+ char *cfgfile = getenv("SLIM_CFGFILE");
+ if (!cfgfile) cfgfile = CFGFILE;
+ cfg->readConf(cfgfile);
Patch by Eelco Dolstra, from Nixpkgs.
---
app.cpp | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/app.cpp b/app.cpp
index 237477d..735df9c 100644
--- a/app.cpp
+++ b/app.cpp
@@ -285,7 +285,9 @@ void App::Run()
if ( cfg == 0 )
{
cfg = new Cfg;
- cfg->readConf(CFGFILE);
+ const char* cfgfile = getenv("SLIM_CFGFILE");
+ if (!cfgfile) cfgfile = CFGFILE;
+ cfg->readConf(cfgfile);
}
string themebase = "";
string themefile = "";
string themedir = "";
@@ -208,7 +210,9 @@
if (testing) {
themeName = testtheme;
} else {
@@ -297,7 +299,9 @@ void App::Run()
}
else
{
- themebase = string(THEMESDIR) + "/";
+ char *themesdir = getenv("SLIM_THEMESDIR");
+ const char* themesdir = getenv("SLIM_THEMESDIR");
+ if (!themesdir) themesdir = THEMESDIR;
+ themebase = string(themesdir) + "/";
themeName = cfg->getOption("current_theme");
string::size_type pos;
if ((pos = themeName.find(",")) != string::npos) {
if ((pos = themeName.find(",")) != string::npos)
--
2.39.2

View File

@ -1,39 +1,52 @@
Add "display_name" configuration option and use its value instead of
the hard coded one.
Add "display_name" configuration option and use its value instead of the hard
coded one.
Patch by Diego N. Barbato
---
app.cpp | 23 ++++++++++-------------
cfg.cpp | 1 +
switchuser.cpp | 2 +-
3 files changed, 12 insertions(+), 14 deletions(-)
--- a/app.cpp 1970-01-01 01:00:00.000000000 +0100
+++ b/app.cpp 2019-04-27 13:48:23.479133531 +0200
@@ -190,7 +190,13 @@
}
diff --git a/app.cpp b/app.cpp
index b840e60..4f72da0 100644
--- a/app.cpp
+++ b/app.cpp
@@ -270,7 +270,16 @@ App::App(int argc, char** argv)
void App::Run() {
void App::Run()
{
- DisplayName = DISPLAY;
+ /* Read configuration */
+ cfg = new Cfg;
+ char *cfgfile = getenv("SLIM_CFGFILE");
+ if (!cfgfile) cfgfile = CFGFILE;
+ cfg->readConf(cfgfile);
+ if ( cfg == 0 )
+ {
+ cfg = new Cfg;
+ const char *cfgfile = getenv("SLIM_CFGFILE");
+ if (!cfgfile) cfgfile = CFGFILE;
+ cfg->readConf(cfgfile);
+
+ DisplayName = cfg->getOption("display_name").c_str();
+ DisplayName = cfg->getOption("display_name").c_str();
+ }
#ifdef XNEST_DEBUG
char* p = getenv("DISPLAY");
@@ -200,11 +206,7 @@
@@ -281,14 +287,7 @@ void App::Run()
}
#endif
- /* Read configuration and theme */
- cfg = new Cfg;
- char *cfgfile = getenv("SLIM_CFGFILE");
- if (!cfgfile) cfgfile = CFGFILE;
- cfg->readConf(cfgfile);
+ /* Read theme */
- if ( cfg == 0 )
- {
- cfg = new Cfg;
- const char* cfgfile = getenv("SLIM_CFGFILE");
- if (!cfgfile) cfgfile = CFGFILE;
- cfg->readConf(cfgfile);
- }
+ /* Read theme */
string themebase = "";
string themefile = "";
string themedir = "";
@@ -911,9 +913,7 @@
@@ -1115,9 +1114,7 @@ int App::StartServer()
static const int MAX_XSERVER_ARGS = 256;
static char* server[MAX_XSERVER_ARGS+2] = { NULL };
server[0] = (char *)cfg->getOption("default_xserver").c_str();
@ -44,7 +57,7 @@ Patch by Diego N. Barbato
char* args = new char[argOption.length()+2]; /* NULL plus vt */
strcpy(args, argOption.c_str());
@@ -1233,7 +1233,7 @@
@@ -1424,7 +1421,7 @@ void App::CreateServerAuth()
authfile = cfg->getOption("authfile");
remove(authfile.c_str());
putenv(StrConcat("XAUTHORITY=", authfile.c_str()));
@ -53,9 +66,11 @@ Patch by Diego N. Barbato
authfile);
}
--- a/cfg.cpp 1970-01-01 01:00:00.000000000 +0100
+++ b/cfg.cpp 2019-04-27 13:49:40.511773743 +0200
@@ -31,6 +31,7 @@
diff --git a/cfg.cpp b/cfg.cpp
index 37fb10d..a0c9bf1 100644
--- a/cfg.cpp
+++ b/cfg.cpp
@@ -40,6 +40,7 @@ Cfg::Cfg()
/* Configuration options */
options.insert(option("default_path","/bin:/usr/bin:/usr/local/bin"));
options.insert(option("default_xserver","/usr/bin/X"));
@ -63,13 +78,18 @@ Patch by Diego N. Barbato
options.insert(option("xserver_arguments",""));
options.insert(option("numlock",""));
options.insert(option("daemon",""));
--- a/switchuser.cpp 1970-01-01 01:00:00.000000000 +0100
+++ b/switchuser.cpp 2019-04-27 13:50:19.380096651 +0200
@@ -54,6 +54,6 @@
diff --git a/switchuser.cpp b/switchuser.cpp
index ca936ae..255f5d9 100644
--- a/switchuser.cpp
+++ b/switchuser.cpp
@@ -69,6 +69,6 @@ void SwitchUser::SetClientAuth(const char* mcookie)
string home = string(Pw->pw_dir);
string authfile = home + "/.Xauthority";
remove(authfile.c_str());
- Util::add_mcookie(mcookie, ":0", cfg->getOption("xauth_path"),
+ Util::add_mcookie(mcookie, displayName.c_str(), cfg->getOption("xauth_path"),
+ Util::add_mcookie(mcookie, cfg->getOption("display_name").c_str(), cfg->getOption("xauth_path"),
authfile);
}
--
2.39.2

View File

@ -1,33 +0,0 @@
Do not reset chosen session and maintain the session-choser dialog after a
failed login attempt.
Patch by E. Bavier
--- slim-1.3.6/panel.cpp.orig 1969-12-31 18:00:00.000000000 -0600
+++ slim-1.3.6/panel.cpp 2016-10-17 17:00:07.259649063 -0500
@@ -260,13 +260,12 @@
}
void Panel::ClearPanel() {
- session_name = "";
- session_exec = "";
Reset();
XClearWindow(Dpy, Root);
XClearWindow(Dpy, Win);
Cursor(SHOW);
ShowText();
+ ShowSession();
XFlush(Dpy);
}
@@ -760,9 +760,7 @@
pair<string,string> ses = cfg->nextSession();
session_name = ses.first;
session_exec = ses.second;
- if (session_name.size() > 0) {
- ShowSession();
- }
+ ShowSession();
}
/* Display session type on the screen */

View File

@ -1,17 +0,0 @@
Exit after the user's session has finished. This works around slim's broken
PAM session handling (see
http://developer.berlios.de/bugs/?func=detailbug&bug_id=19102&group_id=2663).
Patch by Eelco Dolstra, from Nixpkgs.
--- slim-1.3.6/app.cpp 2013-10-15 11:02:55.629263422 +0200
+++ slim-1.3.6/app.cpp 2013-10-15 13:00:10.141210784 +0200
@@ -816,7 +822,7 @@
StopServer();
RemoveLock();
while (waitpid(-1, NULL, WNOHANG) > 0); /* Collects all dead childrens */
- Run();
+ exit(OK_EXIT);
}
void App::KillAllClients(Bool top) {

View File

@ -1,33 +0,0 @@
This patch fixes SLiM so it really waits for the X server to be ready
before attempting to connect to it. Indeed, the X server notices that
its parent process has a handler for SIGUSR1, and consequently sends it
SIGUSR1 when it's ready to accept connections.
The problem was that SLiM doesn't pay attention to SIGUSR1. So in practice,
if X starts slowly, then SLiM gets ECONNREFUSED a couple of time on
/tmp/.X11-unix/X0, then goes on trying to connect to localhost:6000,
where nobody answers; eventually, it times out and tries again on
/tmp/.X11-unix/X0, and finally it shows up on the screen.
Patch by L. Courtès.
--- slim-1.3.6/app.cpp 2014-02-05 15:27:20.000000000 +0100
+++ slim-1.3.6/app.cpp 2014-02-09 22:42:04.000000000 +0100
@@ -119,7 +119,9 @@ void CatchSignal(int sig) {
exit(ERR_EXIT);
}
+static volatile int got_sigusr1 = 0;
void User1Signal(int sig) {
+ got_sigusr1 = 1;
signal(sig, User1Signal);
}
@@ -884,6 +886,7 @@ int App::WaitForServer() {
int ncycles = 120;
int cycles;
+ while (!got_sigusr1);
for(cycles = 0; cycles < ncycles; cycles++) {
if((Dpy = XOpenDisplay(DisplayName))) {
XSetIOErrorHandler(xioerror);

View File

@ -0,0 +1,39 @@
Fix the build with gtkmm 4:
https://github.com/transmission/transmission/issues/6392
Patch copied from upstream source repository:
https://github.com/transmission/transmission/commit/e116672b27b314d54514c96b1fa7aef1dee900b1
From e116672b27b314d54514c96b1fa7aef1dee900b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?C=C5=93ur?= <coeur@gmx.fr>
Date: Sun, 17 Dec 2023 16:37:35 +0100
Subject: [PATCH] fix: build error on GTKMM-4 (#6393)
---
gtk/OptionsDialog.cc | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/gtk/OptionsDialog.cc b/gtk/OptionsDialog.cc
index 08198540c10..8c28fc76f98 100644
--- a/gtk/OptionsDialog.cc
+++ b/gtk/OptionsDialog.cc
@@ -338,7 +338,16 @@ void TorrentFileChooserDialog::onOpenDialogResponse(int response, Glib::RefPtr<S
bool const do_prompt = get_choice(std::string(ShowOptionsDialogChoice)) == "true";
bool const do_notify = false;
- auto const files = IF_GTKMM4(get_files2, get_files)();
+#if GTKMM_CHECK_VERSION(4, 0, 0)
+ auto files = std::vector<Glib::RefPtr<Gio::File>>();
+ auto files_model = get_files();
+ for (auto i = guint{ 0 }; i < files_model->get_n_items(); ++i)
+ {
+ files.push_back(gtr_ptr_dynamic_cast<Gio::File>(files_model->get_object(i)));
+ }
+#else
+ auto const files = get_files();
+#endif
g_assert(!files.empty());
/* remember this folder the next time we use this dialog */

View File

@ -8,8 +8,10 @@ This reverts commit b4f3cc2c42d97967a3a3c8796c340f6b07ecccac.
Addendum 2022-12-08, Ricardo Wurmus: This patch has been updated to introduce
CONFIG_FIT_PRELOAD to remove fit_pre_load_data, which depends on openssl.
Addendum 2023-10-17, Herman Rimm: Update patch for u-boot v2023.10.
diff --git a/tools/kwbimage.c b/tools/kwbimage.c
index 94b7685392..eec599b0ee 100644
index 4dce495ff0..976174ae77 100644
--- a/tools/kwbimage.c
+++ b/tools/kwbimage.c
@@ -19,6 +19,7 @@
@ -38,7 +40,7 @@ index 94b7685392..eec599b0ee 100644
struct boot_mode {
unsigned int id;
@@ -278,6 +282,8 @@ image_count_options(unsigned int optiontype)
@@ -281,6 +285,8 @@ image_count_options(unsigned int optiontype)
return count;
}
@ -47,7 +49,7 @@ index 94b7685392..eec599b0ee 100644
static int image_get_csk_index(void)
{
struct image_cfg_element *e;
@@ -288,6 +294,7 @@ static int image_get_csk_index(void)
@@ -291,6 +297,7 @@ static int image_get_csk_index(void)
return e->csk_idx;
}
@ -55,7 +57,7 @@ index 94b7685392..eec599b0ee 100644
static bool image_get_spezialized_img(void)
{
@@ -432,6 +439,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
@@ -435,6 +442,7 @@ static uint8_t baudrate_to_option(unsigned int baudrate)
}
}
@ -63,29 +65,31 @@ index 94b7685392..eec599b0ee 100644
static void kwb_msg(const char *fmt, ...)
{
if (verbose_mode) {
@@ -926,6 +934,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
@@ -929,6 +937,7 @@ static int kwb_dump_fuse_cmds(struct secure_hdr_v1 *sec_hdr)
done:
return ret;
}
+#endif
static size_t image_headersz_align(size_t headersz, uint8_t blockid)
static int image_fill_xip_header(void *image, struct image_tool_params *params)
{
@@ -1079,11 +1088,13 @@ static size_t image_headersz_v1(int *hasext)
*/
headersz = sizeof(struct main_hdr_v1);
@@ -1149,13 +1158,13 @@ static size_t image_headersz_v1(int *hasext)
int ret;
headersz = sizeof(struct main_hdr_v1);
-
+#if defined(CONFIG_KWB_SECURE)
if (image_get_csk_index() >= 0) {
headersz += sizeof(struct secure_hdr_v1);
if (hasext)
*hasext = 1;
}
-
+#endif
cpu_sheeva = image_is_cpu_sheeva();
@@ -1270,6 +1281,7 @@ err_close:
count = 0;
@@ -1351,6 +1360,7 @@ err_close:
return -1;
}
@ -93,7 +97,7 @@ index 94b7685392..eec599b0ee 100644
static int export_pub_kak_hash(RSA *kak, struct secure_hdr_v1 *secure_hdr)
{
FILE *hashf;
@@ -1382,6 +1394,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *ptr,
@@ -1458,6 +1468,7 @@ static int add_secure_header_v1(struct image_tool_params *params, uint8_t *image
return 0;
}
@ -101,9 +105,9 @@ index 94b7685392..eec599b0ee 100644
static void finish_register_set_header_v1(uint8_t **cur, uint8_t **next_ext,
struct register_set_hdr_v1 *register_set_hdr,
@@ -1406,7 +1419,9 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
@@ -1481,7 +1492,9 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
struct image_cfg_element *e;
struct main_hdr_v1 *main_hdr;
struct opt_hdr_v1 *ohdr;
struct register_set_hdr_v1 *register_set_hdr;
+#if defined(CONFIG_KWB_SECURE)
struct secure_hdr_v1 *secure_hdr = NULL;
@ -111,15 +115,16 @@ index 94b7685392..eec599b0ee 100644
size_t headersz;
uint8_t *image, *cur;
int hasext = 0;
@@ -1491,6 +1506,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
if (main_hdr->blockid == IBR_HDR_PEX_ID)
main_hdr->srcaddr = cpu_to_le32(0xFFFFFFFF);
@@ -1562,7 +1575,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
}
*dataoff = le32_to_cpu(main_hdr->srcaddr);
}
-
+#if defined(CONFIG_KWB_SECURE)
if (image_get_csk_index() >= 0) {
/*
* only reserve the space here; we fill the header later since
@@ -1501,7 +1517,7 @@ static void *image_create_v1(size_t *imagesz, struct image_tool_params *params,
@@ -1573,7 +1586,7 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
*next_ext = 1;
next_ext = &secure_hdr->next;
}
@ -128,7 +133,7 @@ index 94b7685392..eec599b0ee 100644
datai = 0;
for (cfgi = 0; cfgi < cfgn; cfgi++) {
e = &image_cfg[cfgi];
@@ -1624,10 +1640,12 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
@@ -1624,9 +1637,11 @@ static void *image_create_v1(size_t *dataoff, struct image_tool_params *params,
&datai, delay);
}
@ -140,7 +145,6 @@ index 94b7685392..eec599b0ee 100644
/* Calculate and set the header checksum */
main_hdr->checksum = image_checksum8(main_hdr, headersz);
--- a/tools/image-host.c
+++ b/tools/image-host.c
@@ -14,8 +14,10 @@
@ -154,7 +158,7 @@ index 94b7685392..eec599b0ee 100644
/**
* fit_set_hash_value - set hash value in requested has node
@@ -1116,6 +1118,7 @@
@@ -1119,6 +1121,7 @@ static int fit_config_add_verification_data(const char *keydir,
return 0;
}
@ -162,7 +166,7 @@ index 94b7685392..eec599b0ee 100644
/*
* 0) open file (open)
* 1) read certificate (PEM_read_X509)
@@ -1224,6 +1227,7 @@
@@ -1227,6 +1230,7 @@ int fit_pre_load_data(const char *keydir, void *keydest, void *fit)
out:
return ret;
}
@ -172,7 +176,7 @@ index 94b7685392..eec599b0ee 100644
const char *comment, int require_keys,
--- a/tools/fit_image.c
+++ b/tools/fit_image.c
@@ -59,9 +59,10 @@
@@ -61,9 +61,10 @@ static int fit_add_file_data(struct image_tool_params *params, size_t size_inc,
ret = fit_set_timestamp(ptr, 0, time);
}
@ -186,7 +190,7 @@ index 94b7685392..eec599b0ee 100644
params->comment,
--- a/include/image.h
+++ b/include/image.h
@@ -1090,6 +1090,7 @@
@@ -1182,6 +1182,7 @@ int fit_image_hash_get_value(const void *fit, int noffset, uint8_t **value,
int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
@ -194,7 +198,7 @@ index 94b7685392..eec599b0ee 100644
/**
* fit_pre_load_data() - add public key to fdt blob
*
@@ -1104,6 +1105,7 @@
@@ -1196,6 +1197,7 @@ int fit_set_timestamp(void *fit, int noffset, time_t timestamp);
* < 0, on failure
*/
int fit_pre_load_data(const char *keydir, void *keydest, void *fit);

View File

@ -1,37 +0,0 @@
This patch is backported from U-Boot 2023.01; remove when updating.
From 7d01bb1c5a1daef0187c9ea276bde19a8d0e7fde Mon Sep 17 00:00:00 2001
From: Michal Suchanek <msuchanek@suse.de>
Date: Thu, 13 Oct 2022 22:43:41 +0200
Subject: [PATCH] libfdt: Fix build with python 3.10
Python 3.10 requires defining PY_SSIZE_T_CLEAN. This will be fixed in
swig 4.10 but it is not clear when it will be released. There was a
warning since python 3.8.
Link: https://github.com/swig/swig/pull/2277
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
---
scripts/dtc/pylibfdt/libfdt.i_shipped | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/scripts/dtc/pylibfdt/libfdt.i_shipped b/scripts/dtc/pylibfdt/libfdt.i_shipped
index 27c29ea260..56cc5d48f4 100644
--- a/scripts/dtc/pylibfdt/libfdt.i_shipped
+++ b/scripts/dtc/pylibfdt/libfdt.i_shipped
@@ -7,6 +7,10 @@
%module libfdt
+%begin %{
+#define PY_SSIZE_T_CLEAN
+%}
+
%include <stdint.i>
%{
--
GitLab

View File

@ -1,24 +0,0 @@
Submitted upstream (see:
https://lists.denx.de/pipermail/u-boot/2023-July/521984.html)
diff --git a/tools/u_boot_pylib/pyproject.toml b/tools/u_boot_pylib/pyproject.toml
index 3f33caf6f8..037c5d629e 100644
--- a/tools/u_boot_pylib/pyproject.toml
+++ b/tools/u_boot_pylib/pyproject.toml
@@ -9,7 +9,7 @@ authors = [
{ name="Simon Glass", email="sjg@chromium.org" },
]
description = "U-Boot python library"
-readme = "README.md"
+readme = "README.rst"
requires-python = ">=3.7"
classifiers = [
"Programming Language :: Python :: 3",
@@ -20,3 +20,7 @@ classifiers = [
[project.urls]
"Homepage" = "https://u-boot.readthedocs.io"
"Bug Tracker" = "https://source.denx.de/groups/u-boot/-/issues"
+
+[tool.setuptools.packages.find]
+where = [".."]
+include = ["u_boot_pylib*"]

View File

@ -1,26 +0,0 @@
adapting commit ac804143cf ("mmc: rockchip_sdhci: add phy and clock
config for rk3399") to fix the issue "Not found emmc phy device".
Signed-off-by: Yifeng Zhao <yifeng.zhao@rock-chips.com>
---
arch/arm/dts/rk3399-u-boot.dtsi | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm/dts/rk3399-u-boot.dtsi b/arch/arm/dts/rk3399-u-boot.dtsi
index 73922c328a..716b9a433a 100644
--- a/arch/arm/dts/rk3399-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-u-boot.dtsi
@@ -88,6 +88,10 @@
u-boot,dm-pre-reloc;
};
+&emmc_phy {
+ u-boot,dm-pre-reloc;
+};
+
&grf {
u-boot,dm-pre-reloc;
};
--
2.17.1

View File

@ -170,10 +170,10 @@ Tested-by: Peter Robinson <pbrobinson@gmail.com>
1 file changed, 21 insertions(+)
diff --git a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
index 62b8ba3a4a..be9cc99d90 100644
index 70e61eccb7..ce36db94a7 100644
--- a/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
+++ b/drivers/phy/rockchip/phy-rockchip-inno-usb2.c
@@ -62,6 +62,8 @@ struct rockchip_usb2phy {
@@ -64,6 +64,8 @@ struct rockchip_usb2phy {
void *reg_base;
struct clk phyclk;
const struct rockchip_usb2phy_cfg *phy_cfg;
@ -182,7 +182,7 @@ index 62b8ba3a4a..be9cc99d90 100644
};
static inline int property_enable(void *reg_base,
@@ -92,6 +94,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
@@ -106,6 +108,10 @@ static int rockchip_usb2phy_power_on(struct phy *phy)
struct rockchip_usb2phy *priv = dev_get_priv(parent);
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
@ -193,7 +193,7 @@ index 62b8ba3a4a..be9cc99d90 100644
property_enable(priv->reg_base, &port_cfg->phy_sus, false);
/* waiting for the utmi_clk to become stable */
@@ -106,6 +112,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
@@ -120,6 +126,10 @@ static int rockchip_usb2phy_power_off(struct phy *phy)
struct rockchip_usb2phy *priv = dev_get_priv(parent);
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
@ -204,7 +204,7 @@ index 62b8ba3a4a..be9cc99d90 100644
property_enable(priv->reg_base, &port_cfg->phy_sus, true);
return 0;
@@ -118,6 +128,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
@@ -132,6 +142,10 @@ static int rockchip_usb2phy_init(struct phy *phy)
const struct rockchip_usb2phy_port_cfg *port_cfg = us2phy_get_port(phy);
int ret;
@ -213,9 +213,9 @@ index 62b8ba3a4a..be9cc99d90 100644
+ return 0;
+
ret = clk_enable(&priv->phyclk);
if (ret) {
if (ret && ret != -ENOSYS) {
dev_err(phy->dev, "failed to enable phyclk (ret=%d)\n", ret);
@@ -140,6 +154,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
@@ -154,6 +168,10 @@ static int rockchip_usb2phy_exit(struct phy *phy)
struct udevice *parent = dev_get_parent(phy->dev);
struct rockchip_usb2phy *priv = dev_get_priv(parent);
@ -226,7 +226,7 @@ index 62b8ba3a4a..be9cc99d90 100644
clk_disable(&priv->phyclk);
return 0;
@@ -212,6 +230,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
@@ -294,6 +312,9 @@ static int rockchip_usb2phy_probe(struct udevice *dev)
return ret;
}

View File

@ -1,16 +0,0 @@
Description: prevent relocating initrd & fdt, that results in failure to boot
Author: Heinrich Schuchardt (xypron)
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/u-boot/+bug/1937246
Index: u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h
===================================================================
--- u-boot-2021.07~rc4+dfsg.orig/include/configs/sifive-unmatched.h
+++ u-boot-2021.07~rc4+dfsg/include/configs/sifive-unmatched.h
@@ -55,6 +55,8 @@
"name=system,size=-,bootable,type=${type_guid_gpt_system};"
#define CFG_EXTRA_ENV_SETTINGS \
+ "fdt_high=0xffffffffffffffff\0" \
+ "initrd_high=0xffffffffffffffff\0" \
"kernel_addr_r=0x84000000\0" \
"kernel_comp_addr_r=0x88000000\0" \
"kernel_comp_size=0x4000000\0" \

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,6 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages ed)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
@ -55,6 +54,7 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages less)
#:use-module (gnu packages mail)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages package-management)

View File

@ -24,6 +24,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -107,6 +108,7 @@
#:use-module (gnu packages time)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xdisorg)
@ -976,6 +978,34 @@ configurable toolbars and shortcuts, continuous and multipage layouts,
SyncTeX support, and rudimentary support for annotations and forms.")
(license license:gpl2+)))
(define-public unpaper
(package
(name "unpaper")
(version "7.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.flameeyes.com/files/unpaper-"
version ".tar.xz"))
(sha256
(base32 "103awjdl2qrzi0qc32hi8zvwf04r5ih5jaw8rg8ij9y24szznx95"))))
(native-inputs
(list pkg-config python-sphinx))
(inputs
(list discount ffmpeg))
(build-system meson-build-system)
(home-page "https://www.flameeyes.com/projects/unpaper")
(synopsis "post-processing tool for scanned pages")
(description "@command{unpaper} is a post-processing tool for
scanned sheets of paper, especially for book pages that have been
scanned from previously created photocopies.
Its main purpose is to make scanned book pages better readable on screen
after conversion to PDF. Additionally, unpaper might be useful to
enhance the quality of scanned pages before performing
@acronym{OCR, optical character recognition}.")
(license license:gpl2)))
(define-public xournal
(package
(name "xournal")

View File

@ -429,14 +429,14 @@ from protobuf specification files.")
(define-public python-protobuf
(package
(name "python-protobuf")
(version "3.20.1")
(version "3.20.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "protobuf" version))
(sha256
(base32
"1ja2vpk9nklllmsirmil2s4l7ni9yfqvbvj47zz5xx17s1k1bhxd"))))
"0l0p2lczs5iahgkhzm3298pjl49bk9iiwngkglg7ll7fkqqwlbbi"))))
(build-system python-build-system)
(inputs (list protobuf))
(arguments

View File

@ -583,6 +583,38 @@ data arrays produced during tests, in particular in cases where the arrays
are too large to conveniently hard-code them in the tests.")
(license license:bsd-3)))
(define-public python-pytest-cookies
(package
(name "python-pytest-cookies")
(version "0.7.0")
(source
(origin
;; No tests in the PyPI tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/hackebrot/pytest-cookies")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1x7ny6mx1siy9law1cv1i63nvv9ds2g1dlagm40l8qymxry43mjn"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(native-inputs (list python-pytest))
(propagated-inputs (list python-cookiecutter))
(home-page "https://github.com/hackebrot/pytest-cookies")
(synopsis "Pytest plugin for Cookiecutter templates")
(description
"This Pytest plugin adds a @code{cookies} fixture, which is a
wrapper for the Cookiecutter API. This fixture helps you verify that
your template is working as expected and takes care of cleaning up after
running the tests.")
(license license:expat)))
(define-public python-pytest-doctestplus
(package
(name "python-pytest-doctestplus")

View File

@ -5938,7 +5938,6 @@ flexibility and power of the Python language.")
(string-append "-Wl," "-rpath=" python "/lib")
"-fno-semantic-interposition"
"build/temp/tree/tree.o"
"-Wl,--whole-archive"
"-L" (string-append python "/lib")
(string-append abseil-cpp "/lib/libabsl_int128.a")
(string-append abseil-cpp "/lib/libabsl_raw_hash_set.a")
@ -5946,7 +5945,6 @@ flexibility and power of the Python language.")
(string-append abseil-cpp "/lib/libabsl_strings.a")
(string-append abseil-cpp "/lib/libabsl_strings_internal.a")
(string-append abseil-cpp "/lib/libabsl_throw_delegate.a")
"-Wl,--no-whole-archive"
"-o" "build/lib/tree/_tree.so")))))))
(home-page "https://github.com/deepmind/tree")
(synopsis "Work with nested data structures in Python")
@ -11024,6 +11022,34 @@ MEDLINE XML repository.")
abstract syntax tree (AST) nodes without side effects.")
(license license:expat)))
(define-public python-ast-decompiler
(package
(name "python-ast-decompiler")
(version "0.7.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ast_decompiler" version))
(sha256
(base32 "0dw3fck4ajilphqw4hdpa8pmqxg3jfk2xkmjnk3kx5pqwl3sbhzg"))
;; We need to manually create an __init__.py file under the tests/
;; directory, since it is not included in the distributed
;; version. (See:
;; https://github.com/JelleZijlstra/ast_decompiler/issues/52).
(modules '((guix build utils)))
(snippet '(call-with-output-file "tests/__init__.py"
(const #t)))))
(build-system pyproject-build-system)
(native-inputs (list python-flit-core python-pytest))
(home-page "https://github.com/JelleZijlstra/ast_decompiler")
(synopsis
"Decompile an @acronym{AST, Abstract Syntax Tree} to Python code")
(description
"This library provides functionality to decompile @acronym{AST, Abstract
Syntax Tree} objects, as generated by the standard library @code{ast} module,
to Python code.")
(license license:asl2.0)))
(define-public python-asttokens
(package
(name "python-asttokens")
@ -13102,13 +13128,13 @@ TODO notes checker plugin for flake8.")
(define-public python-flake8-isort
(package
(name "python-flake8-isort")
(version "4.1.1")
(version "6.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flake8-isort" version))
(sha256
(base32 "05r7z0j9rqgy0a9261bhisairrz6w8hy5hy5kf2mhvhfnx53056q"))))
(base32 "0gk4q504v42hdzpkndczc0kkwnr85jn1h5pvb561jh65p91r6qyl"))))
(build-system python-build-system)
(arguments
(list
@ -13117,8 +13143,8 @@ TODO notes checker plugin for flake8.")
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv")))))))
(propagated-inputs (list python-flake8 python-isort python-testfixtures))
(invoke "pytest" "-vv" "run_tests.py")))))))
(propagated-inputs (list python-flake8 python-isort))
(native-inputs (list python-pytest))
(home-page "https://github.com/gforcada/flake8-isort")
(synopsis "Flake8 plugin integrating isort")
@ -17504,28 +17530,47 @@ designed to work across multiple versions of Python.")
(define-public python-cookiecutter
(package
(name "python-cookiecutter")
(version "1.7.3")
(version "2.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "cookiecutter" version))
(sha256
(base32 "0mx49whhwcxmvcak27zr7p7ndzkn3w7psfd7fzh3n91fi1r4v6kb"))))
(base32 "1v1iafk8j2f5cciw9mf4263v91070c6z049cpnw42gwffhs907p6"))))
(build-system python-build-system)
(native-inputs
(list python-freezegun python-pytest python-pytest-catchlog
python-pytest-cov python-pytest-mock))
(propagated-inputs
(list python-binaryornot
python-click
python-future
python-jinja2
python-jinja2-time
python-poyo
python-requests
python-slugify
python-text-unidecode
python-whichcraft))
(arguments
(list
#:phases #~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
;; test_get_user_config.py requires a writable home
;; directory.
(setenv "HOME"
(getcwd))
;; test_hooks.py dynamically creates shell scripts
;; with a /bin/bash shebang. We have to patch these.
(substitute* "tests/test_hooks.py"
(("/bin/bash")
(string-append #$(this-package-native-input
"bash-minimal") "/bin/bash")))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest")))))))
(native-inputs (list bash-minimal
git
python-freezegun
python-pytest
python-pytest-cov
python-pytest-mock))
(propagated-inputs (list python-arrow
python-binaryornot
python-click
python-jinja2
python-pyyaml
python-requests
python-rich
python-slugify))
(home-page "https://github.com/cookiecutter/cookiecutter")
(synopsis
"Command-line utility that creates projects from project templates")
@ -20262,6 +20307,31 @@ etc.")
support.")
(license license:bsd-3)))
(define-public python-pymemcache
(package
(name "python-pymemcache")
(version "4.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pymemcache" version))
(sha256
(base32 "157z9blr8pjg9x84jph5hm0z2l6yaq6n421jcf1hzqn1pg8rpgr7"))))
(build-system pyproject-build-system)
(arguments
;; We don't have the zstd module.
(list
#:test-flags
'(list "--ignore=pymemcache/test/test_compression.py")))
(native-inputs
(list python-faker python-pytest python-pytest-cov))
(home-page "https://github.com/pinterest/pymemcache")
(synopsis "Comprehensive, fast, pure Python memcached client")
(description
"This package provides a comprehensive, fast, pure Python memcached
client.")
(license license:asl2.0)))
(define-public python-pymodbus
(package
(name "python-pymodbus")
@ -34102,6 +34172,46 @@ package. It can be used by type-checking tools like mypy, PyCharm, pytype
etc. to check code that uses @code{orjson}.")
(license license:asl2.0)))
(define-public python-rpds-py
(package
(name "python-rpds-py")
(version "0.10.6")
(source (origin
(method url-fetch)
(uri (pypi-uri "rpds_py" version))
(sha256
(base32
"0l5slkvhq2vf64mapimmj6ginsv01mc4niyj90vvz3assq4agrac"))))
(build-system cargo-build-system)
(arguments
(list
#:imported-modules `(,@%cargo-build-system-modules
,@%pyproject-build-system-modules)
#:modules '((guix build cargo-build-system)
((guix build pyproject-build-system) #:prefix py:)
(guix build utils))
#:phases
#~(modify-phases %standard-phases
(add-after 'prepare-python-module 'build-python-module
(assoc-ref py:%standard-phases 'build))
(add-after 'build-python-module 'install-python-module
(assoc-ref py:%standard-phases 'install)))
#:cargo-inputs
`(("rust-archery" ,rust-archery-1)
("rust-pyo3" ,rust-pyo3-0.19)
("rust-rpds" ,rust-rpds-1))
#:install-source? #false))
(inputs
(list maturin))
(native-inputs
(list python-wrapper))
(home-page "https://github.com/crate-py/rpds")
(synopsis "Bindings to Rust rpds for persistent data structures")
(description "This package provides Python bindings to the Rust rpds crate
for persistent data structures. It was written initially to support replacing
@code{python-pyrsistent}.")
(license license:expat)))
(define-public python-nanoid
;; There are no tests on PyPi.
(let ((commit "061f9a598f310b0e2e91b9ed6ce725a22770da64")
@ -34422,6 +34532,29 @@ The database contains over 6.5 million entries, over 3.1 million unique word
forms, and about 300,000 distinct lemmas.")
(license license:expat)))
(define-public python-icegrams
(package
(name "python-icegrams")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "icegrams" version))
(sha256
(base32 "1ajcjngvr4rlgb0q6p6vjz2sncwhvq3msjy6qaiz5g37vgvw2ij8"))))
(build-system pyproject-build-system)
(propagated-inputs (list python-cffi))
(home-page "https://github.com/mideind/Icegrams")
(synopsis "Trigram statistics for Icelandic")
(description
"Icegrams is a Python package that encapsulates a large trigram
library for Icelandic. You can use Icegrams to obtain probabilities (relative
frequencies) of over a million different unigrams (single words or tokens), or of
bigrams (pairs of two words or tokens), or of trigrams. Icegrams is useful for
instance in spelling correction, predictive typing, to help disabled people
write text fast, and for various text generation, statistics, and modeling tasks.")
(license license:expat)))
(define-public python-zeroc-ice-3.6
(package
(inherit python-zeroc-ice)

View File

@ -29,6 +29,7 @@
;;; Copyright © 2022 Yash Tiwari <yasht@mailbox.org>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2022 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Herman Rimm <herman@rimm.ee>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3674,6 +3675,50 @@ framework. The bindings are implemented as a set of Python modules and
contain over 620 classes.")
(license license:gpl3)))
(define-public python-pyqt-6
(package
(inherit python-pyqt)
(version "6.5.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyQt6" version))
(file-name (string-append "PyQt6-" version ".tar.gz"))
(sha256
(base32 "100jh1iiz5gx821qzgicfrqv7hjjj98pchdbc1nvdzzra1ryx1ql"))))
(inputs ;Qt5 dependencies only in python-pyqt:
;; (qt)connectivity, location, sensors, serialport, x11extras, xmlpatterns.
(list python-wrapper
qtbase
qtdeclarative
qtmultimedia
qtpositioning
qtsvg
qttools
qtwebchannel
qtwebsockets))
(propagated-inputs (list python-sip python-pyqt6-sip))
(native-inputs (list python-pyqt-builder qtbase)) ;qtbase is required for qmake.
(arguments
(list
#:tests? #f ;No tests.
#:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
("--confirm-license" . "")
("--jobs" unquote
(number->string (parallel-job-count))))
#:phases #~(modify-phases %standard-phases
;; When building python-pyqtwebengine, <qprinter.h> cannot be
;; included. Here we substitute the full path to the header in the
;; store.
(add-after 'unpack 'substitute-source
(lambda* (#:key inputs #:allow-other-keys)
(let* ((qprinter.h (search-input-file inputs
"/include/qt6/QtPrintSupport/qprinter.h")))
(substitute* (list "sip/QtPrintSupport/qprinter.sip"
"sip/QtPrintSupport/qpyprintsupport_qlist.sip")
(("qprinter.h")
qprinter.h))))))))))
(define-public python-pyqt5-sip
(package
(name "python-pyqt5-sip")
@ -3693,6 +3738,22 @@ contain over 620 classes.")
(description "Sip module support for PyQt5")
(license license:lgpl2.1+)))
(define-public python-pyqt6-sip
(package
(inherit python-pyqt5-sip)
(name "python-pyqt6-sip")
(version "13.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyQt6_sip" version))
(sha256
(base32 "0y2pgc1kzskq3q230b5d48izvzy9dl4hkfjpcr7kv53ih1cf31i4"))))
(synopsis "Sip module support for PyQt6")
(description
"SIP is used to write self contained extension modules, i.e. without a library
to be wrapped. This SIP extension module provides support for the PyQt6 package.")))
(define-public python-pyqtwebengine
(package
(name "python-pyqtwebengine")
@ -3750,6 +3811,40 @@ set of three modules. Prior to v5.12 these bindings were part of PyQt
itself.")
(license license:gpl3)))
(define-public python-pyqtwebengine-6
(package
(inherit python-pyqtwebengine)
(version "6.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyQt6_WebEngine" version))
(sha256
(base32 "11wlnggs5vi7z465xhmnz664wbaj44ki6mmijbk0kr457x69h2ym"))))
(native-inputs (list python python-sip python-pyqt-builder
;; qtbase is required for qmake
qtbase))
(inputs (list python-pyqt-6 qtbase qtdeclarative qtwebchannel qtwebengine))
(arguments
(list
#:tests? #f ;No tests.
#:configure-flags #~`(@ ("--verbose" . "") ;Print commands run.
("--jobs" unquote
(number->string (parallel-job-count))))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'set-include-dirs
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((python (assoc-ref inputs "python"))
(sip-include-dirs (search-input-directory inputs
(string-append "/lib/python"
(python-version python)
"/site-packages/PyQt6/bindings"))))
(setenv "SIP_INCLUDE_DIRS" sip-include-dirs)))))))
(description
"PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
WebEngine libraries. The bindings sit on top of PyQt6 and are implemented as a
set of three modules.")))
(define-public python-pyqt-builder
(package
(name "python-pyqt-builder")

View File

@ -17,6 +17,7 @@
;;; Copyright © 2022 Jose G Perez Taveras <josegpt27@gmail.com>
;;; Copyright © 2023 Timo Wilken <guix@twilken.net>
;;; Copyright © 2023 Camilo Q.S. (Distopico) <distopico@riseup.net>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -552,11 +553,12 @@ environment variables of the current shell.")
"1gkzdvj73f71388jvym47075l9zw61v6l8wdv2lnc0mns6dxig0k"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(list #:make-flags
#~(list (string-append "CC=" #$(cc-for-target))
(string-append "PREFIX=" #$output))
#:phases
#~(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/jhawthorn/fzy")
(synopsis "Fast fuzzy text selector for the terminal with an advanced
scoring algorithm")
@ -791,3 +793,68 @@ source ${GUIX_ENVIRONMENT:-$HOME/.guix-profile}/etc/profile.d/grc.sh
@end example
")
(license license:gpl2)))
(define-public liquidprompt
(package
(name "liquidprompt")
(version "2.1.2")
(home-page "https://github.com/liquidprompt/liquidprompt")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/liquidprompt/liquidprompt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0ljlq97mh84d6g6r3abb254vrwrdan5v74b69fpd62d7p9ffnsgf"))))
(build-system copy-build-system)
(arguments
(list
#:install-plan #~'(("liquidpromptrc-dist" "etc/liquidpromptrc")
("example.bashrc" "share/liquidprompt/examples/")
("liquid.ps1" "share/liquidprompt/examples/")
("liquidprompt" "share/liquidprompt/")
("contrib" "share/liquidprompt/")
("themes" "share/liquidprompt/")
("liquidprompt.plugin.zsh"
"share/zsh/plugins/liquidprompt/")
("docs" #$(string-append "share/doc/" name "-"
version "/")))
#:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-plugin
(lambda _
(substitute* "liquidprompt.plugin.zsh"
(("source(.*)$")
(string-append "source "
#$output
"/share/liquidprompt/liquidprompt")))))
(add-after 'fix-plugin 'fix-tput-path
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "liquidprompt"
(("([ (])tput " all beginning)
(string-append beginning
(search-input-file inputs "bin/tput")
" "))))))))
(inputs (list ncurses))
(synopsis "Full-featured prompt for Bash & Zsh")
(description
"Liquidprompt is an adaptive prompt for Bash and Zsh that gives
you a nicely displayed prompt with useful information when you need it. It
does this with a powerful theming engine and a large array of data sources.
In order to use liquidprompt with Zsh, you should use the following snippet
with Guix Home:
@example
(service home-zsh-service-type
(home-zsh-configuration
(zshrc (list ;;...
;; This loads liquidprompt
(mixed-text-file \"liquidprompt\"
\"[[ $- = *i* ]] && source \" liquidprompt \"/share/liquidprompt/liquidprompt\")
;; This loads the powerline theme available in liquidprompt
(mixed-text-file \"powerline-theme\"
\"source \" liquidprompt \"/share/liquidprompt/themes/powerline/powerline.theme\"))))))
@end example\n")
(license license:agpl3+)))

View File

@ -42,14 +42,17 @@
(arguments
'(#:tests? #f ; no tests exist
#:phases (modify-phases %standard-phases
(add-after 'unpack 'reproducible
(add-after 'unpack 'patch
(lambda _
;; This umask makes the symlinks in lib readable on
;; i586-gnu
(substitute* "tools/install.sh"
(("umask 077") "umask 033"))
;; Sort source files deterministically so that the *.a
;; and *.so files are reproducible.
(substitute* "Makefile"
(("\\$\\(wildcard src/lib\\*/\\*.c\\)")
"$(sort $(wildcard src/lib*/*.c))")))))))
(supported-systems (delete "i586-gnu" %supported-systems))
(home-page "https://skarnet.org/software/skalibs/")
(synopsis "Platform abstraction libraries for skarnet.org software")
(description

View File

@ -132,7 +132,7 @@ file names.
(define-public libssh
(package
(name "libssh")
(version "0.10.5")
(version "0.10.6")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libssh.org/files/"
@ -140,7 +140,7 @@ file names.
"/libssh-" version ".tar.xz"))
(sha256
(base32
"0d22gq77ga24ijlgr3d1wvhfvprx61iklkb3npifxfb7ygvjy3mn"))
"1hcxvsb4brznxqq6cjwxkk7yv4c48w4fcwxwd8dp9wdnyncd8q8q"))
(modules '((guix build utils)))
(snippet
;; 'PATH_MAX' is undefined on GNU/Hurd; work around it.
@ -198,7 +198,7 @@ a server that supports the SSH-2 protocol.")
(define-public openssh
(package
(name "openssh")
(version "9.5p1")
(version "9.6p1")
(source
(origin
(method url-fetch)
@ -206,11 +206,14 @@ a server that supports the SSH-2 protocol.")
"openssh-" version ".tar.gz"))
(patches (search-patches "openssh-trust-guix-store-directory.patch"))
(sha256
(base32 "0sq8hqk6f0x6djgvqawjbwwxpwd8r1nzjahqfl7m9yx7kfvyf9ph"))))
(base32 "0z3pgam8b4z05lvdb78iv06p204qwl7b94a3cnnwba2mfb0120li"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "tests"
;; Not all of the tests can be run in parallel, see
;; <https://marc.info/?l=openssh-unix-dev&m=170313565518842>.
#:parallel-tests? #f
;; Otherwise, the test scripts try to use a nonexistent directory and fail.
#:make-flags
#~(list "REGRESSTMP=\"$${BUILDDIR}/regress\"")

View File

@ -139,7 +139,7 @@ fundamental object types for C.")
(define-public sssd
(package
(name "sssd")
(version "2.9.2")
(version "2.9.3")
(source
(origin
(method git-fetch)
@ -148,7 +148,7 @@ fundamental object types for C.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17nhivmg5z9j3mxqmn21l8y56c6ibpglhlnvqxy8rmsp3z5h868b"))
(base32 "0iixn262ycicy2fm96zvifd21p21069mhcsnk262qk79cjvlwdar"))
(patches (search-patches "sssd-system-directories.patch"))))
(build-system gnu-build-system)
(arguments

View File

@ -716,13 +716,13 @@ nonlinear mixed-effects models.")
(define-public r-mgcv
(package
(name "r-mgcv")
(version "1.9-0")
(version "1.9-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "mgcv" version))
(sha256
(base32 "0w1v0hdswb332xz3br1fcgacib7ddr4hb96cmlycxcpqq5w01cdj"))))
(base32 "0cnvbdda243as2bxfsgnnk7xjmp1msgr9i4vbd84jfnxpqvvq3vh"))))
(build-system r-build-system)
(propagated-inputs
(list r-matrix r-nlme))
@ -1178,14 +1178,14 @@ solution for sending email, including attachments, from within R.")
(define-public r-stringi
(package
(name "r-stringi")
(version "1.8.2")
(version "1.8.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "stringi" version))
(sha256
(base32
"0bd7x9gl0rhpkpdi9j7a449dw2xsgczgbdj600658z5b6wq25l3a"))))
"09a964g8q3iphq24ln9c9g5158ynr75pfh3ghddarn0xvn7bw0hn"))))
(build-system r-build-system)
(inputs (list icu4c))
(native-inputs (list pkg-config))
@ -1408,13 +1408,13 @@ evaluation (NSE) in R.")
(define-public r-dbi
(package
(name "r-dbi")
(version "1.1.3")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (cran-uri "DBI" version))
(sha256
(base32
"13a2656w5j9shpcwa7gj2szy7nk9sajjhlisi5wdpgd57msk7frq"))))
"1g4c2qfyjwbjwbsczhk83xmx74764nn53gnqzb6xxrwqjbxj4dpn"))))
(build-system r-build-system)
(native-inputs
(list r-knitr))
@ -1560,13 +1560,13 @@ syntax that can be converted to XHTML or other formats.")
(define-public r-yaml
(package
(name "r-yaml")
(version "2.3.7")
(version "2.3.8")
(source (origin
(method url-fetch)
(uri (cran-uri "yaml" version))
(sha256
(base32
"1aw0cvaqw8a0d1r3cplj5kiabkcyz8fghcpi0ax8mi7rw0cv436j"))))
"1n1zlbnq3ldipnnm08whpvm8r21vxg4c9jzg7x7j3blw2pi7kl4y"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/yaml/")
(synopsis "Methods to convert R data to YAML and back")
@ -2738,13 +2738,13 @@ SLURM and Sun Grid Engine. Multicore and SSH systems are also supported.")
(define-public r-brew
(package
(name "r-brew")
(version "1.0-8")
(version "1.0-10")
(source (origin
(method url-fetch)
(uri (cran-uri "brew" version))
(sha256
(base32
"09kq14nbaw0mmpb2vbfklz786q6lyizzkyg5bg64bmj2f1d2sr8i"))))
"13x3vnrhfcvr479r4dya61a5vcky2gb4kv2xbivy0ah39qrzg0a1"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/brew")
(synopsis "Templating framework for report generation")
@ -3535,14 +3535,14 @@ statements.")
(define-public r-segmented
(package
(name "r-segmented")
(version "2.0-0")
(version "2.0-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "segmented" version))
(sha256
(base32
"1j7flzav26ldhg50gzcx8azfh9sx4ay30g75ipq56vqibzc33fwd"))))
"0r3l39sihncrmhs6y3nydr6izp5ss86rfwjyhwf2x0clvqq2gkz9"))))
(build-system r-build-system)
(propagated-inputs (list r-mass r-nlme))
(home-page "https://cran.r-project.org/web/packages/segmented")
@ -4402,13 +4402,13 @@ t-probabilities, quantiles, random deviates and densities.")
(define-public r-matrixstats
(package
(name "r-matrixstats")
(version "1.1.0")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (cran-uri "matrixStats" version))
(sha256
(base32
"0h85hjvsmc8s3hyjdj83fykb2vl8jc7pb9ynp2xsl0q9v1sihrxl"))))
"0ws5lmzqm42vrn5791l21zr05l78x0xi6b89jw0gi0vjb4pc20z4"))))
(properties `((upstream-name . "matrixStats")))
(build-system r-build-system)
(arguments
@ -5190,13 +5190,13 @@ with alternating row colors) in LaTeX and HTML formats easily from
(define-public r-vipor
(package
(name "r-vipor")
(version "0.4.5")
(version "0.4.7")
(source (origin
(method url-fetch)
(uri (cran-uri "vipor" version))
(sha256
(base32
"112gc0d7f8iavgf56pnzfxb7hy75yhd0zlyjzshdcfbnqcd2a6bx"))))
"17hb6y1i9bva0fr4k9m6wncmnzdjad1b7fhsvfhva4xavpll3bds"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/vipor")
(synopsis "Plot categorical data using noise and density estimates")
@ -5391,14 +5391,14 @@ Farebrother's algorithm or Liu et al.'s algorithm.")
(define-public r-cowplot
(package
(name "r-cowplot")
(version "1.1.1")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "cowplot" version))
(sha256
(base32
"0j7d5vhzdxn1blrsfafx5z8lhq122rp8230hp9czrpsnnhjydp67"))))
"1ppsg3rbqz9a16zq87izdj5w8ylb6jb6v13xb01k7m3n2h4mv4f6"))))
(build-system r-build-system)
(propagated-inputs
(list r-ggplot2 r-gtable r-rlang r-scales))
@ -5779,14 +5779,14 @@ of the points.")
(define-public r-fpc
(package
(name "r-fpc")
(version "2.2-10")
(version "2.2-11")
(source
(origin
(method url-fetch)
(uri (cran-uri "fpc" version))
(sha256
(base32
"1lj7j74yx747iic1hcngzbym0sqxppja8bxw64m0j6na5s7m9d4r"))))
"06j1dzlf96qcaiqg8m5iah9rmwdppky04xjhs8k4rh0k12wr0mc2"))))
(build-system r-build-system)
(propagated-inputs
(list r-class

View File

@ -7,6 +7,7 @@
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2023 Benjamin Slade <slade@lambda-y.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -44,7 +45,7 @@
(define-public syncthing
(package
(name "syncthing")
(version "1.25.0")
(version "1.27.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -52,7 +53,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"18cyg0wnf34xi964fxvzxgcq6z0pbirk0k4z82w1cqi3f3l9jlg2"))))
"0d1qlzh07a9h2wx2fxm2fdask2sm750pqwk7jx62x2hcwmb08ysw"))))
(build-system go-build-system)
;; The primary Syncthing executable goes to "out", while the auxiliary
;; server programs and utility tools go to "utils". This reduces the size

View File

@ -1,6 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015-2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2016 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2016 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017, 2018, 2020, 2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Nikita <nikita@n0.is>
@ -20,10 +24,12 @@
;;; Copyright © 2022 Luis Henrique Gomes Higino <luishenriquegh2701@gmail.com>
;;; Copyright © 2022 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe>
;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
;;; Copyright © 2022 jgart <jgart@dismail.de>
;;; Copyright © 2022 Andy Tai <atai@atai.org>
;;; Copyright © 2023 Eidvilas Markevičius <markeviciuseidvilas@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -62,6 +68,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages code)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages curl)
@ -102,6 +109,37 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
(define-public ed
(package
(name "ed")
(version "1.18")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/ed/ed-"
version ".tar.lz"))
(sha256
(base32
"0krb8rsb0cd8mgz0c5pqgnjbbrj7zjl7mf9099r8gi80k2nyza5c"))))
(build-system gnu-build-system)
(native-inputs (list lzip))
(arguments
`(#:configure-flags (list ,(string-append "CC=" (cc-for-target)))
#:phases
(modify-phases %standard-phases
(add-before 'patch-source-shebangs 'patch-test-suite
(lambda _
(substitute* "testsuite/check.sh"
(("/bin/sh") (which "sh"))))))))
(home-page "https://www.gnu.org/software/ed/")
(synopsis "Line-oriented text editor")
(description
"Ed is a line-oriented text editor: rather than offering an overview of
a document, ed performs editing one line at a time. It can be executed both
interactively and via shell scripts. Its method of command input allows
complex tasks to be performed in an automated way. GNU ed offers several
extensions over the standard utility.")
(license license:gpl3+)))
(define-public vis
(package
(name "vis")
@ -562,6 +600,28 @@ Wordstar-, EMACS-, Pico, Nedit or vi-like key bindings. e3 can be used on
OpenBSD team.")
(license license:public-domain)))
(define-public nano
(package
(name "nano")
(version "7.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/nano/nano-" version ".tar.xz"))
(sha256
(base32 "09j5gb44yiv18fvn0iy17jnl9d5lh3gkry4kqv776a5xd0kl9ww6"))))
(build-system gnu-build-system)
(inputs
(list gettext-minimal ncurses))
(home-page "https://www.nano-editor.org/")
(synopsis "Small, user-friendly console text editor")
(description
"GNU nano is a small and simple text editor for use in a terminal. Besides
basic editing, it supports: undo/redo, syntax highlighting, spell checking,
justifying, auto-indentation, bracket matching, interactive search-and-replace
(with regular expressions), and the editing of multiple files.")
(license license:gpl3+))) ; some files are under GPLv2+
(define-public qemacs
(package
(name "qemacs")

View File

@ -13,6 +13,7 @@
;;; Copyright © 2021-2023 Danial Behzadi <dani.behzi@ubuntu.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Jim Newsome <jnewsome@torproject.org>
;;; Copyright © 2023 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,11 +37,15 @@
#:use-module (guix utils)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system mozilla)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages browser-extensions)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages check)
@ -48,6 +53,7 @@
#:use-module (gnu packages pcre)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-check)
@ -483,3 +489,282 @@ Potential client and exit connections are scrubbed of sensitive information.")
the onion proxy and sets up proxy in user session, so you don't have to mess
up with TOR on your system anymore.")
(license license:gpl3+)))
;; Must be of the form YYYYMMDDhhmmss as in `date +%Y%m%d%H%M%S`.
(define %moz-build-date "20231219173144")
;; To find the last version, look at https://www.torproject.org/download/.
(define %torbrowser-version "13.0.8")
;; To find the last Firefox version, browse
;; https://archive.torproject.org/tor-package-archive/torbrowser/<%torbrowser-version>
;; There should be only one archive that starts with
;; "src-firefox-tor-browser-".
(define %torbrowser-firefox-version "115.6.0esr-13.0-1-build2")
(define torbrowser-assets
;; This is a prebuilt Torbrowser from which we take the assets we need.
(package
(name "torbrowser-assets")
(version %torbrowser-version)
(source
(origin
(method url-fetch)
(uri
(string-append
"https://archive.torproject.org/tor-package-archive/torbrowser/"
version "/tor-browser-linux-x86_64-" version ".tar.xz"))
(sha256
(base32
"0v67x3pa0mga970andlz58k2wz8b8x7aman8gkkahnd003h9qgvq"))))
(arguments
(list
#:install-plan
''(("Browser" "." #:include-regexp
("^\\./TorBrowser/Data/Tor/torrc-defaults"
"^\\./fonts/"
"^\\./fontconfig/fonts.conf")))))
(build-system copy-build-system)
(home-page "https://www.torproject.org")
(synopsis "Tor Browser assets")
(description "This package contains fonts and configuration files for Tor
Browser.")
(license license:silofl1.1)))
(define-public torbrowser
(package
(inherit icecat-minimal)
(name "torbrowser")
(version %torbrowser-version)
(source
(origin
(method url-fetch)
(uri
(string-append
"https://archive.torproject.org/tor-package-archive/torbrowser/"
version "/src-firefox-tor-browser-" %torbrowser-firefox-version
".tar.xz"))
(sha256
(base32
"1c0p8aya7sh7nmawngkyzx2r02mvl9nd53hx2bl0jwvsj1vxxhca"))))
(build-system mozilla-build-system)
(arguments
(substitute-keyword-arguments (package-arguments icecat-minimal)
((#:configure-flags flags '())
#~(cons*
"--without-relative-data-dir" ;store is read-only
"--disable-base-browser-update"
;; Default is "default", which is the same as "nightly".
"--enable-update-channel=release"
"--with-user-appdir=.torbrowser"
"--with-branding=browser/branding/tb-release"
(string-append "--prefix=" #$output)
(string-append "--with-base-browser-version=" #$version)
#$flags))
((#:phases phases)
#~(modify-phases #$phases
(add-before 'configure 'setenv
(lambda _
(setenv "CONFIG_SHELL" (which "bash"))
;; Install location is prefix/lib/$MOZ_APP_NAME. Also
;; $MOZ_APP_NAME is the executable name. Default is
;; "firefox".
(setenv "MOZ_APP_NAME" "torbrowser")
;; Profile location (relative to "~/."). Default is
;; lower($MOZ_APP_VENDOR/$MOZ_APP_BASENAME), which is:
;; ~/.tor project/firefox.
(setenv "MOZ_APP_PROFILE" "torbrowser/browser")
;; WM_CLASS (default is "$MOZ_APP_NAME-$MOZ_UPDATE_CHANNEL").
(setenv "MOZ_APP_REMOTINGNAME" "Tor Browser")
;; Persistent state directory for the build system (default is
;; $HOME/.mozbuild).
(setenv "MOZBUILD_STATE_PATH"
(in-vicinity (getcwd) ".mozbuild"))
;; Make build reproducible.
(setenv "MOZ_BUILD_DATE" #$%moz-build-date)))
(add-before 'configure 'mozconfig
(lambda* (#:key configure-flags #:allow-other-keys)
(with-output-to-file "mozconfig"
(lambda ()
(format #t ". $topsrcdir/mozconfig-linux-x86_64~%")
(for-each (lambda (flag)
(format #t "ac_add_options ~a~%" flag))
configure-flags)))))
(replace 'configure
(lambda _
(invoke "./mach" "configure")))
(add-before 'build 'fix-addons-placeholder
(lambda _
(substitute*
"toolkit/locales/en-US/toolkit/about/aboutAddons.ftl"
(("addons.mozilla.org") "gnuzilla.gnu.org"))))
(add-after 'install 'deploy-assets
(lambda _
(let ((assets #$(this-package-input "torbrowser-assets"))
(lib (in-vicinity #$output "lib/torbrowser"))
(tor #$(this-package-input "tor-client")))
;; TorBrowser/Data/Tor/torrc-defaults
(copy-recursively (in-vicinity assets "TorBrowser")
(in-vicinity lib "TorBrowser"))
;; The geoip and geoip6 files are in the same directory as
;; torrc-defaults. (See TorProcess.sys.mjs.)
(mkdir-p (in-vicinity lib "TorBrowser/Data/Tor"))
(copy-file (in-vicinity tor "share/tor/geoip")
(in-vicinity lib "TorBrowser/Data/Tor/geoip"))
(copy-file (in-vicinity tor "share/tor/geoip6")
(in-vicinity lib "TorBrowser/Data/Tor/geoip6"))
;; Fonts
(copy-recursively (in-vicinity assets "fontconfig")
(in-vicinity lib "fontconfig"))
(substitute* (in-vicinity lib "fontconfig/fonts.conf")
(("<dir>fonts</dir>")
(format #f "<dir>~a</dir>" (in-vicinity lib "fonts"))))
(delete-file-recursively (in-vicinity lib "fonts"))
(copy-recursively (in-vicinity assets "fonts")
(in-vicinity lib "fonts")))))
(replace 'build-sandbox-whitelist
(lambda* (#:key inputs #:allow-other-keys)
(define (runpath-of lib)
(call-with-input-file lib
(compose elf-dynamic-info-runpath
elf-dynamic-info
parse-elf
get-bytevector-all)))
(define (runpaths-of-input label)
(let* ((dir (string-append (assoc-ref inputs label) "/lib"))
(libs (find-files dir "\\.so$")))
(append-map runpath-of libs)))
;; Populate the sandbox read-path whitelist as needed by ffmpeg.
(let* ((whitelist
(map (cut string-append <> "/")
(delete-duplicates
`(,(string-append (assoc-ref inputs "shared-mime-info")
"/share/mime")
,@(append-map runpaths-of-input
'("mesa" "ffmpeg"))))))
(whitelist-string (string-join whitelist ",")))
(with-output-to-file "whitelist.txt"
(lambda ()
(display whitelist-string))))))
(add-after 'install 'autoconfig
(lambda* (#:key inputs #:allow-other-keys)
(let ((lib (in-vicinity #$output "lib/torbrowser"))
(config-file "tor-browser.cfg"))
(with-output-to-file (in-vicinity
lib "defaults/pref/autoconfig.js")
(lambda ()
(format #t "// first line must be a comment~%")
(format #t "pref(~s, ~s);~%"
"general.config.filename" config-file)
(format #t "pref(~s, ~a);~%"
"general.config.obscure_value" "0")))
(with-output-to-file (in-vicinity lib config-file)
(lambda ()
(format #t "// first line must be a comment~%")
(format #t "pref(~s, ~s);~%"
"extensions.torlauncher.torrc-defaults_path"
(in-vicinity
lib "TorBrowser/Data/Tor/torrc-defaults"))
(format #t "pref(~s, ~s);~%"
"extensions.torlauncher.tor_path"
(search-input-file inputs "bin/tor"))
;; Required for Guix packaged extensions
;; SCOPE_PROFILE=1, SCOPE_APPLICATION=4, SCOPE_SYSTEM=8
;; Default is 5.
(format #t "pref(~s, ~a);~%"
"extensions.enabledScopes" "13")
(format #t "pref(~s, ~s);~%"
"security.sandbox.content.read_path_whitelist"
(call-with-input-file "whitelist.txt"
get-string-all))
;; Add-ons pannel (see settings.js in Icecat source).
(format #t "pref(~s, ~s);~%"
"extensions.getAddons.search.browseURL"
"https://gnuzilla.gnu.org/mozzarella")
(format #t "pref(~s, ~s);~%"
"extensions.getAddons.get.url"
"https://gnuzilla.gnu.org/mozzarella")
(format #t "pref(~s, ~s);~%"
"extensions.getAddons.link.url"
"https://gnuzilla.gnu.org/mozzarella")
(format #t "pref(~s, ~s);~%"
"extensions.getAddons.discovery.api_url"
"https://gnuzilla.gnu.org/mozzarella")
(format #t "pref(~s, ~s);~%"
"extensions.getAddons.langpacks.url"
"https://gnuzilla.gnu.org/mozzarella")
(format #t "pref(~s, ~s);~%"
"lightweightThemes.getMoreURL"
"https://gnuzilla.gnu.org/mozzarella"))))))
(replace 'wrap-program
(lambda* (#:key inputs #:allow-other-keys)
(let* ((gtk #$(this-package-input "gtk+"))
(gtk-share (string-append gtk "/share"))
(fonts.conf (in-vicinity
#$output
"lib/torbrowser/fontconfig/fonts.conf"))
(ld-libs '#$(cons
(file-append
(this-package-input "libcanberra")
"/lib/gtk-3.0/modules")
(map
(lambda (label)
(file-append
(this-package-input label) "/lib"))
'("libpng-apng"
"libxscrnsaver"
"mesa"
"pciutils"
"mit-krb5"
"eudev"
"pulseaudio"
"libnotify")))))
(wrap-program
(in-vicinity #$output "lib/torbrowser/torbrowser")
`("XDG_DATA_DIRS" prefix (,gtk-share))
`("LD_LIBRARY_PATH" prefix ,ld-libs)
`("FONTCONFIG_FILE" prefix (,fonts.conf))))))
(replace 'install-desktop-entry
(lambda _
(let ((apps (in-vicinity #$output "share/applications")))
(mkdir-p apps)
(make-desktop-entry-file
(in-vicinity apps "torbrowser.desktop")
#:name "Tor Browser"
#:exec
(format #f "~a %u" (in-vicinity #$output "bin/torbrowser"))
#:comment
"Tor Browser is +1 for privacy and -1 for mass surveillance"
#:categories '("Network" "WebBrowser" "Security")
#:startup-w-m-class "Tor Browser"
#:icon "tor-browser"))))
(replace 'install-icons
(lambda* (#:key inputs #:allow-other-keys)
(for-each
(lambda (size)
(let ((oldpath (string-append
"browser/branding/tb-release/default"
size ".png"))
(newpath (string-append #$output
"/share/icons/hicolor/"
size "x" size "/apps")))
(mkdir-p newpath)
(copy-file oldpath
(in-vicinity newpath "tor-browser.png"))))
'("16" "22" "24" "32" "48" "64" "128" "256"))))))))
(inputs
(modify-inputs (package-inputs icecat-minimal)
(append bash-minimal
tor-client
torbrowser-assets)))
(propagated-inputs
(list noscript/icecat))
(home-page "https://www.torproject.org")
(synopsis "Anonymous browser derived from Mozilla Firefox")
(description
"Tor Browser is the Tor Project version of Firefox browser. It is the
only recommended way to anonymously browse the web that is supported by the
project. It modifies Firefox in order to avoid many know application level
attacks on the privacy of Tor users.")
(license license:mpl2.0))) ;And others, see
;toolkit/content/license.html

View File

@ -97,7 +97,6 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages ed)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages freedesktop)
@ -117,7 +116,6 @@
#:use-module (gnu packages mail)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages ssh)
#:use-module (gnu packages web)
@ -137,6 +135,7 @@
#:use-module (gnu packages ruby)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages admin)
#:use-module (gnu packages xml)
#:use-module (gnu packages emacs)
@ -1441,7 +1440,7 @@ management by roles and individual account maintenance.")
(define-public shflags
(package
(name "shflags")
(version "1.2.3")
(version "1.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1450,7 +1449,7 @@ management by roles and individual account maintenance.")
(file-name (git-file-name name version))
(sha256
(base32
"1ydx0sb6vz9s2dgp5bd64y7fpzh9qvmlfjxrbmzac8saknijrlly"))))
"0jj0zkly8yg42b8jvih2cmmafv95vm8mv80n3dyalvr5i14lzqd8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests

View File

@ -67,6 +67,7 @@
;;; Copyright © 2023 Dominik Delgado Steuter <dds@disroot.org>
;;; Copyright © 2023 Saku Laesvuori <saku@laesvuori.fi>
;;; Copyright © 2023 Jaeme Sifat <jaeme@runbox.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1533,7 +1534,7 @@ libebml is a C++ library to read and write EBML files.")
(define-public libplacebo
(package
(name "libplacebo")
(version "4.208.0")
(version "6.338.1")
(source
(origin
(method git-fetch)
@ -1542,16 +1543,16 @@ libebml is a C++ library to read and write EBML files.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "161dp5781s74ca3gglaxlmchx7glyshf0wg43w98pl22n1jcm5qk"))))
(base32 "1miqk3gfwah01xkf4a6grwq29im0lfh94gp92y7js855gx3v169m"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags
`("-Dopengl=enabled"
,(string-append "-Dvulkan-registry="
(assoc-ref %build-inputs "vulkan-headers")
"/share/vulkan/registry/vk.xml"))))
(list #:configure-flags
#~(list "-Dopengl=enabled"
(string-append "-Dvulkan-registry="
#$(this-package-input "vulkan-headers")
"/share/vulkan/registry/vk.xml"))))
(native-inputs
(list python python-mako pkg-config))
(list glad python python-mako pkg-config))
(inputs
(list lcms
libepoxy
@ -2338,7 +2339,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(define-public mpv
(package
(name "mpv")
(version "0.36.0")
(version "0.37.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2346,8 +2347,8 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1ri06h7pv6hrxmxxc618n9hymlgr0gfx38bqq5dcszdgnlashsgk"))))
(build-system waf-build-system)
(base32 "1xcyfpd543lbmg587wi0mahrz8vhyrlr4432054vp6wsi3s36c4b"))))
(build-system meson-build-system)
(arguments
(list
#:phases
@ -2364,21 +2365,15 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
;; and passed as linker flags, but the order in which they are added
;; varies. See <https://github.com/mpv-player/mpv/issues/7855>.
;; Set PYTHONHASHSEED as a workaround for deterministic results.
(setenv "PYTHONHASHSEED" "1")))
(add-before 'configure 'set-up-waf
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (search-input-file inputs "bin/waf") "waf")
(setenv "CC" #$(cc-for-target)))))
(setenv "PYTHONHASHSEED" "1"))))
#:configure-flags
#~(list "--enable-libmpv-shared"
"--enable-cdda"
"--enable-dvdnav"
"--disable-build-date")
;; No check function defined.
#:tests? #f))
#~(list "-Dlibmpv=true"
"-Dcdda=enabled"
"-Ddvdnav=enabled"
"-Dbuild-date=false")))
(native-inputs
(list perl ; for zsh completion file
pkg-config python-docutils))
pkg-config python-docutils python-wrapper))
;; Missing features: libguess, V4L2.
(inputs
(list alsa-lib
@ -2395,6 +2390,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
libdvdread
libdvdnav
libjpeg-turbo
libplacebo
libva
libvdpau
libx11
@ -2405,13 +2401,11 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
libxrandr
libxscrnsaver
libxv
;; XXX: lua > 5.2 is not currently supported; see
;; waftools/checks/custom.py
;; XXX: lua > 5.2 is not currently supported; see meson.build
lua-5.2
mesa
mpg123
pulseaudio
python-waf
rsound
shaderc
vulkan-headers
@ -2419,6 +2413,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
wayland
wayland-protocols
yt-dlp
zimg
zlib))
(home-page "https://mpv.io/")
(synopsis "Audio and video player")
@ -3762,6 +3757,35 @@ This may help improve your viewers watching experience, and allows you to use
your host privately.")
(license license:gpl2+)))
(define-public obs-pipewire-audio-capture
(package
(name "obs-pipewire-audio-capture")
(version "1.1.2")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/dimtpap/obs-pipewire-audio-capture")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0qjl8xlaf54zgz34f1dfybdg2inc2ir42659kh15ncihpgbx0wzl"))))
(build-system cmake-build-system)
(arguments
(list
#:tests? #f ; no test target
#:configure-flags
#~(list (string-append "-DLIBOBS_INCLUDE_DIR="
#$(this-package-input "obs") "/lib")
"-Wno-dev")))
(native-inputs (list libconfig pkg-config))
(inputs (list obs pipewire))
(home-page "https://obsproject.com/forum/resources/pipewire-audio-capture.1458/")
(synopsis "Audio device and application capture for OBS Studio using PipeWire")
(description "This plugin adds 3 sources for capturing audio outputs,
inputs and applications using PipeWire.")
(license license:gpl2+)))
(define-public obs-websocket
;; Functionality was merged into OBS.
(deprecated-package "obs-websocket" obs))

View File

@ -470,11 +470,13 @@ trouble using them, because you do not have to remember each snippet name.")
"0av2m075n6z05ah9ndrgnp9s16yrz6n2lj0igd9fh3c5k41x5xks"))))
(build-system vim-build-system)
(arguments
'(#:plugin-name "coqtail"
`(#:plugin-name "coqtail"
#:vim ,vim-full ; Plugin needs Python 3.
#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda* (#:key inputs native-inputs tests? #:allow-other-keys)
(lambda* (#:key inputs native-inputs tests? vim? neovim?
#:allow-other-keys)
(when tests?
(display "Running Python unit tests.\n")
(setenv "PYTHONPATH" (string-append (getcwd) "/python"))
@ -488,23 +490,27 @@ trouble using them, because you do not have to remember each snippet name.")
"vim-vader"))
(vader-path (string-append
vim-vader
"/share/vim/vimfiles/pack/guix/start/vader")))
(if vim?
"/share/vim/vimfiles"
"/share/nvim/site")
"/pack/guix/start/vader"))
(command `(,@(if vim? '("vim" "-E") '())
,@(if neovim? '("nvim" "--headless") '())
"-Nu" "vimrc"
"-c" "Vader! *.vader")))
(with-directory-excursion "tests/vim"
(when neovim?
(setenv "HOME" (getcwd)))
(setenv "VADER_PATH" vader-path)
(invoke (string-append
(assoc-ref (or native-inputs inputs) "vim-full")
"/bin/vim")
"-E" "-Nu" "vimrc"
"-c" "Vader! *.vader")))
(apply invoke command)))
;; Remove __pycache__ files generated during testing so that
;; they don't get installed.
(delete-file-recursively "python/__pycache__")))))))
(native-inputs
`(("coq-for-coqtail" ,coq-for-coqtail)
("python-pytest" ,python-pytest)
("vim-full" ,vim-full) ; Plugin needs Python 3.
("vim-vader" ,vim-vader)))
(list coq-for-coqtail
python-pytest
vim-vader))
(propagated-inputs (list coq coq-ide-server))
(synopsis "Interactive Coq proofs in Vim")
(description "Coqtail enables interactive Coq proof development in Vim
@ -512,6 +518,18 @@ similar to CoqIDE or ProofGeneral.")
(home-page "https://github.com/whonore/Coqtail")
(license license:expat))))
(define-public neovim-coqtail
(package
(inherit vim-coqtail)
(name "neovim-coqtail")
(synopsis "Interactive Coq proofs in Neovim")
(description "Coqtail enables interactive Coq proof development in Neovim
similar to CoqIDE or ProofGeneral.")
(native-inputs
(modify-inputs (package-native-inputs vim-coqtail)
(replace "vim-vader" neovim-vader)
(append python-minimal python-pynvim)))))
(define-public vim-fugitive
(package
(name "vim-fugitive")
@ -1509,7 +1527,7 @@ operations are available for most filetypes.")
#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda* (#:key tests? #:allow-other-keys)
(lambda* (#:key tests? vim? neovim? #:allow-other-keys)
(when tests?
;; FIXME: suite1.vader fails with an unknown reason,
;; lang-if.vader requires Python and Ruby.
@ -1519,9 +1537,11 @@ operations are available for most filetypes.")
(display "Running Vim tests\n")
(with-directory-excursion "test"
(setenv "VADER_TEST_VIM" "vim -E")
(when vim?
(setenv "VADER_TEST_VIM" "vim -E"))
(when neovim?
(setenv "VADER_TEST_VIM" "nvim --headless"))
(invoke "bash" "./run-tests.sh"))))))))
(native-inputs (list vim))
(home-page "https://github.com/junegunn/vader.vim")
(synopsis "Test framework for Vimscript")
(description "Vader is a test framework for Vimscript designed to
@ -1531,6 +1551,11 @@ be integrated with @acronym{CI, Continuous Integration} pipelines to
automate testing and is compatible with Vim and Neovim.")
(license license:expat)))) ;; Specified in README.md.
(define-public neovim-vader
(package
(inherit vim-vader)
(name "neovim-vader")))
(define-public vim-jedi-vim
(package
(name "vim-jedi-vim")

View File

@ -83,7 +83,6 @@
#:use-module (gnu packages man)
#:use-module (gnu packages markup)
#:use-module (gnu packages mp3)
#:use-module (gnu packages nano)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
@ -96,6 +95,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages text-editors)
#:use-module (gnu packages tls)
#:use-module (gnu packages webkit)
#:use-module (gnu packages xorg))

View File

@ -5159,7 +5159,7 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
(define-public jq
(package
(name "jq")
(version "1.7")
(version "1.7.1")
(source
(origin
(method url-fetch)
@ -5167,7 +5167,7 @@ It uses the uwsgi protocol for all the networking/interprocess communications.")
"/releases/download/jq-" version
"/jq-" version ".tar.gz"))
(sha256
(base32 "0qnv8k9x8i6i24n9vx3cxgw0yjj1411silc4wksfcinrfmlhsaj0"))
(base32 "1hl0wppdwwrqf3gzg3xwc260s7i1br2lnc97zr1k8bpx56hrr327"))
(modules '((guix build utils)))
(snippet
;; Remove bundled onigurama.

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